[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 "…")))