Initial commit
All checks were successful
/ test (push) Successful in 9s

Safsaf is a Guile web framework, written using Claude Code running
Claude Opus 4.6, based off of the Guix Data Service, Nar Herder and
Guix Build Coordinator codebases.
This commit is contained in:
Christopher Baines 2026-04-13 14:24:19 +03:00
commit 5b0e6397dc
53 changed files with 7427 additions and 0 deletions

58
configure.ac Normal file
View file

@ -0,0 +1,58 @@
dnl Safsaf, a Guile web framework
dnl Copyright (C) 2026 Christopher Baines <mail@cbaines.net>
dnl
dnl This program is free software: you can redistribute it and/or
dnl modify it under the terms of the GNU Lesser General Public License
dnl as published by the Free Software Foundation, either version 3 of
dnl the License, or (at your option) any later version.
dnl
dnl This program is distributed in the hope that it will be useful, but
dnl WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
dnl Lesser General Public License for more details.
dnl
dnl You should have received a copy of the GNU Lesser General Public
dnl License along with this program. If not, see
dnl <https://www.gnu.org/licenses/>.
AC_INIT([safsaf], [m4_translit(m4_esyscmd([cat VERSION]),m4_newline)])
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([gnu color-tests -Wall -Wno-portability foreign])
GUILE_PKG([3.0])
GUILE_PROGS
if test "x$GUILD" = "x"; then
AC_MSG_ERROR(['guild' binary not found; please check your guile-3.x installation.])
fi
if test "$cross_compiling" != no; then
GUILE_TARGET="--target=$host_alias"
AC_SUBST([GUILE_TARGET])
fi
dnl Check for Guile Knots.
GUILE_MODULE_AVAILABLE([have_guile_knots], [(knots web-server)])
if test "x$have_guile_knots" != "xyes"; then
AC_MSG_ERROR([Guile Knots is missing; please install it.])
fi
dnl Check for Guile Webutils.
GUILE_MODULE_AVAILABLE([have_guile_webutils], [(webutils sessions)])
if test "x$have_guile_webutils" != "xyes"; then
AC_MSG_ERROR([Guile Webutils is missing; please install it.])
fi
dnl Check for Guile-lib.
GUILE_MODULE_AVAILABLE([have_guile_lib], [(logging logger)])
if test "x$have_guile_lib" != "xyes"; then
AC_MSG_ERROR([Guile-lib is missing; please install it.])
fi
dnl Check for Guile Documentá (optional, for API doc generation).
AC_PATH_PROG([DOCUMENTA], [documenta])
AM_CONDITIONAL([HAVE_DOCUMENTA], [test "x$DOCUMENTA" != "x"])
AC_CONFIG_FILES([Makefile doc/Makefile])
AC_CONFIG_FILES([pre-inst-env], [chmod +x pre-inst-env])
AC_OUTPUT