Discussion:
[PATCH 01/24] gnu: qt: Add qtquickcontrols.
David Craven
2016-08-16 18:39:15 UTC
Permalink
* gnu/packages/qt.scm (qtquickcontrols): New variable.
---
gnu/packages/qt.scm | 17 +++++++++++++++++
1 file changed, 17 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index a12c526..ca777dd 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -802,6 +802,23 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(inputs
`(("qtbase" ,qtbase)))))

+(define-public qtquickcontrols
+ (package (inherit qtsvg)
+ (name "qtquickcontrols")
+ (version "5.6.1-1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://download.qt.io/official_releases/qt/"
+ (version-major+minor version) "/" version
+ "/submodules/" name "-opensource-src-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0cjzf844r7wi32ssc9vbw1a2m9hnr8c0i1p7yyljy962ifplf401"))))
+ (inputs
+ `(("qtbase" ,qtbase)
+ ("qtdeclarative" ,qtdeclarative)))))
+
(define-public python-sip
(package
(name "python-sip")
--
2.9.0
David Craven
2016-08-16 18:39:18 UTC
Permalink
* gnu/packages/databases.scm (lmdb): New variable.
---
gnu/packages/databases.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index d3a44f7..0a6b267 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -57,6 +57,7 @@
#:use-module ((guix licenses)
#:select (gpl2 gpl3 gpl3+ lgpl2.1+ lgpl3+ x11-style non-copyleft
bsd-2 bsd-3 public-domain))
+ #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
@@ -1064,3 +1065,31 @@ trees (LSM), for sustained throughput under random insert workloads.")
(description
"The DB::File module provides Perl bindings to the Berkeley DB version 1.x.")
(license (package-license perl))))
+
+(define-public lmdb
+ (package
+ (name "lmdb")
+ (version "0.9.18")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/LMDB/lmdb/archive/"
+ "LMDB_" version ".tar.gz"))
+ (sha256
+ (base32
+ "12crvzxky8in99ibh22k4ppmkgqs28yy3v7yy944za7fsrqv8dfx"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:test-target "test"
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (chdir (string-append
+ (getenv "PWD") "/lmdb-LMDB_" ,version "/libraries/liblmdb"))
+ (substitute* "Makefile"
+ (("/usr/local") (assoc-ref outputs "out")))
+ #t)))))
+ (home-page "https://symas.com/products/lightning-memory-mapped-database")
+ (synopsis "Lightning memory-mapped database library")
+ (description "Lightning memory-mapped database library.")
+ (license license:openldap2.8)))
--
2.9.0
David Craven
2016-08-16 18:39:20 UTC
Permalink
* gnu/packages/xml.scm (jsoncpp): New variable.
---
gnu/packages/xml.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 660a0b9..72403c2 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -832,3 +832,22 @@ files. It is designed to be fast and to handle large input files.")
(synopsis "YAML parser and emitter in C++ matching the YAML 1.2 spec")
(description "YAML parser and emitter in C++ matching the YAML 1.2 spec.")
(license license:bsd-3)))
+
+(define-public jsoncpp
+ (package
+ (name "jsoncpp")
+ (version "1.7.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/open-source-parsers/jsoncpp/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0sgp6nc4c6pfn92f369v08zdwpqswn9j2ihy59bpwwl0grkx1p0h"))))
+ (build-system cmake-build-system)
+ (home-page "https://github.com/open-source-parsers/jsoncpp")
+ (synopsis "C++ library for interacting with JSON")
+ (description "C++ library for interacting with JSON.")
+ (license license:expat)))
--
2.9.0
Danny Milosavljevic
2016-08-16 19:28:30 UTC
Permalink
Might it make sense to also mention that it is optionally public domain?

Otherwise LGTM.
Danny Milosavljevic
2016-08-16 19:59:03 UTC
Permalink
Also, why the XML package? I suggest "serialization.scm" or something.
Alex Kost
2016-08-16 20:00:30 UTC
Permalink
Post by David Craven
* gnu/packages/xml.scm (jsoncpp): New variable.
---
gnu/packages/xml.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 660a0b9..72403c2 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -832,3 +832,22 @@ files. It is designed to be fast and to handle large input files.")
(synopsis "YAML parser and emitter in C++ matching the YAML 1.2 spec")
(description "YAML parser and emitter in C++ matching the YAML 1.2 spec.")
(license license:bsd-3)))
+
+(define-public jsoncpp
+ (package
+ (name "jsoncpp")
+ (version "1.7.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/open-source-parsers/jsoncpp/archive/"
+ version ".tar.gz"))
Indentation of 'string-append', please :-)
Post by David Craven
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0sgp6nc4c6pfn92f369v08zdwpqswn9j2ihy59bpwwl0grkx1p0h"))))
+ (build-system cmake-build-system)
+ (home-page "https://github.com/open-source-parsers/jsoncpp")
+ (synopsis "C++ library for interacting with JSON")
+ (description "C++ library for interacting with JSON.")
Maybe expand a bit (taken from the project README):

"JsonCpp is a C++ library that allows manipulating JSON values, including
serialization and deserialization to and from strings. It can also
preserve existing comment in unserialization/serialization steps, making
it a convenient format to store user input files."
Post by David Craven
+ (license license:expat)))
--
Alex
David Craven
2016-08-16 18:39:17 UTC
Permalink
* gnu/packages/qt.scm (qtgraphicaleffects): New variable.
---
gnu/packages/qt.scm | 17 +++++++++++++++++
1 file changed, 17 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 65b6d82..19488ac 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -836,6 +836,23 @@ developers using C++ or QML, a CSS & JavaScript like language.")
`(("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)))))

+(define-public qtgraphicaleffects
+ (package (inherit qtsvg)
+ (name "qtgraphicaleffects")
+ (version "5.6.1-1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://download.qt.io/official_releases/qt/"
+ (version-major+minor version) "/" version
+ "/submodules/" name "-opensource-src-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0560800fa9sd6dw1vk0ia9vq8ywdrwch2cpsi1vmh4iyxgwfr71b"))))
+ (inputs
+ `(("qtbase" ,qtbase)
+ ("qtdeclarative" ,qtdeclarative)))))
+
(define-public python-sip
(package
(name "python-sip")
--
2.9.0
Danny Milosavljevic
2016-08-16 19:29:13 UTC
Permalink
LGTM!
David Craven
2016-08-16 18:39:19 UTC
Permalink
* gnu/packages/xml.scm (yaml-cpp): New variable.
---
gnu/packages/xml.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index cfdc6c0..660a0b9 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -12,6 +12,7 @@
;;; Copyright © 2016 Leo Famulari <***@famulari.name>
;;; Copyright © 2016 Ben Woodcroft <***@gmail.com>
;;; Copyright © 2016 Jan Nieuwenhuizen <***@gnu.org>
+;;; Copyright © 2016 David Craven <***@craven.ch>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -31,6 +32,7 @@
(define-module (gnu packages xml)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages perl)
@@ -808,3 +810,25 @@ XSLT and EXSLT.")
XLSM) format spreadsheets into plaintext @dfn{comma separated values} (CSV)
files. It is designed to be fast and to handle large input files.")
(license license:gpl2+)))
+
+(define-public yaml-cpp
+ (package
+ (name "yaml-cpp")
+ (version "0.5.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/jbeder/yaml-cpp/archive/"
+ "yaml-cpp-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1vk6pjh0f5k6jwk2sszb9z5169whmiha9ainbdpa1arxlkq7v3b6"))))
+ (build-system cmake-build-system)
+ (inputs
+ `(("boost" ,boost)))
+ (native-inputs
+ `(("python" ,python)))
+ (home-page "https://github.com/jbeder/yaml-cpp")
+ (synopsis "YAML parser and emitter in C++ matching the YAML 1.2 spec")
+ (description "YAML parser and emitter in C++ matching the YAML 1.2 spec.")
+ (license license:bsd-3)))
--
2.9.0
Alex Kost
2016-08-16 19:58:24 UTC
Permalink
Post by David Craven
* gnu/packages/xml.scm (yaml-cpp): New variable.
---
gnu/packages/xml.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index cfdc6c0..660a0b9 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -12,6 +12,7 @@
;;;
;;; This file is part of GNU Guix.
;;;
@@ -31,6 +32,7 @@
(define-module (gnu packages xml)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages perl)
@@ -808,3 +810,25 @@ XSLT and EXSLT.")
files. It is designed to be fast and to handle large input files.")
(license license:gpl2+)))
+
+(define-public yaml-cpp
+ (package
+ (name "yaml-cpp")
+ (version "0.5.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/jbeder/yaml-cpp/archive/"
+ "yaml-cpp-" version ".tar.gz"))
Please indent string-append like this:

(uri (string-append
"https://github.com/jbeder/yaml-cpp/archive/"
"yaml-cpp-" version ".tar.gz"))
Post by David Craven
+ (sha256
+ (base32
+ "1vk6pjh0f5k6jwk2sszb9z5169whmiha9ainbdpa1arxlkq7v3b6"))))
+ (build-system cmake-build-system)
+ (inputs
+ `(("boost" ,boost)))
+ (native-inputs
+ `(("python" ,python)))
+ (home-page "https://github.com/jbeder/yaml-cpp")
+ (synopsis "YAML parser and emitter in C++ matching the YAML 1.2 spec")
I would simplify the synopsis a bit: "YAML parser and emitter in C++"
(just because I don't like when synopsis and description are the same :-))
Post by David Craven
+ (description "YAML parser and emitter in C++ matching the YAML 1.2 spec.")
+ (license license:bsd-3)))
--
Alex
David Craven
2016-08-16 18:39:21 UTC
Permalink
* gnu/packages/compression.scm (snappy): New variable.
---
gnu/packages/compression.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index e63c1af..cd1866b 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2016 Ben Woodcroft <***@gmail.com>
;;; Copyright © 2016 Danny Milosavljevic <***@scratchpost.org>
;;; Copyright © 2016 Tobias Geerinckx-Rice <***@tobias.gr>
+;;; Copyright © 2016 David Craven <***@craven.ch>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -871,3 +872,38 @@ even LZMA can provide, or a higher speed than gzip while compressing as
well as bzip2.")
(license (list license:gpl3+
license:public-domain)))) ; most files in lzma/
+
+(define-public snappy
+ (package
+ (name "snappy")
+ (version "1.1.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/google/snappy/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "04lc9n1fr4kak8yd68v61w561zcbykfyj9f745smva8hcn0hyk7r"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'autoconf
+ (lambda _
+ (zero? (system* "autoreconf" "-vfi")))))))
+ (home-page "https://github.com/open-source-parsers/jsoncpp")
+ (synopsis "Fast compressor/decompressor")
+ (description "Snappy is a compression/decompression library. It does not
+aim for maximum compression, or compatibility with any other compression library;
+instead, it aims for very high speeds and reasonable compression. For instance,
+compared to the fastest mode of zlib, Snappy is an order of magnitude faster
+for most inputs, but the resulting compressed files are anywhere from 20% to
+100% bigger.")
+ (license license:asl2.0)))
--
2.9.0
Alex Kost
2016-08-16 19:45:30 UTC
Permalink
Post by David Craven
* gnu/packages/compression.scm (snappy): New variable.
---
gnu/packages/compression.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index e63c1af..cd1866b 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -11,6 +11,7 @@
;;;
;;; This file is part of GNU Guix.
;;;
@@ -871,3 +872,38 @@ even LZMA can provide, or a higher speed than gzip while compressing as
well as bzip2.")
(license (list license:gpl3+
license:public-domain)))) ; most files in lzma/
+
+(define-public snappy
+ (package
+ (name "snappy")
+ (version "1.1.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/google/snappy/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "04lc9n1fr4kak8yd68v61w561zcbykfyj9f745smva8hcn0hyk7r"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'autoconf
+ (lambda _
+ (zero? (system* "autoreconf" "-vfi")))))))
+ (home-page "https://github.com/open-source-parsers/jsoncpp")
I think you meant "https://github.com/google/snappy"

