GNU bug report logs -
#30761
[PATCH staging 0/9] Meson fixes (and some updates)
Previous Next
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.
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):
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):
* 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):
* 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):
* 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):
* 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):
* 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):
* 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):
* 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):
* 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):
* 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):
[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):
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):
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):
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):
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):
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):
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):
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):
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):
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):
[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):
[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):
[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):
[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):
[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):
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):
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):
[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):
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):
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):
[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.