* [bug#30761] [PATCH staging 2/9] gnu: meson-for-build: Update to 0.44.0.
2018-03-09 18:11 ` [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson executable Marius Bakke
@ 2018-03-09 18:11 ` Marius Bakke
2018-03-11 22:18 ` Ludovic Courtès
2018-03-09 18:11 ` [bug#30761] [PATCH staging 3/9] gnu: meson: Update to 0.45.0 Marius Bakke
` (8 subsequent siblings)
9 siblings, 1 reply; 31+ messages in thread
From: Marius Bakke @ 2018-03-09 18:11 UTC (permalink / raw)
To: 30761
* gnu/packages/build-tools.scm (meson-for-build)[version]: Remove field.
[source]: Inherit from MESON.
---
gnu/packages/build-tools.scm | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 1ebccca43..729e88008 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -103,15 +103,8 @@ resembles Python.")
(package
(inherit meson)
(name "meson-for-build")
- (version "0.42.1")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/mesonbuild/meson/"
- "archive/" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1494hdnd40g2v6pky34j0f2iwc6kwn51vck37qwz7nl2xr17b18q"))
+ (inherit (package-source meson))
(patches (search-patches "meson-for-build-rpath.patch"))))
;; People should probably install "meson", not "meson-for-build".
--
2.16.2
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [bug#30761] [PATCH staging 3/9] gnu: meson: Update to 0.45.0.
2018-03-09 18:11 ` [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson executable Marius Bakke
2018-03-09 18:11 ` [bug#30761] [PATCH staging 2/9] gnu: meson-for-build: Update to 0.44.0 Marius Bakke
@ 2018-03-09 18:11 ` Marius Bakke
2018-03-11 22:18 ` Ludovic Courtès
2018-03-09 18:11 ` [bug#30761] [PATCH staging 4/9] build-system/meson: Add the output directory to RUNPATH Marius Bakke
` (7 subsequent siblings)
9 siblings, 1 reply; 31+ messages in thread
From: Marius Bakke @ 2018-03-09 18:11 UTC (permalink / raw)
To: 30761
* gnu/packages/build-tools.scm (meson): Update to 0.45.0.
[arguments]: Explicitly disable tests (they were skipped before).
---
gnu/packages/build-tools.scm | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 729e88008..055fdd615 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -71,7 +71,7 @@ makes a few sacrifices to acquire fast full and incremental build times.")
(define-public meson
(package
(name "meson")
- (version "0.44.0")
+ (version "0.45.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mesonbuild/meson/"
@@ -79,10 +79,14 @@ makes a few sacrifices to acquire fast full and incremental build times.")
version ".tar.gz"))
(sha256
(base32
- "06r8limj38mv884s5riiz6lpzw37cvhbf9jd0smzcbi7fwmv3yah"))))
+ "1r3wlimllakrswx2rb4mbdk1iricqk6myvdvib6dkyx362yanm9l"))))
(build-system python-build-system)
(arguments
- `(#:phases (modify-phases %standard-phases
+ `(;; FIXME: Tests require many additional inputs, a fix for the RUNPATH
+ ;; patch in meson-for-build, and patching many hard-coded file system
+ ;; locations in "run_unittests.py".
+ #:tests? #f
+ #:phases (modify-phases %standard-phases
;; Meson runs itself through the Python interpreter, so
;; we cannot use the shell wrapper.
(delete 'wrap))))
--
2.16.2
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [bug#30761] [PATCH staging 4/9] build-system/meson: Add the output directory to RUNPATH.
2018-03-09 18:11 ` [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson executable Marius Bakke
2018-03-09 18:11 ` [bug#30761] [PATCH staging 2/9] gnu: meson-for-build: Update to 0.44.0 Marius Bakke
2018-03-09 18:11 ` [bug#30761] [PATCH staging 3/9] gnu: meson: Update to 0.45.0 Marius Bakke
@ 2018-03-09 18:11 ` Marius Bakke
2018-03-11 22:23 ` Ludovic Courtès
2018-03-09 18:11 ` [bug#30761] [PATCH staging 5/9] build-system/meson: Skip the 'fix-runpath' phase on armhf Marius Bakke
` (6 subsequent siblings)
9 siblings, 1 reply; 31+ messages in thread
From: Marius Bakke @ 2018-03-09 18:11 UTC (permalink / raw)
To: 30761
* guix/build/meson-build-system.scm (configure): Set LDFLAGS before invoking meson.
---
guix/build/meson-build-system.scm | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/guix/build/meson-build-system.scm b/guix/build/meson-build-system.scm
index 2b92240c5..e8cb5440e 100644
--- a/guix/build/meson-build-system.scm
+++ b/guix/build/meson-build-system.scm
@@ -46,6 +46,15 @@
,(string-append "--buildtype=" build-type)
,@configure-flags
,source-dir)))
+
+ ;; Meson lacks good facilities for dealing with RUNPATH, so we
+ ;; add the output "lib" directory here to avoid doing that in
+ ;; many users. Related issues:
+ ;; * <https://github.com/mesonbuild/meson/issues/314>
+ ;; * <https://github.com/mesonbuild/meson/issues/3038>
+ ;; * <https://github.com/NixOS/nixpkgs/issues/31222>
+ (setenv "LDFLAGS" (string-append "-Wl,-rpath=" out "/lib"))
+
(mkdir build-dir)
(chdir build-dir)
(zero? (apply system* "meson" args))))
--
2.16.2
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [bug#30761] [PATCH staging 4/9] build-system/meson: Add the output directory to RUNPATH.
2018-03-09 18:11 ` [bug#30761] [PATCH staging 4/9] build-system/meson: Add the output directory to RUNPATH Marius Bakke
@ 2018-03-11 22:23 ` Ludovic Courtès
2018-03-12 13:04 ` Marius Bakke
0 siblings, 1 reply; 31+ messages in thread
From: Ludovic Courtès @ 2018-03-11 22:23 UTC (permalink / raw)
To: Marius Bakke; +Cc: 30761
Marius Bakke <mbakke@fastmail.com> skribis:
> * guix/build/meson-build-system.scm (configure): Set LDFLAGS before invoking meson.
[...]
> guix/build/meson-build-system.scm | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/guix/build/meson-build-system.scm b/guix/build/meson-build-system.scm
> index 2b92240c5..e8cb5440e 100644
> --- a/guix/build/meson-build-system.scm
> +++ b/guix/build/meson-build-system.scm
> @@ -46,6 +46,15 @@
> ,(string-append "--buildtype=" build-type)
> ,@configure-flags
> ,source-dir)))
> +
> + ;; Meson lacks good facilities for dealing with RUNPATH, so we
> + ;; add the output "lib" directory here to avoid doing that in
> + ;; many users. Related issues:
> + ;; * <https://github.com/mesonbuild/meson/issues/314>
> + ;; * <https://github.com/mesonbuild/meson/issues/3038>
> + ;; * <https://github.com/NixOS/nixpkgs/issues/31222>
Terrible…
> + (setenv "LDFLAGS" (string-append "-Wl,-rpath=" out "/lib"))
Can we pass them as an argument to ‘meson’ somehow instead of defining a
global variable?
(For example Autoconf-generated configure scripts can read variable
definitions passed as arguments:
./configure LDFLAGS=foo
That way we don’t have to define the variable globally, which could have
unintended effects.)
If not, that’s fine.
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 31+ messages in thread
* [bug#30761] [PATCH staging 5/9] build-system/meson: Skip the 'fix-runpath' phase on armhf.
2018-03-09 18:11 ` [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson executable Marius Bakke
` (2 preceding siblings ...)
2018-03-09 18:11 ` [bug#30761] [PATCH staging 4/9] build-system/meson: Add the output directory to RUNPATH Marius Bakke
@ 2018-03-09 18:11 ` Marius Bakke
2018-03-11 22:24 ` Ludovic Courtès
2018-03-09 18:11 ` [bug#30761] [PATCH staging 6/9] gnu: libinput: Update to 1.10.2 Marius Bakke
` (5 subsequent siblings)
9 siblings, 1 reply; 31+ messages in thread
From: Marius Bakke @ 2018-03-09 18:11 UTC (permalink / raw)
To: 30761
* guix/build-system/meson.scm (lower): Remove DEFAULT-PATCHELF from inputs
on armhf.
(meson-build): Ignore the 'fix-runpath' phase when building for arm systems.
---
guix/build-system/meson.scm | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/guix/build-system/meson.scm b/guix/build-system/meson.scm
index d7754e460..f780a3c8b 100644
--- a/guix/build-system/meson.scm
+++ b/guix/build-system/meson.scm
@@ -81,7 +81,14 @@
(build-inputs `(("meson" ,meson)
("ninja" ,ninja)
;; Add patchelf for (guix build rpath) to work.
- ("patchelf" ,(default-patchelf))
+ ;; XXX PatchELF fails to build on armhf, so we skip
+ ;; the 'fix-runpath' phase there for now. The
+ ;; consequence is that some packages may have superfluous
+ ;; RUNPATH entries and thus runtime dependencies.
+ ,@(if (not (string-prefix? "arm" (or (%current-target-system)
+ (%current-system))))
+ `(("patchelf" ,(default-patchelf)))
+ '())
,@native-inputs))
(host-inputs `(,@(if source
`(("source" ,source))
@@ -139,7 +146,11 @@ has a 'meson.build' file."
#:inputs %build-inputs
#:search-paths ',(map search-path-specification->sexp
search-paths)
- #:phases build-phases
+ #:phases
+ (if (string-prefix? "arm" ,(or (%current-target-system)
+ (%current-system)))
+ (modify-phases build-phases (delete 'fix-runpath))
+ build-phases)
#:configure-flags ,configure-flags
#:build-type ,build-type
#:tests? ,tests?
--
2.16.2
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [bug#30761] [PATCH staging 6/9] gnu: libinput: Update to 1.10.2.
2018-03-09 18:11 ` [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson executable Marius Bakke
` (3 preceding siblings ...)
2018-03-09 18:11 ` [bug#30761] [PATCH staging 5/9] build-system/meson: Skip the 'fix-runpath' phase on armhf Marius Bakke
@ 2018-03-09 18:11 ` Marius Bakke
2018-03-11 22:25 ` Ludovic Courtès
2018-03-09 18:11 ` [bug#30761] [PATCH staging 7/9] gnu: libinput: Correct inputs Marius Bakke
` (4 subsequent siblings)
9 siblings, 1 reply; 31+ messages in thread
From: Marius Bakke @ 2018-03-09 18:11 UTC (permalink / raw)
To: 30761
* gnu/packages/freedesktop.scm (libinput): Update to 1.10.2.
[build-system]: Change to MESON-BUILD-SYSTEM.
[arguments]: Add #:configure-flags to not build documentation.
[native-inputs]: Add CHECK and VALGRIND.
(libinput-minimal)[native-inputs]: Inherit from LIBINPUT.
[arguments]: Inherit from LIBINPUT. Adjust to build system change.
---
gnu/packages/freedesktop.scm | 32 ++++++++++++++++++++++----------
1 file changed, 22 insertions(+), 10 deletions(-)
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 3c83e668b..15e658da7 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -8,7 +8,7 @@
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -30,10 +30,12 @@
(define-module (gnu packages freedesktop)
#:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (gnu packages acl)
@@ -68,11 +70,13 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
#:use-module (gnu packages python)
+ #:use-module (gnu packages valgrind)
#:use-module (gnu packages w3m)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages xdisorg)
- #:use-module (gnu packages xorg))
+ #:use-module (gnu packages xorg)
+ #:use-module (srfi srfi-1))
(define-public xdg-utils
(package
@@ -142,19 +146,23 @@ freedesktop.org project.")
(define-public libinput
(package
(name "libinput")
- (version "1.7.3")
+ (version "1.10.2")
(source (origin
(method url-fetch)
(uri (string-append "https://freedesktop.org/software/libinput/"
name "-" version ".tar.xz"))
(sha256
(base32
- "07fbzxddvhjcch43hdxb24sj7ri96zzpcjalvsicmw0i4wnn2v89"))))
- (build-system gnu-build-system)
+ "1fbv354ii1g4wc4k7d7gbnalqjpzmk9zlpi8linqrzlf6inpc28m"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:configure-flags '("-Ddocumentation=false")))
(native-inputs
- `(("cairo" ,cairo)
+ `(("check" ,check)
+ ("cairo" ,cairo)
("gtk+" ,gtk+)
- ("pkg-config" ,pkg-config)))
+ ("pkg-config" ,pkg-config)
+ ("valgrind" ,valgrind)))
(propagated-inputs
`(("libudev" ,eudev))) ; required by libinput.pc
(inputs
@@ -173,13 +181,17 @@ other applications that need to directly deal with input devices.")
(package (inherit libinput)
(name "libinput-minimal")
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (fold alist-delete (package-native-inputs libinput)
+ '("gtk+" "cairo")))
(inputs
`(("libevdev" ,libevdev)
("mtdev" ,mtdev)))
(arguments
- `(#:configure-flags
- '("--disable-libwacom")))))
+ (substitute-keyword-arguments (package-arguments libinput)
+ ((#:configure-flags flags ''())
+ `(cons* "-Dlibwacom=false"
+ "-Ddebug-gui=false" ;requires gtk+@3
+ ,flags))))))
(define-public libxdg-basedir
(package
--
2.16.2
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [bug#30761] [PATCH staging 7/9] gnu: libinput: Correct inputs.
2018-03-09 18:11 ` [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson executable Marius Bakke
` (4 preceding siblings ...)
2018-03-09 18:11 ` [bug#30761] [PATCH staging 6/9] gnu: libinput: Update to 1.10.2 Marius Bakke
@ 2018-03-09 18:11 ` Marius Bakke
2018-03-11 22:25 ` Ludovic Courtès
2018-03-09 18:11 ` [bug#30761] [PATCH staging 8/9] gnu: libwacom: Update to 0.29 Marius Bakke
` (3 subsequent siblings)
9 siblings, 1 reply; 31+ messages in thread
From: Marius Bakke @ 2018-03-09 18:11 UTC (permalink / raw)
To: 30761
* gnu/packages/freedesktop.scm (libinput)[native-inputs]: Move CAIRO and GTK+ ...
[inputs]: ... here. Move LIBEVDEV, LIBWACOM and MTDEV ...
[propagated-inputs]: ... here.
(libinput-minimal): Adjust accordingly.
---
gnu/packages/freedesktop.scm | 24 +++++++++++-------------
1 file changed, 11 insertions(+), 13 deletions(-)
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 15e658da7..a323778ca 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -159,17 +159,18 @@ freedesktop.org project.")
`(#:configure-flags '("-Ddocumentation=false")))
(native-inputs
`(("check" ,check)
- ("cairo" ,cairo)
- ("gtk+" ,gtk+)
("pkg-config" ,pkg-config)
("valgrind" ,valgrind)))
(propagated-inputs
- `(("libudev" ,eudev))) ; required by libinput.pc
- (inputs
- `(("glib" ,glib)
+ `(;; In Requires.private of libinput.pc.
("libevdev" ,libevdev)
- ("mtdev" ,mtdev)
- ("libwacom" ,libwacom)))
+ ("libudev" ,eudev)
+ ("libwacom" ,libwacom)
+ ("mtdev" ,mtdev)))
+ (inputs
+ `(("cairo" ,cairo)
+ ("glib" ,glib)
+ ("gtk+" ,gtk+)))
(home-page "https://www.freedesktop.org/wiki/Software/libinput/")
(synopsis "Input devices handling library")
(description
@@ -180,12 +181,9 @@ other applications that need to directly deal with input devices.")
(define-public libinput-minimal
(package (inherit libinput)
(name "libinput-minimal")
- (native-inputs
- (fold alist-delete (package-native-inputs libinput)
- '("gtk+" "cairo")))
- (inputs
- `(("libevdev" ,libevdev)
- ("mtdev" ,mtdev)))
+ (inputs '())
+ (propagated-inputs
+ (alist-delete "libwacom" (package-propagated-inputs libinput)))
(arguments
(substitute-keyword-arguments (package-arguments libinput)
((#:configure-flags flags ''())
--
2.16.2
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [bug#30761] [PATCH staging 8/9] gnu: libwacom: Update to 0.29.
2018-03-09 18:11 ` [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson executable Marius Bakke
` (5 preceding siblings ...)
2018-03-09 18:11 ` [bug#30761] [PATCH staging 7/9] gnu: libinput: Correct inputs Marius Bakke
@ 2018-03-09 18:11 ` Marius Bakke
2018-03-11 22:26 ` Ludovic Courtès
2018-03-09 18:11 ` [bug#30761] [PATCH staging 9/9] gnu: xf86-input-wacom: Update to 0.36.0 Marius Bakke
` (2 subsequent siblings)
9 siblings, 1 reply; 31+ messages in thread
From: Marius Bakke @ 2018-03-09 18:11 UTC (permalink / raw)
To: 30761
* gnu/packages/xdisorg.scm (libwacom): Update to 0.29.
---
gnu/packages/xdisorg.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 444c3ea39..443d618aa 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -885,14 +885,14 @@ Escape key when Left Control is pressed and released on its own.")
(define-public libwacom
(package
(name "libwacom")
- (version "0.26")
+ (version "0.29")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/linuxwacom/libwacom/"
name "-" version ".tar.bz2"))
(sha256
(base32
- "0xpvkjvzaj9blcmw8ha46616bzfivj99kwzvr91clxd6iaf11r63"))))
+ "1diklgcjhmvcxi9p1ifp6wcnyr6k7z9jhrlzfhzjqd6zipk01slw"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
--
2.16.2
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [bug#30761] [PATCH staging 9/9] gnu: xf86-input-wacom: Update to 0.36.0.
2018-03-09 18:11 ` [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson executable Marius Bakke
` (6 preceding siblings ...)
2018-03-09 18:11 ` [bug#30761] [PATCH staging 8/9] gnu: libwacom: Update to 0.29 Marius Bakke
@ 2018-03-09 18:11 ` Marius Bakke
2018-03-11 22:26 ` Ludovic Courtès
2018-03-09 18:16 ` [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson executable Marius Bakke
2018-03-11 22:17 ` Ludovic Courtès
9 siblings, 1 reply; 31+ messages in thread
From: Marius Bakke @ 2018-03-09 18:11 UTC (permalink / raw)
To: 30761
* gnu/packages/xdisorg.scm (xf86-input-wacom): Update to 0.36.0.
---
gnu/packages/xdisorg.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 443d618aa..d5dc0f10f 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -917,7 +917,7 @@ Wacom tablet applet.")
(define-public xf86-input-wacom
(package
(name "xf86-input-wacom")
- (version "0.35.0")
+ (version "0.36.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -925,7 +925,7 @@ Wacom tablet applet.")
name "-" version ".tar.bz2"))
(sha256
(base32
- "0za44snc0zirq65a4lxsmg7blp1bynj6j835hm459x8yx1qhmxjm"))))
+ "1xi39hl8ddgj9m7m2k2ll2r3wh0k0aq45fvrsv43651bhz9cbrza"))))
(arguments
`(#:configure-flags
(list (string-append "--with-sdkdir="
--
2.16.2
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson executable.
2018-03-09 18:11 ` [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson executable Marius Bakke
` (7 preceding siblings ...)
2018-03-09 18:11 ` [bug#30761] [PATCH staging 9/9] gnu: xf86-input-wacom: Update to 0.36.0 Marius Bakke
@ 2018-03-09 18:16 ` Marius Bakke
2018-03-11 22:17 ` Ludovic Courtès
9 siblings, 0 replies; 31+ messages in thread
From: Marius Bakke @ 2018-03-09 18:16 UTC (permalink / raw)
To: 30761
[-- Attachment #1: Type: text/plain, Size: 1080 bytes --]
Marius Bakke <mbakke@fastmail.com> writes:
> * gnu/packages/build-tools.scm (meson)[arguments]: Delete WRAP-PHASE.
> ---
> gnu/packages/build-tools.scm | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
> index 2abb44fdb..1ebccca43 100644
> --- a/gnu/packages/build-tools.scm
> +++ b/gnu/packages/build-tools.scm
> @@ -81,6 +81,11 @@ makes a few sacrifices to acquire fast full and incremental build times.")
> (base32
> "06r8limj38mv884s5riiz6lpzw37cvhbf9jd0smzcbi7fwmv3yah"))))
> (build-system python-build-system)
> + (arguments
> + `(#:phases (modify-phases %standard-phases
> + ;; Meson runs itself through the Python interpreter, so
> + ;; we cannot use the shell wrapper.
> + (delete 'wrap))))
It may be better to do this in 'meson-for-build' only, so that things
like "meson --help" works out of the box for the "normal" meson.
This is likely the reason 'meson-for-build' got "stuck" on version 0.42.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 31+ messages in thread
* [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson executable.
2018-03-09 18:11 ` [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson executable Marius Bakke
` (8 preceding siblings ...)
2018-03-09 18:16 ` [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson executable Marius Bakke
@ 2018-03-11 22:17 ` Ludovic Courtès
2018-03-12 12:47 ` Marius Bakke
9 siblings, 1 reply; 31+ messages in thread
From: Ludovic Courtès @ 2018-03-11 22:17 UTC (permalink / raw)
To: Marius Bakke; +Cc: 30761
Hello!
Marius Bakke <mbakke@fastmail.com> skribis:
> * gnu/packages/build-tools.scm (meson)[arguments]: Delete WRAP-PHASE.
> ---
> gnu/packages/build-tools.scm | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
> index 2abb44fdb..1ebccca43 100644
> --- a/gnu/packages/build-tools.scm
> +++ b/gnu/packages/build-tools.scm
> @@ -81,6 +81,11 @@ makes a few sacrifices to acquire fast full and incremental build times.")
> (base32
> "06r8limj38mv884s5riiz6lpzw37cvhbf9jd0smzcbi7fwmv3yah"))))
> (build-system python-build-system)
> + (arguments
> + `(#:phases (modify-phases %standard-phases
> + ;; Meson runs itself through the Python interpreter, so
> + ;; we cannot use the shell wrapper.
> + (delete 'wrap))))
I’m not sure what this means. The ‘wrap’ phase is precisely for things
with #!/…/python, right?
What problem does it solve?
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 31+ messages in thread
* [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson executable.
2018-03-11 22:17 ` Ludovic Courtès
@ 2018-03-12 12:47 ` Marius Bakke
2018-03-12 13:08 ` Marius Bakke
2018-03-12 14:00 ` Ludovic Courtès
0 siblings, 2 replies; 31+ messages in thread
From: Marius Bakke @ 2018-03-12 12:47 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 30761
[-- Attachment #1: Type: text/plain, Size: 1635 bytes --]
Ludovic Courtès <ludo@gnu.org> writes:
> Hello!
>
> Marius Bakke <mbakke@fastmail.com> skribis:
>
>> * gnu/packages/build-tools.scm (meson)[arguments]: Delete WRAP-PHASE.
>> ---
>> gnu/packages/build-tools.scm | 5 +++++
>> 1 file changed, 5 insertions(+)
>>
>> diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
>> index 2abb44fdb..1ebccca43 100644
>> --- a/gnu/packages/build-tools.scm
>> +++ b/gnu/packages/build-tools.scm
>> @@ -81,6 +81,11 @@ makes a few sacrifices to acquire fast full and incremental build times.")
>> (base32
>> "06r8limj38mv884s5riiz6lpzw37cvhbf9jd0smzcbi7fwmv3yah"))))
>> (build-system python-build-system)
>> + (arguments
>> + `(#:phases (modify-phases %standard-phases
>> + ;; Meson runs itself through the Python interpreter, so
>> + ;; we cannot use the shell wrapper.
>> + (delete 'wrap))))
>
> I’m not sure what this means. The ‘wrap’ phase is precisely for things
> with #!/…/python, right?
>
> What problem does it solve?
The problem is that at some point after 0.42 (the current
meson-for-build), Meson does the equivalent of `python $(which meson)`
at runtime. Which ends up tripping over the shell wrapper.
I don't remember exactly where I saw the problem, it could have been
with "mesontest" which also resides in "meson/bin". The only downside
to deleting the wrapper is that you cannot call meson directly from the
store; it works fine as long as PYTHONPATH is set (e.g. in a profile).
I'll try to clarify the comment.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 31+ messages in thread
* [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson executable.
2018-03-12 12:47 ` Marius Bakke
@ 2018-03-12 13:08 ` Marius Bakke
2018-03-12 14:01 ` Ludovic Courtès
2018-03-12 14:00 ` Ludovic Courtès
1 sibling, 1 reply; 31+ messages in thread
From: Marius Bakke @ 2018-03-12 13:08 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 30761
[-- Attachment #1: Type: text/plain, Size: 3192 bytes --]
Marius Bakke <mbakke@fastmail.com> writes:
> Ludovic Courtès <ludo@gnu.org> writes:
>
>> Hello!
>>
>> Marius Bakke <mbakke@fastmail.com> skribis:
>>
>>> * gnu/packages/build-tools.scm (meson)[arguments]: Delete WRAP-PHASE.
>>> ---
>>> gnu/packages/build-tools.scm | 5 +++++
>>> 1 file changed, 5 insertions(+)
>>>
>>> diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
>>> index 2abb44fdb..1ebccca43 100644
>>> --- a/gnu/packages/build-tools.scm
>>> +++ b/gnu/packages/build-tools.scm
>>> @@ -81,6 +81,11 @@ makes a few sacrifices to acquire fast full and incremental build times.")
>>> (base32
>>> "06r8limj38mv884s5riiz6lpzw37cvhbf9jd0smzcbi7fwmv3yah"))))
>>> (build-system python-build-system)
>>> + (arguments
>>> + `(#:phases (modify-phases %standard-phases
>>> + ;; Meson runs itself through the Python interpreter, so
>>> + ;; we cannot use the shell wrapper.
>>> + (delete 'wrap))))
>>
>> I’m not sure what this means. The ‘wrap’ phase is precisely for things
>> with #!/…/python, right?
>>
>> What problem does it solve?
>
> The problem is that at some point after 0.42 (the current
> meson-for-build), Meson does the equivalent of `python $(which meson)`
> at runtime. Which ends up tripping over the shell wrapper.
>
> I don't remember exactly where I saw the problem, it could have been
> with "mesontest" which also resides in "meson/bin". The only downside
> to deleting the wrapper is that you cannot call meson directly from the
> store; it works fine as long as PYTHONPATH is set (e.g. in a profile).
Actually, I just checked; "meson" in master does not work at all,
whether from the store or from a profile:
$ guix environment --ad-hoc meson -- meson --help
Traceback (most recent call last):
File "/gnu/store/lv22yqqnwaz7zjacmgqi8v18d9manr0y-meson-0.44.0/bin/.meson-real", line 17, in <module>
from mesonbuild import mesonmain, mesonlib
File "/gnu/store/lv22yqqnwaz7zjacmgqi8v18d9manr0y-meson-0.44.0/lib/python3.6/site-packages/mesonbuild/mesonmain.py", line 18, in <module>
from . import environment, interpreter, mesonlib
File "/gnu/store/lv22yqqnwaz7zjacmgqi8v18d9manr0y-meson-0.44.0/lib/python3.6/site-packages/mesonbuild/environment.py", line 17, in <module>
from . import coredata
File "/gnu/store/lv22yqqnwaz7zjacmgqi8v18d9manr0y-meson-0.44.0/lib/python3.6/site-packages/mesonbuild/coredata.py", line 20, in <module>
from .mesonlib import MesonException, commonpath
File "/gnu/store/lv22yqqnwaz7zjacmgqi8v18d9manr0y-meson-0.44.0/lib/python3.6/site-packages/mesonbuild/mesonlib.py", line 60, in <module>
meson_command = python_command + [detect_meson_py_location()]
File "/gnu/store/lv22yqqnwaz7zjacmgqi8v18d9manr0y-meson-0.44.0/lib/python3.6/site-packages/mesonbuild/mesonlib.py", line 51, in detect_meson_py_location
raise RuntimeError('Could not determine how to run Meson. Please file a bug with details.')
RuntimeError: Could not determine how to run Meson. Please file a bug with details.
So we really need to drop the wrapper.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 31+ messages in thread
* [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson executable.
2018-03-12 13:08 ` Marius Bakke
@ 2018-03-12 14:01 ` Ludovic Courtès
0 siblings, 0 replies; 31+ messages in thread
From: Ludovic Courtès @ 2018-03-12 14:01 UTC (permalink / raw)
To: Marius Bakke; +Cc: 30761
Marius Bakke <mbakke@fastmail.com> skribis:
> Actually, I just checked; "meson" in master does not work at all,
> whether from the store or from a profile:
>
> $ guix environment --ad-hoc meson -- meson --help
> Traceback (most recent call last):
> File "/gnu/store/lv22yqqnwaz7zjacmgqi8v18d9manr0y-meson-0.44.0/bin/.meson-real", line 17, in <module>
> from mesonbuild import mesonmain, mesonlib
> File "/gnu/store/lv22yqqnwaz7zjacmgqi8v18d9manr0y-meson-0.44.0/lib/python3.6/site-packages/mesonbuild/mesonmain.py", line 18, in <module>
> from . import environment, interpreter, mesonlib
> File "/gnu/store/lv22yqqnwaz7zjacmgqi8v18d9manr0y-meson-0.44.0/lib/python3.6/site-packages/mesonbuild/environment.py", line 17, in <module>
> from . import coredata
> File "/gnu/store/lv22yqqnwaz7zjacmgqi8v18d9manr0y-meson-0.44.0/lib/python3.6/site-packages/mesonbuild/coredata.py", line 20, in <module>
> from .mesonlib import MesonException, commonpath
> File "/gnu/store/lv22yqqnwaz7zjacmgqi8v18d9manr0y-meson-0.44.0/lib/python3.6/site-packages/mesonbuild/mesonlib.py", line 60, in <module>
> meson_command = python_command + [detect_meson_py_location()]
> File "/gnu/store/lv22yqqnwaz7zjacmgqi8v18d9manr0y-meson-0.44.0/lib/python3.6/site-packages/mesonbuild/mesonlib.py", line 51, in detect_meson_py_location
> raise RuntimeError('Could not determine how to run Meson. Please file a bug with details.')
> RuntimeError: Could not determine how to run Meson. Please file a bug with details.
>
> So we really need to drop the wrapper.
Indeed.
When we drop the wrapper it may fail, but it’d fail in a different way.
:-)
Ludo’.
^ permalink raw reply [flat|nested] 31+ messages in thread
* [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson executable.
2018-03-12 12:47 ` Marius Bakke
2018-03-12 13:08 ` Marius Bakke
@ 2018-03-12 14:00 ` Ludovic Courtès
2018-03-12 14:44 ` Marius Bakke
1 sibling, 1 reply; 31+ messages in thread
From: Ludovic Courtès @ 2018-03-12 14:00 UTC (permalink / raw)
To: Marius Bakke; +Cc: 30761
Marius Bakke <mbakke@fastmail.com> skribis:
> Ludovic Courtès <ludo@gnu.org> writes:
>
>> Hello!
>>
>> Marius Bakke <mbakke@fastmail.com> skribis:
>>
>>> * gnu/packages/build-tools.scm (meson)[arguments]: Delete WRAP-PHASE.
>>> ---
>>> gnu/packages/build-tools.scm | 5 +++++
>>> 1 file changed, 5 insertions(+)
>>>
>>> diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
>>> index 2abb44fdb..1ebccca43 100644
>>> --- a/gnu/packages/build-tools.scm
>>> +++ b/gnu/packages/build-tools.scm
>>> @@ -81,6 +81,11 @@ makes a few sacrifices to acquire fast full and incremental build times.")
>>> (base32
>>> "06r8limj38mv884s5riiz6lpzw37cvhbf9jd0smzcbi7fwmv3yah"))))
>>> (build-system python-build-system)
>>> + (arguments
>>> + `(#:phases (modify-phases %standard-phases
>>> + ;; Meson runs itself through the Python interpreter, so
>>> + ;; we cannot use the shell wrapper.
>>> + (delete 'wrap))))
>>
>> I’m not sure what this means. The ‘wrap’ phase is precisely for things
>> with #!/…/python, right?
>>
>> What problem does it solve?
>
> The problem is that at some point after 0.42 (the current
> meson-for-build), Meson does the equivalent of `python $(which meson)`
> at runtime. Which ends up tripping over the shell wrapper.
>
> I don't remember exactly where I saw the problem, it could have been
> with "mesontest" which also resides in "meson/bin". The only downside
> to deleting the wrapper is that you cannot call meson directly from the
> store; it works fine as long as PYTHONPATH is set (e.g. in a profile).
>
> I'll try to clarify the comment.
Yes, that’s a good idea. :-)
It does mean that people installing meson in their profile will get
something missing-python-module errors, right?
Should we do the wrapping differently?
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 31+ messages in thread
* [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson executable.
2018-03-12 14:00 ` Ludovic Courtès
@ 2018-03-12 14:44 ` Marius Bakke
2018-03-12 16:16 ` Ludovic Courtès
0 siblings, 1 reply; 31+ messages in thread
From: Marius Bakke @ 2018-03-12 14:44 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 30761
[-- Attachment #1: Type: text/plain, Size: 2430 bytes --]
Ludovic Courtès <ludo@gnu.org> writes:
> Marius Bakke <mbakke@fastmail.com> skribis:
>
>> Ludovic Courtès <ludo@gnu.org> writes:
>>
>>> Hello!
>>>
>>> Marius Bakke <mbakke@fastmail.com> skribis:
>>>
>>>> * gnu/packages/build-tools.scm (meson)[arguments]: Delete WRAP-PHASE.
>>>> ---
>>>> gnu/packages/build-tools.scm | 5 +++++
>>>> 1 file changed, 5 insertions(+)
>>>>
>>>> diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
>>>> index 2abb44fdb..1ebccca43 100644
>>>> --- a/gnu/packages/build-tools.scm
>>>> +++ b/gnu/packages/build-tools.scm
>>>> @@ -81,6 +81,11 @@ makes a few sacrifices to acquire fast full and incremental build times.")
>>>> (base32
>>>> "06r8limj38mv884s5riiz6lpzw37cvhbf9jd0smzcbi7fwmv3yah"))))
>>>> (build-system python-build-system)
>>>> + (arguments
>>>> + `(#:phases (modify-phases %standard-phases
>>>> + ;; Meson runs itself through the Python interpreter, so
>>>> + ;; we cannot use the shell wrapper.
>>>> + (delete 'wrap))))
>>>
>>> I’m not sure what this means. The ‘wrap’ phase is precisely for things
>>> with #!/…/python, right?
>>>
>>> What problem does it solve?
>>
>> The problem is that at some point after 0.42 (the current
>> meson-for-build), Meson does the equivalent of `python $(which meson)`
>> at runtime. Which ends up tripping over the shell wrapper.
>>
>> I don't remember exactly where I saw the problem, it could have been
>> with "mesontest" which also resides in "meson/bin". The only downside
>> to deleting the wrapper is that you cannot call meson directly from the
>> store; it works fine as long as PYTHONPATH is set (e.g. in a profile).
>>
>> I'll try to clarify the comment.
>
> Yes, that’s a good idea. :-)
>
> It does mean that people installing meson in their profile will get
> something missing-python-module errors, right?
Meson actually propagates Python, which will set up PYTHONPATH. So in a
profile or environment it works just fine. The only problem is when
trying to invoke /gnu/store/...meson-0.45/bin/meson directly.
> Should we do the wrapping differently?
ISTR a discussion about a language-aware wrapper, which would solve
this. Then we could wrap it with PATH and PYTHONPATH and get rid of
Python propagation. But for now I think we're good :-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 31+ messages in thread
* [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson executable.
2018-03-12 14:44 ` Marius Bakke
@ 2018-03-12 16:16 ` Ludovic Courtès
0 siblings, 0 replies; 31+ messages in thread
From: Ludovic Courtès @ 2018-03-12 16:16 UTC (permalink / raw)
To: Marius Bakke; +Cc: 30761
Marius Bakke <mbakke@fastmail.com> skribis:
> Ludovic Courtès <ludo@gnu.org> writes:
[...]
>> It does mean that people installing meson in their profile will get
>> something missing-python-module errors, right?
>
> Meson actually propagates Python, which will set up PYTHONPATH. So in a
> profile or environment it works just fine. The only problem is when
> trying to invoke /gnu/store/...meson-0.45/bin/meson directly.
OK, perfect.
>> Should we do the wrapping differently?
>
> ISTR a discussion about a language-aware wrapper, which would solve
> this. Then we could wrap it with PATH and PYTHONPATH and get rid of
> Python propagation. But for now I think we're good :-)
Yes, future work! :-)
Ludo’.
^ permalink raw reply [flat|nested] 31+ messages in thread