Files
takana/recipes/incoming-kde/gwenview.toml
T
SergioandClaude Opus 5 3c628deeb6 purpose: el último hueco de la frontera, y enganchado a las tres apps
purpose 6.27.0 — el marco de «compartir» de KDE. 23 plugins (código de barras, bluetooth,
portapapeles, correo, imgur…) más sharefileitemaction.so, que añade «Compartir» al menú de
Dolphin.

Era el último hueco. La receta de okular lo degradaba con el flag oficial
FORCE_NOT_REQUIRED_DEPENDENCIES y su cabecera decía «los que no tenemos sellados» — un ESTADO,
no una preferencia. Ahora sale de esa lista.

⚠ Y va ENGANCHADO, no sólo autorado: una receta que nadie alcanza no arregla nada. okular sale
de la lista de degradados; gwenview y spectacle lo declaran (ninguna lo mencionaba: construían
sin él y el CMake se lo saltaba en silencio). Coste medido antes de tocar: las tres son hojas
con 0 dependientes transitivos ⇒ 3 builds, sin cascada.

La prueba es el enlace, no la intención: las tres referencian libKF6Purpose (2 cada una).

Un tropiezo con su lección: el CMake abortó pidiendo tres MÓDULOS QML —org.kde.prison,
org.kde.kitemmodels, org.kde.kcmutils— que no salen de ningún find_package. Los pide con
ecm_find_qmlmodule, o sea que comprueba que el IMPORT exista, no que la librería esté enlazada.
Las tres recetas ya existían y publicaban su qmldir; sólo faltaba pedirlas. Un requisito que no
se ve leyendo los find_package.

KAccounts6 NO se pide: su find_package va sin REQUIRED y arrastraría toda la torre de
kaccounts/signond que esta distro no tiene.

Verificado: REPRODUCE bit a bit · tarball en el mirror · escritorio-kde 304/304 sellado, deuda 0.

FRONTERA: 0 HUECOS.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014QPJteswQvP1L7zSBrQQe2
2026-09-09 14:21:02 +00:00

59 lines
2.8 KiB
TOML

# gwenview 25.04.3 — el visor de imágenes de KDE. 7ma APP del escritorio.
# Patrón KF6 app (dynamic, wrapper zig, ECM). Deps nuevas: phonon (sonido slideshow, REQUIRED) + exiv2
# (metadatos EXIF, REQUIRED; localizado por el FindLibExiv2.cmake de ECM). Imagen: libjpeg-turbo-shared +
# libpng-shared (variantes .so/PIC; el .a canónico no enlaza en gwenviewlib.so) + lcms2 (color, REQUIRED).
# kImageAnnotator (anotación, ksnip) se degrada a OPTIONAL (el código guarda con KIMAGEANNOTATOR_FOUND).
name = "gwenview"
version = "25.04.3"
license = "GPL-2.0-or-later"
[source]
tarball = "https://download.kde.org/stable/release-service/25.04.3/src/gwenview-25.04.3.tar.xz"
sha256 = "59bf9fc4a4be87260781ccb5872212484b697caa53fa0ee7e128bdb08eaf5e87"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "dynamic"
flags = []
[build.phases]
configure = '''
rm -rf po doc
sed -i '/add_subdirectory(doc)/d' CMakeLists.txt
sed -i '/kdoctools_install/d' CMakeLists.txt
# kImageAnnotator-Qt6: REQUIRED → OPTIONAL (no lo tenemos; anotación deshabilitada).
sed -i '/kImageAnnotator-Qt6 PROPERTIES/ s/TYPE REQUIRED/TYPE OPTIONAL/' CMakeLists.txt
ZW="$PWD/.zwrap"; mkdir -p "$ZW"
cat > "$ZW/cc" <<'W'
#!/bin/sh
a=""; for x in "$@"; do [ "$x" = "-Wl,--fatal-warnings" ] && continue; a="$a $x"; done
exec /opt/zig/zig cc -mcpu=baseline $a
W
cat > "$ZW/cxx" <<'W'
#!/bin/sh
a=""; for x in "$@"; do [ "$x" = "-Wl,--fatal-warnings" ] && continue; a="$a $x"; done
exec /opt/zig/zig c++ -mcpu=baseline $a
W
chmod +x "$ZW/cc" "$ZW/cxx"
cmake -B build -G Ninja -Wno-dev \
-DCMAKE_C_COMPILER="$ZW/cc" -DCMAKE_CXX_COMPILER="$ZW/cxx" -DCMAKE_ASM_COMPILER="$ZW/cc" \
-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_PREFIX_PATH=/usr \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF -DBUILD_TESTING=OFF
'''
compile = "cmake --build build"
install = "DESTDIR=/out cmake --install build"
[deps]
build = ["purpose", "cmake", "samurai", "python3", "pkgconf", "qtbase", "qtsvg", "qtwayland", "dbus",
"extra-cmake-modules", "qttools", "gettext-tiny", "mesa", "libdrm", "libxkbcommon", "wayland",
"wayland-protocols", "plasma-wayland-protocols", "qtdeclarative",
"phonon", "exiv2", "libjpeg-turbo-shared", "libpng-shared", "zlib-shared", "lcms2",
"kio", "kitemmodels", "ki18n", "kparts", "kwindowsystem", "kiconthemes", "knotifications",
"kguiaddons", "kwidgetsaddons", "kcrash",
"kcoreaddons", "kservice", "kbookmarks", "kjobwidgets", "kcompletion", "kcodecs", "kcolorscheme",
"kconfig", "kconfigwidgets", "kxmlgui", "kitemviews", "solid", "sonnet", "karchive", "attica",
"kglobalaccel", "kauth", "icu4c", "ktextwidgets", "kirigami",
"libX11", "xorgproto", "libXau", "libXdmcp", "libXext", "libXrender", "libXfixes", "libXi",
"libxcb", "xcb-util", "xcb-util-keysyms", "xcb-util-wm", "xcb-util-image", "xcb-util-renderutil"]