help-guix
[Top][All Lists]
Advanced

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

Re: package definition: unbound variable ungexp


From: Julien Lepiller
Subject: Re: package definition: unbound variable ungexp
Date: Sun, 09 Jun 2019 10:51:10 +0200
User-agent: K-9 Mail for Android

Le 9 juin 2019 08:26:24 GMT+02:00, Reza Alizadeh Majd <address@hidden> a écrit :
>Hello Guix, 
>
>I want to create a plain file during package build and copy it to
>output. 
>but using following definition, I receive error on during package
>installation:
>
>--- CODE:
>-------------------------------------------------------------------------------------
>(add-after 'install 'register-plugin
>               (lambda* (#:key outputs #:allow-other-keys)
>                  (let* ((out     (assoc-ref outputs "out"))
>               (regpath (string-append out "/etc/px/accounts/plugins"))
>                             (plugin-data (string-append "plugin:\n"
>                                                 "   name: " ,name "\n"
>                                           "   version: " ,version "\n"
>                                                 "   type: python\n")))
>
>(install-file #$(plain-file "test-plugin.yaml" plugin-data) regpath))))
>--------------------------------------------------------------------------------------------------
>
>and error that I received during package build: 
>
>--- ERROR:
>------------------------------------------------------------------------------------
>starting phase `register-plugin'
>Backtrace:
>           8 (primitive-load "/gnu/store/fpj6577yfiiz40ci39bw8zzycsy…")
>In ice-9/eval.scm:
>   191:35  7 (_ #f)
>In srfi/srfi-1.scm:
>  863:16  6 (every1 #<procedure 531a20 at /gnu/store/4r04fsfcryy5h…> …)
>In
>/gnu/store/4r04fsfcryy5h4v2h3g6lzlibafmmdjm-module-import/guix/build/gnu-build-system.scm:
>   799:28  5 (_ _)
>In ice-9/eval.scm:
>    619:8  4 (_ #(#(#(#(#(#(#(#<directory (guile-…>) …) …) …) …) …) …))
>    159:9  3 (_ #(#(#(#(#(#(#(#<directory (guile-…>) …) …) …) …) …) …))
>   182:19  2 (proc #(#(#(#(#(#(#(#<directory (gui…>) …) …) …) …) …) …))
>   142:16  1 (compile-top-call _ (7 . ungexp) ((10 (13 15 7 . #) # …)))
>In unknown file:
>           0 (%resolve-variable (7 . ungexp) #<directory (guile-user…>)
>
>ERROR: In procedure %resolve-variable:
>Unbound variable: ungexp
>--------------------------------------------------------------------------------------------------
>
>does any one knows which package do I have to add in order to solve
>this issue? 
>
>
>Best, 
>Reza

Hi,

I think the issue is that the builder doesn't use (guix gexp). And you're not 
inside a gexp either, so you can't ungexp. I think what you can do is add an 
input with that code:

(inputs `(("test-plugin.yaml" ,(plain-file …))))

Then inside your build phase, simply install this input with:

(install-file (assoc-ref inputs "test-plugin.yaml") regpath)

Alternatively, you can write to the file directly in the phase:

(with-output-to-file (string-append regpath "/test-plugin.yaml")
  (lambda _
    (format #t "…")))



reply via email to

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