help-guix
[Top][All Lists]
Advanced

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

Re: Creating a package using two sources/origins


From: address@hidden
Subject: Re: Creating a package using two sources/origins
Date: Tue, 13 Dec 2022 21:56:13 +0100

Hi (, thanks a lot.

Nope, that's not quite correct. Your ARGUMENTS should look like this:
>
>   (arguments
>    (list #:phases
>          #~(modify-phases %standard-phases
>              (add-after 'unpack 'unpack-extra-sources
>                (lambda _
>                  (copy-recursively #+xenomai-origin
>                                    "extra-source-directory"))))))
>
> You can think of ARGUMENTS as a bunch of keyword arguments to pass to the
> procedure that runs the build.
>

With this modification it almost works ;-)
The tar.bz2 file is downloaded in the store as file, and then copied in the
build directory with the name  "extra-source-directory" (but it is not a
directory)

You've seen a ``.drv'' path being printed out by the CLI, right?  They
> contain
> instructions to build a store item.  Packages are /lowered/ into
> DERIVATIONs,
> but so are ORIGINs, LOCAL-FILEs, COMPUTED-FILEs, and any other kind of
> "file-like object" or "lowerable object", such as the object you create
> with
> FILE-APPEND.  The thing they all have it common is that they all have a
> lowering
> procedure defined using DEFINE-GEXP-COMPILER; you can see a few examples
> of that
> in ``guix/gexp.scm'' and ``guix/packages.scm''.  So, you can use UNGEXP and
> UNGEXP-NATIVE on anything that has been DEFINE-GEXP-COMPILERed, and its
> derivation will be built and its store path substituted.
>
>     -- (
>

Now it's a little bit more clear, but for sure I have to practice more
before fully understand the type of "things" I'm using in the code.

Regards


reply via email to

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