Also there is a real release that shouldn't require autoreconf phase:
<https://github.com/google/snappy/releases/download/1.1.3/snappy-1.1.3.tar.gz>
Did you try using it?
Post by David Craven
+ (synopsis "Fast compressor/decompressor")
+ (description "Snappy is a compression/decompression library. It does not
+aim for maximum compression, or compatibility with any other compression library;
+instead, it aims for very high speeds and reasonable compression. For instance,
+compared to the fastest mode of zlib, Snappy is an order of magnitude faster
+for most inputs, but the resulting compressed files are anywhere from 20% to
+100% bigger.")
+ (license license:asl2.0)))
--
Alex
David Craven
2016-08-16 18:39:16 UTC
Permalink
* gnu/packages/qt.scm (qtquickcontrols2): New variable.
---
gnu/packages/qt.scm | 17 +++++++++++++++++
1 file changed, 17 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index ca777dd..65b6d82 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -819,6 +819,23 @@ developers using C++ or QML, a CSS & JavaScript like language.")
`(("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)))))

+(define-public qtquickcontrols2
+ (package (inherit qtsvg)
+ (name "qtquickcontrols2")
+ (version "5.6.1-1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://download.qt.io/official_releases/qt/"
+ (version-major+minor version) "/" version
+ "/submodules/" name "-opensource-src-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0wfa2xcqsvx3zihd5nb9f9qhq0xn14c03sw1qdymzfsryqwmk4ac"))))
+ (inputs
+ `(("qtbase" ,qtbase)
+ ("qtdeclarative" ,qtdeclarative)))))
+
(define-public python-sip
(package
(name "python-sip")
--
2.9.0
David Craven
2016-08-16 18:39:25 UTC
Permalink
* gnu/packages/kde-frameworks.scm (modemmanager-qt)
[propagated-inputs]: Add MODEM-MANAGER.
[inputs]: Remove MODEM-MANAGER.
---
gnu/packages/kde-frameworks.scm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 61ed4aa..e08b8cf 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -898,9 +898,10 @@ lower level classes for interaction with the X Windowing System.")
`(("extra-cmake-modules" ,extra-cmake-modules)
("dbus" ,dbus)
("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ `(("modem-manager", modem-manager)))
(inputs
- `(("modem-manager", modem-manager)
- ("qtbase" ,qtbase)))
+ `(("qtbase" ,qtbase)))
(arguments
`(#:phases
(modify-phases %standard-phases
--
2.9.0
David Craven
2016-08-16 18:39:26 UTC
Permalink
* gnu/packages/gnome.scm (mobile-broadband-provider-info): New variable.
---
gnu/packages/gnome.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 4a0be01..7bc0445 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -21,6 +21,7 @@
;;; Copyright © 2016 Leo Famulari <***@famulari.name>
;;; Copyright © 2016 Alex Griffin <***@ajgrf.com>
;;; Copyright © 2016 ng0 <***@we.make.ritual.n0.is>
+;;; Copyright © 2016 David Craven <***@craven.ch>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -4460,6 +4461,27 @@ devices, and provides VPN integration with a variety of different VPN
services.")
(license license:gpl2+)))

+(define-public mobile-broadband-provider-info
+ (package
+ (name "mobile-broadband-provider-info")
+ (version "20151214")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://gnome/sources/"
+ "mobile-broadband-provider-info/" version "/"
+ "mobile-broadband-provider-info-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1905nab1h8p4hx0m1w0rn4mkg9209x680dcr4l77bngy21pmvr4a"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f)) ; No tests
+ (home-page "https://wiki.gnome.org/Projects/NetworkManager")
+ (synopsis "Datbase of broadband connection configuration")
+ (description "Datbase of broadband connection configuration.")
+ (license license:public-domain)))
+
(define-public network-manager-applet
(package
(name "network-manager-applet")
--
2.9.0
Danny Milosavljevic
2016-08-16 19:53:33 UTC
Permalink
Post by David Craven
+ (synopsis "Datbase of broadband connection configuration")
+ (description "Datbase of broadband connection configuration.")
^^ a
David Craven
2016-08-17 09:37:08 UTC
Permalink
This same issue applies to the other patches in this patch set as well.
When adding new packages, our convention is simply to write "gnu: Add
<package-name>."
:thumbs up:
David Craven
2016-08-16 18:39:23 UTC
Permalink
* gnu/packages/freedesktop.scm (wayland-protocols): New variable.
---
gnu/packages/freedesktop.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 0262d0a..a24d8fa 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -295,6 +295,28 @@ application, or a wayland client itself. The clients can be traditional
applications, X servers (rootless or fullscreen) or other display servers.")
(license license:x11)))

+(define-public wayland-protocols
+ (package
+ (name "wayland-protocols")
+ (version "1.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://wayland.freedesktop.org/releases/"
+ "wayland-protocols-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0wpm7mz7ww6nn3vrgz7a9iyk7mk6za73wnq0n54lzl8yq8irljh1"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("wayland" ,wayland)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (synopsis "Wayland protocols")
+ (description "Contains Xml definitions of the wayland protocols.")
+ (home-page "https://wayland.freedesktop.org")
+ (license license:expat)))
+
(define-public exempi
(package
(name "exempi")
--
2.9.0
Danny Milosavljevic
2016-08-16 19:51:41 UTC
Permalink
Post by David Craven
+ (inputs
+ `(("wayland" ,wayland)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (synopsis "Wayland protocols")
+ (description "Contains Xml definitions of the wayland protocols.")
^XML ^Wayland

If it only contains XML definitions of the Wayland protocols why does it need "wayland" and "pkg-config". It probably does something else, too. I can see that it uses wayland-scanner for something. I suggest to update the description.

Otherwise LGTM!
Alex Kost
2016-08-16 20:02:43 UTC
Permalink
Post by David Craven
* gnu/packages/freedesktop.scm (wayland-protocols): New variable.
---
gnu/packages/freedesktop.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 0262d0a..a24d8fa 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -295,6 +295,28 @@ application, or a wayland client itself. The clients can be traditional
applications, X servers (rootless or fullscreen) or other display servers.")
(license license:x11)))
+(define-public wayland-protocols
+ (package
+ (name "wayland-protocols")
+ (version "1.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://wayland.freedesktop.org/releases/"
+ "wayland-protocols-" version ".tar.xz"))
Please fix indentation here (and in other packages)
Post by David Craven
+ (sha256
+ (base32
+ "0wpm7mz7ww6nn3vrgz7a9iyk7mk6za73wnq0n54lzl8yq8irljh1"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("wayland" ,wayland)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (synopsis "Wayland protocols")
+ (description "Contains Xml definitions of the wayland protocols.")
Descriptions should contain full sentences, like:

"This package contains XML definitions of the Wayland protocols."
Post by David Craven
+ (home-page "https://wayland.freedesktop.org")
+ (license license:expat)))
+
(define-public exempi
(package
(name "exempi")
--
Alex
David Craven
2016-08-16 18:39:22 UTC
Permalink
* gnu/packages/xorg.scm (lndir): New variable.
---
gnu/packages/xorg.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index b24e437..1e7da68 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -133,6 +133,31 @@ projects. Software developers are encouraged to migrate software to the GNU
autotools system.")
(license license:x11)))

+(define-public lndir
+ (package
+ (name "lndir")
+ (version "1.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://xorg/individual/util/lndir-"
+ version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "0pdngiy8zdhsiqx2am75yfcl36l7kd7d7nl0rss8shcdvsqgmx29"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("xproto" ,xproto)))
+ (home-page "http://www.x.org")
+ (synopsis "Symlink directory into tree")
+ (description "Create a shadow directory of symbolic links to another
+directory tree.")
+ (license license:x11)))
+
(define-public bdftopcf
(package
(name "bdftopcf")
--
2.9.0
Alex Kost
2016-08-16 19:53:49 UTC
Permalink
Post by David Craven
* gnu/packages/xorg.scm (lndir): New variable.
Nice program, I didn't know about it, thanks!
Post by David Craven
---
gnu/packages/xorg.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index b24e437..1e7da68 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -133,6 +133,31 @@ projects. Software developers are encouraged to migrate software to the GNU
autotools system.")
(license license:x11)))
+(define-public lndir
+ (package
+ (name "lndir")
+ (version "1.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://xorg/individual/util/lndir-"
+ version
+ ".tar.bz2"))
The patch looks good to me, except the indentation of this
(string-append ...). I usually write 'source' fields like this:

(source (origin
(method url-fetch)
(uri (string-append "mirror://xorg/individual/util/lndir-"
version ".tar.bz2"))
(sha256
(base32
"0pdngiy8zdhsiqx2am75yfcl36l7kd7d7nl0rss8shcdvsqgmx29"))))

But this is not a big deal, of course :-)
Post by David Craven
+ (sha256
+ (base32
+ "0pdngiy8zdhsiqx2am75yfcl36l7kd7d7nl0rss8shcdvsqgmx29"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("xproto" ,xproto)))
+ (home-page "http://www.x.org")
+ (synopsis "Symlink directory into tree")
+ (description "Create a shadow directory of symbolic links to another
+directory tree.")
+ (license license:x11)))
+
(define-public bdftopcf
(package
(name "bdftopcf")
--
Alex
David Craven
2016-08-16 18:39:34 UTC
Permalink
* gnu/packages/finance.scm (bitcoin-core)[inputs]: Add QTBASE. Remove QT.
---
gnu/packages/finance.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 179e325..21a2276 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -67,7 +67,7 @@
("miniupnpc" ,miniupnpc)
("openssl" ,openssl)
("protobuf" ,protobuf)
- ("qt" ,qt)))
+ ("qtbase" ,qtbase)))
(arguments
`(#:configure-flags
(list
--
2.9.0
Danny Milosavljevic
2016-08-16 19:23:41 UTC
Permalink
LGTM!
David Craven
2016-08-16 18:39:24 UTC
Permalink
* gnu/packages/kde-frameworks.scm (networkmanager-qt)
[propagated-inputs]: Add NETWORK-MANAGER.
[inputs]: Remove NETWORK-MANAGER.
---
gnu/packages/kde-frameworks.scm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index dbec5a3..61ed4aa 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -934,9 +934,10 @@ messages.")
`(("extra-cmake-modules" ,extra-cmake-modules)
("dbus" ,dbus)
("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ `(("network-manager", network-manager)))
(inputs
- `(("network-manager", network-manager)
- ("qtbase" ,qtbase)))
+ `(("qtbase" ,qtbase)))
(arguments
`(#:phases
(modify-phases %standard-phases
--
2.9.0
Alex Kost
2016-08-16 20:07:17 UTC
Permalink
Post by David Craven
* gnu/packages/kde-frameworks.scm (networkmanager-qt)
[propagated-inputs]: Add NETWORK-MANAGER.
[inputs]: Remove NETWORK-MANAGER.
I would write 'network-manager' instead of NETWORK-MANAGER.

Also there should be a reason for propagating (probably written as a
comment). Ideally it should be avoided.
Post by David Craven
---
gnu/packages/kde-frameworks.scm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index dbec5a3..61ed4aa 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -934,9 +934,10 @@ messages.")
`(("extra-cmake-modules" ,extra-cmake-modules)
("dbus" ,dbus)
("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ `(("network-manager", network-manager)))
↑↑
BTW please fix the comma placement here:
↓↓
`(("network-manager" ,network-manager)))
Post by David Craven
(inputs
- `(("network-manager", network-manager)
- ("qtbase" ,qtbase)))
+ `(("qtbase" ,qtbase)))
(arguments
`(#:phases
(modify-phases %standard-phases
--
Alex
David Craven
2016-08-16 18:39:29 UTC
Permalink
* gnu/packages/gstreamer.scm (gstreamer)[arguments]: Add symlink-gstconfig.h
phase.
---
gnu/packages/gstreamer.scm | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index bd99880..54919cd 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -113,7 +113,16 @@ arrays of data.")
`(#:configure-flags
(list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
- "/share/gtk-doc/html"))))
+ "/share/gtk-doc/html"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'symlink-gstconfig.h
+ (lambda* (#:key outputs #:allow-other-keys)
+ (symlink
+ (string-append (assoc-ref outputs "out")
+ "/lib/gstreamer-1.0/include/gst/gstconfig.h")
+ (string-append (assoc-ref outputs "out")
+ "/include/gstreamer-1.0/gst/gstconfig.h")))))))
(propagated-inputs `(("glib" ,glib))) ; required by gstreamer-1.0.pc.
(native-inputs
`(("bison" ,bison)
--
2.9.0
Mark H Weaver
2016-08-17 09:28:10 UTC
Permalink
Post by David Craven
* gnu/packages/gstreamer.scm (gstreamer)[arguments]: Add symlink-gstconfig.h
phase.
What is the reason for this change? Would it be appropriate to submit a
bug report upstream to add this to their "make install"?

Mark
Post by David Craven
---
gnu/packages/gstreamer.scm | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index bd99880..54919cd 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -113,7 +113,16 @@ arrays of data.")
`(#:configure-flags
(list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
- "/share/gtk-doc/html"))))
+ "/share/gtk-doc/html"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'symlink-gstconfig.h
+ (lambda* (#:key outputs #:allow-other-keys)
+ (symlink
+ (string-append (assoc-ref outputs "out")
+ "/lib/gstreamer-1.0/include/gst/gstconfig.h")
+ (string-append (assoc-ref outputs "out")
+ "/include/gstreamer-1.0/gst/gstconfig.h")))))))
(propagated-inputs `(("glib" ,glib))) ; required by gstreamer-1.0.pc.
(native-inputs
`(("bison" ,bison)
David Craven
2016-08-17 09:35:41 UTC
Permalink
Post by Mark H Weaver
What is the reason for this change? Would it be appropriate to submit a
bug report upstream to add this to their "make install"?
The reason is because applications may contain #include <gst/gstconfig.h>,
but gstconfig.h was moved to the lib directory because it contains "platform
specific information".

What do you suggest?
Mark H Weaver
2016-08-17 09:57:09 UTC
Permalink
Post by David Craven
Post by Mark H Weaver
What is the reason for this change? Would it be appropriate to submit a
bug report upstream to add this to their "make install"?
The reason is because applications may contain #include <gst/gstconfig.h>,
but gstconfig.h was moved to the lib directory because it contains "platform
specific information".
What do you suggest?
The pkgconfig file for gstreamer, $out/lib/pkgconfig/pkgconfig-1.0.pc,
includes this:

Cflags: -I${includedir} -I${libdir}/gstreamer-1.0/include

Where ${libdir} is ${prefix}/lib. So, the include path needed to find
<gst/gstconfig.h> should automatically be included by non-broken build
systems.

What application(s) are you aware of that are unable to find
<gst/gstconfig.h>?

In general, we should stick to upstream packaging unless it is clearly
broken or there is a compelling reason to deviate. In this case, if an
application can't find <gst/gstconfig.h>, then it would seem to have a
buggy build system, and we should fix the problem there.

What do you think?

Thanks,
Mark
David Craven
2016-08-17 10:10:34 UTC
Permalink
Post by Mark H Weaver
In general, we should stick to upstream packaging unless it is clearly
broken or there is a compelling reason to deviate. In this case, if an
application can't find <gst/gstconfig.h>, then it would seem to have a
buggy build system, and we should fix the problem there.
The qt-gstreamer package doesn't build without this, but I agree that the
problem is with the qt-gstreamer package and not gstreamer and should
therefore be fixed there.
David Craven
2016-08-16 18:39:27 UTC
Permalink
* gnu/packages/polkit.scm (polkit-qt)[propagated-inputs]: Use QTBASE instead
of QT.
---
gnu/packages/polkit.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/polkit.scm b/gnu/packages/polkit.scm
index 08b753a..e224ca2 100644
--- a/gnu/packages/polkit.scm
+++ b/gnu/packages/polkit.scm
@@ -142,7 +142,7 @@ for unprivileged applications.")
(inputs
`(("polkit" ,polkit)))
(propagated-inputs
- `(("qt" ,qt))) ; qt-4 according to the pkg-config files
+ `(("qtbase" ,qtbase)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(arguments
--
2.9.0
Danny Milosavljevic
2016-08-16 19:17:56 UTC
Permalink
Post by David Craven
- `(("qt" ,qt))) ; qt-4 according to the pkg-config files
+ `(("qtbase" ,qtbase)))
That won't be qt-4 anymore. Is that OK?
Leo Famulari
2016-08-16 21:00:59 UTC
Permalink
Post by Danny Milosavljevic
Post by David Craven
- `(("qt" ,qt))) ; qt-4 according to the pkg-config files
+ `(("qtbase" ,qtbase)))
That won't be qt-4 anymore. Is that OK?
It won't have been using qt-4 anyways, since the qt variable has always
been ***@5. qt-4 was added after ***@5.
David Craven
2016-08-16 18:39:31 UTC
Permalink
* gnu/packages/kde-frameworks.scm (kwidgetsaddons)[arguments]:
Enable tests. Set Xvfb pixel depth to 24 bits.
---
gnu/packages/kde-frameworks.scm | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index e08b8cf..113257e 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -817,19 +817,19 @@ represented by a QPoint or a QSize.")
(inputs
`(("qtbase" ,qtbase)))
(arguments
- `(#:tests? #f ; FIXME: libGL error: failed to load driver: swrast.
- #:phases
+ `(#:phases
(modify-phases %standard-phases
(add-before 'check 'check-setup
(lambda* _
- (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; enable debug output
- (setenv "LIBGL_DEBUG" "verbose") ; enable debug output
(setenv "DBUS_FATAL_WARNINGS" "0")))
(add-before 'check 'start-xorg-server
(lambda* (#:key inputs #:allow-other-keys)
;; The test suite requires a running X server.
+ ;; Xvfb doesn't have proper glx support and needs a pixeldepth
+ ;; of 24 bit to avoid "libGL error: failed to load driver: swrast"
+ ;; "Could not initialize GLX"
(system (string-append (assoc-ref inputs "xorg-server")
- "/bin/Xvfb :1 &"))
+ "/bin/Xvfb :1 -screen 0 640x480x24 &"))
(setenv "DISPLAY" ":1")
#t)))))
(home-page "https://community.kde.org/Frameworks")
--
2.9.0
Danny Milosavljevic
2016-08-16 19:22:26 UTC
Permalink
Post by David Craven
(system (string-append (assoc-ref inputs "xorg-server")
- "/bin/Xvfb :1 &"))
+ "/bin/Xvfb :1 -screen 0 640x480x24 &"))
Might

(setenv "QT_QPA_PLATFORM" "offscreen")

also be enough? Starting an Xvfb server and then not stopping it again is kinda ... extreme. Also, who says that :1 is free?

I can see that it was there before, but just to be sure...
David Craven
2016-08-16 18:39:30 UTC
Permalink
* gnu/packages/gstreamer.scm (qt-gstreamer): New variable.
---
gnu/packages/gstreamer.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 54919cd..ee3c9e4 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -24,11 +24,13 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages audio)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages curl)
#:use-module (gnu packages compression)
@@ -467,3 +469,43 @@ be used by Python applications using GStreamer.")
(propagated-inputs
`(("gst-plugins-base" ,gst-plugins-base)
("python-pygobject" ,python2-pygobject)))))
+
+(define-public qt-gstreamer
+ (package
+ (name "qt-gstreamer")
+ (version "1.2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://gstreamer.freedesktop.org/src/qt-gstreamer/"
+ "qt-gstreamer-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1m4g5vcs8r4b8dzndr9a5w0rrawdyinvjkacis8vxnfafhmljfwz"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("glib:bin" ,glib "bin")
+ ("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ `(("boost" ,boost)))
+ (inputs
+ `(("glib" ,glib)
+ ("gstreamer" ,gstreamer)
+ ("gst-libav" ,gst-libav)
+ ("gst-plugins-base" ,gst-plugins-base)
+ ("qtbase" ,qtbase)
+ ("qtdeclarative" ,qtdeclarative)))
+ (arguments
+ `(#:configure-flags
+ '("-DQT_VERSION=5"
+ "-DUSE_GST_PLUGIN_DIR=OFF"
+ "-DUSE_QT_PLUGIN_DIR=OFF")
+ #:validate-runpath? #f))
+ (home-page "https://gstreamer.freedesktop.org/modules/qt-gstreamer.html")
+ (synopsis "C++ bindings for GStreamer with a Qt-style API")
+ (description "QtGStreamer is a set of libraries providing C++ bindings for
+GStreamer with a Qt-style API, plus some helper classes and elements for
+integrating GStreamer better in Qt applications. The goal of this module is to
+allow easy use of GStreamer for applications targetting MeeGo Mobile or the KDE
+desktop.")
+ (license license:lgpl2.1+)))
--
2.9.0
Leo Famulari
2016-08-16 21:08:03 UTC
Permalink
Post by David Craven
* gnu/packages/gstreamer.scm (qt-gstreamer): New variable.
+ #:validate-runpath? #f))
My understanding is that if the runpath validator fails, then something is wrong with the
package. Why is it disabled here?
Eric Bavier
2016-08-16 22:28:25 UTC
Permalink
Hello David,

You can remove the "gstreamer: " bit from the commit subject.

On Tue, 16 Aug 2016 20:39:30 +0200
Post by David Craven
* gnu/packages/gstreamer.scm (qt-gstreamer): New variable.
---
gnu/packages/gstreamer.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 54919cd..ee3c9e4 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -24,11 +24,13 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages audio)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages curl)
#:use-module (gnu packages compression)
@@ -467,3 +469,43 @@ be used by Python applications using GStreamer.")
(propagated-inputs
`(("gst-plugins-base" ,gst-plugins-base)
("python-pygobject" ,python2-pygobject)))))
+
+(define-public qt-gstreamer
+ (package
+ (name "qt-gstreamer")
+ (version "1.2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://gstreamer.freedesktop.org/src/qt-gstreamer/"
+ "qt-gstreamer-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1m4g5vcs8r4b8dzndr9a5w0rrawdyinvjkacis8vxnfafhmljfwz"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("glib:bin" ,glib "bin")
+ ("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ `(("boost" ,boost)))
Is boost propagated due to header references?
Post by David Craven
+ (inputs
+ `(("glib" ,glib)
+ ("gstreamer" ,gstreamer)
+ ("gst-libav" ,gst-libav)
+ ("gst-plugins-base" ,gst-plugins-base)
+ ("qtbase" ,qtbase)
+ ("qtdeclarative" ,qtdeclarative)))
+ (arguments
+ `(#:configure-flags
+ '("-DQT_VERSION=5"
+ "-DUSE_GST_PLUGIN_DIR=OFF"
+ "-DUSE_QT_PLUGIN_DIR=OFF")
+ #:validate-runpath? #f))
As Leo mentioned, what is the reason for disabling runpath validation?
Post by David Craven
+ (home-page "https://gstreamer.freedesktop.org/modules/qt-gstreamer.html")
+ (synopsis "C++ bindings for GStreamer with a Qt-style API")
+ (description "QtGStreamer is a set of libraries providing C++ bindings for
+GStreamer with a Qt-style API, plus some helper classes and elements for
+integrating GStreamer better in Qt applications. The goal of this module is to
+allow easy use of GStreamer for applications targetting MeeGo Mobile or the KDE
+desktop.")
+ (license license:lgpl2.1+)))
David Craven
2016-08-16 18:39:33 UTC
Permalink
* gnu/packages/engineering.scm (fritzing)[inputs]: Add QTBASE, QTSERIALPORT,
QTSVG. Remove QT.
---
gnu/packages/engineering.scm | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index f6c3d5f..dad38e0 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -388,7 +388,9 @@ multipole-accelerated algorithm.")
(assoc-ref outputs "out"))
"phoenix.pro"))))))))
(inputs
- `(("qt" ,qt)
+ `(("qtbase" ,qtbase)
+ ("qtserialport" ,qtserialport)
+ ("qtsvg" ,qtsvg)
("boost" ,boost)
("zlib" ,zlib)
("fritzing-parts-db"
--
2.9.0
Danny Milosavljevic
2016-08-16 19:17:04 UTC
Permalink
LGTM.
David Craven
2016-08-16 18:39:28 UTC
Permalink
* gnu/packages/gstreamer.scm (define-module): Import guix licenses with #:prefix
license:.
(orc): Likewise.
(gstreamer): Likewise.
(gst-plugins-base): Likewise.
(gst-plugins-good): Likewise.
(gst-plugins-bad): Likewise.
(gst-plugins-ugly): Likewise.
(gst-libav): Likewise.
(python-gst): Likewise.
---
gnu/packages/gstreamer.scm | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index a39a3b4..bd99880 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -21,7 +21,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages gstreamer)
- #:use-module ((guix licenses) #:select (lgpl2.0+ lgpl2.1+ bsd-2 bsd-3 gpl2+))
+ #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
@@ -92,7 +92,7 @@ associated tools for compiling and executing simple programs that operate on
arrays of data.")
;; The source code implementing the Marsenne Twister algorithm is licensed
;; under the 3-clause BSD license, the rest is under 2-clause BSD license.
- (license (list bsd-2 bsd-3))))
+ (license (list license:bsd-2 license:bsd-3))))

