Files
RedBear-OS/local/recipes/libs/libdisplay-info-stub/recipe.toml
T
2026-04-14 10:51:06 +01:00

46 lines
1.3 KiB
TOML

#TODO: libdisplay-info stub — provides libdisplay-info pkgconfig for KWin linking
[source]
path = "source"
[build]
template = "custom"
script = """
DYNAMIC_INIT
mkdir -p "${COOKBOOK_STAGE}/usr/include/libdisplay-info"
mkdir -p "${COOKBOOK_STAGE}/usr/lib/pkgconfig"
cat > "${COOKBOOK_STAGE}/usr/include/libdisplay-info/info.h" << 'EOF'
#pragma once
#include <stddef.h>
struct di_info;
struct di_info *di_info_create(const void *data, size_t size) __attribute__((weak));
void di_info_destroy(struct di_info *info) __attribute__((weak));
const char *di_info_get_display_name(const struct di_info *info) __attribute__((weak));
EOF
cat > stub_di.c << 'CEOF'
#include <stddef.h>
struct di_info;
struct di_info *di_info_create(const void *d, size_t s) { (void)d; (void)s; return 0; }
void di_info_destroy(struct di_info *i) { (void)i; }
const char *di_info_get_display_name(const struct di_info *i) { (void)i; return 0; }
CEOF
x86_64-unknown-redox-gcc -shared -fPIC -o "${COOKBOOK_STAGE}/usr/lib/libdisplay-info.so" stub_di.c
cat > "${COOKBOOK_STAGE}/usr/lib/pkgconfig/libdisplay-info.pc" << 'EOF'
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: libdisplay-info
Description: libdisplay-info stub for Redox
Version: 0.2.0
Libs: -L${libdir} -ldisplay-info
Cflags: -I${includedir}/libdisplay-info
EOF
"""