unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* Common Lisp cli package example
@ 2022-12-22  8:56 Kefir .
  2022-12-24 19:57 ` Russell Sim
  0 siblings, 1 reply; 3+ messages in thread
From: Kefir . @ 2022-12-22  8:56 UTC (permalink / raw)
  To: help-guix

Hi guix! Is there an example of common lisp command line utility packaged using guix?

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Common Lisp cli package example
  2022-12-22  8:56 Common Lisp cli package example Kefir .
@ 2022-12-24 19:57 ` Russell Sim
  2022-12-25  4:14   ` Kefir .
  0 siblings, 1 reply; 3+ messages in thread
From: Russell Sim @ 2022-12-24 19:57 UTC (permalink / raw)
  To: Kefir ., help-guix

Hey, 

"Kefir ." <manualbot@icloud.com> writes:

> Hi guix! Is there an example of common lisp command line utility
> packaged using guix?

I am only new to Guix, the most straight forward I found was to use the
`build-program' phase.

I followed StumpWM as an example[1].

--8<---------------cut here---------------start------------->8---
      (arguments
       (list
        #:phases
        #~(modify-phases %standard-phases
            (add-after 'create-asdf-configuration 'build-program
              (lambda* (#:key outputs #:allow-other-keys)
                (build-program
                 (string-append (assoc-ref outputs "out") "/bin/stumpwm")
                 outputs
                 #:entry-program '((stumpwm:stumpwm) 0)))))))
--8<---------------cut here---------------end--------------->8---

This works to my understanding by inserting a `bulid-program' step after
the other build phases.  It generates a separate asd file and evaluating
it with the `program-op' build operation is ASDF.  There is no easy way
I could see to use an existing `asdf:make' presumably this is because
redirecting the output file is not possible.

The `build-program' method is declared in guix/build/lisp-utils.scm[2]
it also takes a `compress?' keyword argument if you need it, the rest of
the flags are pretty much automated.

1. https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/wm.scm#n1908
2. https://git.savannah.gnu.org/cgit/guix.git/tree/guix/build/lisp-utils.scm#n225

Cheers,
Russell


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Common Lisp cli package example
  2022-12-24 19:57 ` Russell Sim
@ 2022-12-25  4:14   ` Kefir .
  0 siblings, 0 replies; 3+ messages in thread
From: Kefir . @ 2022-12-25  4:14 UTC (permalink / raw)
  To: Russell Sim; +Cc: help-guix

Oh, this looks cool, thank you for the explanation :)

> On Dec 24, 2022, at 10:57 PM, Russell Sim <rsl@simopolis.xyz> wrote:
> 
> Hey, 
> 
> "Kefir ." <manualbot@icloud.com> writes:
> 
>> Hi guix! Is there an example of common lisp command line utility
>> packaged using guix?
> 
> I am only new to Guix, the most straight forward I found was to use the
> `build-program' phase.
> 
> I followed StumpWM as an example[1].
> 
> --8<---------------cut here---------------start------------->8---
>      (arguments
>       (list
>        #:phases
>        #~(modify-phases %standard-phases
>            (add-after 'create-asdf-configuration 'build-program
>              (lambda* (#:key outputs #:allow-other-keys)
>                (build-program
>                 (string-append (assoc-ref outputs "out") "/bin/stumpwm")
>                 outputs
>                 #:entry-program '((stumpwm:stumpwm) 0)))))))
> --8<---------------cut here---------------end--------------->8---
> 
> This works to my understanding by inserting a `bulid-program' step after
> the other build phases.  It generates a separate asd file and evaluating
> it with the `program-op' build operation is ASDF.  There is no easy way
> I could see to use an existing `asdf:make' presumably this is because
> redirecting the output file is not possible.
> 
> The `build-program' method is declared in guix/build/lisp-utils.scm[2]
> it also takes a `compress?' keyword argument if you need it, the rest of
> the flags are pretty much automated.
> 
> 1. https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/wm.scm#n1908
> 2. https://git.savannah.gnu.org/cgit/guix.git/tree/guix/build/lisp-utils.scm#n225
> 
> Cheers,
> Russell


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-12-25  4:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-22  8:56 Common Lisp cli package example Kefir .
2022-12-24 19:57 ` Russell Sim
2022-12-25  4:14   ` Kefir .

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).