#!/bin/sh # Build script for apptest # A test application that uses libtest set -e echo "Building apptest..." # Create source file mkdir -p src cat > src/apptest.c << 'EOF' #include #include int main(void) { printf("apptest v1.0.0\n"); printf("Using libtest: %s\n", libtest_version()); printf("Message: %s\n", libtest_greet()); printf("\nDependency chain validated successfully!\n"); return 0; } EOF # Compile - link against libtest echo "Compiling apptest..." gcc ${CFLAGS} -I/usr/include -o apptest src/apptest.c -L/usr/lib -ltest # Install to DESTDIR echo "Installing to ${DESTDIR}..." mkdir -p "${DESTDIR}/usr/bin" install -m 755 apptest "${DESTDIR}/usr/bin/apptest" echo "Build complete!" # apptest - Simple Test Application # Depends on libtest - for testing dependency resolution [package] name = "apptest" version = "1.0.0" release = 1 description = "A test application that depends on libtest" url = "https://github.com/leafscale/zygaena" license = "BSD-2-Clause" maintainer = "Chris Tusa " arch = "x86_64" [dependencies] # This is the key test - apptest depends on libtest runtime = ["libtest"] build = ["libtest"] [sources] # No external sources - we create inline urls = [] checksums = [] [build] parallel = true jobs = 1 #!/bin/sh # Build script for hello package # This is a test package that creates a simple hello world program set -e echo "Building hello world test package..." # Create source directory mkdir -p src # Create simple hello.c cat > src/hello.c << 'EOF' #include int main(void) { printf("Hello from Coral package manager!\n"); printf("If you see this, the build system is working.\n"); return 0; } EOF # Compile echo "Compiling hello.c..." gcc ${CFLAGS} -o hello src/hello.c # Install to DESTDIR echo "Installing to ${DESTDIR}..." mkdir -p "${DESTDIR}/usr/bin" install -m 755 hello "${DESTDIR}/usr/bin/hello" # Create a simple man page mkdir -p "${DESTDIR}/usr/share/man/man1" cat > "${DESTDIR}/usr/share/man/man1/hello.1" << 'EOF' .TH HELLO 1 "2025" "Coral" "User Commands" .SH NAME hello \- a test program for coral package manager .SH SYNOPSIS .B hello .SH DESCRIPTION A simple hello world program used to test the Coral package build system. .SH AUTHOR Chris Tusa EOF echo "Build complete!" # Hello World Package - Test Port # This is a simple test package to verify coral build works [package] name = "hello" version = "1.0.1" release = 1 description = "A simple hello world program for testing coral" url = "https://github.com/leafscale/zygaena" license = "MIT" maintainer = "Chris Tusa " arch = "x86_64" [dependencies] runtime = [] build = [] [sources] # No external sources - we include the source directly urls = [] checksums = [] [build] parallel = true jobs = 1 #!/bin/sh # Build script for tree # A directory listing utility set -e echo "Building tree..." # Enter source directory (GitHub archives extract with different name) cd tree-2.1.1 # On illumos, use GNU make MAKE=gmake if [ "$(uname -s)" != "SunOS" ]; then MAKE=make fi # Build with appropriate flags for illumos case "$(uname -s)" in SunOS|illumos) # illumos needs specific flags $MAKE CC=gcc CFLAGS="${CFLAGS} -D_XOPEN_SOURCE=600" prefix=/usr ;; *) $MAKE CC=gcc CFLAGS="${CFLAGS}" prefix=/usr ;; esac # Install to DESTDIR echo "Installing to ${DESTDIR}..." mkdir -p "${DESTDIR}/usr/bin" mkdir -p "${DESTDIR}/usr/share/man/man1" install -m 755 tree "${DESTDIR}/usr/bin/tree" install -m 644 doc/tree.1 "${DESTDIR}/usr/share/man/man1/tree.1" echo "Build complete!" # Tree Package - Directory Listing Utility # A simple C program for testing coral with real source [package] name = "tree" version = "2.1.1" release = 1 description = "List directory contents in a tree-like format" url = "http://mama.indstate.edu/users/ice/tree/" license = "GPL-2.0" maintainer = "Chris Tusa " arch = "x86_64" [dependencies] runtime = [] build = [] [sources] # Real source from upstream (single-line format for TOML parser compatibility) urls = ["https://github.com/Old-Man-Programmer/tree/archive/refs/tags/2.1.1.tar.gz"] checksums = ["SKIP"] [build] parallel = true jobs = 1 #!/bin/sh # Build script for vim # Vi IMproved text editor set -e echo "Building vim..." cd vim-9.1.0000 # On illumos, use GNU make MAKE=gmake if [ "$(uname -s)" != "SunOS" ]; then MAKE=make fi # Configure with minimal features for testing # (Full vim would have more options) ./configure \ --prefix=/usr \ --with-features=normal \ --enable-multibyte \ --disable-gui \ --without-x \ --disable-netbeans \ --enable-cscope # Build $MAKE ${MAKEFLAGS} # Install to DESTDIR echo "Installing to ${DESTDIR}..." $MAKE DESTDIR="${DESTDIR}" install # Create vi symlink cd "${DESTDIR}/usr/bin" ln -sf vim vi 2>/dev/null || true echo "Build complete!" # Vim - Vi IMproved # The classic text editor [package] name = "vim" version = "9.1.0" release = 1 description = "Vi IMproved - enhanced vi text editor" url = "https://www.vim.org/" license = "Vim" maintainer = "Chris Tusa " arch = "x86_64" # vim provides the editor and vi alternatives alternatives = ["editor", "vi"] [dependencies] # Depends on ncurses for terminal handling runtime = ["ncurses"] build = ["ncurses"] [[source]] file = "vim-9.1.0.tar.gz" urls = [ "https://github.com/vim/vim/archive/refs/tags/v9.1.0000.tar.gz", "https://ftp.nluug.nl/pub/vim/unix/vim-9.1.tar.bz2" ] checksum = "SKIP" [build] parallel = true jobs = 0