diff options
author | Vivien Kraus <vivien@planete-kraus.eu> | 2021-11-18 15:17:52 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2021-11-22 23:50:55 +0100 |
commit | 021d3a32f5a2544e1111f8bbec20b75c40ad007d (patch) | |
tree | 0092cbc7deae612c13b1853bb799200bf2670acc | |
parent | a24b83d7fff51ebd75ce6e694cde8d8435ba2ccf (diff) |
gnu: meson: Extend the python path in the installed program.
* gnu/packages/build-tools.scm (meson-wrapped): New variable.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r-- | gnu/packages/build-tools.scm | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 849101c2a4..6a8a9c6f66 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -287,6 +287,7 @@ files and generates build instructions for the Ninja build system.") (inputs `(("ninja" ,ninja))) (propagated-inputs `(("python" ,python))) (home-page "https://mesonbuild.com/") + (properties '((hidden? . #t))) (synopsis "Build system designed to be fast and user-friendly") (description "The Meson build system is focused on user-friendliness and speed. @@ -297,6 +298,29 @@ files}, are written in a custom domain-specific language (@dfn{DSL}) that resembles Python.") (license license:asl2.0))) +(define-public meson-wrapped + (package/inherit meson + (arguments + `(;; FIXME: Tests require many additional inputs and patching many + ;; hard-coded file system locations in "run_unittests.py". + #:tests? #f + #:phases (modify-phases %standard-phases + ;; Meson calls the various executables in out/bin through the + ;; Python interpreter, so we cannot use the shell wrapper. + (replace 'wrap + (lambda* (#:key outputs inputs #:allow-other-keys) + (let ((python-version + (python-version (assoc-ref inputs "python"))) + (output (assoc-ref outputs "out"))) + (substitute* (string-append output "/bin/meson") + (("# EASY-INSTALL-ENTRY-SCRIPT") + (format #f "\ +import sys +sys.path.insert(0, '~a/lib/python~a/site-packages') +# EASY-INSTALL-ENTRY-SCRIPT" + output python-version))))))))) + (properties '()))) + ;;; This older Meson variant is kept for now for gtkmm and others that may ;;; have problems with 0.60. (define-public meson-0.59 |