Files
RedBear-OS/local/recipes/libs/libudev-stub/recipe.toml
T

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
"""