f863872591
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
54 lines
1.5 KiB
TOML
54 lines
1.5 KiB
TOML
#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
|
|
"""
|