[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Guix can't build my dummy package definition
From: |
Jérémy Korwin-Zmijowski |
Subject: |
Re: Guix can't build my dummy package definition |
Date: |
Sun, 01 Mar 2020 16:49:19 +0100 |
User-agent: |
K-9 Mail for Android |
Of course !!!
I did know about it, I just forget it... Damn brain!
Thank you for your quick answers ! So cool.
I appreciate the three options you gave Julien. Helpful!
I can realize now how much my lack of curioisity cost. Haha awesome feedback
for me.
Thank you again.
Jérémy
Le 1 mars 2020 15:50:28 GMT+01:00, Julien Lepiller <address@hidden> a écrit :
>Le 1 mars 2020 07:58:27 GMT-05:00, "Jérémy Korwin-Zmijowski"
><address@hidden> a écrit :
>>Hey Guixters !
>>
>>I am experimenting one way to learn how to use Guix for packaging.
>>
>>I've a package dummy definition in /tmp/def.scm:
>>
>>(use-modules
>> (guix packages)
>> (guix build-system emacs)
>> (guix licenses)
>> (guix git-download))
>>
>>(define-public ac-geiser
>> (package
>> (name "")
>> (version "")
>> (source
>> (origin
>> (uri
>> (git-reference (url "")
>> (commit "")))
>> (method git-fetch)
>> (sha256 (base32 ""))))
>> (build-system emacs-build-system)
>> (synopsis "")
>> (description "")
>> (license bsd-3)
>> (home-page "")))
>>
>>Then when I do :
>>
>>./pre-inst-env guix build -f /tmp/def.scm
>>
>>I get :
>>
>>guix build: error: #<unspecified>: not something we can build
>>
>>What is Guix trying to tell yo me ? I have no clue...
>>
>>Does anybody have one ?
>>
>>Cheers
>
>I knew it was going to happen :)
>
>That message is indeed not very helpful. Internally, guix evaluates the
>file and uses its return value (the value the last expression evaluates
>to). Here, your last expression is a define-public which does not
>return any value (in other languages, it's called unit or void, in
>guile it's #<unspecified>). The solution is to make sure your last
>expression evaluates to a package object. Three solutions:
>
>1. Add a new line on which you put the name of the variable you define,
>so it evaluates to its content, the package object.
>
>2. Do not wrap the package definition in a define-public, but use
>package directly, so that it evaluates to a package expression
>directly.
>
>3. Define your file as a module, and use -L to add it to load path.
>Then guix will be able to necognise all your packages in that file by
>their name, instead of only the last one (ex: guix build -L .
>ac-geiser), although your package has no name yet, so it can't be found
>by guix that way currently.
--
Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma
brièveté.