help-guix
[Top][All Lists]
Advanced

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

Re: Custom 'install phase


From: Raghav Gururajan
Subject: Re: Custom 'install phase
Date: Mon, 8 Mar 2021 03:16:20 -0500

Hi Julien!

I think you need to remove the apply, but keep one level of parenthesis, like so:

((assoc-ref …) args …)

Apply takes the last arguments, which must be a list and appends all its elements to the invocation. Like (apply foo '(1 2 3 4)) is tge same as (foo 1 2 3 4). Here you're probably confused because of the assoc-ref is not a procodure, but it's fine: it returns a procedure, so guile can execute it and pass arguments to it the normal way.

So I tried the following:

```
           (replace 'install
             (lambda _
               (for-each (lambda (solution)
                           (with-directory-excursion solution
                                ((assoc-ref copy:%standard-phases 'install)
                                       #:install-plan
'(("src" (string-append "include/" solution)
                                          #:include-regexp ("\\.h$"))))))
                         (list
                          "qtlockedfile"
                          "qtpropertybrowser"
                          "qtservice"
                          "qtsingleapplication"
                          "qtsoap"))
               #t))
```

I get "In procedure string-append: Wrong type (expecting string): #f", with and without replacing `(string-append "include/" solution)` with `"include"`.

Regards,
RG.

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


reply via email to

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