(define-public gstreamer
(package
@@ -140,7 +140,7 @@ transparently. Developers can add new codecs and filters by writing a
simple plugin with a clean, generic interface.

This package provides the core library and elements.")
- (license lgpl2.0+)))
+ (license license:lgpl2.0+)))

(define-public gst-plugins-base
(package
@@ -192,7 +192,7 @@ This package provides the core library and elements.")
"Plugins for the GStreamer multimedia library")
(description "This package provides an essential exemplary set of plug-ins
for the GStreamer multimedia library.")
- (license lgpl2.0+)))
+ (license license:lgpl2.0+)))


(define-public gst-plugins-good
@@ -258,7 +258,7 @@ for the GStreamer multimedia library.")
(description "GStreamer Good Plug-ins is a set of plug-ins for the
GStreamer multimedia library. This set contains those plug-ins which the
developers consider to have good quality code and correct functionality.")
- (license lgpl2.0+)))
+ (license license:lgpl2.0+)))

(define-public gst-plugins-bad
(package
@@ -331,7 +331,7 @@ developers consider to have good quality code and correct functionality.")
(description
"GStreamer Bad Plug-ins is a set of plug-ins whose quality aren't up to
par compared to the rest.")
- (license lgpl2.0+)))
+ (license license:lgpl2.0+)))

