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