GNU bug report logs - #30761
[PATCH staging 0/9] Meson fixes (and some updates)

Previous Next

Package: guix-patches;

Reported by: Marius Bakke <mbakke <at> fastmail.com>

Date: Fri, 9 Mar 2018 18:10:01 UTC

Severity: normal

Tags: patch

Done: Marius Bakke <mbakke <at> fastmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 30761 in the body.
You can then email your comments to 30761 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Fri, 09 Mar 2018 18:10:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Marius Bakke <mbakke <at> fastmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Fri, 09 Mar 2018 18:10:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: guix-patches <at> gnu.org
Cc: Marius Bakke <mbakke <at> fastmail.com>
Subject: [PATCH staging 0/9] Meson fixes (and some updates)
Date: Fri,  9 Mar 2018 19:09:14 +0100
Guix,

On staging, armhf is no longer supported by anything that depends on
GTK+.  This is because meson-build-system uses PatchELF, which fails to
build on armhf.  This series reduces the PatchELF dependency by making
sure the output "lib" directory is on RUNPATH, and rather crudely skips
the "fix-runpath" phase on armhf.

Hopefully this will make GTK applications build happily on armhf again.
The bad news is that it causes ~800 new rebuilds.

Marius Bakke (9):
  gnu: meson: Don't wrap the meson executable.
  gnu: meson-for-build: Update to 0.44.0.
  gnu: meson: Update to 0.45.0.
  build-system/meson: Add the output directory to RUNPATH.
  build-system/meson: Skip the 'fix-runpath' phase on armhf.
  gnu: libinput: Update to 1.10.2.
  gnu: libinput: Correct inputs.
  gnu: libwacom: Update to 0.29.
  gnu: xf86-input-wacom: Update to 0.36.0.

 gnu/packages/build-tools.scm      | 22 +++++++++--------
 gnu/packages/freedesktop.scm      | 50 +++++++++++++++++++++++----------------
 gnu/packages/xdisorg.scm          |  8 +++----
 guix/build-system/meson.scm       | 15 ++++++++++--
 guix/build/meson-build-system.scm |  9 +++++++
 5 files changed, 68 insertions(+), 36 deletions(-)

-- 
2.16.2





Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Fri, 09 Mar 2018 18:12:01 GMT) Full text and rfc822 format available.

Message #8 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: 30761 <at> debbugs.gnu.org
Cc: Marius Bakke <mbakke <at> fastmail.com>
Subject: [PATCH staging 1/9] gnu: meson: Don't wrap the meson executable.
Date: Fri,  9 Mar 2018 19:11:00 +0100
* 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))))
     (inputs `(("ninja", ninja)))
     (propagated-inputs `(("python" ,python)))
     (home-page "https://mesonbuild.com/")
-- 
2.16.2





Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Fri, 09 Mar 2018 18:12:02 GMT) Full text and rfc822 format available.

Message #11 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: 30761 <at> debbugs.gnu.org
Cc: Marius Bakke <mbakke <at> fastmail.com>
Subject: [PATCH staging 2/9] gnu: meson-for-build: Update to 0.44.0.
Date: Fri,  9 Mar 2018 19:11:01 +0100
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Fri, 09 Mar 2018 18:12:02 GMT) Full text and rfc822 format available.

Message #14 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: 30761 <at> debbugs.gnu.org
Cc: Marius Bakke <mbakke <at> fastmail.com>
Subject: [PATCH staging 3/9] gnu: meson: Update to 0.45.0.
Date: Fri,  9 Mar 2018 19:11:02 +0100
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Fri, 09 Mar 2018 18:12:03 GMT) Full text and rfc822 format available.

Message #17 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: 30761 <at> debbugs.gnu.org
Cc: Marius Bakke <mbakke <at> fastmail.com>
Subject: [PATCH staging 4/9] build-system/meson: Add the output directory to
 RUNPATH.
Date: Fri,  9 Mar 2018 19:11:03 +0100
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Fri, 09 Mar 2018 18:12:03 GMT) Full text and rfc822 format available.

Message #20 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: 30761 <at> debbugs.gnu.org
Cc: Marius Bakke <mbakke <at> fastmail.com>
Subject: [PATCH staging 5/9] build-system/meson: Skip the 'fix-runpath' phase
 on armhf.
Date: Fri,  9 Mar 2018 19:11:04 +0100
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Fri, 09 Mar 2018 18:12:04 GMT) Full text and rfc822 format available.

