⬑
Chicken Scheme
Eggs File
svn-client
;;; svn-client.meta -*- scheme -*-
((author "Alejandro Forero Cuervo")
(maintainer "Peter Bex")
(synopsis "A wrapper around Subversion's libsvn_client C library.")
(category misc)
(test-dependencies test)
(license "Public Domain")
(components (extension svn-client
(custom-build "build-svn-client")
(source-dependencies "svn-client-base.c"))))
Cross Platform Example
;;; opengl.egg
((synopsis "OpenGL bindings")
(category graphics)
(license "BSD")
(dependencies bind silex)
(author "felix winkelmann")
(components
(extension glu
(cond-expand
(windows
(link-options "-lopengl32" "-lglu32"))
(macosx
(csc-options "-FOpenGL")
(link-options "-framework OpenGL"
"-framework Foundation"))
(openbsd
(csc-options "-I/usr/X11R6/include" "-I/usr/local/include")
(link-options "-L/usr/X11R6/lib" "-L/usr/X11R6/lib"
"-LX11" "-L/usr/local/lib" "-L" "-lGLU"))
(else
(link-options "-LX11" "-L" "-lGLU"))))
(extension gl
(cond-expand
(windows
(link-options "-lopengl32"))
(macosx
(csc-options "-FOpenGL")
(link-options "-framework OpenGL"
"-framework Foundation"))
(openbsd
(csc-options "-I/usr/X11R6/include" "-I/usr/local/include")
(link-options "-L/usr/X11R6/lib" "-L/usr/X11R6/lib"
"-LX11" "-L/usr/local/lib" "-L" "-lGL"))
(else
(link-options "-LX11" "-L" "-lGL"))))))
openssl
((synopsis "Bindings to the OpenSSL SSL/TLS library")
(author "Thomas Chust")
(maintainer "Vasilij Schneidermann")
(license "BSD")
(category net)
(dependencies srfi-1 srfi-13 srfi-18 address-info)
(test-dependencies http-client server-test spiffy test uri-common)
(foreign-dependencies "openssl-1.1.0")
(component-options (csc-options "-O3" "-d1"))
(components (extension openssl (custom-build "build-openssl")
(component-dependencies openssl.socket))
(extension openssl.cipher (custom-build "build-openssl"))
(extension openssl.digest (custom-build "build-openssl"))
(extension openssl.random (custom-build "build-openssl"))
(extension openssl.socket (custom-build "build-openssl"))
(extension openssl.version (custom-build "build-openssl"))))
Using Include
((license "Public Domain")
(category parsing)
(author "Oleg Kiselyov. Ported to chicken by Shawn Wagner.")
(synopsis "input-stream tokenizing and parsing routines.")
(dependencies srfi-13)
(components (extension input-parse
(source "input-parse-chicken.scm")
(source-dependencies "input-parse.scm"
"myenv-chicken.scm")
(csc-options "-O3" "-d0"))))
Build Script
CFLAGS="`apr-1-config --includes` -D_LARGEFILE64_SOURCE "
CFLAGS="$CFLAGS -I/usr/include/subversion-1 "
CFLAGS="$CFLAGS -I/usr/local/include/subversion-1"
LDFLAGS="`apr-1-config --libs --link-ld`"
# Link order taken from subversion's python bindings
"$CHICKEN_CSC" -C "$CFLAGS" -L "$LDFLAGS" \
-L -lsvn_subr-1 -L -lsvn_diff-1 -L -lsvn_delta-1 \
-L -lsvn_fs-1 -L -lsvn_repos-1 -L -lsvn_wc-1 \
-L -lsvn_ra-1 -L -lsvn_client-1 "$@"