guile-user
[Top][All Lists]
Advanced

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

Re: Newbie thoughts on Guile Hall + Guix


From: Olivier Dion
Subject: Re: Newbie thoughts on Guile Hall + Guix
Date: Sun, 06 Feb 2022 11:35:32 -0500

On Sat, 05 Feb 2022, Christine Lemmer-Webber <cwebber@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



reply via email to

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