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>
			
			
This commit is contained in:
		
							parent
							
								
									7fabe9c845
								
							
						
					
					
						commit
						1d7ceabc09
					
				
					 1 changed files with 15 additions and 2 deletions
				
			
		|  | @ -16,6 +16,7 @@ | ||||||
| ;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de> | ;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de> | ||||||
| ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> | ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> | ||||||
| ;;; Copyright © 2020 Arthur Margerit <ruhtra.mar@gmail.com> | ;;; Copyright © 2020 Arthur Margerit <ruhtra.mar@gmail.com> | ||||||
|  | ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> | ||||||
| ;;; | ;;; | ||||||
| ;;; This file is part of GNU Guix. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -223,14 +224,19 @@ shared NFS home directories.") | ||||||
|              #t)) |              #t)) | ||||||
|          ;; Python references are not being patched in patch-phase of build, |          ;; Python references are not being patched in patch-phase of build, | ||||||
|          ;; despite using python-wrapper as input. So we patch them manually. |          ;; 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 |          (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" |              (substitute* '("gio/gdbus-2.0/codegen/gdbus-codegen.in" | ||||||
|                             "glib/gtester-report.in" |                             "glib/gtester-report.in" | ||||||
|                             "gobject/glib-genmarshal.in" |                             "gobject/glib-genmarshal.in" | ||||||
|                             "gobject/glib-mkenums.in") |                             "gobject/glib-mkenums.in") | ||||||
|                (("@PYTHON@") |                (("@PYTHON@") | ||||||
|                 (string-append (assoc-ref inputs "python") |                 (string-append (assoc-ref (or native-inputs inputs) "python") | ||||||
|                                "/bin/python" |                                "/bin/python" | ||||||
|                                ,(version-major+minor |                                ,(version-major+minor | ||||||
|                                  (package-version python))))) |                                  (package-version python))))) | ||||||
|  | @ -293,6 +299,13 @@ shared NFS home directories.") | ||||||
|        ("xsltproc" ,libxslt))) |        ("xsltproc" ,libxslt))) | ||||||
|     (inputs |     (inputs | ||||||
|      `(("bash-completion" ,bash-completion) |      `(("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) |        ("dbus" ,dbus) | ||||||
|        ("libelf" ,libelf))) |        ("libelf" ,libelf))) | ||||||
|     (propagated-inputs |     (propagated-inputs | ||||||
|  |  | ||||||
		Reference in a new issue