(define-public gst-plugins-ugly
(package
@@ -369,7 +369,7 @@ par compared to the rest.")
(description "GStreamer Ugly Plug-ins. This set contains those plug-ins
which the developers consider to have good quality code but that might pose
distribution problems in some jurisdictions, e.g. due to patent threats.")
- (license lgpl2.0+)))
+ (license license:lgpl2.0+)))

(define-public gst-libav
(package
@@ -406,7 +406,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.")
(description
"This GStreamer plugin supports a large number of audio and video
compression formats through the use of the libav library.")
- (license gpl2+)))
+ (license license:gpl2+)))

(define-public python-gst
(package
@@ -446,7 +446,7 @@ compression formats through the use of the libav library.")
(description
"This package contains GObject Introspection overrides for Python that can
be used by Python applications using GStreamer.")
- (license lgpl2.1+)
+ (license license:lgpl2.1+)
(properties `((python2-variant . ,(delay python2-gst))))))

(define-public python2-gst
--
2.9.0
Danny Milosavljevic
2016-08-16 19:18:59 UTC
Permalink
LGTM.
Alex Kost
2016-08-16 20:15:07 UTC
Permalink
Post by David Craven
* gnu/packages/gstreamer.scm (define-module): Import guix licenses with #:prefix
license:.
(orc): Likewise.
(gstreamer): Likewise.
(gst-plugins-base): Likewise.
(gst-plugins-good): Likewise.
(gst-plugins-bad): Likewise.
(gst-plugins-ugly): Likewise.
(gst-libav): Likewise.
(python-gst): Likewise.
^^
Please remove the leading spaces before "(...): Likewise."

I like this patch. However in general (a question for Guix people): is
there a reason to use #:select for licenses? Or would it be better to
use #:prefix everywhere? If the latter (my preference), I think it
would be good to make this "#:select"→"#:prefix" change in a single
patch instead of making separate patches for different modules.
--
Alex
David Craven
2016-08-16 20:29:46 UTC
Permalink
Post by Alex Kost
I like this patch. However in general (a question for Guix people): is
there a reason to use #:select for licenses? Or would it be better to
use #:prefix everywhere? If the latter (my preference), I think it
would be good to make this "#:select"→"#:prefix" change in a single
patch instead of making separate patches for different modules.
I think that #:select has it's purpose. It helps increase readability when
one or two things are selected for example in bootstrap.scm.

#:use-module ((guix store) #:select (add-to-store add-text-to-store))
#:use-module ((guix derivations) #:select (derivation))
#:use-module ((guix utils) #:select (gnu-triplet->nix-system))

However when it comes to licenses it's verbose and unnecessary. I'll
amend the commit tomorrow to cover all cases where #:select is used
for importing licenses.
Eric Bavier
2016-08-16 22:38:03 UTC
Permalink
On Tue, 16 Aug 2016 23:15:07 +0300
Post by Alex Kost
Post by David Craven
* gnu/packages/gstreamer.scm (define-module): Import guix licenses with #:prefix
license:.
(orc): Likewise.
(gstreamer): Likewise.
(gst-plugins-base): Likewise.
(gst-plugins-good): Likewise.
(gst-plugins-bad): Likewise.
(gst-plugins-ugly): Likewise.
(gst-libav): Likewise.
(python-gst): Likewise.
^^
Please remove the leading spaces before "(...): Likewise."
In fact, I think this is a case where one could simple say something
like "Adjust license references".
Post by Alex Kost
I like this patch. However in general (a question for Guix people): is
there a reason to use #:select for licenses? Or would it be better to
use #:prefix everywhere? If the latter (my preference), I think it
would be good to make this "#:select"→"#:prefix" change in a single
patch instead of making separate patches for different modules.
I don't think it's something that needs to be mandated. If we were to
use '#:prefix license:' everywhere, we might as well save the trouble
and just rename everything in (guix license) with the
prefix. But I don't think this is necessary. There are instances of
importing with '#:hide' even, which I think has its place.

`~Eric
David Craven
2016-08-17 08:02:26 UTC
Permalink
I wonder who started the #:prefix/#:select thing in the first place. I
don't think that anything from guix licenses is likely to cause a name
collision. Maybe it's best to remove the #:prefix entirely?
Danny Milosavljevic
2016-08-17 08:47:51 UTC
Permalink
On Wed, 17 Aug 2016 10:02:26 +0200
Post by David Craven
I wonder who started the #:prefix/#:select thing in the first place. I
don't think that anything from guix licenses is likely to cause a name
collision. Maybe it's best to remove the #:prefix entirely?
Expat causes a name collision.

Also nmap, boost, cecill-c, freetype, imlib2, openldap2.0, openssl, ruby, tcl/tk, vim, x11, zlib.

Should there be new licenses it's a good guess it will be named like the package it originated in.

I would not advise removing the prefix. If anything, use it everywhere.
David Craven
2016-08-17 08:53:23 UTC
Permalink
Post by Danny Milosavljevic
Expat causes a name collision.
Also nmap, boost, cecill-c, freetype, imlib2, openldap2.0, openssl, ruby, tcl/tk, vim, x11, zlib.
Should there be new licenses it's a good guess it will be named like the package it originated in.
I would not advise removing the prefix. If anything, use it everywhere.
Ah, I was thinking more about lgpl2.1+ and the sorts... So is it a
good idea to prefix all licenses in guix licenses itself (as Eric
mentioned), and be done with it?
Danny Milosavljevic
2016-08-17 09:17:23 UTC
Permalink
On Wed, 17 Aug 2016 10:53:23 +0200
Post by David Craven
Ah, I was thinking more about lgpl2.1+ and the sorts... So is it a
good idea to prefix all licenses in guix licenses itself (as Eric
mentioned), and be done with it?
That would be a massive refactoring - but can be done eventually.

I would just #:prefix license: whenever one touches something that caused these problems. No need to modify everything in one go.
David Craven
2016-08-17 09:20:52 UTC
Permalink
Post by Danny Milosavljevic
That would be a massive refactoring - but can be done eventually.
I don't think it would be too hard, most work can be done through
applying a regex to the entire project and running the testsuite to
find the cases where it didn't work. I did this on the python.scm
file...

So then I'll leave the patch as it is?
David Craven
2016-08-16 18:39:35 UTC
Permalink
* gnu/packages/gstreamer.scm (gst-plugins-bad)[inputs]: Add QTBASE. Remove QT.
---
gnu/packages/gstreamer.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index ee3c9e4..0d8a74d 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -334,7 +334,7 @@ developers consider to have good quality code and correct functionality.")
("openssl" ,openssl)
("opus" ,opus)
("orc" ,orc)
- ("qt" ,qt)
+ ("qtbase" ,qtbase)
("soundtouch" ,soundtouch)
("wayland" ,wayland)))
(home-page "http://gstreamer.freedesktop.org/")
--
2.9.0
Danny Milosavljevic
2016-08-16 19:23:54 UTC
Permalink
LGTM!
David Craven
2016-08-16 18:39:36 UTC
Permalink
* gnu/packages/pdf.scm (poppler-qt)[inputs]: Add QTBASE. Remove QT.
---
gnu/packages/pdf.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 439adb9..4b08048 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -118,7 +118,7 @@
(define-public poppler-qt5
(package (inherit poppler)
(name "poppler-qt5")
- (inputs `(("qt" ,qt)
+ (inputs `(("qtbase" ,qtbase)
,@(package-inputs poppler)))
(synopsis "Qt5 frontend for the Poppler PDF rendering library")))
--
2.9.0
Danny Milosavljevic
2016-08-16 19:24:21 UTC
Permalink
LGTM!
David Craven
2016-08-16 18:39:38 UTC
Permalink
* gnu/packages/qt.scm
(qtbase): Update it.
(qtsvg): Update it.
(qtimageformats): Update it.
(qtx11extras): Update it.
(qtxmlpatterns): Update it.
(qtdeclarative): Update it.
(qtconnectivity): Update it.
(qtwebsockets): Update it.
(qtsensors): Update it.
(qtmultimedia): Update it.
(qtwayland): Update it.
(qtserialport): Update it.
(qtwebchannel): Update it.
(qtlocation): Update it.
(qttools): Update it.
(qtscript): Update it.
(qtquickcontrols): Update it.
(qtquickcontrols2): Update it.
(qtgraphicaleffects): Update it.
---
gnu/packages/qt.scm | 78 ++++++++++++++++++++++++++---------------------------
1 file changed, 39 insertions(+), 39 deletions(-)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 021bb70..a7eee7c 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -313,7 +313,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtbase
(package
(name "qtbase")
- (version "5.6.1-1")
+ (version "5.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -322,7 +322,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "0fbwprlhqmdyhh2wb9122fcpq7pbil530iak482b9sy5gqs7i5ij"))
+ "0ip6xnizsn269r4s1nq9lkx8cdxkjqr1fidwrj3sa8xb7h96syry"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -484,7 +484,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtsvg
(package (inherit qtbase)
(name "qtsvg")
- (version "5.6.1-1")
+ (version "5.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -493,7 +493,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "1w0jvhgaiddafcms2nv8wl1klg07lncmjwm1zhdw3l6rxi9071sw"))))
+ "10fqrlqkiq83xhx79g8d2sjy7hjdnp28067z8f4byj7db81rzy51"))))
(propagated-inputs `())
(native-inputs `(("perl" ,perl)))
(inputs
@@ -518,7 +518,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtimageformats
(package (inherit qtsvg)
(name "qtimageformats")
- (version "5.6.1-1")
+ (version "5.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -527,7 +527,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "1p98acvsm3azka2by1ph4gdb31qbnndrr5k5wns4xk2d760y8ifc"))))
+ "1rb27x7i2pmvsck6wax2cg31gqpzaakciy45wm5l3lcl86j48czg"))))
(native-inputs `())
(inputs
`(("libmng" ,libmng)
@@ -540,7 +540,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtx11extras
(package (inherit qtsvg)
(name "qtx11extras")
- (version "5.6.1-1")
+ (version "5.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -549,7 +549,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "0yj5yg2dqkrwbgbicmk2rpqsagmi8dsffkrprpsj0fmkx4awhv5y"))))
+ "1yrkn8pqdbvbqykas3wx1vdfimhjkgx3s5jgdxib9dgmgyx6vjzw"))))
(native-inputs `(("perl" ,perl)))
(inputs
`(("mesa" ,mesa)
@@ -558,7 +558,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtxmlpatterns
(package (inherit qtsvg)
(name "qtxmlpatterns")
- (version "5.6.1-1")
+ (version "5.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -567,14 +567,14 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "1966rrk7f6c55k57j33rffdjs77kk4mawrnnl8yv1ckcirxc3np1"))))
+ "02z2qxamslg6sphnaykjcjfpypq4b69pb586s43vw4fplm72m21q"))))
(native-inputs `(("perl" ,perl)))
(inputs `(("qtbase" ,qtbase)))))