Message #23 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: 30761 <at> debbugs.gnu.org
Cc: Marius Bakke <mbakke <at> fastmail.com>
Subject: [PATCH staging 6/9] gnu: libinput: Update to 1.10.2.
Date: Fri,  9 Mar 2018 19:11:05 +0100
* 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 <at> flashner.co.il>
 ;;; Copyright © 2016 Kei Kebreau <kkebreau <at> posteo.net>
 ;;; Copyright © 2017 Mark H Weaver <mhw <at> netris.org>
-;;; Copyright © 2017 Marius Bakke <mbakke <at> fastmail.com>
+;;; Copyright © 2017, 2018 Marius Bakke <mbakke <at> fastmail.com>
 ;;; Copyright © 2017 Rutger Helling <rhelling <at> mykolab.com>
 ;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley <at> openmailbox.org>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Fri, 09 Mar 2018 18:12:04 GMT) Full text and rfc822 format available.

Message #26 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: 30761 <at> debbugs.gnu.org
Cc: Marius Bakke <mbakke <at> fastmail.com>
Subject: [PATCH staging 7/9] gnu: libinput: Correct inputs.
Date: Fri,  9 Mar 2018 19:11:06 +0100
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Fri, 09 Mar 2018 18:12:04 GMT) Full text and rfc822 format available.

Message #29 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: 30761 <at> debbugs.gnu.org
Cc: Marius Bakke <mbakke <at> fastmail.com>
Subject: [PATCH staging 8/9] gnu: libwacom: Update to 0.29.
Date: Fri,  9 Mar 2018 19:11:07 +0100
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Fri, 09 Mar 2018 18:12:05 GMT) Full text and rfc822 format available.

Message #32 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: 30761 <at> debbugs.gnu.org
Cc: Marius Bakke <mbakke <at> fastmail.com>
Subject: [PATCH staging 9/9] gnu: xf86-input-wacom: Update to 0.36.0.
Date: Fri,  9 Mar 2018 19:11:08 +0100
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Fri, 09 Mar 2018 18:17:02 GMT) Full text and rfc822 format available.

Message #35 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: 30761 <at> debbugs.gnu.org
Subject: Re: [PATCH staging 1/9] gnu: meson: Don't wrap the meson executable.
Date: Fri, 09 Mar 2018 19:16:21 +0100
[Message part 1 (text/plain, inline)]
Marius Bakke <mbakke <at> 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.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Sun, 11 Mar 2018 22:18:02 GMT) Full text and rfc822 format available.

Message #38 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 30761 <at> debbugs.gnu.org
Subject: Re: [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson
 executable.
Date: Sun, 11 Mar 2018 23:17:45 +0100
Hello!

Marius Bakke <mbakke <at> 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’.




Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Sun, 11 Mar 2018 22:19:02 GMT) Full text and rfc822 format available.

Message #41 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 30761 <at> debbugs.gnu.org
Subject: Re: [bug#30761] [PATCH staging 2/9] gnu: meson-for-build: Update to
 0.44.0.
Date: Sun, 11 Mar 2018 23:18:07 +0100
Marius Bakke <mbakke <at> fastmail.com> skribis:

> * gnu/packages/build-tools.scm (meson-for-build)[version]: Remove field.
> [source]: Inherit from MESON.

OK!




Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Sun, 11 Mar 2018 22:19:02 GMT) Full text and rfc822 format available.

Message #44 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 30761 <at> debbugs.gnu.org
Subject: Re: [bug#30761] [PATCH staging 3/9] gnu: meson: Update to 0.45.0.
Date: Sun, 11 Mar 2018 23:18:35 +0100
Marius Bakke <mbakke <at> fastmail.com> skribis:

> * gnu/packages/build-tools.scm (meson): Update to 0.45.0.
> [arguments]: Explicitly disable tests (they were skipped before).

LGTM.




Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Sun, 11 Mar 2018 22:24:02 GMT) Full text and rfc822 format available.

Message #47 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 30761 <at> debbugs.gnu.org
Subject: Re: [bug#30761] [PATCH staging 4/9] build-system/meson: Add the
 output directory to RUNPATH.
Date: Sun, 11 Mar 2018 23:23:20 +0100
Marius Bakke <mbakke <at> 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’.




Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Sun, 11 Mar 2018 22:26:02 GMT) Full text and rfc822 format available.

