# libusb 1.0.30 — acceso a dispositivos USB desde espacio de usuario. Entra al corpus por una cadena # larga y poco obvia: mutter → colord → libgusb → libusb. Autotools, estático. # # --with-pic, y NO es cosmético: colord construye libcolord.so/libcolorhug.so aunque se le pase # -Ddefault_library=static (su meson pide shared_library explícito), y meter un .a sin PIC dentro de # un .so lo rechaza el linker — «relocation R_X86_64_TPOFF32 ... cannot be used with -shared» y # «recompile with -fPIC». Mismo remedio y misma razón que en recipes/libffi.toml, que lo aprendió # con Mesa/libwayland-server. PIC es superset: el .a sigue sirviendo para enlazar ejecutables. # (libgusb no lo necesita: meson compila los estáticos con b_staticpic=true por defecto.) # # --disable-udev: libusb puede enumerar y hacer hotplug por dos caminos, netlink+libudev o sysfs a # secas. El corpus tiene libudev-zero, pero su hotplug es justamente lo que ese proyecto NO # implementa completo; el camino sysfs no depende de nadie y alcanza de sobra para lo que llega hasta # acá (colord listando sensores de calibración que este perfil ni siquiera enciende). Menos aristas # en el cierre, y sin el riesgo del choque eudev/libudev-zero por el mismo .pc. name = "libusb" version = "1.0.30" license = "LGPL-2.1-or-later" [source] tarball = "https://github.com/libusb/libusb/releases/download/v1.0.30/libusb-1.0.30.tar.bz2" sha256 = "fea36f34f9156400209595e300840767ab1a385ede1dc7ee893015aea9c6dbaf" [build] compiler = "zig-cc" target = "x86_64-linux-musl" link = "static" [build.phases] configure = './configure --build=$CBUILD --host=$CHOST --prefix=/usr --disable-shared --enable-static --with-pic --disable-udev' compile = 'make' install = 'make DESTDIR=/out install' [deps] build = ["make"]