From 47dda376c0583aef2cf5c4ddd2a2223f357e4a98 Mon Sep 17 00:00:00 2001 Message-Id: <47dda376c0583aef2cf5c4ddd2a2223f357e4a98.1657713910.git.me@jeandudey.tech> From: Jean-Pierre De Jesus DIAZ Date: Wed, 13 Jul 2022 14:02:30 +0200 Subject: [PATCH] gnu: newt: Fix cross-compilation. * gnu/packages/slang.scm (newt): Fix-cross compilation. [arguments]: Use G-Expressions for `#:configure-flags', `#:make-flags' and `#:phases', also set correct path for `python-config'. --- gnu/packages/slang.scm | 50 ++++++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/gnu/packages/slang.scm b/gnu/packages/slang.scm index c8de04667f..ab13c874d2 100644 --- a/gnu/packages/slang.scm +++ b/gnu/packages/slang.scm @@ -24,6 +24,7 @@ (define-module (gnu packages slang) #:use-module (guix download) #:use-module (guix utils) #:use-module (guix build-system gnu) + #:use-module (guix gexp) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages readline) #:use-module (gnu packages ncurses) @@ -103,34 +104,41 @@ (define-public newt (inputs (list slang popt python fribidi)) (arguments - `(#:tests? #f ; no test suite + (list + #:tests? #f ; no test suite #:configure-flags ;; Set the correct RUNPATH in binaries. - (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")) + #~(list (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib")) #:make-flags ;; configure uses a hard-coded search of /usr/include/python* to set ;; this variable, and does not allow us to override it from the ;; command line. Fortunately, the Makefile does, so provide it here. - (list (string-append "PYTHONVERS=python" - ,(version-major+minor (package-version python)))) + #~(list + (string-append "PYTHONVERS=python" + #$(version-major+minor (package-version python)))) #:phases - (modify-phases %standard-phases - (add-after - 'unpack 'patch-/usr/bin/install - (lambda _ - (substitute* "po/Makefile" - (("/usr/bin/install") "install")) - #t)) - (add-after - 'install 'move-python - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (py (assoc-ref outputs "python")) - (ver ,(version-major+minor (package-version python)))) - (mkdir-p (string-append py "/lib")) - (rename-file (string-append out "/lib/python" ver) - (string-append py "/lib/python" ver)) - #t)))))) + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-/usr/bin/install + (lambda _ + (substitute* "po/Makefile" + (("/usr/bin/install") "install")))) + (add-before 'build 'add-python-config-to-path + (lambda* (#:key target #:allow-other-keys) + ;; When cross-compiling python-config is not present in $PATH. + ;; + ;; It is a shell script without dependencies on target binaries + ;; so it can be run on the host to allow cross-compilation. + (when target + (let ((path (getenv "PATH")) + (py (string-append #$python "/bin"))) + (setenv "PATH" (string-append path ":" py)))))) + (add-after 'install 'move-python + (lambda* _ + (let ((ver #$(version-major+minor (package-version python)))) + (mkdir-p (string-append #$output:python "/lib")) + (rename-file + (string-append #$output "/lib/python" ver) + (string-append #$output:python "/lib/python" ver)))))))) (home-page "https://pagure.io/newt") (synopsis "Not Erik's Windowing Toolkit - text mode windowing with slang") (description -- 2.36.1