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:
Maxime Devos 2021-08-24 12:26:36 +02:00 committed by Mathieu Othacehe
parent a1b3597ab8
commit c185e5ad67
No known key found for this signature in database
GPG Key ID: 8354763531769CA6

View File

@ -410,8 +410,26 @@ functions for strings and common data structures.")
"gobject-introspection-absolute-shlib-path.patch"))))
(build-system meson-build-system)
(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
,@(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
(lambda _
(substitute* "tools/g-ir-tool-template.in"