diff options
| author | root <root@alpha.trunkmasters.com> | 2026-09-19 19:27:39 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-09-19 19:27:39 -0500 |
| commit | 47516b9667518dacb1efd6d257f7b3e6a481ec93 (patch) | |
| tree | 15968af203a3ff5970f912ab816b33e3a8648196 | |
| parent | 1e827c97be50f4e8e4da3697da898689b2bde9d5 (diff) | |
| download | srcux-47516b9667518dacb1efd6d257f7b3e6a481ec93.tar.gz srcux-47516b9667518dacb1efd6d257f7b3e6a481ec93.tar.xz srcux-47516b9667518dacb1efd6d257f7b3e6a481ec93.zip | |
Adding metadata
616 files changed, 14208 insertions, 7682 deletions
diff --git a/app-accessibility/at-spi2-core/Manifest b/app-accessibility/at-spi2-core/Manifest index 3f3e900ffd32..282c9fdc2afa 100644 --- a/app-accessibility/at-spi2-core/Manifest +++ b/app-accessibility/at-spi2-core/Manifest @@ -1,4 +1,3 @@ -DIST at-spi2-core-2.58.6.tar.xz 589008 BLAKE2B 5940283d8c1c0ee819df48f66e3ad50a1e7ed2f3ad8ef5daa0dd2753da2e2f0ddfc9b75fd420309bfd1633b7fca72eeec3206671a55c3ac39bdf2ba80958e895 SHA512 4b26c4bac5ae99596fbde39f5fdce91fc3f47bc033f37be3ae354f0bb3c44ffeaeaf9b75e43c2fdc715aaa24536f44a353a4e03ccaf45c69d618d99f621a3c92 DIST at-spi2-core-2.58.8.tar.xz 589752 BLAKE2B 58038b3e16ba9e752091351d0dceab3e622ba01f4cdd7afafe5b22a7489ee8a8df9865512ed1da1b6913a2361b345b8a78e7436e6a1b65f0a6da0f2ee4fc8639 SHA512 f5f504db3b3c25718a83b0151bf831c3fb5e6d1193c12d16bc38cf9c00ff4107242ebbfcc787e6b2f340c287802e5e158ee1fafefe8e9f880086a5291c7f8339 -DIST at-spi2-core-2.60.5.tar.xz 599736 BLAKE2B 94ad495d97b3c43410a2720e341fd90b91b5b33623b2b07abe849e72af874426fd50e92e75e8aecc16f3e5ae7463fa57f3654ca6f5f9293996849a77a7c0e526 SHA512 175811b9ca918908583699ca83e8ec8ec758581da58969e7c2058b3a0ab11179c5361bec035c2a80dbfa77bd10051b1cc947c8851258fac1cb0d8547a4f75342 DIST at-spi2-core-2.60.6.tar.xz 599128 BLAKE2B f88b4ac1e84a151d925b55c45a9747ae0ad598e432e2128a03ffd6d08e68242bc3b67d1214a14f6234f51193da24ff3a6c1ec081b52a07d87a74f66bc99ef73e SHA512 ed69347a002b805358f05875edff2e2a8ac7b8a64219c820f22ecc3ea7c59f47bf6b6440045bfc9771219223c527c78c0edbdf11fe62083abd3cada96f0f4769 +DIST at-spi2-core-2.60.7.tar.xz 600576 BLAKE2B 05b0d6aba431aa7f567db7b4c80eb781803a1b6c8ee10a34f1684b695b7611e0bd02c13578bef6cd6fd97f610b46e26dcca40b1611f4e7a43e08538dcd52f436 SHA512 6ebd470b75bb932e83b310c5ad7067f39c22b0a4bb5e2849e84e39284bc342913929320bfb168026abc3695094a04ef40248faca369f62ac9bb9a4f409b73ed9 diff --git a/app-accessibility/at-spi2-core/at-spi2-core-2.58.6.ebuild b/app-accessibility/at-spi2-core/at-spi2-core-2.58.6.ebuild deleted file mode 100644 index 4281f827feb1..000000000000 --- a/app-accessibility/at-spi2-core/at-spi2-core-2.58.6.ebuild +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) - -inherit gnome.org meson-multilib python-r1 systemd virtualx xdg - -DESCRIPTION="D-Bus accessibility specifications and registration daemon" -HOMEPAGE="https://gitlab.gnome.org/GNOME/at-spi2-core" - -LICENSE="LGPL-2.1+" -SLOT="2" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" -IUSE="X dbus-broker gtk-doc +introspection systemd" -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - dbus-broker? ( systemd ) - gtk-doc? ( X ) -" - -DEPEND=" - >=sys-apps/dbus-1.5[${MULTILIB_USEDEP}] - >=dev-libs/glib-2.67.4:2[${MULTILIB_USEDEP}] - >=dev-libs/libxml2-2.9.1:2=[${MULTILIB_USEDEP}] - introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2:= ) - systemd? ( sys-apps/systemd[${MULTILIB_USEDEP}] ) - X? ( - x11-libs/libX11[${MULTILIB_USEDEP}] - x11-libs/libXtst[${MULTILIB_USEDEP}] - x11-libs/libXi[${MULTILIB_USEDEP}] - ) - - !<dev-libs/atk-2.46.0 -" -RDEPEND="${DEPEND} - dbus-broker? ( sys-apps/dbus-broker ) - ${PYTHON_DEPS} -" -BDEPEND=" - dev-util/glib-utils - gtk-doc? ( - dev-python/sphinx - dev-util/gdbus-codegen - >=dev-util/gi-docgen-2021.1 - ) - ${PYTHON_DEPS} - test? ( dev-python/pygobject[${PYTHON_USEDEP}] ) - >=sys-devel/gettext-0.19.8 - virtual/pkgconfig -" - -multilib_src_configure() { - python_setup - - local emesonargs=( - -Ddefault_bus=$(usex dbus-broker dbus-broker dbus-daemon) - $(meson_use systemd use_systemd) - -Dgtk2_atk_adaptor=true - -Dsystemd_user_dir="$(systemd_get_userunitdir)" - $(meson_native_use_bool gtk-doc docs) - $(meson_native_use_feature introspection) - $(meson_feature X x11) - -Datk_only=false - -Dpython="${EPYTHON}" - ) - meson_src_configure -} - -multilib_src_test() { - # Avoid locales using commas as decimal separators and breaking some - # tests - LC_ALL=C.UTF-8 virtx dbus-run-session meson test -C "${BUILD_DIR}" --print-errorlogs || die -} - -multilib_src_install_all() { - einstalldocs - python_optimize - - if use gtk-doc; then - mkdir -p "${ED}"/usr/share/gtk-doc/{libatspi,atk} || die - mv "${ED}"/usr/share/doc/libatspi "${ED}"/usr/share/gtk-doc/libatspi/html || die - mv "${ED}"/usr/share/doc/atk "${ED}"/usr/share/gtk-doc/atk/html || die - fi -} diff --git a/app-accessibility/at-spi2-core/at-spi2-core-2.60.5.ebuild b/app-accessibility/at-spi2-core/at-spi2-core-2.60.7.ebuild index 89001c6fca0a..89001c6fca0a 100644 --- a/app-accessibility/at-spi2-core/at-spi2-core-2.60.5.ebuild +++ b/app-accessibility/at-spi2-core/at-spi2-core-2.60.7.ebuild diff --git a/app-admin/checksec/checksec-2.7.1-r2.ebuild b/app-admin/checksec/checksec-2.7.1-r2.ebuild index e51e698fa83e..6c4325c72ce9 100644 --- a/app-admin/checksec/checksec-2.7.1-r2.ebuild +++ b/app-admin/checksec/checksec-2.7.1-r2.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/slimm609/checksec/archive/${PV}.tar.gz -> ${P}.gh.ta LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~amd64 arm arm64 ~loong ~mips ~ppc ppc64 ~riscv ~sparc ~x86" RDEPEND=" sys-apps/grep[pcre] diff --git a/app-admin/conky/conky-1.24.2-r1.ebuild b/app-admin/conky/conky-1.24.2-r1.ebuild index a75a9a64e34a..3f9dd600f389 100644 --- a/app-admin/conky/conky-1.24.2-r1.ebuild +++ b/app-admin/conky/conky-1.24.2-r1.ebuild @@ -119,6 +119,10 @@ REQUIRED_USE=" xinerama? ( X ) " +PATCHES=( + "${FILESDIR}/${P}-x11.patch" +) + CONFIG_CHECK="~IPV6" DOCS=( README.md AUTHORS ) diff --git a/app-admin/conky/files/conky-1.24.2-x11.patch b/app-admin/conky/files/conky-1.24.2-x11.patch new file mode 100644 index 000000000000..bf188d49f0d8 --- /dev/null +++ b/app-admin/conky/files/conky-1.24.2-x11.patch @@ -0,0 +1,332 @@ +From f8d988624b8a848110596e5377a1543893872b52 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tin=20=C5=A0vagelj?= <tin.svagelj@live.com> +Date: Mon, 22 Jun 2026 07:18:18 +0200 +Subject: [PATCH] fix: add missing x11.h imports +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Also simplified some code by removing noisy BUILD_XDBE preprocessor guards +that have identical branches. + +Fixes #2408. + +Signed-off-by: Tin Å vagelj <tin.svagelj@live.com> +--- + src/conky.cc | 9 +------ + src/lua/x11-settings.h | 6 +---- + src/output/display-x11.cc | 50 ++++++++++----------------------------- + src/output/display-x11.hh | 9 ++----- + src/output/x11.cc | 18 +++++--------- + src/output/x11.h | 38 ++++++++++++++++------------- + 6 files changed, 44 insertions(+), 86 deletions(-) + +Index: conky-1.24.2/src/conky.cc +=================================================================== +--- conky-1.24.2.orig/src/conky.cc ++++ conky-1.24.2/src/conky.cc +@@ -2404,17 +2404,10 @@ void initialisation(int argc, char **arg + own_window.lua_set(*state); + break; + #endif +-#ifdef BUILD_XDBE + case 'b': + state->pushboolean(true); +- use_xdbe.lua_set(*state); ++ use_double_buffer.lua_set(*state); + break; +-#else +- case 'b': +- state->pushboolean(true); +- use_xpmdb.lua_set(*state); +- break; +-#endif + #endif /* BUILD_X11 */ + case 't': + free_and_zero(global_text); +Index: conky-1.24.2/src/lua/x11-settings.h +=================================================================== +--- conky-1.24.2.orig/src/lua/x11-settings.h ++++ conky-1.24.2/src/lua/x11-settings.h +@@ -51,10 +51,6 @@ extern priv::out_to_x_setting out_to_x; + extern conky::simple_config_setting<bool> use_xft; + #endif + +-#ifdef BUILD_XDBE +-extern priv::use_xdbe_setting use_xdbe; +-#else +-extern priv::use_xpmdb_setting use_xpmdb; +-#endif ++extern conky::simple_config_setting<bool> use_double_buffer; + + #endif /* CONKY_X11_SETTINGS_H */ +Index: conky-1.24.2/src/output/display-x11.cc +=================================================================== +--- conky-1.24.2.orig/src/output/display-x11.cc ++++ conky-1.24.2/src/output/display-x11.cc +@@ -235,9 +235,7 @@ bool display_output_x11::detect() { + + bool display_output_x11::initialize() { + X11_create_window(); +-#ifdef BUILD_LUA_CAIRO_XLIB + update_surface(); +-#endif /* BUILD_LUA_CAIRO_XLIB */ + return true; + } + +@@ -300,9 +298,9 @@ bool display_output_x11::main_loop_wait( + set_transparent_background(&window); + #ifdef BUILD_XDBE + /* swap buffers */ +- xdbe_swap_buffers(); ++ swap_x11_buffers(); + #else +- if (use_xpmdb.get(*state)) { ++ if (use_double_buffer.get(*state)) { + XFreePixmap(display, window.back_buffer); + unsigned int depth = window.color_depth != 0 + ? window.color_depth +@@ -331,9 +329,7 @@ bool display_output_x11::main_loop_wait( + #endif + + changed++; +-#ifdef BUILD_LUA_CAIRO_XLIB + update_surface(); +-#endif /* BUILD_LUA_CAIRO_XLIB */ + } + + /* move window if it isn't in right position */ +@@ -358,11 +354,7 @@ bool display_output_x11::main_loop_wait( + + clear_text(1); + +-#if defined(BUILD_XDBE) +- if (use_xdbe.get(*state)) { +-#else +- if (use_xpmdb.get(*state)) { +-#endif ++ if (use_double_buffer.get(*state)) { + XRectangle rect = conky::rect<int>(text_start - border_total, + text_size + border_total * 2) + .to_xrectangle(); +@@ -387,11 +379,7 @@ bool display_output_x11::main_loop_wait( + * all, then no swap happens and we can safely do nothing. */ + + if (XEmptyRegion(window.repaint_region) == 0) { +-#if defined(BUILD_XDBE) +- if (use_xdbe.get(*state)) { +-#else +- if (use_xpmdb.get(*state)) { +-#endif ++ if (use_double_buffer.get(*state)) { + XRectangle rect = conky::rect<int>(text_start - border_total, + text_size + border_total * 2) + .to_xrectangle(); +@@ -984,23 +972,16 @@ float display_output_x11::get_dpi_scale( + } + + void display_output_x11::end_draw_stuff() { +-#if defined(BUILD_XDBE) +- xdbe_swap_buffers(); +-#else +- xpmdb_swap_buffers(); +-#endif ++ swap_x11_buffers(); + } + + void display_output_x11::clear_text(int exposures) { +-#ifdef BUILD_XDBE +- if (use_xdbe.get(*state)) { ++ if (use_double_buffer.get(*state)) { + /* The swap action is XdbeBackground, which clears */ + return; + } +-#else +- if (use_xpmdb.get(*state)) { +- return; +- } else ++#ifndef BUILD_XDBE ++ else + #endif + if ((display != nullptr) && + (window.window != 0u)) { // make sure these are !null +@@ -1165,14 +1146,14 @@ void display_output_x11::load_fonts(bool + } + } + +-#ifdef BUILD_LUA_CAIRO_XLIB + void display_output_x11::update_surface() { ++ #ifdef BUILD_LUA_CAIRO_XLIB + current_surface.reset(cairo_xlib_surface_create( + display, window.drawable, window.visual, + window.geometry.width(), window.geometry.height()), + cairo_surface_destroy); ++ #endif /* BUILD_LUA_CAIRO_XLIB */ + } +-#endif /* BUILD_LUA_CAIRO_XLIB */ + + std::weak_ptr<conky::draw_surface> display_output_x11::drawing_surface() { + #ifdef BUILD_LUA_CAIRO_XLIB +Index: conky-1.24.2/src/output/display-x11.hh +=================================================================== +--- conky-1.24.2.orig/src/output/display-x11.hh ++++ conky-1.24.2/src/output/display-x11.hh +@@ -25,12 +25,8 @@ + + #include "config.h" + +-#include <limits> + #include <memory> +-#include <string> +-#include <type_traits> + +-#include "../lua/luamm.hh" + #include "display-output.hh" + + namespace conky { +@@ -85,10 +81,9 @@ class display_output_x11 : public displa + + virtual std::weak_ptr<conky::draw_surface> drawing_surface(); + +-#ifdef BUILD_LUA_CAIRO_XLIB +- /// (Re)create the cairo xlib surface for the current drawable/geometry. ++ /// (Re)create the cairo xlib surface for the current drawable/geometry if ++ /// `BUILD_LUA_CAIRO_XLIB` is enabled, no-op otherwise. + void update_surface(); +-#endif /* BUILD_LUA_CAIRO_XLIB */ + + // X11-specific + private: +Index: conky-1.24.2/src/output/x11.cc +=================================================================== +--- conky-1.24.2.orig/src/output/x11.cc ++++ conky-1.24.2/src/output/x11.cc +@@ -109,6 +109,8 @@ xcb_errors_context_t *xcb_errors_ctx; + /* Window stuff */ + struct conky_x11_window window; + ++conky::simple_config_setting<bool> use_double_buffer("double_buffer", false, false); ++ + /* local prototypes */ + static Window find_desktop_window(Window *p_root, Window *p_desktop); + static Window find_desktop_window_impl(Window win, int w, int h); +@@ -1396,19 +1398,17 @@ void set_struts() { + } + #endif /* OWN_WINDOW */ + ++void swap_x11_buffers() { + #ifdef BUILD_XDBE +-void xdbe_swap_buffers() { +- if (use_xdbe.get(*state)) { ++ if (use_double_buffer.get(*state)) { + XdbeSwapInfo swap; + + swap.swap_window = window.window; + swap.swap_action = XdbeBackground; + XdbeSwapBuffers(display, &swap, 1); + } +-} +-#else +-void xpmdb_swap_buffers(void) { +- if (use_xpmdb.get(*state)) { ++#else /* BUILD_XDBE */ ++ if (use_double_buffer.get(*state)) { + XCopyArea(display, window.back_buffer, window.window, window.gc, 0, 0, + window.geometry.width(), window.geometry.height(), 0, 0); + Colour c = get_background_colour_preference(*state); +@@ -1421,8 +1421,8 @@ void xpmdb_swap_buffers(void) { + window.geometry.width(), window.geometry.height()); + XFlush(display); + } +-} + #endif /* BUILD_XDBE */ ++} + + void print_kdb_led(const int keybit, char *p, unsigned int p_max_size) { + XKeyboardState x; +Index: conky-1.24.2/src/output/x11.h +=================================================================== +--- conky-1.24.2.orig/src/output/x11.h ++++ conky-1.24.2/src/output/x11.h +@@ -31,7 +31,10 @@ + #error x11.h included when BUILD_X11 is disabled + #endif + ++extern "C" { ++#include <X11/X.h> + #include <X11/Xatom.h> ++#include <X11/Xutil.h> + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wvariadic-macros" + #include <X11/Xlib.h> +@@ -46,16 +49,16 @@ + #ifdef BUILD_XDAMAGE + #include <X11/extensions/Xdamage.h> + #endif ++#ifdef BUILD_XFIXES ++#include <X11/extensions/Xfixes.h> ++#endif ++} + + #include <cstdint> + #include <functional> + #include <vector> + +-// TODO: remove lua requirement from x11_init_window +-#include "../lua/llua.h" +- + #include "../geometry.h" +-#include "gui.h" + #include "x11-event.h" + + #define ATOM(a) XInternAtom(display, #a, False) +@@ -67,9 +70,19 @@ extern int screen; + + constexpr int argb8888_color_depth = 32; + ++#ifndef BUILD_XFIXES ++using XserverRegion = XID; ++#endif + #ifndef BUILD_XDAMAGE + using Damage = XID; +-using XserverRegion = XID; ++#endif ++#ifndef BUILD_XFT ++using XftDraw = void; ++#endif ++#ifdef BUILD_XDBE ++using back_buffer_t = XdbeBackBuffer; ++#else ++using back_buffer_t = Pixmap; + #endif + + struct conky_x11_window { +@@ -120,14 +133,9 @@ struct conky_x11_window { + /// is unioned into `damage_region`. + XserverRegion damage_scratch = 0; + +-#ifdef BUILD_XDBE +- XdbeBackBuffer back_buffer; +-#else /*BUILD_XDBE*/ +- Pixmap back_buffer; +-#endif /*BUILD_XDBE*/ +-#ifdef BUILD_XFT ++ back_buffer_t back_buffer; + XftDraw *xftdraw; +-#endif /*BUILD_XFT*/ ++ + /// XInput2 extension opcode; 0 if unavailable. + std::int32_t xi_opcode; + +@@ -225,10 +233,6 @@ std::vector<Window> query_x11_windows_at + [](XWindowAttributes &a) { return true; }, + bool eager = false); + +-#ifdef BUILD_XDBE +-void xdbe_swap_buffers(void); +-#else +-void xpmdb_swap_buffers(void); +-#endif /* BUILD_XDBE */ ++void swap_x11_buffers(); + + #endif /* CONKY_X11_H */ diff --git a/app-admin/logrotate/logrotate-3.22.0-r1.ebuild b/app-admin/logrotate/logrotate-3.22.0-r1.ebuild index d1d07a34b9aa..c4d4531f70b0 100644 --- a/app-admin/logrotate/logrotate-3.22.0-r1.ebuild +++ b/app-admin/logrotate/logrotate-3.22.0-r1.ebuild @@ -18,7 +18,7 @@ else SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.xz" SRC_URI+=" verify-sig? ( https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.xz.asc )" - KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" + KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-cgzones )" fi diff --git a/app-admin/metalog/metalog-20260811.ebuild b/app-admin/metalog/metalog-20260811.ebuild index 61a6a9d8e00a..e01285d37630 100644 --- a/app-admin/metalog/metalog-20260811.ebuild +++ b/app-admin/metalog/metalog-20260811.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/hvisage/metalog/archive/refs/tags/${PV}.tar.gz -> ${ LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="unicode zlib" RDEPEND=" diff --git a/app-admin/rsyslog/rsyslog-8.2606.0.ebuild b/app-admin/rsyslog/rsyslog-8.2606.0.ebuild index 13b9480e026d..b23c5070d269 100644 --- a/app-admin/rsyslog/rsyslog-8.2606.0.ebuild +++ b/app-admin/rsyslog/rsyslog-8.2606.0.ebuild @@ -19,7 +19,7 @@ else SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc64 ~riscv ~x86" + KEYWORDS="~amd64 arm arm64 ~hppa ~ppc64 ~riscv ~x86" fi LICENSE="GPL-3 LGPL-3 Apache-2.0" diff --git a/app-admin/salt/salt-3007.1-r2.ebuild b/app-admin/salt/salt-3007.1-r2.ebuild index 93ecf04f4018..f0a03fb111fe 100644 --- a/app-admin/salt/salt-3007.1-r2.ebuild +++ b/app-admin/salt/salt-3007.1-r2.ebuild @@ -17,7 +17,7 @@ if [[ ${PV} == 9999* ]]; then EGIT_BRANCH="develop" else inherit pypi - KEYWORDS="amd64 ~riscv ~x86" + KEYWORDS="amd64 ~riscv" fi LICENSE="Apache-2.0" diff --git a/app-admin/salt/salt-3007.12.ebuild b/app-admin/salt/salt-3007.12.ebuild index e11049bb280b..70f2905c426a 100644 --- a/app-admin/salt/salt-3007.12.ebuild +++ b/app-admin/salt/salt-3007.12.ebuild @@ -17,7 +17,7 @@ if [[ ${PV} == 9999* ]]; then EGIT_BRANCH="develop" else inherit pypi - KEYWORDS="~amd64 ~arm64 ~riscv ~x86" + KEYWORDS="~amd64 ~arm64 ~riscv" fi LICENSE="Apache-2.0" diff --git a/app-arch/arj/arj-3.10.22_p29.ebuild b/app-arch/arj/arj-3.10.22_p29.ebuild index f3e98b190a5f..b92eb94bac14 100644 --- a/app-arch/arj/arj-3.10.22_p29.ebuild +++ b/app-arch/arj/arj-3.10.22_p29.ebuild @@ -17,7 +17,7 @@ S="${WORKDIR}/${PN}-${MY_PV}" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ppc64 ~sparc ~x86" DOCS=( doc/compile.txt doc/debug.txt doc/glossary.txt doc/rev_hist.txt doc/xlation.txt ) diff --git a/app-arch/brotli/brotli-1.2.0-r1.ebuild b/app-arch/brotli/brotli-1.2.0-r1.ebuild index 7a363cb79d4f..f7d1792a6aff 100644 --- a/app-arch/brotli/brotli-1.2.0-r1.ebuild +++ b/app-arch/brotli/brotli-1.2.0-r1.ebuild @@ -14,7 +14,7 @@ if [[ ${PV} == *9999* ]] ; then EGIT_REPO_URI="https://github.com/google/${PN}.git" inherit git-r3 else - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris" + KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris" SRC_URI=" https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz diff --git a/app-arch/dpkg/dpkg-1.22.21.ebuild b/app-arch/dpkg/dpkg-1.22.21.ebuild index 809ae49d13c1..223a0a9f8e7b 100644 --- a/app-arch/dpkg/dpkg-1.22.21.ebuild +++ b/app-arch/dpkg/dpkg-1.22.21.ebuild @@ -11,7 +11,7 @@ SRC_URI="mirror://debian/pool/main/d/${PN}/${P/-/_}.tar.xz" LICENSE="GPL-2+" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~m68k ~ppc ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="+bzip2 +lzma nls selinux test +update-alternatives +zlib +zstd" RESTRICT="!test? ( test )" diff --git a/app-arch/makeself/makeself-2.7.1.ebuild b/app-arch/makeself/makeself-2.7.1.ebuild index db6bae7c6a67..59cf8abbf491 100644 --- a/app-arch/makeself/makeself-2.7.1.ebuild +++ b/app-arch/makeself/makeself-2.7.1.ebuild @@ -12,7 +12,7 @@ S="${WORKDIR}/${PN}-release-${PV}" LICENSE="GPL-2+" SLOT="0" -KEYWORDS="~amd64 ~hppa ~ppc ~x86" +KEYWORDS="amd64 ~hppa ppc x86" # NB: The test framework requires bashunit (which isn't a big deal), but the # tests themselves are not of great quality. You should avoid running them diff --git a/app-backup/borgmatic/Manifest b/app-backup/borgmatic/Manifest index f2c47467ed4e..9b727fa6d323 100644 --- a/app-backup/borgmatic/Manifest +++ b/app-backup/borgmatic/Manifest @@ -1,4 +1,4 @@ DIST borgmatic-2.0.13.gh.tar.gz 883059 BLAKE2B e2a811b92c7ec651ea79d69e092e39a4d145dd624c9c5e59ba31c19ec38aa087fb640152e174149d3c8b41b0724f008c21be8d6e557484b7598c7e4fbde343f9 SHA512 d0be944f19a5ceced51cb3ab52391ee80317ab16359d36ba480cca065941f8c007466951347290b3adce35dfbee082efafb6ea92473c2e6400eca7daf4beb47d DIST borgmatic-2.1.5.gh.tar.gz 911694 BLAKE2B 275bf92f8ae3d040e0a7ce4698cafa6e5dcfe009421fb72a5612100184b76bffc2129efe3dc2712664ed2467cb28807580e53887fa8991e5edb2982176366e06 SHA512 10b8d411f6e363a4a77585f5b1911b15083f3a07b6546967fe18388b5cc433754e8d6200307bb0a55722f67749c416ead179b7c64db671407b5960cbf2082aef -DIST borgmatic-2.1.6.gh.tar.gz 965467 BLAKE2B 8d4f3d035a6a77cd8481b0e76ee7578a67c1f5421bddc5e4803823db818f8c361ab1477461202cefb4fba68aed85b9461ad1cbcb830b0c74a7e4b1500c30aeb9 SHA512 60991258da1838f271a92f29b6d9733804f6834d485f2e56697bc52c838cd27778d6572952d9722b4970635e82f02d94d335ba864553335e1d307a94195d0c0e DIST borgmatic-2.1.7.gh.tar.gz 982283 BLAKE2B 8097aabdd9d448515504d75abaac784d5febd18375549894be12028d634d37d9395d18c352ed097000d5b876b3f5cfd1e43105c78575f2a082eac2b9c0f31f79 SHA512 03557a871805d82d08cb01590e8c9b5754bf213dd8fd30f954d4c1383bd5b4d618f38355d5d2222684c62f7a10c1bf66f71bdb68a432aa20c2330a2ce4785d79 +DIST borgmatic-2.1.8.gh.tar.gz 1052367 BLAKE2B 210a06918c41329104ce68f282f128b431ddedcb83b6da6bba40047366eafbf52da45de34f2fc9674b3ca3f075ae59fd56be7482430597b88e3913431a35bfeb SHA512 5c43bf9f0bfc4d23b1d5221feb016b02d24cc5e147008639c2ed9e6a9451a5c1fd5ef23c69ba5b8fcba50953a23c71e259a6ccd8f247361a32d0fba0dea9cbe9 diff --git a/app-backup/borgmatic/borgmatic-2.1.6.ebuild b/app-backup/borgmatic/borgmatic-2.1.8.ebuild index 591b89a2d76d..591b89a2d76d 100644 --- a/app-backup/borgmatic/borgmatic-2.1.6.ebuild +++ b/app-backup/borgmatic/borgmatic-2.1.8.ebuild diff --git a/app-containers/containers-shortnames/containers-shortnames-2025.03.19_p20260615.ebuild b/app-containers/containers-shortnames/containers-shortnames-2025.03.19_p20260615.ebuild index f6c1ce24a282..7410bc43b3ec 100644 --- a/app-containers/containers-shortnames/containers-shortnames-2025.03.19_p20260615.ebuild +++ b/app-containers/containers-shortnames/containers-shortnames-2025.03.19_p20260615.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == 9999* ]]; then else SRC_URI="https://github.com/containers/shortnames/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${PN#containers-}-${GIT_COMMIT}" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390" fi LICENSE="Apache-2.0" diff --git a/app-crypt/acme/acme-3.2.0-r100.ebuild b/app-crypt/acme/acme-3.2.0-r100.ebuild index d1bd1b9c28af..7a099ee5e718 100644 --- a/app-crypt/acme/acme-3.2.0-r100.ebuild +++ b/app-crypt/acme/acme-3.2.0-r100.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,7 +13,7 @@ HOMEPAGE=" LICENSE="metapackage" SLOT="0" -KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86" +KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv" # Meta package for transition # No need to upgrade thanks to ">=" diff --git a/app-crypt/certbot-apache/certbot-apache-3.2.0-r100.ebuild b/app-crypt/certbot-apache/certbot-apache-3.2.0-r100.ebuild index a9b9c7bcdc63..9b813f71fe77 100644 --- a/app-crypt/certbot-apache/certbot-apache-3.2.0-r100.ebuild +++ b/app-crypt/certbot-apache/certbot-apache-3.2.0-r100.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,7 +13,7 @@ HOMEPAGE=" LICENSE="metapackage" SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86" +KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv" # Meta package for transition # No need to upgrade thanks to ">=" diff --git a/app-crypt/certbot-dns-dnsimple/certbot-dns-dnsimple-3.2.0-r100.ebuild b/app-crypt/certbot-dns-dnsimple/certbot-dns-dnsimple-3.2.0-r100.ebuild index b8413107bf2a..1247b24ba967 100644 --- a/app-crypt/certbot-dns-dnsimple/certbot-dns-dnsimple-3.2.0-r100.ebuild +++ b/app-crypt/certbot-dns-dnsimple/certbot-dns-dnsimple-3.2.0-r100.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -14,7 +14,7 @@ HOMEPAGE=" LICENSE="metapackage" SLOT="0" -KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86" +KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv" # Meta package for transition # No need to upgrade thanks to ">=" diff --git a/app-crypt/certbot-dns-nsone/certbot-dns-nsone-3.2.0-r100.ebuild b/app-crypt/certbot-dns-nsone/certbot-dns-nsone-3.2.0-r100.ebuild index 42bd3559d171..4a3a88b6cddd 100644 --- a/app-crypt/certbot-dns-nsone/certbot-dns-nsone-3.2.0-r100.ebuild +++ b/app-crypt/certbot-dns-nsone/certbot-dns-nsone-3.2.0-r100.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,7 +13,7 @@ HOMEPAGE=" LICENSE="metapackage" SLOT="0" -KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86" +KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv" # Meta package for transition # No need to upgrade thanks to ">=" diff --git a/app-crypt/certbot-nginx/certbot-nginx-3.2.0-r100.ebuild b/app-crypt/certbot-nginx/certbot-nginx-3.2.0-r100.ebuild index 9c24c7dab01a..5a7b67cf7e8c 100644 --- a/app-crypt/certbot-nginx/certbot-nginx-3.2.0-r100.ebuild +++ b/app-crypt/certbot-nginx/certbot-nginx-3.2.0-r100.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,7 +13,7 @@ HOMEPAGE=" LICENSE="metapackage" SLOT="0" -KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86" +KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv" # Meta package for transition # No need to upgrade thanks to ">=" diff --git a/app-crypt/certbot/certbot-5.5.0-r2.ebuild b/app-crypt/certbot/certbot-5.5.0-r2.ebuild index 6d96fbbf555e..6e628eaa8cb9 100644 --- a/app-crypt/certbot/certbot-5.5.0-r2.ebuild +++ b/app-crypt/certbot/certbot-5.5.0-r2.ebuild @@ -19,7 +19,7 @@ else https://github.com/certbot/certbot/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz " - KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86" + KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv" fi DESCRIPTION="Let's Encrypt client to automate deployment of X.509 certificates" diff --git a/app-crypt/certbot/certbot-5.6.0-r2.ebuild b/app-crypt/certbot/certbot-5.6.0-r2.ebuild index 25a77f0f5f6b..6a76342b8d1c 100644 --- a/app-crypt/certbot/certbot-5.6.0-r2.ebuild +++ b/app-crypt/certbot/certbot-5.6.0-r2.ebuild @@ -19,7 +19,7 @@ else https://github.com/certbot/certbot/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz " - KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv" fi DESCRIPTION="Let's Encrypt client to automate deployment of X.509 certificates" diff --git a/app-crypt/certbot/certbot-5.7.0-r1.ebuild b/app-crypt/certbot/certbot-5.7.0-r1.ebuild index 25a77f0f5f6b..6a76342b8d1c 100644 --- a/app-crypt/certbot/certbot-5.7.0-r1.ebuild +++ b/app-crypt/certbot/certbot-5.7.0-r1.ebuild @@ -19,7 +19,7 @@ else https://github.com/certbot/certbot/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz " - KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv" fi DESCRIPTION="Let's Encrypt client to automate deployment of X.509 certificates" diff --git a/app-crypt/certbot/certbot-5.8.0.ebuild b/app-crypt/certbot/certbot-5.8.0.ebuild index 4923ff241132..30a76584daec 100644 --- a/app-crypt/certbot/certbot-5.8.0.ebuild +++ b/app-crypt/certbot/certbot-5.8.0.ebuild @@ -19,7 +19,7 @@ else https://github.com/certbot/certbot/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz " - KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv" fi DESCRIPTION="Let's Encrypt client to automate deployment of X.509 certificates" diff --git a/app-crypt/certbot/certbot-9999.ebuild b/app-crypt/certbot/certbot-9999.ebuild index 4923ff241132..30a76584daec 100644 --- a/app-crypt/certbot/certbot-9999.ebuild +++ b/app-crypt/certbot/certbot-9999.ebuild @@ -19,7 +19,7 @@ else https://github.com/certbot/certbot/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz " - KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv" fi DESCRIPTION="Let's Encrypt client to automate deployment of X.509 certificates" diff --git a/app-crypt/gcr/Manifest b/app-crypt/gcr/Manifest index acb58e350ae0..08f29f410764 100644 --- a/app-crypt/gcr/Manifest +++ b/app-crypt/gcr/Manifest @@ -1,2 +1,3 @@ DIST gcr-3.41.2.tar.xz 1034532 BLAKE2B ac2c1cd7c1ff458b554a4c0b667fa9a6a9629f14ad173ec84e3bb76b17fefe007a47ed861fc820cb1a4f48b81b3dfe9860d521fe677c7dbcce004766b43afe9a SHA512 056c6c6a3910dae6997cef34fc95d22510ddea37be0ccc329996575a95e20582fa428bd491389aa77f8b6ffbd8674a2b3ba444cb83bdf3a2be5fd7aed276606d DIST gcr-4.4.0.1.tar.xz 745244 BLAKE2B 8a7e18fd0cac203c0f04e694f38ec872ac81a064290147d02c3a52c0091aab1bee0af85b38d38286d283a277ac7309a59c020545e4839e32b05708d220cb4425 SHA512 f84724e0e9850c6150ec93430a0c3a714f4b4376df2fd3fd68340463acf04d89de236510b40bab4f3dc8fd82a2e8dc98b53c2684df07fdb9a6a3528ed35652d1 +DIST gcr-4.4.1.tar.xz 750804 BLAKE2B 6bec00545c48e661a1391cb06491df7fea60efc67e1cb88804260a0d4badd92f5a1d5962c8b58305506ceb262b6dcc928d9f959daf4ec5f482f34a4df44600e3 SHA512 5bc9ee17b7abdf6b2150263b9c9904182cbf4b346589fd645d646d3ae58cb8f9b4e22428dd5a402da926f5706d91ef092663e809e150b8d5b82f0ef84196b4b7 diff --git a/app-crypt/gcr/gcr-4.4.1.ebuild b/app-crypt/gcr/gcr-4.4.1.ebuild new file mode 100644 index 000000000000..aedea27fdb20 --- /dev/null +++ b/app-crypt/gcr/gcr-4.4.1.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic gnome.org gnome2-utils meson vala xdg + +DESCRIPTION="Libraries for cryptographic UIs and accessing PKCS#11 modules" +HOMEPAGE="https://gitlab.gnome.org/GNOME/gcr" + +LICENSE="GPL-2+ LGPL-2+" +SLOT="4/gcr-4.4-gck-2.2" # subslot = soname and soversion of libgcr and libgck + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + +IUSE="gnutls gtk gtk-doc +introspection systemd test +vala" +REQUIRED_USE=" + gtk-doc? ( introspection ) + vala? ( introspection ) +" +RESTRICT="!test? ( test )" + +DEPEND=" + >=dev-libs/glib-2.74:2 + !gnutls? ( >=dev-libs/libgcrypt-1.2.2:0= ) + gnutls? ( >=net-libs/gnutls-3.8.5:0 ) + >=app-crypt/p11-kit-0.19.0 + >=app-crypt/libsecret-0.20 + systemd? ( sys-apps/systemd:= ) + gtk? ( gui-libs/gtk:4[introspection?] ) + >=sys-apps/dbus-1 + introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2:= ) +" +RDEPEND="${DEPEND}" +PDEPEND="app-alternatives/gpg" +BDEPEND=" + gtk? ( dev-libs/libxml2:2 ) + >=dev-util/gdbus-codegen-2.80.5-r1 + dev-util/glib-utils + gtk-doc? ( dev-util/gi-docgen ) + >=sys-devel/gettext-0.19.8 + test? ( app-alternatives/gpg ) + virtual/pkgconfig + vala? ( $(vala_depend) ) +" + +src_prepare() { + default + use vala && vala_setup + xdg_environment_reset +} + +src_configure() { + filter-lto # https://gitlab.gnome.org/GNOME/gcr/-/issues/43 + local emesonargs=( + $(meson_use introspection) + $(meson_use gtk gtk4) + $(meson_use gtk-doc gtk_doc) + -Dgpg_path="${EPREFIX}"/usr/bin/gpg + -Dssh_agent=true + $(meson_feature systemd) + $(meson_use vala vapi) + ) + if use gnutls; then + emesonargs+=( -Dcrypto=gnutls ) + else + emesonargs+=( -Dcrypto=libgcrypt ) + fi + meson_src_configure +} + +src_test() { + dbus-run-session meson test -C "${BUILD_DIR}" --print-errorlogs || die 'tests failed' +} + +src_install() { + meson_src_install + + if use gtk-doc; then + mkdir -p "${ED}"/usr/share/gtk-doc/html/ || die + mv "${ED}"/usr/share/doc/{gck-2,gcr-4} "${ED}"/usr/share/gtk-doc/html/ || die + fi +} + +pkg_postinst() { + xdg_pkg_postinst + gnome2_schemas_update +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +} diff --git a/app-crypt/jitterentropy/jitterentropy-3.6.3.ebuild b/app-crypt/jitterentropy/jitterentropy-3.6.3.ebuild index 1fce9535c7fc..38d3b8e7a7b1 100644 --- a/app-crypt/jitterentropy/jitterentropy-3.6.3.ebuild +++ b/app-crypt/jitterentropy/jitterentropy-3.6.3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -18,7 +18,7 @@ S="${WORKDIR}/${PN}-library-${PV}" # Do not package these two components! LICENSE="BSD" SLOT="0/3" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha ~amd64 arm arm64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" IUSE="static-libs" src_prepare() { diff --git a/app-crypt/libsecret/files/libsecret-0.21.8.2-musl-fcntl.patch b/app-crypt/libsecret/files/libsecret-0.21.8.2-musl-fcntl.patch new file mode 100644 index 000000000000..b29a824d1819 --- /dev/null +++ b/app-crypt/libsecret/files/libsecret-0.21.8.2-musl-fcntl.patch @@ -0,0 +1,30 @@ +From a5cd57f103038c06b64d5f6ebfd0e627bb40af4e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andr=C3=A9=20Schwarz?= <aschwarz@usp.br> +Date: Tue, 15 Sep 2026 00:11:56 +0000 +Subject: [PATCH] file-collection: Make sure we include <fcntl.h> + +Without it, libsecret fails to compile with musl/libc++. Specifically, +Clang compiler complains that the `open()` and the constants `O_CREAT` +and `O_RDRW` are not defined. + +Fixes: https://gitlab.gnome.org/GNOME/libsecret/-/work_items/117 +--- + libsecret/secret-file-collection.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/libsecret/secret-file-collection.c b/libsecret/secret-file-collection.c +index d528023..59667a4 100644 +--- a/libsecret/secret-file-collection.c ++++ b/libsecret/secret-file-collection.c +@@ -24,6 +24,8 @@ + #include <sys/file.h> + #include <errno.h> + ++#include <fcntl.h> ++ + EGG_SECURE_DECLARE (secret_file_collection); + + #ifdef WITH_GCRYPT +-- +GitLab + diff --git a/app-crypt/libsecret/libsecret-0.21.8.2-r1.ebuild b/app-crypt/libsecret/libsecret-0.21.8.2-r1.ebuild index 5195c9c04326..e895de60691f 100644 --- a/app-crypt/libsecret/libsecret-0.21.8.2-r1.ebuild +++ b/app-crypt/libsecret/libsecret-0.21.8.2-r1.ebuild @@ -5,7 +5,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{13..14} ) -inherit bash-completion-r1 gnome2 meson-multilib python-any-r1 vala virtualx +inherit gnome2 meson-multilib python-any-r1 shell-completion vala virtualx DESCRIPTION="GObject library for accessing the freedesktop.org Secret Service API" HOMEPAGE="https://gnome.pages.gitlab.gnome.org/libsecret" @@ -19,7 +19,7 @@ IUSE="+crypt +gcrypt gnutls gtk-doc +introspection pam test test-rust tpm +vala" RESTRICT="!test? ( test )" REQUIRED_USE=" vala? ( introspection ) - gtk-doc? ( crypt ) + gtk-doc? ( crypt introspection ) crypt? ( || ( gcrypt gnutls ) ) " @@ -62,6 +62,8 @@ BDEPEND=" PATCHES=( "${FILESDIR}"/${PN}-0.21.7-optional-vala-tests.patch + "${FILESDIR}"/${P}-musl-fcntl.patch + # Collides with gnome-base/gnome-keyring and no other distros # seem to install it because of that, so just leave it uninstalled # for now: https://gitlab.gnome.org/GNOME/libsecret/-/work_items/90 @@ -173,3 +175,10 @@ multilib_src_test() { virtx dbus-run-session meson test -C "${BUILD_DIR}" --print-errorlogs fi } + +multilib_src_install_all() { + if use gtk-doc; then + mkdir -p "${ED}"/usr/share/gtk-doc/html/ || die + mv "${ED}"/usr/share/doc/libsecret-1 "${ED}"/usr/share/gtk-doc/html/ || die + fi +} diff --git a/app-crypt/veracrypt/veracrypt-1.26.20.ebuild b/app-crypt/veracrypt/veracrypt-1.26.20.ebuild index c82ad1e2093d..01e6a2d16e9e 100644 --- a/app-crypt/veracrypt/veracrypt-1.26.20.ebuild +++ b/app-crypt/veracrypt/veracrypt-1.26.20.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -18,7 +18,7 @@ S="${WORKDIR}/VeraCrypt-VeraCrypt_${PV}/src" LICENSE="Apache-2.0 BSD RSA truecrypt-3.0" SLOT="0" KEYWORDS="amd64" -IUSE="+asm cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 cpu_flags_x86_ssse3 doc X" +IUSE="+asm cpu_flags_x86_aes cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 cpu_flags_x86_ssse3 doc X" RESTRICT="bindist mirror" RDEPEND=" @@ -53,6 +53,7 @@ src_compile() { WX_CONFIG="${WX_CONFIG}" $(usex X "" "NOGUI=1") $(usex asm "" "NOASM=1") + $(usex cpu_flags_x86_aes "" "NOAESNI=1") $(usex cpu_flags_x86_sse2 "" "NOSSE2=1") $(usex cpu_flags_x86_sse4_1 "SSE41=1" "") $(usex cpu_flags_x86_ssse3 "SSSE3=1" "") diff --git a/app-editors/bluefish/bluefish-2.4.2.ebuild b/app-editors/bluefish/bluefish-2.4.2.ebuild index 9bc40c9fce8a..e2f6cb27f6c9 100644 --- a/app-editors/bluefish/bluefish-2.4.2.ebuild +++ b/app-editors/bluefish/bluefish-2.4.2.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://www.bennewitz.com/bluefish/stable/source/${P}.tar.bz2" LICENSE="GPL-3+" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha amd64 ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" IUSE="gucharmap nls python spell" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" diff --git a/app-editors/gvim-classic/Manifest b/app-editors/gvim-classic/Manifest new file mode 100644 index 000000000000..09279f010393 --- /dev/null +++ b/app-editors/gvim-classic/Manifest @@ -0,0 +1,2 @@ +DIST gvim-classic-8.3.0.tar.gz 14767832 BLAKE2B 309305bf99997e4c8f6d309de118f78da9e88de2e2909d4216f8991526fc430f7b0eedf6f7d5d91fdeb3dfe80935b2196880ab9438a8b9496d675d37f9386b11 SHA512 83417abe7989728aa4ed9da26b2779578cbad676f501953eaf04d4b99ea5615e8cf1df129c18c3e745aba7ed065d37c59015bc6461a5e5d4a5ea8a9c0364d7ca +DIST gvim-classic-8.3.0.tar.gz.sig 119 BLAKE2B f54d8a514146cca189966ecedf707590a0f76ff7ef2cd2bb6729c70dd68bb3e4644cb53ca28a7b7efa237466755d23acb2011bcd088f9c9e24d77d782a4c3a2f SHA512 947285dd9359c7399c358176c327f45b43c2bc58a3bec7a1d2ec838a7d070551f4f510ce92523110b6c590ef3ff0115683ebe7144ef4b6b9bb6dde72d8e11084 diff --git a/app-editors/gvim-classic/files/gvim-completion b/app-editors/gvim-classic/files/gvim-completion new file mode 100644 index 000000000000..6488a82bc76e --- /dev/null +++ b/app-editors/gvim-classic/files/gvim-completion @@ -0,0 +1,40 @@ +# Author: Ciaran McCreesh <ciaranm@gentoo.org> +# +# completion for gvim + +_gvim() +{ + local cur prev cmd args + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + cmd=${COMP_WORDS[0]} + + if [[ "${prev}" == "--servername" ]] ; then + local servers + servers=$(gvim --serverlist ) + COMPREPLY=( $( compgen -W "${servers}" -- $cur ) ) + + elif [[ "${prev}" == -[uUi] ]] ; then + COMPREPLY=( $( compgen -W "NONE" ) \ + $( compgen -f -X "!*vim*" -- "$cur" ) ) + + elif [[ "${cur}" == -* ]] ; then + args='-t -q -c -S --cmd -A -b -C -d -D -e -E -f --nofork \ + -F -g -h -H -i -L -l -m -M -N -n -nb -o -R -r -s \ + -T -u -U -V -v -w -W -x -X -y -Y -Z --echo-wid \ + --help --literal --noplugin --version' + args="${args} --echo-wid --remote --remote-expr \ + --remote-send --remote-silent --remote-wait \ + --remote-wait-silent --serverlist \ + --servername --socketid" + COMPREPLY=( $( compgen -W "${args}" -- $cur ) ) + else + _filedir + fi +} + +complete -o filenames -F _gvim gvim evim eview gview gvimdiff rgvim rgview + +# vim: set ft=sh sw=4 et sts=4 : diff --git a/app-editors/gvim-classic/files/gvimrc-r1 b/app-editors/gvim-classic/files/gvimrc-r1 new file mode 100644 index 000000000000..27f398c1011c --- /dev/null +++ b/app-editors/gvim-classic/files/gvimrc-r1 @@ -0,0 +1,28 @@ +scriptencoding utf-8 +" ^^ Please leave the above line at the start of the file. + +" Default configuration file for gvim +" +" Written by Aron Griffis <agriffis@gentoo.org> +" +" This file is read AFTER normal Vim initializations, like reading your .vimrc +" file (and the default /usr/share/vim/vimrc). So there's no reason to +" duplicate settings from vimrc. Red Hat has had this wrong for years, to the +" great annoyance of users. + +" Pre-GUI settings +set columns=80 lines=30 " don't inherit geometry from parent term +set mousemodel=popup " right mouse button pops up a menu in the GUI + +" Use a sufficiently wide window automatically when started as "gvimdiff" +if (&foldmethod == 'diff') + set columns=165 +endif + +" For bug 33327, add a mapping which allows shift-insert to function +" as expected in insert and command-line modes +map! <s-insert> <c-r>* + +if filereadable("@GENTOO_PORTAGE_EPREFIX@/etc/vim/gvimrc.local") + source @GENTOO_PORTAGE_EPREFIX@/etc/vim/gvimrc.local +endif diff --git a/app-editors/gvim-classic/gvim-classic-8.3.0.ebuild b/app-editors/gvim-classic/gvim-classic-8.3.0.ebuild new file mode 100644 index 000000000000..485fc0c1f49e --- /dev/null +++ b/app-editors/gvim-classic/gvim-classic-8.3.0.ebuild @@ -0,0 +1,352 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with app-editors/vim-classic-core and app-editors/vim-classic + +VIM_VERSION="8.3" + +LUA_COMPAT=( lua5-{1,3,4} luajit ) +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="threads(+)" +USE_RUBY="ruby32 ruby33" +GENTOO_DEPEND_ON_PERL=no + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/ddevault.asc +inherit bash-completion-r1 flag-o-matic lua-single perl-module prefix python-single-r1 \ + ruby-single toolchain-funcs verify-sig vim-doc xdg-utils + +MYWORKDIR="${WORKDIR}/vim-classic-v${PV}" +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://git.sr.ht/~sircmpwn/vim-classic" + EGIT_CHECKOUT_DIR="${MYWORKDIR}" +else + SRC_URI=" + https://git.sr.ht/~sircmpwn/vim-classic/archive/v${PV}.tar.gz -> ${P}.tar.gz + verify-sig? ( + https://git.sr.ht/~sircmpwn/vim-classic/refs/download/v${PV}/vim-classic-v${PV}.tar.gz.sig + -> ${P}.tar.gz.sig + ) + " + KEYWORDS="~amd64" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-ddevault-20250219 ) " +fi + +DESCRIPTION="GUI version of the Vim text editor" +HOMEPAGE="https://vim-classic.org/" +S="${MYWORKDIR}" + +LICENSE="vim" +SLOT="0" +IUSE="acl cscope debug lua minimal motif netbeans nls perl python racket ruby selinux session sound tcl ${GENTOO_PERL_USESTRING}" +REQUIRED_USE=" + lua? ( ${LUA_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) +" + +RDEPEND=" + !app-editors/gvim + ~app-editors/vim-classic-core-${PV} + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2:0= + x11-libs/libICE + x11-libs/libSM + x11-libs/libXext + x11-libs/libXt + acl? ( kernel_linux? ( sys-apps/acl ) ) + motif? ( >=x11-libs/motif-2.3:0 ) + !motif? ( + x11-libs/gtk+:3[X] + x11-libs/libXft + ) + cscope? ( dev-util/cscope ) + lua? ( + ${LUA_DEPS} + $(lua_gen_impl_dep 'deprecated' lua5-1) + ) + nls? ( virtual/libintl ) + perl? ( + ${GENTOO_PERL_DEPSTRING} + dev-lang/perl:= + ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( ${RUBY_DEPS} ) + selinux? ( sys-libs/libselinux ) + session? ( x11-libs/libSM ) + sound? ( media-libs/libcanberra ) + tcl? ( dev-lang/tcl:0= ) +" +DEPEND=" + ${RDEPEND} + x11-base/xorg-proto +" +# configure runs the Lua interpreter +BDEPEND+=" + dev-build/autoconf + virtual/pkgconfig + lua? ( ${LUA_DEPS} ) + nls? ( sys-devel/gettext ) +" +PDEPEND="!minimal? ( app-vim/gentoo-syntax )" + +# various failures (bugs #630042 and #682320) +RESTRICT="test" + +# platform-specific checks (bug #898450 #898452): +# - acl() -- Solaris +# - statacl() -- AIX +QA_CONFIG_IMPL_DECL_SKIP=( + 'acl' + 'statacl' +) + +pkg_setup() { + # people with broken alphabets run into trouble. bug #82186. + unset LANG LC_ALL + export LC_COLLATE="C" + + use lua && lua-single_pkg_setup + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + + # Fixup a script to use awk instead of nawk + sed -i -e \ + '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \ + "${S}"/runtime/tools/mve.awk || die "mve.awk sed failed" + + # Read vimrc and gvimrc from /etc/vim + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \ + >> "${S}"/src/feature.h || die "echo failed" + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \ + >> "${S}"/src/feature.h || die "echo failed" + + # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. + # Hopefully this pattern won't break for a while at least. + # This fixes bug 29398 (27 Sep 2003 agriffis) + sed -i -e \ + 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \ + "${S}"/runtime/doc/syntax.txt \ + "${S}"/runtime/doc/tagsrch.txt \ + "${S}"/runtime/doc/usr_29.txt \ + "${S}"/runtime/menu.vim \ + "${S}"/src/configure.ac || die 'sed failed' + + # gcc on sparc32 has this, uhm, interesting problem with detecting EOF + # correctly. To avoid some really entertaining error messages about stuff + # which isn't even in the source file being invalid, we'll do some trickery + # to make the error never occur. bug 66162 (02 October 2004 ciaranm) + find "${S}" -name '*.c' | while read c; do + echo >> "$c" || die "echo failed" + done + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]]; then + sed -i -e \ + '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile || die + fi + + cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed" + + # Fix bug 18245: Prevent "make" from the following chain: + # (1) Notice configure.ac is newer than auto/configure + # (2) Rebuild auto/configure + # (3) Notice auto/configure is newer than auto/config.mk + # (4) Run ./configure (with wrong args) to remake auto/config.mk + sed -i -e \ + 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" + rm -v src/auto/configure || die "rm failed" + + # --with-features=huge forces on cscope even if we --disable it. We need + # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) + if ! use cscope; then + sed -i -e \ + '/# define FEAT_CSCOPE/d' src/feature.h || die "couldn't disable cscope" + fi + + # bug 908961 + if use elibc_musl ; then + sed -i -e '/ja.sjis/d' src/po/Make_all.mak || die + fi +} + +src_configure() { + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug 24447). The hvc + # things are for ppc64, see bug 86433. + local file + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do + if [[ -e ${file} ]]; then + addwrite ${file} + fi + done + + use debug && append-flags "-DDEBUG" + + local myconf=( + --with-features=huge + --disable-gpm + --with-gnome=no + $(use_enable sound canberra) + $(use_enable acl) + $(use_enable cscope) + $(use_enable netbeans) + $(use_enable nls) + $(use_enable perl perlinterp) + $(use_enable python python3interp) + $(use_with python python3-command "${PYTHON}") + $(use_enable racket mzschemeinterp) + $(use_enable ruby rubyinterp) + $(use_enable selinux) + $(use_enable session xsmp) + $(use_enable tcl tclinterp) + ) + + if use lua; then + # -DLUA_COMPAT_OPENLIB=1 is required to enable the + # deprecated (in 5.1) luaL_openlib API (#874690) + use lua_single_target_lua5-1 && append-cppflags -DLUA_COMPAT_OPENLIB=1 + + myconf+=( + --enable-luainterp + $(use_with lua_single_target_luajit luajit) + --with-lua-prefix="${EPREFIX}/usr" + ) + fi + + # Default is gtk unless motif is enabled + echo ; echo + if use motif; then + einfo "Building gvim with the MOTIF GUI" + myconf+=( --enable-gui=motif ) + else + myconf+=( --enable-gtk3-check ) + einfo "Building gvim with the gtk+-3 GUI" + myconf+=( --enable-gui=gtk3 ) + fi + echo ; echo + + # let package manager strip binaries + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # keep prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + if tc-is-cross-compiler ; then + export vim_cv_getcwd_broken=no \ + vim_cv_memmove_handles_overlap=yes \ + vim_cv_stat_ignores_slash=yes \ + vim_cv_terminfo=yes \ + vim_cv_toupper_broken=no + fi + + econf \ + --with-modified-by="Gentoo-${PVR} (RIP Bram)" \ + --with-vim-name=gvim \ + --with-x \ + "${myconf[@]}" +} + +src_compile() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake +} + +src_test() { + einfo + einfo "Starting vim tests. Several error messages will be shown" + einfo "while the tests run. This is normal behaviour and does not" + einfo "indicate a fault." + einfo + ewarn "If the tests fail, your terminal may be left in a strange" + ewarn "state. Usually, running 'reset' will fix this." + einfo + + # Don't let vim talk to X + unset DISPLAY + + # Make gvim not try to connect to X. See :help gui-x11-start in vim for how + # this evil trickery works. + ln -s "${S}"/src/gvim "${S}"/src/testvim || die + + # Make sure our VIMPROG is used. + sed -i -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die + + # Don't do additional GUI tests. + emake -j1 VIMPROG=../testvim -C src/testdir nongui +} + +# Call eselect vi update with --if-unset +# to respect user's choice (bug #187449) +eselect_vi_update() { + ebegin "Calling eselect vi update" + eselect vi update --if-unset + eend $? +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dobin src/gvim + dosym gvim /usr/bin/gvimdiff + dosym gvim /usr/bin/evim + dosym gvim /usr/bin/eview + dosym gvim /usr/bin/gview + dosym gvim /usr/bin/rgvim + dosym gvim /usr/bin/rgview + + emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons + + dodir /usr/share/man/man1 + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 || die "echo failed" + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed" + echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \ + die "echo failed" + + insinto /etc/vim + newins "${FILESDIR}"/gvimrc-r1 gvimrc + eprefixify "${ED}"/etc/vim/gvimrc + + # bash completion script, bug #79018. + newbashcomp "${FILESDIR}"/gvim-completion ${PN} + + # don't install vim desktop file + rm -v "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop" +} + +pkg_postinst() { + # update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update fdo mime stuff, bug #78394 + xdg_desktop_database_update + + # update icon cache + xdg_icon_cache_update + + # call eselect vi update + eselect_vi_update +} + +pkg_postrm() { + # update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update fdo mime stuff, bug #78394 + xdg_desktop_database_update + + # update icon cache + xdg_icon_cache_update + + # call eselect vi update + eselect_vi_update +} diff --git a/app-editors/gvim-classic/gvim-classic-9999.ebuild b/app-editors/gvim-classic/gvim-classic-9999.ebuild new file mode 100644 index 000000000000..485fc0c1f49e --- /dev/null +++ b/app-editors/gvim-classic/gvim-classic-9999.ebuild @@ -0,0 +1,352 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with app-editors/vim-classic-core and app-editors/vim-classic + +VIM_VERSION="8.3" + +LUA_COMPAT=( lua5-{1,3,4} luajit ) +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="threads(+)" +USE_RUBY="ruby32 ruby33" +GENTOO_DEPEND_ON_PERL=no + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/ddevault.asc +inherit bash-completion-r1 flag-o-matic lua-single perl-module prefix python-single-r1 \ + ruby-single toolchain-funcs verify-sig vim-doc xdg-utils + +MYWORKDIR="${WORKDIR}/vim-classic-v${PV}" +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://git.sr.ht/~sircmpwn/vim-classic" + EGIT_CHECKOUT_DIR="${MYWORKDIR}" +else + SRC_URI=" + https://git.sr.ht/~sircmpwn/vim-classic/archive/v${PV}.tar.gz -> ${P}.tar.gz + verify-sig? ( + https://git.sr.ht/~sircmpwn/vim-classic/refs/download/v${PV}/vim-classic-v${PV}.tar.gz.sig + -> ${P}.tar.gz.sig + ) + " + KEYWORDS="~amd64" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-ddevault-20250219 ) " +fi + +DESCRIPTION="GUI version of the Vim text editor" +HOMEPAGE="https://vim-classic.org/" +S="${MYWORKDIR}" + +LICENSE="vim" +SLOT="0" +IUSE="acl cscope debug lua minimal motif netbeans nls perl python racket ruby selinux session sound tcl ${GENTOO_PERL_USESTRING}" +REQUIRED_USE=" + lua? ( ${LUA_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) +" + +RDEPEND=" + !app-editors/gvim + ~app-editors/vim-classic-core-${PV} + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2:0= + x11-libs/libICE + x11-libs/libSM + x11-libs/libXext + x11-libs/libXt + acl? ( kernel_linux? ( sys-apps/acl ) ) + motif? ( >=x11-libs/motif-2.3:0 ) + !motif? ( + x11-libs/gtk+:3[X] + x11-libs/libXft + ) + cscope? ( dev-util/cscope ) + lua? ( + ${LUA_DEPS} + $(lua_gen_impl_dep 'deprecated' lua5-1) + ) + nls? ( virtual/libintl ) + perl? ( + ${GENTOO_PERL_DEPSTRING} + dev-lang/perl:= + ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( ${RUBY_DEPS} ) + selinux? ( sys-libs/libselinux ) + session? ( x11-libs/libSM ) + sound? ( media-libs/libcanberra ) + tcl? ( dev-lang/tcl:0= ) +" +DEPEND=" + ${RDEPEND} + x11-base/xorg-proto +" +# configure runs the Lua interpreter +BDEPEND+=" + dev-build/autoconf + virtual/pkgconfig + lua? ( ${LUA_DEPS} ) + nls? ( sys-devel/gettext ) +" +PDEPEND="!minimal? ( app-vim/gentoo-syntax )" + +# various failures (bugs #630042 and #682320) +RESTRICT="test" + +# platform-specific checks (bug #898450 #898452): +# - acl() -- Solaris +# - statacl() -- AIX +QA_CONFIG_IMPL_DECL_SKIP=( + 'acl' + 'statacl' +) + +pkg_setup() { + # people with broken alphabets run into trouble. bug #82186. + unset LANG LC_ALL + export LC_COLLATE="C" + + use lua && lua-single_pkg_setup + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + + # Fixup a script to use awk instead of nawk + sed -i -e \ + '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \ + "${S}"/runtime/tools/mve.awk || die "mve.awk sed failed" + + # Read vimrc and gvimrc from /etc/vim + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \ + >> "${S}"/src/feature.h || die "echo failed" + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \ + >> "${S}"/src/feature.h || die "echo failed" + + # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. + # Hopefully this pattern won't break for a while at least. + # This fixes bug 29398 (27 Sep 2003 agriffis) + sed -i -e \ + 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \ + "${S}"/runtime/doc/syntax.txt \ + "${S}"/runtime/doc/tagsrch.txt \ + "${S}"/runtime/doc/usr_29.txt \ + "${S}"/runtime/menu.vim \ + "${S}"/src/configure.ac || die 'sed failed' + + # gcc on sparc32 has this, uhm, interesting problem with detecting EOF + # correctly. To avoid some really entertaining error messages about stuff + # which isn't even in the source file being invalid, we'll do some trickery + # to make the error never occur. bug 66162 (02 October 2004 ciaranm) + find "${S}" -name '*.c' | while read c; do + echo >> "$c" || die "echo failed" + done + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]]; then + sed -i -e \ + '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile || die + fi + + cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed" + + # Fix bug 18245: Prevent "make" from the following chain: + # (1) Notice configure.ac is newer than auto/configure + # (2) Rebuild auto/configure + # (3) Notice auto/configure is newer than auto/config.mk + # (4) Run ./configure (with wrong args) to remake auto/config.mk + sed -i -e \ + 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" + rm -v src/auto/configure || die "rm failed" + + # --with-features=huge forces on cscope even if we --disable it. We need + # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) + if ! use cscope; then + sed -i -e \ + '/# define FEAT_CSCOPE/d' src/feature.h || die "couldn't disable cscope" + fi + + # bug 908961 + if use elibc_musl ; then + sed -i -e '/ja.sjis/d' src/po/Make_all.mak || die + fi +} + +src_configure() { + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug 24447). The hvc + # things are for ppc64, see bug 86433. + local file + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do + if [[ -e ${file} ]]; then + addwrite ${file} + fi + done + + use debug && append-flags "-DDEBUG" + + local myconf=( + --with-features=huge + --disable-gpm + --with-gnome=no + $(use_enable sound canberra) + $(use_enable acl) + $(use_enable cscope) + $(use_enable netbeans) + $(use_enable nls) + $(use_enable perl perlinterp) + $(use_enable python python3interp) + $(use_with python python3-command "${PYTHON}") + $(use_enable racket mzschemeinterp) + $(use_enable ruby rubyinterp) + $(use_enable selinux) + $(use_enable session xsmp) + $(use_enable tcl tclinterp) + ) + + if use lua; then + # -DLUA_COMPAT_OPENLIB=1 is required to enable the + # deprecated (in 5.1) luaL_openlib API (#874690) + use lua_single_target_lua5-1 && append-cppflags -DLUA_COMPAT_OPENLIB=1 + + myconf+=( + --enable-luainterp + $(use_with lua_single_target_luajit luajit) + --with-lua-prefix="${EPREFIX}/usr" + ) + fi + + # Default is gtk unless motif is enabled + echo ; echo + if use motif; then + einfo "Building gvim with the MOTIF GUI" + myconf+=( --enable-gui=motif ) + else + myconf+=( --enable-gtk3-check ) + einfo "Building gvim with the gtk+-3 GUI" + myconf+=( --enable-gui=gtk3 ) + fi + echo ; echo + + # let package manager strip binaries + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # keep prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + if tc-is-cross-compiler ; then + export vim_cv_getcwd_broken=no \ + vim_cv_memmove_handles_overlap=yes \ + vim_cv_stat_ignores_slash=yes \ + vim_cv_terminfo=yes \ + vim_cv_toupper_broken=no + fi + + econf \ + --with-modified-by="Gentoo-${PVR} (RIP Bram)" \ + --with-vim-name=gvim \ + --with-x \ + "${myconf[@]}" +} + +src_compile() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake +} + +src_test() { + einfo + einfo "Starting vim tests. Several error messages will be shown" + einfo "while the tests run. This is normal behaviour and does not" + einfo "indicate a fault." + einfo + ewarn "If the tests fail, your terminal may be left in a strange" + ewarn "state. Usually, running 'reset' will fix this." + einfo + + # Don't let vim talk to X + unset DISPLAY + + # Make gvim not try to connect to X. See :help gui-x11-start in vim for how + # this evil trickery works. + ln -s "${S}"/src/gvim "${S}"/src/testvim || die + + # Make sure our VIMPROG is used. + sed -i -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die + + # Don't do additional GUI tests. + emake -j1 VIMPROG=../testvim -C src/testdir nongui +} + +# Call eselect vi update with --if-unset +# to respect user's choice (bug #187449) +eselect_vi_update() { + ebegin "Calling eselect vi update" + eselect vi update --if-unset + eend $? +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dobin src/gvim + dosym gvim /usr/bin/gvimdiff + dosym gvim /usr/bin/evim + dosym gvim /usr/bin/eview + dosym gvim /usr/bin/gview + dosym gvim /usr/bin/rgvim + dosym gvim /usr/bin/rgview + + emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons + + dodir /usr/share/man/man1 + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 || die "echo failed" + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed" + echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \ + die "echo failed" + + insinto /etc/vim + newins "${FILESDIR}"/gvimrc-r1 gvimrc + eprefixify "${ED}"/etc/vim/gvimrc + + # bash completion script, bug #79018. + newbashcomp "${FILESDIR}"/gvim-completion ${PN} + + # don't install vim desktop file + rm -v "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop" +} + +pkg_postinst() { + # update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update fdo mime stuff, bug #78394 + xdg_desktop_database_update + + # update icon cache + xdg_icon_cache_update + + # call eselect vi update + eselect_vi_update +} + +pkg_postrm() { + # update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update fdo mime stuff, bug #78394 + xdg_desktop_database_update + + # update icon cache + xdg_icon_cache_update + + # call eselect vi update + eselect_vi_update +} diff --git a/app-editors/gvim-classic/metadata.xml b/app-editors/gvim-classic/metadata.xml new file mode 100644 index 000000000000..0fa40a5da6a0 --- /dev/null +++ b/app-editors/gvim-classic/metadata.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>bacs@librecast.net</email> + <name>Brett A C Sheffield</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <maintainer type="project"> + <email>vim@gentoo.org</email> + <name>Gentoo Vim Project</name> + </maintainer> + <use> + <flag name="cscope">Enable cscope interface</flag> + <flag name="netbeans">Include netbeans external editor integration support</flag> + <flag name="racket">Enable support for Scheme using <pkg>dev-scheme/racket</pkg> + </flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-editors/gvim/Manifest b/app-editors/gvim/Manifest index 5d2dad07d4b6..2e778d817f8f 100644 --- a/app-editors/gvim/Manifest +++ b/app-editors/gvim/Manifest @@ -1,2 +1,4 @@ DIST vim-9.1.1652.tar.gz 18776578 BLAKE2B c4cc711ee996d6b7268c243c1fae01600d104763f6eee2abbe342f2cf9ee90fb6ee3f0b44fe4814ff47ae13c5a391510c3b711c92acbee591e290da621289029 SHA512 f1dfb1dc0fd834fa3ffb40c31f48de78b48225c9d67667f069ff8b23a6a76d534f3e228b936141616a33a0d73445626dcd2ff52a8571e9f4370a8fbcad9771d7 +DIST vim-9.2.1119.tar.gz 20196061 BLAKE2B 2ccd209c5b5c8bab08d37147ba33f1d1a0ef2e3d6c5e26e165159bbafee311ccd3b236f852e3e12796e4618476c26985a5eea2a27c31087e2d3c1ee2957da34b SHA512 4939487f25757d571d1dc0bfa4888ebaf5c8799818da1c09e0d4781b3e7b27020d974e4ce3fb6e2c4e61198c09d1a2a51585c965107850c078ef1ea6d33d9d72 DIST vim-patches-vim-9.1.1432-patches.tar.bz2 2618 BLAKE2B fe7c302c71fbf66f1921e1b55e2f67914ed104ab86e2a6cf2e6bf67c98214f13f1d8ff1ed7015ec41a5665c692946e20ec5bdf4806e789a70e34c0c888472739 SHA512 a794a7e4d9014d5508db7b205404f5a4b44748a82c5599a26c1ec6b06d3105f6cebf9a93a058f65ad853bbadf432034fc8257a7c77b4f3446331b9d66c19b3af +DIST vim-patches-vim-9.2.1119-patches.tar.bz2 2619 BLAKE2B 32fe08c18bf276a21cb7067cd3f8c61dd07f6e0613e8afe32d4616546e1a93e0b20a3306ee1a695474d660c6ae42cfd9666c9f36f0bfccbb033705598deb0543 SHA512 58fc52058b3404588ca29f85ae1eb2740cba434952b7ad5636f76937f09121fd5d8c026e2f2489277d1ef5fc9a9c8a182dfc86346b233f08269ef6b68a056160 diff --git a/app-editors/gvim/gvim-9.2.1119.ebuild b/app-editors/gvim/gvim-9.2.1119.ebuild new file mode 100644 index 000000000000..14d3b017da1d --- /dev/null +++ b/app-editors/gvim/gvim-9.2.1119.ebuild @@ -0,0 +1,370 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with app-editors/vim-core and app-editors/vim + +VIM_VERSION="9.2" +VIM_PATCHES_VERSION="9.2.1119" + +LUA_COMPAT=( lua5-{1,3,4} luajit ) +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="threads(+)" +USE_RUBY="ruby32 ruby33" +GENTOO_DEPEND_ON_PERL=no + +inherit flag-o-matic lua-single perl-module prefix python-single-r1 ruby-single shell-completion toolchain-funcs vim-doc xdg-utils + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/vim/vim.git" + EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV} +else + SRC_URI=" + https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz + https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-${VIM_PATCHES_VERSION}-patches.tar.bz2 + " + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +fi + +DESCRIPTION="GUI version of the Vim text editor" +HOMEPAGE="https://www.vim.org https://github.com/vim/vim" +S="${WORKDIR}"/vim-${PV} + +LICENSE="vim" +SLOT="0" +IUSE="acl crypt cscope debug gtk4 lua minimal motif netbeans nls +pango perl python racket ruby selinux session sound tcl wayland ${GENTOO_PERL_USESTRING}" +REQUIRED_USE=" + lua? ( ${LUA_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) + ?? ( gtk4 motif ) + gtk4? ( !session ) +" + +RDEPEND=" + ~app-editors/vim-core-${PV} + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2:0= + acl? ( kernel_linux? ( sys-apps/acl ) ) + motif? ( >=x11-libs/motif-2.3:0 ) + gtk4? ( gui-libs/gtk:4 ) + !gtk4? ( + x11-libs/libICE + x11-libs/libSM + x11-libs/libXext + x11-libs/libXt + !motif? ( + x11-libs/gtk+:3[X] + x11-libs/libXft + ) + ) + pango? ( + x11-libs/cairo + >=x11-libs/pango-1.44 + ) + crypt? ( dev-libs/libsodium:= ) + cscope? ( dev-util/cscope ) + lua? ( + ${LUA_DEPS} + $(lua_gen_impl_dep 'deprecated' lua5-1) + ) + nls? ( virtual/libintl ) + perl? ( + ${GENTOO_PERL_DEPSTRING} + dev-lang/perl:= + ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( ${RUBY_DEPS} ) + selinux? ( sys-libs/libselinux ) + session? ( x11-libs/libSM ) + sound? ( media-libs/libcanberra ) + tcl? ( dev-lang/tcl:0= ) + wayland? ( dev-libs/wayland ) +" +DEPEND="${RDEPEND} + !gtk4? ( x11-base/xorg-proto )" +# configure runs the Lua interpreter +BDEPEND=" + >=dev-build/autoconf-2.71 + virtual/pkgconfig + lua? ( ${LUA_DEPS} ) + nls? ( sys-devel/gettext ) +" +PDEPEND="!minimal? ( app-vim/gentoo-syntax )" + +if [[ ${PV} != 9999* ]]; then + # Gentoo patches to fix runtime issues, cross-compile errors, etc + PATCHES=( + "${WORKDIR}/vim-patches-vim-${VIM_PATCHES_VERSION}-patches" + ) +fi + +# various failures (bugs #630042 and #682320) +RESTRICT="test" + +# platform-specific checks (bug #898450): +# - acl() -- Solaris +# - statacl() -- AIX +QA_CONFIG_IMPL_DECL_SKIP=( + 'acl' + 'statacl' +) + +pkg_setup() { + # people with broken alphabets run into trouble. bug 82186. + unset LANG LC_ALL + export LC_COLLATE="C" + + use lua && lua-single_pkg_setup + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + + # Fixup a script to use awk instead of nawk + sed -i -e \ + '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \ + "${S}"/runtime/tools/mve.awk || die "mve.awk sed failed" + + # Read vimrc and gvimrc from /etc/vim + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \ + >> "${S}"/src/feature.h || die "echo failed" + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \ + >> "${S}"/src/feature.h || die "echo failed" + + # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. + # Hopefully this pattern won't break for a while at least. + # This fixes bug 29398 (27 Sep 2003 agriffis) + sed -i -e \ + 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \ + "${S}"/runtime/doc/syntax.txt \ + "${S}"/runtime/doc/tagsrch.txt \ + "${S}"/runtime/doc/usr_29.txt \ + "${S}"/runtime/menu.vim \ + "${S}"/src/configure.ac || die 'sed failed' + + # gcc on sparc32 has this, uhm, interesting problem with detecting EOF + # correctly. To avoid some really entertaining error messages about stuff + # which isn't even in the source file being invalid, we'll do some trickery + # to make the error never occur. bug 66162 (02 October 2004 ciaranm) + find "${S}" -name '*.c' | while read c; do + echo >> "$c" || die "echo failed" + done + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]]; then + sed -i -e \ + '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile || die + fi + + cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed" + + # Fix bug 18245: Prevent "make" from the following chain: + # (1) Notice configure.ac is newer than auto/configure + # (2) Rebuild auto/configure + # (3) Notice auto/configure is newer than auto/config.mk + # (4) Run ./configure (with wrong args) to remake auto/config.mk + sed -i -e \ + 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" + rm -v src/auto/configure || die "rm failed" + + # --with-features=huge forces on cscope even if we --disable it. We need + # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) + if ! use cscope; then + sed -i -e \ + '/# define FEAT_CSCOPE/d' src/feature.h || die "couldn't disable cscope" + fi + + # bug 908961 + if use elibc_musl ; then + sed -i -e '/ja.sjis/d' src/po/Make_all.mak || die + fi +} + +src_configure() { + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug 24447). The hvc + # things are for ppc64, see bug 86433. + local file + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do + if [[ -e ${file} ]]; then + addwrite $file + fi + done + + use debug && append-flags "-DDEBUG" + + local myconf=( + --with-features=huge + --disable-gpm + --with-gnome=no + $(use_enable sound canberra) + $(use_enable acl) + $(use_enable crypt libsodium) + $(use_enable cscope) + $(use_enable netbeans) + $(use_enable nls) + $(use_enable perl perlinterp) + $(use_enable python python3interp) + $(use_with python python3-command "${PYTHON}") + $(use_enable racket mzschemeinterp) + $(use_enable ruby rubyinterp) + $(use_enable selinux) + $(use_enable session xsmp) + $(use_enable tcl tclinterp) + $(use_with wayland) + ) + + if use lua; then + # -DLUA_COMPAT_OPENLIB=1 is required to enable the + # deprecated (in 5.1) luaL_openlib API (#874690) + use lua_single_target_lua5-1 && append-cppflags -DLUA_COMPAT_OPENLIB=1 + + myconf+=( + --enable-luainterp + $(use_with lua_single_target_luajit luajit) + --with-lua-prefix="${EPREFIX}/usr" + ) + fi + + # Default is gtk+-3 unless motif or gtk4 is enabled + echo ; echo + if use motif; then + einfo "Building gvim with the MOTIF GUI" + myconf+=( --enable-gui=motif --with-x ) + elif use gtk4; then + einfo "Building gvim with the GTK 4 GUI" + # GTK4 talks to no X11 API of its own, and configure forces + # with_x=no for it; so do not drag in the X11 libraries. + myconf+=( --enable-gui=gtk4 --without-x ) + else + myconf+=( --enable-gtk3-check --disable-gtk4-check ) + einfo "Building gvim with the gtk+-3 GUI" + myconf+=( --enable-gui=gtk3 --with-x ) + fi + echo ; echo + + # Render hardcopy with system Pango/Cairo instead of Vim's own PostScript generator + myconf+=( $(use_enable pango hardcopy-pango) ) + + # let package manager strip binaries + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # keep prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + if tc-is-cross-compiler ; then + export vim_cv_getcwd_broken=no \ + vim_cv_memmove_handles_overlap=yes \ + vim_cv_stat_ignores_slash=yes \ + vim_cv_terminfo=yes \ + vim_cv_toupper_broken=no + fi + + econf \ + --with-modified-by="Gentoo-${PVR} (RIP Bram)" \ + --with-vim-name=gvim \ + "${myconf[@]}" +} + +src_compile() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake +} + +src_test() { + einfo + einfo "Starting vim tests. Several error messages will be shown" + einfo "while the tests run. This is normal behaviour and does not" + einfo "indicate a fault." + einfo + ewarn "If the tests fail, your terminal may be left in a strange" + ewarn "state. Usually, running 'reset' will fix this." + einfo + + # Don't let vim talk to X + unset DISPLAY + + # Make gvim not try to connect to X. See :help gui-x11-start in vim for how + # this evil trickery works. + ln -s "${S}"/src/gvim "${S}"/src/testvim || die + + # Make sure our VIMPROG is used. + sed -i -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die + + # Don't do additional GUI tests. + emake -j1 VIMPROG=../testvim -C src/testdir nongui +} + +# Call eselect vi update with --if-unset +# to respect user's choice (bug 187449) +eselect_vi_update() { + ebegin "Calling eselect vi update" + eselect vi update --if-unset + eend $? +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dobin src/gvim + dosym gvim /usr/bin/gvimdiff + dosym gvim /usr/bin/evim + dosym gvim /usr/bin/eview + dosym gvim /usr/bin/gview + dosym gvim /usr/bin/rgvim + dosym gvim /usr/bin/rgview + + emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons + + dodir /usr/share/man/man1 + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 || die "echo failed" + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed" + echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \ + die "echo failed" + + insinto /etc/vim + newins "${FILESDIR}"/gvimrc-r1 gvimrc + eprefixify "${ED}"/etc/vim/gvimrc + + # bash completion script, bug #79018. + newbashcomp "${FILESDIR}"/${PN}-completion ${PN} + + # don't install vim desktop file + rm -v "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop" +} + +pkg_postinst() { + # update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update fdo mime stuff, bug #78394 + xdg_desktop_database_update + + # update icon cache + xdg_icon_cache_update + + # call eselect vi update + eselect_vi_update +} + +pkg_postrm() { + # update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update fdo mime stuff, bug #78394 + xdg_desktop_database_update + + # update icon cache + xdg_icon_cache_update + + # call eselect vi update + eselect_vi_update +} diff --git a/app-editors/gvim/metadata.xml b/app-editors/gvim/metadata.xml index 7e0ac1b87fad..8726f49821a7 100644 --- a/app-editors/gvim/metadata.xml +++ b/app-editors/gvim/metadata.xml @@ -1,6 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> <pkgmetadata> + <maintainer type="person"> + <email>arthurzam@gentoo.org</email> + <name>Arthur Zamarin</name> + </maintainer> <maintainer type="person" proxied="yes"> <email>xxc3ncoredxx@gmail.com</email> <name>Oskari Pirhonen</name> @@ -16,7 +20,15 @@ <use> <flag name="crypt">Use <pkg>dev-libs/libsodium</pkg> for crypto support</flag> <flag name="cscope">Enable cscope interface</flag> + <flag name="gtk4">Build the GTK 4 GUI using <pkg>gui-libs/gtk</pkg>:4 instead of + the default GTK+ 3 one. The GTK 4 GUI uses no X11 API, so 'session' + (X session management) is unavailable with it.</flag> <flag name="netbeans">Include netbeans external editor integration support</flag> + <flag name="pango">Render |:hardcopy| output with <pkg>x11-libs/pango</pkg> + and <pkg>x11-libs/cairo</pkg> rather than Vim's own PostScript generator. + Gains full Unicode support and PDF output, at the cost of the + 'printencoding', 'printmbcharset' and 'printmbfont' options, which + exist only for the built-in generator.</flag> <flag name="racket">Enable support for Scheme using <pkg>dev-scheme/racket</pkg> </flag> </use> diff --git a/app-editors/moe/moe-1.16.ebuild b/app-editors/moe/moe-1.16.ebuild index 7efaac94a7b7..681ce22b9454 100644 --- a/app-editors/moe/moe-1.16.ebuild +++ b/app-editors/moe/moe-1.16.ebuild @@ -15,7 +15,7 @@ SRC_URI=" LICENSE="GPL-2+" SLOT="0" -KEYWORDS="~amd64 ~arm ~riscv ~x86" +KEYWORDS="~amd64 arm ~riscv ~x86" RDEPEND="sys-libs/ncurses:=" DEPEND="${RDEPEND}" diff --git a/app-editors/nedit/nedit-5.8.ebuild b/app-editors/nedit/nedit-5.8.ebuild index e972164299f0..6efaffc9ca73 100644 --- a/app-editors/nedit/nedit-5.8.ebuild +++ b/app-editors/nedit/nedit-5.8.ebuild @@ -14,7 +14,7 @@ SRC_URI=" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~mips ~ppc ~riscv ~sparc ~x86" +KEYWORDS="~alpha ~amd64 ~mips ppc ~riscv ~sparc ~x86" IUSE="doc" RDEPEND=" diff --git a/app-editors/vim-classic-core/Manifest b/app-editors/vim-classic-core/Manifest new file mode 100644 index 000000000000..f97f1a171e53 --- /dev/null +++ b/app-editors/vim-classic-core/Manifest @@ -0,0 +1,2 @@ +DIST vim-classic-core-8.3.0.tar.gz 14767832 BLAKE2B 309305bf99997e4c8f6d309de118f78da9e88de2e2909d4216f8991526fc430f7b0eedf6f7d5d91fdeb3dfe80935b2196880ab9438a8b9496d675d37f9386b11 SHA512 83417abe7989728aa4ed9da26b2779578cbad676f501953eaf04d4b99ea5615e8cf1df129c18c3e745aba7ed065d37c59015bc6461a5e5d4a5ea8a9c0364d7ca +DIST vim-classic-core-8.3.0.tar.gz.sig 119 BLAKE2B f54d8a514146cca189966ecedf707590a0f76ff7ef2cd2bb6729c70dd68bb3e4644cb53ca28a7b7efa237466755d23acb2011bcd088f9c9e24d77d782a4c3a2f SHA512 947285dd9359c7399c358176c327f45b43c2bc58a3bec7a1d2ec838a7d070551f4f510ce92523110b6c590ef3ff0115683ebe7144ef4b6b9bb6dde72d8e11084 diff --git a/app-editors/vim-classic-core/files/gvim.svg b/app-editors/vim-classic-core/files/gvim.svg new file mode 100644 index 000000000000..b82742a79012 --- /dev/null +++ b/app-editors/vim-classic-core/files/gvim.svg @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="256" + height="256" + id="svg2" + version="1.1" + inkscape:version="0.47 r22583" + sodipodi:docname="vim.svg"> + <defs + id="defs4"> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 526.18109 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="744.09448 : 526.18109 : 1" + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" + id="perspective10" /> + <inkscape:perspective + id="perspective2884" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + inkscape:vp_z="1 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 0.5 : 1" + sodipodi:type="inkscape:persp3d" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.7" + inkscape:cx="107.83967" + inkscape:cy="146.01885" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="743" + inkscape:window-height="605" + inkscape:window-x="88" + inkscape:window-y="321" + inkscape:window-maximized="0" /> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-796.36218)"> + <path + style="fill:#19953f;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="M 128.02596,805.31213 8.0259779,926.7407 127.31168,1046.0264 l 120,-120.71427 -119.28572,-120 z" + id="path2890" /> + <path + style="fill:#d0d0cf;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 26.24294,816.92274 -5,5 0,19.28572 5.446429,5.26785 7.232142,0.17858 0.178571,168.12501 7.142857,7.1429 22.142858,0 177.142853,-180.00006 0,-18.57143 -5,-5 -80,-0.71428 -5,7.14285 0,15.71429 5,6.42857 6.42857,0 -62.142855,60.00001 0.625005,-59.73215 7.14285,-10e-6 5.80357,-5.98214 0,-15.71429 -6.42857,-7.14286 -80.71428,-1.42857 0,10e-6 z" + id="path3664" + sodipodi:nodetypes="cccccccccccccccccccccccc" /> + <path + style="fill:#d0d0cf;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 136.90826,933.24978 4.28572,-3.57143 12.14285,0.35715 3.92857,3.92857 -4.28571,12.14286 -3.57143,3.21428 -12.64794,-0.14794 -3.42349,-4.13777 3.57143,-11.78572 z" + id="path3666" + sodipodi:nodetypes="ccccccccc" /> + <path + style="fill:#d0d0cf;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 121.90826,956.10693 28.57143,0.35714 -15,45.00003 5.35714,0 -3.21428,8.9285 -26.78572,-0.3571 14.64286,-43.21429 -7.14286,0.35714 3.57143,-11.07142 z" + id="path3668" /> + <path + style="fill:#d0d0cf;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 157.2654,956.46407 -3.71936,9.68618 6.82905,0 -15.25254,44.24235 23.57143,0 3.40554,-8.7193 -6.11475,-0.4005 8.42349,-26.2373 15,-0.35715 -11.07143,34.99995 23.15301,0.3572 2.91579,-8.2576 -5.56371,-0.1633 9.13777,-26.5791 12.85714,0 -11.07143,35 24.32904,0.2525 3.00508,-8.2729 -5.81626,-0.1939 11.69643,-37.14285 -4.64286,-7.5 -14.64285,0 -5.71429,5.71429 -5.71429,0 -6.07142,-6.07143 -12.5,0 -5.35715,5.35714 -6.07143,0 -6.07142,-5.71428 -18.92858,0 z" + id="path3670" + sodipodi:nodetypes="cccccccccccccccccccccccccccccc" /> + </g> +</svg> diff --git a/app-editors/vim-classic-core/files/vim-core-unbundle-xxd.patch b/app-editors/vim-classic-core/files/vim-core-unbundle-xxd.patch new file mode 100644 index 000000000000..a401b72c7bf1 --- /dev/null +++ b/app-editors/vim-classic-core/files/vim-core-unbundle-xxd.patch @@ -0,0 +1,37 @@ +The xxd utility is packaged in dev-util/xxd. With USE=nls, the prerequisite +$(INSTALL_TOOL_LANGS) target variable contains install-tool-languages, which +only installs xxd manpages. Remove it to prevent file collisions with +dev-util/xxd. + +Original patch From: Lucio Sauer <watermanpaint@posteo.net> +diff --git a/src/Makefile b/src/Makefile +index 30b315b6e..6fb8e0baa 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -1000,7 +1000,7 @@ EVIEWTARGET = $(EVIEWNAME)$(LNKEXT) + + ### Names of the tools that are also made {{{1 + XXDTARGET = xxd/$(XXDNAME)$(EXEEXT) +-TOOLS = $(XXDTARGET) ++TOOLS = + + ### Installation directories. The defaults come from configure. {{{1 + # +@@ -2489,16 +2489,11 @@ installspell: $(DEST_VIM) $(DEST_RT) $(DEST_SPELL) + + # install helper program xxd + installtools: $(TOOLS) $(DESTDIR)$(exec_prefix) $(DEST_BIN) \ +- $(TOOLSSOURCE) $(DEST_VIM) $(DEST_RT) $(DEST_TOOLS) \ +- $(INSTALL_TOOL_LANGS) ++ $(TOOLSSOURCE) $(DEST_VIM) $(DEST_RT) $(DEST_TOOLS) + if test -f $(DEST_BIN)/$(XXDNAME)$(EXEEXT); then \ + mv -f $(DEST_BIN)/$(XXDNAME)$(EXEEXT) $(DEST_BIN)/$(XXDNAME).rm; \ + rm -f $(DEST_BIN)/$(XXDNAME).rm; \ + fi +- $(INSTALL_PROG) xxd/$(XXDNAME)$(EXEEXT) $(DEST_BIN) +- $(STRIP) $(DEST_BIN)/$(XXDNAME)$(EXEEXT) +- chmod $(BINMOD) $(DEST_BIN)/$(XXDNAME)$(EXEEXT) +- -$(SHELL) ./installman.sh xxd $(DEST_MAN) "" $(INSTALLMANARGS) + + # install the runtime tools + $(INSTALL_DATA_R) $(TOOLSSOURCE)/* $(DEST_TOOLS) diff --git a/app-editors/vim-classic-core/files/vimrc-r8 b/app-editors/vim-classic-core/files/vimrc-r8 new file mode 100644 index 000000000000..c4abc23e7496 --- /dev/null +++ b/app-editors/vim-classic-core/files/vimrc-r8 @@ -0,0 +1,218 @@ +scriptencoding utf-8 +" ^^ Please leave the above line at the start of the file. + +" If you want to completely disable this script, make sure to put +" "let skip_etc_vimrc = 1" in a skip_etc_vimrc.vim in your runtimepath, like +" ~/.vim/skip_etc_vimrc. +runtime! skip_etc_vimrc.vim +" Bail out when a power user would prefer to avoid the system configuration +if exists('skip_etc_vimrc') + finish +endif + +" Default configuration file for Vim + +" Written by Aron Griffis <agriffis@gentoo.org> +" Modified by Ryan Phillips <rphillips@gentoo.org> +" Modified some more by Ciaran McCreesh <ciaranm@gentoo.org> +" Added Redhat's vimrc info by Seemant Kulleen <seemant@gentoo.org> + +" You can override any of these settings on a global basis via the +" "/etc/vim/vimrc.local" file, and on a per-user basis via "~/.vimrc". You may +" need to create these. + +" {{{ General settings +" The following are some sensible defaults for Vim for most users. +" We attempt to change as little as possible from Vim's defaults, +" deviating only where it makes sense +set nocompatible " Use Vim defaults (much better!) +set bs=2 " Allow backspacing over everything in insert mode +set ai " Always set auto-indenting on +set history=50 " keep 50 lines of command history +set ruler " Show the cursor position all the time + +set viminfo='20,\"500 " Keep a .viminfo file. + +" Don't use Ex mode, use Q for formatting +map Q gq + +" When doing tab completion, give the following files lower priority. You may +" wish to set 'wildignore' to completely ignore files, and 'wildmenu' to enable +" enhanced tab completion. These can be done in the user vimrc file. +set suffixes+=.info,.aux,.log,.dvi,.bbl,.out,.o,.lo + +" When displaying line numbers, don't use an annoyingly wide number column. This +" doesn't enable line numbers -- :set number will do that. The value given is a +" minimum width to use for the number column, not a fixed size. +if v:version >= 700 + set numberwidth=3 +endif +" }}} + +" {{{ Modeline settings +" We don't allow modelines by default. See bug #14088 and bug #73715. +" If you're not concerned about these, you can enable them on a per-user +" basis by adding "set modeline" to your ~/.vimrc file. +set nomodeline +" }}} + +" {{{ Locale settings +" Try to come up with some nice sane GUI fonts. Also try to set a sensible +" value for fileencodings based upon locale. These can all be overridden in +" the user vimrc file. +if v:lang =~? "^ko" + set fileencodings=euc-kr + set guifontset=-*-*-medium-r-normal--16-*-*-*-*-*-*-* +elseif v:lang =~? "^ja_JP" + set fileencodings=euc-jp + set guifontset=-misc-fixed-medium-r-normal--14-*-*-*-*-*-*-* +elseif v:lang =~? "^zh_TW" + set fileencodings=big5 + set guifontset=-sony-fixed-medium-r-normal--16-150-75-75-c-80-iso8859-1,-taipei-fixed-medium-r-normal--16-150-75-75-c-160-big5-0 +elseif v:lang =~? "^zh_CN" + set fileencodings=gb2312 + set guifontset=*-r-* +endif + +" If we have a BOM, always honour that rather than trying to guess. +if &fileencodings !~? "ucs-bom" + set fileencodings^=ucs-bom +endif + +" Always check for UTF-8 when trying to determine encodings. +if &fileencodings !~? "utf-8" + " If we have to add this, the default encoding is not Unicode. + " We use this fact later to revert to the default encoding in plaintext/empty + " files. + let g:added_fenc_utf8 = 1 + set fileencodings+=utf-8 +endif + +" Make sure we have a sane fallback for encoding detection +if &fileencodings !~? "default" + set fileencodings+=default +endif +" }}} + +" {{{ Syntax highlighting settings +" Switch syntax highlighting on, when the terminal has colors +" Also switch on highlighting the last used search pattern. +if &t_Co > 2 || has("gui_running") + syntax on + set hlsearch +endif +" }}} + +" {{{ Terminal fixes +if &term ==? "xterm" + set t_Sb=^[4%dm + set t_Sf=^[3%dm + set ttymouse=xterm2 +endif + +if &term ==? "gnome" && has("eval") + " Set useful keys that vim doesn't discover via termcap but are in the + " builtin xterm termcap. See bug #122562. We use exec to avoid having to + " include raw escapes in the file. + exec "set <C-Left>=\eO5D" + exec "set <C-Right>=\eO5C" +endif +" }}} + +" {{{ Filetype plugin settings +" Enable plugin-provided filetype settings, but only if the ftplugin +" directory exists (which it won't on livecds, for example). +if isdirectory(expand("$VIMRUNTIME/ftplugin")) + filetype plugin on + + " Uncomment the next line (or copy to your ~/.vimrc) for plugin-provided + " indent settings. Some people don't like these, so we won't turn them on by + " default. + " filetype indent on +endif +" }}} + +" {{{ Fix &shell, see bug #101665. +if "" == &shell + if executable("@GENTOO_PORTAGE_EPREFIX@/bin/bash") + set shell=@GENTOO_PORTAGE_EPREFIX@/bin/bash + elseif executable("@GENTOO_PORTAGE_EPREFIX@/bin/sh") + set shell=@GENTOO_PORTAGE_EPREFIX@/bin/sh + endif +endif +"}}} + +" {{{ Our default /bin/sh is bash, not ksh, so syntax highlighting for .sh +" files should default to bash. See :help sh-syntax and bug #101819. +if has("eval") + let is_bash=1 +endif +" }}} + +" {{{ Autocommands +if has("autocmd") + +augroup gentoo + au! + + " Gentoo-specific settings for ebuilds. These are the federally-mandated + " required tab settings. See the following for more information: + " http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml + " Note that the rules below are very minimal and don't cover everything. + " Better to emerge app-vim/gentoo-syntax, which provides full syntax, + " filetype and indent settings for all things Gentoo. + au BufRead,BufNewFile *.e{build,class} let is_bash=1|setfiletype sh + au BufRead,BufNewFile *.e{build,class} setl ts=4 sw=4 noexpandtab + + " When editing a file, always jump to the last cursor position + autocmd BufReadPost * + \ if ! exists("g:leave_my_cursor_position_alone") | + \ if line("'\"") > 0 && line ("'\"") <= line("$") | + \ exe "normal! g'\"" | + \ endif | + \ endif + + " When editing a crontab file, set backupcopy to yes rather than auto. See + " :help crontab and bug #53437. + autocmd FileType crontab setl backupcopy=yes + + " If we previously detected that the default encoding is not UTF-8 + " (g:added_fenc_utf8), assume that a file with only ASCII characters (or no + " characters at all) isn't a Unicode file, but is in the default encoding. + " Except of course if a byte-order mark is in effect. + autocmd BufReadPost * + \ if exists("g:added_fenc_utf8") && &fileencoding == "utf-8" && + \ ! &bomb && search('[\x80-\xFF]','nw') == 0 && &modifiable | + \ set fileencoding= | + \ endif + +augroup END + +endif " has("autocmd") +" }}} + +" We don't want VIM to load their own built-in defaults, preferring ours here +" instead. This option cannot apply to minimal builds, so it is guarded by a +" test that's guaranteed to fail for those, owing to the lack of +eval. +if 1 + let g:skip_defaults_vim = 1 +endif + +" Enable Omni completion when opening a file only if a specific plugin does +" not already exist for that filetype. This allows Omni completion +" (Ctrl-x/Ctrl-o) to work with any programming language if and only if a syntax +" file exists for the said language. +if exists("+omnifunc") + autocmd gentoo Filetype * + \ if &omnifunc == "" | + \ setlocal omnifunc=syntaxcomplete#Complete | + \ endif +endif + +" {{{ vimrc.local +if filereadable("@GENTOO_PORTAGE_EPREFIX@/etc/vim/vimrc.local") + source @GENTOO_PORTAGE_EPREFIX@/etc/vim/vimrc.local +endif +" }}} + +" vim: set fenc=utf-8 tw=80 sw=2 sts=2 et foldmethod=marker : diff --git a/app-editors/vim-classic-core/metadata.xml b/app-editors/vim-classic-core/metadata.xml new file mode 100644 index 000000000000..9f2576b4cad6 --- /dev/null +++ b/app-editors/vim-classic-core/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>bacs@librecast.net</email> + <name>Brett A C Sheffield</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <maintainer type="project"> + <email>vim@gentoo.org</email> + <name>Gentoo Vim Project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-editors/vim-classic-core/vim-classic-core-8.3.0.ebuild b/app-editors/vim-classic-core/vim-classic-core-8.3.0.ebuild new file mode 100644 index 000000000000..ff11e99bd902 --- /dev/null +++ b/app-editors/vim-classic-core/vim-classic-core-8.3.0.ebuild @@ -0,0 +1,237 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with app-editors/vim-classic and app-editors/gvim-classic + +VIM_VERSION="8.3" +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/ddevault.asc +inherit desktop flag-o-matic prefix toolchain-funcs verify-sig vim-doc xdg-utils + +MYWORKDIR="${WORKDIR}/vim-classic-v${PV}" +if [[ ${PV} == 9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://git.sr.ht/~sircmpwn/vim-classic" + EGIT_CHECKOUT_DIR="${MYWORKDIR}" +else + SRC_URI=" + https://git.sr.ht/~sircmpwn/vim-classic/archive/v${PV}.tar.gz -> ${P}.tar.gz + verify-sig? ( + https://git.sr.ht/~sircmpwn/vim-classic/refs/download/v${PV}/vim-classic-v${PV}.tar.gz.sig + -> ${P}.tar.gz.sig + ) + " + KEYWORDS="~amd64" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-ddevault-20250219 ) " +fi + +DESCRIPTION="vim-classic and gvim-classic shared files" +HOMEPAGE="https://vim-classic.org/" +S="${MYWORKDIR}" + +LICENSE="vim" +SLOT="0" +IUSE="nls acl minimal" + +RDEPEND=" + !app-editors/vim-core + dev-util/xxd + >=virtual/editor-0-r8 +" +# ncurses is only needed by ./configure, so no subslot operator required +DEPEND=">=sys-libs/ncurses-5.2-r2:0" +BDEPEND+="dev-build/autoconf" + +# unbundle xxd +PATCHES+=( "${FILESDIR}/vim-core-unbundle-xxd.patch" ) + +# platform-specific checks (bug #898406): +# - acl() -- Solaris +# - statacl() -- AIX +QA_CONFIG_IMPL_DECL_SKIP=( + 'acl' + 'statacl' +) + +pkg_setup() { + # people with broken alphabets run into trouble. bug #82186. + unset LANG LC_ALL + export LC_COLLATE="C" +} + +src_prepare() { + default + + # Fixup a script to use awk instead of nawk + sed -i \ + -e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \ + "${S}"/runtime/tools/mve.awk || die "sed failed" + + # See bug #77841. We remove this file after the tarball extraction. + rm -v "${S}"/runtime/tools/vimspell.sh || die "rm failed" + + # Read vimrc and gvimrc from /etc/vim + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h || die + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h || die + + # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. + # Hopefully this pattern won't break for a while at least. + # This fixes bug #29398 (27 Sep 2003 agriffis) + sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \ + "${S}"/runtime/doc/syntax.txt \ + "${S}"/runtime/doc/tagsrch.txt \ + "${S}"/runtime/doc/usr_29.txt \ + "${S}"/runtime/menu.vim \ + "${S}"/src/configure.ac || die 'sed failed' + + # gcc on sparc32 has this, uhm, interesting problem with detecting EOF + # correctly. To avoid some really entertaining error messages about stuff + # which isn't even in the source file being invalid, we'll do some trickery + # to make the error never occur. bug 66162 (02 October 2004 ciaranm) + find "${S}" -name '*.c' | while read c; do + echo >> "$c" || die "echo failed" + done + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]]; then + sed -i -e \ + '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile || die "sed failed" + fi + + cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed" + + # Fix bug #76331: -O3 causes problems, use -O2 instead. We'll do this for + # everyone since previous flag filtering bugs have turned out to affect + # multiple archs... + replace-flags -O3 -O2 + + # Fix bug #18245: Prevent "make" from the following chain: + # (1) Notice configure.ac is newer than auto/configure + # (2) Rebuild auto/configure + # (3) Notice auto/configure is newer than auto/config.mk + # (4) Run ./configure (with wrong args) to remake auto/config.mk + sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" + + # Remove src/auto/configure file. + rm -v src/auto/configure || die "rm configure failed" + + # bug 908961 + if use elibc_musl ; then + sed -i -e '/ja.sjis/d' src/po/Make_all.mak || die + fi +} + +src_configure() { + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug 24447). The hvc + # things are for ppc64, see bug 86433. + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do + if [[ -e "${file}" ]]; then + addwrite ${file} + fi + done + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + local myconf=( + --with-modified-by=Gentoo-${PVR} + --enable-gui=no + --without-x + --disable-darwin + --disable-perlinterp + --disable-pythoninterp + --disable-rubyinterp + --disable-gpm + --disable-selinux + $(use_enable nls) + $(use_enable acl) + ) + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + if tc-is-cross-compiler ; then + export vim_cv_getcwd_broken=no \ + vim_cv_memmove_handles_overlap=yes \ + vim_cv_stat_ignores_slash=yes \ + vim_cv_terminfo=yes \ + vim_cv_toupper_broken=no + fi + + econf "${myconf[@]}" +} + +src_compile() { + emake -j1 -C src auto/osdef.h objects +} + +src_test() { :; } + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dodir /usr/{bin,share/{man/man1,vim}} + emake -C src \ + installruntime \ + installmanlinks \ + installmacros \ + installtutor \ + installtutorbin \ + installtools \ + install-languages \ + DESTDIR="${D}" \ + BINDIR="${EPREFIX}"/usr/bin \ + MANDIR="${EPREFIX}"/usr/share/man \ + DATADIR="${EPREFIX}"/usr/share + + keepdir ${vimfiles}/keymap + + # default vimrc is installed by vim-core since it applies to + # both vim and gvim + insinto /etc/vim/ + newins "${FILESDIR}"/vimrc-r8 vimrc + eprefixify "${ED}"/etc/vim/vimrc + + if use minimal; then + # To save space, install only a subset of the files. + # Helps minimalize the livecd, bug 65144. + rm -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die + rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die + rm -v "${ED}"/usr/bin/vimtutor || die + + for f in "${ED}${vimfiles}"/colors/*.vim; do + if [[ ${f} != */@(default).vim ]] ; then + printf '%s\0' "${f}" + fi + done | xargs -0 rm -f || die + + for f in "${ED}${vimfiles}"/syntax/*.vim; do + if [[ ${f} != */@(conf|crontab|fstab|inittab|resolv|sshdconfig|syntax|nosyntax|synload).vim ]] ; then + printf '%s\0' "${f}" + fi + done | xargs -0 rm -f || die + fi + + # install gvim icon since both vim/gvim desktop files reference it + doicon -s scalable "${FILESDIR}"/gvim.svg +} + +pkg_postinst() { + # update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update icon cache + xdg_icon_cache_update +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update icon cache + xdg_icon_cache_update +} diff --git a/app-editors/vim-classic-core/vim-classic-core-9999.ebuild b/app-editors/vim-classic-core/vim-classic-core-9999.ebuild new file mode 100644 index 000000000000..ff11e99bd902 --- /dev/null +++ b/app-editors/vim-classic-core/vim-classic-core-9999.ebuild @@ -0,0 +1,237 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with app-editors/vim-classic and app-editors/gvim-classic + +VIM_VERSION="8.3" +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/ddevault.asc +inherit desktop flag-o-matic prefix toolchain-funcs verify-sig vim-doc xdg-utils + +MYWORKDIR="${WORKDIR}/vim-classic-v${PV}" +if [[ ${PV} == 9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://git.sr.ht/~sircmpwn/vim-classic" + EGIT_CHECKOUT_DIR="${MYWORKDIR}" +else + SRC_URI=" + https://git.sr.ht/~sircmpwn/vim-classic/archive/v${PV}.tar.gz -> ${P}.tar.gz + verify-sig? ( + https://git.sr.ht/~sircmpwn/vim-classic/refs/download/v${PV}/vim-classic-v${PV}.tar.gz.sig + -> ${P}.tar.gz.sig + ) + " + KEYWORDS="~amd64" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-ddevault-20250219 ) " +fi + +DESCRIPTION="vim-classic and gvim-classic shared files" +HOMEPAGE="https://vim-classic.org/" +S="${MYWORKDIR}" + +LICENSE="vim" +SLOT="0" +IUSE="nls acl minimal" + +RDEPEND=" + !app-editors/vim-core + dev-util/xxd + >=virtual/editor-0-r8 +" +# ncurses is only needed by ./configure, so no subslot operator required +DEPEND=">=sys-libs/ncurses-5.2-r2:0" +BDEPEND+="dev-build/autoconf" + +# unbundle xxd +PATCHES+=( "${FILESDIR}/vim-core-unbundle-xxd.patch" ) + +# platform-specific checks (bug #898406): +# - acl() -- Solaris +# - statacl() -- AIX +QA_CONFIG_IMPL_DECL_SKIP=( + 'acl' + 'statacl' +) + +pkg_setup() { + # people with broken alphabets run into trouble. bug #82186. + unset LANG LC_ALL + export LC_COLLATE="C" +} + +src_prepare() { + default + + # Fixup a script to use awk instead of nawk + sed -i \ + -e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \ + "${S}"/runtime/tools/mve.awk || die "sed failed" + + # See bug #77841. We remove this file after the tarball extraction. + rm -v "${S}"/runtime/tools/vimspell.sh || die "rm failed" + + # Read vimrc and gvimrc from /etc/vim + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h || die + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h || die + + # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. + # Hopefully this pattern won't break for a while at least. + # This fixes bug #29398 (27 Sep 2003 agriffis) + sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \ + "${S}"/runtime/doc/syntax.txt \ + "${S}"/runtime/doc/tagsrch.txt \ + "${S}"/runtime/doc/usr_29.txt \ + "${S}"/runtime/menu.vim \ + "${S}"/src/configure.ac || die 'sed failed' + + # gcc on sparc32 has this, uhm, interesting problem with detecting EOF + # correctly. To avoid some really entertaining error messages about stuff + # which isn't even in the source file being invalid, we'll do some trickery + # to make the error never occur. bug 66162 (02 October 2004 ciaranm) + find "${S}" -name '*.c' | while read c; do + echo >> "$c" || die "echo failed" + done + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]]; then + sed -i -e \ + '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile || die "sed failed" + fi + + cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed" + + # Fix bug #76331: -O3 causes problems, use -O2 instead. We'll do this for + # everyone since previous flag filtering bugs have turned out to affect + # multiple archs... + replace-flags -O3 -O2 + + # Fix bug #18245: Prevent "make" from the following chain: + # (1) Notice configure.ac is newer than auto/configure + # (2) Rebuild auto/configure + # (3) Notice auto/configure is newer than auto/config.mk + # (4) Run ./configure (with wrong args) to remake auto/config.mk + sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" + + # Remove src/auto/configure file. + rm -v src/auto/configure || die "rm configure failed" + + # bug 908961 + if use elibc_musl ; then + sed -i -e '/ja.sjis/d' src/po/Make_all.mak || die + fi +} + +src_configure() { + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug 24447). The hvc + # things are for ppc64, see bug 86433. + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do + if [[ -e "${file}" ]]; then + addwrite ${file} + fi + done + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + local myconf=( + --with-modified-by=Gentoo-${PVR} + --enable-gui=no + --without-x + --disable-darwin + --disable-perlinterp + --disable-pythoninterp + --disable-rubyinterp + --disable-gpm + --disable-selinux + $(use_enable nls) + $(use_enable acl) + ) + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + if tc-is-cross-compiler ; then + export vim_cv_getcwd_broken=no \ + vim_cv_memmove_handles_overlap=yes \ + vim_cv_stat_ignores_slash=yes \ + vim_cv_terminfo=yes \ + vim_cv_toupper_broken=no + fi + + econf "${myconf[@]}" +} + +src_compile() { + emake -j1 -C src auto/osdef.h objects +} + +src_test() { :; } + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dodir /usr/{bin,share/{man/man1,vim}} + emake -C src \ + installruntime \ + installmanlinks \ + installmacros \ + installtutor \ + installtutorbin \ + installtools \ + install-languages \ + DESTDIR="${D}" \ + BINDIR="${EPREFIX}"/usr/bin \ + MANDIR="${EPREFIX}"/usr/share/man \ + DATADIR="${EPREFIX}"/usr/share + + keepdir ${vimfiles}/keymap + + # default vimrc is installed by vim-core since it applies to + # both vim and gvim + insinto /etc/vim/ + newins "${FILESDIR}"/vimrc-r8 vimrc + eprefixify "${ED}"/etc/vim/vimrc + + if use minimal; then + # To save space, install only a subset of the files. + # Helps minimalize the livecd, bug 65144. + rm -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die + rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die + rm -v "${ED}"/usr/bin/vimtutor || die + + for f in "${ED}${vimfiles}"/colors/*.vim; do + if [[ ${f} != */@(default).vim ]] ; then + printf '%s\0' "${f}" + fi + done | xargs -0 rm -f || die + + for f in "${ED}${vimfiles}"/syntax/*.vim; do + if [[ ${f} != */@(conf|crontab|fstab|inittab|resolv|sshdconfig|syntax|nosyntax|synload).vim ]] ; then + printf '%s\0' "${f}" + fi + done | xargs -0 rm -f || die + fi + + # install gvim icon since both vim/gvim desktop files reference it + doicon -s scalable "${FILESDIR}"/gvim.svg +} + +pkg_postinst() { + # update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update icon cache + xdg_icon_cache_update +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update icon cache + xdg_icon_cache_update +} diff --git a/app-editors/vim-classic/Manifest b/app-editors/vim-classic/Manifest new file mode 100644 index 000000000000..b25ab36fc6c4 --- /dev/null +++ b/app-editors/vim-classic/Manifest @@ -0,0 +1,2 @@ +DIST vim-classic-8.3.0.tar.gz 14767832 BLAKE2B 309305bf99997e4c8f6d309de118f78da9e88de2e2909d4216f8991526fc430f7b0eedf6f7d5d91fdeb3dfe80935b2196880ab9438a8b9496d675d37f9386b11 SHA512 83417abe7989728aa4ed9da26b2779578cbad676f501953eaf04d4b99ea5615e8cf1df129c18c3e745aba7ed065d37c59015bc6461a5e5d4a5ea8a9c0364d7ca +DIST vim-classic-8.3.0.tar.gz.sig 119 BLAKE2B f54d8a514146cca189966ecedf707590a0f76ff7ef2cd2bb6729c70dd68bb3e4644cb53ca28a7b7efa237466755d23acb2011bcd088f9c9e24d77d782a4c3a2f SHA512 947285dd9359c7399c358176c327f45b43c2bc58a3bec7a1d2ec838a7d070551f4f510ce92523110b6c590ef3ff0115683ebe7144ef4b6b9bb6dde72d8e11084 diff --git a/app-editors/vim-classic/files/vim-classic-completion b/app-editors/vim-classic/files/vim-classic-completion new file mode 100644 index 000000000000..67537d63101d --- /dev/null +++ b/app-editors/vim-classic/files/vim-classic-completion @@ -0,0 +1,36 @@ +# Author: Ciaran McCreesh <ciaranm@gentoo.org> +# +# completion for vim + +_vim() +{ + local cur prev cmd args + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + cmd=${COMP_WORDS[0]} + + if [[ "${prev}" == "--servername" ]] ; then + local servers + servers=$(gvim --serverlist ) + COMPREPLY=( $( compgen -W "${servers}" -- $cur ) ) + + elif [[ "${prev}" == -[uUi] ]] ; then + COMPREPLY=( $( compgen -W "NONE" ) \ + $( compgen -f -X "!*vim*" -- "$cur" ) ) + + elif [[ "${cur}" == -* ]] ; then + args='-t -q -c -S --cmd -A -b -C -d -D -e -E -f --nofork \ + -F -g -h -H -i -L -l -m -M -N -n -nb -o -R -r -s \ + -T -u -U -V -v -w -W -x -X -y -Y -Z --echo-wid \ + --help --literal --noplugin --version' + COMPREPLY=( $( compgen -W "${args}" -- $cur ) ) + else + _filedir + fi +} + +complete -o filenames -F _vim vim ex vi view rvim rview vimdiff + +# vim: set ft=sh sw=4 et sts=4 : diff --git a/app-editors/vim-classic/metadata.xml b/app-editors/vim-classic/metadata.xml new file mode 100644 index 000000000000..15614d977135 --- /dev/null +++ b/app-editors/vim-classic/metadata.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>bacs@librecast.net</email> + <name>Brett A C Sheffield</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <maintainer type="project"> + <email>vim@gentoo.org</email> + <name>Gentoo Vim Project</name> + </maintainer> + <use> + <flag name="cscope">Enable cscope interface</flag> + <flag name="racket">Enable support for Scheme using <pkg>dev-scheme/racket</pkg> + </flag> + <flag name="terminal">Enable terminal emulation support</flag> + <flag name="vim-pager">Install vimpager and vimmanpager links</flag> + <flag name="X">Link console vim against X11 libraries to enable title and + clipboard features in xterm</flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-editors/vim-classic/vim-classic-8.3.0.ebuild b/app-editors/vim-classic/vim-classic-8.3.0.ebuild new file mode 100644 index 000000000000..f313e333612b --- /dev/null +++ b/app-editors/vim-classic/vim-classic-8.3.0.ebuild @@ -0,0 +1,382 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with app-editors/vim-classic-core and app-editors/gvim-classic + +VIM_VERSION="8.3" + +LUA_COMPAT=( lua5-{1,3,4} luajit ) +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="threads(+)" +USE_RUBY="ruby32 ruby33" +GENTOO_DEPEND_ON_PERL=no + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/ddevault.asc +inherit bash-completion-r1 flag-o-matic lua-single desktop perl-module python-single-r1 \ + ruby-single toolchain-funcs verify-sig vim-doc xdg-utils + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://git.sr.ht/~sircmpwn/vim-classic" +else + SRC_URI=" + https://git.sr.ht/~sircmpwn/vim-classic/archive/v${PV}.tar.gz -> ${P}.tar.gz + verify-sig? ( + https://git.sr.ht/~sircmpwn/vim-classic/refs/download/v${PV}/vim-classic-v${PV}.tar.gz.sig + -> ${P}.tar.gz.sig + ) + " + KEYWORDS="~amd64" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-ddevault-20250219 ) " +fi + +DESCRIPTION="Long term support Vim text editor" +HOMEPAGE="https://vim-classic.org/" + +LICENSE="vim" +SLOT="0" +IUSE="acl cscope debug gpm lua minimal nls perl python racket ruby selinux sound tcl terminal vim-pager X ${GENTOO_PERL_USESTRING}" +REQUIRED_USE=" + lua? ( ${LUA_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) + vim-pager? ( !minimal ) +" + +RDEPEND=" + !app-editors/vim + ~app-editors/vim-classic-core-${PV} + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2:0= + acl? ( kernel_linux? ( sys-apps/acl ) ) + cscope? ( dev-util/cscope ) + gpm? ( >=sys-libs/gpm-1.19.3 ) + lua? ( + ${LUA_DEPS} + $(lua_gen_impl_dep 'deprecated' lua5-1) + ) + nls? ( virtual/libintl ) + perl? ( + ${GENTOO_PERL_DEPSTRING} + dev-lang/perl:= + ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( ${RUBY_DEPS} ) + selinux? ( sys-libs/libselinux ) + sound? ( media-libs/libcanberra ) + tcl? ( dev-lang/tcl:0= ) + vim-pager? ( app-editors/vim-classic-core[-minimal] ) + X? ( x11-libs/libXt ) +" +DEPEND="${RDEPEND} + X? ( x11-base/xorg-proto ) +" +# configure runs the Lua interpreter +BDEPEND+=" + dev-build/autoconf + lua? ( ${LUA_DEPS} ) + nls? ( sys-devel/gettext ) +" +PDEPEND="!minimal? ( app-vim/gentoo-syntax )" + +# platform-specific checks (bug #898450 #898452): +# - acl() -- Solaris +# - statacl() -- AIX +QA_CONFIG_IMPL_DECL_SKIP=( + 'acl' + 'statacl' +) + +pkg_setup() { + # people with broken alphabets run into trouble. bug #82186. + unset LANG LC_ALL + export LC_COLLATE="C" + + use lua && lua-single_pkg_setup + use python && python-single-r1_pkg_setup +} + +src_unpack() { + default + if [[ ${PV} != 9999* ]] ; then + mv "${WORKDIR}/vim-classic-v${PV}" "${WORKDIR}/vim-classic-${PV}" || die + fi +} + +src_prepare() { + default + + # Fixup a script to use awk instead of nawk + sed -i -e \ + '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \ + "${S}"/runtime/tools/mve.awk || die "mve.awk sed failed" + + # Read vimrc and gvimrc from /etc/vim + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \ + >> "${S}"/src/feature.h || die "echo failed" + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \ + >> "${S}"/src/feature.h || die "echo failed" + + # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. + # Hopefully this pattern won't break for a while at least. + # This fixes bug #29398 (27 Sep 2003 agriffis) + sed -i -e \ + 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \ + "${S}"/runtime/doc/syntax.txt \ + "${S}"/runtime/doc/tagsrch.txt \ + "${S}"/runtime/doc/usr_29.txt \ + "${S}"/runtime/menu.vim \ + "${S}"/src/configure.ac || die 'sed failed' + + # gcc on sparc32 has this, uhm, interesting problem with detecting EOF + # correctly. To avoid some really entertaining error messages about stuff + # which isn't even in the source file being invalid, we'll do some trickery + # to make the error never occur. bug 66162 (02 October 2004 ciaranm) + find "${S}" -name '*.c' | while read c; do + echo >> "$c" || die "echo failed" + done + + # conditionally make the manpager.sh script + if use vim-pager; then + cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed" + #!/bin/sh + sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\ + vim \\ + -c 'let no_plugin_maps = 1' \\ + -c 'set nolist nomod ft=man ts=8' \\ + -c 'let g:showmarks_enable=0' \\ + -c 'runtime! macros/less.vim' - + _EOF_ + fi + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]]; then + sed -i -e \ + '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile || die "sed failed" + fi + + cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed" + + # Fix bug 18245: Prevent "make" from the following chain: + # (1) Notice configure.ac is newer than auto/configure + # (2) Rebuild auto/configure + # (3) Notice auto/configure is newer than auto/config.mk + # (4) Run ./configure (with wrong args) to remake auto/config.mk + sed -i -e \ + 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" + rm src/auto/configure || die "rm failed" + + # --with-features=huge forces on cscope even if we --disable it. We need + # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) + if ! use cscope; then + sed -i -e \ + '/# define FEAT_CSCOPE/d' src/feature.h || die "couldn't disable cscope" + fi + + # bug 908961 + if use elibc_musl ; then + sed -i -e '/ja.sjis/d' src/po/Make_all.mak || die + fi +} + +src_configure() { + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug #24447). The hvc + # things are for ppc64, see bug #86433. + local file + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do + if [[ -e ${file} ]]; then + addwrite ${file} + fi + done + + local myconf=( + --with-modified-by="Gentoo-${PVR} (RIP Bram)" + --enable-gui=no + --disable-darwin + ) + + if use minimal; then + myconf+=( + --with-features=tiny + --disable-nls + --disable-canberra + --disable-acl + --without-x + --disable-luainterp + --disable-perlinterp + --disable-pythoninterp + --disable-mzschemeinterp + --disable-rubyinterp + --disable-selinux + --disable-tclinterp + --disable-gpm + ) + else + use debug && append-flags "-DDEBUG" + + myconf+=( + --with-features=huge + $(use_enable sound canberra) + $(use_enable acl) + $(use_enable cscope) + $(use_enable gpm) + $(use_enable nls) + $(use_enable perl perlinterp) + $(use_enable python python3interp) + $(use_with python python3-command "${PYTHON}") + $(use_enable racket mzschemeinterp) + $(use_enable ruby rubyinterp) + $(use_enable selinux) + $(use_enable tcl tclinterp) + $(use_enable terminal) + ) + + if use lua; then + # -DLUA_COMPAT_OPENLIB=1 is required to enable the + # deprecated (in 5.1) luaL_openlib API (#874690) + use lua_single_target_lua5-1 && append-cppflags -DLUA_COMPAT_OPENLIB=1 + + myconf+=( + --enable-luainterp + $(use_with lua_single_target_luajit luajit) + --with-lua-prefix="${EPREFIX}/usr" + ) + fi + + # don't test USE=X here ... see bug #19115 + # but need to provide a way to link against X ... see bug #20093 + myconf+=( + $(use_with X x) + ) + fi + + # let package manager strip binaries + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # keep prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + if tc-is-cross-compiler ; then + export vim_cv_getcwd_broken=no \ + vim_cv_memmove_handles_overlap=yes \ + vim_cv_stat_ignores_slash=yes \ + vim_cv_terminfo=yes \ + vim_cv_toupper_broken=no + fi + + econf "${myconf[@]}" +} + +src_compile() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake +} + +src_test() { + einfo + einfo "Starting vim tests. Several error messages will be shown" + einfo "while the tests run. This is normal behaviour and does not" + einfo "indicate a fault." + einfo + ewarn "If the tests fail, your terminal may be left in a strange" + ewarn "state. Usually, running 'reset' will fix this." + einfo + + # Don't let vim talk to X + unset DISPLAY + + # Arch and opensuse seem to do this and at this point, I'm willing + # to try anything to avoid random test hangs! + export TERM=xterm + + # See https://github.com/vim/vim/blob/f08b0eb8691ff09f98bc4beef986ece1c521655f/src/testdir/runtest.vim#L5 + # for more information on test variables we can use. + # Note that certain variables need vim-compatible regex (not PCRE), see e.g. + # http://www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml. + # + # Skipped tests: + # - Test_expand_star_star + # Hangs because of a recursive symlink in /usr/include/nodejs (bug #616680) + # - Test_exrc + # Looks in wrong location? (bug #742710) + # - Test_job_tty_in_out + # Fragile and depends on TERM(?) + # - Test_spelldump_bang + # Hangs. + # - Test_fuzzy_completion_env + # Too sensitive to leaked environment variables. + # - Test_term_mouse_multiple_clicks_to_select_mode + # Hangs. + # - Test_spelldump + # Hangs. + # - Test_glvs_* + # Depends on local network. + export TEST_SKIP_PAT='\(Test_expand_star_star\|Test_exrc\|Test_job_tty_in_out\|Test_spelldump_bang\|Test_fuzzy_completion_env\|Test_term_mouse_multiple_clicks_to_select_mode\|Test_spelldump\|Test_glvs_\)' + + # Don't do additional GUI tests. + emake -j1 -C src/testdir nongui +} + +# Call eselect vi update with --if-unset +# to respect user's choice (bug #187449) +eselect_vi_update() { + ebegin "Calling eselect vi update" + eselect vi update --if-unset + eend $? +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are + # managed by eselect-vi + dobin src/vim + if ! use minimal ; then + dosym vim /usr/bin/vimdiff + fi + dosym vim /usr/bin/rvim + dosym vim /usr/bin/rview + if use vim-pager ; then + dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager + dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager + insinto ${vimfiles}/macros + doins runtime/macros/manpager.sh + fperms a+x ${vimfiles}/macros/manpager.sh + fi + + domenu runtime/vim.desktop + + newbashcomp "${FILESDIR}"/${PN}-completion vim + + # keep in sync with 'complete ... -F' list + bashcomp_alias vim ex vi view rvim rview vimdiff +} + +pkg_postinst() { + # update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update desktop file mime cache + xdg_desktop_database_update + + # call eselect vi update + eselect_vi_update +} + +pkg_postrm() { + # update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update desktop file mime cache + xdg_desktop_database_update + + # call eselect vi update + eselect_vi_update +} diff --git a/app-editors/vim-classic/vim-classic-9999.ebuild b/app-editors/vim-classic/vim-classic-9999.ebuild new file mode 100644 index 000000000000..f313e333612b --- /dev/null +++ b/app-editors/vim-classic/vim-classic-9999.ebuild @@ -0,0 +1,382 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with app-editors/vim-classic-core and app-editors/gvim-classic + +VIM_VERSION="8.3" + +LUA_COMPAT=( lua5-{1,3,4} luajit ) +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="threads(+)" +USE_RUBY="ruby32 ruby33" +GENTOO_DEPEND_ON_PERL=no + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/ddevault.asc +inherit bash-completion-r1 flag-o-matic lua-single desktop perl-module python-single-r1 \ + ruby-single toolchain-funcs verify-sig vim-doc xdg-utils + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://git.sr.ht/~sircmpwn/vim-classic" +else + SRC_URI=" + https://git.sr.ht/~sircmpwn/vim-classic/archive/v${PV}.tar.gz -> ${P}.tar.gz + verify-sig? ( + https://git.sr.ht/~sircmpwn/vim-classic/refs/download/v${PV}/vim-classic-v${PV}.tar.gz.sig + -> ${P}.tar.gz.sig + ) + " + KEYWORDS="~amd64" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-ddevault-20250219 ) " +fi + +DESCRIPTION="Long term support Vim text editor" +HOMEPAGE="https://vim-classic.org/" + +LICENSE="vim" +SLOT="0" +IUSE="acl cscope debug gpm lua minimal nls perl python racket ruby selinux sound tcl terminal vim-pager X ${GENTOO_PERL_USESTRING}" +REQUIRED_USE=" + lua? ( ${LUA_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) + vim-pager? ( !minimal ) +" + +RDEPEND=" + !app-editors/vim + ~app-editors/vim-classic-core-${PV} + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2:0= + acl? ( kernel_linux? ( sys-apps/acl ) ) + cscope? ( dev-util/cscope ) + gpm? ( >=sys-libs/gpm-1.19.3 ) + lua? ( + ${LUA_DEPS} + $(lua_gen_impl_dep 'deprecated' lua5-1) + ) + nls? ( virtual/libintl ) + perl? ( + ${GENTOO_PERL_DEPSTRING} + dev-lang/perl:= + ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( ${RUBY_DEPS} ) + selinux? ( sys-libs/libselinux ) + sound? ( media-libs/libcanberra ) + tcl? ( dev-lang/tcl:0= ) + vim-pager? ( app-editors/vim-classic-core[-minimal] ) + X? ( x11-libs/libXt ) +" +DEPEND="${RDEPEND} + X? ( x11-base/xorg-proto ) +" +# configure runs the Lua interpreter +BDEPEND+=" + dev-build/autoconf + lua? ( ${LUA_DEPS} ) + nls? ( sys-devel/gettext ) +" +PDEPEND="!minimal? ( app-vim/gentoo-syntax )" + +# platform-specific checks (bug #898450 #898452): +# - acl() -- Solaris +# - statacl() -- AIX +QA_CONFIG_IMPL_DECL_SKIP=( + 'acl' + 'statacl' +) + +pkg_setup() { + # people with broken alphabets run into trouble. bug #82186. + unset LANG LC_ALL + export LC_COLLATE="C" + + use lua && lua-single_pkg_setup + use python && python-single-r1_pkg_setup +} + +src_unpack() { + default + if [[ ${PV} != 9999* ]] ; then + mv "${WORKDIR}/vim-classic-v${PV}" "${WORKDIR}/vim-classic-${PV}" || die + fi +} + +src_prepare() { + default + + # Fixup a script to use awk instead of nawk + sed -i -e \ + '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \ + "${S}"/runtime/tools/mve.awk || die "mve.awk sed failed" + + # Read vimrc and gvimrc from /etc/vim + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \ + >> "${S}"/src/feature.h || die "echo failed" + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \ + >> "${S}"/src/feature.h || die "echo failed" + + # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. + # Hopefully this pattern won't break for a while at least. + # This fixes bug #29398 (27 Sep 2003 agriffis) + sed -i -e \ + 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \ + "${S}"/runtime/doc/syntax.txt \ + "${S}"/runtime/doc/tagsrch.txt \ + "${S}"/runtime/doc/usr_29.txt \ + "${S}"/runtime/menu.vim \ + "${S}"/src/configure.ac || die 'sed failed' + + # gcc on sparc32 has this, uhm, interesting problem with detecting EOF + # correctly. To avoid some really entertaining error messages about stuff + # which isn't even in the source file being invalid, we'll do some trickery + # to make the error never occur. bug 66162 (02 October 2004 ciaranm) + find "${S}" -name '*.c' | while read c; do + echo >> "$c" || die "echo failed" + done + + # conditionally make the manpager.sh script + if use vim-pager; then + cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed" + #!/bin/sh + sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\ + vim \\ + -c 'let no_plugin_maps = 1' \\ + -c 'set nolist nomod ft=man ts=8' \\ + -c 'let g:showmarks_enable=0' \\ + -c 'runtime! macros/less.vim' - + _EOF_ + fi + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]]; then + sed -i -e \ + '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile || die "sed failed" + fi + + cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed" + + # Fix bug 18245: Prevent "make" from the following chain: + # (1) Notice configure.ac is newer than auto/configure + # (2) Rebuild auto/configure + # (3) Notice auto/configure is newer than auto/config.mk + # (4) Run ./configure (with wrong args) to remake auto/config.mk + sed -i -e \ + 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" + rm src/auto/configure || die "rm failed" + + # --with-features=huge forces on cscope even if we --disable it. We need + # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) + if ! use cscope; then + sed -i -e \ + '/# define FEAT_CSCOPE/d' src/feature.h || die "couldn't disable cscope" + fi + + # bug 908961 + if use elibc_musl ; then + sed -i -e '/ja.sjis/d' src/po/Make_all.mak || die + fi +} + +src_configure() { + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug #24447). The hvc + # things are for ppc64, see bug #86433. + local file + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do + if [[ -e ${file} ]]; then + addwrite ${file} + fi + done + + local myconf=( + --with-modified-by="Gentoo-${PVR} (RIP Bram)" + --enable-gui=no + --disable-darwin + ) + + if use minimal; then + myconf+=( + --with-features=tiny + --disable-nls + --disable-canberra + --disable-acl + --without-x + --disable-luainterp + --disable-perlinterp + --disable-pythoninterp + --disable-mzschemeinterp + --disable-rubyinterp + --disable-selinux + --disable-tclinterp + --disable-gpm + ) + else + use debug && append-flags "-DDEBUG" + + myconf+=( + --with-features=huge + $(use_enable sound canberra) + $(use_enable acl) + $(use_enable cscope) + $(use_enable gpm) + $(use_enable nls) + $(use_enable perl perlinterp) + $(use_enable python python3interp) + $(use_with python python3-command "${PYTHON}") + $(use_enable racket mzschemeinterp) + $(use_enable ruby rubyinterp) + $(use_enable selinux) + $(use_enable tcl tclinterp) + $(use_enable terminal) + ) + + if use lua; then + # -DLUA_COMPAT_OPENLIB=1 is required to enable the + # deprecated (in 5.1) luaL_openlib API (#874690) + use lua_single_target_lua5-1 && append-cppflags -DLUA_COMPAT_OPENLIB=1 + + myconf+=( + --enable-luainterp + $(use_with lua_single_target_luajit luajit) + --with-lua-prefix="${EPREFIX}/usr" + ) + fi + + # don't test USE=X here ... see bug #19115 + # but need to provide a way to link against X ... see bug #20093 + myconf+=( + $(use_with X x) + ) + fi + + # let package manager strip binaries + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # keep prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + if tc-is-cross-compiler ; then + export vim_cv_getcwd_broken=no \ + vim_cv_memmove_handles_overlap=yes \ + vim_cv_stat_ignores_slash=yes \ + vim_cv_terminfo=yes \ + vim_cv_toupper_broken=no + fi + + econf "${myconf[@]}" +} + +src_compile() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake +} + +src_test() { + einfo + einfo "Starting vim tests. Several error messages will be shown" + einfo "while the tests run. This is normal behaviour and does not" + einfo "indicate a fault." + einfo + ewarn "If the tests fail, your terminal may be left in a strange" + ewarn "state. Usually, running 'reset' will fix this." + einfo + + # Don't let vim talk to X + unset DISPLAY + + # Arch and opensuse seem to do this and at this point, I'm willing + # to try anything to avoid random test hangs! + export TERM=xterm + + # See https://github.com/vim/vim/blob/f08b0eb8691ff09f98bc4beef986ece1c521655f/src/testdir/runtest.vim#L5 + # for more information on test variables we can use. + # Note that certain variables need vim-compatible regex (not PCRE), see e.g. + # http://www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml. + # + # Skipped tests: + # - Test_expand_star_star + # Hangs because of a recursive symlink in /usr/include/nodejs (bug #616680) + # - Test_exrc + # Looks in wrong location? (bug #742710) + # - Test_job_tty_in_out + # Fragile and depends on TERM(?) + # - Test_spelldump_bang + # Hangs. + # - Test_fuzzy_completion_env + # Too sensitive to leaked environment variables. + # - Test_term_mouse_multiple_clicks_to_select_mode + # Hangs. + # - Test_spelldump + # Hangs. + # - Test_glvs_* + # Depends on local network. + export TEST_SKIP_PAT='\(Test_expand_star_star\|Test_exrc\|Test_job_tty_in_out\|Test_spelldump_bang\|Test_fuzzy_completion_env\|Test_term_mouse_multiple_clicks_to_select_mode\|Test_spelldump\|Test_glvs_\)' + + # Don't do additional GUI tests. + emake -j1 -C src/testdir nongui +} + +# Call eselect vi update with --if-unset +# to respect user's choice (bug #187449) +eselect_vi_update() { + ebegin "Calling eselect vi update" + eselect vi update --if-unset + eend $? +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are + # managed by eselect-vi + dobin src/vim + if ! use minimal ; then + dosym vim /usr/bin/vimdiff + fi + dosym vim /usr/bin/rvim + dosym vim /usr/bin/rview + if use vim-pager ; then + dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager + dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager + insinto ${vimfiles}/macros + doins runtime/macros/manpager.sh + fperms a+x ${vimfiles}/macros/manpager.sh + fi + + domenu runtime/vim.desktop + + newbashcomp "${FILESDIR}"/${PN}-completion vim + + # keep in sync with 'complete ... -F' list + bashcomp_alias vim ex vi view rvim rview vimdiff +} + +pkg_postinst() { + # update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update desktop file mime cache + xdg_desktop_database_update + + # call eselect vi update + eselect_vi_update +} + +pkg_postrm() { + # update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update desktop file mime cache + xdg_desktop_database_update + + # call eselect vi update + eselect_vi_update +} diff --git a/app-editors/vim-core/Manifest b/app-editors/vim-core/Manifest index 5d2dad07d4b6..2e778d817f8f 100644 --- a/app-editors/vim-core/Manifest +++ b/app-editors/vim-core/Manifest @@ -1,2 +1,4 @@ DIST vim-9.1.1652.tar.gz 18776578 BLAKE2B c4cc711ee996d6b7268c243c1fae01600d104763f6eee2abbe342f2cf9ee90fb6ee3f0b44fe4814ff47ae13c5a391510c3b711c92acbee591e290da621289029 SHA512 f1dfb1dc0fd834fa3ffb40c31f48de78b48225c9d67667f069ff8b23a6a76d534f3e228b936141616a33a0d73445626dcd2ff52a8571e9f4370a8fbcad9771d7 +DIST vim-9.2.1119.tar.gz 20196061 BLAKE2B 2ccd209c5b5c8bab08d37147ba33f1d1a0ef2e3d6c5e26e165159bbafee311ccd3b236f852e3e12796e4618476c26985a5eea2a27c31087e2d3c1ee2957da34b SHA512 4939487f25757d571d1dc0bfa4888ebaf5c8799818da1c09e0d4781b3e7b27020d974e4ce3fb6e2c4e61198c09d1a2a51585c965107850c078ef1ea6d33d9d72 DIST vim-patches-vim-9.1.1432-patches.tar.bz2 2618 BLAKE2B fe7c302c71fbf66f1921e1b55e2f67914ed104ab86e2a6cf2e6bf67c98214f13f1d8ff1ed7015ec41a5665c692946e20ec5bdf4806e789a70e34c0c888472739 SHA512 a794a7e4d9014d5508db7b205404f5a4b44748a82c5599a26c1ec6b06d3105f6cebf9a93a058f65ad853bbadf432034fc8257a7c77b4f3446331b9d66c19b3af +DIST vim-patches-vim-9.2.1119-patches.tar.bz2 2619 BLAKE2B 32fe08c18bf276a21cb7067cd3f8c61dd07f6e0613e8afe32d4616546e1a93e0b20a3306ee1a695474d660c6ae42cfd9666c9f36f0bfccbb033705598deb0543 SHA512 58fc52058b3404588ca29f85ae1eb2740cba434952b7ad5636f76937f09121fd5d8c026e2f2489277d1ef5fc9a9c8a182dfc86346b233f08269ef6b68a056160 diff --git a/app-editors/vim-core/metadata.xml b/app-editors/vim-core/metadata.xml index ae7f66852a04..c4211b30921e 100644 --- a/app-editors/vim-core/metadata.xml +++ b/app-editors/vim-core/metadata.xml @@ -1,6 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> <pkgmetadata> + <maintainer type="person"> + <email>arthurzam@gentoo.org</email> + <name>Arthur Zamarin</name> + </maintainer> <maintainer type="person" proxied="yes"> <email>xxc3ncoredxx@gmail.com</email> <name>Oskari Pirhonen</name> diff --git a/app-editors/vim-core/vim-core-9.2.1119.ebuild b/app-editors/vim-core/vim-core-9.2.1119.ebuild new file mode 100644 index 000000000000..c2955632ca65 --- /dev/null +++ b/app-editors/vim-core/vim-core-9.2.1119.ebuild @@ -0,0 +1,235 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with app-editors/vim and app-editors/gvim + +VIM_VERSION="9.2" +VIM_PATCHES_VERSION="9.2.1119" +inherit desktop flag-o-matic prefix toolchain-funcs vim-doc xdg-utils + +if [[ ${PV} == 9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/vim/vim.git" + EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV} +else + SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz + https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-${VIM_PATCHES_VERSION}-patches.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +fi + +DESCRIPTION="vim and gvim shared files" +HOMEPAGE="https://www.vim.org https://github.com/vim/vim" +S="${WORKDIR}/vim-${PV}" + +LICENSE="vim" +SLOT="0" +IUSE="nls acl minimal" + +RDEPEND="dev-util/xxd" +# ncurses is only needed by ./configure, so no subslot operator required +DEPEND=">=sys-libs/ncurses-5.2-r2:0" +BDEPEND=">=dev-build/autoconf-2.71" + +if [[ ${PV} != 9999* ]]; then + # Gentoo patches to fix runtime issues, cross-compile errors, etc + PATCHES=( + "${WORKDIR}/vim-patches-vim-${VIM_PATCHES_VERSION}-patches" + ) +fi + +# unbundle xxd +PATCHES+=( "${FILESDIR}/vim-core-9.1.1652-r1-unbundle-xxd.patch" ) + +# platform-specific checks (bug #898406): +# - acl() -- Solaris +# - statacl() -- AIX +QA_CONFIG_IMPL_DECL_SKIP=( + 'acl' + 'statacl' +) + +pkg_setup() { + # people with broken alphabets run into trouble. bug #82186. + unset LANG LC_ALL + export LC_COLLATE="C" +} + +src_prepare() { + default + + # Fixup a script to use awk instead of nawk + sed -i \ + -e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \ + "${S}"/runtime/tools/mve.awk || die "sed failed" + + # See bug #77841. We remove this file after the tarball extraction. + rm -v "${S}"/runtime/tools/vimspell.sh || die "rm failed" + + # Read vimrc and gvimrc from /etc/vim + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h || die + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h || die + + # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. + # Hopefully this pattern won't break for a while at least. + # This fixes bug #29398 (27 Sep 2003 agriffis) + sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \ + "${S}"/runtime/doc/syntax.txt \ + "${S}"/runtime/doc/tagsrch.txt \ + "${S}"/runtime/doc/usr_29.txt \ + "${S}"/runtime/menu.vim \ + "${S}"/src/configure.ac || die 'sed failed' + + # gcc on sparc32 has this, uhm, interesting problem with detecting EOF + # correctly. To avoid some really entertaining error messages about stuff + # which isn't even in the source file being invalid, we'll do some trickery + # to make the error never occur. bug 66162 (02 October 2004 ciaranm) + find "${S}" -name '*.c' | while read c; do + echo >> "$c" || die "echo failed" + done + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]]; then + sed -i -e \ + '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile || die "sed failed" + fi + + cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed" + + # Fix bug #76331: -O3 causes problems, use -O2 instead. We'll do this for + # everyone since previous flag filtering bugs have turned out to affect + # multiple archs... + replace-flags -O3 -O2 + + # Fix bug #18245: Prevent "make" from the following chain: + # (1) Notice configure.ac is newer than auto/configure + # (2) Rebuild auto/configure + # (3) Notice auto/configure is newer than auto/config.mk + # (4) Run ./configure (with wrong args) to remake auto/config.mk + sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" + + # Remove src/auto/configure file. + rm -v src/auto/configure || die "rm configure failed" + + # bug 908961 + if use elibc_musl ; then + sed -i -e '/ja.sjis/d' src/po/Make_all.mak || die + fi +} + +src_configure() { + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug 24447). The hvc + # things are for ppc64, see bug 86433. + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do + if [[ -e "${file}" ]]; then + addwrite ${file} + fi + done + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + local myconf=( + --with-modified-by="Gentoo-${PVR} (RIP Bram)" + --enable-gui=no + --disable-hardcopy-pango + --without-wayland + --without-x + --disable-darwin + --disable-perlinterp + --disable-pythoninterp + --disable-rubyinterp + --disable-gpm + --disable-selinux + $(use_enable nls) + $(use_enable acl) + ) + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + if tc-is-cross-compiler ; then + export vim_cv_getcwd_broken=no \ + vim_cv_memmove_handles_overlap=yes \ + vim_cv_stat_ignores_slash=yes \ + vim_cv_terminfo=yes \ + vim_cv_toupper_broken=no + fi + + econf "${myconf[@]}" +} + +src_compile() { + emake -j1 -C src auto/osdef.h objects +} + +src_test() { :; } + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dodir /usr/{bin,share/{man/man1,vim}} + emake -C src \ + installruntime \ + installmanlinks \ + installmacros \ + installtutor \ + installtutorbin \ + installtools \ + install-languages \ + DESTDIR="${D}" \ + BINDIR="${EPREFIX}"/usr/bin \ + MANDIR="${EPREFIX}"/usr/share/man \ + DATADIR="${EPREFIX}"/usr/share + + keepdir ${vimfiles}/keymap + + # default vimrc is installed by vim-core since it applies to + # both vim and gvim + insinto /etc/vim/ + newins "${FILESDIR}"/vimrc-r8 vimrc + eprefixify "${ED}"/etc/vim/vimrc + + if use minimal; then + # To save space, install only a subset of the files. + # Helps minimalize the livecd, bug 65144. + rm -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die + rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die + rm -v "${ED}"/usr/bin/vimtutor || die + + for f in "${ED}${vimfiles}"/colors/*.vim; do + if [[ ${f} != */@(default).vim ]] ; then + printf '%s\0' "${f}" + fi + done | xargs -0 rm -f || die + + for f in "${ED}${vimfiles}"/syntax/*.vim; do + if [[ ${f} != */@(conf|crontab|fstab|inittab|resolv|sshdconfig|syntax|nosyntax|synload).vim ]] ; then + printf '%s\0' "${f}" + fi + done | xargs -0 rm -f || die + fi + + # install gvim icon since both vim/gvim desktop files reference it + doicon -s scalable "${FILESDIR}"/gvim.svg +} + +pkg_postinst() { + # update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update icon cache + xdg_icon_cache_update +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update icon cache + xdg_icon_cache_update +} diff --git a/app-editors/vim/Manifest b/app-editors/vim/Manifest index 5d2dad07d4b6..2e778d817f8f 100644 --- a/app-editors/vim/Manifest +++ b/app-editors/vim/Manifest @@ -1,2 +1,4 @@ DIST vim-9.1.1652.tar.gz 18776578 BLAKE2B c4cc711ee996d6b7268c243c1fae01600d104763f6eee2abbe342f2cf9ee90fb6ee3f0b44fe4814ff47ae13c5a391510c3b711c92acbee591e290da621289029 SHA512 f1dfb1dc0fd834fa3ffb40c31f48de78b48225c9d67667f069ff8b23a6a76d534f3e228b936141616a33a0d73445626dcd2ff52a8571e9f4370a8fbcad9771d7 +DIST vim-9.2.1119.tar.gz 20196061 BLAKE2B 2ccd209c5b5c8bab08d37147ba33f1d1a0ef2e3d6c5e26e165159bbafee311ccd3b236f852e3e12796e4618476c26985a5eea2a27c31087e2d3c1ee2957da34b SHA512 4939487f25757d571d1dc0bfa4888ebaf5c8799818da1c09e0d4781b3e7b27020d974e4ce3fb6e2c4e61198c09d1a2a51585c965107850c078ef1ea6d33d9d72 DIST vim-patches-vim-9.1.1432-patches.tar.bz2 2618 BLAKE2B fe7c302c71fbf66f1921e1b55e2f67914ed104ab86e2a6cf2e6bf67c98214f13f1d8ff1ed7015ec41a5665c692946e20ec5bdf4806e789a70e34c0c888472739 SHA512 a794a7e4d9014d5508db7b205404f5a4b44748a82c5599a26c1ec6b06d3105f6cebf9a93a058f65ad853bbadf432034fc8257a7c77b4f3446331b9d66c19b3af +DIST vim-patches-vim-9.2.1119-patches.tar.bz2 2619 BLAKE2B 32fe08c18bf276a21cb7067cd3f8c61dd07f6e0613e8afe32d4616546e1a93e0b20a3306ee1a695474d660c6ae42cfd9666c9f36f0bfccbb033705598deb0543 SHA512 58fc52058b3404588ca29f85ae1eb2740cba434952b7ad5636f76937f09121fd5d8c026e2f2489277d1ef5fc9a9c8a182dfc86346b233f08269ef6b68a056160 diff --git a/app-editors/vim/metadata.xml b/app-editors/vim/metadata.xml index 0ee0c646e63e..a6c1c9674b88 100644 --- a/app-editors/vim/metadata.xml +++ b/app-editors/vim/metadata.xml @@ -1,6 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> <pkgmetadata> + <maintainer type="person"> + <email>arthurzam@gentoo.org</email> + <name>Arthur Zamarin</name> + </maintainer> <maintainer type="person" proxied="yes"> <email>xxc3ncoredxx@gmail.com</email> <name>Oskari Pirhonen</name> @@ -16,6 +20,8 @@ <use> <flag name="crypt">Use <pkg>dev-libs/libsodium</pkg> for crypto support</flag> <flag name="cscope">Enable cscope interface</flag> + <flag name="pango">Render |:hardcopy| output with <pkg>x11-libs/pango</pkg> + and <pkg>x11-libs/cairo</pkg> rather than Vim's own PostScript generator</flag> <flag name="racket">Enable support for Scheme using <pkg>dev-scheme/racket</pkg> </flag> <flag name="terminal">Enable terminal emulation support</flag> diff --git a/app-editors/vim/vim-9.2.1119.ebuild b/app-editors/vim/vim-9.2.1119.ebuild new file mode 100644 index 000000000000..3a7fe745088f --- /dev/null +++ b/app-editors/vim/vim-9.2.1119.ebuild @@ -0,0 +1,400 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with app-editors/vim-core and app-editors/gvim + +VIM_VERSION="9.2" +VIM_PATCHES_VERSION="9.2.1119" + +LUA_COMPAT=( lua5-{1,3,4} luajit ) +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="threads(+)" +USE_RUBY="ruby32 ruby33" +GENTOO_DEPEND_ON_PERL=no + +inherit vim-doc flag-o-matic lua-single perl-module python-single-r1 ruby-single shell-completion toolchain-funcs desktop xdg-utils + +if [[ ${PV} == 9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/vim/vim.git" +else + SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz + https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-${VIM_PATCHES_VERSION}-patches.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +fi + +DESCRIPTION="Vim, an improved vi-style text editor" +HOMEPAGE="https://www.vim.org https://github.com/vim/vim" + +LICENSE="vim" +SLOT="0" +IUSE="X acl crypt cscope debug gpm lua minimal nls pango perl python racket ruby selinux sound tcl terminal vim-pager wayland ${GENTOO_PERL_USESTRING}" +REQUIRED_USE=" + lua? ( ${LUA_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) + pango? ( !minimal ) + vim-pager? ( !minimal ) +" + +RDEPEND=" + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2:0= + nls? ( virtual/libintl ) + acl? ( kernel_linux? ( sys-apps/acl ) ) + pango? ( + x11-libs/cairo + >=x11-libs/pango-1.44 + ) + crypt? ( dev-libs/libsodium:= ) + cscope? ( dev-util/cscope ) + gpm? ( >=sys-libs/gpm-1.19.3 ) + lua? ( ${LUA_DEPS} + $(lua_gen_impl_dep 'deprecated' lua5-1) + ) + ~app-editors/vim-core-${PV} + vim-pager? ( app-editors/vim-core[-minimal] ) + perl? ( + ${GENTOO_PERL_DEPSTRING} + dev-lang/perl:= + ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( ${RUBY_DEPS} ) + selinux? ( sys-libs/libselinux ) + sound? ( media-libs/libcanberra ) + tcl? ( dev-lang/tcl:0= ) + wayland? ( dev-libs/wayland ) + X? ( x11-libs/libXt ) +" +DEPEND="${RDEPEND} + X? ( x11-base/xorg-proto ) +" +# configure runs the Lua interpreter +BDEPEND=" + >=dev-build/autoconf-2.71 + lua? ( ${LUA_DEPS} ) + nls? ( sys-devel/gettext ) +" +PDEPEND="!minimal? ( app-vim/gentoo-syntax )" + +if [[ ${PV} != 9999* ]]; then + # Gentoo patches to fix runtime issues, cross-compile errors, etc + PATCHES=( + "${WORKDIR}/vim-patches-vim-${VIM_PATCHES_VERSION}-patches" + ) +fi + +# platform-specific checks (bug #898452): +# - acl() -- Solaris +# - statacl() -- AIX +QA_CONFIG_IMPL_DECL_SKIP=( + 'acl' + 'statacl' +) + +pkg_setup() { + # people with broken alphabets run into trouble. bug #82186. + unset LANG LC_ALL + export LC_COLLATE="C" + + use lua && lua-single_pkg_setup + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + + # Fixup a script to use awk instead of nawk + sed -i -e \ + '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \ + "${S}"/runtime/tools/mve.awk || die "mve.awk sed failed" + + # Read vimrc and gvimrc from /etc/vim + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \ + >> "${S}"/src/feature.h || die "echo failed" + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \ + >> "${S}"/src/feature.h || die "echo failed" + + # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. + # Hopefully this pattern won't break for a while at least. + # This fixes bug #29398 (27 Sep 2003 agriffis) + sed -i -e \ + 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \ + "${S}"/runtime/doc/syntax.txt \ + "${S}"/runtime/doc/tagsrch.txt \ + "${S}"/runtime/doc/usr_29.txt \ + "${S}"/runtime/menu.vim \ + "${S}"/src/configure.ac || die 'sed failed' + + # gcc on sparc32 has this, uhm, interesting problem with detecting EOF + # correctly. To avoid some really entertaining error messages about stuff + # which isn't even in the source file being invalid, we'll do some trickery + # to make the error never occur. bug 66162 (02 October 2004 ciaranm) + find "${S}" -name '*.c' | while read c; do + echo >> "$c" || die "echo failed" + done + + # conditionally make the manpager.sh script + if use vim-pager; then + cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed" + #!/bin/sh + sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\ + vim \\ + -c 'let no_plugin_maps = 1' \\ + -c 'set nolist nomod ft=man ts=8' \\ + -c 'let g:showmarks_enable=0' \\ + -c 'runtime! macros/less.vim' - + _EOF_ + fi + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]]; then + sed -i -e \ + '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile || die "sed failed" + fi + + cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed" + + # Fix bug 18245: Prevent "make" from the following chain: + # (1) Notice configure.ac is newer than auto/configure + # (2) Rebuild auto/configure + # (3) Notice auto/configure is newer than auto/config.mk + # (4) Run ./configure (with wrong args) to remake auto/config.mk + sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" + rm src/auto/configure || die "rm failed" + + # bug 908961 + if use elibc_musl ; then + sed -i -e '/ja.sjis/d' src/po/Make_all.mak || die + fi +} + +src_configure() { + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug #24447). The hvc + # things are for ppc64, see bug #86433. + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do + if [[ -e "${file}" ]]; then + addwrite ${file} + fi + done + + local myconf=() + if use minimal; then + myconf=( + --with-features=tiny + --disable-hardcopy-pango + --disable-nls + --disable-canberra + --disable-acl + --enable-gui=no + --without-wayland + --without-x + --disable-darwin + --disable-luainterp + --disable-perlinterp + --disable-pythoninterp + --disable-mzschemeinterp + --disable-rubyinterp + --disable-selinux + --disable-tclinterp + --disable-gpm + ) + else + use debug && append-flags "-DDEBUG" + + myconf=( + --with-features=huge + $(use_enable sound canberra) + $(use_enable acl) + $(use_enable crypt libsodium) + $(use_enable cscope) + $(use_enable gpm) + $(use_enable nls) + # Render :hardcopy with system Pango/Cairo instead of Vim's + # own PostScript generator: proper Unicode, and PDF output. + $(use_enable pango hardcopy-pango) + $(use_enable perl perlinterp) + $(use_enable python python3interp) + $(use_with python python3-command "${PYTHON}") + $(use_enable racket mzschemeinterp) + $(use_enable ruby rubyinterp) + $(use_enable selinux) + $(use_enable tcl tclinterp) + $(use_enable terminal) + $(use_with wayland) + ) + + # --with-features=huge forces on cscope even if we --disable it. We need + # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) + if ! use cscope; then + sed -i -e \ + '/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed" + fi + + if use lua; then + # -DLUA_COMPAT_OPENLIB=1 is required to enable the + # deprecated (in 5.1) luaL_openlib API (#874690) + use lua_single_target_lua5-1 && append-cppflags -DLUA_COMPAT_OPENLIB=1 + + myconf+=( + --enable-luainterp + $(use_with lua_single_target_luajit luajit) + --with-lua-prefix="${EPREFIX}/usr" + ) + fi + + # don't test USE=X here ... see bug #19115 + # but need to provide a way to link against X ... see bug #20093 + myconf+=( + --enable-gui=no + --disable-darwin + $(use_with X x) + ) + fi + + # let package manager strip binaries + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # keep prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + if tc-is-cross-compiler ; then + export vim_cv_getcwd_broken=no \ + vim_cv_memmove_handles_overlap=yes \ + vim_cv_stat_ignores_slash=yes \ + vim_cv_terminfo=yes \ + vim_cv_toupper_broken=no + fi + + econf \ + --with-modified-by="Gentoo-${PVR} (RIP Bram)" \ + "${myconf[@]}" +} + +src_compile() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake +} + +src_test() { + einfo + einfo "Starting vim tests. Several error messages will be shown" + einfo "while the tests run. This is normal behaviour and does not" + einfo "indicate a fault." + einfo + ewarn "If the tests fail, your terminal may be left in a strange" + ewarn "state. Usually, running 'reset' will fix this." + einfo + + # Don't let vim talk to X + unset DISPLAY + + # Arch and opensuse seem to do this and at this point, I'm willing + # to try anything to avoid random test hangs! + export TERM=xterm + + # See https://github.com/vim/vim/blob/f08b0eb8691ff09f98bc4beef986ece1c521655f/src/testdir/runtest.vim#L5 + # for more information on test variables we can use. + # Note that certain variables need vim-compatible regex (not PCRE), see e.g. + # http://www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml. + local skip_tests=( + # Hangs because of a recursive symlink in /usr/include/nodejs (bug #616680) + Test_expand_star_star + # Looks in wrong location? (bug #742710) + Test_exrc + # Fragile and depends on TERM(?) + Test_job_tty_in_out + # Hangs. + Test_spelldump_bang + # Too sensitive to leaked environment variables. + Test_fuzzy_completion_env + # Hangs. + Test_term_mouse_multiple_clicks_to_select_mode + # Hangs. + Test_spelldump + # Depends on local network. + Test_glvs_ + # sensitive to the terminal geometry + Test_splitkeep_screen_smoothscroll + ) + # \v (very magic) so the list can be joined with a plain '|' + local -x TEST_SKIP_PAT="\\v($(IFS='|'; echo "${skip_tests[*]}"))" + + local skip_test_files=( + # TODO + test_crypt.vim + # Tests needing X + test_clientserver.vim + test_vim9_builtin.vim + ) + local f + for f in "${skip_test_files[@]}"; do + echo "throw 'Skipped: needs X'" > "src/testdir/${f}" || die + done + + emake -j1 -C src/testdir nongui +} + +# Call eselect vi update with --if-unset +# to respect user's choice (bug #187449) +eselect_vi_update() { + ebegin "Calling eselect vi update" + eselect vi update --if-unset + eend $? +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are + # managed by eselect-vi + dobin src/vim + if ! use minimal ; then + dosym vim /usr/bin/vimdiff + fi + dosym vim /usr/bin/rvim + dosym vim /usr/bin/rview + if use vim-pager ; then + dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager + dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager + insinto ${vimfiles}/macros + doins runtime/macros/manpager.sh + fperms a+x ${vimfiles}/macros/manpager.sh + fi + + domenu runtime/vim.desktop + + newbashcomp "${FILESDIR}"/${PN}-completion ${PN} + + # keep in sync with 'complete ... -F' list + bashcomp_alias vim ex vi view rvim rview vimdiff +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Call eselect vi update + eselect_vi_update + + # update desktop file mime cache + xdg_desktop_database_update +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Call eselect vi update + eselect_vi_update + + # update desktop file mime cache + xdg_desktop_database_update +} diff --git a/app-eselect/eselect-pinentry/eselect-pinentry-0.7.5.ebuild b/app-eselect/eselect-pinentry/eselect-pinentry-0.7.5.ebuild index 25a23ca03d2d..b6917b3b418c 100644 --- a/app-eselect/eselect-pinentry/eselect-pinentry-0.7.5.ebuild +++ b/app-eselect/eselect-pinentry/eselect-pinentry-0.7.5.ebuild @@ -9,7 +9,7 @@ S="${WORKDIR}" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" RDEPEND=">=app-eselect/eselect-lib-bin-symlink-0.1.1" diff --git a/app-misc/evtest/evtest-1.36.ebuild b/app-misc/evtest/evtest-1.36.ebuild index ef41482a07f5..d740bc7d5b84 100644 --- a/app-misc/evtest/evtest-1.36.ebuild +++ b/app-misc/evtest/evtest-1.36.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -12,7 +12,7 @@ S="${WORKDIR}/${PN}-${P}" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha ~amd64 arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" BDEPEND=" app-text/asciidoc diff --git a/app-misc/jot/jot-9.0-r2.ebuild b/app-misc/jot/jot-9.0-r2.ebuild index dc3323b878c8..3ebe9ca4d381 100644 --- a/app-misc/jot/jot-9.0-r2.ebuild +++ b/app-misc/jot/jot-9.0-r2.ebuild @@ -14,7 +14,7 @@ S="${WORKDIR}/athena-${P}" LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~mips ppc ~ppc64 ~riscv x86" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~mips ppc ~ppc64 ~riscv ~s390 x86" src_prepare() { default diff --git a/app-misc/lockfile-progs/lockfile-progs-0.2.0.ebuild b/app-misc/lockfile-progs/lockfile-progs-0.2.0.ebuild index d973d6de2036..137cab179777 100644 --- a/app-misc/lockfile-progs/lockfile-progs-0.2.0.ebuild +++ b/app-misc/lockfile-progs/lockfile-progs-0.2.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -9,7 +9,7 @@ SRC_URI="mirror://debian/pool/main/l/${PN}/${PN}_${PV}.tar.xz" LICENSE="GPL-2+" SLOT="0" -KEYWORDS="~amd64 ~arm ~mips ~ppc ~s390 ~sparc ~x86" +KEYWORDS="~amd64 arm ~mips ~ppc ~s390 ~sparc ~x86" DEPEND="net-libs/liblockfile" RDEPEND="${DEPEND}" diff --git a/app-mobilephone/gammu/gammu-1.44.1.ebuild b/app-mobilephone/gammu/gammu-1.44.1.ebuild index cb182934ffae..fb6cbf42b6f0 100644 --- a/app-mobilephone/gammu/gammu-1.44.1.ebuild +++ b/app-mobilephone/gammu/gammu-1.44.1.ebuild @@ -12,7 +12,7 @@ S=${WORKDIR}/${P^} LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 x86" +KEYWORDS="amd64 x86" IUSE="bluetooth curl dbi debug irda mysql nls odbc postgres usb" COMMON_DEPEND=" diff --git a/app-office/scribus/Manifest b/app-office/scribus/Manifest index f0534a1c2fd7..0511a092ec53 100644 --- a/app-office/scribus/Manifest +++ b/app-office/scribus/Manifest @@ -1,2 +1 @@ -DIST scribus-1.7.2.tar.xz 97976736 BLAKE2B 06a4360a05f1ce8deec6178f0ac53859663b7a65aa6c6367e82732e5c3f8f577990830ddd17bb530385961f5fae54e009dc051003fdd07355d1c53aacc0c607e SHA512 9ced669fe3f337b6136840027a8c10d8fa699d014519960917a1f38c4de1752299c65a35c3c3f1feec990f930f5778e5f02e7549148a0320c209713bdddb896a DIST scribus-1.7.3.tar.xz 98101324 BLAKE2B 4af3b3531c3eaa381c26ab5dc5d5637eb99d8886d27259042b86a9fe7ec37cd919de817a4e71f1561e9f96b953058ddd751f75bb09e306f2b9ad8a9e6b311057 SHA512 50f568b76829deb89d2fafcaa4d9f6655876dfef1bcefd3f547ede15b704a54c9c95d7de379312a6351c698893ac00f7fd56784436f0bf00631640e42e2b155e diff --git a/app-office/scribus/files/scribus-1.7.2-poppler-26.02.patch b/app-office/scribus/files/scribus-1.7.2-poppler-26.02.patch deleted file mode 100644 index e3f3252c2d16..000000000000 --- a/app-office/scribus/files/scribus-1.7.2-poppler-26.02.patch +++ /dev/null @@ -1,407 +0,0 @@ ---- Scribus/scribus/plugins/import/pdf/importpdf.cpp -+++ Scribus/scribus/plugins/import/pdf/importpdf.cpp -@@ -79,7 +79,11 @@ - bgColor[0] = 255;
- bgColor[1] = 255;
- bgColor[2] = 255;
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 2, 0)
-+ SplashOutputDev dev(splashModeXBGR8, 4, bgColor, true);
-+#else
- SplashOutputDev dev(splashModeXBGR8, 4, false, bgColor, true);
-+#endif
- dev.setVectorAntialias(true);
- dev.setFreeTypeHinting(true, false);
- dev.startDoc(&pdfDoc);
-@@ -154,20 +158,17 @@ - }
- double docWidth = PrefsManager::instance().appPrefs.docSetupPrefs.pageWidth;
- double docHeight = PrefsManager::instance().appPrefs.docSetupPrefs.pageHeight;
-- if (!m_interactive || (flags & LoadSavePlugin::lfInsertPage))
-+ if (m_Doc && (!m_interactive || (flags & LoadSavePlugin::lfInsertPage)))
- {
- m_Doc->setPage(docWidth, docHeight, 0, 0, 0, 0, 0, 0, false, false);
- m_Doc->addPage(0);
- m_Doc->view()->addPage(0, true);
- }
-- else
-+ else if (!m_Doc || (flags & LoadSavePlugin::lfCreateDoc))
- {
-- if (!m_Doc || (flags & LoadSavePlugin::lfCreateDoc))
-- {
-- m_Doc = ScCore->primaryMainWindow()->doFileNew(docWidth, docHeight, 0, 0, 0, 0, 0, 0, false, 0, 0, 0, 0, 1, "Custom", true);
-- ScCore->primaryMainWindow()->HaveNewDoc();
-- ret = true;
-- }
-+ m_Doc = ScCore->primaryMainWindow()->doFileNew(docWidth, docHeight, 0, 0, 0, 0, 0, 0, false, 0, 0, 0, 0, 1, "Custom", true);
-+ ScCore->primaryMainWindow()->HaveNewDoc();
-+ ret = true;
- }
-
- if (ret || !m_interactive)
-@@ -801,11 +802,15 @@ - bgColor[0] = 255;
- bgColor[1] = 255;
- bgColor[2] = 255;
-- SplashOutputDev *dev = new SplashOutputDev(splashModeXBGR8, 4, false, bgColor, true);
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 2, 0)
-+ auto dev = std::make_unique<SplashOutputDev>(splashModeXBGR8, 4, bgColor, true);
-+#else
-+ auto dev = std::make_unique<SplashOutputDev>(splashModeXBGR8, 4, false, bgColor, true);
-+#endif
- dev->setVectorAntialias(true);
- dev->setFreeTypeHinting(true, false);
- dev->startDoc(m_pdfDoc);
-- m_pdfDoc->displayPage(dev, pgNum, hDPI, vDPI, 0, true, false, false);
-+ m_pdfDoc->displayPage(dev.get(), pgNum, hDPI, vDPI, 0, true, false, false);
- SplashBitmap *bitmap = dev->getBitmap();
- int bw = bitmap->getWidth();
- int bh = bitmap->getHeight();
-@@ -843,7 +848,6 @@ - pp.drawRect(cRect);
- pp.end();
- }
-- delete dev;
- return image;
- }
-
---- Scribus/scribus/plugins/import/pdf/pdftextrecognition.cpp -+++ Scribus/scribus/plugins/import/pdf/pdftextrecognition.cpp -@@ -81,7 +81,7 @@ - */
- PdfGlyph PdfTextRecognition::AddCharCommon(GfxState* state, double x, double y, double dx, double dy, Unicode const* u, int uLen)
- {
-- const double * ctm = state->getCTM();
-+ const auto ctm = state->getCTM();
- QTransform trans(ctm[0], ctm[1], ctm[2], ctm[3], ctm[4], ctm[5]);
- QPointF charDelta1 = trans.map(QPointF(0.0, 0.0));
- QPointF charDelta2 = trans.map(QPointF(dx, dy));
-@@ -121,7 +121,7 @@ - setCharMode(AddCharMode::ADDBASICCHAR);
-
- //only need to be called for the very first point
-- const double * ctm = state->getCTM();
-+ const auto ctm = state->getCTM();
- QTransform trans(ctm[0], ctm[1], ctm[2], ctm[3], ctm[4], ctm[5]);
- QPointF glyphPos = trans.map(QPointF(x, y));
-
-@@ -136,7 +136,7 @@ - */
- PdfGlyph PdfTextRecognition::AddBasicChar(GfxState* state, double x, double y, double dx, double dy, double originX, double originY, CharCode code, int nBytes, Unicode const* u, int uLen)
- {
-- const double * ctm = state->getCTM();
-+ const auto ctm = state->getCTM();
- QTransform trans(ctm[0], ctm[1], ctm[2], ctm[3], ctm[4], ctm[5]);
-
- PdfGlyph newGlyph = AddCharCommon(state, x, y, dx, dy, u, uLen);
-@@ -461,7 +461,7 @@ - */
- void PdfTextOutputDev::updateTextPos(GfxState* state)
- {
-- const double * ctm = state->getCTM();
-+ const auto ctm = state->getCTM();
- QTransform trans(ctm[0], ctm[1], ctm[2], ctm[3], ctm[4], ctm[5]);
-
- QPointF newPosition = trans.map(QPointF(state->getCurX(), state->getCurY()));
---- Scribus/scribus/plugins/import/pdf/slaoutput.cpp -+++ Scribus/scribus/plugins/import/pdf/slaoutput.cpp -@@ -1535,7 +1535,7 @@ -
- void SlaOutputDev::adjustClip(GfxState *state, Qt::FillRule fillRule)
- {
-- const double *ctm = state->getCTM();
-+ const auto ctm = state->getCTM();
- m_ctm = QTransform(ctm[0], ctm[1], ctm[2], ctm[3], ctm[4], ctm[5]);
- QString output = convertPath(state->getPath());
- if (output.isEmpty())
-@@ -1563,7 +1563,7 @@ - void SlaOutputDev::stroke(GfxState *state)
- {
- // qDebug() << "Stroke";
-- const double *ctm = state->getCTM();
-+ const auto ctm = state->getCTM();
- m_ctm = QTransform(ctm[0], ctm[1], ctm[2], ctm[3], ctm[4], ctm[5]);
- double xCoor = m_doc->currentPage()->xOffset();
- double yCoor = m_doc->currentPage()->yOffset();
-@@ -1671,8 +1671,7 @@ -
- void SlaOutputDev::createFillItem(GfxState *state, Qt::FillRule fillRule)
- {
-- const double *ctm;
-- ctm = state->getCTM();
-+ const auto ctm = state->getCTM();
- m_ctm = QTransform(ctm[0], ctm[1], ctm[2], ctm[3], ctm[4], ctm[5]);
- double xCoor = m_doc->currentPage()->xOffset();
- double yCoor = m_doc->currentPage()->yOffset();
-@@ -1799,7 +1798,7 @@ - out = intersection(m_graphicStack.top().clipPath, out);
- crect = out.boundingRect();
- }
-- const double *ctm = state->getCTM();
-+ const auto ctm = state->getCTM();
- m_ctm = QTransform(ctm[0], ctm[1], ctm[2], ctm[3], ctm[4], ctm[5]);
- FPointArray gr;
- gr.addPoint(GrStartX, GrStartY);
-@@ -1938,7 +1937,7 @@ - double GrFocalY = y1;
- GrEndX = GrFocalX + r1;
- GrEndY = GrFocalY;
-- const double *ctm = state->getCTM();
-+ const auto ctm = state->getCTM();
- m_ctm = QTransform(ctm[0], ctm[1], ctm[2], ctm[3], ctm[4], ctm[5]);
- FPointArray gr;
- gr.addPoint(GrStartX, GrStartY);
-@@ -2023,7 +2022,7 @@ - output += QString("Z");
- m_pathIsClosed = true;
- m_coords = output;
-- const double *ctm = state->getCTM();
-+ const auto ctm = state->getCTM();
- m_ctm = QTransform(ctm[0], ctm[1], ctm[2], ctm[3], ctm[4], ctm[5]);
- const auto& graphicState = m_graphicStack.top();
- int z = m_doc->itemAdd(PageItem::Polygon, PageItem::Rectangle, xCoor + crect.x(), yCoor + crect.y(), crect.width(), crect.height(), 0, graphicState.fillColor, CommonStrings::None);
-@@ -2104,7 +2103,7 @@ - output += QString("Z");
- m_pathIsClosed = true;
- m_coords = output;
-- const double *ctm = state->getCTM();
-+ const auto ctm = state->getCTM();
- m_ctm = QTransform(ctm[0], ctm[1], ctm[2], ctm[3], ctm[4], ctm[5]);
- const auto& graphicState = m_graphicStack.top();
- int z = m_doc->itemAdd(PageItem::Polygon, PageItem::Rectangle, xCoor + crect.x(), yCoor + crect.y(), crect.width(), crect.height(), 0, graphicState.fillColor, CommonStrings::None);
-@@ -2265,7 +2264,7 @@ - box.x2 = bbox[2];
- box.y2 = bbox[3];
-
-- const double *ctm = state->getCTM();
-+ const auto ctm = state->getCTM();
- m_ctm = QTransform(ctm[0], ctm[1], ctm[2], ctm[3], ctm[4], ctm[5]);
- QTransform mm(mat[0], mat[1], mat[2], mat[3], mat[4], mat[5]);
- QTransform mmx = mm * m_ctm;
-@@ -2712,7 +2711,7 @@ - void SlaOutputDev::createImageFrame(QImage& image, GfxState *state, int numColorComponents)
- {
- // qDebug() << "SlaOutputDev::createImageFrame";
-- const double *ctm = state->getCTM();
-+ const auto ctm = state->getCTM();
- double xCoor = m_doc->currentPage()->xOffset();
- double yCoor = m_doc->currentPage()->yOffset();
-
-@@ -3002,8 +3001,16 @@ - #else
- SlaOutFontFileID *id;
- #endif
-- SplashFontFile *fontFile;
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 2, 0)
-+ std::shared_ptr<SplashFontFile> fontFile;
-+#else
-+ SplashFontFile *fontFile = nullptr;
-+#endif
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 2, 0)
-+ std::unique_ptr<SplashFontSrc> fontsrc;
-+#else
- SplashFontSrc *fontsrc = nullptr;
-+#endif
- Object refObj, strObj;
- #if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 2, 0)
- std::vector<int> codeToGID;
-@@ -3010,7 +3017,11 @@ - #else
- int *codeToGID = nullptr;
- #endif
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 2, 0)
-+ std::array<double, 6> textMat;
-+#else
- const double *textMat = nullptr;
-+#endif
- double m11, m12, m21, m22, fontSize;
- #if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 1, 0)
- std::array<SplashCoord, 4> mat = { 1.0, 0.0, 0.0, 1.0 };
-@@ -3070,16 +3081,29 @@ - fontType = fontLoc->fontType;
- }
-
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 2, 0)
-+ if (!fileName.empty())
-+ fontsrc = std::make_unique<SplashFontSrc>(fileName);
-+ else
-+ fontsrc = std::make_unique<SplashFontSrc>(std::move(tmpBuf.value()));
-+#else
- fontsrc = new SplashFontSrc;
- if (!fileName.empty())
- fontsrc->setFile(fileName);
- else
- fontsrc->setBuf(std::move(tmpBuf.value()));
-+#endif
-
- // load the font file
- switch (fontType) {
- case fontType1:
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 2, 0)
-+ if (!(fontFile = m_fontEngine->loadType1Font(std::move(id), std::move(fontsrc), (const char**) ((Gfx8BitFont*) gfxFont)->getEncoding(), fontLoc->fontNum)))
-+ {
-+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
-+ goto err2;
-+ }
-+#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
- if (!(fontFile = m_fontEngine->loadType1Font(std::move(id), fontsrc, (const char**) ((Gfx8BitFont*) gfxFont)->getEncoding(), fontLoc->fontNum)))
- {
- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
-@@ -3094,7 +3118,13 @@ - #endif
- break;
- case fontType1C:
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 2, 0)
-+ if (!(fontFile = m_fontEngine->loadType1CFont(std::move(id), std::move(fontsrc), (const char**) ((Gfx8BitFont*) gfxFont)->getEncoding(), fontLoc->fontNum)))
-+ {
-+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
-+ goto err2;
-+ }
-+#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
- if (!(fontFile = m_fontEngine->loadType1CFont(std::move(id), fontsrc, (const char**) ((Gfx8BitFont*) gfxFont)->getEncoding(), fontLoc->fontNum)))
- {
- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
-@@ -3109,7 +3139,13 @@ - #endif
- break;
- case fontType1COT:
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 2, 0)
-+ if (!(fontFile = m_fontEngine->loadOpenTypeT1CFont(std::move(id), std::move(fontsrc), (const char**) ((Gfx8BitFont*) gfxFont)->getEncoding(), fontLoc->fontNum)))
-+ {
-+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
-+ goto err2;
-+ }
-+#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
- if (!(fontFile = m_fontEngine->loadOpenTypeT1CFont(std::move(id), fontsrc, (const char **)((Gfx8BitFont *) gfxFont)->getEncoding(), fontLoc->fontNum)))
- {
- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
-@@ -3125,10 +3161,15 @@ - break;
- case fontTrueType:
- case fontTrueTypeOT:
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 7, 0)
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 2, 0)
- if (!fileName.empty())
- ff = FoFiTrueType::load(fileName.c_str(), fontLoc->fontNum);
- else
-+ ff = FoFiTrueType::make(fontsrc->buf(), fontLoc->fontNum);
-+#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 7, 0)
-+ if (!fileName.empty())
-+ ff = FoFiTrueType::load(fileName.c_str(), fontLoc->fontNum);
-+ else
- ff = FoFiTrueType::make(fontsrc->buf, fontLoc->fontNum);
- #elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
- if (!fileName.empty())
-@@ -3156,7 +3197,13 @@ - #endif
- n = 0;
- }
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 2, 0)
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 2, 0)
-+ if (!(fontFile = m_fontEngine->loadTrueTypeFont(std::move(id), std::move(fontsrc), std::move(codeToGID), fontLoc->fontNum)))
-+ {
-+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
-+ goto err2;
-+ }
-+#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 2, 0)
- if (!(fontFile = m_fontEngine->loadTrueTypeFont(std::move(id), fontsrc, std::move(codeToGID), fontLoc->fontNum)))
- {
- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
-@@ -3178,7 +3225,13 @@ - break;
- case fontCIDType0:
- case fontCIDType0C:
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 2, 0)
-+ if (!(fontFile = m_fontEngine->loadCIDFont(std::move(id), std::move(fontsrc), fontLoc->fontNum)))
-+ {
-+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
-+ goto err2;
-+ }
-+#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
- if (!(fontFile = m_fontEngine->loadCIDFont(std::move(id), fontsrc, fontLoc->fontNum)))
- {
- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
-@@ -3217,7 +3270,14 @@ - n = 0;
- }
- #endif
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 2, 0)
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 2, 0)
-+ if (!(fontFile = m_fontEngine->loadOpenTypeCFFFont(std::move(id), std::move(fontsrc), std::move(codeToGID), fontLoc->fontNum)))
-+ {
-+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
-+ gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
-+ goto err2;
-+ }
-+#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 2, 0)
- if (!(fontFile = m_fontEngine->loadOpenTypeCFFFont(std::move(id), fontsrc, std::move(codeToGID), fontLoc->fontNum)))
- {
- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
-@@ -3265,10 +3325,15 @@ - #endif
- else
- {
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 7, 0)
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 2, 0)
- if (!fileName.empty())
- ff = FoFiTrueType::load(fileName.c_str(), fontLoc->fontNum);
- else
-+ ff = FoFiTrueType::make(fontsrc->buf(), fontLoc->fontNum);
-+#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 7, 0)
-+ if (!fileName.empty())
-+ ff = FoFiTrueType::load(fileName.c_str(), fontLoc->fontNum);
-+ else
- ff = FoFiTrueType::make(fontsrc->buf, fontLoc->fontNum);
- #elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
- if (!fileName.empty())
-@@ -3290,7 +3355,13 @@ - #endif
- ff.reset();
- }
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 2, 0)
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 2, 0)
-+ if (!(fontFile = m_fontEngine->loadTrueTypeFont(std::move(id), std::move(fontsrc), std::move(codeToGID), fontLoc->fontNum)))
-+ {
-+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
-+ goto err2;
-+ }
-+#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 2, 0)
- if (!(fontFile = m_fontEngine->loadTrueTypeFont(std::move(id), fontsrc, std::move(codeToGID), fontLoc->fontNum)))
- {
- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
-@@ -3335,8 +3406,10 @@ - mat[3] = -m22;
- m_font = m_fontEngine->getFont(fontFile, mat, matrix);
-
-+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(26, 2, 0)
- if (fontsrc && !fontsrc->isFile)
- fontsrc->unref();
-+#endif
- return;
-
- err2:
-@@ -3347,8 +3420,12 @@ - #endif
-
- err1:
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 2, 0)
-+ fontsrc.reset();
-+#else
- if (fontsrc && !fontsrc->isFile)
- fontsrc->unref();
-+#endif
- }
-
- void SlaOutputDev::drawChar(GfxState* state, double x, double y, double dx, double dy, double originX, double originY, CharCode code, int nBytes, const Unicode* u, int uLen)
-@@ -3402,7 +3479,7 @@ - if (f & splashPathLast)
- qPath.closeSubpath();
- }
-- const double * ctm = state->getCTM();
-+ const auto ctm = state->getCTM();
- m_ctm = QTransform(ctm[0], ctm[1], ctm[2], ctm[3], ctm[4], ctm[5]);
- double xCoor = m_doc->currentPage()->xOffset();
- double yCoor = m_doc->currentPage()->yOffset();
diff --git a/app-office/scribus/files/scribus-1.7.2-poppler-26.03.patch b/app-office/scribus/files/scribus-1.7.2-poppler-26.03.patch deleted file mode 100644 index dbec17a60e47..000000000000 --- a/app-office/scribus/files/scribus-1.7.2-poppler-26.03.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- Scribus/scribus/plugins/import/pdf/slaoutput.cpp -+++ Scribus/scribus/plugins/import/pdf/slaoutput.cpp -@@ -884,7 +884,11 @@ - const Ref ref = childRef.getRef();
- radList.append(ref.num);
- }
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(26, 3, 0)
-+ QString tmTxt = UnicodeParsedString(annota->getUniqueName());
-+#else
- QString tmTxt = UnicodeParsedString(annota->getName());
-+#endif
- m_radioMap.insert(tmTxt, radList);
- }
- }
diff --git a/app-office/scribus/scribus-1.7.2.ebuild b/app-office/scribus/scribus-1.7.2.ebuild deleted file mode 100644 index 644e69232376..000000000000 --- a/app-office/scribus/scribus-1.7.2.ebuild +++ /dev/null @@ -1,156 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -PYTHON_REQ_USE="tk?" -inherit cmake desktop flag-o-matic optfeature python-single-r1 xdg - -DESCRIPTION="Desktop publishing (DTP) and layout program" -HOMEPAGE="https://www.scribus.net/" - -if [[ ${PV} == *9999* ]] ; then - EGIT_REPO_URI="https://github.com/scribusproject/scribus" - inherit git-r3 -else - SRC_URI=" - https://downloads.sourceforge.net/project/${PN}/${PN}/${PV}/${P}.tar.xz - https://downloads.sourceforge.net/project/${PN}/${PN}-devel/${PV}/${P}.tar.xz - " - S="${WORKDIR}/${P}" - KEYWORDS="amd64 ppc ppc64 x86" -fi - -LICENSE="GPL-2" -SLOT="$(ver_cut 1-2)" -IUSE="+boost debug examples graphicsmagick +minimal osg +pdf scripts +templates tk" - -REQUIRED_USE="${PYTHON_REQUIRED_USE} - tk? ( scripts )" - -# osg -# couple of third_party libs bundled -DEPEND="${PYTHON_DEPS} - app-text/hunspell:= - app-text/libmspub - app-text/libqxp - app-text/poppler:= - dev-libs/hyphen - dev-libs/icu:0= - dev-libs/librevenge - dev-libs/libxml2:= - dev-qt/qt5compat:6 - dev-qt/qtbase:6[gui,network,opengl,X,xml,widgets] - dev-qt/qtsvg:6 - media-libs/fontconfig - media-libs/freetype:2 - media-libs/harfbuzz:0=[icu] - media-libs/lcms:2 - media-libs/libcdr - media-libs/libfreehand - media-libs/libjpeg-turbo:= - media-libs/libpagemaker - media-libs/libpng:0= - media-libs/libvisio - media-libs/libzmf - media-libs/tiff:= - net-print/cups - virtual/minizip:= - x11-libs/cairo[X,svg(+)] - x11-libs/libxcb - boost? ( dev-libs/boost:= ) - graphicsmagick? ( media-gfx/graphicsmagick:= ) - osg? ( dev-games/openscenegraph:= ) - pdf? ( app-text/podofo:0= ) - scripts? ( - $(python_gen_cond_dep ' - dev-python/pillow[tk?,${PYTHON_USEDEP}] - ') - ) -" -RDEPEND="${DEPEND} - app-text/ghostscript-gpl -" -BDEPEND=" - dev-qt/qttools:6[linguist] - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}"/${PN}-1.5.8-cmake.patch # bug 886251 - "${FILESDIR}"/${PN}-1.5.3-fpic.patch - "${FILESDIR}"/${PN}-1.7.0-findhyphen.patch - "${FILESDIR}"/${PN}-1.7.0-dont-install-qtadvanceddocking.patch # bugs 961290, 960017 - "${FILESDIR}"/${PN}-1.7.0-fix-icon-version.patch - "${FILESDIR}"/${P}-poppler-26.0{2,3}.patch # upstream trunk -) - -src_prepare() { - cmake_src_prepare - - # for safety remove files that we patched out - rm -r scribus/third_party/hyphen || die -} - -src_configure() { - # bug #550818 - append-cppflags -DHAVE_MEMRCHR - - local mycmakeargs=( - -DTAG_VERSION="-${SLOT}" - -DHAVE_PYTHON=ON - -DWANT_DISTROBUILD=ON - -DWANT_CPP17=ON - -DDOCDIR="${EPREFIX}"/usr/share/doc/${PF}/ - -DPython3_EXECUTABLE="${PYTHON}" - -DWITH_BOOST=$(usex boost) - -DWANT_DEBUG=$(usex debug) - -DWANT_NOEXAMPLES=$(usex !examples) - -DWANT_GRAPHICSMAGICK=$(usex graphicsmagick) - -DWANT_HEADERINSTALL=$(usex !minimal) - -DWANT_NOOSG=$(usex !osg) - -DWITH_PODOFO=$(usex pdf) - -DWANT_NOTEMPLATES=$(usex !templates) - ) - cmake_src_configure -} - -src_install() { - cmake_src_install - - if ! use tk; then - rm "${ED}"/usr/share/scribus-${SLOT}/scripts/{FontSample,CalendarWizard}.py || die - fi - if use scripts; then - python_fix_shebang "${ED}"/usr/share/scribus-${SLOT}/scripts - python_optimize "${ED}"/usr/share/scribus-${SLOT}/scripts - else - rm "${ED}"/usr/share/scribus-${SLOT}/scripts/*.py || die - fi - - mv "${ED}"/usr/share/doc/${PF}/{en,html} || die - ln -sf html "${ED}"/usr/share/doc/${PF}/en || die - - # These files are parsed to populate the help/about window. - cat >> "${T}"/COPYING <<- EOF || die - ${PN} is licensed under the "${LICENSE}". - Please visit https://www.gnu.org/licenses/gpl-2.0.html for the complete license text. - EOF - dodoc "${T}"/COPYING - docompress -x /usr/share/doc/${PF}/en /usr/share/doc/${PF}/{AUTHORS,TRANSLATION,LINKS,COPYING} - - local size - for size in 16 32 128 256 512; do - newicon -s $size resources/iconsets/artwork/icon_${size}x${size}.png scribus-${SLOT}.png - done - newicon -s 64 resources/iconsets/artwork/icon_32x32@2x.png scribus-${SLOT}.png - newicon resources/iconsets/1_7_0/scribus-icon.svg scribus-${SLOT}.png - newmenu scribus.desktop scribus-${SLOT}.desktop -} - -pkg_postinst() { - xdg_pkg_postinst - - optfeature "MS Word .doc file import filter support" app-text/antiword -} diff --git a/app-text/groonga-normalizer-mysql/groonga-normalizer-mysql-1.1.1-r1.ebuild b/app-text/groonga-normalizer-mysql/groonga-normalizer-mysql-1.1.1-r1.ebuild index c2a7aacdc072..7402a187f366 100644 --- a/app-text/groonga-normalizer-mysql/groonga-normalizer-mysql-1.1.1-r1.ebuild +++ b/app-text/groonga-normalizer-mysql/groonga-normalizer-mysql-1.1.1-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -11,7 +11,7 @@ SRC_URI="https://packages.groonga.org/source/${PN}/${P}.tar.gz" LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="~amd64" RDEPEND="app-text/groonga" DEPEND="${RDEPEND}" diff --git a/app-text/groonga/groonga-16.0.1.ebuild b/app-text/groonga/groonga-16.0.1.ebuild index 4933a4d20782..77bae253525f 100644 --- a/app-text/groonga/groonga-16.0.1.ebuild +++ b/app-text/groonga/groonga-16.0.1.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://packages.groonga.org/source/groonga/${P}.tar.gz" LICENSE="LGPL-2.1+" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="~amd64" IUSE="apache-arrow blosc curl debug json libedit lz4 +mecab msgpack stemmer suggest-learner xxhash zstd" CPU_USE=( cpu_flags_x86_{avx,avx2,avx512dq} diff --git a/app-text/groonga/groonga-16.1.0.ebuild b/app-text/groonga/groonga-16.1.0.ebuild index df7aa2341d0d..b779658770be 100644 --- a/app-text/groonga/groonga-16.1.0.ebuild +++ b/app-text/groonga/groonga-16.1.0.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://packages.groonga.org/source/groonga/${P}.tar.gz" LICENSE="LGPL-2.1+" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="~amd64" IUSE="apache-arrow blosc curl debug json libedit lz4 +mecab msgpack stemmer suggest-learner xxhash zstd" CPU_USE=( cpu_flags_x86_{avx,avx2,avx512dq} diff --git a/app-text/mupdf/mupdf-1.27.2.ebuild b/app-text/mupdf/mupdf-1.27.2.ebuild index e74fa2c0bf4c..6fdf41f563fa 100644 --- a/app-text/mupdf/mupdf-1.27.2.ebuild +++ b/app-text/mupdf/mupdf-1.27.2.ebuild @@ -15,7 +15,7 @@ S="${WORKDIR}"/${P}-source LICENSE="AGPL-3" SLOT="0/${PV}" -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="archive barcode brotli +javascript +jpeg2k opengl ssl X" REQUIRED_USE="opengl? ( javascript )" diff --git a/app-text/pelican/pelican-4.12.0.ebuild b/app-text/pelican/pelican-4.12.0.ebuild index 3d57c3311968..460e09c74f6a 100644 --- a/app-text/pelican/pelican-4.12.0.ebuild +++ b/app-text/pelican/pelican-4.12.0.ebuild @@ -20,7 +20,7 @@ SRC_URI=" LICENSE="AGPL-3" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv ~x86" +KEYWORDS="amd64 ~arm64 ~riscv x86" IUSE="doc examples markdown" RDEPEND=" diff --git a/app-text/poppler/Manifest b/app-text/poppler/Manifest index 7d9f37d147e1..c3c022e31d9f 100644 --- a/app-text/poppler/Manifest +++ b/app-text/poppler/Manifest @@ -1,6 +1,3 @@ -DIST poppler-26.03.0.tar.xz 2029264 BLAKE2B cde442181f849250e63a1778e466787ff16eb913af43727481b2593823ca357920f7473bb2c770ed6566e494f4411b0725b66af6bba26868c6481bff37bf296f SHA512 f3682ce6eb3fe862c1f5e01a0d27ffe948702262b0cf930b103d24992b79048cd950c48ac41f016a918318300170a35ef08339a0b69837944744ebe4110e620b -DIST poppler-26.03.0.tar.xz.sig 833 BLAKE2B eea034ec8391dc6f8e0901c2672e35265285679493dee5d61fb30d84091a83fdc41afb9cb70bf704df6020ec0197487f29e8fdb4ea270d22d7adc06731d9e76c SHA512 fa63e7463871ed8b4983a80a96d958c4c2eaedd9413825e06e313bdeb8c14250450ccb6f8840ef792280eee5a4b89a62d411fddfa486e5ea5b3c4535746daf5d DIST poppler-26.05.0.tar.xz 2037356 BLAKE2B 0054b2d012a0f62fb5141ad2dc019e1f0049b785b46866a6a924c157ce6c11645b51a2ee963853d4e5a4512dea6c5d5472fc11a444a2a415d11f232a577f23c1 SHA512 e9c3e091d927156d64425830e88bea43df52bef2d77aa84847d529a4b3e11f0e82170030379016db7de45748f39d92d894b02de134e44244e42f2076cd75ce79 DIST poppler-26.05.0.tar.xz.sig 833 BLAKE2B 5e34d555dcad19cff70fd173c349d1408dec985551547a8fab01bd40a9519d96617178213c84a76d5ad383e985b5a24586f2dfd60fd8cb53de97a22d880042f4 SHA512 7a346821ec64b0686468657e9da1f18960d3ec63ede711030f844f9aac5464536a3fddb32708653ab302fbce9597157268e94e67ef270323a76379efd5a7ad1d -DIST poppler-test-9d5011815a14c157ba25bb160187842fb81579a5.tar.bz2 5500878 BLAKE2B 4ced4be267431cfd7c39398055e22c7228df2f1de09cba86bfbd76d785b26f4767a69eefccaa7473b4f410a7f1a4b97d9133141b8c66892bb3f209376d5d231e SHA512 89982192b2d98c5c1e9c03ad1e4a09fe38d1525669799690e8d5f333d2e5905b5b57f58dd09483e5a4d3634fa35da22984b9d2797f4e11c3d821eaaf67865f6c DIST poppler-test-b85e4d1ce75636b3e727555a9d31da34ad771c1c.tar.bz2 5576682 BLAKE2B fcef2a728c41ad4c228bc79b6b3b73a23f0bdd199389911059b59e32cb413721f9b3ca0bf29777341f4624700d64ea15a8470d1b9df102ee0d1065ec21b16df9 SHA512 58894faac57f77a3143d5c42923307c0ab22a70e2f105b4b7eb9a041b341864a9ab293a9cf09bf397bf00220bbbf4a0fef8c29125d7635f6a3810dd2836e7cc8 diff --git a/app-text/poppler/files/poppler-26.01.0-qt-deps.patch b/app-text/poppler/files/poppler-26.01.0-qt-deps.patch deleted file mode 100644 index fc16074965a3..000000000000 --- a/app-text/poppler/files/poppler-26.01.0-qt-deps.patch +++ /dev/null @@ -1,71 +0,0 @@ -Source: https://gitlab.freedesktop.org/poppler/poppler/-/merge_requests/2013 - -From 1fccd6fefd96b2934a886ebd12bc27da0afc70bc Mon Sep 17 00:00:00 2001 -From: Andreas Sturmlechner <asturm@gentoo.org> -Date: Wed, 9 Dec 2020 01:28:25 +0100 -Subject: [PATCH] Move Qt test dependencies into test dir - -Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> -Signed-off-by: Sam James <sam@gentoo.org> ---- - CMakeLists.txt | 8 ++++---- - qt5/CMakeLists.txt | 7 +++++-- - qt6/CMakeLists.txt | 6 ++++-- - 3 files changed, 13 insertions(+), 8 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 48033dce..4785f2b2 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -216,15 +216,15 @@ set(QT5_VERSION "5.15") - find_soft_mandatory_package(ENABLE_QT5 Qt5Core ${QT5_VERSION}) - find_soft_mandatory_package(ENABLE_QT5 Qt5Gui ${QT5_VERSION}) - find_soft_mandatory_package(ENABLE_QT5 Qt5Xml ${QT5_VERSION}) --find_soft_mandatory_package(ENABLE_QT5 Qt5Widgets ${QT5_VERSION}) --find_soft_mandatory_package(ENABLE_QT5 Qt5Test ${QT5_VERSION}) -+find_soft_mandatory_package(BUILD_QT5_TESTS Qt5Widgets ${QT5_VERSION}) -+find_soft_mandatory_package(BUILD_QT5_TESTS Qt5Test ${QT5_VERSION}) - - set(QT6_VERSION "6.2") - SET(QT_NO_CREATE_VERSIONLESS_TARGETS ON) - find_soft_mandatory_package(ENABLE_QT6 Qt6Core ${QT6_VERSION}) - find_soft_mandatory_package(ENABLE_QT6 Qt6Gui ${QT6_VERSION}) --find_soft_mandatory_package(ENABLE_QT6 Qt6Widgets ${QT6_VERSION}) --find_soft_mandatory_package(ENABLE_QT6 Qt6Test ${QT6_VERSION}) -+find_soft_mandatory_package(BUILD_QT6_TESTS Qt6Widgets ${QT6_VERSION}) -+find_soft_mandatory_package(BUILD_QT6_TESTS Qt6Test ${QT6_VERSION}) - - add_definitions(-DQT_NO_CAST_FROM_ASCII) - add_definitions(-DQT_NO_CAST_FROM_BYTEARRAY) -diff --git a/qt5/CMakeLists.txt b/qt5/CMakeLists.txt -index 431d2d35..bd4194e5 100644 ---- a/qt5/CMakeLists.txt -+++ b/qt5/CMakeLists.txt -@@ -9,5 +9,8 @@ add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050E00) - add_definitions(-DQT_NO_DEPRECATED_WARNINGS) - - add_subdirectory(src) --add_subdirectory(tests) --add_subdirectory(demos) -+ -+if(BUILD_QT5_TESTS) -+ add_subdirectory(tests) -+ add_subdirectory(demos) -+endif() -diff --git a/qt6/CMakeLists.txt b/qt6/CMakeLists.txt -index 89e612d1..23b39d72 100644 ---- a/qt6/CMakeLists.txt -+++ b/qt6/CMakeLists.txt -@@ -7,5 +7,7 @@ endif() - - add_subdirectory(src) - --add_subdirectory(tests) --add_subdirectory(demos) -+if(BUILD_QT6_TESTS) -+ add_subdirectory(tests) -+ add_subdirectory(demos) -+endif() --- -2.52.0 - diff --git a/app-text/poppler/metadata.xml b/app-text/poppler/metadata.xml index 6dc5adc3ed44..5a4792478f3b 100644 --- a/app-text/poppler/metadata.xml +++ b/app-text/poppler/metadata.xml @@ -20,8 +20,6 @@ <flag name="boost">Use boost::small_vector for a serious performance gain</flag> <flag name="gpg">Enable signatures handling with <pkg>app-crypt/gpgme</pkg> </flag> - <flag name="gpgme">Enable signatures handling with <pkg>app-crypt/gpgme</pkg> - </flag> <flag name="nss">Enable signatures handling with <pkg>dev-libs/nss</pkg> </flag> <flag name="utils">Install command-line PDF converters and various utilities</flag> diff --git a/app-text/poppler/poppler-26.03.0.ebuild b/app-text/poppler/poppler-26.03.0.ebuild deleted file mode 100644 index 8e97000d992a..000000000000 --- a/app-text/poppler/poppler-26.03.0.ebuild +++ /dev/null @@ -1,146 +0,0 @@ -# Copyright 2005-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -inherit cmake flag-o-matic python-any-r1 toolchain-funcs xdg-utils - -if [[ ${PV} == *9999* ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://gitlab.freedesktop.org/poppler/poppler" - SLOT="0/9999" -else - VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/aacid.asc - inherit verify-sig - - TEST_COMMIT="9d5011815a14c157ba25bb160187842fb81579a5" - SRC_URI="https://poppler.freedesktop.org/${P}.tar.xz" - SRC_URI+=" test? ( https://gitlab.freedesktop.org/poppler/test/-/archive/${TEST_COMMIT}/test-${TEST_COMMIT}.tar.bz2 -> ${PN}-test-${TEST_COMMIT}.tar.bz2 )" - SRC_URI+=" verify-sig? ( https://poppler.freedesktop.org/${P}.tar.xz.sig )" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" - SLOT="0/158" # CHECK THIS WHEN BUMPING!!! SUBSLOT IS libpoppler.so SOVERSION -fi - -DESCRIPTION="PDF rendering library based on the xpdf-3.0 code base" -HOMEPAGE="https://poppler.freedesktop.org/" - -LICENSE="GPL-2" -IUSE="boost cairo cjk curl +cxx debug doc gpgme +introspection +jpeg +jpeg2k +lcms nss png qt6 test tiff +utils" -RESTRICT="!test? ( test )" - -COMMON_DEPEND=" - >=media-libs/fontconfig-2.13 - >=media-libs/freetype-2.10 - virtual/zlib:= - cairo? ( - >=dev-libs/glib-2.64:2 - >=x11-libs/cairo-1.16 - introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2:= ) - ) - curl? ( net-misc/curl ) - gpgme? ( dev-cpp/gpgmepp:= ) - jpeg? ( >=media-libs/libjpeg-turbo-1.1.0:= ) - jpeg2k? ( >=media-libs/openjpeg-2.3.0-r1:2= ) - lcms? ( media-libs/lcms:2 ) - nss? ( >=dev-libs/nss-3.49 ) - png? ( media-libs/libpng:0= ) - qt6? ( dev-qt/qtbase:6[gui,xml] ) - tiff? ( media-libs/tiff:= ) -" -RDEPEND="${COMMON_DEPEND} - cjk? ( app-text/poppler-data ) -" -DEPEND="${COMMON_DEPEND} - boost? ( >=dev-libs/boost-1.74 ) - test? ( qt6? ( dev-qt/qtbase:6[widgets] ) ) -" -BDEPEND=" - ${PYTHON_DEPS} - >=dev-util/glib-utils-2.64 - virtual/pkgconfig - qt6? ( dev-qt/qtbase:6 ) -" - -if [[ ${PV} != *9999* ]] ; then - BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-aacid-20230907 )" -fi - -DOCS=( AUTHORS NEWS README.md README-XPDF ) - -PATCHES=( - "${FILESDIR}/${PN}-26.01.0-qt-deps.patch" - "${FILESDIR}/${PN}-26.01.0-respect-cflags.patch" - "${FILESDIR}/${PN}-0.57.0-disable-internal-jpx.patch" -) - -src_unpack() { - if [[ ${PV} == *9999* ]] ; then - git-r3_src_unpack - elif use verify-sig ; then - verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.sig} - fi - - default -} - -src_prepare() { - cmake_src_prepare - - # Clang doesn't grok this flag, the configure nicely tests that, but - # cmake just uses it, so remove it if we use clang - if tc-is-clang ; then - sed -e 's/-fno-check-new//' -i cmake/modules/PopplerMacros.cmake || die - fi -} - -src_configure() { - xdg_environment_reset - append-lfs-flags # bug #898506 - - # giscanner is called if cairo and introspection are enabled. - # In that case, PKG_CONFIG must be defined. - tc-export PKG_CONFIG - - local mycmakeargs=( - -DBUILD_GTK_TESTS=OFF - -DBUILD_QT5_TESTS=OFF - -DBUILD_QT6_TESTS=$(usex test $(usex qt6)) - -DBUILD_CPP_TESTS=$(usex test) - -DBUILD_MANUAL_TESTS=$(usex test) - -DTESTDATADIR="${WORKDIR}"/test-${TEST_COMMIT} - -DRUN_GPERF_IF_PRESENT=OFF - -DENABLE_BOOST="$(usex boost)" - -DENABLE_ZLIB_UNCOMPRESS=OFF - -DENABLE_UNSTABLE_API_ABI_HEADERS=ON - -DWITH_Cairo=$(usex cairo) - -DENABLE_LIBCURL=$(usex curl) - -DENABLE_CPP=$(usex cxx) - -DENABLE_GPGME=$(usex gpgme) - -DWITH_JPEG=$(usex jpeg) - -DENABLE_DCTDECODER=$(usex jpeg libjpeg none) - -DENABLE_LIBOPENJPEG=$(usex jpeg2k openjpeg2 none) - -DENABLE_LCMS=$(usex lcms) - -DENABLE_NSS3=$(usex nss) - -DWITH_PNG=$(usex png) - -DENABLE_QT5=OFF - -DENABLE_QT6=$(usex qt6) - -DENABLE_LIBTIFF=$(usex tiff) - -DENABLE_UTILS=$(usex utils) - ) - use cairo && mycmakeargs+=( -DWITH_GObjectIntrospection=$(usex introspection) ) - use qt6 && tc-is-cross-compiler && mycmakeargs+=( -DQT_HOST_PATH="${BROOT}" ) - - cmake_src_configure -} - -src_install() { - cmake_src_install - - # live version doesn't provide html documentation - if use cairo && use doc && [[ ${PV} != *9999* ]]; then - # For now install gtk-doc there - insinto /usr/share/gtk-doc/html/poppler - doins -r "${S}"/glib/reference/html/* - fi -} diff --git a/app-vim/airline/Manifest b/app-vim/airline/Manifest index 75a4d9a4e8bc..4748f3b329d8 100644 --- a/app-vim/airline/Manifest +++ b/app-vim/airline/Manifest @@ -1 +1,2 @@ DIST airline-0.11.tar.gz 94961 BLAKE2B 7cb5cd6afbe1d30c664c6f2de75553972792806e4c75a9a178b497e92f3545e686111af08bb0b0b47e196a8ee04771947101bfe4d0d070023300f9479983f6ec SHA512 7837f9ae02c1503c7eb6918776292ac6e4b03535eb95aaf20ee091264af5e62c12b471a6e243db80891114848e71f75d9d1022df68909dd4940c88f093e3deb8 +DIST airline-0.12.tar.gz 122102 BLAKE2B adc0649cb51236c6ef834d3ca7a96fe246127ea8fda28b0c6799a21fa592d144cabc08c2c1684e56c0c6ec9888ec9b2ab1386a80d054eb6f386effee5c7e5f5c SHA512 47a3b7dcfd8d798e38de54c16b76a5c0da963c284a30a0380486fb50ce087b9fdbd6aac92f2fb407f8db603cfe4354039a77f01f46ee2e6c1c35d75d219fbd5a diff --git a/app-vim/airline/airline-0.12.ebuild b/app-vim/airline/airline-0.12.ebuild new file mode 100644 index 000000000000..b5102148fb6d --- /dev/null +++ b/app-vim/airline/airline-0.12.ebuild @@ -0,0 +1,24 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit vim-plugin + +if [[ ${PV} != 9999* ]] ; then + MY_PN=vim-${PN} + MY_P=${MY_PN}-${PV} + SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" + S=${WORKDIR}/${MY_P} +else + inherit git-r3 + EGIT_REPO_URI="https://github.com/vim-airline/vim-airline.git" +fi + +DESCRIPTION="vim plugin: lean & mean statusline for vim that's light as air" +HOMEPAGE="https://github.com/vim-airline/vim-airline/ https://www.vim.org/scripts/script.php?script_id=4661" +LICENSE="MIT" +VIM_PLUGIN_HELPFILES="${PN}.txt" + +DOCS=( CHANGELOG.md README.md ) diff --git a/app-vim/airline/airline-9999.ebuild b/app-vim/airline/airline-9999.ebuild index 2d849bf686fe..b5102148fb6d 100644 --- a/app-vim/airline/airline-9999.ebuild +++ b/app-vim/airline/airline-9999.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit vim-plugin @@ -21,9 +21,4 @@ HOMEPAGE="https://github.com/vim-airline/vim-airline/ https://www.vim.org/script LICENSE="MIT" VIM_PLUGIN_HELPFILES="${PN}.txt" -src_prepare() { - default - - # remove unwanted test dir - rm -r t || die -} +DOCS=( CHANGELOG.md README.md ) diff --git a/app-vim/editorconfig-vim/Manifest b/app-vim/editorconfig-vim/Manifest index 89f922e62bf4..70c5d373b6fa 100644 --- a/app-vim/editorconfig-vim/Manifest +++ b/app-vim/editorconfig-vim/Manifest @@ -1 +1,2 @@ DIST editorconfig-vim-1.2.0.tar.gz 34457 BLAKE2B 969e650c69abaa4e7fb652f3384f2b4ac779e2d6d3f39d898bcc7e69c7399510bfabb1aae5bd90cbb2e5276f5200a87797f6da976df040e39626d883b907792c SHA512 1101562e71f2a9f356a3773cc32f4f091d5a0b67c85a8d78d70f76a73ec3b709f5ac5b7db7448972409031d37176190922912945be05037b627d1cf766bbb731 +DIST editorconfig-vim-1.2.1.tar.gz 35376 BLAKE2B 749b1ce7010b67db31231b4de0027320e9056eb0f7f2c5d2113fe585fbf5f42910791fe09efd82cf6435a02ca385c6413d7bb95dde3e56b78f62f38493447153 SHA512 515e0266a0ba16dc849bfecc54890c9b012215e958418c3a28697b5f07872327504bcac49b8bdbf01dbc09c5d9bf9c20a72386fb390687b1145ef13b38f0ca32 diff --git a/app-vim/editorconfig-vim/editorconfig-vim-1.2.1.ebuild b/app-vim/editorconfig-vim/editorconfig-vim-1.2.1.ebuild new file mode 100644 index 000000000000..f2e1e4bcaadf --- /dev/null +++ b/app-vim/editorconfig-vim/editorconfig-vim-1.2.1.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit vim-plugin + +MY_PV="${PV//_/-}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="vim plugin: Support EditorConfig files" +HOMEPAGE="https://editorconfig.org/" +SRC_URI="https://github.com/${PN%-vim}/${PN}/archive/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="BSD-2 PSF-2" +KEYWORDS="~amd64 ~arm64 ~x86" + +VIM_PLUGIN_HELPFILES="${PN%-vim}.txt" + +src_install() { + # we don't want to install the tests + rm -r tests || die + + vim-plugin_src_install +} diff --git a/dev-build/bmake/bmake-20260508.ebuild b/dev-build/bmake/bmake-20260508.ebuild index 6a0f42c9bf36..1b680a3a1c11 100644 --- a/dev-build/bmake/bmake-20260508.ebuild +++ b/dev-build/bmake/bmake-20260508.ebuild @@ -17,7 +17,7 @@ S="${WORKDIR}/${PN}" LICENSE="BSD" 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 ~s390 ~sparc ~x86" IUSE="test" RESTRICT="!test? ( test )" diff --git a/dev-build/boost-m4/boost-m4-0.4_p20250404.ebuild b/dev-build/boost-m4/boost-m4-0.4_p20250404.ebuild index ffd4d23d14fa..cfca1a6974f2 100644 --- a/dev-build/boost-m4/boost-m4-0.4_p20250404.ebuild +++ b/dev-build/boost-m4/boost-m4-0.4_p20250404.ebuild @@ -12,7 +12,7 @@ S="${WORKDIR}"/${PN/-/.}-${BOOST_COMMIT} LICENSE="GPL-3" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" # boost.m4 has a buildsystem, but the distributer didn't use make dist # so we'd have to eautoreconf to use it. Also, its ./configure script diff --git a/dev-cpp/cairomm/Manifest b/dev-cpp/cairomm/Manifest index 1684ed88eda5..92561f5e83c5 100644 --- a/dev-cpp/cairomm/Manifest +++ b/dev-cpp/cairomm/Manifest @@ -1,2 +1,3 @@ DIST cairomm-1.14.5.tar.xz 653276 BLAKE2B ad26a3eff8adae3b7202ed6a6c8706394ea0b508eadc0a526c2b18bec912645b09f25e786ec9021fef56ba6a6b4ffa76fed24bcf7e14252044cafdc6afd49fed SHA512 19e5f84f6167c1641b27545c3af4e780b6a072513322adc6296577e2d0ebcffe933afd15c32117a203394e9f5f28734820aaf1802dfdeb35ff2a657f140570b0 DIST cairomm-1.18.0.tar.xz 632520 BLAKE2B e05135eb2e22ed6002821567dd951644febc173b04e001f3574d6dac36d0c6d012c3806e7485fa7856402945934c653c4546855a8e97b016130edac31726d827 SHA512 d358a765136e244773b4a0fdcb2d9c81dd0b76f7a27c7108f94df9765f2d790f5f50b5645c09c292efce3e012528f85114d51916450c5fe6fa87d09f5a405d4c +DIST cairomm-1.18.1.tar.xz 613728 BLAKE2B 698e408bbf727758c392393cb551defae69660d57f521e29468a9c3a94ee5e900abfa0ceb00943513aca5a5ea5b299f5c7588a6ea876ec114da301458001228e SHA512 ff23565dba657b45658613971429b5f06a60c585b467e9a302bda8ded7cf33dc3d4290b1699bd2bde907f5cbd3c8b4219d4e7f8442d65f61712767db6cb21874 diff --git a/dev-cpp/cairomm/cairomm-1.18.1.ebuild b/dev-cpp/cairomm/cairomm-1.18.1.ebuild new file mode 100644 index 000000000000..5f3ad5e8fc55 --- /dev/null +++ b/dev-cpp/cairomm/cairomm-1.18.1.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +inherit meson-multilib python-any-r1 + +DESCRIPTION="C++ bindings for the Cairo vector graphics library" +HOMEPAGE="https://cairographics.org/cairomm/ https://gitlab.freedesktop.org/cairo/cairomm" +SRC_URI="https://www.cairographics.org/releases/${P}.tar.xz" + +LICENSE="LGPL-2.1+" +SLOT="1.16" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="gtk-doc test X" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-libs/libsigc++:3[gtk-doc?,${MULTILIB_USEDEP}] + >=x11-libs/cairo-1.14.10[X=,${MULTILIB_USEDEP}] +" +DEPEND="${RDEPEND} + test? ( + dev-libs/boost[${MULTILIB_USEDEP}] + media-libs/fontconfig[${MULTILIB_USEDEP}] + ) +" +BDEPEND=" + virtual/pkgconfig + gtk-doc? ( + ${PYTHON_DEPS} + >=dev-cpp/mm-common-1.0.4 + app-text/doxygen[dot] + dev-libs/libxslt + ) +" + +pkg_setup() { + use gtk-doc && python-any-r1_pkg_setup +} + +multilib_src_configure() { + local emesonargs=( + $(meson_native_use_bool gtk-doc build-documentation) + -Dbuild-examples=false + $(meson_use test build-tests) + -Dboost-shared=true + ) + meson_src_configure +} + +multilib_src_install_all() { + if use gtk-doc; then + mkdir -p "${ED}/usr/share/gtk-doc/html/" || die + mv "${ED}/usr/share/doc/cairomm-1.16" "${ED}/usr/share/gtk-doc/html/" || die + fi +} diff --git a/dev-cpp/eigen/eigen-3.4.1.ebuild b/dev-cpp/eigen/eigen-3.4.1-r1.ebuild index 65f1b42f809f..6613dcead10b 100644 --- a/dev-cpp/eigen/eigen-3.4.1.ebuild +++ b/dev-cpp/eigen/eigen-3.4.1-r1.ebuild @@ -30,7 +30,7 @@ else https://gitlab.com/libeigen/eigen/-/commit/0295f81a835ef69e2bacd9e75ab5782eca398720.patch -> ${P}_p1.patch https://gitlab.com/libeigen/eigen/-/commit/28ded8800c26864e537852658428ab44c8399e87.patch -> ${P}_p2.patch " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" + KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" fi SRC_URI+=" @@ -231,6 +231,8 @@ PATCHES=( "${DISTDIR}/${P}_p1.patch" "${DISTDIR}/${P}_p2.patch" + + "${FILESDIR}/${P}-fix-Werror-undef.patch" # bug 976285 ) # TODO should be in cuda.eclass diff --git a/dev-cpp/eigen/files/eigen-3.4.1-fix-Werror-undef.patch b/dev-cpp/eigen/files/eigen-3.4.1-fix-Werror-undef.patch new file mode 100644 index 000000000000..9772616e9c16 --- /dev/null +++ b/dev-cpp/eigen/files/eigen-3.4.1-fix-Werror-undef.patch @@ -0,0 +1,19 @@ +Fixes likely mistake in conflict resolution of upstream backport +of a73970a8640330c4908d68ef9257fd31a4fdae9. + +EIGEN_COMP_CLANG_STRICT does not exist in 3.4 branch and was not +touched in the original commit. + +Gentoo-bug: https://bugs.gentoo.org/976285 + +--- a/Eigen/src/Core/util/ConfigureVectorization.h ++++ b/Eigen/src/Core/util/ConfigureVectorization.h +@@ -445,7 +445,7 @@ + #define EIGEN_VECTORIZE_FMA + #endif + +-#if defined(__F16C__) && !defined(EIGEN_GPUCC) && (!EIGEN_COMP_CLANG_STRICT || EIGEN_COMP_CLANG>=380) ++#if defined(__F16C__) && (!defined(EIGEN_GPUCC) && (!defined(EIGEN_COMP_CLANG) || EIGEN_COMP_CLANG>=380)) + // We can use the optimized fp16 to float and float to fp16 conversion routines + #define EIGEN_HAS_FP16_C + diff --git a/dev-cpp/gtkmm/Manifest b/dev-cpp/gtkmm/Manifest index 61683b28171e..cc7e573286b0 100644 --- a/dev-cpp/gtkmm/Manifest +++ b/dev-cpp/gtkmm/Manifest @@ -1,4 +1,4 @@ DIST gtkmm-2.24.5.tar.xz 12022024 BLAKE2B 6b2bca9fe6ad81cd956e1f3cc3140bc503b78386cf3931c8eeac08c8b2a08c73450bdbb703d1febaee67cdf834093ff5e89790f866357190822613a68a596ad3 SHA512 c50e52830977c37181439f4b82a30ac8bead0cf9022d2bec8225f8dc33e08414f863bf67056e1938fae8f888c09a5a6d757acc011fa9331a78caa6bb626dd51e DIST gtkmm-3.24.11.tar.xz 13455720 BLAKE2B 17cc7a77f2a7799fe67e1d439ee60d053e985566d3b0f630231c2d7a8883fabbb54254970d1cd29b0ddaad66355e5336df6f769724df7b87814d2e9641f782e9 SHA512 018d4c9b598956c71da030a00ba8097fe0215667ddcad6f76b7f0049ef0f7dd6239bb863058f2b138de79a3e7bc6e700f5c34cc9dea230af3e60148614928abc -DIST gtkmm-4.18.0.tar.xz 17063416 BLAKE2B bb2a369a80f5e817481e8e3563f97001aa98ec0170b5cfb82ec66d47574c8475be7da14079bf8c75818a2557eece1ada73e050f2300fd990c7d11186379b9514 SHA512 a5469ae03eda2fab466c3a1ac9790debec0715beab8bdfd02283ebea83c7c742ea04fc3bf800f18f171250b7b2441b0d8c4681f350284de9a791760ed6cd5d4c DIST gtkmm-4.20.0.tar.xz 17463040 BLAKE2B bda16860ead2073b07d4badc21b5dbb377fde84fe2da10557975b816176571017331ee195a3e9679b83ac90b09c6b22460b88a51ce0b1620048b3d6c13db9f83 SHA512 c65bfa6dc0788cdd698c25e3b29861cb47aa0cd9c8bd3632005958ecd5a8d92802fc8ecaf498bcfc281a9b4035e751eeb6c05fa351f4b14c063870218127dabd +DIST gtkmm-4.22.0.tar.xz 17841520 BLAKE2B e62d9f42db283601a5f01d7fc9e0844a650c882c0b95a98c0757e3e6088606d015bd1aba73abd36d38d19d2fdb368e7ec0ee8a9562fc3e6e4747f714c119c610 SHA512 b0c4b77249dcf2d917919d43b04e41b819507ab34366aa4bbffd53bbe5edbb195081d69ae4996a116573a5d4e6d2affbbbc62d4ff986dcbf95045c5d64284d7f diff --git a/dev-cpp/gtkmm/gtkmm-4.20.0.ebuild b/dev-cpp/gtkmm/gtkmm-4.20.0.ebuild deleted file mode 100644 index 5e1456a151d0..000000000000 --- a/dev-cpp/gtkmm/gtkmm-4.20.0.ebuild +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -inherit gnome.org meson python-any-r1 virtualx - -DESCRIPTION="C++ interface for GTK+" -HOMEPAGE="https://gtkmm.gnome.org/en/index.html" - -LICENSE="LGPL-2.1+" -SLOT="4.0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86" -IUSE="gtk-doc test" - -RESTRICT="!test? ( test )" - -RDEPEND=" - >=dev-cpp/glibmm-2.75.0:2.68[gtk-doc?] - >=gui-libs/gtk-4.19.4:4 - >=dev-cpp/cairomm-1.15.4:1.16[gtk-doc?] - >=dev-cpp/pangomm-2.50.0:2.48[gtk-doc?] - >=x11-libs/gdk-pixbuf-2.35.5:2 - >=media-libs/libepoxy-1.2 -" -DEPEND=" - ${RDEPEND} - gtk-doc? ( dev-libs/libsigc++:3 ) -" -BDEPEND=" - virtual/pkgconfig - gtk-doc? ( - app-text/doxygen[dot] - dev-lang/perl - dev-libs/libxslt - ) - ${PYTHON_DEPS} -" - -src_configure() { - local emesonargs=( - -Dbuild-demos=false - $(meson_use gtk-doc build-documentation) - $(meson_use test build-tests) - ) - meson_src_configure -} - -src_test() { - virtx meson_src_test -} diff --git a/dev-cpp/gtkmm/gtkmm-4.18.0-r1.ebuild b/dev-cpp/gtkmm/gtkmm-4.22.0.ebuild index 68ae57c68576..9a1fa044e2de 100644 --- a/dev-cpp/gtkmm/gtkmm-4.18.0-r1.ebuild +++ b/dev-cpp/gtkmm/gtkmm-4.22.0.ebuild @@ -11,19 +11,23 @@ HOMEPAGE="https://gtkmm.gnome.org/en/index.html" LICENSE="LGPL-2.1+" SLOT="4.0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86" -IUSE="gtk-doc test" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="gtk-doc test vulkan" RESTRICT="!test? ( test )" +PATCHES=( + "${FILESDIR}"/MR-101.patch +) + RDEPEND=" >=dev-cpp/glibmm-2.75.0:2.68[gtk-doc?] - >=gui-libs/gtk-4.17.5:4 - <gui-libs/gtk-4.20:4 + >=gui-libs/gtk-4.22.0:4[vulkan?] >=dev-cpp/cairomm-1.15.4:1.16[gtk-doc?] >=dev-cpp/pangomm-2.50.0:2.48[gtk-doc?] >=x11-libs/gdk-pixbuf-2.35.5:2 >=media-libs/libepoxy-1.2 + vulkan? ( media-libs/vulkan-loader ) " DEPEND=" ${RDEPEND} @@ -51,3 +55,11 @@ src_configure() { src_test() { virtx meson_src_test } + +src_install() { + meson_src_install + if use gtk-doc; then + mkdir -p "${ED}"/usr/share/gtk-doc/html/ || die + mv "${ED}"/usr/share/doc/gtkmm-4.0 "${ED}"/usr/share/gtk-doc/html/ || die + fi +} diff --git a/dev-cpp/msgpack-cxx/Manifest b/dev-cpp/msgpack-cxx/Manifest index 4228a9f0c6a0..838bc847b26b 100644 --- a/dev-cpp/msgpack-cxx/Manifest +++ b/dev-cpp/msgpack-cxx/Manifest @@ -1,2 +1,3 @@ DIST msgpack-cxx-6.1.1.tar.gz 476459 BLAKE2B 6ec940af9b9e02d892c5f118791015baa6b12baa60c77aaf2ff867e8836f21b4f16c436ce448cdfeb7dc8f8a9356a75f3ac829eba9059ca5d78f42a4393700ff SHA512 6a3df977e7a9c8b50feb7c88cff7a78814d1d41d2f7a657dd37d6cfcfe24f44746f40a6dd46bd5dba7ea59d94b9e40c2baa62c08d9b02168ac93c58cbff3becc DIST msgpack-cxx-8.0.0.tar.gz 480783 BLAKE2B c01a39012dd137e6bd767a350f21e8ddd37d982f01cc95f2b6bf7582823ea79603de332241a77871ba6d7387243cdfe7a514378d591011120dac2b01cc7c9b04 SHA512 8d3a20b04a201a7095556ab901f55ca0ca664940c4b7bebcdddd405fbb3f052fb38720e49aec5259a5513f2c272b9584d8b108139fb7de7d63438ee4258cdfd9 +DIST msgpack-cxx-9.0.0.tar.gz 483566 BLAKE2B 3798e5b323159a35e2b85b12466e27482435282f8f172d6f4d41194a215b47a35daf0c4b0156f5b391ac1802595e274fc0a284e7d9ed7d484db1205e2c7f8927 SHA512 5e230b60d0d62486b51dedb9d6ff81a2f2fcea6345fc803cb19540df665c6889776b1059945a391395e2a7068b25104a7af472347bd5acfbf48b93c7393c2cd0 diff --git a/dev-cpp/msgpack-cxx/msgpack-cxx-9.0.0.ebuild b/dev-cpp/msgpack-cxx/msgpack-cxx-9.0.0.ebuild new file mode 100644 index 000000000000..6b11b844aa48 --- /dev/null +++ b/dev-cpp/msgpack-cxx/msgpack-cxx-9.0.0.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="MessagePack for C++" +HOMEPAGE="https://msgpack.org/ https://github.com/msgpack/msgpack-c/" +SRC_URI="https://github.com/msgpack/msgpack-c/releases/download/cpp-${PV}/${P}.tar.gz" + +LICENSE="Boost-1.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~x64-macos" +IUSE="+boost doc examples test" +REQUIRED_USE="test? ( boost )" +RESTRICT="!test? ( test )" + +RDEPEND=" + boost? ( dev-libs/boost[context] ) + !<dev-libs/msgpack-5.0.0 +" +DEPEND="${RDEPEND}" +BDEPEND=" + doc? ( app-text/doxygen[dot] ) + test? ( virtual/zlib ) +" + +src_configure() { + local mycmakeargs=( + -DMSGPACK_BUILD_EXAMPLES=OFF + -DMSGPACK_CXX17=ON + -DMSGPACK_BUILD_TESTS="$(usex test)" + -DMSGPACK_USE_BOOST="$(usex boost)" + -DMSGPACK_USE_X3_PARSE="$(usex boost)" + ) + + cmake_src_configure +} + +src_compile() { + cmake_src_compile + + use doc && cmake_build doxygen +} + +src_install() { + if use doc; then + local HTML_DOCS=( "${BUILD_DIR}"/doc_cpp/html/. ) + fi + + if use examples; then + docinto examples + dodoc -r example/. + docompress -x /usr/share/doc/${PF}/examples + fi + + cmake_src_install +} diff --git a/dev-db/freetds/freetds-1.5.6.ebuild b/dev-db/freetds/freetds-1.5.6.ebuild index 35c237283b31..2e5e3afcc720 100644 --- a/dev-db/freetds/freetds-1.5.6.ebuild +++ b/dev-db/freetds/freetds-1.5.6.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -12,7 +12,7 @@ SRC_URI=" LICENSE="GPL-2+ LGPL-2+" 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="debug gnutls iconv kerberos mssql iodbc odbc ssl static-libs" # iODBC and unixODBC are mutually-exclusive choices for # the ODBC driver manager. Future versions of FreeTDS diff --git a/dev-db/unixODBC/unixODBC-2.3.14.ebuild b/dev-db/unixODBC/unixODBC-2.3.14.ebuild index 0c6d8bd81b9a..93739ef6be54 100644 --- a/dev-db/unixODBC/unixODBC-2.3.14.ebuild +++ b/dev-db/unixODBC/unixODBC-2.3.14.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -11,7 +11,7 @@ SRC_URI="https://www.unixodbc.org/unixODBC-${PV}.tar.gz" LICENSE="GPL-2 LGPL-2.1" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris" +KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris" IUSE="+minimal odbcmanual static-libs unicode" RDEPEND=" diff --git a/dev-debug/gef/gef-2023.08.ebuild b/dev-debug/gef/gef-2023.08.ebuild index f1e8b847ea11..0cbefa618cfb 100644 --- a/dev-debug/gef/gef-2023.08.ebuild +++ b/dev-debug/gef/gef-2023.08.ebuild @@ -20,7 +20,7 @@ if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://github.com/hugsy/gef" else SRC_URI="https://github.com/hugsy/gef/archive/${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86" + KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64" fi LICENSE="MIT" diff --git a/dev-debug/gef/gef-2025.01.ebuild b/dev-debug/gef/gef-2025.01.ebuild index 0ad1e35635be..5d430dc12d70 100644 --- a/dev-debug/gef/gef-2025.01.ebuild +++ b/dev-debug/gef/gef-2025.01.ebuild @@ -20,7 +20,7 @@ if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://github.com/hugsy/gef" else SRC_URI="https://github.com/hugsy/gef/archive/${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 ~arm64 x86" + KEYWORDS="amd64 ~arm64" fi LICENSE="MIT" diff --git a/dev-debug/gef/gef-2026.01.ebuild b/dev-debug/gef/gef-2026.01.ebuild index 3026e6c21870..eef7edd4fd88 100644 --- a/dev-debug/gef/gef-2026.01.ebuild +++ b/dev-debug/gef/gef-2026.01.ebuild @@ -20,7 +20,7 @@ if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://github.com/hugsy/gef" else SRC_URI="https://github.com/hugsy/gef/archive/${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 ~arm64 x86" + KEYWORDS="amd64 ~arm64" fi LICENSE="MIT" diff --git a/dev-debug/gef/gef-9999.ebuild b/dev-debug/gef/gef-9999.ebuild index e6f8121a7c7a..a055f45f5612 100644 --- a/dev-debug/gef/gef-9999.ebuild +++ b/dev-debug/gef/gef-9999.ebuild @@ -20,7 +20,7 @@ if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://github.com/hugsy/gef" else SRC_URI="https://github.com/hugsy/gef/archive/${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~arm64 ~x86" + KEYWORDS="~amd64 ~arm64" fi LICENSE="MIT" diff --git a/dev-debug/pwndbg/pwndbg-20250418-r1.ebuild b/dev-debug/pwndbg/pwndbg-20250418-r1.ebuild index 6d1a95f91eef..0a4774da1457 100644 --- a/dev-debug/pwndbg/pwndbg-20250418-r1.ebuild +++ b/dev-debug/pwndbg/pwndbg-20250418-r1.ebuild @@ -18,7 +18,7 @@ if [[ ${PV} == "99999999" ]]; then else MY_PV="${PV:0:4}.${PV:4:2}.${PV:6:2}" SRC_URI="https://github.com/pwndbg/pwndbg/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 ~arm64 x86" + KEYWORDS="amd64 ~arm64" S="${WORKDIR}/${PN}-${MY_PV}" fi diff --git a/dev-debug/pwndbg/pwndbg-20250530-r3.ebuild b/dev-debug/pwndbg/pwndbg-20250530-r3.ebuild index b2cfef919c06..80dc425a921e 100644 --- a/dev-debug/pwndbg/pwndbg-20250530-r3.ebuild +++ b/dev-debug/pwndbg/pwndbg-20250530-r3.ebuild @@ -18,7 +18,7 @@ if [[ ${PV} == "99999999" ]]; then else MY_PV="${PV:0:4}.${PV:4:2}.${PV:6:2}" SRC_URI="https://github.com/pwndbg/pwndbg/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~arm64 ~x86" + KEYWORDS="~amd64 ~arm64" S="${WORKDIR}/${PN}-${MY_PV}" fi diff --git a/dev-debug/pwndbg/pwndbg-20251010-r3.ebuild b/dev-debug/pwndbg/pwndbg-20251010-r3.ebuild index 2767f63e6fdc..79beef91a7c0 100644 --- a/dev-debug/pwndbg/pwndbg-20251010-r3.ebuild +++ b/dev-debug/pwndbg/pwndbg-20251010-r3.ebuild @@ -18,7 +18,7 @@ if [[ ${PV} == "99999999" ]]; then else MY_PV="${PV:0:4}.${PV:4:2}.${PV:6:2}" SRC_URI="https://github.com/pwndbg/pwndbg/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~arm64 ~x86" + KEYWORDS="~amd64 ~arm64" S="${WORKDIR}/${PN}-${MY_PV}" fi diff --git a/dev-debug/pwndbg/pwndbg-20251020-r3.ebuild b/dev-debug/pwndbg/pwndbg-20251020-r3.ebuild index 2767f63e6fdc..79beef91a7c0 100644 --- a/dev-debug/pwndbg/pwndbg-20251020-r3.ebuild +++ b/dev-debug/pwndbg/pwndbg-20251020-r3.ebuild @@ -18,7 +18,7 @@ if [[ ${PV} == "99999999" ]]; then else MY_PV="${PV:0:4}.${PV:4:2}.${PV:6:2}" SRC_URI="https://github.com/pwndbg/pwndbg/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~arm64 ~x86" + KEYWORDS="~amd64 ~arm64" S="${WORKDIR}/${PN}-${MY_PV}" fi diff --git a/dev-debug/pwndbg/pwndbg-99999999.ebuild b/dev-debug/pwndbg/pwndbg-99999999.ebuild index 2767f63e6fdc..79beef91a7c0 100644 --- a/dev-debug/pwndbg/pwndbg-99999999.ebuild +++ b/dev-debug/pwndbg/pwndbg-99999999.ebuild @@ -18,7 +18,7 @@ if [[ ${PV} == "99999999" ]]; then else MY_PV="${PV:0:4}.${PV:4:2}.${PV:6:2}" SRC_URI="https://github.com/pwndbg/pwndbg/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~arm64 ~x86" + KEYWORDS="~amd64 ~arm64" S="${WORKDIR}/${PN}-${MY_PV}" fi diff --git a/dev-embedded/esptool/esptool-5.4.0.ebuild b/dev-embedded/esptool/esptool-5.4.0.ebuild index bffae56638b8..7567af1c19e9 100644 --- a/dev-embedded/esptool/esptool-5.4.0.ebuild +++ b/dev-embedded/esptool/esptool-5.4.0.ebuild @@ -15,7 +15,7 @@ SRC_URI="https://github.com/espressif/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz LICENSE="GPL-2+" SLOT="0" -KEYWORDS="~amd64 ~arm" +KEYWORDS="~amd64 ~arm ~riscv" RDEPEND=" $(python_gen_cond_dep ' diff --git a/dev-java/leiningen-bin/leiningen-bin-2.12.0.ebuild b/dev-java/leiningen-bin/leiningen-bin-2.12.0.ebuild index 37d0532e4648..1cd06a542376 100644 --- a/dev-java/leiningen-bin/leiningen-bin-2.12.0.ebuild +++ b/dev-java/leiningen-bin/leiningen-bin-2.12.0.ebuild @@ -18,7 +18,7 @@ SRC_URI=" LICENSE="EPL-1.0" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x64-macos" +KEYWORDS="~amd64 arm64 ~x64-macos" RDEPEND=">=virtual/jre-1.8" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-leiningen )" diff --git a/dev-lang/erlang/erlang-29.0.ebuild b/dev-lang/erlang/erlang-29.0.ebuild index d46825d612d0..d99c9b2fa61e 100644 --- a/dev-lang/erlang/erlang-29.0.ebuild +++ b/dev-lang/erlang/erlang-29.0.ebuild @@ -22,7 +22,7 @@ LICENSE="Apache-2.0" # same build of ERTS that was used when compiling the code. See # http://erlang.org/doc/system_principles/misc.html for more information. SLOT="0/${PV}" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos ~x64-solaris" +KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos ~x64-solaris" IUSE="doc java +kpoll odbc sctp ssl systemd tk wxwidgets" RDEPEND=" diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest index d6cfdf7fd09b..c2b7c51af7ed 100644 --- a/dev-lang/spidermonkey/Manifest +++ b/dev-lang/spidermonkey/Manifest @@ -6,11 +6,13 @@ DIST firefox-140.11.0esr.source.tar.xz 637083992 BLAKE2B 987913236b1d64cb0a17fa2 DIST firefox-140.12.0esr.source.tar.xz 641934156 BLAKE2B c9e3b2fd860edf1e91475419a7420f9d22155cd641226c70f381650d9df2fbb450c85d8f4e1b02eaf7ca86d4ce09ce8cba5674e1afcc4810ae5dd3cb70050cbb SHA512 3d598dd964bca074d11b71f84d586811b0a736bdd4d1e6cedb9286c56b1e11584e85ca1d0369c9b2f8d9e4d0eaf014d1b9232a96e71ac25f71fa9ed0807f642d DIST firefox-140.13.0esr.source.tar.xz 644768324 BLAKE2B c30fcd2ddd6361cd0a94d4b4fa9cc3d48874e10da273f49fc42fd1397a09974aec18b35e9bb3aa13652736116dfdb4c6a2816ce3bf86acbce6ffa9340ae0f41a SHA512 937a4103d71c5e1e4bf051821729f6ea70b5c18d444930a487695cc23d74712a0134047248f6ac02305e01becb705426a55b9d89739f02a01eda01ecf5bc27f1 DIST firefox-140.14.0esr.source.tar.xz 643083928 BLAKE2B cede36a6a323db711972c10159de2ac014c7554ce93f301a521f80ced4e4a3f4938867aa3ce423434e0365cae136ba30f057eb053120803e55a30353f4665f21 SHA512 0609cca9bfaecbff56cdf13458534bd8cfa43f139056867d3b6394a767281599ee600f83165ad25565ced59b552592aa84431357458ccecfbe5bf104dca501c7 +DIST firefox-140.16.0esr.source.tar.xz 632581380 BLAKE2B 1fb3bde4477e330cbe080ef322326095e905322851a32f097aff49dc55926a5502dfc06be35411a5924433d6f2b75fbd7891bafa537dad7245b5080393eddf9d SHA512 fabf5b481594a9a860b6ae379d2ee89ba291b807c94334ee15bad1fe862edb47c22e890d892e33d6a6ec57fce4ab12aa9c9c6fa4a501b881ecc6211ac04bd9a0 DIST firefox-140esr-patches-10.tar.xz 15052 BLAKE2B 1e9f1d401590958422f91d5df98dc2286b76de1cefd279ede23afa9493ec61d4a231873e000ea73bc26cc2433af7a2a6d87f94bc257a2763283b3d3d5e683462 SHA512 8276a3b37424d476f63c4669124120ab310d8a132e4fb82250fec033683456960fb83e31e12860ccb5064268bc72ebabb65b212bba161766832109dbd3d14676 DIST firefox-140esr-patches-12.tar.xz 16200 BLAKE2B 51110f80537b2c3fd2e53e6c65c8d19b78b6ec828161da8697dfb3eb008c39e036517c78b0491f1131351967d3a775154d795bafe978850415b2f9fa5415b8a2 SHA512 a73007646116a1e50da1e2cfab623794283ba6890743c17bfefe4115ee4b1dca5a55fe1ed798a6efcad0c2ff708dd38bab0d328007b4ebd99c9c90f880920bc4 DIST firefox-140esr-patches-13.tar.xz 15628 BLAKE2B 824c3d42f2f6cf70932fe395cf11dfe9043e09e20d6dfd2bd64ce4567206def45424e82b738f27c71648f0b2d97608746d22565cf7aa35713dedd71a24cde449 SHA512 d4d59818944f6a8213598308a1095a0f3c9818e6c517587e4630056d432a0e9673ad627447ca18dfa884dbb35bc2921e54cfc63f9c5646765e0f66a75279584d DIST firefox-153.1.0esr.source.tar.xz 801285696 BLAKE2B c72b60b0cace881b4cee125615f6710b3c2aa1d5498100b7d764ecb324f0bc961c992f9829cfd051ffd54985ed0403b8684ec47d9043b30994338dc293455905 SHA512 0e5be18878a1bb8575d4ff03b499a092663fcd1779a05b59b82a8b663a3d7047cf3d6f971faeb3d1262f83b23022a703a2033e8ea38bcbd9c85f44bdd35d86c1 DIST firefox-153.2.0esr.source.tar.xz 807705672 BLAKE2B 73798f3bb282f39ceb302989caf74ca4385c9079b98c783f8ac16401feae820a7183fb35ece9308bb1e029356d1e7d6ebe745031ed4f0706de565fb3ab8903df SHA512 a8cd4784bb52ca89c0fe37404e894c044f6145c62e9fcdeffe621fde81ae4602078be575e26c90d83e5e47f26675d3ee897cd6a20027d09d4ba7d0e785ce39bc +DIST firefox-153.3.0esr.source.tar.xz 804997520 BLAKE2B a01a4e3efec1c81ca462b915e448750a4d76ec81fad4cb2b909db584cd14df7437154fde82bc6547689466e811dccf70dc8d27d1e76b00572f5137d653040319 SHA512 56a5e092f0aba91febf01d227e8068520513f632d09c5ffbad4cbb2de307d9066425f353a1b7fcf5648733e02a9b17cfc9aaed5e39d7562a6b143b1c9827a668 DIST firefox-153esr-patches-01.tar.xz 11308 BLAKE2B cfb7e8528f46e780ff10d728d6f2f00215c9cb940f3ba289aafee183199fd2a38cbe866697b5bd89458d8dce7e82e9a7dc6977e817bbeac1a01178a64adb0405 SHA512 11895ae7eba03b12ae60c280c3ea555c2954dd15eaa8a459f9a95b96629723ed599ab4e7738b33f1bdb0d09d19bccb53d511eaac9913a58e6418c11fe93c92bc DIST firefox-153esr-patches-03.tar.xz 13056 BLAKE2B 25dcb9db586180e2e695a148eabcf226a271abac110c632bfca0f8f659387c2d14c5a5fd5706eb300cf990a4f424e34abc3d7edb3db0e62b662aa0ade47b75a9 SHA512 686164839139581802e08cae254d84e2e5c13a8f0826b47be645c697024af89eec51175f823586851ff18de717a366362898bb5a42ecbaa863ccfaf11af66dd3 DIST spidermonkey-115-patches-02.tar.xz 4896 BLAKE2B f78d9804c1427b45d6fda496b4991ec6f672dec9ce031ed57a2920fa1968c942a235f46e40166c8ab8d731a1963f322d34bb2f6984133179175e6f7376d27d13 SHA512 11fd01152d1e7b8ca89bf628076e1f4fb4f1ba6c9dc0f9dd544252495c580c04e4d5ffc238d5587f9e993aa91a47828333564ca55f60e008bd370089cd07d2e6 diff --git a/dev-lang/spidermonkey/spidermonkey-140.16.0.ebuild b/dev-lang/spidermonkey/spidermonkey-140.16.0.ebuild new file mode 100644 index 000000000000..13441e316a7b --- /dev/null +++ b/dev-lang/spidermonkey/spidermonkey-140.16.0.ebuild @@ -0,0 +1,467 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +FIREFOX_PATCHSET="firefox-140esr-patches-13.tar.xz" +SPIDERMONKEY_PATCHSET="spidermonkey-140-patches-02.tar.xz" + +LLVM_COMPAT=( 20 21 ) +RUST_NEEDS_LLVM=1 +RUST_MIN_VER=1.82.0 +RUST_MAX_VER=1.94.1 + +PYTHON_COMPAT=( python3_{12..14} ) +PYTHON_REQ_USE="ncurses,ssl,xml(+)" + +WANT_AUTOCONF="2.1" + +inherit check-reqs flag-o-matic llvm-r1 multiprocessing python-any-r1 rust toolchain-funcs + +MY_PN="mozjs" +MY_PV="${PV/_pre*}" + +MY_MAJOR=$(ver_cut 1) + +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="firefox" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} + https://dev.gentoo.org/~juippis/mozilla/patchsets/${SPIDERMONKEY_PATCHSET} +) + +DESCRIPTION="Mozilla's JavaScript engine written in C and C++" +HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +S="${WORKDIR}/firefox-${PV%_*}" +LICENSE="MPL-2.0" +SLOT="$(ver_cut 1)/140.11.0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" + +IUSE="clang cpu_flags_arm_neon debug +jit test" + +#RESTRICT="test" +RESTRICT="!test? ( test )" + +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + clang? ( + llvm-core/clang:${LLVM_SLOT} + llvm-core/lld:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + ) + ') + >=dev-util/cbindgen-0.27.0 + virtual/pkgconfig + test? ( + $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]') + )" +DEPEND=">=dev-libs/icu-76.1:= + >=dev-libs/nspr-4.36 + sys-libs/readline:0= + virtual/zlib:=" +RDEPEND="${DEPEND}" + +llvm_check_deps() { + if use clang ; then + if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then + einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if ! has_version -b "llvm-core/llvm:${LLVM_SLOT}" ; then + einfo "llvm-core/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +python_check_deps() { + if use test ; then + python_has_version "dev-python/six[${PYTHON_USEDEP}]" + fi +} + +pkg_pretend() { + if use test ; then + CHECKREQS_DISK_BUILD="4400M" + else + CHECKREQS_DISK_BUILD="4300M" + fi + + check-reqs_pkg_pretend +} + +pkg_setup() { + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if [[ ${use_lto} = yes ]]; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + if use test ; then + CHECKREQS_DISK_BUILD="4400M" + else + CHECKREQS_DISK_BUILD="4300M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto +} + +src_prepare() { + if [[ ${use_lto} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo #915651,915651,929013 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}"/firefox-patches + eapply "${WORKDIR}"/spidermonkey-patches + + default + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo #915651,915651,929013 on musl + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + else + die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" + fi + fi + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + python/mozbuild/mozbuild/configure/check_debug_ranges.py || + die "sed failed to set toolchain prefix" + + einfo "Removing pre-built binaries ..." + find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS: ${CFLAGS}" + einfo "Current CXXFLAGS: ${CXXFLAGS}" + einfo "Current LDFLAGS: ${LDFLAGS}" + einfo "Current RUSTFLAGS: ${RUSTFLAGS}" + + local have_switched_compiler= + if use clang ; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + READELF=llvm-readelf + OBJDUMP=llvm-objdump + + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + READELF=readelf + OBJDUMP=objdump + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # ../python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-project=js + + mozconfig_add_options_ac 'Gentoo default' \ + --host="${CBUILD:-${CHOST}}" \ + --target="${CHOST}" \ + --disable-ctype \ + --disable-jemalloc \ + --disable-smoosh \ + --disable-strip \ + --enable-packed-relative-relocs \ + --enable-readline \ + --enable-release \ + --enable-shared-js \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --with-intl-api \ + --with-system-icu \ + --with-system-nspr \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" + + mozconfig_use_enable debug + mozconfig_use_enable jit + mozconfig_use_enable test tests + + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-debug-symbols + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac '-debug' --enable-optimize + mozconfig_add_options_ac '-debug' --disable-debug-symbols + mozconfig_add_options_ac '-debug' --disable-real-time-tracing + fi + + # We always end up disabling this at some point due to newer rust versions. bgo#933372 + mozconfig_add_options_ac '--disable-rust-simd' --disable-rust-simd + + # Modifications to better support ARM, bug 717344 + if use cpu_flags_arm_neon ; then + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-thumb=yes + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-thumb-interwork=no + fi + fi + + # Tell build system that we want to use LTO + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + if tc-ld-is-mold ; then + mozconfig_add_options_ac '+lto' --enable-linker=mold + else + mozconfig_add_options_ac '+lto' --enable-linker=lld + fi + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + mozconfig_add_options_ac '+lto' --enable-linker=bfd + mozconfig_add_options_ac '+lto' --enable-lto=full + fi + fi + + # LTO flag was handled via configure + filter-lto + + # Pass MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS: ${CFLAGS}" + einfo "Build CXXFLAGS: ${CXXFLAGS}" + einfo "Build LDFLAGS: ${LDFLAGS}" + einfo "Build RUSTFLAGS: ${RUSTFLAGS}" + + ./mach configure || die +} + +src_compile() { + ./mach build --verbose || die +} + +src_test() { + if "${BUILD_DIR}/js/src/js" -e 'print("Hello world!")'; then + einfo "Smoke-test successful, continuing with full test suite" + else + die "Smoke-test failed: did interpreter initialization fail?" + fi + + cp "${FILESDIR}"/spidermonkey-140-known-test-failures.txt "${T}"/known_test_failures.list || die + ./mach jstests --exclude-file="${T}"/known_test_failures.list || die +} + +src_install() { + cd "${BUILD_DIR}" || die + default + + # fix soname links + pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die + mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die + popd &>/dev/null || die + + # remove unneeded files + rm \ + "${ED}"/usr/bin/js${MY_MAJOR}-config \ + "${ED}"/usr/$(get_libdir)/libjs_static.ajs || die + + # fix permissions + chmod -x \ + "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \ + "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h || die +} diff --git a/dev-lang/spidermonkey/spidermonkey-153.3.0.ebuild b/dev-lang/spidermonkey/spidermonkey-153.3.0.ebuild new file mode 100644 index 000000000000..25423090fdcc --- /dev/null +++ b/dev-lang/spidermonkey/spidermonkey-153.3.0.ebuild @@ -0,0 +1,476 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +FIREFOX_PATCHSET="firefox-153esr-patches-03.tar.xz" +SPIDERMONKEY_PATCHSET="spidermonkey-140-patches-02.tar.xz" + +LLVM_COMPAT=( 22 ) +RUST_NEEDS_LLVM=1 +RUST_MIN_VER=1.90.0 +# RUST_MAX_VER=1.94.1 + +PYTHON_COMPAT=( python3_{12..14} ) +PYTHON_REQ_USE="ncurses,ssl,xml(+)" + +WANT_AUTOCONF="2.1" + +inherit check-reqs flag-o-matic llvm-r1 multiprocessing python-any-r1 rust toolchain-funcs + +MY_PN="mozjs" +MY_PV="${PV/_pre*}" + +MY_MAJOR=$(ver_cut 1) + +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="firefox" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} + https://dev.gentoo.org/~juippis/mozilla/patchsets/${SPIDERMONKEY_PATCHSET} +) + +DESCRIPTION="Mozilla's JavaScript engine written in C and C++" +HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +S="${WORKDIR}/firefox-${PV%_*}" +LICENSE="MPL-2.0" +SLOT="$(ver_cut 1)/153.1.0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" + +IUSE="clang cpu_flags_arm_neon debug +jit test" + +#RESTRICT="test" +RESTRICT="!test? ( test )" + +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/clang:${LLVM_SLOT} + llvm-core/lld:${LLVM_SLOT} + ) + ') + >=dev-util/cbindgen-0.27.0 + virtual/pkgconfig + test? ( + $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]') + )" +DEPEND=">=dev-libs/icu-78.1:= + >=dev-libs/nspr-4.39 + sys-libs/readline:0= + virtual/zlib:=" +RDEPEND="${DEPEND}" + +llvm_check_deps() { + if use clang ; then + if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then + einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if ! has_version -b "llvm-core/llvm:${LLVM_SLOT}" ; then + einfo "llvm-core/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +python_check_deps() { + if use test ; then + python_has_version "dev-python/six[${PYTHON_USEDEP}]" + fi +} + +pkg_pretend() { + if use test ; then + CHECKREQS_DISK_BUILD="5600M" + else + CHECKREQS_DISK_BUILD="5500M" + fi + + check-reqs_pkg_pretend +} + +pkg_setup() { + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if [[ ${use_lto} = yes ]]; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + if use test ; then + CHECKREQS_DISK_BUILD="5600M" + else + CHECKREQS_DISK_BUILD="5500M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto +} + +src_prepare() { + if [[ ${use_lto} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo #915651,915651,929013 and bmo#1988166 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + rm -v "${WORKDIR}"/firefox-patches/*bgo-967694-musl-prctrl-exception-on-musl.patch || die + else + # in musl, the rust-1.98 patch probably handles RUST_TARGET like we want to? + local rustver=$(rustc --version | cut -d' ' -f2) + if ver_test "${rustver}" -ge 1.98 ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + else + rm -v "${WORKDIR}"/firefox-patches/*-bmo-2053518-handle-oe-linux-rust-targets-added-in-rustc-1.98.patch || die + fi + fi + + eapply "${WORKDIR}"/firefox-patches + eapply "${WORKDIR}"/spidermonkey-patches + + default + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo #915651,915651,929013 on musl + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + else + die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" + fi + fi + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + python/mozbuild/mozbuild/configure/check_debug_ranges.py || + die "sed failed to set toolchain prefix" + + einfo "Removing pre-built binaries ..." + find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS: ${CFLAGS}" + einfo "Current CXXFLAGS: ${CXXFLAGS}" + einfo "Current LDFLAGS: ${LDFLAGS}" + einfo "Current RUSTFLAGS: ${RUSTFLAGS}" + + local have_switched_compiler= + if use clang ; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + READELF=llvm-readelf + OBJDUMP=llvm-objdump + + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + READELF=readelf + OBJDUMP=objdump + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # ../python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-project=js + + mozconfig_add_options_ac 'Gentoo default' \ + --host="${CBUILD:-${CHOST}}" \ + --target="${CHOST}" \ + --disable-ctype \ + --disable-jemalloc \ + --disable-smoosh \ + --disable-strip \ + --enable-packed-relative-relocs \ + --enable-readline \ + --enable-release \ + --enable-shared-js \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --with-intl-api \ + --with-system-icu \ + --with-system-nspr \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" + + mozconfig_use_enable debug + mozconfig_use_enable jit + mozconfig_use_enable test tests + + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-debug-symbols + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac '-debug' --enable-optimize + mozconfig_add_options_ac '-debug' --disable-debug-symbols + mozconfig_add_options_ac '-debug' --disable-real-time-tracing + fi + + # We always end up disabling this at some point due to newer rust versions. bgo#933372 + mozconfig_add_options_ac '--disable-rust-simd' --disable-rust-simd + + # Modifications to better support ARM, bug 717344 + if use cpu_flags_arm_neon ; then + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-thumb=yes + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-thumb-interwork=no + fi + fi + + # Tell build system that we want to use LTO + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + if tc-ld-is-mold ; then + mozconfig_add_options_ac '+lto' --enable-linker=mold + else + mozconfig_add_options_ac '+lto' --enable-linker=lld + fi + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + mozconfig_add_options_ac '+lto' --enable-linker=bfd + mozconfig_add_options_ac '+lto' --enable-lto=full + fi + fi + + # LTO flag was handled via configure + filter-lto + + # Pass MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS: ${CFLAGS}" + einfo "Build CXXFLAGS: ${CXXFLAGS}" + einfo "Build LDFLAGS: ${LDFLAGS}" + einfo "Build RUSTFLAGS: ${RUSTFLAGS}" + + ./mach configure || die +} + +src_compile() { + ./mach build --verbose || die +} + +src_test() { + if "${BUILD_DIR}/js/src/js" -e 'print("Hello world!")'; then + einfo "Smoke-test successful, continuing with full test suite" + else + die "Smoke-test failed: did interpreter initialization fail?" + fi + + cp "${FILESDIR}"/spidermonkey-${PV%%.*}-known-test-failures.txt "${T}"/known_test_failures.list || die + ./mach jstests --exclude-file="${T}"/known_test_failures.list || die +} + +src_install() { + cd "${BUILD_DIR}" || die + default + + # fix soname links + pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die + mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die + popd &>/dev/null || die + + # remove unneeded files + rm \ + "${ED}"/usr/bin/js${MY_MAJOR}-config \ + "${ED}"/usr/$(get_libdir)/libjs_static.ajs || die + + # fix permissions + chmod -x \ + "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \ + "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h || die +} diff --git a/dev-libs/apache-arrow/apache-arrow-23.0.1.ebuild b/dev-libs/apache-arrow/apache-arrow-23.0.1.ebuild index e77b8a3dcf35..ce3b23470679 100644 --- a/dev-libs/apache-arrow/apache-arrow-23.0.1.ebuild +++ b/dev-libs/apache-arrow/apache-arrow-23.0.1.ebuild @@ -30,7 +30,7 @@ S="${WORKDIR}/${P}/cpp" LICENSE="Apache-2.0" SLOT="0/$(ver_cut 1)" -KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ~riscv ~s390 x86" +KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ~riscv ~s390" IUSE=" +brotli bzip2 +compute +dataset +json lz4 +parquet +re2 +snappy ssl test zlib zstd diff --git a/dev-libs/apache-arrow/apache-arrow-24.0.0.ebuild b/dev-libs/apache-arrow/apache-arrow-24.0.0.ebuild index 610e577dab91..18fffe9fa00d 100644 --- a/dev-libs/apache-arrow/apache-arrow-24.0.0.ebuild +++ b/dev-libs/apache-arrow/apache-arrow-24.0.0.ebuild @@ -30,7 +30,7 @@ S="${WORKDIR}/${P}/cpp" LICENSE="Apache-2.0" SLOT="0/$(ver_cut 1)" -KEYWORDS="amd64 ~arm ~arm64 ~hppa ~loong ~riscv ~s390 x86" +KEYWORDS="amd64 ~arm ~arm64 ~hppa ~loong ~riscv ~s390" IUSE=" +brotli bzip2 +compute +dataset +json lz4 +parquet +re2 +snappy ssl test zlib zstd diff --git a/dev-libs/apache-arrow/apache-arrow-25.0.1-r1.ebuild b/dev-libs/apache-arrow/apache-arrow-25.0.1-r1.ebuild index 3618f2e2ae88..d3065fd048e4 100644 --- a/dev-libs/apache-arrow/apache-arrow-25.0.1-r1.ebuild +++ b/dev-libs/apache-arrow/apache-arrow-25.0.1-r1.ebuild @@ -30,7 +30,7 @@ S="${WORKDIR}/${P}/cpp" LICENSE="Apache-2.0" SLOT="0/$(ver_cut 1)" -KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ~riscv ~s390 x86" +KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ~riscv ~s390" IUSE=" +brotli bzip2 +compute +dataset +json lz4 +parquet +re2 +snappy ssl test zlib zstd diff --git a/dev-libs/botan/botan-3.13.0.ebuild b/dev-libs/botan/botan-3.13.0.ebuild index ff73f92bf3bf..abb25e139c44 100644 --- a/dev-libs/botan/botan-3.13.0.ebuild +++ b/dev-libs/botan/botan-3.13.0.ebuild @@ -17,7 +17,7 @@ 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" +KEYWORDS="~amd64 arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="doc boost bzip2 lzma python static-libs sqlite test tools zlib" RESTRICT="!test? ( test )" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" diff --git a/dev-libs/collada-dom/collada-dom-2.5.0-r3.ebuild b/dev-libs/collada-dom/collada-dom-2.5.0-r3.ebuild index 856aa02f8924..5892dfb4f2ad 100644 --- a/dev-libs/collada-dom/collada-dom-2.5.0-r3.ebuild +++ b/dev-libs/collada-dom/collada-dom-2.5.0-r3.ebuild @@ -10,7 +10,7 @@ if [[ ${PV} == *9999 ]]; then EGIT_REPO_URI="https://github.com/rdiankov/collada-dom" else SRC_URI="https://github.com/rdiankov/collada-dom/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86" + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ppc64 x86" fi DESCRIPTION="COLLADA Document Object Model (DOM) C++ Library" diff --git a/dev-libs/elfutils/elfutils-0.196.ebuild b/dev-libs/elfutils/elfutils-0.196.ebuild index 6f43af1f01f9..64e3da562586 100644 --- a/dev-libs/elfutils/elfutils-0.196.ebuild +++ b/dev-libs/elfutils/elfutils-0.196.ebuild @@ -66,6 +66,7 @@ BDEPEND+=" PATCHES=( "${FILESDIR}"/${PN}-0.189-musl-aarch64-regs.patch "${FILESDIR}"/${PN}-0.191-musl-macros.patch + "${FILESDIR}"/${PN}-0.196-skip-static-test.patch ) src_prepare() { diff --git a/dev-libs/elfutils/files/elfutils-0.196-skip-static-test.patch b/dev-libs/elfutils/files/elfutils-0.196-skip-static-test.patch new file mode 100644 index 000000000000..8bb9642a1841 --- /dev/null +++ b/dev-libs/elfutils/files/elfutils-0.196-skip-static-test.patch @@ -0,0 +1,13 @@ +Needed so the test links s.t. we can skip it in the ebuild. It needs +internal symbols only exposed when linking statically. +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -901,7 +901,7 @@ deleted_lib_so_CFLAGS = $(fpic_CFLAGS) -fasynchronous-unwind-tables + aggregate_size_LDADD = $(libdw) $(libelf) $(argp_LDADD) + peel_type_LDADD = $(libdw) $(libelf) $(argp_LDADD) + vdsosyms_LDADD = $(libeu) $(libdw) $(libelf) +-elf_from_memory_LDADD = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) $(libebl) $(libeu) -ldl -lpthread ++elf_from_memory_LDADD = $(libdw) -lz $(zip_LIBS) $(libelf) $(libebl) $(libeu) -ldl -lpthread + getsrc_die_LDADD = $(libeu) $(libdw) $(libelf) + strptr_LDADD = $(libelf) + newdata_LDADD = $(libelf) diff --git a/dev-libs/jemalloc/jemalloc-5.3.0-r3.ebuild b/dev-libs/jemalloc/jemalloc-5.3.0-r3.ebuild index 9155c5148016..355251f15aac 100644 --- a/dev-libs/jemalloc/jemalloc-5.3.0-r3.ebuild +++ b/dev-libs/jemalloc/jemalloc-5.3.0-r3.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/jemalloc/jemalloc/releases/download/${PV}/${P}.tar.b LICENSE="BSD" SLOT="0/2" -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" IUSE="debug lazy-lock prof stats xmalloc" HTML_DOCS=( doc/jemalloc.html ) PATCHES=( diff --git a/dev-libs/kirigami-addons/Manifest b/dev-libs/kirigami-addons/Manifest index d9ae965ce0d1..5e965610df6f 100644 --- a/dev-libs/kirigami-addons/Manifest +++ b/dev-libs/kirigami-addons/Manifest @@ -1,3 +1,3 @@ DIST kirigami-addons-1.12.1.tar.xz 2815592 BLAKE2B 4635e756e7c463b0d7c091db2714a23cf0a005666abf05063be96a0221b4147ec3d701f1b1366014769821fea6f55f9e84ed4aa899b222adccd5b2870a10e267 SHA512 365021b896c8a6ad7bfc1e98ff554040bdc50c109e25b362e8e4dc9219b721cf68092d0cef5b64884c9cee6367d65377621cccd0a9fdd8a79a515c739b136c2d DIST kirigami-addons-1.13.1.tar.xz 3023492 BLAKE2B 026f56a978b079cb85c3273bcf547dbb84cb783d791a9dd8b88296abac824d94951ddf80e37f01706be0b5a1236456f512749dcda6eb0672db50c1754b3fb4bd SHA512 be7499358b5a30ca44e50b8579a7fbf69569c42cc4bfb28473f05444f534548d301997f4608b3c2ab68bef22e56cbf8b21c474949125d116ac945b7357ca51f8 -DIST kirigami-addons-1.14.0.tar.xz 3068160 BLAKE2B 58d538d2d52b0d027b94cec2e20eebff3d61713fcda60dbb6e95e654bfd2a08c6667cf9c7d536f8314b33cc2bfff321914184995b91ce4ec186b20695dea1aa0 SHA512 46067606afa0c3084f46a3e421b04f0dc51c3105289e24991bb7340d6055592c1de86983635be4fc6375bad5c975def8c378b74bfcd9451b22376ec0306a5740 +DIST kirigami-addons-1.14.1.tar.xz 3073168 BLAKE2B 9a4122bb35bd58e9845eea7f5331fd7cc43c23bc3435e8cd0aa40d223b19a388279a5eace3ffa83f9a32d410882aca8268b5de63fa9728f24f367312f9d3ad59 SHA512 ac5525d3f52a360b08c4977bd6df476191b5f036b74b1eb1fbb4461ba138ca934e1b05e52c04bc7b0628a47cb3fba5d2cdbc08d1b329df2205c0ff22bc087429 diff --git a/dev-libs/kirigami-addons/kirigami-addons-1.14.0.ebuild b/dev-libs/kirigami-addons/kirigami-addons-1.14.1.ebuild index f55fee8ab698..f55fee8ab698 100644 --- a/dev-libs/kirigami-addons/kirigami-addons-1.14.0.ebuild +++ b/dev-libs/kirigami-addons/kirigami-addons-1.14.1.ebuild diff --git a/dev-libs/libayatana-appindicator/Manifest b/dev-libs/libayatana-appindicator/Manifest index cb0465f4eb96..4821817d27ec 100644 --- a/dev-libs/libayatana-appindicator/Manifest +++ b/dev-libs/libayatana-appindicator/Manifest @@ -1 +1,2 @@ DIST libayatana-appindicator-0.5.94.tar.gz 164282 BLAKE2B 3629a6b8647fb71464cd2c2ad5e4abab77544be85a4f720f90ac728c638b6c82a7b538876bdce026dff073f6e1f00260ceea2a593eec5e94bdb56ac454edcedf SHA512 4bd251dd56601dfb99b0085cc272118680c9145cdac671ad6695ef3200e582343a07e99dc30f5a72b586b6e2e60de0042d4a95b9d9eeafa7695b0afe2425dba4 +DIST libayatana-appindicator-0.6.0.tar.gz 167821 BLAKE2B 1b6b8974a0bea8adeea51eb244982332fcc4e66e13dd5bfea23f649d084e22178d2cc1b881a1414f8abd5f72de6b94b8d97c704c6a1f85e679583d315f602536 SHA512 5da126e36650e3953cac4defbd45b5f566b12331ada4c7a7882cb8667f570bef7096d2b7bc03f5cb5dc191bb876c918c4a5f8b8aa551291e053266dc9882c2c9 diff --git a/dev-libs/libayatana-appindicator/libayatana-appindicator-0.6.0.ebuild b/dev-libs/libayatana-appindicator/libayatana-appindicator-0.6.0.ebuild new file mode 100644 index 000000000000..32f6f88b8fa5 --- /dev/null +++ b/dev-libs/libayatana-appindicator/libayatana-appindicator-0.6.0.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VALA_USE_DEPEND="vapigen" + +inherit cmake vala virtualx + +DESCRIPTION="Ayatana Application Indicators (Shared Library)" +HOMEPAGE="https://github.com/AyatanaIndicators/libayatana-appindicator" +SRC_URI="https://github.com/AyatanaIndicators/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3 LGPL-2 LGPL-3" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-libs/glib-2.37:2 + >=x11-libs/gtk+-3.24:3[introspection] + dev-libs/libdbusmenu[gtk3] + >=dev-libs/libayatana-indicator-0.8.4 +" +DEPEND="${RDEPEND}" +BDEPEND="$(vala_depend) + test? ( dev-util/dbus-test-runner ) +" + +src_prepare() { + vala_setup + cmake_src_prepare +} + +src_configure() { + local mycmakeargs+=( + -DVALA_COMPILER="${VALAC}" + -DVAPI_GEN="${VAPIGEN}" + -DENABLE_TESTS="$(usex test)" + -DENABLE_GTKDOC=OFF + -DENABLE_BINDINGS_MONO=OFF + -DFLAVOUR_GTK2=OFF + -DFLAVOUR_GTK3=ON + ) + cmake_src_configure +} + +src_test() { + virtx cmake_src_test +} diff --git a/dev-libs/libayatana-indicator/Manifest b/dev-libs/libayatana-indicator/Manifest index b81c651d9a52..c1c326be7d42 100644 --- a/dev-libs/libayatana-indicator/Manifest +++ b/dev-libs/libayatana-indicator/Manifest @@ -1 +1,2 @@ DIST libayatana-indicator-0.9.4.tar.gz 150030 BLAKE2B 742b42ec930f2e3ae116b2be7dbd63169bc8fe0cc97b1425c16324e00ae68901f4132ea72ef97e2a36a1aecf61ca87185bb2ff2bb24ad5756004a3a60a9437f2 SHA512 56efbe0eb14abf38cb7e270ae093b5fb41dab652eab6fa0d3f7972b09b0f2404e3ec7fbb3059c0b26802fffc628f5ace16a33db306f97a65ae42cf65494a56dc +DIST libayatana-indicator-0.9.5.tar.gz 151712 BLAKE2B 33df8ad98a4e5fa59732d3c58fc8adb0fbcedede00e4824eab9de365cfb2fcfbec0c2d8411c07a64ccbdd772d383aaa2d4e56c80135e96a6a10726fa7467becc SHA512 00df45813aa0a801158e4e9a22af4b4d58d9ee232a6896424a3db073ad1e0cc8ac5e1c335bb0286d9c8cea671a02ea5bf9070d6bd6043d24810b4cad9275611c diff --git a/dev-libs/libayatana-indicator/libayatana-indicator-0.9.5.ebuild b/dev-libs/libayatana-indicator/libayatana-indicator-0.9.5.ebuild new file mode 100644 index 000000000000..663fb0a617e1 --- /dev/null +++ b/dev-libs/libayatana-indicator/libayatana-indicator-0.9.5.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VALA_USE_DEPEND="vapigen" + +inherit cmake vala virtualx + +DESCRIPTION="Ayatana Application Indicators (Shared Library)" +HOMEPAGE="https://github.com/AyatanaIndicators/libayatana-indicator" +SRC_URI="https://github.com/AyatanaIndicators/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="3" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" + +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-libs/dbus-glib + >=dev-libs/glib-2.58:2 + >=x11-libs/gtk+-3.24:3[introspection] + >=dev-libs/ayatana-ido-0.8.2 +" +DEPEND="${RDEPEND}" +BDEPEND=" + $(vala_depend) + test? ( dev-util/dbus-test-runner ) +" + +src_prepare() { + cmake_src_prepare + vala_setup +} + +src_configure() { + local mycmakeargs+=( + -DFLAVOUR_GTK2=OFF + -DFLAVOUR_GTK3=ON + -DENABLE_IDO=ON + -DENABLE_LOADER=ON + -DENABLE_TESTS="$(usex test)" + ) + cmake_src_configure +} + +src_test() { + virtx cmake_src_test +} diff --git a/dev-libs/libcec/Manifest b/dev-libs/libcec/Manifest index d2501e50e112..d1b8c584b57d 100644 --- a/dev-libs/libcec/Manifest +++ b/dev-libs/libcec/Manifest @@ -1,2 +1,3 @@ DIST libcec-7.1.1.tar.gz 365046 BLAKE2B f9f0317030e1bc1d36c6b5268350b3c5d8023691b8e4c2ba2b76d249dad31269445e5a74f95606e08fcdea7783f6a67c55f3168c61e4a11002010f8f9aaed385 SHA512 f4c12b68f275bde32a1f91e48e392c0d7fc0cf9f86fb4635a79869dc2398cbd63a1f8fdedc21d61f15afbe53ac8ece20cddeec4bac91de97de32fdcca61848e6 DIST libcec-8.1.6.tar.gz 1965766 BLAKE2B 05e9ed6a3558985d37210e8fed68585bfd7f3230215337b0789a261cfced00b19c6de1d3aa8bafe7bc24737ac76614a7bc17f18e712dfcc1f0a06632f37c6f2f SHA512 1bbefa39cd04e58b611fd1b49ef9c79aa3f64755c75d95d6d6a57a04fee90a2f412a19bca5fe8d258de1634b5ec6dfd3982312d9f20361120a2662abbad5ed31 +DIST libcec-8.1.7.tar.gz 2034798 BLAKE2B f830076785cb06b474a4a3ed7f4b5613fafb99a9e517a34bf3c016862ec0c76495f63c1635386632fb1d6197f4dcf79d95e8ff153bd8be1c587b088de6ec7113 SHA512 894a9a2e1a5145f237292608e0790cfa9e4455acd686bf92f3761611f07c8b964638fa941c37594bbcaef81649064a94fe4b77fb88b7283cd5a7f0b563eebd1f diff --git a/dev-libs/libcec/libcec-8.1.6.ebuild b/dev-libs/libcec/libcec-8.1.6.ebuild index 9371ffaffa93..54a2137362ae 100644 --- a/dev-libs/libcec/libcec-8.1.6.ebuild +++ b/dev-libs/libcec/libcec-8.1.6.ebuild @@ -16,7 +16,7 @@ S="${WORKDIR}/${PN}-${MY_P}" LICENSE="GPL-2+" SLOT="0/$(ver_cut 1)" -KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" +KEYWORDS="~amd64 ~arm arm64 ~riscv ~x86" IUSE="exynos kernel-cec python static-libs tools udev +xrandr" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" diff --git a/dev-libs/libcec/libcec-8.1.7.ebuild b/dev-libs/libcec/libcec-8.1.7.ebuild new file mode 100644 index 000000000000..9371ffaffa93 --- /dev/null +++ b/dev-libs/libcec/libcec-8.1.7.ebuild @@ -0,0 +1,130 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +MY_PV=${PV/_p/-} +MY_P=${PN}-${MY_PV} + +inherit cmake dot-a linux-info python-single-r1 udev + +DESCRIPTION="Library for communicating with the Pulse-Eight USB HDMI-CEC Adaptor" +HOMEPAGE="https://libcec.pulse-eight.com" +SRC_URI="https://github.com/Pulse-Eight/${PN}/archive/${MY_P}.tar.gz" +S="${WORKDIR}/${PN}-${MY_P}" + +LICENSE="GPL-2+" +SLOT="0/$(ver_cut 1)" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" +IUSE="exynos kernel-cec python static-libs tools udev +xrandr" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + python? ( ${PYTHON_DEPS} ) + udev? ( virtual/udev ) + xrandr? ( + x11-libs/libX11 + x11-libs/libXrandr + ) + +" +DEPEND="${RDEPEND}" +BDEPEND=" + virtual/pkgconfig + python? ( + ${PYTHON_DEPS} + dev-lang/swig + ) +" + +CONFIG_CHECK="~USB_ACM" + +pkg_pretend() { + use udev || CONFIG_CHECK+=" ~SYSFS" + ERROR_SYSFS="When using libcec build without udev, kernel config option CONFIG_SYSFS is required to automatically detect P8 USB-CEC adapter port number" + + linux-info_pkg_setup +} + +pkg_setup() { + linux-info_pkg_setup + use python && python-single-r1_pkg_setup +} + +src_prepare() { + cmake_src_prepare + + sed -Ee 's|[ ~]?#DIST#;?||g' debian/changelog.in > ChangeLog || die + + (use tools && use python) || cmake_comment_add_subdirectory "src/pyCecClient" + + if use python; then + sed -e "s|\${CMAKE_INSTALL_LIBDIR}/python\${PYTHON_VERSION}/\${PYTHON_PKG_DIR}|$(python_get_sitedir)|" \ + -i src/libcec/cmake/CheckPlatformSupport.cmake || die + fi +} + +src_configure() { + use static-libs && lto-guarantee-fat + + local mycmakeargs=( + -DDISABLE_CLIENT=$(usex !tools) + -DDISABLE_STATIC=$(usex !static-libs) + -DSKIP_PYTHON_WRAPPER=$(usex !python) + + # Same order as in src/libcec/cmake/CheckPlatformSupport.cmake + -DHAVE_DRM_EDID_PARSER=ON + -DHAVE_LIBUDEV=$(usex udev) + -DHAVE_RANDR=$(usex xrandr) + -DHAVE_RPI_API=OFF + # bug 922690 and bug 955124 + -DHAVE_TDA995X_API=OFF + -DHAVE_EXYNOS_API=$(usex exynos) + -DHAVE_LINUX_API=$(usex kernel-cec) + ) + + if linux_config_exists && linux_chkconfig_present SYSFS; then + mycmakeargs+=( -DHAVE_P8_USB_DETECT=ON ) + fi + + cmake_src_configure +} + +src_compile() { + cmake_src_compile + + if use udev ; then + sed '/2548/ s/SUBSYSTEM/SUBSYSTEMS/; s/$/, GROUP="video"/;' "${S}/debian/pulse-eight-usb-cec.udev" > \ + "${BUILD_DIR}/65-pulse-eight-usb-cec.rules" || die + fi +} + +src_install() { + cmake_src_install + + use static-libs && strip-lto-bytecode + + if use python; then + use tools && python_fix_shebang "${D}" + python_optimize "${D}$(python_get_sitedir)" + fi + + use tools && doman debian/cec-client.1 + + if use udev; then + udev_dorules "${BUILD_DIR}/65-pulse-eight-usb-cec.rules" + fi +} + +pkg_postrm() { + use udev && udev_reload +} + +pkg_postinst() { + use udev && udev_reload + + elog "You will need to ensure the user running your CEC client has" + elog "read/write access to the device. You can ensure this by adding" + elog "them to the video group" +} diff --git a/dev-libs/libp11/libp11-0.4.17.ebuild b/dev-libs/libp11/libp11-0.4.17.ebuild index 0ca1b8952bf1..5e07d7e2ae72 100644 --- a/dev-libs/libp11/libp11-0.4.17.ebuild +++ b/dev-libs/libp11/libp11-0.4.17.ebuild @@ -16,7 +16,7 @@ SRC_URI=" 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="doc static-libs test" RESTRICT="!test? ( test )" diff --git a/dev-libs/libpfm/libpfm-4.13.0_p20260328.ebuild b/dev-libs/libpfm/libpfm-4.13.0_p20260328.ebuild index 7796352f6999..91fcda62b52e 100644 --- a/dev-libs/libpfm/libpfm-4.13.0_p20260328.ebuild +++ b/dev-libs/libpfm/libpfm-4.13.0_p20260328.ebuild @@ -23,7 +23,7 @@ fi LICENSE="GPL-2 MIT" SLOT="0/4" if [[ ${PV} != 9999 ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha ~amd64 arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" fi IUSE="static-libs" diff --git a/dev-libs/librdkafka/librdkafka-2.12.1.ebuild b/dev-libs/librdkafka/librdkafka-2.12.1.ebuild index 738fc57b71c7..3df20fde3b4a 100644 --- a/dev-libs/librdkafka/librdkafka-2.12.1.ebuild +++ b/dev-libs/librdkafka/librdkafka-2.12.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="8" @@ -16,7 +16,7 @@ if [[ ${PV} == "9999" ]]; then inherit git-r3 else SRC_URI="https://github.com/confluentinc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="~amd64 arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv ~sparc ~x86" fi LICENSE="BSD-2" diff --git a/dev-libs/libxmlb/libxmlb-0.3.28.ebuild b/dev-libs/libxmlb/libxmlb-0.3.28.ebuild index a953e3056094..fdd3d1edd807 100644 --- a/dev-libs/libxmlb/libxmlb-0.3.28.ebuild +++ b/dev-libs/libxmlb/libxmlb-0.3.28.ebuild @@ -16,7 +16,7 @@ SRC_URI=" LICENSE="LGPL-2.1+" SLOT="0/2" # libxmlb.so version -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +KEYWORDS="~amd64 arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" IUSE="doc introspection +lzma stemmer test +zstd" RESTRICT="!test? ( test )" diff --git a/dev-libs/lockdev/lockdev-1.0.3.1.2-r5.ebuild b/dev-libs/lockdev/lockdev-1.0.3.1.2-r5.ebuild index dc59d8ece9c2..e5430a02880e 100644 --- a/dev-libs/lockdev/lockdev-1.0.3.1.2-r5.ebuild +++ b/dev-libs/lockdev/lockdev-1.0.3.1.2-r5.ebuild @@ -1,4 +1,4 @@ -# Copyright 2001-2025 Gentoo Authors +# Copyright 2001-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -24,7 +24,7 @@ PERL_S=./LockDev LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="perl ${GENTOO_PERL_USESTRING}" DEPEND=" diff --git a/dev-libs/mimalloc/mimalloc-3.4.5.ebuild b/dev-libs/mimalloc/mimalloc-3.4.5.ebuild index 8852597db7cf..6ce4d28cb06e 100644 --- a/dev-libs/mimalloc/mimalloc-3.4.5.ebuild +++ b/dev-libs/mimalloc/mimalloc-3.4.5.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/microsoft/mimalloc/archive/refs/tags/v${PV}.tar.gz - LICENSE="MIT" SLOT="0/3" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="amd64 ~arm ~arm64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~sparc ~x86" IUSE="debug test" RESTRICT="!test? ( test )" diff --git a/dev-libs/ossp-uuid/ossp-uuid-1.6.6.ebuild b/dev-libs/ossp-uuid/ossp-uuid-1.6.6.ebuild index 0c359c558010..220b350232f8 100644 --- a/dev-libs/ossp-uuid/ossp-uuid-1.6.6.ebuild +++ b/dev-libs/ossp-uuid/ossp-uuid-1.6.6.ebuild @@ -21,7 +21,7 @@ S="${WORKDIR}/${PN}-${MY_P}" LICENSE="ISC" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x64-macos" +KEYWORDS="~alpha ~amd64 arm ~hppa ~mips ~ppc ppc64 ~s390 ~sparc ~x86 ~x64-macos" IUSE="+cxx perl static-libs ${GENTOO_PERL_USESTRING}" DEPEND=" diff --git a/dev-libs/pkcs11-helper/pkcs11-helper-1.31.0.ebuild b/dev-libs/pkcs11-helper/pkcs11-helper-1.31.0.ebuild index bcb7c7b3e851..3c14defe0427 100644 --- a/dev-libs/pkcs11-helper/pkcs11-helper-1.31.0.ebuild +++ b/dev-libs/pkcs11-helper/pkcs11-helper-1.31.0.ebuild @@ -9,7 +9,7 @@ SRC_URI="https://github.com/OpenSC/${PN}/releases/download/${P}/${P}.tar.bz2" LICENSE="|| ( BSD GPL-2 )" SLOT="0" -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" IUSE="doc gnutls nss test" # Fails trying to load /usr/lib/pkcs11/provider.so? RESTRICT="!test? ( test ) test" diff --git a/dev-libs/pugixml/pugixml-1.16.ebuild b/dev-libs/pugixml/pugixml-1.16.ebuild index 3bae70587e0b..deba8d423da1 100644 --- a/dev-libs/pugixml/pugixml-1.16.ebuild +++ b/dev-libs/pugixml/pugixml-1.16.ebuild @@ -12,7 +12,7 @@ else # Use non-release tarball for tests # TODO: ask upstream to include tests in release tarballs? SRC_URI="https://github.com/zeux/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="~amd64 ~arm arm64 ~hppa ~ppc ppc64 ~riscv ~sparc x86" fi DESCRIPTION="Light-weight, simple, and fast XML parser for C++ with XPath support" diff --git a/dev-libs/unibilium/Manifest b/dev-libs/unibilium/Manifest index 5aafd19bde25..5b8255e5b61e 100644 --- a/dev-libs/unibilium/Manifest +++ b/dev-libs/unibilium/Manifest @@ -1,2 +1,3 @@ DIST unibilium-2.1.1.tar.gz 121998 BLAKE2B 0bd032d0cc32011fa66604b39412116824b79aeb3cebb394efcad7591d5bd18031d465f7736ff1e65914f2fcf7beca1cbee4c7ad07426cdbf45e1c82e1894d94 SHA512 ebcdcddc6c3a540d086b113bb83470c1c17cf59056b28308a484b20dc3df71de0f5d6e5bf105f9e4a8347c78500c65ae46c2b53ec87692a898c321a047664ee2 DIST unibilium-2.1.2.tar.gz 122525 BLAKE2B 4f61b1259fed11c94280499ea1f965c7a53b70072c66adbf42cd0adafb99f03e56f204b46235677a75c09f923b141897ba2942eb273e5b053beec9e8eb5bc3a6 SHA512 8bc50b3662fcb1b52055fed028926d8c296169b6b1cfefef9bb37a435321ee6e005c4166c1e68c2959e5f6d4ffe8f44d8ea87d6dcc967176d473ae918ff3018f +DIST unibilium-2.1.4.tar.gz 126284 BLAKE2B a2b2146e5ba9368ae33332848d3eec8e65798406c615650b6311e4035f15d8e4ceb1495ae51fb8ab0c1756222cce7774ea4998f2d2363c21ac06abd871e65597 SHA512 e1d351b7f4c13825c415f3b8078abd538863614a8aa443e3c5e5b85110372084ff4385c4b17eb7a546807188265285ca4b6493b6db9670d490f7743b89f11c4f diff --git a/dev-libs/unibilium/unibilium-2.1.4.ebuild b/dev-libs/unibilium/unibilium-2.1.4.ebuild new file mode 100644 index 000000000000..4a227059042d --- /dev/null +++ b/dev-libs/unibilium/unibilium-2.1.4.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="A very basic terminfo library" +HOMEPAGE="https://github.com/neovim/unibilium/" +SRC_URI="https://github.com/neovim/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="LGPL-3+ MIT" +SLOT="0/4" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~x64-macos" + +BDEPEND="dev-lang/perl" + +PATCHES=( + "${FILESDIR}/${PN}-2.1.2-no-compress-man.patch" +) + +src_prepare() { + default + eautoreconf +} + +src_install() { + default + find "${D}" -name '*.la' -type f -delete || die +} diff --git a/dev-libs/xerces-c/xerces-c-3.3.0-r1.ebuild b/dev-libs/xerces-c/xerces-c-3.3.0-r1.ebuild index 6cbef1769dc3..51b8642ebb73 100644 --- a/dev-libs/xerces-c/xerces-c-3.3.0-r1.ebuild +++ b/dev-libs/xerces-c/xerces-c-3.3.0-r1.ebuild @@ -16,7 +16,7 @@ else SRC_URI=" mirror://apache/xerces/c/3/sources/${P}.tar.xz " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + KEYWORDS="~alpha ~amd64 arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" fi LICENSE="Apache-2.0" diff --git a/dev-libs/xmlsec/xmlsec-1.3.12.ebuild b/dev-libs/xmlsec/xmlsec-1.3.12.ebuild index 4f3c5ba12dcf..b172d79f2e91 100644 --- a/dev-libs/xmlsec/xmlsec-1.3.12.ebuild +++ b/dev-libs/xmlsec/xmlsec-1.3.12.ebuild @@ -22,7 +22,7 @@ S="${WORKDIR}/${PN}1-$(ver_cut 1-3)" LICENSE="MIT" # configure.ac: "For simplicity we just bump current all the time and don't bother" SLOT="0/${PV}" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~amd64 arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" IUSE="doc gcrypt gnutls http nss +openssl static-libs test" RESTRICT="!test? ( test )" REQUIRED_USE=" diff --git a/dev-ml/llvm/Manifest b/dev-ml/llvm/Manifest index c1e1a95276a5..b3483561c984 100644 --- a/dev-ml/llvm/Manifest +++ b/dev-ml/llvm/Manifest @@ -14,3 +14,4 @@ DIST llvm-project-22.1.8.src.tar.xz 167061596 BLAKE2B 092204f62e0f0364a041c737eb DIST llvm-project-22.1.8.src.tar.xz.sig 119 BLAKE2B 2ce93472036e68782252991e4a8bdbeeec8706a56022220083a38a42ef18714a7894c41aaa04dc0d03f18601d8bfc1a5a030ed0ef0f0d64a662eae9843a4b362 SHA512 99a457b5b1fb409a5fe72b59ebd4ddae5cade3e5f2493e33b44d4f4b4625f7a1743f80106efb1134668842b15ea3400ce2c29263bec8ff986e05040910125e15 DIST llvm-project-23.1.1.src.tar.xz 179168672 BLAKE2B 31d0ad202f4ad38d001baaf638a756508b164229b02a6e41b9689508a33b3a7baecaa10398e20f3661cacb712663fe379eeb94e50e017e40ae546a7e7de8049d SHA512 e51c45f01e95272771bfee8382b213a2e21d3c62e273ff58967cfe40b87f45d2b37a4797b8b83fab025ed7a0ad32adef48406ade2d049da3d7f1799b30edea39 DIST llvm-project-23.1.1.src.tar.xz.sig 466 BLAKE2B fd062ee7b6a59295f1ba558ed35fcf03d9d1a2f716cc710ae1b375c9f673eaaf21a7a503652fefbcc91233c9df279c4521f487539264badd0bf591362657024b SHA512 d2e1101f6f3569cc82630e94d9021aaa47e32636d5b0b7fe90c01a56523e3d772835ad7c2a6f2c1a199ed1624a6f12429b43865d6f41405b73b275483effe581 +DIST llvm-project-3dcd66d0110335d7d1a5921fd085914b66ffbd3c.tar.gz 317468883 BLAKE2B af57748bf462852a7d09751162e43c52b7d8fa4d1e3e9b021062b11132ad2268b2ddefd0e2d0b2391de1e8120b751fe46a368bc58dce83b8d5e4413716701031 SHA512 678027e165bf444eb522a70b5c52018dba4b41828fa7db353bd1155ec326633adfe64e20e5975b672fc2669c6fd7e0dec0dbd8c63ee89e0393264d9af5ab3090 diff --git a/dev-ml/llvm/llvm-24.0.0_pre20260919.ebuild b/dev-ml/llvm/llvm-24.0.0_pre20260919.ebuild new file mode 100644 index 000000000000..595eeee6c534 --- /dev/null +++ b/dev-ml/llvm/llvm-24.0.0_pre20260919.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +inherit cmake llvm.org llvm-utils python-any-r1 + +DESCRIPTION="OCaml bindings for LLVM" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0/${PV}" +IUSE="+debug test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-lang/ocaml-4.00.0:0= + dev-ml/ocaml-ctypes:= + ~llvm-core/llvm-${PV}:=[debug?] + !llvm-core/llvm[ocaml(-)] +" + +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + ${PYTHON_DEPS} + dev-lang/perl + dev-ml/findlib +" + +LLVM_COMPONENTS=( llvm cmake libc third-party ) +LLVM_USE_TARGETS=llvm +llvm.org_set_globals + +src_configure() { + llvm_prepend_path "${LLVM_MAJOR}" + + local libdir=$(get_libdir) + local mycmakeargs=( + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + + -DBUILD_SHARED_LIBS=OFF + -DLLVM_BUILD_LLVM_DYLIB=ON + -DLLVM_LINK_LLVM_DYLIB=ON + -DLLVM_OCAML_OUT_OF_TREE=ON + + # cheap hack: LLVM combines both anyway, and the only difference + # is that the former list is explicitly verified at cmake time + -DLLVM_TARGETS_TO_BUILD="" + -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" + -DLLVM_BUILD_TESTS=$(usex test) + + # disable various irrelevant deps and settings + -DLLVM_ENABLE_FFI=OFF + -DLLVM_ENABLE_TERMINFO=OFF + -DHAVE_HISTEDIT_H=NO + -DLLVM_ENABLE_ASSERTIONS=$(usex debug) + -DLLVM_ENABLE_EH=ON + -DLLVM_ENABLE_RTTI=ON + + -DLLVM_HOST_TRIPLE="${CHOST}" + + -DPython3_EXECUTABLE="${PYTHON}" + + # TODO: ocamldoc + ) + + use test && mycmakeargs+=( + -DLLVM_LIT_ARGS="$(get_lit_flags)" + ) + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + # also: custom rules for OCaml do not work for CPPFLAGS + use debug || local -x CFLAGS="${CFLAGS} -DNDEBUG" + cmake_src_configure + + local llvm_libdir=$(llvm-config --libdir) + # an ugly hack; TODO: figure out a way to pass -L to ocaml... + cd "${BUILD_DIR}/${libdir}" || die + ln -s "${llvm_libdir}"/*.so . || die + + if use test; then + local llvm_bindir=$(llvm-config --bindir) + # Force using system-installed tools. + sed -i -e "/llvm_tools_dir/s@\".*\"@\"${llvm_bindir}\"@" \ + "${BUILD_DIR}"/test/lit.site.cfg.py || die + fi +} + +src_compile() { + cmake_build ocaml_all +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + cmake_build check-llvm-bindings-ocaml +} + +src_install() { + DESTDIR="${D}" \ + cmake -P "${BUILD_DIR}"/bindings/ocaml/cmake_install.cmake || die + + dodoc bindings/ocaml/README.txt +} diff --git a/dev-perl/AnyEvent-I3/AnyEvent-I3-0.190.0.ebuild b/dev-perl/AnyEvent-I3/AnyEvent-I3-0.190.0.ebuild index 0f5916a88ae9..e5a60d0a8f7a 100644 --- a/dev-perl/AnyEvent-I3/AnyEvent-I3-0.190.0.ebuild +++ b/dev-perl/AnyEvent-I3/AnyEvent-I3-0.190.0.ebuild @@ -10,7 +10,7 @@ inherit perl-module virtualx DESCRIPTION="Communicate with the i3 window manager" SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86" +KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86" RDEPEND=" dev-perl/AnyEvent diff --git a/dev-perl/Cwd-Guard/Cwd-Guard-0.50.0-r1.ebuild b/dev-perl/Cwd-Guard/Cwd-Guard-0.50.0-r1.ebuild index 8159c8640a62..26ad68c0e038 100644 --- a/dev-perl/Cwd-Guard/Cwd-Guard-0.50.0-r1.ebuild +++ b/dev-perl/Cwd-Guard/Cwd-Guard-0.50.0-r1.ebuild @@ -10,7 +10,7 @@ inherit perl-module DESCRIPTION="Temporary changing working directory (chdir)" SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ~ppc64 ~riscv x86" +KEYWORDS="amd64 arm arm64 ~hppa ~ppc ~ppc64 ~riscv x86" IUSE="minimal" RDEPEND=" diff --git a/dev-perl/Devel-CheckCompiler/Devel-CheckCompiler-0.70.0-r1.ebuild b/dev-perl/Devel-CheckCompiler/Devel-CheckCompiler-0.70.0-r1.ebuild index cc83705bef29..3ee6f4928156 100644 --- a/dev-perl/Devel-CheckCompiler/Devel-CheckCompiler-0.70.0-r1.ebuild +++ b/dev-perl/Devel-CheckCompiler/Devel-CheckCompiler-0.70.0-r1.ebuild @@ -10,7 +10,7 @@ inherit perl-module DESCRIPTION="Check the compiler's availability" SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ~ppc64 ~riscv x86" +KEYWORDS="amd64 arm arm64 ~hppa ~ppc ~ppc64 ~riscv x86" RDEPEND=" virtual/perl-Exporter diff --git a/dev-perl/File-Copy-Link/File-Copy-Link-0.200.0-r1.ebuild b/dev-perl/File-Copy-Link/File-Copy-Link-0.200.0-r1.ebuild index 77e02e038dd2..1c9a8803884f 100644 --- a/dev-perl/File-Copy-Link/File-Copy-Link-0.200.0-r1.ebuild +++ b/dev-perl/File-Copy-Link/File-Copy-Link-0.200.0-r1.ebuild @@ -10,7 +10,7 @@ inherit perl-module DESCRIPTION="Perl extension for replacing a link by a copy of the linked file" SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ~ppc64 ~riscv x86" +KEYWORDS="amd64 arm arm64 ~hppa ~ppc ~ppc64 ~riscv x86" BDEPEND=" >=dev-perl/Module-Build-0.380.0 diff --git a/dev-perl/File-Copy-Recursive-Reduced/File-Copy-Recursive-Reduced-0.8.0.ebuild b/dev-perl/File-Copy-Recursive-Reduced/File-Copy-Recursive-Reduced-0.8.0.ebuild index 1b0e7161a76a..63e9c0c01fea 100644 --- a/dev-perl/File-Copy-Recursive-Reduced/File-Copy-Recursive-Reduced-0.8.0.ebuild +++ b/dev-perl/File-Copy-Recursive-Reduced/File-Copy-Recursive-Reduced-0.8.0.ebuild @@ -10,7 +10,7 @@ inherit perl-module DESCRIPTION="Recursive copying of files and directories within Perl 5 toolchain" SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ~ppc64 ~riscv x86" +KEYWORDS="amd64 arm arm64 ~hppa ~ppc ~ppc64 ~riscv x86" RDEPEND=" virtual/perl-File-Spec diff --git a/dev-perl/Module-Build-XSUtil/Module-Build-XSUtil-0.190.0.ebuild b/dev-perl/Module-Build-XSUtil/Module-Build-XSUtil-0.190.0.ebuild index cc0911229330..245b357ef40a 100644 --- a/dev-perl/Module-Build-XSUtil/Module-Build-XSUtil-0.190.0.ebuild +++ b/dev-perl/Module-Build-XSUtil/Module-Build-XSUtil-0.190.0.ebuild @@ -10,7 +10,7 @@ inherit perl-module DESCRIPTION="A Module::Build class for building XS modules" SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ~ppc64 ~riscv x86" +KEYWORDS="amd64 arm arm64 ~hppa ~ppc ~ppc64 ~riscv x86" IUSE="examples" RDEPEND=" diff --git a/dev-perl/Mouse/Mouse-2.5.11.ebuild b/dev-perl/Mouse/Mouse-2.5.11.ebuild index 78a30194722a..4cdbf2628d93 100644 --- a/dev-perl/Mouse/Mouse-2.5.11.ebuild +++ b/dev-perl/Mouse/Mouse-2.5.11.ebuild @@ -11,7 +11,7 @@ inherit perl-module DESCRIPTION="Moose minus the antlers" SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ~ppc64 ~riscv x86" +KEYWORDS="amd64 arm arm64 ~hppa ~ppc ~ppc64 ~riscv x86" RDEPEND=" >=virtual/perl-Scalar-List-Utils-1.140.0 diff --git a/dev-perl/X11-XCB/X11-XCB-0.240.0.ebuild b/dev-perl/X11-XCB/X11-XCB-0.240.0.ebuild index 80617beef5ff..7d69547dc0a4 100644 --- a/dev-perl/X11-XCB/X11-XCB-0.240.0.ebuild +++ b/dev-perl/X11-XCB/X11-XCB-0.240.0.ebuild @@ -10,7 +10,7 @@ inherit perl-module virtualx DESCRIPTION="Perl bindings for libxcb" SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86" +KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86" RDEPEND=" dev-perl/Data-Dump diff --git a/dev-perl/XML-Descent/XML-Descent-1.40.0-r1.ebuild b/dev-perl/XML-Descent/XML-Descent-1.40.0-r1.ebuild index 9747e6db6894..4cf0bc4234e3 100644 --- a/dev-perl/XML-Descent/XML-Descent-1.40.0-r1.ebuild +++ b/dev-perl/XML-Descent/XML-Descent-1.40.0-r1.ebuild @@ -9,7 +9,7 @@ inherit perl-module DESCRIPTION="Recursive decent XML parsing" SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86" +KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86" RDEPEND=" dev-perl/XML-TokeParser diff --git a/dev-perl/XML-TokeParser/XML-TokeParser-0.50.0-r1.ebuild b/dev-perl/XML-TokeParser/XML-TokeParser-0.50.0-r1.ebuild index bd688e4a1262..2bc5a29899df 100644 --- a/dev-perl/XML-TokeParser/XML-TokeParser-0.50.0-r1.ebuild +++ b/dev-perl/XML-TokeParser/XML-TokeParser-0.50.0-r1.ebuild @@ -9,7 +9,7 @@ inherit perl-module DESCRIPTION="Simplified interface to XML::Parser" SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86" +KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86" RDEPEND=" >=dev-perl/XML-Parser-2.0.0 diff --git a/dev-perl/XS-Object-Magic/XS-Object-Magic-0.50.0.ebuild b/dev-perl/XS-Object-Magic/XS-Object-Magic-0.50.0.ebuild index ccaf1d9df828..62a1900c8836 100644 --- a/dev-perl/XS-Object-Magic/XS-Object-Magic-0.50.0.ebuild +++ b/dev-perl/XS-Object-Magic/XS-Object-Magic-0.50.0.ebuild @@ -9,7 +9,7 @@ inherit perl-module DESCRIPTION="Opaque, extensible XS pointer backed objects using sv_magic" SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86" +KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86" RDEPEND=" virtual/perl-parent diff --git a/dev-perl/local-lib/local-lib-2.0.29-r1.ebuild b/dev-perl/local-lib/local-lib-2.0.29-r1.ebuild index cdb522947fff..222c84da6dc6 100644 --- a/dev-perl/local-lib/local-lib-2.0.29-r1.ebuild +++ b/dev-perl/local-lib/local-lib-2.0.29-r1.ebuild @@ -9,7 +9,7 @@ inherit perl-module DESCRIPTION="Create and use a local lib/ for perl modules with PERL5LIB" SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86" +KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86" RDEPEND=" >=virtual/perl-CPAN-1.820.0 diff --git a/dev-python/annotated-doc/annotated-doc-0.0.5.ebuild b/dev-python/annotated-doc/annotated-doc-0.0.5.ebuild index 1f95ba7c05ec..7f1ae942aecf 100644 --- a/dev-python/annotated-doc/annotated-doc-0.0.5.ebuild +++ b/dev-python/annotated-doc/annotated-doc-0.0.5.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 ~arm arm64 x86" +KEYWORDS="amd64 ~arm arm64 ~riscv x86" EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/dev-python/argon2-cffi-bindings/argon2-cffi-bindings-26.1.0.ebuild b/dev-python/argon2-cffi-bindings/argon2-cffi-bindings-26.1.0.ebuild index 6761c76f57db..de58272cbb8e 100644 --- a/dev-python/argon2-cffi-bindings/argon2-cffi-bindings-26.1.0.ebuild +++ b/dev-python/argon2-cffi-bindings/argon2-cffi-bindings-26.1.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -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" IUSE="cpu_flags_x86_sse2" DEPEND=" diff --git a/dev-python/argparse-manpage/argparse-manpage-4.7-r1.ebuild b/dev-python/argparse-manpage/argparse-manpage-4.7-r1.ebuild index ec80208a9ab8..db27f59b7b60 100644 --- a/dev-python/argparse-manpage/argparse-manpage-4.7-r1.ebuild +++ b/dev-python/argparse-manpage/argparse-manpage-4.7-r1.ebuild @@ -20,7 +20,7 @@ SRC_URI=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="amd64 arm arm64 ~loong ~mips ~ppc ppc64 ~riscv ~sparc x86" BDEPEND=" test? ( diff --git a/dev-python/array-api-compat/array-api-compat-1.15.0.ebuild b/dev-python/array-api-compat/array-api-compat-1.15.0.ebuild index f6efb5b972f4..f330cd9167a8 100644 --- a/dev-python/array-api-compat/array-api-compat-1.15.0.ebuild +++ b/dev-python/array-api-compat/array-api-compat-1.15.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 ~arm arm64 x86" +KEYWORDS="amd64 ~arm arm64 ~riscv x86" BDEPEND=" test? ( diff --git a/dev-python/ast-serialize/ast-serialize-0.8.0.ebuild b/dev-python/ast-serialize/ast-serialize-0.8.0.ebuild index 66341d4139e2..d9c874941fb6 100644 --- a/dev-python/ast-serialize/ast-serialize-0.8.0.ebuild +++ b/dev-python/ast-serialize/ast-serialize-0.8.0.ebuild @@ -214,7 +214,7 @@ LICENSE+=" Unicode-DFS-2016 ZLIB " SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 ~sparc x86" EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/dev-python/astroid/astroid-4.3.1.ebuild b/dev-python/astroid/astroid-4.3.1.ebuild index a262de696687..21fcba58b67e 100644 --- a/dev-python/astroid/astroid-4.3.1.ebuild +++ b/dev-python/astroid/astroid-4.3.1.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="LGPL-2.1+" SLOT="0" -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" # dev-python/regex isn't available for pypy BDEPEND=" diff --git a/dev-python/bandit/bandit-1.9.4.ebuild b/dev-python/bandit/bandit-1.9.4.ebuild index 150b4222bd1b..3dbd0a610123 100644 --- a/dev-python/bandit/bandit-1.9.4.ebuild +++ b/dev-python/bandit/bandit-1.9.4.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 arm64 ~riscv x86" +KEYWORDS="amd64 arm64 ~riscv" RDEPEND=" >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}] diff --git a/dev-python/bitarray/bitarray-3.11.0.ebuild b/dev-python/bitarray/bitarray-3.11.0.ebuild index 93b1ff66517e..c70a37e0f30b 100644 --- a/dev-python/bitarray/bitarray-3.11.0.ebuild +++ b/dev-python/bitarray/bitarray-3.11.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="PSF-2" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" python_test() { "${EPYTHON}" bitarray/test_bitarray.py -v || die "Tests fail with ${EPYTHON}" diff --git a/dev-python/bitstring/bitstring-4.4.0-r2.ebuild b/dev-python/bitstring/bitstring-4.4.0-r2.ebuild index 175f29ed9666..03a330ea1a9c 100644 --- a/dev-python/bitstring/bitstring-4.4.0-r2.ebuild +++ b/dev-python/bitstring/bitstring-4.4.0-r2.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 ~arm arm64 x86" +KEYWORDS="amd64 ~arm arm64 ~riscv x86" RDEPEND=" =dev-python/bitarray-3*[${PYTHON_USEDEP}] diff --git a/dev-python/blockbuster/blockbuster-1.5.27.ebuild b/dev-python/blockbuster/blockbuster-1.5.27.ebuild index b20940e8ee85..a393373698c3 100644 --- a/dev-python/blockbuster/blockbuster-1.5.27.ebuild +++ b/dev-python/blockbuster/blockbuster-1.5.27.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" 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" RDEPEND=" >=dev-python/forbiddenfruit-0.1.4[${PYTHON_USEDEP}] diff --git a/dev-python/boto3/boto3-1.43.78.ebuild b/dev-python/boto3/boto3-1.43.78.ebuild index 93fbbe6dd59b..ffa170d43fa3 100644 --- a/dev-python/boto3/boto3-1.43.78.ebuild +++ b/dev-python/boto3/boto3-1.43.78.ebuild @@ -20,7 +20,7 @@ SRC_URI=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86" RDEPEND=" >=dev-python/botocore-${PV}[${PYTHON_USEDEP}] diff --git a/dev-python/botocore/botocore-1.43.78.ebuild b/dev-python/botocore/botocore-1.43.78.ebuild index a3a161f78545..0dca2a67c593 100644 --- a/dev-python/botocore/botocore-1.43.78.ebuild +++ b/dev-python/botocore/botocore-1.43.78.ebuild @@ -20,7 +20,7 @@ SRC_URI=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86" RDEPEND=" <dev-python/jmespath-2[${PYTHON_USEDEP}] diff --git a/dev-python/brotlicffi/brotlicffi-1.2.0.2.ebuild b/dev-python/brotlicffi/brotlicffi-1.2.0.2.ebuild index b2e626346f67..85a6bb904ac3 100644 --- a/dev-python/brotlicffi/brotlicffi-1.2.0.2.ebuild +++ b/dev-python/brotlicffi/brotlicffi-1.2.0.2.ebuild @@ -30,7 +30,7 @@ SRC_URI=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris" DEPEND=" app-arch/brotli:= diff --git a/dev-python/cachelib/cachelib-0.16.1.ebuild b/dev-python/cachelib/cachelib-0.16.1.ebuild index eccab5eee32c..7e5053656050 100644 --- a/dev-python/cachelib/cachelib-0.16.1.ebuild +++ b/dev-python/cachelib/cachelib-0.16.1.ebuild @@ -22,7 +22,9 @@ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" BDEPEND=" test? ( dev-db/redis + dev-db/valkey dev-python/redis[${PYTHON_USEDEP}] + dev-python/valkey[${PYTHON_USEDEP}] net-misc/memcached !sparc? ( dev-python/pylibmc[${PYTHON_USEDEP}] diff --git a/dev-python/cachelib/cachelib-0.17.0.ebuild b/dev-python/cachelib/cachelib-0.17.0.ebuild index 87cee9dc8e3c..66117381490d 100644 --- a/dev-python/cachelib/cachelib-0.17.0.ebuild +++ b/dev-python/cachelib/cachelib-0.17.0.ebuild @@ -22,8 +22,10 @@ KEYWORDS="~amd64 ~arm64 ~x86" BDEPEND=" test? ( dev-db/redis + dev-db/valkey >=dev-python/python-memcached-1.62[${PYTHON_USEDEP}] dev-python/redis[${PYTHON_USEDEP}] + dev-python/valkey[${PYTHON_USEDEP}] net-misc/memcached !sparc? ( dev-python/pylibmc[${PYTHON_USEDEP}] @@ -32,14 +34,27 @@ BDEPEND=" " EPYTEST_PLUGINS=( pytest-xprocess ) +EPYTEST_XDIST=1 distutils_enable_tests pytest -EPYTEST_IGNORE=( - # bug #818523 - tests/test_redis_cache.py - # requires some test server running - # (these tests require dev-python/boto3) - tests/test_dynamodb_cache.py - # requires mongo test server - tests/test_mongodb_cache.py -) +python_test() { + local EPYTEST_IGNORE=( + # requires some test server running + # (these tests require dev-python/boto3) + tests/test_dynamodb_cache.py + # requires mongo test server + tests/test_mongodb_cache.py + ) + local EPYTEST_DESELECT=() + + local serial_tests=( + tests/test_memcached_cache.py::TestMemcachedCache + tests/test_redis_cache.py::TestRedisCache + tests/test_valkey_cache.py::TestValkeyCache + ) + + EPYTEST_XDIST= epytest "${serial_tests[@]}" + + EPYTEST_DESELECT+=( "${serial_tests[@]}" ) + epytest +} diff --git a/dev-python/cfn-lint/cfn-lint-1.55.1.ebuild b/dev-python/cfn-lint/cfn-lint-1.55.1.ebuild index 5005e0bd6fcc..91338f4b9211 100644 --- a/dev-python/cfn-lint/cfn-lint-1.55.1.ebuild +++ b/dev-python/cfn-lint/cfn-lint-1.55.1.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 arm64 ~riscv x86" +KEYWORDS="amd64 arm64 ~riscv" RDEPEND=" dev-python/jsonpatch[${PYTHON_USEDEP}] diff --git a/dev-python/cfn-lint/cfn-lint-1.56.0.ebuild b/dev-python/cfn-lint/cfn-lint-1.56.0.ebuild index 60bfe8f96df0..8ffb91672902 100644 --- a/dev-python/cfn-lint/cfn-lint-1.56.0.ebuild +++ b/dev-python/cfn-lint/cfn-lint-1.56.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv ~x86" +KEYWORDS="~amd64 ~arm64 ~riscv" RDEPEND=" dev-python/jsonpatch[${PYTHON_USEDEP}] diff --git a/dev-python/cfn-lint/cfn-lint-1.56.2.ebuild b/dev-python/cfn-lint/cfn-lint-1.56.2.ebuild index 60bfe8f96df0..8ffb91672902 100644 --- a/dev-python/cfn-lint/cfn-lint-1.56.2.ebuild +++ b/dev-python/cfn-lint/cfn-lint-1.56.2.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv ~x86" +KEYWORDS="~amd64 ~arm64 ~riscv" RDEPEND=" dev-python/jsonpatch[${PYTHON_USEDEP}] diff --git a/dev-python/cfn-lint/cfn-lint-1.56.3.ebuild b/dev-python/cfn-lint/cfn-lint-1.56.3.ebuild index 60bfe8f96df0..8ffb91672902 100644 --- a/dev-python/cfn-lint/cfn-lint-1.56.3.ebuild +++ b/dev-python/cfn-lint/cfn-lint-1.56.3.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv ~x86" +KEYWORDS="~amd64 ~arm64 ~riscv" RDEPEND=" dev-python/jsonpatch[${PYTHON_USEDEP}] diff --git a/dev-python/cfn-lint/cfn-lint-1.57.0.ebuild b/dev-python/cfn-lint/cfn-lint-1.57.0.ebuild index 60bfe8f96df0..8ffb91672902 100644 --- a/dev-python/cfn-lint/cfn-lint-1.57.0.ebuild +++ b/dev-python/cfn-lint/cfn-lint-1.57.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv ~x86" +KEYWORDS="~amd64 ~arm64 ~riscv" RDEPEND=" dev-python/jsonpatch[${PYTHON_USEDEP}] diff --git a/dev-python/charset-normalizer/charset-normalizer-3.5.1.ebuild b/dev-python/charset-normalizer/charset-normalizer-3.5.1.ebuild index 93afafb101ea..71101c81be3f 100644 --- a/dev-python/charset-normalizer/charset-normalizer-3.5.1.ebuild +++ b/dev-python/charset-normalizer/charset-normalizer-3.5.1.ebuild @@ -19,7 +19,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos" IUSE="native-extensions" BDEPEND=" diff --git a/dev-python/cheetah3/cheetah3-3.4.0-r1.ebuild b/dev-python/cheetah3/cheetah3-3.4.0-r1.ebuild index 82f31a86fff2..8430cd44ff64 100644 --- a/dev-python/cheetah3/cheetah3-3.4.0-r1.ebuild +++ b/dev-python/cheetah3/cheetah3-3.4.0-r1.ebuild @@ -24,7 +24,7 @@ S=${WORKDIR}/${MY_P} LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 arm arm64 ~loong ~ppc64 ~riscv x86" RDEPEND=" dev-python/markdown[${PYTHON_USEDEP}] diff --git a/dev-python/clang/Manifest b/dev-python/clang/Manifest index c1e1a95276a5..b3483561c984 100644 --- a/dev-python/clang/Manifest +++ b/dev-python/clang/Manifest @@ -14,3 +14,4 @@ DIST llvm-project-22.1.8.src.tar.xz 167061596 BLAKE2B 092204f62e0f0364a041c737eb DIST llvm-project-22.1.8.src.tar.xz.sig 119 BLAKE2B 2ce93472036e68782252991e4a8bdbeeec8706a56022220083a38a42ef18714a7894c41aaa04dc0d03f18601d8bfc1a5a030ed0ef0f0d64a662eae9843a4b362 SHA512 99a457b5b1fb409a5fe72b59ebd4ddae5cade3e5f2493e33b44d4f4b4625f7a1743f80106efb1134668842b15ea3400ce2c29263bec8ff986e05040910125e15 DIST llvm-project-23.1.1.src.tar.xz 179168672 BLAKE2B 31d0ad202f4ad38d001baaf638a756508b164229b02a6e41b9689508a33b3a7baecaa10398e20f3661cacb712663fe379eeb94e50e017e40ae546a7e7de8049d SHA512 e51c45f01e95272771bfee8382b213a2e21d3c62e273ff58967cfe40b87f45d2b37a4797b8b83fab025ed7a0ad32adef48406ade2d049da3d7f1799b30edea39 DIST llvm-project-23.1.1.src.tar.xz.sig 466 BLAKE2B fd062ee7b6a59295f1ba558ed35fcf03d9d1a2f716cc710ae1b375c9f673eaaf21a7a503652fefbcc91233c9df279c4521f487539264badd0bf591362657024b SHA512 d2e1101f6f3569cc82630e94d9021aaa47e32636d5b0b7fe90c01a56523e3d772835ad7c2a6f2c1a199ed1624a6f12429b43865d6f41405b73b275483effe581 +DIST llvm-project-3dcd66d0110335d7d1a5921fd085914b66ffbd3c.tar.gz 317468883 BLAKE2B af57748bf462852a7d09751162e43c52b7d8fa4d1e3e9b021062b11132ad2268b2ddefd0e2d0b2391de1e8120b751fe46a368bc58dce83b8d5e4413716701031 SHA512 678027e165bf444eb522a70b5c52018dba4b41828fa7db353bd1155ec326633adfe64e20e5975b672fc2669c6fd7e0dec0dbd8c63ee89e0393264d9af5ab3090 diff --git a/dev-python/clang/clang-24.0.0_pre20260919.ebuild b/dev-python/clang/clang-24.0.0_pre20260919.ebuild new file mode 100644 index 000000000000..aa99ad725bb8 --- /dev/null +++ b/dev-python/clang/clang-24.0.0_pre20260919.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{13..14} ) +inherit distutils-r1 llvm.org + +DESCRIPTION="Python bindings for llvm-core/clang" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +# The module is opening libclang.so directly, and doing some blasphemy +# on top of it. +DEPEND=" + >=llvm-core/clang-${PV}:* + !llvm-core/llvm:0[clang(-),python(-)] + !llvm-core/clang:0[python(-)] +" +RDEPEND=" + ${DEPEND} + ${PYTHON_DEPS} +" +BDEPEND=" + ${PYTHON_DEPS} + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + llvm-core/clang:${LLVM_MAJOR} + ) +" + +LLVM_COMPONENTS=( clang/{bindings/python,include} ) +llvm.org_set_globals + +distutils_enable_tests unittest + +python_test() { + # tests rely on results from a specific clang version, so override + # the search path + local -x CLANG_LIBRARY_PATH=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir) + local -x CLANG_NO_DEFAULT_CONFIG=1 + eunittest +} diff --git a/dev-python/deepdiff/deepdiff-8.6.2.ebuild b/dev-python/deepdiff/deepdiff-8.6.2.ebuild index 3f4f25da5fc2..c9fb88c0d3bc 100644 --- a/dev-python/deepdiff/deepdiff-8.6.2.ebuild +++ b/dev-python/deepdiff/deepdiff-8.6.2.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 ~arm64 ~x86" +KEYWORDS="amd64 ~arm64" RDEPEND=" >=dev-python/click-8.1.3[${PYTHON_USEDEP}] diff --git a/dev-python/deepdiff/deepdiff-9.1.0.ebuild b/dev-python/deepdiff/deepdiff-9.1.0.ebuild index 5c9b8f77e84c..f46fa0365e3e 100644 --- a/dev-python/deepdiff/deepdiff-9.1.0.ebuild +++ b/dev-python/deepdiff/deepdiff-9.1.0.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 ~arm64 ~x86" +KEYWORDS="amd64 ~arm64" RDEPEND=" >=dev-python/cachebox-5.2[${PYTHON_USEDEP}] diff --git a/dev-python/deepmerge/deepmerge-3.0.1.ebuild b/dev-python/deepmerge/deepmerge-3.0.1.ebuild index 926d3ce4a287..5a32809c2b5d 100644 --- a/dev-python/deepmerge/deepmerge-3.0.1.ebuild +++ b/dev-python/deepmerge/deepmerge-3.0.1.ebuild @@ -21,7 +21,7 @@ SRC_URI=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~s390 ~sparc x86" BDEPEND=" dev-python/setuptools-scm[${PYTHON_USEDEP}] diff --git a/dev-python/dependency-groups/dependency-groups-1.3.2.ebuild b/dev-python/dependency-groups/dependency-groups-1.3.2.ebuild index ee3a2091dd53..5f4be7118e54 100644 --- a/dev-python/dependency-groups/dependency-groups-1.3.2.ebuild +++ b/dev-python/dependency-groups/dependency-groups-1.3.2.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -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" RDEPEND=" dev-python/packaging[${PYTHON_USEDEP}] diff --git a/dev-python/elasticsearch/elasticsearch-9.5.0.ebuild b/dev-python/elasticsearch/elasticsearch-9.5.0.ebuild index 5129f7d2f2bd..fcd31006104e 100644 --- a/dev-python/elasticsearch/elasticsearch-9.5.0.ebuild +++ b/dev-python/elasticsearch/elasticsearch-9.5.0.ebuild @@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P} LICENSE="Apache-2.0" SLOT="0/$(ver_cut 1)" -KEYWORDS="amd64 arm64 ~x86" +KEYWORDS="amd64 arm64" RDEPEND=" <dev-python/aiohttp-4[${PYTHON_USEDEP}] diff --git a/dev-python/elasticsearch/elasticsearch-9.5.1.ebuild b/dev-python/elasticsearch/elasticsearch-9.5.1.ebuild index 8fdfeaa220e6..e1c1f31d8fb5 100644 --- a/dev-python/elasticsearch/elasticsearch-9.5.1.ebuild +++ b/dev-python/elasticsearch/elasticsearch-9.5.1.ebuild @@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P} LICENSE="Apache-2.0" SLOT="0/$(ver_cut 1)" -KEYWORDS="~amd64 ~arm64 ~x86" +KEYWORDS="~amd64 ~arm64" RDEPEND=" <dev-python/aiohttp-4[${PYTHON_USEDEP}] diff --git a/dev-python/esp-pylib/esp-pylib-1.1.4.ebuild b/dev-python/esp-pylib/esp-pylib-1.1.4.ebuild index cccd709cbbca..accb1d1b01e5 100644 --- a/dev-python/esp-pylib/esp-pylib-1.1.4.ebuild +++ b/dev-python/esp-pylib/esp-pylib-1.1.4.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm" +KEYWORDS="~amd64 ~arm ~riscv" RDEPEND=" dev-python/click[${PYTHON_USEDEP}] diff --git a/dev-python/faker/faker-40.37.0.ebuild b/dev-python/faker/faker-40.37.0.ebuild index 125fe3904e57..a2455830ee3f 100644 --- a/dev-python/faker/faker-40.37.0.ebuild +++ b/dev-python/faker/faker-40.37.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" RDEPEND=" !dev-ruby/faker diff --git a/dev-python/fastjsonschema/fastjsonschema-2.22.2.ebuild b/dev-python/fastjsonschema/fastjsonschema-2.22.2.ebuild index c879d05a43f8..f6a20c19a1a6 100644 --- a/dev-python/fastjsonschema/fastjsonschema-2.22.2.ebuild +++ b/dev-python/fastjsonschema/fastjsonschema-2.22.2.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -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" EPYTEST_PLUGINS=() EPYTEST_XDIST=1 diff --git a/dev-python/feedparser-sgmllib/feedparser-sgmllib-2.1.0.ebuild b/dev-python/feedparser-sgmllib/feedparser-sgmllib-2.1.0.ebuild index 6386452e771f..24c6a26ed807 100644 --- a/dev-python/feedparser-sgmllib/feedparser-sgmllib-2.1.0.ebuild +++ b/dev-python/feedparser-sgmllib/feedparser-sgmllib-2.1.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="PSF-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ppc ppc64 ~riscv x86" +KEYWORDS="~alpha amd64 arm arm64 ppc ppc64 ~riscv ~s390 x86" EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/dev-python/feedparser/feedparser-6.0.14.ebuild b/dev-python/feedparser/feedparser-6.0.14.ebuild index 5279478898b9..143a9c6aa43c 100644 --- a/dev-python/feedparser/feedparser-6.0.14.ebuild +++ b/dev-python/feedparser/feedparser-6.0.14.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="BSD-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ppc ppc64 ~riscv x86" +KEYWORDS="~alpha amd64 arm arm64 ppc ppc64 ~riscv ~s390 x86" RDEPEND=" =dev-python/feedparser-sgmllib-2*[${PYTHON_USEDEP}] diff --git a/dev-python/gfloat/files/gfloat-0.5.2-signed-zero-overflow.patch b/dev-python/gfloat/files/gfloat-0.5.2-signed-zero-overflow.patch new file mode 100644 index 000000000000..fd011671ecfe --- /dev/null +++ b/dev-python/gfloat/files/gfloat-0.5.2-signed-zero-overflow.patch @@ -0,0 +1,51 @@ +From 575ceff2babe3e54795ec4ce441ec8e981462f9b Mon Sep 17 00:00:00 2001 +From: Andrew Fitzgibbon <awf@fitzgibbon.ie> +Date: Fri, 18 Sep 2026 15:58:51 +0100 +Subject: [PATCH] Fix binary64 ndarray encoding overflow for signed zero + +--- + src/gfloat/encode_ndarray.py | 5 ++++- + test/test_encode.py | 17 +++++++++++++++++ + 2 files changed, 21 insertions(+), 1 deletion(-) + +diff --git a/src/gfloat/encode_ndarray.py b/src/gfloat/encode_ndarray.py +index af883e4..3d5981c 100644 +--- a/src/gfloat/encode_ndarray.py ++++ b/src/gfloat/encode_ndarray.py +@@ -51,7 +51,10 @@ def encode_ndarray(fi: FormatInfo, v: npt.NDArray) -> npt.NDArray: + + if fi.has_zero: + if fi.has_nz: +- code[v == 0] = np.where(sign[v == 0], fi.code_of_negzero, fi.code_of_zero) ++ # binary64's negative-zero code exceeds the signed int64 range. ++ code[v == 0] = np.where( ++ sign[v == 0], np.uint64(fi.code_of_negzero), np.uint64(fi.code_of_zero) ++ ) + else: + code[v == 0] = fi.code_of_zero + +diff --git a/test/test_encode.py b/test/test_encode.py +index efdaa1f..8ab344f 100644 +--- a/test/test_encode.py ++++ b/test/test_encode.py +@@ -62,3 +62,20 @@ def test_encode_edges(fi: FormatInfo, enc: Callable) -> None: + if fi.domain == Domain.Extended + else fi.code_of_nan if fi.num_nans > 0 else fi.code_of_min + ) ++ ++ ++@pytest.mark.parametrize( ++ "values", ++ [ ++ [0.0, -0.0], ++ [[-0.0, 0.0], [1.0, -1.0]], ++ [1.0, -1.0], # The zero selection is empty, as in issue #63. ++ [], ++ ], ++) ++def test_encode_binary64_signed_zero(values: npt.ArrayLike) -> None: ++ v = np.array(values, dtype=np.float64) ++ codes = encode_ndarray(format_info_binary64, v) ++ assert codes.dtype == np.dtype(np.uint64) ++ assert codes.shape == v.shape ++ np.testing.assert_array_equal(codes, v.view(np.uint64)) diff --git a/dev-python/gfloat/gfloat-0.5.2-r1.ebuild b/dev-python/gfloat/gfloat-0.5.2-r1.ebuild index b545ecf5f33e..bf081ec3b862 100644 --- a/dev-python/gfloat/gfloat-0.5.2-r1.ebuild +++ b/dev-python/gfloat/gfloat-0.5.2-r1.ebuild @@ -26,16 +26,16 @@ RDEPEND=" " BDEPEND=" test? ( + dev-python/jinja2[${PYTHON_USEDEP}] dev-python/matplotlib[${PYTHON_USEDEP}] dev-python/ml-dtypes[${PYTHON_USEDEP}] dev-python/tabulate[${PYTHON_USEDEP}] test-rust? ( dev-python/nbval[${PYTHON_USEDEP}] ) - !arm? ( - dev-python/jinja2[${PYTHON_USEDEP}] + !arm? ( !x86? ( dev-python/pandas[${PYTHON_USEDEP}] - ) + ) ) ) " diff --git a/dev-python/gfloat/gfloat-0.5.2-r2.ebuild b/dev-python/gfloat/gfloat-0.5.2-r2.ebuild new file mode 100644 index 000000000000..52a0a20c2d05 --- /dev/null +++ b/dev-python/gfloat/gfloat-0.5.2-r2.ebuild @@ -0,0 +1,79 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Generic floating-point types in Python" +HOMEPAGE=" + https://github.com/graphcore-research/gfloat/ + https://pypi.org/project/gfloat/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" +IUSE="test-rust" + +RDEPEND=" + dev-python/array-api-compat[${PYTHON_USEDEP}] + dev-python/more-itertools[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/jinja2[${PYTHON_USEDEP}] + dev-python/matplotlib[${PYTHON_USEDEP}] + dev-python/ml-dtypes[${PYTHON_USEDEP}] + dev-python/tabulate[${PYTHON_USEDEP}] + test-rust? ( + dev-python/nbval[${PYTHON_USEDEP}] + ) + !arm? ( !x86? ( + dev-python/pandas[${PYTHON_USEDEP}] + ) ) + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +PATCHES=( + # https://github.com/graphcore-research/gfloat/pull/60 + "${FILESDIR}/${P}-32bit.patch" + # https://github.com/graphcore-research/gfloat/pull/64 + "${FILESDIR}/${P}-signed-zero-overflow.patch" +) + +python_test() { + local EPYTEST_IGNORE=( + # requires array-api-strict (probably not very valuable downstream) + test/test_array_api.py + # require jax + docs/source/03-value-tables.ipynb + docs/source/04-benchmark.ipynb + test/test_jax.py + # requires mx (possibly git version), torch + test/test_microxcaling.py + # requires torch + test/test_torch.py + ) + + if ! has_version "dev-python/jinja2[${PYTHON_USEDEP}]" || + ! has_version "dev-python/pandas[${PYTHON_USEDEP}]" + then + EPYTEST_IGNORE+=( + docs/source + ) + fi + + if has_version "dev-python/nbval[${PYTHON_USEDEP}]"; then + epytest -p nbval + else + epytest -o addopts= + fi +} diff --git a/dev-python/google-api-python-client/google-api-python-client-2.198.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.198.0.ebuild index c4890dfc16d7..205f181ae1dc 100644 --- a/dev-python/google-api-python-client/google-api-python-client-2.198.0.ebuild +++ b/dev-python/google-api-python-client/google-api-python-client-2.198.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 arm64 x86" +KEYWORDS="amd64 arm64" RDEPEND=" >=dev-python/httplib2-0.15[${PYTHON_USEDEP}] diff --git a/dev-python/google-api-python-client/google-api-python-client-2.199.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.199.0.ebuild index 946b92264cbb..6a140282785c 100644 --- a/dev-python/google-api-python-client/google-api-python-client-2.199.0.ebuild +++ b/dev-python/google-api-python-client/google-api-python-client-2.199.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" +KEYWORDS="amd64 arm64" RDEPEND=" >=dev-python/httplib2-0.15[${PYTHON_USEDEP}] diff --git a/dev-python/google-api-python-client/google-api-python-client-2.200.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.200.0.ebuild index 946b92264cbb..6dfd752db111 100644 --- a/dev-python/google-api-python-client/google-api-python-client-2.200.0.ebuild +++ b/dev-python/google-api-python-client/google-api-python-client-2.200.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" +KEYWORDS="~amd64 ~arm64" RDEPEND=" >=dev-python/httplib2-0.15[${PYTHON_USEDEP}] diff --git a/dev-python/httpx2/httpx2-2.13.0.ebuild b/dev-python/httpx2/httpx2-2.13.0.ebuild index 9ad182936744..4cd2e5e9dd0c 100644 --- a/dev-python/httpx2/httpx2-2.13.0.ebuild +++ b/dev-python/httpx2/httpx2-2.13.0.ebuild @@ -43,6 +43,7 @@ BDEPEND=" dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}] dev-python/uv-dynamic-versioning[${PYTHON_USEDEP}] test? ( + >=app-arch/brotli-1.2.0[python,${PYTHON_USEDEP}] >=dev-python/brotlicffi-1.2.0.0[${PYTHON_USEDEP}] dev-python/chardet[${PYTHON_USEDEP}] dev-python/cryptography[${PYTHON_USEDEP}] diff --git a/dev-python/hypothesis/hypothesis-6.165.10.ebuild b/dev-python/hypothesis/hypothesis-6.165.10.ebuild index bf665e6799ed..f1f3ea75a998 100644 --- a/dev-python/hypothesis/hypothesis-6.165.10.ebuild +++ b/dev-python/hypothesis/hypothesis-6.165.10.ebuild @@ -58,7 +58,7 @@ LICENSE="MPL-2.0" # Dependent crate licenses LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0" SLOT="0" -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" IUSE="cli" RDEPEND=" diff --git a/dev-python/icalendar/icalendar-7.3.0.ebuild b/dev-python/icalendar/icalendar-7.3.0.ebuild index 1588b1cca56c..67b21ed56a6c 100644 --- a/dev-python/icalendar/icalendar-7.3.0.ebuild +++ b/dev-python/icalendar/icalendar-7.3.0.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="BSD-2" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" +KEYWORDS="amd64 ~arm arm64 ~riscv x86" RDEPEND=" dev-python/python-dateutil[${PYTHON_USEDEP}] diff --git a/dev-python/idna/idna-3.19.ebuild b/dev-python/idna/idna-3.19.ebuild index 973242b19d7b..a0207cab1c3d 100644 --- a/dev-python/idna/idna-3.19.ebuild +++ b/dev-python/idna/idna-3.19.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="test" RESTRICT="!test? ( test )" diff --git a/dev-python/imageio/imageio-2.37.3-r1.ebuild b/dev-python/imageio/imageio-2.37.3-r1.ebuild index 61eafc169363..8d29630f191b 100644 --- a/dev-python/imageio/imageio-2.37.3-r1.ebuild +++ b/dev-python/imageio/imageio-2.37.3-r1.ebuild @@ -27,7 +27,7 @@ SRC_URI=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" +KEYWORDS="~amd64 ~arm64" RDEPEND=" dev-python/numpy[${PYTHON_USEDEP}] diff --git a/dev-python/imageio/imageio-2.37.4.ebuild b/dev-python/imageio/imageio-2.37.4.ebuild index 5f40f767e369..aa1054d835cc 100644 --- a/dev-python/imageio/imageio-2.37.4.ebuild +++ b/dev-python/imageio/imageio-2.37.4.ebuild @@ -27,7 +27,7 @@ SRC_URI=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" +KEYWORDS="~amd64 ~arm64" RDEPEND=" dev-python/numpy[${PYTHON_USEDEP}] diff --git a/dev-python/ipykernel/ipykernel-7.3.0.ebuild b/dev-python/ipykernel/ipykernel-7.3.0.ebuild index 2f8eaad6ad1f..ccda91e2553c 100644 --- a/dev-python/ipykernel/ipykernel-7.3.0.ebuild +++ b/dev-python/ipykernel/ipykernel-7.3.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos" +KEYWORDS="~alpha ~amd64 arm ~arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos" RDEPEND=" >=dev-python/comm-0.1.1[${PYTHON_USEDEP}] diff --git a/dev-python/jschema-to-python/jschema-to-python-1.2.3-r1.ebuild b/dev-python/jschema-to-python/jschema-to-python-1.2.3-r1.ebuild index b267cfc0a767..ea7bd97dc70d 100644 --- a/dev-python/jschema-to-python/jschema-to-python-1.2.3-r1.ebuild +++ b/dev-python/jschema-to-python/jschema-to-python-1.2.3-r1.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 arm64 ~riscv x86" +KEYWORDS="amd64 arm64 ~riscv" RDEPEND=" dev-python/attrs[${PYTHON_USEDEP}] diff --git a/dev-python/jsonpickle/jsonpickle-4.1.2.ebuild b/dev-python/jsonpickle/jsonpickle-4.1.2.ebuild index 74187a5090c9..cc85e6c19603 100644 --- a/dev-python/jsonpickle/jsonpickle-4.1.2.ebuild +++ b/dev-python/jsonpickle/jsonpickle-4.1.2.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 arm64 ~riscv x86" +KEYWORDS="amd64 arm64 ~riscv" IUSE="test-full" BDEPEND=" diff --git a/dev-python/jupyterlab-widgets/jupyterlab-widgets-3.0.17.ebuild b/dev-python/jupyterlab-widgets/jupyterlab-widgets-3.0.17.ebuild index 7e5f9ef01645..555e0f067723 100644 --- a/dev-python/jupyterlab-widgets/jupyterlab-widgets-3.0.17.ebuild +++ b/dev-python/jupyterlab-widgets/jupyterlab-widgets-3.0.17.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86" BDEPEND=" dev-python/hatch-jupyter-builder[${PYTHON_USEDEP}] diff --git a/dev-python/lit/Manifest b/dev-python/lit/Manifest index c1e1a95276a5..b3483561c984 100644 --- a/dev-python/lit/Manifest +++ b/dev-python/lit/Manifest @@ -14,3 +14,4 @@ DIST llvm-project-22.1.8.src.tar.xz 167061596 BLAKE2B 092204f62e0f0364a041c737eb DIST llvm-project-22.1.8.src.tar.xz.sig 119 BLAKE2B 2ce93472036e68782252991e4a8bdbeeec8706a56022220083a38a42ef18714a7894c41aaa04dc0d03f18601d8bfc1a5a030ed0ef0f0d64a662eae9843a4b362 SHA512 99a457b5b1fb409a5fe72b59ebd4ddae5cade3e5f2493e33b44d4f4b4625f7a1743f80106efb1134668842b15ea3400ce2c29263bec8ff986e05040910125e15 DIST llvm-project-23.1.1.src.tar.xz 179168672 BLAKE2B 31d0ad202f4ad38d001baaf638a756508b164229b02a6e41b9689508a33b3a7baecaa10398e20f3661cacb712663fe379eeb94e50e017e40ae546a7e7de8049d SHA512 e51c45f01e95272771bfee8382b213a2e21d3c62e273ff58967cfe40b87f45d2b37a4797b8b83fab025ed7a0ad32adef48406ade2d049da3d7f1799b30edea39 DIST llvm-project-23.1.1.src.tar.xz.sig 466 BLAKE2B fd062ee7b6a59295f1ba558ed35fcf03d9d1a2f716cc710ae1b375c9f673eaaf21a7a503652fefbcc91233c9df279c4521f487539264badd0bf591362657024b SHA512 d2e1101f6f3569cc82630e94d9021aaa47e32636d5b0b7fe90c01a56523e3d772835ad7c2a6f2c1a199ed1624a6f12429b43865d6f41405b73b275483effe581 +DIST llvm-project-3dcd66d0110335d7d1a5921fd085914b66ffbd3c.tar.gz 317468883 BLAKE2B af57748bf462852a7d09751162e43c52b7d8fa4d1e3e9b021062b11132ad2268b2ddefd0e2d0b2391de1e8120b751fe46a368bc58dce83b8d5e4413716701031 SHA512 678027e165bf444eb522a70b5c52018dba4b41828fa7db353bd1155ec326633adfe64e20e5975b672fc2669c6fd7e0dec0dbd8c63ee89e0393264d9af5ab3090 diff --git a/dev-python/lit/lit-24.0.0_pre20260919.ebuild b/dev-python/lit/lit-24.0.0_pre20260919.ebuild new file mode 100644 index 000000000000..48b365e13379 --- /dev/null +++ b/dev-python/lit/lit-24.0.0_pre20260919.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 llvm.org + +DESCRIPTION="A stand-alone install of the LLVM suite testing tool" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +# Tests require 'FileCheck' and 'not' utilities (from llvm) +BDEPEND=" + test? ( + dev-python/psutil[${PYTHON_USEDEP}] + llvm-core/llvm + ) +" + +LLVM_COMPONENTS=( llvm/utils/lit ) +llvm.org_set_globals + +# TODO: move the manpage generation here (from llvm-core/llvm) + +src_prepare() { + cd "${WORKDIR}" || die + distutils-r1_src_prepare +} + +python_test() { + local -x LIT_PRESERVES_TMP=1 + local litflags=$(get_lit_flags) + ./lit.py ${litflags//;/ } tests || die +} diff --git a/dev-python/logbook/logbook-1.10.1.ebuild b/dev-python/logbook/logbook-1.10.1.ebuild index 74e483a259b2..1c6252ec2206 100644 --- a/dev-python/logbook/logbook-1.10.1.ebuild +++ b/dev-python/logbook/logbook-1.10.1.ebuild @@ -51,7 +51,7 @@ LICENSE+=" || ( Apache-2.0 MIT ) " SLOT="0" -KEYWORDS="~amd64 ~riscv ~x86" +KEYWORDS="amd64 ~riscv x86" IUSE="+native-extensions" RDEPEND=" diff --git a/dev-python/lxml/lxml-6.1.2.ebuild b/dev-python/lxml/lxml-6.1.2.ebuild index 55aa788d24b1..b44a49eadcbe 100644 --- a/dev-python/lxml/lxml-6.1.2.ebuild +++ b/dev-python/lxml/lxml-6.1.2.ebuild @@ -23,7 +23,7 @@ S=${WORKDIR}/lxml-${P} LICENSE="BSD ElementTree GPL-2 PSF-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="doc examples +threads test" RESTRICT="!test? ( test )" diff --git a/dev-python/mapbox-vector-tile/mapbox-vector-tile-2.2.0.ebuild b/dev-python/mapbox-vector-tile/mapbox-vector-tile-2.2.0.ebuild index 06939efb0ff0..205c50ccd9de 100644 --- a/dev-python/mapbox-vector-tile/mapbox-vector-tile-2.2.0.ebuild +++ b/dev-python/mapbox-vector-tile/mapbox-vector-tile-2.2.0.ebuild @@ -21,7 +21,7 @@ SRC_URI=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 arm64 ~x86" +KEYWORDS="amd64 arm64" RDEPEND=" >=dev-python/protobuf-6.31.1[${PYTHON_USEDEP}] diff --git a/dev-python/moto/moto-4.2.14.ebuild b/dev-python/moto/moto-4.2.14.ebuild index f92fc9a0a3a9..344d4b9c5149 100644 --- a/dev-python/moto/moto-4.2.14.ebuild +++ b/dev-python/moto/moto-4.2.14.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 arm64 ~riscv ~x86" +KEYWORDS="amd64 arm64 ~riscv" RDEPEND=" >=dev-python/aws-xray-sdk-0.93[${PYTHON_USEDEP}] diff --git a/dev-python/moto/moto-5.2.2.ebuild b/dev-python/moto/moto-5.2.2.ebuild index 0c30e1474276..2170cd3926e8 100644 --- a/dev-python/moto/moto-5.2.2.ebuild +++ b/dev-python/moto/moto-5.2.2.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 arm64 ~riscv ~x86" +KEYWORDS="amd64 arm64 ~riscv" RDEPEND=" >=dev-python/aws-xray-sdk-0.93[${PYTHON_USEDEP}] diff --git a/dev-python/moto/moto-5.2.3.ebuild b/dev-python/moto/moto-5.2.3.ebuild index 2d4cfbfbe14c..ca979250d454 100644 --- a/dev-python/moto/moto-5.2.3.ebuild +++ b/dev-python/moto/moto-5.2.3.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv ~x86" +KEYWORDS="~amd64 ~arm64 ~riscv" RDEPEND=" >=dev-python/aws-xray-sdk-0.93[${PYTHON_USEDEP}] diff --git a/dev-python/mypy/mypy-2.3.1.ebuild b/dev-python/mypy/mypy-2.3.1.ebuild index e56586a5eba5..34fac450c251 100644 --- a/dev-python/mypy/mypy-2.3.1.ebuild +++ b/dev-python/mypy/mypy-2.3.1.ebuild @@ -23,7 +23,7 @@ SRC_URI=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~amd64 arm arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="native-extensions" # stubgen collides with this package: https://bugs.gentoo.org/585594 diff --git a/dev-python/nanobind/nanobind-2.15.0.ebuild b/dev-python/nanobind/nanobind-2.15.0.ebuild index 62b8073c6b06..e3ae0cc5c0d5 100644 --- a/dev-python/nanobind/nanobind-2.15.0.ebuild +++ b/dev-python/nanobind/nanobind-2.15.0.ebuild @@ -20,7 +20,7 @@ SRC_URI=" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~x86" +KEYWORDS="~alpha amd64 ~arm arm64 ~ppc ppc64 ~riscv ~s390 ~x86" DEPEND=" >=dev-cpp/robin-map-1.3.0 diff --git a/dev-python/narwhals/narwhals-2.25.0.ebuild b/dev-python/narwhals/narwhals-2.25.0.ebuild index 359955646416..659973ad0528 100644 --- a/dev-python/narwhals/narwhals-2.25.0.ebuild +++ b/dev-python/narwhals/narwhals-2.25.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm64" +KEYWORDS="amd64 ~arm64" BDEPEND=" test? ( diff --git a/dev-python/nbformat/nbformat-5.11.1.ebuild b/dev-python/nbformat/nbformat-5.11.1.ebuild index b668d5cb9960..b2dc98948cc0 100644 --- a/dev-python/nbformat/nbformat-5.11.1.ebuild +++ b/dev-python/nbformat/nbformat-5.11.1.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" RDEPEND=" >=dev-python/fastjsonschema-2.15[${PYTHON_USEDEP}] diff --git a/dev-python/nest-asyncio2/nest-asyncio2-1.7.2.ebuild b/dev-python/nest-asyncio2/nest-asyncio2-1.7.2.ebuild index f3bd69d53ff1..c3552fe4474d 100644 --- a/dev-python/nest-asyncio2/nest-asyncio2-1.7.2.ebuild +++ b/dev-python/nest-asyncio2/nest-asyncio2-1.7.2.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="BSD-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos" +KEYWORDS="~alpha ~amd64 arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos" EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/dev-python/numpy/numpy-2.5.2-r1.ebuild b/dev-python/numpy/numpy-2.5.2-r1.ebuild index d22a019b6c54..56b61c61ff19 100644 --- a/dev-python/numpy/numpy-2.5.2-r1.ebuild +++ b/dev-python/numpy/numpy-2.5.2-r1.ebuild @@ -22,7 +22,7 @@ HOMEPAGE=" LICENSE="BSD 0BSD MIT ZLIB CC0-1.0" SLOT="0/2" if [[ ${PV} != *_rc* ]]; then - 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 # +lapack because the internal fallbacks are pretty slow. Building without blas # is barely supported anyway, see bug #914358. diff --git a/dev-python/oct2py/oct2py-6.0.4.ebuild b/dev-python/oct2py/oct2py-6.0.4.ebuild index d3a93f0697b0..f1549c4befa5 100644 --- a/dev-python/oct2py/oct2py-6.0.4.ebuild +++ b/dev-python/oct2py/oct2py-6.0.4.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="~amd64" RDEPEND=" >=dev-python/metakernel-1.0.6[${PYTHON_USEDEP}] diff --git a/dev-python/oct2py/oct2py-6.1.1.ebuild b/dev-python/oct2py/oct2py-6.1.1.ebuild index d3a93f0697b0..f1549c4befa5 100644 --- a/dev-python/oct2py/oct2py-6.1.1.ebuild +++ b/dev-python/oct2py/oct2py-6.1.1.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="~amd64" RDEPEND=" >=dev-python/metakernel-1.0.6[${PYTHON_USEDEP}] diff --git a/dev-python/pandas/pandas-2.3.3.ebuild b/dev-python/pandas/pandas-2.3.3.ebuild index a664481e552d..cabf803d7299 100644 --- a/dev-python/pandas/pandas-2.3.3.ebuild +++ b/dev-python/pandas/pandas-2.3.3.ebuild @@ -21,7 +21,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 arm64 ~riscv x86" +KEYWORDS="amd64 arm64 ~riscv" IUSE="big-endian full-support minimal test X" RESTRICT="!test? ( test )" diff --git a/dev-python/pandas/pandas-3.0.5.ebuild b/dev-python/pandas/pandas-3.0.5.ebuild index 71f7b4db6756..2ad26b33f3e8 100644 --- a/dev-python/pandas/pandas-3.0.5.ebuild +++ b/dev-python/pandas/pandas-3.0.5.ebuild @@ -23,7 +23,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" if [[ ${PV} != *_rc* ]]; then - KEYWORDS="amd64 arm64 ~riscv ~x86" + KEYWORDS="amd64 arm64 ~riscv" fi IUSE="big-endian full-support minimal test X" RESTRICT="!test? ( test )" diff --git a/dev-python/pandas/pandas-3.0.6.ebuild b/dev-python/pandas/pandas-3.0.6.ebuild index 328b2ad1be21..8ffa1c2b2901 100644 --- a/dev-python/pandas/pandas-3.0.6.ebuild +++ b/dev-python/pandas/pandas-3.0.6.ebuild @@ -23,7 +23,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" if [[ ${PV} != *_rc* ]]; then - KEYWORDS="~amd64 ~arm64 ~riscv ~x86" + KEYWORDS="~amd64 ~arm64 ~riscv" fi IUSE="big-endian full-support minimal test X" RESTRICT="!test? ( test )" diff --git a/dev-python/pikepdf/pikepdf-10.12.0.ebuild b/dev-python/pikepdf/pikepdf-10.12.0.ebuild index 634c4f07cb5a..7b2b1ba32746 100644 --- a/dev-python/pikepdf/pikepdf-10.12.0.ebuild +++ b/dev-python/pikepdf/pikepdf-10.12.0.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="MPL-2.0" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~x86" +KEYWORDS="~alpha ~amd64 ~arm arm64 ~ppc ppc64 ~riscv ~s390 ~x86" IUSE="big-endian" # Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as diff --git a/dev-python/poetry-plugin-export/poetry-plugin-export-1.10.0.ebuild b/dev-python/poetry-plugin-export/poetry-plugin-export-1.10.0.ebuild index a7a77d45b391..7bf56a3af423 100644 --- a/dev-python/poetry-plugin-export/poetry-plugin-export-1.10.0.ebuild +++ b/dev-python/poetry-plugin-export/poetry-plugin-export-1.10.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 ~arm64 ~x86" +KEYWORDS="amd64 ~arm64" RDEPEND=" >=dev-python/poetry-2.3.0[${PYTHON_USEDEP}] diff --git a/dev-python/poetry/poetry-2.4.1.ebuild b/dev-python/poetry/poetry-2.4.1.ebuild index f6c96040ef8f..0b0d17cc4bfe 100644 --- a/dev-python/poetry/poetry-2.4.1.ebuild +++ b/dev-python/poetry/poetry-2.4.1.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 ~arm64 ~x86" +KEYWORDS="amd64 ~arm64" RDEPEND=" =dev-python/poetry-core-$(ver_cut 1-2)*[${PYTHON_USEDEP}] diff --git a/dev-python/poetry/poetry-2.4.2.ebuild b/dev-python/poetry/poetry-2.4.2.ebuild index ec7e7746f5d6..fe0ad863e7bf 100644 --- a/dev-python/poetry/poetry-2.4.2.ebuild +++ b/dev-python/poetry/poetry-2.4.2.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" +KEYWORDS="~amd64 ~arm64" RDEPEND=" =dev-python/poetry-core-$(ver_cut 1-2)*[${PYTHON_USEDEP}] diff --git a/dev-python/poetry/poetry-2.4.3.ebuild b/dev-python/poetry/poetry-2.4.3.ebuild index ec7e7746f5d6..fe0ad863e7bf 100644 --- a/dev-python/poetry/poetry-2.4.3.ebuild +++ b/dev-python/poetry/poetry-2.4.3.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" +KEYWORDS="~amd64 ~arm64" RDEPEND=" =dev-python/poetry-core-$(ver_cut 1-2)*[${PYTHON_USEDEP}] diff --git a/dev-python/portalocker/portalocker-4.2.0.ebuild b/dev-python/portalocker/portalocker-4.2.0.ebuild index 16ac1ab79814..4afb1572868e 100644 --- a/dev-python/portalocker/portalocker-4.2.0.ebuild +++ b/dev-python/portalocker/portalocker-4.2.0.ebuild @@ -21,7 +21,7 @@ SRC_URI=" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64" BDEPEND=" test? ( diff --git a/dev-python/pyarrow/pyarrow-23.0.1.ebuild b/dev-python/pyarrow/pyarrow-23.0.1.ebuild index 41f0b7393b42..78f6df4aaa5e 100644 --- a/dev-python/pyarrow/pyarrow-23.0.1.ebuild +++ b/dev-python/pyarrow/pyarrow-23.0.1.ebuild @@ -33,7 +33,7 @@ S="${WORKDIR}/apache-arrow-${PV}/python" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 arm64 ~riscv x86" +KEYWORDS="amd64 arm64 ~riscv" IUSE="+parquet +snappy ssl" RDEPEND=" diff --git a/dev-python/pyarrow/pyarrow-24.0.0.ebuild b/dev-python/pyarrow/pyarrow-24.0.0.ebuild index c5fa6a50fc71..10fbe35a5991 100644 --- a/dev-python/pyarrow/pyarrow-24.0.0.ebuild +++ b/dev-python/pyarrow/pyarrow-24.0.0.ebuild @@ -35,7 +35,7 @@ S="${WORKDIR}/apache-arrow-${PV}/python" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 ~arm64 ~riscv x86" +KEYWORDS="amd64 ~arm64 ~riscv" IUSE="+parquet +snappy ssl" RDEPEND=" diff --git a/dev-python/pyarrow/pyarrow-25.0.1.ebuild b/dev-python/pyarrow/pyarrow-25.0.1.ebuild index 192db2d131e2..8d39cd88ea80 100644 --- a/dev-python/pyarrow/pyarrow-25.0.1.ebuild +++ b/dev-python/pyarrow/pyarrow-25.0.1.ebuild @@ -35,7 +35,7 @@ S="${WORKDIR}/apache-arrow-${PV}/python" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 arm64 ~riscv x86" +KEYWORDS="~amd64 arm64 ~riscv" IUSE="+parquet +snappy ssl" RDEPEND=" diff --git a/dev-python/pygithub/pygithub-2.10.0.ebuild b/dev-python/pygithub/pygithub-2.10.0.ebuild index d590b1635171..3a33d11582a2 100644 --- a/dev-python/pygithub/pygithub-2.10.0.ebuild +++ b/dev-python/pygithub/pygithub-2.10.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="LGPL-3+" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" +KEYWORDS="amd64 arm64 x86" # cryptography via pyjwt[crypto] RDEPEND=" diff --git a/dev-python/pygments/pygments-2.21.0.ebuild b/dev-python/pygments/pygments-2.21.0.ebuild index b95be41f1235..7573fa423620 100644 --- a/dev-python/pygments/pygments-2.21.0.ebuild +++ b/dev-python/pygments/pygments-2.21.0.ebuild @@ -19,7 +19,7 @@ HOMEPAGE=" LICENSE="BSD-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos" BDEPEND=" test? ( diff --git a/dev-python/pygraphviz/pygraphviz-2.0.1-r1.ebuild b/dev-python/pygraphviz/pygraphviz-2.0.1-r1.ebuild index 5d609463ea77..3942f5289698 100644 --- a/dev-python/pygraphviz/pygraphviz-2.0.1-r1.ebuild +++ b/dev-python/pygraphviz/pygraphviz-2.0.1-r1.ebuild @@ -19,7 +19,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv ~x86 ~x64-macos" +KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv ~x86 ~x64-macos" # Note: only C API of graphviz is used, PYTHON_USEDEP unnecessary. # [cairo] is actually pangocairo, needed for gvplugin_pango. diff --git a/dev-python/pyls-spyder/pyls-spyder-0.4.0-r4.ebuild b/dev-python/pyls-spyder/pyls-spyder-0.4.0-r4.ebuild index b91f001ce417..9cfad892f1c2 100644 --- a/dev-python/pyls-spyder/pyls-spyder-0.4.0-r4.ebuild +++ b/dev-python/pyls-spyder/pyls-spyder-0.4.0-r4.ebuild @@ -16,7 +16,7 @@ SRC_URI="https://github.com/spyder-ide/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.ta LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 arm64 x86" +KEYWORDS="amd64 arm64" RDEPEND="dev-python/python-lsp-server[all-plugins,${PYTHON_USEDEP}]" BDEPEND="test? ( dev-python/mock[${PYTHON_USEDEP}] )" diff --git a/dev-python/pyopencl/pyopencl-2026.1.2.ebuild b/dev-python/pyopencl/pyopencl-2026.1.2.ebuild index c2c35ae33075..4ec38b33c4a9 100644 --- a/dev-python/pyopencl/pyopencl-2026.1.2.ebuild +++ b/dev-python/pyopencl/pyopencl-2026.1.2.ebuild @@ -19,7 +19,7 @@ HOMEPAGE=" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~ppc64 ~riscv" +KEYWORDS="amd64 ~ppc64 ~riscv" IUSE="examples opengl" # Running tests on GPUs requires both appropriate hardware and additional permissions diff --git a/dev-python/pyproj/pyproj-3.7.2.ebuild b/dev-python/pyproj/pyproj-3.7.2.ebuild index c734a4dcf89d..3efe6aeed5b6 100644 --- a/dev-python/pyproj/pyproj-3.7.2.ebuild +++ b/dev-python/pyproj/pyproj-3.7.2.ebuild @@ -21,7 +21,7 @@ SRC_URI=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 arm64 ~x86" +KEYWORDS="amd64 arm64" DEPEND=" >=sci-libs/proj-9.0.0:= diff --git a/dev-python/pyproj/pyproj-3.8.0.ebuild b/dev-python/pyproj/pyproj-3.8.0.ebuild index 6852d24b2efc..92f738fbf067 100644 --- a/dev-python/pyproj/pyproj-3.8.0.ebuild +++ b/dev-python/pyproj/pyproj-3.8.0.ebuild @@ -21,7 +21,7 @@ SRC_URI=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" +KEYWORDS="~amd64 ~arm64" DEPEND=" >=sci-libs/proj-9.0.0:= diff --git a/dev-python/pysnmp/pysnmp-7.1.29.ebuild b/dev-python/pysnmp/pysnmp-7.1.29.ebuild index f1654fa24927..6bc0db254cc0 100644 --- a/dev-python/pysnmp/pysnmp-7.1.29.ebuild +++ b/dev-python/pysnmp/pysnmp-7.1.29.ebuild @@ -20,7 +20,7 @@ SRC_URI=" LICENSE="BSD-2" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~sparc ~x86" +KEYWORDS="amd64 ~arm arm64 ppc ~sparc x86" PROPERTIES="test_network" RESTRICT="test" diff --git a/dev-python/pysubs2/pysubs2-1.9.0.ebuild b/dev-python/pysubs2/pysubs2-1.9.0.ebuild index 2cc9559d1e13..c869869e4f05 100644 --- a/dev-python/pysubs2/pysubs2-1.9.0.ebuild +++ b/dev-python/pysubs2/pysubs2-1.9.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~x86" +KEYWORDS="amd64 ~arm ~arm64 ~x86" EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.6.ebuild b/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.6.ebuild index 58e4cd8777e3..8f5f46149181 100644 --- a/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.6.ebuild +++ b/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.6.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="MPL-2.0" SLOT="0" -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" RDEPEND=" >=dev-python/packaging-17.1[${PYTHON_USEDEP}] diff --git a/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.1.ebuild b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.1.ebuild index 6f5223dfc8a1..0f11b31e1702 100644 --- a/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.1.ebuild +++ b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 2020-2025 Gentoo Authors +# Copyright 2020-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -21,7 +21,7 @@ S=${WORKDIR}/${P//_/} LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 ~riscv ~x86" +KEYWORDS="amd64 ~riscv" RDEPEND=" dev-python/attrs[${PYTHON_USEDEP}] diff --git a/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.5.ebuild b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.5.ebuild index 5a59e4e1afeb..b2207097717e 100644 --- a/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.5.ebuild +++ b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.5.ebuild @@ -21,7 +21,7 @@ S=${WORKDIR}/${P//_/} LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv ~x86" +KEYWORDS="~amd64 ~arm64 ~riscv" RDEPEND=" dev-python/attrs[${PYTHON_USEDEP}] diff --git a/dev-python/pytest-timeout/pytest-timeout-2.5.0.ebuild b/dev-python/pytest-timeout/pytest-timeout-2.5.0.ebuild index 6603931e2be2..8800dd549f2d 100644 --- a/dev-python/pytest-timeout/pytest-timeout-2.5.0.ebuild +++ b/dev-python/pytest-timeout/pytest-timeout-2.5.0.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -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" # do not rdepend on pytest, it won't be used without it anyway # pytest-cov used to test compatibility diff --git a/dev-python/python-dotenv/python-dotenv-1.2.3.ebuild b/dev-python/python-dotenv/python-dotenv-1.2.3.ebuild index bc110a6e2b6a..b530695a99bf 100644 --- a/dev-python/python-dotenv/python-dotenv-1.2.3.ebuild +++ b/dev-python/python-dotenv/python-dotenv-1.2.3.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -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" BDEPEND=" test? ( diff --git a/dev-python/python-json-logger/python-json-logger-4.2.0.ebuild b/dev-python/python-json-logger/python-json-logger-4.2.0.ebuild index 6b23177ce335..1c7d43153cf2 100644 --- a/dev-python/python-json-logger/python-json-logger-4.2.0.ebuild +++ b/dev-python/python-json-logger/python-json-logger-4.2.0.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" BDEPEND=" test? ( diff --git a/dev-python/python-lsp-black/python-lsp-black-2.0.0-r2.ebuild b/dev-python/python-lsp-black/python-lsp-black-2.0.0-r2.ebuild index e1c7dd9912b8..e3e47b89cc86 100644 --- a/dev-python/python-lsp-black/python-lsp-black-2.0.0-r2.ebuild +++ b/dev-python/python-lsp-black/python-lsp-black-2.0.0-r2.ebuild @@ -20,7 +20,7 @@ SRC_URI=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 arm64 x86" +KEYWORDS="amd64 arm64" RDEPEND=" >=dev-python/python-lsp-server-1.4.0[${PYTHON_USEDEP}] diff --git a/dev-python/python-lsp-server/python-lsp-server-1.14.0.ebuild b/dev-python/python-lsp-server/python-lsp-server-1.14.0.ebuild index 358ee2f63e19..ada11edb3dfa 100644 --- a/dev-python/python-lsp-server/python-lsp-server-1.14.0.ebuild +++ b/dev-python/python-lsp-server/python-lsp-server-1.14.0.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 arm64 x86" +KEYWORDS="amd64 arm64" IUSE="all-plugins" PLUGIN_DEP=" diff --git a/dev-python/python-lsp-server/python-lsp-server-1.15.0.ebuild b/dev-python/python-lsp-server/python-lsp-server-1.15.0.ebuild index 358ee2f63e19..ada11edb3dfa 100644 --- a/dev-python/python-lsp-server/python-lsp-server-1.15.0.ebuild +++ b/dev-python/python-lsp-server/python-lsp-server-1.15.0.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 arm64 x86" +KEYWORDS="amd64 arm64" IUSE="all-plugins" PLUGIN_DEP=" diff --git a/dev-python/python-neutronclient/python-neutronclient-13.0.0.ebuild b/dev-python/python-neutronclient/python-neutronclient-13.0.0.ebuild index 178ecba8837e..5e022bcecaac 100644 --- a/dev-python/python-neutronclient/python-neutronclient-13.0.0.ebuild +++ b/dev-python/python-neutronclient/python-neutronclient-13.0.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 arm64 ~riscv x86" +KEYWORDS="amd64 arm64 ~riscv" RDEPEND=" >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}] diff --git a/dev-python/python-neutronclient/python-neutronclient-14.0.0.ebuild b/dev-python/python-neutronclient/python-neutronclient-14.0.0.ebuild index ae0ee770f050..f0033b395da2 100644 --- a/dev-python/python-neutronclient/python-neutronclient-14.0.0.ebuild +++ b/dev-python/python-neutronclient/python-neutronclient-14.0.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv ~x86" +KEYWORDS="~amd64 ~arm64 ~riscv" RDEPEND=" >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}] diff --git a/dev-python/pythran/pythran-0.19.0.ebuild b/dev-python/pythran/pythran-0.19.0.ebuild index a14d78dcd2df..eb89f198aac8 100644 --- a/dev-python/pythran/pythran-0.19.0.ebuild +++ b/dev-python/pythran/pythran-0.19.0.ebuild @@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P} LICENSE="BSD" SLOT="0" if [[ ${PV} != *_rc* ]]; then - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv ~s390 ~sparc ~x86" fi RDEPEND=" diff --git a/dev-python/pywayland/pywayland-0.4.19.ebuild b/dev-python/pywayland/pywayland-0.4.19.ebuild index 2a3887315277..b2d422c26818 100644 --- a/dev-python/pywayland/pywayland-0.4.19.ebuild +++ b/dev-python/pywayland/pywayland-0.4.19.ebuild @@ -22,7 +22,7 @@ SRC_URI=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~riscv ~x86" +KEYWORDS="amd64 ~riscv ~x86" RDEPEND=" dev-libs/wayland diff --git a/dev-python/pyzmq/pyzmq-27.2.0.ebuild b/dev-python/pyzmq/pyzmq-27.2.0.ebuild index c32e59b0984f..215f76234e11 100644 --- a/dev-python/pyzmq/pyzmq-27.2.0.ebuild +++ b/dev-python/pyzmq/pyzmq-27.2.0.ebuild @@ -23,7 +23,7 @@ SRC_URI=" LICENSE="LGPL-3" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos" IUSE="drafts" # There are additional test failures if zeromq has the draft api enabled, but pyzmq has it disabled. diff --git a/dev-python/quart/quart-0.22.0.ebuild b/dev-python/quart/quart-0.22.0.ebuild index 437e7ef2ffc4..84fadc2bad00 100644 --- a/dev-python/quart/quart-0.22.0.ebuild +++ b/dev-python/quart/quart-0.22.0.ebuild @@ -21,7 +21,7 @@ SRC_URI=" LICENSE="MIT" 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" RDEPEND=" dev-python/aiofiles[${PYTHON_USEDEP}] diff --git a/dev-python/reedsolo/reedsolo-2.1.1_beta1-r2.ebuild b/dev-python/reedsolo/reedsolo-2.1.1_beta1-r2.ebuild index 05a8e9274f13..fd670be4ea56 100644 --- a/dev-python/reedsolo/reedsolo-2.1.1_beta1-r2.ebuild +++ b/dev-python/reedsolo/reedsolo-2.1.1_beta1-r2.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="|| ( Unlicense MIT-0 )" SLOT="0" -KEYWORDS="amd64 ~arm arm64 x86" +KEYWORDS="amd64 ~arm arm64 ~riscv x86" IUSE="+native-extensions" BDEPEND=" diff --git a/dev-python/rich-click/rich-click-1.9.9.ebuild b/dev-python/rich-click/rich-click-1.9.9.ebuild index 1a186b93c4ee..2a83fe77d295 100644 --- a/dev-python/rich-click/rich-click-1.9.9.ebuild +++ b/dev-python/rich-click/rich-click-1.9.9.ebuild @@ -20,7 +20,7 @@ SRC_URI=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" RDEPEND=" >=dev-python/click-8[${PYTHON_USEDEP}] diff --git a/dev-python/rpyc/rpyc-6.0.0.ebuild b/dev-python/rpyc/rpyc-6.0.0.ebuild index 8af39b692d87..1dc0f1261d23 100644 --- a/dev-python/rpyc/rpyc-6.0.0.ebuild +++ b/dev-python/rpyc/rpyc-6.0.0.ebuild @@ -15,7 +15,7 @@ SRC_URI="https://github.com/tomerfiliba-org/rpyc/archive/refs/tags/${PV}.tar.gz LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 arm64 ~riscv x86" +KEYWORDS="amd64 arm64 ~riscv" # USE flags gdb, numpy are used *only* to run tests depending on these packages IUSE="test numpy gdb" diff --git a/dev-python/rq/rq-2.11.0.ebuild b/dev-python/rq/rq-2.11.0.ebuild index e6f07c3fff3f..2216179b1d4d 100644 --- a/dev-python/rq/rq-2.11.0.ebuild +++ b/dev-python/rq/rq-2.11.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv ~sparc x86" RDEPEND=" >=dev-python/click-5.0[${PYTHON_USEDEP}] diff --git a/dev-python/scikit-image/scikit-image-0.26.0-r1.ebuild b/dev-python/scikit-image/scikit-image-0.26.0-r1.ebuild index 5960f662da5b..cb7e2e54f637 100644 --- a/dev-python/scikit-image/scikit-image-0.26.0-r1.ebuild +++ b/dev-python/scikit-image/scikit-image-0.26.0-r1.ebuild @@ -28,7 +28,7 @@ SRC_URI+=" LICENSE="BSD" SLOT="0" if [[ ${PV} != *_rc* ]]; then - KEYWORDS="~amd64 ~arm64 ~x86" + KEYWORDS="~amd64 ~arm64" fi RDEPEND=" diff --git a/dev-python/shtab/shtab-1.11.0.ebuild b/dev-python/shtab/shtab-1.11.0.ebuild index c8b0e161b0e5..54cd635fb7e8 100644 --- a/dev-python/shtab/shtab-1.11.0.ebuild +++ b/dev-python/shtab/shtab-1.11.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86" BDEPEND=" dev-python/setuptools-scm[${PYTHON_USEDEP}] diff --git a/dev-python/sphinx-argparse/sphinx-argparse-0.6.1.ebuild b/dev-python/sphinx-argparse/sphinx-argparse-0.6.1.ebuild index 658755212875..94cc9634169a 100644 --- a/dev-python/sphinx-argparse/sphinx-argparse-0.6.1.ebuild +++ b/dev-python/sphinx-argparse/sphinx-argparse-0.6.1.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv ~x86" +KEYWORDS="amd64 arm64 ~riscv x86" RDEPEND=" >=dev-python/docutils-0.19[${PYTHON_USEDEP}] diff --git a/dev-python/spyder-kernels/spyder-kernels-3.1.5-r1.ebuild b/dev-python/spyder-kernels/spyder-kernels-3.1.5-r1.ebuild index 414247fb9200..1082080d383d 100644 --- a/dev-python/spyder-kernels/spyder-kernels-3.1.5-r1.ebuild +++ b/dev-python/spyder-kernels/spyder-kernels-3.1.5-r1.ebuild @@ -19,7 +19,7 @@ S=${WORKDIR}/${MY_P} LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" +KEYWORDS="~amd64 ~arm64" RDEPEND=" dev-python/cloudpickle[${PYTHON_USEDEP}] diff --git a/dev-python/spyder-kernels/spyder-kernels-3.1.6.ebuild b/dev-python/spyder-kernels/spyder-kernels-3.1.6.ebuild index c35fd833418f..df971314a3b2 100644 --- a/dev-python/spyder-kernels/spyder-kernels-3.1.6.ebuild +++ b/dev-python/spyder-kernels/spyder-kernels-3.1.6.ebuild @@ -19,7 +19,7 @@ S=${WORKDIR}/${MY_P} LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" +KEYWORDS="~amd64 ~arm64" RDEPEND=" dev-python/cloudpickle[${PYTHON_USEDEP}] diff --git a/dev-python/statsmodels/statsmodels-0.14.6.ebuild b/dev-python/statsmodels/statsmodels-0.14.6.ebuild index 327b0efc05e2..80c1b4279eb7 100644 --- a/dev-python/statsmodels/statsmodels-0.14.6.ebuild +++ b/dev-python/statsmodels/statsmodels-0.14.6.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 arm64 ~riscv ~x86" +KEYWORDS="amd64 arm64 ~riscv" IUSE="examples" # NB: upstream requires building with numpy-2 but supports 1.x diff --git a/dev-python/statsmodels/statsmodels-0.15.0.ebuild b/dev-python/statsmodels/statsmodels-0.15.0.ebuild index 86119da60575..002a185f505c 100644 --- a/dev-python/statsmodels/statsmodels-0.15.0.ebuild +++ b/dev-python/statsmodels/statsmodels-0.15.0.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv ~x86" +KEYWORDS="~amd64 ~arm64 ~riscv" IUSE="examples" # NB: upstream requires building with numpy-2 but supports 1.x diff --git a/dev-python/stevedore/stevedore-5.9.1.ebuild b/dev-python/stevedore/stevedore-5.9.1.ebuild index 16569141fa9b..d7f2690bc3a2 100644 --- a/dev-python/stevedore/stevedore-5.9.1.ebuild +++ b/dev-python/stevedore/stevedore-5.9.1.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~mips ~ppc64 ~riscv ~s390 ~sparc x86" BDEPEND=" test? ( diff --git a/dev-python/stripe/stripe-15.5.1.ebuild b/dev-python/stripe/stripe-15.5.1.ebuild index d87b66115eea..4087375d52b2 100644 --- a/dev-python/stripe/stripe-15.5.1.ebuild +++ b/dev-python/stripe/stripe-15.5.1.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" +KEYWORDS="amd64 arm64 x86" IUSE="telemetry" RDEPEND=" diff --git a/dev-python/tibs/tibs-2.0.1.ebuild b/dev-python/tibs/tibs-2.0.1.ebuild index b9c5ba013a4e..75e63358942c 100644 --- a/dev-python/tibs/tibs-2.0.1.ebuild +++ b/dev-python/tibs/tibs-2.0.1.ebuild @@ -103,7 +103,7 @@ LICENSE="MIT" # Dependent crate licenses LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 ZLIB" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~x86" +KEYWORDS="amd64 ~arm arm64 ~riscv x86" DEPEND=" app-arch/zstd:= diff --git a/dev-python/tifffile/tifffile-2026.9.15.ebuild b/dev-python/tifffile/tifffile-2026.9.15.ebuild index 49630e1bd1b8..0ef52373937a 100644 --- a/dev-python/tifffile/tifffile-2026.9.15.ebuild +++ b/dev-python/tifffile/tifffile-2026.9.15.ebuild @@ -21,7 +21,7 @@ SRC_URI=" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" +KEYWORDS="~amd64 ~arm64" RDEPEND=" >=dev-python/numpy-2.1[${PYTHON_USEDEP}] diff --git a/dev-python/tifffile/tifffile-2026.9.9.ebuild b/dev-python/tifffile/tifffile-2026.9.9.ebuild index 49630e1bd1b8..0ef52373937a 100644 --- a/dev-python/tifffile/tifffile-2026.9.9.ebuild +++ b/dev-python/tifffile/tifffile-2026.9.9.ebuild @@ -21,7 +21,7 @@ SRC_URI=" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" +KEYWORDS="~amd64 ~arm64" RDEPEND=" >=dev-python/numpy-2.1[${PYTHON_USEDEP}] diff --git a/dev-python/translate-toolkit/translate-toolkit-3.19.18.ebuild b/dev-python/translate-toolkit/translate-toolkit-3.19.18.ebuild index 87c171eea069..e3e3737485ca 100644 --- a/dev-python/translate-toolkit/translate-toolkit-3.19.18.ebuild +++ b/dev-python/translate-toolkit/translate-toolkit-3.19.18.ebuild @@ -23,7 +23,7 @@ S="${WORKDIR}"/${MY_P} LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" +KEYWORDS="amd64 arm64 ~x86" IUSE="+html +ical +ini +subtitles +yaml" RDEPEND=" diff --git a/dev-python/typer/typer-0.27.2.ebuild b/dev-python/typer/typer-0.27.2.ebuild index f875bee44d47..044f0cd74722 100644 --- a/dev-python/typer/typer-0.27.2.ebuild +++ b/dev-python/typer/typer-0.27.2.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" IUSE="cli" RDEPEND=" diff --git a/dev-python/urwid/urwid-4.0.11.ebuild b/dev-python/urwid/urwid-4.0.11.ebuild index f840d3f28004..1fdcf2e3eada 100644 --- a/dev-python/urwid/urwid-4.0.11.ebuild +++ b/dev-python/urwid/urwid-4.0.11.ebuild @@ -19,7 +19,7 @@ HOMEPAGE=" LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86" IUSE="examples" RDEPEND=" diff --git a/dev-python/uv-dynamic-versioning/uv-dynamic-versioning-0.14.1.ebuild b/dev-python/uv-dynamic-versioning/uv-dynamic-versioning-0.14.1.ebuild index 9c5e1be200c1..8ddafa02bc34 100644 --- a/dev-python/uv-dynamic-versioning/uv-dynamic-versioning-0.14.1.ebuild +++ b/dev-python/uv-dynamic-versioning/uv-dynamic-versioning-0.14.1.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" 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" RDEPEND=" >=dev-python/dunamai-1.26.1[${PYTHON_USEDEP}] diff --git a/dev-python/uvicorn/uvicorn-0.52.4.ebuild b/dev-python/uvicorn/uvicorn-0.52.4.ebuild index 177e8e69f7c1..525fcf20b707 100644 --- a/dev-python/uvicorn/uvicorn-0.52.4.ebuild +++ b/dev-python/uvicorn/uvicorn-0.52.4.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="BSD" 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="test-rust" RDEPEND=" diff --git a/dev-python/vcs-versioning/vcs-versioning-2.3.1.ebuild b/dev-python/vcs-versioning/vcs-versioning-2.3.1.ebuild index f253689d01b8..66c6ba3b5f2b 100644 --- a/dev-python/vcs-versioning/vcs-versioning-2.3.1.ebuild +++ b/dev-python/vcs-versioning/vcs-versioning-2.3.1.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" RDEPEND=" >=dev-python/packaging-26.2[${PYTHON_USEDEP}] diff --git a/dev-python/webencodings/webencodings-0.6.1.ebuild b/dev-python/webencodings/webencodings-0.6.1.ebuild index 0736c305e2b0..e25d861d43e0 100644 --- a/dev-python/webencodings/webencodings-0.6.1.ebuild +++ b/dev-python/webencodings/webencodings-0.6.1.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/dev-python/widgetsnbextension/widgetsnbextension-4.0.16.ebuild b/dev-python/widgetsnbextension/widgetsnbextension-4.0.16.ebuild index cdfa9b7e1c98..28d7ba66c94d 100644 --- a/dev-python/widgetsnbextension/widgetsnbextension-4.0.16.ebuild +++ b/dev-python/widgetsnbextension/widgetsnbextension-4.0.16.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86" BDEPEND=" dev-python/jupyter-packaging[${PYTHON_USEDEP}] diff --git a/dev-python/xarray/xarray-2026.2.0.ebuild b/dev-python/xarray/xarray-2026.2.0.ebuild index 8f091ed6645b..a7047b13cb6d 100644 --- a/dev-python/xarray/xarray-2026.2.0.ebuild +++ b/dev-python/xarray/xarray-2026.2.0.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 arm64 ~riscv x86" +KEYWORDS="amd64 arm64 ~riscv" IUSE="big-endian" RDEPEND=" diff --git a/dev-python/xarray/xarray-2026.4.0.ebuild b/dev-python/xarray/xarray-2026.4.0.ebuild index e94fe18e473a..15705850f17b 100644 --- a/dev-python/xarray/xarray-2026.4.0.ebuild +++ b/dev-python/xarray/xarray-2026.4.0.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 arm64 ~riscv ~x86" +KEYWORDS="amd64 arm64 ~riscv" IUSE="big-endian" RDEPEND=" diff --git a/dev-python/xarray/xarray-2026.7.0.ebuild b/dev-python/xarray/xarray-2026.7.0.ebuild index e94fe18e473a..15705850f17b 100644 --- a/dev-python/xarray/xarray-2026.7.0.ebuild +++ b/dev-python/xarray/xarray-2026.7.0.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 arm64 ~riscv ~x86" +KEYWORDS="amd64 arm64 ~riscv" IUSE="big-endian" RDEPEND=" diff --git a/dev-python/xxhash/xxhash-4.0.1.ebuild b/dev-python/xxhash/xxhash-4.0.1.ebuild index 80e7e86e74d1..bddc101ba87f 100644 --- a/dev-python/xxhash/xxhash-4.0.1.ebuild +++ b/dev-python/xxhash/xxhash-4.0.1.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~sparc x86" DEPEND=" >=dev-libs/xxhash-0.8.0 diff --git a/dev-python/zipstream-ng/zipstream-ng-1.9.3.ebuild b/dev-python/zipstream-ng/zipstream-ng-1.9.3.ebuild index 414cf8c4a87a..c0a07b0f018d 100644 --- a/dev-python/zipstream-ng/zipstream-ng-1.9.3.ebuild +++ b/dev-python/zipstream-ng/zipstream-ng-1.9.3.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="LGPL-3" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" +KEYWORDS="amd64 ~arm64 ~x86" EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/dev-python/zope-hookable/zope-hookable-8.3.ebuild b/dev-python/zope-hookable/zope-hookable-8.3.ebuild index 630d37e51b62..b9c997776a4c 100644 --- a/dev-python/zope-hookable/zope-hookable-8.3.ebuild +++ b/dev-python/zope-hookable/zope-hookable-8.3.ebuild @@ -19,7 +19,7 @@ HOMEPAGE=" LICENSE="ZPL" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86" IUSE="test" RESTRICT="!test? ( test )" diff --git a/dev-python/zope-i18nmessageid/zope-i18nmessageid-8.3.ebuild b/dev-python/zope-i18nmessageid/zope-i18nmessageid-8.3.ebuild index 17283f8de555..6470b986ecf1 100644 --- a/dev-python/zope-i18nmessageid/zope-i18nmessageid-8.3.ebuild +++ b/dev-python/zope-i18nmessageid/zope-i18nmessageid-8.3.ebuild @@ -19,7 +19,7 @@ HOMEPAGE=" LICENSE="ZPL" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86" distutils_enable_tests unittest diff --git a/dev-python/zope-interface/zope-interface-8.6.ebuild b/dev-python/zope-interface/zope-interface-8.6.ebuild index b3b5480ac141..e817db8928b1 100644 --- a/dev-python/zope-interface/zope-interface-8.6.ebuild +++ b/dev-python/zope-interface/zope-interface-8.6.ebuild @@ -19,7 +19,7 @@ HOMEPAGE=" LICENSE="ZPL" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris" IUSE="+native-extensions test" RESTRICT="!test? ( test )" diff --git a/dev-qt/qt-docs/qt-docs-6.11.2_p202608131018.ebuild b/dev-qt/qt-docs/qt-docs-6.11.2_p202608131018.ebuild index 4d2a091e24ad..0d57daae526a 100644 --- a/dev-qt/qt-docs/qt-docs-6.11.2_p202608131018.ebuild +++ b/dev-qt/qt-docs/qt-docs-6.11.2_p202608131018.ebuild @@ -10,7 +10,7 @@ HOMEPAGE="https://doc.qt.io/" LICENSE="FDL-1.3" SLOT="6" -KEYWORDS="~amd64 ~arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv x86" +KEYWORDS="~amd64 arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv x86" IUSE="+examples +html +qch" REQUIRED_USE="|| ( examples html qch )" diff --git a/dev-qt/qt3d/qt3d-6.11.2.ebuild b/dev-qt/qt3d/qt3d-6.11.2.ebuild index 63a2f06a194a..3a1987b83386 100644 --- a/dev-qt/qt3d/qt3d-6.11.2.ebuild +++ b/dev-qt/qt3d/qt3d-6.11.2.ebuild @@ -8,7 +8,7 @@ inherit qt6-build DESCRIPTION="3D rendering module for the Qt6 framework" if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm arm64 ~loong ~riscv x86" + KEYWORDS="~amd64 arm arm64 ~loong ~riscv x86" elif [[ ${QT6_BUILD_TYPE} == live ]]; then EGIT_SUBMODULES=() # skip qtquick3d-assimp fi diff --git a/dev-qt/qt5compat/qt5compat-6.11.2.ebuild b/dev-qt/qt5compat/qt5compat-6.11.2.ebuild index f8f2789bd012..ce3018f08bcb 100644 --- a/dev-qt/qt5compat/qt5compat-6.11.2.ebuild +++ b/dev-qt/qt5compat/qt5compat-6.11.2.ebuild @@ -8,7 +8,7 @@ inherit qt6-build DESCRIPTION="Qt module containing the unsupported Qt 5 APIs" if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv x86" + KEYWORDS="~amd64 arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv x86" fi IUSE="+gui icu qml" diff --git a/dev-qt/qtbase/qtbase-6.11.2-r2.ebuild b/dev-qt/qtbase/qtbase-6.11.2-r2.ebuild index bb6e910d69a9..b63f19d0c77c 100644 --- a/dev-qt/qtbase/qtbase-6.11.2-r2.ebuild +++ b/dev-qt/qtbase/qtbase-6.11.2-r2.ebuild @@ -9,7 +9,7 @@ inherit flag-o-matic qt6-build toolchain-funcs DESCRIPTION="Cross-platform application development framework" if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv x86" + KEYWORDS="~amd64 arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv x86" fi declare -gA QT6_IUSE=( diff --git a/dev-qt/qtcharts/qtcharts-6.11.2.ebuild b/dev-qt/qtcharts/qtcharts-6.11.2.ebuild index a1665779aed6..a923f8a16229 100644 --- a/dev-qt/qtcharts/qtcharts-6.11.2.ebuild +++ b/dev-qt/qtcharts/qtcharts-6.11.2.ebuild @@ -8,7 +8,7 @@ inherit qt6-build DESCRIPTION="Chart component library for the Qt6 framework" if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm arm64 ~loong ppc ~ppc64 ~riscv x86" + KEYWORDS="~amd64 arm arm64 ~loong ppc ~ppc64 ~riscv x86" fi IUSE="gles2-only qml" diff --git a/dev-qt/qtconnectivity/qtconnectivity-6.11.2.ebuild b/dev-qt/qtconnectivity/qtconnectivity-6.11.2.ebuild index dde47cd89278..377ebe624333 100644 --- a/dev-qt/qtconnectivity/qtconnectivity-6.11.2.ebuild +++ b/dev-qt/qtconnectivity/qtconnectivity-6.11.2.ebuild @@ -8,7 +8,7 @@ inherit qt6-build DESCRIPTION="Bluetooth and NFC support library for the Qt6 framework" if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm arm64 ~loong ppc ~ppc64 ~riscv x86" + KEYWORDS="~amd64 arm arm64 ~loong ppc ~ppc64 ~riscv x86" fi IUSE="+bluetooth neard nfc smartcard" diff --git a/dev-qt/qtdeclarative/qtdeclarative-6.11.2-r1.ebuild b/dev-qt/qtdeclarative/qtdeclarative-6.11.2-r1.ebuild index e0be30ea883d..0fa753275294 100644 --- a/dev-qt/qtdeclarative/qtdeclarative-6.11.2-r1.ebuild +++ b/dev-qt/qtdeclarative/qtdeclarative-6.11.2-r1.ebuild @@ -13,7 +13,7 @@ inherit python-any-r1 qt6-build DESCRIPTION="Qt Declarative (Quick 2)" if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv x86" + KEYWORDS="~amd64 arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv x86" fi IUSE=" diff --git a/dev-qt/qtimageformats/qtimageformats-6.11.2.ebuild b/dev-qt/qtimageformats/qtimageformats-6.11.2.ebuild index 68ef985f0cf7..9096112f5f49 100644 --- a/dev-qt/qtimageformats/qtimageformats-6.11.2.ebuild +++ b/dev-qt/qtimageformats/qtimageformats-6.11.2.ebuild @@ -8,7 +8,7 @@ inherit qt6-build DESCRIPTION="Additional format plugins for the Qt image I/O system" if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm arm64 ~hppa ~loong ~ppc64 ~riscv x86" + KEYWORDS="~amd64 arm arm64 ~hppa ~loong ~ppc64 ~riscv x86" fi IUSE="mng" diff --git a/dev-qt/qtlocation/qtlocation-6.11.2.ebuild b/dev-qt/qtlocation/qtlocation-6.11.2.ebuild index 9370677cde2b..1644e3257bbe 100644 --- a/dev-qt/qtlocation/qtlocation-6.11.2.ebuild +++ b/dev-qt/qtlocation/qtlocation-6.11.2.ebuild @@ -8,7 +8,7 @@ inherit qt6-build DESCRIPTION="Location (places, maps, navigation) library for the Qt6 framework" if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86" + KEYWORDS="~amd64 arm arm64 ~loong ~ppc64 ~riscv x86" fi RDEPEND=" diff --git a/dev-qt/qtmultimedia/qtmultimedia-6.11.2.ebuild b/dev-qt/qtmultimedia/qtmultimedia-6.11.2.ebuild index 20d01031a427..f7e8c0dc49e1 100644 --- a/dev-qt/qtmultimedia/qtmultimedia-6.11.2.ebuild +++ b/dev-qt/qtmultimedia/qtmultimedia-6.11.2.ebuild @@ -9,7 +9,7 @@ inherit flag-o-matic qt6-build DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt6 framework" if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm arm64 ~hppa ~loong ~ppc64 ~riscv x86" + KEYWORDS="~amd64 arm arm64 ~hppa ~loong ~ppc64 ~riscv x86" fi IUSE=" diff --git a/dev-qt/qtpositioning/qtpositioning-6.11.2.ebuild b/dev-qt/qtpositioning/qtpositioning-6.11.2.ebuild index a477ef223e3b..ae508e946c91 100644 --- a/dev-qt/qtpositioning/qtpositioning-6.11.2.ebuild +++ b/dev-qt/qtpositioning/qtpositioning-6.11.2.ebuild @@ -8,7 +8,7 @@ inherit qt6-build DESCRIPTION="Physical position determination library for the Qt6 framework" if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv x86" + KEYWORDS="~amd64 arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv x86" fi IUSE="geoclue nmea +qml" diff --git a/dev-qt/qtquick3d/qtquick3d-6.11.2.ebuild b/dev-qt/qtquick3d/qtquick3d-6.11.2.ebuild index 4747ddcacdab..9c1548db3120 100644 --- a/dev-qt/qtquick3d/qtquick3d-6.11.2.ebuild +++ b/dev-qt/qtquick3d/qtquick3d-6.11.2.ebuild @@ -9,7 +9,7 @@ inherit qt6-build DESCRIPTION="Qt module and API for defining 3D content in Qt QuickTools" if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86" + KEYWORDS="~amd64 arm arm64 ~loong ~ppc64 ~riscv x86" elif [[ ${QT6_BUILD_TYPE} == live ]]; then EGIT_SUBMODULES=() # skip qtquick3d-assimp fi diff --git a/dev-qt/qtquicktimeline/qtquicktimeline-6.11.2.ebuild b/dev-qt/qtquicktimeline/qtquicktimeline-6.11.2.ebuild index 41e29f220857..2a3de93b5933 100644 --- a/dev-qt/qtquicktimeline/qtquicktimeline-6.11.2.ebuild +++ b/dev-qt/qtquicktimeline/qtquicktimeline-6.11.2.ebuild @@ -8,7 +8,7 @@ inherit qt6-build DESCRIPTION="Qt module for keyframe-based timeline construction" if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm arm64 ~loong ppc ~ppc64 ~riscv x86" + KEYWORDS="~amd64 arm arm64 ~loong ppc ~ppc64 ~riscv x86" fi RDEPEND=" diff --git a/dev-qt/qtscxml/qtscxml-6.11.2.ebuild b/dev-qt/qtscxml/qtscxml-6.11.2.ebuild index 33b887706150..c37f9416c133 100644 --- a/dev-qt/qtscxml/qtscxml-6.11.2.ebuild +++ b/dev-qt/qtscxml/qtscxml-6.11.2.ebuild @@ -8,7 +8,7 @@ inherit qt6-build DESCRIPTION="State Chart XML (SCXML) support library for the Qt6 framework" if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm arm64 ~loong ppc ~ppc64 ~riscv x86" + KEYWORDS="~amd64 arm arm64 ~loong ppc ~ppc64 ~riscv x86" fi IUSE="qml" diff --git a/dev-qt/qtsensors/qtsensors-6.11.2.ebuild b/dev-qt/qtsensors/qtsensors-6.11.2.ebuild index 42d9516fa9f0..33b6fc5e47a6 100644 --- a/dev-qt/qtsensors/qtsensors-6.11.2.ebuild +++ b/dev-qt/qtsensors/qtsensors-6.11.2.ebuild @@ -8,7 +8,7 @@ inherit qt6-build DESCRIPTION="Hardware sensor access library for the Qt6 framework" if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv x86" + KEYWORDS="~amd64 arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv x86" fi IUSE="qml" diff --git a/dev-qt/qtserialport/qtserialport-6.11.2.ebuild b/dev-qt/qtserialport/qtserialport-6.11.2.ebuild index f19eff389383..647eea0091ed 100644 --- a/dev-qt/qtserialport/qtserialport-6.11.2.ebuild +++ b/dev-qt/qtserialport/qtserialport-6.11.2.ebuild @@ -8,7 +8,7 @@ inherit qt6-build DESCRIPTION="Serial port abstraction library for the Qt6 framework" if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv x86" + KEYWORDS="~amd64 arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv x86" fi RDEPEND=" diff --git a/dev-qt/qtshadertools/qtshadertools-6.11.2.ebuild b/dev-qt/qtshadertools/qtshadertools-6.11.2.ebuild index b89650077047..69ed670d5b4a 100644 --- a/dev-qt/qtshadertools/qtshadertools-6.11.2.ebuild +++ b/dev-qt/qtshadertools/qtshadertools-6.11.2.ebuild @@ -8,7 +8,7 @@ inherit flag-o-matic qt6-build DESCRIPTION="Qt APIs and Tools for Graphics Pipelines" if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv x86" + KEYWORDS="~amd64 arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv x86" fi RDEPEND=" diff --git a/dev-qt/qtspeech/qtspeech-6.11.2.ebuild b/dev-qt/qtspeech/qtspeech-6.11.2.ebuild index 7696f5c279c6..ae17179b6ffd 100644 --- a/dev-qt/qtspeech/qtspeech-6.11.2.ebuild +++ b/dev-qt/qtspeech/qtspeech-6.11.2.ebuild @@ -13,7 +13,7 @@ inherit qt6-build DESCRIPTION="Text-to-speech library for the Qt6 framework" if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86" + KEYWORDS="~amd64 arm arm64 ~loong ~ppc64 ~riscv x86" fi IUSE="flite qml +speechd" diff --git a/dev-qt/qtsvg/qtsvg-6.11.2.ebuild b/dev-qt/qtsvg/qtsvg-6.11.2.ebuild index 2a4add195a7d..a80d7b3d7844 100644 --- a/dev-qt/qtsvg/qtsvg-6.11.2.ebuild +++ b/dev-qt/qtsvg/qtsvg-6.11.2.ebuild @@ -8,7 +8,7 @@ inherit qt6-build toolchain-funcs DESCRIPTION="SVG rendering library for the Qt6 framework" if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv x86" + KEYWORDS="~amd64 arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv x86" fi RDEPEND=" diff --git a/dev-qt/qttools/qttools-6.11.2.ebuild b/dev-qt/qttools/qttools-6.11.2.ebuild index c1c5809501b3..06b81e37e6ca 100644 --- a/dev-qt/qttools/qttools-6.11.2.ebuild +++ b/dev-qt/qttools/qttools-6.11.2.ebuild @@ -21,7 +21,7 @@ SRC_URI+=" " if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv x86" + KEYWORDS="~amd64 arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv x86" fi IUSE=" diff --git a/dev-qt/qttranslations/qttranslations-6.11.2.ebuild b/dev-qt/qttranslations/qttranslations-6.11.2.ebuild index d9ca5a639756..a266bd3135b9 100644 --- a/dev-qt/qttranslations/qttranslations-6.11.2.ebuild +++ b/dev-qt/qttranslations/qttranslations-6.11.2.ebuild @@ -9,7 +9,7 @@ inherit qt6-build DESCRIPTION="Translation files for the Qt6 framework" if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv x86" + KEYWORDS="~amd64 arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv x86" fi DEPEND="~dev-qt/qtbase-${PV}:6" diff --git a/dev-qt/qtvirtualkeyboard/qtvirtualkeyboard-6.11.2.ebuild b/dev-qt/qtvirtualkeyboard/qtvirtualkeyboard-6.11.2.ebuild index 3c68fc79aad2..4f431fbf16cf 100644 --- a/dev-qt/qtvirtualkeyboard/qtvirtualkeyboard-6.11.2.ebuild +++ b/dev-qt/qtvirtualkeyboard/qtvirtualkeyboard-6.11.2.ebuild @@ -8,7 +8,7 @@ inherit qt6-build DESCRIPTION="Customizable input framework and virtual keyboard for Qt" if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86" + KEYWORDS="~amd64 arm arm64 ~loong ~ppc64 ~riscv x86" fi IUSE="+sound +spell" diff --git a/dev-qt/qtwayland/qtwayland-6.11.2.ebuild b/dev-qt/qtwayland/qtwayland-6.11.2.ebuild index 8a397595b814..f5c4d9b303ca 100644 --- a/dev-qt/qtwayland/qtwayland-6.11.2.ebuild +++ b/dev-qt/qtwayland/qtwayland-6.11.2.ebuild @@ -8,7 +8,7 @@ inherit qt6-build DESCRIPTION="Toolbox for making Qt based Wayland compositors" if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm arm64 ~loong ppc ~ppc64 ~riscv x86" + KEYWORDS="~amd64 arm arm64 ~loong ppc ~ppc64 ~riscv x86" fi IUSE="gnome qml" diff --git a/dev-qt/qtwebchannel/qtwebchannel-6.11.2.ebuild b/dev-qt/qtwebchannel/qtwebchannel-6.11.2.ebuild index ab891832374a..decdc84999ff 100644 --- a/dev-qt/qtwebchannel/qtwebchannel-6.11.2.ebuild +++ b/dev-qt/qtwebchannel/qtwebchannel-6.11.2.ebuild @@ -8,7 +8,7 @@ inherit qt6-build DESCRIPTION="Qt WebChannel" if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm arm64 ~loong ppc ~ppc64 ~riscv x86" + KEYWORDS="~amd64 arm arm64 ~loong ppc ~ppc64 ~riscv x86" fi IUSE="qml" diff --git a/dev-qt/qtwebsockets/qtwebsockets-6.11.2.ebuild b/dev-qt/qtwebsockets/qtwebsockets-6.11.2.ebuild index dca132e9899a..0d2ada9ca5eb 100644 --- a/dev-qt/qtwebsockets/qtwebsockets-6.11.2.ebuild +++ b/dev-qt/qtwebsockets/qtwebsockets-6.11.2.ebuild @@ -8,7 +8,7 @@ inherit qt6-build DESCRIPTION="Implementation of the WebSocket protocol for the Qt6 framework" if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv x86" + KEYWORDS="~amd64 arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv x86" fi IUSE="qml +ssl" diff --git a/dev-util/aruba/aruba-2.3.3.ebuild b/dev-util/aruba/aruba-2.3.3.ebuild index 594bcd78bda2..477fb5f12950 100644 --- a/dev-util/aruba/aruba-2.3.3.ebuild +++ b/dev-util/aruba/aruba-2.3.3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -20,7 +20,7 @@ SRC_URI="https://github.com/cucumber/aruba/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="MIT" SLOT="$(ver_cut 1)" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="test" DEPEND="test? ( app-alternatives/bc )" diff --git a/dev-util/bloaty/bloaty-1.1-r2.ebuild b/dev-util/bloaty/bloaty-1.1-r2.ebuild index 1f32cf382373..ca6eee24413d 100644 --- a/dev-util/bloaty/bloaty-1.1-r2.ebuild +++ b/dev-util/bloaty/bloaty-1.1-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -15,7 +15,7 @@ if [[ ${PV} == 9999 ]]; then RESTRICT="!test? ( test )" else SRC_URI="https://github.com/google/${PN}/releases/download/v${PV}/${P}.tar.bz2" - KEYWORDS="~amd64 ~arm64 ~loong" + KEYWORDS="amd64 ~arm64 ~loong" fi LICENSE="Apache-2.0" diff --git a/dev-util/diffoscope/diffoscope-327.ebuild b/dev-util/diffoscope/diffoscope-327.ebuild index 7300956155bc..8aff790468e5 100644 --- a/dev-util/diffoscope/diffoscope-327.ebuild +++ b/dev-util/diffoscope/diffoscope-327.ebuild @@ -19,7 +19,7 @@ SRC_URI=" LICENSE="GPL-3+" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~x86" +KEYWORDS="~amd64 ~arm arm64 ~x86" IUSE="acl binutils bzip2 libcaca colord cpio +diff docx dtc e2fsprogs file find gettext gif gpg haskell hdf5 hex imagemagick iso java libguestfs llvm lzma mono opendocument pascal pdf postscript R rpm sqlite squashfs diff --git a/dev-util/opencl-headers/opencl-headers-2026.05.29.ebuild b/dev-util/opencl-headers/opencl-headers-2026.05.29.ebuild index b07b399ad33c..d127f7b0b03f 100644 --- a/dev-util/opencl-headers/opencl-headers-2026.05.29.ebuild +++ b/dev-util/opencl-headers/opencl-headers-2026.05.29.ebuild @@ -15,7 +15,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" +KEYWORDS="~amd64 arm64 ~loong ppc64 ~riscv ~x86" IUSE="test" RESTRICT="!test? ( test )" diff --git a/dev-util/pwntools/pwntools-4.14.1.ebuild b/dev-util/pwntools/pwntools-4.14.1.ebuild index 4badae92eef7..b43e84370ce2 100644 --- a/dev-util/pwntools/pwntools-4.14.1.ebuild +++ b/dev-util/pwntools/pwntools-4.14.1.ebuild @@ -16,7 +16,7 @@ if [[ ${PV} == "9999" ]]; then else SRC_URI="https://github.com/Gallopsled/pwntools/archive/${PV/_beta/beta}.tar.gz -> ${P}.gh.tar.gz" if [[ ${PV} != *_beta* ]] ; then - KEYWORDS="amd64 arm64 ~riscv x86" + KEYWORDS="amd64 arm64 ~riscv" fi S="${WORKDIR}/${PN}-${PV/_beta/beta}" fi diff --git a/dev-util/pwntools/pwntools-4.15.0.ebuild b/dev-util/pwntools/pwntools-4.15.0.ebuild index ea50d4fa9d7c..81e62a01601c 100644 --- a/dev-util/pwntools/pwntools-4.15.0.ebuild +++ b/dev-util/pwntools/pwntools-4.15.0.ebuild @@ -16,7 +16,7 @@ if [[ ${PV} == "9999" ]]; then else SRC_URI="https://github.com/Gallopsled/pwntools/archive/${PV/_beta/beta}.tar.gz -> ${P}.gh.tar.gz" if [[ ${PV} != *_beta* ]] ; then - KEYWORDS="amd64 ~arm64 ~riscv x86" + KEYWORDS="amd64 ~arm64 ~riscv" fi S="${WORKDIR}/${PN}-${PV/_beta/beta}" fi diff --git a/dev-util/pwntools/pwntools-9999.ebuild b/dev-util/pwntools/pwntools-9999.ebuild index 055bd350246f..683023049c96 100644 --- a/dev-util/pwntools/pwntools-9999.ebuild +++ b/dev-util/pwntools/pwntools-9999.ebuild @@ -16,7 +16,7 @@ if [[ ${PV} == "9999" ]]; then else SRC_URI="https://github.com/Gallopsled/pwntools/archive/${PV/_beta/beta}.tar.gz -> ${P}.gh.tar.gz" if [[ ${PV} != *_beta* ]] ; then - KEYWORDS="~amd64 ~arm64 ~riscv ~x86" + KEYWORDS="~amd64 ~arm64 ~riscv" fi S="${WORKDIR}/${PN}-${PV/_beta/beta}" fi diff --git a/dev-vcs/gagit/gagit-4.ebuild b/dev-vcs/gagit/gagit-4.ebuild index cb8c027a9469..b21de3bc3939 100644 --- a/dev-vcs/gagit/gagit-4.ebuild +++ b/dev-vcs/gagit/gagit-4.ebuild @@ -13,7 +13,7 @@ SRC_URI=" LICENSE="GPL-2+" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~s390 ~x86" RDEPEND=" dev-vcs/git diff --git a/eclass/font-ebdftopcf.eclass b/eclass/font-ebdftopcf.eclass index afd77e083bee..97db3aa39d74 100644 --- a/eclass/font-ebdftopcf.eclass +++ b/eclass/font-ebdftopcf.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: font-ebdftopcf.eclass @@ -11,6 +11,9 @@ # @DESCRIPTION: # The manpage for this eclass is in media-gfx/ebdftopcf. # Inherit this eclass after font.eclass +# +# In EAPI 9 and newer, this eclass is deprecated in favor of font.eclass's +# native BDF to OTB conversion via FONT_OPENTYPE_COMPAT=1. case ${EAPI} in 7) ;; diff --git a/eclass/font.eclass b/eclass/font.eclass index f0261ad05dd6..e8d763e1e1c1 100644 --- a/eclass/font.eclass +++ b/eclass/font.eclass @@ -4,11 +4,11 @@ # @ECLASS: font.eclass # @MAINTAINER: # fonts@gentoo.org -# @SUPPORTED_EAPIS: 7 8 +# @SUPPORTED_EAPIS: 7 8 9 # @BLURB: Eclass to make font installation uniform case ${EAPI} in - 7|8) ;; + 7|8|9) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac @@ -50,12 +50,27 @@ FONT_CONF=( "" ) # Determines whether detected BDF and PCF font files should be converted # to an SFNT wrapper, for use with newer Pango. -if [[ ${CATEGORY}/${PN} != media-fonts/encodings ]]; then +# @ECLASS_VARIABLE: FONT_DEPEND +# @OUTPUT_VARIABLE +# @DESCRIPTION: +# Contains dependencies on mkfontscale and encodings in *DEPEND format +# needed for font_xfont_config. +FONT_DEPEND=" + >=x11-apps/mkfontscale-1.2.0 + media-fonts/encodings +" + +# @ECLASS_VARIABLE: FONT_AUTO_DEPEND +# @PRE_INHERIT +# @DESCRIPTION: +# Set to 'no' to disable automatically adding USE=X and FONT_DEPEND to BDEPEND. +# This allows ebuilds to handle dependencies or X font generation conditionally +# under their own USE flag or unconditionally. +: "${FONT_AUTO_DEPEND:=yes}" + +if [[ ${CATEGORY}/${PN} != media-fonts/encodings && ${FONT_AUTO_DEPEND} != "no" ]]; then IUSE="X" - BDEPEND="X? ( - >=x11-apps/mkfontscale-1.2.0 - media-fonts/encodings - )" + BDEPEND="X? ( ${FONT_DEPEND} )" fi if [[ -n ${FONT_OPENTYPE_COMPAT} ]] ; then @@ -63,6 +78,19 @@ if [[ -n ${FONT_OPENTYPE_COMPAT} ]] ; then BDEPEND+=" opentype-compat? ( x11-apps/fonttosfnt )" fi +# @FUNCTION: font_bdf_to_otb +# @USAGE: <output.otb> [input1.bdf...] +# @DESCRIPTION: +# Converts and merges one or more BDF font files into a single OpenType +# Bitmap (OTB) font using x11-apps/fonttosfnt. If no input files are +# specified, uncompressed BDF is read from stdin. +font_bdf_to_otb() { + [[ $# -ge 1 ]] || die "Usage: ${FUNCNAME} <output.otb> [input1.bdf...]" + local out=$1 + shift + fonttosfnt -v -o "${out}" ${@:+-- "$@"} || die "Failed to convert BDF ${*:-stdin} to ${out}" +} + # @FUNCTION: font_wrap_opentype_compat # @DESCRIPTION: # Converts .bdf and .pcf fonts detected within ${ED} to the OTB wrapper format @@ -84,22 +112,26 @@ font_wrap_opentype_compat() { } # @FUNCTION: font_xfont_config +# @USAGE: [directory] # @DESCRIPTION: # Generate Xorg font files (mkfontscale/mkfontdir). font_xfont_config() { local dir_name - if in_iuse X && use X ; then - dir_name="${1:-${FONT_PN}}" - rm -f "${ED}${FONTDIR}/${1//${S}/}"/{fonts.{dir,scale},encodings.dir} \ - || die "failed to prepare ${FONTDIR}/${1//${S}/}" - einfo "Creating fonts.scale & fonts.dir in ${dir_name##*/}" - mkfontscale "${ED}${FONTDIR}/${1//${S}/}" || eerror "failed to create fonts.scale" - mkfontdir \ - -e "${EPREFIX}"/usr/share/fonts/encodings \ - -e "${EPREFIX}"/usr/share/fonts/encodings/large \ - "${ED}${FONTDIR}/${1//${S}/}" || eerror "failed to create fonts.dir" - [[ -e fonts.alias ]] && doins fonts.alias + + if ! in_iuse X || ! use X ; then + return fi + + dir_name="${1:-${FONT_PN}}" + rm -f "${ED}${FONTDIR}/${1//${S}/}"/{fonts.{dir,scale},encodings.dir} \ + || die "failed to prepare ${FONTDIR}/${1//${S}/}" + einfo "Creating fonts.scale & fonts.dir in ${dir_name##*/}" + mkfontscale "${ED}${FONTDIR}/${1//${S}/}" || eerror "failed to create fonts.scale" + mkfontdir \ + -e "${EPREFIX}"/usr/share/fonts/encodings \ + -e "${EPREFIX}"/usr/share/fonts/encodings/large \ + "${ED}${FONTDIR}/${1//${S}/}" || eerror "failed to create fonts.dir" + [[ -e fonts.alias ]] && doins fonts.alias } # @FUNCTION: font_fontconfig @@ -173,15 +205,54 @@ font_pkg_setup() { fi } +# @FUNCTION: font_src_compile +# @DESCRIPTION: +# The font src_compile function. Converts BDF fonts to OTB when +# FONT_OPENTYPE_COMPAT is enabled. +font_src_compile() { + debug-print-function ${FUNCNAME} "$@" + + case ${EAPI} in + 7|8) die "${FUNCNAME} is not supported in EAPI ${EAPI}" ;; + esac + + if [[ -z ${FONT_OPENTYPE_COMPAT} ]] || ! in_iuse opentype-compat || ! use opentype-compat ; then + return + fi + + local dirs=() + if [[ $(declare -p FONT_S 2>/dev/null) == "declare -a"* ]]; then + dirs=( "${FONT_S[@]}" ) + else + dirs=( "${FONT_S:-${S}}" ) + fi + local file out + while IFS= read -rd '' file; do + out=${file%.gz} + out=${out%.*}.otb + if [[ ${file} == *.gz ]]; then + gzip -cd -- "${file}" | font_bdf_to_otb "${out}" + pipestatus || die "Failed to convert ${file} to OTB" + else + font_bdf_to_otb "${out}" "${file}" + fi + done < <(find "${dirs[@]}" \( -name '*.bdf' -o -name '*.bdf.gz' \) -type f -print0) + [[ " ${FONT_SUFFIX} " != *" otb "* ]] && FONT_SUFFIX+=" otb" +} + # @FUNCTION: font_src_install # @DESCRIPTION: # The font src_install function. font_src_install() { local dir suffix commondoc - if [[ -n ${FONT_OPENTYPE_COMPAT} ]] && in_iuse opentype-compat && use opentype-compat ; then - font_wrap_opentype_compat - fi + case ${EAPI} in + 7|8) + if [[ -n ${FONT_OPENTYPE_COMPAT} ]] && in_iuse opentype-compat && use opentype-compat ; then + font_wrap_opentype_compat + fi + ;; + esac if [[ $(declare -p FONT_S 2>/dev/null) == "declare -a"* ]]; then # recreate the directory structure if FONT_S is an array @@ -239,7 +310,7 @@ _update_fontcache() { # @DESCRIPTION: # The font pkg_postinst function. font_pkg_postinst() { - if [[ -n ${FONT_CONF[@]} ]]; then + if [[ -z ${REPLACING_VERSIONS} && -n ${FONT_CONF[@]} ]]; then local conffile elog "The following fontconfig configuration files have been installed:" elog @@ -265,3 +336,7 @@ font_pkg_postrm() { fi EXPORT_FUNCTIONS pkg_setup src_install pkg_postinst pkg_postrm +case ${EAPI} in + 7|8) ;; + *) EXPORT_FUNCTIONS src_compile ;; +esac diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass index 489c394dc30c..a76f460ce521 100644 --- a/eclass/llvm.org.eclass +++ b/eclass/llvm.org.eclass @@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then _LLVM_SOURCE_TYPE=snapshot case ${PV} in + 24.0.0_pre20260919) + EGIT_COMMIT=3dcd66d0110335d7d1a5921fd085914b66ffbd3c + ;; 24.0.0_pre20260916) EGIT_COMMIT=02bd47db9d3c4313fe1b5054ed8a1a081f1b7f78 ;; diff --git a/games-engines/uzdoom/Manifest b/games-engines/uzdoom/Manifest index 1dcc8c6d580b..f8457bd54c94 100644 --- a/games-engines/uzdoom/Manifest +++ b/games-engines/uzdoom/Manifest @@ -1 +1,2 @@ DIST uzdoom-4.14.3.tar.gz 26435472 BLAKE2B b7d276686375222d910c1f2727d551c59c249b8ad9967c1d486b619af87d187436cc67dc020e4581de80b6d7efb53f03e96101b35b39d943f6e7673346217b4c SHA512 452ee3dcb1338027886dd5555400a7e0477f1104f7edefe538af85d27565ab2506496376ebe877fea8cea6cc310b9ae2f1311fed8d62d2719f8943eb7273fd09 +DIST uzdoom-5.0.1.tar.gz 53210982 BLAKE2B 6f3fdfba1f472f9fd0f02f6c824b6574595cff9838a39ba4bf9161b8bdfc7801efd3dfe5eddda70144391c651d189036fd6c610c9881f232101d1b65d9b62d5a SHA512 fb851464f0ab532d638e7d447b747fd5356934555cb610aac00db176c76557ce41bf62dab9509cb51ae02d32e521426a4b75532b04b565f3f3acdc6c78bf6aca diff --git a/games-engines/uzdoom/files/uzdoom-5.0.1-deps.patch b/games-engines/uzdoom/files/uzdoom-5.0.1-deps.patch new file mode 100644 index 000000000000..599a8b3e5aab --- /dev/null +++ b/games-engines/uzdoom/files/uzdoom-5.0.1-deps.patch @@ -0,0 +1,195 @@ +https://github.com/UZDoom/UZDoom/pull/1890 +https://github.com/UZDoom/UZDoom/pull/1891 +https://github.com/UZDoom/UZDoom/pull/1896 + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -12,6 +12,9 @@ set(CMAKE_CXX_EXTENSIONS OFF) + + set(ABSL_BUILD_TESTING OFF) # don't build/run abseil tests + ++# UZDoom itself has no libs. Ensure bundled dependencies are statically linked. ++set( BUILD_SHARED_LIBS OFF CACHE INTERNAL "" FORCE ) ++ + # make all targets use LTO - want to do this early in the cmake to ensure it applies to any targets + option( FORCE_NO_LTO "Turn off LTO even if it would be possible to use it." NO ) + +@@ -252,6 +255,11 @@ option( NO_OPENAL "Disable OpenAL sound support" OFF ) + find_package( BZip2 ) + find_package( VPX ) + ++include( FindPkgConfig ) ++if( PkgConfig_FOUND ) ++ pkg_check_modules( WEBP IMPORTED_TARGET libwebpdecoder libwebpmux ) ++endif() ++ + if (CURL_REQUIRED) + find_package( CURL ) + if( MSVC AND NOT CURL_FOUND ) +@@ -342,7 +350,6 @@ else() + include(CheckSymbolExists) + check_symbol_exists( "fts_set" "sys/types.h;sys/stat.h;fts.h" HAVE_FTS ) + if ( NOT HAVE_FTS ) +- include ( FindPkgConfig ) + pkg_check_modules( MUSL_FTS musl-fts ) + if ( MUSL_FTS_FOUND ) + list(JOIN MUSL_FTS_LDFLAGS " " MUSL_FTS_LDFLAGS_JOINED) +@@ -389,6 +396,7 @@ set( CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${DEB_C_FLAGS} -D_DEBUG" ) + + option(FORCE_INTERNAL_BZIP2 "Use internal bzip2") + option(FORCE_INTERNAL_CPPDAP "Use internal cppdap" ON) ++option(FORCE_INTERNAL_WEBP "Use internal webp" ON) + + if (HAVE_VULKAN) + add_subdirectory( libraries/ZVulkan ) +@@ -402,8 +410,6 @@ add_subdirectory( libraries/abseil ) + set(ZWIDGET_BUILD_EXAMPLE OFF CACHE INTERNAL "" FORCE) + add_subdirectory( libraries/ZWidget ) + +-add_subdirectory( libraries/webp ) +- + if( HAVE_VM_JIT AND UNIX ) + check_symbol_exists( "backtrace" "execinfo.h" HAVE_BACKTRACE ) + if( NOT HAVE_BACKTRACE ) +@@ -439,15 +445,23 @@ if ( CPPDAP_FOUND AND NOT FORCE_INTERNAL_CPPDAP ) + message( STATUS "Using system cppdap library, includes found at ${CPPDAP_INCLUDE_DIR}" ) + else() + message( STATUS "Using internal cppdap library" ) +- add_subdirectory( libraries/cppdap ) ++ add_subdirectory( libraries/cppdap EXCLUDE_FROM_ALL ) + set( CPPDAP_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/libraries/cppdap" ) + set( CPPDAP_LIBRARIES cppdap ) + set( CPPDAP_LIBRARY cppdap ) + set( CPPDAP_FOUND TRUE ) + endif() + ++if ( WEBP_FOUND AND NOT FORCE_INTERNAL_WEBP ) ++ message( STATUS "Using system webp library, includes found at ${WEBP_libwebpdecoder_INCLUDEDIR}" ) ++ set( WEBP_TARGET PkgConfig::WEBP ) ++else() ++ message( STATUS "Using internal webp library" ) ++ add_subdirectory( libraries/webp ) ++ set( WEBP_TARGET webp ) ++endif() ++ + # ZMUSIC +-set( BUILD_SHARED_LIBS OFF CACHE INTERNAL "" FORCE ) + add_subdirectory( libraries/ZMusic ) + set( ZMUSIC_ROOT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/libraries/zmusic" ) + set( ZMUSIC_INCLUDE_DIR ${ZMUSIC_ROOT_PATH}/include ) +@@ -483,12 +497,6 @@ add_subdirectory( wadsrc_lights ) + add_subdirectory( wadsrc_extra ) + add_subdirectory( wadsrc_widepix ) + +-if( ZMUSIC_SYSTEM_INSTALL ) +- # Internal ZMusic library provides miniz target, miniz.h file in partuclar +- # It's not the case with system-wide ZMusic installation +- add_subdirectory( libraries/miniz ) +-endif() +- + if( NOT CMAKE_CROSSCOMPILING ) + export(TARGETS ${CROSS_EXPORTS} FILE "${CMAKE_BINARY_DIR}/ImportExecutables.cmake" ) + endif() +--- a/libraries/ZMusic/source/CMakeLists.txt ++++ b/libraries/ZMusic/source/CMakeLists.txt +@@ -161,7 +161,7 @@ use_fast_math(zmusiclite) + + # Although zmusic-obj puts the public include directory in our private include + # list, we need to add it to the interface include directories for consumers. +-target_include_directories(zmusic INTERFACE $<INSTALL_INTERFACE:include> $<BUILD_INTERFACE:${ZMusic_SOURCE_DIR}/include>) ++target_include_directories(zmusic INTERFACE $<INSTALL_INTERFACE:include> $<BUILD_INTERFACE:${ZMusic_SOURCE_DIR}/include> $<BUILD_INTERFACE:${ZMusic_SOURCE_DIR}/source/loader>) + target_include_directories(zmusiclite INTERFACE $<INSTALL_INTERFACE:include> $<BUILD_INTERFACE:${ZMusic_SOURCE_DIR}/include>) + + target_link_libraries_hidden(zmusic zmusic-obj adl oplsynth opn timidity timidityplus wildmidi fluidsynth) +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -12,7 +12,6 @@ include( CheckCXXCompilerFlag ) + include( CheckIncludeFile ) + include( CheckIncludeFiles ) + include( CheckLibraryExists ) +-include( FindPkgConfig ) + + if( DEM_CMAKE_COMPILER_IS_GNUCXX_COMPATIBLE ) + option( NO_STRIP "Do not strip Release or MinSizeRel builds" ) +@@ -301,8 +300,9 @@ if (HAVE_VULKAN) + list( APPEND PROJECT_LIBRARIES "zvulkan" ) + endif() + ++list( APPEND PROJECT_LIBRARIES "zmusic" ) + list( APPEND PROJECT_LIBRARIES "zwidget" ) +-list( APPEND PROJECT_LIBRARIES "webp" ) ++list( APPEND PROJECT_LIBRARIES "${WEBP_TARGET}" ) + + message("Building for target architecture: ${TARGET_ARCHITECTURE}") + +@@ -1211,10 +1211,6 @@ set (PCH_SOURCES + utility/system_theme.cpp + ) + +-if( ZMUSIC_SYSTEM_INSTALL OR NOT DEFINED BUILD_SHARED_LIBS OR BUILD_SHARED_LIBS) +- set ( PCH_SOURCES ${PCH_SOURCES} common/utility/i_module.cpp ) +-endif() +- + if( ${HAVE_VM_JIT} ) + set( PCH_SOURCES ${PCH_SOURCES} ${VM_JIT_SOURCES} ) + else() +@@ -1391,7 +1387,6 @@ include_directories( + launcher + ../libraries/ZVulkan/include + ../libraries/ZWidget/include +- ../libraries/webp/include + ../libraries/range_map/include + ${SYSTEM_SOURCES_DIR} + ) +@@ -1441,8 +1436,7 @@ else() + COMMAND ${CMAKE_CURRENT_BINARY_DIR}/link-make ) + IF ("${INSTALL_RPATH}" STREQUAL "") + set_target_properties(zdoom PROPERTIES +- #allow libzmusic.so.1 library in same folder as executable at runtime +- INSTALL_RPATH "\$ORIGIN:\$ORIGIN/zmusic/build/source" ++ INSTALL_RPATH "\$ORIGIN" + BUILD_WITH_INSTALL_RPATH ON + ) + endif() +@@ -1467,22 +1461,6 @@ add_custom_command(TARGET zdoom POST_BUILD + VERBATIM + ) + +-if ( NOT ZMUSIC_SYSTEM_INSTALL AND (NOT DEFINED BUILD_SHARED_LIBS OR BUILD_SHARED_LIBS)) +- # bring zmusic in +- add_custom_command(TARGET zdoom POST_BUILD +- COMMAND ${CMAKE_COMMAND} -E copy_if_different +- $<TARGET_FILE:zmusic> $<TARGET_FILE_DIR:zdoom>) +- if ( NOT WIN32 ) +- add_custom_command(TARGET zdoom POST_BUILD +- COMMAND ${CMAKE_COMMAND} -E create_symlink +- $<TARGET_FILE_NAME:zmusic> $<TARGET_SONAME_FILE_NAME:zmusic> +- COMMAND ${CMAKE_COMMAND} -E create_symlink +- $<TARGET_SONAME_FILE_NAME:zmusic> $<TARGET_LINKER_FILE_NAME:zmusic> +- WORKING_DIRECTORY $<TARGET_FILE_DIR:zdoom>) +- endif() +- add_dependencies(zdoom zmusic) +-endif() +- + if (VCPKG_TOOLCHAIN) + x_vcpkg_install_local_dependencies(TARGETS zdoom DESTINATION ".") + endif() +@@ -1552,18 +1530,6 @@ if( APPLE ) + set( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -rpath @executable_path" ) + endif() + +-if ( NOT ZMUSIC_SYSTEM_INSTALL ) +- if ( WIN32 OR APPLE ) +- # nothing to do +- else() +- install(TARGETS zmusic +- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} +- PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} +- COMPONENT "Game executable" +- ) +- endif() +-endif() +- + if( WIN32 ) + set( INSTALL_PATH . CACHE STRING "Directory where the executable will be placed during install." ) + else() diff --git a/games-engines/uzdoom/metadata.xml b/games-engines/uzdoom/metadata.xml index dd2fa0ee70a8..886e7d67ce50 100644 --- a/games-engines/uzdoom/metadata.xml +++ b/games-engines/uzdoom/metadata.xml @@ -6,6 +6,8 @@ <name>Gentoo Games Project</name> </maintainer> <use> + <flag name="mpg123">Enable support for MPEG audio playback via <pkg>media-sound/mpg123</pkg> + </flag> <flag name="non-free">Install non-free components for an optimal experience of commercial games</flag> <flag name="swr">Enable the software renderer</flag> </use> diff --git a/games-engines/uzdoom/uzdoom-5.0.1.ebuild b/games-engines/uzdoom/uzdoom-5.0.1.ebuild new file mode 100644 index 000000000000..350ba47f9d91 --- /dev/null +++ b/games-engines/uzdoom/uzdoom-5.0.1.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake flag-o-matic xdg + +MY_PN="UZDoom" +DESCRIPTION="Modder-friendly hardware-accelerated source port of the DOOM engine" +HOMEPAGE="https://zdoom.org" +SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${MY_PN}-${PV}" + +LICENSE="Apache-2.0 BSD BZIP2 GPL-3 LGPL-2.1+ LGPL-3 MIT + non-free? ( Activision ChexQuest3 DOOM-COLLECTORS-EDITION freedist WidePix )" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64" +IUSE="alsa debug gles2 mpg123 +non-free openmp +sndfile +swr telemetry vulkan" + +DEPEND=" + app-arch/bzip2:= + media-libs/libsdl2[gles2?,joystick,opengl,video,vulkan?] + media-libs/libvpx:= + media-libs/libwebp:= + media-libs/openal + + alsa? ( media-libs/alsa-lib ) + mpg123? ( media-sound/mpg123 ) + sndfile? ( media-libs/libsndfile[-minimal] ) +" +RDEPEND=" + ${DEPEND} + !games-fps/gzdoom +" +BDEPEND=" + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-5.0.1-deps.patch +) + +src_prepare() { + # The bundled cppdap is heavily modified. + rm -r docs/licenses libraries/{bzip2,webp} || die + cmake_src_prepare + + cat <<-EOF > "${S}/src/gitinfo.h" || die + // 0 + // The above line prevents UpdateRevision.cmake from replacing this file. + // This file was generated by the Gentoo ebuild. + + #define GIT_DESCRIPTION "${PV}" + #define GIT_TAG "0" + #define GIT_DISTANCE 0 + #define GIT_HASH "0" + #define GIT_TIME "" + EOF +} + +src_configure() { + # https://bugs.gentoo.org/858749 + filter-lto + append-flags -fno-strict-aliasing + + local mycmakeargs=( + -DBUILD_NONFREE=$(usex non-free) + -DDYN_OPENAL=OFF + -DFORCE_INTERNAL_WEBP=OFF + -DFORCE_NO_LTO=ON + -DHAVE_GLES2=$(usex gles2) + -DHAVE_VULKAN=$(usex vulkan) + -DINSTALL_DOCS_PATH="${EPREFIX}/usr/share/doc/${PF}" + -DINSTALL_PK3_PATH="${EPREFIX}/usr/share/doom" + -DINSTALL_SOUNDFONT_PATH="${EPREFIX}/usr/share/doom" + -DNO_OPENAL=OFF + -DNO_OPENMP=$(usex !openmp) + -DSEND_ANON_STATS=$(usex telemetry) + -DZDOOM_ENABLE_SWR=$(usex swr) + + -DCMAKE_DISABLE_FIND_PACKAGE_ALSA="$(usex !alsa)" + -DCMAKE_DISABLE_FIND_PACKAGE_MPG123="$(usex !mpg123)" + -DCMAKE_DISABLE_FIND_PACKAGE_SndFile="$(usex !sndfile)" + -DDYN_MPG123=OFF + -DDYN_SNDFILE=OFF + ) + + use debug || append-cppflags -DNDEBUG + cmake_src_configure +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use non-free ; then + ewarn + ewarn "${MY_PN} has been installed without non-free components. Commercial" + ewarn "games should still run, but the experience may be suboptimal." + ewarn + fi +} diff --git a/gnome-base/gdm/Manifest b/gnome-base/gdm/Manifest index f718db1a636a..23d86eb4042f 100644 --- a/gnome-base/gdm/Manifest +++ b/gnome-base/gdm/Manifest @@ -1,5 +1,5 @@ DIST gdm-48.0.tar.xz 939740 BLAKE2B 77ba0e24c1a1fd17e25adf46ce9d9e881a21143536bba63907e489837e1574b1ec1c5e0836d7539fcd616608a1bb7b8881a0330566d3da2fa8c028969914e754 SHA512 3e4a320cc6a0b43d65122bacd2b99531695f20ec809a767b957d63a511e00da017a9a4abe815596c6ad1398c5d427418d5c51bf6162216f60fdae5e8095bd305 DIST gdm-49.2.tar.xz 968944 BLAKE2B 880672b61a534a225f7db80ce1d1e050e11c883b5eca8ec963cdac9ce9ff55a3e5bf1157910330a4cc5d918e983308f823e11683654303456486e7983ee063f7 SHA512 2055d17d00e76427ff36cfb7cc18c73cab90954bd2ed25048e43d60980a6d4a86e64e6cf478eb26269ff4100fec262e4b5a08e5ee706523ee4ed8199c0bd62b0 -DIST gdm-49.3.tar.xz 1015288 BLAKE2B ded7b6cd28475bdbde452321affd4a510e123515a4c33776d8b4fdc61ad90f946b6634f980e8ecb1df3344f1d2f51c68c3210c0a6cadef7bec9f39f188225958 SHA512 7bd87411ab432ec14c6d3186c6e602aa49e85cce59686499b4689a23287c0280fa8062838a5abdf5bd5ddaa09aadcbbdb469188833fcc05362cd3e58f901edf0 DIST gdm-49.4.tar.xz 1016128 BLAKE2B 9625751d5562b7b7bd7835bd1d913840f0ee42a855e6e41522c92c63c7b0091fc414e969a5d773813f15153774551fbc0edc82d099f2f5d75d18f90136e3bbaf SHA512 03b812b8b6f2caad542d1f81329bc959c53ea8b64eb6fa67a6a9290727baf98be0d7f2ee1e5476d213cf4f732b282d750c9d938d575c785991a5a8b217dd63c8 +DIST gdm-50.3.tar.xz 1004984 BLAKE2B 07759a3662bb680da1e8f7ea49dea5bf91d7ec0d382668deb2b71fe5842e17b4c3fdef0f5b676c31b6bf27abc84becb165e8e12dac466a969cf073b411b987cb SHA512 04519ece8ff8faead594ae9870397731111b2716c4af3cc635515f41b96cc84c5e6d3c17b414a721576bb5f074ca9502b1b6d3fcda0d69407626f1a33f2072d0 DIST tango-gentoo-v1.1.tar.gz 29322 BLAKE2B 83fa2bf37727e60851dd679054fe1b153ebfea58c9a9a40f891f7d68d3b047b02e8effa1d1b4e08d64500a2072ce7200f159c92a352da7124de27e1b05bb6027 SHA512 87d47ddab68361db6d99866c51705dcb3e198f8345a1096859acf2c6cca5099dd23c7fb30d124f52c4933ea38fd45fadffbbe6ecbdfa84f5b60938a4824f9045 diff --git a/gnome-base/gdm/gdm-50.3-r1.ebuild b/gnome-base/gdm/gdm-50.3-r1.ebuild new file mode 100644 index 000000000000..4d7269db337a --- /dev/null +++ b/gnome-base/gdm/gdm-50.3-r1.ebuild @@ -0,0 +1,202 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop gnome.org gnome2-utils meson pam readme.gentoo-r1 systemd xdg + +DESCRIPTION="GNOME Display Manager for managing graphical display servers and user logins" +HOMEPAGE="https://gitlab.gnome.org/GNOME/gdm" + +SRC_URI="${SRC_URI} + branding? ( https://www.mail-archive.com/tango-artists@lists.freedesktop.org/msg00043/tango-gentoo-v1.1.tar.gz ) +" + +LICENSE=" + GPL-2+ + branding? ( CC-BY-SA-4.0 ) +" + +SLOT="0" + +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + +IUSE="audit debug branding elogind fprint plymouth selinux systemd test video_cards_nvidia +X" + +RESTRICT="!test? ( test )" +REQUIRED_USE="^^ ( elogind systemd )" + +# dconf, dbus and g-s-d are needed at install time for dconf update +# keyutils is automagic dep that makes autologin unlock login keyring +# when all the passwords match (disk encryption, user pw and login keyring) +# dbus-run-session used at runtime. +COMMON_DEPEND=" + >=dev-libs/libgudev-232:= + >=dev-libs/glib-2.68:2 + >=dev-libs/json-glib-1.2.0 + >=sys-apps/accountsservice-0.6.35:= + sys-auth/polkit + sys-apps/keyutils:= + selinux? ( sys-libs/libselinux ) + + X? ( x11-libs/libXau ) + + systemd? ( >=sys-apps/systemd-257:0=[pam] ) + elogind? ( >=sys-auth/elogind-239.3[pam] ) + + plymouth? ( sys-boot/plymouth ) + audit? ( sys-process/audit ) + + sys-libs/pam + sys-auth/pambase[elogind?,systemd?] + + >=gnome-base/dconf-0.20 + >=gnome-base/gnome-settings-daemon-3.1.4 + gnome-base/gsettings-desktop-schemas + sys-apps/dbus + + >=x11-misc/xdg-utils-1.0.2-r3 + + >=dev-libs/gobject-introspection-1.82.0-r2:= +" +# XXX: These deps are from session and desktop files in data/ directory +# fprintd is used via dbus by gdm-fingerprint-extension +RDEPEND="${COMMON_DEPEND} + acct-group/gdm + acct-user/gdm + >=gnome-base/gnome-shell-50 + x11-apps/xhost + + fprint? ( sys-auth/fprintd[pam] ) + + systemd? ( + video_cards_nvidia? ( + x11-drivers/nvidia-drivers + sys-apps/acl + ) + ) +" +# This is a 'workaround' built into gdm 49, as elogind does not yet have +# 'working' userdb support in stable or testing. +# https://github.com/elogind/elogind/issues/323 +RDEPEND+="elogind? ( acct-user/gdm-greeter )" +DEPEND="${COMMON_DEPEND} + x11-base/xorg-proto +" +BDEPEND=" + dev-util/gdbus-codegen + dev-util/glib-utils + dev-util/itstool + >=gnome-base/dconf-0.20 + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + test? ( >=dev-libs/check-0.9.4 ) +" + +DOC_CONTENTS=" + To start GDM at boot with systemd, run:\n + # systemctl enable gdm.service\n + \n + To start GDM at boot with OpenRC, set DISPLAYMANAGER=\"gdm\"\n + in /etc/conf.d/display-manager and enable the display-manager service:\n + # rc-update add display-manager\n + \n + For passwordless login to unlock your keyring, you need to install + sys-auth/pambase with USE=gnome-keyring and set an empty password + on your keyring. Use app-crypt/seahorse for that.\n + \n + You may need to install app-crypt/coolkey and sys-auth/pam_pkcs11 + for smartcard support +" + +src_prepare() { + default + + # Show logo when branding is enabled + use branding && eapply "${FILESDIR}/${PN}-3.30.3-logo.patch" + eapply "${FILESDIR}/gdm-pam-openrc.patch" +} + +src_configure() { + # --with-initial-vt=7 conflicts with plymouth, bug #453392 + # gdm-3.30 now reaps (stops) the login screen when the login VT isn't active, which + # saves on memory. However this means if we don't start on VT1, gdm doesn't start up + # before user manually goes to VT7. Thus as-is we can not keep gdm away from VT1, + # so lets try always having it in VT1 and see if that is an issue for people before + # hacking up workarounds for the initial start case. + local emesonargs=( + --localstatedir /var + + -Ddefault-pam-config=exherbo + -Dgdm-xsession=true + -Dgroup=gdm + $(meson_feature audit libaudit) + -Dlogind-provider=$(usex systemd systemd elogind) + -Dpam-mod-dir=$(getpam_mod_dir) + $(meson_feature plymouth) + -Drun-dir=/run/gdm + $(meson_feature selinux) + $(meson_use systemd systemd-journal) + $(meson_use X x11-support) + ) + + if use elogind; then + emesonargs+=( + -Dinitial-vt=7 # TODO: Revisit together with startDM.sh and other xinit talks; also ignores plymouth possibility + -Dsystemdsystemunitdir=no + -Dsystemduserunitdir=no + ) + else + emesonargs+=( + -Dinitial-vt=1 + -Dsystemdsystemunitdir="$(systemd_get_systemunitdir)" + -Dsystemduserunitdir="$(systemd_get_userunitdir)" + ) + fi + + meson_src_configure +} + +src_install() { + meson_src_install + + # Ensure that gdm-greeter-XXX dynamic users have the needed + # permissions on nvidia systems, bug #973590 + if use systemd && use video_cards_nvidia; then + insinto /usr/lib/systemd/system/gdm.service.d + doins "${FILESDIR}/90-nvidia-acl.conf" + fi + + # install XDG_DATA_DIRS gdm changes + echo 'XDG_DATA_DIRS="/usr/share/gdm"' > 99xdg-gdm + doenvd 99xdg-gdm + + use branding && newicon "${WORKDIR}/tango-gentoo-v1.1/scalable/gentoo.svg" gentoo-gdm.svg + + readme.gentoo_create_doc +} + +pkg_postinst() { + xdg_pkg_postinst + gnome2_schemas_update + + local d ret + + # bug #669146; gdm may crash if /var/lib/gdm subdirs are not owned by gdm:gdm + ret=0 + ebegin "Fixing ${EROOT}/var/lib/gdm ownership" + chown --no-dereference gdm:gdm "${EROOT}/var/lib/gdm" || ret=1 + for d in "${EROOT}/var/lib/gdm/"{.cache,.color,.config,.dbus,.local}; do + [[ ! -e "${d}" ]] || chown --no-dereference -R gdm:gdm "${d}" || ret=1 + done + eend ${ret} + + systemd_reenable gdm.service + readme.gentoo_print_elog + +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +} diff --git a/gnome-base/gdm/gdm-49.3-r3.ebuild b/gnome-base/gdm/gdm-50.3.ebuild index dcce10178e63..ba7a00e3e463 100644 --- a/gnome-base/gdm/gdm-49.3-r3.ebuild +++ b/gnome-base/gdm/gdm-50.3.ebuild @@ -3,7 +3,7 @@ EAPI=8 -inherit desktop gnome.org gnome2-utils meson pam readme.gentoo-r1 systemd udev xdg +inherit desktop gnome.org gnome2-utils meson pam readme.gentoo-r1 systemd xdg DESCRIPTION="GNOME Display Manager for managing graphical display servers and user logins" HOMEPAGE="https://gitlab.gnome.org/GNOME/gdm" @@ -21,7 +21,7 @@ SLOT="0" KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" -IUSE="audit debug bluetooth-sound branding elogind fprint plymouth selinux systemd tcpd test video_cards_nvidia +X" +IUSE="audit debug bluetooth-sound branding elogind fprint plymouth selinux systemd test video_cards_nvidia +X" RESTRICT="!test? ( test )" REQUIRED_USE="^^ ( elogind systemd )" @@ -31,23 +31,15 @@ REQUIRED_USE="^^ ( elogind systemd )" # when all the passwords match (disk encryption, user pw and login keyring) # dbus-run-session used at runtime. COMMON_DEPEND=" - virtual/udev >=dev-libs/libgudev-232:= >=dev-libs/glib-2.68:2 >=dev-libs/json-glib-1.2.0 >=sys-apps/accountsservice-0.6.35:= + sys-auth/polkit sys-apps/keyutils:= selinux? ( sys-libs/libselinux ) - X? ( - x11-libs/libxcb - x11-libs/libX11 - x11-libs/libXau - x11-base/xorg-server[-minimal] - x11-libs/libXdmcp - >=x11-libs/gtk+-2.91.1:3[X] - ) - tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) + X? ( x11-libs/libXau ) systemd? ( >=sys-apps/systemd-257:0=[pam] ) elogind? ( >=sys-auth/elogind-239.3[pam] ) @@ -72,16 +64,17 @@ COMMON_DEPEND=" RDEPEND="${COMMON_DEPEND} acct-group/gdm acct-user/gdm - >=gnome-base/gnome-shell-49 + >=gnome-base/gnome-shell-50 + x11-apps/xhost fprint? ( sys-auth/fprintd[pam] ) + systemd? ( video_cards_nvidia? ( x11-drivers/nvidia-drivers sys-apps/acl ) ) - X? ( x11-apps/xhost ) " # This is a 'workaround' built into gdm 49, as elogind does not yet have # 'working' userdb support in stable or testing. @@ -116,13 +109,6 @@ DOC_CONTENTS=" for smartcard support " -PATCHES=( - # Multiple upstream fixes from 49.x and 50.x branches - "${FILESDIR}"/gdm-49.2-display-reference.patch - "${FILESDIR}"/gdm-49.2-boot_display-sysfs.patch - "${FILESDIR}"/gdm-49.2-XDG_SESSION_EXTRA_DEVICE_ACCESS.patch -) - src_prepare() { default @@ -144,7 +130,6 @@ src_configure() { -Ddefault-pam-config=exherbo -Dgdm-xsession=true -Dgroup=gdm - -Dipv6=true $(meson_feature audit libaudit) -Dlogind-provider=$(usex systemd systemd elogind) -Dpam-mod-dir=$(getpam_mod_dir) @@ -152,12 +137,7 @@ src_configure() { -Drun-dir=/run/gdm $(meson_feature selinux) $(meson_use systemd systemd-journal) - $(meson_use tcpd tcp-wrappers) - -Dudev-dir=$(get_udevdir)/rules.d - -Duser=gdm - -Duser-display-server=true $(meson_use X x11-support) - $(meson_feature X xdmcp) ) if use elogind; then @@ -221,11 +201,9 @@ pkg_postinst() { systemd_reenable gdm.service readme.gentoo_print_elog - udev_reload } pkg_postrm() { xdg_pkg_postrm gnome2_schemas_update - udev_reload } diff --git a/gnome-base/gnome-control-center/Manifest b/gnome-base/gnome-control-center/Manifest index 902ec0c48942..339de78a2324 100644 --- a/gnome-base/gnome-control-center/Manifest +++ b/gnome-base/gnome-control-center/Manifest @@ -1,6 +1,6 @@ DIST gnome-control-center-49.5-patchset.tar.xz 6384 BLAKE2B 4ba396513539f8b8d88b33527989c32edb3ccf219ee3867f9fcd468a85b5361d04b79fe2e590d72e2d7fa9e9ba41eba82c6e66e3c06780ecc07ea65de29c9278 SHA512 3f4c6b8d970dea1980b2fcf9fea80efb4fe8f6cf53e4e43736533ab94d9fcfaf4f0ad89b35b939a52048b261d30ced0626b424fd70cfce210716ea7e62e0af67 -DIST gnome-control-center-49.7.tar.xz 7077972 BLAKE2B e1090d458e7f5034e48df169a580ce23b5a871a5e835966ec8c7e720679dbbbb9793295bbb60475f07310d4c331ea9477f6b0f227ffffcc4e9a7565d91195c4e SHA512 7345370c2e78166225cbc5a34bbd2e1c75f51fcfe67aaa5197db4be20679363f6ade8fb9090b88ebbcd803ccc0fbcacf78d9b94f5adeea67c209eb427d53e142 -DIST gnome-control-center-49.8.tar.xz 7110244 BLAKE2B 6e1f62b01acc93fd2a4da400b5f48d09718bfddd923e6f6e3500d58525a5f643fd08868d9cedf9eca26154def3b9b2f9f0d87ccf1588280ec5acc71c6a33899b SHA512 69994d80887a920a45c1068ac53eeb9ae163caec9ad1423be591084f5a9b7109860d38f760ae2eb1650bbf1db37c52252a65dcc265b3aa76f2eaa456f39ea8f0 DIST gnome-control-center-49.9.tar.xz 7110980 BLAKE2B 3629c9b999008e89f11278ab4570347b4728b6149826a24951f09fdb670075ca020c48e952ec40ca5a1f67e69187bb9c072ba59f6920f66012a88f95331f055a SHA512 84b47dd29af602c0373821bbc8b6cdf61a792697f91f3d16e8dbee5519325ba8cd40689d1cfeae5701d44a76083f5df03e39c17cba6420976285e0ee34b5751f +DIST gnome-control-center-50.4-patchset.tar.xz 6412 BLAKE2B 087ca99a983d18368800f409c08d57bf38e183dc245fc083990981a8c7dbf0a09c38ac9f81729aa875ba388c81942bd9a142f0686340b40f72ad9aa79b988083 SHA512 8132831e210f5f22aaab12e15bdd26177b9559987ea259cb282e34f6f743508d1376327d967f446e8db444f39ebb55bbc6aea13ff32917433729b8ebcaafd2e7 +DIST gnome-control-center-50.4.tar.xz 7106016 BLAKE2B 72b092b69ea24e0a1d68055d207e418b16dd97a070aad9a0028cc2405ef57ed376cbb5c90c5172eca84900b811402f48227e62acfb8b4dbfa6a8ddfe0a321e16 SHA512 60e4bc9e6b31edf2765f786bcbd49bed683f21960f48eeb6bb87c44602fb7ae32d85b7d930e8cdcfcd8d0eb5a9c5a1d0c08e0a8ddd213f8c5a4c8d29c3359c95 DIST gnome-control-center-gentoo-logo-dark.svg 14293 BLAKE2B 570e9326b8abe45849c31fd5cdb3fcfb1b2f18eac522f958928df5c3b747b0699f50a882f31cf7c0ae1f2138194f18596f738f42c942b57d340c53d46d82c551 SHA512 91227dafcf2091bb1568b0f9eec68b5e371ec64c9a6bc3605821f60d6bf2bd94dec0564f6a16a4a70d1db4d4df49fc25b6c910367bae3b85205cc609a9f2701b DIST gnome-control-center-gentoo-logo.svg 14288 BLAKE2B 371fc68b1015c8672db3e3858ae9077b1e3a9937e6add8690c39db36302ec031391c4d35e0c0b87094ca474a00c4187849e2d7111df34f43bc5bd7be52678527 SHA512 cf88933546de54ca15e2e830ac1086a78c4150f0ff59b8091e7e1cade5961c4e4cb83120a818a960b77841353ce3584ddc8f36b6edbde05543600283a143ad7b diff --git a/gnome-base/gnome-control-center/gnome-control-center-49.7.ebuild b/gnome-base/gnome-control-center/gnome-control-center-49.7.ebuild deleted file mode 100644 index ad97fcbf3e46..000000000000 --- a/gnome-base/gnome-control-center/gnome-control-center-49.7.ebuild +++ /dev/null @@ -1,212 +0,0 @@ -# Copyright 2023-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{13..14} ) - -inherit gnome.org gnome2-utils meson python-any-r1 virtualx xdg - -DESCRIPTION="GNOME's main interface to configure various aspects of the desktop" -HOMEPAGE="https://apps.gnome.org/Settings" -SRC_URI+=" https://dev.gentoo.org/~pacho/${PN}/${PN}-49.5-patchset.tar.xz" -SRC_URI+=" https://dev.gentoo.org/~mattst88/distfiles/${PN}-gentoo-logo.svg" -SRC_URI+=" https://dev.gentoo.org/~mattst88/distfiles/${PN}-gentoo-logo-dark.svg" -# Logo is CC-BY-SA-2.5 -LICENSE="GPL-2+ CC-BY-SA-2.5" -SLOT="2" -KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86" - -IUSE="+bluetooth +cups debug elogind +gnome-online-accounts +ibus input_devices_wacom kerberos +geolocation networkmanager systemd test X" -REQUIRED_USE=" - ^^ ( elogind systemd ) -" # Theoretically "?? ( elogind systemd )" is fine too, lacking some functionality at runtime, -# but needs testing if handled gracefully enough - -RESTRICT="!test? ( test )" - -# kerberos unfortunately means mit-krb5; build fails with heimdal -# display panel requires colord and gnome-settings-daemon[colord] -# wacom panel requires gsd-enums.h from gsd at build time, probably also runtime support -# printer panel requires cups and smbclient (the latter is not patched yet to be separately optional) -# First block is toplevel meson.build deps in order of occurrence (plus deeper deps if in same conditional). -# Second block is dependency() from subdir meson.builds, sorted by directory name occurrence order -DEPEND=" - gnome-online-accounts? ( - x11-libs/gtk+:3 - >=net-libs/gnome-online-accounts-3.51.0:= - ) - >=media-libs/libpulse-2.0[glib] - >=gui-libs/gtk-4.17.1:4[X?,wayland] - >=gui-libs/libadwaita-1.8_alpha:1 - >=sys-apps/accountsservice-23.11.69 - >=x11-misc/colord-0.1.34:0= - >=x11-libs/gdk-pixbuf-2.23.0:2 - >=dev-libs/glib-2.76.6:2 - gnome-base/gnome-desktop:4= - >=gnome-base/gnome-settings-daemon-49 - >=gnome-base/gsettings-desktop-schemas-48_alpha - dev-libs/libxml2:2= - >=sys-power/upower-1.90.6:= - >=dev-libs/libgudev-232 - media-libs/libepoxy - >=app-crypt/gcr-4.1.0 - >=dev-libs/libpwquality-1.2.2 - >=sys-auth/polkit-0.114 - cups? ( - >=net-print/cups-1.7[dbus] - >=net-fs/samba-4.0.0[client] - ) - ibus? ( >=app-i18n/ibus-1.5.2 ) - networkmanager? ( - >=net-libs/libnma-1.10.2 - >=net-misc/networkmanager-1.52.0[modemmanager] - >=net-misc/modemmanager-0.7.990:= - ) - X? ( - >=x11-libs/libX11-1.8 - >=x11-libs/libXi-1.2 - ) - bluetooth? ( net-wireless/gnome-bluetooth:3= ) - input_devices_wacom? ( >=dev-libs/libwacom-1.4:= ) - kerberos? ( app-crypt/mit-krb5 ) - - x11-libs/cairo[glib] - >=x11-libs/colord-gtk-0.3.0:= - media-libs/fontconfig - gnome-base/libgtop:2= - >=sys-fs/udisks-2.1.8:2 - app-crypt/libsecret - net-libs/gnutls:= - media-libs/gsound - - x11-libs/pango -" -# media-libs/libcanberra[pulseaudio,sound] needed for Speaker tests in -# Settings/Sound/Output/Output Device, bug #814110 -# systemd/elogind USE flagged because package manager will potentially try to satisfy a -# "|| ( systemd ( elogind openrc-settingsd)" via systemd if openrc-settingsd isn't already installed. -# gnome-color-manager needed for gcm-calibrate and gcm-viewer calls from color panel -# <gnome-color-manager-3.1.2 has file collisions with g-c-c-3.1.x -# -# mouse panel needs a concrete set of X11 drivers at runtime, bug #580474 -# Also we need newer driver versions to allow wacom and libinput drivers to -# not collide -# -# system-config-printer provides org.fedoraproject.Config.Printing service and interface -# cups-pk-helper provides org.opensuse.cupspkhelper.mechanism.all-edit policykit helper policy -RDEPEND="${DEPEND} - media-libs/libcanberra[pulseaudio,sound(+)] - systemd? ( >=sys-apps/systemd-31 ) - elogind? ( - app-admin/openrc-settingsd - sys-auth/elogind - ) - x11-themes/adwaita-icon-theme - >=gnome-extra/gnome-color-manager-3.1.2 - cups? ( - app-admin/system-config-printer - net-print/cups-pk-helper - ) - >=gnome-extra/tecla-47.0 - dev-libs/libinput - X? ( - >=x11-drivers/xf86-input-libinput-0.19.0 - input_devices_wacom? ( >=x11-drivers/xf86-input-wacom-0.33.0 ) - ) -" -# PDEPEND to avoid circular dependency; gnome-session-check-accelerated called by info panel -# gnome-session-2.91.6-r1 also needed so that 10-user-dirs-update is run at login -PDEPEND=">=gnome-base/gnome-session-2.91.6-r1 - networkmanager? ( gnome-extra/nm-applet )" # networking panel can call into nm-connection-editor - -# meson.build depends on python unconditionally -BDEPEND="${PYTHON_DEPS} - dev-libs/libxslt - app-text/docbook-xsl-stylesheets - app-text/docbook-xml-dtd:4.2 - x11-base/xorg-proto - dev-libs/libxml2:2 - >=dev-util/blueprint-compiler-0.17 - dev-util/gdbus-codegen - dev-util/glib-utils - >=sys-devel/gettext-0.19.8 - virtual/pkgconfig - test? ( - $(python_gen_any_dep ' - dev-python/python-dbusmock[${PYTHON_USEDEP}] - ') - x11-apps/setxkbmap - ) -" - -PATCHES=( - # Makes some panels and dependencies optional - # https://bugzilla.gnome.org/686840, 697478, 700145 - # Fix some absolute paths to be appropriate for Gentoo - "${WORKDIR}"/patches/ -) - -python_check_deps() { - use test || return 0 - python_has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]" -} - -pkg_setup() { - python-any-r1_pkg_setup -} - -src_prepare() { - default - xdg_environment_reset - # Mark python tests with shebang executable, so that meson will launch them directly, instead - # of via its own python-single-r1 version, which might not match what we get from python_check_deps - chmod a+x tests/network/test-network-panel.py tests/datetime/test-datetime.py || die -} - -src_configure() { - local emesonargs=( - $(meson_use bluetooth) - $(meson_use cups) - -Ddeprecated-declarations=disabled - -Ddocumentation=true # manpage - -Dlocation-services=$(usex geolocation enabled disabled) - -Dgoa=$(usex gnome-online-accounts enabled disabled) - $(meson_use ibus) - $(meson_use kerberos) - $(meson_use networkmanager network_manager) - -Dprivileged_group=wheel - -Dsnap=false - $(meson_use test tests) - $(meson_use input_devices_wacom wacom) - # bashcompletions installed to $datadir/bash-completion/completions by v3.28.2, - # which is the same as $(get_bashcompdir) - $(meson_use X x11) - -Dmalcontent=false # unpackaged - -Ddistributor_logo=/usr/share/pixmaps/gnome-control-center-gentoo-logo.svg - -Ddark_mode_distributor_logo=/usr/share/pixmaps/gnome-control-center-gentoo-logo-dark.svg - ) - meson_src_configure -} - -src_test() { - # tests are fragile to long socket paths, bug #921583 - local -x TMPDIR=/tmp - virtx meson_src_test -} - -src_install() { - meson_src_install - insinto /usr/share/pixmaps - doins "${DISTDIR}"/gnome-control-center-gentoo-logo.svg - doins "${DISTDIR}"/gnome-control-center-gentoo-logo-dark.svg -} - -pkg_postinst() { - xdg_pkg_postinst - gnome2_schemas_update -} - -pkg_postrm() { - xdg_pkg_postrm - gnome2_schemas_update -} diff --git a/gnome-base/gnome-control-center/gnome-control-center-49.8-r1.ebuild b/gnome-base/gnome-control-center/gnome-control-center-50.4.ebuild index 405a0c65841f..772e26031766 100644 --- a/gnome-base/gnome-control-center/gnome-control-center-49.8-r1.ebuild +++ b/gnome-base/gnome-control-center/gnome-control-center-50.4.ebuild @@ -2,13 +2,14 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=8 + PYTHON_COMPAT=( python3_{13..14} ) inherit gnome.org gnome2-utils meson python-any-r1 virtualx xdg DESCRIPTION="GNOME's main interface to configure various aspects of the desktop" HOMEPAGE="https://apps.gnome.org/Settings" -SRC_URI+=" https://dev.gentoo.org/~pacho/${PN}/${PN}-49.5-patchset.tar.xz" +SRC_URI+=" https://dev.gentoo.org/~pacho/${PN}/${PN}-50.4-patchset.tar.xz" SRC_URI+=" https://dev.gentoo.org/~mattst88/distfiles/${PN}-gentoo-logo.svg" SRC_URI+=" https://dev.gentoo.org/~mattst88/distfiles/${PN}-gentoo-logo-dark.svg" # Logo is CC-BY-SA-2.5 @@ -16,7 +17,7 @@ LICENSE="GPL-2+ CC-BY-SA-2.5" SLOT="2" KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" -IUSE="+bluetooth +cups debug elogind +gnome-online-accounts +ibus input_devices_wacom kerberos +geolocation networkmanager systemd test X" +IUSE="+bluetooth +cups debug elogind +gnome-online-accounts +ibus input_devices_wacom kerberos +geolocation networkmanager systemd test" REQUIRED_USE=" ^^ ( elogind systemd ) " # Theoretically "?? ( elogind systemd )" is fine too, lacking some functionality at runtime, @@ -30,21 +31,20 @@ RESTRICT="!test? ( test )" # printer panel requires cups and smbclient (the latter is not patched yet to be separately optional) # First block is toplevel meson.build deps in order of occurrence (plus deeper deps if in same conditional). # Second block is dependency() from subdir meson.builds, sorted by directory name occurrence order +# TODO: add >=gnome-base/gmobile-0.6.0 above the accountsservice dep line +# when packaged. DEPEND=" - gnome-online-accounts? ( - x11-libs/gtk+:3 - >=net-libs/gnome-online-accounts-3.51.0:= - ) + gnome-online-accounts? ( >=net-libs/gnome-online-accounts-3.51.0:= ) >=media-libs/libpulse-2.0[glib] - >=gui-libs/gtk-4.17.1:4[X?,wayland] + >=gui-libs/gtk-4.15.2:4[X,wayland] >=gui-libs/libadwaita-1.8_alpha:1 >=sys-apps/accountsservice-23.11.69:= >=x11-misc/colord-0.1.34:0= >=x11-libs/gdk-pixbuf-2.23.0:2 >=dev-libs/glib-2.76.6:2 gnome-base/gnome-desktop:4= - >=gnome-base/gnome-settings-daemon-49 - >=gnome-base/gsettings-desktop-schemas-48_alpha + >=gnome-base/gnome-settings-daemon-48_rc + >=gnome-base/gsettings-desktop-schemas-50_alpha dev-libs/libxml2:2= >=sys-power/upower-1.90.6:= >=dev-libs/libgudev-232 @@ -62,10 +62,6 @@ DEPEND=" >=net-misc/networkmanager-1.52.0[modemmanager] >=net-misc/modemmanager-0.7.990:= ) - X? ( - >=x11-libs/libX11-1.8 - >=x11-libs/libXi-1.2 - ) bluetooth? ( net-wireless/gnome-bluetooth:3= ) input_devices_wacom? ( >=dev-libs/libwacom-1.4:= ) kerberos? ( app-crypt/mit-krb5 ) @@ -109,10 +105,7 @@ RDEPEND="${DEPEND} ) >=gnome-extra/tecla-47.0 dev-libs/libinput - X? ( - >=x11-drivers/xf86-input-libinput-0.19.0 - input_devices_wacom? ( >=x11-drivers/xf86-input-wacom-0.33.0 ) - ) + input_devices_wacom? ( >=x11-drivers/xf86-input-wacom-0.33.0 ) " # PDEPEND to avoid circular dependency; gnome-session-check-accelerated called by info panel # gnome-session-2.91.6-r1 also needed so that 10-user-dirs-update is run at login @@ -126,7 +119,7 @@ BDEPEND="${PYTHON_DEPS} app-text/docbook-xml-dtd:4.2 x11-base/xorg-proto dev-libs/libxml2:2 - >=dev-util/blueprint-compiler-0.17 + >=dev-util/blueprint-compiler-0.19 dev-util/gdbus-codegen dev-util/glib-utils >=sys-devel/gettext-0.19.8 @@ -137,6 +130,7 @@ BDEPEND="${PYTHON_DEPS} ') x11-apps/setxkbmap ) + dev-util/wayland-scanner " PATCHES=( @@ -180,8 +174,7 @@ src_configure() { $(meson_use input_devices_wacom wacom) # bashcompletions installed to $datadir/bash-completion/completions by v3.28.2, # which is the same as $(get_bashcompdir) - $(meson_use X x11) - -Dmalcontent=false # unpackaged + -Dmalcontent=false # unpackaged in the main tree -Ddistributor_logo=/usr/share/pixmaps/gnome-control-center-gentoo-logo.svg -Ddark_mode_distributor_logo=/usr/share/pixmaps/gnome-control-center-gentoo-logo-dark.svg ) diff --git a/gnome-base/gnome-session-openrc/Manifest b/gnome-base/gnome-session-openrc/Manifest index 61f7afff9c02..c0c55ebe5253 100644 --- a/gnome-base/gnome-session-openrc/Manifest +++ b/gnome-base/gnome-session-openrc/Manifest @@ -1,2 +1,3 @@ DIST gnome-session-openrc-49.2.tar.gz 16244 BLAKE2B 63c93dff4534e301b6b982be9430bf9f431d492e874ced901a4528ef407629da58edcdc9d8d1181ac15a9d3aab3af865d6ab4bec342665bb7837ab1f4c88377a SHA512 90ae0c748aea08aa7cc5b858e951c1825d77f28e7ba681e99e85249bed33214cbe793d85b09475b613ede23d49d8625359054d49e66bfe60f541c271f4b0b46f DIST gnome-session-openrc-49.3.tar.gz 17962 BLAKE2B 428ad5f7b9c9156e7f75b4baabf9eccb8649e2b478b8c7c1469db91dc90dbea5b675dd1fe05f07f1dd1293a166773cf7d73cc3e5e145e8d4ca24027b581705ce SHA512 c61f288831b6682bbbf6a1f8e70c3b61a14019a853026d52343ae80570221c1e5e44c5c1b111b128cc866e6f8d577e7ae1ef4824105d4ca270b5710fa025bce4 +DIST gnome-session-openrc-50.0.tar.gz 15323 BLAKE2B 9dbaa0bbc21d6d2ad534d3e82f5e35d67b9fa7a2b00d7b27a761e5812a5618ca39203346f84e4731b8217e70f4e0709e5a39bf9fe930d630f5e394ac92438734 SHA512 5ed50085f5d7f7752c2d7a9f3216fe4e35e2dbcc4f2f2a22692076129767570359d89bb341818395684e7382cbacc1eb2182d7ccb27ee712d41acbfd54ae65a4 diff --git a/gnome-base/gnome-session-openrc/files/0001-leader-Get-DCONF_PROFILE-from-gdm-s-.config-environm.patch b/gnome-base/gnome-session-openrc/files/0001-leader-Get-DCONF_PROFILE-from-gdm-s-.config-environm.patch new file mode 100644 index 000000000000..108069e2bcd6 --- /dev/null +++ b/gnome-base/gnome-session-openrc/files/0001-leader-Get-DCONF_PROFILE-from-gdm-s-.config-environm.patch @@ -0,0 +1,115 @@ +From 7a7ec432f6e579f7409acee5f9287609d9703abe Mon Sep 17 00:00:00 2001 +From: Swagtoy <me@ow.swag.toys> +Date: Sat, 13 Jun 2026 02:33:40 -0400 +Subject: [PATCH] leader: Get DCONF_PROFILE from gdm's + .config/environment.d/gdm.conf + +GDM recently(?) started passing its environment variables via +systemd's .config/environment.d in v50, and in turn, leader-main.c +would try to get org.gnome.desktop.session's session-name value, which +was overriden to 'gnome-login' for the GDM DCONF_PROFILE. + +So we need to read the environment variables ourselves, just to get at +what we need. +--- + src/leader-openrc.c | 63 +++++++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 61 insertions(+), 2 deletions(-) + +diff --git a/src/leader-openrc.c b/src/leader-openrc.c +index a7eeb8c..0b9e5ca 100644 +--- a/src/leader-openrc.c ++++ b/src/leader-openrc.c +@@ -80,6 +80,63 @@ monitor_hangup_cb (int fd, + return G_SOURCE_REMOVE; + } + ++// This is all a hack! DCONF_PROFILE is not set in leader-main.c for ++// OpenRC systems since it relies on the systemd environment.d ++// file. So we have to read this ourselves. ++static void ++try_get_gsetting_gdm_session_name(char const *user, char **session_name) ++{ ++ if (g_getenv("DCONF_PROFILE") && !strcmp("gdm", g_getenv("DCONF_PROFILE"))) ++ { ++ // but oh, is it a mystery? it's safe to assure the ++ // below is done, as this is mostly all done in ++ // leader-main.c ++ return; ++ } ++ g_autoptr (GError) error = NULL; ++ // HACK: We need DCONF_PROFILE ++ if (!strcmp(*session_name, "gnome") && ++ (!strcmp(user, "gdm-greeter") || sscanf(user, "gdm-greeter-%*d") > 0)) ++ { ++ g_autofree char *filename = g_strdup_printf("/run/gdm/home/%s/.config/environment.d/gdm.conf", user); ++ g_autoptr (GIOChannel) chan = g_io_channel_new_file(filename, "r", &error); ++ if (error) ++ { ++ g_warning("Couldn't open %s: %s", filename, error->message); ++ goto out; ++ } ++ ++ char *env; ++ gsize len; ++ while (g_io_channel_read_line(chan, &env, &len, NULL, NULL) == G_IO_STATUS_NORMAL) ++ { ++ // anyone who tells you to use regex is lying to you ++ char key[64], val[256]; ++ if (sscanf(env, "%63[^=]=%255s", key, val) != 2) ++ goto out; ++ ++ // yes, this is the _only_ thing we want :) ++ if (!strcmp(key, "DCONF_PROFILE")) ++ { ++ g_debug("Setting %s to %s, the nasty way...", key, val); ++ setenv(key, val, true); ++ goto out; ++ } ++ } ++ } ++out: ++ g_debug("Dconf profile is: %s", g_getenv("DCONF_PROFILE")); ++ ++ if (g_getenv("DCONF_PROFILE") && !strcmp(g_getenv("DCONF_PROFILE"), "gdm")) ++ { ++ g_autoptr (GSettings) settings = g_settings_new("org.gnome.desktop.session"); ++ *session_name = g_settings_get_string(settings, "session-name"); ++ g_info("Hijacked the session-name: %s", *session_name); ++ } ++ ++ // we're fine at this point, it's probably just a regular user ++} ++ + static void + debug_logger (gchar const *log_domain, + GLogLevelFlags log_level, +@@ -99,7 +156,7 @@ main (int argc, char **argv) + g_log_set_default_handler(debug_logger, NULL); + g_autoptr (GError) error = NULL; + g_auto (Leader) ctx = { .fifo_fd = -1 }; +- const char *session_name = NULL; ++ g_autofree char *session_name = NULL; + const char *debug_string = NULL; + g_autofree char *target = NULL; + g_autofree char *fifo_path = NULL; +@@ -111,7 +168,7 @@ main (int argc, char **argv) + + if (argc < 2) + g_error ("No session name was specified"); +- session_name = argv[1]; ++ session_name = strdup(argv[1]); + + // probably not rely on this + char const *user = g_getenv("USER"); +@@ -119,6 +176,8 @@ main (int argc, char **argv) + user = "gdm-greeter"; // :/ + g_info("User is: %s", user); + ++ try_get_gsetting_gdm_session_name(user, &session_name); ++ + // strncmp because we also have gdm-greeter-{2,3,4,...} + if (strncmp(user, "gdm-greeter", sizeof("gdm-greeter")) == 0) + { +-- +2.53.0 + diff --git a/gnome-base/gnome-session-openrc/gnome-session-openrc-50.0.ebuild b/gnome-base/gnome-session-openrc/gnome-session-openrc-50.0.ebuild new file mode 100644 index 000000000000..6de1c7557ea2 --- /dev/null +++ b/gnome-base/gnome-session-openrc/gnome-session-openrc-50.0.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson + +DESCRIPTION="Gnome session leader for OpenRC" +HOMEPAGE="https://github.com/swagtoy/gnome-session-openrc" +SRC_URI="https://github.com/swagtoy/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" + +COMMON_DEPEND=" + >=dev-libs/glib-2.82.0:2 + >=sys-auth/elogind-242 +" +RDEPEND="${COMMON_DEPEND} + sys-apps/dbus + !<gnome-base/gnome-session-50 +" +DEPEND="${COMMON_DEPEND}" +BDEPEND=" + virtual/pkgconfig +" + +PATCHES=( + # TODO: Drop by 50.1 + "${FILESDIR}"/0001-leader-Get-DCONF_PROFILE-from-gdm-s-.config-environm.patch +) diff --git a/gnome-base/gnome-session/Manifest b/gnome-base/gnome-session/Manifest index 403136c85bb1..9738b9261558 100644 --- a/gnome-base/gnome-session/Manifest +++ b/gnome-base/gnome-session/Manifest @@ -1,3 +1,2 @@ -DIST gnome-session-48.0.tar.xz 488408 BLAKE2B 7565ba20d50a0c63afda5c6169ca4422ff4d1c8a5b2afe3e4ce25dfe21fab4e8c53feb6dbc93a0d625a9cf1ecee181d5c6f19bfc53e134b2bd09e32b29e5bf30 SHA512 84baafdf0d7a4f4b15faaacde02821f6449481d655c8d6ff6ea79996aa052483475c9a77a021d47001249c6c84c66be728f683a2b1725657b329c64fc7951dc0 -DIST gnome-session-49.2.tar.xz 394784 BLAKE2B 9539f706cd10c9ed8e6f5ede5f34a52a949026db369be9bda40b8cd99046c9064662790d767ecf0cb109fd40a05d1dde55a4676ac909ebffa3a818a57695da9a SHA512 acf1f0f9b4246fcf64092e195a49e76814ec745b339b05d45f8467a4e8f1382eafe0c1ac59d3c3294dde8bf46367270efb3d8bb4175b445d5ff4c3f341f76513 DIST gnome-session-49.3.tar.xz 394004 BLAKE2B c28a42da375431b29b8c339dccdaef28a749cdc8958bc3ba34ebc20acd60fd3e50a4e109e9488be9540bd4204d9ede5734b2c2db38dafcbcb0f4f35e00e0f382 SHA512 166dfe4c802109747ae1490269cb2cfa142986067f8fee95ed122c8096288d2e6e56912308c13a5334a43920841b35794d1056fe9181296d25fa26ed9d464131 +DIST gnome-session-50.1.tar.xz 401428 BLAKE2B 04cd5dadb5aded94687a835f56dd9b9d68190d50eff0ea8e2afa3c54e13ee25d55dc5e4eb92724df8307eadb783907d92df4c8847fd440c585e5656dd277f3db SHA512 8f2d2cc3eb39dc52fdef42696d633808605b311adedaa197813f90eff60517ee1cfd53754e62987115ed8325775ed62ed77796cfd1f457263d1d98d209468abe diff --git a/gnome-base/gnome-session/files/data-Install-XWayland-targets-even-if-x11-is-off.patch b/gnome-base/gnome-session/files/data-Install-XWayland-targets-even-if-x11-is-off.patch deleted file mode 100644 index 5c652105a8b2..000000000000 --- a/gnome-base/gnome-session/files/data-Install-XWayland-targets-even-if-x11-is-off.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 463eb29096fa2cb120867f6d5c4ffd225cdf84a8 Mon Sep 17 00:00:00 2001 -From: Adrian Vovk <adrianvovk@gmail.com> -Date: Mon, 5 May 2025 16:15:43 -0400 -Subject: [PATCH] data: Install XWayland targets even if x11 is off - -These targets are not just used on an x11 session, but also auto-started -for XWayland. - -Backport of !134 -Fixes #148 ---- - data/meson.build | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/data/meson.build b/data/meson.build -index bd66ff01..2c85b897 100644 ---- a/data/meson.build -+++ b/data/meson.build -@@ -138,13 +138,13 @@ systemd_target = files('gnome-session-wayland@.target', - 'gnome-session-initialized.target', - 'gnome-session-shutdown.target', - 'gnome-session-failed.target', -+ 'gnome-session-x11-services.target', -+ 'gnome-session-x11-services-ready.target', - ) - if have_x11 - systemd_target += [ - 'gnome-session-x11@.target', - 'gnome-session-x11.target', -- 'gnome-session-x11-services.target', -- 'gnome-session-x11-services-ready.target', - ] - endif - --- -GitLab - diff --git a/gnome-base/gnome-session/files/exclude-gnome-shell-from-queryendSession-and-endSession.patch b/gnome-base/gnome-session/files/exclude-gnome-shell-from-queryendSession-and-endSession.patch deleted file mode 100644 index 87aacf7e9a49..000000000000 --- a/gnome-base/gnome-session/files/exclude-gnome-shell-from-queryendSession-and-endSession.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 51eeea93291bf5f36ac99e528a22401cd17e0e23 Mon Sep 17 00:00:00 2001 -From: Adrian Vovk <adrianvovk@gmail.com> -Date: Wed, 4 Jun 2025 14:00:32 -0400 -Subject: [PATCH] Exclude gnome-shell from QueryEndSession and EndSession - -This is a temporary hack until we drop builtin session management from -gnome-session and can rely only on systemd session startup ---- - gnome-session/gsm-manager.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c -index f7bb26e6..743a372e 100644 ---- a/gnome-session/gsm-manager.c -+++ b/gnome-session/gsm-manager.c -@@ -821,6 +821,10 @@ _client_end_session (GsmClient *client, - gboolean ret; - GError *error; - -+ // HACK, but it's temporary until we drop builtin session startup. -+ if (g_strcmp0 ("org.gnome.Shell.desktop", gsm_client_peek_app_id (client)) == 0) -+ return FALSE; -+ - error = NULL; - ret = gsm_client_end_session (client, data->flags, &error); - if (! ret) { -@@ -1004,6 +1008,10 @@ _client_query_end_session (const char *id, - gboolean ret; - GError *error; - -+ // HACK, but it's temporary until we drop builtin session startup. -+ if (g_strcmp0 ("org.gnome.Shell.desktop", gsm_client_peek_app_id (client)) == 0) -+ return FALSE; -+ - error = NULL; - ret = gsm_client_query_end_session (client, data->flags, &error); - if (! ret) { --- -GitLab - diff --git a/gnome-base/gnome-session/files/gnome-session-46.0-meson-Support-elogind.patch b/gnome-base/gnome-session/files/gnome-session-46.0-meson-Support-elogind.patch deleted file mode 100644 index ac96d521b8f4..000000000000 --- a/gnome-base/gnome-session/files/gnome-session-46.0-meson-Support-elogind.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/meson.build 2024-07-29 16:43:01.812864903 +0200 -+++ b/meson.build 2024-07-29 16:54:16.654741387 +0200 -@@ -113,8 +113,13 @@ - pkgconfig_define: ['prefix', session_prefix]) - endif - --libsystemd_dep = dependency('libsystemd', version: '>= 209', required: true) --session_bin_deps += libsystemd_dep -+libsystemd_dep = dependency('libsystemd', version: '>= 209', required: false) -+if libsystemd_dep.found() -+ session_bin_deps += libsystemd_dep -+else -+ elogind_dep = dependency('libelogind', version: '>=209', required: true) -+ session_bin_deps += elogind_dep -+endif - - configure_file( - output: 'config.h', diff --git a/gnome-base/gnome-session/files/gnome-session-50.1-Make-systemd-optional.patch b/gnome-base/gnome-session/files/gnome-session-50.1-Make-systemd-optional.patch new file mode 100644 index 000000000000..11360e0cde7a --- /dev/null +++ b/gnome-base/gnome-session/files/gnome-session-50.1-Make-systemd-optional.patch @@ -0,0 +1,197 @@ +From 1f0f87bbcacaed80c02178bf74b87612578840cd Mon Sep 17 00:00:00 2001 +From: Swagtoy <me@ow.swag.toys> +Date: Fri, 20 Mar 2026 19:43:57 -0400 +Subject: [PATCH] Make systemd optional + +Starting from gnome session 49 onwards, systemd was integrated via a +leader, ctl, and a service file. This is fine; however, this was also +intentionally designed to allow for other leaders/ctl/tools to be +injected (such as the efforts with gnome-session-openrc). + +Despite this, systemd still remains a required dependency and you +cannot install gnome-session without it. Now, systemd is specified as +an meson option. It intentionally isn't a fallback if systemd isn't +found (like `required: false`) to ensure that non-systemd systems will +still error out, or in interesting cases where multiple binaries will +get built and could have both elogind and systemd stashed +somewhere. In either case, I don't think it's inappropriate to make it +an option, since it completely changes the way gnome-session builds +and functions too. + +If on, things will function as they would before this commit, +otherwise, it will toggle on elogind as a fallback so things still +function, disable the systemd leader, stop installing the unit files, +and tools. This ultimately opens the doors for things like +gnome-session-openrc 'to work,' by allowing for a custom leader, +tools, etc. + +Signed-off-by: Swagtoy <me@ow.swag.toys> +Signed-off-by: Emi <reedy.sailors.8t@icloud.com> +--- + data/meson.build | 47 +++++++++++++++++++++------------------ + gnome-session/meson.build | 2 ++ + meson.build | 9 ++++++-- + meson_options.txt | 1 + + tools/meson.build | 5 ++++- + 5 files changed, 39 insertions(+), 25 deletions(-) + +diff --git a/data/meson.build b/data/meson.build +index 3e5401a0..7db0497c 100644 +--- a/data/meson.build ++++ b/data/meson.build +@@ -16,11 +16,12 @@ i18n.merge_file( + ) + + # Next, let's install the necessary systemd scaffolding +- +-install_data( +- 'gnome.session.conf', +- install_dir: systemd_userunitdir / 'gnome-session@gnome.target.d', +-) ++if get_option('systemd') ++ install_data( ++ 'gnome.session.conf', ++ install_dir: systemd_userunitdir / 'gnome-session@gnome.target.d', ++ ) ++endif + + systemd_service = [ + 'gnome-session-manager@.service', +@@ -33,7 +34,7 @@ foreach service: systemd_service + configure_file( + input: service + '.in', + output: service, +- install: true, ++ install: get_option('systemd'), + install_dir: systemd_userunitdir, + configuration: { + 'libexecdir': session_libexecdir, +@@ -54,25 +55,27 @@ systemd_target = [ + 'gnome-session-x11-services-ready.target', + ] + +-install_data( +- systemd_target, +- install_dir: systemd_userunitdir +-) ++if get_option('systemd') ++ install_data( ++ systemd_target, ++ install_dir: systemd_userunitdir ++ ) + +-# Install resource limits that are applied to GNOME-launched apps ++ # Install resource limits that are applied to GNOME-launched apps + +-install_data( +- 'app-override.scope.conf', +- rename: 'override.conf', +- install_dir : join_paths(systemd_userunitdir, 'app-gnome-.scope.d') +-) ++ install_data( ++ 'app-override.scope.conf', ++ rename: 'override.conf', ++ install_dir : join_paths(systemd_userunitdir, 'app-gnome-.scope.d') ++ ) + +-# FIXME: https://github.com/systemd/systemd/issues/37104 +-install_data( +- 'app-override.scope.conf', +- rename: 'override.conf', +- install_dir : join_paths(systemd_userunitdir, 'app-flatpak-.scope.d') +-) ++ # FIXME: https://github.com/systemd/systemd/issues/37104 ++ install_data( ++ 'app-override.scope.conf', ++ rename: 'override.conf', ++ install_dir : join_paths(systemd_userunitdir, 'app-flatpak-.scope.d') ++ ) ++endif + + # Install some other misc. configuration files + +diff --git a/gnome-session/meson.build b/gnome-session/meson.build +index 67774960..c975fba1 100644 +--- a/gnome-session/meson.build ++++ b/gnome-session/meson.build +@@ -19,10 +19,12 @@ executable( + install_dir: session_bindir + ) + ++# If you are not using systemd, you must supply your own leader + sources = files( + 'gsm-util.c', + 'leader-systemd.c', + ) ++sources = get_option('systemd') ? sources : disabler() + + executable( + meson.project_name() + '-init-worker', +diff --git a/meson.build b/meson.build +index 2b9d524c..dbab0821 100644 +--- a/meson.build ++++ b/meson.build +@@ -86,17 +86,21 @@ session_deps = [ + dependency('gnome-desktop-4'), + ] + +-libsystemd_dep = dependency('libsystemd', version: '>= 209', required: true) ++libsystemd_dep = dependency('libsystemd', version: '>= 209', required: get_option('systemd'), disabler: true) + config_h.set('SYSTEMD_STRICT_ENV', + libsystemd_dep.version().version_compare('< 248')) + ++if not libsystemd_dep.found() ++ libsystemd_dep = dependency('libelogind', version: '>=209', required: true) ++endif ++ + session_bin_deps = session_deps + [ + libsystemd_dep, + dependency('gio-unix-2.0', version: glib_req_version), + ] + + systemd_userunitdir = get_option('systemduserunitdir') +-if systemd_userunitdir == '' ++if systemd_userunitdir == '' and libsystemd_dep.name() != 'libelogind' + systemd_dep = dependency('systemd', version: '>= 242', required: true) + systemd_userunitdir = systemd_dep.get_variable(pkgconfig: 'systemduserunitdir', + pkgconfig_define: ['prefix', session_prefix]) +@@ -130,6 +134,7 @@ summary_options = { + 'Use *_DISABLE_DEPRECATED': get_option('deprecation_flags'), + 'Build Docbook': get_option('docbook'), + 'Build manpages': get_option('man'), ++ 'Systemd Integration': get_option('systemd'), + 'Systemd Units Directory': systemd_userunitdir, + } + +diff --git a/meson_options.txt b/meson_options.txt +index e1d1afae..bca3e40d 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,4 +1,5 @@ + option('deprecation_flags', type: 'boolean', value: false, description: 'use *_DISABLE_DEPRECATED flags') ++option('systemd', type: 'boolean', value: true, description: 'Systemd integration, leader, etc.') + option('systemduserunitdir', type: 'string', description: 'Directory for systemd user service files') + option('docbook', type: 'boolean', value: true, description: 'build documentation') + option('man', type: 'boolean', value: true, description: 'build documentation (requires xmlto)') +diff --git a/tools/meson.build b/tools/meson.build +index c453093e..fb09020d 100644 +--- a/tools/meson.build ++++ b/tools/meson.build +@@ -1,10 +1,13 @@ + programs = [ + # name, deps, install_dir +- ['gnome-session-ctl', session_bin_deps, session_libexecdir], + ['gnome-session-inhibit', session_deps, session_bindir], + ['gnome-session-quit', session_deps, session_bindir], + ] + ++if get_option('systemd') ++ programs += [['gnome-session-ctl', session_bin_deps, session_libexecdir]] ++endif ++ + foreach program: programs + executable( + program[0], +-- +2.53.0 + diff --git a/gnome-base/gnome-session/gnome-session-48.0-r2.ebuild b/gnome-base/gnome-session/gnome-session-48.0-r2.ebuild deleted file mode 100644 index a7f4dd0683d2..000000000000 --- a/gnome-base/gnome-session/gnome-session-48.0-r2.ebuild +++ /dev/null @@ -1,124 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit desktop gnome.org gnome2-utils meson systemd xdg - -DESCRIPTION="Gnome session manager" -HOMEPAGE="https://gitlab.gnome.org/GNOME/gnome-session" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86" -IUSE="doc elogind systemd X" - -REQUIRED_USE="^^ ( elogind systemd )" - -COMMON_DEPEND=" - >=dev-libs/glib-2.46.0:2 - X? ( - >=x11-libs/gtk+-3.22.0:3[X] - x11-libs/libICE - x11-libs/libSM - x11-libs/libX11 - ) - >=gnome-base/gnome-desktop-3.34.2:3= - >=dev-libs/json-glib-0.10 - media-libs/libglvnd[X] - media-libs/libepoxy - x11-libs/libXcomposite - systemd? ( >=sys-apps/systemd-242:0= ) - elogind? ( >=sys-auth/elogind-239.4 ) -" - -# Pure-runtime deps from the session files should *NOT* be added here. -# >=gnome-settings-daemon-3.35.91 for UsbProtection required component. -# x11-misc/xdg-user-dirs{,-gtk} are needed to create the various XDG_*_DIRs, and -# create .config/user-dirs.dirs which is read by glib to get G_USER_DIRECTORY_* -# xdg-user-dirs-update is run during login (see 10-user-dirs-update-gnome below). -# sys-apps/dbus[X] is needed for session management. -# Our 90-xcursor-theme-gnome reads a setting from gsettings-desktop-schemas. -RDEPEND="${COMMON_DEPEND} - >=gnome-base/gnome-settings-daemon-3.35.91 - >=gnome-base/gsettings-desktop-schemas-0.1.7 - sys-apps/dbus[elogind=,systemd=,X] - - x11-misc/xdg-user-dirs - x11-misc/xdg-user-dirs-gtk -" -DEPEND="${COMMON_DEPEND} - x11-libs/xtrans -" -BDEPEND=" - dev-libs/libxslt - >=dev-util/gdbus-codegen-2.80.5-r1 - >=sys-devel/gettext-0.19.8 - virtual/pkgconfig - doc? ( - app-text/xmlto - app-text/docbook-xml-dtd:4.1.2 - ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-46.0-meson-Support-elogind.patch - "${FILESDIR}/data-Install-XWayland-targets-even-if-x11-is-off.patch" - - # https://bugs.gentoo.org/959295 user can't logout without it - "${FILESDIR}"/exclude-gnome-shell-from-queryendSession-and-endSession.patch -) - -src_prepare() { - default - xdg_environment_reset - - # Install USE=doc in ${PF} if enabled - sed -i -e "s:meson\.project_name(), 'dbus':'${PF}', 'dbus':" doc/dbus/meson.build || die -} - -src_configure() { - local emesonargs=( - -Ddeprecation_flags=false - -Dsession_selector=true # gnome-custom-session - $(meson_use doc docbook) - -Dman=true - -Dsystemduserunitdir="$(systemd_get_userunitdir)" - $(meson_use X x11) - ) - meson_src_configure -} - -src_install() { - meson_src_install - - exeinto /etc/X11/Sessions - doexe "${FILESDIR}/Gnome" - - newmenu "${FILESDIR}/defaults.list-r7" gnome-mimeapps.list - - exeinto /etc/X11/xinit/xinitrc.d/ - newexe "${FILESDIR}/15-xdg-data-gnome-r1" 15-xdg-data-gnome - - # This should be done here as discussed in bug #270852 - newexe "${FILESDIR}/10-user-dirs-update-gnome-r1" 10-user-dirs-update-gnome - - # Set XCURSOR_THEME from current dconf setting instead of installing - # default cursor symlink globally and affecting other DEs (bug #543488) - # https://bugzilla.gnome.org/show_bug.cgi?id=711703 - newexe "${FILESDIR}/90-xcursor-theme-gnome" 90-xcursor-theme-gnome -} - -pkg_postinst() { - xdg_pkg_postinst - gnome2_schemas_update - - if ! has_version gnome-base/gdm && ! has_version x11-misc/sddm; then - ewarn "If you use a custom .xinitrc for your X session," - ewarn "make sure that the commands in the xinitrc.d scripts are run." - fi -} - -pkg_postrm() { - xdg_pkg_postinst - gnome2_schemas_update -} diff --git a/gnome-base/gnome-session/gnome-session-49.2.ebuild b/gnome-base/gnome-session/gnome-session-50.1.ebuild index 49781dca9f69..f9fffb6f9cb1 100644 --- a/gnome-base/gnome-session/gnome-session-49.2.ebuild +++ b/gnome-base/gnome-session/gnome-session-50.1.ebuild @@ -9,14 +9,13 @@ HOMEPAGE="https://gitlab.gnome.org/GNOME/gnome-session" LICENSE="GPL-2+" SLOT="0" -KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86" -IUSE="doc elogind systemd X" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="doc elogind systemd" REQUIRED_USE="^^ ( elogind systemd )" COMMON_DEPEND=" >=dev-libs/glib-2.82.0:2 - gui-libs/gtk:4[X?] gnome-base/gnome-desktop:4 systemd? ( >=sys-apps/systemd-242:0= ) elogind? ( >=sys-auth/elogind-242 ) @@ -24,17 +23,11 @@ COMMON_DEPEND=" # Pure-runtime deps from the session files should *NOT* be added here. # >=gnome-settings-daemon-3.35.91 for UsbProtection required component. -# x11-misc/xdg-user-dirs{,-gtk} are needed to create the various XDG_*_DIRs, and -# create .config/user-dirs.dirs which is read by glib to get G_USER_DIRECTORY_* -# xdg-user-dirs-update is run during login (see 10-user-dirs-update-gnome below). -# sys-apps/dbus[X?] is needed for session management. -# Our 90-xcursor-theme-gnome reads a setting from gsettings-desktop-schemas. RDEPEND="${COMMON_DEPEND} >=gnome-base/gnome-settings-daemon-3.35.91 >=gnome-base/gsettings-desktop-schemas-0.1.7 - sys-apps/dbus[elogind=,systemd=,X?] + sys-apps/dbus[elogind=,systemd=] - x11-misc/xdg-user-dirs x11-misc/xdg-user-dirs-gtk !systemd? ( >=gnome-base/gnome-session-openrc-$(ver_cut 1) ) " @@ -51,7 +44,7 @@ BDEPEND=" " PATCHES=( - "${FILESDIR}"/${PN}-49.2-Make-systemd-optional.patch + "${FILESDIR}"/${PN}-50.1-Make-systemd-optional.patch ) src_prepare() { @@ -69,7 +62,6 @@ src_configure() { -Dman=true -Dsystemduserunitdir="$(systemd_get_userunitdir)" $(meson_use systemd systemd) - $(meson_use X x11) ) meson_src_configure } @@ -77,31 +69,12 @@ src_configure() { src_install() { meson_src_install - exeinto /etc/X11/Sessions - doexe "${FILESDIR}/Gnome" - newmenu "${FILESDIR}/defaults.list-r7" gnome-mimeapps.list - - exeinto /etc/X11/xinit/xinitrc.d/ - newexe "${FILESDIR}/15-xdg-data-gnome-r1" 15-xdg-data-gnome - - # This should be done here as discussed in bug #270852 - newexe "${FILESDIR}/10-user-dirs-update-gnome-r1" 10-user-dirs-update-gnome - - # Set XCURSOR_THEME from current dconf setting instead of installing - # default cursor symlink globally and affecting other DEs (bug #543488) - # https://bugzilla.gnome.org/show_bug.cgi?id=711703 - newexe "${FILESDIR}/90-xcursor-theme-gnome" 90-xcursor-theme-gnome } pkg_postinst() { xdg_pkg_postinst gnome2_schemas_update - - if ! has_version gnome-base/gdm && ! has_version x11-misc/sddm; then - ewarn "If you use a custom .xinitrc for your X session," - ewarn "make sure that the commands in the xinitrc.d scripts are run." - fi } pkg_postrm() { diff --git a/gnome-base/gnome-settings-daemon/Manifest b/gnome-base/gnome-settings-daemon/Manifest index e2465ad4c32e..469398a90d5e 100644 --- a/gnome-base/gnome-settings-daemon/Manifest +++ b/gnome-base/gnome-settings-daemon/Manifest @@ -1,2 +1,2 @@ -DIST gnome-settings-daemon-48.1.tar.xz 1498444 BLAKE2B e181be3af654cda9739fcb9cc388098ed001da8aa6d0f55357d8839c48db40c9b4c5056bfa44e2df9870941d992bca2c5dd8e3617ffb0ef33ede208067063311 SHA512 b4ce4fe5a2a6b9dcdc3a82f4460488b39adcb56e7345079d9558506146202d234562cfaa522b77d1eb0d468121a5aed5cec42983a78abc2fe0946dd78dc2bc40 DIST gnome-settings-daemon-49.1.tar.xz 1489824 BLAKE2B 1e4f250a7c4d258c17527aea7aed0e25697ade22ea84a906beec7039ac8f9b0825d883659f25fea19e9037341b9d489368ad3ff125eb494be10740fbbc137a3b SHA512 fe33b70fdf74ffccb806c99f9eb6159afcc4013d8c163a36648419a5dbc3317fc21efb05426585a52fb6dafae5830515523025f67eb5931f05552f07c5333191 +DIST gnome-settings-daemon-50.1.tar.xz 1498000 BLAKE2B 83bf3cc3bdae2a900b7b6b68e4e0093f7a3d91f4dac33a0712df27dd12998a97b33f18f9bab17d25a5e46c1c85e6c6333deb5c021e7903bd0d958d28619cae17 SHA512 c9b8f1d23a2933535f08db02ba2d12cf226bd86fabfddeddeb4d2028bd97ab6d973bf140ef9696dfb12a32aced3b1e0ba4bbaede8580c24d3ed03495133dd878 diff --git a/gnome-base/gnome-settings-daemon/files/42.1-build-Make-wacom-optional-and-controllable-via-meson.patch b/gnome-base/gnome-settings-daemon/files/42.1-build-Make-wacom-optional-and-controllable-via-meson.patch deleted file mode 100644 index 3956b7413978..000000000000 --- a/gnome-base/gnome-settings-daemon/files/42.1-build-Make-wacom-optional-and-controllable-via-meson.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 1e07481d4fd989828a7237c365e5420f50196ddd Mon Sep 17 00:00:00 2001 -From: Mart Raudsepp <leio@gentoo.org> -Date: Thu, 14 Mar 2019 09:43:00 +0200 -Subject: [PATCH] build: Make wacom optional and controllable via meson_options - ---- - meson.build | 4 ++-- - meson_options.txt | 1 + - 2 files changed, 3 insertions(+), 2 deletions(-) - -diff --git a/meson.build b/meson.build -index a8955a49..0ac4f3ba 100644 ---- a/meson.build -+++ b/meson.build -@@ -154,8 +154,8 @@ if enable_wayland - endif - config_h.set10('HAVE_WAYLAND', enable_wayland) - --# wacom (disabled for s390/s390x and non Linux platforms) --enable_wacom = host_is_linux_not_s390 -+# wacom -+enable_wacom = get_option('wacom') - if enable_wacom - assert(enable_gudev, 'GUDev support is required for wacom support.') - libwacom_dep = dependency('libwacom', version: '>= 0.7') -diff --git a/meson_options.txt b/meson_options.txt -index 3e04cf64..010053e2 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -9,6 +9,7 @@ option('network_manager', type: 'boolean', value: true, description: 'build with - option('rfkill', type: 'boolean', value: true, description: 'build with rfkill support (not optional on Linux platforms)') - option('smartcard', type: 'boolean', value: true, description: 'build with smartcard support') - option('usb-protection', type: 'boolean', value: true, description: 'build with usb-protection support') -+option('wacom', type: 'boolean', value: true, description: 'build with Wacom devices support') - option('wayland', type: 'boolean', value: true, description: 'build with Wayland support') - option('wwan', type: 'boolean', value: true, description: 'build with WWAN support') - option('colord', type: 'boolean', value: true, description: 'build with colord support') --- -2.34.1 - diff --git a/gnome-base/gnome-settings-daemon/gnome-settings-daemon-48.1.ebuild b/gnome-base/gnome-settings-daemon/gnome-settings-daemon-48.1.ebuild deleted file mode 100644 index 37dafee108e2..000000000000 --- a/gnome-base/gnome-settings-daemon/gnome-settings-daemon-48.1.ebuild +++ /dev/null @@ -1,144 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{13..14} ) - -inherit gnome.org gnome2-utils python-any-r1 meson udev virtualx xdg - -DESCRIPTION="Gnome Settings Daemon" -HOMEPAGE="https://gitlab.gnome.org/GNOME/gnome-settings-daemon" - -LICENSE="GPL-2+ LGPL-2+" -SLOT="0" - -KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86" - -IUSE="+colord +cups debug elogind input_devices_wacom modemmanager networkmanager smartcard systemd test wayland" -RESTRICT="!test? ( test )" -REQUIRED_USE="^^ ( elogind systemd )" - -COMMON_DEPEND=" - >=sci-geosciences/geocode-glib-3.10:2 - >=dev-libs/glib-2.70:2 - >=gnome-base/gnome-desktop-3.37.1:3= - >=gnome-base/gsettings-desktop-schemas-46.0 - >=x11-libs/gtk+-3.15.3:3[X,wayland?] - >=dev-libs/libgweather-4.2.0:4= - colord? ( >=x11-misc/colord-1.4.5:= ) - || ( - media-libs/libcanberra-gtk3 - >=media-libs/libcanberra-0.25[gtk3(-)] - ) - >=app-misc/geoclue-2.3.1:2.0 - >=x11-libs/libnotify-0.7.3 - >=media-libs/libpulse-16.1[glib] - >=sys-auth/polkit-0.114 - >=sys-power/upower-0.99.12:= - x11-libs/libX11 - >=x11-libs/libXfixes-6.0.0 - dev-libs/libgudev:= - wayland? ( dev-libs/wayland ) - input_devices_wacom? ( - >=dev-libs/libwacom-0.7:= - >=x11-libs/pango-1.20.0 - x11-libs/gdk-pixbuf:2 - ) - smartcard? ( app-crypt/gcr:4= ) - cups? ( >=net-print/cups-1.4[dbus] ) - modemmanager? ( - >=app-crypt/gcr-3.90.0:4= - >=net-misc/modemmanager-1.18:= - ) - networkmanager? ( >=net-misc/networkmanager-1.0 ) - media-libs/alsa-lib - x11-libs/libXi - x11-libs/libXext - media-libs/fontconfig - elogind? ( >=sys-auth/elogind-209 ) - systemd? ( >=sys-apps/systemd-243 ) -" -DEPEND="${COMMON_DEPEND} - x11-base/xorg-proto -" -# logind needed for power and session management, bug #464944 -RDEPEND="${COMMON_DEPEND} - gnome-base/dconf -" -# rfkill requires linux/rfkill.h, thus linux-headers dep, not os-headers. -# If this package wants to work on other kernels, we need to make rfkill conditional instead -BDEPEND=" - sys-kernel/linux-headers - dev-util/glib-utils - >=dev-util/gdbus-codegen-2.80.5-r1 - ${PYTHON_DEPS} - test? ( - dev-util/umockdev - $(python_gen_any_dep ' - dev-python/pygobject:3[${PYTHON_USEDEP}] - dev-python/python-dbusmock[${PYTHON_USEDEP}] - ') - gnome-base/gnome-session - ) - >=sys-devel/gettext-0.19.8 - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}"/42.1-build-Make-wacom-optional-and-controllable-via-meson.patch - "${FILESDIR}"/${PN}-3.38.1-build-Allow-NM-optional-on-Linux.patch -) - -python_check_deps() { - if use test; then - python_has_version "dev-python/pygobject:3[${PYTHON_USEDEP}]" && - python_has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]" - fi -} - -pkg_setup() { - python-any-r1_pkg_setup -} - -src_configure() { - local emesonargs=( - -Dudev_dir="$(get_udevdir)" - $(meson_use systemd) - $(meson_use elogind) - -Dalsa=true - -Dgudev=true - -Dgcr3=false - $(meson_use colord) - $(meson_use cups) - $(meson_use networkmanager network_manager) - -Drfkill=true - $(meson_use smartcard) - $(meson_use input_devices_wacom wacom) - $(meson_use wayland) - $(meson_use modemmanager wwan) - ) - meson_src_configure -} - -src_install() { - meson_src_install - # Don't auto-suspend by default on AC power - insinto /usr/share/glib-2.0/schemas - doins "${FILESDIR}"/org.gnome.settings-daemon.plugins.power.gschema.override -} - -src_test() { - virtx meson_src_test -} - -pkg_postinst() { - udev_reload - xdg_pkg_postinst - gnome2_schemas_update -} - -pkg_postrm() { - udev_reload - xdg_pkg_postrm - gnome2_schemas_update -} diff --git a/gnome-base/gnome-settings-daemon/gnome-settings-daemon-49.1.ebuild b/gnome-base/gnome-settings-daemon/gnome-settings-daemon-50.1.ebuild index 044468c3e6c0..74770e106b07 100644 --- a/gnome-base/gnome-settings-daemon/gnome-settings-daemon-49.1.ebuild +++ b/gnome-base/gnome-settings-daemon/gnome-settings-daemon-50.1.ebuild @@ -14,7 +14,7 @@ SLOT="0" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" -IUSE="+colord +cups debug elogind modemmanager networkmanager smartcard systemd test +xwayland X" +IUSE="+colord +cups debug elogind modemmanager networkmanager smartcard systemd test +xwayland" RESTRICT="!test? ( test )" REQUIRED_USE="^^ ( elogind systemd )" @@ -43,17 +43,12 @@ COMMON_DEPEND=" media-libs/fontconfig elogind? ( >=sys-auth/elogind-209 ) systemd? ( >=sys-apps/systemd-243 ) - >=x11-libs/libnotify-0.7.3 + >=x11-libs/libnotify-0.8.7 xwayland? ( x11-libs/libXext x11-libs/libX11 >=x11-libs/libXfixes-6.0.0 ) - X? ( - x11-libs/libXext - x11-libs/libX11 - >=x11-libs/libXfixes-6.0.0 - ) " DEPEND="${COMMON_DEPEND}" # logind needed for power and session management, bug #464944 @@ -98,6 +93,7 @@ src_configure() { local emesonargs=( -Dudev_dir="$(get_udevdir)" $(meson_use systemd) + $(meson_use systemd systemd-units) $(meson_use elogind) -Dalsa=true -Dgudev=true @@ -107,7 +103,6 @@ src_configure() { $(meson_use networkmanager network_manager) -Drfkill=true $(meson_use smartcard) - $(meson_use X x11) $(meson_use xwayland) $(meson_use modemmanager wwan) ) diff --git a/gnome-base/gnome-settings-daemon/metadata.xml b/gnome-base/gnome-settings-daemon/metadata.xml index 007ee2fae047..d45aa6898b44 100644 --- a/gnome-base/gnome-settings-daemon/metadata.xml +++ b/gnome-base/gnome-settings-daemon/metadata.xml @@ -6,7 +6,7 @@ <name>Gentoo GNOME Desktop</name> </maintainer> <use> - <flag name="xwayland">Enable Xwayland integration</flag> + <flag name="xwayland">Enable <pkg>x11-base/xwayland</pkg> integration for running X11 applications under Wayland</flag> <flag name="elogind">Rely on <pkg>sys-auth/elogind</pkg> as runtime logind provider</flag> <flag name="modemmanager">Enable WWAN support via <pkg>net-misc/modemmanager</pkg> </flag> diff --git a/gnome-base/gnome-shell/Manifest b/gnome-base/gnome-shell/Manifest index 09e0171529d9..861c193a029f 100644 --- a/gnome-base/gnome-shell/Manifest +++ b/gnome-base/gnome-shell/Manifest @@ -1,4 +1,4 @@ DIST gnome-shell-48.8.tar.xz 2253148 BLAKE2B 2ce713f9cb9f9b3aa2091a7f8ab5ceb50e56e553d2f3a00d1cc7dd09c6a3c447a8183f7682a8abb87a376457ab1d317f50d6b3f6022fc3fa0fe14fa05aedadd1 SHA512 1dfdc942517785a514f806c299ede60a6299c7ae497f1d68b1847f276b4de51b30d8c0ca6802703030730add0a682eb0bc3a27cf6bd8a4a39f94ea133349b3e4 DIST gnome-shell-49.7.tar.xz 2311204 BLAKE2B 24fc0e183992a3489eb72a3c10eda8c301e98a3c9c5102006d9ac95d4d958ccd65497e9ff68aa92331c4a9eb26a0afce4fd47ae2f0dd2cbe3d1ffc535bbb80a8 SHA512 542cd03c0c724aee4970fb68a27e852f9f04bd1a847952e811a9c359e3124954554de4347ffdd03b48c31cd3f01aebb3138329c628df7beacc7b59348af57495 -DIST gnome-shell-49.8.tar.xz 2311376 BLAKE2B ed6b2249cfafa06d18cee383a0ec90b8f1ad2c22afca29ed9037f346820de6d1b37b323a75368dd27b3a0b3c6d17d193939ba803cd495b4fd24db6d4a3551b28 SHA512 ccd6d9b31193dcca7a5bb596e8945bc9d19f00de1696b25b31288dab34ca3d95ab719aed56f34f303b35e62ae7b68d128ddfb550259b1782d3be163cd056ea50 DIST gnome-shell-49.9.tar.xz 2311756 BLAKE2B a4acb09de28c94d0a0278b8ee58333c2bcb5f8c7d536480cd7b68bdf994ecddb6dfe8c60931b501bb0c08546b5b644e2e5be8a255ab40b90aebe70c02be78f03 SHA512 e5c4e15f55b0daca7cac368c25e78213fc9298d02400d9787f19d81e0c96365fce86f6821406aea92f6d2e958ef62b5e380a8eafa3c8b27f9b18de8c0d952aac +DIST gnome-shell-50.5.tar.xz 2358800 BLAKE2B e803f2c0269a45d63ec9301bd663d7db87dd0aef4ff3b106901a3647965bc336c51e551f57d6241c429a86cdc63aa3030f9683fe5512cc0e3ac54d791e8587b2 SHA512 cb195a16b3cfc8443424a55413ca13a5c38224c359599dd246593c772802b7dfe0dafe337852f90b77eb093999e390111708719300a28d79b06f4572d9820011 diff --git a/gnome-base/gnome-shell/gnome-shell-49.8.ebuild b/gnome-base/gnome-shell/gnome-shell-50.5.ebuild index b0944a390823..ef2de358df19 100644 --- a/gnome-base/gnome-shell/gnome-shell-49.8.ebuild +++ b/gnome-base/gnome-shell/gnome-shell-50.5.ebuild @@ -2,6 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=8 + PYTHON_COMPAT=( python3_{13..14} ) inherit flag-o-matic gnome.org gnome2-utils meson optfeature python-single-r1 xdg @@ -13,7 +14,7 @@ LICENSE="GPL-2+ LGPL-2+" SLOT="0" KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" -IUSE="X elogind gtk-doc +ibus +networkmanager pipewire selinux systemd test wayland" +IUSE="elogind gtk-doc +ibus +networkmanager pipewire selinux systemd test xwayland" REQUIRED_USE="${PYTHON_REQUIRED_USE} ?? ( elogind systemd )" RESTRICT="!test? ( test )" @@ -24,12 +25,12 @@ DEPEND=" >=app-crypt/gcr-3.90.0:4=[introspection] >=dev-libs/glib-2.86.0:2 >=dev-libs/gobject-introspection-1.86.0:= - >=dev-libs/gjs-1.85.90[cairo(+)] - >=gui-libs/gtk-4:4[X?,introspection,wayland?] - >=x11-wm/mutter-49.0:0/17[introspection,test?] + >=dev-libs/gjs-1.87.1[cairo(+)] + >=gui-libs/gtk-4:4[introspection,wayland] + >=x11-wm/mutter-50.0:0/18[introspection,test?] >=sys-auth/polkit-0.120_p20220509[introspection] - >=gnome-base/gsettings-desktop-schemas-49_alpha[introspection] - X? ( + >=gnome-base/gsettings-desktop-schemas-50_alpha[introspection] + xwayland? ( x11-libs/libX11 x11-libs/libXext >=x11-libs/libXfixes-5.0 @@ -38,7 +39,7 @@ DEPEND=" dev-python/docutils >=gnome-base/gnome-desktop-40.0:4= networkmanager? ( - >=net-misc/networkmanager-1.10.4[introspection] + >=net-misc/networkmanager-1.24[introspection] net-libs/libnma[introspection] >=app-crypt/libsecret-0.18 ) @@ -64,7 +65,7 @@ DEPEND=" $(python_gen_cond_dep ' dev-python/pygobject:3[${PYTHON_USEDEP}] ') - media-libs/libglvnd[X] + media-libs/libglvnd " # Runtime-only deps are probably incomplete and approximate. # Introspection deps generated from inspection of the output of: @@ -97,7 +98,7 @@ RDEPEND="${DEPEND} gnome-base/librsvg:2[introspection] gui-libs/libadwaita:1[introspection] - >=gnome-base/gnome-session-49 + >=gnome-base/gnome-session-50 >=gnome-base/gnome-settings-daemon-3.8.3 x11-misc/xdg-utils @@ -117,7 +118,7 @@ RDEPEND="${DEPEND} # avoid circular dependency, see bug #546134 PDEPEND=" - >=gnome-base/gdm-49[introspection(+)] + >=gnome-base/gdm-50[introspection(+)] >=gnome-base/gnome-control-center-3.26[networkmanager(+)?] " BDEPEND=" @@ -153,8 +154,7 @@ src_prepare() { } src_configure() { - use X || append-cppflags -DGENTOO_GTK_HIDE_X11 - use wayland || append-cppflags -DGENTOO_GTK_HIDE_WAYLAND + append-cppflags -DGENTOO_GTK_HIDE_WAYLAND local emesonargs=( $(meson_use pipewire camera_monitor) diff --git a/gnome-base/gnome-shell/metadata.xml b/gnome-base/gnome-shell/metadata.xml index debc16d98dea..273143c9764d 100644 --- a/gnome-base/gnome-shell/metadata.xml +++ b/gnome-base/gnome-shell/metadata.xml @@ -17,6 +17,7 @@ <flag name="elogind">Use <pkg>sys-auth/elogind</pkg> for session tracking and suspend support.</flag> <flag name="ibus">Enable support for enhanced input methods through <pkg>app-i18n/ibus</pkg> </flag> + <flag name="xwayland">Enable <pkg>x11-base/xwayland</pkg> integration for running X11 applications under Wayland</flag> </use> <upstream> <remote-id type="cpe">cpe:/a:gnome:gnome-shell</remote-id> diff --git a/gnome-base/gsettings-desktop-schemas/Manifest b/gnome-base/gsettings-desktop-schemas/Manifest index 0d7a43e502f7..d779948f11f9 100644 --- a/gnome-base/gsettings-desktop-schemas/Manifest +++ b/gnome-base/gsettings-desktop-schemas/Manifest @@ -1,2 +1,2 @@ -DIST gsettings-desktop-schemas-48.0.tar.xz 813656 BLAKE2B b65b7c2e5c1951623b07cbe6e5c7b39c8dd5ccf222bcac18a1fb5b92d21ce072ffe51d89202b173394ece4dcd23ad1936b844c39fc76facaf1f704583a0603bd SHA512 2c438b14c21a8dd0da12d3eca0b0e77e75d900f4c5ce9365312578e874f4e4fadc16caeefe89dcf1b8482305d3755ee81bfa20ab54e7a77d180fb2a8bf2c39b7 DIST gsettings-desktop-schemas-49.1.tar.xz 854352 BLAKE2B c333f9ec4971704341ad37798441c6e1c0afc2dcd0c78f5bea4889c52702efe348302ce7c5dfc6505ff6023490204210ff9f8659fa4cf95a524d3e2c9a921b7b SHA512 60924480d92bbb56d0f61e3b923398e9eb355c5c998989861dd25b8540f042bc70d174646c286946b868367fb8e74d5bd6b90885f7a48a2ec75b87ec447e964b +DIST gsettings-desktop-schemas-50.1.tar.xz 896852 BLAKE2B 4bc50151b7a397d0ad1a4197b1c0a05932f4bc44fce90489816448c224295eecc5c27ca5f661db5e1ab3fba84e3ae3294d0aa03dcf5fa3175254de9e5061bc45 SHA512 b0f98f4823008a49536aa16503a2a2c0dd403580d8687198245e1d7c8acf3acf07d436f77d3eaba15f49305b7c5c003f3d30cc48d1fbda913db5d8c3e091de9d diff --git a/gnome-base/gsettings-desktop-schemas/gsettings-desktop-schemas-48.0.ebuild b/gnome-base/gsettings-desktop-schemas/gsettings-desktop-schemas-50.1.ebuild index 699436951368..620c9f57a1e7 100644 --- a/gnome-base/gsettings-desktop-schemas/gsettings-desktop-schemas-48.0.ebuild +++ b/gnome-base/gsettings-desktop-schemas/gsettings-desktop-schemas-50.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -10,7 +10,7 @@ HOMEPAGE="https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas" LICENSE="LGPL-2.1+" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" IUSE="+introspection" BDEPEND=" @@ -22,7 +22,7 @@ BDEPEND=" PATCHES=( # Use generic sans and monospace aliases - "${FILESDIR}"/48.0-default-fonts.patch + "${FILESDIR}"/49.0-default-fonts.patch ) src_configure() { diff --git a/gnome-base/nautilus/Manifest b/gnome-base/nautilus/Manifest index 5e5bbfd0db75..3f23dfc5f46d 100644 --- a/gnome-base/nautilus/Manifest +++ b/gnome-base/nautilus/Manifest @@ -1 +1,2 @@ DIST nautilus-49.6.tar.xz 3337508 BLAKE2B fdc2d0d44b74e61bc5ce6e16becd3c355e6b78b592f57414cade1b95829e0c07933eb8fea8126454d488931c71be5b51cbd42513db0aaae8a99b5aae3774b448 SHA512 f7b0b428898c399d143d263efcfdf3dd44b5ed7c09c4c0b09b42bd386a12bfd4c93054773958a80140757c461013fbdd09a01384c30d68019c1e7d955e0337e6 +DIST nautilus-50.3.1.tar.xz 3353260 BLAKE2B d448d7cad1356c391603b1a5cb1762bb2a2eaba7117b3de114e49555818276161d9364f01ab13ffa2cfc84634bddf6a3570965b91666123327c820835b0a83a0 SHA512 5f3937901bf98debe95c64a39bbde29bdb4b20de9badc1e3615711f6a87fed79d72cec161a4d6b321e52a1575f3679b2c9eef06c3965c641849700dfcc9586fa diff --git a/gnome-base/nautilus/nautilus-50.3.1.ebuild b/gnome-base/nautilus/nautilus-50.3.1.ebuild new file mode 100644 index 000000000000..be404ec98320 --- /dev/null +++ b/gnome-base/nautilus/nautilus-50.3.1.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit gnome.org gnome2-utils meson readme.gentoo-r1 virtualx xdg + +DESCRIPTION="Default file manager for the GNOME desktop" +HOMEPAGE="https://apps.gnome.org/Nautilus/" + +LICENSE="GPL-3+ LGPL-2.1+" +SLOT="0" + +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" + +IUSE="+cloudproviders gtk-doc gnome +gstreamer +introspection +previewer selinux" +REQUIRED_USE="gtk-doc? ( introspection )" + +DEPEND=" + >=dev-libs/glib-2.84.0:2 + media-libs/glycin:2 + media-libs/gexiv2:0.16/4 + gstreamer? ( media-libs/gstreamer:1.0 + media-libs/gst-plugins-base:1.0 ) + >=app-arch/gnome-autoar-0.4.4 + >=gnome-base/gnome-desktop-43:4= + >=gnome-base/gsettings-desktop-schemas-42 + >=gui-libs/gtk-4.20.0:4[X,introspection?,wayland] + dev-libs/wayland + >=gui-libs/libadwaita-1.8_alpha:1 + >=dev-libs/libportal-0.7:=[gtk] + >=dev-libs/icu-56:= + >=x11-libs/pango-1.28.3 + selinux? ( >=sys-libs/libselinux-2.0 ) + >=app-misc/tinysparql-3.8:3 + cloudproviders? ( >=net-libs/libcloudproviders-0.3.1 ) + introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2:= ) +" +# Uses org.freedesktop.Tracker.Miner.Files gsettings schema from localsearch +RDEPEND="${DEPEND} + >=app-misc/localsearch-3.0:3= +" +BDEPEND=" + >=dev-util/blueprint-compiler-0.19.0 + >=dev-util/gdbus-codegen-2.80.5-r1 + dev-util/glib-utils + dev-util/wayland-scanner + gtk-doc? ( + app-text/docbook-xml-dtd:4.1.2 + dev-util/gi-docgen + ) + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + test? ( sys-apps/dbus ) +" +PDEPEND=" + gnome? ( x11-themes/adwaita-icon-theme ) + previewer? ( >=gnome-extra/sushi-0.1.9 ) + >=gnome-base/gvfs-1.14[gtk(+)] +" # Need gvfs[gtk] for recent:/// support; always built (without USE=gtk) since gvfs-1.34 + +PATCHES=( + "${FILESDIR}"/43.0-optional-gstreamer.patch # Allow controlling audio-video-properties build +) + +src_prepare() { + default + xdg_environment_reset + + # Disable -Werror + sed -e '/-Werror=/d' -i meson.build || die + + if use previewer; then + DOC_CONTENTS="nautilus uses gnome-extra/sushi to preview media files. + To activate the previewer, select a file and press space; to + close the previewer, press space again." + fi +} + +src_configure() { + local emesonargs=( + $(meson_use gtk-doc docs) + -Dextensions=true # image file properties, also required for -Dgstreamer=true + $(meson_use introspection) + $(meson_feature selinux) + $(meson_feature cloudproviders) + -Dtests=$(usex test headless none) + + $(meson_use gstreamer) # gstreamer audio-video-properties extension + ) + meson_src_configure +} + +src_install() { + use previewer && readme.gentoo_create_doc + meson_src_install + + if use gtk-doc; then + mkdir -p "${ED}"/usr/share/gtk-doc/html/ || die + mv "${ED}"/usr/share/doc/${PN} "${ED}"/usr/share/gtk-doc/html/ || die + fi +} + +src_test() { + # GIO_USE_VOLUME_MONITOR=unix due to https://gitlab.gnome.org/GNOME/gvfs/-/issues/629#note_1467280 + GIO_USE_VOLUME_MONITOR=unix XDG_SESSION_TYPE=x11 virtx \ + dbus-run-session meson test -C "${BUILD_DIR}" --print-errorlogs || die +} + +pkg_postinst() { + xdg_pkg_postinst + gnome2_schemas_update + + if use previewer; then + readme.gentoo_print_elog + else + elog "To preview media files, emerge nautilus with USE=previewer" + fi +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +} diff --git a/gnome-extra/gnome-calendar/Manifest b/gnome-extra/gnome-calendar/Manifest index 814aaf0729ae..4a74f951e685 100644 --- a/gnome-extra/gnome-calendar/Manifest +++ b/gnome-extra/gnome-calendar/Manifest @@ -1,3 +1,2 @@ -DIST gnome-calendar-48.1.tar.xz 534372 BLAKE2B a5ad0915864765bd0d3000182afb290faaf4d6e63e07d865308cc7b2e058dd2fee32d749f59c97f6cddb619615998be3dc1108bd8b5556df91846f9fb62eaf0e SHA512 5192270cac9647c23e92b8905d1203d0f9c8317a78037ff8ad5062b96d7d489115bbd12780b48886b59f48b8ef0c53ba18768f4c5f8cb01407f35004b4b0669b -DIST gnome-calendar-49.0.1.tar.xz 552980 BLAKE2B be39283c05bab93e3fec6c25fe96640e62730fb842ae26334eea6a4dee6e09fec6b4634255576e6c6261dc5a72b017194a371a18b8ded79506f1cfd227e769a9 SHA512 d7bdc5d037a795c79c666ec829acbcfd6d455bf3b482434117f08a9fa25246d770c53f09d936ea79748ba776a44466e9413c5fa7d1069276e1e3b7c0c8e1c95e DIST gnome-calendar-49.1.tar.xz 558240 BLAKE2B c53bec988a5ae401e014189d734717404271dbb81118604b2520d9ef04086f036025c5f919f0adf65f5ea80b2242bae015ad3a56b7a155220db382363b52ce2b SHA512 2e1ed49ef058edc8cfb96510c4b7a0d59e517824466345a3cfff490bff9d20c77e6ec69ab31f8be9581b41140aa4ff4fe7fd2334cec6129b097599c45d813f1b +DIST gnome-calendar-50.0.tar.xz 590268 BLAKE2B ae19ad384a94d6d07a8c89925426ecb8fb8101378c8d98815e4b693873922eaec5b991f02fcc08d662553f992543efcff59a8f23ed5e5b057b70c59f06dda9d4 SHA512 4bc427a45ad5f26ede06a95af7f764035b764defa09de175973a146c1a15fe13ab014ddd3f9f1857812fd702743ad87b9a90e68caf94ea22b199ff6b1d5f7994 diff --git a/gnome-extra/gnome-calendar/gnome-calendar-48.1.ebuild b/gnome-extra/gnome-calendar/gnome-calendar-48.1.ebuild deleted file mode 100644 index dc7bb12ee9b6..000000000000 --- a/gnome-extra/gnome-calendar/gnome-calendar-48.1.ebuild +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit gnome.org gnome2-utils meson virtualx xdg - -DESCRIPTION="Manage your calendars with simple and modern interface" -HOMEPAGE="https://apps.gnome.org/Calendar/" - -LICENSE="GPL-3+" -SLOT="0" -KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv x86" - -DEPEND=" - >=dev-libs/libical-1.0.1:0= - >=gnome-base/gsettings-desktop-schemas-3.21.2 - >=gnome-extra/evolution-data-server-3.45.1:=[gtk] - net-libs/libsoup:3.0 - >=gui-libs/libadwaita-1.7_alpha:1 - >=dev-libs/glib-2.67.5:2 - >=gui-libs/gtk-4.15.2:4 - >=dev-libs/libgweather-4.2.0:4= - >=app-misc/geoclue-2.4:2.0 -" -RDEPEND="${DEPEND}" -BDEPEND=" - dev-libs/appstream-glib - dev-libs/libxml2:2 - >=dev-util/gdbus-codegen-2.80.5-r1 - dev-util/glib-utils - >=sys-devel/gettext-0.19.8 - virtual/pkgconfig -" - -src_test() { - virtx meson_src_test -} - -pkg_postinst() { - xdg_pkg_postinst - gnome2_schemas_update -} - -pkg_postrm() { - xdg_pkg_postrm - gnome2_schemas_update -} diff --git a/gnome-extra/gnome-calendar/gnome-calendar-49.0.1.ebuild b/gnome-extra/gnome-calendar/gnome-calendar-50.0.ebuild index 7b72fa5b36ef..83ca219bd3d3 100644 --- a/gnome-extra/gnome-calendar/gnome-calendar-49.0.1.ebuild +++ b/gnome-extra/gnome-calendar/gnome-calendar-50.0.ebuild @@ -18,7 +18,8 @@ DEPEND=" net-libs/libsoup:3.0 >=gui-libs/libadwaita-1.8_alpha:1 >=dev-libs/glib-2.80.0:2 - >=gui-libs/gtk-4.15.2:4 + dev-libs/fribidi + >=gui-libs/gtk-4.21.2:4 >=dev-libs/libgweather-4.2.0:4= >=app-misc/geoclue-2.4:2.0 " diff --git a/gnome-extra/gnome-shell-extension-applications-overview-tooltip/files/gnome-shell-extension-applications-overview-tooltip-24-gnome50.patch b/gnome-extra/gnome-shell-extension-applications-overview-tooltip/files/gnome-shell-extension-applications-overview-tooltip-24-gnome50.patch new file mode 100644 index 000000000000..ecb50af2ad21 --- /dev/null +++ b/gnome-extra/gnome-shell-extension-applications-overview-tooltip/files/gnome-shell-extension-applications-overview-tooltip-24-gnome50.patch @@ -0,0 +1,11 @@ +--- a/metadata.json~ 2025-09-23 09:01:16.000000000 +0200 ++++ b/metadata.json 2026-09-19 20:22:39.571339456 +0200 +@@ -2,7 +2,7 @@ + "description": "Shows a tooltip over applications icons on applications overview with application name and/or description.", + "name": "Applications Overview Tooltip", + "shell-version": [ +- "46", "47", "48", "49" ++ "46", "47", "48", "49", "50" + ], + "settings-schema": "org.gnome.shell.extensions.applications-overview-tooltip", + "gettext-domain": "applications-overview-tooltip", diff --git a/gnome-extra/gnome-shell-extension-applications-overview-tooltip/gnome-shell-extension-applications-overview-tooltip-24-r1.ebuild b/gnome-extra/gnome-shell-extension-applications-overview-tooltip/gnome-shell-extension-applications-overview-tooltip-24-r1.ebuild new file mode 100644 index 000000000000..77d623a0668a --- /dev/null +++ b/gnome-extra/gnome-shell-extension-applications-overview-tooltip/gnome-shell-extension-applications-overview-tooltip-24-r1.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit gnome2-utils + +DESCRIPTION="Show tooltip with full name and description" +HOMEPAGE="https://codeberg.org/RaphaelRochet/applications-overview-tooltip" +SRC_URI="https://github.com/RaphaelRochet/applications-overview-tooltip/archive/v${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${P/gnome-shell-extension-}" +extension_uuid="applications-overview-tooltip@RaphaelRochet" + +LICENSE="CC0-1.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + app-eselect/eselect-gnome-shell-extensions + >=gnome-base/gnome-shell-46 +" + +PATCHES=( + "${FILESDIR}"/${P}-gnome50.patch +) + +src_install() { + einstalldocs + insinto /usr/share/glib-2.0/schemas + doins schemas/*.xml + rm -rf README.md schemas || die + insinto /usr/share/gnome-shell/extensions/"${extension_uuid}" + doins -r * +} + +pkg_preinst() { + gnome2_schemas_savelist +} + +pkg_postinst() { + gnome2_schemas_update + ebegin "Updating list of installed extensions" + eselect gnome-shell-extensions update + eend $? +} + +pkg_postrm() { + gnome2_schemas_update +} diff --git a/gnome-extra/gnome-shell-extension-bing-wallpaper/Manifest b/gnome-extra/gnome-shell-extension-bing-wallpaper/Manifest index 36c5708eec80..114c0023bca9 100644 --- a/gnome-extra/gnome-shell-extension-bing-wallpaper/Manifest +++ b/gnome-extra/gnome-shell-extension-bing-wallpaper/Manifest @@ -1,2 +1 @@ -DIST gnome-shell-extension-bing-wallpaper-52.tar.gz 1606719 BLAKE2B 4343473d864ab5517d40934403f21dbb476d0d09acf008f204803f18cb0d8073bbc5e0a18c3891c1e9682ba6b1d92c554067efcbfb51849ad74d89b0da200d11 SHA512 1df2af8ce8de602323ef36abc3e0a9ebd7634545db3cc1d29d6fa9c6bbfafa4e57e03ef852d78b012ff6e7ebc0044de4f52f5991a6921b92ab9a910c8c095892 DIST gnome-shell-extension-bing-wallpaper-53.tar.gz 1603787 BLAKE2B 92af44c3e282be451374837ab049f8f7be909895f482dad56cf49f48ddd5598fbdf1cba8a53c8de1c6332f1d450af0bfb22662cc07dfbbf06fadd134431e757d SHA512 89e0fa601e26dea19fe6bcf992053cf2aefb52437d8e8ea0da7b0639a358040aa3a9fdfe05df9ecade3a0e6f6b8e5581985093a8bdf99984845972c20a96cd88 diff --git a/gnome-extra/gnome-shell-extension-bing-wallpaper/gnome-shell-extension-bing-wallpaper-52.ebuild b/gnome-extra/gnome-shell-extension-bing-wallpaper/gnome-shell-extension-bing-wallpaper-52.ebuild deleted file mode 100644 index 896de684d3e7..000000000000 --- a/gnome-extra/gnome-shell-extension-bing-wallpaper/gnome-shell-extension-bing-wallpaper-52.ebuild +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit gnome2-utils - -DESCRIPTION="Change your wallpaper daily to the bing.com background image" -HOMEPAGE="https://github.com/neffo/bing-wallpaper-gnome-extension" -SRC_URI="https://github.com/neffo/bing-wallpaper-gnome-extension/archive/v${PV}.tar.gz -> ${P}.tar.gz" -S="${WORKDIR}/bing-wallpaper-gnome-extension-${PV}" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="amd64 x86" - -RDEPEND=" - dev-libs/glib:2 - app-eselect/eselect-gnome-shell-extensions - >=gnome-base/gnome-shell-45 - net-libs/libsoup:3.0 -" - -extension_uuid="BingWallpaper@ineffable-gmail.com" - -PATCHES=( - # https://github.com/neffo/bing-wallpaper-gnome-extension/issues/113 - "${FILESDIR}/${PN}-44-unlock-screen.patch" -) - -src_install() { - einstalldocs - rm -f README.md LICENSE || die - insinto /usr/share/glib-2.0/schemas - doins schemas/*.xml - rm -rf schemas - insinto /usr/share/gnome-shell/extensions/"${extension_uuid}" - doins -r * -} - -pkg_preinst() { - gnome2_schemas_savelist -} - -pkg_postinst() { - gnome2_schemas_update - ebegin "Updating list of installed extensions" - eselect gnome-shell-extensions update - eend $? -} - -pkg_postrm() { - gnome2_schemas_update -} diff --git a/gnome-extra/gnome-shell-extension-dash-to-panel/Manifest b/gnome-extra/gnome-shell-extension-dash-to-panel/Manifest index d5066f2a3425..f43ce9aee6ae 100644 --- a/gnome-extra/gnome-shell-extension-dash-to-panel/Manifest +++ b/gnome-extra/gnome-shell-extension-dash-to-panel/Manifest @@ -1,3 +1,3 @@ -DIST gnome-shell-extension-dash-to-panel-72.tar.gz 21269995 BLAKE2B 37b44ca16f08cf94ccebdecd7aeb4b515a67096b6df7f8f72bf8e6445e77e828358dccf026a6a029a491f0925e196805315e5e7a76dcf9fa506f54b98d25a49a SHA512 c4edad1c7e103e51463d06a6b26173cd4bc4189aae6a76cfbd2f1b8258b3a8a16b002e15454d0ebffc63a8b717346981a9da9739ff5aab009c73c507296af847 DIST gnome-shell-extension-dash-to-panel-73.tar.gz 21281258 BLAKE2B d05d630137b0b42bec6a135d05fbe4408d04eae72d15b0655bf0c07392c9c5fc0d30499460c824bc370b259df91b117bde589aea890e224b7bfda3bda8003cb6 SHA512 96c138506e9b371a150ffc58b709ad5fbc24562c9e47044a3d040fd7e71a54b8985dc4a878b8186de242c3949a7e757a2e16c59c11a0bb63796776cd722634b2 +DIST gnome-shell-extension-dash-to-panel-74.tar.gz 21301667 BLAKE2B 89062e7a76d941e21a8f9ab1a4b745787e5db81faba4422fbbab85169d9679d4b55cdad8b71d90c0df8407a96862f9dcfe3edd6c1e4388c1505894bafbcf5a9c SHA512 fc2aa25565f1bf10b18b8f2fb17a60e8d2749cd3bb423cd5103483c041f8707ca9c4f7b2c398ec89156ad10c4dbf66b44beed50a87c98965232a8214d463618e DIST tango-gentoo-v1.1.tar.gz 29322 BLAKE2B 83fa2bf37727e60851dd679054fe1b153ebfea58c9a9a40f891f7d68d3b047b02e8effa1d1b4e08d64500a2072ce7200f159c92a352da7124de27e1b05bb6027 SHA512 87d47ddab68361db6d99866c51705dcb3e198f8345a1096859acf2c6cca5099dd23c7fb30d124f52c4933ea38fd45fadffbbe6ecbdfa84f5b60938a4824f9045 diff --git a/gnome-extra/gnome-shell-extension-dash-to-panel/gnome-shell-extension-dash-to-panel-72.ebuild b/gnome-extra/gnome-shell-extension-dash-to-panel/gnome-shell-extension-dash-to-panel-74.ebuild index 9269722c9098..daf08e3244fc 100644 --- a/gnome-extra/gnome-shell-extension-dash-to-panel/gnome-shell-extension-dash-to-panel-72.ebuild +++ b/gnome-extra/gnome-shell-extension-dash-to-panel/gnome-shell-extension-dash-to-panel-74.ebuild @@ -1,7 +1,8 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 + inherit gnome2-utils MY_PN="${PN/gnome-shell-extension-/}" @@ -17,7 +18,7 @@ extension_uuid="dash-to-panel@jderose9.github.com" LICENSE="GPL-2+" SLOT="0" -KEYWORDS="amd64 ~ppc64 x86" +KEYWORDS="~amd64 ~ppc64 ~x86" IUSE="branding" COMMON_DEPEND="dev-libs/glib:2" diff --git a/gnome-extra/gnome-shell-extension-desktop-icons-ng/Manifest b/gnome-extra/gnome-shell-extension-desktop-icons-ng/Manifest index 425fe53e9444..492d19dced35 100644 --- a/gnome-extra/gnome-shell-extension-desktop-icons-ng/Manifest +++ b/gnome-extra/gnome-shell-extension-desktop-icons-ng/Manifest @@ -1 +1,2 @@ DIST desktop-icons-ng-50.3.0.tar.bz2 178219 BLAKE2B 271c309846d6e0592243f776d01f2974f12707a46fa49a671de69ee4ebf5960d54e17e8bf47ec7aa9d96a831b0b82c597c2c4e3505fc952f76cf67751aa3bc2c SHA512 f4d077973267f144780046355f5056e12f0e8508372f582a28832af7fc3a02fbb6a04190cb690f2cf870519cab05181679c652002e4eed2bfec69c0dd5396369 +DIST desktop-icons-ng-51.0.8.tar.bz2 181333 BLAKE2B ea6f6e8106f15a433bbb6478e32346176e9c515e4ee7012625fbd72a04e63aec4ae4d8ea3310a057a3113dc4129d9ce6f928b835986908e06367cd08687dceef SHA512 efd30fca140e6b79ee84b8c50d1d75c74fa842e32f2fb87478befd7a0408b5072f00dd4b281bd287f6e5bdd8a7af79e1af41bfa6bceb55e74542c21e4f62675d diff --git a/gnome-extra/gnome-shell-extension-desktop-icons-ng/gnome-shell-extension-desktop-icons-ng-51.0.8.ebuild b/gnome-extra/gnome-shell-extension-desktop-icons-ng/gnome-shell-extension-desktop-icons-ng-51.0.8.ebuild new file mode 100644 index 000000000000..45ff2ab04bfe --- /dev/null +++ b/gnome-extra/gnome-shell-extension-desktop-icons-ng/gnome-shell-extension-desktop-icons-ng-51.0.8.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit gnome2-utils meson + +MY_PN="desktop-icons-ng" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="Desktop icon support for GNOME Shell" +HOMEPAGE="https://gitlab.com/rastersoft/desktop-icons-ng" +SRC_URI="https://gitlab.com/rastersoft/${MY_PN}/-/archive/${PV}/${MY_P}.tar.bz2" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +COMMON_DEPEND="dev-libs/glib:2" +RDEPEND="${COMMON_DEPEND} + app-eselect/eselect-gnome-shell-extensions + >=gnome-base/gnome-shell-50 + >=gnome-base/nautilus-3.38 +" +DEPEND="${COMMON_DEPEND}" + +pkg_preinst() { + gnome2_schemas_savelist +} + +pkg_postinst() { + gnome2_schemas_update + ebegin "Updating list of installed extensions" + eselect gnome-shell-extensions update + eend $? +} + +pkg_postrm() { + gnome2_schemas_update +} diff --git a/gnome-extra/gnome-shell-extension-gsconnect/Manifest b/gnome-extra/gnome-shell-extension-gsconnect/Manifest index 51851b96ec24..04935667a927 100644 --- a/gnome-extra/gnome-shell-extension-gsconnect/Manifest +++ b/gnome-extra/gnome-shell-extension-gsconnect/Manifest @@ -1,2 +1 @@ -DIST gnome-shell-extension-gsconnect-71.tar.gz 924602 BLAKE2B 37bfac3495e02e147df497ba52d5c20bf0fad1265951d01d75902dc0d053c42f57bec7b5d0a64f63de58184a1c5e311e77b5f48738a095b8696c76de59150663 SHA512 5402bbcbb915d818b919dc008fc4508ab4d9ad726ec7fd68216bba7abf0158b221cb24151e511f050d20fc4ee443f7f7cfd0b50e6445f433548f2bab16d398b7 DIST gnome-shell-extension-gsconnect-72.tar.gz 935046 BLAKE2B 8d83a2f4624f0db3da25ba7e625f110a1a8142370a2ebe96dac51d59762067147c27de125a62163e1ed545bb04f75607b36896214dc43ad78177441171e97673 SHA512 d2d6931d945ac28884048c60107aa9daa9494d4863e37278830047acaa2706b84815952a1df9c9a2b3e63599b56ae7bc89cafb76980a66878ab44b4700bcf260 diff --git a/gnome-extra/gnome-shell-extension-gsconnect/gnome-shell-extension-gsconnect-71.ebuild b/gnome-extra/gnome-shell-extension-gsconnect/gnome-shell-extension-gsconnect-71.ebuild deleted file mode 100644 index 0064adb00124..000000000000 --- a/gnome-extra/gnome-shell-extension-gsconnect/gnome-shell-extension-gsconnect-71.ebuild +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit gnome2-utils meson readme.gentoo-r1 virtualx xdg - -DESCRIPTION="KDE Connect implementation for GNOME" -HOMEPAGE="https://github.com/GSConnect/gnome-shell-extension-gsconnect" -SRC_URI="https://github.com/GSConnect/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="amd64 ~ppc64 x86" -IUSE="nautilus" - -# Upstream broke them and now they need to be run after pkg is installed or -# a container needs to be used: -# https://github.com/GSConnect/gnome-shell-extension-gsconnect/issues/1786 -RESTRICT="test" - -COMMON_DEPEND="dev-libs/glib:2" -RDEPEND="${COMMON_DEPEND} - app-eselect/eselect-gnome-shell-extensions - >=dev-libs/gjs-1.68 - >=gnome-base/gnome-shell-46 - gnome-base/gvfs - gnome-extra/evolution-data-server - || ( media-libs/libcanberra media-libs/gsound ) - nautilus? ( - dev-python/nautilus-python - gnome-base/nautilus[introspection] ) -" -DEPEND="${COMMON_DEPEND}" -BDEPEND=" - virtual/pkgconfig -" - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS="For knowing more about how to do the setup, please visit: -https://github.com/GSConnect/gnome-shell-extension-gsconnect/wiki/Installation" - -src_configure() { - # nemo support relies on nemo-python from https://github.com/linuxmint/nemo-extensions - # https://bugs.gentoo.org/694388 - meson_src_configure \ - -Dinstalled_tests=false \ - -Dnemo=false \ - $(meson_use nautilus) -} - -src_test() { - virtx meson_src_test -} - -src_install() { - meson_src_install - readme.gentoo_create_doc -} - -pkg_preinst() { - gnome2_schemas_savelist - xdg_pkg_preinst -} - -pkg_postinst() { - gnome2_schemas_update - xdg_pkg_postinst - ebegin "Updating list of installed extensions" - eselect gnome-shell-extensions update - eend $? - readme.gentoo_print_elog -} - -pkg_postrm() { - gnome2_schemas_update - xdg_pkg_postrm -} diff --git a/gnome-extra/gnome-shell-extension-weather-oclock/gnome-shell-extension-weather-oclock-50.5.ebuild b/gnome-extra/gnome-shell-extension-weather-oclock/gnome-shell-extension-weather-oclock-50.5.ebuild index 97cdeaeeaeb4..90a57779cb9b 100644 --- a/gnome-extra/gnome-shell-extension-weather-oclock/gnome-shell-extension-weather-oclock-50.5.ebuild +++ b/gnome-extra/gnome-shell-extension-weather-oclock/gnome-shell-extension-weather-oclock-50.5.ebuild @@ -2,6 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=8 + inherit gnome2-utils DESCRIPTION="Display the current weather inside the pill next to the clock" @@ -11,7 +12,7 @@ S="${WORKDIR}/${PN/gnome-shell-extension-}-${PV}" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64" RDEPEND=" app-eselect/eselect-gnome-shell-extensions diff --git a/gnome-extra/gnome-shell-extensions/Manifest b/gnome-extra/gnome-shell-extensions/Manifest index 20c8a077e1b6..87f4277fd19e 100644 --- a/gnome-extra/gnome-shell-extensions/Manifest +++ b/gnome-extra/gnome-shell-extensions/Manifest @@ -1,2 +1,3 @@ DIST gnome-shell-extensions-48.3.tar.xz 231160 BLAKE2B b970428d75f28d708392e04f219b42f2fd386f1d8921094575080a4500a42be736580af93142afb6a55905786a67619214cf9c8e2cd32f43cd109d0a0f548941 SHA512 31528e6b255e9eebdb98b03cb503ba577d4c0a49696efa471b0caefdb81c5bdefb63715f5d81145e6074b454aca4e255bc9a3624152ad8a6aae843b4c255c4d3 DIST gnome-shell-extensions-49.0.tar.xz 247612 BLAKE2B 0b60fec942a541dcc5f23cef0e9c809b4b542aa06b5febfc04b331242f78decae6b28a2cd40edc5b4d4c5890cb73bbe697e8d4bca6e73a01a086f69c6be5c24b SHA512 55931420ddf4bc223905a081138ebffcc2d4d0fb32d837549fc3f63c4e0b3bebfc0e673b85bfaa6f01b33e5199c8b323258919ad7d4a8abc66960a646ce01688 +DIST gnome-shell-extensions-50.4.tar.xz 245316 BLAKE2B fc2753dbc255c74d50b9eea830076eff017fbac071565a6c171dc8eab6ae281e0a58ca11f0db1aa176bf63f38d8f840f6aeea6358e2e13f059ce82f17e457c64 SHA512 810acb14a1d47e5332bb7e59a1f06a0612418c9350a9b38606fad62fe9841311b45afccbc2fa4ad5a96d77e4c1b2bc0022e1ff7c335c04f62720c0b8b1443983 diff --git a/gnome-extra/gnome-shell-extensions/gnome-shell-extensions-50.4.ebuild b/gnome-extra/gnome-shell-extensions/gnome-shell-extensions-50.4.ebuild new file mode 100644 index 000000000000..65802784e1c2 --- /dev/null +++ b/gnome-extra/gnome-shell-extensions/gnome-shell-extensions-50.4.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit gnome.org readme.gentoo-r1 meson xdg + +DESCRIPTION="JavaScript extensions for GNOME Shell" +HOMEPAGE="https://gitlab.gnome.org/GNOME/gnome-shell-extensions" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" + +DEPEND=" + >=dev-libs/glib-2.26:2 + >=gnome-base/libgtop-2.28.3[introspection] + >=app-eselect/eselect-gnome-shell-extensions-20111211 +" +RDEPEND="${DEPEND} + >=app-accessibility/at-spi2-core-2.46.0[introspection] + >=dev-libs/gjs-1.29 + >=dev-libs/gobject-introspection-1.82.0-r2:= + gnome-base/gnome-menus:3[introspection] + =gnome-base/gnome-shell-$(ver_cut 1)* + gui-libs/libadwaita[introspection] + media-libs/clutter:1.0[introspection] + media-libs/graphene[introspection] + gui-libs/gtk:4[introspection] + x11-libs/pango[introspection] + x11-themes/adwaita-icon-theme + >=x11-wm/mutter-3.32[introspection] +" +BDEPEND=" + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig +" + +DISABLE_AUTOFORMATTING="yes" +DOC_CONTENTS="Installed extensions installed are initially disabled by default. +To change the system default and enable some extensions, you can use +# eselect gnome-shell-extensions + +Alternatively, to enable/disable extensions on a per-user basis, +you can use the gnome-extensions-app (included with gnome-shell), +https://extensions.gnome.org/ web interface, or modify the +org.gnome.shell enabled-extensions gsettings key from the command +line or a script." + +src_configure() { + local emesonargs=( + -Dextension_set=all + -Dclassic_mode=true + ) + meson_src_configure +} + +src_install() { + meson_src_install + readme.gentoo_create_doc +} + +pkg_postinst() { + xdg_pkg_postinst + + ebegin "Updating list of installed extensions" + eselect gnome-shell-extensions update + eend $? + + readme.gentoo_print_elog +} diff --git a/gnome-extra/gnome-shell-frippery/Manifest b/gnome-extra/gnome-shell-frippery/Manifest index d14d8259cec1..3b053df2a2a0 100644 --- a/gnome-extra/gnome-shell-frippery/Manifest +++ b/gnome-extra/gnome-shell-frippery/Manifest @@ -1,2 +1,2 @@ -DIST gnome-shell-frippery-48.0.tgz 79873 BLAKE2B d5c3dd98861d98c0651baee88ec35446bb6406ddb157e8dd711b0e47dbc4504d85ab5334758e4c067903ee7d27e0c9b60f70cbb629d6034e94f4ad5f2ad41ddf SHA512 46b07877f94554f0055f510bd2431079594965330a8a9629b0ec841df10c0f661b7bcc5cd05964b515522ea89b492ffa96dd53e6966517c1b2ad361ccd4097be DIST gnome-shell-frippery-49.1.tgz 79078 BLAKE2B 9543d3526583c051af35e45ee0f6b17238bc56cd2755e91f1b07d336f9a434d30fcce0d21a189be218e73bb507b90876fab2daf248de06ed7ee712281ce0fd0f SHA512 46c9f96a682ac65f0308cf99d823614f245503ddb0328de6367d793066ecc877d69e1d6e5638b43b7202bbe5ef716d454a581360e113b745ff6031b482fb40f4 +DIST gnome-shell-frippery-50.0.tgz 79072 BLAKE2B 692f8006af818284695911de2b884a21aba0ae176ba9d7ea608ca8734fd22c557efae11d2d58e373f8ae010070fc796dfd9acb2e213941c74d052ff11bc52601 SHA512 0e38863b379814bba97599a66dd1897159e89bd3c34de5cdbd940f17fdac38dbcfdeb7b6828c69a7b7d183ef15d11e94c903d1af03de62df0e4f26703ae32e86 diff --git a/gnome-extra/gnome-shell-frippery/gnome-shell-frippery-48.0.ebuild b/gnome-extra/gnome-shell-frippery/gnome-shell-frippery-50.0.ebuild index d1d1b03e7e46..ad48f5d14aef 100644 --- a/gnome-extra/gnome-shell-frippery/gnome-shell-frippery-48.0.ebuild +++ b/gnome-extra/gnome-shell-frippery/gnome-shell-frippery-50.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -10,12 +10,12 @@ S="${WORKDIR}/.local/share/gnome-shell" LICENSE="GPL-2+" SLOT="0" -KEYWORDS="amd64 x86" +KEYWORDS="~amd64 ~x86" RDEPEND=" app-eselect/eselect-gnome-shell-extensions gnome-base/gnome-menus:3[introspection] - >=gnome-base/gnome-shell-48 + >=gnome-base/gnome-shell-46 " src_install() { diff --git a/gnome-extra/gucharmap/Manifest b/gnome-extra/gucharmap/Manifest index a998156342bc..1b0d302d4f6c 100644 --- a/gnome-extra/gucharmap/Manifest +++ b/gnome-extra/gucharmap/Manifest @@ -1,3 +1 @@ -DIST gucharmap-16.0.1.tar.bz2 1503713 BLAKE2B e77b0d9e12d73f38b8e32c078bed3be2e7a1a3c3d61578e79f539209f7af0106dca1b8201610c512ccc100bb2a239f57c097dd96f78c1959d64e67e7cf47345e SHA512 9816e6fda5c7a8ce34af41c55121e1291e07033a636955d3501c4eb57e290ca5e9ef74d7e622e3be1c85140fc55d4d21012a84c2a3bf3effc195bdb38740241b -DIST gucharmap-17.0.1.tar.xz 1392876 BLAKE2B 6cb33a8a9e37686c047a62cf4912b87fe7234e2532f23df9d5560fa90325f404104cd6a999578e3995f308da69c935005b910f4ab08a3d55885bcb66f92a752a SHA512 222e5073af5c0266b0defffe06cb5077fecd779428efcc1bd9626a724420ee51650fd5c8b1e67f1b5aa2b34d9bdb9b08139cb5726818af31cbc23635e244e3a6 DIST gucharmap-17.0.2.tar.xz 1396924 BLAKE2B 560880c08314849462d58a6391e936a098f53c49a10dc3cc3d54828b000873be1c869a04c3257145ec43931751ce096dbcbfe28efc3ce59a830c5fc30b6dba34 SHA512 6737ecae2714c234151725d6d3c364f42fc21050806e532a6597c53858f5bea6c3bd73c1865de6f7ba4566aa00d8eeb400c031b1716ec72ce0f1d2b7ccaeb062 diff --git a/gnome-extra/gucharmap/gucharmap-16.0.1.ebuild b/gnome-extra/gucharmap/gucharmap-16.0.1.ebuild deleted file mode 100644 index 94f6fb941af8..000000000000 --- a/gnome-extra/gucharmap/gucharmap-16.0.1.ebuild +++ /dev/null @@ -1,79 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{13..14} ) - -inherit flag-o-matic gnome2-utils meson python-any-r1 vala xdg - -DESCRIPTION="Unicode character map viewer and library" -HOMEPAGE="https://gitlab.gnome.org/GNOME/gucharmap" -SRC_URI="https://gitlab.gnome.org/GNOME/${PN}/-/archive/${PV}/${P}.tar.bz2" - -LICENSE="GPL-3+" -SLOT="2.90" -KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86" - -UNICODE_VERSION="16.0.0" - -IUSE="+introspection gtk-doc vala" -REQUIRED_USE="vala? ( introspection )" - -RDEPEND="media-libs/freetype:2 - >=dev-libs/glib-2.32:2 - >=x11-libs/gtk+-3.22:3[introspection?] - >=dev-libs/libpcre2-10.21:= - =app-i18n/unicode-data-${UNICODE_VERSION}* - >=x11-libs/pango-1.42.4-r2[introspection?] - - !gnome-extra/gucharmap:0 -" -DEPEND="${RDEPEND}" -BDEPEND=" - ${PYTHON_DEPS} - app-text/docbook-xml-dtd:4.1.2 - dev-libs/glib:2 - dev-util/itstool - >=sys-devel/gettext-0.19.8 - virtual/pkgconfig - gtk-doc? ( >=dev-util/gtk-doc-1 ) - introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2:= ) - vala? ( $(vala_depend) ) -" - -PATCHES=( - "${FILESDIR}"/14.0.1-install-user-help.patch -) - -src_prepare() { - default - use vala && vala_setup - xdg_environment_reset -} - -src_configure() { - # Upstream don't support LTO & error out on it in meson.build (bug #926250) - filter-lto - - local emesonargs=( - -Dcharmap=true - -Ddbg=false # in 14.0.1 all this does is pass -ggdb3 - $(meson_use gtk-doc docs) - $(meson_use introspection gir) - -Dgtk3=true - -Ducd_path="${EPREFIX}/usr/share/unicode-data" - $(meson_use vala vapi) - ) - - meson_src_configure -} - -pkg_postinst() { - xdg_pkg_postinst - gnome2_schemas_update -} - -pkg_postrm() { - xdg_pkg_postrm - gnome2_schemas_update -} diff --git a/gnome-extra/gucharmap/gucharmap-17.0.1.ebuild b/gnome-extra/gucharmap/gucharmap-17.0.1.ebuild deleted file mode 100644 index 88a22084a8f0..000000000000 --- a/gnome-extra/gucharmap/gucharmap-17.0.1.ebuild +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{13..14} ) - -inherit flag-o-matic gnome.org gnome2-utils meson python-any-r1 vala xdg - -DESCRIPTION="Unicode character map viewer and library" -HOMEPAGE="https://gitlab.gnome.org/GNOME/gucharmap" - -LICENSE="GPL-3+" -SLOT="2.90" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" - -UNICODE_VERSION="17.0.0" - -IUSE="+introspection gtk-doc vala" -REQUIRED_USE="vala? ( introspection )" - -RDEPEND="media-libs/freetype:2 - >=dev-libs/glib-2.32:2[introspection?] - >=x11-libs/gtk+-3.22:3[introspection?] - >=dev-libs/libpcre2-10.21:= - =app-i18n/unicode-data-${UNICODE_VERSION}* - >=x11-libs/pango-1.42.4-r2[introspection?] - >=x11-libs/cairo-1.16 - >=app-accessibility/at-spi2-core-2.56.5:2[introspection?] - - !gnome-extra/gucharmap:0 -" -DEPEND="${RDEPEND}" -BDEPEND=" - ${PYTHON_DEPS} - app-text/docbook-xml-dtd:4.1.2 - dev-libs/glib:2 - dev-util/glib-utils - dev-util/itstool - >=sys-devel/gettext-0.19.8 - virtual/pkgconfig - gtk-doc? ( >=dev-util/gtk-doc-1 ) - introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2:= ) - vala? ( $(vala_depend) ) -" - -PATCHES=( - "${FILESDIR}"/14.0.1-install-user-help.patch -) - -src_prepare() { - default - use vala && vala_setup - xdg_environment_reset -} - -src_configure() { - # Upstream don't support LTO & error out on it in meson.build (bug #926250) - filter-lto - - local emesonargs=( - -Dcharmap=true - -Ddbg=false # in 14.0.1 all this does is pass -ggdb3 - $(meson_use gtk-doc docs) - $(meson_use introspection gir) - -Dgtk3=true - -Ducd_path="${EPREFIX}/usr/share/unicode-data" - $(meson_use vala vapi) - ) - - meson_src_configure -} - -pkg_postinst() { - xdg_pkg_postinst - gnome2_schemas_update -} - -pkg_postrm() { - xdg_pkg_postrm - gnome2_schemas_update -} diff --git a/gnome-extra/pch-session/Manifest b/gnome-extra/pch-session/Manifest index cf143cb0a8fb..7fd259b7e56c 100644 --- a/gnome-extra/pch-session/Manifest +++ b/gnome-extra/pch-session/Manifest @@ -1,3 +1,2 @@ -DIST pch-session-48.0.tar.bz2 3611182 BLAKE2B b83403ea6bd18aef4f58204835fb9e1276ea3b97eac6a12c1a4658ff92a44e3f99cfcecebe11070aef97f7b6992a0156387b14f2c2321e31f0c55fb77460dd37 SHA512 62c0a71b3a47c011ed14c7b076a0d38917dcbf13862f1571da6004a61cef9c21503d3d46a8073109f06d9b5f6dc153c9fb7a72e945d60578201bbfbbfbd2be6c -DIST pch-session-49.0.tar.bz2 3611391 BLAKE2B 56d4fd3b2cd10deb57953126fc58f642c151e8a873a63847a679992ddcd70bf84090fcccb404ee1ae4411f096a6a4258d042ad13e47304a60a4fcb745e2efa96 SHA512 4f24cd28da543e10da4f522aa6a08254b6a5d37dfb73409c8886d10e1da4d0a5df73718fcac415109d4b82b1506510ceb777f3232b2a6cd0eaeea85cc1c4e795 DIST pch-session-49.1.tar.bz2 3611440 BLAKE2B 1b8d1a93abe501602bc84a6944e9ead1e2467373da379ec44f268b9b08dbe2df96795a9b8e53ef1c248a37895a8ddb0b5a1a46e24e15910ca96569fdab3ceb00 SHA512 b997ccaa992865ece1d388a6145f76df879746269c97eabb1726c429f7184bb73c94b9f1288947a7ef6ce944440a8dfc57542c5e30f2ebf8835103bf172438fd +DIST pch-session-50.0.tar.bz2 3611293 BLAKE2B 2a9a1687ac424a5ad176ecc4a4fb58a2a876dc2fe798009360b565dbfb7b0af3b5f0313184a54522e9363aa44f1f0cca1cb9c634fbef600b76fb7040a2822046 SHA512 af1277e08f8407383e6529ea076fc2d10722d3d6b20678bb935ea31f12903632c3fad54966721a42f1964b3632929d4b249c815417d16140f7e6c8535a83f25e diff --git a/gnome-extra/pch-session/pch-session-48.0-r1.ebuild b/gnome-extra/pch-session/pch-session-48.0-r1.ebuild deleted file mode 100644 index 37053627ff52..000000000000 --- a/gnome-extra/pch-session/pch-session-48.0-r1.ebuild +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright 2019-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit gnome2-utils - -DESCRIPTION="Unofficial gnome based session with different default settings and extensions" -HOMEPAGE="https://gitlab.com/pachoramos/pch-session" -SRC_URI="https://gitlab.com/pachoramos/${PN}/-/archive/${PV}/${P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64" -IUSE="breeze qt6 wayland webp" - -RDEPEND=" - >=gnome-base/gnome-shell-${PV} - >=gnome-extra/gnome-shell-extensions-${PV} - >=gnome-extra/gnome-shell-extension-alphabetical-grid-42.0 - >=gnome-extra/gnome-shell-extension-appindicator-60 - >=gnome-extra/gnome-shell-extension-applications-overview-tooltip-23 - >=gnome-extra/gnome-shell-extension-bing-wallpaper-51 - >=gnome-extra/gnome-shell-extension-dash-to-panel-68 - >=gnome-extra/gnome-shell-extension-desktop-icons-ng-48.0.0 - >=gnome-extra/gnome-shell-extension-gsconnect-62 - >=gnome-extra/gnome-shell-extension-weather-oclock-49.0 - >=gnome-extra/gnome-tweaks-46 - - >=gnome-extra/gnome-clocks-${PV} - >=media-fonts/fonts-meta-2 - || ( - sys-apps/tuned[ppd] - sys-power/power-profiles-daemon - ) - x11-themes/papirus-icon-theme - - breeze? ( kde-plasma/breeze:6 ) - qt6? ( - x11-themes/QGnomePlatform - wayland? ( x11-themes/QAdwaitaDecorations ) - ) - webp? ( gui-libs/gdk-pixbuf-loader-webp ) -" - -pkg_preinst() { - gnome2_schemas_update -} - -src_install() { - insinto / - doins -r usr/ etc/ - einstalldocs -} - -pkg_postinst() { - gnome2_schemas_update -} - -pkg_postrm() { - gnome2_schemas_update -} diff --git a/gnome-extra/pch-session/pch-session-49.0.ebuild b/gnome-extra/pch-session/pch-session-50.0.ebuild index a6018abeea09..ff36f674cd17 100644 --- a/gnome-extra/pch-session/pch-session-49.0.ebuild +++ b/gnome-extra/pch-session/pch-session-50.0.ebuild @@ -2,6 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=8 + inherit gnome2-utils DESCRIPTION="Unofficial gnome based session with different default settings and extensions" @@ -14,20 +15,21 @@ KEYWORDS="~amd64" IUSE="breeze qt6 wayland webp" RDEPEND=" - >=gnome-base/gnome-shell-${PV} - >=gnome-extra/gnome-shell-extensions-${PV} - >=gnome-extra/gnome-shell-extension-alphabetical-grid-44.0 - >=gnome-extra/gnome-shell-extension-appindicator-64 - >=gnome-extra/gnome-shell-extension-applications-overview-tooltip-24 - >=gnome-extra/gnome-shell-extension-bing-wallpaper-52 - >=gnome-extra/gnome-shell-extension-dash-to-panel-73 - >=gnome-extra/gnome-shell-extension-desktop-icons-ng-50.0.0 - >=gnome-extra/gnome-shell-extension-gsconnect-71 - >=gnome-extra/gnome-shell-extension-weather-oclock-50.2 - >=gnome-extra/gnome-tweaks-${PV} + >=gnome-base/gnome-shell-50 + >=gnome-extra/gnome-shell-extensions-50 + >=gnome-extra/gnome-shell-extension-alphabetical-grid-46.0 + >=gnome-extra/gnome-shell-extension-appindicator-65 + >=gnome-extra/gnome-shell-extension-applications-overview-tooltip-24-r1 + >=gnome-extra/gnome-shell-extension-bing-wallpaper-53 + >=gnome-extra/gnome-shell-extension-dash-to-panel-74 + >=gnome-extra/gnome-shell-extension-desktop-icons-ng-51 + >=gnome-extra/gnome-shell-extension-gsconnect-72 + >=gnome-extra/gnome-shell-extension-lockscreen-studio-1.1.2 + >=gnome-extra/gnome-shell-extension-weather-oclock-50.5 + >=gnome-extra/gnome-tweaks-49 - >=gnome-extra/gnome-clocks-${PV} - >=media-fonts/fonts-meta-2 + >=gnome-extra/gnome-clocks-50 + >=media-fonts/fonts-meta-3 || ( sys-apps/tuned[ppd] sys-power/power-profiles-daemon diff --git a/gui-apps/sddm-gentoo-config/metadata.xml b/gui-apps/sddm-gentoo-config/metadata.xml index 42968e83424a..c37e6a9f5cb0 100644 --- a/gui-apps/sddm-gentoo-config/metadata.xml +++ b/gui-apps/sddm-gentoo-config/metadata.xml @@ -13,8 +13,9 @@ <bugs-to>http://bugs.gentoo.org</bugs-to> </upstream> <use> - <flag name="kwin">KWin DisplayServer support (EXPERIMENTAL)</flag> - <flag name="weston">Weston DisplayServer support (EXPERIMENTAL)</flag> + <flag name="custom-compositor">Custom Wayland DisplayServer support (manual setup) (EXPERIMENTAL)</flag> + <flag name="kwin">KWin Wayland DisplayServer support (EXPERIMENTAL)</flag> + <flag name="weston">Weston Wayland DisplayServer support (EXPERIMENTAL)</flag> </use> <origin>baldeagleos-repo</origin> </pkgmetadata> diff --git a/gui-apps/sddm-gentoo-config/sddm-gentoo-config-0.ebuild b/gui-apps/sddm-gentoo-config/sddm-gentoo-config-0.ebuild index c66e9d1b3c24..d76914066de2 100644 --- a/gui-apps/sddm-gentoo-config/sddm-gentoo-config-0.ebuild +++ b/gui-apps/sddm-gentoo-config/sddm-gentoo-config-0.ebuild @@ -1,7 +1,7 @@ # Copyright 2025-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=8 +EAPI=9 DESCRIPTION="Gentoo defaults for SDDM (Simple Desktop Display Manager)" HOMEPAGE="https://wiki.gentoo.org/wiki/SDDM" @@ -11,14 +11,14 @@ S=${WORKDIR} LICENSE="public-domain" SLOT="0" KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv ~x86" -IUSE="kwin systemd weston" -REQUIRED_USE="?? ( kwin weston )" +IUSE="custom-compositor kwin systemd weston" +REQUIRED_USE="?? ( custom-compositor kwin weston )" RDEPEND=" !<x11-misc/sddm-0.21.0_p20250818 kwin? ( kde-plasma/kwin:6 ) weston? ( dev-libs/weston[kiosk] ) - !kwin? ( !weston? ( x11-base/xorg-server ) ) + !custom-compositor? ( !kwin? ( !weston? ( x11-base/xorg-server ) ) ) " GEN2CONF=01gentoo.conf @@ -27,7 +27,7 @@ src_prepare() { touch "${T}"/${GEN2CONF} || die _displayserver() { - if use kwin || use weston; then + if use custom-compositor || use kwin || use weston; then echo "wayland" else echo "x11" @@ -41,8 +41,10 @@ src_prepare() { has_version "kde-plasma/kwin[lock]" && cc+=( --no-lockscreen ) has_version "kde-plasma/kwin[shortcuts]" && cc+=( --no-global-shortcuts ) use systemd && cc+=( --locale1 ) - else + elif use weston; then cc=( weston --shell=kiosk ) + else + cc=( " # must be set by user" ) fi echo "${cc[@]}" } @@ -52,14 +54,18 @@ src_prepare() { # Remove qtvirtualkeyboard as InputMethod default InputMethod= - # Which display server should be used + # Which display server should be used (default: x11) DisplayServer=$(_displayserver) _EOF_ - if use kwin; then - cat >> "${T}"/${GEN2CONF} <<- _EOF_ || die + if use custom-compositor || use kwin || use weston; then + if use kwin; then + cat >> "${T}"/${GEN2CONF} <<- _EOF_ || die + GreeterEnvironment=QT_WAYLAND_SHELL_INTEGRATION=layer-shell + _EOF_ + fi - GreeterEnvironment=QT_WAYLAND_SHELL_INTEGRATION=layer-shell + cat >> "${T}"/${GEN2CONF} <<- _EOF_ || die [Wayland] CompositorCommand=$(_compositorcommand) diff --git a/gui-libs/libadwaita/Manifest b/gui-libs/libadwaita/Manifest index bdd7ecff8a2c..a114b1e7d8ef 100644 --- a/gui-libs/libadwaita/Manifest +++ b/gui-libs/libadwaita/Manifest @@ -1,2 +1,3 @@ DIST libadwaita-1.8.7.tar.xz 2701780 BLAKE2B c5594ac44e6f98caa5e302690938679723e255e577ea1657483eaf0d1ad376891976c743ec3b6e5ee7ed2cf3356824779e38e4f8364195d119fe885f4780a505 SHA512 3d6e78d905a31d9d4e9b89fc2d2dec91d73e87585a694520c357482d682861e67a03a95aaaf29926c4b5ed7fc145a9938d46e10110cb834ff1d8394f5f11225e DIST libadwaita-1.9.3.tar.xz 2894332 BLAKE2B 58332c93e78437784f39448a599dc8e313edfd3e0f0e277cf2373b5339241b3a102b6b401e8eeca0bb793db296c7f0d3bdcb9cc007c52439c9a986e83eb97413 SHA512 65f50ea784b0d7382eed4a56c2c88d74315641d2d5a37031747e4ad11845fd69418a636a37a7d9769b3529f63dec5506ada25ea1ebc591056791020528b45721 +DIST libadwaita-1.9.4.tar.xz 2894852 BLAKE2B beb24b4006736e52f0163fd9dcae5a3ad60277ee69fd9d12e69a8fd15d028046d649d269b1413008713e515560044b9de1deabb459faf6c8b6a0689c48e29500 SHA512 256544735967918bf162666b394d158abc658e5530e329cc430fb9c68acaf1f6c957268ce9ff04a66a90bd19c64f50bcfa8b97421e7a6fb12dbda89f86f9d1c4 diff --git a/gui-libs/libadwaita/libadwaita-1.9.4.ebuild b/gui-libs/libadwaita/libadwaita-1.9.4.ebuild new file mode 100644 index 000000000000..02fe2d17819c --- /dev/null +++ b/gui-libs/libadwaita/libadwaita-1.9.4.ebuild @@ -0,0 +1,73 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +inherit gnome.org meson python-any-r1 vala virtualx xdg + +DESCRIPTION="Building blocks for modern GNOME applications" +HOMEPAGE="https://gnome.pages.gitlab.gnome.org/libadwaita/ https://gitlab.gnome.org/GNOME/libadwaita" + +LICENSE="LGPL-2.1+" +SLOT="1" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" + +IUSE="examples gtk-doc +introspection test +vala" +REQUIRED_USE=" + gtk-doc? ( introspection ) + vala? ( introspection ) +" + +RDEPEND=" + >=dev-libs/glib-2.84.0:2 + >=gui-libs/gtk-4.21.1:4[introspection?] + dev-libs/appstream:= + dev-libs/fribidi + introspection? ( >=dev-libs/gobject-introspection-1.83.2:= ) +" +DEPEND="${RDEPEND} +" +BDEPEND=" + ${PYTHON_DEPS} + gtk-doc? ( >=dev-util/gi-docgen-2021.1 ) + vala? ( $(vala_depend) ) + dev-util/glib-utils + sys-devel/gettext + virtual/pkgconfig + dev-lang/sassc +" + +src_prepare() { + default + use vala && vala_setup + xdg_environment_reset +} + +src_configure() { + local emesonargs=( + # Never use gi-docgen subproject + --wrap-mode nofallback + + -Dprofiling=false + $(meson_feature introspection) + $(meson_use vala vapi) + $(meson_use gtk-doc documentation) + $(meson_use test tests) + $(meson_use examples) + ) + meson_src_configure +} + +src_test() { + addwrite /dev/dri + virtx meson_src_test --timeout-multiplier 2 +} + +src_install() { + meson_src_install + if use gtk-doc; then + mkdir -p "${ED}"/usr/share/gtk-doc/html/ || die + mv "${ED}"/usr/share/doc/${PN}-${SLOT} "${ED}"/usr/share/gtk-doc/html/ || die + fi +} diff --git a/gui-wm/wayfire/files/wayfire-0.11.0-cube-panel-overlay.patch b/gui-wm/wayfire/files/wayfire-0.11.0-cube-panel-overlay.patch new file mode 100644 index 000000000000..eec1fb12d7f1 --- /dev/null +++ b/gui-wm/wayfire/files/wayfire-0.11.0-cube-panel-overlay.patch @@ -0,0 +1,63 @@ +--- a/plugins/cube/cube.cpp ++++ b/plugins/cube/cube.cpp +@@ -553,8 +553,10 @@ + { + auto root = wf::get_core().scene(); + auto children = root->get_children(); ++ // Rotating panels belong to the desktop pass, but launchers and ++ // other overlay surfaces must remain above every cube/held-view node. + auto anchor = before ? before : +- root->layers[(int)wf::scene::layer::OVERLAY]; ++ root->layers[(int)wf::scene::layer::TOP]; + + std::vector<wf::scene::node_ptr> updated; + updated.reserve(children.size() + 1); +@@ -572,7 +574,7 @@ + + if (!inserted) + { +- // The built-in overlay layer is always present. Do not place ++ // The built-in top layer is always present. Do not place + // desktop content above screensavers or locks if that changes. + updated.push_back(node); + } +--- a/src/output/workspace-stream.cpp ++++ b/src/output/workspace-stream.cpp +@@ -49,8 +49,9 @@ + for (auto& output_node : wf::collect_output_nodes(wf::get_core().scene(), self->output)) + { + // A workspace contains desktop content only. In particular, cube/expo +- // subpasses must never fold a screensaver or lock into the desktop. +- if (output_node == self->output->node_for_layer(scene::layer::SCREENSAVER) || ++ // subpasses must never fold a launcher, screensaver or lock into the desktop. ++ if (output_node == self->output->node_for_layer(scene::layer::OVERLAY) || ++ output_node == self->output->node_for_layer(scene::layer::SCREENSAVER) || + output_node == self->output->node_for_layer(scene::layer::LOCK) || + output_node == self->output->node_for_layer(scene::layer::DWIDGET)) + { +@@ -70,7 +71,6 @@ + !rotate_namespace.empty() && + (rotate_namespace == "*" || + view->get_app_id() == rotate_namespace); +- const bool render_as_desktop_environment = is_de && !rotate_this_de; + const auto excluded_namespace = + self->exclude_desktop_environment; + const auto app_id = view ? view->get_app_id() : std::string{}; +@@ -97,13 +97,15 @@ + // We push the damage as-is for desktop environment views, because they are visible on + // every workspace. + ch->gen_render_instances(this->instances, +- render_as_desktop_environment ? push_damage : translate_and_push_damage, self->output); ++ is_de ? push_damage : translate_and_push_damage, self->output); + + // Mark whether the instances were generated from a desktop environment view + num_generated = this->instances.size() - num_generated; + for (size_t i = 0; i < num_generated; i++) + { +- is_desktop_environment.push_back(render_as_desktop_environment); ++ // Inclusion in a rotating texture does not make a panel ++ // workspace-local: keep it visible and damaged on every face. ++ is_desktop_environment.push_back(is_de); + } + } + } diff --git a/gui-wm/wayfire/files/wayfire-0.11.0-cube-rendering-notes.md b/gui-wm/wayfire/files/wayfire-0.11.0-cube-rendering-notes.md index 335592634e18..be0e7045ee2c 100644 --- a/gui-wm/wayfire/files/wayfire-0.11.0-cube-rendering-notes.md +++ b/gui-wm/wayfire/files/wayfire-0.11.0-cube-rendering-notes.md @@ -28,3 +28,20 @@ No public API or ABI changes; the subslot remains `0/0.11.screensaver1`. Oledsaver 1.0.13 already requests the correct screensaver layer and needs no renderer changes for this patch. See `tests/render-regression/README.md` for isolated, reproducible checks. + +## Revision 4: panels on empty workspaces and overlay ordering + +The cube and its held-window overlay now sit below the OVERLAY layer (anchored +immediately above TOP). Native Wayland launchers such as Rofi remain above the +transformed desktop. Overlay surfaces are excluded from workspace streams so +they are not also composited into the cube background or textures. + +Rotating a desktop panel changes which pass includes it, not its workspace +coordinates. Preserve the desktop-environment flag when scheduling and damaging +its render instances. This replicates Waybar into every workspace texture, +including empty neighboring faces, and updates each copy when the panel changes. + +No public API or ABI changes; the subslot remains `0/0.11.screensaver1`. +The workspace-stream change lives in the compositor executable, so an existing +Wayfire session needs a logout/login to use it; restarting Waybar alone cannot +load the compositor fix. diff --git a/gui-wm/wayfire/graphify-out/.graphify_labels.json b/gui-wm/wayfire/graphify-out/.graphify_labels.json index 4ddd22536126..8a1d1fbd80d9 100644 --- a/gui-wm/wayfire/graphify-out/.graphify_labels.json +++ b/gui-wm/wayfire/graphify-out/.graphify_labels.json @@ -3,8 +3,8 @@ "1": "wayfire-session", "2": "wayfire-session-2", "3": "render_test_t", - "4": "redraw-check.py", - "5": "wayfire-0.11.0-cube-rendering-notes.md", + "4": "ipc", + "5": "Cube damage and layer ordering, revision 3", "6": "map", "7": "string", "8": "README.md", diff --git a/gui-wm/wayfire/graphify-out/.graphify_labels.json.sig b/gui-wm/wayfire/graphify-out/.graphify_labels.json.sig index 311fb262e861..bafed4b1c927 100644 --- a/gui-wm/wayfire/graphify-out/.graphify_labels.json.sig +++ b/gui-wm/wayfire/graphify-out/.graphify_labels.json.sig @@ -1 +1 @@ -{"0": "727e2dbd5ce75a9a", "1": "72d95ee36dfadcc3", "2": "0b11d95a89614162", "3": "dbeaea3fe899ab99", "4": "fd16686c6ba05bdd", "5": "09edd7b1150fd0e2", "6": "68858be981e3a1ba", "7": "7ffe7cfee8e7029d", "8": "b2f736171e800e0b", "9": "59c444c719911f24"}
\ No newline at end of file +{"0": "727e2dbd5ce75a9a", "1": "72d95ee36dfadcc3", "2": "0b11d95a89614162", "3": "dbeaea3fe899ab99", "4": "5080ac27e2ea3040", "5": "7adbef312254a6f6", "6": "68858be981e3a1ba", "7": "7ffe7cfee8e7029d", "8": "b2f736171e800e0b", "9": "59c444c719911f24"}
\ No newline at end of file diff --git a/gui-wm/wayfire/graphify-out/2026-09-19/.graphify_labels.json b/gui-wm/wayfire/graphify-out/2026-09-19/.graphify_labels.json new file mode 100644 index 000000000000..4ddd22536126 --- /dev/null +++ b/gui-wm/wayfire/graphify-out/2026-09-19/.graphify_labels.json @@ -0,0 +1,12 @@ +{ + "0": "Transparent cube animation compatibility notes", + "1": "wayfire-session", + "2": "wayfire-session-2", + "3": "render_test_t", + "4": "redraw-check.py", + "5": "wayfire-0.11.0-cube-rendering-notes.md", + "6": "map", + "7": "string", + "8": "README.md", + "9": "run.py" +} diff --git a/gui-wm/wayfire/graphify-out/2026-09-19/GRAPH_REPORT.md b/gui-wm/wayfire/graphify-out/2026-09-19/GRAPH_REPORT.md new file mode 100644 index 000000000000..5b654b65e6f0 --- /dev/null +++ b/gui-wm/wayfire/graphify-out/2026-09-19/GRAPH_REPORT.md @@ -0,0 +1,73 @@ +# Graph Report - wayfire (2026-09-18) + +## Corpus Check +- 10 files · ~2,248 words +- Verdict: corpus is large enough that graph structure adds value. + +## Summary +- 49 nodes · 46 edges · 10 communities (4 shown, 5 thin omitted) +- Extraction: 100% EXTRACTED · 0% INFERRED · 0% AMBIGUOUS +- Token cost: 0 input · 0 output + +## Community Hubs (Navigation) +- Transparent cube animation compatibility notes +- wayfire-session +- wayfire-session-2 +- render_test_t +- redraw-check.py +- wayfire-0.11.0-cube-rendering-notes.md +- map +- string +- README.md + +## God Nodes (most connected - your core abstractions) +1. `render_test_t` - 17 edges +2. `Transparent cube animation compatibility notes` - 6 edges +3. `ipc()` - 4 edges +4. `solid()` - 2 edges +5. `repo` - 1 edges +6. `rectangle` - 1 edges +7. `solids` - 1 edges +8. `passes` - 1 edges +9. `count_passes` - 1 edges +10. `Goal` - 1 edges + +## Surprising Connections (you probably didn't know these) +- `solid()` --calls--> `ipc()` [EXTRACTED] + tests/render-regression/redraw-check.py → tests/render-regression/ipc.py + +## Import Cycles +- None detected. + +## Communities (10 total, 5 thin omitted) + +### Community 0 - "Transparent cube animation compatibility notes" +Cohesion: 0.29 +Nodes (6): Avoid for now, Current Direction, Goal, Minimum target, Transparent cube animation compatibility notes, Working theory + +### Community 1 - "wayfire-session" +Cohesion: 0.33 +Nodes (5): wayfire-session script, GDK_BACKEND, MOZ_ENABLE_WAYLAND, QT_QPA_PLATFORM, XDG_SESSION_TYPE + +### Community 2 - "wayfire-session-2" +Cohesion: 0.33 +Nodes (5): wayfire-session-2 script, GDK_BACKEND, MOZ_ENABLE_WAYLAND, QT_QPA_PLATFORM, XDG_SESSION_TYPE + +### Community 3 - "render_test_t" +Cohesion: 0.14 +Nodes (13): color_rect_view_t, connection_t, method_repository_t, plugin_interface_t, ref_ptr_t, render_pass_begin_signal, shared_ptr, render_test_t (+5 more) + +## Knowledge Gaps +- **12 isolated node(s):** `repo`, `rectangle`, `solids`, `passes`, `count_passes` (+7 more) + These have ≤1 connection - possible missing edges or undocumented components. (Counts symbols only; 36 node(s) total have ≤1 connection when file, concept and rationale nodes are included.) +- **5 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. + +## Suggested Questions +_Questions this graph is uniquely positioned to answer:_ + +- **Why does `render_test_t` connect `render_test_t` to `map`, `string`?** + _High betweenness centrality (0.119) - this node is a cross-community bridge._ +- **What connects `repo`, `rectangle`, `solids` to the rest of the system?** + _12 weakly-connected nodes found - possible documentation gaps or missing edges._ +- **Should `render_test_t` be split into smaller, more focused modules?** + _Cohesion score 0.14285714285714285 - nodes in this community are weakly interconnected._
\ No newline at end of file diff --git a/gui-wm/wayfire/graphify-out/2026-09-19/graph.json b/gui-wm/wayfire/graphify-out/2026-09-19/graph.json new file mode 100644 index 000000000000..6f60b65920d6 --- /dev/null +++ b/gui-wm/wayfire/graphify-out/2026-09-19/graph.json @@ -0,0 +1,1142 @@ +{ + "directed": false, + "multigraph": false, + "graph": {}, + "nodes": [ + { + "id": "tests_render_regression_render_test_render_test_t", + "label": "render_test_t", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "community": 3, + "community_name": "render_test_t", + "file_type": "code", + "norm_label": "render_test_t", + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L19" + }, + { + "id": "tests_render_regression_render_test_render_test_t_fini", + "label": ".fini()", + "_callable": true, + "_origin": "ast", + "community": 3, + "community_name": "render_test_t", + "file_type": "code", + "norm_label": ".fini()", + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L173" + }, + { + "id": "tests_render_regression_ipc_ipc", + "label": "ipc()", + "_callable": true, + "_origin": "ast", + "community": 4, + "community_name": "redraw-check.py", + "file_type": "code", + "norm_label": "ipc()", + "source_file": "tests/render-regression/ipc.py", + "source_location": "L9" + }, + { + "id": "tests_render_regression_redraw_check_check", + "label": "check()", + "_callable": true, + "_origin": "ast", + "community": 4, + "community_name": "redraw-check.py", + "file_type": "code", + "norm_label": "check()", + "source_file": "tests/render-regression/redraw-check.py", + "source_location": "L7" + }, + { + "id": "tests_render_regression_redraw_check_shot", + "label": "shot()", + "_callable": true, + "_origin": "ast", + "community": 4, + "community_name": "redraw-check.py", + "file_type": "code", + "norm_label": "shot()", + "source_file": "tests/render-regression/redraw-check.py", + "source_location": "L11" + }, + { + "id": "tests_render_regression_redraw_check_solid", + "label": "solid()", + "_callable": true, + "_origin": "ast", + "community": 4, + "community_name": "redraw-check.py", + "file_type": "code", + "norm_label": "solid()", + "source_file": "tests/render-regression/redraw-check.py", + "source_location": "L14" + }, + { + "id": "tests_render_regression_render_test_render_test_t_init", + "label": ".init()", + "_callable": true, + "_origin": "ast", + "community": 7, + "community_name": "string", + "file_type": "code", + "norm_label": ".init()", + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L28" + }, + { + "id": "files_wayfire_0_10_1_transparent_cube_animation_notes", + "label": "wayfire-0.10.1-transparent-cube-animation-notes.md", + "_origin": "ast", + "community": 0, + "community_name": "Transparent cube animation compatibility notes", + "file_type": "document", + "node_kind": "page", + "norm_label": "wayfire-0.10.1-transparent-cube-animation-notes.md", + "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", + "source_location": "L1" + }, + { + "id": "files_wayfire_0_10_1_transparent_cube_animation_notes_avoid_for_now", + "label": "Avoid for now", + "_origin": "ast", + "community": 0, + "community_name": "Transparent cube animation compatibility notes", + "file_type": "document", + "node_kind": "heading", + "norm_label": "avoid for now", + "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", + "source_location": "L65" + }, + { + "id": "files_wayfire_0_10_1_transparent_cube_animation_notes_current_direction", + "label": "Current Direction", + "_origin": "ast", + "community": 0, + "community_name": "Transparent cube animation compatibility notes", + "file_type": "document", + "node_kind": "heading", + "norm_label": "current direction", + "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", + "source_location": "L55" + }, + { + "id": "files_wayfire_0_10_1_transparent_cube_animation_notes_goal", + "label": "Goal", + "_origin": "ast", + "community": 0, + "community_name": "Transparent cube animation compatibility notes", + "file_type": "document", + "node_kind": "heading", + "norm_label": "goal", + "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", + "source_location": "L3" + }, + { + "id": "files_wayfire_0_10_1_transparent_cube_animation_notes_minimum_target", + "label": "Minimum target", + "_origin": "ast", + "community": 0, + "community_name": "Transparent cube animation compatibility notes", + "file_type": "document", + "node_kind": "heading", + "norm_label": "minimum target", + "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", + "source_location": "L27" + }, + { + "id": "files_wayfire_0_10_1_transparent_cube_animation_notes_transparent_cube_animation_compatibility_notes", + "label": "Transparent cube animation compatibility notes", + "_origin": "ast", + "community": 0, + "community_name": "Transparent cube animation compatibility notes", + "file_type": "document", + "node_kind": "heading", + "norm_label": "transparent cube animation compatibility notes", + "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", + "source_location": "L1" + }, + { + "id": "files_wayfire_0_10_1_transparent_cube_animation_notes_working_theory", + "label": "Working theory", + "_origin": "ast", + "community": 0, + "community_name": "Transparent cube animation compatibility notes", + "file_type": "document", + "node_kind": "heading", + "norm_label": "working theory", + "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", + "source_location": "L14" + }, + { + "id": "files_wayfire_session", + "label": "wayfire-session", + "_origin": "ast", + "community": 1, + "community_name": "wayfire-session", + "file_type": "code", + "metadata": { + "language": "bash", + "kind": "file" + }, + "norm_label": "wayfire-session", + "source_file": "files/wayfire-session", + "source_location": "L1" + }, + { + "id": "files_wayfire_session__entry", + "label": "wayfire-session script", + "_origin": "ast", + "community": 1, + "community_name": "wayfire-session", + "file_type": "code", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "norm_label": "wayfire-session script", + "source_file": "files/wayfire-session", + "source_location": "L1" + }, + { + "id": "files_wayfire_session_gdk_backend", + "label": "GDK_BACKEND", + "_origin": "ast", + "community": 1, + "community_name": "wayfire-session", + "file_type": "code", + "metadata": { + "language": "bash", + "kind": "code" + }, + "norm_label": "gdk_backend", + "source_file": "files/wayfire-session", + "source_location": "L13" + }, + { + "id": "files_wayfire_session_moz_enable_wayland", + "label": "MOZ_ENABLE_WAYLAND", + "_origin": "ast", + "community": 1, + "community_name": "wayfire-session", + "file_type": "code", + "metadata": { + "language": "bash", + "kind": "code" + }, + "norm_label": "moz_enable_wayland", + "source_file": "files/wayfire-session", + "source_location": "L15" + }, + { + "id": "files_wayfire_session_qt_qpa_platform", + "label": "QT_QPA_PLATFORM", + "_origin": "ast", + "community": 1, + "community_name": "wayfire-session", + "file_type": "code", + "metadata": { + "language": "bash", + "kind": "code" + }, + "norm_label": "qt_qpa_platform", + "source_file": "files/wayfire-session", + "source_location": "L14" + }, + { + "id": "files_wayfire_session_xdg_session_type", + "label": "XDG_SESSION_TYPE", + "_origin": "ast", + "community": 1, + "community_name": "wayfire-session", + "file_type": "code", + "metadata": { + "language": "bash", + "kind": "code" + }, + "norm_label": "xdg_session_type", + "source_file": "files/wayfire-session", + "source_location": "L12" + }, + { + "id": "files_wayfire_session_2", + "label": "wayfire-session-2", + "_origin": "ast", + "community": 2, + "community_name": "wayfire-session-2", + "file_type": "code", + "metadata": { + "language": "bash", + "kind": "file" + }, + "norm_label": "wayfire-session-2", + "source_file": "files/wayfire-session-2", + "source_location": "L1" + }, + { + "id": "files_wayfire_session_2__entry", + "label": "wayfire-session-2 script", + "_origin": "ast", + "community": 2, + "community_name": "wayfire-session-2", + "file_type": "code", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "norm_label": "wayfire-session-2 script", + "source_file": "files/wayfire-session-2", + "source_location": "L1" + }, + { + "id": "files_wayfire_session_2_gdk_backend", + "label": "GDK_BACKEND", + "_origin": "ast", + "community": 2, + "community_name": "wayfire-session-2", + "file_type": "code", + "metadata": { + "language": "bash", + "kind": "code" + }, + "norm_label": "gdk_backend", + "source_file": "files/wayfire-session-2", + "source_location": "L13" + }, + { + "id": "files_wayfire_session_2_moz_enable_wayland", + "label": "MOZ_ENABLE_WAYLAND", + "_origin": "ast", + "community": 2, + "community_name": "wayfire-session-2", + "file_type": "code", + "metadata": { + "language": "bash", + "kind": "code" + }, + "norm_label": "moz_enable_wayland", + "source_file": "files/wayfire-session-2", + "source_location": "L15" + }, + { + "id": "files_wayfire_session_2_qt_qpa_platform", + "label": "QT_QPA_PLATFORM", + "_origin": "ast", + "community": 2, + "community_name": "wayfire-session-2", + "file_type": "code", + "metadata": { + "language": "bash", + "kind": "code" + }, + "norm_label": "qt_qpa_platform", + "source_file": "files/wayfire-session-2", + "source_location": "L14" + }, + { + "id": "files_wayfire_session_2_xdg_session_type", + "label": "XDG_SESSION_TYPE", + "_origin": "ast", + "community": 2, + "community_name": "wayfire-session-2", + "file_type": "code", + "metadata": { + "language": "bash", + "kind": "code" + }, + "norm_label": "xdg_session_type", + "source_file": "files/wayfire-session-2", + "source_location": "L12" + }, + { + "id": "color_rect_view_t", + "label": "color_rect_view_t", + "_origin": "ast", + "community": 3, + "community_name": "render_test_t", + "file_type": "code", + "norm_label": "color_rect_view_t", + "source_file": "", + "source_location": "" + }, + { + "id": "connection_t", + "label": "connection_t", + "_origin": "ast", + "community": 3, + "community_name": "render_test_t", + "file_type": "code", + "norm_label": "connection_t", + "source_file": "", + "source_location": "" + }, + { + "id": "method_repository_t", + "label": "method_repository_t", + "_origin": "ast", + "community": 3, + "community_name": "render_test_t", + "file_type": "code", + "norm_label": "method_repository_t", + "source_file": "", + "source_location": "" + }, + { + "id": "plugin_interface_t", + "label": "plugin_interface_t", + "_origin": "ast", + "community": 3, + "community_name": "render_test_t", + "file_type": "code", + "norm_label": "plugin_interface_t", + "source_file": "", + "source_location": "" + }, + { + "id": "ref_ptr_t", + "label": "ref_ptr_t", + "_origin": "ast", + "community": 3, + "community_name": "render_test_t", + "file_type": "code", + "norm_label": "ref_ptr_t", + "source_file": "", + "source_location": "" + }, + { + "id": "render_pass_begin_signal", + "label": "render_pass_begin_signal", + "_origin": "ast", + "community": 3, + "community_name": "render_test_t", + "file_type": "code", + "norm_label": "render_pass_begin_signal", + "source_file": "", + "source_location": "" + }, + { + "id": "shared_ptr", + "label": "shared_ptr", + "_origin": "ast", + "community": 3, + "community_name": "render_test_t", + "file_type": "code", + "norm_label": "shared_ptr", + "source_file": "", + "source_location": "" + }, + { + "id": "tests_render_regression_render_test_render_test_t_count_passes", + "label": "count_passes", + "_origin": "ast", + "community": 3, + "community_name": "render_test_t", + "file_type": "code", + "norm_label": "count_passes", + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L25" + }, + { + "id": "tests_render_regression_render_test_render_test_t_passes", + "label": "passes", + "_origin": "ast", + "community": 3, + "community_name": "render_test_t", + "file_type": "code", + "norm_label": "passes", + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L24" + }, + { + "id": "tests_render_regression_render_test_render_test_t_rectangle", + "label": "rectangle", + "_origin": "ast", + "community": 3, + "community_name": "render_test_t", + "file_type": "code", + "norm_label": "rectangle", + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L22" + }, + { + "id": "tests_render_regression_render_test_render_test_t_repo", + "label": "repo", + "_origin": "ast", + "community": 3, + "community_name": "render_test_t", + "file_type": "code", + "norm_label": "repo", + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L21" + }, + { + "id": "tests_render_regression_render_test_render_test_t_solids", + "label": "solids", + "_origin": "ast", + "community": 3, + "community_name": "render_test_t", + "file_type": "code", + "norm_label": "solids", + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L23" + }, + { + "id": "tests_render_regression_dynamic_check", + "label": "dynamic-check.py", + "_origin": "ast", + "community": 4, + "community_name": "redraw-check.py", + "file_type": "code", + "norm_label": "dynamic-check.py", + "source_file": "tests/render-regression/dynamic-check.py", + "source_location": "L1" + }, + { + "id": "tests_render_regression_ipc", + "label": "ipc.py", + "_origin": "ast", + "community": 4, + "community_name": "redraw-check.py", + "file_type": "code", + "norm_label": "ipc.py", + "source_file": "tests/render-regression/ipc.py", + "source_location": "L1" + }, + { + "id": "tests_render_regression_redraw_check", + "label": "redraw-check.py", + "_origin": "ast", + "community": 4, + "community_name": "redraw-check.py", + "file_type": "code", + "norm_label": "redraw-check.py", + "source_file": "tests/render-regression/redraw-check.py", + "source_location": "L1" + }, + { + "id": "files_wayfire_0_11_0_cube_rendering_notes", + "label": "wayfire-0.11.0-cube-rendering-notes.md", + "_origin": "ast", + "community": 5, + "community_name": "wayfire-0.11.0-cube-rendering-notes.md", + "file_type": "document", + "node_kind": "page", + "norm_label": "wayfire-0.11.0-cube-rendering-notes.md", + "source_file": "files/wayfire-0.11.0-cube-rendering-notes.md", + "source_location": "L1" + }, + { + "id": "files_wayfire_0_11_0_cube_rendering_notes_cube_damage_and_layer_ordering_revision_3", + "label": "Cube damage and layer ordering, revision 3", + "_origin": "ast", + "community": 5, + "community_name": "wayfire-0.11.0-cube-rendering-notes.md", + "file_type": "document", + "node_kind": "heading", + "norm_label": "cube damage and layer ordering, revision 3", + "source_file": "files/wayfire-0.11.0-cube-rendering-notes.md", + "source_location": "L1" + }, + { + "id": "map", + "label": "map", + "_origin": "ast", + "community": 6, + "community_name": "map", + "file_type": "code", + "norm_label": "map", + "source_file": "", + "source_location": "" + }, + { + "id": "tests_render_regression_render_test", + "label": "render-test.cpp", + "_origin": "ast", + "community": 6, + "community_name": "map", + "file_type": "code", + "norm_label": "render-test.cpp", + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L1" + }, + { + "id": "string", + "label": "string", + "_origin": "ast", + "community": 7, + "community_name": "string", + "file_type": "code", + "norm_label": "string", + "source_file": "", + "source_location": "" + }, + { + "id": "tests_render_regression_readme", + "label": "README.md", + "_origin": "ast", + "community": 8, + "community_name": "README.md", + "file_type": "document", + "node_kind": "page", + "norm_label": "readme.md", + "source_file": "tests/render-regression/README.md", + "source_location": "L1" + }, + { + "id": "tests_render_regression_readme_cube_repaint_and_stacking_regressions", + "label": "Cube repaint and stacking regressions", + "_origin": "ast", + "community": 8, + "community_name": "README.md", + "file_type": "document", + "node_kind": "heading", + "norm_label": "cube repaint and stacking regressions", + "source_file": "tests/render-regression/README.md", + "source_location": "L1" + }, + { + "id": "tests_render_regression_run", + "label": "run.py", + "_origin": "ast", + "community": 9, + "community_name": "run.py", + "file_type": "code", + "norm_label": "run.py", + "source_file": "tests/render-regression/run.py", + "source_location": "L1" + } + ], + "links": [ + { + "source": "tests_render_regression_redraw_check_solid", + "target": "tests_render_regression_ipc_ipc", + "relation": "calls", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "context": "call", + "source_file": "tests/render-regression/redraw-check.py", + "source_location": "L16", + "weight": 1.0 + }, + { + "source": "tests_render_regression_render_test_render_test_t_init", + "target": "string", + "relation": "calls", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "context": "call", + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L33", + "weight": 1.0 + }, + { + "source": "tests_render_regression_render_test_render_test_t", + "target": "tests_render_regression_render_test_render_test_t_repo", + "relation": "defines", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "context": "field", + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L21", + "weight": 1.0 + }, + { + "source": "tests_render_regression_render_test_render_test_t", + "target": "tests_render_regression_render_test_render_test_t_rectangle", + "relation": "defines", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "context": "field", + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L22", + "weight": 1.0 + }, + { + "source": "tests_render_regression_render_test_render_test_t", + "target": "tests_render_regression_render_test_render_test_t_solids", + "relation": "defines", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "context": "field", + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L23", + "weight": 1.0 + }, + { + "source": "tests_render_regression_render_test_render_test_t", + "target": "tests_render_regression_render_test_render_test_t_passes", + "relation": "defines", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "context": "field", + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L24", + "weight": 1.0 + }, + { + "source": "tests_render_regression_render_test_render_test_t", + "target": "tests_render_regression_render_test_render_test_t_count_passes", + "relation": "defines", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "context": "field", + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L25", + "weight": 1.0 + }, + { + "source": "tests_render_regression_render_test_render_test_t", + "target": "ref_ptr_t", + "relation": "references", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "context": "field", + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L21", + "weight": 1.0 + }, + { + "source": "tests_render_regression_render_test_render_test_t", + "target": "map", + "relation": "references", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "context": "field", + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L23", + "weight": 1.0 + }, + { + "source": "tests_render_regression_render_test_render_test_t", + "target": "connection_t", + "relation": "references", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "context": "field", + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L25", + "weight": 1.0 + }, + { + "source": "tests_render_regression_render_test_render_test_t", + "target": "method_repository_t", + "relation": "references", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "context": "generic_arg", + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L21", + "weight": 1.0 + }, + { + "source": "tests_render_regression_render_test_render_test_t", + "target": "color_rect_view_t", + "relation": "references", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "context": "generic_arg", + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L23", + "weight": 1.0 + }, + { + "source": "tests_render_regression_render_test_render_test_t", + "target": "shared_ptr", + "relation": "references", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "context": "generic_arg", + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L23", + "weight": 1.0 + }, + { + "source": "tests_render_regression_render_test_render_test_t", + "target": "string", + "relation": "references", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "context": "generic_arg", + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L23", + "weight": 1.0 + }, + { + "source": "tests_render_regression_render_test_render_test_t", + "target": "render_pass_begin_signal", + "relation": "references", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "context": "generic_arg", + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L25", + "weight": 1.0 + }, + { + "source": "tests_render_regression_dynamic_check", + "target": "tests_render_regression_ipc_ipc", + "relation": "imports", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "context": "import", + "source_file": "tests/render-regression/dynamic-check.py", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "tests_render_regression_redraw_check", + "target": "tests_render_regression_ipc_ipc", + "relation": "imports", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "context": "import", + "source_file": "tests/render-regression/redraw-check.py", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "tests_render_regression_render_test", + "target": "map", + "relation": "imports", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "context": "import", + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L10", + "weight": 1.0 + }, + { + "source": "tests_render_regression_dynamic_check", + "target": "tests_render_regression_ipc", + "relation": "imports_from", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "context": "import", + "source_file": "tests/render-regression/dynamic-check.py", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "tests_render_regression_redraw_check", + "target": "tests_render_regression_ipc", + "relation": "imports_from", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "context": "import", + "source_file": "tests/render-regression/redraw-check.py", + "source_location": "L4", + "weight": 1.0 + }, + { + "source": "files_wayfire_0_10_1_transparent_cube_animation_notes", + "target": "files_wayfire_0_10_1_transparent_cube_animation_notes_transparent_cube_animation_compatibility_notes", + "relation": "contains", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "files_wayfire_0_10_1_transparent_cube_animation_notes_transparent_cube_animation_compatibility_notes", + "target": "files_wayfire_0_10_1_transparent_cube_animation_notes_working_theory", + "relation": "contains", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "files_wayfire_0_10_1_transparent_cube_animation_notes_transparent_cube_animation_compatibility_notes", + "target": "files_wayfire_0_10_1_transparent_cube_animation_notes_minimum_target", + "relation": "contains", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", + "source_location": "L27", + "weight": 1.0 + }, + { + "source": "files_wayfire_0_10_1_transparent_cube_animation_notes_transparent_cube_animation_compatibility_notes", + "target": "files_wayfire_0_10_1_transparent_cube_animation_notes_goal", + "relation": "contains", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", + "source_location": "L3", + "weight": 1.0 + }, + { + "source": "files_wayfire_0_10_1_transparent_cube_animation_notes_transparent_cube_animation_compatibility_notes", + "target": "files_wayfire_0_10_1_transparent_cube_animation_notes_current_direction", + "relation": "contains", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", + "source_location": "L55", + "weight": 1.0 + }, + { + "source": "files_wayfire_0_10_1_transparent_cube_animation_notes_transparent_cube_animation_compatibility_notes", + "target": "files_wayfire_0_10_1_transparent_cube_animation_notes_avoid_for_now", + "relation": "contains", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", + "source_location": "L65", + "weight": 1.0 + }, + { + "source": "files_wayfire_0_11_0_cube_rendering_notes", + "target": "files_wayfire_0_11_0_cube_rendering_notes_cube_damage_and_layer_ordering_revision_3", + "relation": "contains", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "files/wayfire-0.11.0-cube-rendering-notes.md", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "files_wayfire_session", + "target": "files_wayfire_session__entry", + "relation": "contains", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "files/wayfire-session", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "files_wayfire_session_2", + "target": "files_wayfire_session_2__entry", + "relation": "contains", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "files/wayfire-session-2", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_render_regression_ipc", + "target": "tests_render_regression_ipc_ipc", + "relation": "contains", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/render-regression/ipc.py", + "source_location": "L9", + "weight": 1.0 + }, + { + "source": "tests_render_regression_readme", + "target": "tests_render_regression_readme_cube_repaint_and_stacking_regressions", + "relation": "contains", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/render-regression/README.md", + "source_location": "L1", + "weight": 1.0 + }, + { + "source": "tests_render_regression_redraw_check", + "target": "tests_render_regression_redraw_check_shot", + "relation": "contains", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/render-regression/redraw-check.py", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "tests_render_regression_redraw_check", + "target": "tests_render_regression_redraw_check_solid", + "relation": "contains", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/render-regression/redraw-check.py", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "tests_render_regression_redraw_check", + "target": "tests_render_regression_redraw_check_check", + "relation": "contains", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/render-regression/redraw-check.py", + "source_location": "L7", + "weight": 1.0 + }, + { + "source": "tests_render_regression_render_test", + "target": "tests_render_regression_render_test_render_test_t", + "relation": "contains", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "files_wayfire_session", + "target": "files_wayfire_session_xdg_session_type", + "relation": "defines", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "files/wayfire-session", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "files_wayfire_session", + "target": "files_wayfire_session_gdk_backend", + "relation": "defines", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "files/wayfire-session", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "files_wayfire_session", + "target": "files_wayfire_session_qt_qpa_platform", + "relation": "defines", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "files/wayfire-session", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "files_wayfire_session", + "target": "files_wayfire_session_moz_enable_wayland", + "relation": "defines", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "files/wayfire-session", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "files_wayfire_session_2", + "target": "files_wayfire_session_2_xdg_session_type", + "relation": "defines", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "files/wayfire-session-2", + "source_location": "L12", + "weight": 1.0 + }, + { + "source": "files_wayfire_session_2", + "target": "files_wayfire_session_2_gdk_backend", + "relation": "defines", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "files/wayfire-session-2", + "source_location": "L13", + "weight": 1.0 + }, + { + "source": "files_wayfire_session_2", + "target": "files_wayfire_session_2_qt_qpa_platform", + "relation": "defines", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "files/wayfire-session-2", + "source_location": "L14", + "weight": 1.0 + }, + { + "source": "files_wayfire_session_2", + "target": "files_wayfire_session_2_moz_enable_wayland", + "relation": "defines", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "files/wayfire-session-2", + "source_location": "L15", + "weight": 1.0 + }, + { + "source": "tests_render_regression_render_test_render_test_t", + "target": "plugin_interface_t", + "relation": "inherits", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L19", + "weight": 1.0 + }, + { + "source": "tests_render_regression_render_test_render_test_t", + "target": "tests_render_regression_render_test_render_test_t_fini", + "relation": "method", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L173", + "weight": 1.0 + }, + { + "source": "tests_render_regression_render_test_render_test_t", + "target": "tests_render_regression_render_test_render_test_t_init", + "relation": "method", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/render-regression/render-test.cpp", + "source_location": "L28", + "weight": 1.0 + } + ], + "hyperedges": [] +}
\ No newline at end of file diff --git a/gui-wm/wayfire/graphify-out/2026-09-19/manifest.json b/gui-wm/wayfire/graphify-out/2026-09-19/manifest.json new file mode 100644 index 000000000000..1ada7cfe4e41 --- /dev/null +++ b/gui-wm/wayfire/graphify-out/2026-09-19/manifest.json @@ -0,0 +1,62 @@ +{ + "files/wayfire-session": { + "mtime": 1653360147.3630395, + "seen": 1789770744.5676844, + "ast_hash": "b3aeec97b74efdb33552772c7f04b00f", + "semantic_hash": "" + }, + "files/wayfire-session-2": { + "mtime": 1780641764.4558036, + "seen": 1789770744.5676875, + "ast_hash": "0b8e4dd2101110c3e6a3688b8b035251", + "semantic_hash": "" + }, + "files/wayfire-0.10.1-transparent-cube-animation-notes.md": { + "mtime": 1780715444.271489, + "seen": 1789770744.567689, + "ast_hash": "437c539443e80b8f7c072aff6a0bd371", + "semantic_hash": "" + }, + "tests/render-regression/dynamic-check.py": { + "mtime": 1789784619.219585, + "seen": 1789784690.570067, + "ast_hash": "1b3143cc22694a5289171a62ee61f44c", + "semantic_hash": "" + }, + "tests/render-regression/ipc.py": { + "mtime": 1789784619.219585, + "seen": 1789784690.5700681, + "ast_hash": "8a410f0a1e6a7eff9bcf877d82a80f44", + "semantic_hash": "" + }, + "tests/render-regression/redraw-check.py": { + "mtime": 1789784619.219585, + "seen": 1789784690.5700693, + "ast_hash": "92a042b34d3c55bbc945d0b4d6afa84e", + "semantic_hash": "" + }, + "tests/render-regression/render-test.cpp": { + "mtime": 1789784619.219585, + "seen": 1789784690.5700703, + "ast_hash": "a27de53b1c4dce0e7aa04e5ca235c224", + "semantic_hash": "" + }, + "tests/render-regression/run.py": { + "mtime": 1789784668.6247869, + "seen": 1789784690.5700707, + "ast_hash": "d1b8580bf9e8fe8ad3a2ae34fc5b4acb", + "semantic_hash": "" + }, + "files/wayfire-0.11.0-cube-rendering-notes.md": { + "mtime": 1789784668.6247869, + "seen": 1789784690.570073, + "ast_hash": "47ddd006aafc4d8b09b7d948e7a891ae", + "semantic_hash": "" + }, + "tests/render-regression/README.md": { + "mtime": 1789784668.6247869, + "seen": 1789784690.5700736, + "ast_hash": "a1d86d4b3b0617f2f94d97636e3640fd", + "semantic_hash": "" + } +}
\ No newline at end of file diff --git a/gui-wm/wayfire/graphify-out/GRAPH_REPORT.md b/gui-wm/wayfire/graphify-out/GRAPH_REPORT.md index 5b654b65e6f0..5dfa53069bd4 100644 --- a/gui-wm/wayfire/graphify-out/GRAPH_REPORT.md +++ b/gui-wm/wayfire/graphify-out/GRAPH_REPORT.md @@ -1,11 +1,11 @@ -# Graph Report - wayfire (2026-09-18) +# Graph Report - wayfire (2026-09-19) ## Corpus Check -- 10 files · ~2,248 words +- 11 files · ~2,890 words - Verdict: corpus is large enough that graph structure adds value. ## Summary -- 49 nodes · 46 edges · 10 communities (4 shown, 5 thin omitted) +- 54 nodes · 53 edges · 10 communities (5 shown, 4 thin omitted) - Extraction: 100% EXTRACTED · 0% INFERRED · 0% AMBIGUOUS - Token cost: 0 input · 0 output @@ -14,32 +14,34 @@ - wayfire-session - wayfire-session-2 - render_test_t -- redraw-check.py -- wayfire-0.11.0-cube-rendering-notes.md +- ipc +- Cube damage and layer ordering, revision 3 - map - string - README.md ## God Nodes (most connected - your core abstractions) 1. `render_test_t` - 17 edges -2. `Transparent cube animation compatibility notes` - 6 edges -3. `ipc()` - 4 edges +2. `ipc()` - 6 edges +3. `Transparent cube animation compatibility notes` - 6 edges 4. `solid()` - 2 edges -5. `repo` - 1 edges -6. `rectangle` - 1 edges -7. `solids` - 1 edges -8. `passes` - 1 edges -9. `count_passes` - 1 edges -10. `Goal` - 1 edges +5. `solid()` - 2 edges +6. `Cube damage and layer ordering, revision 3` - 2 edges +7. `Panel replication and popup ordering in the desktop cube.` - 1 edges +8. `repo` - 1 edges +9. `rectangle` - 1 edges +10. `solids` - 1 edges ## Surprising Connections (you probably didn't know these) - `solid()` --calls--> `ipc()` [EXTRACTED] + tests/render-regression/layer-check.py → tests/render-regression/ipc.py +- `solid()` --calls--> `ipc()` [EXTRACTED] tests/render-regression/redraw-check.py → tests/render-regression/ipc.py ## Import Cycles - None detected. -## Communities (10 total, 5 thin omitted) +## Communities (10 total, 4 thin omitted) ### Community 0 - "Transparent cube animation compatibility notes" Cohesion: 0.29 @@ -57,16 +59,20 @@ Nodes (5): wayfire-session-2 script, GDK_BACKEND, MOZ_ENABLE_WAYLAND, QT_QPA_PLA Cohesion: 0.14 Nodes (13): color_rect_view_t, connection_t, method_repository_t, plugin_interface_t, ref_ptr_t, render_pass_begin_signal, shared_ptr, render_test_t (+5 more) +### Community 4 - "ipc" +Cohesion: 0.27 +Nodes (4): ipc(), Panel replication and popup ordering in the desktop cube., solid(), solid() + ## Knowledge Gaps - **12 isolated node(s):** `repo`, `rectangle`, `solids`, `passes`, `count_passes` (+7 more) - These have ≤1 connection - possible missing edges or undocumented components. (Counts symbols only; 36 node(s) total have ≤1 connection when file, concept and rationale nodes are included.) -- **5 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. + These have ≤1 connection - possible missing edges or undocumented components. (Counts symbols only; 38 node(s) total have ≤1 connection when file, concept and rationale nodes are included.) +- **4 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. ## Suggested Questions _Questions this graph is uniquely positioned to answer:_ - **Why does `render_test_t` connect `render_test_t` to `map`, `string`?** - _High betweenness centrality (0.119) - this node is a cross-community bridge._ + _High betweenness centrality (0.097) - this node is a cross-community bridge._ - **What connects `repo`, `rectangle`, `solids` to the rest of the system?** _12 weakly-connected nodes found - possible documentation gaps or missing edges._ - **Should `render_test_t` be split into smaller, more focused modules?** diff --git a/gui-wm/wayfire/graphify-out/cache/ast/v0.9.53-s2/180da5328929e76670522b024f0ff14e744359b942ef36461d95777a915ac683.json b/gui-wm/wayfire/graphify-out/cache/ast/v0.9.53-s2/180da5328929e76670522b024f0ff14e744359b942ef36461d95777a915ac683.json new file mode 100644 index 000000000000..1338bf869431 --- /dev/null +++ b/gui-wm/wayfire/graphify-out/cache/ast/v0.9.53-s2/180da5328929e76670522b024f0ff14e744359b942ef36461d95777a915ac683.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_render_regression_run_py", "label": "run.py", "file_type": "code", "source_file": "tests/render-regression/run.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_tests_render_regression_run_py", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/run.py", "source_location": "L3", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_run_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/run.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_run_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/run.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_run_py", "target": "shlex", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/run.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_run_py", "target": "shutil", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/run.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_run_py", "target": "subprocess", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/run.py", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_run_py", "target": "tempfile", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/run.py", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_run_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/run.py", "source_location": "L10", "weight": 1.0}], "raw_calls": []}
\ No newline at end of file diff --git a/gui-wm/wayfire/graphify-out/cache/ast/v0.9.53-s2/1c97369709dde6633f6626a1b82403830a931ba16fcb0dd0fd2bc783f42eaade.json b/gui-wm/wayfire/graphify-out/cache/ast/v0.9.53-s2/1c97369709dde6633f6626a1b82403830a931ba16fcb0dd0fd2bc783f42eaade.json new file mode 100644 index 000000000000..b760b5fbfd1a --- /dev/null +++ b/gui-wm/wayfire/graphify-out/cache/ast/v0.9.53-s2/1c97369709dde6633f6626a1b82403830a931ba16fcb0dd0fd2bc783f42eaade.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_render_regression_redraw_check_py", "label": "redraw-check.py", "file_type": "code", "source_file": "tests/render-regression/redraw-check.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_render_regression_redraw_check_check", "label": "check()", "file_type": "code", "source_file": "tests/render-regression/redraw-check.py", "source_location": "L7", "_callable": true}, {"id": "$graphify-root$_tests_render_regression_redraw_check_shot", "label": "shot()", "file_type": "code", "source_file": "tests/render-regression/redraw-check.py", "source_location": "L11", "_callable": true}, {"id": "$graphify-root$_tests_render_regression_redraw_check_solid", "label": "solid()", "file_type": "code", "source_file": "tests/render-regression/redraw-check.py", "source_location": "L14", "_callable": true}], "edges": [{"source": "$graphify-root$_tests_render_regression_redraw_check_py", "target": "io", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/redraw-check.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_redraw_check_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/redraw-check.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_redraw_check_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/redraw-check.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_redraw_check_py", "target": "subprocess", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/redraw-check.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_redraw_check_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/redraw-check.py", "source_location": "L2", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_redraw_check_py", "target": "pil", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/redraw-check.py", "source_location": "L3", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_redraw_check_py", "target": "ipc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/redraw-check.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_redraw_check_py", "target": "$graphify-root$_tests_render_regression_redraw_check_check", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/render-regression/redraw-check.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_redraw_check_py", "target": "$graphify-root$_tests_render_regression_redraw_check_shot", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/render-regression/redraw-check.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_redraw_check_py", "target": "$graphify-root$_tests_render_regression_redraw_check_solid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/render-regression/redraw-check.py", "source_location": "L14", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_render_regression_redraw_check_shot", "callee": "convert", "is_member_call": true, "source_file": "tests/render-regression/redraw-check.py", "source_location": "L12", "receiver": null}, {"caller_nid": "$graphify-root$_tests_render_regression_redraw_check_shot", "callee": "BytesIO", "is_member_call": true, "source_file": "tests/render-regression/redraw-check.py", "source_location": "L12", "receiver": "io"}, {"caller_nid": "$graphify-root$_tests_render_regression_redraw_check_shot", "callee": "check_output", "is_member_call": true, "source_file": "tests/render-regression/redraw-check.py", "source_location": "L12", "receiver": "subprocess"}, {"caller_nid": "$graphify-root$_tests_render_regression_redraw_check_shot", "callee": "ENV", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/render-regression/redraw-check.py", "source_location": "L12"}, {"caller_nid": "$graphify-root$_tests_render_regression_redraw_check_solid", "callee": "ipc", "is_member_call": false, "source_file": "tests/render-regression/redraw-check.py", "source_location": "L16", "receiver": null}]}
\ No newline at end of file diff --git a/gui-wm/wayfire/graphify-out/cache/ast/v0.9.53-s2/2d8de9b8f2396b4cc50dc4cb14aa49ecafdeb94277d3415ab52d1d998c517802.json b/gui-wm/wayfire/graphify-out/cache/ast/v0.9.53-s2/2d8de9b8f2396b4cc50dc4cb14aa49ecafdeb94277d3415ab52d1d998c517802.json new file mode 100644 index 000000000000..f707433ec68c --- /dev/null +++ b/gui-wm/wayfire/graphify-out/cache/ast/v0.9.53-s2/2d8de9b8f2396b4cc50dc4cb14aa49ecafdeb94277d3415ab52d1d998c517802.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_render_regression_layer_check_py", "label": "layer-check.py", "file_type": "code", "source_file": "tests/render-regression/layer-check.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_render_regression_layer_check_check", "label": "check()", "file_type": "code", "source_file": "tests/render-regression/layer-check.py", "source_location": "L11", "_callable": true}, {"id": "$graphify-root$_tests_render_regression_layer_check_solid", "label": "solid()", "file_type": "code", "source_file": "tests/render-regression/layer-check.py", "source_location": "L16", "_callable": true}, {"id": "$graphify-root$_tests_render_regression_layer_check_rationale_1", "label": "Panel replication and popup ordering in the desktop cube.", "file_type": "rationale", "source_file": "tests/render-regression/layer-check.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_tests_render_regression_layer_check_py", "target": "io", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/layer-check.py", "source_location": "L2", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_layer_check_py", "target": "subprocess", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/layer-check.py", "source_location": "L3", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_layer_check_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/layer-check.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_layer_check_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/layer-check.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_layer_check_py", "target": "pil", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/layer-check.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_layer_check_py", "target": "ipc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/layer-check.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_layer_check_py", "target": "$graphify-root$_tests_render_regression_layer_check_check", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/render-regression/layer-check.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_layer_check_py", "target": "$graphify-root$_tests_render_regression_layer_check_solid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/render-regression/layer-check.py", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_layer_check_rationale_1", "target": "$graphify-root$_tests_render_regression_layer_check_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/render-regression/layer-check.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_render_regression_layer_check_solid", "callee": "ipc", "is_member_call": false, "source_file": "tests/render-regression/layer-check.py", "source_location": "L19", "receiver": null}]}
\ No newline at end of file diff --git a/gui-wm/wayfire/graphify-out/cache/ast/v0.9.53-s2/746da56d8640ac99a1661c96b44251fb4cf44762d42ef83a6f0c968f1f0afd78.json b/gui-wm/wayfire/graphify-out/cache/ast/v0.9.53-s2/746da56d8640ac99a1661c96b44251fb4cf44762d42ef83a6f0c968f1f0afd78.json new file mode 100644 index 000000000000..0ae04525f193 --- /dev/null +++ b/gui-wm/wayfire/graphify-out/cache/ast/v0.9.53-s2/746da56d8640ac99a1661c96b44251fb4cf44762d42ef83a6f0c968f1f0afd78.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_render_regression_readme_md", "label": "README.md", "file_type": "document", "node_kind": "page", "source_file": "tests/render-regression/README.md", "source_location": "L1"}, {"id": "$graphify-root$_tests_render_regression_readme_cube_repaint_and_stacking_regressions", "label": "Cube repaint and stacking regressions", "file_type": "document", "node_kind": "heading", "source_file": "tests/render-regression/README.md", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_tests_render_regression_readme_md", "target": "$graphify-root$_tests_render_regression_readme_cube_repaint_and_stacking_regressions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/render-regression/README.md", "source_location": "L1", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0}
\ No newline at end of file diff --git a/gui-wm/wayfire/graphify-out/cache/ast/v0.9.53-s2/bd26cdd8368afd1dc3250b9b618bf5b18ae82eefeca24060efde7ae53d2d8d37.json b/gui-wm/wayfire/graphify-out/cache/ast/v0.9.53-s2/bd26cdd8368afd1dc3250b9b618bf5b18ae82eefeca24060efde7ae53d2d8d37.json new file mode 100644 index 000000000000..1009dd8d6744 --- /dev/null +++ b/gui-wm/wayfire/graphify-out/cache/ast/v0.9.53-s2/bd26cdd8368afd1dc3250b9b618bf5b18ae82eefeca24060efde7ae53d2d8d37.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_files_wayfire_0_11_0_cube_rendering_notes_md", "label": "wayfire-0.11.0-cube-rendering-notes.md", "file_type": "document", "node_kind": "page", "source_file": "files/wayfire-0.11.0-cube-rendering-notes.md", "source_location": "L1"}, {"id": "$graphify-root$_files_wayfire_0_11_0_cube_rendering_notes_cube_damage_and_layer_ordering_revision_3", "label": "Cube damage and layer ordering, revision 3", "file_type": "document", "node_kind": "heading", "source_file": "files/wayfire-0.11.0-cube-rendering-notes.md", "source_location": "L1"}, {"id": "$graphify-root$_files_wayfire_0_11_0_cube_rendering_notes_revision_4_panels_on_empty_workspaces_and_overlay_ordering", "label": "Revision 4: panels on empty workspaces and overlay ordering", "file_type": "document", "node_kind": "heading", "source_file": "files/wayfire-0.11.0-cube-rendering-notes.md", "source_location": "L32"}], "edges": [{"source": "$graphify-root$_files_wayfire_0_11_0_cube_rendering_notes_md", "target": "$graphify-root$_files_wayfire_0_11_0_cube_rendering_notes_cube_damage_and_layer_ordering_revision_3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "files/wayfire-0.11.0-cube-rendering-notes.md", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_files_wayfire_0_11_0_cube_rendering_notes_cube_damage_and_layer_ordering_revision_3", "target": "$graphify-root$_files_wayfire_0_11_0_cube_rendering_notes_revision_4_panels_on_empty_workspaces_and_overlay_ordering", "relation": "contains", "confidence": "EXTRACTED", "source_file": "files/wayfire-0.11.0-cube-rendering-notes.md", "source_location": "L32", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0}
\ No newline at end of file diff --git a/gui-wm/wayfire/graphify-out/cache/ast/v0.9.53-s2/fec7fb7761be99ac30e14eb2962aeae78a1e6add90cb735d89c671b2f9b75ed6.json b/gui-wm/wayfire/graphify-out/cache/ast/v0.9.53-s2/fec7fb7761be99ac30e14eb2962aeae78a1e6add90cb735d89c671b2f9b75ed6.json new file mode 100644 index 000000000000..5e392057a8b8 --- /dev/null +++ b/gui-wm/wayfire/graphify-out/cache/ast/v0.9.53-s2/fec7fb7761be99ac30e14eb2962aeae78a1e6add90cb735d89c671b2f9b75ed6.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_render_regression_render_test_cpp", "label": "render-test.cpp", "file_type": "code", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L1"}, {"id": "$graphify-root$_tests_render_regression_render_test_render_test_t", "label": "render_test_t", "file_type": "code", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L20", "_callable": true, "_callable_class": true}, {"id": "plugin_interface_t", "label": "plugin_interface_t", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/render-regression/render-test.cpp"}, {"id": "ref_ptr_t", "label": "ref_ptr_t", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/render-regression/render-test.cpp"}, {"id": "method_repository_t", "label": "method_repository_t", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/render-regression/render-test.cpp"}, {"id": "$graphify-root$_tests_render_regression_render_test_render_test_t_repo", "label": "repo", "file_type": "code", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L22"}, {"id": "shared_ptr", "label": "shared_ptr", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/render-regression/render-test.cpp"}, {"id": "color_rect_view_t", "label": "color_rect_view_t", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/render-regression/render-test.cpp"}, {"id": "$graphify-root$_tests_render_regression_render_test_render_test_t_rectangle", "label": "rectangle", "file_type": "code", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L23"}, {"id": "map", "label": "map", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/render-regression/render-test.cpp"}, {"id": "string", "label": "string", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/render-regression/render-test.cpp"}, {"id": "$graphify-root$_tests_render_regression_render_test_render_test_t_solids", "label": "solids", "file_type": "code", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L24"}, {"id": "$graphify-root$_tests_render_regression_render_test_render_test_t_passes", "label": "passes", "file_type": "code", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L25"}, {"id": "connection_t", "label": "connection_t", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/render-regression/render-test.cpp"}, {"id": "render_pass_begin_signal", "label": "render_pass_begin_signal", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/render-regression/render-test.cpp"}, {"id": "$graphify-root$_tests_render_regression_render_test_render_test_t_count_passes", "label": "count_passes", "file_type": "code", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L26"}, {"id": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "label": ".init()", "file_type": "code", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L29", "_callable": true}, {"id": "$graphify-root$_tests_render_regression_render_test_render_test_t_fini", "label": ".fini()", "file_type": "code", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L205", "_callable": true}], "edges": [{"source": "$graphify-root$_tests_render_regression_render_test_cpp", "target": "core", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_render_test_cpp", "target": "output", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L2", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_render_test_cpp", "target": "output_layout", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L3", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_render_test_cpp", "target": "plugin", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_render_test_cpp", "target": "compositor_view", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_render_test_cpp", "target": "render_manager", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_render_test_cpp", "target": "wlroots_full", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_render_test_cpp", "target": "drm_fourcc", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_render_test_cpp", "target": "fstream", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_render_test_cpp", "target": "map", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_render_test_cpp", "target": "scene_operations", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_render_test_cpp", "target": "scene_render", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_render_test_cpp", "target": "workspace_set", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_render_test_cpp", "target": "workspace_stream", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_render_test_cpp", "target": "opengl", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_render_test_cpp", "target": "shared_core_data", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_render_test_cpp", "target": "ipc_method_repository", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_render_test_cpp", "target": "cube_control_signal", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_render_test_cpp", "target": "$graphify-root$_tests_render_regression_render_test_render_test_t", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_render_test_render_test_t", "target": "plugin_interface_t", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_render_test_render_test_t", "target": "ref_ptr_t", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L22", "weight": 1.0, "context": "field"}, {"source": "$graphify-root$_tests_render_regression_render_test_render_test_t", "target": "method_repository_t", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L22", "weight": 1.0, "context": "generic_arg"}, {"source": "$graphify-root$_tests_render_regression_render_test_render_test_t", "target": "$graphify-root$_tests_render_regression_render_test_render_test_t_repo", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L22", "weight": 1.0, "context": "field"}, {"source": "$graphify-root$_tests_render_regression_render_test_render_test_t", "target": "shared_ptr", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L23", "weight": 1.0, "context": "field"}, {"source": "$graphify-root$_tests_render_regression_render_test_render_test_t", "target": "color_rect_view_t", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L23", "weight": 1.0, "context": "generic_arg"}, {"source": "$graphify-root$_tests_render_regression_render_test_render_test_t", "target": "$graphify-root$_tests_render_regression_render_test_render_test_t_rectangle", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L23", "weight": 1.0, "context": "field"}, {"source": "$graphify-root$_tests_render_regression_render_test_render_test_t", "target": "map", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L24", "weight": 1.0, "context": "field"}, {"source": "$graphify-root$_tests_render_regression_render_test_render_test_t", "target": "string", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L24", "weight": 1.0, "context": "generic_arg"}, {"source": "$graphify-root$_tests_render_regression_render_test_render_test_t", "target": "shared_ptr", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L24", "weight": 1.0, "context": "generic_arg"}, {"source": "$graphify-root$_tests_render_regression_render_test_render_test_t", "target": "color_rect_view_t", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L24", "weight": 1.0, "context": "generic_arg"}, {"source": "$graphify-root$_tests_render_regression_render_test_render_test_t", "target": "$graphify-root$_tests_render_regression_render_test_render_test_t_solids", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L24", "weight": 1.0, "context": "field"}, {"source": "$graphify-root$_tests_render_regression_render_test_render_test_t", "target": "$graphify-root$_tests_render_regression_render_test_render_test_t_passes", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L25", "weight": 1.0, "context": "field"}, {"source": "$graphify-root$_tests_render_regression_render_test_render_test_t", "target": "connection_t", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L26", "weight": 1.0, "context": "field"}, {"source": "$graphify-root$_tests_render_regression_render_test_render_test_t", "target": "render_pass_begin_signal", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L26", "weight": 1.0, "context": "generic_arg"}, {"source": "$graphify-root$_tests_render_regression_render_test_render_test_t", "target": "$graphify-root$_tests_render_regression_render_test_render_test_t_count_passes", "relation": "defines", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L26", "weight": 1.0, "context": "field"}, {"source": "$graphify-root$_tests_render_regression_render_test_render_test_t", "target": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L29", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_render_test_render_test_t", "target": "$graphify-root$_tests_render_regression_render_test_render_test_t_fini", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L205", "weight": 1.0}, {"source": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "target": "string", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/render-regression/render-test.cpp", "source_location": "L34", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "connect", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L31", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_core", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L31", "receiver": "wf", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "register_method", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L32", "receiver": "repo", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "find_output", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L34", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_core", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L34", "receiver": "wf", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_layout_geometry", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L35", "receiver": "output", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "allocate", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L37", "receiver": "buffer", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "render_pass_t::run", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L43", "receiver": "wf", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "gles::run_in_context", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L45", "receiver": "wf", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "gles::bind_render_buffer", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L46", "receiver": "wf", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "glGenRenderbuffers", "is_member_call": false, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L47", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "glBindRenderbuffer", "is_member_call": false, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L47", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "glRenderbufferStorage", "is_member_call": false, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L48", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "glFramebufferRenderbuffer", "is_member_call": false, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L49", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "gen_render_instances", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L52", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "scene", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L52", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_core", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L52", "receiver": "wf", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "framebuffer_region_from_geometry_region", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L55", "receiver": "target", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "render_pass_t::run", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L57", "receiver": "wf", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "gles::run_in_context", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L58", "receiver": "wf", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "gles::bind_render_buffer", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L59", "receiver": "wf", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "glFramebufferRenderbuffer", "is_member_call": false, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L60", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "glDeleteRenderbuffers", "is_member_call": false, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L61", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "data", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L65", "receiver": "pixels", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "wlr_texture_read_pixels", "is_member_call": false, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L66", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_texture", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L66", "receiver": "buffer", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "pixman_region32_contains_point", "is_member_call": false, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L71", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "to_pixman", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L71", "receiver": "allowed", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "register_method", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L77", "receiver": "repo", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "find_output", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L79", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_core", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L79", "receiver": "wf", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_all_views", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L81", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_core", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L81", "receiver": "wf", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_output", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L82", "receiver": "candidate", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "toplevel_cast", "is_member_call": false, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L82", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "toplevel_cast", "is_member_call": false, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L83", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_current_workspace", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L84", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "wset", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L84", "receiver": "output", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "emit", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L85", "receiver": "output", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "register_method", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L89", "receiver": "repo", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "register_method", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L93", "receiver": "repo", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "has_member", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L97", "receiver": "data", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "damage", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L101", "receiver": "solid", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "scene::set_node_enabled", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L102", "receiver": "wf", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_root_node", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L102", "receiver": "solid", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "close", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L103", "receiver": "solid", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "reset", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L103", "receiver": "solid", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "find_output", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L107", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_core", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L107", "receiver": "wf", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "color_rect_view_t::create", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L109", "receiver": "wf", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "set_color", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L111", "receiver": "solid", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "set_geometry", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L112", "receiver": "solid", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "set_border", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L113", "receiver": "solid", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "register_method", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L116", "receiver": "repo", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "find_output", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L118", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_core", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L118", "receiver": "wf", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_relative_geometry", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L119", "receiver": "output", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "allocate", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L120", "receiver": "buffer", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "dimensions", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L120", "receiver": "wf", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "make_shared<wf::workspace_stream_node_t>", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L122", "receiver": "std", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "gen_render_instances", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L127", "receiver": "node", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "render_pass_t::run", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L132", "receiver": "wf", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "data", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L136", "receiver": "pixels", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "wlr_texture_read_pixels", "is_member_call": false, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L137", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_texture", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L137", "receiver": "buffer", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "register_method", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L142", "receiver": "repo", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "front", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L144", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_outputs", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L144", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_core", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L144", "receiver": "wf", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_layout_geometry", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L146", "receiver": "output", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "allocate", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L148", "receiver": "buffer", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "render_desktop", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L153", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "data", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L156", "receiver": "pixels", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "wlr_texture_read_pixels", "is_member_call": false, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L157", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_texture", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L157", "receiver": "buffer", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "getenv", "is_member_call": false, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L158", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "put", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L160", "receiver": "f", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "put", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L160", "receiver": "f", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "put", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L160", "receiver": "f", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "register_method", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L163", "receiver": "repo", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "front", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L167", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_outputs", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L167", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_core", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L167", "receiver": "wf", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "color_rect_view_t::create", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L169", "receiver": "wf", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "set_color", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L170", "receiver": "rectangle", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "has_member", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L170", "receiver": "data", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "set_geometry", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L172", "receiver": "rectangle", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "has_member", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L172", "receiver": "data", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "damage", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L178", "receiver": "rectangle", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "scene::set_node_enabled", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L179", "receiver": "wf", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_root_node", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L179", "receiver": "rectangle", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "close", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L180", "receiver": "rectangle", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "reset", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L180", "receiver": "rectangle", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "register_method", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L184", "receiver": "repo", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "has_member", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L187", "receiver": "data", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "find_output", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L188", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_core", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L188", "receiver": "wf", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "front", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L189", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_outputs", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L189", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_core", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L189", "receiver": "wf", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "has_member", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L190", "receiver": "data", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "has_member", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L192", "receiver": "data", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "emit", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L193", "receiver": "output", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "is_plugin_active", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L194", "receiver": "output", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "register_method", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L198", "receiver": "repo", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_outputs", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L200", "receiver": null, "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "get_core", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L200", "receiver": "wf", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_init", "callee": "set_inhibited", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L201", "receiver": "output", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_fini", "callee": "close", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L207", "receiver": "solid", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_fini", "callee": "unregister_method", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L208", "receiver": "repo", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_fini", "callee": "unregister_method", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L209", "receiver": "repo", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_fini", "callee": "unregister_method", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L210", "receiver": "repo", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_fini", "callee": "unregister_method", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L211", "receiver": "repo", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_fini", "callee": "close", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L212", "receiver": "rectangle", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_fini", "callee": "reset", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L212", "receiver": "rectangle", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_fini", "callee": "unregister_method", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L213", "receiver": "repo", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_fini", "callee": "unregister_method", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L214", "receiver": "repo", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_fini", "callee": "unregister_method", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L215", "receiver": "repo", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_fini", "callee": "unregister_method", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L216", "receiver": "repo", "lang": "cpp"}, {"caller_nid": "$graphify-root$_tests_render_regression_render_test_render_test_t_fini", "callee": "unregister_method", "is_member_call": true, "source_file": "tests/render-regression/render-test.cpp", "source_location": "L217", "receiver": "repo", "lang": "cpp"}]}
\ No newline at end of file diff --git a/gui-wm/wayfire/graphify-out/cache/last_query_stamp b/gui-wm/wayfire/graphify-out/cache/last_query_stamp index 150057b31449..302462e1ef37 100644 --- a/gui-wm/wayfire/graphify-out/cache/last_query_stamp +++ b/gui-wm/wayfire/graphify-out/cache/last_query_stamp @@ -1 +1 @@ -1789784946.0656278
\ No newline at end of file +1789862986.9550083
\ No newline at end of file diff --git a/gui-wm/wayfire/graphify-out/cache/stat-index.json b/gui-wm/wayfire/graphify-out/cache/stat-index.json index 19691f6c98bb..a985219117cf 100644 --- a/gui-wm/wayfire/graphify-out/cache/stat-index.json +++ b/gui-wm/wayfire/graphify-out/cache/stat-index.json @@ -1 +1 @@ -{"files/wayfire-0.10.1-transparent-cube-animation-notes.md":{"size":3204,"mtime_ns":1780715444271488977,"indexed_at_ns":1786919041011725353,"word_count":454,"hashes":{"files/wayfire-0.10.1-transparent-cube-animation-notes.md":"f94d994c893c3549e0e32a67eed8bfde5b780f56890086c4daa8815d3dc0d4ad"}},"files/wayfire-session":{"size":540,"mtime_ns":1653360147363039545,"indexed_at_ns":1786919041011320613,"word_count":63,"hashes":{"files/wayfire-session":"e7aa91da4cf87f92e080fc64045b02641a5e02fe4f146744c6d14105840d38a3"}},"files/wayfire-session-2":{"size":871,"mtime_ns":1780641764455803701,"indexed_at_ns":1786919041011593443,"word_count":98,"hashes":{"files/wayfire-session-2":"656d91283bfb50cf8c84cfcefe5833d9ff9d753ce2ca9343a63d3710335a95ef"}},"files/wayfire-0.11.0-cube-rendering-notes.md":{"size":1675,"mtime_ns":1789784668624786964,"indexed_at_ns":1789784690525126086,"word_count":235,"hashes":{"files/wayfire-0.11.0-cube-rendering-notes.md":"16b475fe1869b41ccaca5639bc87dfc15fe69c3ffe5edf9d9fd2b7e7b6985901"}},"tests/render-regression/README.md":{"size":1927,"mtime_ns":1789784668624786964,"indexed_at_ns":1789784690525259067,"word_count":268,"hashes":{"tests/render-regression/readme.md":"7c7bd637f54d282130e0eb0462a0d558e96532feae972902a0159f8240148bb0"}},"tests/render-regression/dynamic-check.py":{"size":895,"mtime_ns":1789784619219584829,"indexed_at_ns":1789784690524069645,"word_count":38,"hashes":{"tests/render-regression/dynamic-check.py":"b09805d473c41ea8845c8a1783d0cccc23e4c6a9e1cb3f1a8e5a7fdb0e559d25"}},"tests/render-regression/ipc.py":{"size":904,"mtime_ns":1789784619219584829,"indexed_at_ns":1789784690524257746,"word_count":80,"hashes":{"tests/render-regression/ipc.py":"05eafb6a3d31ffc3daa8668c07dd7a92234e8056dfbaf507b2d06c4c0ce29adc"}},"tests/render-regression/redraw-check.py":{"size":3094,"mtime_ns":1789784619219584829,"indexed_at_ns":1789784690524395456,"word_count":158,"hashes":{"tests/render-regression/redraw-check.py":"c14d817ea53b36a9a95614c9a0f8afaab9b57168c25b4425d4fbbb7336c95a13"}},"tests/render-regression/render-test.cpp":{"size":9460,"mtime_ns":1789784619219584829,"indexed_at_ns":1789784690524525376,"word_count":617,"hashes":{"tests/render-regression/render-test.cpp":"3043830d9822a41238110bbd2ec25f6ef2931793959d60403d4a33ce3aa5e684"}},"tests/render-regression/run.py":{"size":3136,"mtime_ns":1789784668624786964,"indexed_at_ns":1789784690524655216,"word_count":237,"hashes":{"tests/render-regression/run.py":"afd3dd0924bb0887d234a6470a4a582419a372ff02d515773236ee07980f3c86"}}}
\ No newline at end of file +{"files/wayfire-0.10.1-transparent-cube-animation-notes.md":{"size":3204,"mtime_ns":1780715444271488977,"indexed_at_ns":1786919041011725353,"word_count":454,"hashes":{"files/wayfire-0.10.1-transparent-cube-animation-notes.md":"f94d994c893c3549e0e32a67eed8bfde5b780f56890086c4daa8815d3dc0d4ad"}},"files/wayfire-session":{"size":540,"mtime_ns":1653360147363039545,"indexed_at_ns":1786919041011320613,"word_count":63,"hashes":{"files/wayfire-session":"e7aa91da4cf87f92e080fc64045b02641a5e02fe4f146744c6d14105840d38a3"}},"files/wayfire-session-2":{"size":871,"mtime_ns":1780641764455803701,"indexed_at_ns":1786919041011593443,"word_count":98,"hashes":{"files/wayfire-session-2":"656d91283bfb50cf8c84cfcefe5833d9ff9d753ce2ca9343a63d3710335a95ef"}},"files/wayfire-0.11.0-cube-rendering-notes.md":{"size":2611,"mtime_ns":1789863553646478085,"indexed_at_ns":1789863565882438444,"word_count":371,"hashes":{"files/wayfire-0.11.0-cube-rendering-notes.md":"bd26cdd8368afd1dc3250b9b618bf5b18ae82eefeca24060efde7ae53d2d8d37"}},"tests/render-regression/README.md":{"size":2726,"mtime_ns":1789863553646478085,"indexed_at_ns":1789863565882574004,"word_count":377,"hashes":{"tests/render-regression/readme.md":"746da56d8640ac99a1661c96b44251fb4cf44762d42ef83a6f0c968f1f0afd78"}},"tests/render-regression/dynamic-check.py":{"size":895,"mtime_ns":1789784619219584829,"indexed_at_ns":1789784690524069645,"word_count":38,"hashes":{"tests/render-regression/dynamic-check.py":"b09805d473c41ea8845c8a1783d0cccc23e4c6a9e1cb3f1a8e5a7fdb0e559d25"}},"tests/render-regression/ipc.py":{"size":904,"mtime_ns":1789784619219584829,"indexed_at_ns":1789784690524257746,"word_count":80,"hashes":{"tests/render-regression/ipc.py":"05eafb6a3d31ffc3daa8668c07dd7a92234e8056dfbaf507b2d06c4c0ce29adc"}},"tests/render-regression/redraw-check.py":{"size":3337,"mtime_ns":1789863553646478085,"indexed_at_ns":1789863565881698263,"word_count":171,"hashes":{"tests/render-regression/redraw-check.py":"1c97369709dde6633f6626a1b82403830a931ba16fcb0dd0fd2bc783f42eaade"}},"tests/render-regression/render-test.cpp":{"size":11305,"mtime_ns":1789863426963622458,"indexed_at_ns":1789863565881862703,"word_count":739,"hashes":{"tests/render-regression/render-test.cpp":"fec7fb7761be99ac30e14eb2962aeae78a1e6add90cb735d89c671b2f9b75ed6"}},"tests/render-regression/run.py":{"size":3525,"mtime_ns":1789863426963622458,"indexed_at_ns":1789863565882013924,"word_count":268,"hashes":{"tests/render-regression/run.py":"180da5328929e76670522b024f0ff14e744359b942ef36461d95777a915ac683"}},"tests/render-regression/layer-check.py":{"size":2114,"mtime_ns":1789863426963622458,"indexed_at_ns":1789863565881545033,"word_count":231,"hashes":{"tests/render-regression/layer-check.py":"2d8de9b8f2396b4cc50dc4cb14aa49ecafdeb94277d3415ab52d1d998c517802"}}}
\ No newline at end of file diff --git a/gui-wm/wayfire/graphify-out/graph.html b/gui-wm/wayfire/graphify-out/graph.html index 19f1f0504d68..68e1eceb81cd 100644 --- a/gui-wm/wayfire/graphify-out/graph.html +++ b/gui-wm/wayfire/graphify-out/graph.html @@ -63,12 +63,12 @@ </div> <div id="legend"></div> </div> - <div id="stats">49 nodes · 46 edges · 10 communities</div> + <div id="stats">54 nodes · 53 edges · 10 communities</div> </div> <script> -const RAW_NODES = [{"id": "tests_render_regression_render_test_render_test_t", "label": "render_test_t", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 40.0, "font": {"size": 12, "color": "#ffffff"}, "title": "render_test_t", "community": 3, "community_name": "render_test_t", "source_file": "tests/render-regression/render-test.cpp", "file_type": "code", "degree": 17}, {"id": "tests_render_regression_render_test_render_test_t_fini", "label": ".fini()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".fini()", "community": 3, "community_name": "render_test_t", "source_file": "tests/render-regression/render-test.cpp", "file_type": "code", "degree": 1}, {"id": "tests_render_regression_ipc_ipc", "label": "ipc()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 17.1, "font": {"size": 12, "color": "#ffffff"}, "title": "ipc()", "community": 4, "community_name": "redraw-check.py", "source_file": "tests/render-regression/ipc.py", "file_type": "code", "degree": 4}, {"id": "tests_render_regression_redraw_check_check", "label": "check()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "check()", "community": 4, "community_name": "redraw-check.py", "source_file": "tests/render-regression/redraw-check.py", "file_type": "code", "degree": 1}, {"id": "tests_render_regression_redraw_check_shot", "label": "shot()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "shot()", "community": 4, "community_name": "redraw-check.py", "source_file": "tests/render-regression/redraw-check.py", "file_type": "code", "degree": 1}, {"id": "tests_render_regression_redraw_check_solid", "label": "solid()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "solid()", "community": 4, "community_name": "redraw-check.py", "source_file": "tests/render-regression/redraw-check.py", "file_type": "code", "degree": 2}, {"id": "tests_render_regression_render_test_render_test_t_init", "label": ".init()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".init()", "community": 7, "community_name": "string", "source_file": "tests/render-regression/render-test.cpp", "file_type": "code", "degree": 2}, {"id": "files_wayfire_0_10_1_transparent_cube_animation_notes", "label": "wayfire-0.10.1-transparent-cube-animation-notes.md", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "wayfire-0.10.1-transparent-cube-animation-notes.md", "community": 0, "community_name": "Transparent cube animation compatibility notes", "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", "file_type": "document", "degree": 1}, {"id": "files_wayfire_0_10_1_transparent_cube_animation_notes_avoid_for_now", "label": "Avoid for now", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Avoid for now", "community": 0, "community_name": "Transparent cube animation compatibility notes", "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", "file_type": "document", "degree": 1}, {"id": "files_wayfire_0_10_1_transparent_cube_animation_notes_current_direction", "label": "Current Direction", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Current Direction", "community": 0, "community_name": "Transparent cube animation compatibility notes", "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", "file_type": "document", "degree": 1}, {"id": "files_wayfire_0_10_1_transparent_cube_animation_notes_goal", "label": "Goal", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Goal", "community": 0, "community_name": "Transparent cube animation compatibility notes", "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", "file_type": "document", "degree": 1}, {"id": "files_wayfire_0_10_1_transparent_cube_animation_notes_minimum_target", "label": "Minimum target", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Minimum target", "community": 0, "community_name": "Transparent cube animation compatibility notes", "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", "file_type": "document", "degree": 1}, {"id": "files_wayfire_0_10_1_transparent_cube_animation_notes_transparent_cube_animation_compatibility_notes", "label": "Transparent cube animation compatibility notes", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 20.6, "font": {"size": 12, "color": "#ffffff"}, "title": "Transparent cube animation compatibility notes", "community": 0, "community_name": "Transparent cube animation compatibility notes", "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", "file_type": "document", "degree": 6}, {"id": "files_wayfire_0_10_1_transparent_cube_animation_notes_working_theory", "label": "Working theory", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Working theory", "community": 0, "community_name": "Transparent cube animation compatibility notes", "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", "file_type": "document", "degree": 1}, {"id": "files_wayfire_session", "label": "wayfire-session", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 18.8, "font": {"size": 12, "color": "#ffffff"}, "title": "wayfire-session", "community": 1, "community_name": "wayfire-session", "source_file": "files/wayfire-session", "file_type": "code", "degree": 5}, {"id": "files_wayfire_session__entry", "label": "wayfire-session script", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "wayfire-session script", "community": 1, "community_name": "wayfire-session", "source_file": "files/wayfire-session", "file_type": "code", "degree": 1}, {"id": "files_wayfire_session_gdk_backend", "label": "GDK_BACKEND", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "GDK_BACKEND", "community": 1, "community_name": "wayfire-session", "source_file": "files/wayfire-session", "file_type": "code", "degree": 1}, {"id": "files_wayfire_session_moz_enable_wayland", "label": "MOZ_ENABLE_WAYLAND", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "MOZ_ENABLE_WAYLAND", "community": 1, "community_name": "wayfire-session", "source_file": "files/wayfire-session", "file_type": "code", "degree": 1}, {"id": "files_wayfire_session_qt_qpa_platform", "label": "QT_QPA_PLATFORM", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "QT_QPA_PLATFORM", "community": 1, "community_name": "wayfire-session", "source_file": "files/wayfire-session", "file_type": "code", "degree": 1}, {"id": "files_wayfire_session_xdg_session_type", "label": "XDG_SESSION_TYPE", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "XDG_SESSION_TYPE", "community": 1, "community_name": "wayfire-session", "source_file": "files/wayfire-session", "file_type": "code", "degree": 1}, {"id": "files_wayfire_session_2", "label": "wayfire-session-2", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 18.8, "font": {"size": 12, "color": "#ffffff"}, "title": "wayfire-session-2", "community": 2, "community_name": "wayfire-session-2", "source_file": "files/wayfire-session-2", "file_type": "code", "degree": 5}, {"id": "files_wayfire_session_2__entry", "label": "wayfire-session-2 script", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "wayfire-session-2 script", "community": 2, "community_name": "wayfire-session-2", "source_file": "files/wayfire-session-2", "file_type": "code", "degree": 1}, {"id": "files_wayfire_session_2_gdk_backend", "label": "GDK_BACKEND", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "GDK_BACKEND", "community": 2, "community_name": "wayfire-session-2", "source_file": "files/wayfire-session-2", "file_type": "code", "degree": 1}, {"id": "files_wayfire_session_2_moz_enable_wayland", "label": "MOZ_ENABLE_WAYLAND", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "MOZ_ENABLE_WAYLAND", "community": 2, "community_name": "wayfire-session-2", "source_file": "files/wayfire-session-2", "file_type": "code", "degree": 1}, {"id": "files_wayfire_session_2_qt_qpa_platform", "label": "QT_QPA_PLATFORM", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "QT_QPA_PLATFORM", "community": 2, "community_name": "wayfire-session-2", "source_file": "files/wayfire-session-2", "file_type": "code", "degree": 1}, {"id": "files_wayfire_session_2_xdg_session_type", "label": "XDG_SESSION_TYPE", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "XDG_SESSION_TYPE", "community": 2, "community_name": "wayfire-session-2", "source_file": "files/wayfire-session-2", "file_type": "code", "degree": 1}, {"id": "color_rect_view_t", "label": "color_rect_view_t", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "color_rect_view_t", "community": 3, "community_name": "render_test_t", "source_file": "", "file_type": "code", "degree": 1}, {"id": "connection_t", "label": "connection_t", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "connection_t", "community": 3, "community_name": "render_test_t", "source_file": "", "file_type": "code", "degree": 1}, {"id": "method_repository_t", "label": "method_repository_t", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "method_repository_t", "community": 3, "community_name": "render_test_t", "source_file": "", "file_type": "code", "degree": 1}, {"id": "plugin_interface_t", "label": "plugin_interface_t", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "plugin_interface_t", "community": 3, "community_name": "render_test_t", "source_file": "", "file_type": "code", "degree": 1}, {"id": "ref_ptr_t", "label": "ref_ptr_t", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "ref_ptr_t", "community": 3, "community_name": "render_test_t", "source_file": "", "file_type": "code", "degree": 1}, {"id": "render_pass_begin_signal", "label": "render_pass_begin_signal", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "render_pass_begin_signal", "community": 3, "community_name": "render_test_t", "source_file": "", "file_type": "code", "degree": 1}, {"id": "shared_ptr", "label": "shared_ptr", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "shared_ptr", "community": 3, "community_name": "render_test_t", "source_file": "", "file_type": "code", "degree": 1}, {"id": "tests_render_regression_render_test_render_test_t_count_passes", "label": "count_passes", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "count_passes", "community": 3, "community_name": "render_test_t", "source_file": "tests/render-regression/render-test.cpp", "file_type": "code", "degree": 1}, {"id": "tests_render_regression_render_test_render_test_t_passes", "label": "passes", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "passes", "community": 3, "community_name": "render_test_t", "source_file": "tests/render-regression/render-test.cpp", "file_type": "code", "degree": 1}, {"id": "tests_render_regression_render_test_render_test_t_rectangle", "label": "rectangle", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "rectangle", "community": 3, "community_name": "render_test_t", "source_file": "tests/render-regression/render-test.cpp", "file_type": "code", "degree": 1}, {"id": "tests_render_regression_render_test_render_test_t_repo", "label": "repo", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "repo", "community": 3, "community_name": "render_test_t", "source_file": "tests/render-regression/render-test.cpp", "file_type": "code", "degree": 1}, {"id": "tests_render_regression_render_test_render_test_t_solids", "label": "solids", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "solids", "community": 3, "community_name": "render_test_t", "source_file": "tests/render-regression/render-test.cpp", "file_type": "code", "degree": 1}, {"id": "tests_render_regression_dynamic_check", "label": "dynamic-check.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "dynamic-check.py", "community": 4, "community_name": "redraw-check.py", "source_file": "tests/render-regression/dynamic-check.py", "file_type": "code", "degree": 2}, {"id": "tests_render_regression_ipc", "label": "ipc.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "ipc.py", "community": 4, "community_name": "redraw-check.py", "source_file": "tests/render-regression/ipc.py", "file_type": "code", "degree": 3}, {"id": "tests_render_regression_redraw_check", "label": "redraw-check.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 18.8, "font": {"size": 12, "color": "#ffffff"}, "title": "redraw-check.py", "community": 4, "community_name": "redraw-check.py", "source_file": "tests/render-regression/redraw-check.py", "file_type": "code", "degree": 5}, {"id": "files_wayfire_0_11_0_cube_rendering_notes", "label": "wayfire-0.11.0-cube-rendering-notes.md", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "wayfire-0.11.0-cube-rendering-notes.md", "community": 5, "community_name": "wayfire-0.11.0-cube-rendering-notes.md", "source_file": "files/wayfire-0.11.0-cube-rendering-notes.md", "file_type": "document", "degree": 1}, {"id": "files_wayfire_0_11_0_cube_rendering_notes_cube_damage_and_layer_ordering_revision_3", "label": "Cube damage and layer ordering, revision 3", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Cube damage and layer ordering, revision 3", "community": 5, "community_name": "wayfire-0.11.0-cube-rendering-notes.md", "source_file": "files/wayfire-0.11.0-cube-rendering-notes.md", "file_type": "document", "degree": 1}, {"id": "map", "label": "map", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "map", "community": 6, "community_name": "map", "source_file": "", "file_type": "code", "degree": 2}, {"id": "tests_render_regression_render_test", "label": "render-test.cpp", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "render-test.cpp", "community": 6, "community_name": "map", "source_file": "tests/render-regression/render-test.cpp", "file_type": "code", "degree": 2}, {"id": "string", "label": "string", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "string", "community": 7, "community_name": "string", "source_file": "", "file_type": "code", "degree": 2}, {"id": "tests_render_regression_readme", "label": "README.md", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "README.md", "community": 8, "community_name": "README.md", "source_file": "tests/render-regression/README.md", "file_type": "document", "degree": 1}, {"id": "tests_render_regression_readme_cube_repaint_and_stacking_regressions", "label": "Cube repaint and stacking regressions", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Cube repaint and stacking regressions", "community": 8, "community_name": "README.md", "source_file": "tests/render-regression/README.md", "file_type": "document", "degree": 1}, {"id": "tests_render_regression_run", "label": "run.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "run.py", "community": 9, "community_name": "run.py", "source_file": "tests/render-regression/run.py", "file_type": "code", "degree": 0}]; -const RAW_EDGES = [{"from": "tests_render_regression_render_test_render_test_t", "to": "tests_render_regression_render_test_render_test_t_repo", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "tests_render_regression_render_test_render_test_t_rectangle", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "tests_render_regression_render_test_render_test_t_solids", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "tests_render_regression_render_test_render_test_t_passes", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "tests_render_regression_render_test_render_test_t_count_passes", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "ref_ptr_t", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "map", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "connection_t", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "method_repository_t", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "color_rect_view_t", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "shared_ptr", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "string", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "render_pass_begin_signal", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "tests_render_regression_render_test", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "plugin_interface_t", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "tests_render_regression_render_test_render_test_t_fini", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "tests_render_regression_render_test_render_test_t_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_ipc_ipc", "to": "tests_render_regression_redraw_check_solid", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_ipc_ipc", "to": "tests_render_regression_dynamic_check", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_ipc_ipc", "to": "tests_render_regression_redraw_check", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_ipc_ipc", "to": "tests_render_regression_ipc", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_redraw_check_check", "to": "tests_render_regression_redraw_check", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_redraw_check_shot", "to": "tests_render_regression_redraw_check", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_redraw_check_solid", "to": "tests_render_regression_redraw_check", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t_init", "to": "string", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_0_10_1_transparent_cube_animation_notes", "to": "files_wayfire_0_10_1_transparent_cube_animation_notes_transparent_cube_animation_compatibility_notes", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_0_10_1_transparent_cube_animation_notes_avoid_for_now", "to": "files_wayfire_0_10_1_transparent_cube_animation_notes_transparent_cube_animation_compatibility_notes", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_0_10_1_transparent_cube_animation_notes_current_direction", "to": "files_wayfire_0_10_1_transparent_cube_animation_notes_transparent_cube_animation_compatibility_notes", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_0_10_1_transparent_cube_animation_notes_goal", "to": "files_wayfire_0_10_1_transparent_cube_animation_notes_transparent_cube_animation_compatibility_notes", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_0_10_1_transparent_cube_animation_notes_minimum_target", "to": "files_wayfire_0_10_1_transparent_cube_animation_notes_transparent_cube_animation_compatibility_notes", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_0_10_1_transparent_cube_animation_notes_transparent_cube_animation_compatibility_notes", "to": "files_wayfire_0_10_1_transparent_cube_animation_notes_working_theory", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_session", "to": "files_wayfire_session__entry", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_session", "to": "files_wayfire_session_xdg_session_type", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_session", "to": "files_wayfire_session_gdk_backend", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_session", "to": "files_wayfire_session_qt_qpa_platform", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_session", "to": "files_wayfire_session_moz_enable_wayland", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_session_2", "to": "files_wayfire_session_2__entry", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_session_2", "to": "files_wayfire_session_2_xdg_session_type", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_session_2", "to": "files_wayfire_session_2_gdk_backend", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_session_2", "to": "files_wayfire_session_2_qt_qpa_platform", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_session_2", "to": "files_wayfire_session_2_moz_enable_wayland", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_dynamic_check", "to": "tests_render_regression_ipc", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_ipc", "to": "tests_render_regression_redraw_check", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_0_11_0_cube_rendering_notes", "to": "files_wayfire_0_11_0_cube_rendering_notes_cube_damage_and_layer_ordering_revision_3", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "map", "to": "tests_render_regression_render_test", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_readme", "to": "tests_render_regression_readme_cube_repaint_and_stacking_regressions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}]; -const LEGEND = [{"cid": 0, "color": "#4E79A7", "label": "Transparent cube animation compatibility notes", "count": 7}, {"cid": 1, "color": "#F28E2B", "label": "wayfire-session", "count": 6}, {"cid": 2, "color": "#E15759", "label": "wayfire-session-2", "count": 6}, {"cid": 3, "color": "#76B7B2", "label": "render_test_t", "count": 14}, {"cid": 4, "color": "#59A14F", "label": "redraw-check.py", "count": 7}, {"cid": 5, "color": "#EDC948", "label": "wayfire-0.11.0-cube-rendering-notes.md", "count": 2}, {"cid": 6, "color": "#B07AA1", "label": "map", "count": 2}, {"cid": 7, "color": "#FF9DA7", "label": "string", "count": 2}, {"cid": 8, "color": "#9C755F", "label": "README.md", "count": 2}, {"cid": 9, "color": "#BAB0AC", "label": "run.py", "count": 1}]; +const RAW_NODES = [{"id": "tests_render_regression_render_test_render_test_t", "label": "render_test_t", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 40.0, "font": {"size": 12, "color": "#ffffff"}, "title": "render_test_t", "community": 3, "community_name": "render_test_t", "source_file": "tests/render-regression/render-test.cpp", "file_type": "code", "degree": 17}, {"id": "tests_render_regression_render_test_render_test_t_fini", "label": ".fini()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".fini()", "community": 3, "community_name": "render_test_t", "source_file": "tests/render-regression/render-test.cpp", "file_type": "code", "degree": 1}, {"id": "tests_render_regression_ipc_ipc", "label": "ipc()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 20.6, "font": {"size": 12, "color": "#ffffff"}, "title": "ipc()", "community": 4, "community_name": "ipc", "source_file": "tests/render-regression/ipc.py", "file_type": "code", "degree": 6}, {"id": "tests_render_regression_layer_check_check", "label": "check()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "check()", "community": 4, "community_name": "ipc", "source_file": "tests/render-regression/layer-check.py", "file_type": "code", "degree": 1}, {"id": "tests_render_regression_layer_check_solid", "label": "solid()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "solid()", "community": 4, "community_name": "ipc", "source_file": "tests/render-regression/layer-check.py", "file_type": "code", "degree": 2}, {"id": "tests_render_regression_redraw_check_check", "label": "check()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "check()", "community": 4, "community_name": "ipc", "source_file": "tests/render-regression/redraw-check.py", "file_type": "code", "degree": 1}, {"id": "tests_render_regression_redraw_check_shot", "label": "shot()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "shot()", "community": 4, "community_name": "ipc", "source_file": "tests/render-regression/redraw-check.py", "file_type": "code", "degree": 1}, {"id": "tests_render_regression_redraw_check_solid", "label": "solid()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "solid()", "community": 4, "community_name": "ipc", "source_file": "tests/render-regression/redraw-check.py", "file_type": "code", "degree": 2}, {"id": "tests_render_regression_render_test_render_test_t_init", "label": ".init()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".init()", "community": 7, "community_name": "string", "source_file": "tests/render-regression/render-test.cpp", "file_type": "code", "degree": 2}, {"id": "files_wayfire_0_10_1_transparent_cube_animation_notes", "label": "wayfire-0.10.1-transparent-cube-animation-notes.md", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "wayfire-0.10.1-transparent-cube-animation-notes.md", "community": 0, "community_name": "Transparent cube animation compatibility notes", "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", "file_type": "document", "degree": 1}, {"id": "files_wayfire_0_10_1_transparent_cube_animation_notes_avoid_for_now", "label": "Avoid for now", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Avoid for now", "community": 0, "community_name": "Transparent cube animation compatibility notes", "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", "file_type": "document", "degree": 1}, {"id": "files_wayfire_0_10_1_transparent_cube_animation_notes_current_direction", "label": "Current Direction", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Current Direction", "community": 0, "community_name": "Transparent cube animation compatibility notes", "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", "file_type": "document", "degree": 1}, {"id": "files_wayfire_0_10_1_transparent_cube_animation_notes_goal", "label": "Goal", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Goal", "community": 0, "community_name": "Transparent cube animation compatibility notes", "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", "file_type": "document", "degree": 1}, {"id": "files_wayfire_0_10_1_transparent_cube_animation_notes_minimum_target", "label": "Minimum target", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Minimum target", "community": 0, "community_name": "Transparent cube animation compatibility notes", "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", "file_type": "document", "degree": 1}, {"id": "files_wayfire_0_10_1_transparent_cube_animation_notes_transparent_cube_animation_compatibility_notes", "label": "Transparent cube animation compatibility notes", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 20.6, "font": {"size": 12, "color": "#ffffff"}, "title": "Transparent cube animation compatibility notes", "community": 0, "community_name": "Transparent cube animation compatibility notes", "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", "file_type": "document", "degree": 6}, {"id": "files_wayfire_0_10_1_transparent_cube_animation_notes_working_theory", "label": "Working theory", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Working theory", "community": 0, "community_name": "Transparent cube animation compatibility notes", "source_file": "files/wayfire-0.10.1-transparent-cube-animation-notes.md", "file_type": "document", "degree": 1}, {"id": "files_wayfire_session", "label": "wayfire-session", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 18.8, "font": {"size": 12, "color": "#ffffff"}, "title": "wayfire-session", "community": 1, "community_name": "wayfire-session", "source_file": "files/wayfire-session", "file_type": "code", "degree": 5}, {"id": "files_wayfire_session__entry", "label": "wayfire-session script", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "wayfire-session script", "community": 1, "community_name": "wayfire-session", "source_file": "files/wayfire-session", "file_type": "code", "degree": 1}, {"id": "files_wayfire_session_gdk_backend", "label": "GDK_BACKEND", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "GDK_BACKEND", "community": 1, "community_name": "wayfire-session", "source_file": "files/wayfire-session", "file_type": "code", "degree": 1}, {"id": "files_wayfire_session_moz_enable_wayland", "label": "MOZ_ENABLE_WAYLAND", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "MOZ_ENABLE_WAYLAND", "community": 1, "community_name": "wayfire-session", "source_file": "files/wayfire-session", "file_type": "code", "degree": 1}, {"id": "files_wayfire_session_qt_qpa_platform", "label": "QT_QPA_PLATFORM", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "QT_QPA_PLATFORM", "community": 1, "community_name": "wayfire-session", "source_file": "files/wayfire-session", "file_type": "code", "degree": 1}, {"id": "files_wayfire_session_xdg_session_type", "label": "XDG_SESSION_TYPE", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "XDG_SESSION_TYPE", "community": 1, "community_name": "wayfire-session", "source_file": "files/wayfire-session", "file_type": "code", "degree": 1}, {"id": "files_wayfire_session_2", "label": "wayfire-session-2", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 18.8, "font": {"size": 12, "color": "#ffffff"}, "title": "wayfire-session-2", "community": 2, "community_name": "wayfire-session-2", "source_file": "files/wayfire-session-2", "file_type": "code", "degree": 5}, {"id": "files_wayfire_session_2__entry", "label": "wayfire-session-2 script", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "wayfire-session-2 script", "community": 2, "community_name": "wayfire-session-2", "source_file": "files/wayfire-session-2", "file_type": "code", "degree": 1}, {"id": "files_wayfire_session_2_gdk_backend", "label": "GDK_BACKEND", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "GDK_BACKEND", "community": 2, "community_name": "wayfire-session-2", "source_file": "files/wayfire-session-2", "file_type": "code", "degree": 1}, {"id": "files_wayfire_session_2_moz_enable_wayland", "label": "MOZ_ENABLE_WAYLAND", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "MOZ_ENABLE_WAYLAND", "community": 2, "community_name": "wayfire-session-2", "source_file": "files/wayfire-session-2", "file_type": "code", "degree": 1}, {"id": "files_wayfire_session_2_qt_qpa_platform", "label": "QT_QPA_PLATFORM", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "QT_QPA_PLATFORM", "community": 2, "community_name": "wayfire-session-2", "source_file": "files/wayfire-session-2", "file_type": "code", "degree": 1}, {"id": "files_wayfire_session_2_xdg_session_type", "label": "XDG_SESSION_TYPE", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "XDG_SESSION_TYPE", "community": 2, "community_name": "wayfire-session-2", "source_file": "files/wayfire-session-2", "file_type": "code", "degree": 1}, {"id": "color_rect_view_t", "label": "color_rect_view_t", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "color_rect_view_t", "community": 3, "community_name": "render_test_t", "source_file": "", "file_type": "code", "degree": 1}, {"id": "connection_t", "label": "connection_t", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "connection_t", "community": 3, "community_name": "render_test_t", "source_file": "", "file_type": "code", "degree": 1}, {"id": "method_repository_t", "label": "method_repository_t", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "method_repository_t", "community": 3, "community_name": "render_test_t", "source_file": "", "file_type": "code", "degree": 1}, {"id": "plugin_interface_t", "label": "plugin_interface_t", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "plugin_interface_t", "community": 3, "community_name": "render_test_t", "source_file": "", "file_type": "code", "degree": 1}, {"id": "ref_ptr_t", "label": "ref_ptr_t", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "ref_ptr_t", "community": 3, "community_name": "render_test_t", "source_file": "", "file_type": "code", "degree": 1}, {"id": "render_pass_begin_signal", "label": "render_pass_begin_signal", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "render_pass_begin_signal", "community": 3, "community_name": "render_test_t", "source_file": "", "file_type": "code", "degree": 1}, {"id": "shared_ptr", "label": "shared_ptr", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "shared_ptr", "community": 3, "community_name": "render_test_t", "source_file": "", "file_type": "code", "degree": 1}, {"id": "tests_render_regression_render_test_render_test_t_count_passes", "label": "count_passes", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "count_passes", "community": 3, "community_name": "render_test_t", "source_file": "tests/render-regression/render-test.cpp", "file_type": "code", "degree": 1}, {"id": "tests_render_regression_render_test_render_test_t_passes", "label": "passes", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "passes", "community": 3, "community_name": "render_test_t", "source_file": "tests/render-regression/render-test.cpp", "file_type": "code", "degree": 1}, {"id": "tests_render_regression_render_test_render_test_t_rectangle", "label": "rectangle", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "rectangle", "community": 3, "community_name": "render_test_t", "source_file": "tests/render-regression/render-test.cpp", "file_type": "code", "degree": 1}, {"id": "tests_render_regression_render_test_render_test_t_repo", "label": "repo", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "repo", "community": 3, "community_name": "render_test_t", "source_file": "tests/render-regression/render-test.cpp", "file_type": "code", "degree": 1}, {"id": "tests_render_regression_render_test_render_test_t_solids", "label": "solids", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "solids", "community": 3, "community_name": "render_test_t", "source_file": "tests/render-regression/render-test.cpp", "file_type": "code", "degree": 1}, {"id": "tests_render_regression_dynamic_check", "label": "dynamic-check.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "dynamic-check.py", "community": 4, "community_name": "ipc", "source_file": "tests/render-regression/dynamic-check.py", "file_type": "code", "degree": 2}, {"id": "tests_render_regression_ipc", "label": "ipc.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 17.1, "font": {"size": 12, "color": "#ffffff"}, "title": "ipc.py", "community": 4, "community_name": "ipc", "source_file": "tests/render-regression/ipc.py", "file_type": "code", "degree": 4}, {"id": "tests_render_regression_layer_check", "label": "layer-check.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 18.8, "font": {"size": 12, "color": "#ffffff"}, "title": "layer-check.py", "community": 4, "community_name": "ipc", "source_file": "tests/render-regression/layer-check.py", "file_type": "code", "degree": 5}, {"id": "tests_render_regression_redraw_check", "label": "redraw-check.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 18.8, "font": {"size": 12, "color": "#ffffff"}, "title": "redraw-check.py", "community": 4, "community_name": "ipc", "source_file": "tests/render-regression/redraw-check.py", "file_type": "code", "degree": 5}, {"id": "tests_render_regression_layer_check_rationale_1", "label": "Panel replication and popup ordering in the desktop cube.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Panel replication and popup ordering in the desktop cube.", "community": 4, "community_name": "ipc", "source_file": "tests/render-regression/layer-check.py", "file_type": "rationale", "degree": 1}, {"id": "files_wayfire_0_11_0_cube_rendering_notes", "label": "wayfire-0.11.0-cube-rendering-notes.md", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "wayfire-0.11.0-cube-rendering-notes.md", "community": 5, "community_name": "Cube damage and layer ordering, revision 3", "source_file": "files/wayfire-0.11.0-cube-rendering-notes.md", "file_type": "document", "degree": 1}, {"id": "files_wayfire_0_11_0_cube_rendering_notes_cube_damage_and_layer_ordering_revision_3", "label": "Cube damage and layer ordering, revision 3", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "Cube damage and layer ordering, revision 3", "community": 5, "community_name": "Cube damage and layer ordering, revision 3", "source_file": "files/wayfire-0.11.0-cube-rendering-notes.md", "file_type": "document", "degree": 2}, {"id": "files_wayfire_0_11_0_cube_rendering_notes_revision_4_panels_on_empty_workspaces_and_overlay_ordering", "label": "Revision 4: panels on empty workspaces and overlay ordering", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Revision 4: panels on empty workspaces and overlay ordering", "community": 5, "community_name": "Cube damage and layer ordering, revision 3", "source_file": "files/wayfire-0.11.0-cube-rendering-notes.md", "file_type": "document", "degree": 1}, {"id": "map", "label": "map", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "map", "community": 6, "community_name": "map", "source_file": "", "file_type": "code", "degree": 2}, {"id": "tests_render_regression_render_test", "label": "render-test.cpp", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "render-test.cpp", "community": 6, "community_name": "map", "source_file": "tests/render-regression/render-test.cpp", "file_type": "code", "degree": 2}, {"id": "string", "label": "string", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "string", "community": 7, "community_name": "string", "source_file": "", "file_type": "code", "degree": 2}, {"id": "tests_render_regression_readme", "label": "README.md", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "README.md", "community": 8, "community_name": "README.md", "source_file": "tests/render-regression/README.md", "file_type": "document", "degree": 1}, {"id": "tests_render_regression_readme_cube_repaint_and_stacking_regressions", "label": "Cube repaint and stacking regressions", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Cube repaint and stacking regressions", "community": 8, "community_name": "README.md", "source_file": "tests/render-regression/README.md", "file_type": "document", "degree": 1}, {"id": "tests_render_regression_run", "label": "run.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "run.py", "community": 9, "community_name": "run.py", "source_file": "tests/render-regression/run.py", "file_type": "code", "degree": 0}]; +const RAW_EDGES = [{"from": "tests_render_regression_render_test_render_test_t", "to": "tests_render_regression_render_test_render_test_t_repo", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "tests_render_regression_render_test_render_test_t_rectangle", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "tests_render_regression_render_test_render_test_t_solids", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "tests_render_regression_render_test_render_test_t_passes", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "tests_render_regression_render_test_render_test_t_count_passes", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "ref_ptr_t", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "map", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "connection_t", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "method_repository_t", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "color_rect_view_t", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "shared_ptr", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "string", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "render_pass_begin_signal", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "tests_render_regression_render_test", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "plugin_interface_t", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "tests_render_regression_render_test_render_test_t_fini", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t", "to": "tests_render_regression_render_test_render_test_t_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_ipc_ipc", "to": "tests_render_regression_layer_check_solid", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_ipc_ipc", "to": "tests_render_regression_redraw_check_solid", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_ipc_ipc", "to": "tests_render_regression_dynamic_check", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_ipc_ipc", "to": "tests_render_regression_layer_check", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_ipc_ipc", "to": "tests_render_regression_redraw_check", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_ipc_ipc", "to": "tests_render_regression_ipc", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_layer_check_check", "to": "tests_render_regression_layer_check", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_layer_check_solid", "to": "tests_render_regression_layer_check", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_redraw_check_check", "to": "tests_render_regression_redraw_check", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_redraw_check_shot", "to": "tests_render_regression_redraw_check", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_redraw_check_solid", "to": "tests_render_regression_redraw_check", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_render_test_render_test_t_init", "to": "string", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_0_10_1_transparent_cube_animation_notes", "to": "files_wayfire_0_10_1_transparent_cube_animation_notes_transparent_cube_animation_compatibility_notes", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_0_10_1_transparent_cube_animation_notes_avoid_for_now", "to": "files_wayfire_0_10_1_transparent_cube_animation_notes_transparent_cube_animation_compatibility_notes", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_0_10_1_transparent_cube_animation_notes_current_direction", "to": "files_wayfire_0_10_1_transparent_cube_animation_notes_transparent_cube_animation_compatibility_notes", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_0_10_1_transparent_cube_animation_notes_goal", "to": "files_wayfire_0_10_1_transparent_cube_animation_notes_transparent_cube_animation_compatibility_notes", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_0_10_1_transparent_cube_animation_notes_minimum_target", "to": "files_wayfire_0_10_1_transparent_cube_animation_notes_transparent_cube_animation_compatibility_notes", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_0_10_1_transparent_cube_animation_notes_transparent_cube_animation_compatibility_notes", "to": "files_wayfire_0_10_1_transparent_cube_animation_notes_working_theory", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_session", "to": "files_wayfire_session__entry", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_session", "to": "files_wayfire_session_xdg_session_type", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_session", "to": "files_wayfire_session_gdk_backend", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_session", "to": "files_wayfire_session_qt_qpa_platform", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_session", "to": "files_wayfire_session_moz_enable_wayland", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_session_2", "to": "files_wayfire_session_2__entry", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_session_2", "to": "files_wayfire_session_2_xdg_session_type", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_session_2", "to": "files_wayfire_session_2_gdk_backend", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_session_2", "to": "files_wayfire_session_2_qt_qpa_platform", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_session_2", "to": "files_wayfire_session_2_moz_enable_wayland", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_dynamic_check", "to": "tests_render_regression_ipc", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_ipc", "to": "tests_render_regression_layer_check", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_ipc", "to": "tests_render_regression_redraw_check", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_layer_check", "to": "tests_render_regression_layer_check_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_0_11_0_cube_rendering_notes", "to": "files_wayfire_0_11_0_cube_rendering_notes_cube_damage_and_layer_ordering_revision_3", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "files_wayfire_0_11_0_cube_rendering_notes_cube_damage_and_layer_ordering_revision_3", "to": "files_wayfire_0_11_0_cube_rendering_notes_revision_4_panels_on_empty_workspaces_and_overlay_ordering", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "map", "to": "tests_render_regression_render_test", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_render_regression_readme", "to": "tests_render_regression_readme_cube_repaint_and_stacking_regressions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}]; +const LEGEND = [{"cid": 0, "color": "#4E79A7", "label": "Transparent cube animation compatibility notes", "count": 7}, {"cid": 1, "color": "#F28E2B", "label": "wayfire-session", "count": 6}, {"cid": 2, "color": "#E15759", "label": "wayfire-session-2", "count": 6}, {"cid": 3, "color": "#76B7B2", "label": "render_test_t", "count": 14}, {"cid": 4, "color": "#59A14F", "label": "ipc", "count": 11}, {"cid": 5, "color": "#EDC948", "label": "Cube damage and layer ordering, revision 3", "count": 3}, {"cid": 6, "color": "#B07AA1", "label": "map", "count": 2}, {"cid": 7, "color": "#FF9DA7", "label": "string", "count": 2}, {"cid": 8, "color": "#9C755F", "label": "README.md", "count": 2}, {"cid": 9, "color": "#BAB0AC", "label": "run.py", "count": 1}]; // HTML-escape helper — prevents XSS when injecting graph data into innerHTML function esc(s) { diff --git a/gui-wm/wayfire/graphify-out/graph.json b/gui-wm/wayfire/graphify-out/graph.json index 6f60b65920d6..e2c45ddde4c5 100644 --- a/gui-wm/wayfire/graphify-out/graph.json +++ b/gui-wm/wayfire/graphify-out/graph.json @@ -14,7 +14,7 @@ "file_type": "code", "norm_label": "render_test_t", "source_file": "tests/render-regression/render-test.cpp", - "source_location": "L19" + "source_location": "L20" }, { "id": "tests_render_regression_render_test_render_test_t_fini", @@ -26,7 +26,7 @@ "file_type": "code", "norm_label": ".fini()", "source_file": "tests/render-regression/render-test.cpp", - "source_location": "L173" + "source_location": "L205" }, { "id": "tests_render_regression_ipc_ipc", @@ -34,19 +34,43 @@ "_callable": true, "_origin": "ast", "community": 4, - "community_name": "redraw-check.py", + "community_name": "ipc", "file_type": "code", "norm_label": "ipc()", "source_file": "tests/render-regression/ipc.py", "source_location": "L9" }, { + "id": "tests_render_regression_layer_check_check", + "label": "check()", + "_callable": true, + "_origin": "ast", + "community": 4, + "community_name": "ipc", + "file_type": "code", + "norm_label": "check()", + "source_file": "tests/render-regression/layer-check.py", + "source_location": "L11" + }, + { + "id": "tests_render_regression_layer_check_solid", + "label": "solid()", + "_callable": true, + "_origin": "ast", + "community": 4, + "community_name": "ipc", + "file_type": "code", + "norm_label": "solid()", + "source_file": "tests/render-regression/layer-check.py", + "source_location": "L16" + }, + { "id": "tests_render_regression_redraw_check_check", "label": "check()", "_callable": true, "_origin": "ast", "community": 4, - "community_name": "redraw-check.py", + "community_name": "ipc", "file_type": "code", "norm_label": "check()", "source_file": "tests/render-regression/redraw-check.py", @@ -58,7 +82,7 @@ "_callable": true, "_origin": "ast", "community": 4, - "community_name": "redraw-check.py", + "community_name": "ipc", "file_type": "code", "norm_label": "shot()", "source_file": "tests/render-regression/redraw-check.py", @@ -70,7 +94,7 @@ "_callable": true, "_origin": "ast", "community": 4, - "community_name": "redraw-check.py", + "community_name": "ipc", "file_type": "code", "norm_label": "solid()", "source_file": "tests/render-regression/redraw-check.py", @@ -86,7 +110,7 @@ "file_type": "code", "norm_label": ".init()", "source_file": "tests/render-regression/render-test.cpp", - "source_location": "L28" + "source_location": "L29" }, { "id": "files_wayfire_0_10_1_transparent_cube_animation_notes", @@ -438,7 +462,7 @@ "file_type": "code", "norm_label": "count_passes", "source_file": "tests/render-regression/render-test.cpp", - "source_location": "L25" + "source_location": "L26" }, { "id": "tests_render_regression_render_test_render_test_t_passes", @@ -449,7 +473,7 @@ "file_type": "code", "norm_label": "passes", "source_file": "tests/render-regression/render-test.cpp", - "source_location": "L24" + "source_location": "L25" }, { "id": "tests_render_regression_render_test_render_test_t_rectangle", @@ -460,7 +484,7 @@ "file_type": "code", "norm_label": "rectangle", "source_file": "tests/render-regression/render-test.cpp", - "source_location": "L22" + "source_location": "L23" }, { "id": "tests_render_regression_render_test_render_test_t_repo", @@ -471,7 +495,7 @@ "file_type": "code", "norm_label": "repo", "source_file": "tests/render-regression/render-test.cpp", - "source_location": "L21" + "source_location": "L22" }, { "id": "tests_render_regression_render_test_render_test_t_solids", @@ -482,14 +506,14 @@ "file_type": "code", "norm_label": "solids", "source_file": "tests/render-regression/render-test.cpp", - "source_location": "L23" + "source_location": "L24" }, { "id": "tests_render_regression_dynamic_check", "label": "dynamic-check.py", "_origin": "ast", "community": 4, - "community_name": "redraw-check.py", + "community_name": "ipc", "file_type": "code", "norm_label": "dynamic-check.py", "source_file": "tests/render-regression/dynamic-check.py", @@ -500,29 +524,51 @@ "label": "ipc.py", "_origin": "ast", "community": 4, - "community_name": "redraw-check.py", + "community_name": "ipc", "file_type": "code", "norm_label": "ipc.py", "source_file": "tests/render-regression/ipc.py", "source_location": "L1" }, { + "id": "tests_render_regression_layer_check", + "label": "layer-check.py", + "_origin": "ast", + "community": 4, + "community_name": "ipc", + "file_type": "code", + "norm_label": "layer-check.py", + "source_file": "tests/render-regression/layer-check.py", + "source_location": "L1" + }, + { "id": "tests_render_regression_redraw_check", "label": "redraw-check.py", "_origin": "ast", "community": 4, - "community_name": "redraw-check.py", + "community_name": "ipc", "file_type": "code", "norm_label": "redraw-check.py", "source_file": "tests/render-regression/redraw-check.py", "source_location": "L1" }, { + "id": "tests_render_regression_layer_check_rationale_1", + "label": "Panel replication and popup ordering in the desktop cube.", + "_origin": "ast", + "community": 4, + "community_name": "ipc", + "file_type": "rationale", + "norm_label": "panel replication and popup ordering in the desktop cube.", + "source_file": "tests/render-regression/layer-check.py", + "source_location": "L1" + }, + { "id": "files_wayfire_0_11_0_cube_rendering_notes", "label": "wayfire-0.11.0-cube-rendering-notes.md", "_origin": "ast", "community": 5, - "community_name": "wayfire-0.11.0-cube-rendering-notes.md", + "community_name": "Cube damage and layer ordering, revision 3", "file_type": "document", "node_kind": "page", "norm_label": "wayfire-0.11.0-cube-rendering-notes.md", @@ -534,7 +580,7 @@ "label": "Cube damage and layer ordering, revision 3", "_origin": "ast", "community": 5, - "community_name": "wayfire-0.11.0-cube-rendering-notes.md", + "community_name": "Cube damage and layer ordering, revision 3", "file_type": "document", "node_kind": "heading", "norm_label": "cube damage and layer ordering, revision 3", @@ -542,6 +588,18 @@ "source_location": "L1" }, { + "id": "files_wayfire_0_11_0_cube_rendering_notes_revision_4_panels_on_empty_workspaces_and_overlay_ordering", + "label": "Revision 4: panels on empty workspaces and overlay ordering", + "_origin": "ast", + "community": 5, + "community_name": "Cube damage and layer ordering, revision 3", + "file_type": "document", + "node_kind": "heading", + "norm_label": "revision 4: panels on empty workspaces and overlay ordering", + "source_file": "files/wayfire-0.11.0-cube-rendering-notes.md", + "source_location": "L32" + }, + { "id": "map", "label": "map", "_origin": "ast", @@ -612,6 +670,18 @@ ], "links": [ { + "source": "tests_render_regression_layer_check_solid", + "target": "tests_render_regression_ipc_ipc", + "relation": "calls", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "context": "call", + "source_file": "tests/render-regression/layer-check.py", + "source_location": "L19", + "weight": 1.0 + }, + { "source": "tests_render_regression_redraw_check_solid", "target": "tests_render_regression_ipc_ipc", "relation": "calls", @@ -632,7 +702,7 @@ "confidence_score": 1.0, "context": "call", "source_file": "tests/render-regression/render-test.cpp", - "source_location": "L33", + "source_location": "L34", "weight": 1.0 }, { @@ -644,7 +714,7 @@ "confidence_score": 1.0, "context": "field", "source_file": "tests/render-regression/render-test.cpp", - "source_location": "L21", + "source_location": "L22", "weight": 1.0 }, { @@ -656,7 +726,7 @@ "confidence_score": 1.0, "context": "field", "source_file": "tests/render-regression/render-test.cpp", - "source_location": "L22", + "source_location": "L23", "weight": 1.0 }, { @@ -668,7 +738,7 @@ "confidence_score": 1.0, "context": "field", "source_file": "tests/render-regression/render-test.cpp", - "source_location": "L23", + "source_location": "L24", "weight": 1.0 }, { @@ -680,7 +750,7 @@ "confidence_score": 1.0, "context": "field", "source_file": "tests/render-regression/render-test.cpp", - "source_location": "L24", + "source_location": "L25", "weight": 1.0 }, { @@ -692,7 +762,7 @@ "confidence_score": 1.0, "context": "field", "source_file": "tests/render-regression/render-test.cpp", - "source_location": "L25", + "source_location": "L26", "weight": 1.0 }, { @@ -704,7 +774,7 @@ "confidence_score": 1.0, "context": "field", "source_file": "tests/render-regression/render-test.cpp", - "source_location": "L21", + "source_location": "L22", "weight": 1.0 }, { @@ -716,7 +786,7 @@ "confidence_score": 1.0, "context": "field", "source_file": "tests/render-regression/render-test.cpp", - "source_location": "L23", + "source_location": "L24", "weight": 1.0 }, { @@ -728,7 +798,7 @@ "confidence_score": 1.0, "context": "field", "source_file": "tests/render-regression/render-test.cpp", - "source_location": "L25", + "source_location": "L26", "weight": 1.0 }, { @@ -740,7 +810,7 @@ "confidence_score": 1.0, "context": "generic_arg", "source_file": "tests/render-regression/render-test.cpp", - "source_location": "L21", + "source_location": "L22", "weight": 1.0 }, { @@ -752,7 +822,7 @@ "confidence_score": 1.0, "context": "generic_arg", "source_file": "tests/render-regression/render-test.cpp", - "source_location": "L23", + "source_location": "L24", "weight": 1.0 }, { @@ -764,7 +834,7 @@ "confidence_score": 1.0, "context": "generic_arg", "source_file": "tests/render-regression/render-test.cpp", - "source_location": "L23", + "source_location": "L24", "weight": 1.0 }, { @@ -776,7 +846,7 @@ "confidence_score": 1.0, "context": "generic_arg", "source_file": "tests/render-regression/render-test.cpp", - "source_location": "L23", + "source_location": "L24", "weight": 1.0 }, { @@ -788,7 +858,7 @@ "confidence_score": 1.0, "context": "generic_arg", "source_file": "tests/render-regression/render-test.cpp", - "source_location": "L25", + "source_location": "L26", "weight": 1.0 }, { @@ -804,6 +874,18 @@ "weight": 1.0 }, { + "source": "tests_render_regression_layer_check", + "target": "tests_render_regression_ipc_ipc", + "relation": "imports", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "context": "import", + "source_file": "tests/render-regression/layer-check.py", + "source_location": "L7", + "weight": 1.0 + }, + { "source": "tests_render_regression_redraw_check", "target": "tests_render_regression_ipc_ipc", "relation": "imports", @@ -840,6 +922,18 @@ "weight": 1.0 }, { + "source": "tests_render_regression_layer_check", + "target": "tests_render_regression_ipc", + "relation": "imports_from", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "context": "import", + "source_file": "tests/render-regression/layer-check.py", + "source_location": "L7", + "weight": 1.0 + }, + { "source": "tests_render_regression_redraw_check", "target": "tests_render_regression_ipc", "relation": "imports_from", @@ -929,6 +1023,17 @@ "weight": 1.0 }, { + "source": "files_wayfire_0_11_0_cube_rendering_notes_cube_damage_and_layer_ordering_revision_3", + "target": "files_wayfire_0_11_0_cube_rendering_notes_revision_4_panels_on_empty_workspaces_and_overlay_ordering", + "relation": "contains", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "files/wayfire-0.11.0-cube-rendering-notes.md", + "source_location": "L32", + "weight": 1.0 + }, + { "source": "files_wayfire_session", "target": "files_wayfire_session__entry", "relation": "contains", @@ -962,6 +1067,28 @@ "weight": 1.0 }, { + "source": "tests_render_regression_layer_check", + "target": "tests_render_regression_layer_check_check", + "relation": "contains", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/render-regression/layer-check.py", + "source_location": "L11", + "weight": 1.0 + }, + { + "source": "tests_render_regression_layer_check", + "target": "tests_render_regression_layer_check_solid", + "relation": "contains", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/render-regression/layer-check.py", + "source_location": "L16", + "weight": 1.0 + }, + { "source": "tests_render_regression_readme", "target": "tests_render_regression_readme_cube_repaint_and_stacking_regressions", "relation": "contains", @@ -1013,7 +1140,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "tests/render-regression/render-test.cpp", - "source_location": "L19", + "source_location": "L20", "weight": 1.0 }, { @@ -1112,7 +1239,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "tests/render-regression/render-test.cpp", - "source_location": "L19", + "source_location": "L20", "weight": 1.0 }, { @@ -1123,7 +1250,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "tests/render-regression/render-test.cpp", - "source_location": "L173", + "source_location": "L205", "weight": 1.0 }, { @@ -1134,7 +1261,18 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "tests/render-regression/render-test.cpp", - "source_location": "L28", + "source_location": "L29", + "weight": 1.0 + }, + { + "source": "tests_render_regression_layer_check_rationale_1", + "target": "tests_render_regression_layer_check", + "relation": "rationale_for", + "_origin": "ast", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/render-regression/layer-check.py", + "source_location": "L1", "weight": 1.0 } ], diff --git a/gui-wm/wayfire/graphify-out/manifest.json b/gui-wm/wayfire/graphify-out/manifest.json index 1ada7cfe4e41..21ea0710c005 100644 --- a/gui-wm/wayfire/graphify-out/manifest.json +++ b/gui-wm/wayfire/graphify-out/manifest.json @@ -30,33 +30,39 @@ "semantic_hash": "" }, "tests/render-regression/redraw-check.py": { - "mtime": 1789784619.219585, - "seen": 1789784690.5700693, - "ast_hash": "92a042b34d3c55bbc945d0b4d6afa84e", + "mtime": 1789863553.6464782, + "seen": 1789863565.9305708, + "ast_hash": "ea1a793584a49621422f734da2769b34", "semantic_hash": "" }, "tests/render-regression/render-test.cpp": { - "mtime": 1789784619.219585, - "seen": 1789784690.5700703, - "ast_hash": "a27de53b1c4dce0e7aa04e5ca235c224", + "mtime": 1789863426.9636226, + "seen": 1789863565.9305716, + "ast_hash": "84c6a2a9160e43c8a484388abae74c8a", "semantic_hash": "" }, "tests/render-regression/run.py": { - "mtime": 1789784668.6247869, - "seen": 1789784690.5700707, - "ast_hash": "d1b8580bf9e8fe8ad3a2ae34fc5b4acb", + "mtime": 1789863426.9636226, + "seen": 1789863565.9305723, + "ast_hash": "642df6f033630e95e20c2f8c9bbbaee5", "semantic_hash": "" }, "files/wayfire-0.11.0-cube-rendering-notes.md": { - "mtime": 1789784668.6247869, - "seen": 1789784690.570073, - "ast_hash": "47ddd006aafc4d8b09b7d948e7a891ae", + "mtime": 1789863553.6464782, + "seen": 1789863565.9305742, + "ast_hash": "c36a6187b8efc2b903c40c8322fad284", "semantic_hash": "" }, "tests/render-regression/README.md": { - "mtime": 1789784668.6247869, - "seen": 1789784690.5700736, - "ast_hash": "a1d86d4b3b0617f2f94d97636e3640fd", + "mtime": 1789863553.6464782, + "seen": 1789863565.930575, + "ast_hash": "680d033faaa44c0994e2c0cfe33e24a2", + "semantic_hash": "" + }, + "tests/render-regression/layer-check.py": { + "mtime": 1789863426.9636226, + "seen": 1789863565.9305692, + "ast_hash": "6a07eb594e3fbbad1f296a639a31a613", "semantic_hash": "" } }
\ No newline at end of file diff --git a/gui-wm/wayfire/tests/render-regression/README.md b/gui-wm/wayfire/tests/render-regression/README.md index aa6a1422b688..4d3035f028b0 100644 --- a/gui-wm/wayfire/tests/render-regression/README.md +++ b/gui-wm/wayfire/tests/render-regression/README.md @@ -20,7 +20,7 @@ The tests cover: - A settled cube schedules no continuous rendering on three static outputs. - A partial repaint modifies only its requested pixels, including a negative output position, scale 2, and a 90-degree output transform. -- A real Wayland window held during cube rotation stays below screensaver and +- A real Wayland window held during cube rotation stays below overlay, screensaver and lock-layer surfaces. The lock test checks layer ordering, not lock protocol authentication or security. - Content changes, movement/resizing, removal and remapping update cached cube @@ -35,3 +35,15 @@ failures without aborting, for before/after checks. The fixture explicitly damages and disables synthetic rectangles on removal: `color_rect_view_t::close()` emits an unmap signal but does not do the surface damage/disable sequence that a real Wayland surface performs. + +Revision 4 adds panel and overlay regressions in `layer-check.py`. A top-layer +panel included by `cube/rotate_layer_shell` must render on all three workspace +textures, including empty neighboring workspaces. Overlay surfaces must cover +all desktop content during cube rotation, with both fixed and rotating panels. +On r3, a 100x20 panel rendered 2,000 pixels on its current workspace and zero +on either neighbor; the overlay test exposed 173,249 desktop pixels. Revision +4 renders 2,000 panel pixels on each workspace and zero pixels above overlays. + +To test a build before installation, pass `--wayfire /path/to/build/src/wayfire` +and `--plugin-dir /path/to/build/plugins/cube`. The plugin path is appended +after the temporary fixture directory and before the installed plugin directory. diff --git a/gui-wm/wayfire/tests/render-regression/layer-check.py b/gui-wm/wayfire/tests/render-regression/layer-check.py new file mode 100644 index 000000000000..8b1a3bb8214d --- /dev/null +++ b/gui-wm/wayfire/tests/render-regression/layer-check.py @@ -0,0 +1,51 @@ +"""Panel replication and popup ordering in the desktop cube.""" +import io +import subprocess +import sys +import time +from PIL import Image +from ipc import ipc, ENV + +baseline = '--baseline' in sys.argv + +def check(ok, label, value): + print(label, value, 'PASS' if ok else 'FAIL', flush=True) + if not baseline: + assert ok, (label, value) + +def solid(key, layer, color, box): + r, g, b, a = color + x, y, w, h = box + ipc('test/solid', dict(key=key, layer=layer, output='HEADLESS-1', + r=r, g=g, b=b, a=a, x=x, y=y, w=w, h=h)) + +# A shared top-layer panel must appear on every face, including empty workspaces. +ipc('wayfire/set-config-options', {'cube/rotate_layer_shell': '*'}) +solid('panel', 3, (0., 1., 1., 1.), (0, 0, 100, 20)) +try: + for x in range(3): + value = ipc('test/workspace-panel', {'output': 'HEADLESS-1', 'x': x, 'y': 0})['cyan'] + check(value == 2000, f'Panel pixels on workspace {x}', value) +finally: + ipc('test/solid', {'key': 'panel', 'close': True}) + ipc('wayfire/set-config-options', {'cube/rotate_layer_shell': ''}) + +# Overlay launchers stay above the transformed desktop, with or without a panel namespace. +ipc('test/rectangle', {'show': True}) +solid('popup', 5, (1., 0., 1., 1.), (0, 0, 10000, 10000)) +try: + for namespace in ['', 'waybar']: + ipc('wayfire/set-config-options', {'cube/rotate_layer_shell': namespace}) + ipc('test/cube', {'output': 'HEADLESS-1'}) + time.sleep(1) + shot = Image.open(io.BytesIO(subprocess.check_output( + ['grim', '-o', 'HEADLESS-1', '-'], env=ENV))).convert('RGB') + leaks = sum(p != (255, 0, 255) for p in shot.get_flattened_data()) + check(leaks == 0, f'Desktop pixels above overlay ({namespace or "fixed panels"})', leaks) + ipc('test/cube', {'output': 'HEADLESS-1', 'stop': True}) + time.sleep(.5) +finally: + ipc('test/rectangle', {'show': False}) + ipc('test/solid', {'key': 'popup', 'close': True}) + ipc('test/cube', {'output': 'HEADLESS-1', 'stop': True}) + ipc('wayfire/set-config-options', {'cube/rotate_layer_shell': ''}) diff --git a/gui-wm/wayfire/tests/render-regression/redraw-check.py b/gui-wm/wayfire/tests/render-regression/redraw-check.py index a3d3e5257fdb..5a1ca906346d 100644 --- a/gui-wm/wayfire/tests/render-regression/redraw-check.py +++ b/gui-wm/wayfire/tests/render-regression/redraw-check.py @@ -44,12 +44,17 @@ try: view=views[0] outputs={o['id']:o for o in ipc('window-rules/list-outputs')} output=outputs[view['output-id']]['name'] - solid('saver',6,(1.,0.,1.,1.),(0,0,2000,2000),output) + solid('popup',5,(1.,0.,1.,1.),(0,0,2000,2000),output) time.sleep(.2) result=ipc('test/held',{'output':output});assert result['found'] and result['carried-out'] time.sleep(.2) pixels=list(shot(output).get_flattened_data()) leaks=sum(p!=(255,0,255) for p in pixels) + check(leaks==0,'Held window above overlay pixels',leaks) + solid('saver',6,(1.,0.,1.,1.),(0,0,2000,2000),output) + time.sleep(.1) + pixels=list(shot(output).get_flattened_data()) + leaks=sum(p!=(255,0,255) for p in pixels) check(leaks==0,'Held window above screensaver pixels',leaks) solid('lock',7,(0.,0.,1.,1.),(0,0,2000,2000),output) time.sleep(.1) @@ -58,6 +63,6 @@ try: check(leaks==0,'Held window above lock pixels',leaks) finally: terminal.terminate();terminal.wait(timeout=5) - for k in ['saver','lock']:ipc('test/solid',{'key':k,'close':True}) + for k in ['popup','saver','lock']:ipc('test/solid',{'key':k,'close':True}) ipc('test/cube',{'output':output,'stop':True}) ipc('wayfire/set-config-options',{'cube/initial_animation':'350ms circle'}) diff --git a/gui-wm/wayfire/tests/render-regression/render-test.cpp b/gui-wm/wayfire/tests/render-regression/render-test.cpp index ac2d9ccbce23..1b7744705bc3 100644 --- a/gui-wm/wayfire/tests/render-regression/render-test.cpp +++ b/gui-wm/wayfire/tests/render-regression/render-test.cpp @@ -11,6 +11,7 @@ #include <wayfire/scene-operations.hpp> #include <wayfire/scene-render.hpp> #include <wayfire/workspace-set.hpp> +#include <wayfire/workspace-stream.hpp> #include <wayfire/opengl.hpp> #include <wayfire/plugins/common/shared-core-data.hpp> #include <wayfire/plugins/ipc/ipc-method-repository.hpp> @@ -95,7 +96,12 @@ class render_test_t : public wf::plugin_interface_t auto& solid = solids[key]; if (data.has_member("close") && bool(data["close"])) { - if (solid) { solid->close(); solid.reset(); } + if (solid) + { + solid->damage(); + wf::scene::set_node_enabled(solid->get_root_node(), false); + solid->close(); solid.reset(); + } return wf::json_t{}; } auto output = wf::get_core().output_layout->find_output(std::string(data["output"])); @@ -107,6 +113,32 @@ class render_test_t : public wf::plugin_interface_t solid->set_border(0); return wf::json_t{}; }); + repo->register_method("test/workspace-panel", [] (wf::json_t data) + { + auto output = wf::get_core().output_layout->find_output(std::string(data["output"])); + auto g = output->get_relative_geometry(); + wf::auxilliary_buffer_t buffer; buffer.allocate(wf::dimensions(g)); + wf::render_target_t target{buffer}; target.geometry = g; + auto node = std::make_shared<wf::workspace_stream_node_t>(output, + wf::point_t{int(data["x"]), int(data["y"])}); + node->include_desktop_environment = false; + node->background = wf::color_t{0, 0, 0, 0}; + std::vector<wf::scene::render_instance_uptr> instances; + node->gen_render_instances(instances, [] (auto&) {}, output); + wf::render_pass_params_t params; + params.target = target; params.damage = g; params.instances = &instances; + params.background_color = {0, 0, 0, 0}; + params.flags = wf::RPASS_CLEAR_BACKGROUND | wf::RPASS_NO_PRESENTATION; + wf::render_pass_t::run(params); + int w = g.width, h = g.height; + std::vector<uint32_t> pixels(w * h); + wlr_texture_read_pixels_options opts{}; + opts.data = pixels.data(); opts.format = DRM_FORMAT_ABGR8888; opts.stride = w * 4; + wlr_texture_read_pixels(buffer.get_texture(), &opts); + int cyan = 0; + for (auto p : pixels) if ((p & 0x00ffffff) == 0x00ffff00) ++cyan; + wf::json_t result; result["cyan"] = cyan; return result; + }); repo->register_method("test/snapshot", [] (wf::json_t) { auto output = wf::get_core().output_layout->get_outputs().front(); @@ -180,6 +212,7 @@ class render_test_t : public wf::plugin_interface_t if (rectangle) { rectangle->close(); rectangle.reset(); } repo->unregister_method("test/rectangle"); repo->unregister_method("test/snapshot"); + repo->unregister_method("test/workspace-panel"); repo->unregister_method("test/cube"); repo->unregister_method("test/inhibit"); } diff --git a/gui-wm/wayfire/tests/render-regression/run.py b/gui-wm/wayfire/tests/render-regression/run.py index a35f74553865..9332dde93dda 100644 --- a/gui-wm/wayfire/tests/render-regression/run.py +++ b/gui-wm/wayfire/tests/render-regression/run.py @@ -12,6 +12,8 @@ import time parser = argparse.ArgumentParser() parser.add_argument('--source', type=Path, required=True, help='Prepared Wayfire source with the personal patches applied') +parser.add_argument('--wayfire', default='wayfire', help='Compositor binary to test') +parser.add_argument('--plugin-dir', type=Path, help='Directory of candidate plugins') parser.add_argument('--baseline', action='store_true', help='Report failures without asserting') args = parser.parse_args() if os.geteuid() == 0: @@ -32,12 +34,12 @@ for key in ['WAYLAND_DISPLAY', 'WAYFIRE_SOCKET', '_WAYFIRE_SOCKET', 'DISPLAY', env.update(XDG_RUNTIME_DIR=str(runtime), WLR_BACKENDS='headless', WLR_HEADLESS_OUTPUTS='3', WLR_RENDERER='gles2', WLR_RENDER_DRM_DEVICE=env.get('WLR_RENDER_DRM_DEVICE', '/dev/dri/renderD128'), - WAYFIRE_PLUGIN_PATH=str(runtime), WAYFIRE_PLUGIN_XML_PATH=str(runtime)) + WAYFIRE_PLUGIN_PATH=str(runtime) + (':' + str(args.plugin_dir) if args.plugin_dir else ''), WAYFIRE_PLUGIN_XML_PATH=str(runtime)) config = runtime / 'wayfire.ini' config.write_text('[core]\nplugins = ipc ipc-rules cube oledsaver-sampler render-test\n' 'xwayland = false\nvwidth = 3\nvheight = 1\n') with (runtime / 'wayfire.log').open('w') as log: - process = subprocess.Popen(['wayfire', '-c', str(config)], env=env, stdout=log, stderr=log) + process = subprocess.Popen([args.wayfire, '-c', str(config)], env=env, stdout=log, stderr=log) try: for _ in range(100): if process.poll() is not None: @@ -53,6 +55,8 @@ with (runtime / 'wayfire.log').open('w') as log: raise RuntimeError('Timed out waiting for compositor') time.sleep(.3) subprocess.run(['python3', str(tests / 'dynamic-check.py')], env=env, check=True) + subprocess.run(['python3', str(tests / 'layer-check.py'), + *(['--baseline'] if args.baseline else [])], env=env, check=True) subprocess.run(['python3', str(tests / 'redraw-check.py'), *(['--baseline'] if args.baseline else [])], env=env, check=True) finally: diff --git a/gui-wm/wayfire/wayfire-0.11.0-r4.ebuild b/gui-wm/wayfire/wayfire-0.11.0-r4.ebuild new file mode 100644 index 000000000000..4b35b92f3e25 --- /dev/null +++ b/gui-wm/wayfire/wayfire-0.11.0-r4.ebuild @@ -0,0 +1,171 @@ +# Copyright 2019-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit dot-a meson toolchain-funcs + +DESCRIPTION="compiz like 3D wayland compositor" +HOMEPAGE="https://github.com/WayfireWM/wayfire" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/WayfireWM/${PN}.git" + SLOT="0/0.12" + + IUSE="vulkan" + + # vulkan support is experimental and uses a bundled fork of wlroots + # keep it only in the live ebuild for now + RDEPEND="vulkan? ( media-libs/vulkan-loader )" + DEPEND="vulkan? ( dev-util/vulkan-headers )" + COMMON_DEPEND=" + !vulkan? ( + gui-libs/wlroots:0.20[drm(+),libinput(+),x11-backend,X?] + ) + vulkan? ( + dev-libs/libliftoff + media-libs/lcms:2 + media-libs/libdisplay-info:= + media-libs/mesa + sys-auth/seatd:= + x11-libs/libdrm + x11-libs/xcb-util-errors + x11-libs/xcb-util-renderutil + x11-libs/xcb-util-wm + ) + " +else + SRC_URI="https://github.com/WayfireWM/${PN}/releases/download/v${PV}/${P}.tar.xz" + KEYWORDS="~amd64 ~arm64 ~riscv" + SLOT="0/$(ver_cut 1-2)" + + COMMON_DEPEND="gui-libs/wlroots:0.20[drm(+),libinput(+),x11-backend,X?]" +fi + +LICENSE="MIT" +IUSE+=" X +dbus +gles3 nls openmp test" +RESTRICT="!test? ( test )" + +# bundled wlroots has the following dependency string according to included headers. +# wlroots[drm,gles2-renderer,libinput,x11-backend?,X?] +# enable x11-backend with X and vice versa +COMMON_DEPEND+=" + dev-cpp/nlohmann_json + dev-libs/glib:2 + dev-libs/libevdev + dev-libs/libinput:= + dev-libs/wayland + dev-libs/yyjson:= + >=dev-libs/wayland-protocols-1.12 + gui-libs/wf-config:${SLOT} + media-libs/glm + media-libs/libglvnd + media-libs/libjpeg-turbo:= + media-libs/libpng:= + virtual/libudev:= + x11-libs/cairo + x11-libs/libxkbcommon + x11-libs/pango + x11-libs/pixman + dbus? ( sys-apps/dbus ) + X? ( x11-libs/libxcb:= ) +" + +RDEPEND+=" + ${COMMON_DEPEND} + x11-misc/xkeyboard-config +" +DEPEND+=" + ${COMMON_DEPEND} + test? ( dev-cpp/doctest ) +" +BDEPEND=" + dev-util/wayland-scanner + virtual/pkgconfig + openmp? ( + || ( + sys-devel/gcc[openmp] + llvm-runtimes/clang-runtime[openmp] + ) + ) + nls? ( + sys-devel/gettext + ) +" + +PATCHES=( + "${FILESDIR}"/${P}-transparent-cube.patch + "${FILESDIR}"/${P}-rotate-layer-shell.patch + "${FILESDIR}"/${P}-screensaver-layer.patch + "${FILESDIR}"/${P}-desktop-sampling.patch + "${FILESDIR}"/${P}-cube-damage-stacking.patch + "${FILESDIR}"/${P}-cube-panel-overlay.patch +) + +# SCREENSAVER changes scene layer indices. Rebuild plugins against the matching +# ABI; wf-config above retains its upstream 0.11 subslot. +SLOT="${SLOT}.screensaver1" + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +src_prepare() { + default + + local dbusrunsession=$(usev dbus dbus-run-session) + sed -e "s:@EPREFIX@:${EPREFIX}:g" -e "s:@DBUS_RUN_SESSION@:${dbusrunsession}:" \ + "${FILESDIR}"/wayfire-session-2 > "${T}"/wayfire-session || die + sed -e "s:@EPREFIX@:${EPREFIX}:" \ + "${FILESDIR}"/wayfire-session.desktop > "${T}"/wayfire-session.desktop || die +} + +src_configure() { + lto-guarantee-fat + + local emesonargs=( + $(meson_feature test tests) + $(meson_feature X xwayland) + $(meson_use gles3 enable_gles32) + $(meson_feature nls build_locales) + $(meson_use openmp enable_openmp) + -Duse_system_wfconfig=enabled + ) + + if [[ ${PV} == 9999 ]]; then + emesonargs+=( + $(meson_feature !vulkan use_system_wlroots) + $(meson_use vulkan vulkan_effects) + ) + else + emesonargs+=( + -Duse_system_wlroots=enabled + -Dvulkan_effects=false + ) + fi + + meson_src_configure +} + +src_install() { + meson_src_install + dobin "${T}"/wayfire-session + + insinto "/usr/share/wayland-sessions/" + insopts -m644 + doins wayfire.desktop + doins "${T}"/wayfire-session.desktop + + insinto "/usr/share/wayfire/" + doins wayfire.ini + + insinto "/etc" + doins "${FILESDIR}"/wayfire.env + + strip-lto-bytecode +} diff --git a/kde-frameworks/extra-cmake-modules/extra-cmake-modules-6.29.0.ebuild b/kde-frameworks/extra-cmake-modules/extra-cmake-modules-6.29.0.ebuild index 52e08f84ca98..6bb0f766b82d 100644 --- a/kde-frameworks/extra-cmake-modules/extra-cmake-modules-6.29.0.ebuild +++ b/kde-frameworks/extra-cmake-modules/extra-cmake-modules-6.29.0.ebuild @@ -12,7 +12,7 @@ DESCRIPTION="Extra modules and scripts for CMake" HOMEPAGE="https://invent.kde.org/frameworks/extra-cmake-modules" LICENSE="BSD" -KEYWORDS="~amd64 ~arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv x86" +KEYWORDS="~amd64 arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv x86" IUSE="doc test" RESTRICT="!test? ( test )" diff --git a/kde-misc/kdiff3/Manifest b/kde-misc/kdiff3/Manifest index 56b53bca6b0f..e9008fb8f88c 100644 --- a/kde-misc/kdiff3/Manifest +++ b/kde-misc/kdiff3/Manifest @@ -1,2 +1 @@ -DIST kdiff3-1.12.4.tar.xz 1224576 BLAKE2B fe8020fd3ea1f559e2e00f49d92cc680f76b4d490310fc5838d4e32928ac812cf6469b4bac460e0c56e7ba494320911956d34289b837a2348b193a49b1f30ed5 SHA512 6ce32d11f218a712583ae7b07654958d88d3b0721052dfba0599d3130287442c64bdb411f0f1e6857d8ef5b07f89956eb9b0c484fb192402cdaec4a858ec3046 DIST kdiff3-1.12.6.tar.xz 1225308 BLAKE2B e525cd9a5615c2e58596a9e402528cabd4f327c3cf6518a5c064f35fee85559c1ed38018da646499709ff05d0151b2c974093e4c1f55e4433cf7ecd5c78896cf SHA512 67e079e0ec0670489374d65b9714fe3b1ac526bbb39deca9bf9b8a83cc81cc1aa50cf04b10cf37aaa84d972acad64ceb9f4ecf4f7a8a5d988fb65dc848e10f41 diff --git a/kde-misc/kdiff3/kdiff3-1.12.4.ebuild b/kde-misc/kdiff3/kdiff3-1.12.4.ebuild deleted file mode 100644 index 0632353d2f52..000000000000 --- a/kde-misc/kdiff3/kdiff3-1.12.4.ebuild +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -ECM_HANDBOOK="optional" -KFMIN=6.9.0 -QTMIN=6.7.2 -inherit ecm kde.org xdg - -DESCRIPTION="Frontend to diff3 based on KDE Frameworks" -HOMEPAGE="https://apps.kde.org/kdiff3/ https://userbase.kde.org/KDiff3" -SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~ppc64 ~x86" -IUSE="" - -COMMON_DEPEND=" - >=dev-libs/icu-70.0:= - >=dev-qt/qtbase-${QTMIN}:6[gui,widgets] - >=kde-frameworks/kconfig-${KFMIN}:6 - >=kde-frameworks/kconfigwidgets-${KFMIN}:6 - >=kde-frameworks/kcoreaddons-${KFMIN}:6 - >=kde-frameworks/kcrash-${KFMIN}:6 - >=kde-frameworks/ki18n-${KFMIN}:6 - >=kde-frameworks/kio-${KFMIN}:6 - >=kde-frameworks/ktextwidgets-${KFMIN}:6 - >=kde-frameworks/kwidgetsaddons-${KFMIN}:6 - >=kde-frameworks/kxmlgui-${KFMIN}:6 -" -DEPEND="${COMMON_DEPEND} - >=dev-libs/boost-1.82 -" -RDEPEND="${COMMON_DEPEND} - !${CATEGORY}/${PN}:5 - sys-apps/diffutils -" - -# TODO: -DENABLE_GDBINDEX? diff --git a/kde-plasma/powerdevil/files/powerdevil-6.7.5-solid-6.30-negative-percentage.patch b/kde-plasma/powerdevil/files/powerdevil-6.7.5-solid-6.30-negative-percentage.patch new file mode 100644 index 000000000000..6c4e5ac55968 --- /dev/null +++ b/kde-plasma/powerdevil/files/powerdevil-6.7.5-solid-6.30-negative-percentage.patch @@ -0,0 +1,32 @@ +From 54f8a4a848fa02d06fefc5543f35224eef73670c Mon Sep 17 00:00:00 2001 +From: Matthias Kurz <m.kurz@irregular.at> +Date: Wed, 19 Aug 2026 17:51:12 +0200 +Subject: [PATCH] Avoid low battery alerts for unknown percentages + +Peripheral batteries with an unavailable charge return a negative percentage. Exclude all non-positive values from low-battery notification handling so an unknown device cannot be mistaken for an empty one. + +(cherry picked from commit 78e99fd944a0da0d82b46d02251a8631f005f5ba) +--- + daemon/powerdevilcore.cpp | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/daemon/powerdevilcore.cpp b/daemon/powerdevilcore.cpp +index 50d936c20..fabcc671d 100644 +--- a/daemon/powerdevilcore.cpp ++++ b/daemon/powerdevilcore.cpp +@@ -521,9 +521,9 @@ bool Core::emitBatteryChargePercentNotification(int currentPercent, int previous + return false; + } + +- // if you leave the device out of reach or it has not been initialized yet +- // it won't be "there" and report 0%, don't show anything in this case +- if (!b->isPresent() || b->chargePercent() == 0) { ++ // If you leave the device out of reach or it has not been initialized yet, ++ // it won't be "there" and can report an empty or unknown percentage. ++ if (!b->isPresent() || b->chargePercent() <= 0) { + return false; + } + +-- +GitLab + diff --git a/kde-plasma/powerdevil/powerdevil-6.7.5.ebuild b/kde-plasma/powerdevil/powerdevil-6.7.5-r1.ebuild index 28faa37a4adb..936fc1dfedee 100644 --- a/kde-plasma/powerdevil/powerdevil-6.7.5.ebuild +++ b/kde-plasma/powerdevil/powerdevil-6.7.5-r1.ebuild @@ -73,6 +73,10 @@ BDEPEND=" # -m 0755 to avoid suid with USE="-filecaps" FILECAPS=( -m 0755 cap_wake_alarm=ep usr/libexec/org_kde_powerdevil ) +PATCHES=( + "${FILESDIR}/${P}-solid-6.30-negative-percentage.patch" # KDE-bug #525589 +) + src_configure() { local mycmakeargs=( $(cmake_use_find_package brightness-control DDCUtil) diff --git a/llvm-core/clang-common/Manifest b/llvm-core/clang-common/Manifest index c1e1a95276a5..b3483561c984 100644 --- a/llvm-core/clang-common/Manifest +++ b/llvm-core/clang-common/Manifest @@ -14,3 +14,4 @@ DIST llvm-project-22.1.8.src.tar.xz 167061596 BLAKE2B 092204f62e0f0364a041c737eb DIST llvm-project-22.1.8.src.tar.xz.sig 119 BLAKE2B 2ce93472036e68782252991e4a8bdbeeec8706a56022220083a38a42ef18714a7894c41aaa04dc0d03f18601d8bfc1a5a030ed0ef0f0d64a662eae9843a4b362 SHA512 99a457b5b1fb409a5fe72b59ebd4ddae5cade3e5f2493e33b44d4f4b4625f7a1743f80106efb1134668842b15ea3400ce2c29263bec8ff986e05040910125e15 DIST llvm-project-23.1.1.src.tar.xz 179168672 BLAKE2B 31d0ad202f4ad38d001baaf638a756508b164229b02a6e41b9689508a33b3a7baecaa10398e20f3661cacb712663fe379eeb94e50e017e40ae546a7e7de8049d SHA512 e51c45f01e95272771bfee8382b213a2e21d3c62e273ff58967cfe40b87f45d2b37a4797b8b83fab025ed7a0ad32adef48406ade2d049da3d7f1799b30edea39 DIST llvm-project-23.1.1.src.tar.xz.sig 466 BLAKE2B fd062ee7b6a59295f1ba558ed35fcf03d9d1a2f716cc710ae1b375c9f673eaaf21a7a503652fefbcc91233c9df279c4521f487539264badd0bf591362657024b SHA512 d2e1101f6f3569cc82630e94d9021aaa47e32636d5b0b7fe90c01a56523e3d772835ad7c2a6f2c1a199ed1624a6f12429b43865d6f41405b73b275483effe581 +DIST llvm-project-3dcd66d0110335d7d1a5921fd085914b66ffbd3c.tar.gz 317468883 BLAKE2B af57748bf462852a7d09751162e43c52b7d8fa4d1e3e9b021062b11132ad2268b2ddefd0e2d0b2391de1e8120b751fe46a368bc58dce83b8d5e4413716701031 SHA512 678027e165bf444eb522a70b5c52018dba4b41828fa7db353bd1155ec326633adfe64e20e5975b672fc2669c6fd7e0dec0dbd8c63ee89e0393264d9af5ab3090 diff --git a/llvm-core/clang-common/clang-common-24.0.0_pre20260919.ebuild b/llvm-core/clang-common/clang-common-24.0.0_pre20260919.ebuild new file mode 100644 index 000000000000..d37eeaebbf4a --- /dev/null +++ b/llvm-core/clang-common/clang-common-24.0.0_pre20260919.ebuild @@ -0,0 +1,341 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit elisp-common llvm.org multilib shell-completion + +DESCRIPTION="Common files shared between multiple slots of clang" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +IUSE=" + default-compiler-rt default-libcxx default-lld + bootstrap-prefix cet emacs hardened llvm-libunwind +" + +PDEPEND=" + default-compiler-rt? ( + llvm-runtimes/clang-runtime:${LLVM_MAJOR}[compiler-rt] + llvm-libunwind? ( llvm-runtimes/libunwind[static-libs] ) + !llvm-libunwind? ( sys-libs/libunwind[static-libs] ) + ) + !default-compiler-rt? ( sys-devel/gcc ) + default-libcxx? ( >=llvm-runtimes/libcxx-${PV}[static-libs] ) + !default-libcxx? ( sys-devel/gcc ) + default-lld? ( >=llvm-core/lld-${PV} ) + !default-lld? ( sys-devel/binutils ) +" +# enforce flags on clang-runtime as well to aid transition +PDEPEND+=" + llvm-runtimes/clang-runtime[default-compiler-rt(-)?,default-libcxx(-)?,default-lld(-)?,llvm-libunwind(-)?] + emacs? ( >=app-editors/emacs-26.3:* ) +" +IDEPEND=" + !default-compiler-rt? ( sys-devel/gcc-config ) + !default-libcxx? ( sys-devel/gcc-config ) +" +BDEPEND=" + emacs? ( >=app-editors/emacs-26.3:* ) +" + +LLVM_COMPONENTS=( clang/utils clang/tools/clang-format ) +llvm.org_set_globals + +SITEFILE="50clang-gentoo.el" + +pkg_pretend() { + [[ ${CLANG_IGNORE_DEFAULT_RUNTIMES} ]] && return + + local flag missing_flags=() + for flag in default-{compiler-rt,libcxx,lld}; do + if ! use "${flag}" && has_version "llvm-core/clang[${flag}]"; then + missing_flags+=( "${flag}" ) + fi + done + + if [[ ${missing_flags[@]} ]]; then + eerror "It seems that you have the following flags set on llvm-core/clang:" + eerror + eerror " ${missing_flags[*]}" + eerror + eerror "The default runtimes are now set via flags on llvm-core/clang-common." + eerror "The build is being aborted to prevent breakage. Please either set" + eerror "the respective flags on this ebuild, e.g.:" + eerror + eerror " llvm-core/clang-common ${missing_flags[*]}" + eerror + eerror "or build with CLANG_IGNORE_DEFAULT_RUNTIMES=1." + die "Mismatched defaults detected between llvm-core/clang and llvm-core/clang-common" + fi +} + +_doclang_cfg() { + local triple="${1}" + + local tool + for tool in ${triple}-clang{,++}; do + newins - "${tool}.cfg" <<-EOF + # This configuration file is used by ${tool} driver. + @gentoo-common.cfg + @gentoo-common-ld.cfg + EOF + if [[ ${triple} == x86_64* ]]; then + cat >> "${ED}/etc/clang/${tool}.cfg" <<-EOF || die + @gentoo-cet.cfg + EOF + fi + done + + if use kernel_Darwin; then + cat >> "${ED}/etc/clang/${triple}-clang++.cfg" <<-EOF || die + -lc++abi + EOF + fi + + newins - "${triple}-clang-cpp.cfg" <<-EOF + # This configuration file is used by the ${triple}-clang-cpp driver. + @gentoo-common.cfg + EOF + if [[ ${triple} == x86_64* ]]; then + cat >> "${ED}/etc/clang/${triple}-clang-cpp.cfg" <<-EOF || die + @gentoo-cet.cfg + EOF + fi + + # Install symlinks for triples with other vendor strings since some + # programs insist on mangling the triple. + local vendor + for vendor in gentoo pc unknown; do + local vendor_triple="${triple%%-*}-${vendor}-${triple#*-*-}" + for tool in clang{,++,-cpp}; do + if [[ ! -f "${ED}/etc/clang/${vendor_triple}-${tool}.cfg" ]]; then + dosym "${triple}-${tool}.cfg" "/etc/clang/${vendor_triple}-${tool}.cfg" + fi + done + done +} + +doclang_cfg() { + local triple="${1}" + + _doclang_cfg ${triple} + + # LLVM may have different arch names in some cases. For example in x86 + # profiles the triple uses i686, but llvm will prefer i386 if invoked + # with "clang" on x86 or "clang -m32" on x86_64. The gentoo triple will + # be used if invoked through ${CHOST}-clang{,++,-cpp} though. + # + # To make sure the correct triples are installed, + # see Triple::getArchTypeName() in llvm/lib/TargetParser/Triple.cpp + # and compare with CHOST values in profiles. + + local abi=${triple%%-*} + case ${abi} in + armv4l|armv4t|armv5tel|armv6j|armv7a) + _doclang_cfg ${triple/${abi}/arm} + ;; + i686) + _doclang_cfg ${triple/${abi}/i386} + ;; + sparc) + _doclang_cfg ${triple/${abi}/sparcel} + ;; + sparc64) + _doclang_cfg ${triple/${abi}/sparcv9} + ;; + esac +} + +src_compile() { + default + use emacs && elisp-compile ../tools/clang-format/clang-format.el +} + +src_install() { + newbashcomp bash-autocomplete.sh clang + + insinto /etc/clang + newins - gentoo-runtimes.cfg <<-EOF + # This file is initially generated by llvm-runtimes/clang-runtime. + # It is used to control the default runtimes using by clang. + + --rtlib=$(usex default-compiler-rt compiler-rt libgcc) + --unwindlib=$(usex default-compiler-rt libunwind libgcc) + --stdlib=$(usex default-libcxx libc++ libstdc++) + -fuse-ld=$(usex default-lld lld bfd) + EOF + + newins - gentoo-gcc-install.cfg <<-EOF + # This file is maintained by gcc-config. + # It is used to specify the selected GCC installation. + EOF + + newins - gentoo-common.cfg <<-EOF + # This file contains flags common to clang, clang++ and clang-cpp. + @gentoo-runtimes.cfg + @gentoo-gcc-install.cfg + @gentoo-hardened.cfg + # bug #870001 + -include "${EPREFIX}/usr/include/gentoo/maybe-stddefs.h" + EOF + + # clang-cpp does not like link args being passed to it when directly + # invoked, so use a separate configuration file. + newins - gentoo-common-ld.cfg <<-EOF + # This file contains flags common to clang and clang++ + @gentoo-hardened-ld.cfg + EOF + + # Baseline hardening (bug #851111) + newins - gentoo-hardened.cfg <<-EOF + # Some of these options are added unconditionally, regardless of + # USE=hardened, for parity with sys-devel/gcc. + -Xarch_host -fstack-clash-protection + -Xarch_host -fstack-protector-strong + -fPIE + -include "${EPREFIX}/usr/include/gentoo/fortify.h" + EOF + + newins - gentoo-cet.cfg <<-EOF + -Xarch_host -fcf-protection=$(usex cet full none) + EOF + + if use kernel_Darwin; then + newins - gentoo-hardened-ld.cfg <<-EOF + # There was -Wl,-z,relro here, but it's not supported on Mac + # TODO: investigate whether -bind_at_load or -read_only_stubs will do the job + EOF + else + newins - gentoo-hardened-ld.cfg <<-EOF + # Some of these options are added unconditionally, regardless of + # USE=hardened, for parity with sys-devel/gcc. + -Wl,-z,relro + -Wl,-z,now + EOF + fi + + dodir /usr/include/gentoo + + cat >> "${ED}/usr/include/gentoo/maybe-stddefs.h" <<-EOF || die + /* __has_include is an extension, but it's fine, because this is only + for Clang anyway. */ + #if defined __has_include && __has_include (<stdc-predef.h>) && !defined(__GLIBC__) + # include <stdc-predef.h> + #endif + EOF + + local fortify_level=$(usex hardened 3 2) + # We have to do this because glibc's headers warn if F_S is set + # without optimization and that would at the very least be very noisy + # during builds and at worst trigger many -Werror builds. + cat >> "${ED}/usr/include/gentoo/fortify.h" <<- EOF || die + #ifdef __clang__ + # pragma clang system_header + #endif + #ifndef _FORTIFY_SOURCE + # if defined(__has_feature) + # define __GENTOO_HAS_FEATURE(x) __has_feature(x) + # else + # define __GENTOO_HAS_FEATURE(x) 0 + # endif + # + # if !defined(__OPTIMIZE__) || __OPTIMIZE__ == 0 + # elif !defined(__STDC_HOSTED__) || __STDC_HOSTED__ != 1 + # elif defined(__SANITIZE_ADDRESS__) + # elif __GENTOO_HAS_FEATURE(address_sanitizer) + # elif __GENTOO_HAS_FEATURE(hwaddress_sanitizer) + # elif __GENTOO_HAS_FEATURE(memory_sanitizer) + # elif __GENTOO_HAS_FEATURE(numerical_stability_sanitizer) + # elif __GENTOO_HAS_FEATURE(realtime_sanitizer) + # elif __GENTOO_HAS_FEATURE(thread_sanitizer) + # elif defined(_GENTOO_NO_FORTIFY_SOURCE) + # else + # define _FORTIFY_SOURCE ${fortify_level} + # endif + # + # undef __GENTOO_HAS_FEATURE + #endif + EOF + + # TODO: Maybe -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_FAST for + # non-hardened? + if use hardened ; then + cat >> "${ED}/etc/clang/gentoo-hardened.cfg" <<-EOF || die + # Options below are conditional on USE=hardened. + -Xarch_host -D_GLIBCXX_ASSERTIONS + + # Analogue to GLIBCXX_ASSERTIONS + # https://libcxx.llvm.org/UsingLibcxx.html#assertions-mode + # https://libcxx.llvm.org/Hardening.html#using-hardened-mode + -Xarch_host -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE + EOF + + cat >> "${ED}/etc/clang/gentoo-hardened-ld.cfg" <<-EOF || die + # Options below are conditional on USE=hardened. + EOF + fi + + # We only install config files for supported ABIs because unprefixed tools + # might be used for crosscompilation where e.g. PIE may not be supported. + # See bug #912237 and bug #901247. Just ${CHOST} won't do due to bug #912685. + local abi + for abi in $(get_all_abis); do + local abi_chost=$(get_abi_CHOST "${abi}") + doclang_cfg "${abi_chost}" + done + + if use kernel_Darwin; then + cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die + # Gentoo Prefix on Darwin + -Wl,-search_paths_first + EOF + if use bootstrap-prefix ; then + # bootstrap-prefix is only set during stage2 of bootstrapping + # Prefix, where EPREFIX is set to EPREFIX/tmp. + # Here we need to point it at the future lib dir of the stage3's + # EPREFIX. + cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die + -Wl,-rpath,${EPREFIX}/../usr/lib + -Wl,-L,${EPREFIX}/../usr/lib + -isystem ${EPREFIX}/../usr/include + -stdlib++-isystem ${EPREFIX}/../usr/include/c++/v1 + EOF + fi + # Using -Wl,-L instead of -L to trick compiler driver to put it + # after -isysroot's internal -L + cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die + -Wl,-rpath,${EPREFIX}/usr/lib + -Wl,-L,${EPREFIX}/usr/lib + -isystem ${EPREFIX}/usr/include + -stdlib++-isystem ${EPREFIX}/usr/include/c++/v1 + -isysroot ${EPREFIX}/MacOSX.sdk + EOF + fi + + if use emacs ; then + elisp-install clang ../tools/clang-format/clang-format.{el,elc} + elisp-make-site-file "${SITEFILE}" clang + fi +} + +pkg_preinst() { + if has_version -b sys-devel/gcc-config && has_version sys-devel/gcc + then + local gcc_path=$(gcc-config --get-lib-path 2>/dev/null) + if [[ -n ${gcc_path} ]]; then + cat >> "${ED}/etc/clang/gentoo-gcc-install.cfg" <<-EOF + --gcc-install-dir="${gcc_path%%:*}" + EOF + fi + fi +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/llvm-core/clang/Manifest b/llvm-core/clang/Manifest index ce47bc46c609..a81e67b6fa5d 100644 --- a/llvm-core/clang/Manifest +++ b/llvm-core/clang/Manifest @@ -22,3 +22,4 @@ DIST llvm-project-22.1.8.src.tar.xz 167061596 BLAKE2B 092204f62e0f0364a041c737eb DIST llvm-project-22.1.8.src.tar.xz.sig 119 BLAKE2B 2ce93472036e68782252991e4a8bdbeeec8706a56022220083a38a42ef18714a7894c41aaa04dc0d03f18601d8bfc1a5a030ed0ef0f0d64a662eae9843a4b362 SHA512 99a457b5b1fb409a5fe72b59ebd4ddae5cade3e5f2493e33b44d4f4b4625f7a1743f80106efb1134668842b15ea3400ce2c29263bec8ff986e05040910125e15 DIST llvm-project-23.1.1.src.tar.xz 179168672 BLAKE2B 31d0ad202f4ad38d001baaf638a756508b164229b02a6e41b9689508a33b3a7baecaa10398e20f3661cacb712663fe379eeb94e50e017e40ae546a7e7de8049d SHA512 e51c45f01e95272771bfee8382b213a2e21d3c62e273ff58967cfe40b87f45d2b37a4797b8b83fab025ed7a0ad32adef48406ade2d049da3d7f1799b30edea39 DIST llvm-project-23.1.1.src.tar.xz.sig 466 BLAKE2B fd062ee7b6a59295f1ba558ed35fcf03d9d1a2f716cc710ae1b375c9f673eaaf21a7a503652fefbcc91233c9df279c4521f487539264badd0bf591362657024b SHA512 d2e1101f6f3569cc82630e94d9021aaa47e32636d5b0b7fe90c01a56523e3d772835ad7c2a6f2c1a199ed1624a6f12429b43865d6f41405b73b275483effe581 +DIST llvm-project-3dcd66d0110335d7d1a5921fd085914b66ffbd3c.tar.gz 317468883 BLAKE2B af57748bf462852a7d09751162e43c52b7d8fa4d1e3e9b021062b11132ad2268b2ddefd0e2d0b2391de1e8120b751fe46a368bc58dce83b8d5e4413716701031 SHA512 678027e165bf444eb522a70b5c52018dba4b41828fa7db353bd1155ec326633adfe64e20e5975b672fc2669c6fd7e0dec0dbd8c63ee89e0393264d9af5ab3090 diff --git a/llvm-core/clang/clang-24.0.0_pre20260919.ebuild b/llvm-core/clang/clang-24.0.0_pre20260919.ebuild new file mode 100644 index 000000000000..6b6ecbdf3a84 --- /dev/null +++ b/llvm-core/clang/clang-24.0.0_pre20260919.ebuild @@ -0,0 +1,468 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) + +inherit cmake llvm.org multilib multilib-minimal +inherit prefix python-single-r1 toolchain-funcs + +DESCRIPTION="C language family frontend for LLVM" +HOMEPAGE="https://llvm.org/" + +# MSVCSetupApi.h: MIT +# sorttable.js: MIT + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT" +SLOT="${LLVM_MAJOR}/${LLVM_SOABI}" +IUSE="+debug doc +extra ieee-long-double +pie +static-analyzer test xml" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +DEPEND=" + ~llvm-core/llvm-${PV}:${LLVM_MAJOR}=[debug=,${MULTILIB_USEDEP}] + static-analyzer? ( dev-lang/perl:* ) + xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) +" + +RDEPEND=" + ${PYTHON_DEPS} + ${DEPEND} + >=llvm-core/clang-common-${PV} +" +BDEPEND=" + ${PYTHON_DEPS} + test? ( ~llvm-core/lld-${PV} ) + xml? ( virtual/pkgconfig ) +" +PDEPEND=" + llvm-runtimes/clang-runtime:${LLVM_MAJOR} + llvm-core/clang-toolchain-symlinks:${LLVM_MAJOR} +" + +LLVM_COMPONENTS=( clang clang-tools-extra cmake mlir/utils/pygments utils/docs ) +LLVM_TEST_COMPONENTS=( llvm/utils ) +LLVM_MANPAGES=1 +LLVM_USE_TARGETS=llvm+eq +llvm.org_set_globals + +[[ -n ${LLVM_MANPAGE_DIST} ]] && BDEPEND+=" doc? ( " +BDEPEND+=" + $(python_gen_cond_dep ' + dev-python/myst-parser[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}] + ') +" +[[ -n ${LLVM_MANPAGE_DIST} ]] && BDEPEND+=" ) " + +# Multilib notes: +# 1. ABI_* flags control ABIs libclang* is built for only. +# 2. clang is always capable of compiling code for all ABIs for enabled +# target. However, you will need appropriate crt* files (installed +# e.g. by sys-devel/gcc and sys-libs/glibc). +# 3. ${CHOST}-clang wrappers are always installed for all ABIs included +# in the current profile (i.e. alike supported by sys-devel/gcc). +# +# Therefore: use llvm-core/clang[${MULTILIB_USEDEP}] only if you need +# multilib clang* libraries (not runtime, not wrappers). + +src_prepare() { + # create extra parent dir for relative CLANG_RESOURCE_DIR access + mkdir -p x/y || die + BUILD_DIR=${WORKDIR}/x/y/clang + + llvm.org_src_prepare + + # add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch) + eprefixify \ + lib/Lex/InitHeaderSearch.cpp \ + lib/Driver/ToolChains/Darwin.cpp || die + + if ! use prefix-guest && [[ -n ${EPREFIX} ]]; then + sed -i "/LibDir.*Loader/s@return \"\/\"@return \"${EPREFIX}/\"@" lib/Driver/ToolChains/Linux.cpp || die + fi +} + +check_distribution_components() { + if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then + local all_targets=() my_targets=() l + cd "${BUILD_DIR}" || die + + while read -r l; do + if [[ ${l} == install-*-stripped:* ]]; then + l=${l#install-} + l=${l%%-stripped*} + + case ${l} in + # meta-targets + clang-libraries|distribution) + continue + ;; + # tools + clang|clangd|clang-*) + ;; + # static libraries + clang*|findAllSymbols) + continue + ;; + # conditional to USE=doc + docs-clang-html|docs-clang-tools-html) + use doc || continue + ;; + # built only with tests + c-index-test) + continue + ;; + esac + + all_targets+=( "${l}" ) + fi + done < <(${NINJA} -t targets all) + + while read -r l; do + my_targets+=( "${l}" ) + done < <(get_distribution_components $"\n") + + local add=() remove=() + for l in "${all_targets[@]}"; do + if ! has "${l}" "${my_targets[@]}"; then + add+=( "${l}" ) + fi + done + for l in "${my_targets[@]}"; do + if ! has "${l}" "${all_targets[@]}"; then + remove+=( "${l}" ) + fi + done + + if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then + eerror "get_distribution_components() is outdated!" + eerror " Add: ${add[*]}" + eerror "Remove: ${remove[*]}" + die "Update get_distribution_components()!" + fi + cd - >/dev/null || die + fi +} + +get_distribution_components() { + local sep=${1-;} + + local out=( + # common stuff + clang-cmake-exports + clang-headers + clang-resource-headers + libclang-headers + + aarch64-resource-headers + arm-common-resource-headers + arm-resource-headers + core-resource-headers + cuda-resource-headers + hexagon-resource-headers + hip-resource-headers + hlsl-resource-headers + mips-resource-headers + opencl-resource-headers + openmp-resource-headers + ppc-htm-resource-headers + ppc-resource-headers + riscv-resource-headers + spirv-resource-headers + systemz-resource-headers + utility-resource-headers + ve-resource-headers + webassembly-resource-headers + windows-resource-headers + x86-resource-headers + + # libs + clang-cpp + libclang + ) + + if multilib_is_native_abi; then + out+=( + # common stuff + bash-autocomplete + libclang-python-bindings + + # tools + clang + clang-format + clang-installapi + clang-linker-wrapper + clang-nvlink-wrapper + clang-offload-bundler + clang-refactor + clang-repl + clang-scan-deps + clang-ssaf-analyzer + clang-ssaf-format + clang-ssaf-linker + clang-ssaf-src-edit-merge + clang-sycl-linker + diagtool + hmaptool + offload-arch + + # needed for cross-compiling Clang + clang-tblgen + ) + + if use extra; then + out+=( + # extra tools + clang-apply-replacements + clang-change-namespace + clang-doc + clang-include-cleaner + clang-include-fixer + clang-move + clang-query + clang-reorder-fields + clang-tidy + clang-tidy-headers + clangd + find-all-symbols + modularize + pp-trace + ) + + use kernel_Darwin && out+=( ClangdXPCLib ) + fi + + if llvm_are_manpages_built; then + out+=( docs-clang-man ) + use extra && out+=( docs-clang-tools-man ) + fi + + if use doc; then + out+=( docs-clang-html ) + use extra && out+=( docs-clang-tools-html ) + fi + + use static-analyzer && out+=( + clang-check + clang-extdef-mapping + scan-build + scan-build-py + scan-view + ) + fi + + printf "%s${sep}" "${out[@]}" +} + +multilib_src_configure() { + local mycmakeargs=( + -DDEFAULT_SYSROOT=$(usex prefix-guest "" "${EPREFIX}") + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}" + -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man" + -DLLVM_ROOT="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}" + -DCLANG_CONFIG_FILE_SYSTEM_DIR="${EPREFIX}/etc/clang/${LLVM_MAJOR}" + -DCLANG_CONFIG_FILE_USER_DIR="~/.config/clang" + # relative to bindir + -DCLANG_RESOURCE_DIR="../../../../lib/clang/${LLVM_MAJOR}" + + -DBUILD_SHARED_LIBS=OFF + -DCLANG_LINK_CLANG_DYLIB=ON + -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components) + -DCLANG_INCLUDE_TESTS=$(usex test) + + -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" + + # these are not propagated reliably, so redefine them + -DLLVM_ENABLE_EH=ON + -DLLVM_ENABLE_RTTI=ON + + # libgomp support fails to find headers without explicit -I + # furthermore, it provides only syntax checking + -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp + + -DCLANG_DEFAULT_PIE_ON_LINUX=$(usex pie) + + -DCLANG_ENABLE_LIBXML2=$(usex xml) + -DCLANG_ENABLE_OBJC_REWRITER=ON + -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer) + # TODO: CLANG_ENABLE_HLSL? + + -DPython3_EXECUTABLE="${PYTHON}" + ) + + if ! use elibc_musl; then + mycmakeargs+=( + -DPPC_LINUX_DEFAULT_IEEELONGDOUBLE=$(usex ieee-long-double) + ) + fi + + use test && mycmakeargs+=( + -DLLVM_BUILD_TESTS=ON + -DLLVM_LIT_ARGS="$(get_lit_flags)" + ) + + if multilib_is_native_abi; then + local build_docs=OFF + if llvm_are_manpages_built; then + build_docs=ON + mycmakeargs+=( + -DLLVM_BUILD_DOCS=ON + -DLLVM_ENABLE_SPHINX=ON + -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" + -DSPHINX_WARNINGS_AS_ERRORS=OFF + ) + if use extra; then + mycmakeargs+=( + -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra" + ) + fi + fi + mycmakeargs+=( + -DCLANG_INCLUDE_DOCS=${build_docs} + ) + fi + if multilib_native_use extra; then + mycmakeargs+=( + -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra + -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs} + ) + else + mycmakeargs+=( + -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF + ) + fi + + if tc-is-cross-compiler; then + has_version -b llvm-core/clang:${LLVM_MAJOR} || + die "llvm-core/clang:${LLVM_MAJOR} is required on the build host." + local tools_bin=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/bin + mycmakeargs+=( + -DLLVM_TOOLS_BINARY_DIR="${tools_bin}" + -DCLANG_TABLEGEN="${tools_bin}"/clang-tblgen + ) + fi + + # LLVM can have very high memory consumption while linking, + # exhausting the limit on 32-bit linker executable + use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory" + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + cmake_src_configure + + multilib_is_native_abi && check_distribution_components +} + +multilib_src_compile() { + cmake_build distribution +} + +multilib_src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + local test_targets=( check-clang ) + if multilib_native_use extra; then + test_targets+=( + check-clang-tools + check-clangd + ) + fi + cmake_build "${test_targets[@]}" +} + +src_install() { + MULTILIB_WRAPPED_HEADERS=( + /usr/include/clang/Config/config.h + ) + + multilib-minimal_src_install + + # Move runtime headers to /usr/lib/clang, where they belong + mv "${ED}"/usr/include/clangrt "${ED}"/usr/lib/clang || die + # move (remaining) wrapped headers back + if use extra; then + mv "${T}"/clang-tidy "${ED}"/usr/include/ || die + fi + mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die + + # Apply CHOST and version suffix to clang tools + local clang_tools=( clang clang++ clang-cl clang-cpp ) + local abi i + + # cmake gives us: + # - clang-X + # - clang -> clang-X + # - clang++, clang-cl, clang-cpp -> clang + # we want to have: + # - clang-X + # - clang++-X, clang-cl-X, clang-cpp-X -> clang-X + # - clang, clang++, clang-cl, clang-cpp -> clang*-X + # also in CHOST variant + for i in "${clang_tools[@]:1}"; do + rm "${ED}/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}" || die + dosym "clang-${LLVM_MAJOR}" "/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}-${LLVM_MAJOR}" + dosym "${i}-${LLVM_MAJOR}" "/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}" + done + + # now create target symlinks for all supported ABIs + for abi in $(get_all_abis); do + local abi_chost=$(get_abi_CHOST "${abi}") + for i in "${clang_tools[@]}"; do + dosym "${i}-${LLVM_MAJOR}" \ + "/usr/lib/llvm/${LLVM_MAJOR}/bin/${abi_chost}-${i}-${LLVM_MAJOR}" + dosym "${abi_chost}-${i}-${LLVM_MAJOR}" \ + "/usr/lib/llvm/${LLVM_MAJOR}/bin/${abi_chost}-${i}" + done + done +} + +multilib_src_install() { + DESTDIR=${D} cmake_build install-distribution + + # move headers to /usr/include for wrapping & ABI mismatch checks + # (also drop the version suffix from runtime headers) + rm -rf "${ED}"/usr/include || die + mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include "${ED}"/usr/include || die + mv "${ED}"/usr/lib/clang "${ED}"/usr/include/clangrt || die + if multilib_native_use extra; then + # don't wrap clang-tidy headers, the list is too long + # (they're fine for non-native ABI but enabling the targets is problematic) + mv "${ED}"/usr/include/clang-tidy "${T}/" || die + fi +} + +multilib_src_install_all() { + python_fix_shebang "${ED}" + if use static-analyzer; then + python_optimize "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/share/scan-view + fi + + docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man" + llvm_install_manpages + # match 'html' non-compression + use doc && docompress -x "/usr/share/doc/${PF}/tools-extra" + # +x for some reason; TODO: investigate + use static-analyzer && fperms a-x "/usr/lib/llvm/${LLVM_MAJOR}/share/man/man1/scan-build.1" +} + +pkg_postinst() { + if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then + eselect compiler-shadow update all + fi + + elog "You can find additional utility scripts in:" + elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/clang" + if use extra; then + elog "Some of them are vim integration scripts (with instructions inside)." + elog "The run-clang-tidy.py script requires the following additional package:" + elog " dev-python/pyyaml" + fi +} + +pkg_postrm() { + if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then + eselect compiler-shadow clean all + fi +} diff --git a/llvm-core/flang/Manifest b/llvm-core/flang/Manifest index ba9aebd9dd57..839b2112d853 100644 --- a/llvm-core/flang/Manifest +++ b/llvm-core/flang/Manifest @@ -6,3 +6,4 @@ DIST llvm-project-22.1.8.src.tar.xz 167061596 BLAKE2B 092204f62e0f0364a041c737eb DIST llvm-project-22.1.8.src.tar.xz.sig 119 BLAKE2B 2ce93472036e68782252991e4a8bdbeeec8706a56022220083a38a42ef18714a7894c41aaa04dc0d03f18601d8bfc1a5a030ed0ef0f0d64a662eae9843a4b362 SHA512 99a457b5b1fb409a5fe72b59ebd4ddae5cade3e5f2493e33b44d4f4b4625f7a1743f80106efb1134668842b15ea3400ce2c29263bec8ff986e05040910125e15 DIST llvm-project-23.1.1.src.tar.xz 179168672 BLAKE2B 31d0ad202f4ad38d001baaf638a756508b164229b02a6e41b9689508a33b3a7baecaa10398e20f3661cacb712663fe379eeb94e50e017e40ae546a7e7de8049d SHA512 e51c45f01e95272771bfee8382b213a2e21d3c62e273ff58967cfe40b87f45d2b37a4797b8b83fab025ed7a0ad32adef48406ade2d049da3d7f1799b30edea39 DIST llvm-project-23.1.1.src.tar.xz.sig 466 BLAKE2B fd062ee7b6a59295f1ba558ed35fcf03d9d1a2f716cc710ae1b375c9f673eaaf21a7a503652fefbcc91233c9df279c4521f487539264badd0bf591362657024b SHA512 d2e1101f6f3569cc82630e94d9021aaa47e32636d5b0b7fe90c01a56523e3d772835ad7c2a6f2c1a199ed1624a6f12429b43865d6f41405b73b275483effe581 +DIST llvm-project-3dcd66d0110335d7d1a5921fd085914b66ffbd3c.tar.gz 317468883 BLAKE2B af57748bf462852a7d09751162e43c52b7d8fa4d1e3e9b021062b11132ad2268b2ddefd0e2d0b2391de1e8120b751fe46a368bc58dce83b8d5e4413716701031 SHA512 678027e165bf444eb522a70b5c52018dba4b41828fa7db353bd1155ec326633adfe64e20e5975b672fc2669c6fd7e0dec0dbd8c63ee89e0393264d9af5ab3090 diff --git a/llvm-core/flang/flang-24.0.0_pre20260919.ebuild b/llvm-core/flang/flang-24.0.0_pre20260919.ebuild new file mode 100644 index 000000000000..c71c6def54db --- /dev/null +++ b/llvm-core/flang/flang-24.0.0_pre20260919.ebuild @@ -0,0 +1,159 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +inherit cmake flag-o-matic llvm.org python-any-r1 toolchain-funcs + +DESCRIPTION="LLVM's Fortran frontend" +HOMEPAGE="https://flang.llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions" +SLOT="${LLVM_MAJOR}/${LLVM_SOABI}" +IUSE="+clang +debug test" +RESTRICT="!test? ( test )" + +DEPEND=" + ~llvm-core/clang-${PV}[debug=] + ~llvm-core/llvm-${PV}[debug=] + ~llvm-core/mlir-${PV}[debug=] +" +RDEPEND=" + ${DEPEND} +" +PDEPEND=" + >=llvm-runtimes/flang-rt-${PV}:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( llvm-core/clang ) + test? ( + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + ) +" + +LLVM_COMPONENTS=( flang cmake ) +LLVM_TEST_COMPONENTS=( + clang/test/Driver mlir/test/lib + # for building flang-rt + runtimes flang-rt libc/shared llvm/{cmake,utils} + # openmp + openmp third-party/unittest +) +LLVM_USE_TARGETS=llvm+eq +llvm.org_set_globals + +python_check_deps() { + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_pretend() { + if ! use clang && tc-is-gcc; then + ewarn "Building using GCC requires lots of memory (up to 10 GiB per process)." + ewarn "Consider enabling USE=clang." + ewarn "See https://gcc.gnu.org/PR119705" + fi +} + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_prepare() { + # create extra parent dir for relative CLANG_RESOURCE_DIR access + mkdir -p x/y || die + BUILD_DIR=${WORKDIR}/x/y/build + + llvm.org_src_prepare +} + +src_configure() { + if use clang; then + # Only do this conditionally to allow overriding with + # e.g. CC=clang-13 in case of breakage + if ! tc-is-clang ; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + fi + + strip-unsupported-flags + fi + + local mycmakeargs=( + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}" + + -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}" + -DCLANG_RESOURCE_DIR="../../../clang/${LLVM_MAJOR}" + + -DBUILD_SHARED_LIBS=OFF + -DMLIR_LINK_MLIR_DYLIB=ON + # flang does not feature a dylib, so do not install libraries + # or headers + -DLLVM_INSTALL_TOOLCHAIN_ONLY=ON + # installed by llvm-runtimes/flang-rt + -DFLANG_INCLUDE_RUNTIME=OFF + + # TODO: always enable to obtain reproducible tools + -DFLANG_INCLUDE_TESTS=$(usex test) + + -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" + ) + use test && mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + ) + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + cmake_src_configure +} + +build_runtimes() { + local -x FC=${BUILD_DIR}/bin/flang + local -x F77=${FC} + local CMAKE_USE_DIR=${WORKDIR}/runtimes + local BUILD_DIR=${WORKDIR}/runtimes_build + strip-unsupported-flags + + local mycmakeargs=( + # cmake.eclass does not set if it we don't inherit fortran-2 + # and upstream code relies on it being set before Fortran logic + # kicks in and reds envvars + -DCMAKE_Fortran_COMPILER="${FC}" + # we may not have a runtime yet + -DCMAKE_Fortran_COMPILER_WORKS=TRUE + # tests rddequire modules now + -DRUNTIMES_FORTRAN_MODULES=ON + + -DLLVM_ENABLE_RUNTIMES="flang-rt;openmp" + # this package forces NO_DEFAULT_PATHS + -DLLVM_BINARY_DIR="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}" + -DLLVM_DEFAULT_TARGET_TRIPLE="${CHOST}" + + # install inside the test tree + -DRUNTIMES_INSTALL_RESOURCE_PATH="${WORKDIR}/lib/clang/${LLVM_MAJOR}" + # work hard not to install anything else + -DLLVM_INSTALL_TOOLCHAIN_ONLY=ON + -DOPENMP_INSTALL_LIBDIR="${T}/discard" + + -DFLANG_RT_INCLUDE_TESTS=OFF + -DLIBOMP_FORTRAN_MODULES_ONLY=ON + -DLIBOMP_USE_HWLOC=OFF + -DLIBOMP_OMPD_GDB_SUPPORT=OFF + -DLIBOMP_OMPT_SUPPORT=OFF + ) + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + cmake_src_configure + cmake_build install +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + + build_runtimes + + cmake_build check-flang +} diff --git a/llvm-core/lld/Manifest b/llvm-core/lld/Manifest index c1e1a95276a5..b3483561c984 100644 --- a/llvm-core/lld/Manifest +++ b/llvm-core/lld/Manifest @@ -14,3 +14,4 @@ DIST llvm-project-22.1.8.src.tar.xz 167061596 BLAKE2B 092204f62e0f0364a041c737eb DIST llvm-project-22.1.8.src.tar.xz.sig 119 BLAKE2B 2ce93472036e68782252991e4a8bdbeeec8706a56022220083a38a42ef18714a7894c41aaa04dc0d03f18601d8bfc1a5a030ed0ef0f0d64a662eae9843a4b362 SHA512 99a457b5b1fb409a5fe72b59ebd4ddae5cade3e5f2493e33b44d4f4b4625f7a1743f80106efb1134668842b15ea3400ce2c29263bec8ff986e05040910125e15 DIST llvm-project-23.1.1.src.tar.xz 179168672 BLAKE2B 31d0ad202f4ad38d001baaf638a756508b164229b02a6e41b9689508a33b3a7baecaa10398e20f3661cacb712663fe379eeb94e50e017e40ae546a7e7de8049d SHA512 e51c45f01e95272771bfee8382b213a2e21d3c62e273ff58967cfe40b87f45d2b37a4797b8b83fab025ed7a0ad32adef48406ade2d049da3d7f1799b30edea39 DIST llvm-project-23.1.1.src.tar.xz.sig 466 BLAKE2B fd062ee7b6a59295f1ba558ed35fcf03d9d1a2f716cc710ae1b375c9f673eaaf21a7a503652fefbcc91233c9df279c4521f487539264badd0bf591362657024b SHA512 d2e1101f6f3569cc82630e94d9021aaa47e32636d5b0b7fe90c01a56523e3d772835ad7c2a6f2c1a199ed1624a6f12429b43865d6f41405b73b275483effe581 +DIST llvm-project-3dcd66d0110335d7d1a5921fd085914b66ffbd3c.tar.gz 317468883 BLAKE2B af57748bf462852a7d09751162e43c52b7d8fa4d1e3e9b021062b11132ad2268b2ddefd0e2d0b2391de1e8120b751fe46a368bc58dce83b8d5e4413716701031 SHA512 678027e165bf444eb522a70b5c52018dba4b41828fa7db353bd1155ec326633adfe64e20e5975b672fc2669c6fd7e0dec0dbd8c63ee89e0393264d9af5ab3090 diff --git a/llvm-core/lld/lld-24.0.0_pre20260919.ebuild b/llvm-core/lld/lld-24.0.0_pre20260919.ebuild new file mode 100644 index 000000000000..c91ec8e98967 --- /dev/null +++ b/llvm-core/lld/lld-24.0.0_pre20260919.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +inherit cmake flag-o-matic llvm.org python-any-r1 toolchain-funcs + +DESCRIPTION="The LLVM linker (link editor)" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="${LLVM_MAJOR}/${LLVM_SOABI}" +IUSE="+debug test zstd" +RESTRICT="!test? ( test )" + +DEPEND=" + ~llvm-core/llvm-${PV}[debug=,zstd=] + virtual/zlib:= + zstd? ( app-arch/zstd:= ) +" +RDEPEND=" + ${DEPEND} + !llvm-core/lld:0 +" +BDEPEND=" + llvm-core/llvm:${LLVM_MAJOR} + test? ( + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + ) +" +PDEPEND=" + >=llvm-core/lld-toolchain-symlinks-16-r2:${LLVM_MAJOR} +" + +LLVM_COMPONENTS=( lld cmake libunwind/include/mach-o ) +LLVM_TEST_COMPONENTS=( llvm/utils/dtlto ) +LLVM_USE_TARGETS=llvm+eq +llvm.org_set_globals + +python_check_deps() { + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_unpack() { + llvm.org_src_unpack + + # Directory ${WORKDIR}/llvm does not exist with USE="-test", + # but LLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" is set below, + # and ${LLVM_MAIN_SRC_DIR}/../libunwind/include is used by build system + # (lld/MachO/CMakeLists.txt) and is expected to be resolvable + # to existent directory ${WORKDIR}/libunwind/include. + mkdir -p "${WORKDIR}/llvm" || die +} + +src_configure() { + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + # https://gcc.gnu.org/PR121495 (bug #958469) + use arm64 && tc-is-gcc && [[ $(gcc-major-version) -ge 14 ]] && append-flags -mearly-ra=none + + use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152 + + local mycmakeargs=( + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}" + -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}" + -DBUILD_SHARED_LIBS=ON + -DLLVM_INCLUDE_TESTS=$(usex test) + -DLLVM_ENABLE_ZLIB=FORCE_ON + -DLLVM_ENABLE_ZSTD=$(usex zstd FORCE_ON OFF) + -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" + ) + + use test && mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + -DPython3_EXECUTABLE="${PYTHON}" + ) + + tc-is-cross-compiler && mycmakeargs+=( + -DLLVM_TABLEGEN_EXE="${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-tblgen" + ) + + cmake_src_configure +} + +src_test() { + local -x LIT_PRESERVES_TMP=1 + cmake_build check-lld +} diff --git a/llvm-core/lldb/Manifest b/llvm-core/lldb/Manifest index fd81ec1b1a7a..fbc00025d6ea 100644 --- a/llvm-core/lldb/Manifest +++ b/llvm-core/lldb/Manifest @@ -15,3 +15,4 @@ DIST llvm-project-22.1.8.src.tar.xz 167061596 BLAKE2B 092204f62e0f0364a041c737eb DIST llvm-project-22.1.8.src.tar.xz.sig 119 BLAKE2B 2ce93472036e68782252991e4a8bdbeeec8706a56022220083a38a42ef18714a7894c41aaa04dc0d03f18601d8bfc1a5a030ed0ef0f0d64a662eae9843a4b362 SHA512 99a457b5b1fb409a5fe72b59ebd4ddae5cade3e5f2493e33b44d4f4b4625f7a1743f80106efb1134668842b15ea3400ce2c29263bec8ff986e05040910125e15 DIST llvm-project-23.1.1.src.tar.xz 179168672 BLAKE2B 31d0ad202f4ad38d001baaf638a756508b164229b02a6e41b9689508a33b3a7baecaa10398e20f3661cacb712663fe379eeb94e50e017e40ae546a7e7de8049d SHA512 e51c45f01e95272771bfee8382b213a2e21d3c62e273ff58967cfe40b87f45d2b37a4797b8b83fab025ed7a0ad32adef48406ade2d049da3d7f1799b30edea39 DIST llvm-project-23.1.1.src.tar.xz.sig 466 BLAKE2B fd062ee7b6a59295f1ba558ed35fcf03d9d1a2f716cc710ae1b375c9f673eaaf21a7a503652fefbcc91233c9df279c4521f487539264badd0bf591362657024b SHA512 d2e1101f6f3569cc82630e94d9021aaa47e32636d5b0b7fe90c01a56523e3d772835ad7c2a6f2c1a199ed1624a6f12429b43865d6f41405b73b275483effe581 +DIST llvm-project-3dcd66d0110335d7d1a5921fd085914b66ffbd3c.tar.gz 317468883 BLAKE2B af57748bf462852a7d09751162e43c52b7d8fa4d1e3e9b021062b11132ad2268b2ddefd0e2d0b2391de1e8120b751fe46a368bc58dce83b8d5e4413716701031 SHA512 678027e165bf444eb522a70b5c52018dba4b41828fa7db353bd1155ec326633adfe64e20e5975b672fc2669c6fd7e0dec0dbd8c63ee89e0393264d9af5ab3090 diff --git a/llvm-core/lldb/lldb-24.0.0_pre20260919.ebuild b/llvm-core/lldb/lldb-24.0.0_pre20260919.ebuild new file mode 100644 index 000000000000..482a225e5f5d --- /dev/null +++ b/llvm-core/lldb/lldb-24.0.0_pre20260919.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +inherit cmake flag-o-matic llvm.org python-single-r1 + +DESCRIPTION="The LLVM debugger" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0/${LLVM_SOABI}" +IUSE="+debug debuginfod +libedit lzma ncurses +python test +tree-sitter +xml" +RESTRICT="test" +REQUIRED_USE=${PYTHON_REQUIRED_USE} + +DEPEND=" + debuginfod? ( + net-misc/curl:= + dev-cpp/cpp-httplib:= + ) + libedit? ( dev-libs/libedit:0= ) + lzma? ( app-arch/xz-utils:= ) + ncurses? ( >=sys-libs/ncurses-5.9-r3:0= ) + tree-sitter? ( dev-libs/tree-sitter:= ) + xml? ( dev-libs/libxml2:= ) + ~llvm-core/clang-${PV} + ~llvm-core/llvm-${PV}[debuginfod=] +" +RDEPEND=" + ${DEPEND} + python? ( + ${PYTHON_DEPS} + ) +" +BDEPEND=" + ${PYTHON_DEPS} + python? ( + >=dev-lang/swig-3.0.11 + ) + test? ( + $(python_gen_cond_dep " + ~dev-python/lit-${PV}[\${PYTHON_USEDEP}] + dev-python/psutil[\${PYTHON_USEDEP}] + ") + llvm-core/lld + ) +" + +LLVM_COMPONENTS=( lldb cmake llvm/utils ) +LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support third-party ) +LLVM_USE_TARGETS=llvm+eq +llvm.org_set_globals + +src_configure() { + # bug #858389 (https://github.com/llvm/llvm-project/issues/83636) + filter-lto + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + local mycmakeargs=( + -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}" + -DClang_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}" + + -DLLDB_ENABLE_CURSES=$(usex ncurses) + -DLLDB_ENABLE_LIBEDIT=$(usex libedit) + -DLLDB_ENABLE_PYTHON=$(usex python) + -DLLDB_ENABLE_LUA=OFF + -DLLDB_ENABLE_LZMA=$(usex lzma) + -DLLDB_ENABLE_LIBXML2=$(usex xml) + -DLLVM_ENABLE_TERMINFO=$(usex ncurses) + -DLLVM_ENABLE_TREESITTER=$(usex tree-sitter) + + -DLLDB_INCLUDE_TESTS=$(usex test) + + -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" + + -DCLANG_LINK_CLANG_DYLIB=ON + # TODO: fix upstream to detect this properly + -DHAVE_LIBDL=ON + -DHAVE_LIBPTHREAD=ON + + # normally we'd have to set LLVM_ENABLE_TERMINFO, HAVE_TERMINFO + # and TERMINFO_LIBS... so just force FindCurses.cmake to use + # ncurses with complete library set (including autodetection + # of -ltinfo) + -DCURSES_NEED_NCURSES=ON + + -DCLANG_RESOURCE_DIR="../../../clang/${LLVM_MAJOR}" + + -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" + -DPython3_EXECUTABLE="${PYTHON}" + ) + use test && mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + ) + + cmake_src_configure +} + +src_test() { + local -x LIT_PRESERVES_TMP=1 + cmake_build check-lldb-{shell,unit} + # failures + hangs + #use python && cmake_build check-lldb-api +} + +src_install() { + cmake_src_install + find "${D}" -name '*.a' -delete || die + + use python && python_optimize +} diff --git a/llvm-core/llvm-common/Manifest b/llvm-core/llvm-common/Manifest index c1e1a95276a5..b3483561c984 100644 --- a/llvm-core/llvm-common/Manifest +++ b/llvm-core/llvm-common/Manifest @@ -14,3 +14,4 @@ DIST llvm-project-22.1.8.src.tar.xz 167061596 BLAKE2B 092204f62e0f0364a041c737eb DIST llvm-project-22.1.8.src.tar.xz.sig 119 BLAKE2B 2ce93472036e68782252991e4a8bdbeeec8706a56022220083a38a42ef18714a7894c41aaa04dc0d03f18601d8bfc1a5a030ed0ef0f0d64a662eae9843a4b362 SHA512 99a457b5b1fb409a5fe72b59ebd4ddae5cade3e5f2493e33b44d4f4b4625f7a1743f80106efb1134668842b15ea3400ce2c29263bec8ff986e05040910125e15 DIST llvm-project-23.1.1.src.tar.xz 179168672 BLAKE2B 31d0ad202f4ad38d001baaf638a756508b164229b02a6e41b9689508a33b3a7baecaa10398e20f3661cacb712663fe379eeb94e50e017e40ae546a7e7de8049d SHA512 e51c45f01e95272771bfee8382b213a2e21d3c62e273ff58967cfe40b87f45d2b37a4797b8b83fab025ed7a0ad32adef48406ade2d049da3d7f1799b30edea39 DIST llvm-project-23.1.1.src.tar.xz.sig 466 BLAKE2B fd062ee7b6a59295f1ba558ed35fcf03d9d1a2f716cc710ae1b375c9f673eaaf21a7a503652fefbcc91233c9df279c4521f487539264badd0bf591362657024b SHA512 d2e1101f6f3569cc82630e94d9021aaa47e32636d5b0b7fe90c01a56523e3d772835ad7c2a6f2c1a199ed1624a6f12429b43865d6f41405b73b275483effe581 +DIST llvm-project-3dcd66d0110335d7d1a5921fd085914b66ffbd3c.tar.gz 317468883 BLAKE2B af57748bf462852a7d09751162e43c52b7d8fa4d1e3e9b021062b11132ad2268b2ddefd0e2d0b2391de1e8120b751fe46a368bc58dce83b8d5e4413716701031 SHA512 678027e165bf444eb522a70b5c52018dba4b41828fa7db353bd1155ec326633adfe64e20e5975b672fc2669c6fd7e0dec0dbd8c63ee89e0393264d9af5ab3090 diff --git a/llvm-core/llvm-common/llvm-common-24.0.0_pre20260919.ebuild b/llvm-core/llvm-common/llvm-common-24.0.0_pre20260919.ebuild new file mode 100644 index 000000000000..4548489cd9bc --- /dev/null +++ b/llvm-core/llvm-common/llvm-common-24.0.0_pre20260919.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit elisp-common llvm.org + +DESCRIPTION="Common files shared between multiple slots of LLVM" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +IUSE="emacs" + +RDEPEND=" + !llvm-core/llvm:0 +" +BDEPEND=" + emacs? ( >=app-editors/emacs-23.1:* ) +" + +LLVM_COMPONENTS=( llvm/utils ) +llvm.org_set_globals + +SITEFILE="50llvm-gentoo.el" +BYTECOMPFLAGS="-L emacs" + +src_compile() { + default + + use emacs && elisp-compile emacs/*.el +} + +src_install() { + insinto /usr/share/vim/vimfiles + doins -r vim/*/ + # some users may find it useful + newdoc vim/README README.vim + dodoc vim/vimrc + + if use emacs ; then + elisp-install llvm emacs/*.{el,elc} + elisp-make-site-file "${SITEFILE}" llvm + fi +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/llvm-core/llvm/Manifest b/llvm-core/llvm/Manifest index ce47bc46c609..a81e67b6fa5d 100644 --- a/llvm-core/llvm/Manifest +++ b/llvm-core/llvm/Manifest @@ -22,3 +22,4 @@ DIST llvm-project-22.1.8.src.tar.xz 167061596 BLAKE2B 092204f62e0f0364a041c737eb DIST llvm-project-22.1.8.src.tar.xz.sig 119 BLAKE2B 2ce93472036e68782252991e4a8bdbeeec8706a56022220083a38a42ef18714a7894c41aaa04dc0d03f18601d8bfc1a5a030ed0ef0f0d64a662eae9843a4b362 SHA512 99a457b5b1fb409a5fe72b59ebd4ddae5cade3e5f2493e33b44d4f4b4625f7a1743f80106efb1134668842b15ea3400ce2c29263bec8ff986e05040910125e15 DIST llvm-project-23.1.1.src.tar.xz 179168672 BLAKE2B 31d0ad202f4ad38d001baaf638a756508b164229b02a6e41b9689508a33b3a7baecaa10398e20f3661cacb712663fe379eeb94e50e017e40ae546a7e7de8049d SHA512 e51c45f01e95272771bfee8382b213a2e21d3c62e273ff58967cfe40b87f45d2b37a4797b8b83fab025ed7a0ad32adef48406ade2d049da3d7f1799b30edea39 DIST llvm-project-23.1.1.src.tar.xz.sig 466 BLAKE2B fd062ee7b6a59295f1ba558ed35fcf03d9d1a2f716cc710ae1b375c9f673eaaf21a7a503652fefbcc91233c9df279c4521f487539264badd0bf591362657024b SHA512 d2e1101f6f3569cc82630e94d9021aaa47e32636d5b0b7fe90c01a56523e3d772835ad7c2a6f2c1a199ed1624a6f12429b43865d6f41405b73b275483effe581 +DIST llvm-project-3dcd66d0110335d7d1a5921fd085914b66ffbd3c.tar.gz 317468883 BLAKE2B af57748bf462852a7d09751162e43c52b7d8fa4d1e3e9b021062b11132ad2268b2ddefd0e2d0b2391de1e8120b751fe46a368bc58dce83b8d5e4413716701031 SHA512 678027e165bf444eb522a70b5c52018dba4b41828fa7db353bd1155ec326633adfe64e20e5975b672fc2669c6fd7e0dec0dbd8c63ee89e0393264d9af5ab3090 diff --git a/llvm-core/llvm/llvm-24.0.0_pre20260919.ebuild b/llvm-core/llvm/llvm-24.0.0_pre20260919.ebuild new file mode 100644 index 000000000000..9ec376eb2839 --- /dev/null +++ b/llvm-core/llvm/llvm-24.0.0_pre20260919.ebuild @@ -0,0 +1,575 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) + +inherit cmake flag-o-matic llvm.org multilib-minimal pax-utils python-any-r1 +inherit toolchain-funcs + +DESCRIPTION="Low Level Virtual Machine" +HOMEPAGE="https://llvm.org/" + +# Additional licenses: +# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD. +# 2. xxhash: BSD. +# 3. MD5 code: public-domain. +# 4. ConvertUTF.h: TODO. + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc" +SLOT="${LLVM_MAJOR}/${LLVM_SOABI}" +IUSE=" + +binutils-plugin +debug debuginfod doc exegesis libedit +libffi + test xml z3 zstd +" +RESTRICT="!test? ( test )" + +RDEPEND=" + virtual/zlib:=[${MULTILIB_USEDEP}] + debuginfod? ( + net-misc/curl:= + dev-cpp/cpp-httplib:= + ) + exegesis? ( dev-libs/libpfm:= ) + libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) + libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) + xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) + z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] ) + zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) +" +DEPEND=" + ${RDEPEND} + binutils-plugin? ( sys-libs/binutils-libs ) +" +BDEPEND=" + ${PYTHON_DEPS} + dev-lang/perl + sys-devel/gnuconfig + kernel_Darwin? ( + <llvm-runtimes/libcxx-${LLVM_VERSION}.9999 + ) + libffi? ( virtual/pkgconfig ) +" +# There are no file collisions between these versions but having :0 +# installed means llvm-config there will take precedence. +RDEPEND=" + ${RDEPEND} + !llvm-core/llvm:0 +" +PDEPEND=" + llvm-core/llvm-common + llvm-core/llvm-toolchain-symlinks:${LLVM_MAJOR} + binutils-plugin? ( >=llvm-core/llvmgold-${LLVM_MAJOR} ) +" + +LLVM_COMPONENTS=( llvm cmake libc mlir/utils/pygments third-party utils/docs ) +LLVM_MANPAGES=1 +LLVM_USE_TARGETS=provide +llvm.org_set_globals + +[[ -n ${LLVM_MANPAGE_DIST} ]] && BDEPEND+=" doc? ( " +BDEPEND+=" + $(python_gen_any_dep ' + dev-python/myst-parser[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}] + ') +" +[[ -n ${LLVM_MANPAGE_DIST} ]] && BDEPEND+=" ) " + +python_check_deps() { + llvm_are_manpages_built || return 0 + + python_has_version -b "dev-python/myst-parser[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" +} + +check_uptodate() { + local prod_targets=( + $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \ + | tail -n +2 | head -n -1) + ) + local all_targets=( + lib/Target/*/ + ) + all_targets=( "${all_targets[@]#lib/Target/}" ) + all_targets=( "${all_targets[@]%/}" ) + + local exp_targets=() i + for i in "${all_targets[@]}"; do + has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" ) + done + + local outdated + if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then + eerror "ALL_LLVM_EXPERIMENTAL_TARGETS are outdated!" + eerror " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}" + eerror "Expected: ${exp_targets[*]}" + eerror + outdated=1 + fi + + if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then + eerror "ALL_LLVM_PRODUCTION_TARGETS are outdated!" + eerror " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}" + eerror "Expected: ${prod_targets[*]}" + outdated=1 + fi + + [[ ${outdated} ]] && die "Update ALL_LLVM*_TARGETS" +} + +check_distribution_components() { + if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then + local all_targets=() my_targets=() l + cd "${BUILD_DIR}" || die + + while read -r l; do + if [[ ${l} == install-*-stripped:* ]]; then + l=${l#install-} + l=${l%%-stripped*} + + case ${l} in + # shared libs + LLVM|LLVMgold) + ;; + # TableGen lib + deps + LLVMDemangle|LLVMSupport|LLVMSupportLSP|LLVMTableGen) + ;; + # for mlir-tblgen + LLVMCodeGenTypes) + ;; + # used by lldb + LLVMDebuginfod|LLVMHTTP) + ;; + # testing libraries + LLVMTestingAnnotations|LLVMTestingSupport) + ;; + # static libs + LLVM*) + continue + ;; + # meta-targets + distribution|llvm-libraries) + continue + ;; + # used only w/ USE=doc + docs-llvm-html) + use doc || continue + ;; + # used only w/ USE=debuginfd + llvm-debuginfod) + use debuginfod || continue + ;; + # used only w/ USE=xml + llvm-mt) + use xml || continue + ;; + esac + + all_targets+=( "${l}" ) + fi + done < <(${NINJA} -t targets all) + + while read -r l; do + my_targets+=( "${l}" ) + done < <(get_distribution_components $"\n") + + local add=() remove=() + for l in "${all_targets[@]}"; do + if ! has "${l}" "${my_targets[@]}"; then + add+=( "${l}" ) + fi + done + for l in "${my_targets[@]}"; do + if ! has "${l}" "${all_targets[@]}"; then + remove+=( "${l}" ) + fi + done + + if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then + eerror "get_distribution_components() is outdated!" + eerror " Add: ${add[*]}" + eerror "Remove: ${remove[*]}" + die "Update get_distribution_components()!" + fi + cd - >/dev/null || die + fi +} + +src_prepare() { + # disable use of SDK on OSX, bug #568758 + sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die + + # Update config.guess to support more systems + cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die + + # Disable lit tests (we run them in dev-python/lit). + > utils/lit/CMakeLists.txt || die + + # Verify that the ebuild is up-to-date + check_uptodate + + llvm.org_src_prepare +} + +get_distribution_components() { + local sep=${1-;} + + local out=( + # shared libs + LLVM + LTO + Remarks + + # tools + llvm-config + + # common stuff + cmake-exports + llvm-headers + + # libraries needed for clang-tblgen + LLVMDemangle + LLVMSupport + LLVMTableGen + # mlir-tblgen + LLVMCodeGenTypes + LLVMSupportLSP + + # testing libraries + llvm_gtest + llvm_gtest_main + LLVMTestingAnnotations + LLVMTestingSupport + ) + + if multilib_is_native_abi; then + out+=( + # library used by lldb + LLVMDebuginfod + LLVMHTTP + + # utilities + llvm-tblgen + llvm-test-mustache-spec + FileCheck + llvm-PerfectShuffle + count + not + yaml-bench + UnicodeNameMappingGenerator + + # tools + clang-offload-packager + dsymutil + llc + lli + lli-child-target + llubi + llvm-addr2line + llvm-ar + llvm-as + llvm-bcanalyzer + llvm-bitcode-strip + llvm-c-test + llvm-calc-occupancy + llvm-cas + llvm-cat + llvm-cfi-verify + llvm-cgdata + llvm-config + llvm-cov + llvm-ctxprof-util + llvm-cvtres + llvm-cxxdump + llvm-cxxfilt + llvm-cxxmap + llvm-debuginfo-analyzer + llvm-debuginfod-find + llvm-diff + llvm-dis + llvm-dlltool + llvm-dwarfdump + llvm-dwarfutil + llvm-dwp + llvm-exegesis + llvm-extract + llvm-extract-bundle-entry + llvm-gpu-loader + llvm-gsymutil + llvm-ifs + llvm-install-name-tool + llvm-ir2vec + llvm-jitlink + llvm-jitlink-executor + llvm-lib + llvm-libtool-darwin + llvm-link + llvm-lipo + llvm-lto + llvm-lto2 + llvm-mc + llvm-mca + llvm-ml + llvm-ml64 + llvm-modextract + llvm-nm + llvm-objcopy + llvm-objdump + llvm-offload-binary + llvm-offload-wrapper + llvm-opt-report + llvm-otool + llvm-pdbutil + llvm-profdata + llvm-profgen + llvm-ranlib + llvm-rc + llvm-readelf + llvm-readobj + llvm-readtapi + llvm-reduce + llvm-remarkutil + llvm-rtdyld + llvm-size + llvm-split + llvm-stress + llvm-strings + llvm-strip + llvm-symbolizer + llvm-tli-checker + llvm-undname + llvm-windres + llvm-xray + obj2yaml + opt + reduce-chunk-list + sancov + sanstats + split-file + verify-uselistorder + yaml2obj + + # python modules + opt-viewer + ) + + if llvm_are_manpages_built; then + out+=( + # manpages + docs-dsymutil-man + docs-llvm-dwarfdump-man + docs-llvm-man + ) + fi + use doc && out+=( + docs-llvm-html + ) + + use binutils-plugin && out+=( + LLVMgold + ) + use debuginfod && out+=( + llvm-debuginfod + ) + use xml && out+=( + llvm-mt + ) + fi + + printf "%s${sep}" "${out[@]}" +} + +multilib_src_configure() { + # ODR violations (bug #917536, bug #926529). Just do it for GCC for now + # to avoid people grumbling. GCC is, anecdotally, more likely to miscompile + # LLVM with LTO anyway (which is not necessarily its fault). + tc-is-gcc && filter-lto + + # https://github.com/llvm/llvm-project/issues/219693 + append-flags -fno-strict-aliasing + + local ffi_cflags ffi_ldflags + if use libffi; then + ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi) + ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi) + fi + + local libdir=$(get_libdir) + local mycmakeargs=( + # disable appending VCS revision to the version to improve + # direct cache hit ratio + -DLLVM_APPEND_VC_REV=OFF + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}" + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + + -DBUILD_SHARED_LIBS=OFF + -DLLVM_BUILD_LLVM_DYLIB=ON + -DLLVM_LINK_LLVM_DYLIB=ON + -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components) + + # cheap hack: LLVM combines both anyway, and the only difference + # is that the former list is explicitly verified at cmake time + -DLLVM_TARGETS_TO_BUILD="" + -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" + -DLLVM_INCLUDE_BENCHMARKS=OFF + -DLLVM_INCLUDE_TESTS=ON + -DLLVM_BUILD_TESTS=$(usex test) + -DLLVM_INSTALL_GTEST=ON + + -DLLVM_ENABLE_FFI=$(usex libffi) + -DLLVM_ENABLE_LIBEDIT=$(usex libedit) + -DLLVM_ENABLE_LIBXML2=$(usex xml) + -DLLVM_ENABLE_ASSERTIONS=$(usex debug) + -DLLVM_ENABLE_LIBPFM=$(usex exegesis) + -DLLVM_ENABLE_EH=ON + -DLLVM_ENABLE_RTTI=ON + -DLLVM_ENABLE_Z3_SOLVER=$(usex z3) + -DLLVM_ENABLE_ZLIB=FORCE_ON + -DLLVM_ENABLE_ZSTD=$(usex zstd FORCE_ON OFF) + -DLLVM_ENABLE_CURL=$(usex debuginfod) + -DLLVM_ENABLE_HTTPLIB=$(usex debuginfod) + -DLLVM_UNREACHABLE_OPTIMIZE=OFF + + -DLLVM_HOST_TRIPLE="${CHOST}" + + -DPython3_EXECUTABLE="${PYTHON}" + + # disable OCaml bindings (now in dev-ml/llvm) + -DOCAMLFIND=NO + ) + + local suffix= + if [[ -n ${EGIT_VERSION} && ${EGIT_BRANCH} != release/* ]]; then + # the ABI of the main branch is not stable, so let's include + # the commit id in the SOVERSION to contain the breakage + suffix+="git${EGIT_VERSION::8}" + fi + if [[ $(tc-get-cxx-stdlib) == libc++ ]]; then + # Smart hack: alter version suffix -> SOVERSION when linking + # against libc++. This way we won't end up mixing LLVM libc++ + # libraries with libstdc++ clang, and the other way around. + suffix+="+libcxx" + mycmakeargs+=( + -DLLVM_ENABLE_LIBCXX=ON + ) + fi + mycmakeargs+=( + -DLLVM_VERSION_SUFFIX="${suffix}" + ) + + use test && mycmakeargs+=( + -DLLVM_LIT_ARGS="$(get_lit_flags)" + ) + + if multilib_is_native_abi; then + local build_docs=OFF + if llvm_are_manpages_built; then + build_docs=ON + mycmakeargs+=( + -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man" + -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" + -DSPHINX_WARNINGS_AS_ERRORS=OFF + ) + fi + + mycmakeargs+=( + -DLLVM_BUILD_DOCS=${build_docs} + -DLLVM_ENABLE_OCAMLDOC=OFF + -DLLVM_ENABLE_SPHINX=${build_docs} + -DLLVM_ENABLE_DOXYGEN=OFF + -DLLVM_INSTALL_UTILS=ON + ) + use binutils-plugin && mycmakeargs+=( + -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include + ) + fi + + use kernel_Darwin && mycmakeargs+=( + # Use our libtool instead of looking it up with xcrun + -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool" + ) + + # LLVM can have very high memory consumption while linking, + # exhausting the limit on 32-bit linker executable + use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory" + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + cmake_src_configure + + grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=${LLVM_MAJOR}$" \ + CMakeCache.txt || + die "Incorrect version, did you update _LLVM_MAIN_MAJOR?" + multilib_is_native_abi && check_distribution_components +} + +multilib_src_compile() { + tc-env_build cmake_build distribution + + pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld + pax-mark m "${BUILD_DIR}"/bin/lli + pax-mark m "${BUILD_DIR}"/bin/lli-child-target + + if use test; then + pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests + pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests + pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests + fi +} + +multilib_src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + cmake_build check +} + +src_install() { + local MULTILIB_CHOST_TOOLS=( + /usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-config + ) + + local MULTILIB_WRAPPED_HEADERS=( + /usr/include/llvm/Config/llvm-config.h + ) + + local LLVM_LDPATHS=() + multilib-minimal_src_install + + # move wrapped headers back + mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die +} + +multilib_src_install() { + DESTDIR=${D} cmake_build install-distribution + + # move headers to /usr/include for wrapping + rm -rf "${ED}"/usr/include || die + mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include "${ED}"/usr/include || die + + LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)" ) +} + +multilib_src_install_all() { + local revord=$(( 9999 - ${LLVM_MAJOR} )) + newenvd - "60llvm-${revord}" <<-_EOF_ + PATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin" + # we need to duplicate it in ROOTPATH for Portage to respect... + ROOTPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin" + MANPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man" + LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )" + _EOF_ + + docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man" + llvm_install_manpages +} + +pkg_postinst() { + elog "You can find additional opt-viewer utility scripts in:" + elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/opt-viewer" + elog "To use these scripts, you will need Python along with the following" + elog "packages:" + elog " dev-python/pygments (for opt-viewer)" + elog " dev-python/pyyaml (for all of them)" +} diff --git a/llvm-core/mlir/Manifest b/llvm-core/mlir/Manifest index ba9aebd9dd57..839b2112d853 100644 --- a/llvm-core/mlir/Manifest +++ b/llvm-core/mlir/Manifest @@ -6,3 +6,4 @@ DIST llvm-project-22.1.8.src.tar.xz 167061596 BLAKE2B 092204f62e0f0364a041c737eb DIST llvm-project-22.1.8.src.tar.xz.sig 119 BLAKE2B 2ce93472036e68782252991e4a8bdbeeec8706a56022220083a38a42ef18714a7894c41aaa04dc0d03f18601d8bfc1a5a030ed0ef0f0d64a662eae9843a4b362 SHA512 99a457b5b1fb409a5fe72b59ebd4ddae5cade3e5f2493e33b44d4f4b4625f7a1743f80106efb1134668842b15ea3400ce2c29263bec8ff986e05040910125e15 DIST llvm-project-23.1.1.src.tar.xz 179168672 BLAKE2B 31d0ad202f4ad38d001baaf638a756508b164229b02a6e41b9689508a33b3a7baecaa10398e20f3661cacb712663fe379eeb94e50e017e40ae546a7e7de8049d SHA512 e51c45f01e95272771bfee8382b213a2e21d3c62e273ff58967cfe40b87f45d2b37a4797b8b83fab025ed7a0ad32adef48406ade2d049da3d7f1799b30edea39 DIST llvm-project-23.1.1.src.tar.xz.sig 466 BLAKE2B fd062ee7b6a59295f1ba558ed35fcf03d9d1a2f716cc710ae1b375c9f673eaaf21a7a503652fefbcc91233c9df279c4521f487539264badd0bf591362657024b SHA512 d2e1101f6f3569cc82630e94d9021aaa47e32636d5b0b7fe90c01a56523e3d772835ad7c2a6f2c1a199ed1624a6f12429b43865d6f41405b73b275483effe581 +DIST llvm-project-3dcd66d0110335d7d1a5921fd085914b66ffbd3c.tar.gz 317468883 BLAKE2B af57748bf462852a7d09751162e43c52b7d8fa4d1e3e9b021062b11132ad2268b2ddefd0e2d0b2391de1e8120b751fe46a368bc58dce83b8d5e4413716701031 SHA512 678027e165bf444eb522a70b5c52018dba4b41828fa7db353bd1155ec326633adfe64e20e5975b672fc2669c6fd7e0dec0dbd8c63ee89e0393264d9af5ab3090 diff --git a/llvm-core/mlir/mlir-24.0.0_pre20260919.ebuild b/llvm-core/mlir/mlir-24.0.0_pre20260919.ebuild new file mode 100644 index 000000000000..59fd2e576262 --- /dev/null +++ b/llvm-core/mlir/mlir-24.0.0_pre20260919.ebuild @@ -0,0 +1,215 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +inherit cmake llvm.org multilib-minimal python-any-r1 + +DESCRIPTION="Multi-Level Intermediate Representation (library only)" +HOMEPAGE="https://mlir.llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions" +SLOT="${LLVM_MAJOR}/${LLVM_SOABI}" +IUSE="+debug test" +RESTRICT="!test? ( test )" + +DEPEND=" + ~llvm-core/llvm-${PV}[debug=,${MULTILIB_USEDEP}] +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + ${PYTHON_DEPS} + llvm-core/llvm:${LLVM_MAJOR} + test? ( + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + ) +" + +LLVM_COMPONENTS=( mlir cmake ) +# tablegen tests use *.td files there +LLVM_TEST_COMPONENTS=( llvm/include ) +llvm.org_set_globals + +python_check_deps() { + if use test; then + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" + fi +} + +src_prepare() { + llvm.org_src_prepare + + # https://github.com/llvm/llvm-project/issues/120902 + sed -i -e '/LINK_LIBS/s:PUBLIC:PRIVATE:' \ + lib/ExecutionEngine/CMakeLists.txt || die + + # this test is completely unpredictable, no clue why + rm test/mlir-pdll-lsp-server/view-output.test || die +} + +check_distribution_components() { + if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then + local all_targets=() my_targets=() l + cd "${BUILD_DIR}" || die + + while read -r l; do + if [[ ${l} == install-*-stripped:* ]]; then + l=${l#install-} + l=${l%%-stripped*} + + case ${l} in + # meta-targets + mlir-libraries|distribution) + continue + ;; + # dylib + MLIR) + ;; + # installed test libraries + MLIRTestAliasAnalysis|MLIRTestAnalysis|MLIRTestDialect|MLIRTestIR) + ;; + MLIROpenACCTestPasses) + ;; + # static libraries + MLIR*) + continue + ;; + esac + + all_targets+=( "${l}" ) + fi + done < <(${NINJA} -t targets all) + + while read -r l; do + my_targets+=( "${l}" ) + done < <(get_distribution_components $"\n") + + local add=() remove=() + for l in "${all_targets[@]}"; do + if ! has "${l}" "${my_targets[@]}"; then + add+=( "${l}" ) + fi + done + for l in "${my_targets[@]}"; do + if ! has "${l}" "${all_targets[@]}"; then + remove+=( "${l}" ) + fi + done + + if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then + eerror "get_distribution_components() is outdated!" + eerror " Add: ${add[*]}" + eerror "Remove: ${remove[*]}" + die "Update get_distribution_components()!" + fi + cd - >/dev/null || die + fi +} + +get_distribution_components() { + local sep=${1-;} + + local out=( + mlir-cmake-exports + mlir-headers + + # the dylib + MLIR + + # shared libraries + mlir_apfloat_wrappers + mlir_arm_runner_utils + mlir_arm_sme_abi_stubs + mlir_async_runtime + mlir_c_runner_utils + mlir_float16_utils + mlir_runner_utils + + # test libraries required by flang + MLIROpenACCTestPasses + MLIRTestAliasAnalysis + MLIRTestAnalysis + MLIRTestDialect + MLIRTestIR + ) + + if multilib_is_native_abi; then + out+=( + # tools + mlir-irdl-to-cpp + mlir-linalg-ods-yaml-gen + mlir-lsp-server + mlir-opt + mlir-pdll + mlir-pdll-lsp-server + mlir-query + mlir-reduce + mlir-rewrite + mlir-runner + mlir-src-sharder + mlir-tblgen + mlir-translate + tblgen-lsp-server + tblgen-to-irdl + ) + fi + + printf "%s${sep}" "${out[@]}" +} + +multilib_src_configure() { + local mycmakeargs=( + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}" + -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}" + + -DBUILD_SHARED_LIBS=OFF + # this controls building libMLIR.so + -DLLVM_BUILD_LLVM_DYLIB=ON + -DMLIR_BUILD_MLIR_C_DYLIB=OFF + -DMLIR_LINK_MLIR_DYLIB=ON + -DMLIR_INCLUDE_TESTS=ON + -DMLIR_INCLUDE_INTEGRATION_TESTS=OFF + -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components) + # this enables installing mlir-tblgen and mlir-pdll + -DLLVM_BUILD_UTILS=ON + + -DPython3_EXECUTABLE="${PYTHON}" + + -DLLVM_BUILD_TOOLS=ON + # TODO + -DMLIR_ENABLE_CUDA_RUNNER=0 + -DMLIR_ENABLE_ROCM_RUNNER=0 + -DMLIR_ENABLE_SYCL_RUNNER=0 + -DMLIR_ENABLE_SPIRV_CPU_RUNNER=0 + -DMLIR_ENABLE_VULKAN_RUNNER=0 + -DMLIR_ENABLE_BINDINGS_PYTHON=0 + -DMLIR_INSTALL_AGGREGATE_OBJECTS=OFF + ) + use test && mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + ) + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + cmake_src_configure + + multilib_is_native_abi && check_distribution_components +} + +multilib_src_compile() { + cmake_build distribution +} + +multilib_src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + cmake_build check-mlir +} + +multilib_src_install() { + DESTDIR=${D} cmake_build install-distribution +} diff --git a/llvm-core/polly/Manifest b/llvm-core/polly/Manifest index 70e301becb0c..dac643ee1113 100644 --- a/llvm-core/polly/Manifest +++ b/llvm-core/polly/Manifest @@ -8,3 +8,4 @@ DIST llvm-project-22.1.8.src.tar.xz 167061596 BLAKE2B 092204f62e0f0364a041c737eb DIST llvm-project-22.1.8.src.tar.xz.sig 119 BLAKE2B 2ce93472036e68782252991e4a8bdbeeec8706a56022220083a38a42ef18714a7894c41aaa04dc0d03f18601d8bfc1a5a030ed0ef0f0d64a662eae9843a4b362 SHA512 99a457b5b1fb409a5fe72b59ebd4ddae5cade3e5f2493e33b44d4f4b4625f7a1743f80106efb1134668842b15ea3400ce2c29263bec8ff986e05040910125e15 DIST llvm-project-23.1.1.src.tar.xz 179168672 BLAKE2B 31d0ad202f4ad38d001baaf638a756508b164229b02a6e41b9689508a33b3a7baecaa10398e20f3661cacb712663fe379eeb94e50e017e40ae546a7e7de8049d SHA512 e51c45f01e95272771bfee8382b213a2e21d3c62e273ff58967cfe40b87f45d2b37a4797b8b83fab025ed7a0ad32adef48406ade2d049da3d7f1799b30edea39 DIST llvm-project-23.1.1.src.tar.xz.sig 466 BLAKE2B fd062ee7b6a59295f1ba558ed35fcf03d9d1a2f716cc710ae1b375c9f673eaaf21a7a503652fefbcc91233c9df279c4521f487539264badd0bf591362657024b SHA512 d2e1101f6f3569cc82630e94d9021aaa47e32636d5b0b7fe90c01a56523e3d772835ad7c2a6f2c1a199ed1624a6f12429b43865d6f41405b73b275483effe581 +DIST llvm-project-3dcd66d0110335d7d1a5921fd085914b66ffbd3c.tar.gz 317468883 BLAKE2B af57748bf462852a7d09751162e43c52b7d8fa4d1e3e9b021062b11132ad2268b2ddefd0e2d0b2391de1e8120b751fe46a368bc58dce83b8d5e4413716701031 SHA512 678027e165bf444eb522a70b5c52018dba4b41828fa7db353bd1155ec326633adfe64e20e5975b672fc2669c6fd7e0dec0dbd8c63ee89e0393264d9af5ab3090 diff --git a/llvm-core/polly/polly-24.0.0_pre20260919.ebuild b/llvm-core/polly/polly-24.0.0_pre20260919.ebuild new file mode 100644 index 000000000000..09e649cc972e --- /dev/null +++ b/llvm-core/polly/polly-24.0.0_pre20260919.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) + +inherit cmake llvm.org python-any-r1 + +DESCRIPTION="Polyhedral optimizations for LLVM" +HOMEPAGE="https://polly.llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +# vendored isl (fork?) +LICENSE+=" MIT" +SLOT="${LLVM_MAJOR}/${LLVM_SOABI}" +IUSE="+debug test" +RESTRICT="!test? ( test )" + +DEPEND=" + ~llvm-core/llvm-${PV}:${LLVM_MAJOR}=[debug=] +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + test? ( + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + ) +" + +LLVM_COMPONENTS=( polly cmake ) +llvm.org_set_globals + +python_check_deps() { + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_configure() { + local mycmakeargs=( + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}" + -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}" + ) + use test && mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + -DPython3_EXECUTABLE="${PYTHON}" + ) + cmake_src_configure +} + +src_test() { + local -x LIT_PRESERVES_TMP=1 + cmake_build check-polly +} diff --git a/llvm-runtimes/compiler-rt-sanitizers/Manifest b/llvm-runtimes/compiler-rt-sanitizers/Manifest index 328af47f876d..b68fcdf933ef 100644 --- a/llvm-runtimes/compiler-rt-sanitizers/Manifest +++ b/llvm-runtimes/compiler-rt-sanitizers/Manifest @@ -20,3 +20,4 @@ DIST llvm-project-22.1.8.src.tar.xz 167061596 BLAKE2B 092204f62e0f0364a041c737eb DIST llvm-project-22.1.8.src.tar.xz.sig 119 BLAKE2B 2ce93472036e68782252991e4a8bdbeeec8706a56022220083a38a42ef18714a7894c41aaa04dc0d03f18601d8bfc1a5a030ed0ef0f0d64a662eae9843a4b362 SHA512 99a457b5b1fb409a5fe72b59ebd4ddae5cade3e5f2493e33b44d4f4b4625f7a1743f80106efb1134668842b15ea3400ce2c29263bec8ff986e05040910125e15 DIST llvm-project-23.1.1.src.tar.xz 179168672 BLAKE2B 31d0ad202f4ad38d001baaf638a756508b164229b02a6e41b9689508a33b3a7baecaa10398e20f3661cacb712663fe379eeb94e50e017e40ae546a7e7de8049d SHA512 e51c45f01e95272771bfee8382b213a2e21d3c62e273ff58967cfe40b87f45d2b37a4797b8b83fab025ed7a0ad32adef48406ade2d049da3d7f1799b30edea39 DIST llvm-project-23.1.1.src.tar.xz.sig 466 BLAKE2B fd062ee7b6a59295f1ba558ed35fcf03d9d1a2f716cc710ae1b375c9f673eaaf21a7a503652fefbcc91233c9df279c4521f487539264badd0bf591362657024b SHA512 d2e1101f6f3569cc82630e94d9021aaa47e32636d5b0b7fe90c01a56523e3d772835ad7c2a6f2c1a199ed1624a6f12429b43865d6f41405b73b275483effe581 +DIST llvm-project-3dcd66d0110335d7d1a5921fd085914b66ffbd3c.tar.gz 317468883 BLAKE2B af57748bf462852a7d09751162e43c52b7d8fa4d1e3e9b021062b11132ad2268b2ddefd0e2d0b2391de1e8120b751fe46a368bc58dce83b8d5e4413716701031 SHA512 678027e165bf444eb522a70b5c52018dba4b41828fa7db353bd1155ec326633adfe64e20e5975b672fc2669c6fd7e0dec0dbd8c63ee89e0393264d9af5ab3090 diff --git a/llvm-runtimes/compiler-rt-sanitizers/compiler-rt-sanitizers-24.0.0.9999.ebuild b/llvm-runtimes/compiler-rt-sanitizers/compiler-rt-sanitizers-24.0.0.9999.ebuild index 2afcce95ccf4..a2313c010d9c 100644 --- a/llvm-runtimes/compiler-rt-sanitizers/compiler-rt-sanitizers-24.0.0.9999.ebuild +++ b/llvm-runtimes/compiler-rt-sanitizers/compiler-rt-sanitizers-24.0.0.9999.ebuild @@ -13,7 +13,7 @@ LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="${LLVM_MAJOR}" IUSE="+abi_x86_32 abi_x86_64 +clang +debug test" # base targets -IUSE+=" +ctx-profile +libfuzzer +memprof +orc +profile +xray" +IUSE+=" +copyprof +ctx-profile +libfuzzer +memprof +orc +profile +xray" # sanitizer targets, keep in sync with config-ix.cmake # NB: ubsan, scudo deliberately match two entries SANITIZER_FLAGS=( @@ -151,13 +151,15 @@ src_configure() { # builtins & crt installed by llvm-runtimes/compiler-rt -DCOMPILER_RT_BUILD_BUILTINS=OFF -DCOMPILER_RT_BUILD_CRT=OFF - -DCOMPILER_RT_BUILD_CTX_PROFILE=$(usex ctx-profile) + # in CMakeLists.txt order + -DCOMPILER_RT_BUILD_SANITIZERS="${want_sanitizer}" + -DCOMPILER_RT_BUILD_XRAY=$(usex xray) -DCOMPILER_RT_BUILD_LIBFUZZER=$(usex libfuzzer) + -DCOMPILER_RT_BUILD_PROFILE=$(usex profile) + -DCOMPILER_RT_BUILD_CTX_PROFILE=$(usex ctx-profile) -DCOMPILER_RT_BUILD_MEMPROF=$(usex memprof) + -DCOMPILER_RT_BUILD_COPYPROF=$(usex copyprof) -DCOMPILER_RT_BUILD_ORC=$(usex orc) - -DCOMPILER_RT_BUILD_PROFILE=$(usex profile) - -DCOMPILER_RT_BUILD_SANITIZERS="${want_sanitizer}" - -DCOMPILER_RT_BUILD_XRAY=$(usex xray) -DPython3_EXECUTABLE="${PYTHON}" ) diff --git a/llvm-runtimes/compiler-rt-sanitizers/compiler-rt-sanitizers-24.0.0_pre20260919.ebuild b/llvm-runtimes/compiler-rt-sanitizers/compiler-rt-sanitizers-24.0.0_pre20260919.ebuild new file mode 100644 index 000000000000..a2313c010d9c --- /dev/null +++ b/llvm-runtimes/compiler-rt-sanitizers/compiler-rt-sanitizers-24.0.0_pre20260919.ebuild @@ -0,0 +1,239 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +inherit check-reqs cmake flag-o-matic llvm.org llvm-utils python-any-r1 + +DESCRIPTION="Compiler runtime libraries for clang (sanitizers & xray)" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="${LLVM_MAJOR}" +IUSE="+abi_x86_32 abi_x86_64 +clang +debug test" +# base targets +IUSE+=" +copyprof +ctx-profile +libfuzzer +memprof +orc +profile +xray" +# sanitizer targets, keep in sync with config-ix.cmake +# NB: ubsan, scudo deliberately match two entries +SANITIZER_FLAGS=( + asan dfsan lsan msan hwasan tsan ubsan safestack cfi scudo + shadowcallstack gwp-asan nsan rtsan +) +IUSE+=" ${SANITIZER_FLAGS[@]/#/+}" +REQUIRED_USE=" + || ( ${SANITIZER_FLAGS[*]} libfuzzer orc profile xray ) + test? ( + cfi? ( ubsan ) + gwp-asan? ( scudo ) + ) +" +RESTRICT=" + !clang? ( test ) + !test? ( test ) +" + +DEPEND=" + llvm-core/llvm:${LLVM_MAJOR} + virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?] +" +BDEPEND=" + clang? ( + llvm-core/clang:${LLVM_MAJOR} + llvm-core/clang-linker-config:${LLVM_MAJOR} + llvm-runtimes/clang-rtlib-config:${LLVM_MAJOR} + llvm-runtimes/clang-stdlib-config:${LLVM_MAJOR} + llvm-runtimes/compiler-rt:${LLVM_MAJOR} + ) + elibc_glibc? ( net-libs/libtirpc ) + test? ( + $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]") + =llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) +" + +LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake ) +LLVM_TEST_COMPONENTS=( + llvm/include/llvm/ProfileData llvm/lib/Testing/Support third-party +) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]" +} + +check_space() { + if use test; then + local CHECKREQS_DISK_BUILD=11G + check-reqs_pkg_pretend + fi +} + +pkg_pretend() { + check_space +} + +pkg_setup() { + check_space + python-any-r1_pkg_setup +} + +src_prepare() { + sed -i -e 's:-Werror::' lib/tsan/go/buildgo.sh || die + + # builds freestanding code + filter-flags -fstack-protector* + + local flag + for flag in "${SANITIZER_FLAGS[@]}"; do + if ! use "${flag}"; then + local cmake_flag=${flag/-/_} + sed -i -e "/COMPILER_RT_HAS_${cmake_flag^^}/s:TRUE:FALSE:" \ + cmake/config-ix.cmake || die + fi + done + + # TODO: fix these tests to be skipped upstream + if use asan && ! use profile; then + rm test/asan/TestCases/asan_and_llvm_coverage_test.cpp || die + fi + if use ubsan && ! use cfi; then + > test/cfi/CMakeLists.txt || die + fi + + llvm.org_src_prepare +} + +src_configure() { + llvm_prepend_path "${LLVM_MAJOR}" + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + # pre-set since we need to pass it to cmake + BUILD_DIR=${WORKDIR}/compiler-rt_build + + if use clang; then + local -x CC=${CHOST}-clang-${LLVM_MAJOR} + local -x CXX=${CHOST}-clang++-${LLVM_MAJOR} + strip-unsupported-flags + + # The full clang configuration might not be ready yet. Use the partial + # configuration files that are guaranteed to exist even during initial + # installations and upgrades. + local flags=( + --config="${ESYSROOT}"/etc/clang/"${LLVM_MAJOR}"/gentoo-{rtlib,stdlib,linker}.cfg + ) + local -x CFLAGS="${CFLAGS} ${flags[@]}" + local -x CXXFLAGS="${CXXFLAGS} ${flags[@]}" + local -x LDFLAGS="${LDFLAGS} ${flags[@]}" + fi + + local flag want_sanitizer=OFF + for flag in "${SANITIZER_FLAGS[@]}"; do + if use "${flag}"; then + want_sanitizer=ON + break + fi + done + + local mycmakeargs=( + -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}" + # use a build dir structure consistent with install + # this makes it possible to easily deploy test-friendly clang + -DCOMPILER_RT_OUTPUT_DIR="${BUILD_DIR}/lib/clang/${LLVM_MAJOR}" + + -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) + # builtins & crt installed by llvm-runtimes/compiler-rt + -DCOMPILER_RT_BUILD_BUILTINS=OFF + -DCOMPILER_RT_BUILD_CRT=OFF + # in CMakeLists.txt order + -DCOMPILER_RT_BUILD_SANITIZERS="${want_sanitizer}" + -DCOMPILER_RT_BUILD_XRAY=$(usex xray) + -DCOMPILER_RT_BUILD_LIBFUZZER=$(usex libfuzzer) + -DCOMPILER_RT_BUILD_PROFILE=$(usex profile) + -DCOMPILER_RT_BUILD_CTX_PROFILE=$(usex ctx-profile) + -DCOMPILER_RT_BUILD_MEMPROF=$(usex memprof) + -DCOMPILER_RT_BUILD_COPYPROF=$(usex copyprof) + -DCOMPILER_RT_BUILD_ORC=$(usex orc) + + -DPython3_EXECUTABLE="${PYTHON}" + ) + + if use amd64; then + mycmakeargs+=( + -DCAN_TARGET_i386=$(usex abi_x86_32) + -DCAN_TARGET_x86_64=$(usex abi_x86_64) + ) + fi + + if use test; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + + # they are created during src_test() + -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAJOR}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAJOR}/bin/clang++" + ) + + # same flags are passed for build & tests, so we need to strip + # them down to a subset supported by clang + CC=${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang \ + CXX=${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++ \ + strip-unsupported-flags + fi + + if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then + mycmakeargs+=( + # setting -isysroot is disabled with compiler-rt-prefix-paths.patch + # this allows adding arm64 support using SDK in EPREFIX + -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk" + # Set version based on the SDK in EPREFIX + # This disables i386 for SDK >= 10.15 + # Will error if has_use tsan and SDK < 10.12 + -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath "${EPREFIX}/MacOSX.sdk" | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')" + # Use our libtool instead of looking it up with xcrun + -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool" + ) + fi + + cmake_src_configure + + if use test; then + local sys_dest=( "${BUILD_DIR}"/lib/clang/${LLVM_MAJOR}/lib/* ) + [[ ! -e ${sys_dest} ]] && die "Unable to find ${sys_dest}" + [[ ${#sys_dest[@]} -ne 1 ]] && die "Non-deterministic compiler-rt install: ${sys_dest[*]}" + local sys_dir=( "${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}/lib/${sys_dest##*/}" ) + [[ ! -e ${sys_dir} ]] && die "${sys_dir} is missing" + + # copy clang over since resource_dir is located relatively to binary + # therefore, we can put our new libraries in it + mkdir -p "${BUILD_DIR}"/lib/{llvm/${LLVM_MAJOR}/{bin,$(get_libdir)},clang/${LLVM_MAJOR}/include} || die + cp "${EPREFIX}"/usr/lib/llvm/${LLVM_MAJOR}/bin/clang{,++} \ + "${BUILD_DIR}"/lib/llvm/${LLVM_MAJOR}/bin/ || die + cp "${EPREFIX}"/usr/lib/clang/${LLVM_MAJOR}/include/*.h \ + "${BUILD_DIR}"/lib/clang/${LLVM_MAJOR}/include/ || die + cp "${sys_dir}"/*builtins*.a "${sys_dest}/" || die + # we also need LLVMgold.so for gold-based tests + if [[ -f ${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/LLVMgold.so ]]; then + ln -s "${EPREFIX}"/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/LLVMgold.so \ + "${BUILD_DIR}"/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/ || die + fi + fi +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + # disable sandbox to have it stop clobbering LD_PRELOAD + local -x SANDBOX_ON=0 + # wipe LD_PRELOAD to make ASAN happy + local -x LD_PRELOAD= + + cmake_build check-all +} diff --git a/llvm-runtimes/compiler-rt-sanitizers/metadata.xml b/llvm-runtimes/compiler-rt-sanitizers/metadata.xml index 905c86c18626..bbf467a4950c 100644 --- a/llvm-runtimes/compiler-rt-sanitizers/metadata.xml +++ b/llvm-runtimes/compiler-rt-sanitizers/metadata.xml @@ -7,6 +7,7 @@ <use> <flag name="clang">Force building using installed clang (rather than the default CC/CXX).</flag> + <flag name="copyprof">Build copy profiler runtime.</flag> <flag name="ctx-profile">Build ctx profiling runtime.</flag> <flag name="libfuzzer">Build fuzzing runtime.</flag> <flag name="memprof">Build memory profiler runtime.</flag> diff --git a/llvm-runtimes/compiler-rt/Manifest b/llvm-runtimes/compiler-rt/Manifest index 25f03cd05eda..8255540fba0a 100644 --- a/llvm-runtimes/compiler-rt/Manifest +++ b/llvm-runtimes/compiler-rt/Manifest @@ -15,3 +15,4 @@ DIST llvm-project-22.1.8.src.tar.xz 167061596 BLAKE2B 092204f62e0f0364a041c737eb DIST llvm-project-22.1.8.src.tar.xz.sig 119 BLAKE2B 2ce93472036e68782252991e4a8bdbeeec8706a56022220083a38a42ef18714a7894c41aaa04dc0d03f18601d8bfc1a5a030ed0ef0f0d64a662eae9843a4b362 SHA512 99a457b5b1fb409a5fe72b59ebd4ddae5cade3e5f2493e33b44d4f4b4625f7a1743f80106efb1134668842b15ea3400ce2c29263bec8ff986e05040910125e15 DIST llvm-project-23.1.1.src.tar.xz 179168672 BLAKE2B 31d0ad202f4ad38d001baaf638a756508b164229b02a6e41b9689508a33b3a7baecaa10398e20f3661cacb712663fe379eeb94e50e017e40ae546a7e7de8049d SHA512 e51c45f01e95272771bfee8382b213a2e21d3c62e273ff58967cfe40b87f45d2b37a4797b8b83fab025ed7a0ad32adef48406ade2d049da3d7f1799b30edea39 DIST llvm-project-23.1.1.src.tar.xz.sig 466 BLAKE2B fd062ee7b6a59295f1ba558ed35fcf03d9d1a2f716cc710ae1b375c9f673eaaf21a7a503652fefbcc91233c9df279c4521f487539264badd0bf591362657024b SHA512 d2e1101f6f3569cc82630e94d9021aaa47e32636d5b0b7fe90c01a56523e3d772835ad7c2a6f2c1a199ed1624a6f12429b43865d6f41405b73b275483effe581 +DIST llvm-project-3dcd66d0110335d7d1a5921fd085914b66ffbd3c.tar.gz 317468883 BLAKE2B af57748bf462852a7d09751162e43c52b7d8fa4d1e3e9b021062b11132ad2268b2ddefd0e2d0b2391de1e8120b751fe46a368bc58dce83b8d5e4413716701031 SHA512 678027e165bf444eb522a70b5c52018dba4b41828fa7db353bd1155ec326633adfe64e20e5975b672fc2669c6fd7e0dec0dbd8c63ee89e0393264d9af5ab3090 diff --git a/llvm-runtimes/compiler-rt/compiler-rt-24.0.0.9999.ebuild b/llvm-runtimes/compiler-rt/compiler-rt-24.0.0.9999.ebuild index 36cababeba8d..5ce8a36d05fc 100644 --- a/llvm-runtimes/compiler-rt/compiler-rt-24.0.0.9999.ebuild +++ b/llvm-runtimes/compiler-rt/compiler-rt-24.0.0.9999.ebuild @@ -118,13 +118,15 @@ src_configure() { -DCOMPILER_RT_EXCLUDE_ATOMIC_BUILTIN=$(usex !atomic-builtins) -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) - -DCOMPILER_RT_BUILD_CTX_PROFILE=OFF + # in CMakeLists.txt order + -DCOMPILER_RT_BUILD_SANITIZERS=OFF + -DCOMPILER_RT_BUILD_XRAY=OFF -DCOMPILER_RT_BUILD_LIBFUZZER=OFF + -DCOMPILER_RT_BUILD_PROFILE=OFF + -DCOMPILER_RT_BUILD_CTX_PROFILE=OFF -DCOMPILER_RT_BUILD_MEMPROF=OFF + -DCOMPILER_RT_BUILD_COPYPROF=OFF -DCOMPILER_RT_BUILD_ORC=OFF - -DCOMPILER_RT_BUILD_PROFILE=OFF - -DCOMPILER_RT_BUILD_SANITIZERS=OFF - -DCOMPILER_RT_BUILD_XRAY=OFF -DPython3_EXECUTABLE="${PYTHON}" ) diff --git a/llvm-runtimes/compiler-rt/compiler-rt-24.0.0_pre20260919.ebuild b/llvm-runtimes/compiler-rt/compiler-rt-24.0.0_pre20260919.ebuild new file mode 100644 index 000000000000..5ce8a36d05fc --- /dev/null +++ b/llvm-runtimes/compiler-rt/compiler-rt-24.0.0_pre20260919.ebuild @@ -0,0 +1,192 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1 +inherit toolchain-funcs + +DESCRIPTION="Compiler runtime library for clang (built-in part)" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="${LLVM_MAJOR}" +IUSE="+abi_x86_32 abi_x86_64 +atomic-builtins +clang +debug test" +REQUIRED_USE="atomic-builtins? ( clang )" +RESTRICT="!test? ( test ) !clang? ( test )" + +DEPEND=" + llvm-core/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( + llvm-core/clang:${LLVM_MAJOR} + llvm-core/clang-linker-config:${LLVM_MAJOR} + ) + test? ( + $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]") + =llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) +" + +LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake third-party/siphash ) +LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]" +} + +pkg_pretend() { + if ! use clang && ! tc-is-clang; then + ewarn "Building using a compiler other than clang may result in broken atomics" + ewarn "library. Enable USE=clang unless you have a very good reason not to." + fi +} + +pkg_setup() { + if target_is_not_host || tc-is-cross-compiler ; then + # strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures + CHOST=${CTARGET} strip-unsupported-flags + # overrides host docs otherwise + DOCS=() + fi + python-any-r1_pkg_setup +} + +test_compiler() { + target_is_not_host && return + $(tc-getCC) ${CFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \ + <<<'int main() { return 0; }' &>/dev/null +} + +src_configure() { + if use clang || use test; then + llvm_prepend_path -b "${LLVM_MAJOR}" + fi + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + # pre-set since we need to pass it to cmake + BUILD_DIR=${WORKDIR}/${P}_build + + if use clang && ! is_crosspkg; then + # Only do this conditionally to allow overriding with + # e.g. CC=clang-13 in case of breakage + if ! tc-is-clang ; then + local -x CC=${CHOST}-clang-${LLVM_MAJOR} + local -x CXX=${CHOST}-clang++-${LLVM_MAJOR} + fi + + strip-unsupported-flags + + # The full clang configuration might not be ready yet. Given that compiler-rt + # require runtime, use only the linker configuration. + local flags=( + --config="${ESYSROOT}"/etc/clang/"${LLVM_MAJOR}"/gentoo-linker.cfg + ) + local -x CFLAGS="${CFLAGS} ${flags[@]}" + local -x CXXFLAGS="${CXXFLAGS} ${flags[@]}" + local -x LDFLAGS="${LDFLAGS} ${flags[@]}" + fi + + if ! is_crosspkg && ! test_compiler ; then + local nolib_flags=( -nodefaultlibs -lc ) + + if test_compiler "${nolib_flags[@]}"; then + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}" + elif test_compiler "${nolib_flags[@]}" -nostartfiles; then + # Avoiding -nostartfiles earlier on for bug #862540, + # and set available entry symbol for bug #862798. + nolib_flags+=( -nostartfiles -e main ) + + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}" + fi + fi + + local mycmakeargs=( + -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}" + -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}" + + -DCOMPILER_RT_EXCLUDE_ATOMIC_BUILTIN=$(usex !atomic-builtins) + -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) + # in CMakeLists.txt order + -DCOMPILER_RT_BUILD_SANITIZERS=OFF + -DCOMPILER_RT_BUILD_XRAY=OFF + -DCOMPILER_RT_BUILD_LIBFUZZER=OFF + -DCOMPILER_RT_BUILD_PROFILE=OFF + -DCOMPILER_RT_BUILD_CTX_PROFILE=OFF + -DCOMPILER_RT_BUILD_MEMPROF=OFF + -DCOMPILER_RT_BUILD_COPYPROF=OFF + -DCOMPILER_RT_BUILD_ORC=OFF + + -DPython3_EXECUTABLE="${PYTHON}" + ) + + if use amd64 && ! target_is_not_host; then + mycmakeargs+=( + -DCAN_TARGET_i386=$(usex abi_x86_32) + -DCAN_TARGET_x86_64=$(usex abi_x86_64) + ) + fi + + if is_crosspkg; then + # Needed to target built libc headers + export CFLAGS="${CFLAGS} -isystem /usr/${CTARGET}/usr/include" + mycmakeargs+=( + # Without this, the compiler will compile a test program + # and fail due to no builtins. + -DCMAKE_C_COMPILER_WORKS=1 + -DCMAKE_CXX_COMPILER_WORKS=1 + + # Without this, compiler-rt install location is not unique + # to target triples, only to architecture. + # Needed if you want to target multiple libcs for one arch. + -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON + + -DCMAKE_ASM_COMPILER_TARGET="${CTARGET}" + -DCMAKE_C_COMPILER_TARGET="${CTARGET}" + -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON + ) + fi + + if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then + mycmakeargs+=( + # setting -isysroot is disabled with compiler-rt-prefix-paths.patch + # this allows adding arm64 support using SDK in EPREFIX + -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk" + # Set version based on the SDK in EPREFIX. + # This disables i386 for SDK >= 10.15 + -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath "${EPREFIX}/MacOSX.sdk" | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')" + # Use our libtool instead of looking it up with xcrun + -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool" + ) + fi + + if use test; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + + -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++" + ) + fi + + cmake_src_configure +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + + cmake_build check-builtins +} diff --git a/llvm-runtimes/flang-rt/Manifest b/llvm-runtimes/flang-rt/Manifest index ba9aebd9dd57..839b2112d853 100644 --- a/llvm-runtimes/flang-rt/Manifest +++ b/llvm-runtimes/flang-rt/Manifest @@ -6,3 +6,4 @@ DIST llvm-project-22.1.8.src.tar.xz 167061596 BLAKE2B 092204f62e0f0364a041c737eb DIST llvm-project-22.1.8.src.tar.xz.sig 119 BLAKE2B 2ce93472036e68782252991e4a8bdbeeec8706a56022220083a38a42ef18714a7894c41aaa04dc0d03f18601d8bfc1a5a030ed0ef0f0d64a662eae9843a4b362 SHA512 99a457b5b1fb409a5fe72b59ebd4ddae5cade3e5f2493e33b44d4f4b4625f7a1743f80106efb1134668842b15ea3400ce2c29263bec8ff986e05040910125e15 DIST llvm-project-23.1.1.src.tar.xz 179168672 BLAKE2B 31d0ad202f4ad38d001baaf638a756508b164229b02a6e41b9689508a33b3a7baecaa10398e20f3661cacb712663fe379eeb94e50e017e40ae546a7e7de8049d SHA512 e51c45f01e95272771bfee8382b213a2e21d3c62e273ff58967cfe40b87f45d2b37a4797b8b83fab025ed7a0ad32adef48406ade2d049da3d7f1799b30edea39 DIST llvm-project-23.1.1.src.tar.xz.sig 466 BLAKE2B fd062ee7b6a59295f1ba558ed35fcf03d9d1a2f716cc710ae1b375c9f673eaaf21a7a503652fefbcc91233c9df279c4521f487539264badd0bf591362657024b SHA512 d2e1101f6f3569cc82630e94d9021aaa47e32636d5b0b7fe90c01a56523e3d772835ad7c2a6f2c1a199ed1624a6f12429b43865d6f41405b73b275483effe581 +DIST llvm-project-3dcd66d0110335d7d1a5921fd085914b66ffbd3c.tar.gz 317468883 BLAKE2B af57748bf462852a7d09751162e43c52b7d8fa4d1e3e9b021062b11132ad2268b2ddefd0e2d0b2391de1e8120b751fe46a368bc58dce83b8d5e4413716701031 SHA512 678027e165bf444eb522a70b5c52018dba4b41828fa7db353bd1155ec326633adfe64e20e5975b672fc2669c6fd7e0dec0dbd8c63ee89e0393264d9af5ab3090 diff --git a/llvm-runtimes/flang-rt/flang-rt-24.0.0_pre20260919.ebuild b/llvm-runtimes/flang-rt/flang-rt-24.0.0_pre20260919.ebuild new file mode 100644 index 000000000000..3909a21e22d9 --- /dev/null +++ b/llvm-runtimes/flang-rt/flang-rt-24.0.0_pre20260919.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +inherit cmake flag-o-matic llvm.org python-any-r1 + +DESCRIPTION="LLVM's Fortran runtime" +HOMEPAGE="https://flang.llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions" +SLOT="${LLVM_MAJOR}" +IUSE="+debug test" +RESTRICT="!test? ( test )" + +RDEPEND=" + !<llvm-core/flang-21.0.0_pre20250221-r1 +" +BDEPEND=" + llvm-core/llvm:${LLVM_MAJOR} + llvm-core/flang + test? ( + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + ) +" + +LLVM_COMPONENTS=( + runtimes flang-rt cmake flang libc/shared llvm/{cmake,utils} +) +LLVM_TEST_COMPONENTS=( third-party/unittest ) +llvm.org_set_globals + +python_check_deps() { + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_configure() { + # the code is not portable + local -x FC=flang F77=flang + strip-unsupported-flags + + local mycmakeargs=( + # cmake.eclass does not set if it we don't inherit fortran-2 + # and upstream code relies on it being set before Fortran logic + # kicks in and reds envvars + -DCMAKE_Fortran_COMPILER="${FC}" + # we may not have a runtime yet + -DCMAKE_Fortran_COMPILER_WORKS=TRUE + # tests require modules now, and we probably want them anyway + -DRUNTIMES_FORTRAN_MODULES=ON + + -DLLVM_ENABLE_RUNTIMES="flang-rt" + # this package forces NO_DEFAULT_PATHS + -DLLVM_BINARY_DIR="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}" + # set correct install paths + -DRUNTIMES_INSTALL_RESOURCE_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}" + # do not install flang-rt C++ headers, they cause collisions + # across slots and do not seem to be used by anything + -DLLVM_INSTALL_TOOLCHAIN_ONLY=ON + -DLLVM_DEFAULT_TARGET_TRIPLE="${CHOST}" + + -DFLANG_RT_INCLUDE_TESTS=$(usex test) + ) + use test && mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + ) + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + cmake_src_configure +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + cmake_build check-flang-rt +} diff --git a/llvm-runtimes/libclc/Manifest b/llvm-runtimes/libclc/Manifest index c1e1a95276a5..b3483561c984 100644 --- a/llvm-runtimes/libclc/Manifest +++ b/llvm-runtimes/libclc/Manifest @@ -14,3 +14,4 @@ DIST llvm-project-22.1.8.src.tar.xz 167061596 BLAKE2B 092204f62e0f0364a041c737eb DIST llvm-project-22.1.8.src.tar.xz.sig 119 BLAKE2B 2ce93472036e68782252991e4a8bdbeeec8706a56022220083a38a42ef18714a7894c41aaa04dc0d03f18601d8bfc1a5a030ed0ef0f0d64a662eae9843a4b362 SHA512 99a457b5b1fb409a5fe72b59ebd4ddae5cade3e5f2493e33b44d4f4b4625f7a1743f80106efb1134668842b15ea3400ce2c29263bec8ff986e05040910125e15 DIST llvm-project-23.1.1.src.tar.xz 179168672 BLAKE2B 31d0ad202f4ad38d001baaf638a756508b164229b02a6e41b9689508a33b3a7baecaa10398e20f3661cacb712663fe379eeb94e50e017e40ae546a7e7de8049d SHA512 e51c45f01e95272771bfee8382b213a2e21d3c62e273ff58967cfe40b87f45d2b37a4797b8b83fab025ed7a0ad32adef48406ade2d049da3d7f1799b30edea39 DIST llvm-project-23.1.1.src.tar.xz.sig 466 BLAKE2B fd062ee7b6a59295f1ba558ed35fcf03d9d1a2f716cc710ae1b375c9f673eaaf21a7a503652fefbcc91233c9df279c4521f487539264badd0bf591362657024b SHA512 d2e1101f6f3569cc82630e94d9021aaa47e32636d5b0b7fe90c01a56523e3d772835ad7c2a6f2c1a199ed1624a6f12429b43865d6f41405b73b275483effe581 +DIST llvm-project-3dcd66d0110335d7d1a5921fd085914b66ffbd3c.tar.gz 317468883 BLAKE2B af57748bf462852a7d09751162e43c52b7d8fa4d1e3e9b021062b11132ad2268b2ddefd0e2d0b2391de1e8120b751fe46a368bc58dce83b8d5e4413716701031 SHA512 678027e165bf444eb522a70b5c52018dba4b41828fa7db353bd1155ec326633adfe64e20e5975b672fc2669c6fd7e0dec0dbd8c63ee89e0393264d9af5ab3090 diff --git a/llvm-runtimes/libclc/libclc-24.0.0_pre20260919.ebuild b/llvm-runtimes/libclc/libclc-24.0.0_pre20260919.ebuild new file mode 100644 index 000000000000..3d86dd3619d5 --- /dev/null +++ b/llvm-runtimes/libclc/libclc-24.0.0_pre20260919.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +inherit cmake llvm.org multibuild python-any-r1 + +DESCRIPTION="OpenCL C library" +HOMEPAGE="https://libclc.llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )" +SLOT="0" +IUSE="+spirv test video_cards_nvidia video_cards_radeonsi" +RESTRICT="!test? ( test )" + +BDEPEND=" + ${PYTHON_DEPS} + llvm-core/clang:${LLVM_MAJOR} + spirv? ( + >=dev-util/spirv-llvm-translator-23:* + ) + test? ( + $(python_gen_any_dep ' + dev-python/lit[${PYTHON_USEDEP}] + ') + ) +" + +LLVM_COMPONENTS=( libclc ) +llvm.org_set_globals + +src_configure() { + MULTIBUILD_VARIANTS=() + + use spirv && MULTIBUILD_VARIANTS+=( + "spirv32-unknown-unknown" + "spirv64-unknown-unknown" + "spirv64-unknown-vulkan" # formerly clspv + ) + use video_cards_nvidia && MULTIBUILD_VARIANTS+=( + "nvptx64-nvidia-cuda" + ) + use video_cards_radeonsi && MULTIBUILD_VARIANTS+=( + "amdgcn-amd-amdhsa-llvm" + ) + + multibuild_foreach_variant my_configure +} + +my_configure() { + local mycmakeargs=( + -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}" + + -DCMAKE_CLC_COMPILER="$(type -P clang-${LLVM_MAJOR})" + -DLLVM_DEFAULT_TARGET_TRIPLE="${MULTIBUILD_VARIANT}" + -DLLVM_INCLUDE_TESTS="$(usex test)" + ) + + use test && mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + ) + + cmake_src_configure +} + +src_compile() { + multibuild_foreach_variant cmake_src_compile +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + multibuild_foreach_variant cmake_build check-libclc +} + +src_install() { + multibuild_foreach_variant cmake_src_install +} diff --git a/llvm-runtimes/libcxx/Manifest b/llvm-runtimes/libcxx/Manifest index c1e1a95276a5..b3483561c984 100644 --- a/llvm-runtimes/libcxx/Manifest +++ b/llvm-runtimes/libcxx/Manifest @@ -14,3 +14,4 @@ DIST llvm-project-22.1.8.src.tar.xz 167061596 BLAKE2B 092204f62e0f0364a041c737eb DIST llvm-project-22.1.8.src.tar.xz.sig 119 BLAKE2B 2ce93472036e68782252991e4a8bdbeeec8706a56022220083a38a42ef18714a7894c41aaa04dc0d03f18601d8bfc1a5a030ed0ef0f0d64a662eae9843a4b362 SHA512 99a457b5b1fb409a5fe72b59ebd4ddae5cade3e5f2493e33b44d4f4b4625f7a1743f80106efb1134668842b15ea3400ce2c29263bec8ff986e05040910125e15 DIST llvm-project-23.1.1.src.tar.xz 179168672 BLAKE2B 31d0ad202f4ad38d001baaf638a756508b164229b02a6e41b9689508a33b3a7baecaa10398e20f3661cacb712663fe379eeb94e50e017e40ae546a7e7de8049d SHA512 e51c45f01e95272771bfee8382b213a2e21d3c62e273ff58967cfe40b87f45d2b37a4797b8b83fab025ed7a0ad32adef48406ade2d049da3d7f1799b30edea39 DIST llvm-project-23.1.1.src.tar.xz.sig 466 BLAKE2B fd062ee7b6a59295f1ba558ed35fcf03d9d1a2f716cc710ae1b375c9f673eaaf21a7a503652fefbcc91233c9df279c4521f487539264badd0bf591362657024b SHA512 d2e1101f6f3569cc82630e94d9021aaa47e32636d5b0b7fe90c01a56523e3d772835ad7c2a6f2c1a199ed1624a6f12429b43865d6f41405b73b275483effe581 +DIST llvm-project-3dcd66d0110335d7d1a5921fd085914b66ffbd3c.tar.gz 317468883 BLAKE2B af57748bf462852a7d09751162e43c52b7d8fa4d1e3e9b021062b11132ad2268b2ddefd0e2d0b2391de1e8120b751fe46a368bc58dce83b8d5e4413716701031 SHA512 678027e165bf444eb522a70b5c52018dba4b41828fa7db353bd1155ec326633adfe64e20e5975b672fc2669c6fd7e0dec0dbd8c63ee89e0393264d9af5ab3090 diff --git a/llvm-runtimes/libcxx/libcxx-24.0.0_pre20260919.ebuild b/llvm-runtimes/libcxx/libcxx-24.0.0_pre20260919.ebuild new file mode 100644 index 000000000000..f14ad30309f5 --- /dev/null +++ b/llvm-runtimes/libcxx/libcxx-24.0.0_pre20260919.ebuild @@ -0,0 +1,262 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +inherit cmake-multilib crossdev flag-o-matic llvm.org llvm-utils +inherit python-any-r1 toolchain-funcs + +DESCRIPTION="New implementation of the C++ standard library, targeting C++11" +HOMEPAGE="https://libcxx.llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0" +IUSE="+clang +libcxxabi +static-libs test" +REQUIRED_USE="test? ( clang )" +RESTRICT="!test? ( test )" + +RDEPEND=" + libcxxabi? ( + ~llvm-runtimes/libcxxabi-${PV}[static-libs?,${MULTILIB_USEDEP}] + ) + !libcxxabi? ( >=sys-devel/gcc-4.7:=[cxx] ) +" +DEPEND=" + ${RDEPEND} + llvm-core/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( + llvm-core/clang:${LLVM_MAJOR} + llvm-core/clang-linker-config:${LLVM_MAJOR} + llvm-runtimes/clang-rtlib-config:${LLVM_MAJOR} + llvm-runtimes/clang-unwindlib-config:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) + test? ( + dev-debug/gdb[python] + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + ) +" + +LLVM_COMPONENTS=( + runtimes libcxx{,abi} libc llvm/{cmake,utils} cmake +) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_setup() { + python-any-r1_pkg_setup + + if ! use libcxxabi && ! tc-is-gcc ; then + eerror "To build ${PN} against libsupc++, you have to use gcc. Other" + eerror "compilers are not supported. Please set CC=gcc and CXX=g++" + eerror "and try again." + die + fi +} + +test_compiler() { + $(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \ + <<<'int main() { return 0; }' &>/dev/null +} + +src_configure() { + local install_prefix=${EPREFIX} + is_crosspkg && install_prefix+=/usr/${CTARGET} + + # note: we need to do this before multilib kicks in since it will + # alter the CHOST + local cxxabi cxxabi_incs + if use libcxxabi; then + cxxabi=system-libcxxabi + cxxabi_incs="${install_prefix}/usr/include/c++/v1" + else + local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)" + cxxabi=libsupc++ + cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}" + fi + + multilib-minimal_src_configure +} + +multilib_src_configure() { + # Workaround for bgo #961153. + # TODO: Fix the multilib.eclass, so it sets CTARGET properly. + if ! is_crosspkg; then + export CTARGET=${CHOST} + fi + + if use clang; then + llvm_prepend_path -b "${LLVM_MAJOR}" + local -x CC=${CTARGET}-clang-${LLVM_MAJOR} + local -x CXX=${CTARGET}-clang++-${LLVM_MAJOR} + strip-unsupported-flags + + # The full clang configuration might not be ready yet. Use the partial + # configuration of components that libunwind depends on. + local flags=( + --config="${ESYSROOT}"/etc/clang/"${LLVM_MAJOR}"/gentoo-{rtlib,unwindlib,linker}.cfg + ) + local -x CFLAGS="${CFLAGS} ${flags[@]}" + local -x CXXFLAGS="${CXXFLAGS} ${flags[@]}" + local -x LDFLAGS="${LDFLAGS} ${flags[@]}" + fi + + # link to compiler-rt + local use_compiler_rt=OFF + [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON + + local nostdlib_flags=( -nostdlib++ ) + if ! test_compiler && test_compiler "${nostdlib_flags[@]}"; then + local -x LDFLAGS="${LDFLAGS} ${nostdlib_flags[*]}" + ewarn "${CXX} seems to lack runtime, trying with ${nostdlib_flags[*]}" + fi + + local libdir=$(get_libdir) + local mycmakeargs=( + -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}" + + -DCMAKE_CXX_COMPILER_TARGET="${CTARGET}" + -DPython3_EXECUTABLE="${PYTHON}" + -DLLVM_ENABLE_RUNTIMES=libcxx + -DLLVM_INCLUDE_TESTS=OFF + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + + -DLIBCXX_ENABLE_SHARED=ON + -DLIBCXX_ENABLE_STATIC=$(usex static-libs) + -DLIBCXX_CXX_ABI=${cxxabi} + -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs} + # we're using our own mechanism for generating linker scripts + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(llvm_cmake_use_musl) + -DLIBCXX_INCLUDE_BENCHMARKS=OFF + -DLIBCXX_INCLUDE_TESTS=$(usex test) + -DLIBCXX_INSTALL_MODULES=ON + -DLIBCXX_USE_COMPILER_RT=${use_compiler_rt} + # this is broken with standalone builds, and also meaningless + -DLIBCXXABI_USE_LLVM_UNWINDER=OFF + ) + if is_crosspkg; then + # Needed to target built libc headers + local -x CFLAGS="${CFLAGS} -isystem ${ESYSROOT}/usr/${CTARGET}/usr/include" + mycmakeargs+=( + # Without this, the compiler will compile a test program + # and fail due to no builtins. + -DCMAKE_C_COMPILER_WORKS=1 + -DCMAKE_CXX_COMPILER_WORKS=1 + # Install inside the cross sysroot. + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/${CTARGET}/usr" + ) + fi + if use kernel_Darwin; then + # For Darwin it ships libc++ in system by default, conflicting prefix + mycmakeargs+=( -DLIBCXX_ABI_NAMESPACE=__gentoo1 ) + fi + if use test; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + -DPython3_EXECUTABLE="${PYTHON}" + ) + fi + cmake_src_configure +} + +multilib_src_compile() { + cmake_src_compile + if [[ ${CHOST} != *-darwin* ]] ; then + local libdir=$(get_libdir) + gen_shared_ldscript + use static-libs && gen_static_ldscript + fi +} + +multilib_src_test() { + local -x LIT_PRESERVES_TMP=1 + cmake_build libcxx-test-suite-install-cxx + if [[ ${CHOST} != *-darwin* ]] ; then + local libdir=$(get_libdir) + cp "${BUILD_DIR}"/{,libcxx/test-suite-install/}"${libdir}"/libc++_shared.so || die + if use static-libs; then + cp "${BUILD_DIR}"/{,libcxx/test-suite-install/}"${libdir}"/libc++_static.a || die + fi + fi + cmake_build check-cxx +} + +multilib_src_install() { + cmake_src_install + # since we've replaced libc++.{a,so} with ldscripts, now we have to + # install the extra symlinks + if [[ ${CHOST} != *-darwin* ]] ; then + local libdir=$(get_libdir) + is_crosspkg && into /usr/${CTARGET}/usr + dolib.so "${libdir}"/libc++_shared.so + use static-libs && dolib.a "${libdir}"/libc++_static.a + fi + + local install_prefix= + is_crosspkg && install_prefix=/usr/${CTARGET} + insinto "${install_prefix}/usr/share/libc++/gdb" + doins ../libcxx/utils/gdb/libcxx/printers.py + + local lib_version=$(sed -n -e 's/^LIBCXX_LIBRARY_VERSION:STRING=//p' CMakeCache.txt || die) + [[ -n ${lib_version} ]] || die "Could not determine LIBCXX_LIBRARY_VERSION from CMakeCache.txt" + + insinto "${install_prefix}/usr/share/gdb/auto-load/usr/$(get_libdir)" + newins - "libc++.so.${lib_version}-gdb.py" <<-EOF + __import__("sys").path.insert(0, "${EPREFIX}/usr/share/libc++/gdb") + __import__("printers").register_libcxx_printer_loader() + EOF +} + +# Usage: deps +gen_ldscript() { + local output_format + output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p') + [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )" + + cat <<-END_LDSCRIPT +/* GNU ld script + Include missing dependencies +*/ +${output_format} +GROUP ( $@ ) +END_LDSCRIPT +} + +gen_static_ldscript() { + # Move it first. + mv "${libdir}"/libc++{,_static}.a || die + # Generate libc++.a ldscript for inclusion of its dependencies so that + # clang++ -stdlib=libc++ -static works out of the box. + local deps=( + libc++_static.a + $(usex libcxxabi libc++abi.a libsupc++.a) + ) + # On Linux/glibc it does not link without libpthread or libdl. It is + # fine on FreeBSD. + use elibc_glibc && deps+=( libpthread.a libdl.a ) + + gen_ldscript "${deps[*]}" > "${libdir}"/libc++.a || die +} + +gen_shared_ldscript() { + # Move it first. + mv "${libdir}"/libc++{,_shared}.so || die + local deps=( + libc++_shared.so + # libsupc++ doesn't have a shared version + $(usex libcxxabi libc++abi.so libsupc++.a) + ) + + gen_ldscript "${deps[*]}" > "${libdir}"/libc++.so || die +} diff --git a/llvm-runtimes/libcxxabi/Manifest b/llvm-runtimes/libcxxabi/Manifest index c1e1a95276a5..b3483561c984 100644 --- a/llvm-runtimes/libcxxabi/Manifest +++ b/llvm-runtimes/libcxxabi/Manifest @@ -14,3 +14,4 @@ DIST llvm-project-22.1.8.src.tar.xz 167061596 BLAKE2B 092204f62e0f0364a041c737eb DIST llvm-project-22.1.8.src.tar.xz.sig 119 BLAKE2B 2ce93472036e68782252991e4a8bdbeeec8706a56022220083a38a42ef18714a7894c41aaa04dc0d03f18601d8bfc1a5a030ed0ef0f0d64a662eae9843a4b362 SHA512 99a457b5b1fb409a5fe72b59ebd4ddae5cade3e5f2493e33b44d4f4b4625f7a1743f80106efb1134668842b15ea3400ce2c29263bec8ff986e05040910125e15 DIST llvm-project-23.1.1.src.tar.xz 179168672 BLAKE2B 31d0ad202f4ad38d001baaf638a756508b164229b02a6e41b9689508a33b3a7baecaa10398e20f3661cacb712663fe379eeb94e50e017e40ae546a7e7de8049d SHA512 e51c45f01e95272771bfee8382b213a2e21d3c62e273ff58967cfe40b87f45d2b37a4797b8b83fab025ed7a0ad32adef48406ade2d049da3d7f1799b30edea39 DIST llvm-project-23.1.1.src.tar.xz.sig 466 BLAKE2B fd062ee7b6a59295f1ba558ed35fcf03d9d1a2f716cc710ae1b375c9f673eaaf21a7a503652fefbcc91233c9df279c4521f487539264badd0bf591362657024b SHA512 d2e1101f6f3569cc82630e94d9021aaa47e32636d5b0b7fe90c01a56523e3d772835ad7c2a6f2c1a199ed1624a6f12429b43865d6f41405b73b275483effe581 +DIST llvm-project-3dcd66d0110335d7d1a5921fd085914b66ffbd3c.tar.gz 317468883 BLAKE2B af57748bf462852a7d09751162e43c52b7d8fa4d1e3e9b021062b11132ad2268b2ddefd0e2d0b2391de1e8120b751fe46a368bc58dce83b8d5e4413716701031 SHA512 678027e165bf444eb522a70b5c52018dba4b41828fa7db353bd1155ec326633adfe64e20e5975b672fc2669c6fd7e0dec0dbd8c63ee89e0393264d9af5ab3090 diff --git a/llvm-runtimes/libcxxabi/libcxxabi-24.0.0_pre20260919.ebuild b/llvm-runtimes/libcxxabi/libcxxabi-24.0.0_pre20260919.ebuild new file mode 100644 index 000000000000..345fcaaf3fbb --- /dev/null +++ b/llvm-runtimes/libcxxabi/libcxxabi-24.0.0_pre20260919.ebuild @@ -0,0 +1,146 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +inherit cmake-multilib crossdev flag-o-matic llvm.org llvm-utils +inherit python-any-r1 toolchain-funcs + +DESCRIPTION="Low level support for a standard C++ library" +HOMEPAGE="https://libcxxabi.llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0" +IUSE="+clang +static-libs test" +REQUIRED_USE="test? ( clang )" +RESTRICT="!test? ( test )" + +DEPEND=" + ${RDEPEND} + llvm-core/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( + llvm-core/clang:${LLVM_MAJOR} + llvm-core/clang-linker-config:${LLVM_MAJOR} + llvm-runtimes/clang-rtlib-config:${LLVM_MAJOR} + llvm-runtimes/clang-unwindlib-config:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) + test? ( + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + ) +" + +LLVM_COMPONENTS=( runtimes libcxx{abi,} llvm/{cmake,utils} cmake ) +LLVM_TEST_COMPONENTS=( libc llvm/include/llvm/{Demangle,Testing} ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +test_compiler() { + target_is_not_host && return + $(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \ + <<<'int main() { return 0; }' &>/dev/null +} + +multilib_src_configure() { + # Workaround for bgo #961153. + # TODO: Fix the multilib.eclass, so it sets CTARGET properly. + if ! is_crosspkg; then + export CTARGET=${CHOST} + fi + + if use clang; then + llvm_prepend_path -b "${LLVM_MAJOR}" + local -x CC=${CTARGET}-clang-${LLVM_MAJOR} + local -x CXX=${CTARGET}-clang++-${LLVM_MAJOR} + strip-unsupported-flags + + # The full clang configuration might not be ready yet. Use the partial + # configuration of components that libunwind depends on. + local flags=( + --config="${ESYSROOT}"/etc/clang/"${LLVM_MAJOR}"/gentoo-{rtlib,unwindlib,linker}.cfg + ) + local -x CFLAGS="${CFLAGS} ${flags[@]}" + local -x CXXFLAGS="${CXXFLAGS} ${flags[@]}" + local -x LDFLAGS="${LDFLAGS} ${flags[@]}" + fi + + local nostdlib_flags=( -nostdlib++ ) + if ! test_compiler && test_compiler "${nostdlib_flags[@]}"; then + local -x LDFLAGS="${LDFLAGS} ${nostdlib_flags[*]}" + ewarn "${CXX} seems to lack stdlib, trying with ${nostdlib_flags[*]}" + fi + + # link to compiler-rt + local use_compiler_rt=OFF + [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON + + local libdir=$(get_libdir) + local mycmakeargs=( + -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}" + + -DCMAKE_CXX_COMPILER_TARGET="${CTARGET}" + -DPython3_EXECUTABLE="${PYTHON}" + -DLLVM_ENABLE_RUNTIMES="libcxxabi;libcxx" + -DLLVM_INCLUDE_TESTS=OFF + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + -DLIBCXXABI_ENABLE_SHARED=ON + -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs) + -DLIBCXXABI_INCLUDE_TESTS=$(usex test) + -DLIBCXXABI_USE_COMPILER_RT=${use_compiler_rt} + + # upstream is omitting standard search path for this + # probably because gcc & clang are bundling their own unwind.h + -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include + # this is broken with standalone builds, and also meaningless + -DLIBCXXABI_USE_LLVM_UNWINDER=OFF + + -DLIBCXX_ENABLE_SHARED=ON + -DLIBCXX_ENABLE_STATIC=OFF + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(llvm_cmake_use_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_BENCHMARKS=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + ) + if is_crosspkg; then + mycmakeargs+=( + # Without this, the compiler will compile a test program + # and fail due to no builtins. + -DCMAKE_C_COMPILER_WORKS=1 + -DCMAKE_CXX_COMPILER_WORKS=1 + # Install inside the cross sysroot. + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/${CTARGET}/usr" + ) + fi + if use test; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + -DPython3_EXECUTABLE="${PYTHON}" + ) + fi + cmake_src_configure +} + +multilib_src_compile() { + cmake_build cxxabi +} + +multilib_src_test() { + local -x LIT_PRESERVES_TMP=1 + cmake_build check-cxxabi +} + +multilib_src_install() { + DESTDIR="${D}" cmake_build install-cxxabi +} diff --git a/llvm-runtimes/libgcc/Manifest b/llvm-runtimes/libgcc/Manifest index 0873a08690b6..900f2088fb4d 100644 --- a/llvm-runtimes/libgcc/Manifest +++ b/llvm-runtimes/libgcc/Manifest @@ -10,3 +10,4 @@ DIST llvm-project-22.1.8.src.tar.xz 167061596 BLAKE2B 092204f62e0f0364a041c737eb DIST llvm-project-22.1.8.src.tar.xz.sig 119 BLAKE2B 2ce93472036e68782252991e4a8bdbeeec8706a56022220083a38a42ef18714a7894c41aaa04dc0d03f18601d8bfc1a5a030ed0ef0f0d64a662eae9843a4b362 SHA512 99a457b5b1fb409a5fe72b59ebd4ddae5cade3e5f2493e33b44d4f4b4625f7a1743f80106efb1134668842b15ea3400ce2c29263bec8ff986e05040910125e15 DIST llvm-project-23.1.1.src.tar.xz 179168672 BLAKE2B 31d0ad202f4ad38d001baaf638a756508b164229b02a6e41b9689508a33b3a7baecaa10398e20f3661cacb712663fe379eeb94e50e017e40ae546a7e7de8049d SHA512 e51c45f01e95272771bfee8382b213a2e21d3c62e273ff58967cfe40b87f45d2b37a4797b8b83fab025ed7a0ad32adef48406ade2d049da3d7f1799b30edea39 DIST llvm-project-23.1.1.src.tar.xz.sig 466 BLAKE2B fd062ee7b6a59295f1ba558ed35fcf03d9d1a2f716cc710ae1b375c9f673eaaf21a7a503652fefbcc91233c9df279c4521f487539264badd0bf591362657024b SHA512 d2e1101f6f3569cc82630e94d9021aaa47e32636d5b0b7fe90c01a56523e3d772835ad7c2a6f2c1a199ed1624a6f12429b43865d6f41405b73b275483effe581 +DIST llvm-project-3dcd66d0110335d7d1a5921fd085914b66ffbd3c.tar.gz 317468883 BLAKE2B af57748bf462852a7d09751162e43c52b7d8fa4d1e3e9b021062b11132ad2268b2ddefd0e2d0b2391de1e8120b751fe46a368bc58dce83b8d5e4413716701031 SHA512 678027e165bf444eb522a70b5c52018dba4b41828fa7db353bd1155ec326633adfe64e20e5975b672fc2669c6fd7e0dec0dbd8c63ee89e0393264d9af5ab3090 diff --git a/llvm-runtimes/libgcc/libgcc-24.0.0_pre20260919.ebuild b/llvm-runtimes/libgcc/libgcc-24.0.0_pre20260919.ebuild new file mode 100644 index 000000000000..c680449c282c --- /dev/null +++ b/llvm-runtimes/libgcc/libgcc-24.0.0_pre20260919.ebuild @@ -0,0 +1,173 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) + +inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1 +inherit toolchain-funcs + +DESCRIPTION="Compiler runtime library for clang, compatible with libgcc_s" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0" +IUSE="debug test" + +DEPEND=" + ~llvm-runtimes/libunwind-${PV}[static-libs] +" +RDEPEND=" + ${DEPEND} + !sys-devel/gcc +" +BDEPEND=" + llvm-core/clang:${LLVM_MAJOR} + test? ( + $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]") + =llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) +" + +LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake llvm-libgcc third-party/siphash ) +LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]" +} + +pkg_setup() { + if target_is_not_host || tc-is-cross-compiler ; then + # strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures + CHOST=${CTARGET} strip-unsupported-flags + # overrides host docs otherwise + DOCS=() + fi + python-any-r1_pkg_setup +} + +src_configure() { + # We need to build a separate copy of compiler-rt, because we need to disable the + # COMPILER_RT_BUILTINS_HIDE_SYMBOLS option - compatibility with libgcc requires + # visibility of all symbols. + + llvm_prepend_path -b "${LLVM_MAJOR}" + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + export CC=${CTARGET}-clang CXX=${CTARGET}-clang++ + strip-unsupported-flags + + local mycmakeargs=( + -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}" + -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}" + + -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) + -DCOMPILER_RT_BUILD_CRT=OFF + -DCOMPILER_RT_BUILD_CTX_PROFILE=OFF + -DCOMPILER_RT_BUILD_LIBFUZZER=OFF + -DCOMPILER_RT_BUILD_MEMPROF=OFF + -DCOMPILER_RT_BUILD_ORC=OFF + -DCOMPILER_RT_BUILD_PROFILE=OFF + -DCOMPILER_RT_BUILD_SANITIZERS=OFF + -DCOMPILER_RT_BUILD_XRAY=OFF + + -DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF + + -DPython3_EXECUTABLE="${PYTHON}" + ) + + # disable building non-native runtimes since we don't do multilib + if use amd64; then + mycmakeargs+=( + -DCAN_TARGET_i386=OFF + ) + fi + + if use test; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + + -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++" + ) + fi + + cmake_src_configure +} + +# Usage: deps +gen_ldscript() { + local output_format + output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p') + [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )" + + cat <<-END_LDSCRIPT +/* GNU ld script + Include missing dependencies +*/ +${output_format} +GROUP ( $@ ) +END_LDSCRIPT +} + +src_compile() { + cmake_src_compile + + local rtlib=$( + "${CC}" -rtlib=compiler-rt -resource-dir="${BUILD_DIR}" \ + -print-libgcc-file-name || die + ) + + # Use the llvm-libgcc's version script to produce libgcc.{a,so}, which + # combines compiler-rt and libunwind into a libgcc replacement. + # + # What we do here is similar to what upstream does[0], with the following + # differences: + # + # * We build the local copy of compiler-rt manually, to have a full control + # over CMake options. + # * Upstream links the locally built copy of libunwind statically. We link the + # system-wide libunwind dynamically. + # + # [0] https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm-libgcc/CMakeLists.txt#L102-L120 + "${CC}" -E -xc \ + "${WORKDIR}/llvm-libgcc/gcc_s.ver.in" \ + -o gcc_s.ver || die + "${CC}" -nostdlib \ + ${LDFLAGS} \ + -Wl,--version-script,gcc_s.ver \ + -Wl,--undefined-version \ + -Wl,--whole-archive \ + "${rtlib}" \ + -Wl,-soname,libgcc_s.so.1.0 \ + -lc -lunwind -shared \ + -o libgcc_s.so.1.0 || die + # Generate libgcc_s.so ldscript for inclusion of libunwind as a + # dependency so that `clang -lgcc_s` works out of the box. + gen_ldscript libgcc_s.so.1.0 libunwind.so.1.0 > libgcc_s.so || die + cp "${rtlib}" libgcc.a || die +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + + cmake_build check-builtins +} + +src_install() { + local libdir=$(get_libdir) + dolib.so libgcc_s.so.1.0 libgcc_s.so + dolib.a libgcc.a + dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1" + dosym libunwind.a "/usr/${libdir}/libgcc_eh.a" +} diff --git a/llvm-runtimes/libunwind/Manifest b/llvm-runtimes/libunwind/Manifest index c1e1a95276a5..b3483561c984 100644 --- a/llvm-runtimes/libunwind/Manifest +++ b/llvm-runtimes/libunwind/Manifest @@ -14,3 +14,4 @@ DIST llvm-project-22.1.8.src.tar.xz 167061596 BLAKE2B 092204f62e0f0364a041c737eb DIST llvm-project-22.1.8.src.tar.xz.sig 119 BLAKE2B 2ce93472036e68782252991e4a8bdbeeec8706a56022220083a38a42ef18714a7894c41aaa04dc0d03f18601d8bfc1a5a030ed0ef0f0d64a662eae9843a4b362 SHA512 99a457b5b1fb409a5fe72b59ebd4ddae5cade3e5f2493e33b44d4f4b4625f7a1743f80106efb1134668842b15ea3400ce2c29263bec8ff986e05040910125e15 DIST llvm-project-23.1.1.src.tar.xz 179168672 BLAKE2B 31d0ad202f4ad38d001baaf638a756508b164229b02a6e41b9689508a33b3a7baecaa10398e20f3661cacb712663fe379eeb94e50e017e40ae546a7e7de8049d SHA512 e51c45f01e95272771bfee8382b213a2e21d3c62e273ff58967cfe40b87f45d2b37a4797b8b83fab025ed7a0ad32adef48406ade2d049da3d7f1799b30edea39 DIST llvm-project-23.1.1.src.tar.xz.sig 466 BLAKE2B fd062ee7b6a59295f1ba558ed35fcf03d9d1a2f716cc710ae1b375c9f673eaaf21a7a503652fefbcc91233c9df279c4521f487539264badd0bf591362657024b SHA512 d2e1101f6f3569cc82630e94d9021aaa47e32636d5b0b7fe90c01a56523e3d772835ad7c2a6f2c1a199ed1624a6f12429b43865d6f41405b73b275483effe581 +DIST llvm-project-3dcd66d0110335d7d1a5921fd085914b66ffbd3c.tar.gz 317468883 BLAKE2B af57748bf462852a7d09751162e43c52b7d8fa4d1e3e9b021062b11132ad2268b2ddefd0e2d0b2391de1e8120b751fe46a368bc58dce83b8d5e4413716701031 SHA512 678027e165bf444eb522a70b5c52018dba4b41828fa7db353bd1155ec326633adfe64e20e5975b672fc2669c6fd7e0dec0dbd8c63ee89e0393264d9af5ab3090 diff --git a/llvm-runtimes/libunwind/libunwind-24.0.0_pre20260919.ebuild b/llvm-runtimes/libunwind/libunwind-24.0.0_pre20260919.ebuild new file mode 100644 index 000000000000..264dc5aae763 --- /dev/null +++ b/llvm-runtimes/libunwind/libunwind-24.0.0_pre20260919.ebuild @@ -0,0 +1,194 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +inherit cmake-multilib crossdev flag-o-matic llvm.org llvm-utils +inherit python-any-r1 toolchain-funcs + +DESCRIPTION="C++ runtime stack unwinder from LLVM" +HOMEPAGE="https://llvm.org/docs/ExceptionHandling.html" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0" +IUSE="cet +clang +debug static-libs test" +REQUIRED_USE="test? ( clang )" +RESTRICT="!test? ( test )" + +RDEPEND=" + !sys-libs/libunwind +" +DEPEND=" + llvm-core/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( + llvm-core/clang:${LLVM_MAJOR} + llvm-core/clang-linker-config:${LLVM_MAJOR} + llvm-runtimes/clang-rtlib-config:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) + test? ( + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + ) +" + +LLVM_COMPONENTS=( runtimes libunwind libcxx llvm/{cmake,utils} cmake ) +LLVM_TEST_COMPONENTS=( libc libcxxabi ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +test_compiler() { + target_is_not_host && return + local compiler=${1} + shift + ${compiler} ${CFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \ + <<<'int main() { return 0; }' &>/dev/null +} + +multilib_src_configure() { + if use clang; then + llvm_prepend_path -b "${LLVM_MAJOR}" + fi + + local libdir=$(get_libdir) + + # https://github.com/llvm/llvm-project/issues/56825 + # also separately bug #863917 + filter-lto + + # Workaround for bgo #961153. + # TODO: Fix the multilib.eclass, so it sets CTARGET properly. + if ! is_crosspkg; then + export CTARGET=${CHOST} + fi + + if use clang; then + local -x CC=${CTARGET}-clang-${LLVM_MAJOR} + local -x CXX=${CTARGET}-clang++-${LLVM_MAJOR} + strip-unsupported-flags + + # The full clang configuration might not be ready yet. Use the partial + # configuration files that are guaranteed to exist even during initial + # installations and upgrades. + local flags=( + --config="${ESYSROOT}"/etc/clang/"${LLVM_MAJOR}"/gentoo-{rtlib,linker}.cfg + ) + local -x CFLAGS="${CFLAGS} ${flags[@]}" + local -x CXXFLAGS="${CXXFLAGS} ${flags[@]}" + local -x LDFLAGS="${LDFLAGS} ${flags[@]}" + fi + + # Check whether C compiler runtime is available. + if ! test_compiler "$(tc-getCC)"; then + local nolib_flags=( -nodefaultlibs -lc ) + if test_compiler "$(tc-getCC)" "${nolib_flags[@]}"; then + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}" + elif test_compiler "$(tc-getCC)" "${nolib_flags[@]}" -nostartfiles; then + # Avoiding -nostartfiles earlier on for bug #862540, + # and set available entry symbol for bug #862798. + nolib_flags+=( -nostartfiles -e main ) + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}" + fi + fi + # Check whether C++ standard library is available, + local nostdlib_flags=( -nostdlib++ ) + if ! test_compiler "$(tc-getCXX)" && + test_compiler "$(tc-getCXX)" "${nostdlib_flags[@]}" + then + local -x LDFLAGS="${LDFLAGS} ${nostdlib_flags[*]}" + ewarn "${CXX} seems to lack runtime, trying with ${nostdlib_flags[*]}" + fi + + # link to compiler-rt + # https://github.com/gentoo/gentoo/pull/21516 + local use_compiler_rt=OFF + [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON + + # Respect upstream build type assumptions (bug #910436) where they do: + # -DLIBUNWIND_ENABLE_ASSERTIONS=ON => + # -DCMAKE_BUILD_TYPE=DEBUG => -UNDEBUG + # -DCMAKE_BUILD_TYPE!=debug => -DNDEBUG + # -DLIBUNWIND_ENABLE_ASSERTIONS=OFF => + # -UNDEBUG + # See also https://github.com/llvm/llvm-project/issues/86#issuecomment-1649668826. + use debug || append-cppflags -DNDEBUG + + local mycmakeargs=( + -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}" + + -DCMAKE_C_COMPILER_TARGET="${CTARGET}" + -DCMAKE_CXX_COMPILER_TARGET="${CTARGET}" + -DPython3_EXECUTABLE="${PYTHON}" + -DLLVM_ENABLE_RUNTIMES="libunwind" + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + -DLLVM_INCLUDE_TESTS=OFF + -DLIBUNWIND_ENABLE_CET=$(usex cet) + -DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug) + -DLIBUNWIND_ENABLE_STATIC=$(usex static-libs) + -DLIBUNWIND_INCLUDE_TESTS=$(usex test) + -DLIBUNWIND_INSTALL_HEADERS=ON + + # cross-unwinding increases unwinding footprint (to account + # for the worst case) and causes some breakage on AArch64 + # https://github.com/llvm/llvm-project/issues/152549 + -DLIBUNWIND_ENABLE_CROSS_UNWINDING=OFF + + # avoid dependency on libgcc_s if compiler-rt is used + -DLIBUNWIND_USE_COMPILER_RT=${use_compiler_rt} + ) + if is_crosspkg; then + mycmakeargs+=( + # Without this, the compiler will compile a test program + # and fail due to no builtins. + -DCMAKE_C_COMPILER_WORKS=1 + -DCMAKE_CXX_COMPILER_WORKS=1 + # Install inside the cross sysroot. + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/${CTARGET}/usr" + ) + fi + if use test; then + mycmakeargs+=( + -DLLVM_ENABLE_RUNTIMES="libunwind;libcxxabi;libcxx" + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}/libcxx" + + -DLIBCXXABI_LIBDIR_SUFFIX= + -DLIBCXXABI_ENABLE_SHARED=OFF + -DLIBCXXABI_ENABLE_STATIC=ON + -DLIBCXXABI_USE_LLVM_UNWINDER=ON + -DLIBCXXABI_INCLUDE_TESTS=OFF + + -DLIBCXX_LIBDIR_SUFFIX= + -DLIBCXX_ENABLE_SHARED=OFF + -DLIBCXX_ENABLE_STATIC=ON + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(llvm_cmake_use_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + -DLIBCXX_INCLUDE_BENCHMARKS=OFF + ) + fi + + cmake_src_configure +} + +multilib_src_test() { + local -x LIT_PRESERVES_TMP=1 + cmake_build check-unwind +} + +multilib_src_install() { + DESTDIR=${D} cmake_build install-unwind +} diff --git a/llvm-runtimes/openmp-amdgcn-amd-amdhsa/Manifest b/llvm-runtimes/openmp-amdgcn-amd-amdhsa/Manifest index e6c47baddb89..074b2fa9beb4 100644 --- a/llvm-runtimes/openmp-amdgcn-amd-amdhsa/Manifest +++ b/llvm-runtimes/openmp-amdgcn-amd-amdhsa/Manifest @@ -4,3 +4,4 @@ DIST llvm-project-22.1.8.src.tar.xz 167061596 BLAKE2B 092204f62e0f0364a041c737eb DIST llvm-project-22.1.8.src.tar.xz.sig 119 BLAKE2B 2ce93472036e68782252991e4a8bdbeeec8706a56022220083a38a42ef18714a7894c41aaa04dc0d03f18601d8bfc1a5a030ed0ef0f0d64a662eae9843a4b362 SHA512 99a457b5b1fb409a5fe72b59ebd4ddae5cade3e5f2493e33b44d4f4b4625f7a1743f80106efb1134668842b15ea3400ce2c29263bec8ff986e05040910125e15 DIST llvm-project-23.1.1.src.tar.xz 179168672 BLAKE2B 31d0ad202f4ad38d001baaf638a756508b164229b02a6e41b9689508a33b3a7baecaa10398e20f3661cacb712663fe379eeb94e50e017e40ae546a7e7de8049d SHA512 e51c45f01e95272771bfee8382b213a2e21d3c62e273ff58967cfe40b87f45d2b37a4797b8b83fab025ed7a0ad32adef48406ade2d049da3d7f1799b30edea39 DIST llvm-project-23.1.1.src.tar.xz.sig 466 BLAKE2B fd062ee7b6a59295f1ba558ed35fcf03d9d1a2f716cc710ae1b375c9f673eaaf21a7a503652fefbcc91233c9df279c4521f487539264badd0bf591362657024b SHA512 d2e1101f6f3569cc82630e94d9021aaa47e32636d5b0b7fe90c01a56523e3d772835ad7c2a6f2c1a199ed1624a6f12429b43865d6f41405b73b275483effe581 +DIST llvm-project-3dcd66d0110335d7d1a5921fd085914b66ffbd3c.tar.gz 317468883 BLAKE2B af57748bf462852a7d09751162e43c52b7d8fa4d1e3e9b021062b11132ad2268b2ddefd0e2d0b2391de1e8120b751fe46a368bc58dce83b8d5e4413716701031 SHA512 678027e165bf444eb522a70b5c52018dba4b41828fa7db353bd1155ec326633adfe64e20e5975b672fc2669c6fd7e0dec0dbd8c63ee89e0393264d9af5ab3090 diff --git a/llvm-runtimes/openmp-amdgcn-amd-amdhsa/openmp-amdgcn-amd-amdhsa-24.0.0_pre20260919.ebuild b/llvm-runtimes/openmp-amdgcn-amd-amdhsa/openmp-amdgcn-amd-amdhsa-24.0.0_pre20260919.ebuild new file mode 100644 index 000000000000..97ae1a52b3f2 --- /dev/null +++ b/llvm-runtimes/openmp-amdgcn-amd-amdhsa/openmp-amdgcn-amd-amdhsa-24.0.0_pre20260919.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +inherit cmake flag-o-matic llvm.org + +DESCRIPTION="OpenMP target library for amdgcn devices" +HOMEPAGE="https://openmp.llvm.org" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0/${LLVM_SOABI}" + +RDEPEND=" + !<llvm-runtimes/offload-22[llvm_targets_AMDGPU(-)] +" +BDEPEND=" + ~llvm-core/clang-${PV}:${LLVM_MAJOR}[llvm_targets_AMDGPU] + llvm-core/lld:${LLVM_MAJOR}[llvm_targets_AMDGPU] +" + +LLVM_COMPONENTS=( + runtimes openmp cmake llvm/{cmake,utils} libc/shared + offload/include +) +llvm.org_set_globals + +src_configure() { + local -x CC=${CHOST}-clang-${LLVM_MAJOR} + local -x CXX=${CHOST}-clang++-${LLVM_MAJOR} + local triple=${PN#openmp-} + filter-flags '-m*' + strip-unsupported-flags + + local mycmakeargs=( + -DLLVM_DEFAULT_TARGET_TRIPLE=${triple} + -DLLVM_ENABLE_RUNTIMES=openmp + -DOPENMP_INSTALL_LIBDIR="$(get_libdir)/${triple}" + ) + cmake_src_configure +} diff --git a/llvm-runtimes/openmp-nvptx64-nvidia-cuda/Manifest b/llvm-runtimes/openmp-nvptx64-nvidia-cuda/Manifest index e6c47baddb89..074b2fa9beb4 100644 --- a/llvm-runtimes/openmp-nvptx64-nvidia-cuda/Manifest +++ b/llvm-runtimes/openmp-nvptx64-nvidia-cuda/Manifest @@ -4,3 +4,4 @@ DIST llvm-project-22.1.8.src.tar.xz 167061596 BLAKE2B 092204f62e0f0364a041c737eb DIST llvm-project-22.1.8.src.tar.xz.sig 119 BLAKE2B 2ce93472036e68782252991e4a8bdbeeec8706a56022220083a38a42ef18714a7894c41aaa04dc0d03f18601d8bfc1a5a030ed0ef0f0d64a662eae9843a4b362 SHA512 99a457b5b1fb409a5fe72b59ebd4ddae5cade3e5f2493e33b44d4f4b4625f7a1743f80106efb1134668842b15ea3400ce2c29263bec8ff986e05040910125e15 DIST llvm-project-23.1.1.src.tar.xz 179168672 BLAKE2B 31d0ad202f4ad38d001baaf638a756508b164229b02a6e41b9689508a33b3a7baecaa10398e20f3661cacb712663fe379eeb94e50e017e40ae546a7e7de8049d SHA512 e51c45f01e95272771bfee8382b213a2e21d3c62e273ff58967cfe40b87f45d2b37a4797b8b83fab025ed7a0ad32adef48406ade2d049da3d7f1799b30edea39 DIST llvm-project-23.1.1.src.tar.xz.sig 466 BLAKE2B fd062ee7b6a59295f1ba558ed35fcf03d9d1a2f716cc710ae1b375c9f673eaaf21a7a503652fefbcc91233c9df279c4521f487539264badd0bf591362657024b SHA512 d2e1101f6f3569cc82630e94d9021aaa47e32636d5b0b7fe90c01a56523e3d772835ad7c2a6f2c1a199ed1624a6f12429b43865d6f41405b73b275483effe581 +DIST llvm-project-3dcd66d0110335d7d1a5921fd085914b66ffbd3c.tar.gz 317468883 BLAKE2B af57748bf462852a7d09751162e43c52b7d8fa4d1e3e9b021062b11132ad2268b2ddefd0e2d0b2391de1e8120b751fe46a368bc58dce83b8d5e4413716701031 SHA512 678027e165bf444eb522a70b5c52018dba4b41828fa7db353bd1155ec326633adfe64e20e5975b672fc2669c6fd7e0dec0dbd8c63ee89e0393264d9af5ab3090 diff --git a/llvm-runtimes/openmp-nvptx64-nvidia-cuda/openmp-nvptx64-nvidia-cuda-24.0.0_pre20260919.ebuild b/llvm-runtimes/openmp-nvptx64-nvidia-cuda/openmp-nvptx64-nvidia-cuda-24.0.0_pre20260919.ebuild new file mode 100644 index 000000000000..76075d09ffee --- /dev/null +++ b/llvm-runtimes/openmp-nvptx64-nvidia-cuda/openmp-nvptx64-nvidia-cuda-24.0.0_pre20260919.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +inherit cmake flag-o-matic llvm.org + +DESCRIPTION="OpenMP target library for nvptx64 devices" +HOMEPAGE="https://openmp.llvm.org" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0/${LLVM_SOABI}" + +RDEPEND=" + !<llvm-runtimes/offload-22[llvm_targets_NVPTX(-)] +" +BDEPEND=" + ~llvm-core/clang-${PV}:${LLVM_MAJOR}[llvm_targets_NVPTX] + llvm-core/lld:${LLVM_MAJOR}[llvm_targets_NVPTX] +" + +LLVM_COMPONENTS=( + runtimes openmp cmake llvm/{cmake,utils} libc/shared + offload/include +) +llvm.org_set_globals + +src_configure() { + local -x CC=${CHOST}-clang-${LLVM_MAJOR} + local -x CXX=${CHOST}-clang++-${LLVM_MAJOR} + local triple=${PN#openmp-} + filter-flags '-m*' + strip-unsupported-flags + + local mycmakeargs=( + -DLLVM_DEFAULT_TARGET_TRIPLE=${triple} + -DLLVM_ENABLE_RUNTIMES=openmp + -DOPENMP_INSTALL_LIBDIR="$(get_libdir)/${triple}" + ) + cmake_src_configure +} diff --git a/llvm-runtimes/openmp-spirv64-intel/Manifest b/llvm-runtimes/openmp-spirv64-intel/Manifest index 89370ff8e310..4b790e8b1728 100644 --- a/llvm-runtimes/openmp-spirv64-intel/Manifest +++ b/llvm-runtimes/openmp-spirv64-intel/Manifest @@ -2,3 +2,4 @@ DIST llvm-project-02bd47db9d3c4313fe1b5054ed8a1a081f1b7f78.tar.gz 317069647 BLAK DIST llvm-project-0bf3638ddfe6e8bb3b79ebe8c2a918384a5df612.tar.gz 278258416 BLAKE2B 85007e0dfc4d5908c2fb0863923ef86e6a6c0d4302da6cbefd97097d6c19066234ca76a06af1c404aab7c3fe85ba6d9ac08aca5343b5f24fc3727dde1de2245e SHA512 91c6bab8974b95725cb70d2e3bef5abc5358e6836fe00c6348d4a886914b424fb49e9b0a85cf67af7b3a8f0c863d33d22fe74fffc63da813d7d63e3e0e32cf85 DIST llvm-project-23.1.1.src.tar.xz 179168672 BLAKE2B 31d0ad202f4ad38d001baaf638a756508b164229b02a6e41b9689508a33b3a7baecaa10398e20f3661cacb712663fe379eeb94e50e017e40ae546a7e7de8049d SHA512 e51c45f01e95272771bfee8382b213a2e21d3c62e273ff58967cfe40b87f45d2b37a4797b8b83fab025ed7a0ad32adef48406ade2d049da3d7f1799b30edea39 DIST llvm-project-23.1.1.src.tar.xz.sig 466 BLAKE2B fd062ee7b6a59295f1ba558ed35fcf03d9d1a2f716cc710ae1b375c9f673eaaf21a7a503652fefbcc91233c9df279c4521f487539264badd0bf591362657024b SHA512 d2e1101f6f3569cc82630e94d9021aaa47e32636d5b0b7fe90c01a56523e3d772835ad7c2a6f2c1a199ed1624a6f12429b43865d6f41405b73b275483effe581 +DIST llvm-project-3dcd66d0110335d7d1a5921fd085914b66ffbd3c.tar.gz 317468883 BLAKE2B af57748bf462852a7d09751162e43c52b7d8fa4d1e3e9b021062b11132ad2268b2ddefd0e2d0b2391de1e8120b751fe46a368bc58dce83b8d5e4413716701031 SHA512 678027e165bf444eb522a70b5c52018dba4b41828fa7db353bd1155ec326633adfe64e20e5975b672fc2669c6fd7e0dec0dbd8c63ee89e0393264d9af5ab3090 diff --git a/llvm-runtimes/openmp-spirv64-intel/openmp-spirv64-intel-24.0.0_pre20260919.ebuild b/llvm-runtimes/openmp-spirv64-intel/openmp-spirv64-intel-24.0.0_pre20260919.ebuild new file mode 100644 index 000000000000..fd6ed0f1280f --- /dev/null +++ b/llvm-runtimes/openmp-spirv64-intel/openmp-spirv64-intel-24.0.0_pre20260919.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +inherit cmake flag-o-matic llvm.org + +DESCRIPTION="OpenMP target library for spirv64 Intel devices" +HOMEPAGE="https://openmp.llvm.org" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0/${LLVM_SOABI}" + +BDEPEND=" + ~llvm-core/clang-${PV}:${LLVM_MAJOR}[llvm_targets_SPIRV] + llvm-core/lld:${LLVM_MAJOR}[llvm_targets_SPIRV] +" + +LLVM_COMPONENTS=( + runtimes openmp cmake llvm/{cmake,utils} libc/shared + offload/include +) +llvm.org_set_globals + +src_configure() { + local -x CC=${CHOST}-clang-${LLVM_MAJOR} + local -x CXX=${CHOST}-clang++-${LLVM_MAJOR} + local triple=${PN#openmp-} + filter-flags '-m*' + strip-unsupported-flags + # incompatible with the spirv target, https://bugs.gentoo.org/981726 + filter-flags -frecord-gcc-switches + + # https://github.com/llvm/llvm-project/issues/186598 + filter-ldflags '-Wl,*' + + local mycmakeargs=( + -DLLVM_DEFAULT_TARGET_TRIPLE=${triple} + -DLLVM_ENABLE_RUNTIMES=openmp + -DOPENMP_INSTALL_LIBDIR="$(get_libdir)/${triple}" + ) + cmake_src_configure +} diff --git a/llvm-runtimes/openmp/Manifest b/llvm-runtimes/openmp/Manifest index c1e1a95276a5..b3483561c984 100644 --- a/llvm-runtimes/openmp/Manifest +++ b/llvm-runtimes/openmp/Manifest @@ -14,3 +14,4 @@ DIST llvm-project-22.1.8.src.tar.xz 167061596 BLAKE2B 092204f62e0f0364a041c737eb DIST llvm-project-22.1.8.src.tar.xz.sig 119 BLAKE2B 2ce93472036e68782252991e4a8bdbeeec8706a56022220083a38a42ef18714a7894c41aaa04dc0d03f18601d8bfc1a5a030ed0ef0f0d64a662eae9843a4b362 SHA512 99a457b5b1fb409a5fe72b59ebd4ddae5cade3e5f2493e33b44d4f4b4625f7a1743f80106efb1134668842b15ea3400ce2c29263bec8ff986e05040910125e15 DIST llvm-project-23.1.1.src.tar.xz 179168672 BLAKE2B 31d0ad202f4ad38d001baaf638a756508b164229b02a6e41b9689508a33b3a7baecaa10398e20f3661cacb712663fe379eeb94e50e017e40ae546a7e7de8049d SHA512 e51c45f01e95272771bfee8382b213a2e21d3c62e273ff58967cfe40b87f45d2b37a4797b8b83fab025ed7a0ad32adef48406ade2d049da3d7f1799b30edea39 DIST llvm-project-23.1.1.src.tar.xz.sig 466 BLAKE2B fd062ee7b6a59295f1ba558ed35fcf03d9d1a2f716cc710ae1b375c9f673eaaf21a7a503652fefbcc91233c9df279c4521f487539264badd0bf591362657024b SHA512 d2e1101f6f3569cc82630e94d9021aaa47e32636d5b0b7fe90c01a56523e3d772835ad7c2a6f2c1a199ed1624a6f12429b43865d6f41405b73b275483effe581 +DIST llvm-project-3dcd66d0110335d7d1a5921fd085914b66ffbd3c.tar.gz 317468883 BLAKE2B af57748bf462852a7d09751162e43c52b7d8fa4d1e3e9b021062b11132ad2268b2ddefd0e2d0b2391de1e8120b751fe46a368bc58dce83b8d5e4413716701031 SHA512 678027e165bf444eb522a70b5c52018dba4b41828fa7db353bd1155ec326633adfe64e20e5975b672fc2669c6fd7e0dec0dbd8c63ee89e0393264d9af5ab3090 diff --git a/llvm-runtimes/openmp/openmp-24.0.0_pre20260919.ebuild b/llvm-runtimes/openmp/openmp-24.0.0_pre20260919.ebuild new file mode 100644 index 000000000000..a03bcbca852f --- /dev/null +++ b/llvm-runtimes/openmp/openmp-24.0.0_pre20260919.ebuild @@ -0,0 +1,213 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +inherit cmake-multilib crossdev flag-o-matic llvm.org python-single-r1 +inherit toolchain-funcs + +DESCRIPTION="OpenMP runtime libraries for LLVM/clang compiler" +HOMEPAGE="https://openmp.llvm.org" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0/${LLVM_SOABI}" +IUSE=" + +clang +debug fortran gdb-plugin hwloc offload ompt test + cuda level-zero rocm +" +REQUIRED_USE=" + gdb-plugin? ( ${PYTHON_REQUIRED_USE} ) +" +RESTRICT="!test? ( test )" + +DEPEND=" + hwloc? ( >=sys-apps/hwloc-2.5:0=[${MULTILIB_USEDEP}] ) + offload? ( + dev-libs/libffi:= + ~llvm-core/llvm-${PV} + level-zero? ( dev-libs/level-zero:= ) + rocm? ( dev-libs/rocr-runtime:= ) + ) +" +# tests: +# - dev-python/lit provides the test runner +# - llvm-core/llvm provide test utils (e.g. FileCheck) +# - llvm-core/clang provides the compiler to run tests +RDEPEND=" + ${DEPEND} + gdb-plugin? ( ${PYTHON_DEPS} ) + offload? ( + !llvm-runtimes/offload + cuda? ( ~llvm-runtimes/openmp-nvptx64-nvidia-cuda-${PV} ) + level-zero? ( ~llvm-runtimes/openmp-spirv64-intel-${PV} ) + rocm? ( ~llvm-runtimes/openmp-amdgcn-amd-amdhsa-${PV} ) + ) +" +BDEPEND=" + dev-lang/perl + clang? ( llvm-core/clang ) + fortran? ( + llvm-core/flang:${LLVM_MAJOR} + llvm-runtimes/flang-rt:${LLVM_MAJOR} + ) + gdb-plugin? ( ${PYTHON_DEPS} ) + offload? ( + virtual/pkgconfig + ) + test? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/lit[${PYTHON_USEDEP}] + ') + llvm-core/clang:${LLVM_MAJOR} + llvm-core/llvm:${LLVM_MAJOR} + ) +" + +LLVM_COMPONENTS=( + runtimes openmp offload cmake libc llvm/{cmake,include,utils} + third-party/unittest +) +llvm.org_set_globals + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/offload/OffloadAPI.h + /usr/include/offload/OffloadPrint.hpp + /usr/include/offload/cuda/cuda_runtime.h + /usr/include/offload/hip/hip_runtime.h + /usr/include/offload/kernel/DefineLanguageNames.inc + /usr/include/offload/kernel/LanguageErrors.h + /usr/include/offload/kernel/LanguageLaunch.h + /usr/include/offload/kernel/LanguageRuntime.h + /usr/include/offload/kernel/Types.h + /usr/include/offload/kernel/UndefineLanguageNames.inc +) + +pkg_pretend() { + if [[ ${LLVM_ALLOW_GPU_TESTING} ]]; then + ewarn "LLVM_ALLOW_GPU_TESTING set. This package will run tests against your" + ewarn "GPU if it is supported. Note that these tests may be flaky, fail or" + ewarn "hang, or even cause your GPU to crash (requiring a reboot)." + fi +} + +pkg_setup() { + if use gdb-plugin || use test; then + python-single-r1_pkg_setup + fi +} + +multilib_src_configure() { + if use clang && ! is_crosspkg; then + # Only do this conditionally to allow overriding with + # e.g. CC=clang-13 in case of breakage + if ! tc-is-clang ; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + fi + + strip-unsupported-flags + fi + + if use fortran; then + local -x FC=flang-${LLVM_MAJOR} F77=flang-${LLVM_MAJOR} + strip-unsupported-flags + else + local -x FC= F77= + fi + + # LTO causes issues in other packages building, #870127 + filter-lto + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + local libdir="$(get_libdir)" + local mycmakeargs=( + -DLLVM_ENABLE_RUNTIMES=openmp + -DLLVM_LIBDIR_SUFFIX="${libdir#lib}" + -DLLVM_BINARY_DIR="${BROOT}/usr/lib/llvm/${LLVM_MAJOR}" + + -DLIBOMP_USE_HWLOC=$(usex hwloc) + -DLIBOMP_OMPD_GDB_SUPPORT=$(multilib_native_usex gdb-plugin) + -DLIBOMP_OMPT_SUPPORT=$(usex ompt) + + # do not install libgomp.so & libiomp5.so aliases + -DLIBOMP_INSTALL_ALIASES=OFF + # disable unnecessary hack copying stuff back to srcdir + -DLIBOMP_COPY_EXPORTS=OFF + # this breaks building static target libs + -DBUILD_SHARED_LIBS=OFF + ) + + if multilib_is_native_abi && use fortran; then + mycmakeargs+=( + # cmake.eclass does not set if it we don't inherit fortran-2 + # and upstream code relies on it being set before Fortran logic + # kicks in and reds envvars + -DCMAKE_Fortran_COMPILER="${FC}" + -DRUNTIMES_FORTRAN_MODULES=ON + -DRUNTIMES_INSTALL_RESOURCE_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}" + ) + fi + + if multilib_is_native_abi && use offload; then + local ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi) + local ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi) + local plugins="host" + + if has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then + if use rocm; then + plugins+=";amdgpu" + fi + if use cuda; then + plugins+=";cuda" + fi + if use level-zero; then + plugins+=";level_zero" + fi + fi + + mycmakeargs+=( + -DLLVM_ENABLE_RUNTIMES="openmp;offload" + -DOFFLOAD_INCLUDE_TESTS=$(usex test) + -DLIBOMPTARGET_PLUGINS_TO_BUILD="${plugins}" + -DLIBOMPTARGET_OMPT_SUPPORT="$(usex ompt)" + ) + + [[ ! ${LLVM_ALLOW_GPU_TESTING} ]] && mycmakeargs+=( + # prevent trying to access the GPU + -DLIBOMPTARGET_AMDGPU_ARCH=LIBOMPTARGET_AMDGPU_ARCH-NOTFOUND + -DLIBOMPTARGET_NVPTX_ARCH=LIBOMPTARGET_NVPTX_ARCH-NOTFOUND + -DLIBOMPTARGET_OFFLOAD_ARCH=LIBOMPTARGET_OFFLOAD_ARCH-NOTFOUND + ) + fi + + use test && mycmakeargs+=( + -DLLVM_LIT_ARGS="$(get_lit_flags)" + -DOPENMP_TEST_C_COMPILER="$(type -P "${CHOST}-clang-${LLVM_MAJOR}")" + -DOPENMP_TEST_CXX_COMPILER="$(type -P "${CHOST}-clang++-${LLVM_MAJOR}")" + # may be set to empty above + -DOPENMP_TEST_Fortran_COMPILER="${FC}" + ) + cmake_src_configure +} + +multilib_src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + local targets=( check-openmp ) + if multilib_is_native_abi && use offload; then + targets+=( check-offload check-offload-unit ) + fi + + if use fortran; then + # hack header search around by copying the modules to a directory + # that is already given via -I + cp "${BUILD_DIR}/$(get_libdir)/clang"/*/finclude/flang/*/*.mod \ + "${WORKDIR}/offload/test/" || die + fi + + cmake_build "${targets[@]}" +} diff --git a/media-fonts/dina/dina-2.93-r1.ebuild b/media-fonts/dina/dina-2.93-r1.ebuild new file mode 100644 index 000000000000..17e1af33a597 --- /dev/null +++ b/media-fonts/dina/dina-2.93-r1.ebuild @@ -0,0 +1,21 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=9 + +FONT_OPENTYPE_COMPAT=1 +inherit font + +DESCRIPTION="Monospace bitmap font, primarily aimed at programmers" +HOMEPAGE="https://www.dcmembers.com/jibsen/download/61/" +SRC_URI="https://www.donationcoder.com/forum/index.php?action=dlattach;topic=36049.0;attach=78562 -> ${P}.zip" +S="${WORKDIR}/BDF" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~loong ~riscv ~x86" +RESTRICT="strip binchecks" + +BDEPEND="app-arch/unzip" + +FONT_SUFFIX="bdf" diff --git a/media-fonts/ibm-plex/ibm-plex-5.1.3.ebuild b/media-fonts/ibm-plex/ibm-plex-5.1.3.ebuild index 0a668ca7f4f7..fecb26aa3080 100644 --- a/media-fonts/ibm-plex/ibm-plex-5.1.3.ebuild +++ b/media-fonts/ibm-plex/ibm-plex-5.1.3.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/IBM/plex/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="OFL-1.1" SLOT="0" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv x86" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 x86" IUSE="otf +ttf" REQUIRED_USE="^^ ( otf ttf )" diff --git a/media-fonts/unifont/Manifest b/media-fonts/unifont/Manifest index 2fc7f833ad14..a83f5519b27c 100644 --- a/media-fonts/unifont/Manifest +++ b/media-fonts/unifont/Manifest @@ -1,2 +1,3 @@ -DIST unifont-17.0.03.tar.gz 31749332 BLAKE2B db9030ea8a4fc072858d8532a0f27513258aa46ab5c43144ef9993066644637676ee0b88cd3a0626b48e9c5b75998dc97dbd26548140a47b1a7bc5b5de4b2498 SHA512 70ebb98fe81b8e89d887002be5bdcd7e396cdc21f6404013f9a4b667c61c7c5967c905039d55c45f2455e653c6dfe3284dd62841697a17d4d2d6ef9c9b5ad464 DIST unifont-17.0.05.tar.gz 41506878 BLAKE2B 18873139bfae5b3fb307a6b3de7d8d2384ad90107cfb25bb76ded85be8d40ab1fa110f64162551b0527906c0210ff56f273af671299e9aa99edda7371f65b059 SHA512 79b4e57d95cd34f3964d666f9cf284a85d9e137f7b396dd459b66ed9681b789491349915922aae9f51448b0c80e181caa1a96b5a0ed4744b2a87412bcb39ca22 +DIST unifont-18.0.01.tar.gz 41427259 BLAKE2B f17508ceabf854891a03eb9cd88f64c65c6e86fd5ddff91df0255b458a1a6c1b4041616c9d66604bcdada85718256a4923d73a5507e5f6cd8e3ae405bdad1c4f SHA512 3515e0b07f55a852aa4ea0b40f4f8f955e8c45ecda8c6b5f0fdd4bea4cafecf6cebe8791e4b388df7cc40ab3cf9ed57e412839cd48b52778f7c59954b40c4e1b +DIST unifont-18.0.01.tar.gz.sig 566 BLAKE2B cf2f4d391318bb2224b1ce43aad07ffa02d1cc800a5609a9b5ae3c4bfe24bc494d84e974ddefc214022c77dacd9bb5de0c63f62bff1a168e2d236af9e1d2e12f SHA512 ed1bfb4fcc4548f1f5b5d2e10b3dcec5b676217079a5e5412e1e11c9f7059620ddce2c83832dff6cd9d77fedf9d499dd75c26a5b6fcf8628ce820ed7d5aed59c diff --git a/media-fonts/unifont/metadata.xml b/media-fonts/unifont/metadata.xml index 611bf701ac11..b4483f03e214 100644 --- a/media-fonts/unifont/metadata.xml +++ b/media-fonts/unifont/metadata.xml @@ -10,8 +10,6 @@ <name>Cjk</name> </maintainer> <use> - <flag name="fontforge">Build TrueType fonts from sources, using <pkg>media-gfx/fontforge</pkg> - </flag> <flag name="utils">Build unifont utilities and use them to compile OpenType fonts from sources</flag> </use> <origin>baldeagleos-repo</origin> diff --git a/media-fonts/unifont/unifont-17.0.03.ebuild b/media-fonts/unifont/unifont-18.0.01.ebuild index 7d01257df550..682bb8fee2ca 100644 --- a/media-fonts/unifont/unifont-17.0.03.ebuild +++ b/media-fonts/unifont/unifont-18.0.01.ebuild @@ -3,62 +3,52 @@ EAPI=8 -inherit font optfeature toolchain-funcs +inherit font optfeature toolchain-funcs verify-sig -DESCRIPTION="GNU Unifont - a Pan-Unicode X11 bitmap iso10646 font" +DESCRIPTION="Unicode bitmap font with full Basic Multilingual Plane coverage" HOMEPAGE="https://unifoundry.com/" -SRC_URI="mirror://gnu/${PN}/${P}/${P}.tar.gz" +SRC_URI=" + mirror://gnu/${PN}/${P}/${P}.tar.gz + verify-sig? ( mirror://gnu/${PN}/${P}/${P}.tar.gz.sig ) +" LICENSE="GPL-2+ || ( GPL-2+-with-font-exception OFL-1.1 ) public-domain utils? ( FDL-1.3+ )" SLOT="0" -KEYWORDS="~alpha amd64 arm ~loong ppc ppc64 ~riscv ~s390 ~sparc x86" -IUSE="fontforge ttf utils" -REQUIRED_USE="ttf? ( fontforge )" +KEYWORDS="~alpha ~amd64 ~arm ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="ttf utils" +REQUIRED_USE="ttf? ( utils )" BDEPEND=" media-libs/fontconfig - fontforge? ( + utils? ( app-text/bdf2psf - dev-lang/perl - dev-perl/GD[png(+)] - media-gfx/fontforge x11-apps/bdftopcf + ttf? ( media-gfx/fontforge ) ) -" -RDEPEND=" - utils? ( - dev-lang/perl - dev-perl/GD[png(+)] - virtual/perl-Getopt-Long - ) + verify-sig? ( sec-keys/openpgp-keys-paulhardy ) " +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/paulhardy.asc + PATCHES=( "${FILESDIR}"/${PN}-17.0.03-Makefile.patch + "${FILESDIR}"/${PN}-17.0.05-Makefile.patch ) src_compile() { - if use fontforge || use utils; then - local buildargs=( - CC="$(tc-getCC)" - CFLAGS="${CFLAGS}" - ) - emake "${buildargs[@]}" bindir libdir - fi + if use utils; then + tc-export CC + emake bindir libdir - if use fontforge; then local font_targets=( opentype pcf psf $(usev ttf truetype) - # compile unifont.bmp - $(usev utils bigpic) # compile unifont_all.hex $(usev utils coverage) ) - # -j1 for bug #843584 - emake -j1 -C font "${font_targets[@]}" + emake -C font "${font_targets[@]}" fi } @@ -99,4 +89,5 @@ pkg_postinst() { font_pkg_postinst use utils && optfeature "unifont-viewer" dev-perl/Wx + use utils && optfeature "unipng2hex" dev-perl/GD virtual/perl-Getopt-Long } diff --git a/media-gfx/exiv2/exiv2-0.28.9.ebuild b/media-gfx/exiv2/exiv2-0.28.9.ebuild index 0782653dd3dc..5dd6e84012b6 100644 --- a/media-gfx/exiv2/exiv2-0.28.9.ebuild +++ b/media-gfx/exiv2/exiv2-0.28.9.ebuild @@ -14,7 +14,7 @@ if [[ ${PV} == *9999* ]]; then inherit git-r3 else SRC_URI="https://github.com/Exiv2/exiv2/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-solaris" + KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-solaris" fi LICENSE="GPL-2+" diff --git a/media-gfx/inkscape/Manifest b/media-gfx/inkscape/Manifest index b8b8f2e5e0cc..73f2cff1173f 100644 --- a/media-gfx/inkscape/Manifest +++ b/media-gfx/inkscape/Manifest @@ -1,2 +1 @@ -DIST inkscape-1.4.3.tar.xz 53907460 BLAKE2B 68cb04a34d82a5374ef0052e7932cb3d0bac0d11ffdb8da889167d8bdede826c6c44664d0242e8d5a2daf1581605c5c83e828147dc9ff76a13039b162a2de4cb SHA512 8bf8047f656f472ecac7a35badf83765873688901e94e93ec8388f920e1b8370e8c8c88d06ba91c26d668714b912f444b49bed59a8d1cf3e14d3ab206c3aff60 DIST inkscape-1.4.4.tar.xz 53861940 BLAKE2B 93aba877b468bb1ca174c88dad4e6a638410ff57cbed27c85035d8a9ab5ca7ec97ccf1b4754f657bebd26c3fe0df7aca11fde00b67b0714a74376fbeb3bf591f SHA512 6ccaad4c63f8f654529a801dfe649501afd8b1243094e0222afbf8141258ab139f418efc112c0a2061a1bba7230ae13a0fc9fdc55ce9052630607a94500c9edd diff --git a/media-gfx/inkscape/files/inkscape-1.4.3-poppler-26.01-warnings.patch b/media-gfx/inkscape/files/inkscape-1.4.3-poppler-26.01-warnings.patch deleted file mode 100644 index 0ab9c2255902..000000000000 --- a/media-gfx/inkscape/files/inkscape-1.4.3-poppler-26.01-warnings.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 5d4310dd8a0e4ca83850789a083710f82fb4d9b3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ji=C5=99=C3=AD=20Faist?= <faist@rexcontrols.cz> -Date: Mon, 2 Feb 2026 17:39:08 +0100 -Subject: [PATCH 2/3] Fix warning with poppler 26.x.x - -(cherry picked from commit ada064ea37f37a92bb1846a048a3da2c2185d3b2) ---- - .../internal/pdfinput/svg-builder.cpp | 24 +++++++++++++++++-- - 1 file changed, 22 insertions(+), 2 deletions(-) - -diff --git a/src/extension/internal/pdfinput/svg-builder.cpp b/src/extension/internal/pdfinput/svg-builder.cpp -index 8b2e6f3d54..94d4342dc4 100644 ---- a/src/extension/internal/pdfinput/svg-builder.cpp -+++ b/src/extension/internal/pdfinput/svg-builder.cpp -@@ -2095,7 +2095,17 @@ Inkscape::XML::Node *SvgBuilder::_createImage(Stream *str, int width, int height - image_stream = new ImageStream(str, width, 1, 1); - } - #if POPPLER_CHECK_VERSION(26, 0, 0) -- image_stream->rewind(); -+ if(!image_stream->rewind()) -+ { -+ g_warning("ImageStream: Failed to rewind image stream"); -+ png_destroy_write_struct(&png_ptr, &info_ptr); -+ if (!_embed_images) { -+ fclose(fp); -+ g_free(file_name); -+ } -+ delete image_stream; -+ return nullptr; -+ } - #else - image_stream->reset(); - #endif -@@ -2125,7 +2135,17 @@ Inkscape::XML::Node *SvgBuilder::_createImage(Stream *str, int width, int height - color_map->getNumPixelComps(), - color_map->getBits()); - #if POPPLER_CHECK_VERSION(26, 0, 0) -- image_stream->rewind(); -+ if(!image_stream->rewind()) -+ { -+ g_warning("ImageStream: Failed to rewind image stream"); -+ png_destroy_write_struct(&png_ptr, &info_ptr); -+ if (!_embed_images) { -+ fclose(fp); -+ g_free(file_name); -+ } -+ delete image_stream; -+ return nullptr; -+ } - #else - image_stream->reset(); - #endif --- -2.53.0 - diff --git a/media-gfx/inkscape/files/inkscape-1.4.3-poppler-26.01.patch b/media-gfx/inkscape/files/inkscape-1.4.3-poppler-26.01.patch deleted file mode 100644 index 8c73d3c9b83a..000000000000 --- a/media-gfx/inkscape/files/inkscape-1.4.3-poppler-26.01.patch +++ /dev/null @@ -1,62 +0,0 @@ -From b7254b3501a898c892211e6b363a292ba01dec08 Mon Sep 17 00:00:00 2001 -From: Thomas Holder <thomas@thomas-holder.de> -Date: Sat, 10 Jan 2026 23:44:10 +0100 -Subject: [PATCH 1/3] Fix build with poppler 26.01.0 - -(cherry picked from commit 3a528728ebe33e10bb44d152f47cfedfddbfe18a) ---- - src/extension/internal/pdfinput/pdf-input.cpp | 1 + - src/extension/internal/pdfinput/svg-builder.cpp | 9 +++++++++ - 2 files changed, 10 insertions(+) - -diff --git a/src/extension/internal/pdfinput/pdf-input.cpp b/src/extension/internal/pdfinput/pdf-input.cpp -index 7b5e0ecb1d..45df931f00 100644 ---- a/src/extension/internal/pdfinput/pdf-input.cpp -+++ b/src/extension/internal/pdfinput/pdf-input.cpp -@@ -33,6 +33,7 @@ - #include <poppler/glib/poppler.h> - #include <poppler/glib/poppler-document.h> - #include <poppler/glib/poppler-page.h> -+#include <poppler/goo/gmem.h> - #endif - - #include <gdkmm/general.h> -diff --git a/src/extension/internal/pdfinput/svg-builder.cpp b/src/extension/internal/pdfinput/svg-builder.cpp -index 6c78247dfb..8b2e6f3d54 100644 ---- a/src/extension/internal/pdfinput/svg-builder.cpp -+++ b/src/extension/internal/pdfinput/svg-builder.cpp -@@ -32,6 +32,7 @@ - #include <poppler/GfxState.h> - #include <poppler/Page.h> - #include <poppler/Stream.h> -+#include <poppler/goo/gmem.h> - - #include "color.h" - #include "color/cms-util.h" -@@ -2093,7 +2094,11 @@ Inkscape::XML::Node *SvgBuilder::_createImage(Stream *str, int width, int height - } else { - image_stream = new ImageStream(str, width, 1, 1); - } -+#if POPPLER_CHECK_VERSION(26, 0, 0) -+ image_stream->rewind(); -+#else - image_stream->reset(); -+#endif - - // Convert grayscale values - unsigned char *buffer = new unsigned char[width]; -@@ -2119,7 +2124,11 @@ Inkscape::XML::Node *SvgBuilder::_createImage(Stream *str, int width, int height - image_stream = new ImageStream(str, width, - color_map->getNumPixelComps(), - color_map->getBits()); -+#if POPPLER_CHECK_VERSION(26, 0, 0) -+ image_stream->rewind(); -+#else - image_stream->reset(); -+#endif - - // Convert RGB values - unsigned int *buffer = new unsigned int[width]; --- -2.53.0 - diff --git a/media-gfx/inkscape/files/inkscape-1.4.3-poppler-26.02.patch b/media-gfx/inkscape/files/inkscape-1.4.3-poppler-26.02.patch deleted file mode 100644 index e2f9e04a686d..000000000000 --- a/media-gfx/inkscape/files/inkscape-1.4.3-poppler-26.02.patch +++ /dev/null @@ -1,214 +0,0 @@ -Source: https://gitlab.com/inkscape/inkscape/-/merge_requests/7780 - -From cbd48e53d20af4ff8071028ccc6db9bc188e6548 Mon Sep 17 00:00:00 2001 -From: KrIr17 <elendil.krir17@gmail.com> -Date: Thu, 12 Feb 2026 20:58:50 +0100 -Subject: [PATCH 3/3] Fix building with Poppler 0.26.02 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Adapted from [1] with changes to make it backwards-compatible with older -versions of Poppler. - -[1] github.com/OpenMandrivaAssociation/inkscape/blob/master/inkscape-poppler-26.02.patch#L29 - -Credits: Bernhard Rosenkränzer <bero@lindev.ch> - -Fixes https://gitlab.com/inkscape/inkscape/-/issues/6054 - -* asturm 2026-02-14: backported to 1.4.x branch ---- - .../internal/pdfinput/pdf-parser.cpp | 39 +++++++++++++++++-- - .../pdfinput/poppler-transition-api.h | 10 +++++ - .../internal/pdfinput/svg-builder.cpp | 10 ++--- - 3 files changed, 50 insertions(+), 9 deletions(-) - -diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp b/src/extension/internal/pdfinput/pdf-parser.cpp -index ba6c448513..cb0842757d 100644 ---- a/src/extension/internal/pdfinput/pdf-parser.cpp -+++ b/src/extension/internal/pdfinput/pdf-parser.cpp -@@ -653,7 +653,11 @@ void PdfParser::opSetFlat(Object args[], int /*numArgs*/) - void PdfParser::opSetLineJoin(Object args[], int /*numArgs*/) - { - builder->beforeStateChange(state); -+#if POPPLER_CHECK_VERSION(26,2,0) -+ state->setLineJoin((GfxState::LineJoinStyle) args[0].getInt()); -+#else - state->setLineJoin(args[0].getInt()); -+#endif - builder->updateStyle(state); - } - -@@ -661,7 +665,11 @@ void PdfParser::opSetLineJoin(Object args[], int /*numArgs*/) - void PdfParser::opSetLineCap(Object args[], int /*numArgs*/) - { - builder->beforeStateChange(state); -+#if POPPLER_CHECK_VERSION(26,2,0) -+ state->setLineCap((GfxState::LineCapStyle) args[0].getInt()); -+#else - state->setLineCap(args[0].getInt()); -+#endif - builder->updateStyle(state); - } - -@@ -1565,7 +1573,13 @@ void PdfParser::doShadingPatternFillFallback(GfxShadingPattern *sPat, - - // restore graphics state - restoreState(); -+#if POPPLER_CHECK_VERSION(26, 2, 0) -+ state->clearPath(); -+ GfxPath *currPath = const_cast<GfxPath*>(state->getPath()); -+ currPath->append(savedPath); -+#else - state->setPath(savedPath); -+#endif - } - - // TODO not good that numArgs is ignored but args[] is used: -@@ -1626,7 +1640,13 @@ void PdfParser::opShFill(Object args[], int /*numArgs*/) - // restore graphics state - if (savedState) { - restoreState(); -+#if POPPLER_CHECK_VERSION(26, 2, 0) -+ state->clearPath(); -+ GfxPath *currPath = const_cast<GfxPath*>(state->getPath()); -+ currPath->append(savedPath); -+#else - state->setPath(savedPath); -+#endif - } - } - -@@ -2213,7 +2233,7 @@ void PdfParser::opShowSpaceText(Object args[], int /*numArgs*/) - { - Array *a = nullptr; - Object obj; -- int wMode = 0; // Writing mode (horizontal/vertical). -+ _POPPLER_WMODE wMode = _POPPLER_WMODE_HORIZONTAL; // Writing mode (horizontal/vertical). - - if (!state->getFont()) { - error(errSyntaxError, getPos(), "No font in show/space"); -@@ -2227,7 +2247,7 @@ void PdfParser::opShowSpaceText(Object args[], int /*numArgs*/) - if (obj.isNum()) { - // this uses the absolute value of the font size to match - // Acrobat's behavior -- if (wMode) { -+ if (wMode != _POPPLER_WMODE_HORIZONTAL) { - state->textShift(0, -obj.getNum() * 0.001 * - fabs(state->getFontSize())); - } else { -@@ -2254,7 +2274,7 @@ void PdfParser::doShowText(const GooString *s) { - void PdfParser::doShowText(GooString *s) { - #endif - auto font = state->getFont(); -- int wMode = font->getWMode(); // Vertical/Horizontal/Invalid -+ _POPPLER_WMODE wMode = font->getWMode(); // Vertical/Horizontal/Invalid - - builder->beginString(state, get_goostring_length(*s)); - -@@ -2289,7 +2309,7 @@ void PdfParser::doShowText(GooString *s) { - auto ax = dx; - auto ay = dy; - -- if (wMode != 0) { -+ if (wMode != _POPPLER_WMODE_HORIZONTAL) { - // Vertical text (or invalid value). - dy += state->getCharSpace(); - if (n == 1 && *p == ' ') { -@@ -2964,7 +2984,11 @@ Stream *PdfParser::buildImageStream() { - // make stream - #if defined(POPPLER_NEW_OBJECT_API) - str = new EmbedStream(parser->getStream(), dict.copy(), gFalse, 0); -+#if POPPLER_CHECK_VERSION(26, 2, 0) -+ str = str->addFilters(std::unique_ptr<Stream>(str), dict.getDict()).release(); -+#else - str = str->addFilters(dict.getDict()); -+#endif - #else - str = new EmbedStream(parser->getStream(), &dict, gFalse, 0); - str = str->addFilters(&dict); -@@ -3137,10 +3161,17 @@ void PdfParser::loadOptionalContentLayers(Dict *resources) - auto visible = true; - // Normally we'd use poppler optContentIsVisible, but these dict - // objects don't retain their references so can't be used directly. -+#if POPPLER_CHECK_VERSION(26, 2, 0) -+ for (auto &[ref, ocg] : ocgs->getOCGs()) { -+ if (ocg->getName()->toStr() == label) -+ visible = ocg->getState() == OptionalContentGroup::On; -+ } -+#else - for (auto &[ref, ocg] : ocgs->getOCGs()) { - if (ocg->getName()->cmp(label) == 0) - visible = ocg->getState() == OptionalContentGroup::On; - } -+#endif - builder->addOptionalGroup(dict->getKey(j), label, visible); - } - } -diff --git a/src/extension/internal/pdfinput/poppler-transition-api.h b/src/extension/internal/pdfinput/poppler-transition-api.h -index 866b630bb6..65788128b7 100644 ---- a/src/extension/internal/pdfinput/poppler-transition-api.h -+++ b/src/extension/internal/pdfinput/poppler-transition-api.h -@@ -15,6 +15,16 @@ - #include <glib/poppler-features.h> - #include <poppler/UTF.h> - -+#if POPPLER_CHECK_VERSION(26, 2, 0) -+#define _POPPLER_WMODE GfxFont::WritingMode -+#define _POPPLER_WMODE_HORIZONTAL GfxFont::WritingMode::Horizontal -+#define _POPPLER_WMODE_VERTICAL GfxFont::WritingMode::Vertical -+#else -+#define _POPPLER_WMODE int -+#define _POPPLER_WMODE_HORIZONTAL 0 -+#define _POPPLER_WMODE_VERTICAL 1 -+#endif -+ - #if POPPLER_CHECK_VERSION(25, 7, 0) - #define _POPPLER_TEXT_SHIFT_WITH_USER_COORDS(dx, dy) textShiftWithUserCoords(dx, dy) - #define _POPPLER_FOFI_TRUETYPE_MAKE(font_data, faceIndex) FoFiTrueType::make(std::span(font_data), faceIndex) -diff --git a/src/extension/internal/pdfinput/svg-builder.cpp b/src/extension/internal/pdfinput/svg-builder.cpp -index 94d4342dc4..d854ed8a2e 100644 ---- a/src/extension/internal/pdfinput/svg-builder.cpp -+++ b/src/extension/internal/pdfinput/svg-builder.cpp -@@ -1386,7 +1386,7 @@ void SvgBuilder::updateFont(GfxState *state, std::shared_ptr<CairoFont> cairo_fo - sp_repr_css_set_property(_css_font, "font-variant", "normal"); - - // Writing mode -- if ( font->getWMode() == 0 ) { -+ if ( font->getWMode() == _POPPLER_WMODE_HORIZONTAL ) { - sp_repr_css_set_property(_css_font, "writing-mode", "lr"); - } else { - sp_repr_css_set_property(_css_font, "writing-mode", "tb"); -@@ -1398,7 +1398,7 @@ void SvgBuilder::updateFont(GfxState *state, std::shared_ptr<CairoFont> cairo_fo - */ - void SvgBuilder::updateTextShift(GfxState *state, double shift) { - double shift_value = -shift * 0.001 * fabs(state->getFontSize()); -- if (state->getFont()->getWMode()) { -+ if (state->getFont()->getWMode() != _POPPLER_WMODE_HORIZONTAL) { - _text_position[1] += shift_value; - } else { - _text_position[0] += shift_value; -@@ -1452,7 +1452,7 @@ Inkscape::XML::Node* SvgBuilder::_flushTextText(GfxState *state, double text_sca - - // Text direction is a property of the <text> element. - auto font = state->getFont(); -- if (font->getWMode() == 1) { -+ if (font->getWMode() == _POPPLER_WMODE_VERTICAL) { - // Only set if vertical. - auto css_text = sp_repr_css_attr_new(); - sp_repr_css_set_property(css_text, "writing-mode", "tb"); -@@ -1546,8 +1546,8 @@ Inkscape::XML::Node* SvgBuilder::_flushTextText(GfxState *state, double text_sca - bool output_tspan = - next_it == _glyphs.end() || - next_it->style_changed || -- (writing_mode == 0 && std::abs(glyph.text_position[1] - next_it->text_position[1]) > 0.1) || -- (writing_mode == 1 && std::abs(glyph.text_position[0] - next_it->text_position[0]) > 0.1); -+ (writing_mode == _POPPLER_WMODE_HORIZONTAL && std::abs(glyph.text_position[1] - next_it->text_position[1]) > 0.1) || -+ (writing_mode == _POPPLER_WMODE_VERTICAL && std::abs(glyph.text_position[0] - next_it->text_position[0]) > 0.1); - - if (output_tspan) { - --- -2.53.0 - diff --git a/media-gfx/inkscape/files/inkscape-1.4.3-poppler-26.03.patch b/media-gfx/inkscape/files/inkscape-1.4.3-poppler-26.03.patch deleted file mode 100644 index c320c1019a00..000000000000 --- a/media-gfx/inkscape/files/inkscape-1.4.3-poppler-26.03.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 754a866b878623554ade26d53496eeb8687c4685 Mon Sep 17 00:00:00 2001 -From: Matthias Kilian <kili@outback.escape.de> -Date: Wed, 11 Mar 2026 23:17:00 +0100 -Subject: [PATCH] Fix build with poppler-26.03.0. - ---- - src/extension/internal/pdfinput/pdf-parser.cpp | 4 ++++ - src/extension/internal/pdfinput/poppler-utils.cpp | 4 ++++ - 2 files changed, 8 insertions(+) - -diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp b/src/extension/internal/pdfinput/pdf-parser.cpp -index 5d45e73e06..4aef441f7f 100644 ---- a/src/extension/internal/pdfinput/pdf-parser.cpp -+++ b/src/extension/internal/pdfinput/pdf-parser.cpp -@@ -2962,7 +2962,11 @@ Stream *PdfParser::buildImageStream() { - - // build dictionary - #if defined(POPPLER_NEW_OBJECT_API) -+#if POPPLER_CHECK_VERSION(26, 3, 0) -+ dict = Object(std::make_unique<Dict>(xref)); -+#else - dict = Object(new Dict(xref)); -+#endif - #else - dict.initDict(xref); - #endif -diff --git a/src/extension/internal/pdfinput/poppler-utils.cpp b/src/extension/internal/pdfinput/poppler-utils.cpp -index 21c287298c..ae3f6ea5cc 100644 ---- a/src/extension/internal/pdfinput/poppler-utils.cpp -+++ b/src/extension/internal/pdfinput/poppler-utils.cpp -@@ -89,7 +89,11 @@ InkFontDict::InkFontDict(XRef *xref, Ref *fontDictRef, Dict *fontDict) - r.num = hashFontObject(&obj2); - } - // Newer poppler will require some reworking as it gives a shared ptr. -+#if POPPLER_CHECK_VERSION(26,3,0) -+ fonts[i] = GfxFont::makeFont(xref, fontDict->getKey(i), r, *obj2.getDict()); -+#else - fonts[i] = GfxFont::makeFont(xref, fontDict->getKey(i), r, obj2.getDict()); -+#endif - if (fonts[i] && !fonts[i]->isOk()) { - fonts[i] = nullptr; - } --- -GitLab - diff --git a/media-gfx/inkscape/inkscape-1.4.3-r1.ebuild b/media-gfx/inkscape/inkscape-1.4.3-r1.ebuild deleted file mode 100644 index 3b955e08f3b5..000000000000 --- a/media-gfx/inkscape/inkscape-1.4.3-r1.ebuild +++ /dev/null @@ -1,210 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Remember to check the release notes for a 'Important Changes for Packagers' -# section, e.g. https://inkscape.org/doc/release_notes/1.4/Inkscape_1.4.html#Important_Changes_for_Packagers. - -PYTHON_COMPAT=( python3_{13..14} ) -PYTHON_REQ_USE="xml(+)" - -inherit cmake flag-o-matic xdg toolchain-funcs python-single-r1 - -MY_P="${P/_/}" -DESCRIPTION="SVG based generic vector-drawing program" -HOMEPAGE="https://inkscape.org/ https://gitlab.com/inkscape/inkscape/" - -if [[ ${PV} = 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://gitlab.com/inkscape/inkscape.git" -else - SRC_URI="https://media.inkscape.org/dl/resources/file/${MY_P}.tar.xz" - KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86" -fi - -S="${WORKDIR}/${MY_P}" - -LICENSE="GPL-2 LGPL-2.1" -SLOT="0" -IUSE="cdr dia exif graphicsmagick imagemagick inkjar jpeg openmp postscript readline sourceview spell svg2 test visio wpg X" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -# Lots of test failures which need investigating, bug #871621 -RESTRICT="!test? ( test ) test" - -BDEPEND=" - dev-util/glib-utils - >=sys-devel/gettext-0.17 - virtual/pkgconfig - test? ( virtual/imagemagick-tools ) -" -COMMON_DEPEND="${PYTHON_DEPS} - >=app-text/poppler-0.57.0:=[cairo,lcms] - >=dev-cpp/cairomm-1.12:0 - >=dev-cpp/glibmm-2.58:2 - dev-cpp/gtkmm:3.0 - >=dev-cpp/pangomm-2.40:1.4 - >=dev-libs/boehm-gc-7.1:= - dev-libs/boost:=[stacktrace(-)] - dev-libs/double-conversion:= - >=dev-libs/glib-2.41 - >=dev-libs/libsigc++-2.8:2 - >=dev-libs/libxml2-2.7.4:= - >=dev-libs/libxslt-1.1.25 - dev-libs/popt - media-gfx/potrace - media-libs/libepoxy - media-libs/fontconfig - media-libs/freetype:2 - media-libs/lcms:2 - media-libs/libpng:0= - sci-libs/gsl:= - >=x11-libs/pango-1.44 - x11-libs/gtk+:3[X?] - X? ( x11-libs/libX11 ) - $(python_gen_cond_dep ' - dev-python/appdirs[${PYTHON_USEDEP}] - dev-python/cachecontrol[${PYTHON_USEDEP}] - dev-python/cssselect[${PYTHON_USEDEP}] - dev-python/filelock[${PYTHON_USEDEP}] - dev-python/lockfile[${PYTHON_USEDEP}] - dev-python/lxml[${PYTHON_USEDEP}] - dev-python/pillow[jpeg?,tiff,webp,${PYTHON_USEDEP}] - dev-python/tinycss2[${PYTHON_USEDEP}] - media-gfx/scour[${PYTHON_USEDEP}] - ') - cdr? ( - app-text/libwpg:0.3 - dev-libs/librevenge - media-libs/libcdr - ) - exif? ( media-libs/libexif ) - imagemagick? ( - !graphicsmagick? ( media-gfx/imagemagick:=[cxx] ) - graphicsmagick? ( media-gfx/graphicsmagick:=[cxx] ) - ) - jpeg? ( media-libs/libjpeg-turbo:= ) - readline? ( sys-libs/readline:= ) - sourceview? ( x11-libs/gtksourceview:4 ) - spell? ( app-text/gspell:= ) - visio? ( - app-text/libwpg:0.3 - dev-libs/librevenge - media-libs/libvisio - ) - wpg? ( - app-text/libwpg:0.3 - dev-libs/librevenge - ) -" -# These only use executables provided by these packages -# See share/extensions for more details. inkscape can tell you to -# install these so we could of course just not depend on those and rely -# on that. -RDEPEND="${COMMON_DEPEND} - $(python_gen_cond_dep ' - dev-python/numpy[${PYTHON_USEDEP}] - ') - dia? ( app-office/dia ) - postscript? ( app-text/ghostscript-gpl ) -" -DEPEND="${COMMON_DEPEND} - test? ( dev-cpp/gtest ) -" - -PATCHES=( - "${FILESDIR}"/${P}-poppler-26.0{1,1-warnings,2,3}.patch # in git master - "${FILESDIR}"/${P}-libcroco-cmake-minreqver-3.12.patch # bug 965915 -) - -pkg_pretend() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp -} - -pkg_setup() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp - python-single-r1_pkg_setup -} - -src_unpack() { - if [[ ${PV} = 9999* ]]; then - git-r3_src_unpack - else - default - fi - [[ -d "${S}" ]] || mv -v "${WORKDIR}/${P/_/-}_202"?-??-* "${S}" || die -} - -src_prepare() { - rm -vr src/3rdparty/2geom/tests/dependent-project || die # unused, causing bug #964016 - cmake_src_prepare - sed -i "/install.*COPYING/d" CMakeScripts/ConfigCPack.cmake || die -} - -src_configure() { - # ODR violation (https://gitlab.com/inkscape/lib2geom/-/issues/71, bug #859628) - filter-lto - # Aliasing unsafe (bug #310393) - append-flags -fno-strict-aliasing - - local mycmakeargs=( - # -DWITH_LPETOOL # Compile with LPE Tool and experimental LPEs enabled - -DWITH_NLS=ON - -DENABLE_POPPLER=ON - -DENABLE_POPPLER_CAIRO=ON - -DWITH_PROFILING=OFF - -DWITH_INTERNAL_2GEOM=ON - -DBUILD_TESTING=$(usex test) - -DWITH_LIBCDR=$(usex cdr) - -DWITH_IMAGE_MAGICK=$(usex imagemagick $(usex !graphicsmagick)) # requires ImageMagick 6, only IM must be enabled - -DWITH_GRAPHICS_MAGICK=$(usex graphicsmagick $(usex imagemagick)) # both must be enabled to use GraphicsMagick - -DWITH_GNU_READLINE=$(usex readline) - -DWITH_GSPELL=$(usex spell) - -DWITH_JEMALLOC=OFF - -DENABLE_LCMS=ON - -DWITH_OPENMP=$(usex openmp) - -DBUILD_SHARED_LIBS=ON - -DWITH_GSOURCEVIEW=$(usex sourceview) - -DWITH_SVG2=$(usex svg2) - -DWITH_LIBVISIO=$(usex visio) - -DWITH_LIBWPG=$(usex wpg) - -DWITH_X11=$(usex X) - ) - - cmake_src_configure -} - -src_test() { - CMAKE_SKIP_TESTS=( - # render_text*: needs patched Cairo / maybe upstream changes - # not yet in a release. - # test_lpe/test_lpe64: precision differences b/c of new GCC? - # cli_export-png-color-mode-gray-8_png_check_output: ditto? - render_test-use - render_test-glyph-y-pos - render_text-glyphs-combining - render_text-glyphs-vertical - render_test-rtl-vertical - test_lpe - test_lpe64 - cli_export-png-color-mode-gray-8_png_check_output - ) - - # bug #871621 - cmake_src_compile tests - cmake_src_test -j1 -} - -src_install() { - cmake_src_install - - find "${ED}" -type f -name "*.la" -delete || die - find "${ED}"/usr/share/man -type f -maxdepth 3 -name '*.bz2' -exec bzip2 -d {} \; || die - find "${ED}"/usr/share/man -type f -maxdepth 3 -name '*.gz' -exec gzip -d {} \; || die - - local extdir="${ED}"/usr/share/${PN}/extensions - if [[ -e "${extdir}" ]] && [[ -n $(find "${extdir}" -mindepth 1) ]]; then - python_fix_shebang "${ED}"/usr/share/${PN}/extensions - python_optimize "${ED}"/usr/share/${PN}/extensions - fi -} diff --git a/media-gfx/jp2a/jp2a-1.3.2.ebuild b/media-gfx/jp2a/jp2a-1.3.2.ebuild index 2c42e883c3f6..c65f61e28671 100644 --- a/media-gfx/jp2a/jp2a-1.3.2.ebuild +++ b/media-gfx/jp2a/jp2a-1.3.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -11,7 +11,7 @@ SRC_URI="https://github.com/Talinx/jp2a/releases/download/v${PV}/${P}.tar.bz2" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +KEYWORDS="~amd64 ~ppc ppc64 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="curl" RDEPEND="media-libs/libexif diff --git a/media-gfx/pngcheck/pngcheck-4.0.1.ebuild b/media-gfx/pngcheck/pngcheck-4.0.1.ebuild index 44375c229933..56ae05737ba7 100644 --- a/media-gfx/pngcheck/pngcheck-4.0.1.ebuild +++ b/media-gfx/pngcheck/pngcheck-4.0.1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/pnggroup/pngcheck/archive/v${PV}.tar.gz -> ${P}.tar. LICENSE="HPND GPL-2+" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="~amd64 x86" RDEPEND="virtual/zlib:=" DEPEND="${RDEPEND}" diff --git a/media-gfx/shotwell/Manifest b/media-gfx/shotwell/Manifest index 5ba7f28c955a..5ac8a7e3937f 100644 --- a/media-gfx/shotwell/Manifest +++ b/media-gfx/shotwell/Manifest @@ -1 +1,2 @@ DIST shotwell-0.32.17.tar.xz 35398620 BLAKE2B 1e0986520d245e820df49b9b531c09f265c2aef7733e8ffdca242d9dd212dac3ccaf1fc93bf1fca637b40dce35a6f55a5afbf23b051018f2a8c34432cfc0fdcf SHA512 a5582044708707c5884537415b3a02b38dca629b0e5cb35b4c0f3eba7056f8abe55bcc3332362a1bd6a4547b8cb83df130cc48a5628506da474e9e710d8e9dae +DIST shotwell-33.0.tar.xz 35503952 BLAKE2B 645ea7a552a99e19ad62d4c094e90a28a81b7f58e40d2ee1126a641ef1b69dff4eff20f903b070e5010f3cf928901b4eb68d9aa1e7381835471556f611979f36 SHA512 1b4954dd2c3fa3e8512228232dcf91173261d525ad934d33eb95cb64a6db200d3de1e63585298f2fc4678e13a15d68831453ae79b8cfe488e6eea330c1e7e2b2 diff --git a/media-gfx/shotwell/shotwell-33.0.ebuild b/media-gfx/shotwell/shotwell-33.0.ebuild new file mode 100644 index 000000000000..3a3a611908d0 --- /dev/null +++ b/media-gfx/shotwell/shotwell-33.0.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit gnome.org gnome2-utils meson optfeature vala xdg + +DESCRIPTION="Open source photo manager for GNOME" +HOMEPAGE="https://shotwell-project.org/" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86" +IUSE="opencv udev" + +DEPEND=" + >=gui-libs/gtk-4.22:4 + >=dev-libs/glib-2.88.0:2 + >=dev-libs/libgee-0.8.5:0.8= + >=net-libs/webkit-gtk-2.26:4.1 + net-libs/libsoup:3.0 + >=dev-libs/json-glib-0.7.6 + >=dev-libs/libxml2-2.6.32:2= + x11-libs/gdk-pixbuf:2 + >=dev-db/sqlite-3.5.9:3 + >=media-libs/gstreamer-1.20:1.0 + >=media-libs/gst-plugins-base-1.20:1.0 + >=media-libs/libgphoto2-2.5:= + udev? ( >=dev-libs/libgudev-145:= ) + >=media-libs/gexiv2-0.15.0:0.16= + >=media-libs/libraw-0.13.2:= + >=media-libs/libexif-0.6.16 + app-crypt/libsecret[vala] + >=dev-libs/libportal-0.5:=[gtk,vala] + media-libs/libwebp:= + + app-crypt/gcr:4=[gtk] + x11-libs/cairo + opencv? ( >=media-libs/opencv-4.0.0:=[features2d] ) +" +RDEPEND="${DEPEND} + media-plugins/gst-plugins-gdkpixbuf:1.0 + media-plugins/gst-plugins-meta:1.0 +" +BDEPEND=" + $(vala_depend) + dev-libs/appstream-glib + dev-libs/glib + >=dev-util/gdbus-codegen-2.80.5-r1 + dev-util/itstool + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + net-libs/libsoup:3.0[vala] + media-libs/gexiv2[vala] + app-crypt/gcr:4[vala] +" + +src_prepare() { + default + vala_setup + xdg_environment_reset +} + +src_configure() { + local emesonargs=( + # -Dpublishers # In 0.30.2 all get compiled in anyways, even if restricted list, affects only runtime support + #trace + #measure + -Ddupe_detection=true + $(meson_feature udev) + -Dinstall_apport_hook=false + $(meson_use opencv face_detection) + -Dfatal_warnings=false + ) + meson_src_configure +} + +pkg_postinst() { + xdg_pkg_postinst + gnome2_schemas_update + + optfeature "Enable support for the AVIF format" media-libs/libavif[gdk-pixbuf] + optfeature "Enable support for the HEIF format" media-libs/libheif[gdk-pixbuf] + optfeature "Enable support for the JPEG format" x11-libs/gdk-pixbuf[jpeg] + optfeature "Enable support for the TIFF format" x11-libs/gdk-pixbuf[tiff] +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +} diff --git a/media-gfx/viewnior/viewnior-1.8_p20210825.ebuild b/media-gfx/viewnior/viewnior-1.8_p20210825.ebuild index d9a5cd8a9f9e..a26070aba491 100644 --- a/media-gfx/viewnior/viewnior-1.8_p20210825.ebuild +++ b/media-gfx/viewnior/viewnior-1.8_p20210825.ebuild @@ -13,7 +13,7 @@ S="${WORKDIR}/Viewnior-${COMMIT}" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv ~x86" +KEYWORDS="amd64 ~arm64 ~riscv ~x86" RDEPEND=" dev-libs/glib:2 diff --git a/media-gfx/wings/wings-2.4.1.ebuild b/media-gfx/wings/wings-2.4.1.ebuild index 5e313ac27eac..9a0bf662bf26 100644 --- a/media-gfx/wings/wings-2.4.1.ebuild +++ b/media-gfx/wings/wings-2.4.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -10,7 +10,7 @@ SRC_URI="https://downloads.sourceforge.net/wings/${P}.tar.bz2" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 ~x86" # Run failed with dev-lang/erlang in the range [28, 28.3), see bug 964737 RDEPEND=" diff --git a/media-libs/SoQt/Manifest b/media-libs/SoQt/Manifest index fe72cc2477bc..43b7a5503a86 100644 --- a/media-libs/SoQt/Manifest +++ b/media-libs/SoQt/Manifest @@ -1,2 +1 @@ -DIST soqt-1.6.3-src.tar.gz 7673080 BLAKE2B 3a28a8144de286da10f2c539d5ebf68b2beae006416f91ba849cb7fd6fee25474e3f62603cc6e7b70d80dd8bc5114004a51fba850b81493455919464a957454a SHA512 8cef22cf4214dd03bb4639c1fff77c127bf80f99e3b7fb7c1c21c25a281aa484252414f4a48fa59b8b2485afe7920ce9e86366fd1343badc77b75b78d3ac4c53 DIST soqt-1.6.4-src.tar.gz 7673585 BLAKE2B 9fbf840f31fd361b0929989f5d719b62382a01dae705ca874bacecf4fdf8a403a16245e3db53775c93ae5282f5198cf76f26003a4bfa4f60acbf9c25e4847f20 SHA512 a5a659300bd94be66a4a1dd3e760639fbca7c18247e52ab499986692212de4ccd8f81dfe1e82c514186e1a5931db7f625d805db46c0c71b66a1d33ac8e1988bf diff --git a/media-libs/SoQt/SoQt-1.6.3.ebuild b/media-libs/SoQt/SoQt-1.6.3.ebuild deleted file mode 100644 index 2bdd913e96d0..000000000000 --- a/media-libs/SoQt/SoQt-1.6.3.ebuild +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake flag-o-matic - -DESCRIPTION="GUI binding for using Coin/Open Inventor with Qt" -HOMEPAGE="https://github.com/coin3d/coin/wiki" -SRC_URI="https://github.com/coin3d/soqt/releases/download/v${PV}/${P/SoQt/soqt}-src.tar.gz" -S="${WORKDIR}/soqt" - -LICENSE="GPL-2" -KEYWORDS="amd64 x86" -SLOT="0" -IUSE="debug doc" - -RDEPEND=" - dev-qt/qtbase:6[gui,opengl,widgets] - media-libs/coin - virtual/opengl - x11-libs/libX11 - x11-libs/libXi -" -DEPEND="${RDEPEND} - x11-base/xorg-proto -" -BDEPEND=" - virtual/pkgconfig - doc? ( app-text/doxygen ) -" - -DOCS=( AUTHORS ChangeLog HACKING NEWS README ) - -src_configure() { - use debug && append-cppflags -DSOQT_DEBUG=1 - local mycmakeargs=( - -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" - -DSOQT_BUILD_DOCUMENTATION=$(usex doc) - -DSOQT_BUILD_INTERNAL_DOCUMENTATION=OFF - -DSOQT_USE_QT6=ON - -DSOQT_VERBOSE=$(usex debug) - ) - cmake_src_configure -} diff --git a/media-libs/SoXt/Manifest b/media-libs/SoXt/Manifest index b3acdf4d42e1..56224c05f358 100644 --- a/media-libs/SoXt/Manifest +++ b/media-libs/SoXt/Manifest @@ -1,2 +1 @@ -DIST SoXt-1.4.1-src.tar.gz 1402559 BLAKE2B fd0f0433e1d5c231f4392f7cfa4e6e08bd9d872b46619c6daa9f4fa2157da27780b0a28d4cbb7ea8f3f3a881f90c789760cad2c2709f27bf9f4edb1cdfc1f86c SHA512 c379acb14b7f3a03664a3b1c10bdd14e836a54fb72f62cb728301755ee148b423203513a085534c2ea74704fd3c9a77ceabe1de089aa168c848518a9d690e53e DIST soxt-1.4.2-src.tar.gz 7366540 BLAKE2B 00b0dab81473bf7eb0c5857ed3f1b1182917160021c7aa6d9f8df82d73d9e16e4eef59e681995eb719cbce35a1039775f35e769f8e9dff1dc61c02352f68aaca SHA512 6fdc942a2f6b48406c9e6c67bddd03f7067581ea072845634bee0eb825fca642829f92e0ee8054886e7f5bf553e394b6253da568ce445432d1a1ecd744b22475 diff --git a/media-libs/SoXt/SoXt-1.4.1.ebuild b/media-libs/SoXt/SoXt-1.4.1.ebuild deleted file mode 100644 index 5662d71a9042..000000000000 --- a/media-libs/SoXt/SoXt-1.4.1.ebuild +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake flag-o-matic - -MY_P=${P/soxt/SoXt} - -DESCRIPTION="GUI binding for using Coin/Open Inventor with Xt/Motif" -HOMEPAGE="https://github.com/coin3d/coin/wiki" -SRC_URI="https://github.com/coin3d/soxt/releases/download/v${PV}/${P}-src.tar.gz" -S="${WORKDIR}/soxt" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 ~arm x86" -IUSE="debug doc" - -RDEPEND=" - media-libs/coin - x11-libs/motif:0 - virtual/opengl -" -DEPEND="${RDEPEND}" -BDEPEND=" - virtual/pkgconfig - x11-base/xorg-proto - doc? ( app-text/doxygen ) -" - -DOCS=( AUTHORS ChangeLog HACKING NEWS README TODO BUGS.txt ) - -src_configure() { - use debug && append-cppflags -DSOXT_DEBUG=1 - local mycmakeargs=( - -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" - -DSOXT_BUILD_DOCUMENTATION=$(usex doc) - -DSOXT_BUILD_INTERNAL_DOCUMENTATION=OFF - # Interactive test programs - -DSOXT_BUILD_TESTS=OFF - -DSOXT_VERBOSE=$(usex debug) - ) - cmake_src_configure -} diff --git a/media-libs/alsa-lib/alsa-lib-1.2.16.1.ebuild b/media-libs/alsa-lib/alsa-lib-1.2.16.1.ebuild index 14f2d528fb21..8e5b117e01a7 100644 --- a/media-libs/alsa-lib/alsa-lib-1.2.16.1.ebuild +++ b/media-libs/alsa-lib/alsa-lib-1.2.16.1.ebuild @@ -27,7 +27,7 @@ fi LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha ~amd64 arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" IUSE="debug doc python" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" diff --git a/media-libs/alsa-ucm-conf/alsa-ucm-conf-1.2.16.1.ebuild b/media-libs/alsa-ucm-conf/alsa-ucm-conf-1.2.16.1.ebuild index 15b913ac63ea..32e4a4410656 100644 --- a/media-libs/alsa-ucm-conf/alsa-ucm-conf-1.2.16.1.ebuild +++ b/media-libs/alsa-ucm-conf/alsa-ucm-conf-1.2.16.1.ebuild @@ -15,7 +15,7 @@ SRC_URI=" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha ~amd64 arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" RDEPEND="!<media-libs/alsa-lib-1.2.1" DEPEND="${RDEPEND}" diff --git a/media-libs/coin/Manifest b/media-libs/coin/Manifest index 0468d733cda5..eeb8aa03b8eb 100644 --- a/media-libs/coin/Manifest +++ b/media-libs/coin/Manifest @@ -1,4 +1,3 @@ DIST coin-4.0.10-src.tar.gz 11855404 BLAKE2B eab33a33cd4449762cc61195d3501956f2ea141044fbf2e67a05dd6b37761cefc8dee74e0f3628ed22e366ea50fa41fa83cf6445d5c76532696e16d3b06e9cd5 SHA512 cdd0da0f34fa599f791d504bd740f3ced09ecdb26b5ddf8bc3708b697cddbcfab73b00c2ce7722c083cfbb30716d93621d85000aa298c3aafe6eb136f80f2fef -DIST coin-4.0.4-src.tar.gz 13110106 BLAKE2B fac92cb99b2eb37fe52a3e1bc9c9c8b72c956e135236052dcde2a257374be217d94f3f3a1d908c78dc1ce55adee2d79e6f95e88866600a88bbcf2d4903adcc29 SHA512 5d13c9d03b8da1b6de2be6632434184ff05370039906a34cf9812ab51b849f99cf59db844b32577d2c155218d8ad8fe515e757d445dbbeddda3f4740b0e384a2 DIST coin-4.0.6-src.tar.gz 13114463 BLAKE2B 7760186d86f54188f33357b310bff6e3457d1de04de8d1cf9dcf959516a3828493f47d789d83d2bc628d9dbbb70ba3d36a7e6af34a10a4934d1be6bc07b801e2 SHA512 eaf6d20328abba86d77ec78b38f80149bbcf3a61fd0c33ac22a2cd77f971f29197d2e20498cdd3b317271ca502882864833877f65381f3dded44e4bb51fa439d DIST coin-PR590.patch 635 BLAKE2B d5a8d8da1a1532065a63e8308fced55510c9e8c35978ab853f531946fdc18f94a3083b3a817eebcc4902a7a884a9ed423fc03ba947af94efcf326f1fe087fc4a SHA512 35b57c678a72920273a71e4361d7003a68b6fbc0432477e0e61dfc278fec8b1a0dc1abbc61ed797564802379d9c4265b4a593df7739781408f484b13cd420b8e diff --git a/media-libs/coin/coin-4.0.4.ebuild b/media-libs/coin/coin-4.0.4.ebuild deleted file mode 100644 index 09e8df85513d..000000000000 --- a/media-libs/coin/coin-4.0.4.ebuild +++ /dev/null @@ -1,107 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake flag-o-matic - -DESCRIPTION="High-level 3D graphics toolkit, fully compatible with SGI Open Inventor 2.1" -HOMEPAGE="https://github.com/coin3d/coin/wiki" -SRC_URI="https://github.com/coin3d/coin/releases/download/v${PV}/${P}-src.tar.gz" -S="${WORKDIR}/${PN}" - -LICENSE="|| ( GPL-2 PEL )" -SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~hppa ppc ppc64 x86" -IUSE="debug doc +exceptions openal qch test threads" - -REQUIRED_USE="qch? ( doc )" -RESTRICT="!test? ( test )" - -RDEPEND=" - app-arch/bzip2 - dev-libs/expat - media-libs/fontconfig - media-libs/freetype:2 - media-libs/simage - virtual/zlib:= - virtual/opengl - virtual/glu - x11-libs/libICE - x11-libs/libSM - x11-libs/libX11 - x11-libs/libXext - openal? ( media-libs/openal ) -" -DEPEND="${RDEPEND} - dev-libs/boost:0 - x11-base/xorg-proto -" -BDEPEND=" - doc? ( - app-text/doxygen - qch? ( dev-qt/qttools:6[assistant] ) - ) -" - -PATCHES=( "${FILESDIR}"/${PN}-4.0.3-find-qhelpgenerator.patch ) - -DOCS=( AUTHORS FAQ FAQ.legal NEWS THANKS docs/HACKING ) - -src_configure() { - # -Werror=odr - # https://bugs.gentoo.org/859832 - # https://github.com/coin3d/coin/issues/521 - filter-lto - - use debug && append-cppflags -DCOIN_DEBUG=1 - - local mycmakeargs=( - -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" - - -DCOIN_BUILD_SHARED_LIBS=ON - -DCOIN_BUILD_TESTS=$(usex test) - -DCOIN_BUILD_DOCUMENTATION=$(usex doc) - - -DCOIN_BUILD_INTERNAL_DOCUMENTATION=OFF - -DCOIN_BUILD_AWESOME_DOCUMENTATION=$(usex doc) - -DCOIN_BUILD_DOCUMENTATION_MAN=$(usex doc) - -DCOIN_BUILD_DOCUMENTATION_QTHELP=$(usex qch) - -DCOIN_BUILD_DOCUMENTATION_CHM=OFF - - -DCOIN_THREADSAFE=$(usex threads) - -DHAVE_VRML97=ON - -DCOIN_HAVE_JAVASCRIPT=OFF - -DHAVE_NODEKITS=ON - -DHAVE_DRAGGERS=ON - -DHAVE_MANIPULATORS=ON - -DHAVE_SOUND=$(usex openal) - -DHAVE_3DS_IMPORT_CAPABILITIES=ON - -DUSE_EXTERNAL_EXPAT=ON - -DUSE_EXCEPTIONS=$(usex exceptions) - -DUSE_SUPERGLU=OFF - - -DFONTCONFIG_RUNTIME_LINKING=OFF - -DFREETYPE_RUNTIME_LINKING=OFF - -DLIBBZIP2_RUNTIME_LINKING=OFF - -DOPENAL_RUNTIME_LINKING=OFF - -DSIMAGE_RUNTIME_LINKING=OFF - -DZLIB_RUNTIME_LINKING=OFF - -DGLU_RUNTIME_LINKING=OFF - -DSPIDERMONKEY_RUNTIME_LINKING=ON - - -DCOIN_VERBOSE=$(usex debug) - -DHAVE_MULTIPLE_VERSION=OFF - - -DCOIN_BUILD_SINGLE_LIB=ON - ) - use doc && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON ) - - cmake_src_configure -} - -src_test() { - pushd "${BUILD_DIR}/bin" > /dev/null || die - ./CoinTests -r detailed || die "Tests failed." - popd > /dev/null || die -} diff --git a/media-libs/kvazaar/kvazaar-2.3.2.ebuild b/media-libs/kvazaar/kvazaar-2.3.2.ebuild index 21bc244f797b..b309804ea245 100644 --- a/media-libs/kvazaar/kvazaar-2.3.2.ebuild +++ b/media-libs/kvazaar/kvazaar-2.3.2.ebuild @@ -11,7 +11,7 @@ if [[ ${PV} = *9999 ]] ; then else SRC_URI="https://github.com/ultravideo/kvazaar/archive/v${PV}.tar.gz -> ${P}.tar.gz test? ( https://github.com/silentbicycle/greatest/archive/v${GREATEST_PV}.tar.gz -> greatest-${GREATEST_PV}.tar.gz )" - 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" fi inherit autotools multilib-minimal diff --git a/media-libs/libass/libass-0.17.5.ebuild b/media-libs/libass/libass-0.17.5.ebuild index 01c723c986bb..34bbffca3810 100644 --- a/media-libs/libass/libass-0.17.5.ebuild +++ b/media-libs/libass/libass-0.17.5.ebuild @@ -15,7 +15,7 @@ SRC_URI+=" verify-sig? ( https://github.com/libass/libass/releases/download/${PV LICENSE="ISC" SLOT="0/9" # subslot = libass soname version -KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~arm64-macos ~x64-macos" IUSE="+fontconfig libunibreak test" RESTRICT="!test? ( test )" diff --git a/media-libs/libbluray/libbluray-1.4.1.ebuild b/media-libs/libbluray/libbluray-1.4.1.ebuild index 3e7e0b70a4d7..fc4459d79a33 100644 --- a/media-libs/libbluray/libbluray-1.4.1.ebuild +++ b/media-libs/libbluray/libbluray-1.4.1.ebuild @@ -8,7 +8,7 @@ if [[ ${PV#9999} != ${PV} ]] ; then EGIT_REPO_URI="https://code.videolan.org/videolan/libbluray.git" else SRC_URI="https://downloads.videolan.org/pub/videolan/libbluray/${PV}/${P}.tar.xz" - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="amd64 arm arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" fi inherit meson-multilib java-pkg-opt-2 diff --git a/media-libs/libdvdnav/libdvdnav-7.0.0.ebuild b/media-libs/libdvdnav/libdvdnav-7.0.0.ebuild index a3e43ae93150..759c32185767 100644 --- a/media-libs/libdvdnav/libdvdnav-7.0.0.ebuild +++ b/media-libs/libdvdnav/libdvdnav-7.0.0.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} = 9999 ]]; then EGIT_REPO_URI="https://code.videolan.org/videolan/libdvdnav.git" else SRC_URI="https://downloads.videolan.org/pub/videolan/libdvdnav/${PV}/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" + KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~mips ~ppc ppc64 ~riscv ~sparc ~x86 ~x64-macos" fi LICENSE="GPL-2" diff --git a/media-libs/libdvdread/Manifest b/media-libs/libdvdread/Manifest index 4b23d3baa7f7..d83e25bf4f59 100644 --- a/media-libs/libdvdread/Manifest +++ b/media-libs/libdvdread/Manifest @@ -1,2 +1,3 @@ DIST libdvdread-6.1.3.tar.bz2 395439 BLAKE2B 7a8c0b69692059d51a9d94fc4c934f8259c2aa71ac9a9e6d5da22b3668fcbdf000c47fbc7fdb1257f65b90b4d8a4733e01fc2936033246cf2c6a5b68fef81647 SHA512 c98055829ccbbe2bb7b5df48f6e279cf6e91ecab39a35c37081581452f7df7531c1d7b8abd641c55eeee357235b2658b31478dbc307995cffdf8c011bd0dd0bc DIST libdvdread-7.0.1.tar.xz 90460 BLAKE2B 1c4588d8ceeef1c603a2b17a346237763b6a2d25dad738b985e4f66f4a76f564f68431abc77f644678bdf315f67b1c0cf127b7b46d35bd4f11a7711aed7236ff SHA512 03e7376327ba211fcc51ee4e4705b1cc7649c613a96e186eb62821b57a11a519c46720e33cf3351cd95fa02db200e40d3b1b9f7e4fe5a3003853fc40c5f511f0 +DIST libdvdread-7.1.1.tar.xz 102460 BLAKE2B e3f44e2fad18fe61dd6d4dbd23fa62842384a5350cbc2fb69dde86e4f0d6e064d8dd5a4a2d58b5de2f143b0297d509d53c9ae39345542f1a4ecd9c99151349aa SHA512 4516788708698dbce07181627a228a67daccaaee27d706aa5478dafb02a4e520fbb89c8f8a028f8a135d162eb96ffb36169134c3da75c709be7a2bcb7477d34b diff --git a/media-libs/libdvdread/libdvdread-7.0.1.ebuild b/media-libs/libdvdread/libdvdread-7.0.1.ebuild index dba1e2579ac6..c42d4fad6f27 100644 --- a/media-libs/libdvdread/libdvdread-7.0.1.ebuild +++ b/media-libs/libdvdread/libdvdread-7.0.1.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} = 9999 ]]; then EGIT_REPO_URI="https://code.videolan.org/videolan/libdvdread.git" else SRC_URI="https://downloads.videolan.org/pub/videolan/libdvdread/${PV}/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" + KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~mips ~ppc ppc64 ~riscv ~sparc ~x86 ~x64-macos" fi # See https://code.videolan.org/videolan/libdvdread/-/commit/0e020921726ee812e633959d9ad6315ff58b902b diff --git a/media-libs/libdvdread/libdvdread-7.1.1.ebuild b/media-libs/libdvdread/libdvdread-7.1.1.ebuild new file mode 100644 index 000000000000..dba1e2579ac6 --- /dev/null +++ b/media-libs/libdvdread/libdvdread-7.1.1.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson-multilib + +DESCRIPTION="Library for DVD navigation tools" +HOMEPAGE="https://www.videolan.org/developers/libdvdnav.html" +if [[ ${PV} = 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://code.videolan.org/videolan/libdvdread.git" +else + SRC_URI="https://downloads.videolan.org/pub/videolan/libdvdread/${PV}/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" +fi + +# See https://code.videolan.org/videolan/libdvdread/-/commit/0e020921726ee812e633959d9ad6315ff58b902b +LICENSE="GPL-2 GPL-3" +SLOT="0/8" # libdvdread.so.VERSION +IUSE="+css static-libs" + +RDEPEND="css? ( >=media-libs/libdvdcss-1.3.0[${MULTILIB_USEDEP}] )" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +src_prepare() { + sed -i -e "s/'COPYING', //" -e "s/doc\/${PN}/doc\/${P}/" -e "s/HEAD/DISABLE/" meson.build || die + + default +} + +multilib_src_configure() { + local emesonargs=( + -Ddefault_library=$(usex static-libs both shared) + + $(meson_feature css libdvdcss) + ) + + meson_src_configure +} diff --git a/media-libs/libheif/libheif-1.23.4.ebuild b/media-libs/libheif/libheif-1.23.4.ebuild index 50f6ee10cbd0..70f52ccb11a0 100644 --- a/media-libs/libheif/libheif-1.23.4.ebuild +++ b/media-libs/libheif/libheif-1.23.4.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == *9999* ]] ; then inherit git-r3 else SRC_URI="https://github.com/strukturag/libheif/releases/download/v${PV}/${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" + KEYWORDS="~amd64 arm ~arm64 ~loong ~ppc64 ~riscv ~x86" fi LICENSE="GPL-3 MIT" diff --git a/media-libs/libwmf/libwmf-0.2.15-r1.ebuild b/media-libs/libwmf/libwmf-0.2.15-r1.ebuild index ed84645abb37..48401aa98ea3 100644 --- a/media-libs/libwmf/libwmf-0.2.15-r1.ebuild +++ b/media-libs/libwmf/libwmf-0.2.15-r1.ebuild @@ -14,7 +14,7 @@ SRC_URI="https://github.com/caolanm/libwmf/releases/download/v${PV}/${P}.tar.gz" LICENSE="LGPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="debug doc expat X" RDEPEND=" diff --git a/media-libs/mlt/mlt-7.40.0.ebuild b/media-libs/mlt/mlt-7.40.0.ebuild index 3ad42142868c..8977552ae194 100644 --- a/media-libs/mlt/mlt-7.40.0.ebuild +++ b/media-libs/mlt/mlt-7.40.0.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://github.com/mltframework/${PN}/releases/download/v${PV}/${P}.tar LICENSE="GPL-3" SLOT="0/7" -KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" +KEYWORDS="~amd64 arm64 ~loong ~ppc64 ~riscv ~x86" IUSE="debug ffmpeg frei0r gtk jack libsamplerate opencv opengl python qt6 rtaudio rnnoise rubberband sdl sox test vdpau vidstab vorbis xine xml" diff --git a/media-libs/quarter/Manifest b/media-libs/quarter/Manifest index ff468bdb021b..f48baabd7dec 100644 --- a/media-libs/quarter/Manifest +++ b/media-libs/quarter/Manifest @@ -1,2 +1 @@ -DIST quarter-1.2.2-src.tar.gz 6709135 BLAKE2B 7294236c446ba4389cc89987cf0c461a1414405142a7d943faf8fd215f3ad103994b2cee600b9b8fad56102a7046b3d59de5b6accb748924f8bac604d5ca180c SHA512 a8e0edf1ce6155aef52392a94dbc0f9692c98e295124ac2e7465bde5398f0716822e606b924194251091f7ae3dd39dd134d5a3fdd8a745f22a94c159553271a1 DIST quarter-1.2.3-src.tar.gz 6709677 BLAKE2B 219a3ca2ab843b81ffe51b6170ca0206a3ed4602c7e9a1b0e364accdabacadb03b54c48af2597ae1c1fa0f8bfa6c63701be733a1ce8c2ce09c4181a9705489d9 SHA512 905039dc2c5231b89272ba02aaf41e43b2632367a7bac09f579c4f6569f0cd9cf5003f3a8e315adc9f5c6b1b138ea137a09012888f2d9f59249c76fdf085eaf4 diff --git a/media-libs/quarter/quarter-1.2.2.ebuild b/media-libs/quarter/quarter-1.2.2.ebuild deleted file mode 100644 index fe3b085f07dc..000000000000 --- a/media-libs/quarter/quarter-1.2.2.ebuild +++ /dev/null @@ -1,66 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake flag-o-matic - -DESCRIPTION="GUI binding for using Coin/Open Inventor with Qt" -HOMEPAGE="https://github.com/coin3d/coin/wiki" -SRC_URI="https://github.com/coin3d/quarter/releases/download/v${PV}/${P}-src.tar.gz" -S="${WORKDIR}/quarter" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="debug designer doc qch" - -REQUIRED_USE="qch? ( doc )" - -RDEPEND=" - dev-qt/qtbase:6[gui,opengl,widgets] - dev-qt/qttools:6[widgets] - media-libs/coin - virtual/opengl - designer? ( dev-qt/qttools:6[designer] ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - virtual/pkgconfig - doc? ( - app-text/doxygen[dot] - qch? ( dev-qt/qttools:6[assistant] ) - ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-1.2.1-cmake.patch - "${FILESDIR}"/${P}-find-qhelpgenerator.patch # bug 933432 -) - -DOCS=( AUTHORS NEWS README.md ) - -src_prepare() { - cmake_src_prepare - sed -e 's|/lib$|/lib@LIB_SUFFIX@|' \ - -i Quarter.pc.cmake.in || die -} - -src_configure() { - use debug && append-cppflags -DQUARTER_DEBUG=1 - local mycmakeargs=( - -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" - -DQUARTER_BUILD_SHARED_LIBS=ON - -DQUARTER_BUILD_PLUGIN=$(usex designer) - -DQUARTER_BUILD_EXAMPLES=OFF - -DQUARTER_BUILD_DOCUMENTATION=$(usex doc) - -DQUARTER_BUILD_AWESOME_DOCUMENTATION=$(usex doc) - -DQUARTER_BUILD_DOC_MAN=$(usex doc) - -DQUARTER_BUILD_INTERNAL_DOCUMENTATION=OFF - -DQUARTER_BUILD_DOC_QTHELP=$(usex qch) - -DQUARTER_BUILD_DOC_CHM=OFF - -DQUARTER_USE_QT6=ON - ) - use doc && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON ) - cmake_src_configure -} diff --git a/media-libs/simage/Manifest b/media-libs/simage/Manifest index 0363f696c178..326af3550cef 100644 --- a/media-libs/simage/Manifest +++ b/media-libs/simage/Manifest @@ -1,3 +1,2 @@ -DIST simage-1.8.3.tar.gz 829994 BLAKE2B 794ee3a1c71727af7e92839542470a4732584715b01cbfd5be7b34d8ea8295ca65f5634e10027e0e7e4eb36a024d31704ad31d9aa0a6ad6b66c08612879a1603 SHA512 193137bd00a322fe6c170d3ff318ac81e4cc685bdfa40a0415c5bb95802b6290174fea630eb79956f362b4e79fa0b60916976c63ef26d6a65a6a51d5d9f7de03 DIST simage-1.8.4-src.tar.gz 6798392 BLAKE2B 8135d26075516d35f11917b1c5b0ebc60c559ee6fb4e84c9601e85b28d15ff83eb5031d45e9332b9fcfc113d20c26639e6d118d73601e59a36f15797c2cbe60e SHA512 8dcd55a5ce4b2b135acc3dd2e5e7b589697e545ca68aaf496350202d9bdeeed2c4623d85a56fc8c73f28ece5f02c0047088c8b68732d5067020d487e2ff99965 DIST simage-1.8.5-src.tar.gz 6797333 BLAKE2B 21064d0b78796d233f08d3d10a70a8fcd7aa8de5eb19cc42da1cb2fec9b2a60fba2c12cf41f8cb9fe6109931102d9d5e98d6097705e612961fab0436b1a2bb84 SHA512 9853e071126a1b38325b8e0b0c67f3fd7b03b0e9b372469708785f5425ccc2ca93bfa78d1c83818241b882cf49f145a515b099385731f5086d42f3d43f92cc0d diff --git a/media-libs/simage/files/simage-1.8.3-cmake4.patch b/media-libs/simage/files/simage-1.8.3-cmake4.patch deleted file mode 100644 index af4b1a7452d1..000000000000 --- a/media-libs/simage/files/simage-1.8.3-cmake4.patch +++ /dev/null @@ -1,19 +0,0 @@ -From 0d69e6f9e23a13406d49fe3dc855885046408162 Mon Sep 17 00:00:00 2001 -From: Volker Enderlein <volkerenderlein@hotmail.com> -Date: Tue, 1 Apr 2025 20:22:45 +0200 -Subject: [PATCH] Adapt cmake_minimum_required command for usage with CMake 4.0 - ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 835c498..276178d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,4 +1,4 @@ --cmake_minimum_required(VERSION 3.0) -+cmake_minimum_required(VERSION 3.0...3.29) - - set(SIMAGE_MAJOR_VERSION 1) - set(SIMAGE_MINOR_VERSION 8) diff --git a/media-libs/simage/simage-1.8.3-r1.ebuild b/media-libs/simage/simage-1.8.3-r1.ebuild deleted file mode 100644 index 861e6c96d80f..000000000000 --- a/media-libs/simage/simage-1.8.3-r1.ebuild +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake - -DESCRIPTION="Image and video texturing library" -HOMEPAGE="https://github.com/coin3d/simage/" - -if [[ ${PV} = *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/coin3d/simage.git" -else - SRC_URI="https://github.com/coin3d/simage/releases/download/v${PV}/${P}-src.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 ~arm ~arm64 ~hppa ppc ppc64 ~sparc x86" - S="${WORKDIR}/${PN}" -fi - -LICENSE="BSD-1" -SLOT="0" -IUSE="gif jpeg png qt6 sndfile test tiff vorbis zlib" -RESTRICT="!test? ( test )" - -RDEPEND=" - gif? ( media-libs/giflib:= ) - jpeg? ( media-libs/libjpeg-turbo:= ) - png? ( media-libs/libpng:= ) - qt6? ( dev-qt/qtbase:6[gui] ) - sndfile? ( - media-libs/libsndfile - media-libs/flac:= - ) - tiff? ( - media-libs/tiff:=[lzma,zstd] - app-arch/xz-utils - app-arch/zstd:= - ) - vorbis? ( - media-libs/libogg - media-libs/libvorbis - media-libs/opus - ) - zlib? ( virtual/zlib:= ) -" -DEPEND="${RDEPEND}" -BDEPEND="test? ( media-libs/libsndfile )" - -PATCHES=( - "${FILESDIR}"/${PN}-1.8.1-0001-Gentoo-specific-remove-RELEASE-flag-from-pkg-config.patch - "${FILESDIR}"/${P}-cmake4.patch # bug 952022 -) - -DOCS=( AUTHORS ChangeLog NEWS README ) - -src_configure() { - local mycmakeargs=( - -DSIMAGE_BUILD_SHARED_LIBS=ON - -DSIMAGE_BUILD_EXAMPLES=OFF - -DSIMAGE_BUILD_TESTS=$(usex test) - -DSIMAGE_BUILD_DOCUMENTATION=OFF - -DSIMAGE_USE_AVIENC=OFF # Windows only - -DSIMAGE_USE_GDIPLUS=OFF # Windows - -DSIMAGE_USE_CGIMAGE=OFF # OS X only - -DSIMAGE_USE_QUICKTIME=OFF # OS X only - -DSIMAGE_USE_QIMAGE=$(usex qt6) - -DSIMAGE_USE_QT5=OFF - -DSIMAGE_USE_QT6=$(usex qt6) - -DSIMAGE_USE_CPACK=OFF - -DSIMAGE_USE_STATIC_LIBS=OFF - -DSIMAGE_LIBJASPER_SUPPORT=OFF - -DSIMAGE_LIBSNDFILE_SUPPORT=$(usex sndfile) - -DSIMAGE_OGGVORBIS_SUPPORT=$(usex vorbis) - -DSIMAGE_EPS_SUPPORT=ON - -DSIMAGE_MPEG2ENC_SUPPORT=ON - -DSIMAGE_PIC_SUPPORT=ON - -DSIMAGE_RGB_SUPPORT=ON - -DSIMAGE_TGA_SUPPORT=ON - -DSIMAGE_XWD_SUPPORT=ON - -DSIMAGE_ZLIB_SUPPORT=$(usex zlib) - -DSIMAGE_GIF_SUPPORT=$(usex gif) - -DSIMAGE_JPEG_SUPPORT=$(usex jpeg) - -DSIMAGE_PNG_SUPPORT=$(usex png) - -DSIMAGE_TIFF_SUPPORT=$(usex tiff) - ) - cmake_src_configure -} diff --git a/media-libs/taglib/Manifest b/media-libs/taglib/Manifest index fa200bde8682..bb26a0ee5243 100644 --- a/media-libs/taglib/Manifest +++ b/media-libs/taglib/Manifest @@ -1,4 +1,3 @@ DIST taglib-1.13.1.tar.gz 1372618 BLAKE2B 36cf9b59ded95c9996d04a86055a36a7b74a2a01c13f75826d4907abca0b982c5f9b0e4bcd6648707013108f8eaf424ab95f07c383130452aa169e2cab33f466 SHA512 986231ee62caa975afead7e94630d58acaac25a38bc33d4493d51bd635d79336e81bba60586d7355ebc0670e31f28d32da3ecceaf33292e4bc240c64bf00f35b DIST taglib-2.3.1.tar.gz 1594864 BLAKE2B d29eca8d44f19c1306d1dab79768b293f29de0b25cd91e1689648286762c7102be7934f4b0ea4317e73940428261de26cd56300af946894a2466f376292d9d31 SHA512 f3988a78692527af0cb006c2cf5767f2ca624a35eaf75a594ce29f26f8b8f233d9e79c7925305cb362fa600491a9b5f34a81b622b6456e62e32d94d769be3762 DIST taglib-2.3.2.tar.gz 1754204 BLAKE2B a301dc9d866f97b51bec389d52dea4f31a4a66647acd0aa6c0c13d49bc3a7334c638ce1dd84a55d07d08ec3d72d36cdbd7d43c0ba49a9312af63920dd3e34407 SHA512 800fe379d22d863111a22257a57d81b8e561722e8baf41dc06719913276c31f80f29dda8afd1b99f02c277d9f22e813c54c3329564bbf0ea3448c0bc6575862a -DIST taglib-2.3.tar.gz 1590005 BLAKE2B 5392808f5adb77dbd3d31d60212ab206de627d6a4b1debbb2f3d701c85275e277b788f74d6a97698b5f3e38ffc995f0b5ec2e158d2b8da5c80a2104ef833b33d SHA512 ff19464e2fb19db46823dedd7cecb713875de0c47e55852c5e1032c71fdaf7c129b65beefa6112ca1233a890e2756a89032ec3174b0f83e2d0c0e3d18fdf238c diff --git a/media-libs/taglib/taglib-2.3.ebuild b/media-libs/taglib/taglib-2.3.ebuild deleted file mode 100644 index f681f6ff5583..000000000000 --- a/media-libs/taglib/taglib-2.3.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib - -DESCRIPTION="Library for reading and editing audio meta data" -HOMEPAGE="https://taglib.org" -SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="LGPL-2.1 MPL-1.1" -SLOT="0/2" -KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86" -IUSE="doc examples test" - -RESTRICT="!test? ( test )" - -RDEPEND="virtual/zlib:=[${MULTILIB_USEDEP}]" -DEPEND="${RDEPEND} - dev-libs/utfcpp - test? ( dev-util/cppunit[${MULTILIB_USEDEP}] ) -" -BDEPEND=" - virtual/pkgconfig - doc? ( app-text/doxygen[dot] ) -" - -MULTILIB_CHOST_TOOLS=( - /usr/bin/taglib-config -) - -multilib_src_configure() { - local mycmakeargs=( - -DENABLE_CCACHE=OFF - -DBUILD_EXAMPLES=$(multilib_native_usex examples) - -DBUILD_TESTING=$(usex test) - ) - cmake_src_configure -} - -multilib_src_compile() { - cmake_src_compile - - if multilib_is_native_abi && use doc; then - cmake_build docs - fi -} - -multilib_src_test() { - eninja -C "${BUILD_DIR}" check -} - -multilib_src_install() { - if multilib_is_native_abi && use doc; then - HTML_DOCS=( "${BUILD_DIR}"/doc/html/. ) - fi - cmake_src_install -} diff --git a/media-libs/ttf/ttf-1.1.0.ebuild b/media-libs/ttf/ttf-1.1.0.ebuild index 76396daa38b9..e6c3a28bd409 100644 --- a/media-libs/ttf/ttf-1.1.0.ebuild +++ b/media-libs/ttf/ttf-1.1.0.ebuild @@ -27,7 +27,7 @@ src_prepare() { sed -i -e '/.SILENT:/d' Makefile.in || die # Fix docdir - sed -i -e 's:/doc/pdfio:/doc/${PF}:' Makefile.in || die + sed -i -e 's:/doc/ttf:/doc/${PF}:' Makefile.in || die # Respect CFLAGS sed -i -e 's:-g -Os::' configure.ac configure || die diff --git a/media-libs/ttf/ttf-9999.ebuild b/media-libs/ttf/ttf-9999.ebuild index 6ede74e87e00..393d9db38c8f 100644 --- a/media-libs/ttf/ttf-9999.ebuild +++ b/media-libs/ttf/ttf-9999.ebuild @@ -34,7 +34,7 @@ src_prepare() { sed -i -e '/.SILENT:/d' Makefile.in || die # Fix docdir - sed -i -e 's:/doc/pdfio:/doc/${PF}:' Makefile.in || die + sed -i -e 's:/doc/ttf:/doc/${PF}:' Makefile.in || die # Respect CFLAGS sed -i -e 's:-g -Os::' configure.ac configure || die diff --git a/media-libs/x264/x264-0.0.20240513-r1.ebuild b/media-libs/x264/x264-0.0.20240513-r1.ebuild index a8158bdfe738..386fe300f136 100644 --- a/media-libs/x264/x264-0.0.20240513-r1.ebuild +++ b/media-libs/x264/x264-0.0.20240513-r1.ebuild @@ -16,7 +16,7 @@ if [[ ${PV} == 9999 ]]; then else X264_COMMIT="4613ac3c15fd75cebc4b9f65b7fb95e70a3acce1" SRC_URI="https://code.videolan.org/videolan/x264/-/archive/${X264_COMMIT}/x264-${X264_COMMIT}.tar.bz2 -> ${P}.tar.bz2" - 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" S="${WORKDIR}/${PN}-${X264_COMMIT}" fi diff --git a/media-libs/zint/zint-2.16.0.ebuild b/media-libs/zint/zint-2.16.0.ebuild index b0f07def8e67..7633325a6904 100644 --- a/media-libs/zint/zint-2.16.0.ebuild +++ b/media-libs/zint/zint-2.16.0.ebuild @@ -15,7 +15,7 @@ S="${WORKDIR}/${P}-src" # see LICENSE LICENSE="BSD GPL-3+" SLOT="0/$(ver_cut 1-2)" -KEYWORDS="amd64 ~arm ~ppc ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 arm ~ppc ~ppc64 ~riscv ~x86" IUSE="gui png test" RESTRICT="!test? ( test )" diff --git a/media-plugins/live/live-2026.07.23.ebuild b/media-plugins/live/live-2026.07.23.ebuild index b8ed14a06884..06cdf5b799b3 100644 --- a/media-plugins/live/live-2026.07.23.ebuild +++ b/media-plugins/live/live-2026.07.23.ebuild @@ -18,7 +18,7 @@ LICENSE="LGPL-2.1" # follow versioning in config.linux-with-shared-libraries # SLOT="0/${libliveMedia_VERSION_CURRENT}.${libBasicUsageEnvironment_VERSION_CURRENT}.${libUsageEnvironment_VERSION_CURRENT}.${libgroupsock_VERSION_CURRENT}" SLOT="0/120.3.5.33" -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="ssl tools" diff --git a/media-sound/alsa-utils/alsa-utils-1.2.16.ebuild b/media-sound/alsa-utils/alsa-utils-1.2.16.ebuild index d64052073f29..7527615e7edf 100644 --- a/media-sound/alsa-utils/alsa-utils-1.2.16.ebuild +++ b/media-sound/alsa-utils/alsa-utils-1.2.16.ebuild @@ -15,7 +15,7 @@ SRC_URI=" LICENSE="GPL-2" SLOT="0.9" -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="bat doc +libsamplerate ieee1394 +ncurses nls selinux" DEPEND=" diff --git a/media-sound/kid3/Manifest b/media-sound/kid3/Manifest index 4dae0ea79ecb..b34588f172df 100644 --- a/media-sound/kid3/Manifest +++ b/media-sound/kid3/Manifest @@ -1,2 +1 @@ -DIST kid3-3.10.0.tar.xz 2021508 BLAKE2B 68102f7e48fa128bb7626fbedc54f92c53ba2eed7465998f485895d2f7d64114f894bb606f7edd5d3ec88b88797623f145c55332e827a2782a19d10e97d5e654 SHA512 6a8684770be8ef2ecef6c0eec6ff5f9c65d049e3c1892585f33a2cf096e33b9b729a91d203dd9a605ff5db41e134b84e44d8f42a26c42036721191ef5f6a732f DIST kid3-3.10.1.tar.xz 2036180 BLAKE2B 93666b731fd2bc3b8426586ba1cf4e9046dffc8d6c636e6060b552ea77949612a8db391cb9840d26275e8dd144e5267c76b935ea6fbd1dd12f4f6238d521ebfc SHA512 f3563d7cb25eb9047a53ec204f9f89e399c0f4ce10d960279c0914998ff0ef5dc49db659723b08cac395718979ba4b2cc1490f63af0bbf13f818bb6f28060a8d diff --git a/media-sound/kid3/kid3-3.10.0.ebuild b/media-sound/kid3/kid3-3.10.0.ebuild deleted file mode 100644 index 2e7fa6e0e251..000000000000 --- a/media-sound/kid3/kid3-3.10.0.ebuild +++ /dev/null @@ -1,95 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -inherit cmake kde.org python-any-r1 xdg - -DESCRIPTION="Simple tag editor based on Qt" -HOMEPAGE="https://kid3.kde.org/" - -if [[ ${KDE_BUILD_TYPE} != live ]]; then - SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz" - KEYWORDS="amd64 ~x86" -fi - -LICENSE="GPL-2+" -SLOT="0" -IUSE="acoustid flac kde mp3 mp4 +mpris +taglib test vorbis" - -REQUIRED_USE="test? ( flac mp3 mp4 taglib vorbis )" # bug 926747 -RESTRICT="!test? ( test )" - -DEPEND=" - dev-qt/qtbase:6[gui,network,widgets,xml] - dev-qt/qtdeclarative:6 - dev-qt/qtmultimedia:6 - sys-libs/readline:= - acoustid? ( - media-libs/chromaprint:= - media-video/ffmpeg:= - ) - flac? ( media-libs/flac:=[cxx] ) - kde? ( - kde-frameworks/kconfig:6 - kde-frameworks/kconfigwidgets:6 - kde-frameworks/kcoreaddons:6 - kde-frameworks/kio:6 - kde-frameworks/kwidgetsaddons:6 - kde-frameworks/kxmlgui:6 - ) - mp3? ( media-libs/id3lib ) - mp4? ( media-libs/libmp4v2 ) - mpris? ( dev-qt/qtbase:6[dbus] ) - taglib? ( >=media-libs/taglib-1.9.1:= ) - vorbis? ( - media-libs/libogg - media-libs/libvorbis - ) -" -RDEPEND="${DEPEND} - !media-sound/kid3:5 -" -BDEPEND="${PYTHON_DEPS} - dev-qt/qttools:6[linguist] - kde? ( kde-frameworks/extra-cmake-modules:0 ) -" - -pkg_setup() { - use test && python-any-r1_pkg_setup -} - -src_prepare() { - # overengineered upstream build system - cmake_src_prepare - # applies broken python hacks, bug #614950 - cmake_comment_add_subdirectory doc -} - -src_configure() { - local mycmakeargs=( - -DBUILD_WITH_QT6=ON - -DWITH_QAUDIODECODER=ON # bug 855281 - -DWITH_CHROMAPRINT=$(usex acoustid) - -DWITH_DBUS=$(usex mpris) - -DWITH_FLAC=$(usex flac) - -DWITH_ID3LIB=$(usex mp3) - -DWITH_MP4V2=$(usex mp4) - -DWITH_TAGLIB=$(usex taglib) - -DBUILD_TESTING=$(usex test) - -DWITH_VORBIS=$(usex vorbis) - ) - - if use kde; then - mycmakeargs+=( "-DWITH_APPS=KDE;CLI" ) - else - mycmakeargs+=( "-DWITH_APPS=Qt;CLI" ) - fi - - if use acoustid; then - addpredict /dev # bug #855281 - fi - - cmake_src_configure -} diff --git a/media-sound/mac/mac-13.26.ebuild b/media-sound/mac/mac-13.26.ebuild index afc1fbe96169..53fe5439ad17 100644 --- a/media-sound/mac/mac-13.26.ebuild +++ b/media-sound/mac/mac-13.26.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://monkeysaudio.com/files/MAC_${PV/.}_SDK.zip -> ${P}.zip" LICENSE="BSD" SLOT="0/17" -KEYWORDS="~alpha ~amd64 ~loong ppc ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha amd64 ~loong ppc ppc64 ~riscv ~sparc x86" BDEPEND="app-arch/unzip" diff --git a/media-sound/pavucontrol/Manifest b/media-sound/pavucontrol/Manifest index 2efaa217b7c5..749ec4df7f14 100644 --- a/media-sound/pavucontrol/Manifest +++ b/media-sound/pavucontrol/Manifest @@ -1,2 +1 @@ -DIST pavucontrol-5.0.tar.xz 194248 BLAKE2B 9e6b9b7d94be51a4ad8b5310e031c4fed0f5299e67c770c9a573c0647edf27345014fb6504892fad29b9b5e79ce43ed312217dbed8e2b31b805f291531062903 SHA512 5673d783c2c819a68b49025c051bedd39f4caba446a479797b06569e24a96acc0924ba680d2416baff8c3211cfc7c94760d503900207fbe7c89c5cb2adaebec1 DIST pavucontrol-6.1.tar.xz 169488 BLAKE2B 888fbe404482e5da5b59d10f913f174daa128029babbb9493df5df5d6d3c0b95e22d03a3ec2629fbcd4f33c6267f6e2173428d7eb9be8b7f4c7f012d3e777e92 SHA512 90a0d85916010f624928f6aa68524f776b0a529d84e75287739a07db48e4084767ca0caf75503e44e04d8add84b1d668ee9ed5b822b8f8f945cd902cdf78413a diff --git a/media-sound/pavucontrol/files/pavucontrol-5.0-make-libcanberra-optional.patch b/media-sound/pavucontrol/files/pavucontrol-5.0-make-libcanberra-optional.patch deleted file mode 100644 index 595cf9f8d0bd..000000000000 --- a/media-sound/pavucontrol/files/pavucontrol-5.0-make-libcanberra-optional.patch +++ /dev/null @@ -1,125 +0,0 @@ -From 8916cb62b0facf45ccb220fd2efd5746fdaf79b8 Mon Sep 17 00:00:00 2001 -From: Adrian Ratiu <adrian.ratiu@collabora.com> -Date: Mon, 25 Mar 2024 02:19:42 +0200 -Subject: [PATCH] Make libcanberra optional - -libcanberra is an old abandoned project whose last release -was well over a decade ago, despite getting some few fixes -on its master branch since then, which are unreleased. - -My problem with libcanberra is that it can't be built on -pure wayland systems (no X11 headers) which are becoming -more common nowadays. - -It is the only thing keeping pavucontrol tied to X11, all -other dependencies (eg gtk+) build fine on pure wayland. -Since canberra is not a core part of the project, let's -make it optional so pavucontrol can build & work on -pure wayland systems. - -Ideally in the future libcanberra can be replaced with -something else, however I don't have the bandwidth to -take this on for now, so I'm just making it optional. - -Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com> ---- - configure.ac | 9 ++++++++- - src/pavuapplication.cc | 2 -- - src/pavucontrol.cc | 4 ++++ - src/sinkwidget.cc | 5 +++++ - 4 files changed, 17 insertions(+), 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 056ba5e..1b793b8 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -41,10 +41,17 @@ AC_TYPE_SIGNAL - AC_HEADER_STDC - AX_CXX_COMPILE_STDCXX_11 - --PKG_CHECK_MODULES(GUILIBS, [ gtkmm-3.0 >= 3.22 sigc++-2.0 libcanberra-gtk3 >= 0.16 json-glib-1.0 ]) -+PKG_CHECK_MODULES(GUILIBS, [ gtkmm-3.0 >= 3.22 sigc++-2.0 json-glib-1.0 ]) - AC_SUBST(GUILIBS_CFLAGS) - AC_SUBST(GUILIBS_LIBS) - -+AC_CHECK_LIB([canberra-gtk3], [canberra_gtk_play], [HAVE_LIBCANBERRA=yes], [HAVE_LIBCANBERRA=no]) -+AS_IF([test "x$HAVE_LIBCANBERRA" = "xyes"], [ -+ AC_DEFINE([HAVE_LIBCANBERRA], [1], [Have libcanberra support.]) -+ AC_SUBST(LIBCANBERRA_CFLAGS) -+ AC_SUBST(LIBCANBERRA_LIBS) -+]) -+ - if test -d ../pulseaudio ; then - PULSE_CFLAGS='-I$(top_srcdir)/../pulseaudio/src' - PULSE_LIBS='-L$(top_srcdir)/../pulseaudio/src/.libs -lpulse -lpulse-mainloop-glib' -diff --git a/src/pavuapplication.cc b/src/pavuapplication.cc -index 6773b53..60c016c 100644 ---- a/src/pavuapplication.cc -+++ b/src/pavuapplication.cc -@@ -24,8 +24,6 @@ - - #include "i18n.h" - --#include <canberra-gtk.h> -- - #include "pavuapplication.h" - #include "pavucontrol.h" - #include "mainwindow.h" -diff --git a/src/pavucontrol.cc b/src/pavucontrol.cc -index 18d5400..ff652be 100644 ---- a/src/pavucontrol.cc -+++ b/src/pavucontrol.cc -@@ -29,7 +29,9 @@ - #include <json-glib/json-glib.h> - #endif - -+#ifdef HAVE_LIBCANBERRA - #include <canberra-gtk.h> -+#endif - - #include "pavucontrol.h" - #include "i18n.h" -@@ -916,7 +918,9 @@ MainWindow* pavucontrol_get_window(pa_glib_mainloop *m, bool maximize, bool _ret - tab_number = _tab_number; - retry = _retry; - -+#ifdef HAVE_LIBCANBERRA - ca_context_set_driver(ca_gtk_context_get(), "pulse"); -+#endif - - mainWindow = MainWindow::create(maximize); - -diff --git a/src/sinkwidget.cc b/src/sinkwidget.cc -index f30bd37..41d7bb8 100644 ---- a/src/sinkwidget.cc -+++ b/src/sinkwidget.cc -@@ -24,7 +24,10 @@ - - #include "sinkwidget.h" - -+#ifdef HAVE_LIBCANBERRA - #include <canberra-gtk.h> -+#endif -+ - #if HAVE_EXT_DEVICE_RESTORE_API - # include <pulse/format.h> - # include <pulse/ext-device-restore.h> -@@ -120,6 +123,7 @@ void SinkWidget::executeVolumeUpdate() { - - pa_operation_unref(o); - -+#ifdef HAVE_LIBCANBERRA - ca_context_playing(ca_gtk_context_get(), 2, &playing); - if (playing) - return; -@@ -136,6 +140,7 @@ void SinkWidget::executeVolumeUpdate() { - NULL); - - ca_context_change_device(ca_gtk_context_get(), NULL); -+#endif - } - - void SinkWidget::onMuteToggleButton() { --- -2.43.2 - diff --git a/media-sound/pavucontrol/files/pavucontrol-6.1-docdir.patch b/media-sound/pavucontrol/files/pavucontrol-6.1-docdir.patch deleted file mode 100644 index 55dd41921a37..000000000000 --- a/media-sound/pavucontrol/files/pavucontrol-6.1-docdir.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/meson.build b/meson.build -index bc1a300..553abc1 100644 ---- a/meson.build -+++ b/meson.build -@@ -28,7 +28,7 @@ configinc = include_directories('.') - - prefix = get_option('prefix') - datadir = join_paths(prefix, get_option('datadir')) --docdir = join_paths(datadir, 'doc', 'pavucontrol') -+docdir = join_paths(datadir, 'doc', 'pavucontrol-' + meson.project_version()) - localedir = join_paths(prefix, get_option('localedir')) - - cdata = configuration_data() diff --git a/media-sound/pavucontrol/pavucontrol-5.0-r4.ebuild b/media-sound/pavucontrol/pavucontrol-5.0-r4.ebuild deleted file mode 100644 index c35f01980e1b..000000000000 --- a/media-sound/pavucontrol/pavucontrol-5.0-r4.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -DESCRIPTION="Pulseaudio Volume Control, GTK based mixer for Pulseaudio" -HOMEPAGE="https://freedesktop.org/software/pulseaudio/pavucontrol/" -SRC_URI="https://freedesktop.org/software/pulseaudio/${PN}/${P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 arm ~arm64 ~hppa ~loong ppc ~ppc64 ~riscv ~sparc x86" -IUSE="nls X" - -inherit autotools - -PATCHES=( - "${FILESDIR}/${PN}-5.0-make-libcanberra-optional.patch" -) - -RDEPEND=" - dev-libs/json-glib - X? ( - >=dev-cpp/gtkmm-3.22:3.0[X] - || ( - media-libs/libcanberra-gtk3 - >=media-libs/libcanberra-0.16[gtk3(-)] - ) - ) - !X? ( >=dev-cpp/gtkmm-3.22:3.0 ) - >=dev-libs/libsigc++-2.2:2 - >=media-libs/libpulse-15.0[glib] - virtual/freedesktop-icon-theme -" -DEPEND="${RDEPEND}" -BDEPEND=" - virtual/pkgconfig - nls? ( - dev-util/intltool - sys-devel/gettext - ) -" - -src_prepare() { - default - eautoreconf -} - -src_configure() { - local myeconfargs=( - --disable-lynx - $(use_enable nls) - ) - econf "${myeconfargs[@]}" -} diff --git a/media-sound/pavucontrol/pavucontrol-6.1.ebuild b/media-sound/pavucontrol/pavucontrol-6.1.ebuild deleted file mode 100644 index 1a8b23357e32..000000000000 --- a/media-sound/pavucontrol/pavucontrol-6.1.ebuild +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION="Pulseaudio Volume Control, GTK based mixer for Pulseaudio" -HOMEPAGE="https://freedesktop.org/software/pulseaudio/pavucontrol/" -SRC_URI="https://freedesktop.org/software/pulseaudio/${PN}/${P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86" -IUSE="X" - -inherit meson - -RDEPEND=" - dev-libs/json-glib - dev-cpp/gtkmm:4.0 - X? ( media-libs/libcanberra-gtk3 ) - dev-libs/libsigc++:3 - >=media-libs/libpulse-15.0[glib] - virtual/freedesktop-icon-theme -" -DEPEND="${RDEPEND}" -BDEPEND=" - virtual/pkgconfig - sys-devel/gettext -" - -PATCHES=( - "${FILESDIR}/pavucontrol-6.1-docdir.patch" -) - -src_configure() { - local emesonargs=( - -Dlynx=false - ) - - meson_src_configure -} diff --git a/media-video/mpv/mpv-9999.ebuild b/media-video/mpv/mpv-9999.ebuild index c1f8abca9060..4cfa8300cbd8 100644 --- a/media-video/mpv/mpv-9999.ebuild +++ b/media-video/mpv/mpv-9999.ebuild @@ -69,7 +69,10 @@ COMMON_DEPEND=" x11-libs/libdrm egl? ( media-libs/mesa[gbm(+)] ) ) - dvd? ( media-libs/libdvdnav ) + dvd? ( + media-libs/libdvdnav + >=media-libs/libdvdread-7.1.1:= + ) egl? ( media-libs/libglvnd media-libs/libplacebo[opengl] @@ -168,9 +171,7 @@ src_configure() { -Dcplugins=enabled $(meson_feature curl libcurl) $(meson_feature dvb dvbin) - # TODO: depend on >=libdvdread-7.1.1 w/ USE=dvd when it is - # packaged (bug #981444) - -Ddvda=disabled #$(meson_feature dvd dvda) + $(meson_feature dvd dvda) $(meson_feature dvd dvdnav) $(meson_feature gamepad sdl2-gamepad) $(meson_feature iconv) diff --git a/media-video/recordmydesktop/recordmydesktop-0.4.0-r2.ebuild b/media-video/recordmydesktop/recordmydesktop-0.4.0-r2.ebuild index be5d45f1f2ee..66792c06ef95 100644 --- a/media-video/recordmydesktop/recordmydesktop-0.4.0-r2.ebuild +++ b/media-video/recordmydesktop/recordmydesktop-0.4.0-r2.ebuild @@ -12,7 +12,7 @@ S="${WORKDIR}/${P}/${PN}" LICENSE="GPL-2+" SLOT="0" -KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" +KEYWORDS="~amd64 ~ppc ppc64 ~x86" IUSE="alsa jack" RDEPEND="x11-libs/libXext diff --git a/metadata/stabilization-groups/vim-classic.group b/metadata/stabilization-groups/vim-classic.group new file mode 100644 index 000000000000..119a2601b3ba --- /dev/null +++ b/metadata/stabilization-groups/vim-classic.group @@ -0,0 +1,3 @@ +app-editors/gvim-classic +app-editors/vim-classic +app-editors/vim-classic-core diff --git a/net-dns/cares-tools/cares-tools-0.4.ebuild b/net-dns/cares-tools/cares-tools-0.4.ebuild index 268ec6a47939..46fce32845fe 100644 --- a/net-dns/cares-tools/cares-tools-0.4.ebuild +++ b/net-dns/cares-tools/cares-tools-0.4.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://gitlab.com/grobian/${PN}/-/archive/${PV}/${P}.tar.bz2" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm64-macos ~x64-macos ~x64-solaris" +KEYWORDS="~amd64 ~arm64 ~arm64-macos ~x64-macos ~x64-solaris" DEPEND=" net-dns/c-ares diff --git a/net-dns/dnstop/dnstop-20250530.ebuild b/net-dns/dnstop/dnstop-20250530.ebuild index 2908e7a50af4..6b09a57bc08d 100644 --- a/net-dns/dnstop/dnstop-20250530.ebuild +++ b/net-dns/dnstop/dnstop-20250530.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,7 +13,7 @@ S="${WORKDIR}/${PN}-${SRC_COMMIT}" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm ~hppa ~ppc ~x86" +KEYWORDS="~amd64 arm ~hppa ~ppc ~x86" RDEPEND=" sys-libs/ncurses:0 diff --git a/net-firewall/firewalld/firewalld-2.5.2.ebuild b/net-firewall/firewalld/firewalld-2.5.2.ebuild index 92650865261d..3a8776cdc3cf 100644 --- a/net-firewall/firewalld/firewalld-2.5.2.ebuild +++ b/net-firewall/firewalld/firewalld-2.5.2.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://github.com/firewalld/firewalld/releases/download/v${PV}/${P}.ta LICENSE="GPL-2+" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +KEYWORDS="~amd64 arm arm64 ~loong ~ppc64 ~riscv ~x86" IUSE="gui selinux test" # Tests are too unreliable in sandbox environment RESTRICT="!test? ( test ) test" diff --git a/net-irc/quassel/quassel-0.14.50_pre20260525.ebuild b/net-irc/quassel/quassel-0.14.50_pre20260525.ebuild deleted file mode 100644 index 97595d2c10c1..000000000000 --- a/net-irc/quassel/quassel-0.14.50_pre20260525.ebuild +++ /dev/null @@ -1,214 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake optfeature pax-utils systemd xdg-utils - -if [[ ${PV} != *9999* ]]; then - COMMIT=6b8343eeffa291be941fd18d637210f048495318 # qt6-migration branch - if [[ -n ${COMMIT} ]]; then - SRC_URI="https://github.com/johu/quassel/archive/${COMMIT}.tar.gz -> ${P}-${COMMIT:0:8}.tar.gz" - # quassel-i18n branch tx-sync (po subdir) @d88d126 - SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${PN}-i18n-0.14.50_pre20260427.tar.xz" - S="${WORKDIR}/${PN}-${COMMIT}" - else - MY_P=${PN}-${PV/_/-} - if [[ ${PV} == *_rc* ]]; then - SRC_URI="https://github.com/quassel/quassel/archive/refs/tags/${PV/_/-}.tar.gz -> ${P}.tar.gz" - else - SRC_URI="https://quassel-irc.org/pub/${MY_P}.tar.bz2" - fi - S="${WORKDIR}/${MY_P}" - fi - # RCs weren't keyworded in past, but we are past that point - KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" -else - EGIT_REPO_URI=( https://github.com/johu/${PN} ) # as long as Qt6 isn't - EGIT_BRANCH=( feat/qt6-migration ) # merged upstream ... - # See also: https://github.com/quassel/quassel/pull/631 - # EGIT_REPO_URI=( "https://github.com/${PN}/${PN}" ) - inherit git-r3 -fi - -DESCRIPTION="Qt/KDE IRC client supporting a remote daemon for 24/7 connectivity" -HOMEPAGE="https://quassel-irc.org/" - -LICENSE="GPL-3" -SLOT="0" -IUSE="crypt +dbus gui kde ldap monolithic oxygen postgres +server spell syslog +system-icons test urlpreview" - -REQUIRED_USE=" - || ( gui server monolithic ) - crypt? ( || ( server monolithic ) ) - kde? ( dbus spell ) - ldap? ( || ( server monolithic ) ) - postgres? ( || ( server monolithic ) ) - spell? ( || ( gui monolithic ) ) - syslog? ( || ( server monolithic ) ) -" - -RESTRICT="!test? ( test )" - -SERVER_DEPEND=" - acct-group/quassel - acct-user/quassel - crypt? ( >=app-crypt/qca-2.3.7:2[qt6(+)] ) - ldap? ( net-nds/openldap:= ) - postgres? ( dev-qt/qtbase:6[postgres,sql] ) - !postgres? ( - dev-qt/qtbase:6[sql,sqlite] - dev-db/sqlite:3[threadsafe(+),-secure-delete] - ) - syslog? ( virtual/logger ) -" -GUI_DEPEND=" - dev-qt/qt5compat:6 - dev-qt/qtbase:6[dbus?,gui,widgets] - dev-qt/qtmultimedia:6 - kde? ( - kde-frameworks/kconfigwidgets:6 - kde-frameworks/kcoreaddons:6 - kde-frameworks/knotifications:6 - kde-frameworks/knotifyconfig:6 - kde-frameworks/ktextwidgets:6 - kde-frameworks/kwidgetsaddons:6 - kde-frameworks/kxmlgui:6 - ) - spell? ( kde-frameworks/sonnet:6 ) - system-icons? ( - kde-frameworks/breeze-icons:* - oxygen? ( kde-frameworks/oxygen-icons:* ) - ) - urlpreview? ( dev-qt/qtwebengine:6[widgets] ) -" -RDEPEND=" - dev-libs/boost:= - dev-qt/qtbase:6[network,ssl] - virtual/zlib:= - monolithic? ( - ${GUI_DEPEND} - ${SERVER_DEPEND} - ) - !monolithic? ( - gui? ( ${GUI_DEPEND} ) - server? ( ${SERVER_DEPEND} ) - ) -" -DEPEND="${RDEPEND} - test? ( dev-cpp/gtest ) -" -BDEPEND=" - dev-qt/qttools:6[linguist] - kde-frameworks/extra-cmake-modules:0 -" - -DOCS=( AUTHORS ChangeLog README.md ) - -src_unpack() { - case ${PV} in - 9999) git-r3_src_unpack ;& - *) - default - if [[ -n ${COMMIT} ]]; then - mv "${WORKDIR}"/po "${S}" || die - fi - ;; - esac -} - -src_configure() { - local mycmakeargs=( - -DUSE_CCACHE=OFF - -DCMAKE_SKIP_RPATH=ON - -DEMBED_DATA=OFF - -DWANT_QTCLIENT=$(usex gui) - -DWITH_KDE=$(usex kde) - -DWITH_LDAP=$(usex ldap) - -DWANT_MONO=$(usex monolithic) - -DWITH_OXYGEN_ICONS=$(usex oxygen) - -DWANT_CORE=$(usex server) - -DWITH_BUNDLED_ICONS=$(usex !system-icons) - -DBUILD_TESTING=$(usex test) - -DWITH_WEBENGINE=$(usex urlpreview) - ) - - # bug #830708 - if use gui || use monolithic ; then - mycmakeargs+=( - $(cmake_use_find_package dbus Qt6DBus) - $(cmake_use_find_package spell KF6Sonnet) - ) - fi - - if use server || use monolithic ; then - mycmakeargs+=( $(cmake_use_find_package crypt Qca-qt6) ) - fi - - cmake_src_configure -} - -src_install() { - cmake_src_install - - if use server ; then - # Needs PaX marking, bug #346255 - pax-mark m "${ED}"/usr/bin/quasselcore - - # Init scripts & systemd unit - newinitd "${FILESDIR}"/quasselcore.init-r1 quasselcore - newconfd "${FILESDIR}"/quasselcore.conf-r1 quasselcore - systemd_dounit "${FILESDIR}"/quasselcore.service - - # logrotate - insinto /etc/logrotate.d - newins "${FILESDIR}"/quassel.logrotate quassel - fi -} - -src_test() { - LD_LIBRARY_PATH="${BUILD_DIR}/lib:${LD_LIBRARY_PATH}" cmake_src_test -} - -pkg_postinst() { - if use monolithic ; then - elog "Information on how to enable SSL support for client/core connections" - elog "is available at: https://bugs.quassel-irc.org/projects/quassel-irc/wiki/Client-Core_SSL_support" - fi - - if use server ; then - einfo "If you want to generate SSL certificate, remember to run:" - einfo " emerge --config =${CATEGORY}/${PF}" - fi - - if use server || use monolithic ; then - optfeature "running Quassel within an ident daemon" "net-misc/oidentd" - fi - - xdg_icon_cache_update -} - -pkg_postrm() { - xdg_icon_cache_update -} - -pkg_config() { - if use server ; then - # Generate the pem file only when it does not already exist - QUASSEL_DIR="${EROOT}"/var/lib/${PN} - - if [[ ! -f "${QUASSEL_DIR}/quasselCert.pem" ]] ; then - einfo "Generating Quassel SSL certificate to: \"${QUASSEL_DIR}/quasselCert.pem\"" - openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ - -keyout "${QUASSEL_DIR}/quasselCert.pem" \ - -out "${QUASSEL_DIR}/quasselCert.pem" || die - - # Permissions for the key - chown ${PN}:${PN} "${QUASSEL_DIR}/quasselCert.pem" || die - chmod 400 "${QUASSEL_DIR}/quasselCert.pem" || die - else - einfo "Certificate \"${QUASSEL_DIR}/quasselCert.pem\" already exists." - einfo "Remove it if you want to create new one." - fi - fi -} diff --git a/net-libs/libgssglue/libgssglue-0.9-r1.ebuild b/net-libs/libgssglue/libgssglue-0.9-r1.ebuild index e261792b5ed4..5cabbb298bb5 100644 --- a/net-libs/libgssglue/libgssglue-0.9-r1.ebuild +++ b/net-libs/libgssglue/libgssglue-0.9-r1.ebuild @@ -19,7 +19,7 @@ SRC_URI=" LICENSE="BSD" 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" RDEPEND="virtual/krb5" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-libgssglue )" diff --git a/net-libs/loudmouth/loudmouth-1.5.4-r1.ebuild b/net-libs/loudmouth/loudmouth-1.5.4-r1.ebuild index cb10809f672e..e5599c7e890b 100644 --- a/net-libs/loudmouth/loudmouth-1.5.4-r1.ebuild +++ b/net-libs/loudmouth/loudmouth-1.5.4-r1.ebuild @@ -9,7 +9,7 @@ SRC_URI="https://mcabber.com/files/${PN}/${P}.tar.bz2" LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha ~amd64 arm ~arm64 ~ppc ppc64 ~riscv ~sparc ~x86" IUSE="asyncns debug +gnutls idn +ssl" RDEPEND=" diff --git a/net-libs/webkit-gtk/webkit-gtk-2.52.6-r410.ebuild b/net-libs/webkit-gtk/webkit-gtk-2.52.6-r410.ebuild index 4439dae1adfb..27a7e8976b1f 100644 --- a/net-libs/webkit-gtk/webkit-gtk-2.52.6-r410.ebuild +++ b/net-libs/webkit-gtk/webkit-gtk-2.52.6-r410.ebuild @@ -17,7 +17,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="LGPL-2+ BSD" SLOT="4.1/0" # soname version of libwebkit2gtk-4.1 -KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv ~sparc x86" +KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~sparc x86" IUSE="aqua avif cpu_flags_x86_sse cpu_flags_x86_sse2 custom-cflags examples gamepad keyring +gstreamer +introspection pdf jpegxl +jumbo-build lcms seccomp spell systemd wayland X" REQUIRED_USE="|| ( aqua wayland X )" diff --git a/net-libs/webkit-gtk/webkit-gtk-2.52.6-r600.ebuild b/net-libs/webkit-gtk/webkit-gtk-2.52.6-r600.ebuild index 0a54e495be82..49dece048361 100644 --- a/net-libs/webkit-gtk/webkit-gtk-2.52.6-r600.ebuild +++ b/net-libs/webkit-gtk/webkit-gtk-2.52.6-r600.ebuild @@ -17,7 +17,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="LGPL-2+ BSD" SLOT="6/0" # soname version of libwebkit2gtk-6.0 -KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv ~sparc x86" +KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~sparc x86" IUSE="aqua avif cpu_flags_x86_sse cpu_flags_x86_sse2 custom-cflags examples gamepad keyring +gstreamer +introspection pdf jpegxl +jumbo-build lcms seccomp spell systemd wayland X" REQUIRED_USE="|| ( aqua wayland X )" diff --git a/net-libs/wvstreams/wvstreams-4.6.1_p14-r3.ebuild b/net-libs/wvstreams/wvstreams-4.6.1_p14-r3.ebuild index e06733eaa13a..cef843deaede 100644 --- a/net-libs/wvstreams/wvstreams-4.6.1_p14-r3.ebuild +++ b/net-libs/wvstreams/wvstreams-4.6.1_p14-r3.ebuild @@ -15,7 +15,7 @@ SRC_URI=" S=${WORKDIR}/${P/_p*} LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~sparc ~x86" +KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~sparc x86" IUSE="boost +dbus debug doc pam" #Tests fail if openssl is not compiled with -DPURIFY. Gentoo's isn't. FAIL! diff --git a/net-mail/dovecot/dovecot-2.4.5-r1.ebuild b/net-mail/dovecot/dovecot-2.4.5-r1.ebuild index 231674aefb3b..658466f762b0 100644 --- a/net-mail/dovecot/dovecot-2.4.5-r1.ebuild +++ b/net-mail/dovecot/dovecot-2.4.5-r1.ebuild @@ -36,7 +36,7 @@ S="${WORKDIR}/${MY_P}" PIEGONHOLE_S="../dovecot-pigeonhole-${MY_PV}" LICENSE="LGPL-2.1 MIT" SLOT="0/${PV}" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~amd64 arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" IUSE_DOVECOT_AUTH_DICT="cdb kerberos ldap lua mysql pam postgres sqlite" IUSE_DOVECOT_COMPRESS="lz4 zstd" diff --git a/net-misc/dropbear/dropbear-2026.94.ebuild b/net-misc/dropbear/dropbear-2026.94.ebuild index 28277d49f2d6..ff71f6945969 100644 --- a/net-misc/dropbear/dropbear-2026.94.ebuild +++ b/net-misc/dropbear/dropbear-2026.94.ebuild @@ -18,7 +18,7 @@ SRC_URI+=" verify-sig? ( LICENSE="MIT GPL-2" # (init script is GPL-2 #426056) SLOT="0" -KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~x64-macos" IUSE="bsdpty legacy-ciphers minimal multicall pam +shadow static +syslog test +test-async zlib" RESTRICT="!test? ( test )" diff --git a/net-misc/electrum/electrum-4.8.1.ebuild b/net-misc/electrum/electrum-4.8.1.ebuild index ee0c3ffff2c2..bf85559f3f5d 100644 --- a/net-misc/electrum/electrum-4.8.1.ebuild +++ b/net-misc/electrum/electrum-4.8.1.ebuild @@ -25,7 +25,7 @@ S=${WORKDIR}/${MY_P} LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="cli ncurses qrcode +qt6" REQUIRED_USE="|| ( cli ncurses qt6 )" diff --git a/net-misc/openrsync/openrsync-0.5.0_p20260706.ebuild b/net-misc/openrsync/openrsync-0.5.0_p20260706.ebuild index ab19eba2f9b4..9e395a429c34 100644 --- a/net-misc/openrsync/openrsync-0.5.0_p20260706.ebuild +++ b/net-misc/openrsync/openrsync-0.5.0_p20260706.ebuild @@ -22,7 +22,7 @@ fi LICENSE="ISC" SLOT="0" if [[ ${PV} != 9999 ]] ; then - KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86" fi IUSE="test" RESTRICT="!test? ( test )" diff --git a/net-misc/stunnel/stunnel-5.79.ebuild b/net-misc/stunnel/stunnel-5.79.ebuild index c7a5827229e5..258032259afb 100644 --- a/net-misc/stunnel/stunnel-5.79.ebuild +++ b/net-misc/stunnel/stunnel-5.79.ebuild @@ -20,7 +20,7 @@ SRC_URI=" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" +KEYWORDS="~alpha ~amd64 arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~s390 ~sparc x86" IUSE="selinux stunnel3 systemd tcpd test" RESTRICT="!test? ( test )" diff --git a/net-misc/tuba/tuba-0.11.0.ebuild b/net-misc/tuba/tuba-0.11.0.ebuild index 8ac07fd1f68a..396a48db2e00 100644 --- a/net-misc/tuba/tuba-0.11.0.ebuild +++ b/net-misc/tuba/tuba-0.11.0.ebuild @@ -19,7 +19,7 @@ S=${WORKDIR}/${MY_P} LICENSE="GPL-3 CC-BY-SA-4.0" SLOT="0" -KEYWORDS="~amd64 arm64" +KEYWORDS="amd64 arm64" IUSE="exif gstreamer spell webkit" DEPEND=" diff --git a/net-news/rssguard/rssguard-5.2.5.ebuild b/net-news/rssguard/rssguard-5.2.5.ebuild index bcbaf94e8438..f955e972319f 100644 --- a/net-news/rssguard/rssguard-5.2.5.ebuild +++ b/net-news/rssguard/rssguard-5.2.5.ebuild @@ -13,7 +13,7 @@ SRC_URI=" LICENSE="|| ( LGPL-3 GPL-2+ ) AGPL-3+ BSD GPL-3+ MIT" SLOT="0/104" -KEYWORDS="~amd64" +KEYWORDS="amd64" IUSE="icu libmpv mysql qtmultimedia +sqlite test webengine xmpp" REQUIRED_USE=" || ( mysql sqlite ) diff --git a/net-nntp/leafnode/leafnode-1.12.0-r1.ebuild b/net-nntp/leafnode/leafnode-1.12.0-r1.ebuild index 3e7f21c21130..54887b452384 100644 --- a/net-nntp/leafnode/leafnode-1.12.0-r1.ebuild +++ b/net-nntp/leafnode/leafnode-1.12.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -11,7 +11,7 @@ SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.xz" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" +KEYWORDS="~amd64 ~ppc x86" DEPEND=">=dev-libs/libpcre2-10" RDEPEND="${DEPEND} diff --git a/net-nntp/tin/tin-2.6.5.ebuild b/net-nntp/tin/tin-2.6.5.ebuild index f3273869f11b..f49bee9d115a 100644 --- a/net-nntp/tin/tin-2.6.5.ebuild +++ b/net-nntp/tin/tin-2.6.5.ebuild @@ -11,7 +11,7 @@ SRC_URI="ftp://ftp.tin.org/pub/news/clients/tin/stable/${P}.tar.xz" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm ~ppc ~x86" +KEYWORDS="~amd64 arm ppc ~x86" IUSE="cancel-locks debug gnutls gpg libtls nls sasl socks5 ssl" RDEPEND=" diff --git a/net-p2p/gtk-gnutella/gtk-gnutella-1.2.3.ebuild b/net-p2p/gtk-gnutella/gtk-gnutella-1.2.3.ebuild index 7074f5089b3a..7efae590e8b8 100644 --- a/net-p2p/gtk-gnutella/gtk-gnutella-1.2.3.ebuild +++ b/net-p2p/gtk-gnutella/gtk-gnutella-1.2.3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -11,7 +11,7 @@ SRC_URI="https://github.com/gtk-gnutella/gtk-gnutella/archive/v${PV}.tar.gz -> $ LICENSE="CC-BY-SA-4.0 GPL-2" SLOT="0" -KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" +KEYWORDS="~amd64 ~ppc ppc64 ~x86" IUSE="nls dbus ssl +gtk" diff --git a/net-print/cups-filters/cups-filters-2.0.1-r1.ebuild b/net-print/cups-filters/cups-filters-2.0.1-r1.ebuild index d9ec573c9645..5da4f688e418 100644 --- a/net-print/cups-filters/cups-filters-2.0.1-r1.ebuild +++ b/net-print/cups-filters/cups-filters-2.0.1-r1.ebuild @@ -7,11 +7,18 @@ inherit flag-o-matic DESCRIPTION="Cups filters" HOMEPAGE="https://wiki.linuxfoundation.org/openprinting/cups-filters" -SRC_URI="https://github.com/OpenPrinting/cups-filters/releases/download/${PV}/${P}.tar.xz" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/OpenPrinting/cups-filters" + inherit autotools git-r3 +else + SRC_URI="https://github.com/OpenPrinting/cups-filters/releases/download/${PV}/${P}.tar.xz" + + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +fi LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="+foomatic" RDEPEND=" @@ -38,6 +45,12 @@ PATCHES=( "${FILESDIR}"/${PN}-2.0.1-CVE-2025-64524.patch ) +src_prepare() { + default + + [[ ${PV} == 9999 ]] && eautoreconf +} + src_configure() { # https://github.com/OpenPrinting/cups-filters/issues/605 (bug #944074) append-cflags -std=gnu17 diff --git a/net-print/cups-filters/cups-filters-9999.ebuild b/net-print/cups-filters/cups-filters-9999.ebuild new file mode 100644 index 000000000000..71acb5183154 --- /dev/null +++ b/net-print/cups-filters/cups-filters-9999.ebuild @@ -0,0 +1,68 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic + +DESCRIPTION="Cups filters" +HOMEPAGE="https://wiki.linuxfoundation.org/openprinting/cups-filters" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/OpenPrinting/cups-filters" + inherit autotools git-r3 +else + SRC_URI="https://github.com/OpenPrinting/cups-filters/releases/download/${PV}/${P}.tar.xz" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="+foomatic" + +RDEPEND=" + net-print/libcupsfilters + net-print/libppd + >=net-print/cups-1.7.3 +" +DEPEND="${RDEPEND}" +BDEPEND=" + >=sys-devel/gettext-0.18.3 + virtual/pkgconfig +" + +# The tests are composed of: +# - built program +# - test case itself: filter/test.sh +# +# The latter is not wired up, and it becomes immediately evident why. +# Bow to this reality and don't claim we can run anything. As a side +# effect, don't compile in src_test, that which we never use. +RESTRICT="test" + +src_prepare() { + default + + [[ ${PV} == 9999 ]] && eautoreconf +} + +src_configure() { + # https://github.com/OpenPrinting/cups-filters/issues/605 (bug #944074) + append-cflags -std=gnu17 + + local myeconfargs=( + --enable-imagefilters + --enable-driverless + --enable-poppler + --localstatedir="${EPREFIX}"/var + --with-fontdir="fonts/conf.avail" + # These are just probed for the path. Always enable them. + --with-gs-path="${EPREFIX}"/usr/bin/gs + --with-mutool-path="${EPREFIX}"/usr/bin/mutool + + $(use_enable foomatic) + ) + + econf "${myeconfargs[@]}" +} diff --git a/net-print/libcupsfilters/libcupsfilters-2.2.1.ebuild b/net-print/libcupsfilters/libcupsfilters-2.2.1.ebuild index 87290a60e3ca..e1aaf3b15ace 100644 --- a/net-print/libcupsfilters/libcupsfilters-2.2.1.ebuild +++ b/net-print/libcupsfilters/libcupsfilters-2.2.1.ebuild @@ -10,12 +10,19 @@ MY_P=${PN}-${MY_PV} DESCRIPTION="library for developing printing features, split out of cups-filters" HOMEPAGE="https://github.com/OpenPrinting/libcupsfilters" -SRC_URI="https://github.com/OpenPrinting/libcupsfilters/releases/download/${MY_PV}/${MY_P}.tar.xz" -S="${WORKDIR}"/${MY_P} + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/OpenPrinting/libcupsfilters" + inherit autotools git-r3 +else + SRC_URI="https://github.com/OpenPrinting/libcupsfilters/releases/download/${MY_PV}/${MY_P}.tar.xz" + S="${WORKDIR}"/${MY_P} + + KEYWORDS="~amd64 ~arm" +fi LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm" IUSE="dbus exif fontconfig jpeg jpegxl pdf +postscript png test tiff" RESTRICT="!test? ( test )" @@ -46,8 +53,12 @@ BDEPEND=" src_prepare() { default - # respect --as-needed - elibtoolize + if [[ ${PV} == 9999 ]] ; then + eautoreconf + else + # respect --as-needed + elibtoolize + fi } src_configure() { diff --git a/net-print/libcupsfilters/libcupsfilters-9999.ebuild b/net-print/libcupsfilters/libcupsfilters-9999.ebuild new file mode 100644 index 000000000000..e1aaf3b15ace --- /dev/null +++ b/net-print/libcupsfilters/libcupsfilters-9999.ebuild @@ -0,0 +1,93 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit libtool + +MY_PV=${PV/_beta/b} +MY_P=${PN}-${MY_PV} + +DESCRIPTION="library for developing printing features, split out of cups-filters" +HOMEPAGE="https://github.com/OpenPrinting/libcupsfilters" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/OpenPrinting/libcupsfilters" + inherit autotools git-r3 +else + SRC_URI="https://github.com/OpenPrinting/libcupsfilters/releases/download/${MY_PV}/${MY_P}.tar.xz" + S="${WORKDIR}"/${MY_P} + + KEYWORDS="~amd64 ~arm" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="dbus exif fontconfig jpeg jpegxl pdf +postscript png test tiff" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=app-text/pdfio-1.6.4 + app-text/poppler[utils] + media-libs/lcms:2 + >=net-print/cups-2.2.2 + !<net-print/cups-filters-2.0.0 + + exif? ( media-libs/libexif ) + dbus? ( sys-apps/dbus ) + fontconfig? ( >=media-libs/fontconfig-2.0.0 ) + jpeg? ( media-libs/libjpeg-turbo:= ) + jpegxl? ( >=media-libs/libjxl-0.7.0:= ) + pdf? ( >=app-text/mupdf-1.15:= ) + postscript? ( app-text/ghostscript-gpl[cups] ) + png? ( media-libs/libpng:= ) + tiff? ( media-libs/tiff:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + >=sys-devel/gettext-0.18.3 + virtual/pkgconfig + test? ( media-fonts/dejavu ) +" + +src_prepare() { + default + + if [[ ${PV} == 9999 ]] ; then + eautoreconf + else + # respect --as-needed + elibtoolize + fi +} + +src_configure() { + local myeconfargs=( + --enable-imagefilters + --localstatedir="${EPREFIX}"/var + --with-cups-rundir="${EPREFIX}"/run/cups + $(use_enable exif) + $(use_enable dbus) + $(use_enable postscript ghostscript) + $(use_enable pdf mutool) + $(use_with fontconfig) + $(use_with jpeg) + $(use_with jpegxl) + $(use_with png) + $(use_with tiff) + ) + + econf "${myeconfargs[@]}" +} + +src_test() { + # Don't try to use ASAN which will fail under sandbox + local -x SAN_FLAGS=" " + + default +} + +src_install() { + default + find "${ED}" -name '*.la' -delete || die +} diff --git a/net-proxy/tsocks/tsocks-1.8_beta5-r10.ebuild b/net-proxy/tsocks/tsocks-1.8_beta5-r10.ebuild index d8f02ba00a36..6251dac2630f 100644 --- a/net-proxy/tsocks/tsocks-1.8_beta5-r10.ebuild +++ b/net-proxy/tsocks/tsocks-1.8_beta5-r10.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://downloads.sourceforge.net/tsocks/${PN}-${PV/_}.tar.gz S="${WORKDIR}/${P%%_*}" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha ~amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" IUSE="debug dns envconf tordns server-lookups" REQUIRED_USE=" diff --git a/net-vpn/networkmanager-libreswan/Manifest b/net-vpn/networkmanager-libreswan/Manifest index 1bc3aff1f1f2..73f4adfa327d 100644 --- a/net-vpn/networkmanager-libreswan/Manifest +++ b/net-vpn/networkmanager-libreswan/Manifest @@ -1 +1,2 @@ DIST NetworkManager-libreswan-1.2.24.tar.xz 432692 BLAKE2B c0f4777c0fbfae58fda3d43321375d76eaa2a56cb63262535f98969f69c1be6456c6fbad5db07346018eeccc0d4364945eb8a19861b809643071aa9f34cfeeaf SHA512 8b7c8d7736b3ffcb27d6e28c9073f0cad5098decc41342643dd7392c361a7d2664bdac17ca895b14c9b224d330637d4f5d095f242b06e3d312b00803993c6e5c +DIST NetworkManager-libreswan-1.2.31.tar.xz 459488 BLAKE2B 7ef195c9309ac8e4595e67a426b1998f46954f39ec37c18e08081e93cf89cb14cf744130cad2852cfc2bc90f9a8a05db7c001f3f4eb1f22d83bbe27d17e92f92 SHA512 f4d810f3453a06c37bbd5cbdc89e9b623acd8bd0ea8dfb197c0b1df747857a364c45b27914f5037adc79450894bd8e17a5fa0c7eb4c3469e990a639c91a0b746 diff --git a/net-vpn/networkmanager-libreswan/networkmanager-libreswan-1.2.31.ebuild b/net-vpn/networkmanager-libreswan/networkmanager-libreswan-1.2.31.ebuild new file mode 100644 index 000000000000..5757e0388bba --- /dev/null +++ b/net-vpn/networkmanager-libreswan/networkmanager-libreswan-1.2.31.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +GNOME_ORG_MODULE="NetworkManager-${PN##*-}" + +inherit gnome2 + +DESCRIPTION="NetworkManager libreswan plugin" +HOMEPAGE="https://gitlab.gnome.org/GNOME/NetworkManager-libreswan" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="gtk" + +RDEPEND=" + >=dev-libs/glib-2.44:2 + >=dev-libs/libnl-3.2.8:3 + >=net-misc/networkmanager-1.12.0:= + net-vpn/libreswan + gtk? ( + app-crypt/libsecret + >=x11-libs/gtk+-3.4:3 + >=gui-libs/gtk-4.0:4 + >=gnome-extra/nm-applet-1.12.0 + ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + sys-devel/gettext + dev-util/intltool + virtual/pkgconfig +" + +src_configure() { + local myconf=( + --disable-more-warnings + --disable-static + --with-dist-version=Gentoo + $(use_with gtk gnome) + $(use_with gtk gtk4) + ) + gnome2_src_configure "${myconf[@]}" +} diff --git a/net-vpn/openconnect/openconnect-9.12-r2.ebuild b/net-vpn/openconnect/openconnect-9.12-r2.ebuild index f70313a0515e..3c31d4fd8dfc 100644 --- a/net-vpn/openconnect/openconnect-9.12-r2.ebuild +++ b/net-vpn/openconnect/openconnect-9.12-r2.ebuild @@ -15,7 +15,7 @@ else inherit verify-sig SRC_URI="https://www.infradead.org/openconnect/download/${P}.tar.gz verify-sig? ( https://www.infradead.org/openconnect/download/${P}.tar.gz.asc )" - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" + KEYWORDS="~amd64 arm ~arm64 ~loong ~ppc64 ~riscv ~x86" fi DESCRIPTION="Free client for Cisco AnyConnect SSL VPN software" diff --git a/profiles/arch/base/package.use.mask b/profiles/arch/base/package.use.mask index aa071040a462..a9f01d928a88 100644 --- a/profiles/arch/base/package.use.mask +++ b/profiles/arch/base/package.use.mask @@ -350,7 +350,7 @@ llvm-runtimes/compiler-rt-sanitizers asan dfsan lsan msan hwasan tsan llvm-runtimes/compiler-rt-sanitizers ubsan safestack cfi scudo llvm-runtimes/compiler-rt-sanitizers shadowcallstack gwp-asan llvm-runtimes/compiler-rt-sanitizers libfuzzer memprof orc profile xray -llvm-runtimes/compiler-rt-sanitizers ctx-profile nsan rtsan +llvm-runtimes/compiler-rt-sanitizers copyprof ctx-profile nsan rtsan # Sam James <sam@gentoo.org> (2020-10-24) # asm redc is only available on amd64, ppc64. bug #750974. diff --git a/profiles/base/package.use.mask b/profiles/base/package.use.mask index 5850656eb8cc..3b85983dafe0 100644 --- a/profiles/base/package.use.mask +++ b/profiles/base/package.use.mask @@ -6,6 +6,10 @@ # New entries go on top. +# Andreas Sturmlechner <asturm@gentoo.org> (2026-09-19) +# Building documentation is broken in this version. Bug #976293 +~dev-cpp/eigen-3.4.1 doc + # Michał Górny <mgorny@gentoo.org> (2026-09-05) # dev-python/{ioflo,raet} stuck on Python 3.12 and last-rited. app-admin/salt raet diff --git a/profiles/package.mask/00-gentoo b/profiles/package.mask/00-gentoo index 17133bba9c59..0c43f57a81b6 100644 --- a/profiles/package.mask/00-gentoo +++ b/profiles/package.mask/00-gentoo @@ -51,6 +51,8 @@ dev-python/overrides # Most revdeps still need gexiv2-0.16 compatibility fixes # See: https://bugs.gentoo.org/982084 =media-libs/gexiv2-0.16* +>=gnome-base/nautilus-50 +>=media-gfx/shotwell-33 # Arthur Zamarin <arthurzam@gentoo.org> (2026-09-11) # EAPI=7, old PYTHON_COMPAT, doesn't work with spotify for a long time, diff --git a/sci-libs/cantera/cantera-3.2.0-r1.ebuild b/sci-libs/cantera/cantera-3.2.0-r1.ebuild index 698174ef9d09..03be813a0f21 100644 --- a/sci-libs/cantera/cantera-3.2.0-r1.ebuild +++ b/sci-libs/cantera/cantera-3.2.0-r1.ebuild @@ -19,7 +19,7 @@ SRC_URI=" LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 ~x86" +KEYWORDS="amd64" IUSE="fortran hdf5 +python test" RESTRICT="!test? ( test )" diff --git a/sci-libs/cantera/cantera-3.2.0-r2.ebuild b/sci-libs/cantera/cantera-3.2.0-r2.ebuild index 59367dd6d172..f157182b5361 100644 --- a/sci-libs/cantera/cantera-3.2.0-r2.ebuild +++ b/sci-libs/cantera/cantera-3.2.0-r2.ebuild @@ -19,7 +19,7 @@ SRC_URI=" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64" IUSE="fortran hdf5 +python test" RESTRICT="!test? ( test )" diff --git a/sci-libs/cartopy/cartopy-0.24.1-r2.ebuild b/sci-libs/cartopy/cartopy-0.24.1-r2.ebuild index c910d102632a..69151ec59254 100644 --- a/sci-libs/cartopy/cartopy-0.24.1-r2.ebuild +++ b/sci-libs/cartopy/cartopy-0.24.1-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -20,7 +20,7 @@ S="${WORKDIR}"/${MY_P} LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="~amd64" IUSE="test" RESTRICT="!test? ( test )" REQUIRED_USE="${PYTHON_REQUIRED_USE}" diff --git a/sci-libs/cartopy/cartopy-0.25.0.ebuild b/sci-libs/cartopy/cartopy-0.25.0.ebuild index 8246e0501d7b..69151ec59254 100644 --- a/sci-libs/cartopy/cartopy-0.25.0.ebuild +++ b/sci-libs/cartopy/cartopy-0.25.0.ebuild @@ -20,7 +20,7 @@ S="${WORKDIR}"/${MY_P} LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="~amd64" IUSE="test" RESTRICT="!test? ( test )" REQUIRED_USE="${PYTHON_REQUIRED_USE}" diff --git a/sci-libs/indilib/indilib-2.2.4.2.ebuild b/sci-libs/indilib/indilib-2.2.4.2.ebuild index 8121d1c45950..ef7ea707ef9e 100644 --- a/sci-libs/indilib/indilib-2.2.4.2.ebuild +++ b/sci-libs/indilib/indilib-2.2.4.2.ebuild @@ -12,7 +12,7 @@ S="${WORKDIR}/${P/lib/}" LICENSE="BSD GPL-2+ LGPL-2+ LGPL-2.1+" SLOT="0/1" -KEYWORDS="~amd64 ~ppc64 ~riscv" +KEYWORDS="~amd64 ppc64 ~riscv" IUSE="ogg rtlsdr test" RESTRICT="!test? ( test )" diff --git a/sci-libs/libgeotiff/libgeotiff-1.7.4.ebuild b/sci-libs/libgeotiff/libgeotiff-1.7.4.ebuild index 457267aacb90..45589f1b2bc6 100644 --- a/sci-libs/libgeotiff/libgeotiff-1.7.4.ebuild +++ b/sci-libs/libgeotiff/libgeotiff-1.7.4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -16,7 +16,7 @@ SRC_URI="https://download.osgeo.org/geotiff/${PN}/${P}.tar.gz" LICENSE="GPL-2" SLOT="0/5" -KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86 ~x64-macos" +KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86 ~x64-macos" # TODO: add tiff when resolved: https://github.com/OSGeo/libgeotiff/issues/125 IUSE="jpeg zlib" diff --git a/sci-libs/nfft/files/nfft-3.5.3-openmp.patch b/sci-libs/nfft/files/nfft-3.5.3-openmp.patch new file mode 100644 index 000000000000..a4f59a4330a8 --- /dev/null +++ b/sci-libs/nfft/files/nfft-3.5.3-openmp.patch @@ -0,0 +1,58 @@ +--- a/applications/fastsum/Makefile.am 2026-09-19 22:53:57.849954511 +0200 ++++ b/applications/fastsum/Makefile.am 2026-09-19 22:54:59.329364284 +0200 +@@ -33,6 +33,7 @@ + libfastsum_threads_la_LDFLAGS = @fftw3_threads_LDFLAGS@ + if HAVE_OPENMP + libfastsum_threads_la_CFLAGS = $(OPENMP_CFLAGS) ++ libfastsum_threads_la_LIBADD += -lomp + endif + endif + +--- a/julia/nfft/Makefile.am 2026-09-19 23:01:26.115650984 +0200 ++++ b/julia/nfft/Makefile.am 2026-09-19 23:02:12.018210301 +0200 +@@ -14,6 +14,9 @@ + endif + + libnfftjulia_la_LIBADD = $(top_builddir)/libnfft3@PREC_SUFFIX@_julia.la @fftw3_LDFLAGS@ $(libadd_for_fftw_threads) @fftw3_LIBS@ ++if HAVE_OPENMP ++ libnfftjulia_la_CFLAGS = $(OPENMP_CFLAGS) ++endif + + libnfftjulia_la_LDFLAGS = -no-undefined -shared -avoid-version @fftw3_LDFLAGS@ + +--- a/configure.ac 2026-09-19 23:26:29.855965100 +0200 ++++ b/configure.ac 2026-09-19 23:26:48.348781187 +0200 +@@ -314,6 +314,9 @@ + # whether ln -s works + AC_PROG_LN_S + ++AC_PROG_EGREP ++AC_PROG_SED ++ + ################################################################################ + # 3rd party libraries + ################################################################################ +--- a/julia/nfct/Makefile.am 2026-09-19 23:31:07.140207466 +0200 ++++ b/julia/nfct/Makefile.am 2026-09-19 23:31:59.305688673 +0200 +@@ -16,6 +16,9 @@ + libnfctjulia_la_LIBADD = $(top_builddir)/libnfft3@PREC_SUFFIX@_julia.la @fftw3_LDFLAGS@ $(libadd_for_fftw_threads) @fftw3_LIBS@ + + libnfctjulia_la_LDFLAGS = -no-undefined -shared -avoid-version @fftw3_LDFLAGS@ ++if HAVE_OPENMP ++ libnfctjulia_la_CFLAGS = $(OPENMP_CFLAGS) ++endif + + EXTRA_DIST = NFCT.jl simple_test_1d.jl simple_test_2d.jl simple_test_3d.jl + +--- a/julia/nfst/Makefile.am 2026-09-19 23:34:13.229356784 +0200 ++++ b/julia/nfst/Makefile.am 2026-09-19 23:35:14.410748329 +0200 +@@ -16,6 +16,9 @@ + libnfstjulia_la_LIBADD = $(top_builddir)/libnfft3@PREC_SUFFIX@_julia.la @fftw3_LDFLAGS@ $(libadd_for_fftw_threads) @fftw3_LIBS@ + + libnfstjulia_la_LDFLAGS = -no-undefined -shared -avoid-version @fftw3_LDFLAGS@ ++if HAVE_OPENMP ++libnfstjulia_la_CFLAGS = $(OPENMP_CFLAGS) ++endif + + EXTRA_DIST = NFST.jl simple_test_1d.jl simple_test_2d.jl simple_test_3d.jl + diff --git a/sci-libs/nfft/nfft-3.5.3-r1.ebuild b/sci-libs/nfft/nfft-3.5.3-r1.ebuild index 0bbfa7dc27a3..20a29bb09d41 100644 --- a/sci-libs/nfft/nfft-3.5.3-r1.ebuild +++ b/sci-libs/nfft/nfft-3.5.3-r1.ebuild @@ -23,6 +23,7 @@ PATCHES=( "${FILESDIR}/${P}-gcc15.patch" "${FILESDIR}/${P}-rtc.patch" "${FILESDIR}/${P}-dash.patch" + "${FILESDIR}/${P}-openmp.patch" ) pkg_pretend() { diff --git a/sci-libs/proj/proj-9.4.1.ebuild b/sci-libs/proj/proj-9.4.1.ebuild index ee0636aa7c6f..e1866c47f98f 100644 --- a/sci-libs/proj/proj-9.4.1.ebuild +++ b/sci-libs/proj/proj-9.4.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -22,7 +22,7 @@ else https://download.osgeo.org/proj/${P}.tar.gz https://download.osgeo.org/proj/${PN}-data-${PROJ_DATA_PV}.tar.gz " - KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86" + KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86" fi LICENSE="MIT" diff --git a/sci-mathematics/z3/z3-5.1.0.ebuild b/sci-mathematics/z3/z3-5.1.0.ebuild index 117975e9a355..aae45cadc19a 100644 --- a/sci-mathematics/z3/z3-5.1.0.ebuild +++ b/sci-mathematics/z3/z3-5.1.0.ebuild @@ -14,7 +14,7 @@ S=${WORKDIR}/z3-${P} LICENSE="MIT" SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="amd64 arm arm64 ~loong ~mips ~ppc ppc64 ~riscv ~sparc x86" IUSE="doc examples gmp isabelle java python" REQUIRED_USE="${PYTHON_REQUIRED_USE}" diff --git a/sci-visualization/pythonprop/pythonprop-0.30.1_p20240217-r1.ebuild b/sci-visualization/pythonprop/pythonprop-0.30.1_p20240217-r1.ebuild index 16aafeddaf49..4098a623050e 100644 --- a/sci-visualization/pythonprop/pythonprop-0.30.1_p20240217-r1.ebuild +++ b/sci-visualization/pythonprop/pythonprop-0.30.1_p20240217-r1.ebuild @@ -17,7 +17,7 @@ S="${WORKDIR}/${PN}-${MY_PV}" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="~amd64" REQUIRED_USE="${PYTHON_REQUIRED_USE}" RDEPEND=" diff --git a/sec-keys/openpgp-keys-ddevault/Manifest b/sec-keys/openpgp-keys-ddevault/Manifest new file mode 100644 index 000000000000..1406959c107b --- /dev/null +++ b/sec-keys/openpgp-keys-ddevault/Manifest @@ -0,0 +1 @@ +DIST publickey.txt 644 BLAKE2B 89334e1c90c0df31725cb5988f9d178e03d47eaa776d5f28056702a6cf75a63fe917640a27b49053071c82cf5ffb3e3f76a0b2b928634796067cece22d83056a SHA512 95e78ca2adc49bbf187e30842844d708c9a2e5550a15a1aa610a121317978a8feb2eb110827e946248e3a5f7944465a4d9681e746ed0c16dfe7fe98a19e40a4e diff --git a/sec-keys/openpgp-keys-ddevault/metadata.xml b/sec-keys/openpgp-keys-ddevault/metadata.xml new file mode 100644 index 000000000000..30bbac324889 --- /dev/null +++ b/sec-keys/openpgp-keys-ddevault/metadata.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>bacs@librecast.net</email> + <name>Brett A C Sheffield</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <stabilize-allarches /> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/sec-keys/openpgp-keys-ddevault/openpgp-keys-ddevault-20250219.ebuild b/sec-keys/openpgp-keys-ddevault/openpgp-keys-ddevault-20250219.ebuild new file mode 100644 index 000000000000..200a4f23d565 --- /dev/null +++ b/sec-keys/openpgp-keys-ddevault/openpgp-keys-ddevault-20250219.ebuild @@ -0,0 +1,16 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +SEC_KEYS_VALIDPGPKEYS=( + "9FB5E737DC25B29D8EEC469142F3F1862E3CC4B8:ddevault:manual" +) + +inherit sec-keys + +DESCRIPTION="Drew DeVault's PGP signing key" +HOMEPAGE="https://drewdevault.com/" +SRC_URI="https://drewdevault.com/publickey.txt" + +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" diff --git a/sec-keys/openpgp-keys-nabijaczleweli/openpgp-keys-nabijaczleweli-20260717.ebuild b/sec-keys/openpgp-keys-nabijaczleweli/openpgp-keys-nabijaczleweli-20260717.ebuild index 47786bf62fcf..88a3f4636d50 100644 --- a/sec-keys/openpgp-keys-nabijaczleweli/openpgp-keys-nabijaczleweli-20260717.ebuild +++ b/sec-keys/openpgp-keys-nabijaczleweli/openpgp-keys-nabijaczleweli-20260717.ebuild @@ -13,4 +13,4 @@ DESCRIPTION="OpenPGP keys used by наб (nabijaczleweli)" HOMEPAGE="https://nabijaczleweli.xyz/" SRC_URI+=" https://nabijaczleweli.xyz/pgp.txt -> ${P}-pgp.txt" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x64-macos" +KEYWORDS="~alpha ~amd64 arm ~hppa ~mips ~ppc ppc64 ~s390 ~sparc ~x86 ~x64-macos" diff --git a/sec-keys/openpgp-keys-paulhardy/Manifest b/sec-keys/openpgp-keys-paulhardy/Manifest new file mode 100644 index 000000000000..b431fb3eedfe --- /dev/null +++ b/sec-keys/openpgp-keys-paulhardy/Manifest @@ -0,0 +1 @@ +DIST openpgp-keys-paulhardy-ubuntu-20220319.asc 107552 BLAKE2B ec870e9594d15526f1b4c1051649d0e48fcc262ba8279238e79a8adaf32e3b22a8c70447d46beeea8a51e66ad4805b3d03e226b1ee2149ff4153759d1df2fc89 SHA512 33b2537d52dcf0eafe450b1a129ac6ecd81ab8c6cf9d6d63c4284208f20ec8f671c225bce856c1d7abe46d60739dddf8a27668e96cdb19c613358f9741cd5fbc diff --git a/sec-keys/openpgp-keys-paulhardy/metadata.xml b/sec-keys/openpgp-keys-paulhardy/metadata.xml new file mode 100644 index 000000000000..6d4977d80bc4 --- /dev/null +++ b/sec-keys/openpgp-keys-paulhardy/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>fonts@gentoo.org</email> + <name>Fonts</name> + </maintainer> + <maintainer type="project"> + <email>cjk@gentoo.org</email> + <name>Cjk</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/sec-keys/openpgp-keys-paulhardy/openpgp-keys-paulhardy-20220319.ebuild b/sec-keys/openpgp-keys-paulhardy/openpgp-keys-paulhardy-20220319.ebuild new file mode 100644 index 000000000000..b63fdd598e4f --- /dev/null +++ b/sec-keys/openpgp-keys-paulhardy/openpgp-keys-paulhardy-20220319.ebuild @@ -0,0 +1,15 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +SEC_KEYS_VALIDPGPKEYS=( + '95D2E9AB8740D8046387FD151A09227B1F435A33:paulhardy:ubuntu' +) + +inherit sec-keys + +DESCRIPTION="OpenPGP keys used by Paul Hardy" +HOMEPAGE="https://unifoundry.com/index.html" + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" diff --git a/sys-apps/bubblewrap/bubblewrap-0.12.0.ebuild b/sys-apps/bubblewrap/bubblewrap-0.12.0.ebuild index 6aafec105d3c..6ddebd719517 100644 --- a/sys-apps/bubblewrap/bubblewrap-0.12.0.ebuild +++ b/sys-apps/bubblewrap/bubblewrap-0.12.0.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://github.com/containers/${PN}/releases/download/v${PV}/${P}.tar.x LICENSE="LGPL-2.1+" SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv x86" +KEYWORDS="amd64 arm ~arm64 ~loong ppc ppc64 ~riscv x86" IUSE="selinux test" RESTRICT="!test? ( test )" diff --git a/sys-apps/coreutils/coreutils-9.11-r1.ebuild b/sys-apps/coreutils/coreutils-9.11-r1.ebuild index 1a623acef861..23d825e07ae6 100644 --- a/sys-apps/coreutils/coreutils-9.11-r1.ebuild +++ b/sys-apps/coreutils/coreutils-9.11-r1.ebuild @@ -33,7 +33,7 @@ else verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig ) " - 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 SRC_URI+=" !vanilla? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_PATCH}.tar.xz )" diff --git a/sys-apps/epoch/epoch-1.3.0-r1.ebuild b/sys-apps/epoch/epoch-1.3.0-r1.ebuild index 06cdfdb8fb21..625ed5dc2b24 100644 --- a/sys-apps/epoch/epoch-1.3.0-r1.ebuild +++ b/sys-apps/epoch/epoch-1.3.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -12,7 +12,7 @@ S="${WORKDIR}/${PN}_${PV/rc/RC}" LICENSE="public-domain" SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" +KEYWORDS="~amd64 arm ~x86" pkg_pretend() { local CONFIG_CHECK="~PROC_FS" diff --git a/sys-apps/miller/miller-6.20.2.ebuild b/sys-apps/miller/miller-6.20.2.ebuild index 20dc42a48530..4ed6cdc18db7 100644 --- a/sys-apps/miller/miller-6.20.2.ebuild +++ b/sys-apps/miller/miller-6.20.2.ebuild @@ -14,7 +14,7 @@ SRC_URI+=" https://github.com/gentoo-golang-dist/${PN}/releases/download/v${PV}/ LICENSE="Apache-2.0 BSD BSD-2 ISC MIT Unlicense" SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" +KEYWORDS="~amd64 arm ~x86" BDEPEND=" >=dev-lang/go-1.25.0 diff --git a/sys-apps/moor/moor-2.17.0.ebuild b/sys-apps/moor/moor-2.17.0.ebuild index a0df1d879da2..bab32334725a 100644 --- a/sys-apps/moor/moor-2.17.0.ebuild +++ b/sys-apps/moor/moor-2.17.0.ebuild @@ -16,7 +16,7 @@ LICENSE="BSD-2 BSD MIT" # Dependent licenses LICENSE+=" Apache-2.0 BSD BSD-2 ISC MIT" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64" +KEYWORDS="~amd64 ~arm arm64 ~ppc64" IUSE="test l10n_ru" RESTRICT="!test? ( test )" diff --git a/sys-apps/portage/portage-3.0.82.2.ebuild b/sys-apps/portage/portage-3.0.82.2.ebuild index 5e751e5ed486..36bc4a481031 100644 --- a/sys-apps/portage/portage-3.0.82.2.ebuild +++ b/sys-apps/portage/portage-3.0.82.2.ebuild @@ -20,7 +20,7 @@ if [[ ${PV} == 9999 ]] ; then inherit git-r3 else SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2" - 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 LICENSE="GPL-2" diff --git a/sys-apps/shadow/shadow-4.20.2.ebuild b/sys-apps/shadow/shadow-4.20.2.ebuild index 09e019e95653..eba759681baf 100644 --- a/sys-apps/shadow/shadow-4.20.2.ebuild +++ b/sys-apps/shadow/shadow-4.20.2.ebuild @@ -20,7 +20,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="BSD GPL-2" # Subslot is for libsubid's SONAME. SLOT="0/6" -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" IUSE="acl audit nls pam selinux skey split-usr su systemd test" RESTRICT="!test? ( test )" diff --git a/sys-apps/xdg-desktop-portal-gnome/Manifest b/sys-apps/xdg-desktop-portal-gnome/Manifest index 39621698f683..2858bf693a5e 100644 --- a/sys-apps/xdg-desktop-portal-gnome/Manifest +++ b/sys-apps/xdg-desktop-portal-gnome/Manifest @@ -1,2 +1,2 @@ -DIST xdg-desktop-portal-gnome-48.0.tar.xz 192012 BLAKE2B b243b711a11f73bcc2997e632d41274ee5536d4111347f6a10f04de5287202f22a2a6abe30caa678a230abdd0b8b9d67faa4ed6e7290b00abf37e7021be62f85 SHA512 82efcee0799ece8a5bc7bdf1fcfeed46757a42e4d009fc7a6e8615707f698294708bac411d7651c8e387716d5ad8791565a796936bf231f9b55b3d720dae522a DIST xdg-desktop-portal-gnome-49.0.tar.xz 193752 BLAKE2B dd11a889561fbd23730724d9b5f6cc2d8f970e7cbfb993dcbc635eb9d2144f3727baac08aa4e48d9692ae2ad5b9bba46956550f96197e4f4a5ac7fad2781a434 SHA512 a93936f74141c2f4726a350bca0a0435c6e7478e7cbb3e5431a75c0e26e78f2df58a5e849825dc4bbc8c18d49fd0cb203e880e055bc94c8e0c40cbbeaa33c1b3 +DIST xdg-desktop-portal-gnome-50.0.tar.xz 200348 BLAKE2B 6a98940cf12825e3dcd72332f639a796a8a48323d04dd35970d9bad54894d79707a21b4238208c039d80e94d6a9d1862afcd841403a4a1d85c97162ba62cc3a1 SHA512 0128240c3dfa58e5e7e5043b3db20ea4413cfc13f4458b507afc9cbc8223047ff192c0b21afac10bf1c6455b710f0365c2add7d7446d4ec51ee739fbdd23eb63 diff --git a/sys-apps/xdg-desktop-portal-gnome/xdg-desktop-portal-gnome-48.0.ebuild b/sys-apps/xdg-desktop-portal-gnome/xdg-desktop-portal-gnome-50.0.ebuild index 58552f06f19b..6735f082b233 100644 --- a/sys-apps/xdg-desktop-portal-gnome/xdg-desktop-portal-gnome-48.0.ebuild +++ b/sys-apps/xdg-desktop-portal-gnome/xdg-desktop-portal-gnome-50.0.ebuild @@ -10,12 +10,12 @@ HOMEPAGE="https://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome" LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" IUSE="wayland X" DEPEND=" - dev-libs/glib:2 - >=gnome-base/gsettings-desktop-schemas-47_alpha + >=dev-libs/glib-2.76:2 + >=gnome-base/gsettings-desktop-schemas-50.0 gnome-base/gnome-desktop:4= >=gui-libs/libadwaita-1.7_alpha:1 media-libs/fontconfig diff --git a/sys-auth/pam_xdg/pam_xdg-0.8.5.ebuild b/sys-auth/pam_xdg/pam_xdg-0.8.5.ebuild index bb0b157d1589..261fe491a53d 100644 --- a/sys-auth/pam_xdg/pam_xdg-0.8.5.ebuild +++ b/sys-auth/pam_xdg/pam_xdg-0.8.5.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://ftp.sdaoden.eu/${P}.tar.gz" LICENSE="ISC" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86" RDEPEND="sys-libs/pam" DEPEND="${RDEPEND}" diff --git a/sys-auth/pambase/pambase-20260730.ebuild b/sys-auth/pambase/pambase-20260730.ebuild index fd20244e126f..6a73c514b7a3 100644 --- a/sys-auth/pambase/pambase-20260730.ebuild +++ b/sys-auth/pambase/pambase-20260730.ebuild @@ -19,7 +19,7 @@ if [[ ${PV} == *9999 ]]; then else SRC_URI="https://gitweb.gentoo.org/proj/pambase.git/snapshot/${P}.tar.bz2" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86" fi LICENSE="MIT" diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest index 667f01021667..51f81289be47 100644 --- a/sys-devel/gcc/Manifest +++ b/sys-devel/gcc/Manifest @@ -24,6 +24,7 @@ DIST gcc-14.4.0.tar.xz 91586872 BLAKE2B 10a512f9f95fcc70a13f4eb2142927277d2e6c0a DIST gcc-15-20260717.tar.xz 92482140 BLAKE2B ae84ad42a0f5a35a36c362340298c94c8e8a64c7695102bb3a29b394527033186bf3599323ae8b1a478e215806cee702bfa48740421c504eefbafacbe74d2086 SHA512 91aaf673637458ebf73df2b1d87c21c9cbf432211b98e6dff965ae0f073f2ea8be8921a9828711fb6c10b9b3ec2e20213d118a05c08f31b8192ab291b448375d DIST gcc-15-20260904.tar.xz 92498536 BLAKE2B 4cf423cc30aebbd682504b252a45499e30ee3687adfcb0f4ae83fb3b638ebbde65591c14a3a873f163b76dd8811cb600ea936e751befabc4ff0e4d9bd4fa177c SHA512 3a0af0e7700b572d5dd034528c32ee06dc82ad2e80f93a2eb8324a77c7f25c575b848161b7cd8d04a9a3ebfcea356083d2dd5b1869bb7b44da1a00f6c172690b DIST gcc-15-20260911.tar.xz 92514232 BLAKE2B fac0cdb3c6dbab3b156c5bd406e377f685970230278e6c6eb6a060543d03b8e7289138b12f105c1423c8aa3bf849d1061a20a88b3c6f0a5ddac86f2cf2461bc6 SHA512 476e68f1e673ba0121b8383ca5c44ff94442971cee980768b3aac4444c799bc64a74886aa72ac6fdfcd2f2b083820aba7e8e4aeb48d41a13c31354755e67e438 +DIST gcc-15-20260918.tar.xz 92514296 BLAKE2B 55475e8430e4effad4549b8cc023c0fa41f08b2eccea9abda721e67acc2f466fcc53594671c3a1648254e619fb7d644a32e78abaf0f0c436a3a61742bb8961ca SHA512 82002b232ac18021fffa45e60219d6fb9a1158b7b7a9adf7fe543eb911be7a209fd4c8139db9771964c996640003db4899ccadee50396e473185fc0653480b6e DIST gcc-15.2.0-musl-patches-1.tar.xz 7168 BLAKE2B 6b7cfb123c3a691693240db815e6852a1e6c3820baa499368c463e0a0c1490c701053cfea10bf1d33f89dd2ba7bbddf63c4e6e0976590e3aaf1fee78b9282079 SHA512 ab80ffd69b9ead1fe06a9433faaa97ae53947d214999e77ea363fa6435de080d031a1aa6869e1dc088e800317952f2dc249a9e872113db56fb76f0a432240871 DIST gcc-15.2.0-patches-8.tar.xz 17584 BLAKE2B e35d85b993fc2ad86924158cac893a815f70332335ed02d970bcdf89c1ceafc2972576bcd85b4912e6ada91bdd80e8f10cbc6be798c804438368bae60abe2731 SHA512 6440a792320037b746ba405469773b96c1d4272c5248ae3808e6d8a2d576564c0f52889a6f88c3271233c8c2fe7ecb974d31ced2141f16f2c5ca68b9e47ace8c DIST gcc-15.3.0.tar.xz 101253696 BLAKE2B 9e37d6560addf936b8dae6f34a2621004e888b1436c9b95d6a09c2a792f909c7ec4aa5e8d0e63baa1be742fd8dc8162b366b5c48766fc83e44b3842891af44df SHA512 0de9e296153b52c021b1c7e63c9c62151d7a0ac03f23ce6e9f772c1b0eb783f6acdd81cc4567bfe4128a6f64968c2cfc8eff40b36229cba7425349f7d637c654 diff --git a/sys-devel/gcc/gcc-15.3.1_p20260918.ebuild b/sys-devel/gcc/gcc-15.3.1_p20260918.ebuild new file mode 100644 index 000000000000..13c1da8a4cb1 --- /dev/null +++ b/sys-devel/gcc/gcc-15.3.1_p20260918.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="15.2.0" +PATCH_VER="8" +MUSL_VER="1" +MUSL_GCC_VER="15.2.0" +PYTHON_COMPAT=( python3_{13..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch + eapply_user +} diff --git a/sys-fs/exfatprogs/exfatprogs-1.4.3.ebuild b/sys-fs/exfatprogs/exfatprogs-1.4.3.ebuild index 402a9f3775de..69fba84f144e 100644 --- a/sys-fs/exfatprogs/exfatprogs-1.4.3.ebuild +++ b/sys-fs/exfatprogs/exfatprogs-1.4.3.ebuild @@ -18,7 +18,7 @@ else verify-sig? ( https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.xz.asc ) " - KEYWORDS="~amd64 ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" + KEYWORDS="~amd64 ~arm64 ~loong ~ppc ppc64 ~riscv ~x86" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-hclee )" fi diff --git a/sys-libs/libblockdev/libblockdev-3.5.0.ebuild b/sys-libs/libblockdev/libblockdev-3.5.0.ebuild index 3affc38a5618..9371d2ebee47 100644 --- a/sys-libs/libblockdev/libblockdev-3.5.0.ebuild +++ b/sys-libs/libblockdev/libblockdev-3.5.0.ebuild @@ -17,7 +17,7 @@ if [[ ${PV} == *9999 ]] ; then " else SRC_URI="https://github.com/storaged-project/${PN}/releases/download/${PV}/${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="~alpha ~amd64 arm arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" fi LICENSE="LGPL-2+" diff --git a/sys-process/minicoredumper/Manifest b/sys-process/minicoredumper/Manifest index eb3247168c7d..69657c8395ea 100644 --- a/sys-process/minicoredumper/Manifest +++ b/sys-process/minicoredumper/Manifest @@ -1,3 +1,4 @@ -DIST minicoredumper-2.0.7.tar.xz 304304 BLAKE2B d59b0e9c7bca8e3638ff0f9e0281c1458f1aa0c64952999a2021b4daf8682a5400ae5f827835703f5da84650bd1784dca3b14ba52266154b7ade4adec2f8b495 SHA512 de4b6e79091f16c7e821d8d0ff22cc3d656616b444ee50cd873713963f6ff9c5b42a033f137d65e7ece72b690cbd692393eacad0ae17c00cc43e80fbc67e7308 DIST minicoredumper-2.0.8.tar.xz 309592 BLAKE2B c33ad586526cf60b7af0a3fca24226922074be68e11e2b5ec1aaa964ef28db52a769fff6c10d1ba6124ce169d005fd51b9e23e6a24d560409420bf69fba74e32 SHA512 0a6fdba39b74846ce8834f184683bca372f553b06e6fc33f22110b7b88fe12d99f17e4e6040f48215cb36bc97c6afc6ecae3e3b299cfbc0c9b591662584d7ae4 DIST minicoredumper-2.0.8.tar.xz.asc 265 BLAKE2B 379b70b19d3e53c20b146f648b9ee22cc7ff6b9b2f85c665649b0aceb473214b8eff73de4796b4035241134a738e7e8c5191a5c9ae670c7229016f92b8676af3 SHA512 8496c7dfc1a90dbdd25eb2257cb3bbe61a06399fc281092fbb955fd62b76c776a2e15a270614c0afec7a93bf53841812a9602ca3d68e9c74ef28298123ab2412 +DIST minicoredumper-2.1.0.tar.xz 310144 BLAKE2B 2a98c7abd4ad21caf4aa634efc312cf6a91e2900afe031a4176e40ab27a9a7ce3beba8f6f75e8fd7183e34aaa25b7a2e0e9893678ac6b4e0abc423796a9154e1 SHA512 78c966035d8a474a260cd95baa802b502d44714c492ec06c54544090e45713b3dc1881b47c00177997a3a11ea6129069818589d21bf8a9bb4e6fc8ac161d7076 +DIST minicoredumper-2.1.0.tar.xz.asc 265 BLAKE2B 6bdf287f4273f9e5d7ae08c46707f028578671843aae815cdc2ffae2dbc9eab83ff0d80cb6b947ef93a500e46db60a9304b7062ef294ca3a99cfa23183e13014 SHA512 dfd731cbcffba20ac736f297a5997e65a9ef0ad27fe79b718eaa609c08a364b2395ca4d76a4e0873a059194d1c5920c3c86e698010b00c8d8671a21b677dec3b diff --git a/sys-process/minicoredumper/minicoredumper-2.0.7.ebuild b/sys-process/minicoredumper/minicoredumper-2.1.0.ebuild index ccd45d42a61d..afe99aa2e8e6 100644 --- a/sys-process/minicoredumper/minicoredumper-2.0.7.ebuild +++ b/sys-process/minicoredumper/minicoredumper-2.1.0.ebuild @@ -1,23 +1,35 @@ -# Copyright 2020-2024 Gentoo Authors +# Copyright 2020-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=8 +EAPI=9 + +inherit verify-sig DESCRIPTION="Core dump file processor" HOMEPAGE="https://linutronix.de/minicoredumper" -SRC_URI="https://linutronix.de/minicoredumper/files/${P}.tar.xz" +SRC_URI=" + https://linutronix.de/minicoredumper/files/${P}.tar.xz + verify-sig? ( https://linutronix.de/minicoredumper/files/${P}.tar.xz.asc ) +" LICENSE="BSD BSD-2 LGPL-2.1" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" DEPEND=" dev-libs/json-c:= - virtual/libelf + virtual/libelf:= " RDEPEND="${DEPEND}" -BDEPEND="virtual/pkgconfig" +BDEPEND=" + virtual/pkgconfig + verify-sig? ( + sec-keys/openpgp-keys-johnogness + ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/johnogness.asc src_configure() { # regd daemon is disabled as there are no known consumers diff --git a/virtual/editor/editor-0-r7.ebuild b/virtual/editor/editor-0-r8.ebuild index 5a56964736fa..9738f5c37b43 100644 --- a/virtual/editor/editor-0-r7.ebuild +++ b/virtual/editor/editor-0-r8.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -41,7 +41,9 @@ RDEPEND="|| ( app-editors/uemacs-pk app-editors/vile app-editors/vim + app-editors/vim-classic app-editors/gvim + app-editors/gvim-classic app-editors/vis app-editors/xemacs app-editors/zile diff --git a/www-client/ungoogled-chromium/Manifest b/www-client/ungoogled-chromium/Manifest index d58df4af266d..7ff8baa3fcb4 100644 --- a/www-client/ungoogled-chromium/Manifest +++ b/www-client/ungoogled-chromium/Manifest @@ -1,4 +1,3 @@ -DIST chromium-153.0.8010.36-lite.tar.xz 1878222540 BLAKE2B c9826900468b24a852bcfa72e1338e9f6344ab91da5af2cd696b2bd87be2e0a924125c00a70895ecac95ef97ec3711cf1ca7cc611cb8e4904dc4396d8746c569 SHA512 cdbeb7d14768f7c7291a290176ef108a33685ff5c1414daf1b0d9a35da7b2c508dece141b82f73343abce942dd612c17a2bddbd77541ef5899976045b656ef4b DIST chromium-153.0.8010.52-linux.tar.xz 1878470976 BLAKE2B 3e4bff18a63a51be2428f925af8f41119601bf1b39df2e4b9e20e7819e957b224e85fd06e939f17196d40e4271ba8f83fb5b78f9334f112f1da25a93a515b181 SHA512 144667ff65b4018b9afd911bd9acfa83f8e396b984d03b5b0f5588c46f36989e5d523522b1cfb471d2cef0f29a60b7ea3e7ec21f3cae100ca65835be1c023d17 DIST chromium-cf94ed446320d35c8613ed9b3ffb6e6a61bfcb5f.patch 9972 BLAKE2B 72d3b755214a8cc0299129c645b938746a2e4dff31cc9aa154019ebaf5c29d5ce9a8378dbecbf0455f253c5e10b83dbfd03a10573d8fa93992f2d6ac965a2b1f SHA512 62ffd3162a0c1aa4be51d3ead238b3a84463f8c6d55b9aad5806bcb23dfb2b832ad6aec7f348690c4b3aaf430260352ca558e791ca611d5e791e6b3eadcffcf1 DIST chromium-clang-llvmorg-23-init-19482-g53d18800-1.tar.xz 59093892 BLAKE2B faf8c5011b0271903a9a09a4539002088030eac34ac01c4b84581a556f761f89eac035feda5b97be350679325968db99face036c201972b01dd081ced3468edc SHA512 5d88f1ed4901c80963b6740c9b15a28c33db397f8bf31503502b00caff172e17d37f7b946da31162e04794fee763e0b7456a9fc476827c8a19cdd1e737b9b68a @@ -9,5 +8,4 @@ DIST chromium-rust-toolchain-b998449636-2-llvmorg-23-init-19482-g53d18800.tar.xz DIST chromium-testfonts-9c07d19d9c.tar.gz 33413117 BLAKE2B 95cb79288de5697b6de2a6f503f81bcfb7687ea1af0bd0e6db8cfc09af7cdaedd9a83f36dd9d0a3ac19dfca8ac7a6c3a891922a192db012688565c06da8a9cf8 SHA512 2d3602b7a924d2bb8d538882f13a05428e23bf16ea3a9cf07eb13801fe7f33261ce61f2e5dc12e5c6f61f21b392526024d1969e8a967cf1f5138c647b84025b6 DIST cromite-49c23e54e61a84486bb6581cccf6d51ada75999b.tar.gz 175429613 BLAKE2B 1ba19b0d8b25a11a50f8d2ea35cebbae65fcdc89a1d20c4d403ef9ac68079b5f71d97a59fd98e6f9a10ccf1cf62e5cac67fbe3dd605bde450510f70d0c0179d5 SHA512 dee56e323c531024dce2616cc4a685f7d1203c03331db3444a2f3bd6a0dae4f60d22a8821e5464f1db2b6d024b75d220f788648ad4905d3138260a929466e63e DIST rollup-wasm-node-4.57.1.tgz 792515 BLAKE2B 52fa9c4b65f3e20149c66fdd44b3c2a8b47e836d87de85535dbbf8b7243acef3d65c5be9f794eebb1533af2f16888a1cb42a75ed392ba65251cf60b73b41d559 SHA512 6f4adc247f329046a77e04de0ed94fb9b86984850ec74a1a01e93ede18b34da164a02d450524ec6341a2c700780f91d9e6bdc6b76c88f5cf0cd7739c5bf916e4 -DIST ungoogled-chromium-153.0.8010.36-1.tar.gz 671692 BLAKE2B 202ebbc47843e838ae0cbf87f7f4f3d7b6f52abe6781c5cc398f684b1ed51a96770477995263c3684698dbbe085414711b11348ba75372518b3dd057aab07d37 SHA512 7ab1c73b21c5415a10f232f6ef1ecd9c1df14fb376f2516ff09f08759c449f0ec487a3930645e7109cb3b5386ed09604e2c286ae289bd4746713f56855b05242 DIST ungoogled-chromium-153.0.8010.52-1.tar.gz 671744 BLAKE2B e61223de882b2dc7b57b46543e05b1770f319f595e19fd7164a2f4340e3484a4e691e6db97a0a58ce40f883acddda886131d7b7a7e5481594f54f00bdee9212b SHA512 59f1cae28a5faa95a645bbd6bfe3def03e4b2e75e614fad25d43b2099f690bae7032c1f41cdde0fa53c03d03b8b478aff328fb5a785ed938ac411fbbb528ae52 diff --git a/www-client/ungoogled-chromium/ungoogled-chromium-153.0.8010.36_p1.ebuild b/www-client/ungoogled-chromium/ungoogled-chromium-153.0.8010.36_p1.ebuild deleted file mode 100644 index 4b3ef79da830..000000000000 --- a/www-client/ungoogled-chromium/ungoogled-chromium-153.0.8010.36_p1.ebuild +++ /dev/null @@ -1,2646 +0,0 @@ -# Copyright 2009-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Use following environment variables to customise the build -# EXTRA_GN — pass extra options to gn -# NINJAOPTS="-k0 -j8" useful to populate ccache even if ebuild is still failing -# UGC_SKIP_PATCHES — space-separated list of patches to skip -# UGC_KEEP_BINARIES — space-separated list of binaries to keep -# UGC_SKIP_SUBSTITUTION — space-separated list of files to skip domain substitution - -# USE=bundled-toolchain is intended for users who want to use the same toolchain -# as the upstream releases. It's also a good fallback in case we fall behind -# and need to get a release out quickly (less likely with `dev` in-tree). -# We can't rely on it as a default since the toolchain is only shipped for x86-64; -# other architectures will need to use system toolchain. - -# Since m133 we are using CI-generated tarballs from -# https://github.com/chromium-linux-tarballs/chromium-tarballs/ - -# These are bit-for-bit identical to the official releases, but are built -# using an external CI system that we have some control over, in case -# issues pop up again with official tarball generation. - -GN_MIN_VER=0.2374 -# chromium-tools/get-chromium-toolchain-strings.py (or just use Chromicler) -# Node for M145+ should be 24.12.0 but that's not packaged in Gentoo yet. See #969145 -TEST_FONT="9c07d19d9c5ee1ff94f717e6fb17e0c8c354e6f9" -BUNDLED_CLANG_VER="llvmorg-23-init-19482-g53d18800-1" -BUNDLED_RUST_VER="b998449636a48e2c4a362809085b600a0174e1f2-2" -RUST_SHORT_HASH=${BUNDLED_RUST_VER:0:10}-${BUNDLED_RUST_VER##*-} -NODE_VER="24.12.0" -GO_MIN_VER="1.25.0" -ESBUILD_VER="0.25.1" -ROLLUP_VER="4.57.1" # currently manual. - -CHROMIUM_LANGS="af am ar as az be bg bn bs ca cs cy da de el en-GB es es-419 et eu fa fi fil - fr fr-CA gl gu he hi hr hu hy id is it ja ka kk km kn ko ky lo lt lv mk ml mn mr ms my - nb ne nl or pa pl pt-BR pt-PT ro ru si sk sl sq sr sr-Latn sv sw ta te th tr uk ur uz - vi zh-CN zh-HK zh-TW zu" - -#UGC_COMMIT_ID="cacf0f0fd2446a837528c54df1880b75874b9580" -# UGC_PR_COMMITS=( -# c917e096342e5b90eeea91ab1f8516447c8756cf -# 5794e9d12bf82620d5f24505798fecb45ca5a22d -# ) - -CROMITE_COMMIT_ID="49c23e54e61a84486bb6581cccf6d51ada75999b" - -declare -A CHROMIUM_COMMITS=( - # ["27f8690db999f6e56f0af7a9ea3d28a019ed72ca"]="." #152+ - ["-cf94ed446320d35c8613ed9b3ffb6e6a61bfcb5f"]="." # ffmpeg 9 - # ["-bf6be9310a07b981edf81e0ac9b89dead09be35c"]="." # ffmpeg 9 - # ["-c72c7b0971e3e31974b0adea0dac42278e22e3b0"]="third_party/devtools-frontend/src" # need gn >= 2459 -# # ["-37c28a19804e47a68eabf3cf882a310689fc325b"]="." #disable style check for cromite -# # ["cd5a0df905a28faa89ff2a4ab44f893f84dc4487"]="net/third_party/quiche/src" -) - -LLVM_COMPAT=( 21 22 23 ) -PYTHON_COMPAT=( python3_{13..14} ) -PYTHON_REQ_USE="xml(+)" -RUST_MIN_VER=1.91.0 -RUST_NEEDS_LLVM="yes please" -RUST_OPTIONAL="yes" # Not actually optional, but we don't need system Rust (or LLVM) with USE=bundled-toolchain -RUST_REQ_USE="rustfmt" # Upstream run rustfmt on bindgen output, so we need it to be available. - -inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils -inherit python-any-r1 readme.gentoo-r1 rust systemd toolchain-funcs xdg-utils - -DESCRIPTION="Modifications to Chromium for removing Google integration and enhancing privacy" -HOMEPAGE="https://github.com/ungoogled-software/ungoogled-chromium" -PPC64_HASH="7aae8a84e327fc2078ce1625c9c70bfda77d626f" -PATCH_V="152" -# PATCH_V="${PV%%\.*}" -COPIUM_COMMIT="3c7e56fb4523b43b47595bb3a22f77178fc76293" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/chromium-${PV/_*}-lite.tar.xz - https://deps.gentoo.zip/www-client/chromium/rollup-wasm-node-${ROLLUP_VER}.tgz - https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2 - !bundled-toolchain? ( - https://codeberg.org/selfisekai/copium/archive/${COPIUM_COMMIT}.tar.gz - -> chromium-patches-copium-${COPIUM_COMMIT:0:10}.tar.gz - ) - bundled-toolchain? ( - https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-${BUNDLED_CLANG_VER}.tar.xz - -> chromium-clang-${BUNDLED_CLANG_VER}.tar.xz - https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${BUNDLED_RUST_VER}-${BUNDLED_CLANG_VER%-*}.tar.xz - -> chromium-rust-toolchain-${RUST_SHORT_HASH}-${BUNDLED_CLANG_VER%-*}.tar.xz - ) - test? ( - https://chromium-fonts.storage.googleapis.com/${TEST_FONT} -> chromium-testfonts-${TEST_FONT:0:10}.tar.gz - ) - ppc64? ( - https://gitlab.raptorengineering.com/raptor-engineering-public/chromium/openpower-patches/-/archive/${PPC64_HASH}/openpower-patches-${PPC64_HASH}.tar.bz2 -> chromium-openpower-${PPC64_HASH:0:10}.tar.bz2 - ) -" - -# Gentoo tarball: -# https://chromium-tarballs.distfiles.gentoo.org/chromium-${PV/_*}.tar.xz -> chromium-${PV/_*}-gentoo.tar.xz - -# chromium-linux-tarballs -# https://github.com/chromium-linux-tarballs/chromium-tarballs/releases/download/${PV/_*}/chromium-${PV/_*}-linux.tar.xz - -# Official tarball: -# https://commondatastorage.googleapis.com/chromium-browser-official/chromium-${PV/_*}${LITE_TARBALL:+-lite}.tar.xz - -# https://gitweb.gentoo.org/proj/chromium-tools.git/tree/get-chromium-licences.py @ 145.0.7632.76 -LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 Base64 Boost-1.0 CC-BY-3.0 CC-BY-4.0 Clear-BSD FFT2D FTL" -LICENSE+=" IJG ISC LGPL-2 LGPL-2.1 MIT MPL-1.1 MPL-2.0 Ms-PL PSF-2 SGI-B-2.0 SSLeay SunSoft Unicode-3.0" -LICENSE+=" Unicode-DFS-2015 Unlicense UoI-NCSA ZLIB libtiff openssl" -LICENSE+=" cromite? ( GPL-3 )" - -SLOT="stable" -KEYWORDS="amd64 ~arm64 ~ppc64 ~x86" - -IUSE_SYSTEM_LIBS="abseil-cpp av1 brotli crc32c double-conversion ffmpeg +harfbuzz icu jsoncpp +libusb libvpx +openh264 openjpeg re2 snappy woff2 +zstd" -IUSE="+X bindist bluetooth bundled-toolchain cfi convert-dict cups custom-cflags debug ffmpeg-chromium enable-driver gtk4 hangouts headless kerberos +libcxx nvidia +official optimize-thinlto optimize-webui override-data-dir pax-kernel pgo" -IUSE+=" +proprietary-codecs pulseaudio qt6 screencast selinux test thinlto cromite vaapi wayland widevine cpu_flags_ppc_vsx3" -RESTRICT=" - !bindist? ( bindist ) - !test? ( test ) - arm64? ( test ) - !system-ffmpeg? ( proprietary-codecs? ( bindist ) ) - !system-openh264? ( bindist ) - cromite? ( bindist )" - -REQUIRED_USE=" - !headless? ( || ( X wayland ) ) - screencast? ( wayland ) - ffmpeg-chromium? ( bindist proprietary-codecs ) - optimize-thinlto? ( thinlto ) - cfi? ( thinlto ) - x86? ( !thinlto !widevine ) - debug? ( !official ) - vaapi? ( !system-av1 !system-libvpx ) -" - -UGC_PV="${PV/_p/-}" -UGC_PF="${PN}-${UGC_PV}" -UGC_URL="https://github.com/ungoogled-software/${PN}/archive/" - -if [ -z "$UGC_COMMIT_ID" ]; then - UGC_URL="${UGC_URL}${UGC_PV}.tar.gz -> ${UGC_PF}.tar.gz" - UGC_WD="${WORKDIR}/${UGC_PF}" -else - UGC_URL="${UGC_URL}${UGC_COMMIT_ID}.tar.gz -> ${PN}-${UGC_COMMIT_ID}.tar.gz" - UGC_WD="${WORKDIR}/ungoogled-chromium-${UGC_COMMIT_ID}" -fi - -SRC_URI+="${UGC_URL} -" - -if [ ! -z "${UGC_PR_COMMITS[*]}" ]; then - for i in "${UGC_PR_COMMITS[@]}"; do - SRC_URI+="https://github.com/ungoogled-software/${PN}/commit/$i.patch?full_index=true -> ${PN}-$i.patch - " - done -fi - -if [ ! -z "${CHROMIUM_COMMITS[*]}" ]; then - # for i in "${CHROMIUM_COMMITS[@]}"; do - for i in "${!CHROMIUM_COMMITS[@]}"; do - if [[ ${CHROMIUM_COMMITS[$i]} =~ webrtc ]]; then - #TODO: is it safe to use this mirror? - SRC_URI+="https://github.com/webrtc-mirror/webrtc/commit/${i/-}.patch?full_index=true -> webrtc-${i/-}.patch - " - elif [[ ${CHROMIUM_COMMITS[$i]} =~ angle ]]; then - SRC_URI+="https://github.com/google/angle/commit/${i/-}.patch?full_index=true -> angle-${i/-}.patch - " - elif [[ ${CHROMIUM_COMMITS[$i]} =~ quiche ]]; then - SRC_URI+="https://github.com/google/quiche/commit/${i/-}.patch?full_index=true -> quiche-${i/-}.patch - " - elif [[ ${CHROMIUM_COMMITS[$i]} =~ dawn ]]; then - SRC_URI+="https://github.com/google/dawn/commit/${i/-}.patch?full_index=true -> dawn-${i/-}.patch - " - elif [[ ${CHROMIUM_COMMITS[$i]} =~ perfetto ]]; then - SRC_URI+="https://github.com/google/perfetto/commit/${i/-}.patch?full_index=true -> perfetto-${i/-}.patch - " - elif [[ ${CHROMIUM_COMMITS[$i]} =~ ink ]]; then - SRC_URI+="https://github.com/google/ink/commit/${i/-}.patch?full_index=true -> ink-${i/-}.patch - " - elif [[ ${CHROMIUM_COMMITS[$i]} =~ vulkan-utility-libraries ]]; then - SRC_URI+="https://github.com/KhronosGroup/Vulkan-Utility-Libraries/commit/${i/-}.patch?full_index=true -> vulkan-utility-libraries-${i/-}.patch - " - elif [[ ${CHROMIUM_COMMITS[$i]} =~ ruy ]]; then - SRC_URI+="https://github.com/google/ruy/commit/${i/-}.patch?full_index=true -> ruy-${i/-}.patch - " - elif [[ ${CHROMIUM_COMMITS[$i]} =~ devtools-frontend ]]; then - SRC_URI+="https://github.com/ChromeDevTools/devtools-frontend/commit/${i/-}.patch?full_index=true -> devtools-frontend-${i/-}.patch - " - else - SRC_URI+="https://github.com/chromium/chromium/commit/${i/-}.patch?full_index=true -> chromium-${i/-}.patch - " - fi - done -fi - -SRC_URI+="cromite? ( https://github.com/uazo/cromite/archive/${CROMITE_COMMIT_ID}.tar.gz -> cromite-${CROMITE_COMMIT_ID}.tar.gz ) -" - -for i in ${IUSE_SYSTEM_LIBS}; do - [[ $i =~ ^(\+)?(.*)$ ]] - IUSE+=" ${BASH_REMATCH[1]}system-${BASH_REMATCH[2]}" -done - -COMMON_X_DEPEND=" - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxshmfence:= -" - -# sys-libs/zlib: https://bugs.gentoo.org/930365; -ng is not compatible. -# We _could_ use the bundled minizip, but that's against policy. -COMMON_SNAPSHOT_DEPEND=" - system-icu? ( >=dev-libs/icu-78:= ) - system-abseil-cpp? ( >=dev-cpp/abseil-cpp-20260107.0 ) - system-brotli? ( >=app-arch/brotli-9999 ) - system-crc32c? ( dev-libs/crc32c ) - system-double-conversion? ( dev-libs/double-conversion ) - system-woff2? ( media-libs/woff2 ) - system-snappy? ( app-arch/snappy ) - system-jsoncpp? ( dev-libs/jsoncpp ) - system-openjpeg? ( media-libs/openjpeg:2= ) - system-re2? ( >=dev-libs/re2-0.2019.08.01:= ) - system-libvpx? ( >=media-libs/libvpx-1.13.0:=[postproc] ) - system-libusb? ( virtual/libusb:1 ) - cromite? ( dev-util/patchutils ) - >=dev-libs/libxml2-2.12.4:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - dev-libs/libxslt:= - media-libs/fontconfig:= - >=media-libs/freetype-2.11.0-r1:= - system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-zstd? ( >=app-arch/zstd-1.5.5:= ) - >=media-libs/libwebp-0.4.0:= - media-libs/mesa:=[gbm(+)] - >=media-libs/openh264-2.6.0:= - system-av1? ( - >=media-libs/dav1d-1.0.0:= - >=media-libs/libaom-3.7.0:= - ) - sys-libs/zlib:= - !headless? ( - dev-libs/glib:2 - >=media-libs/alsa-lib-1.0.19:= - media-video/pipewire:= - pulseaudio? ( - || ( - media-libs/libpulse - >=media-sound/apulse-0.1.9 - ) - ) - sys-apps/pciutils:= - kerberos? ( virtual/krb5 ) - vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) - X? ( - x11-base/xorg-proto:= - x11-libs/libX11:= - x11-libs/libxcb:= - x11-libs/libXext:= - ) - x11-libs/libxkbcommon:= - wayland? ( - screencast? ( media-video/pipewire:= ) - dev-libs/libffi:= - dev-libs/wayland:= - screencast? ( - media-video/pipewire:= - || ( - sys-apps/xdg-desktop-portal-gnome - sys-apps/xdg-desktop-portal-gtk - kde-plasma/xdg-desktop-portal-kde - gui-libs/xdg-desktop-portal-lxqt - gui-libs/xdg-desktop-portal-wlr - ) - ) - ) - ) -" - -COMMON_DEPEND=" - ${COMMON_SNAPSHOT_DEPEND} - app-arch/bzip2:= - dev-libs/expat:= - system-ffmpeg? ( - >=media-video/ffmpeg-6.1:= - >=media-libs/opus-1.3.1:= - ) - net-misc/curl[ssl] - sys-apps/dbus:= - media-libs/flac:= - sys-libs/zlib:=[minizip] - !headless? ( - >=app-accessibility/at-spi2-core-2.46.0:2 - media-libs/mesa:=[X?,wayland?] - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/pango:= - cups? ( >=net-print/cups-1.3.11:= ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) - X? ( ${COMMON_X_DEPEND} ) - ) -" -RDEPEND="${COMMON_DEPEND} - !www-client/ungoogled-chromium:0 - >=www-client/chromium-common-2 - !headless? ( - || ( - x11-libs/gtk+:3[X?,wayland?] - gui-libs/gtk:4[X?,wayland?] - ) - qt6? ( dev-qt/qtbase:6[X?,wayland?] ) - ) - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - bindist? ( - ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} ) - ) - !override-data-dir? ( - !www-client/chromium:${SLOT} - !www-client/cromite-bin - !www-client/cromite:${SLOT}[-override-data-dir] - ) -" -# For M149+ pipewire is a mandatory build-time dependency, but it's optional at runtime for most configurations. -DEPEND="${COMMON_DEPEND} - !headless? ( - media-video/pipewire - gtk4? ( gui-libs/gtk:4[X?,wayland?] ) - !gtk4? ( x11-libs/gtk+:3[X?,wayland?] ) - ) -" - - # pgo? ( >=llvm-core/clang-22.0.0_pre20260106 >=llvm-core/lld-22.0.0_pre20260106 ) -BDEPEND=" - ${COMMON_SNAPSHOT_DEPEND} - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - >=app-arch/gzip-1.7 - !headless? ( - qt6? ( dev-qt/qtbase:6 ) - ) - !bundled-toolchain? ( $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT} - llvm-core/llvm:${LLVM_SLOT} - llvm-core/lld:${LLVM_SLOT} - cfi? ( llvm-runtimes/clang-runtime:${LLVM_SLOT}[sanitize] ) - official? ( - !ppc64? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[cfi] ) - ) ') - ${RUST_DEPEND} - ) - >=dev-util/bindgen-0.72.1 - >=dev-build/gn-${GN_MIN_VER} - >=dev-lang/go-${GO_MIN_VER} - dev-lang/typescript - app-alternatives/ninja - dev-lang/perl - >=dev-util/gperf-3.2 - dev-util/esbuild:${ESBUILD_VER} - dev-vcs/git - >=net-libs/nodejs-${NODE_VER}[inspector] - sys-apps/hwdata - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - x11-misc/xdg-utils -" - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -S="${WORKDIR}/chromium-${PV/_*}" - -python_check_deps() { - python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" -} - -pre_build_checks() { - # Check build requirements: bugs #471810, #541816, #914220 - # We're going to start doing maths here on the size of an unpacked source tarball, - # this should make updates easier as chromium continues to balloon in size. - # xz -l /var/cache/distfiles/chromium-${PV}*.tar.xz - local base_disk=9 # Round up - use test && base_disk=$((base_disk + 5)) - local extra_disk=1 # Always include a little extra space - local memory=4 - tc-is-cross-compiler && extra_disk=$((extra_disk * 2)) - if tc-is-lto || use pgo; then - memory=$((memory * 2 + 1)) - tc-is-cross-compiler && extra_disk=$((extra_disk * 2)) # Double the requirements - use pgo && extra_disk=$((extra_disk + 4)) - fi - if is-flagq '-g?(gdb)?([1-9])'; then - if use custom-cflags; then - extra_disk=$((extra_disk + 5)) - fi - memory=$((memory * 2)) - fi - local CHECKREQS_MEMORY="${memory}G" - local CHECKREQS_DISK_BUILD="$((base_disk + extra_disk))G" - check-reqs_${EBUILD_PHASE_FUNC} -} - -pkg_pretend() { - if [[ ${MERGE_TYPE} != binary ]]; then - # The pre_build_checks are all about compilation resources, no need to run it for a binpkg - pre_build_checks - fi - - if use headless; then - local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt6" "vaapi" "wayland") - for myiuse in ${headless_unused_flags[@]}; do - use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set." - done - fi - - if ! use bindist && use ffmpeg-chromium; then - ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set." - fi - if use libcxx; then - ewarn - ewarn "Building with libcxx, please be aware that system-*" - ewarn "and some other c++ dependencies need to be compiled" - ewarn "with the same c++ library as ungoogled-chromium itself" - ewarn "dev-libs/jsoncpp is most problematic, see #58 #49 #119 for details" - ewarn "Simplest solution would be to disable corresponding system-* flags" - ewarn - fi - if use cfi; then - ewarn - ewarn "Building with cfi is only possible if building with -stdlib=libc++" - ewarn "Make sure all dependencies are also built this way, see #40" - ewarn - fi - if use cromite; then - ewarn - ewarn "Cromite patches are very experimental and unstable" - ewarn "Please consider testing them and giving feedback upstream:" - ewarn "https://github.com/uazo/cromite/issues" - ewarn "Not all patches are applied, let me know if others should be considered too" - ewarn - fi - if use pgo; then - eerror - eerror "pgo requires llvm slot 23, but there is no corresponding rust slot yet" - eerror - if [ -z "${NODIE}" ]; then - die "Build will fail with pgo" - fi - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]]; then - # The pre_build_checks are all about compilation resources, no need to run it for a binpkg - pre_build_checks - - # We haven't massaged any CFLAGS yet, so we want to do this before we force CC/CXX to prevent warnings. - local want_lto="false" - tc-is-lto && want_lto="true" - - # The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment - # We'll set these to clang here then use llvm-utils functions to very explicitly set these - # to a sane value. - # This is effectively the 'force-clang' path if GCC support is re-added. - if use !bundled-toolchain; then - llvm-r1_pkg_setup - rust_pkg_setup - - if tc-ld-is-mold; then - ewarn "Mold is currently not supported, it will not be used" - fi - - # Forcing clang; respect llvm_slot_x to enable selection of impl via LLVM_COMPAT - AR=llvm-ar - CPP="${CHOST}-clang++-${LLVM_SLOT} -E" - NM=llvm-nm - CC="${CHOST}-clang-${LLVM_SLOT}" - CXX="${CHOST}-clang++-${LLVM_SLOT}" - fi - - # LTO in Chromium means LLVM ThinLTO, if GCC support is re-added - # We'll need to handle that here too. - use_lto="false" - local lto_usable="true" - if [[ "$want_lto" == "true" ]]; then - if use arm64 && [[ "${LLVM_SLOT}" -lt 22 ]]; then - einfo "LTO is broken with LLVM 21 on arm64, ignoring CFLAGS." - lto_usable="false" - else - use_lto="true" - fi - # We can rely on GN to do this for us; without this builds - # take significantly longer with LTO enabled. - filter-lto - fi - - if [[ "$use_lto" == "false" ]] && use official && [[ "$lto_usable" == "true" ]]; then - einfo "USE=official selected and LTO not detected." - einfo "It is _highly_ recommended that LTO be enabled for performance reasons" - einfo "and to be consistent with the upstream \"official\" build optimisations." - fi - - if [[ "$use_lto" == "false" ]] && use test; then - die "Tests require CFI which requires LTO" - fi - - export use_lto - - if tc-is-cross-compiler; then - use pgo && die "The pgo USE flag cannot be used when cross-compiling" - CPP="${CBUILD}-clang++-${LLVM_SLOT} -E" - fi - - # Sanity checks for development convenience - if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then - die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium" - fi - - # Sometimes, when adding a new LLVM slot, devs (me) forget to install an appropriate lld. - if tc-ld-is-lld; then - local lld_ver=$(ld.lld --version | awk '{split($2,a,"."); print a[1]}' || die "Failed to check lld version") - if [[ ${lld_ver} -lt ${LLVM_SLOT} ]]; then - die "Your lld version (${lld_ver}) is too old for the selected LLVM slot (${LLVM_SLOT}). Please install a newer lld or select an older LLVM slot." - fi - fi - fi - - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - # # Here be dragons! - # local XCLD="--exclude=chromium-${PV/_*}/third_party/instrumented_libs \ - # --exclude=chromium-${PV/_*}/third_party/llvm \ - # --exclude=chromium-${PV/_*}/third_party/llvm-build \ - # --exclude=chromium-${PV/_*}/third_party/node/linux \ - # --exclude=chromium-${PV/_*}/third_party/rust-src \ - # --exclude=chromium-${PV/_*}/third_party/rust-toolchain \ - # --exclude=chromium-${PV/_*}/build/linux/debian_bullseye_i386-sysroot \ - # --exclude=chromium-${PV/_*}/build/linux/debian_bullseye_amd64-sysroot \ - # --exclude=chromium-${PV/_*}/third_party/angle/third_party/VK-GL-CTS \ - # " - - # if ! use libcxx ; then - # XCLD+=" --exclude=chromium-${PV/_*}/third_party/libc++" - # fi - - # if ! use pgo ; then - # XCLD+=" --exclude=chromium-${PV/_*}/chrome/build/pgo_profiles" - # fi - - # einfo "Unpacking chromium-${PV/_*}.tar.xz to ${WORKDIR}" - # # Gentoo tarball: - # # tar ${XCLD} -xf "${DISTDIR}/chromium-${PV/_*}-gentoo.tar.xz" -C "${WORKDIR}" || die - # tar ${XCLD} -xf "${DISTDIR}/chromium-${PV/_*}${LITE_TARBALL:+-lite}.tar.xz" -C "${WORKDIR}" || die - - # unpack ${UGC_URL#*->} - # # unpack chromium-patches-${PATCH_V}.tar.bz2 - # # Warned you! - - unpack chromium-${PV/_*}-lite.tar.xz - unpack chromium-patches-${PATCH_V}.tar.bz2 - # These should only be required when we're not using the official toolchain - if use !bundled-toolchain; then - unpack chromium-patches-copium-${COPIUM_COMMIT:0:10}.tar.gz - fi - - if use test; then - # This just contains a bunch of font files that need to be unpacked (or moved) to the correct location. - local testfonts_dir="${WORKDIR}/chromium-${PV/_*}/third_party/test_fonts/test_fonts" - local testfonts_tar="${DISTDIR}/chromium-testfonts-${TEST_FONT:0:10}.tar.gz" - einfo "Unpacking test fonts ..." - tar xf "${testfonts_tar}" -C "${testfonts_dir}" || die "Failed to unpack testfonts" - fi - - # We need to manually unpack this since M126 else we'd unpack one toolchain over the other. - # Since we're doing that anyway let's unpack to sensible locations to make symlink creation easier. - if use bundled-toolchain; then - einfo "Unpacking bundled Clang ..." - mkdir -p "${WORKDIR}"/clang || die "Failed to create clang directory" - tar xf "${DISTDIR}/chromium-clang-${BUNDLED_CLANG_VER}.tar.xz" -C "${WORKDIR}/clang" || die "Failed to unpack Clang" - einfo "Unpacking bundled Rust ..." - local rust_dir="${WORKDIR}/rust-toolchain" - mkdir -p "${rust_dir}" || die "Failed to create rust toolchain directory" - tar xf "${DISTDIR}/chromium-rust-toolchain-${RUST_SHORT_HASH}-${BUNDLED_CLANG_VER%-*}.tar.xz" -C "${rust_dir}" || - die "Failed to unpack Rust" - fi - - if use ppc64; then - unpack chromium-openpower-${PPC64_HASH:0:10}.tar.bz2 - fi - - # This is a dirty hack, but we need rollup to build successfully and it's proving to be challenging - # to build locally due to deps - unpack rollup-wasm-node-${ROLLUP_VER}.tgz - - if use cromite; then - unpack cromite-${CROMITE_COMMIT_ID}.tar.gz - fi - - unpack ${UGC_URL#*->} -} - -remove_compiler_builtins() { - # We can't use the bundled compiler builtins with the system toolchain - # We used to `grep` then `sed`, but it was indirect. Combining the two into a single - # `awk` command is more efficient and lets us document the logic more clearly. - - local pattern=' configs += [ "//build/config/clang:compiler_builtins" ]' - local target='build/config/compiler/BUILD.gn' - - local tmpfile - tmpfile=$(mktemp) || die "Failed to create temporary file." - - if awk -v pat="${pattern}" ' - BEGIN { - match_found = 0 - } - - # If the delete countdown is active, decrement it and skip to the next line. - d > 0 { d--; next } - - # If the current line matches the pattern... - $0 == pat { - match_found = 1 # ...set our flag to true. - d = 2 # Set delete counter for this line and the next two. - prev = "" # Clear the buffered previous line so it is not printed. - next - } - - # For any other line, print the buffered previous line. - NR > 1 { print prev } - - # Buffer the current line to be printed on the next cycle. - { prev = $0 } - - END { - # Print the last line if it was not part of a deleted block. - if (d == 0) { print prev } - - # If the pattern was never found, exit with a failure code. - if (match_found == 0) { - exit 1 - } - } - ' "${target}" > "${tmpfile}"; then - # AWK SUCCEEDED (exit code 0): The pattern was found and edited. - # This is to avoid gawk's `-i inplace` option which users complain about. - mv "${tmpfile}" "${target}" - else - # AWK FAILED (exit code 1): The pattern was not found. - rm -f "${tmpfile}" - die "Awk patch failed: Pattern not found in ${target}." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # We'll fill this in as we go. Patches go in chromium-patches. - local PATCHES=() - - rm "${WORKDIR}/chromium-patches-${PATCH_V}/common/cr131-unbundle-icu-target.patch" - rm "${WORKDIR}/chromium-patches-${PATCH_V}/toolchain/cr152-fix-rust-2-oxidize-harder.patch" - rm "${WORKDIR}/chromium-patches-${PATCH_V}/common/cr152-revert-to-rollup-wasm.patch" - - if ver_test "${RUST_SLOT}" -ge "1.95.0"; then - sed -i '/SupportedLaneCount/d' third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/zeroable.rs || die - sed -i '/SupportedLaneCount/d' third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/pod.rs || die - fi - - # sed -i '/no-lifetime-safety-inference/d' third_party/dawn/src/utils/BUILD.gn || die - # sed -i '/no-experimental-lifetime-safety-tu-analysis/d' third_party/dawn/src/utils/BUILD.gn || die - - PATCHES+=( - "${WORKDIR}/chromium-patches-${PATCH_V}/common/" - "${FILESDIR}/restore-x86-r4.patch" - "${FILESDIR}/chromium-152-ffmpeg-fix.patch" - "${FILESDIR}/chromium-152-unbundle-minizip-undo-unicode.patch" - "${FILESDIR}/chromium-153-revert-to-rollup-wasm.patch" - "${FILESDIR}/chromium-153-fix-devtools.patch" - "${FILESDIR}/chromium-153-cbor-fix.patch" - "${FILESDIR}/chromium-153-system-typescript.patch" - ) - - # So many fontconfig magic numbers to cover - # TODO: once upstream roll to 2.18.2+ set that as our minimum and remove this logic. - # <=2.17.1 -> 9 - # >2.17.1 && <2.18.2 -> 11 - # >=2.18.2 -> 12 - local fontconfig_cache_magic=9 - if has_version ">=media-libs/fontconfig-2.18.2"; then - fontconfig_cache_magic=12 - elif has_version ">media-libs/fontconfig-2.17.1"; then - fontconfig_cache_magic=11 - fi - - sed -E -i \ - -e "s#(fb5c91b2895aa445d23aebf7f9e2189c-le64\.cache-)(9|10|11|12)#\1${fontconfig_cache_magic}#g" \ - third_party/test_fonts/fontconfig/BUILD.gn || die "Failed to set fontconfig cache magic in BUILD.gn" - - #cp -f ${WORKDIR}/chromium-patches-${PATCH_V}/*-compiler.patch "${T}/compiler.patch" - ##cp -f ${FILESDIR}/chromium-147-compiler.patch "${T}/compiler.patch" - #if ! use custom-cflags; then #See #25 #92 - # sed -i '/default_stack_frames/Q' "${T}/compiler.patch" || die - #fi - - sed -E -i \ - -e "s#(kCacheKey \+ \"/-le64\.cache-)(9|10|11|12)(\")#\1${fontconfig_cache_magic}\3#g" \ - -e "s#(kCacheKey \+ \"-le64\.cache-)(9|10|11|12)(\")#\1${fontconfig_cache_magic}\3#g" \ - third_party/test_fonts/fontconfig/generate_fontconfig_caches.cc || \ - die "Failed to set fontconfig cache magic in generate_fontconfig_caches.cc" - - if use bundled-toolchain; then - # We need to symlink the toolchain into the expected location - einfo "Symlinking Clang toolchain to expected location ..." - mkdir -p third_party/llvm-build/ || die "Failed to create llvm-build directory" - # the 'Chromium Linux Tarballs' seem to already have 'Release+Asserts/{lib,bin}'; not sure if this is an - # upstream change - we're using the same scripts to build, theoretically. We'll still attempt to create - # llvm-build, but we'll rm Release+Asserts and symlink directly. - if [[ -d third_party/llvm-build/Release+Asserts ]]; then - rm -r third_party/llvm-build/Release+Asserts || die "Failed to remove third_party/llvm-build/Release+Asserts" - fi - ln -s "${WORKDIR}"/clang third_party/llvm-build/Release+Asserts || die "Failed to bundle Clang" - einfo "Symlinking Rust toolchain to expected location ..." - # As above, so below - if [[ -d third_party/rust-toolchain ]]; then - rm -r third_party/rust-toolchain || die "Failed to remove third_party/rust-toolchain" - fi - ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust" - cp "${WORKDIR}"/rust-toolchain/VERSION \ - "${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version" - else - # We don't need our toolchain patches if we're using the official toolchain - - # Copium patches go here. - PATCHES+=( - "${WORKDIR}/copium/cr143-libsync-__BEGIN_DECLS.patch" - ) - - # Automate conditional application of chromium-patches - # The directory structure is expected to be something like: - # chromium-patches-145/ - # ├── toolchain/ - # │ ├── cr123-foo.patch - # │ └── cr135-bar.patch - # ├── llvm/ - # │ ├── cr144-baz.patch - # │ └── lt-23/ - # │ └── cr145-bleeding-edge-llvm-feature.patch - # Where `lt-23` means "apply this patch if the LLVM version is less than 23". - # Only categories in `slot_map` will be checked for version constraints. - shopt -s nullglob - local -A slot_map=( [llvm]="${LLVM_SLOT}" [rust]="${RUST_SLOT}" ) - - for category in "${WORKDIR}/chromium-patches-${PATCH_V}"/*/; do - local category_name="${category%/}" - category_name="${category_name##*/}" - - # Skip arch-specific categories - if [[ "${category_name}" == "ppc64le" ]]; then - use ppc64 || continue - fi - - # We applied common patches above, no need to apply them again here - [[ "${category_name}" == "common" ]] && continue - - # Unconditional patches for this category - local category_patches=( "${category}"*.patch ) - [[ ${#category_patches[@]} -gt 0 ]] && PATCHES+=( "${category}" ) - - # Version-constrained subdirectories (e.g., llvm/lt-23/) - for constraint_dir in "${category}"*/; do - local dir_name="${constraint_dir%/}" - dir_name="${dir_name##*/}" - if [[ "${dir_name}" =~ ^lt-(.*)$ && -v slot_map[${category_name}] ]]; then - ver_test "${slot_map[${category_name}]}" -lt "${BASH_REMATCH[1]}" && - PATCHES+=( "${constraint_dir}" ) - fi - done - done - - shopt -u nullglob - - # Strictly speaking this doesn't need to be gated (no bundled toolchain for ppc64); it keeps the logic together - if use ppc64; then - local patchset_dir="${WORKDIR}/openpower-patches-${PPC64_HASH}/patches" - # patch causes build errors on 4K page systems (https://bugs.gentoo.org/show_bug.cgi?id=940304) - local page_size_patch="ppc64le/third_party/use-sysconf-page-size-on-ppc64.patch" - local isa_3_patch="ppc64le/core/baseline-isa-3-0.patch" - # Apply the OpenPOWER patches (check for page size and isa 3.0) - openpower_patches=( $(grep -E "^ppc64le|^upstream" "${patchset_dir}/series" | grep -v "${page_size_patch}" | - grep -v "${isa_3_patch}" || die) ) - for patch in "${openpower_patches[@]}"; do - PATCHES+=( "${patchset_dir}/${patch}" ) - done - if [[ $(getconf PAGESIZE) == 65536 ]]; then - PATCHES+=( "${patchset_dir}/${page_size_patch}" ) - fi - # We use vsx3 as a proxy for 'want isa3.0' (POWER9) - if use cpu_flags_ppc_vsx3 ; then - PATCHES+=( "${patchset_dir}/${isa_3_patch}" ) - fi - fi - - remove_compiler_builtins - - # We can't rely on the eselect'd Rust to actually include rustfmt, so we'll point to the selected slot specifically. - local suffix="" - if [[ "${RUST_TYPE}" == "binary" ]]; then - suffix="-bin-${RUST_SLOT}" - else - suffix="-${RUST_SLOT}" - fi - sed -i "s|/bin/rustfmt|/bin/rustfmt${suffix}|g" build/rust/rust_bindgen_generator.gni || - die "Failed to update rustfmt path" - - fi - - # Do this before we apply patches since (e.g.) ppc64 needs to patch rollup and it's easier in ${S} - einfo "Moving rollup wasm-node package into place ..." - mkdir -p third_party/devtools-frontend/src/node_modules/@rollup/wasm-node || - die "Failed to create node_modules/@rollup/wasm-node" - mv "${WORKDIR}"/package/* third_party/devtools-frontend/src/node_modules/@rollup/wasm-node || - die "Failed to move rollup package" - - if [ ! -z "${CHROMIUM_COMMITS[*]}" ]; then - # for i in "${CHROMIUM_COMMITS[@]}"; do - for i in "${!CHROMIUM_COMMITS[@]}"; do - if [[ ${CHROMIUM_COMMITS[$i]} =~ webrtc ]]; then - patch_prefix="webrtc" - elif [[ ${CHROMIUM_COMMITS[$i]} =~ angle ]]; then - patch_prefix="angle" - elif [[ ${CHROMIUM_COMMITS[$i]} =~ quiche ]]; then - patch_prefix="quiche" - elif [[ ${CHROMIUM_COMMITS[$i]} =~ dawn ]]; then - patch_prefix="dawn" - elif [[ ${CHROMIUM_COMMITS[$i]} =~ perfetto ]]; then - patch_prefix="perfetto" - elif [[ ${CHROMIUM_COMMITS[$i]} =~ ink ]]; then - patch_prefix="ink" - elif [[ ${CHROMIUM_COMMITS[$i]} =~ vulkan-utility-libraries ]]; then - patch_prefix="vulkan-utility-libraries" - elif [[ ${CHROMIUM_COMMITS[$i]} =~ ruy ]]; then - patch_prefix="ruy" - elif [[ ${CHROMIUM_COMMITS[$i]} =~ devtools-frontend ]]; then - patch_prefix="devtools-frontend" - else - patch_prefix="chromium" - fi - pushd "${CHROMIUM_COMMITS[$i]}" > /dev/null || die - if [[ $i = -* ]]; then - einfo "Reverting ${patch_prefix}-${i/-}.patch" - git_wrapper apply -R --exclude="*unittest.cc" --exclude="DEPS" \ - -p1 < "${DISTDIR}/${patch_prefix}-${i/-}.patch" - else - einfo "Applying ${patch_prefix}-${i/-}.patch" - git_wrapper apply --exclude="*unittest.cc" --exclude="DEPS" \ - -p1 < "${DISTDIR}/${patch_prefix}-${i/-}.patch" - fi - popd > /dev/null || die - done - fi - - if ! use bluetooth ; then - PATCHES+=( - "${FILESDIR}/disable-bluez-r7.patch" - ) - fi - - if use convert-dict ; then - PATCHES+=( - "${FILESDIR}/chromium-ucf-dict-utility-r3.patch" - ) - fi - - if ! use libcxx ; then - PATCHES+=( - "${FILESDIR}/fix-wayland-oncecallback-copy.patch" - ) - fi - - if use system-ffmpeg; then - PATCHES+=( - "${FILESDIR}/chromium-141-opus-mp3.patch" - "${FILESDIR}/chromium-135-hevc.patch" - "${FILESDIR}/chromium-153-fix-iamf.patch" - ) - sed -i "\!AVFMT_FLAG_NOH264PARSE!d" media/filters/ffmpeg_glue.cc || die - ewarn "You need to expose \"av_stream_get_first_dts\" in ffmpeg via user patch" - fi - - if use system-av1; then - PATCHES+=( - "${FILESDIR}/chromium-system-av1.patch" - ) - fi - - if use system-libvpx; then - PATCHES+=( - "${FILESDIR}/chromium-system-libvpx.patch" - ) - fi - - if use system-openjpeg ; then - PATCHES+=( - "${FILESDIR}/chromium-system-openjpeg-r4.patch" - ) - fi - - # if use x86 ; then - # #* Fixes a segfault in transport_security_state_generator - # PATCHES+=( - # "${FILESDIR}/fix-segfault-x86.patch" - # ) - # fi - - # Testing all patches when NODIE is defined - if [ ! -z "${NODIE}" ]; then - for i in "${PATCHES[@]}"; do - eapply_wrapper "$i" - done - nonfatal eapply_user - else - default - fi - - if use cromite ; then - BR_PA_PATH="${WORKDIR}/cromite-${CROMITE_COMMIT_ID}/build/patches" - - sed -i '/b\/components\/components_strings\.grd/,+10d' "${BR_PA_PATH}/Add-cromite-flags-support.patch" || die - sed -i '/b\/chrome\/android\/java\/res\/xml\/privacy_preferences\.xml/,+13d' "${BR_PA_PATH}/Add-cromite-flags-support.patch" || die - sed -i '/b\/android_webview\/support_library\/java\/src\/org\/chromium\/support_lib_glue/,+11d' "${BR_PA_PATH}/Client-hints-overrides.patch" || die - sed -i '/webapps_strings.grdp" \/>/{s++webapps_strings.grdp" /><part file="cromite_components_strings_grd/placeholder.txt"/>+;h};${x;/./{x;q0};x;q1}' \ - components/components_strings.grd || die - - sed -i 's/absl::/std::/' "${BR_PA_PATH}/Add-a-proxy-configuration-page.patch" || die - - filterdiff -p1 "${BR_PA_PATH}/JIT-site-settings.patch" --exclude="content/browser/renderer_host/render_process_host_impl.cc" \ - > "${BR_PA_PATH}/JIT-site-settings.patch1" - mv -f "${BR_PA_PATH}/JIT-site-settings.patch1" "${BR_PA_PATH}/JIT-site-settings.patch" - - BROMITE_PATCHES=( - "${BR_PA_PATH}/bromite-build-utils.patch" - "${BR_PA_PATH}/Battery-API-return-nothing.patch" - "${BR_PA_PATH}/Multiple-fingerprinting-mitigations.patch" - "${BR_PA_PATH}/Add-flag-to-configure-maximum-connections-per-host.patch" - "${BR_PA_PATH}/Add-a-proxy-configuration-page.patch" - "${BR_PA_PATH}/Enable-StrictOriginIsolation-and-SitePerProcess.patch" - "${BR_PA_PATH}/Disable-requests-for-single-word-Omnibar-searches.patch" - "${BR_PA_PATH}/Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch" - "${BR_PA_PATH}/Client-hints-overrides.patch" - "${BR_PA_PATH}/Disable-idle-detection.patch" - "${BR_PA_PATH}/Disable-TLS-resumption.patch" - "${BR_PA_PATH}/Remove-navigator.connection-info.patch" - - "${BR_PA_PATH}/AudioBuffer-AnalyserNode-fp-mitigations.patch" - "${BR_PA_PATH}/Fonts-fingerprinting-mitigation.patch" - "${BR_PA_PATH}/Content-settings-infrastructure.patch" - "${BR_PA_PATH}/Add-autoplay-site-setting.patch" - "${BR_PA_PATH}/Site-setting-for-images.patch" - "${BR_PA_PATH}/JIT-site-settings.patch" - "${BR_PA_PATH}/Add-webGL-site-setting.patch" - "${BR_PA_PATH}/Add-webRTC-site-settings.patch" - "${BR_PA_PATH}/Show-site-settings-for-cookies-javascript-and-ads.patch" - "${BR_PA_PATH}/Viewport-Protection-flag.patch" - "${BR_PA_PATH}/Protect-keyboard-geometry-on-Android.patch" - "${BR_PA_PATH}/Revert-remove-allowscript-content-setting-secondary-url.patch" - "${BR_PA_PATH}/Timezone-customization.patch" - "${BR_PA_PATH}/Disable-speechSynthesis-getVoices-API.patch" - "${BR_PA_PATH}/Remove-support-for-device-memory-and-cpu-recovery.patch" - "${BR_PA_PATH}/Disable-Feeback-Collector.patch" - "${BR_PA_PATH}/Disable-remote-altsvc-for-h3-connections.patch" - "${BR_PA_PATH}/Add-cromite-flags-support.patch" - "${BR_PA_PATH}/Enables-deactivation-of-the-js-debugger-statement.patch" - ) - for i in "${BROMITE_PATCHES[@]}"; do - if [[ "$i" =~ "Add-autoplay-site-setting.patch" ]] || - [[ "$i" =~ "JIT-site-settings.patch" ]] || - [[ "$i" =~ "Site-setting-for-images.patch" ]]; then - einfo "Git binary patch: ${i##*/}" - git_wrapper apply -p1 < "$i" - else - filter_wrapper "$i" --exclude="chrome/android/*" - fi - done - - #! conflicting patches - sed -i '/browser_features.cc/,+17d' \ - "${UGC_WD}/patches/extra/ungoogled-chromium/add-flag-to-clear-data-on-exit.patch" || die - sed -i 's$} // namespace features$BASE_FEATURE(kClearDataOnExit, "ClearDataOnExit", base::FEATURE_DISABLED_BY_DEFAULT);}$' \ - chrome/browser/browser_features.cc || die - sed -i 's$} // namespace features$BASE_DECLARE_FEATURE(kClearDataOnExit);}$' \ - chrome/browser/browser_features.h || die - sed -i 's$kChromeUIAboutHost,$kChromeUIAboutHost,"ungoogled-first-run",$' \ - chrome/common/webui_url_constants.cc || die - sed -i '/chrome\/common\/webui_url_constants.cc/Q' \ - "${UGC_WD}/patches/extra/ungoogled-chromium/first-run-page.patch" || die - - #! normalise paths in py - sed -i 's$os.path.dirname(include_file)$os.path.abspath(os.path.dirname(include_file))$' \ - build/bromite/gyp/cpp_bromite_include.py || die - fi - - # if [[ ${LLVM_SLOT} == "19" ]]; then - # # Upstream now hard depend on a feature that was added in LLVM 20.1, but we don't want to stabilise that yet. - # # Do the temp file shuffle in case someone is using something other than `gawk` - # { - # awk '/config\("clang_warning_suppression"\) \{/ { print $0 " }"; sub(/clang/, "xclang"); print; next } - # { print }' build/config/compiler/BUILD.gn > "${T}/build.gn" && \ - # mv "${T}/build.gn" build/config/compiler/BUILD.gn - # } || die "Unable to disable warning suppression" - # fi - - ## Not included in -lite tarballs, but we should check for it anyway. - #if [[ -f third_party/node/linux/node-linux-x64/bin/node ]]; then - # rm third_party/node/linux/node-linux-x64/bin/node || die - #else - # mkdir -p third_party/node/linux/node-linux-x64/bin || die - #fi - #ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - cp "${FILESDIR}/libusb.gn" build/linux/unbundle || die - sed -i '/^REPLACEMENTS.*$/{s++REPLACEMENTS = {"libusb":"third_party/libusb/BUILD.gn",+;h};${x;/./{x;q0};x;q1}' \ - build/linux/unbundle/replace_gn_files.py || die - sed -i '/^.*deps.*third_party\/jsoncpp.*$/{s++public_deps \+= [ "//third_party/jsoncpp" ]+;h};${x;/./{x;q0};x;q1}' \ - third_party/webrtc/rtc_base/BUILD.gn || die - - if use override-data-dir; then - sed -i '/"chromium";/{s++"ungoogled-chromium";+;h};${x;/./{x;q0};x;q1}' \ - chrome/common/chrome_paths_linux.cc || die - fi - - if use system-abseil-cpp; then - eapply_wrapper "${FILESDIR}/chromium-147-system-abseil.patch" - - #! SFINAE mangling incompatibility between clang and gcc: - #! https://github.com/llvm/llvm-project/issues/85656 - #! gcc: _ZN4absl12lts_202601074CordC1INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELi0EEEOT_ - #! clang: _ZN4absl12lts_202601074CordC1INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEETnNSt9enable_ifIXsr3std7is_sameIT_S8_EE5valueEiE4typeELi0EEEOSA_ - #! So, either this: - eapply_wrapper "${FILESDIR}/chromium-141-system-abseil-cord.patch" - #! or build with -fclang-abi-compat=17 - - # cp -f /usr/include/absl/base/options.h third_party/abseil-cpp/absl/base/options.h - # sed -i '/^#define ABSL_OPTION_USE_STD_ORDERING.*$/{s++#define ABSL_OPTION_USE_STD_ORDERING 1+;h};${x;/./{x;q0};x;q1}' \ - # third_party/abseil-cpp/absl/base/options.h || die - fi - - #* Applying UGC PRs here - if [ ! -z "${UGC_PR_COMMITS[*]}" ]; then - pushd "${UGC_WD}" >/dev/null - for i in "${UGC_PR_COMMITS[@]}"; do - eapply_wrapper "${DISTDIR}/${PN}-$i.patch" - done - popd >/dev/null - fi - - # From here we adapt ungoogled-chromium's patches to our needs - local ugc_pruning_list="${UGC_WD}/pruning.list" - local ugc_patch_series="${UGC_WD}/patches/series" - local ugc_substitution_list="${UGC_WD}/domain_substitution.list" - - local ugc_unneeded=( - # GN bootstrap - extra/debian/gn/parallel - # following Gentoo's Chromium - core/ungoogled-chromium/build-with-wasm-rollup - ) - - if use cromite ; then - einfo "Using fingerprinting patches from Cromite instead" - ugc_unneeded+=( - extra/bromite/fingerprinting-flags-client-rects-and-measuretext - extra/bromite/flag-max-connections-per-host - extra/bromite/flag-fingerprinting-canvas-image-data-noise - extra/ungoogled-chromium/add-components-ungoogled - extra/ungoogled-chromium/remove-pac-size-limit - ) - fi - - # #* Temporary fix - # sed -i "\!ios/!d" "${ugc_pruning_list}" || die - # sed -i "\!third_party/icu/!d" "${ugc_pruning_list}" || die - # sed -i "\!third_party/libjpeg_turbo/!d" "${ugc_pruning_list}" || die - # sed -i "\!third_party/snappy/!d" "${ugc_pruning_list}" || die - # sed -i "\!third_party/closure_compiler/!d" "${ugc_pruning_list}" || die - - # #* Didn't unpack them at the first place - # sed -i "\!build/linux/debian_bullseye_i386-sysroot!d" "${ugc_pruning_list}" || die - # sed -i "\!build/linux/debian_bullseye_amd64-sysroot!d" "${ugc_pruning_list}" || die - # sed -i "\!third_party/llvm-build!d" "${ugc_pruning_list}" || die - # sed -i "\!third_party/node/linux!d" "${ugc_pruning_list}" || die - # sed -i "\!third_party/rust-src!d" "${ugc_pruning_list}" || die - # sed -i "\!third_party/rust-toolchain!d" "${ugc_pruning_list}" || die - # if ! use libcxx ; then - # sed -i "\!third_party/libc!d" "${ugc_pruning_list}" || die - # fi - sed -i "s|debug('files|error('files|" \ - "${UGC_WD}/utils/prune_binaries.py" || die - sed -i "\!third_party/node/linux!d" \ - "${UGC_WD}/utils/prune_binaries.py" || die - - local ugc_p ugc_dir - for p in "${ugc_unneeded[@]}"; do - einfo "Removing ${p}.patch" - sed -i "\!${p}.patch!d" "${ugc_patch_series}" || die - done - - if [ ! -z "${UGC_SKIP_PATCHES}" ]; then - for p in ${UGC_SKIP_PATCHES}; do - ewarn "Removing ${p}" - sed -i "\!${p}!d" "${ugc_patch_series}" || die - done - fi - - if [ ! -z "${UGC_KEEP_BINARIES}" ]; then - for p in ${UGC_KEEP_BINARIES}; do - ewarn "Keeping binary ${p}" - sed -i "\!${p}!d" "${ugc_pruning_list}" || die - done - fi - - if [ ! -z "${UGC_SKIP_SUBSTITUTION}" ]; then - for p in ${UGC_SKIP_SUBSTITUTION}; do - ewarn "No substitutions in ${p}" - sed -i "\!${p}!d" "${ugc_substitution_list}" || die - done - fi - - ebegin "Pruning binaries" - "${UGC_WD}/utils/prune_binaries.py" -q . "${UGC_WD}/pruning.list" - eend $? || die - - ebegin "Applying ungoogled-chromium patches" - "${UGC_WD}/utils/patches.py" -q apply . "${UGC_WD}/patches" - eend $? || die - - ebegin "Applying domain substitution" - "${UGC_WD}/utils/domain_substitution.py" -q apply -r "${UGC_WD}/domain_regex.list" -f "${UGC_WD}/domain_substitution.list" . - eend $? || die - - # Sanity check esbuild version before we start removing files. - # We _could_ patch the version check out - in theory esbuild upstream are being super conservative after - # arch(AUR) packaged an `esbuild` binary and set ESBUILD_BINARY_PATH=/usr/bin/esbuild, causing much breakage, - # but this is fine too and exactly matches what upstream are expecting. - # https://github.com/evanw/esbuild/issues/2894 - local esbuild_js="${S}/third_party/devtools-frontend/src/node_modules/esbuild/lib/main.js" - local found - found=$(awk -F'"' '/if \(binaryVersion !==/ {print $2}' "${esbuild_js}") - if [[ "${found}" != "${ESBUILD_VER}" ]]; then - die "esbuild version mismatch: expected ${ESBUILD_VER}, found ${found}" - fi - - elog "Removing bundled binaries from source tree ..." - # Purge bundled ELF files: These are non-portable and will cause issues if used instead of system versions. - # Use `--wasm` to also remove WebAssembly binaries, if desired - they're portable so shouldn't break builds. - ${EPYTHON} "${FILESDIR}/bin-finder.py" --elf "${S}" | awk '{print $1}' | xargs rm -f || - die "Failed to remove bundled binaries" - - # And now we restore any that we actually need, from the host system - local esbuild_path="${S}/third_party/devtools-frontend/src/third_party/esbuild" - local -A restore_list=( - ["/usr/bin/esbuild-${ESBUILD_VER}"]="${esbuild_path}/esbuild" - ["/usr/bin/gperf"]="${S}/third_party/gperf/cipd/bin/gperf" - ["/usr/bin/node"]="${S}/third_party/node/linux/node-linux-x64/bin/node" - ) - - for src in "${!restore_list[@]}"; do - dst="${restore_list[${src}]}" - if [[ -f "${src}" ]]; then - einfo "Symlinking ${src} ..." - # Make sure the parent dir exists; some tarballs don't include (e.g.) node's bindir - mkdir -p "$(dirname "${dst}")" || die "Failed to create directory for ${dst}" - ln -s "${src}" "${dst}" || die "Failed to symlink ${dst} from ${src}" - if [[ ! -L "${dst}" || "$(readlink -f "${dst}")" != "${src}" ]]; then - die "Symlink verification failed for ${dst} -> ${src}" - fi - else - die "Expected to find ${src} to restore ${dst}, but it does not exist." - fi - done - - # adjust python interpreter version - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - - # Use the system copy of hwdata's usb.ids - sed 's|//third_party/usb_ids/src/usb.ids|/usr/share/hwdata/usb.ids|g' \ - -i services/device/public/cpp/usb/BUILD.gn || die "Failed to set system usb.ids path" - - # remove_bundled_libraries.py walks the source tree and looks for paths containing the substring 'third_party' - # whitelist matches use the right-most matching path component, so we need to whitelist from that point down. - local keeplibs=( - base/third_party/cityhash - ) - use system-double-conversion || keeplibs+=( - base/third_party/double_conversion - ) - keeplibs+=( - base/third_party/icu - base/third_party/nspr - base/third_party/superfasthash - base/third_party/symbolize - base/third_party/xdg_user_dirs - buildtools/third_party/libc++ - buildtools/third_party/libc++abi - ) - use cromite && keeplibs+=( - cromite_flags/third_party - ) - keeplibs+=( - net/third_party/mozilla_security_manager - net/third_party/quic - net/third_party/uri_template - ) - use system-abseil-cpp || keeplibs+=( - third_party/abseil-cpp - ) - keeplibs+=( - third_party/angle - third_party/angle/src/common/third_party/xxhash - third_party/angle/src/third_party/ceval - ) - use nvidia || keeplibs+=( - third_party/angle/src/third_party/libXNVCtrl - ) - keeplibs+=( - third_party/angle/src/third_party/volk - third_party/anonymous_tokens - third_party/apple_apsl - third_party/axe-core - third_party/bidimapper - third_party/blink - third_party/boringssl - third_party/boringssl/src/third_party/fiat - third_party/breakpad - third_party/breakpad/breakpad/src/third_party/curl - ) - use system-brotli || keeplibs+=( - third_party/brotli - ) - keeplibs+=( - third_party/catapult - third_party/catapult/common/py_vulcanize/third_party/rcssmin - third_party/catapult/common/py_vulcanize/third_party/rjsmin - third_party/catapult/third_party/beautifulsoup4-4.9.3 - third_party/catapult/third_party/html5lib-1.1 - third_party/catapult/third_party/polymer - third_party/catapult/third_party/six - third_party/catapult/third_party/typ - third_party/catapult/tracing/third_party/d3 - third_party/catapult/tracing/third_party/gl-matrix - third_party/catapult/tracing/third_party/jpeg-js - third_party/catapult/tracing/third_party/jszip - third_party/catapult/tracing/third_party/mannwhitneyu - third_party/catapult/tracing/third_party/oboe - third_party/catapult/tracing/third_party/pako - third_party/ced - third_party/cld_3 - third_party/closure_compiler - ) - use libcxx && keeplibs+=( - third_party/compiler-rt - ) - keeplibs+=( - third_party/content_analysis_sdk - third_party/cpuinfo - third_party/crabbyavif - third_party/crashpad - third_party/crashpad/crashpad/third_party/lss - third_party/crashpad/crashpad/third_party/zlib - ) - use system-crc32c || keeplibs+=( - third_party/crc32c - ) - keeplibs+=( - third_party/cros_system_api - third_party/d3 - third_party/dawn - third_party/dawn/third_party/gn/webgpu-cts - third_party/dawn/third_party/OpenGL-Registry - third_party/dawn/third_party/renderdoc - third_party/dawn/third_party/webgpu-headers - third_party/depot_tools - third_party/devscripts - third_party/devtools-frontend - third_party/devtools-frontend/src/front_end/third_party/acorn - third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json - third_party/devtools-frontend/src/front_end/third_party/axe-core - third_party/devtools-frontend/src/front_end/third_party/chromium - third_party/devtools-frontend/src/front_end/third_party/codemirror - third_party/devtools-frontend/src/front_end/third_party/csp_evaluator - third_party/devtools-frontend/src/front_end/third_party/diff - third_party/devtools-frontend/src/front_end/third_party/i18n - third_party/devtools-frontend/src/front_end/third_party/intl-messageformat - third_party/devtools-frontend/src/front_end/third_party/json5 - third_party/devtools-frontend/src/front_end/third_party/legacy-javascript - third_party/devtools-frontend/src/front_end/third_party/lighthouse - third_party/devtools-frontend/src/front_end/third_party/lit - third_party/devtools-frontend/src/front_end/third_party/marked - third_party/devtools-frontend/src/front_end/third_party/puppeteer - third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/third_party/mitt - third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/third_party/parsel-js - third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/third_party/rxjs - third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/third_party/urlpattern-polyfill - third_party/devtools-frontend/src/front_end/third_party/source-map-scopes-codec - third_party/devtools-frontend/src/front_end/third_party/third-party-web - third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data - third_party/devtools-frontend/src/front_end/third_party/wasmparser - third_party/devtools-frontend/src/front_end/third_party/web-vitals - third_party/devtools-frontend/src/third_party - third_party/dom_distiller_js - third_party/dragonbox - third_party/eigen3 - third_party/emoji-segmenter - third_party/farmhash - third_party/fast_float - third_party/fdlibm - third_party/federated_compute/chromium/fcp/confidentialcompute - third_party/federated_compute/chromium/fcp/protos - third_party/federated_compute/chromium/fcp/secagg - third_party/federated_compute/chromium/fcp/client - third_party/federated_compute/src/fcp/base - third_party/federated_compute/src/fcp/confidentialcompute - third_party/federated_compute/src/fcp/protos - third_party/federated_compute/src/fcp/client - third_party/federated_compute/src/fcp/secagg - third_party/federated_compute/third_party/googleapis/src/google - third_party/federated_compute/third_party/tensorflow-federated - third_party/federated_compute/third_party/protodatastore-cpp - third_party/fft2d - third_party/flatbuffers - third_party/fp16 - third_party/freetype - third_party/fusejs - third_party/fxdiv - third_party/gemmlowp - third_party/google_input_tools - third_party/google_input_tools/third_party/closure_library - third_party/google_input_tools/third_party/closure_library/third_party/closure - third_party/googletest - third_party/gperf # We symlink system gperf, but this will purge the symlink since we tidy up afterwards. - third_party/highway - third_party/hunspell - third_party/hyphenation-patterns - third_party/iamf_tools - third_party/ink/src/ink/brush - third_party/ink/src/ink/color - third_party/ink/src/ink/geometry - third_party/ink/src/ink/rendering - third_party/ink/src/ink/rendering/skia/common_internal - third_party/ink/src/ink/rendering/skia/native - third_party/ink/src/ink/rendering/skia/native/internal - third_party/ink/src/ink/strokes - third_party/ink/src/ink/types - third_party/inspector_protocol - third_party/ipcz - third_party/jinja2 - ) - use system-jsoncpp || keeplibs+=( - third_party/jsoncpp - ) - keeplibs+=( - third_party/khronos - third_party/lens_server_proto - third_party/leveldatabase - third_party/libaddressinput - third_party/libdrm - third_party/libgav1 - third_party/libjingle - third_party/libpfm4 - third_party/libphonenumber - third_party/libpng - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libtess2/libtess2 - third_party/libtess2/src/Include - third_party/libtess2/src/Source - third_party/liburlpattern - ) - use system-libusb || keeplibs+=( - third_party/libusb - ) - keeplibs+=( - third_party/libva_protected_content - ) - use system-libvpx || keeplibs+=( - third_party/libvpx - third_party/libvpx/source/libvpx/third_party/x86inc - ) - keeplibs+=( - third_party/libwebm - third_party/libx11 - third_party/libxcb-keysyms - third_party/libxml/chromium - third_party/libyuv - third_party/libzip - third_party/lit - ) - use libcxx && keeplibs+=( - third_party/llvm-libc - third_party/llvm-libc/src/shared/ - ) - keeplibs+=( - third_party/lottie - third_party/lss - third_party/lzma_sdk - third_party/mako - third_party/markupsafe - third_party/material_color_utilities - third_party/metrics_proto - third_party/minigbm - third_party/ml_dtypes - third_party/modp_b64 - third_party/nasm - third_party/nearby - third_party/neon_2_sse - third_party/node - third_party/oak/chromium/proto - third_party/oak/chromium/proto/attestation - third_party/omnibox_proto - third_party/one_euro_filter - third_party/openscreen - third_party/openscreen/src/third_party/ - third_party/openscreen/src/third_party/tinycbor/src/src - third_party/ots - third_party/pdfium - third_party/pdfium/third_party/agg23 - third_party/pdfium/third_party/bigint - third_party/pdfium/third_party/freetype - third_party/pdfium/third_party/lcms - ) - use system-openjpeg || keeplibs+=( - third_party/pdfium/third_party/libopenjpeg - ) - keeplibs+=( - third_party/pdfium/third_party/libtiff - third_party/perfetto - third_party/perfetto/protos/third_party/android - third_party/perfetto/protos/third_party/chromium - third_party/perfetto/protos/third_party/pprof - third_party/perfetto/protos/third_party/primes - third_party/perfetto/protos/third_party/simpleperf - third_party/pffft - third_party/ply - third_party/polymer - third_party/private_membership - third_party/private-join-and-compute - third_party/protobuf - third_party/protobuf/third_party/utf8_range - third_party/pthreadpool - third_party/puffin - third_party/pyjson5 - third_party/pyyaml - third_party/rapidhash - third_party/readability - third_party/rnnoise - third_party/rust - third_party/ruy - third_party/s2cellid - third_party/search_engines_data - third_party/securemessage - third_party/selenium-atoms - third_party/sentencepiece - third_party/sentencepiece/src/third_party/darts_clone - third_party/shell-encryption - third_party/simdutf - third_party/simplejson - third_party/six - third_party/skia - third_party/skia/include/third_party/vulkan - third_party/smhasher - ) - use system-snappy || keeplibs+=( - third_party/snappy - ) - keeplibs+=( - third_party/spirv-headers - third_party/spirv-tools - third_party/sqlite - third_party/swiftshader - third_party/swiftshader/third_party/astc-encoder - third_party/swiftshader/third_party/llvm-subzero - third_party/swiftshader/third_party/marl - third_party/swiftshader/third_party/SPIRV-Headers/include/spirv - third_party/swiftshader/third_party/SPIRV-Tools - third_party/swiftshader/third_party/subzero - third_party/tensorflow_models - third_party/tensorflow-text - third_party/tflite - third_party/tflite/src/third_party/fft2d - third_party/tflite/src/third_party/xla/third_party/tsl - third_party/tflite/src/third_party/xla/xla/tsl/framework - third_party/tflite/src/third_party/xla/xla/tsl/lib/random - third_party/tflite/src/third_party/xla/xla/tsl/platform - third_party/tflite/src/third_party/xla/xla/tsl/protobuf - third_party/tflite/src/third_party/xla/xla/tsl/util - third_party/ukey2 - third_party/utf - third_party/vulkan - third_party/wayland - third_party/webdriver - third_party/webgpu-cts - third_party/webrtc - third_party/webrtc/common_audio/third_party/ooura - third_party/webrtc/common_audio/third_party/spl_sqrt_floor - third_party/webrtc/modules/third_party/fft - third_party/webrtc/modules/third_party/g711 - third_party/webrtc/modules/third_party/g722 - third_party/widevine - ) - use system-woff2 || keeplibs+=( - third_party/woff2 - ) - keeplibs+=( - third_party/wuffs - third_party/x11proto - third_party/xcbproto - third_party/xnnpack - third_party/zlib/google - third_party/zxcvbn-cpp - url/third_party/mozilla - v8/third_party/inspector_protocol - v8/third_party/rapidhash-v8 - v8/third_party/siphash - v8/third_party/utf8-decoder - v8/third_party/v8 - v8/third_party/valgrind - - # gyp -> gn leftovers - third_party/speech-dispatcher - third_party/usb_ids - ) - - if use test; then - keeplibs+=( - third_party/breakpad/breakpad/src/processor - third_party/fuzztest - third_party/google_benchmark/src/include/benchmark - third_party/google_benchmark/src/src - third_party/test_fonts - third_party/test_fonts/fontconfig - third_party/test_fonts/test_fonts - ) - fi - - # USE=system-* - if ! use system-harfbuzz; then - keeplibs+=( third_party/harfbuzz ) - fi - - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - - if ! use system-zstd; then - keeplibs+=( third_party/zstd ) - fi - - if ! use system-av1; then - keeplibs+=( - third_party/dav1d - third_party/libaom - third_party/libaom/source/libaom/third_party/fastfeat - third_party/libaom/source/libaom/third_party/vector - third_party/libaom/source/libaom/third_party/x86inc - ) - fi - - if use libcxx; then - keeplibs+=( - third_party/libc++ - third_party/llvm-libc - ) - fi - - if ! use system-openh264; then - keeplibs+=( third_party/openh264 ) - fi - - if ! use system-re2; then - keeplibs+=( third_party/re2 ) - fi - - # Arch-specific - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - # requires git and clang, bug #832803 - # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh - # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh - # since we're not in a git repo - sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \ - generate_gni.sh || die - ./generate_gni.sh || die - popd >/dev/null || die - - pushd third_party/ffmpeg >/dev/null || die - cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die - cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die - popd >/dev/null || die - fi - - # Sanity check keeplibs, on major version bumps it is often necessary to update this list - # and this enables us to hit them all at once. - # There are some entries that need to be whitelisted (TODO: Why? The file is understandable, the rest seem odd) - whitelist_libs=( - net/third_party/quic - third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json - third_party/libjingle - third_party/mesa - third_party/skia/third_party/vulkan - third_party/vulkan - ) - local not_found_libs=() - for lib in "${keeplibs[@]}"; do - if [[ ! -d "${lib}" ]] && ! has "${lib}" "${whitelist_libs[@]}"; then - not_found_libs+=( "${lib}" ) - fi - done - - if [[ ${#not_found_libs[@]} -gt 0 ]]; then - ewarn "The following \`keeplibs\` directories were not found in the source tree:" - for lib in "${not_found_libs[@]}"; do - ewarn " ${lib}" - done - fi - - keeplibs+=( third_party/ungoogled ) - - # Remove most bundled libraries. Some are still needed. - einfo "Unbundling third-party libraries ..." - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - # Interferes with our bundled clang path; we don't want stripped binaries anyway. - sed -i -e 's|${clang_base_path}/bin/llvm-strip|/bin/true|g' \ - -e 's|${clang_base_path}/bin/llvm-objcopy|/bin/true|g' \ - build/linux/strip_binary.gni || die - - #! Fix for a phony target - mkdir -p third_party/rust-toolchain/bin - touch third_party/rust-toolchain/bin/rustc -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # 974899: sometimes people try to build with a non-Unicode locale and python gets very upset - python_export_utf8_locale || die "Chromium builds require a UTF-8 locale." - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - libjpeg - libwebp - libxml - libxslt - zlib - ) - if use system-abseil-cpp; then - gn_system_libraries+=( - absl_algorithm - absl_base - absl_cleanup - absl_container - absl_crc - absl_debugging - absl_flags - absl_functional - absl_hash - absl_log - absl_log_internal - absl_memory - absl_meta - absl_numeric - absl_random - absl_status - absl_strings - absl_synchronization - absl_time - absl_types - absl_utility - ) - fi - if use system-brotli; then - gn_system_libraries+=( brotli ) - fi - if use system-crc32c; then - gn_system_libraries+=( crc32c ) - fi - if use system-double-conversion; then - gn_system_libraries+=( double-conversion ) - fi - if use system-woff2; then - gn_system_libraries+=( woff2 ) - fi - if use nvidia; then - gn_system_libraries+=( libXNVCtrl ) - fi - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-jsoncpp; then - gn_system_libraries+=( jsoncpp ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-zstd; then - gn_system_libraries+=( zstd ) - fi - if use system-av1; then - gn_system_libraries+=( dav1d libaom ) - fi - if use system-libusb; then - gn_system_libraries+=( libusb ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - use system-openh264 && gn_system_libraries+=( - openh264 - ) - use system-re2 && gn_system_libraries+=( - re2 - ) - use system-snappy && gn_system_libraries+=( - snappy - ) - - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || - die "Failed to replace GN files for system libraries" - - # TODO 131: The above call clobbers `enable_freetype = true` in the freetype gni file - # drop the last line, then append the freetype line and a new curly brace to end the block - local freetype_gni="build/config/freetype/freetype.gni" - sed -i -e '$d' ${freetype_gni} || die - echo " enable_freetype = true" >> ${freetype_gni} || die - echo "}" >> ${freetype_gni} || die - - if use !custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - filter-flags "-g*" - # 949123: Several multimedia components explicitly build with specific CFLAGS and - # use runtime detection to enable optimisations; unfortunately any of our CFLAGS are suffixed - # to the end of the command line, which causes build failures. - fi - # Since M150 `skia` will begin breaking for x86_64 due to compilation of `avx512` code paths; - # we need to filter these for all arches. - filter-flags "-march*" "-mtune*" "-mcpu*" - - # We don't use the same clang version as upstream, and with -Werror - # we need to make sure that we don't get superfluous warnings. - append-flags -Wno-unknown-warning-option - if tc-is-cross-compiler; then # can you cross-compile with the bundled toolchain? - export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option" - export BUILD_CFLAGS+=" -Wno-unknown-warning-option" - fi - - # Start building our GN options - local myconf_gn=() # Tip: strings must be quoted, bools or numbers are fine - - if use !bundled-toolchain; then - # We already forced the "correct" clang via pkg_setup - - if tc-is-cross-compiler; then - CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}" - CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}" - BUILD_AR=${AR} - BUILD_CC=${CC} - BUILD_CXX=${CXX} - BUILD_NM=${NM} - fi - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - strip-unsupported-flags - append-ldflags -Wl,--undefined-version # https://bugs.gentoo.org/918897#c32 - - myconf_gn+=( - "is_clang=true" - "clang_use_chrome_plugins=false" - "use_clang_modules=false" # M141 enables this for the linux platform by default. - 'custom_toolchain="//build/toolchain/linux/unbundle:default"' - # From M127 we need to provide a location for libclang and the clang resource dir so that bindgen can find them - "bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\"" - "bindgen_clang_resource_dir=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/include\"" - "bindgen_extra_clang_args=[\"-I${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/include\"]" - "clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\"" - "rust_bindgen_root=\"${EPREFIX}/usr/\"" - "rust_sysroot_absolute=\"$(get_rust_prefix)\"" - "rustc_version=\"${RUST_SLOT}\"" - ) - - # Currently disabled, runtime issues with mold - #if tc-ld-is-mold; then - # myconf_gn+=( - # "use_mold=true" - # "use_lld=false" - # "linker_path=\"${EPREFIX}/usr/bin/mold\"" - # ) - #else - myconf_gn+=( "use_lld=true" ) - #fi - - if [[ ${LLVM_SLOT} -lt 23 ]]; then - # Workaround for -fsanitize-ignore-for-ubsan-feature (added in LLVM 23) - myconf_gn+=( 'clang_has_ubsan_feature_ignore=false' ) - fi - - if ! tc-is-cross-compiler; then - myconf_gn+=( 'host_toolchain="//build/toolchain/linux/unbundle:default"' ) - else - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=( - 'host_toolchain="//build/toolchain/linux/unbundle:host"' - 'v8_snapshot_toolchain="//build/toolchain/linux/unbundle:host"' - "host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\"" - "pkg_config=\"$(tc-getPKG_CONFIG)\"" - ) - - # setup cups-config, build system only uses --libs option - if use cups; then - mkdir "${T}/cups-config" || die - cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die - export PATH="${PATH}:${T}/cups-config" - fi - - # Don't inherit PKG_CONFIG_PATH from environment - local -x PKG_CONFIG_PATH= - fi - - fi # !bundled-toolchain - - local myarch - myarch="$(tc-arch)" - case ${myarch} in - amd64) - # Bug 530248, 544702, 546984, 853646. - use !custom-cflags && filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 \ - -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a - myconf_gn+=( 'target_cpu="x64"' ) - ;; - x86) - # Bug 530248, 544702, 546984, 853646. - use !custom-cflags && filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 \ - -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a - myconf_gn+=( 'target_cpu="x86"' ) - ;; - arm64) - myconf_gn+=( 'target_cpu="arm64"' ) - ;; - ppc64) - myconf_gn+=( 'target_cpu="ppc64"' ) - ;; - *) - die "Failed to determine target arch, got '${myarch}'." - ;; - esac - - # Common options - - myconf_gn+=( - # Disable code formating of generated files - "blink_enable_generated_code_formatting=false" - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. - "dcheck_always_on=$(usex debug true false)" - "dcheck_is_configurable=$(usex debug true false)" - # Chromium builds provided by Linux distros should disable the testing config - "disable_fieldtrial_testing_config=true" - # Custom patch: Enable building Chromium as individual channels (e.g. stable, beta, dev) that - # use different profile directories, desktop entries, etc. This enables slotting the ebuild. - "enable_channel_branding=true" - # 131 began laying the groundwork for replacing freetype with - # "Rust-based Fontations set of libraries plus Skia path rendering" - # We now need to opt-in - "enable_freetype=true" - "enable_hangout_services_extension=$(usex hangouts true false)" - # Don't need nocompile checks and GN crashes with our config (verify with modern GN) - "enable_nocompile_tests=false" - # pseudolocales are only used for testing - "enable_pseudolocales=false" - "enable_widevine=$(usex widevine true false)" - # Disable fatal linker warnings, bug 506268. - "fatal_linker_warnings=false" - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - "is_component_build=false" - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - "is_debug=false" - "is_official_build=$(usex official true false)" - # Enable ozone wayland and/or headless support - "ozone_auto_platforms=false" - "ozone_platform_headless=true" - # Enables building without non-free unRAR licence - "safe_browsing_use_unrar=false" - # "thin_lto_enable_optimizations=${use_lto}" - "treat_warnings_as_errors=false" - # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi) - # instead of the system C++ library for C++ standard library support. - # default: true, but let's be explicit (forced since 120 ; USE removed 127). - "use_custom_libcxx=true" - # Enable ozone wayland and/or headless support - "use_ozone=true" - # The sysroot is the oldest debian image that chromium supports, we don't need it - "use_sysroot=false" - # See dependency logic in third_party/BUILD.gn - "use_system_harfbuzz=$(usex system-harfbuzz true false)" - # "use_thin_lto=${use_lto}" - # Only enabled for clang, but gcc has endian macros too - "v8_use_libm_trig_functions=true" - # use system go - "tint_use_system_go=true" - ) - - myconf_gn+=( "enable_iterator_debugging=$(usex debug true false)" ) - - if use debug; then - myconf_gn+=( - "symbol_level=2" - "blink_symbol_level=2" - "v8_symbol_level=2" - ) - else - myconf_gn+=( - "symbol_level=0" - "blink_symbol_level=0" - "v8_symbol_level=0" - ) - fi - - if use bindist ; then - myconf_gn+=( - # If this is set to false Chromium won't be able to load any proprietary codecs - # even if provided with an ffmpeg capable of h264/aac decoding - "proprietary_codecs=true" - 'ffmpeg_branding="Chrome"' - # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute - "is_component_ffmpeg=true" - ) - else - myconf_gn+=( - "proprietary_codecs=$(usex proprietary-codecs true false)" - "ffmpeg_branding=\"$(usex proprietary-codecs Chrome Chromium)\"" - ) - fi - - if use headless; then - myconf_gn+=( - "enable_print_preview=false" - "enable_remoting=false" - 'ozone_platform="headless"' - "rtc_use_pipewire=false" - "use_alsa=false" - "use_cups=false" - "use_gio=false" - "use_glib=false" - "use_gtk=false" - "use_kerberos=false" - "use_libpci=false" - "use_pangocairo=false" - "use_pulseaudio=false" - "use_qt5=false" - "use_qt6=false" - "use_udev=false" - "use_vaapi=false" - "use_xkbcommon=false" - ) - else - myconf_gn+=( - "gtk_version=$(usex gtk4 4 3)" - # link pulseaudio directly (DT_NEEDED) instead of using dlopen. - # helps with automated detection of ABI mismatches and prevents silent errors. - "link_pulseaudio=$(usex pulseaudio true false)" - "ozone_platform_wayland=$(usex wayland true false)" - "ozone_platform_x11=$(usex X true false)" - "ozone_platform=\"$(usex wayland wayland x11)\"" - "rtc_use_pipewire=$(usex screencast true false)" - # As above - link directly instead of dlopening - "rtc_link_pipewire=$(usex screencast true false)" - "use_cups=$(usex cups true false)" - "use_kerberos=$(usex kerberos true false)" - "use_pulseaudio=$(usex pulseaudio true false)" - "use_qt5=false" - "use_system_libffi=$(usex wayland true false)" - "use_system_minigbm=true" - "use_vaapi=$(usex vaapi true false)" - "use_xkbcommon=true" - ) - if use qt6; then - local cbuild_libdir - cbuild_libdir="$(get_libdir)" - if tc-is-cross-compiler; then - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - cbuild_libdir="$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt)" - cbuild_libdir="${cbuild_libdir:2}" - cbuild_libdir="${cbuild_libdir/% }" - fi - myconf_gn+=( - "use_qt6=true" - "moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\"" - ) - else - myconf_gn+=( "use_qt6=false" ) - fi - fi - - # Explicitly disable ICU data file support for system-icu/headless builds. - if use system-icu || use headless; then - myconf_gn+=( "icu_use_data_file=false" ) - fi - - if use official; then - # Allow building against system libraries in official builds - sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ - tools/generate_shim_headers/generate_shim_headers.py || die - # Don't add symbols to build - myconf_gn+=( "symbol_level=0" ) - fi - - if use pgo; then - myconf_gn+=( - "chrome_pgo_phase=2" - "v8_enable_builtins_optimization=true" - ) - else - myconf_gn+=( "chrome_pgo_phase=0" ) - fi - - # Odds and ends - - # skipping typecheck is only supported on amd64, bug #876157 - if ! use amd64; then - myconf_gn+=( "devtools_skip_typecheck=false" ) - fi - - # Disable external code space for V8 for ppc64. It is disabled for ppc64 - # by default, but cross-compiling on amd64 enables it again. - if tc-is-cross-compiler && use ppc64; then - myconf_gn+=( "v8_enable_external_code_space=false" ) - fi - - # This determines whether or not GN uses the bundled libcxx - if use libcxx; then - myconf_gn+=( "use_custom_libcxx=true" ) - else - myconf_gn+=( - "use_custom_libcxx=false" - "use_llvm_libatomic=false" - ) - append-cppflags -U_GLIBCXX_ASSERTIONS #See #318 - fi - - myconf_gn+=( "use_bluez=$(usex bluetooth true false)" ) - - myconf_gn+=( "is_cfi=$(usex cfi true false)" ) - - if use cfi; then - myconf_gn+=( - "use_cfi_icall=true" - "use_cfi_cast=true" - ) - fi - - myconf_gn+=( - "optimize_webui=$(usex optimize-webui true false)" - "use_system_freetype=$(usex system-harfbuzz true false)" - "use_system_libopenjpeg2=$(usex system-openjpeg true false)" - "enable_pdf=true" - "use_system_lcms2=true" - "enable_print_preview=true" - "use_thin_lto=$(usex thinlto true false)" - "thin_lto_enable_optimizations=$(usex optimize-thinlto true false)" - - # Ungoogled flags - "enable_mdns=false" - "enable_mse_mpeg2ts_stream_parser=$(usex proprietary-codecs true false)" - "enable_remoting=false" - "enable_reporting=false" - "enable_service_discovery=false" - "exclude_unwind_tables=true" - "google_api_key=\"\"" - "google_default_client_id=\"\"" - "google_default_client_secret=\"\"" - "safe_browsing_mode=0" - "use_official_google_api_keys=false" - "use_unofficial_version_number=false" - - # "enable_swiftshader=false" - - # Additional flags - # "perfetto_use_system_zlib=true" - # "use_system_zlib=true" - # "use_system_libjpeg=true" - # "rtc_build_examples=false" - # "enable_chromium_prelude=false" - # "enable_updater=false" - # "enable_update_notifications=false" - # "enable_constraints=false" - # "rtc_rusty_base64=false" - # "v8_enable_temporal_support=false" - # "media_use_symphonia=false" - # "pdf_enable_rust_png=false" - # "skia_use_libpng_encode=true" - # "skia_use_libpng_decode=true" - # "skia_use_rust_png_decode=false" - # "skia_use_rust_png_encode=false" - # "enable_jxl_decoder=false" - ) - - if use amd64 || use arm64; then - myconf_gn+=( - "v8_drumbrake_bounds_checks=true" - # "v8_enable_drumbrake=true" - ) - fi - - if use thinlto; then - # We need to change the default value of import-instr-limit in - # LLVM to limit the text size increase. The default value is - # 100, and we change it to 30 to reduce the text size increase - # from 25% to 10%. The performance number of page_cycler is the - # same on two of the thinLTO configurations, we got 1% slowdown - # on speedometer when changing import-instr-limit from 100 to 30. - # append-ldflags "-Wl,-plugin-opt,-import-instr-limit=30" - sed -i '/import_instr_limit = 5/{s++import_instr_limit = 30+;h};${x;/./{x;q0};x;q1}' \ - build/config/compiler/BUILD.gn || die - - append-ldflags "-Wl,--thinlto-jobs=$(makeopts_jobs)" - fi - - # Facilitate deterministic builds (taken from build/config/compiler/BUILD.gn) - append-cflags -Wno-builtin-macro-redefined - append-cxxflags -Wno-builtin-macro-redefined - append-cppflags "-D__DATE__= -D__TIME__= -D__TIMESTAMP__=" - - local flags - einfo "Building with the following compiler settings:" - for flags in C{C,XX} AR NM RANLIB {C,CXX,CPP,LD}FLAGS \ - EXTRA_GN UGC_{SKIP_{PATCHES,SUBSTITUTION},KEEP_BINARIES} ; do - einfo " ${flags} = \"${!flags}\"" - done - - # Since we build from tarballs, we need to set the channel here so that it can be used in the build. - export CHROME_VERSION_EXTRA="${SLOT}" - - einfo "Configuring Chromium ..." - # add a `-v` here if gn `hangs` to see which file it's getting stuck on. - set -- gn gen --args="${myconf_gn[*]}${EXTRA_GN:+ ${EXTRA_GN}}" out/Release - echo "$@" - "$@" || die "Failed to configure Chromium" - - # The "if" below should not be executed unless testing - if [ ! -z "${NODIE}" ]; then - # List all args - # gn args --list out/Release - - # Quick compiler check - eninja -C out/Release protoc torque - fi -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # I hate doing this but upstream Rust have yet to come up with a better solution for - # us poor packagers. Required for Split LTO units, which are required for CFI. - export RUSTC_BOOTSTRAP=1 - - # Don't inherit PYTHONPATH from environment, bug #789021, #812689 - local -x PYTHONPATH= - - # Build mksnapshot and pax-mark it. - if use pax-kernel; then - local x - for x in mksnapshot v8_context_snapshot_generator code_cache_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - fi - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chrome_sandbox $(use test && echo "base_unittests") - - pax-mark m out/Release/chrome - - # This codepath does minimal patching, so we're at the mercy of upstream - # CFLAGS. This is fine - we're not intending to force this on users - # and we do a lot of flag 'management' anyway. - if use bundled-toolchain; then - QA_FLAGS_IGNORED=" - usr/lib64/chromium-browser/chrome - usr/lib64/chromium-browser/chrome-sandbox - usr/lib64/chromium-browser/chromedriver - usr/lib64/chromium-browser/chrome_crashpad_handler - usr/lib64/chromium-browser/libEGL.so - usr/lib64/chromium-browser/libGLESv2.so - usr/lib64/chromium-browser/libVkICD_mock_icd.so - usr/lib64/chromium-browser/libVkLayer_khronos_validation.so - usr/lib64/chromium-browser/libqt6_shim.so - usr/lib64/chromium-browser/libvk_swiftshader.so - usr/lib64/chromium-browser/libvulkan.so.1 - " - fi - - use convert-dict && eninja -C out/Release convert_dict - - use enable-driver && eninja -C out/Release chromedriver - #use suid && eninja -C out/Release chrome_sandbox - - # use enable-driver && mv out/Release/chromedriver{.unstripped,} - - rm -f out/Release/locales/*.pak.info || die - - # Generate support files (desktop file, manpage, etc.) See: #684550 #706786 #968958 - ${EPYTHON} "${FILESDIR}/generate-support-files.py" \ - --installdir "/usr/$(get_libdir)/ungoogled-chromium-browser" \ - --channel "${SLOT}" || - die "Failed to generate support files" -} - -src_test() { - # Tests may be flaky with usersandbox, and the test runner executes significantly faster without. - # If you seem to be excluding too many tests for a particular milestone: comment them out, reboot, and - # run the tests again. If that doesn't help, try FEATURES="-usersandbox" and send it because obviously the - # chromium gods are not smiling upon you today. Do some runtime testing, obvs. - local skip_tests=( - # Wildcard exclusions (if all tests in a test suite are broken) - 'AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/*' - 'AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/*' - 'AlternateTestParams/PartitionAllocTest.*' # 200+ tests, >= 1 crashes entire test runner with usersandbox. - 'CheckExitCodeAfterSignalHandlerDeathTest.*' - 'CriticalProcessAndThreadSpotChecks/HangWatcherAnyCriticalThreadTests.*' - 'LazyThreadPoolTaskRunnerEnvironmentTest.*' # M142 - 'ToolsSanityTest.BadVirtualCall*' - # Since 151.0.7922.137 - 'CheckDeathTest.*' - 'EnumSetDeathTest.*' - 'OptionalRefDeathTest.*' - 'RawRefDeathTest.*' - 'AlternateTestParams/PartitionAllocDeathTest.CheckTriggered*' - 'CallbackHelpersTest.*' - 'SafeRefTest.*' - 'SpanTest.*' - 'WeakValueTableTest.*' - 'PlatformSharedMemoryRegionTest.*' - 'RefCountedOverflowTest.*' - 'SingleThreadTaskRunnerCurrentDefaultHandleTest.*' - 'TestFutureDeathTest.*' - 'WeakPtrDeathTest.*' - 'SafeRefDeathTest.*' - 'LinkedListDeathTest.*' - 'BindDeathTest.*' - 'ReallocProtectedIteratorDeathTest.*' - 'PASpanTest.*' - 'BackupRefPtrTest.*' - 'All/Base64Test.Overflow*' - 'ValuesTest.*' - 'TaskEnvironmentTest.*' - 'CheckedObserverListTest.*' - 'MemoryConsumerRegistryTest.*' - ProtectedMemoryDeathTest.FailsIfDefinedOutsideOfProtectMemoryRegion - StructuredSharedMemoryDeathTest.DuplicateRegion - CheckedContiguousIteratorDeathTest.OutOfBounds - HeapArrayDeathTest.TakeFirstWithOverSize - CallbackDeathTest.RunNullCallbackChecks - ObserverListThreadSafeDeathTest.CrossThreadRemovalRestricted - SequencedTaskRunnerCurrentDefaultHandleDeathTest.OverrideWithNull - TestFutureWithoutTaskEnvironmentDeathTest.WaitShouldDcheckWithoutTaskEnvironment - ScopedThreadPriorityDeathTest.NoRealTime - ReallocProtectedIteratorDeathTest.StringReallocCrashes - BarrierCallbackTest.ErrorToCallCallbackWithZeroCallbacks - BarrierClosureTest.ChecksIfCalledForZeroClosures - SupportsUserDataTest.ReentrantSetUserDataDuringRemoval - TimeBase.AddSubInfinities - LibcppHardeningTest.Assertions - IDMapTest.RemovedValueHandling - MultiMemoryConsumerTest.DuplicateInterventionsCheck - PersistentMemoryAllocatorTest.DelayedAllocationTest - SequenceCheckerTest.MoveOffSequenceBanned - ThreadCheckerTest.MoveOffThreadBanned - TokenType.TokenFromNullUnguessableToken - ZipTest.CheckForIterationPastTheEnd - MemoryConsumerTraitsTest.ActiveConsumerWithPassiveTraitsFails - SingleThreadTaskRunnerMainThreadDefaultHandleTest.Basic - - # requires en-us locale - SysStrings.SysNativeMBAndWide - SysStrings.SysNativeMBToWide - SysStrings.SysWideToNativeMB - # Specific test cases - CancelableEventTest.BothCancelFailureAndSucceedOccurUnderContention - FilePathTest.FromUTF8Unsafe_And_AsUTF8Unsafe - HistogramTesterTest.PumaTestUniqueSample - ImmediateCrashTest.ExpectedOpcodeSequence # M150 - PathServiceTest.CheckedGetFailure - PlatformThreadTest.CanChangeThreadType - RawPtrTest.SetLookupUsesGetForComparison # M146 ; also broken for alpine in M144. - RustLogIntegrationTest.CheckAllSeverity - StackCanary.ChangingStackCanaryCrashesOnReturn - StackTraceDeathTest.StackDumpSignalHandlerIsMallocFree - TestLauncherTools.TruncateSnippetFocusedMatchesFatalMessagesTest - ThreadPoolEnvironmentConfig.CanUseBackgroundPriorityForWorker - DriveInfoTest.GetFileDriveInfo - - ) - local test_filter="-$(IFS=:; printf '%s' "${skip_tests[*]}")" - # test-launcher-bot-mode enables parallelism and plain output - # Check individual tests with --gtest_filter=<test you want> --single-process-tests - ./out/Release/base_unittests --test-launcher-bot-mode \ - --test-launcher-jobs="$(get_makeopts_jobs)" \ - --gtest_filter="${test_filter}" || die "Tests failed!" -} - -src_install() { - local browser_suffix - if [[ "${SLOT}" != "stable" ]]; then - browser_suffix="-${SLOT}" - else - browser_suffix="" - fi - local CHROMIUM_HOME="/usr/$(get_libdir)/ungoogled-chromium-browser${browser_suffix}" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - #newexe out/Release/chrome_sandbox chrome-sandbox - #fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - - use enable-driver && doexe out/Release/chromedriver - - #* https://github.com/ungoogled-software/ungoogled-chromium/pull/3563 - doexe out/Release/chrome_crashpad_handler - - if use convert-dict; then - newexe "${FILESDIR}/update-dicts.sh" update-dicts.sh - doexe out/Release/convert_dict - fi - - ozone_auto_session () { - use X && use wayland && ! use headless && echo true || echo false - } - - cat <<- EOF > "${D}${CHROMIUM_HOME}/chromium-launcher.sh" || die - #!/bin/bash - # Wrapper to launch slotted Chromium via the chromium-common launcher script. - export CHROME_DESKTOP="ungoogled-chromium-browser${browser_suffix}.desktop" - export CHROME_EXEC_NAME="ungoogled-chromium-browser${browser_suffix}" - export CHROME_VERSION_EXTRA="${SLOT}" - export CHROME_WRAPPER="\$(readlink -f "\$0")" - export OZONE_AUTO_SESSION=$(ozone_auto_session) - - exec /usr/libexec/chromium/chromium-launcher.sh "\$@" - EOF - - chmod 755 "${D}${CHROMIUM_HOME}/chromium-launcher.sh" || die - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/ungoogled-chromium-browser${browser_suffix} - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/ungoogled-chromium${browser_suffix} - - use enable-driver && dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/ungoogled-chromedriver${browser_suffix} - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd > /dev/null || die - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins -r out/Release/hyphen-data - - if use bindist; then - # We built libffmpeg as a component library, but we can't distribute it - # with proprietary codec support. Remove it and make a symlink to the requested - # system library. - rm -f out/Release/libffmpeg.so \ - || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)" - # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium]. - einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..." - dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \ - /usr/$(get_libdir)/ungoogled-chromium-browser/libffmpeg.so - fi - - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu && ! use headless; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - #doins -r out/Release/MEIPreload - - # Install vk_swiftshader_icd.json; bug #827861 - doins out/Release/vk_swiftshader_icd.json - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - use widevine && dosym WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so "${CHROMIUM_HOME}/libwidevinecdm.so" - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - ungoogled-chromium-browser${browser_suffix}.png - done - - # Install desktop entry - domenu out/Release/ungoogled-chromium-browser${browser_suffix}.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - doins out/Release/ungoogled-chromium-browser${browser_suffix}.xml - - # Install AppStream metadata - insinto /usr/share/appdata - doins out/Release/ungoogled-chromium-browser${browser_suffix}.appdata.xml - - # Install manpage; bug #684550 - doman out/Release/ungoogled-chromium-browser${browser_suffix}.1 - dosym ungoogled-chromium-browser${browser_suffix}.1 /usr/share/man/man1/ungoogled-chromium${browser_suffix}.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if use !headless && [[ -z "${REPLACING_VERSIONS}" ]]; then - if use vaapi; then - elog "Hardware-accelerated video decoding configuration:" - elog - elog "Chromium supports multiple backends for hardware acceleration. To enable one," - elog " Add to CHROMIUM_FLAGS in /etc/chromium/default:" - elog - elog "1. VA-API with OpenGL (recommended for most users):" - elog " --enable-features=AcceleratedVideoDecodeLinuxGL" - elog " VaapiVideoDecoder may need to be added as well, but try without first." - elog - if use wayland; then - elog "2. Enhanced Wayland/EGL performance:" - elog " --enable-features=AcceleratedVideoDecodeLinuxGL,AcceleratedVideoDecodeLinuxZeroCopyGL" - elog - fi - if use X; then - elog "$(usex wayland "3" "2"). VA-API with Vulkan:" - elog " --enable-features=VaapiVideoDecoder,VaapiIgnoreDriverChecks,Vulkan,DefaultANGLEVulkan,VulkanFromANGLE" - elog - if use wayland; then - elog " NOTE: Vulkan acceleration requires X11 and will not work under Wayland sessions." - elog " Use OpenGL-based acceleration instead when running under Wayland." - elog - fi - fi - elog "Additional options:" - elog " To enable hardware-accelerated encoding (if supported)" - elog " add 'AcceleratedVideoEncoder' to your feature list" - elog " VaapiIgnoreDriverChecks bypasses driver compatibility checks" - elog " (may be needed for newer/unsupported hardware)" - elog - else - elog "This Chromium build was compiled without VA-API support, which provides" - elog "hardware-accelerated video decoding." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - elog - elog "Additional setup may be required for screencasting to work." - elog "See issue: https://github.com/PF4Public/gentoo-overlay/issues/314" - fi - if use gtk4; then - elog "Chromium prefers GTK3 over GTK4 at runtime. To override this" - elog "behaviour you need to pass --gtk-version=4, e.g. by adding it" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi - if use widevine; then - elog "widevine requires binary plugins, which are distributed separately" - elog "Make sure you have www-plugins/chrome-binary-plugins installed" - fi - fi - - if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then - ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd" - ewarn "indicates that the Gentoo handbook was not followed to completion." - ewarn "" - ewarn "Chromium is known to behave unpredictably with this system configuration;" - ewarn "please complete the configuration of this system before logging any bugs." - fi - - # Stable slot doesn't change profile directory, and it's vanishingly unlikely that users will downgrade from dev. - if [[ -n "${REPLACING_VERSIONS}" ]]; then - local replacing_non_slotted=false - # there could be more than one PVR - for version in ${REPLACING_VERSIONS}; do - if ver_test "${version}" -le "145.0.7632.116"; then - replacing_non_slotted=true - break - fi - done - if ${replacing_non_slotted}; then - ewarn "This version of Chromium has replaced a non-slotted ebuild." - if [[ ${SLOT} != "stable" ]]; then - ewarn "This channel has its own profile directory, so your existing profile will not be used." - ewarn "To use your existing profile, either copy or move it to the new location." - ewarn "See https://wiki.gentoo.org/wiki/Chromium#Profile_Directories for more information." - ewarn "" - fi - ewarn "Any existing Progressive Web Apps (PWAs) will need to be reinstalled," - ewarn "or have the path in the desktop files updated to point to the new wrapper script." - fi - fi -} - -eapply_wrapper () { - if [ ! -z "${NODIE}" ]; then - nonfatal eapply "$@" - else - eapply "$@" - fi -} - -git_wrapper () { - if [ ! -z "${NODIE}" ]; then - git "$@" - else - git "$@" || die - fi -} - -filter_wrapper () { - einfo "Applying ${i##*/}" - #? fuzz factor of 3 is OK? - if [ ! -z "${NODIE}" ]; then - filterdiff -p1 "${@:2}" < "$1" | patch -F 3 -p1 - else - filterdiff -p1 "${@:2}" < "$1" | patch -F 3 -p1 || die - fi -} diff --git a/www-client/ungoogled-chromium/ungoogled-chromium-153.0.8010.52_p1.ebuild b/www-client/ungoogled-chromium/ungoogled-chromium-153.0.8010.52_p1.ebuild index 0551e2a407d6..c63dd5e802bd 100644 --- a/www-client/ungoogled-chromium/ungoogled-chromium-153.0.8010.52_p1.ebuild +++ b/www-client/ungoogled-chromium/ungoogled-chromium-153.0.8010.52_p1.ebuild @@ -110,8 +110,8 @@ LICENSE+=" IJG ISC LGPL-2 LGPL-2.1 MIT MPL-1.1 MPL-2.0 Ms-PL PSF-2 SGI-B-2.0 SSL LICENSE+=" Unicode-DFS-2015 Unlicense UoI-NCSA ZLIB libtiff openssl" LICENSE+=" cromite? ( GPL-3 )" -SLOT="beta" -KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +SLOT="stable" +KEYWORDS="amd64 ~arm64 ~ppc64 ~x86" IUSE_SYSTEM_LIBS="abseil-cpp av1 brotli crc32c double-conversion ffmpeg +harfbuzz icu jsoncpp +libusb libvpx +openh264 openjpeg re2 snappy woff2 +zstd" IUSE="+X bindist bluetooth bundled-toolchain cfi convert-dict cups custom-cflags debug ffmpeg-chromium enable-driver gtk4 hangouts headless kerberos +libcxx nvidia +official optimize-thinlto optimize-webui override-data-dir pax-kernel pgo" diff --git a/www-servers/gunicorn/gunicorn-26.1.0.ebuild b/www-servers/gunicorn/gunicorn-26.1.0.ebuild index 733f5e7a3f88..357cab7ed949 100644 --- a/www-servers/gunicorn/gunicorn-26.1.0.ebuild +++ b/www-servers/gunicorn/gunicorn-26.1.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT PSF-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" RDEPEND=" dev-python/packaging[${PYTHON_USEDEP}] diff --git a/x11-misc/sddm/Manifest b/x11-misc/sddm/Manifest index 6b8f8fb44b1c..369be55546d9 100644 --- a/x11-misc/sddm/Manifest +++ b/x11-misc/sddm/Manifest @@ -2,3 +2,4 @@ DIST sddm-0.21.0-pam.tar.xz 676 BLAKE2B 06a79f74a5833eca9877df4be8639311382d1306 DIST sddm-0.21.0_p20240723.tar.gz 3557578 BLAKE2B b92feb20a39eaf34822b077fcb8b89a100ff65814f9b523b2a1a0ffd3592edf2e86fa8fbdfcd8b592756a0b4baf0b085e8c7b4ad2aaa2f08b90e25e580df9925 SHA512 1ea2f758099f86086aebf05a77b176227475c1eb9c21c77bc99b9bb5a2882ce087e020ae6a11585b793fe09a3567e0ea4d0c1632a5823b7be83e33882964de48 DIST sddm-0.21.0_p20250502-4fe234bd.tar.gz 3558357 BLAKE2B 6b013f0edfa1093f37663dcda6c8fe050b951f53a80771c44bcb39f4595e1a6194ceb18167716018b6ef7dee8bb4a486ba4158062ddd7eaa90ed09db98235be0 SHA512 434e081ba06e38b8a4368d90dcf166c5ed955fe142ab377d56232777dde7fcd972f46d99131270e71676160bb179f4245dbed9621dfb40a5dac7bbbd18e510f9 DIST sddm-0.21.0_p20251101-dfa5315f.tar.gz 3558488 BLAKE2B c7d5c2dd5b8e8f306024715e4654c41db8a4914f23657ab3a81e0729ae5a263db9d6323f197e44207a41bcf4b6b1d0cb943a2642fb880fac926fa49063007a7b SHA512 e8a16f6e0cc0f314a545431d84c59ab1cc77e323d31a53181d6e83aaca8ecaf014f8f9fefed2b86ba632f21878c8d94501ed1714134f2c83d68711e93ab4ba6c +DIST sddm-0.21.0_p20260819-da0b64d8.tar.gz 3559093 BLAKE2B 663b1856b3d16000865b1f77e7fedfbaa9d42e371db874b3f4a009384cf1049ce8ee587e5778b2e85aaf3c17eea87e3f4ff5d5bae628a2f1a8e8eb7cd1f3eaed SHA512 910674edb48249965ca24bbdfe8a8ee8a573b62ef20d16bf052ba75d6c10629aa5fa7a7a8932b834d3d48ddda50ee3110213ba23d442afa17a7a90788bddd20c diff --git a/x11-misc/sddm/files/sddm-0.21.0_p20251101-cmake-minreqver-3.16.patch b/x11-misc/sddm/files/sddm-0.21.0_p20251101-cmake-minreqver-3.16.patch index 90db6f1a621c..53d19fd0c53f 100644 --- a/x11-misc/sddm/files/sddm-0.21.0_p20251101-cmake-minreqver-3.16.patch +++ b/x11-misc/sddm/files/sddm-0.21.0_p20251101-cmake-minreqver-3.16.patch @@ -14,7 +14,7 @@ index 1b5f54a..5417b9e 100644 +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) -+cmake_minimum_required(VERSION 3.10..3.31) ++cmake_minimum_required(VERSION 3.16) project(SDDM) diff --git a/x11-misc/sddm/files/sddm-0.21.0_p20260819-dont-request-vt-signal-delivery.patch b/x11-misc/sddm/files/sddm-0.21.0_p20260819-dont-request-vt-signal-delivery.patch new file mode 100644 index 000000000000..bf0d23ea0e89 --- /dev/null +++ b/x11-misc/sddm/files/sddm-0.21.0_p20260819-dont-request-vt-signal-delivery.patch @@ -0,0 +1,34 @@ +Source: https://github.com/sddm/sddm/pull/2210 + +From: Gleb Popov <6yearold@gmail.com> +Date: Mon, 3 Aug 2026 18:33:32 +0300 +Subject: [PATCH] UserSession: Don't request VT signal delivery + +The UserSession::childModifier() hook is executed after the fork() call, +right before execv(). This means the we're wearing the child's PID already. +The VirtualTerminal::jumpToVt() function arms the VT_SETMODE ioctl on the +target VT, asking the kernel to deliver signals when the VT gets switched +to/from. It then arranges signal handlers for these signals. However, we +soon enough call execv, and all our handlers get purged, while kernel still +thinks it should deliver signals to the user session process. + +At least on FreeBSD this change fixes an issue when starting a Wayland session +results in a quick crash - it gets a signal it isn't prepare for receiving and +gets killed. +--- + src/helper/UserSession.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/helper/UserSession.cpp b/src/helper/UserSession.cpp +index 03fd396ee..aaaf797ed 100644 +--- a/src/helper/UserSession.cpp ++++ b/src/helper/UserSession.cpp +@@ -229,7 +229,7 @@ namespace SDDM { + } + + if (vtNumber > 0) +- VirtualTerminal::jumpToVt(vtNumber, x11UserSession); ++ VirtualTerminal::jumpToVt(vtNumber, true); + } + + #ifdef Q_OS_LINUX diff --git a/x11-misc/sddm/sddm-0.21.0_p20260819.ebuild b/x11-misc/sddm/sddm-0.21.0_p20260819.ebuild new file mode 100644 index 000000000000..7bb7297b4027 --- /dev/null +++ b/x11-misc/sddm/sddm-0.21.0_p20260819.ebuild @@ -0,0 +1,149 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PAM_TAR="${PN}-0.21.0-pam" +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/${PN}/${PN}.git" +else + COMMIT=da0b64d8e2378c4bce16cbea6cac2ffc89ad1a4a + SRC_URI="https://github.com/${PN}/${PN}/archive/${COMMIT}.tar.gz -> ${P}-${COMMIT:0:8}.tar.gz" + S="${WORKDIR}/${PN}-${COMMIT}" + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" +fi + +inherit cmake linux-info pam systemd tmpfiles + +DESCRIPTION="Simple Desktop Display Manager" +HOMEPAGE="https://github.com/sddm/sddm" +SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${PAM_TAR}.tar.xz" + +LICENSE="GPL-2+ MIT CC-BY-3.0 CC-BY-SA-3.0 public-domain" +SLOT="0" +IUSE="+elogind systemd test" + +REQUIRED_USE="^^ ( elogind systemd )" +RESTRICT="!test? ( test )" + +DEPEND=" + acct-group/sddm + acct-user/sddm + dev-qt/qtbase:6[dbus,gui,network] + dev-qt/qtdeclarative:6 + sys-libs/pam + x11-libs/libXau + x11-libs/libxcb:= + elogind? ( + sys-auth/elogind[pam] + sys-power/upower + ) + systemd? ( sys-apps/systemd:=[pam] ) +" +RDEPEND="${DEPEND} + gui-apps/sddm-gentoo-config + !systemd? ( gui-libs/display-manager-init ) +" +BDEPEND=" + dev-python/docutils + dev-qt/qttools[linguist] + kde-frameworks/extra-cmake-modules:0 + virtual/pkgconfig +" + +PATCHES=( + # Downstream patches + "${FILESDIR}/${PN}-0.20.0-respect-user-flags.patch" + "${FILESDIR}/${PN}-0.21.0_p20250310-Xsession-xinitrc.patch" # bug 611210 + "${FILESDIR}/${PN}-0.21.0_p20251101-cmake-minreqver-3.16.patch" # pending upstream, bug 964439 + "${FILESDIR}/${PN}-0.21.0_p20251101-fix-restart-greeter.patch" # pending upstream + "${FILESDIR}/${P}-dont-request-vt-signal-delivery.patch" # pending upstream, bug 966586 (?) + # thx opensuse + "${FILESDIR}/${PN}-0.21.0_p20250310-set-XAUTHLOCALHOSTNAME.patch" # bug 913862 + "${FILESDIR}/${PN}-0.21.0_p20251101-fix-terminal-clearing.patch" +) + +pkg_setup() { + local CONFIG_CHECK="~DRM" + use kernel_linux && linux-info_pkg_setup +} + +src_unpack() { + [[ ${PV} == *9999* ]] && git-r3_src_unpack + default +} + +src_prepare() { + cmake_src_prepare + + if ! use test; then + sed -e "/^find_package/s/ Test//" -i CMakeLists.txt || die + cmake_comment_add_subdirectory test + fi + + if use systemd; then + sed -e "/pam_elogind.so/s/elogind/systemd/" \ + -i "${WORKDIR}"/${PAM_TAR}/${PN}-greeter.pam || die + fi +} + +src_configure() { + local mycmakeargs=( + -DBUILD_MAN_PAGES=ON + -DBUILD_WITH_QT6=ON + -DDBUS_CONFIG_FILENAME="org.freedesktop.sddm.conf" + -DRUNTIME_DIR=/run/sddm + -DSYSTEMD_TMPFILES_DIR="/usr/lib/tmpfiles.d" + -DNO_SYSTEMD=$(usex !systemd) + -DUSE_ELOGIND=$(usex elogind) + ) + + if use elogind; then + mycmakeargs+=( + # try to use VT7 first. + # Keep the same as CHECKVT from display-manager + -DSDDM_INITIAL_VT=7 + ) + fi + + cmake_src_configure +} + +src_install() { + cmake_src_install + + # with systemd logs are sent to journald, so no point to bother in that case + if ! use systemd; then + insinto /etc/logrotate.d + newins "${FILESDIR}/sddm.logrotate" sddm + fi + + newpamd "${WORKDIR}"/${PAM_TAR}/${PN}.pam ${PN} + newpamd "${WORKDIR}"/${PAM_TAR}/${PN}-autologin.pam ${PN}-autologin + newpamd "${WORKDIR}"/${PAM_TAR}/${PN}-greeter.pam ${PN}-greeter +} + +pkg_postinst() { + tmpfiles_process "${PN}.conf" + + elog "NOTE: If SDDM startup appears to hang then entropy pool is too low." + elog "This can be fixed by configuring one of the following:" + elog " - Enable CONFIG_RANDOM_TRUST_CPU in linux kernel" + elog " - # emerge sys-apps/haveged && rc-update add haveged boot" + elog " - # emerge sys-apps/rng-tools && rc-update add rngd boot" + elog + elog "SDDM example config can be shown with:" + elog " ${EROOT}/usr/bin/sddm --example-config" + elog "Use ${EROOT}/etc/sddm.conf.d/ directory to override specific options." + elog + elog "For more information on how to configure SDDM, please visit the wiki:" + elog " https://wiki.gentoo.org/wiki/SDDM" + if has_version x11-drivers/nvidia-drivers; then + elog + elog " Nvidia GPU owners in particular should pay attention" + elog " to the troubleshooting section." + fi + + systemd_reenable sddm.service +} diff --git a/x11-terms/xterm/xterm-410.ebuild b/x11-terms/xterm/xterm-410.ebuild index 0bd50d3657c2..1cd27d2a68d0 100644 --- a/x11-terms/xterm/xterm-410.ebuild +++ b/x11-terms/xterm/xterm-410.ebuild @@ -13,7 +13,7 @@ SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/${PN}/${P}.tgz.as LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris" +KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris" IUSE="+openpty sixel toolbar truetype unicode Xaw3d xinerama" DEPEND=" diff --git a/x11-terms/zutty/zutty-0.16.ebuild b/x11-terms/zutty/zutty-0.16.ebuild index 53ec05c94ec4..67863b8805f2 100644 --- a/x11-terms/zutty/zutty-0.16.ebuild +++ b/x11-terms/zutty/zutty-0.16.ebuild @@ -16,7 +16,7 @@ S="${WORKDIR}"/${P}-${MY_COMMIT} LICENSE="GPL-3+" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64" # It is possible to run the tests using virtualx, but it seems to take # screenshots of the terminal window, and compares checksums that never diff --git a/x11-themes/adwaita-icon-theme/Manifest b/x11-themes/adwaita-icon-theme/Manifest index 1a755386a17c..6c57bb403270 100644 --- a/x11-themes/adwaita-icon-theme/Manifest +++ b/x11-themes/adwaita-icon-theme/Manifest @@ -1,4 +1,4 @@ DIST adwaita-icon-theme-3.32.0.tar.xz 18540012 BLAKE2B a82ca6758cdbf459ac617d3b3d834e4147c3a3c5e6ca7c705ed2d16e8cf0a1255f5ae999d7e930b9716585b8c498c220f1ab40fec929dde7679efd56f3b18a45 SHA512 9609732cd51c6794d4d86598818bb2a589b0f4b6b795e57f3507dad69b21ef1b2fc2e83e24e937428bbace32fcccf587a5771cbc02c5768206e704f0456a6d1d -DIST adwaita-icon-theme-48.1.tar.xz 4516908 BLAKE2B 4b7ece869a78f12486a85cf4f6b682479f9dc7ce1453cec2f8653d3bcee575d4240d3bff83e7e83ef55424ca37443cc2806b4f6c86e6f8fa445301ebd4317300 SHA512 1d116599d5397a9dbc7e580fe78ba675b2d6e055e2c6387c08b4f8a646e989a4e5b04a6ff0d8d357422ea7100aefc54c568abf37251f7927ae081ac4334742db DIST adwaita-icon-theme-49.0.tar.xz 4515480 BLAKE2B 9f4817a28b469a05731e25164290ce469f6940b343178a22a9b3043d9a84499cf640380edd02b9e24baf74b623501a50491f86b3d79845a5e02ef5af9b832edc SHA512 79a283bfdef5d3e9faaf6be3f41dc2ae55f676eb798cd7ce41d07204ff831c76e6ee457733bd9d08b9bad8dcbaddddf3e8bd262285579b5a8ed9944ffd4493c7 +DIST adwaita-icon-theme-50.0.tar.xz 4517092 BLAKE2B 7e2c417eb41cbfecd80249e173340080be4510467515ec2811b846d7d5b850c27ae837a089016a02d8043c92c49f558f473d11db46e213012f68f473e66eeadc SHA512 4191943fbbcb9af99537e4b8321375f3bbcee8fe14e5425ef717a8bfe4d410b8d6a86ee1a08686bfb9b918adfe459cf62bc4eae8af9b1c020719bdb0541a3d9f DIST tango-gentoo-v1.1.tar.gz 29322 BLAKE2B 83fa2bf37727e60851dd679054fe1b153ebfea58c9a9a40f891f7d68d3b047b02e8effa1d1b4e08d64500a2072ce7200f159c92a352da7124de27e1b05bb6027 SHA512 87d47ddab68361db6d99866c51705dcb3e198f8345a1096859acf2c6cca5099dd23c7fb30d124f52c4933ea38fd45fadffbbe6ecbdfa84f5b60938a4824f9045 diff --git a/x11-themes/adwaita-icon-theme/adwaita-icon-theme-3.32.0.ebuild b/x11-themes/adwaita-icon-theme/adwaita-icon-theme-3.32.0.ebuild index c202a441e2ff..105759a63bf7 100644 --- a/x11-themes/adwaita-icon-theme/adwaita-icon-theme-3.32.0.ebuild +++ b/x11-themes/adwaita-icon-theme/adwaita-icon-theme-3.32.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -17,10 +17,11 @@ LICENSE=" " SLOT="0" IUSE="branding" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~s390 ~sparc x86 ~x64-solaris" +KEYWORDS="~alpha arm ~hppa ~s390 ~sparc x86" # gtk+:3 is needed for build for the gtk-encode-symbolic-svg utility -# librsvg is needed for gtk-encode-symbolic-svg to be able to read the source SVG via its pixbuf loader and at runtime for rendering scalable icons shipped by the theme +# librsvg is needed for gtk-encode-symbolic-svg to be able to read the source SVG via +# its pixbuf loader and at runtime for rendering scalable icons shipped by the theme DEPEND=">=x11-themes/hicolor-icon-theme-0.10" RDEPEND="${DEPEND} gnome-base/librsvg:2 diff --git a/x11-themes/adwaita-icon-theme/adwaita-icon-theme-48.1.ebuild b/x11-themes/adwaita-icon-theme/adwaita-icon-theme-50.0.ebuild index ec25aae54b25..7840b8be2180 100644 --- a/x11-themes/adwaita-icon-theme/adwaita-icon-theme-48.1.ebuild +++ b/x11-themes/adwaita-icon-theme/adwaita-icon-theme-50.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -16,7 +16,7 @@ LICENSE=" branding? ( CC-BY-SA-4.0 ) " SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="branding" @@ -58,19 +58,3 @@ src_prepare() { src_test() { :; # No tests } - -src_install() { - meson_src_install - - # Gentoo uses the following location for cursors too, but keep - # upstream path to prevent issues like bugs #838451, #834277, #834001 - dosym ../../../../usr/share/icons/Adwaita/cursors /usr/share/cursors/xorg-x11/Adwaita -} - -pkg_preinst() { - # Needed until bug #834600 is solved - if [[ -d "${EROOT}"/usr/share/cursors/xorg-x11/Adwaita ]] ; then - rm -r "${EROOT}"/usr/share/cursors/xorg-x11/Adwaita || die - fi - xdg_pkg_preinst -} diff --git a/x11-themes/numix-icon-theme/numix-icon-theme-25.10.26.ebuild b/x11-themes/numix-icon-theme/numix-icon-theme-25.10.26.ebuild index 1b8765f6ae23..65f30cb0ed9e 100644 --- a/x11-themes/numix-icon-theme/numix-icon-theme-25.10.26.ebuild +++ b/x11-themes/numix-icon-theme/numix-icon-theme-25.10.26.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/numixproject/numix-icon-theme/archive/${PV}.tar.gz - LICENSE="GPL-3" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv ~x86" +KEYWORDS="amd64 ~arm64 ~riscv x86" src_install() { insinto /usr/share/icons diff --git a/x11-wm/i3/i3-4.24.ebuild b/x11-wm/i3/i3-4.24.ebuild index 9e06a45c1d2a..46a87f1460bc 100644 --- a/x11-wm/i3/i3-4.24.ebuild +++ b/x11-wm/i3/i3-4.24.ebuild @@ -14,7 +14,7 @@ if [[ "${PV}" = *9999 ]]; then inherit git-r3 else SRC_URI="https://i3wm.org/downloads/${P}.tar.xz" - KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86" + KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86" fi LICENSE="BSD" diff --git a/x11-wm/mutter/Manifest b/x11-wm/mutter/Manifest index c6d4c96f6a66..ec4d750bb35a 100644 --- a/x11-wm/mutter/Manifest +++ b/x11-wm/mutter/Manifest @@ -1,6 +1,4 @@ -DIST mutter-48.5.tar.xz 8387448 BLAKE2B fb963267d4651de95297a361cb191b43046b428e82fabc3823fea9f4189714e479a0f0e337948925d2644c074751402ac7c80b1b133d814fdf3a0e6adc1629c3 SHA512 a2f50199ad9aae0e59125bb841c2c7c471d472ffedda41ba035d645fd407a20281394b031d40f39a616ca65625d43b39dcac6d3eb2970b5df3b3f0e031703d69 -DIST mutter-48.7.tar.xz 8386684 BLAKE2B ef1c888ef09721f10a9a9dafac40f95fb983fac6d6796928cf5564efc088e89d85324398f3da2948731bb8176f1c9f7ccbf9e3d44e6015a4ba30a82600e862bc SHA512 06105bfa117f646aae819c9a522f6799446d03a157c140b01d39810e9a19c8963dd7aa1a6a46f70f68b122a8105e5e325642b8ddf19e31efa253f1d66693a3ce DIST mutter-48.8.tar.xz 8391472 BLAKE2B cae07538eb5c5aa68e86cccd7d340fc5a31e9f3d449db6fd5ef169bfe4c87d5ccfa5943e85ff17a37ce1e1a841a14a0e844bf22f44a4a23bb4f2ba58deb9af2d SHA512 7e43bbc44bae8de40b719133c9dc58dd93246fd71b1e9c441c603d97872c9eeed03fe3dec3027c002b7be4abd58e5d14bd605fa42ef4c82158ce767744f680b3 -DIST mutter-49.5.tar.xz 8511356 BLAKE2B e0835d10b5f39efe407f996f79edfab11ee0d6494fc66fedb5bda247e4a4a194791ca2964cb88de31c4ba94d352f85fcf2400741adb5b519d72f5c269bd047e7 SHA512 cc23bd7184863fba7bc9a0989c2244c739ee07c6d59317b3765e60730a01a66c07769fc0ff5c30fd9de0a96d50055f1618fdaf94e42810196972755bb885d156 DIST mutter-49.6.tar.xz 8521708 BLAKE2B 44ef6c7f0841090a4a9d955ef8fc4fba3009b6e6066b073e3fc517b6631457d874ae5e6cf2b7195bed9bd57ef6ca51d3153b6b2d12a1659d6b5f72b7f8ebbb44 SHA512 3b4addc3106bc2f1aa47f76dcb8e5a7fabcf77626186d152804dd4558316bfa10ec22a6c19ff9d0b6a84dfda70fa06b0d31dc58821719ea7cf1954bcfc50dfa2 DIST mutter-49.7.tar.xz 8524416 BLAKE2B 0555fdeb16f2ec3fbb2e9c755d5682a69ee026911cce54a1648c2050c68eb827e87a327571c6457c4230873f1271a4399ef6faf57e523f0524fb1767a5c7f031 SHA512 849e7a4d58c3545f77b883dcef665f5124dd0c7e1303c8478f7cd3b1a6f678cbb016f3478c96faec80e86123c8b633efa773c8fd0818b5bc04727e176f93294e +DIST mutter-50.5.tar.xz 8466124 BLAKE2B 8eb5664ba80821a6d858be49f877fcabd6199db035b8a151d70e43c64d4b6bfb2fff453310a6a8827bfa1122515a0840585768d8b17e5c37a7e3879bb4300532 SHA512 60eb92fd36adcc9e6dfe90c9a6a44745cb955dbdab0344e9a2ece1cf2ed558899cf25e6e4a2de144e75289fecfc977644a97be80ff5996859a346d8b2f2ba2fd diff --git a/x11-wm/mutter/files/mutter-49.5-update-kms-resource-lists.patch b/x11-wm/mutter/files/mutter-49.5-update-kms-resource-lists.patch deleted file mode 100644 index 42de4f5cf3e1..000000000000 --- a/x11-wm/mutter/files/mutter-49.5-update-kms-resource-lists.patch +++ /dev/null @@ -1,43 +0,0 @@ -From de07dcb15332e0cbca1cf99d14809ad1f7b6b9ce Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <mdaenzer@redhat.com> -Date: Thu, 7 May 2026 16:25:21 +0200 -Subject: [PATCH] kms/connector: Update KMS resource lists in - update_connector_in_impl - -meta_kms_impl_device_update_states may modify the MetaKmsImplDevice -resource lists, which may result in the corresponding MetaKmsDevice -lists pointing to already-destroyed objects. - -Use meta_kms_device_update_states_in_impl instead, which updates the -latter lists to match the former after calling -meta_kms_impl_device_update_states. - -Fixes use after free if meta_kms_impl_device_update_states removes -a resource (most likely a connector). - -Closes: https://gitlab.gnome.org/GNOME/mutter/-/work_items/4796 -Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5061> ---- - src/backends/native/meta-kms-connector.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/backends/native/meta-kms-connector.c b/src/backends/native/meta-kms-connector.c -index 1a69a6319c..5bdd246f0e 100644 ---- a/src/backends/native/meta-kms-connector.c -+++ b/src/backends/native/meta-kms-connector.c -@@ -1111,10 +1111,10 @@ update_connector_in_impl (MetaThreadImpl *thread_impl, - GError **error) - { - MetaKmsConnector *connector = user_data; -+ MetaKmsDevice *device = meta_kms_connector_get_device (connector); - MetaKmsResourceChanges changes; - -- changes = meta_kms_impl_device_update_states (connector->impl_device, -- 0, connector->id); -+ changes = meta_kms_device_update_states_in_impl (device, 0, connector->id); - - return GUINT_TO_POINTER (changes); - } --- -2.53.0 - diff --git a/x11-wm/mutter/files/mutter-50.3-meta-wayland-touch.patch b/x11-wm/mutter/files/mutter-50.3-meta-wayland-touch.patch new file mode 100644 index 000000000000..16ce8af371d5 --- /dev/null +++ b/x11-wm/mutter/files/mutter-50.3-meta-wayland-touch.patch @@ -0,0 +1,9 @@ +Fixes crash with touchscreens when attempting to drag windows + +https://gitlab.gnome.org/GNOME/mutter/-/work_items/4887 + +--- a/src/wayland/meta-wayland-touch.c ++++ b/src/wayland/meta-wayland-touch.c +@@ -659,3 +659,3 @@ +- if (touch_info->focus_surface->surface == surface) ++ if (touch_info->focus_surface && touch_info->focus_surface->surface == surface) diff --git a/x11-wm/mutter/metadata.xml b/x11-wm/mutter/metadata.xml index c53f427275a5..79efd3cece15 100644 --- a/x11-wm/mutter/metadata.xml +++ b/x11-wm/mutter/metadata.xml @@ -10,7 +10,7 @@ <flag name="elogind">Rely on <pkg>sys-auth/elogind</pkg> as logind provider for Wayland sessions</flag> <flag name="sysprof">Enable profiling data capture support using <pkg>dev-util/sysprof-capture</pkg> </flag> - <flag name="xwayland">Enable X11 application support in Wayland sessions</flag> + <flag name="xwayland">Enable <pkg>x11-base/xwayland</pkg> integration for running X11 applications under Wayland</flag> </use> <origin>baldeagleos-repo</origin> </pkgmetadata> diff --git a/x11-wm/mutter/mutter-48.5.ebuild b/x11-wm/mutter/mutter-48.5.ebuild deleted file mode 100644 index c2834b0daa97..000000000000 --- a/x11-wm/mutter/mutter-48.5.ebuild +++ /dev/null @@ -1,269 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{13..14} ) -inherit gnome.org gnome2-utils meson python-any-r1 udev xdg - -DESCRIPTION="GNOME compositing window manager based on Clutter" -HOMEPAGE="https://mutter.gnome.org" -LICENSE="GPL-2+" - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/mutter.git" - SRC_URI="" - SLOT="0/16" # This can get easily out of date, but better than 9967 -else - KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86" - SLOT="0/$(($(ver_cut 1) - 32))" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-<api_version>.pc) should use the subslot -fi - -IUSE="bash-completion debug elogind gnome gtk-doc input_devices_wacom +introspection screencast sysprof systemd test udev wayland X +xwayland video_cards_nvidia" -# native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider -REQUIRED_USE=" - || ( X wayland ) - gtk-doc? ( introspection ) - wayland? ( ^^ ( elogind systemd ) udev ) - test? ( screencast wayland )" -RESTRICT="!test? ( test )" - -# gnome-settings-daemon is build checked, but used at runtime only for org.gnome.settings-daemon.peripherals.keyboard gschema -# USE=libei was first introduced in xwayland-23.2.1; we min dep on that to ensure the [libei(+)] works right, as missing USE flag with -# previous versions meant that it's not there, while the intention seems to be to make it always enabled without USE flag in the future; -# this ensures have_enable_ei_portal is always there in xwayland.pc, which affects how Xwayland is launched, thus if it were toggled off -# in Xwayland after mutter is installed, Xwayland would fail to be started by mutter. mutter already hard-depends on libei, so there's -# really no extra deps here (besides xdg-desktop-portal, but we want that too, anyhow). -# v3.32.2 has many excessive or unused *_req variables declared, thus currently the dep order ignores those and goes via dependency() call order -# dev-libs/wayland is always needed at build time due to https://bugs.gentoo.org/937632 -RDEPEND=" - >=media-libs/graphene-1.10.2[introspection?] - x11-libs/gdk-pixbuf:2 - >=x11-libs/pango-1.46[introspection?] - >=x11-libs/cairo-1.14[X] - >=x11-libs/pixman-0.42 - >=dev-libs/fribidi-1.0.0 - >=gnome-base/gsettings-desktop-schemas-47_beta[introspection?] - >=dev-libs/glib-2.81.1:2 - gnome-base/gnome-settings-daemon - >=x11-libs/libxkbcommon-1.8.0[X?] - >=app-accessibility/at-spi2-core-2.46:2[introspection?] - sys-apps/dbus - >=x11-misc/colord-1.4.5:= - >=media-libs/lcms-2.6:2 - >=media-libs/harfbuzz-2.6.0:= - >=dev-libs/libei-1.3.901 - >=media-libs/libdisplay-info-0.2:= - - gnome? ( gnome-base/gnome-desktop:4= ) - - >=media-libs/libcanberra-0.26 - - media-libs/libglvnd - - >=dev-libs/wayland-1.23.0 - wayland? ( - >=dev-libs/wayland-protocols-1.41 - - >=x11-libs/libdrm-2.4.118 - media-libs/mesa[gbm(+)] - >=dev-libs/libinput-1.27.0:= - - elogind? ( sys-auth/elogind ) - xwayland? ( >=x11-base/xwayland-23.2.1[libei(+)] ) - video_cards_nvidia? ( gui-libs/egl-wayland ) - ) - udev? ( - >=virtual/libudev-232-r1:= - >=dev-libs/libgudev-238 - ) - systemd? ( sys-apps/systemd ) - input_devices_wacom? ( >=dev-libs/libwacom-0.13:= ) - screencast? ( >=media-video/pipewire-1.2.0:= ) - introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2:= ) - test? ( - >=x11-libs/gtk+-3.19.8:3[X,introspection?] - ) - sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 >=dev-util/sysprof-3.46.0 ) -" - -X11_CLIENT_DEPS=" - >=gui-libs/gtk-4.0.0:4[X,introspection?] - media-libs/libglvnd[X] - >=x11-libs/libX11-1.7.0 - >=x11-libs/libXcomposite-0.4 - x11-libs/libXcursor - x11-libs/libXdamage - x11-libs/libXext - >=x11-libs/libXfixes-6 - >=x11-libs/libXi-1.7.4 - x11-misc/xkeyboard-config - >=x11-libs/libXrandr-1.5.0 - x11-libs/libxcb:= - x11-libs/libXinerama - x11-libs/libXau - >=x11-libs/startup-notification-0.7 -" - -RDEPEND+=" - X? ( - ${X11_CLIENT_DEPS} - x11-libs/libICE - x11-libs/libxkbfile - x11-libs/libXtst - x11-libs/libSM - ) - wayland? ( xwayland? ( ${X11_CLIENT_DEPS} ) ) -" -DEPEND="${RDEPEND} - x11-base/xorg-proto - sysprof? ( >=dev-util/sysprof-common-3.38.0 ) -" -BDEPEND=" - dev-util/wayland-scanner - >=dev-util/gdbus-codegen-2.80.5-r1 - dev-util/glib-utils - >=sys-devel/gettext-0.19.8 - virtual/pkgconfig - gtk-doc? ( >=dev-util/gi-docgen-2021.1 ) - test? ( - ${PYTHON_DEPS} - $(python_gen_any_dep ' - >=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}] - ') - app-text/docbook-xml-dtd:4.5 - X? ( - gnome-extra/zenity - x11-misc/xvfb-run - ) - ) - wayland? ( - >=sys-kernel/linux-headers-4.4 - x11-libs/libxcvt - ) - bash-completion? ( - app-shells/bash-completion - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/argcomplete[${PYTHON_USEDEP}] - ') - ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-43.0-Disable-anonymous-file-test.patch -) - -python_check_deps() { - if use test; then - python_has_version ">=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}]" || return 1 - fi - if use bash-completion; then - python_has_version "dev-python/argcomplete[${PYTHON_USEDEP}]" || return 1 - fi -} - -src_configure() { - use debug && EMESON_BUILDTYPE=debug - local emesonargs=( - # Mutter X11 renderer only supports gles2 and GLX, thus do NOT pass - # - # -Dopengl_libname=libOpenGL.so.0 - # - # while we build the x11 renderer, as we currently enable gles2 only - # with USE=wayland and x11 renderer wouldn't find the needed GLX symbols - # in a configuration where wayland is disabled, as libOpenGL doesn't - # include them. - # - # See - # - https://bugs.gentoo.org/835786 - # - https://forums.gentoo.org/viewtopic-p-8695669.html - - -Dopengl=true - $(meson_use wayland gles2) - #gles2_libname - -Degl=true - $(meson_use X glx) - $(meson_use wayland) - -Dfonts=true - ) - - if use wayland; then - emesonargs+=( - $(meson_use xwayland) - ) - else - emesonargs+=( - -Dxwayland=false - ) - fi - - if use elogind || use systemd; then - emesonargs+=( - -Dlogind=true - ) - fi - - emesonargs+=( - $(meson_use wayland native_backend) - $(meson_use screencast remote_desktop) - $(meson_use gnome libgnome_desktop) - $(meson_use udev) - -Dudev_dir=$(get_udevdir) - $(meson_use input_devices_wacom libwacom) - -Dsound_player=true - -Dstartup_notification=true - $(meson_use X sm) - $(meson_use introspection) - $(meson_use gtk-doc docs) - $(meson_use test cogl_tests) - $(meson_use test clutter_tests) - $(meson_use test mutter_tests) - $(meson_feature test tests) - -Dkvm_tests=false - -Dtty_tests=false - $(meson_use sysprof profiler) - -Dinstalled_tests=false - $(meson_use X x11) - $(meson_use bash-completion bash_completion) - - #verbose # Let upstream choose default for verbose mode - #xwayland_path - # TODO: relies on default settings, but in Gentoo we might have some more packages we want to give Xgrab access (mostly virtual managers and remote desktops) - #xwayland_grab_default_access_rules - ) - - if use wayland && use video_cards_nvidia; then - emesonargs+=( - -Degl_device=true - -Dwayland_eglstream=true - ) - else - emesonargs+=( - -Degl_device=false - -Dwayland_eglstream=false - ) - fi - - meson_src_configure -} - -src_test() { - # Reset variables to avoid issues from /etc/profile.d/flatpak.sh file - gnome2_environment_reset - export XDG_DATA_DIRS="${EPREFIX}"/usr/share - glib-compile-schemas "${BUILD_DIR}"/data - GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data meson_src_test -} - -pkg_postinst() { - use udev && udev_reload - xdg_pkg_postinst - gnome2_schemas_update -} - -pkg_postrm() { - use udev && udev_reload - xdg_pkg_postrm - gnome2_schemas_update -} diff --git a/x11-wm/mutter/mutter-48.7.ebuild b/x11-wm/mutter/mutter-48.7.ebuild deleted file mode 100644 index 1a56124b5950..000000000000 --- a/x11-wm/mutter/mutter-48.7.ebuild +++ /dev/null @@ -1,271 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{13..14} ) -inherit gnome.org gnome2-utils meson python-any-r1 udev xdg - -DESCRIPTION="GNOME compositing window manager based on Clutter" -HOMEPAGE="https://mutter.gnome.org" -LICENSE="GPL-2+" - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/mutter.git" - SRC_URI="" - SLOT="0/16" # This can get easily out of date, but better than 9967 -else - KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" - SLOT="0/$(($(ver_cut 1) - 32))" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-<api_version>.pc) should use the subslot -fi - -IUSE="bash-completion debug elogind gnome gtk-doc input_devices_wacom +introspection screencast selinux sysprof systemd test udev wayland X +xwayland video_cards_nvidia" -# native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider -REQUIRED_USE=" - || ( X wayland ) - gtk-doc? ( introspection ) - wayland? ( ^^ ( elogind systemd ) udev ) - test? ( screencast wayland )" -RESTRICT="!test? ( test )" - -# gnome-settings-daemon is build checked, but used at runtime only for org.gnome.settings-daemon.peripherals.keyboard gschema -# USE=libei was first introduced in xwayland-23.2.1; we min dep on that to ensure the [libei(+)] works right, as missing USE flag with -# previous versions meant that it's not there, while the intention seems to be to make it always enabled without USE flag in the future; -# this ensures have_enable_ei_portal is always there in xwayland.pc, which affects how Xwayland is launched, thus if it were toggled off -# in Xwayland after mutter is installed, Xwayland would fail to be started by mutter. mutter already hard-depends on libei, so there's -# really no extra deps here (besides xdg-desktop-portal, but we want that too, anyhow). -# v3.32.2 has many excessive or unused *_req variables declared, thus currently the dep order ignores those and goes via dependency() call order -# dev-libs/wayland is always needed at build time due to https://bugs.gentoo.org/937632 -RDEPEND=" - >=media-libs/graphene-1.10.2[introspection?] - x11-libs/gdk-pixbuf:2 - >=x11-libs/pango-1.46[introspection?] - >=x11-libs/cairo-1.14[X] - >=x11-libs/pixman-0.42 - >=dev-libs/fribidi-1.0.0 - >=gnome-base/gsettings-desktop-schemas-47_beta[introspection?] - >=dev-libs/glib-2.81.1:2 - gnome-base/gnome-settings-daemon - >=x11-libs/libxkbcommon-1.8.0[X?] - >=app-accessibility/at-spi2-core-2.46:2[introspection?] - sys-apps/dbus - >=x11-misc/colord-1.4.5:= - >=media-libs/lcms-2.6:2 - >=media-libs/harfbuzz-2.6.0:= - >=dev-libs/libei-1.3.901 - >=media-libs/libdisplay-info-0.2:= - - gnome? ( gnome-base/gnome-desktop:4= ) - - >=media-libs/libcanberra-0.26 - - media-libs/libglvnd - - >=dev-libs/wayland-1.23.0 - wayland? ( - >=dev-libs/wayland-protocols-1.41 - - >=x11-libs/libdrm-2.4.118 - media-libs/mesa[gbm(+)] - >=dev-libs/libinput-1.27.0:= - - elogind? ( sys-auth/elogind ) - xwayland? ( >=x11-base/xwayland-23.2.1[libei(+)] ) - video_cards_nvidia? ( gui-libs/egl-wayland ) - ) - udev? ( - >=virtual/libudev-232-r1:= - >=dev-libs/libgudev-238 - ) - systemd? ( sys-apps/systemd ) - input_devices_wacom? ( >=dev-libs/libwacom-0.13:= ) - screencast? ( >=media-video/pipewire-1.2.0:= ) - introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2:= ) - test? ( - >=x11-libs/gtk+-3.19.8:3[X,introspection?] - ) - sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 >=dev-util/sysprof-3.46.0 ) -" - -X11_CLIENT_DEPS=" - >=gui-libs/gtk-4.0.0:4[X,introspection?] - media-libs/libglvnd[X] - >=x11-libs/libX11-1.7.0 - >=x11-libs/libXcomposite-0.4 - x11-libs/libXcursor - x11-libs/libXdamage - x11-libs/libXext - >=x11-libs/libXfixes-6 - >=x11-libs/libXi-1.7.4 - x11-misc/xkeyboard-config - >=x11-libs/libXrandr-1.5.0 - x11-libs/libxcb:= - x11-libs/libXinerama - x11-libs/libXau - >=x11-libs/startup-notification-0.7 -" - -RDEPEND+=" - X? ( - ${X11_CLIENT_DEPS} - x11-libs/libICE - x11-libs/libxkbfile - x11-libs/libXtst - x11-libs/libSM - ) - wayland? ( xwayland? ( ${X11_CLIENT_DEPS} ) ) -" -DEPEND="${RDEPEND} - x11-base/xorg-proto - sysprof? ( >=dev-util/sysprof-common-3.38.0 ) -" -RDEPEND+=" selinux? ( sec-policy/selinux-wm )" -BDEPEND=" - dev-util/wayland-scanner - >=dev-util/gdbus-codegen-2.80.5-r1 - dev-util/glib-utils - >=sys-devel/gettext-0.19.8 - virtual/pkgconfig - gtk-doc? ( >=dev-util/gi-docgen-2021.1 ) - test? ( - ${PYTHON_DEPS} - $(python_gen_any_dep ' - >=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}] - ') - app-text/docbook-xml-dtd:4.5 - X? ( - gnome-extra/zenity - x11-misc/xvfb-run - ) - ) - wayland? ( - >=sys-kernel/linux-headers-4.4 - x11-libs/libxcvt - ) - bash-completion? ( - app-shells/bash-completion - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/argcomplete[${PYTHON_USEDEP}] - ') - ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-43.0-Disable-anonymous-file-test.patch - "${FILESDIR}"/"${PN}"-48.6-trap-X-errors.patch -) - -python_check_deps() { - if use test; then - python_has_version ">=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}]" || return 1 - fi - if use bash-completion; then - python_has_version "dev-python/argcomplete[${PYTHON_USEDEP}]" || return 1 - fi -} - -src_configure() { - use debug && EMESON_BUILDTYPE=debug - local emesonargs=( - # Mutter X11 renderer only supports gles2 and GLX, thus do NOT pass - # - # -Dopengl_libname=libOpenGL.so.0 - # - # while we build the x11 renderer, as we currently enable gles2 only - # with USE=wayland and x11 renderer wouldn't find the needed GLX symbols - # in a configuration where wayland is disabled, as libOpenGL doesn't - # include them. - # - # See - # - https://bugs.gentoo.org/835786 - # - https://forums.gentoo.org/viewtopic-p-8695669.html - - -Dopengl=true - $(meson_use wayland gles2) - #gles2_libname - -Degl=true - $(meson_use X glx) - $(meson_use wayland) - -Dfonts=true - ) - - if use wayland; then - emesonargs+=( - $(meson_use xwayland) - ) - else - emesonargs+=( - -Dxwayland=false - ) - fi - - if use elogind || use systemd; then - emesonargs+=( - -Dlogind=true - ) - fi - - emesonargs+=( - $(meson_use wayland native_backend) - $(meson_use screencast remote_desktop) - $(meson_use gnome libgnome_desktop) - $(meson_use udev) - -Dudev_dir=$(get_udevdir) - $(meson_use input_devices_wacom libwacom) - -Dsound_player=true - -Dstartup_notification=true - $(meson_use X sm) - $(meson_use introspection) - $(meson_use gtk-doc docs) - $(meson_use test cogl_tests) - $(meson_use test clutter_tests) - $(meson_use test mutter_tests) - $(meson_feature test tests) - -Dkvm_tests=false - -Dtty_tests=false - $(meson_use sysprof profiler) - -Dinstalled_tests=false - $(meson_use X x11) - $(meson_use bash-completion bash_completion) - - #verbose # Let upstream choose default for verbose mode - #xwayland_path - # TODO: relies on default settings, but in Gentoo we might have some more packages we want to give Xgrab access (mostly virtual managers and remote desktops) - #xwayland_grab_default_access_rules - ) - - if use wayland && use video_cards_nvidia; then - emesonargs+=( - -Degl_device=true - -Dwayland_eglstream=true - ) - else - emesonargs+=( - -Degl_device=false - -Dwayland_eglstream=false - ) - fi - - meson_src_configure -} - -src_test() { - # Reset variables to avoid issues from /etc/profile.d/flatpak.sh file - gnome2_environment_reset - export XDG_DATA_DIRS="${EPREFIX}"/usr/share - glib-compile-schemas "${BUILD_DIR}"/data - GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data meson_src_test -} - -pkg_postinst() { - use udev && udev_reload - xdg_pkg_postinst - gnome2_schemas_update -} - -pkg_postrm() { - use udev && udev_reload - xdg_pkg_postrm - gnome2_schemas_update -} diff --git a/x11-wm/mutter/mutter-49.5-r1.ebuild b/x11-wm/mutter/mutter-50.5.ebuild index 3d5972044c2f..a224263645b9 100644 --- a/x11-wm/mutter/mutter-49.5-r1.ebuild +++ b/x11-wm/mutter/mutter-50.5.ebuild @@ -2,6 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=8 + PYTHON_COMPAT=( python3_{13..14} ) inherit gnome.org gnome2-utils meson python-any-r1 udev xdg @@ -13,42 +14,45 @@ if [[ ${PV} == 9999 ]]; then inherit git-r3 EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/mutter.git" SRC_URI="" - SLOT="0/17" # This can get easily out of date, but better than 9967 + SLOT="0/18" # This can get easily out of date, but better than 9967 else KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" - SLOT="0/$(($(ver_cut 1) - 32))" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-<api_version>.pc) should use the subslot + # 0/libmutter_api_version - ONLY gnome-shell or anything using mutter-clutter-<api_version>.pc + # should use the subslot + SLOT="0/$(($(ver_cut 1) - 32))" fi -IUSE="bash-completion debug devkit elogind gnome gtk-doc input_devices_wacom +introspection screencast selinux sysprof systemd test udev +wayland X +xwayland video_cards_nvidia" -# native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider +IUSE="bash-completion debug devkit elogind gnome gtk-doc input_devices_wacom +introspection +screencast selinux sysprof systemd test video_cards_nvidia +xwayland" + +# native backend requires a logind provider REQUIRED_USE=" - || ( X wayland ) - devkit? ( screencast wayland ) + devkit? ( screencast ) gtk-doc? ( introspection ) - wayland? ( ^^ ( elogind systemd ) udev ) - test? ( screencast wayland ) - xwayland? ( wayland )" + ^^ ( elogind systemd ) + test? ( screencast )" RESTRICT="!test? ( test )" -# gnome-settings-daemon is build checked, but used at runtime only for org.gnome.settings-daemon.peripherals.keyboard gschema -# USE=libei was first introduced in xwayland-23.2.1; we min dep on that to ensure the [libei(+)] works right, as missing USE flag with -# previous versions meant that it's not there, while the intention seems to be to make it always enabled without USE flag in the future; -# this ensures have_enable_ei_portal is always there in xwayland.pc, which affects how Xwayland is launched, thus if it were toggled off -# in Xwayland after mutter is installed, Xwayland would fail to be started by mutter. mutter already hard-depends on libei, so there's -# really no extra deps here (besides xdg-desktop-portal, but we want that too, anyhow). -# v3.32.2 has many excessive or unused *_req variables declared, thus currently the dep order ignores those and goes via dependency() call order +# gnome-settings-daemon is build checked but used at runtime only for org.gnome.settings-daemon.peripherals.keyboard +# gschema +# USE=libei was first introduced in xwayland-23.2.1; we min dep on that to ensure the [libei(+)] works right, as +# missing USE flag with previous versions meant that it's not there, while the intention seems to be to make it always +# enabled without USE flag in the future; this ensures have_enable_ei_portal is always there in xwayland.pc, which +# affects how Xwayland is launched, thus if it were toggled off in Xwayland after mutter is installed, Xwayland would +# fail to be started by mutter. mutter already hard-depends on libei, so there's really no extra deps here (besides +# xdg-desktop-portal, but we want that too, anyhow). # dev-libs/wayland is always needed at build time due to https://bugs.gentoo.org/937632 RDEPEND=" >=media-libs/graphene-1.10.2[introspection?] >=x11-libs/pango-1.46[introspection?] - >=x11-libs/cairo-1.14[X] + >=x11-libs/cairo-1.14 >=x11-libs/pixman-0.42 >=gui-libs/gtk-4.14.0:4[introspection?] >=dev-libs/fribidi-1.0.0 >=gnome-base/gsettings-desktop-schemas-47_beta[introspection?] >=dev-libs/glib-2.81.1:2 gnome-base/gnome-settings-daemon - >=x11-libs/libxkbcommon-1.8.0[X?] + >=x11-libs/libxkbcommon-1.8.0 >=app-accessibility/at-spi2-core-2.46:2[introspection?] sys-apps/dbus >=x11-misc/colord-1.4.5:= @@ -68,24 +72,20 @@ RDEPEND=" media-libs/libglvnd >=dev-libs/wayland-1.24.0 - wayland? ( - >=dev-libs/wayland-protocols-1.45 + >=dev-libs/wayland-protocols-1.47 - >=x11-libs/libdrm-2.4.118 - media-libs/mesa[gbm(+)] - >=dev-libs/libinput-1.27.0:= + >=x11-libs/libdrm-2.4.118 + media-libs/mesa[gbm(+)] + >=dev-libs/libinput-1.30.0:= - elogind? ( sys-auth/elogind ) - xwayland? ( >=x11-base/xwayland-23.2.1[libei(+)] ) - video_cards_nvidia? ( gui-libs/egl-wayland ) - ) - udev? ( - >=virtual/libudev-232-r1:= - >=dev-libs/libgudev-238 - ) + elogind? ( sys-auth/elogind ) + xwayland? ( >=x11-base/xwayland-23.2.1[libei(+)] ) + video_cards_nvidia? ( gui-libs/egl-wayland ) + >=virtual/libudev-232-r1:= + >=dev-libs/libgudev-238 systemd? ( sys-apps/systemd ) input_devices_wacom? ( >=dev-libs/libwacom-0.13:= ) - screencast? ( >=media-video/pipewire-1.2.7:= ) + screencast? ( >=media-video/pipewire-1.6.0:= ) introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2:= ) test? ( >=x11-libs/gtk+-3.19.8:3[X,introspection?] @@ -113,12 +113,9 @@ X11_CLIENT_DEPS=" " RDEPEND+=" - X? ( + xwayland? ( ${X11_CLIENT_DEPS} - x11-libs/libxkbfile - x11-libs/libXtst ) - wayland? ( xwayland? ( ${X11_CLIENT_DEPS} ) ) " DEPEND="${RDEPEND} x11-base/xorg-proto @@ -140,15 +137,9 @@ BDEPEND=" >=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}] ') app-text/docbook-xml-dtd:4.5 - X? ( - gnome-extra/zenity - x11-misc/xvfb-run - ) - ) - wayland? ( - >=sys-kernel/linux-headers-4.4 - x11-libs/libxcvt ) + >=sys-kernel/linux-headers-4.4 + x11-libs/libxcvt bash-completion? ( app-shells/bash-completion ${PYTHON_DEPS} @@ -159,7 +150,7 @@ BDEPEND=" " PATCHES=( - "${FILESDIR}"/${P}-update-kms-resource-lists.patch + "${FILESDIR}"/mutter-50.3-meta-wayland-touch.patch ) python_check_deps() { @@ -174,49 +165,13 @@ python_check_deps() { src_configure() { use debug && EMESON_BUILDTYPE=debug local emesonargs=( - # Mutter X11 renderer only supports gles2 and GLX, thus do NOT pass - # - # -Dopengl_libname=libOpenGL.so.0 - # - # while we build the x11 renderer, as we currently enable gles2 only - # with USE=wayland and x11 renderer wouldn't find the needed GLX symbols - # in a configuration where wayland is disabled, as libOpenGL doesn't - # include them. - # - # See - # - https://bugs.gentoo.org/835786 - # - https://forums.gentoo.org/viewtopic-p-8695669.html - - -Dopengl=true - $(meson_use wayland gles2) - #gles2_libname -Degl=true - $(meson_use X glx) - $(meson_use wayland) -Dfonts=true - ) - - if use wayland; then - emesonargs+=( - $(meson_use xwayland) - ) - else - emesonargs+=( - -Dxwayland=false - ) - fi - - if use elogind || use systemd; then - emesonargs+=( - -Dlogind=true - ) - fi - - emesonargs+=( - $(meson_use wayland native_backend) + -Dnative_backend=true + -Dopengl=true $(meson_use screencast remote_desktop) $(meson_use gnome libgnome_desktop) - $(meson_use udev) + -Dudev=true -Dudev_dir=$(get_udevdir) $(meson_use input_devices_wacom libwacom) -Dsound_player=true @@ -232,16 +187,23 @@ src_configure() { -Dtty_tests=false $(meson_use sysprof profiler) -Dinstalled_tests=false - $(meson_use X x11) + $(meson_use xwayland) $(meson_use bash-completion bash_completion) #verbose # Let upstream choose default for verbose mode #xwayland_path - # TODO: relies on default settings, but in Gentoo we might have some more packages we want to give Xgrab access (mostly virtual managers and remote desktops) + # TODO: relies on default settings, but in Gentoo we might have some more packages we want to give + # Xgrab access (mostly virtual managers and remote desktops) #xwayland_grab_default_access_rules ) - if use wayland && use video_cards_nvidia; then + if use elogind || use systemd; then + emesonargs+=( + -Dlogind=true + ) + fi + + if use video_cards_nvidia; then emesonargs+=( -Degl_device=true -Dwayland_eglstream=true @@ -257,7 +219,7 @@ src_configure() { } src_test() { - # Reset variables to avoid issues from /etc/profile.d/flatpak.sh file + # Needed to prevent some tests failures gnome2_environment_reset export XDG_DATA_DIRS="${EPREFIX}"/usr/share glib-compile-schemas "${BUILD_DIR}"/data @@ -265,13 +227,13 @@ src_test() { } pkg_postinst() { - use udev && udev_reload + udev_reload xdg_pkg_postinst gnome2_schemas_update } pkg_postrm() { - use udev && udev_reload + udev_reload xdg_pkg_postrm gnome2_schemas_update } diff --git a/x11-wm/mutter/mutter-9999.ebuild b/x11-wm/mutter/mutter-9999.ebuild index 14e580fe6546..a224263645b9 100644 --- a/x11-wm/mutter/mutter-9999.ebuild +++ b/x11-wm/mutter/mutter-9999.ebuild @@ -2,6 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=8 + PYTHON_COMPAT=( python3_{13..14} ) inherit gnome.org gnome2-utils meson python-any-r1 udev xdg @@ -13,7 +14,7 @@ if [[ ${PV} == 9999 ]]; then inherit git-r3 EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/mutter.git" SRC_URI="" - SLOT="0/17" # This can get easily out of date, but better than 9967 + SLOT="0/18" # This can get easily out of date, but better than 9967 else KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" # 0/libmutter_api_version - ONLY gnome-shell or anything using mutter-clutter-<api_version>.pc @@ -22,16 +23,14 @@ else fi IUSE="bash-completion debug devkit elogind gnome gtk-doc input_devices_wacom +introspection -screencast selinux sysprof systemd test udev +wayland X +xwayland video_cards_nvidia" +screencast selinux sysprof systemd test video_cards_nvidia +xwayland" -# native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider +# native backend requires a logind provider REQUIRED_USE=" - || ( X wayland ) - devkit? ( screencast wayland ) + devkit? ( screencast ) gtk-doc? ( introspection ) - wayland? ( ^^ ( elogind systemd ) udev ) - test? ( screencast wayland ) - xwayland? ( wayland )" + ^^ ( elogind systemd ) + test? ( screencast )" RESTRICT="!test? ( test )" # gnome-settings-daemon is build checked but used at runtime only for org.gnome.settings-daemon.peripherals.keyboard @@ -46,14 +45,14 @@ RESTRICT="!test? ( test )" RDEPEND=" >=media-libs/graphene-1.10.2[introspection?] >=x11-libs/pango-1.46[introspection?] - >=x11-libs/cairo-1.14[X] + >=x11-libs/cairo-1.14 >=x11-libs/pixman-0.42 >=gui-libs/gtk-4.14.0:4[introspection?] >=dev-libs/fribidi-1.0.0 >=gnome-base/gsettings-desktop-schemas-47_beta[introspection?] >=dev-libs/glib-2.81.1:2 gnome-base/gnome-settings-daemon - >=x11-libs/libxkbcommon-1.8.0[X?] + >=x11-libs/libxkbcommon-1.8.0 >=app-accessibility/at-spi2-core-2.46:2[introspection?] sys-apps/dbus >=x11-misc/colord-1.4.5:= @@ -73,24 +72,20 @@ RDEPEND=" media-libs/libglvnd >=dev-libs/wayland-1.24.0 - wayland? ( - >=dev-libs/wayland-protocols-1.45 + >=dev-libs/wayland-protocols-1.47 - >=x11-libs/libdrm-2.4.118 - media-libs/mesa[gbm(+)] - >=dev-libs/libinput-1.27.0:= + >=x11-libs/libdrm-2.4.118 + media-libs/mesa[gbm(+)] + >=dev-libs/libinput-1.30.0:= - elogind? ( sys-auth/elogind ) - xwayland? ( >=x11-base/xwayland-23.2.1[libei(+)] ) - video_cards_nvidia? ( gui-libs/egl-wayland ) - ) - udev? ( - >=virtual/libudev-232-r1:= - >=dev-libs/libgudev-238 - ) + elogind? ( sys-auth/elogind ) + xwayland? ( >=x11-base/xwayland-23.2.1[libei(+)] ) + video_cards_nvidia? ( gui-libs/egl-wayland ) + >=virtual/libudev-232-r1:= + >=dev-libs/libgudev-238 systemd? ( sys-apps/systemd ) input_devices_wacom? ( >=dev-libs/libwacom-0.13:= ) - screencast? ( >=media-video/pipewire-1.2.7:= ) + screencast? ( >=media-video/pipewire-1.6.0:= ) introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2:= ) test? ( >=x11-libs/gtk+-3.19.8:3[X,introspection?] @@ -118,12 +113,9 @@ X11_CLIENT_DEPS=" " RDEPEND+=" - X? ( + xwayland? ( ${X11_CLIENT_DEPS} - x11-libs/libxkbfile - x11-libs/libXtst ) - wayland? ( xwayland? ( ${X11_CLIENT_DEPS} ) ) " DEPEND="${RDEPEND} x11-base/xorg-proto @@ -145,15 +137,9 @@ BDEPEND=" >=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}] ') app-text/docbook-xml-dtd:4.5 - X? ( - gnome-extra/zenity - x11-misc/xvfb-run - ) - ) - wayland? ( - >=sys-kernel/linux-headers-4.4 - x11-libs/libxcvt ) + >=sys-kernel/linux-headers-4.4 + x11-libs/libxcvt bash-completion? ( app-shells/bash-completion ${PYTHON_DEPS} @@ -163,6 +149,10 @@ BDEPEND=" ) " +PATCHES=( + "${FILESDIR}"/mutter-50.3-meta-wayland-touch.patch +) + python_check_deps() { if use test; then python_has_version ">=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}]" @@ -175,49 +165,13 @@ python_check_deps() { src_configure() { use debug && EMESON_BUILDTYPE=debug local emesonargs=( - # Mutter X11 renderer only supports gles2 and GLX, thus do NOT pass - # - # -Dopengl_libname=libOpenGL.so.0 - # - # while we build the x11 renderer, as we currently enable gles2 only - # with USE=wayland and x11 renderer wouldn't find the needed GLX symbols - # in a configuration where wayland is disabled, as libOpenGL doesn't - # include them. - # - # See - # - https://bugs.gentoo.org/835786 - # - https://forums.gentoo.org/viewtopic-p-8695669.html - - -Dopengl=true - $(meson_use wayland gles2) - #gles2_libname -Degl=true - $(meson_use X glx) - $(meson_use wayland) -Dfonts=true - ) - - if use wayland; then - emesonargs+=( - $(meson_use xwayland) - ) - else - emesonargs+=( - -Dxwayland=false - ) - fi - - if use elogind || use systemd; then - emesonargs+=( - -Dlogind=true - ) - fi - - emesonargs+=( - $(meson_use wayland native_backend) + -Dnative_backend=true + -Dopengl=true $(meson_use screencast remote_desktop) $(meson_use gnome libgnome_desktop) - $(meson_use udev) + -Dudev=true -Dudev_dir=$(get_udevdir) $(meson_use input_devices_wacom libwacom) -Dsound_player=true @@ -233,7 +187,7 @@ src_configure() { -Dtty_tests=false $(meson_use sysprof profiler) -Dinstalled_tests=false - $(meson_use X x11) + $(meson_use xwayland) $(meson_use bash-completion bash_completion) #verbose # Let upstream choose default for verbose mode @@ -243,7 +197,13 @@ src_configure() { #xwayland_grab_default_access_rules ) - if use wayland && use video_cards_nvidia; then + if use elogind || use systemd; then + emesonargs+=( + -Dlogind=true + ) + fi + + if use video_cards_nvidia; then emesonargs+=( -Degl_device=true -Dwayland_eglstream=true @@ -267,13 +227,13 @@ src_test() { } pkg_postinst() { - use udev && udev_reload + udev_reload xdg_pkg_postinst gnome2_schemas_update } pkg_postrm() { - use udev && udev_reload + udev_reload xdg_pkg_postrm gnome2_schemas_update } diff --git a/xfce-extra/xfce4-dict/xfce4-dict-0.8.10.ebuild b/xfce-extra/xfce4-dict/xfce4-dict-0.8.10.ebuild index 5ed4991eba1e..f2456c4986c1 100644 --- a/xfce-extra/xfce4-dict/xfce4-dict-0.8.10.ebuild +++ b/xfce-extra/xfce4-dict/xfce4-dict-0.8.10.ebuild @@ -14,7 +14,7 @@ SRC_URI="https://archive.xfce.org/src/apps/${PN}/${PV%.*}/${P}.tar.xz" LICENSE="GPL-2+" SLOT="0" -KEYWORDS="~amd64 arm ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="amd64 arm ~hppa ppc ppc64 ~riscv ~sparc x86" IUSE="llm" DEPEND=" |
