gnu: gobject-introspection: Don't build introspection data when cross-compiling.
* gnu/packages/glib.scm (gobject-introspection)[arguments]<#:configure-flags>: Set gi_cross_use_prebuilt_gi to 'true'. (gobject-introspection)[arguments]<#:phases>{set-typelibs}: New phase, avoid undefined variable in "meson.build".
This commit is contained in:
parent
a1b3597ab8
commit
c185e5ad67
1 changed files with 19 additions and 1 deletions
|
@ -410,8 +410,26 @@ functions for strings and common data structures.")
|
||||||
"gobject-introspection-absolute-shlib-path.patch"))))
|
"gobject-introspection-absolute-shlib-path.patch"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
`(,@(if (%current-target-system)
|
||||||
|
`(#:configure-flags
|
||||||
|
'("-Dgi_cross_use_prebuilt_gi=true"
|
||||||
|
;; Building introspection data requires running binaries
|
||||||
|
;; for ‘host’ on ‘build’, so don't do that.
|
||||||
|
;;
|
||||||
|
;; TODO: it would be nice to have introspection data anyways
|
||||||
|
;; as discussed here: https://issues.guix.gnu.org/50201#60.
|
||||||
|
"-Dbuild_introspection_data=false"))
|
||||||
|
'())
|
||||||
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
|
,@(if (%current-target-system)
|
||||||
|
;; 'typelibs' is undefined.
|
||||||
|
`((add-after 'unpack 'set-typelibs
|
||||||
|
(lambda _
|
||||||
|
(substitute* "meson.build"
|
||||||
|
(("\\bsources: typelibs\\b")
|
||||||
|
"sources: []")))))
|
||||||
|
'())
|
||||||
(add-after 'unpack 'do-not-use-/usr/bin/env
|
(add-after 'unpack 'do-not-use-/usr/bin/env
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* "tools/g-ir-tool-template.in"
|
(substitute* "tools/g-ir-tool-template.in"
|
||||||
|
|
Reference in a new issue