[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