tawasuyu

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…

⎇ main recipes/incoming-kde/opencv.toml TOML · 61 siq'ikuna · 2.9 KB Ñawpa willay ch'uya

licencias: 936 de 1141 (82%) — detección por evidencia, con sus dos imprecisiones declaradas a6a9d59e4 · sergio ·

1# opencv 4.10.0 — visión por computadora. Campaña KDE (ADR 0011): spectacle (la herramienta de CAPTURA DE
2# PANTALLA) lo exige — `find_package(OpenCV 4.7 REQUIRED core imgproc)` (lo usa en src/QtCV.h para el
3# detector de rectángulos/ventanas de la captura).
4#
5# OpenCV es enorme (~95MB de fuente, decenas de módulos). Se recorta a los DOS módulos que spectacle pide
6# (core + imgproc) con BUILD_LIST, y se apaga todo lo demás: sin apps/tests/perf-tests/docs/examples, sin
7# Python/Java, sin protobuf/DNN, sin GUI (highgui/gtk/qt), sin video/ffmpeg/gstreamer, sin IPP/TBB/CUDA.
8# BUILD_LIST=core,imgproc hace que CMake ni configure los demás módulos.
9#
10# WITH_* de codecs OFF: OpenCV traería sus terceros (libjpeg/png/tiff/webp/openjpeg propios). imgproc no
11# los necesita (los codecs viven en imgcodecs, que no construimos).
12name    = "opencv"
13version = "4.10.0"
14license = "Apache-2.0"
15
16[source]
17tarball = "https://github.com/opencv/opencv/archive/refs/tags/4.10.0.tar.gz"
18sha256  = "b2171af5be6b26f7a06b1229948bbb2bdaa74fcf5cd097e0af6378fce50a6eb9"
19
20[build]
21compiler = "zig-cc"
22target   = "x86_64-linux-musl"
23link     = "dynamic"
24flags    = []
25
26[build.phases]
27configure = '''
28# Wrapper zig PASS-THROUGH con "$@": el wrapper clásico de esta cola arma la lista en $a SIN comillas y
29# SPLITEA los args con espacios. OpenCV pasa -DOPENCV_ALLOCATOR_STATS_COUNTER_TYPE="long long" ⇒ el
30# clásico lo parte y zig ve "long" como fichero ("error: long: unrecognized file extension"). Acá no hace
31# falta el filtro de -Wl,--fatal-warnings (OpenCV no es ECM/KDE), así que se pasa todo tal cual.
32ZW="$PWD/.zwrap"; mkdir -p "$ZW"
33cat > "$ZW/cc"  <<'W'
34#!/bin/sh
35exec /opt/zig/zig cc -mcpu=baseline "$@"
36W
37cat > "$ZW/cxx" <<'W'
38#!/bin/sh
39exec /opt/zig/zig c++ -mcpu=baseline "$@"
40W
41chmod +x "$ZW/cc" "$ZW/cxx"
42cmake -B build -G Ninja -Wno-dev \
43  -DCMAKE_C_COMPILER="$ZW/cc" -DCMAKE_CXX_COMPILER="$ZW/cxx" \
44  -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_PREFIX_PATH=/usr \
45  -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF -DBUILD_SHARED_LIBS=ON \
46  -DBUILD_LIST=core,imgproc \
47  -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_DOCS=OFF \
48  -DBUILD_opencv_apps=OFF -DBUILD_opencv_python2=OFF -DBUILD_opencv_python3=OFF \
49  -DBUILD_JAVA=OFF -DBUILD_PROTOBUF=OFF -DWITH_PROTOBUF=OFF \
50  -DWITH_GTK=OFF -DWITH_QT=OFF -DWITH_OPENGL=OFF -DWITH_VTK=OFF \
51  -DWITH_FFMPEG=OFF -DWITH_GSTREAMER=OFF -DWITH_V4L=OFF -DWITH_1394=OFF \
52  -DWITH_JPEG=OFF -DWITH_PNG=OFF -DWITH_TIFF=OFF -DWITH_WEBP=OFF -DWITH_OPENJPEG=OFF -DWITH_JASPER=OFF \
53  -DWITH_OPENEXR=OFF -DWITH_IPP=OFF -DWITH_TBB=OFF -DWITH_CUDA=OFF -DWITH_OPENCL=OFF \
54  -DWITH_ITT=OFF -DWITH_ADE=OFF -DWITH_EIGEN=OFF -DWITH_LAPACK=OFF -DWITH_QUIRC=OFF \
55  -DOPENCV_GENERATE_PKGCONFIG=ON
56'''
57compile = "cmake --build build"
58install = "DESTDIR=/out cmake --install build"
59
60[deps]
61build = ["cmake", "samurai", "python3", "pkgconf", "zlib-shared"]