[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Newbie thoughts on Guile Hall + Guix

From: Maxime Devos
Subject: Re: Newbie thoughts on Guile Hall + Guix
Date: Sun, 06 Feb 2022 17:55:17 +0100
User-agent: Evolution 3.38.3-1

Olivier Dion via General Guile related discussions schreef op zo 06-02-
2022 om 11:35 [-0500]:
> 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.

This seems like a practical build system to me.  Is it available online
somewhere?  I'd like to investigate it a bit for some common problems
in ad-hoc Makefiles (in particular w.r.t. cross-compilation, tracking
dependency information, choosing installation prefixes...) and
determine if I could extend it for my usecases.

Is it restricted to Makefiles, or can it also be used without
generating Makefiles?  If not, things like progress bars should be easy
to implement and file names containing spaces or ‘special characters’
can be used without any problems.


Attachment: signature.asc
Description: This is a digitally signed message part

reply via email to

[Prev in Thread] Current Thread [Next in Thread]