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: (
Subject: Re: Creating a package using two sources/origins
Date: Mon, 12 Dec 2022 22:43:04 +0000

Heya,

On Mon Dec 12, 2022 at 10:35 PM GMT, dabbede@gmail.com wrote:
> By looking into linux-libre package definition, I see no problem in
> downloading and patching the proper kernel source, however I don't
> understand how I am supposed to specify in the package definition that
> we need an additional source tree in the build process.
> What would you suggest? Using snippets or additional build-phases?
> Either way, I'm not skilled enough to download a compressed tar and
> unpack it in a reachable directory at the build stage. I'm only aware
> of the package's "origin" function to accomplish that. What is the
> best way to do the same in a snippet or phase?

What you need to do is combine ORIGIN with UNGEXP-NATIVE:

  #~(modify-phases %standard-phases
      (add-after 'unpack 'unpack-extra-sources
        (lambda _
          (copy-recursively #+(origin ...)
                            "extra-source-directory"))))

When the build script implementing the phases is... built, this lambda will look
like this:

  (lambda _
    (copy-recursively "/gnu/store/...-extra-sources"
                      "extra-source-directory"))

Roughly, the UNGEXP-NATIVE compiles the origin directory for the host
architecture, then substitutes itself for a string containing the output path of
the compiled store item.

    -- (

Attachment: signature.asc
Description: PGP signature


reply via email to

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