me
/
guix
Archived
1
0
Fork 0

glib: Use a correct python in scripts when cross-compiling.

During the build, a native python should be used as these
scripts will be invoked during the build, but when installed,
they should be a python for the system we're compiling for.

* gnu/packages/glib.scm
  (glib)[arguments]<#:phases>{patch-python-references}: Look up
  "python" in 'native-inputs', not 'inputs'.
  (glib)[inputs]{python,python-wrapper,bash-minimal}: New inputs.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
master
Maxime Devos 2021-07-14 13:13:03 +02:00 committed by Mathieu Othacehe
parent 7fabe9c845
commit 1d7ceabc09
No known key found for this signature in database
GPG Key ID: 8354763531769CA6
1 changed files with 15 additions and 2 deletions

View File

@ -16,6 +16,7 @@
;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Arthur Margerit <ruhtra.mar@gmail.com>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;;
;;; This file is part of GNU Guix.
;;;
@ -223,14 +224,19 @@ shared NFS home directories.")
#t))
;; Python references are not being patched in patch-phase of build,
;; despite using python-wrapper as input. So we patch them manually.
;;
;; These python scripts are both used during build and installed,
;; so at first, use a python from 'native-inputs', not 'inputs'. When
;; cross-compiling, the 'patch-shebangs' phase will replace
;; the native python with a python from 'inputs'.
(add-after 'unpack 'patch-python-references
(lambda* (#:key inputs #:allow-other-keys)
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(substitute* '("gio/gdbus-2.0/codegen/gdbus-codegen.in"
"glib/gtester-report.in"
"gobject/glib-genmarshal.in"
"gobject/glib-mkenums.in")
(("@PYTHON@")
(string-append (assoc-ref inputs "python")
(string-append (assoc-ref (or native-inputs inputs) "python")
"/bin/python"
,(version-major+minor
(package-version python)))))
@ -293,6 +299,13 @@ shared NFS home directories.")
("xsltproc" ,libxslt)))
(inputs
`(("bash-completion" ,bash-completion)
;; "python", "python-wrapper" and "bash-minimal"
;; are for the 'patch-shebangs' phase, to make
;; sure the installed scripts end up with a correct shebang
;; when cross-compiling.
("python" ,python)
("python-wrapper" ,python-wrapper)
("bash-minimal" ,bash-minimal)
("dbus" ,dbus)
("libelf" ,libelf)))
(propagated-inputs