#!/bin/sh # Build script for libtest # A simple test library for validating coral dependency resolution set -e echo "Building libtest..." # Create source files mkdir -p src cat > src/libtest.h << 'EOF' #ifndef LIBTEST_H #define LIBTEST_H /* Return a greeting message */ const char* libtest_greet(void); /* Return the library version */ const char* libtest_version(void); #endif /* LIBTEST_H */ EOF cat > src/libtest.c << 'EOF' #include "libtest.h" const char* libtest_greet(void) { return "Hello from libtest!"; } const char* libtest_version(void) { return "1.0.0"; } EOF # Compile shared library echo "Compiling libtest..." gcc ${CFLAGS} -fPIC -c src/libtest.c -o libtest.o gcc -shared -o libtest.so.1.0.0 libtest.o # Create version symlinks ln -sf libtest.so.1.0.0 libtest.so.1 ln -sf libtest.so.1 libtest.so # Install to DESTDIR echo "Installing to ${DESTDIR}..." mkdir -p "${DESTDIR}/usr/lib" mkdir -p "${DESTDIR}/usr/include" # Save current directory (build dir) BUILD_DIR=$(pwd) install -m 755 libtest.so.1.0.0 "${DESTDIR}/usr/lib/" cd "${DESTDIR}/usr/lib" ln -sf libtest.so.1.0.0 libtest.so.1 ln -sf libtest.so.1 libtest.so # Install header from saved build directory install -m 644 "${BUILD_DIR}/src/libtest.h" "${DESTDIR}/usr/include/" echo "Build complete!" # libtest - Simple Test Library # For testing dependency resolution [package] name = "libtest" version = "1.0.1" release = 1 description = "A simple test library for validating coral dependencies" url = "https://github.com/leafscale/zygaena" license = "BSD-2-Clause" maintainer = "Chris Tusa " arch = "x86_64" # Provides the testlib alternative alternatives = ["testlib"] [dependencies] runtime = [] build = [] [sources] # No external sources - we create inline urls = [] checksums = [] [build] parallel = true jobs = 1 #!/bin/sh # Build script for ncurses # Terminal UI library set -e echo "Building ncurses..." cd ncurses-6.4 # On illumos, use GNU make MAKE=gmake if [ "$(uname -s)" != "SunOS" ]; then MAKE=make fi # Configure with common options ./configure \ --prefix=/usr \ --with-shared \ --with-cxx-shared \ --without-debug \ --without-normal \ --enable-widec \ --enable-pc-files \ --with-pkg-config-libdir=/usr/lib/pkgconfig # Build $MAKE ${MAKEFLAGS} # Install to DESTDIR echo "Installing to ${DESTDIR}..." $MAKE DESTDIR="${DESTDIR}" install # Create compatibility symlinks for non-wide-char programs # Many programs expect -lncurses, but we built -lncursesw cd "${DESTDIR}/usr/lib" for lib in ncurses form panel menu; do ln -sf lib${lib}w.so lib${lib}.so 2>/dev/null || true ln -sf ${lib}w.pc /usr/lib/pkgconfig/${lib}.pc 2>/dev/null || true done # Also provide curses.h symlink cd "${DESTDIR}/usr/include" ln -sf ncursesw/curses.h curses.h 2>/dev/null || true ln -sf ncursesw/ncurses.h ncurses.h 2>/dev/null || true echo "Build complete!" # ncurses - Terminal UI Library # Foundation library for terminal applications [package] name = "ncurses" version = "6.4" release = 1 description = "Terminal UI library for Unix-like systems" url = "https://invisible-island.net/ncurses/" license = "MIT" maintainer = "Chris Tusa " arch = "x86_64" # ncurses provides the curses alternative alternatives = ["curses"] [dependencies] runtime = [] build = [] [sources] urls = [ "https://ftp.gnu.org/gnu/ncurses/ncurses-6.4.tar.gz" ] checksums = [ "SKIP" ] [build] parallel = true jobs = 0