On Sat, 05 Feb 2022, Christine Lemmer-Webber <cweb...@dustycloud.org> wrote: > Anyway, just some thoughts. Making Guile packages is already much less > intimidating now thanks to Hall's work. Thank you for it!
Here's my two cents. As much as I like hall for pure Guile project, it's difficult to integrate extension libraries written in C. I've also never been a fan of the autotools stuffs. I personnally end up writting something similar to hall for a project of mine using Guix records. From a description like so: -------------------------------------------------------------------------------- (project (name "foo") (version "1") (configuration-file "config.scm") (export-configuration '(("include/config.h" . "FOO_CONFIG_H") ("foo/config.scm" . "foo config"))) (build-directory "./build") (cppflags `(-Include ,(pkg-cflags-only-I '(guile-3.0)))) (guile-root "foo") (guile-tests-root "tests") (scripts (list (script (name "foo") (file "scripts/foo") (install? #t)) (script (name "debug") (file "scripts/debug") (install? #f)))) (c-modules (list (c-module (name "foo") (files '("core/*.c")) (packages '(guile-3.0))) (c-module (name "bar") (files '("bar/bar.c")) (ldflags '(-lsomelib)) (packages '(some-other-lib))))) -------------------------------------------------------------------------------- this description end up generating a `guix.scm`, `makefile`, `pre-install-env`, `foo/config.scm` and `include/config.h`. Packaging is just a matter of shipping the `makefile` with the source codes. -- Olivier Dion Polymtl