all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#30761] [PATCH staging 0/9] Meson fixes (and some updates)
@ 2018-03-09 18:09 Marius Bakke
  2018-03-09 18:11 ` [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson executable Marius Bakke
  0 siblings, 1 reply; 31+ messages in thread
From: Marius Bakke @ 2018-03-09 18:09 UTC (permalink / raw)
  To: 30761

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

^ 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:09 [bug#30761] [PATCH staging 0/9] Meson fixes (and some updates) Marius Bakke
@ 2018-03-09 18:11 ` Marius Bakke
  2018-03-09 18:11   ` [bug#30761] [PATCH staging 2/9] gnu: meson-for-build: Update to 0.44.0 Marius Bakke
                     ` (9 more replies)
  0 siblings, 10 replies; 31+ messages in thread
From: Marius Bakke @ 2018-03-09 18:11 UTC (permalink / raw)
  To: 30761

* 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

^ permalink raw reply related	[flat|nested] 31+ messages in thread

* [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 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 2/9] gnu: meson-for-build: Update to 0.44.0.
  2018-03-09 18:11   ` [bug#30761] [PATCH staging 2/9] gnu: meson-for-build: Update to 0.44.0 Marius Bakke
@ 2018-03-11 22:18     ` Ludovic Courtès
  0 siblings, 0 replies; 31+ messages in thread
From: Ludovic Courtès @ 2018-03-11 22:18 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 30761

Marius Bakke <mbakke@fastmail.com> skribis:

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

OK!

^ permalink raw reply	[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 3/9] gnu: meson: Update to 0.45.0 Marius Bakke
@ 2018-03-11 22:18     ` Ludovic Courtès
  0 siblings, 0 replies; 31+ messages in thread
From: Ludovic Courtès @ 2018-03-11 22:18 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 30761

Marius Bakke <mbakke@fastmail.com> skribis:

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

LGTM.

^ permalink raw reply	[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 5/9] build-system/meson: Skip the 'fix-runpath' phase on armhf Marius Bakke
@ 2018-03-11 22:24     ` Ludovic Courtès
  2018-03-12 13:05       ` Marius Bakke
  0 siblings, 1 reply; 31+ messages in thread
From: Ludovic Courtès @ 2018-03-11 22:24 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 30761

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

^ permalink raw reply	[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 6/9] gnu: libinput: Update to 1.10.2 Marius Bakke
@ 2018-03-11 22:25     ` Ludovic Courtès
  0 siblings, 0 replies; 31+ messages in thread
From: Ludovic Courtès @ 2018-03-11 22:25 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 30761

Marius Bakke <mbakke@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!

^ permalink raw reply	[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 7/9] gnu: libinput: Correct inputs Marius Bakke
@ 2018-03-11 22:25     ` Ludovic Courtès
  2018-03-12 13:20       ` Marius Bakke
  0 siblings, 1 reply; 31+ messages in thread
From: Ludovic Courtès @ 2018-03-11 22:25 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 30761

Marius Bakke <mbakke@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'.

^ permalink raw reply	[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 8/9] gnu: libwacom: Update to 0.29 Marius Bakke
@ 2018-03-11 22:26     ` Ludovic Courtès
  0 siblings, 0 replies; 31+ messages in thread
From: Ludovic Courtès @ 2018-03-11 22:26 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 30761

Marius Bakke <mbakke@fastmail.com> skribis:

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

OK.

^ permalink raw reply	[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 9/9] gnu: xf86-input-wacom: Update to 0.36.0 Marius Bakke
@ 2018-03-11 22:26     ` Ludovic Courtès
  2018-05-07  9:54       ` Ludovic Courtès
  0 siblings, 1 reply; 31+ messages in thread
From: Ludovic Courtès @ 2018-03-11 22:26 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 30761

Marius Bakke <mbakke@fastmail.com> skribis:

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

OK.

^ 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 4/9] build-system/meson: Add the output directory to RUNPATH.
  2018-03-11 22:23     ` Ludovic Courtès
@ 2018-03-12 13:04       ` Marius Bakke
  0 siblings, 0 replies; 31+ messages in thread
From: Marius Bakke @ 2018-03-12 13:04 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 30761

[-- Attachment #1: Type: text/plain, Size: 1040 bytes --]

Ludovic Courtès <ludo@gnu.org> writes:

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ 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-11 22:24     ` Ludovic Courtès
@ 2018-03-12 13:05       ` Marius Bakke
  0 siblings, 0 replies; 31+ messages in thread
From: Marius Bakke @ 2018-03-12 13:05 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 30761

[-- Attachment #1: Type: text/plain, Size: 827 bytes --]

Ludovic Courtès <ludo@gnu.org> writes:

> Marius Bakke <mbakke@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!

[-- 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 7/9] gnu: libinput: Correct inputs.
  2018-03-11 22:25     ` Ludovic Courtès
@ 2018-03-12 13:20       ` Marius Bakke
  0 siblings, 0 replies; 31+ messages in thread
From: Marius Bakke @ 2018-03-12 13:20 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 30761

[-- Attachment #1: Type: text/plain, Size: 475 bytes --]

Ludovic Courtès <ludo@gnu.org> writes:

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

[-- 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: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 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 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

* [bug#30761] [PATCH staging 9/9] gnu: xf86-input-wacom: Update to 0.36.0.
  2018-03-11 22:26     ` Ludovic Courtès
@ 2018-05-07  9:54       ` Ludovic Courtès
  2018-05-07 14:21         ` bug#30761: " Marius Bakke
  0 siblings, 1 reply; 31+ messages in thread
From: Ludovic Courtès @ 2018-05-07  9:54 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 30761

Heya Marius,

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

Ludo’.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#30761: [PATCH staging 9/9] gnu: xf86-input-wacom: Update to 0.36.0.
  2018-05-07  9:54       ` Ludovic Courtès
@ 2018-05-07 14:21         ` Marius Bakke
  0 siblings, 0 replies; 31+ messages in thread
From: Marius Bakke @ 2018-05-07 14:21 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 30761-done

[-- Attachment #1: Type: text/plain, Size: 174 bytes --]

ludo@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!

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2018-05-07 14:22 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-09 18:09 [bug#30761] [PATCH staging 0/9] Meson fixes (and some updates) Marius Bakke
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-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
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
2018-03-11 22:23     ` Ludovic Courtès
2018-03-12 13:04       ` Marius Bakke
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-11 22:24     ` Ludovic Courtès
2018-03-12 13:05       ` Marius Bakke
2018-03-09 18:11   ` [bug#30761] [PATCH staging 6/9] gnu: libinput: Update to 1.10.2 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
2018-03-11 22:25     ` Ludovic Courtès
2018-03-12 13:20       ` Marius Bakke
2018-03-09 18:11   ` [bug#30761] [PATCH staging 8/9] gnu: libwacom: Update to 0.29 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
2018-03-11 22:26     ` Ludovic Courtès
2018-05-07  9:54       ` Ludovic Courtès
2018-05-07 14:21         ` bug#30761: " Marius Bakke
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
2018-03-12 13:08       ` Marius Bakke
2018-03-12 14:01         ` Ludovic Courtès
2018-03-12 14:00       ` Ludovic Courtès
2018-03-12 14:44         ` Marius Bakke
2018-03-12 16:16           ` Ludovic Courtès

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.