Message #50 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 30761 <at> debbugs.gnu.org
Subject: Re: [bug#30761] [PATCH staging 5/9] build-system/meson: Skip the
 'fix-runpath' phase on armhf.
Date: Sun, 11 Mar 2018 23:24:57 +0100
Marius Bakke <mbakke <at> fastmail.com> skribis:

> * 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.

[...]

> +                         ;; 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.

Perhaps add a note that we use it to shrink the RUNPATH as described at
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=28444#46>.

Otherwise LGTM, thanks!

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Sun, 11 Mar 2018 22:26:02 GMT) Full text and rfc822 format available.

Message #53 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 30761 <at> debbugs.gnu.org
Subject: Re: [bug#30761] [PATCH staging 6/9] gnu: libinput: Update to 1.10.2.
Date: Sun, 11 Mar 2018 23:25:22 +0100
Marius Bakke <mbakke <at> fastmail.com> skribis:

> * 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.

LGTM!




Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Sun, 11 Mar 2018 22:26:04 GMT) Full text and rfc822 format available.

Message #56 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 30761 <at> debbugs.gnu.org
Subject: Re: [bug#30761] [PATCH staging 7/9] gnu: libinput: Correct inputs.
Date: Sun, 11 Mar 2018 23:25:58 +0100
Marius Bakke <mbakke <at> fastmail.com> skribis:

> * 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.

Should it be squashed with the previous one?

Otherwise LGTM.

Ludo'.




Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Sun, 11 Mar 2018 22:27:01 GMT) Full text and rfc822 format available.

Message #59 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 30761 <at> debbugs.gnu.org
Subject: Re: [bug#30761] [PATCH staging 8/9] gnu: libwacom: Update to 0.29.
Date: Sun, 11 Mar 2018 23:26:06 +0100
Marius Bakke <mbakke <at> fastmail.com> skribis:

> * gnu/packages/xdisorg.scm (libwacom): Update to 0.29.

OK.




Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Sun, 11 Mar 2018 22:27:02 GMT) Full text and rfc822 format available.

Message #62 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 30761 <at> debbugs.gnu.org
Subject: Re: [bug#30761] [PATCH staging 9/9] gnu: xf86-input-wacom: Update to
 0.36.0.
Date: Sun, 11 Mar 2018 23:26:15 +0100
Marius Bakke <mbakke <at> fastmail.com> skribis:

> * gnu/packages/xdisorg.scm (xf86-input-wacom): Update to 0.36.0.

OK.




Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Mon, 12 Mar 2018 12:48:01 GMT) Full text and rfc822 format available.

Message #65 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 30761 <at> debbugs.gnu.org
Subject: Re: [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson
 executable.
Date: Mon, 12 Mar 2018 13:47:31 +0100
[Message part 1 (text/plain, inline)]
Ludovic Courtès <ludo <at> gnu.org> writes:

> Hello!
>
> Marius Bakke <mbakke <at> 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.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Mon, 12 Mar 2018 13:05:02 GMT) Full text and rfc822 format available.

