#TODO: reduced libudev provider — exposes a real libudev.so / UDev::UDev surface for the current KWin path via scheme:udev and udev-shim; hotplug event delivery remains bounded [source] path = "source" [build] template = "custom" script = """ DYNAMIC_INIT mkdir -p "${COOKBOOK_STAGE}/usr/include" mkdir -p "${COOKBOOK_STAGE}/usr/lib/cmake/UDev" mkdir -p "${COOKBOOK_STAGE}/usr/lib/pkgconfig" cp "${COOKBOOK_SOURCE}/include/libudev.h" "${COOKBOOK_STAGE}/usr/include/libudev.h" x86_64-unknown-redox-gcc \ -shared \ -fPIC \ -std=c11 \ -Wall \ -Wextra \ -Wl,-soname,libudev.so \ -I"${COOKBOOK_SOURCE}/include" \ -o "${COOKBOOK_STAGE}/usr/lib/libudev.so" \ "${COOKBOOK_SOURCE}/libudev.c" cat > "${COOKBOOK_STAGE}/usr/lib/cmake/UDev/UDevConfig.cmake" << 'EOF' set(UDev_INCLUDE_DIRS "${CMAKE_CURRENT_LIST_DIR}/../../../include") set(UDev_LIBRARIES "${CMAKE_CURRENT_LIST_DIR}/../../../lib/libudev.so") set(UDev_VERSION "1.0.0") if(NOT TARGET UDev::UDev) add_library(UDev::UDev SHARED IMPORTED) set_target_properties(UDev::UDev PROPERTIES IMPORTED_LOCATION "${UDev_LIBRARIES}" INTERFACE_INCLUDE_DIRECTORIES "${UDev_INCLUDE_DIRS}" ) endif() set(UDev_FOUND TRUE) EOF cat > "${COOKBOOK_STAGE}/usr/lib/pkgconfig/libudev.pc" << 'EOF' prefix=/usr exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include Name: libudev Description: scheme-backed libudev provider for the reduced Red Bear path Version: 1.0.0 Libs: -L${libdir} -ludev Cflags: -I${includedir} EOF """