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 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 | ||||
|  |  | |||
		Reference in a new issue