Message #68 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 30761 <at> debbugs.gnu.org
Subject: Re: [bug#30761] [PATCH staging 4/9] build-system/meson: Add the
 output directory to RUNPATH.
Date: Mon, 12 Mar 2018 14:04:24 +0100
[Message part 1 (text/plain, inline)]
Ludovic Courtès <ludo <at> gnu.org> writes:

> Marius Bakke <mbakke <at> fastmail.com> skribis:
>
>> * guix/build/meson-build-system.scm (configure): Set LDFLAGS before invoking meson.
>
> [...]
>
>> +    (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.

Unfortunately, this is the only supported way of adding extra linker
flags and similar.

http://mesonbuild.com/howtox.html#set-extra-compiler-and-linker-flags-from-the-outside-when-eg-building-distro-packages

There are some open tickets about being able to specify environment in
build definitions, in which case we might be able to add them there.
But for now, this is the way to go.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Mon, 12 Mar 2018 13:06:02 GMT) Full text and rfc822 format available.

Message #71 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 30761 <at> debbugs.gnu.org
Subject: Re: [bug#30761] [PATCH staging 5/9] build-system/meson: Skip the
 'fix-runpath' phase on armhf.
Date: Mon, 12 Mar 2018 14:05:25 +0100
[Message part 1 (text/plain, inline)]
Ludovic Courtès <ludo <at> gnu.org> writes:

> Marius Bakke <mbakke <at> fastmail.com> skribis:
>
>> * 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.
>
> [...]
>
>> +                         ;; 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.
>
> Perhaps add a note that we use it to shrink the RUNPATH as described at
> <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=28444#46>.
>
> Otherwise LGTM, thanks!

I'll add the reference, thanks for reviewing!
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Mon, 12 Mar 2018 13:09:01 GMT) Full text and rfc822 format available.

Message #74 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 30761 <at> debbugs.gnu.org
Subject: Re: [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson
 executable.
Date: Mon, 12 Mar 2018 14:08:29 +0100
[Message part 1 (text/plain, inline)]
Marius Bakke <mbakke <at> fastmail.com> writes:

> Ludovic Courtès <ludo <at> gnu.org> writes:
>
>> Hello!
>>
>> Marius Bakke <mbakke <at> 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.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Mon, 12 Mar 2018 13:21:02 GMT) Full text and rfc822 format available.

Message #77 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 30761 <at> debbugs.gnu.org
Subject: Re: [bug#30761] [PATCH staging 7/9] gnu: libinput: Correct inputs.
Date: Mon, 12 Mar 2018 14:20:49 +0100
[Message part 1 (text/plain, inline)]
Ludovic Courtès <ludo <at> gnu.org> writes:

> Marius Bakke <mbakke <at> fastmail.com> skribis:
>
>> * 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.
>
> Should it be squashed with the previous one?

Good catch; I assumed it was wrong before, but these changes are indeed
new in 1.10.  Will squash.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Mon, 12 Mar 2018 14:01:01 GMT) Full text and rfc822 format available.

Message #80 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 30761 <at> debbugs.gnu.org
Subject: Re: [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson
 executable.
Date: Mon, 12 Mar 2018 15:00:34 +0100
Marius Bakke <mbakke <at> fastmail.com> skribis:

> Ludovic Courtès <ludo <at> gnu.org> writes:
>
>> Hello!
>>
>> Marius Bakke <mbakke <at> 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’.




Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Mon, 12 Mar 2018 14:02:02 GMT) Full text and rfc822 format available.

Message #83 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 30761 <at> debbugs.gnu.org
Subject: Re: [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson
 executable.
Date: Mon, 12 Mar 2018 15:01:35 +0100
Marius Bakke <mbakke <at> 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’.




Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Mon, 12 Mar 2018 14:45:02 GMT) Full text and rfc822 format available.

Message #86 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 30761 <at> debbugs.gnu.org
Subject: Re: [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson
 executable.
Date: Mon, 12 Mar 2018 15:44:24 +0100
[Message part 1 (text/plain, inline)]
Ludovic Courtès <ludo <at> gnu.org> writes:

> Marius Bakke <mbakke <at> fastmail.com> skribis:
>
>> Ludovic Courtès <ludo <at> gnu.org> writes:
>>
>>> Hello!
>>>
>>> Marius Bakke <mbakke <at> 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 :-)
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Mon, 12 Mar 2018 16:17:01 GMT) Full text and rfc822 format available.

Message #89 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 30761 <at> debbugs.gnu.org
Subject: Re: [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson
 executable.
Date: Mon, 12 Mar 2018 17:16:39 +0100
Marius Bakke <mbakke <at> fastmail.com> skribis:

> Ludovic Courtès <ludo <at> 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’.




Information forwarded to guix-patches <at> gnu.org:
bug#30761; Package guix-patches. (Mon, 07 May 2018 09:55:02 GMT) Full text and rfc822 format available.

Message #92 received at 30761 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 30761 <at> debbugs.gnu.org
Subject: Re: [bug#30761] [PATCH staging 9/9] gnu: xf86-input-wacom: Update to
 0.36.0.
Date: Mon, 07 May 2018 11:54:12 +0200
Heya Marius,

What’s the status of this patch series?  :-)

Ludo’.




Reply sent to Marius Bakke <mbakke <at> fastmail.com>:
You have taken responsibility. (Mon, 07 May 2018 14:22:01 GMT) Full text and rfc822 format available.

Notification sent to Marius Bakke <mbakke <at> fastmail.com>:
bug acknowledged by developer. (Mon, 07 May 2018 14:22:01 GMT) Full text and rfc822 format available.

Message #97 received at 30761-done <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 30761-done <at> debbugs.gnu.org
Subject: Re: [bug#30761] [PATCH staging 9/9] gnu: xf86-input-wacom: Update to
 0.36.0.
Date: Mon, 07 May 2018 16:21:23 +0200
[Message part 1 (text/plain, inline)]
ludo <at> gnu.org (Ludovic Courtès) writes:

> Heya Marius,
>
> What’s the status of this patch series?  :-)

Whoops.  Merged a long time ago.  Thanks for the reminder!
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 05 Jun 2018 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 320 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.