(define-public qtdeclarative
(package (inherit qtsvg)
(name "qtdeclarative")
- (version "5.6.1-1")
+ (version "5.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -583,7 +583,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "094gx5mzqzcga97y7ihf052b6i5iv512lh7m0702m5q94nsn1pqw"))))
+ "1x7rij423g5chlfd2kix54f393vxwjvdfsn1c7sybqmfycwn5pl6"))))
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config)
@@ -597,7 +597,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtconnectivity
(package (inherit qtsvg)
(name "qtconnectivity")
- (version "5.6.1-1")
+ (version "5.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -606,7 +606,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "0sr6sxp0q45pacs25knr28139xdrphcjgrwlksdhdpsryfw19mzi"))))
+ "00r7lc1w3snfp2qfqmviqzv0cw16zd8m1sfpvxvpl65yqmzcli4q"))))
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config)
@@ -618,7 +618,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtwebsockets
(package (inherit qtsvg)
(name "qtwebsockets")
- (version "5.6.1-1")
+ (version "5.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -627,7 +627,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "1fz0x8570zxc00a22skd848svma3p2g3xyxj14jq10559jihqqil"))))
+ "0hwb2l7iwf4wf7l95dli8j3b7h0nffp56skfg1x810kzj0df26vl"))))
(native-inputs
`(("perl" ,perl)
("qtdeclarative" ,qtdeclarative)))
@@ -636,7 +636,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtsensors
(package (inherit qtsvg)
(name "qtsensors")
- (version "5.6.1-1")
+ (version "5.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -645,7 +645,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "0kcrvf6vzn6g2v2m70f9r3raalzmfp48rwjlqhss3w84jfz3y04r"))))
+ "1gii6wg2xd3bkb86y5hgpmwcpl04xav030zscpl6fhscl9kcqg98"))))
(native-inputs
`(("perl" ,perl)
("qtdeclarative" ,qtdeclarative)))
@@ -654,7 +654,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtmultimedia
(package (inherit qtsvg)
(name "qtmultimedia")
- (version "5.6.1-1")
+ (version "5.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -663,7 +663,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "0paffx0614ivjbf87lr9klpbqik6r1pzbc14l41np6d9jv3dqa2f"))))
+ "0ndmhiflmyr144nq8drd5njsdi282ixsm4730q5n0ji2v9dp1bh5"))))
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config)
@@ -678,7 +678,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtwayland
(package (inherit qtsvg)
(name "qtwayland")
- (version "5.6.1-1")
+ (version "5.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -687,7 +687,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "1fnvgpi49ilds3ah9iizxj9qhhb5rnwqd9h03bhkwf0ydywv52c4"))))
+ "04dynjcr6gxi3hcqdf688a4hkabi2l17slpcx9k0f3dxygwcgf96"))))
(native-inputs
`(("glib" ,glib)
("perl" ,perl)
@@ -709,7 +709,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtserialport
(package (inherit qtsvg)
(name "qtserialport")
- (version "5.6.1-1")
+ (version "5.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -718,7 +718,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "135cbgghxk0c6dblmyyrw6znfb9m8sac9hhyc2dm6vq7vzy8id52"))))
+ "0rc2l14s59qskp16wqlkizfai32s41qlm7a86r3qahx28gc51qaw"))))
(native-inputs `(("perl" ,perl)))
(inputs
`(("qtbase" ,qtbase)
@@ -727,7 +727,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtwebchannel
(package (inherit qtsvg)
(name "qtwebchannel")
- (version "5.6.1-1")
+ (version "5.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -736,7 +736,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "10kys3ppjkj60fs1s335fdcpdsbxsjn6ibvm6zph9gqbncabd2l7"))))
+ "05lqfidlh1ahdd1j9y20p2037qbcq51zkdzj2m8fwhn7ghbwvd1s"))))
(native-inputs
`(("perl" ,perl)
("qtdeclarative" ,qtdeclarative)
@@ -746,7 +746,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtlocation
(package (inherit qtsvg)
(name "qtlocation")
- (version "5.6.1-1")
+ (version "5.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -755,18 +755,18 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "0my4pbcxa58yzvdh65l5qx99ln03chjr5c3ml5v37wfk7nx23k69"))))
+ "0rd898gndn41jrp78203lxd94ybfv693l0qg0myag4r46ikk69vh"))))
(native-inputs
`(("perl" ,perl)
("qtdeclarative" ,qtdeclarative)
- ;("qtquickcontrols" ,qtquickcontrols)
+ ("qtquickcontrols" ,qtquickcontrols)
("qtserialport" ,qtserialport)))
(inputs `(("qtbase" ,qtbase)))))

