mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-04-06 21:20:33 +02:00
packages: Implement `package-cross-derivation'.
* guix/packages.scm (package-transitive-target-inputs,
package-transitive-native-inputs): New procedures.
(package-derivation): Parametrize `%current-target-system'.
(package-cross-derivation): Implement.
* guix/utils.scm (%current-target-system): New variable.
* tests/packages.scm ("package-cross-derivation"): New test.
* doc/guix.texi (Defining Packages): Document
`package-cross-derivation'.
This commit is contained in:
@@ -919,6 +919,23 @@ must be a connection to the daemon, which operates on the store
|
||||
(@pxref{The Store}).
|
||||
@end deffn
|
||||
|
||||
@noindent
|
||||
@cindex cross-compilation
|
||||
Similarly, it is possible to compute a derivation that cross-builds a
|
||||
package for some other system:
|
||||
|
||||
@deffn {Scheme Procedure} package-cross-derivation @var{store} @
|
||||
@var{package} @var{target} [@var{system}]
|
||||
Return the derivation path and corresponding @code{<derivation>} object
|
||||
of @var{package} cross-built from @var{system} to @var{target}.
|
||||
|
||||
@var{target} must be a valid GNU triplet denoting the target hardware
|
||||
and operating system, such as @code{"mips64el-linux-gnu"}
|
||||
(@pxref{Configuration Names, GNU configuration triplets,, configure, GNU
|
||||
Configure and Build System}).
|
||||
@end deffn
|
||||
|
||||
|
||||
@node The Store
|
||||
@section The Store
|
||||
|
||||
|
||||
Reference in New Issue
Block a user