sergio/takana
> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…
licencias: 936 de 1141 (82%) — detección por evidencia, con sus dos imprecisiones declaradas
1# spectacle 6.7.2 — la herramienta de CAPTURA DE PANTALLA de Plasma. Campaña KDE (ADR 0011).
2# Captura en Wayland es notoriamente difícil: no hay X11 grab; va por los protocolos de KWin
3# (plasma-wayland-protocols + layer-shell-qt) y/o portales. **NO está en release-service** (migró): vive
4# en download.kde.org/stable/plasma/.
5#
6# Es la app más cara de la campaña en deps nuevas. Todo REQUIRED, casi nada degradable:
7# - **kpipewire** (→ pipewire → ffmpeg + libva): src/CMakeLists.txt:101 linkea `K::KPipeWireRecord`
8# INCONDICIONALMENTE. Degradar KPipeWire a TYPE OPTIONAL con sed NO alcanza (el link es duro).
9# - **opencv** (core+imgproc): find_package(OpenCV 4.7 REQUIRED), lo usa src/QtCV.h.
10# - **prison-scanner** (+zxing-cpp): corta con SEND_ERROR si falta KF6::PrisonScanner, y el prison
11# canónico va con WITH_ZXING=OFF/WITH_MULTIMEDIA=OFF.
12# - **tesseract** (+leptonica): pkg_check_modules(TESSERACT REQUIRED) en CMakeLists:111, sin option().
13# - **kquickimageeditor**: TYPE REQUIRED (recorte/anotación).
14# - **xcb-util-cursor**: sin él, "No suitable backend platform was found ... XCB-CURSOR".
15name = "spectacle"
16version = "6.7.2"
17license = "GPL-2.0-or-later"
18
19[source]
20tarball = "https://download.kde.org/stable/plasma/6.7.2/spectacle-6.7.2.tar.xz"
21sha256 = "24d2cd02296401538f0ac7736804b071b9e9f516a8ad58a4b821411bc15642a3"
22
23[build]
24compiler = "zig-cc"
25target = "x86_64-linux-musl"
26link = "dynamic"
27flags = []
28
29[build.phases]
30configure = '''
31rm -rf po doc
32sed -i '/add_subdirectory(doc)/d' CMakeLists.txt
33sed -i '/kdoctools_install/d' CMakeLists.txt
34sed -i '/set_package_properties(KF6DocTools/,/)/ s/TYPE REQUIRED/TYPE OPTIONAL/' CMakeLists.txt
35ZW="$PWD/.zwrap"; mkdir -p "$ZW"
36cat > "$ZW/cc" <<'W'
37#!/bin/sh
38a=""; for x in "$@"; do [ "$x" = "-Wl,--fatal-warnings" ] && continue; a="$a $x"; done
39exec /opt/zig/zig cc -mcpu=baseline $a
40W
41cat > "$ZW/cxx" <<'W'
42#!/bin/sh
43a=""; for x in "$@"; do [ "$x" = "-Wl,--fatal-warnings" ] && continue; a="$a $x"; done
44exec /opt/zig/zig c++ -mcpu=baseline $a
45W
46chmod +x "$ZW/cc" "$ZW/cxx"
47cmake -B build -G Ninja -Wno-dev \
48 -DCMAKE_C_COMPILER="$ZW/cc" -DCMAKE_CXX_COMPILER="$ZW/cxx" -DCMAKE_ASM_COMPILER="$ZW/cc" \
49 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_PREFIX_PATH=/usr \
50 -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF -DBUILD_TESTING=OFF
51'''
52compile = "cmake --build build"
53install = "DESTDIR=/out cmake --install build"
54
55[deps]
56build = ["cmake", "samurai", "python3", "pkgconf", "qtbase", "qtsvg", "dbus", "extra-cmake-modules",
57 "qttools", "gettext-tiny", "mesa", "libdrm", "libxkbcommon", "wayland", "qtdeclarative",
58 "wayland-protocols", "plasma-wayland-protocols", "qtwayland", "layer-shell-qt", "qtmultimedia",
59 "opencv", "prison-scanner", "zxing-cpp", "qt5compat",
60 "tesseract", "leptonica", "kquickimageeditor", "libpng-shared", "libjpeg-turbo-shared",
61 "kpipewire", "pipewire", "ffmpeg", "libva", "libepoxy", "kwayland",
62 "kcoreaddons", "kwidgetsaddons", "kdbusaddons", "knotifications", "kconfig", "ki18n", "kio",
63 "kwindowsystem", "kglobalaccel", "kxmlgui", "kguiaddons", "kirigami", "kirigami-addons",
64 "kstatusnotifieritem", "kcrash", "kpackage",
65 "kcolorscheme", "kcompletion", "kjobwidgets", "kservice", "kconfigwidgets", "kitemviews",
66 "kcodecs", "karchive", "kbookmarks", "sonnet", "attica", "icu4c", "kiconthemes", "solid",
67 "kauth", "kitemmodels",
68 "zlib-shared", "libX11", "xorgproto", "libXau", "libXdmcp", "libXext", "libXrender", "libXfixes",
69 "libXi", "libxcb", "xcb-util", "xcb-util-keysyms", "xcb-util-wm", "xcb-util-image",
70 "xcb-util-cursor",
71 "xcb-util-renderutil"]