(define-public qttools
(package (inherit qtsvg)
(name "qttools")
- (version "5.6.1-1")
+ (version "5.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -775,7 +775,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "0haic027a2d7p7k8xz83fbvci4a4dln34360rlwgy7hlyy5m4nip"))))
+ "004m9l7bgh7qnncbyl3d5fkggdrqx58ib21xv4hflvvarxrssibg"))))
(native-inputs
`(("perl" ,perl)
("qtdeclarative" ,qtdeclarative)))
@@ -786,7 +786,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtscript
(package (inherit qtsvg)
(name "qtscript")
- (version "5.6.1-1")
+ (version "5.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -795,7 +795,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "1gini9483flqa9q4a4bl81bh7g5s408bycqykqhgbklmfd29y5lx"))))
+ "0040890p5ilyrmcpndz1hhp08x2ms5gw4lp4n5iax2a957yy2i4w"))))
(native-inputs
`(("perl" ,perl)
("qttools" ,qttools)))
@@ -805,7 +805,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtquickcontrols
(package (inherit qtsvg)
(name "qtquickcontrols")
- (version "5.6.1-1")
+ (version "5.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -814,7 +814,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "0cjzf844r7wi32ssc9vbw1a2m9hnr8c0i1p7yyljy962ifplf401"))))
+ "0cpcrmz9n5b4bgmshmk093lirl9xwqb23inchnai1zqg21vrmqfq"))))
(inputs
`(("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)))))
@@ -822,7 +822,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtquickcontrols2
(package (inherit qtsvg)
(name "qtquickcontrols2")
- (version "5.6.1-1")
+ (version "5.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -831,7 +831,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "0wfa2xcqsvx3zihd5nb9f9qhq0xn14c03sw1qdymzfsryqwmk4ac"))))
+ "0i8h933vhvx1bmniqdx0idg6vk82w9byd3dq0bb2phwjg5vv1xb3"))))
(inputs
`(("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)))))
@@ -839,7 +839,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtgraphicaleffects
(package (inherit qtsvg)
(name "qtgraphicaleffects")
- (version "5.6.1-1")
+ (version "5.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -848,7 +848,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "0560800fa9sd6dw1vk0ia9vq8ywdrwch2cpsi1vmh4iyxgwfr71b"))))
+ "1rwdjg5mk6xpadmxfq64xfp573zp5lrj9illb9105ra5wff565n8"))))
(inputs
`(("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)))))
--
2.9.0
Danny Milosavljevic
2016-08-16 19:41:56 UTC
Permalink
LGTM!
Mark H Weaver
2016-08-19 00:28:27 UTC
Permalink
Hi David,
Post by David Craven
* gnu/packages/qt.scm
(qtbase): Update it.
(qtsvg): Update it.
(qtimageformats): Update it.
(qtx11extras): Update it.
(qtxmlpatterns): Update it.
(qtdeclarative): Update it.
(qtconnectivity): Update it.
(qtwebsockets): Update it.
(qtsensors): Update it.
(qtmultimedia): Update it.
(qtwayland): Update it.
(qtserialport): Update it.
(qtwebchannel): Update it.
(qtlocation): Update it.
(qttools): Update it.
(qtscript): Update it.
(qtquickcontrols): Update it.
(qtquickcontrols2): Update it.
(qtgraphicaleffects): Update it.
Thank you for all of this! Hydra indicates that there are some
regressions. Can you take a look?

https://hydra.gnu.org/eval/109084#tabs-now-fail
https://hydra.gnu.org/eval/109084#tabs-new

Mark
David Craven
2016-08-19 08:56:47 UTC
Permalink
Post by Mark H Weaver
Thank you for all of this! Hydra indicates that there are some
regressions. Can you take a look?
https://hydra.gnu.org/eval/109084#tabs-now-fail
https://hydra.gnu.org/eval/109084#tabs-new
Ah, now I understand where the fun in distributing starts =P It may
take me a while... Aren't minor releases supposed to be backwards
compatible?
Mark H Weaver
2016-08-19 18:41:19 UTC
Permalink
Post by David Craven
Post by Mark H Weaver
Thank you for all of this! Hydra indicates that there are some
regressions. Can you take a look?
https://hydra.gnu.org/eval/109084#tabs-now-fail
https://hydra.gnu.org/eval/109084#tabs-new
Ah, now I understand where the fun in distributing starts =P It may
take me a while... Aren't minor releases supposed to be backwards
compatible?
I don't know, ask the Qt developers. Anyway, it's probably better to do
these kinds of upgrades on a separate branch to allow regressions to be
fixed without leaving 'master' broken in the meantime. We can ask hydra
to build another branch and check for regressions there before merging
to master.

Mark
David Craven
2016-08-19 18:45:52 UTC
Permalink
Yes, would have probably been better. I got sidetracked today, but I intend
to get it fixed over the weekend.
Post by Mark H Weaver
Post by David Craven
Post by Mark H Weaver
Thank you for all of this! Hydra indicates that there are some
regressions. Can you take a look?
https://hydra.gnu.org/eval/109084#tabs-now-fail
https://hydra.gnu.org/eval/109084#tabs-new
Ah, now I understand where the fun in distributing starts =P It may
take me a while... Aren't minor releases supposed to be backwards
compatible?
I don't know, ask the Qt developers. Anyway, it's probably better to do
these kinds of upgrades on a separate branch to allow regressions to be
fixed without leaving 'master' broken in the meantime. We can ask hydra
to build another branch and check for regressions there before merging
to master.
Mark
David Craven
2016-08-20 15:40:32 UTC
Permalink
Are we still using gcc 4.9 as our default compiler? I think that some
of the build failures could be caused by that. qt 5.7 requires a c11
compiler and gcc 4.9 still defaults to the c99 standard. Any
dependency on qt 5.7 also needs to be compiled with a c11 compiler.

Are there plans to upgrade the default gcc? I look into fixing the
packages temporarily.
Mark H Weaver
2016-08-20 18:50:03 UTC
Permalink
Post by David Craven
Are we still using gcc 4.9 as our default compiler? I think that some
of the build failures could be caused by that. qt 5.7 requires a c11
compiler and gcc 4.9 still defaults to the c99 standard. Any
dependency on qt 5.7 also needs to be compiled with a c11 compiler.
Are there plans to upgrade the default gcc?
We can only change the default compiler in core-updates. We tried to
upgrade gcc to 5.x in our last core-updates cycle, but had to revert
that change because the new gcc failed to bootstrap on armhf, because of
unexpected differences in stages 2 and 3.

Interestingly, in the current core-updates cycle, which modestly updates
to 4.9.4 only, is running into the same problem on armhf:

https://hydra.gnu.org/build/1443911/nixlog/6/tail-reload

In any case, if your Qt updates depend on GCC 5.x, then we may need to
revert these upgrades on 'master' and revisit them after we've
successfully updated our default GCC.
Post by David Craven
I look into fixing the packages temporarily.
Thanks,
Mark
David Craven
2016-08-20 19:50:51 UTC
Permalink
I fixed all regression except vlc and avidemux (locally). I'll have to
do some more debugging tomorrow. Forcing --std=gnu++11 worked in all
other cases. With the release of vlc 3 eminent, would it be acceptable
to use qt-4 with vlc 2.2.4 (if I don't manage to fix it)? That's what
arch linux is doing currently - and forcing --std=gnu++98, since
they're on gcc6.
Efraim Flashner
2016-08-20 20:06:07 UTC
Permalink
Post by David Craven
I fixed all regression except vlc and avidemux (locally). I'll have to
do some more debugging tomorrow. Forcing --std=gnu++11 worked in all
other cases. With the release of vlc 3 eminent, would it be acceptable
to use qt-4 with vlc 2.2.4 (if I don't manage to fix it)? That's what
arch linux is doing currently - and forcing --std=gnu++98, since
they're on gcc6.
you could also try using regular qt, that's still on 5.6.1-1
--
Efraim Flashner <***@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
Leo Famulari
2016-08-20 21:59:57 UTC
Permalink
Post by David Craven
I fixed all regression except vlc and avidemux (locally). I'll have to
do some more debugging tomorrow. Forcing --std=gnu++11 worked in all
other cases. With the release of vlc 3 eminent, would it be acceptable
to use qt-4 with vlc 2.2.4 (if I don't manage to fix it)? That's what
arch linux is doing currently - and forcing --std=gnu++98, since
they're on gcc6.
My interpretation of the Qt security policy is that qt-4 is unsupported.

"What Version of Qt are Supported?

Fixes are only guaranteed to be provided for:

The latest released version.

The preceding minor version.

Fixes for earlier versions (such as 4.8, 5.0, etc.) may be provided,
but the qt-project makes no commitment to do so. Other groups such
as Digia may choose to make such fixes available, but that is
outside the scope of the qt-project."

source: https://wiki.qt.io/Qt_project_security_policy
David Craven
2016-08-21 14:08:14 UTC
Permalink
* gnu/packages/kde-frameworks.scm (kguiaddons)[arguments]:
Remove phase 'start-xorg-server. Add phase 'check-setup.
---
gnu/packages/kde-frameworks.scm | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index af81547..ba26952 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -539,12 +539,9 @@ infrastructure.")
(arguments
`(#:phases
(modify-phases %standard-phases
- (add-before 'check 'start-xorg-server
- (lambda* (#:key inputs #:allow-other-keys)
- ;; The test suite requires a running X server.
- (system (string-append (assoc-ref inputs "xorg-server")
- "/bin/Xvfb :1 &"))
- (setenv "DISPLAY" ":1")
+ (add-before 'check 'check-setup
+ (lambda* _
+ (setenv "QT_QPA_PLATFORM" "offscreen")
#t)))))
(home-page "https://community.kde.org/Frameworks")
(synopsis "Utilities for graphical user interfaces")
--
2.9.0
David Craven
2016-08-21 14:08:21 UTC
Permalink
* gnu/packages/music.scm (synthv1)[arguments]: Require gnu++11.
---
gnu/packages/music.scm | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index dfd3f77..52eb3e0 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -702,8 +702,10 @@ Editor. It is compatible with Power Tab Editor 1.7 and Guitar Pro.")
(base32
"0h5zja78phf9705i9g54zh61iczb24iv7rxhljyms30sjgajig1y"))))
(build-system gnu-build-system)
- ;; There are no tests.
- (arguments `(#:tests? #f))
+ (arguments
+ `(#:tests? #f ; There are no tests.
+ #:configure-flags
+ '("CXXFLAGS=-std=gnu++11")))
(inputs
`(("jack" ,jack-1)
("lv2" ,lv2)
--
2.9.0
David Craven
2016-08-21 14:08:17 UTC
Permalink
* gnu/packages/pdf.scm (poppler): Update it.
(poppler)[arguments]: Require gnu++11.
---
gnu/packages/pdf.scm | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 4ddcedd..2b3512f 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -57,14 +57,14 @@
(define-public poppler
(package
(name "poppler")
- (version "0.43.0")
+ (version "0.47.0")
(source (origin
(method url-fetch)
(uri (string-append "https://poppler.freedesktop.org/poppler-"
version ".tar.xz"))
(sha256
(base32
- "0mi4zf0pz3x3fx3ir7szz1n57nywgbpd4mp2r7mvf47f4rmf4867"))))
+ "0hnjkcqqk87dw3hlda4gh4l7brkslniax9a79g772jn3iwiffwmq"))))
(build-system gnu-build-system)
;; FIXME:
;; use libcurl: no
@@ -94,7 +94,8 @@
"--enable-zlib"

;; Saves 8 MiB of .a files.
- "--disable-static")
+ "--disable-static"
+ "CXXFLAGS=-std=gnu++11")
#:phases
(alist-cons-before
'configure 'setenv
--
2.9.0
David Craven
2016-08-21 14:08:20 UTC
Permalink
* gnu/packages/gps.scm (gpsbabel)[arguments]: Require gnu++11. Disable tests
on all platforms due to rounding error.
---
gnu/packages/gps.scm | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm
index ccd9636..8124990 100644
--- a/gnu/packages/gps.scm
+++ b/gnu/packages/gps.scm
@@ -48,7 +48,9 @@
"0xf7wmy2m29g2lm8lqc74yf8rf7sxfl3cfwbk7dpf0yf42pb0b6w"))))
(build-system gnu-build-system)
(arguments
- `(#:configure-flags '("--with-zlib=system")
+ `(#:configure-flags
+ '("--with-zlib=system"
+ "CXXFLAGS=-std=gnu++11")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'pre-configure
@@ -59,7 +61,8 @@
;; On i686, 'raymarine.test' fails because of a rounding error:
;; <http://hydra.gnu.org/build/133040>. As a workaround, disable tests
;; on these platforms.
- #:tests? ,(not (string-prefix? "i686" (%current-system)))))
+ ;; On x86_64 with -std=gnu++11 tests also fail due to rounding error.
+ #:tests? #f))
(inputs
`(("expat" ,expat)
("zlib" ,zlib)
--
2.9.0
David Craven
2016-08-21 14:08:22 UTC
Permalink
* gnu/packages/scribus.scm (scribus)[arguments]: Require gnu++11.
---
gnu/packages/scribus.scm | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/scribus.scm b/gnu/packages/scribus.scm
index 68e57cd..4f3f306 100644
--- a/gnu/packages/scribus.scm
+++ b/gnu/packages/scribus.scm
@@ -49,7 +49,10 @@
(base32
"0f2adwg58w37sdi3xrk8xqw486p3pcfjaypcsswjl76r2f3yd0hq"))))
(build-system cmake-build-system)
- (arguments `(#:tests? #f)) ; no test target
+ (arguments
+ `(#:tests? #f ; no test target
+ #:configure-flags
+ '("-DCMAKE_CXX_FLAGS=-std=gnu++11")))
(inputs
`(("cairo" ,cairo)
("cups" ,cups)
--
2.9.0
David Craven
2016-08-21 14:08:23 UTC
Permalink
* gnu/packages/video.scm (v4l-utils)[arguments]: Require gnu++11.
---
gnu/packages/video.scm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index bc6415e..28e49b3 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1396,7 +1396,8 @@ tools, XML authoring components, and an extensible plug-in based API.")
'(#:configure-flags
(list (string-append "--with-udevdir="
(assoc-ref %outputs "out")
- "/lib/udev"))))
+ "/lib/udev")
+ "CXXFLAGS=-std=gnu++11")))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
--
2.9.0
David Craven
2016-08-21 14:08:15 UTC
Permalink
* gnu/packages/kde-frameworks.scm (kwidgetsaddons)[arguments]: Disable tests.
---
gnu/packages/kde-frameworks.scm | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index ba26952..20ab37a 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -816,10 +816,13 @@ represented by a QPoint or a QSize.")
(inputs
`(("qtbase" ,qtbase)))
(arguments
- `(#:phases
+ `(#:tests? #f ; FIXME: Regression after update to qt 5.7
+ #:phases
(modify-phases %standard-phases
(add-before 'check 'check-setup
(lambda* _
+ (setenv "QT_QPA_PLATFORM" "offscreen") ; a better solution to Xvfb
+ (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; enable debug info
(setenv "DBUS_FATAL_WARNINGS" "0")))
(add-before 'check 'start-xorg-server
(lambda* (#:key inputs #:allow-other-keys)
--
2.9.0
David Craven
2016-08-21 14:08:19 UTC
Permalink
* gnu/packages/audio.scm (qsynth)[arguments]: Require gnu++11.
---
gnu/packages/audio.scm | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 6c0f066..2d741d5 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -2113,7 +2113,9 @@ interface.")
(base32 "034p6mbwrjnxd9b6h20cidxi4ilkk3cgpjp154j0jzjs1ipf7x2h"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f)) ; no "check" phase
+ `(#:tests? #f ; no "check" phase
+ #:configure-flags
+ '("CXXFLAGS=-std=gnu++11")))
(native-inputs
`(("qttools" ,qttools)))
(inputs
--
2.9.0
David Craven
2016-08-21 14:08:16 UTC
Permalink
* gnu/packages/gnupg.scm (pinentry-qt)[native-inputs]: Add gnu-gettext.
---
gnu/packages/gnupg.scm | 3 +++
1 file changed, 3 insertions(+)

diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 7df96b4..fde6018 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -28,6 +28,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages adns)
#:use-module (gnu packages curl)
+ #:use-module (gnu packages gettext)
#:use-module (gnu packages openldap)
#:use-module (gnu packages perl)
#:use-module (gnu packages pth)
@@ -642,6 +643,8 @@ passphrase when @code{gpg} or @code{gpg2} is run and needs it.")))
(package
(inherit pinentry-tty)
(name "pinentry-qt")
+ (native-inputs
+ `(("gettext" ,gnu-gettext)))
(inputs
`(("qtbase" ,qtbase)
,@(package-inputs pinentry-tty)))
--
2.9.0
David Craven
2016-08-21 14:08:25 UTC
Permalink
* gnu/packages/video.scm (avidemux)[inputs]: Use qt 5.6.1-1.
---
gnu/packages/video.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 45f8a28..7c68be8 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1144,8 +1144,8 @@ for use with HTML5 video.")
("perl" ,perl)
("pulseaudio" ,pulseaudio)
("python" ,python-wrapper)
- ("qtbase" ,qtbase)
- ("qttools" ,qttools)
+ ("qtbase" ,qt)
+ ;("qttools" ,qttools)
("sdl" ,sdl)
("sqlite" ,sqlite)
("yasm" ,yasm)
--
2.9.0
David Craven
2016-08-16 18:39:32 UTC
Permalink
* gnu/packages/audio.scm (qsynth)[inputs]: Add QTBASE, QTX11EXTRAS. Remove QT.
[native-inputs]: Add QTTOOLS.
---
gnu/packages/audio.scm | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 5c42aaa..a21cd5b 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -2112,9 +2112,12 @@ interface.")
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; no "check" phase
+ (native-inputs
+ `(("qttools" ,qttools)))
(inputs
- `(("qt" ,qt)
- ("fluidsynth" ,fluidsynth)))
+ `(("fluidsynth" ,fluidsynth)
+ ("qtbase" ,qtbase)
+ ("qtx11extras" ,qtx11extras)))
(home-page "http://qsynth.sourceforge.net")
(synopsis "Graphical user interface for FluidSynth")
(description
--
2.9.0
Danny Milosavljevic
2016-08-16 19:16:15 UTC
Permalink
LGTM
David Craven
2016-08-16 18:39:37 UTC
Permalink
* gnu/packages/qt.scm (qtkeychain)[inputs]: Add QTBASE. Remove QT.
[native-inputs]: Add QTTOOLS.
---
gnu/packages/qt.scm | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 19488ac..021bb70 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -1070,8 +1070,10 @@ contain over 620 classes.")
(sha256
(base32 "0fka5q5cdzlf79igcjgbnb2smvwbwfasqawkzkbr34whispgm6lz"))))
(build-system cmake-build-system)
+ (native-inputs
+ `(("qttools" ,qttools)))
(inputs
- `(("qt" ,qt)))
+ `(("qtbase" ,qtbase)))
(arguments
`(#:tests? #f ; No tests included
#:phases
--
2.9.0
Danny Milosavljevic
2016-08-16 19:25:27 UTC
Permalink
LGTM!
David Craven
2016-08-17 08:30:14 UTC
Permalink
Post by Alex Kost
<https://github.com/google/snappy/releases/download/1.1.3/snappy-1.1.3.tar.gz>
Did you try using it?
Just did, and requires running autoreconf too...
Alex Kost
2016-08-17 19:02:22 UTC
Permalink
Post by David Craven
Post by Alex Kost
<https://github.com/google/snappy/releases/download/1.1.3/snappy-1.1.3.tar.gz>
Did you try using it?
Just did, and requires running autoreconf too...
I don't believe you :-)

I've just tried, and autoreconf is not needed for this tarball:

(define-public snappy
(package
(name "snappy")
(version "1.1.3")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/google/snappy/releases/download/"
version "/" name "-" version ".tar.gz"))
(sha256
(base32
"1wzf8yif5ym2gj52db6v5m1pxnmn258i38x7llk9x346y2nq47ig"))))
(build-system gnu-build-system)
(home-page "https://github.com/google/snappy")
(synopsis "Fast compressor/decompressor")
(description "Snappy is a compression/decompression library. It does not
aim for maximum compression, or compatibility with any other compression library;
instead, it aims for very high speeds and reasonable compression. For instance,
compared to the fastest mode of zlib, Snappy is an order of magnitude faster
for most inputs, but the resulting compressed files are anywhere from 20% to
100% bigger.")
(license license:asl2.0)))
--
Alex
David Craven
2016-08-17 19:20:42 UTC
Permalink
Post by Alex Kost
I don't believe you :-)
Oh, that's embarrassing. I must have forgotten to change the hash and
guix cached the tarball. Is that possible?
David Craven
2016-08-17 19:27:51 UTC
Permalink
Post by David Craven
Post by Alex Kost
I don't believe you :-)
Oh, that's embarrassing. I must have forgotten to change the hash and
guix cached the tarball. Is that possible?
Sorry about that. I make many stupid mistakes, but I'm not a liar... ;-)
Alex Kost
2016-08-18 07:21:50 UTC
Permalink
Post by David Craven
Post by David Craven
Post by Alex Kost
I don't believe you :-)
Oh, that's embarrassing. I must have forgotten to change the hash and
guix cached the tarball. Is that possible?
Sorry about that. I make many stupid mistakes, but I'm not a liar... ;-)
Oh, I didn't mean that! I just wanted to say that it works as expected,
so you probably made some mistake. As for the hash, yes it's possible
as Leo explained.
--
Alex
David Craven
2016-08-18 12:41:44 UTC
Permalink
Post by Leo Famulari
I wonder, are there any drawbacks of making the linter check that the
URL provides the data named by the hash?
That may be useful. I think if guix refresh would accept a version
flag, and possibly a force flag, that would also be useful.

The version flag would be used as follows:

guix refresh qtbase -u --version=5.7.0

If the version is already set to 5.7.0 a -f flag would download and
update the hash anyway. This is useful when the download url has
changed, but the version hasn't as in the snappy example. I think
these two features could make guix refresh more generally applicable,
to packages that don't have an automatic updater.
Leo Famulari
2016-08-18 01:25:41 UTC
Permalink
Post by David Craven
Oh, that's embarrassing. I must have forgotten to change the hash and
guix cached the tarball. Is that possible?
If the hash is matched in the store, the URL is not used, so you won't
see an incorrect URL fail to match the hash.

This is a common cause of buggy patches.

I wonder, are there any drawbacks of making the linter check that the
URL provides the data named by the hash?
David Craven
2016-08-17 08:35:38 UTC
Permalink
Post by Alex Kost
The patch looks good to me, except the indentation of this
(source (origin
(method url-fetch)
(uri (string-append "mirror://xorg/individual/util/lndir-"
version ".tar.bz2"))
(sha256
(base32
"0pdngiy8zdhsiqx2am75yfcl36l7kd7d7nl0rss8shcdvsqgmx29"))))
But this is not a big deal, of course :-)
I prefer
(uri (string-append
"mirror://xorg/individual/util/"
"lndir-" version ".tar.bz2"))

But in this case I thought that keeping consistent with how it was
done in the xorg.scm file was more important than my preference. What
do you think?
Alex Kost
2016-08-17 17:49:22 UTC
Permalink
Post by David Craven
Post by Alex Kost
The patch looks good to me, except the indentation of this
(source (origin
(method url-fetch)
(uri (string-append "mirror://xorg/individual/util/lndir-"
version ".tar.bz2"))
(sha256
(base32
"0pdngiy8zdhsiqx2am75yfcl36l7kd7d7nl0rss8shcdvsqgmx29"))))
But this is not a big deal, of course :-)
I prefer
(uri (string-append
"mirror://xorg/individual/util/"
"lndir-" version ".tar.bz2"))
OK, but then it should be (note the indentation of 'string-append'):

(uri (string-append
"mirror://xorg/individual/util/"
"lndir-" version ".tar.bz2"))
Post by David Craven
But in this case I thought that keeping consistent with how it was
done in the xorg.scm file was more important than my preference. What
do you think?
Many (probably most) packages in xorg.scm have bad indentation.
--
Alex
David Craven
2016-08-17 08:39:45 UTC
Permalink
Wayland protocols only contains xml definitions, so the description is accurate:

find /gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/pkgconfig
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/pkgconfig/wayland-protocols.pc
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/wayland-protocols
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/wayland-protocols/unstable
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/wayland-protocols/unstable/fullscreen-shell
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/wayland-protocols/unstable/fullscreen-shell/fullscreen-shell-unstable-v1.xml
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/wayland-protocols/unstable/input-method
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/wayland-protocols/unstable/input-method/input-method-unstable-v1.xml
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/wayland-protocols/unstable/tablet
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/wayland-protocols/unstable/tablet/tablet-unstable-v1.xml
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/wayland-protocols/unstable/relative-pointer
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/wayland-protocols/unstable/relative-pointer/relative-pointer-unstable-v1.xml
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/wayland-protocols/unstable/xdg-shell
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/wayland-protocols/unstable/xdg-shell/xdg-shell-unstable-v5.xml
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/wayland-protocols/unstable/linux-dmabuf
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/wayland-protocols/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/wayland-protocols/unstable/pointer-constraints
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/wayland-protocols/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/wayland-protocols/unstable/pointer-gestures
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/wayland-protocols/unstable/pointer-gestures/pointer-gestures-unstable-v1.xml
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/wayland-protocols/unstable/text-input
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/wayland-protocols/unstable/text-input/text-input-unstable-v1.xml
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/wayland-protocols/stable
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/wayland-protocols/stable/viewporter
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/wayland-protocols/stable/viewporter/viewporter.xml
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/wayland-protocols/stable/presentation-time
/gnu/store/fy5lg7x7ln92gnb0da5nvkz0zswrf5z4-wayland-protocols-1.4/share/wayland-protocols/stable/presentation-time/presentation-time.xml
David Craven
2016-08-17 09:34:00 UTC
Permalink
Post by Alex Kost
Also there should be a reason for propagating (probably written as a
comment). Ideally it should be avoided.
I added comments:

(propagated-inputs
; Headers contain #include <NetworkManager.h> and
; #include <libnm/NetworkManager.h>
`(("network-manager" ,network-manager)))

(propagated-inputs
; Headers contain #include <ModemManager/ModemManager.h>
`(("modem-manager", modem-manager)))
Alex Kost
2016-08-17 17:53:25 UTC
Permalink
Post by David Craven
Post by Alex Kost
Also there should be a reason for propagating (probably written as a
comment). Ideally it should be avoided.
(propagated-inputs
; Headers contain #include <NetworkManager.h> and
; #include <libnm/NetworkManager.h>
`(("network-manager" ,network-manager)))
(propagated-inputs
; Headers contain #include <ModemManager/ModemManager.h>
`(("modem-manager", modem-manager)))
These comments should begin with ";;", not with ";". Sorry, but I still
don't understand the reason. What exactly does not work when these are
simple inputs? Is it possible to avoid propagating?
--
Alex
David Craven
2016-08-17 18:14:08 UTC
Permalink
Post by Alex Kost
Is it possible to avoid propagating?
For example this is necessary when a C/C++ library needs headers of another library to compile, ...
So the fact that the headers of networkmanager-qt include headers from
network-manager, means that a library that uses networkmanager-qt also
needs network-manager's header files. After compilation if there
aren't any references to network-manager it won't be included in the
RUNPATH.
Post by Alex Kost
or when a pkg-config file refers to another one via its Requires field.
I think the equivalent for cmake packages is a find_dependency call
inside of /lib/cmake. In this case a library that links agains
networkmanager-qt doesn't need to link agains network-manager.
Post by Alex Kost
find_dependency(Qt5Core 5.4.0)
So to build hawaii-shell that depends on networkmanager-qt I either
have to add network-manager as an input or propagate it in
networkmanager-qt. I don't think that propagating the input hurts:

guix gc --references $(guix build hawaii-shell) ~/guix
/gnu/store/1i3xmm18dw9kq6wi46f6sj9nxy9pckjl-alsa-lib-1.0.27.1
/gnu/store/3a3qhlr9ssczrkjr10jllb01mbdgsijp-pulseaudio-8.0
/gnu/store/8advwv6y780wf8l4inmrm4vzrqd56z5b-libxkbcommon-0.6.1
/gnu/store/9jfrsgr6jw9hzqj81p3vn632m79x5gla-wayland-1.11.0
/gnu/store/9nifwk709wajpyfwa0jzaa3p6mf10vxs-gcc-4.9.3-lib
/gnu/store/b8c1aaw3nghvvw6w6hc7r701rg40f5qw-qtdeclarative-5.7.0
/gnu/store/bski0qimql11q9b86h8jhhyksk1z52vp-greenisland-0.8.90
/gnu/store/hnbnz18xkkq83ckk2ph8qgbc8z4qzm6f-qtbase-5.7.0
/gnu/store/ig30hr17jq27b8wnimf9lnksgk6q4k7f-hawaii-shell-0.7.1
/gnu/store/l1s4cw9g58hmcpd2qgbckfl228143qzx-glib-2.48.0
/gnu/store/l878cqim3hl8mj7iz5a2v3mv1zn81qyr-solid-5.24.0
/gnu/store/lyisag3k6wx0pmrd0al0ipgcqaf0hpwi-qtwayland-5.7.0
/gnu/store/m4xna3zq2il5an61wxbmfv82ndvz70f6-linux-pam-1.2.1
/gnu/store/m9vxvhdj691bq1f85lpflvnhcvrdilih-glibc-2.23
/gnu/store/n3jss47pj11zq1viyibfcg0jf0ag519s-mesa-12.0.0
/gnu/store/qh2q5h2b81562ji5i9kb4nhg74gzk7n9-libhawaii-0.8.0
/gnu/store/qz5d1c538qigsws9k8hlys2hvhvbfrpc-networkmanager-qt-5.24.0
/gnu/store/r129q7kkd28xrp0slw2dqgmbs608gcgv-libqtxdg-1.2.0
/gnu/store/ykzwykkvr2c80rw4l1qh3mvfdkl7jibi-bash-4.3.42
/gnu/store/zvg8qyjsz20vjd170h4ilk7pnv7bqmm6-eudev-3.1.5

WDYT?
Alex Kost
2016-08-18 07:25:01 UTC
Permalink
Post by David Craven
Post by Alex Kost
Is it possible to avoid propagating?
For example this is necessary when a C/C++ library needs headers of another library to compile, ...
So the fact that the headers of networkmanager-qt include headers from
network-manager, means that a library that uses networkmanager-qt also
needs network-manager's header files. After compilation if there
aren't any references to network-manager it won't be included in the
RUNPATH.
Ah, OK, I didn't know that, thanks for pointing!
--
Alex
David Craven
2016-08-17 10:08:35 UTC
Permalink
Might (setenv "QT_QPA_PLATFORM" "offscreen") also be enough?
Interesting, that also fixes the problem, but causes a new one...

********* Start testing of KDualActionTest *********
Config: Using QtTest library 5.7.0, Qt 5.7.0
(x86_64-little_endian-lp64 shared (dynamic) release build; by GCC
4.9.3)
PASS : KDualActionTest::initTestCase()
PASS : KDualActionTest::testSetGuiItem()
FAIL! : KDualActionTest::testSetIconForStates() Compared pointers are
not the same
Actual (action.inactiveIcon()): (nil)
Expected (icon) : 0x65a4d0
Loc: [/tmp/guix-build-kwidgetsaddons-5.24.0.drv-0/kwidgetsaddons-5.24.0/autotests/kdualactiontest.cpp(56)]
PASS : KDualActionTest::testSetActive()
PASS : KDualActionTest::testTrigger()
PASS : KDualActionTest::cleanupTestCase()
Totals: 5 passed, 1 failed, 0 skipped, 0 blacklisted, 3ms
********* Finished testing of KDualActionTest *********
Starting an Xvfb server and then not stopping it again is kinda ... extreme.
Since the tests are run in a container, I'd expect all processes started inside
the container to receive a sigterm when the container is (shutdown?).
Also, who says that :1 is free?
Again since the tests are run in a container, I'd expect that there
isn't a xserver
running unless I explicitly start it.

Are my assumptions wrong?
Do you think it's worth tracking down the test failure when my solution works?
David Craven
2016-08-18 00:20:10 UTC
Permalink
I'll withhold this patch pending further investigation.

Thank you!
Danny Milosavljevic
2016-08-18 09:14:58 UTC
Permalink
Post by David Craven
Again since the tests are run in a container, I'd expect that there
isn't a xserver
running unless I explicitly start it.
Are my assumptions wrong?
Do you think it's worth tracking down the test failure when my solution works?
No, if that's the case it's fine to use Xvfb too. It's just that QT_QPA_PLATFORM would be a lot less compute-intensive.
David Craven
2016-08-17 11:14:23 UTC
Permalink
Post by Eric Bavier
Is boost propagated due to header references?
The include files reference these headers:

#include <boost/type_traits.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/config.hpp>
#include <boost/mpl/if.hpp>
Post by Eric Bavier
what is the reason for disabling runpath validation?
I'm getting a bunch of these errors. The problem seems to be that
/gnu/store/2g5xcc8hp16nfnf37449f3p492m8i03h-qt-gstreamer-1.2.0-1.fc159e5/lib64
isn't in the RUNPATH. But isn't that folder implicitly in the RUNPATH
for libraries in the same directory? How can I get it in the RUNPATH,
is there a better way than using patchelf? what is the reason for
disabling runpath validation?

validating RUNPATH of 7 binaries in
"/gnu/store/2g5xcc8hp16nfnf37449f3p492m8i03h-qt-gstreamer-1.2.0-1.fc159e5/lib64"...
/gnu/store/2g5xcc8hp16nfnf37449f3p492m8i03h-qt-gstreamer-1.2.0-1.fc159e5/lib64/libQt5GStreamer-1.0.so:
error: depends on 'libQt5GLib-2.0.so.0', which cannot be found in
RUNPATH ("/gnu/store/2g5xcc8hp16nfnf37449f3p492m8i03h-qt-gstreamer-1.2.0-1.fc159e5/lib"
"/gnu/store/m9vxvhdj691bq1f85lpflvnhcvrdilih-glibc-2.23/lib"
"/gnu/store/9nifwk709wajpyfwa0jzaa3p6mf10vxs-gcc-4.9.3-lib/lib"
"/gnu/store/l1s4cw9g58hmcpd2qgbckfl228143qzx-glib-2.48.0/lib"
"/gnu/store/gspsx2v3zpfbl2s88xn7kb2ka9gv87bp-gstreamer-1.8.2/lib"
"/gnu/store/cc0192xs2lwcnkpjsv8msqv83d4s9zzv-gst-plugins-base-1.8.2/lib"
"/gnu/store/jz6wxyy2i279w92srv9p3qlabd7y0rjy-qtbase-5.7.0/lib"
"/gnu/store/9nifwk709wajpyfwa0jzaa3p6mf10vxs-gcc-4.9.3-lib/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/../../..")
Eric Bavier
2016-08-17 15:09:19 UTC
Permalink
Post by David Craven
Post by Eric Bavier
Is boost propagated due to header references?
#include <boost/type_traits.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/config.hpp>
#include <boost/mpl/if.hpp>
Post by Eric Bavier
what is the reason for disabling runpath validation?
I'm getting a bunch of these errors. The problem seems to be that
/gnu/store/2g5xcc8hp16nfnf37449f3p492m8i03h-qt-gstreamer-1.2.0-1.fc159e5/lib64
Can you get qt-gstreamer to install its libraries into
"/gnu/store/...-qt-gstreamer-1.2.0-=.fc159e5/lib"? Things might Just
Work™ then.
--
`~Eric
David Craven
2016-08-18 00:18:43 UTC
Permalink
I'll withhold this patch for now pending further investigation...

Thank you!
Loading...