Files
RedBear-OS/recipes/wip/libs/other/libxcursor/recipe.toml
T
vasilito 50b731f1b7 Red Bear OS — microkernel OS in Rust, based on Redox
Derivative of Redox OS (https://www.redox-os.org) adding:
- AMD GPU driver (amdgpu) via LinuxKPI compat layer
- ext4 filesystem support (ext4d scheme daemon)
- ACPI fixes for AMD bare metal (x2APIC, DMAR, IVRS, MCFG)
- Custom branding (hostname, os-release, boot identity)

Build system is full upstream Redox with RBOS overlay in local/.
Patches for kernel, base, and relibc are symlinked from local/patches/
and protected from make clean/distclean. Custom recipes live in
local/recipes/ with symlinks into the recipes/ search path.

Build:  make all CONFIG_NAME=redbear-full
Sync:   ./local/scripts/sync-upstream.sh
2026-04-12 19:05:00 +01:00

92 lines
2.6 KiB
TOML

#TODO verify current status
[source]
tar = "https://www.x.org/releases/individual/lib/libXcursor-1.2.1.tar.xz"
script = """
autotools_recursive_regenerate
"""
[build]
dependencies = [
"libx11",
"libxcb",
"libxfixes",
"libxrender",
"x11proto",
"x11proto-kb",
"libxrender",
"xcb-proto",
"libxau",
"libpthread-stubs",
]
template = "custom"
script = """
DYNAMIC_INIT
# Force libtool to build shared libraries for Redox
# Override libtool's platform detection
export lt_cv_deplibs_check_method=pass_all
export ac_cv_lib_dl_dlopen=yes
export enable_shared=yes
export enable_static=yes
#Configure with shared library support
"${COOKBOOK_CONFIGURE}" \
--host="${GNU_TARGET}" \
--prefix="/usr" \
--enable-shared \
--enable-static \
--with-pic \
ac_cv_search_sendmsg=no \
lt_cv_prog_compiler_pic="-fPIC" \
lt_cv_prog_compiler_pic_works=yes
# Build
"${COOKBOOK_MAKE}"
#After make, manually create the shared library if libtool didn't
if [ ! -f src/.libs/libXcursor.so ]; then
echo "Creating shared library manually..."
cd src/.libs
# Extract all object files from the static library
${GNU_TARGET}-ar x libXcursor.a
# Create the shared library from the object files
${GNU_TARGET}-gcc -shared -fPIC -o libXcursor.so.1.0.2 *.o \
-L${COOKBOOK_SYSROOT}/lib -L${COOKBOOK_SYSROOT}/usr/lib \
-lXfixes -lXrender -lX11 -lxcb -lXau
# Create symlinks
ln -sf libXcursor.so.1.0.2 libXcursor.so.1
ln -sf libXcursor.so.1 libXcursor.so
cd ../..
fi
"${COOKBOOK_MAKE}" install DESTDIR="${COOKBOOK_STAGE}"
# Also copy the shared libraries if they exist
if [ -f src/.libs/libXcursor.so.1.0.2 ]; then
mkdir -p "${COOKBOOK_STAGE}/usr/lib"
cp -P src/.libs/libXcursor.so* "${COOKBOOK_STAGE}/usr/lib/"
fi
"""
# script = """
# # this /usr/share/pkgconfig comes from x11proto, that stages pc files in wrong dir.
# export PKG_CONFIG_PATH="${COOKBOOK_SYSROOT}/lib/pkgconfig"
# #:${COOKBOOK_SYSROOT}/usr/lib/pkgconfig:${COOKBOOK_SYSROOT}/usr/share/pkgconfig"
# export PKG_CONFIG_LIBDIR="${COOKBOOK_SYSROOT}/lib/pkgconfig"
# #:${COOKBOOK_SYSROOT}/usr/lib/pkgconfig"
# export PKG_CONFIG_SYSROOT_DIR="${COOKBOOK_SYSROOT}"
# rsync -a "${COOKBOOK_SOURCE}/" ./
# # I'm tired trying figure out why multiple pkgconfig paths are ignored by cargo building stuff
# # rsync -a -v ${COOKBOOK_SYSROOT}/usr/share/pkgconfig/*.pc ${COOKBOOK_SYSROOT}/lib/pkgconfig/
# rsync -a -v ${COOKBOOK_SYSROOT}/usr/lib/pkgconfig/*.pc ${COOKBOOK_SYSROOT}/lib/pkgconfig/
# echo "listing ${COOKBOOK_SYSROOT}/lib/pkgconfig"
# ls -al ${COOKBOOK_SYSROOT}/lib/pkgconfig
# cookbook_configure
# """