From 58d5b8b44b37b1f9df279ed02a3c11f580caa634 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sun, 19 Apr 2020 18:44:24 +0200 Subject: Revert "gnu: libxfce4util: Update to 4.15.0." This reverts commit c0bff513a41a12b446565f3c0de06343acbb6e23. --- gnu/packages/xfce.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index 18327af2e1..8a03e5160f 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -12,7 +12,6 @@ ;;; Copyright © 2019 L p R n d n ;;; Copyright © 2019 Ingo Ruhnke ;;; Copyright © 2020 Vincent Legoll -;;; Copyright © 2020 Naga Malleswari ;;; ;;; This file is part of GNU Guix. ;;; @@ -94,15 +93,15 @@ (define-public libxfce4util (package (name "libxfce4util") - (version "4.15.0") + (version "4.14.0") (source (origin (method url-fetch) - (uri (string-append "https://archive.xfce.org/src/xfce/libxfce4util/" + (uri (string-append "http://archive.xfce.org/xfce/" (version-major+minor version) - "/" name "-" version ".tar.bz2")) + "/src/" name "-" version ".tar.bz2")) (sha256 (base32 - "1lq9i30jdci4if2daxdcqni0x5jvpnaflgp19za9sks3gm4jma5v")))) + "093338faqqsrlc8dkmzr7qv411ysxczg1wlg7s3gvhrfk6vpkb9j")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) -- cgit v1.2.3 From 4313e6ec552a83082410a7f32660b84f7fc19554 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 19 Apr 2020 22:57:16 +0200 Subject: gnu: php: Update to 7.4.5. * gnu/packages/php.scm (php): Update to 7.4.5. --- gnu/packages/php.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index 77063b9afc..438e9fca83 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016 Julien Lepiller +;;; Copyright © 2016-2020 Julien Lepiller ;;; Copyright © 2016 Marius Bakke ;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2018 Ricardo Wurmus @@ -59,7 +59,7 @@ (define-public php (package (name "php") - (version "7.4.4") + (version "7.4.5") (home-page "https://secure.php.net/") (source (origin (method url-fetch) @@ -67,7 +67,7 @@ "php-" version ".tar.xz")) (sha256 (base32 - "0k57zj1z8kf8403rd72wymj08bswpa5ikcpzviw9mpykzp7c8wqq")) + "0b1wybhqjlnc94qzixhycg9i0w39fqlhm80mvbmd5i5xamzzsnfh")) (modules '((guix build utils))) (snippet '(with-directory-excursion "ext" -- cgit v1.2.3 From a03943ec0024f22e2b7d6358dea9989c9eb06499 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 19 Apr 2020 18:01:13 +0200 Subject: services: Add 'hostapd-service-type'. * gnu/services/networking.scm (): New record type. (hostapd-configuration-file, hostapd-shepherd-services): New procedures. (hostapd-service-type): New variable. * doc/guix.texi (Networking Services): Document it. --- doc/guix.texi | 51 ++++++++++++++++++++++++++++++++ gnu/services/networking.scm | 71 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 122 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index 0b8460a6fe..3e6746b59d 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -13633,6 +13633,57 @@ List of additional command-line arguments to pass to the daemon. @end table @end deftp +@cindex hostapd service, for Wi-Fi access points +@cindex Wi-Fi access points, hostapd service +@defvr {Scheme Variable} hostapd-service-type +This is the service type to run the @uref{https://w1.fi/hostapd/, +hostapd} daemon to set up WiFi (IEEE 802.11) access points and +authentication servers. Its associated value must be a +@code{hostapd-configuration} as shown below: + +@lisp +;; Use wlan1 to run the access point for "My Network". +(service hostapd-service-type + (hostapd-configuration + (interface "wlan1") + (ssid "My Network") + (channel 12))) +@end lisp +@end defvr + +@deftp {Data Type} hostapd-configuration +This data type represents the configuration of the hostapd service, with +the following fields: + +@table @asis +@item @code{package} (default: @code{hostapd}) +The hostapd package to use. + +@item @code{interface} (default: @code{"wlan0"}) +The network interface to run the WiFi access point. + +@item @code{ssid} +The SSID (@dfn{service set identifier}), a string that identifies this +network. + +@item @code{broadcast-ssid?} (default: @code{#t}) +Whether to broadcast this SSID. + +@item @code{channel} (default: @code{1}) +The WiFi channel to use. + +@item @code{driver} (default: @code{"nl80211"}) +The driver interface type. @code{"nl80211"} is used with all Linux +mac80211 drivers. Use @code{"none"} if building hostapd as a standalone +RADIUS server that does # not control any wireless/wired driver. + +@item @code{extra-settings} (default: @code{""}) +Extra settings to append as-is to the hostapd configuration file. See +@uref{https://w1.fi/cgit/hostap/plain/hostapd/hostapd.conf} for the +configuration file reference. +@end table +@end deftp + @cindex iptables @defvr {Scheme Variable} iptables-service-type This is the service type to set up an iptables configuration. iptables is a diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index 618dd95969..30e1173f2b 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -32,6 +32,7 @@ (define-module (gnu services networking) #:use-module (gnu services) #:use-module (gnu services base) + #:use-module (gnu services configuration) #:use-module (gnu services shepherd) #:use-module (gnu services dbus) #:use-module (gnu system shadow) @@ -140,6 +141,16 @@ wpa-supplicant-configuration-extra-options wpa-supplicant-service-type + hostapd-configuration + hostapd-configuration? + hostapd-configuration-package + hostapd-configuration-interface + hostapd-configuration-ssid + hostapd-configuration-broadcast-ssid? + hostapd-configuration-channel + hostapd-configuration-driver + hostapd-service-type + openvswitch-service-type openvswitch-configuration @@ -1358,6 +1369,66 @@ whatever the thing is supposed to do)."))) implements authentication, key negotiation and more for wireless networks.") (default-value (wpa-supplicant-configuration))))) + +;;; +;;; Hostapd. +;;; + +(define-record-type* + hostapd-configuration make-hostapd-configuration + hostapd-configuration? + (package hostapd-configuration-package + (default hostapd)) + (interface hostapd-configuration-interface ;string + (default "wlan0")) + (ssid hostapd-configuration-ssid) ;string + (broadcast-ssid? hostapd-configuration-broadcast-ssid? ;Boolean + (default #t)) + (channel hostapd-configuration-channel ;integer + (default 1)) + (driver hostapd-configuration-driver ;string + (default "nl80211")) + ;; See for a list of + ;; additional options we could add. + (extra-settings hostapd-configuration-extra-settings ;string + (default ""))) + +(define (hostapd-configuration-file config) + "Return the configuration file for CONFIG, a ." + (match-record config + (interface ssid broadcast-ssid? channel driver extra-settings) + (plain-file "hostapd.conf" + (string-append "\ +# Generated from your Guix configuration. + +interface=" interface " +ssid=" ssid " +ignore_broadcast_ssid=" (if broadcast-ssid? "0" "1") " +channel=" (number->string channel) "\n" +extra-settings "\n")))) + +(define* (hostapd-shepherd-services config #:key (requirement '())) + "Return Shepherd services for hostapd." + (list (shepherd-service + (provision '(hostapd)) + (requirement `(user-processes ,@requirement)) + (documentation "Run the hostapd WiFi access point daemon.") + (start #~(make-forkexec-constructor + (list #$(file-append hostapd "/sbin/hostapd") + #$(hostapd-configuration-file config)) + #:log-file "/var/log/hostapd.log")) + (stop #~(make-kill-destructor))))) + +(define hostapd-service-type + (service-type + (name 'hostapd) + (extensions + (list (service-extension shepherd-root-service-type + hostapd-shepherd-services))) + (description + "Run the @uref{https://w1.fi/hostapd/, hostapd} daemon for Wi-Fi access +points and authentication servers."))) + ;;; ;;; Open vSwitch -- cgit v1.2.3 From 5e7076f2a54e84894b5d8f3ef719e7a552b5bb03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 19 Apr 2020 22:06:32 +0200 Subject: services: Add 'simulated-wifi-service-type'. * gnu/services/networking.scm (simulated-wifi-shepherd-services): New procedure. (simulated-wifi-service-type): New variable. * doc/guix.texi (Networking Services): Document it. --- doc/guix.texi | 11 +++++++++++ gnu/services/networking.scm | 48 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index 3e6746b59d..d2cd11576f 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -13684,6 +13684,17 @@ configuration file reference. @end table @end deftp +@defvr {Scheme Variable} simulated-wifi-service-type +This is the type of a service to simulate WiFi networking, which can be +useful in virtual machines for testing purposes. The service loads the +Linux kernel +@uref{https://www.kernel.org/doc/html/latest/networking/mac80211_hwsim/mac80211_hwsim.html, +@code{mac80211_hwsim} module} and starts hostapd to create a pseudo WiFi +network that can be seen on @code{wlan0}, by default. + +The service's value is a @code{hostapd-configuration} record. +@end defvr + @cindex iptables @defvr {Scheme Variable} iptables-service-type This is the service type to set up an iptables configuration. iptables is a diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index 30e1173f2b..383b2b0d04 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -151,6 +151,8 @@ hostapd-configuration-driver hostapd-service-type + simulated-wifi-service-type + openvswitch-service-type openvswitch-configuration @@ -1429,6 +1431,52 @@ extra-settings "\n")))) "Run the @uref{https://w1.fi/hostapd/, hostapd} daemon for Wi-Fi access points and authentication servers."))) +(define (simulated-wifi-shepherd-services config) + "Return Shepherd services to run hostapd with CONFIG, a +, as well as services to set up WiFi hardware +simulation." + (append (hostapd-shepherd-services config + #:requirement + '(unblocked-wifi + mac-simulation-module)) + (list (shepherd-service + (provision '(unblocked-wifi)) + (requirement '(file-systems mac-simulation-module)) + (documentation + "Unblock WiFi devices for use by mac80211_hwsim.") + (start #~(lambda _ + (invoke #$(file-append util-linux "/sbin/rfkill") + "unblock" "0") + (invoke #$(file-append util-linux "/sbin/rfkill") + "unblock" "1"))) + (one-shot? #t)) + (shepherd-service + (provision '(mac-simulation-module)) + (requirement '(file-systems)) + (modules '((guix build utils))) + (documentation + "Load the mac80211_hwsim Linux kernel module.") + (start (with-imported-modules '((guix build utils)) + #~(lambda _ + ;; XXX: We can't use 'load-linux-module*' here because it + ;; expects a flat module directory. + (setenv "LINUX_MODULE_DIRECTORY" + "/run/booted-system/kernel/lib/modules") + (invoke #$(file-append kmod "/bin/modprobe") + "mac80211_hwsim")))) + (one-shot? #t))))) + +(define simulated-wifi-service-type + (service-type + (name 'simulated-wifi) + (extensions + (list (service-extension shepherd-root-service-type + simulated-wifi-shepherd-services))) + (default-value (hostapd-configuration + (interface "wlan1") + (ssid "Test Network"))) + (description "Run hostapd to simulate WiFi connectivity."))) + ;;; ;;; Open vSwitch -- cgit v1.2.3 From 096a0527a18696f8b4fb71af6fba2cd8377060f5 Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Sat, 18 Apr 2020 16:19:39 +0200 Subject: gnu: mu: Update to 1.4. * gnu/packages/mail.scm (mu): Update to 1.4. [arguments]: Remove 'fix-date-tests phase. Add 'patch-bin-sh-in-tests phase. Signed-off-by: Leo Famulari --- gnu/packages/mail.scm | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index d2ec51f27a..b553305d46 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -714,7 +714,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.") (define-public mu (package (name "mu") - (version "1.2.0") + (version "1.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/djcb/mu/releases/" @@ -722,7 +722,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.") "mu-" version ".tar.xz")) (sha256 (base32 - "0fh5bxvhjqv1p9z783lym8y1k3p4jcc3wg6wf7zl8s6w8krcfd7n")))) + "1ay68rhlngnp2zm6wdmzgr1fsal3spz61swcxlaz5y215qvgjfpy")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -757,13 +757,14 @@ security functionality including PGP, S/MIME, SSH, and SSL.") "guile/mu/Makefile.in") (("share/guile/site/2.0/") "share/guile/site/2.2/")) #t)) - (add-after 'patch-configure 'fix-date-tests - ;; Loosen test tolerances to prevent failures caused by daylight - ;; saving time (DST). See: https://github.com/djcb/mu/issues/1214. + (add-after 'unpack 'patch-bin-sh-in-tests (lambda _ - (substitute* "lib/parser/test-utils.cc" - (("\\* 60 \\* 60, 1 },") - "* 60 * 60, 3600 + 1 },")) + (substitute* '("guile/tests/test-mu-guile.c" + "mu/test-mu-cmd.c" + "mu/test-mu-cmd-cfind.c" + "mu/test-mu-query.c" + "mu/test-mu-threads.c") + (("/bin/sh") (which "sh"))) #t)) (add-before 'install 'fix-ffi (lambda* (#:key outputs #:allow-other-keys) -- cgit v1.2.3 From ce64b9d136d97ef695428b67a4eb90ed4d932a57 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 19 Apr 2020 21:30:14 +0300 Subject: gnu: sparql-query: Don't use unstable tarball. * gnu/packages/databases.scm (sparql-query)[source]: Download using git-fetch. --- gnu/packages/databases.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 7ca2ca37a3..4fa2b8c7f9 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1233,12 +1233,13 @@ data in a single database. RocksDB is partially based on @code{LevelDB}.") (name "sparql-query") (version "1.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/tialaramex/" - name "/archive/" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/tialaramex/sparql-query") + (commit version))) (sha256 - (base32 "0yq3k20472rv8npcc420q9ab6idy584g5y0q501d360k5q0ggr8w")) - (file-name (string-append name "-" version ".tar.gz")))) + (base32 "0a84a89idpjhj9w2y3fmvzv7ldps1cva1kxvfmh897k02kaniwxk")) + (file-name (git-file-name name version)))) (build-system gnu-build-system) (inputs `(("readline" ,readline) -- cgit v1.2.3 From 6914eea01dc531ea60925d53ca006bf9f5603a18 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 19 Apr 2020 21:33:15 +0300 Subject: gnu: sparql-query: Sort inputs alphabetically. * gnu/packages/databases.scm (sparql-query)[inputs]: Sort alphabetically. --- gnu/packages/databases.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 4fa2b8c7f9..606594e005 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1242,11 +1242,11 @@ data in a single database. RocksDB is partially based on @code{LevelDB}.") (file-name (git-file-name name version)))) (build-system gnu-build-system) (inputs - `(("readline" ,readline) - ("ncurses" ,ncurses) + `(("curl" ,curl) ("glib" ,glib) ("libxml2" ,libxml2) - ("curl" ,curl))) + ("ncurses" ,ncurses) + ("readline" ,readline))) (native-inputs `(("pkg-config" ,pkg-config))) (arguments -- cgit v1.2.3 From 8c2a6183de5acbd660f219470b03967bf4a1a560 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 19 Apr 2020 21:56:09 +0300 Subject: gnu: graphene: Update to 1.10.0. * gnu/packages/gtk.scm (graphene): Update to 1.10.0. [build-system]: Switch to meson-build-system. [arguments]: Update configure-flags to not install tests. [inputs]: Remove python2. Move gobject-introspection ... [native-inputs]: ... to here. Remove autoconf, automake, libtool, which. --- gnu/packages/gtk.scm | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 4882a95eb8..bea4850d15 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2015 Andy Wingo ;;; Copyright © 2015 David Hashe ;;; Coypright © 2015, 2016, 2017, 2018 Ricardo Wurmus -;;; Copyright © 2016, 2017 Efraim Flashner +;;; Copyright © 2016, 2017, 2020 Efraim Flashner ;;; Copyright © 2016 Fabian Harfert ;;; Copyright © 2016 Kei Kebreau ;;; Copyright © 2016 Patrick Hetu @@ -1711,29 +1711,23 @@ Parcellite and adds bugfixes and features.") (define-public graphene (package (name "graphene") - (version "1.6.0") + (version "1.10.0") (source (origin (method url-fetch) - (uri (string-append - "https://github.com/ebassi/graphene/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (uri (string-append "https://github.com/ebassi/graphene/releases/" + "download/" version + "/graphene-" version ".tar.xz")) (sha256 - (base32 "1zd2daj7y590wnzn4jw0niyc4fnzgxrcl9i7nwhy8b25ks2hz5wq")))) - (build-system gnu-build-system) + (base32 "16b4hz73bnrgv5v8n96dczkd6xp9qc06lrl43zln3jnl3psrfva0")))) + (build-system meson-build-system) (arguments - `(#:configure-flags '("--enable-introspection=yes"))) + `(#:configure-flags '("-Dinstalled_tests=false"))) (native-inputs - `(("autoconf" ,autoconf) - ("which" ,which) - ("pkg-config" ,pkg-config) - ("automake" ,automake) - ("libtool" ,libtool))) + `(("gobject-introspection" ,gobject-introspection) + ("pkg-config" ,pkg-config))) (inputs `(("python" ,python) - ("python-2" ,python-2) - ("glib" ,glib) - ("gobject-introspection" ,gobject-introspection))) + ("glib" ,glib))) (home-page "https://ebassi.github.io/graphene/") (synopsis "Thin layer of graphic data types") (description "This library provides graphic types and their relative API; -- cgit v1.2.3 From 00f3190d6bb85a729394d80f284c4b182ee709db Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 19 Apr 2020 22:02:01 +0300 Subject: gnu: java-fest-util: Don't use unstable tarball. * gnu/packages/java.scm (java-fest-util)[source]: Download using git-fetch. --- gnu/packages/java.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 1d9f6ff92b..8e46940060 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -9117,12 +9117,14 @@ those in Perl and JavaScript.") (name "java-fest-util") (version "1.2.5") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/alexruiz/fest-util/" - "archive/fest-util-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/alexruiz/fest-util/") + (commit (string-append "fest-util-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "05g6hljz5mdaakk8d7g32klbhz9bdwp3qlj6rdaggdidxs3x1sb8")))) + "02kgal7v85snyyvcsxvn4qphid455f4smh2wri1il8d9asw0djbz")))) (build-system ant-build-system) (arguments `(#:jar-name "java-fest-util.jar" -- cgit v1.2.3 From 79e74008831d7978a925875104ca1f1f02ac7878 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 19 Apr 2020 22:04:26 +0300 Subject: gnu: java-fest-test: Don't use unstable tarball. * gnu/packages/java.scm (java-fest-test)[source]: Download using git-fetch. --- gnu/packages/java.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 8e46940060..5ed708d66a 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -9142,12 +9142,14 @@ those in Perl and JavaScript.") (name "java-fest-test") (version "2.1.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/alexruiz/fest-test/" - "archive/fest-test-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/alexruiz/fest-test/") + (commit (string-append "fest-test-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1rxfbw6l9vc65iy1x3fb617qc6y4w2k430pgf1mfbxfdlxbm0f7g")))) + "0mg1d2jfh7kbx2c40dchbjr6d8pv59snsyb13mfxsr7xk5n69qbn")))) (build-system ant-build-system) (arguments `(#:jar-name "java-fest-test.jar" -- cgit v1.2.3 From e9917c696bec193e6e6527ca62000a716b8277c2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 19 Apr 2020 22:11:55 +0300 Subject: gnu: java-fest-assert: Don't use unstable tarball. * gnu/packages/java.scm (java-fest-assert)[source]: Download using git-fetch. --- gnu/packages/java.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 5ed708d66a..1ad188b256 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -9167,12 +9167,14 @@ those in Perl and JavaScript.") (name "java-fest-assert") (version "2.0M10") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/alexruiz/fest-assert-2.x/" - "archive/fest-assert-core-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/alexruiz/fest-assert-2.x/") + (commit (string-append "fest-assert-core-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1bi0iqavikzww6rxvz5jyg7y6bflv95s6ibryxx0xfcxrrw6i5lw")))) + "1cp8zzyag3s85fz2w68sda9zzaal1y5f9wl8g72wkm12an40w6by")))) (build-system ant-build-system) (arguments `(#:jar-name "java-fest-assert.jar" -- cgit v1.2.3 From 6632fc2897287141d8982e7a3a03091fa20289de Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 19 Apr 2020 22:20:54 +0300 Subject: gnu: java-lz4: Don't use unstable tarball. * gnu/packages/java.scm (java-lz4)[source]: Download using git-fetch. [arguments]: Add phase to make files writable. --- gnu/packages/java.scm | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 1ad188b256..7ad72f4fcf 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -9445,13 +9445,14 @@ by technical operatives or consultants working with enterprise platforms.") (name "java-lz4") (version "1.4.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/lz4/lz4-java/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/lz4/lz4-java") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "096dm57p2lzqk28n0j2p52x2j3cvnsd2dfqn43n7vbwrkjsy7y54")))) + "0ydjakhv3cz34mfvv14qrh2ksdxifgjwwagjy7r46qr3f68hnf6y")))) (build-system ant-build-system) (arguments `(#:jar-name "lz4.jar" @@ -9460,6 +9461,10 @@ by technical operatives or consultants working with enterprise platforms.") #:tests? #f; FIXME: requires more dependencies #:phases (modify-phases %standard-phases + (add-after 'unpack 'make-files-writable + (lambda _ + (for-each make-file-writable (find-files ".")) + #t)) (add-before 'configure 'generate-source (lambda _ (with-directory-excursion "src/build/source_templates" -- cgit v1.2.3 From a8f01c45c627f92f9fa1ab8b0c8de722ecd1e4df Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 19 Apr 2020 22:43:29 +0300 Subject: gnu: java-bouncycastle: Don't use unstable tarball. * gnu/packages/java.scm (java-bouncycastle)[source]: Download using git-fetch. Use upstream's repo, not a mirror. --- gnu/packages/java.scm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 7ad72f4fcf..cab90fb4e7 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -9483,13 +9483,15 @@ algorithms and xxHash hashing algorithm.") (name "java-bouncycastle") (version "1.60") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/bcgit/bc-java/archive/r" - (substring version 0 1) "v" - (substring version 2 4) ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "http://git.bouncycastle.org/repositories/bc-java") + ;(url "https://github.com/bcgit/bc-java") + (commit (string-append "r1rv" (substring version 2 4))))) + (file-name (git-file-name name version)) (sha256 (base32 - "0v434513y708qc87k4xz13p2kzydc736lk3ks67df9mg11s7hchv")) + "1m921a1ac2dl797ffzg3d4j97ch308f25spb4jgsj3npfmmys5gb")) (modules '((guix build utils))) (snippet '(begin -- cgit v1.2.3 From 10af34cd7f1f4f9fb50db826d06233c83a9c0439 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 20 Apr 2020 10:56:23 +0200 Subject: tests: Update expected values for package->code. Reported by janneke on IRC. * tests/print.scm: Update expected package definitions produced by package->code. --- tests/print.scm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/print.scm b/tests/print.scm index d4b2cca93f..3386590d3a 100644 --- a/tests/print.scm +++ b/tests/print.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017 Ricardo Wurmus +;;; Copyright © 2017, 2020 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,7 +21,7 @@ #:use-module (guix build-system gnu) #:use-module (guix download) #:use-module (guix packages) - #:use-module (guix licenses) + #:use-module ((guix licenses) #:prefix license:) #:use-module (srfi srfi-64)) (define-syntax-rule (define-with-source object source expr) @@ -42,11 +42,11 @@ (sha256 (base32 "070pwb7brdcn1mfvplkd56vjc7lbz4iznzkqvfsakvgbv68k71ah")))) - (build-system gnu-build-system) + (build-system (@ (guix build-system gnu) gnu-build-system)) (home-page "http://gnu.org") (synopsis "Dummy") (description "This is a dummy package.") - (license gpl3+))) + (license license:gpl3+))) (define-with-source pkg-with-inputs pkg-with-inputs-source (package @@ -59,20 +59,20 @@ (sha256 (base32 "070pwb7brdcn1mfvplkd56vjc7lbz4iznzkqvfsakvgbv68k71ah")))) - (build-system gnu-build-system) + (build-system (@ (guix build-system gnu) gnu-build-system)) (inputs `(("coreutils" ,(@ (gnu packages base) coreutils)) ("glibc" ,(@ (gnu packages base) glibc) "debug"))) (home-page "http://gnu.org") (synopsis "Dummy") (description "This is a dummy package.") - (license gpl3+))) + (license license:gpl3+))) (test-equal "simple package" - pkg-source + `(define-public test ,pkg-source) (package->code pkg)) (test-equal "package with inputs" - pkg-with-inputs-source + `(define-public test ,pkg-with-inputs-source) (package->code pkg-with-inputs)) (test-end "print") -- cgit v1.2.3 From e68c8d3ef8d59b8c81fedd8fe9ea38f51cb9437a Mon Sep 17 00:00:00 2001 From: Eric Brown Date: Sun, 19 Apr 2020 14:07:27 -0500 Subject: gnu: Add r-bridgesampling. * gnu/packages/cran.scm (r-bridgesampling): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/cran.scm | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 757f809941..70cb7cc700 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -14,13 +14,13 @@ ;;; Copyright © 2018 Laura Lazzati ;;; Copyright © 2018 Leo Famulari ;;; Copyright © 2018 Marius Bakke -;;; Copyright © 2018 Eric Brown ;;; Copyright © 2018, 2019 Brett Gilio ;;; Copyright © 2019 Nicolò Balzarotti ;;; Copyright © 2019 Wiktor Żelazny ;;; Copyright © 2020 Todor Kondić ;;; Copyright © 2020 Danjela Lura ;;; Copyright © 2020 Naga Malleswari +;;; Copyright © 2020 Eric Brown ;;; ;;; This file is part of GNU Guix. ;;; @@ -21131,3 +21131,34 @@ vignettes from notebooks. Those notebooks (@code{.ipynb} files) are files containing rich text, code, and its output. Code cells can be edited and evaluated interactively.") (license license:gpl3))) + +(define-public r-bridgesampling + (package + (name "r-bridgesampling") + (version "1.0-0") + (source + (origin + (method url-fetch) + (uri (cran-uri "bridgesampling" version)) + (sha256 + (base32 + "1awhvv0v42w2q6llqi1wqpaiv5zx74cqzigdsvphy2jfp8ajw64y")))) + (properties + `((upstream-name . "bridgesampling"))) + (build-system r-build-system) + (propagated-inputs + `(("r-brobdingnag" ,r-brobdingnag) + ("r-coda" ,r-coda) + ("r-matrix" ,r-matrix) + ("r-mvtnorm" ,r-mvtnorm) + ("r-scales" ,r-scales) + ("r-stringr" ,r-stringr))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/quentingronau/bridgesampling") + (synopsis "Bridge sampling for marginal likelihoods and Bayes factors") + (description + "This package provides functions for estimating marginal likelihoods, +Bayes factors, posterior model probabilities, and normalizing constants in +general, via different versions of bridge sampling.") + (license license:gpl2+))) -- cgit v1.2.3 From fd546bbbeee5237e29264791b61f9ba453ebff9f Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Mon, 20 Apr 2020 16:21:17 +0200 Subject: syscalls: Fix Linux detection in 'readdir*'. * guix/build/syscalls.scm (readdir*): Fix Linux detection for `arm-unknown-linux-gnueabihf'. --- guix/build/syscalls.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm index 7ef03417c1..73b439fb7d 100644 --- a/guix/build/syscalls.scm +++ b/guix/build/syscalls.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2019 Guillaume Le Vaillant +;;; Copyright © 2020 Julien Lepiller ;;; ;;; This file is part of GNU Guix. ;;; @@ -943,7 +944,7 @@ system to PUT-OLD." (define readdir* ;; Decide at run time which one must be used. - (if (string-suffix? "linux-gnu" %host-type) + (if (string-contains %host-type "linux-gnu") (readdir-procedure (c-struct-field-offset %struct-dirent-header/linux name) sizeof-dirent-header/linux -- cgit v1.2.3 From e71c7f6abefdfef093ee655676f3b3a3e5d922f8 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Sun, 19 Apr 2020 09:39:05 -0400 Subject: gnu: Add midori. * gnu/packages/web-browsers.scm (midori): New variable. Signed-off-by: Mathieu Othacehe --- gnu/packages/web-browsers.scm | 62 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 8a6ffaeef1..424951cdb7 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2018 Pierre Neidhardt ;;; Copyright © 2019 Clément Lassieur ;;; Copyright © 2019 Brett Gilio +;;; Copyright © 2020 Raghav Gururajan ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,10 +31,13 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (gnu packages) + #:use-module (gnu packages backup) #:use-module (gnu packages compression) #:use-module (gnu packages documentation) #:use-module (gnu packages fltk) #:use-module (gnu packages fontutils) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages gnupg) #:use-module (gnu packages libevent) @@ -42,6 +46,7 @@ #:use-module (gnu packages lisp-xyz) #:use-module (gnu packages lua) #:use-module (gnu packages gnome) + #:use-module (gnu packages gnome-xyz) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -57,11 +62,68 @@ #:use-module (gnu packages gcc) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system python) #:use-module (guix build-system asdf)) +(define-public midori + (package + (name "midori") + (version "9.0") + (source + (origin + (method url-fetch) + (uri + (string-append "https://github.com/midori-browser/core/releases/" + "download/v" version "/" name "-v" version ".tar.gz")) + (sha256 + (base32 + "05i04qa83dnarmgkx4xsk6fga5lw1lmslh4rb3vhyyy4ala562jy")))) + (build-system cmake-build-system) + (arguments + `(#:imported-modules + (,@%cmake-build-system-modules + (guix build glib-or-gtk-build-system)) + #:modules + ((guix build cmake-build-system) + ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'install 'glib-or-gtk-compile-schemas + (assoc-ref glib-or-gtk:%standard-phases + 'glib-or-gtk-compile-schemas)) + (add-after 'install 'glib-or-gtk-wrap + (assoc-ref glib-or-gtk:%standard-phases + 'glib-or-gtk-wrap))))) + (native-inputs + `(("glib:bin" ,glib "bin") + ("gtk+:bin" ,gtk+ "bin") + ("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (inputs + `(("adwaita-icon-theme" ,adwaita-icon-theme) + ("gcr" ,gcr) + ("glib" ,glib) + ("glib-networking" ,glib-networking) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gtk+" ,gtk+) + ("json-glib" ,json-glib) + ("libarchive" ,libarchive) + ("libpeas" ,libpeas) + ("libsoup" ,libsoup) + ("sqlite" ,sqlite) + ("vala" ,vala) + ("webkitgtk" ,webkitgtk))) + (synopsis "Lightweight graphical web browser") + (description "@code{Midori} is a lightweight, Webkit-based web browser. +It features integration with GTK+3, configurable web search engine, bookmark +management, extensions such as advertisement blocker and colorful tabs.") + (home-page "https://www.midori-browser.org") + (license license:lgpl2.1+))) + (define-public dillo (package (name "dillo") -- cgit v1.2.3 From 9b3c231e3c144de11d670dff362be3afdd0f4d27 Mon Sep 17 00:00:00 2001 From: R Veera Kumar Date: Fri, 17 Apr 2020 22:21:01 +0530 Subject: gnu: libqalculate: Fix libcurl gnutls CA cert bundle file. * gnu/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/maths.scm (libqalculate)[source]: Use it. Signed-off-by: Danny Milosavljevic --- gnu/local.mk | 1 + gnu/packages/maths.scm | 4 +- .../libqalculate-3.8.0-libcurl-ssl-fix.patch | 53 ++++++++++++++++++++++ 3 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch diff --git a/gnu/local.mk b/gnu/local.mk index af79f9afed..fb0454fd45 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1144,6 +1144,7 @@ dist_patch_DATA = \ %D%/packages/patches/libmpeg2-global-symbol-test.patch \ %D%/packages/patches/libmygpo-qt-fix-qt-5.11.patch \ %D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \ + %D%/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch \ %D%/packages/patches/libsndfile-armhf-type-checks.patch \ %D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch \ %D%/packages/patches/libsndfile-CVE-2017-8362.patch \ diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 9930f491a2..7db2b31012 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -5416,7 +5416,9 @@ researchers and developers alike to get started on SAT.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1vbaza9c7159xf2ym90l0xkyj2mp6c3hbghhsqn29yvz08fda9df")))) + (base32 "1vbaza9c7159xf2ym90l0xkyj2mp6c3hbghhsqn29yvz08fda9df")) + (patches + (search-patches "libqalculate-3.8.0-libcurl-ssl-fix.patch")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) diff --git a/gnu/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch b/gnu/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch new file mode 100644 index 0000000000..b638963874 --- /dev/null +++ b/gnu/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch @@ -0,0 +1,53 @@ +Author: R Veera Kumar 2020 +Desc: + 1) Fixes download of exchange rates by specifying SSL CA certificates bundle + file while using libcurl (Since libcurl in guix is compiled without using + a default CA cert bundle file) + 2) Like above fix for using https site in another case + +diff -uNr libqalculate-3.8.0/libqalculate/Calculator-definitions.cc libqalculate-3.8.0.new/libqalculate/Calculator-definitions.cc +--- libqalculate-3.8.0/libqalculate/Calculator-definitions.cc 2020-02-16 15:08:29.000000000 +0530 ++++ libqalculate-3.8.0.new/libqalculate/Calculator-definitions.cc 2020-04-17 21:27:36.386039369 +0530 +@@ -3610,6 +3610,7 @@ + curl = curl_easy_init(); + if(!curl) {return false;} + curl_easy_setopt(curl, CURLOPT_URL, getExchangeRatesUrl(1).c_str()); ++ curl_easy_setopt(curl, CURLOPT_CAINFO, getenv("SSL_CERT_FILE")); + curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &sbuffer); +@@ -3663,6 +3664,7 @@ + + sbuffer = ""; + curl_easy_setopt(curl, CURLOPT_URL, getExchangeRatesUrl(2).c_str()); ++ curl_easy_setopt(curl, CURLOPT_CAINFO, getenv("SSL_CERT_FILE")); + curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &sbuffer); +@@ -3687,6 +3689,7 @@ + + sbuffer = ""; + curl_easy_setopt(curl, CURLOPT_URL, getExchangeRatesUrl(3).c_str()); ++ curl_easy_setopt(curl, CURLOPT_CAINFO, getenv("SSL_CERT_FILE")); + curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &sbuffer); +@@ -3710,6 +3713,7 @@ + + sbuffer = ""; + curl_easy_setopt(curl, CURLOPT_URL, getExchangeRatesUrl(4).c_str()); ++ curl_easy_setopt(curl, CURLOPT_CAINFO, getenv("SSL_CERT_FILE")); + curl_easy_setopt(curl, CURLOPT_TIMEOUT, (timeout > 4 && n <= 0) ? 4 : timeout); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &sbuffer); +diff -uNr libqalculate-3.8.0/libqalculate/util.cc libqalculate-3.8.0.new/libqalculate/util.cc +--- libqalculate-3.8.0/libqalculate/util.cc 2019-12-14 22:56:45.000000000 +0530 ++++ libqalculate-3.8.0.new/libqalculate/util.cc 2020-04-17 21:12:17.259674572 +0530 +@@ -769,6 +769,7 @@ + curl = curl_easy_init(); + if(!curl) {return -1;} + curl_easy_setopt(curl, CURLOPT_URL, "https://qalculate.github.io/CURRENT_VERSIONS"); ++ curl_easy_setopt(curl, CURLOPT_CAINFO, getenv("SSL_CERT_FILE")); + curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &sbuffer); -- cgit v1.2.3 From 80dbad18148568822a25c45621ac0656ea49e662 Mon Sep 17 00:00:00 2001 From: Florian Pelz Date: Tue, 14 Apr 2020 19:44:53 +0200 Subject: installer: Rename uvesafb shepherd service to maybe-uvesafb. Because the installer's uvesafb service loads uvesafb only on some machines. This is a follow-up to commit 0ad60b2a89d6d387236466e0bcdd61ac489fca37. * gnu/system/install.scm (uvesafb-shepherd-service): Adjust provision and description fields. --- gnu/system/install.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 0965c4d237..d31ed9a197 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -296,8 +296,8 @@ the user's target storage device rather than on the RAM disk." ;; support Kernel Mode Setting. Otherwise kmscon is missing /dev/fb0. (define (uvesafb-shepherd-service _) (list (shepherd-service - (documentation "Load the uvesafb kernel module.") - (provision '(uvesafb)) + (documentation "Load the uvesafb kernel module if needed.") + (provision '(maybe-uvesafb)) (requirement '(file-systems)) (start #~(lambda () ;; uvesafb is only supported on x86 and x86_64. -- cgit v1.2.3 From 2eac967ab7e56b53d936d6ac398de7e0a073dcf2 Mon Sep 17 00:00:00 2001 From: Naga Malleswari Date: Sat, 11 Apr 2020 01:23:03 +0530 Subject: gnu: xfce.scm: Sort module imports. * gnu/packages/xfce.scm: Sort module imports. Signed-off-by: Danny Milosavljevic --- gnu/packages/xfce.scm | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index 8a03e5160f..4b9751da35 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -29,43 +29,43 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages xfce) - #:use-module ((guix licenses) #:hide (freetype)) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix gexp) - #:use-module (guix utils) - #:use-module (guix build-system cmake) - #:use-module (guix build-system glib-or-gtk) - #:use-module (guix build-system gnu) - #:use-module (guix build-system trivial) #:use-module (gnu artwork) #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages calendar) #:use-module (gnu packages cdrom) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages glib) - #:use-module (gnu packages gtk) - #:use-module (gnu packages imagemagick) - #:use-module (gnu packages inkscape) - #:use-module (gnu packages xorg) - #:use-module (gnu packages xdisorg) - #:use-module (gnu packages web) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) - #:use-module (gnu packages image) + #:use-module (gnu packages glib) #:use-module (gnu packages gnome) - #:use-module (gnu packages pdf) - #:use-module (gnu packages polkit) #:use-module (gnu packages gstreamer) + #:use-module (gnu packages gtk) + #:use-module (gnu packages image) + #:use-module (gnu packages imagemagick) + #:use-module (gnu packages inkscape) #:use-module (gnu packages libcanberra) #:use-module (gnu packages linux) - #:use-module (gnu packages photo) #:use-module (gnu packages pcre) + #:use-module (gnu packages pdf) + #:use-module (gnu packages photo) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages polkit) #:use-module (gnu packages popt) #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages web) + #:use-module (gnu packages wm) #:use-module (gnu packages xml) - #:use-module (gnu packages wm)) + #:use-module (gnu packages xdisorg) + #:use-module (gnu packages xorg) + #:use-module (guix build-system cmake) + #:use-module (guix build-system glib-or-gtk) + #:use-module (guix build-system gnu) + #:use-module (guix build-system trivial) + #:use-module (guix download) + #:use-module (guix gexp) + #:use-module ((guix licenses) #:hide (freetype)) + #:use-module (guix packages) + #:use-module (guix utils)) (define-public gtk-xfce-engine (package -- cgit v1.2.3 From 781af0653353fe4a3cce31b88741b1075dbfa0ad Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 20 Apr 2020 16:18:45 -0400 Subject: gnu: Git: Update to 2.26.2 [fixes CVE-2020-11008]. * gnu/packages/version-control.scm (git): Update to 2.26.2. [native-inputs]: Update git-manpages. --- gnu/packages/version-control.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 5b3955869f..0743a90754 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -148,14 +148,14 @@ as well as the classic centralized workflow.") (define-public git (package (name "git") - (version "2.26.1") + (version "2.26.2") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/scm/git/git-" version ".tar.xz")) (sha256 (base32 - "0s03ix9j1h0yychkh1l1cgpr1l9lwzn3rprl08rk8ii5ix02i0l8")))) + "0j685w6pzkn926z5nf5r8fij4ziipvw4c9yb0wc577nzf4j16rbd")))) (build-system gnu-build-system) (native-inputs `(("native-perl" ,perl) @@ -168,7 +168,7 @@ as well as the classic centralized workflow.") version ".tar.xz")) (sha256 (base32 - "0j2031x3qchwjmiy2h849j4x1vd8y4rgqv2ak9dc87xbbpsbfg59")))) + "0rb4f4jc31zrcg4gyjg4fi07dw7nggkjg2nqfiq5p1aayw2f2ga3")))) ;; For subtree documentation. ("asciidoc" ,asciidoc-py3) ("docbook-xsl" ,docbook-xsl) -- cgit v1.2.3 From b023a8acd38b57b159aeeef0ac6de73960f97e8b Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 20 Apr 2020 16:19:51 -0400 Subject: gnu: cgit: Update Git source code to 2.25.4. * gnu/packages/version-control.scm (cgit)[inputs]: Update git-source to 2.25.4. --- gnu/packages/version-control.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 0743a90754..1d8fa75b82 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -861,9 +861,9 @@ collaboration using typical untrusted file hosts or services.") (method url-fetch) ;; cgit is tightly bound to git. Use GIT_VER from the Makefile, ;; which may not match the current (package-version git). - (uri "mirror://kernel.org/software/scm/git/git-2.25.3.tar.xz") + (uri "mirror://kernel.org/software/scm/git/git-2.25.4.tar.xz") (sha256 - (base32 "0yvr97cl0dvj3fwblq1mb0cp97v8hrn9l98p8b1jx8815mbsnz9h")))) + (base32 "11am6s46wmn1yll5614smjhzlghbqq6gysgcs64igjr9y5wzpdxq")))) ("openssl" ,openssl) ("groff" ,groff) ("python" ,python) -- cgit v1.2.3 From b6cb4aeff87ce89c6a8d09100920f0205ab73da4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 20 Apr 2020 12:23:16 +0200 Subject: gnu: mcron: Remove now unneeded phase. This is a followup to a52aa7fdef19f95fc1755ecd88e979ba07d8b392. * gnu/packages/guile-xyz.scm (mcron)[arguments]: Remove 'fix-finding-guile'. --- gnu/packages/guile-xyz.scm | 5 ----- 1 file changed, 5 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index dce12af96e..392b60d58c 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -2206,11 +2206,6 @@ is no support for parsing block and inline level HTML.") (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-finding-guile - (lambda _ - (substitute* "configure" - (("2\\.0") "3.0 2.2 2.0")) - #t)) (add-before 'check 'adjust-tests (lambda _ (substitute* "tests/job-specifier.scm" -- cgit v1.2.3 From 7d903d2ff7e17406c0650541f35e37a99dab8759 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 20 Apr 2020 19:36:41 +0200 Subject: services: Don't use the deprecated 'make-forkexec-constructor' call. Passing 'make-forkexec-constructor' a string or several string arguments has been deprecated since dmd 0.1. * gnu/services/base.scm (rngd-service-type): In 'start' method, pass a list as the first argument to 'make-forkexec-constructor'. * gnu/services/desktop.scm (bluetooth-shepherd-service): Likewise. * gnu/services/spice.scm (spice-vdagent-shepherd-service): Likewise. --- gnu/services/base.scm | 2 +- gnu/services/desktop.scm | 4 ++-- gnu/services/spice.scm | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 094bc5297e..d7f3c30b7b 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -557,7 +557,7 @@ down."))) (documentation "Add TRNG to entropy pool.") (requirement '(udev)) (provision '(trng)) - (start #~(make-forkexec-constructor #$@rngd-command)) + (start #~(make-forkexec-constructor '#$rngd-command)) (stop #~(make-kill-destructor)))))) (define* (rngd-service #:key diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 8663243256..e165d87c5f 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -452,8 +452,8 @@ site} for more information." (requirement '(dbus-system udev)) (documentation "Run the bluetoothd daemon.") (start #~(make-forkexec-constructor - (string-append #$(bluetooth-configuration-bluez config) - "/libexec/bluetooth/bluetoothd"))) + (list #$(file-append (bluetooth-configuration-bluez config) + "/libexec/bluetooth/bluetoothd")))) (stop #~(make-kill-destructor)))) (define bluetooth-service-type diff --git a/gnu/services/spice.scm b/gnu/services/spice.scm index 8a835fe78e..fd85dc234f 100644 --- a/gnu/services/spice.scm +++ b/gnu/services/spice.scm @@ -54,7 +54,7 @@ (documentation "Spice vdagentd service") (requirement '(udev)) (provision '(spice-vdagentd)) - (start #~(make-forkexec-constructor #$@spice-vdagentd-command)) + (start #~(make-forkexec-constructor '#$spice-vdagentd-command)) (stop #~(make-kill-destructor))))) (define spice-vdagent-profile -- cgit v1.2.3 From b25ecfa2e0ab6642dc35f7f68a24117e33f5795f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 20 Apr 2020 22:30:09 +0200 Subject: services: dovecot: 'stop' method returns #f upon success. * gnu/services/mail.scm (dovecot-shepherd-service)[stop]: Use 'invoke' instead of 'make-forkexec-constructor'. Previously, the 'stop' method would return the PID of the "dovecot stop" process, which would be interpreted as a failure to stop the service. --- gnu/services/mail.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm index 7791780dfc..cfcaf4601b 100644 --- a/gnu/services/mail.scm +++ b/gnu/services/mail.scm @@ -1544,9 +1544,10 @@ greyed out, instead of only later giving \"not selectable\" popup error. (start #~(make-forkexec-constructor (list (string-append #$dovecot "/sbin/dovecot") "-F"))) - (stop #~(make-forkexec-constructor - (list (string-append #$dovecot "/sbin/dovecot") - "stop"))))))) + (stop #~(lambda _ + (invoke #$(file-append dovecot "/sbin/dovecot") + "stop") + #f)))))) (define %dovecot-pam-services (list (unix-pam-service "dovecot"))) -- cgit v1.2.3 From a322e9d16b227484ce04721fee0f99618cb1007e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 20 Apr 2020 22:31:38 +0200 Subject: services: etc: Detect and report duplicate entries. Fixes . Reported by Christopher Baines . * gnu/services.scm (files->etc-directory)[assert-no-duplicates]: New procedure. Use it. --- gnu/services.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gnu/services.scm b/gnu/services.scm index 832d6984d8..126e0814eb 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -632,6 +632,23 @@ and FILE could be \"/usr/bin/env\"." (files->etc-directory (service-value service))) (define (files->etc-directory files) + (define (assert-no-duplicates files) + (let loop ((files files) + (seen (set))) + (match files + (() #t) + (((file _) rest ...) + (when (set-contains? seen file) + (raise (condition + (&message + (message (format #f (G_ "duplicate '~a' entry for /etc") + file)))))) + (loop rest (set-insert file seen)))))) + + ;; Detect duplicates early instead of letting them through, eventually + ;; leading to a build failure of "etc.drv". + (assert-no-duplicates files) + (file-union "etc" files)) (define (etc-entry files) -- cgit v1.2.3 From 71977a6c59460e029c91741c8b11f3a544a70486 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 20 Apr 2020 23:31:01 +0200 Subject: =?UTF-8?q?Revert=20"system:=20Don=E2=80=99t=20create=20a=20module?= =?UTF-8?q?=20database=20when=20no=20modules=20are=20available."?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit b2fff3b5de7d510fe4809e9a97089dddf2a39ffc. Fixes . Reported by pkill9 . This commit is incorrect: its effect depends on whether KERNEL's build output is already available in the store, it breaks with non-package kernels as reported at , and the LINUX-MODULE-DATABASE hook is required at all times since 5c79f238634c5adb6657f1b4b1bb4ddb8bb73ef1 removed the relevant bits from the 'linux-libre' package. --- gnu/system.scm | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index fd456c6206..d79ea23f98 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -477,19 +477,13 @@ OS." value of the SYSTEM-SERVICE-TYPE service." (let ((locale (operating-system-locale-directory os))) (mlet* %store-monad ((kernel -> (operating-system-kernel os)) - (kernel-modules (package-file kernel "lib/modules")) (modules -> (operating-system-kernel-loadable-modules os)) - (has-modules? -> - (or (not (null? modules)) - (file-exists? kernel-modules))) (kernel (profile-derivation (packages->manifest (cons kernel modules)) - #:hooks (if has-modules? - (list linux-module-database) - '()))) + #:hooks (list linux-module-database))) (initrd -> (operating-system-initrd-file os)) (params (operating-system-boot-parameters-file os))) (return `(("kernel" ,kernel) -- cgit v1.2.3 From c8d8f6160e7b4d3df7b006b35ba0f4e74b9b90fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 20 Apr 2020 23:37:05 +0200 Subject: packages: Recommend against the use of 'package-file'. * guix/packages.scm (package-file): Recommend against its use in the docstring. * doc/guix.texi (The Store Monad): Likewise. --- doc/guix.texi | 4 ++++ guix/packages.scm | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index d2cd11576f..a79bbfc4f7 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -7483,6 +7483,10 @@ value in the absolute file name of @var{file} within the @var{output} directory of @var{package}. When @var{file} is omitted, return the name of the @var{output} directory of @var{package}. When @var{target} is true, use it as a cross-compilation target triplet. + +Note that this procedure does @emph{not} build @var{package}. Thus, the +result might or might not designate an existing file. We recommend not +using this procedure unless you know what you are doing. @end deffn @deffn {Monadic Procedure} package->derivation @var{package} [@var{system}] diff --git a/guix/packages.scm b/guix/packages.scm index 6c6a06e0ce..2fa4fd05d7 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -1340,7 +1340,11 @@ code of derivations to GUILE, a package object." "Return as a monadic value the absolute file name of FILE within the OUTPUT directory of PACKAGE. When FILE is omitted, return the name of the OUTPUT directory of PACKAGE. When TARGET is true, use it as a -cross-compilation target triplet." +cross-compilation target triplet. + +Note that this procedure does _not_ build PACKAGE. Thus, the result might or +might not designate an existing file. We recommend not using this procedure +unless you know what you are doing." (lambda (store) (define compute-derivation (if target -- cgit v1.2.3 From ce5f4701d1e5c88c622a0d05a96ddfb31c117455 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Mon, 20 Apr 2020 12:24:29 -0700 Subject: gnu: obs: Update to 25.0.7. * gnu/packages/video (obs): Update to 25.0.7. --- 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 62cc423c09..85c195a383 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -2437,7 +2437,7 @@ be used for realtime video capture via Linux-specific APIs.") (define-public obs (package (name "obs") - (version "24.0.4") + (version "25.0.7") (source (origin (method git-fetch) (uri (git-reference @@ -2446,7 +2446,7 @@ be used for realtime video capture via Linux-specific APIs.") (file-name (git-file-name name version)) (sha256 (base32 - "0m15ch2ix9qrdf1a9mj7wcpl72z3h13zx60c9q72sb1435id2g1q")))) + "02ppkp1j5yxnxv663nz5wv4vbcg3k53l43xq94d1p1b3j4wxwq8b")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; no tests -- cgit v1.2.3 From 41169f21e67b3fdf9ee320e7f5236f686eb41538 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Mon, 20 Apr 2020 01:47:50 -0400 Subject: gnu: liblinphone: Fix icons. * gnu/packages/linphone.scm (liblinphone): Fix icons. Signed-off-by: Maxim Cournoyer --- gnu/packages/linphone.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm index c9959d7d01..8962f2001e 100644 --- a/gnu/packages/linphone.scm +++ b/gnu/packages/linphone.scm @@ -49,6 +49,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system cmake) + #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu)) (define-public bcunit @@ -428,8 +429,17 @@ decoding, and rendering.") "/lib/glib-2.0/include")) "-DENABLE_STATIC=NO" ; Not required "-DENABLE_GTK_UI=YES") ; For Legacy UI + #:imported-modules (,@%cmake-build-system-modules + (guix build glib-or-gtk-build-system)) + #:modules ((guix build cmake-build-system) + ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) + (guix build utils)) #:phases (modify-phases %standard-phases + (add-after 'install 'glib-or-gtk-compile-schemas + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas)) + (add-after 'install 'glib-or-gtk-wrap + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)) (add-after 'unpack 'patch (lambda _ (substitute* "gtk/main.c" @@ -449,6 +459,7 @@ decoding, and rendering.") ("belcard" ,belcard) ("bellesip" ,belle-sip) ("bzrtp", bzrtp) + ("hicolor-icon-theme" ,hicolor-icon-theme) ; Hard-coded for GTK UI ("glib" ,glib) ("gtk2" ,gtk+-2) ("mediastreamer2" ,mediastreamer2) -- cgit v1.2.3 From 5327b399a875a00304ccc1e6ece7190f26113539 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Mon, 20 Apr 2020 18:21:07 -0700 Subject: gnu: Add u-boot-pinebook-pro-rk3399. * gnu/packages/bootloaders (u-boot-pinebook-pro-rk3399): New variable. * gnu/packages/patches/u-boot-DT-for-Pinebook-Pro.patch: New file. * gnu/packages/patches/u-boot-add-boe-nv140fhmn49-display.patch: New file. * gnu/packages/patches/u-boot-gpio-keys-binding-cons.patch: New file. * gnu/packages/patches/u-boot-leds-common-binding-con.patch: New file. * gnu/packages/patches/u-boot-support-Pinebook-Pro-laptop.patch: New file. * gnu/packages/patches/u-boot-video-rockchip-fix-build.patch: New file. * gnu/local.mk (dist_patch_DATA): Add new patches. * gnu/bootloader/u-boot.scm (install-pinebook-pro-rk3399-u-boot, u-boot-pinebook-pro-rk3399-bootloader): New variable. Co-authored-by: Jan Nieuwenhuizen --- gnu/bootloader/u-boot.scm | 11 + gnu/local.mk | 6 + gnu/packages/bootloaders.scm | 30 + .../patches/u-boot-DT-for-Pinebook-Pro.patch | 1132 ++++++++++++++++++++ .../u-boot-add-boe-nv140fhmn49-display.patch | 29 + .../patches/u-boot-gpio-keys-binding-cons.patch | 37 + .../patches/u-boot-leds-common-binding-con.patch | 115 ++ .../u-boot-support-Pinebook-Pro-laptop.patch | 367 +++++++ .../patches/u-boot-video-rockchip-fix-build.patch | 48 + 9 files changed, 1775 insertions(+) create mode 100644 gnu/packages/patches/u-boot-DT-for-Pinebook-Pro.patch create mode 100644 gnu/packages/patches/u-boot-add-boe-nv140fhmn49-display.patch create mode 100644 gnu/packages/patches/u-boot-gpio-keys-binding-cons.patch create mode 100644 gnu/packages/patches/u-boot-leds-common-binding-con.patch create mode 100644 gnu/packages/patches/u-boot-support-Pinebook-Pro-laptop.patch create mode 100644 gnu/packages/patches/u-boot-video-rockchip-fix-build.patch diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm index 6f41d0abe9..1da9d04eb2 100644 --- a/gnu/bootloader/u-boot.scm +++ b/gnu/bootloader/u-boot.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2017 David Craven ;;; Copyright © 2017, 2019 Mathieu Othacehe ;;; Copyright © 2020 Julien Lepiller +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,6 +38,7 @@ u-boot-pine64-plus-bootloader u-boot-pine64-lts-bootloader u-boot-pinebook-bootloader + u-boot-pinebook-pro-rk3399-bootloader u-boot-puma-rk3399-bootloader u-boot-rock64-rk3328-bootloader u-boot-rockpro64-rk3399-bootloader @@ -123,6 +125,8 @@ (write-file-on-device u-boot (stat:size (stat u-boot)) device (* 16384 512))))) +(define install-pinebook-pro-rk3399-u-boot install-rockpro64-rk3399-u-boot) + ;;; @@ -243,3 +247,10 @@ (inherit u-boot-bootloader) (package u-boot-rockpro64-rk3399) (installer install-rockpro64-rk3399-u-boot))) + +(define u-boot-pinebook-pro-rk3399-bootloader + ;; SD and eMMC use the same format + (bootloader + (inherit u-boot-bootloader) + (package u-boot-pinebook-pro-rk3399) + (installer install-pinebook-pro-rk3399-u-boot))) diff --git a/gnu/local.mk b/gnu/local.mk index fb0454fd45..ca863a8b9b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1482,6 +1482,12 @@ dist_patch_DATA = \ %D%/packages/patches/tomb-fix-errors-on-open.patch \ %D%/packages/patches/tuxpaint-stamps-path.patch \ %D%/packages/patches/u-boot-riscv64-fix-extlinux.patch \ + %D%/packages/patches/u-boot-DT-for-Pinebook-Pro.patch \ + %D%/packages/patches/u-boot-add-boe-nv140fhmn49-display.patch \ + %D%/packages/patches/u-boot-gpio-keys-binding-cons.patch \ + %D%/packages/patches/u-boot-leds-common-binding-con.patch \ + %D%/packages/patches/u-boot-support-Pinebook-Pro-laptop.patch \ + %D%/packages/patches/u-boot-video-rockchip-fix-build.patch \ %D%/packages/patches/ucx-tcp-iface-ioctl.patch \ %D%/packages/patches/udiskie-no-appindicator.patch \ %D%/packages/patches/unzip-CVE-2014-8139.patch \ diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 28a088a43a..750579e913 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2019 nee ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2020 Björn Höfling +;;; Copyright © 2018, 2019, 2020 Vagrant Cascadian ;;; ;;; This file is part of GNU Guix. ;;; @@ -834,6 +835,35 @@ to Novena upstream, does not load u-boot.img from the first partition.") `(("firmware" ,arm-trusted-firmware-rk3399) ,@(package-native-inputs base)))))) +(define-public u-boot-pinebook-pro-rk3399 + (let ((base (make-u-boot-package "pinebook-pro-rk3399" "aarch64-linux-gnu"))) + (package + (inherit base) + (source (origin + (inherit (package-source u-boot)) + (patches + (search-patches "u-boot-add-boe-nv140fhmn49-display.patch" + "u-boot-gpio-keys-binding-cons.patch" + "u-boot-leds-common-binding-con.patch" + "u-boot-DT-for-Pinebook-Pro.patch" + "u-boot-support-Pinebook-Pro-laptop.patch" + "u-boot-video-rockchip-fix-build.patch")))) + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'set-environment + (lambda* (#:key inputs #:allow-other-keys) + (setenv "BL31" (string-append (assoc-ref inputs "firmware") + "/bl31.elf")) + #t)) + ;; Phases do not succeed on the bl31 ELF. + (delete 'strip) + (delete 'validate-runpath))))) + (native-inputs + `(("firmware" ,arm-trusted-firmware-rk3399) + ,@(package-native-inputs base)))))) + (define-public vboot-utils (package (name "vboot-utils") diff --git a/gnu/packages/patches/u-boot-DT-for-Pinebook-Pro.patch b/gnu/packages/patches/u-boot-DT-for-Pinebook-Pro.patch new file mode 100644 index 0000000000..f88d12f1e2 --- /dev/null +++ b/gnu/packages/patches/u-boot-DT-for-Pinebook-Pro.patch @@ -0,0 +1,1132 @@ +From b128c2e0b480ee992fabe554d19cd471efb11095 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Mon, 20 Apr 2020 20:27:35 +0100 +Origin: https://patchwork.ozlabs.org/project/uboot/patch/20200420192736.962307-5-pbrobinson@gmail.com/ +Subject: [PATCH 4/5] arm: dts: rockchip: Add initial DT for Pinebook Pro + +Sync initial support for Pinebook Pro device tree from Linux 5.7-rc1. + +Signed-off-by: Peter Robinson +--- + arch/arm/dts/Makefile | 1 + + arch/arm/dts/rk3399-pinebook-pro.dts | 1096 ++++++++++++++++++++++++++ + 2 files changed, 1097 insertions(+) + create mode 100644 arch/arm/dts/rk3399-pinebook-pro.dts + +diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile +index 820ee9733a..885bf0ef58 100644 +--- a/arch/arm/dts/Makefile ++++ b/arch/arm/dts/Makefile +@@ -125,6 +125,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3399) += \ + rk3399-nanopi-m4.dtb \ + rk3399-nanopi-neo4.dtb \ + rk3399-orangepi.dtb \ ++ rk3399-pinebook-pro.dtb \ + rk3399-puma-ddr1333.dtb \ + rk3399-puma-ddr1600.dtb \ + rk3399-puma-ddr1866.dtb \ +diff --git a/arch/arm/dts/rk3399-pinebook-pro.dts b/arch/arm/dts/rk3399-pinebook-pro.dts +new file mode 100644 +index 0000000000..294d21bf45 +--- /dev/null ++++ b/arch/arm/dts/rk3399-pinebook-pro.dts +@@ -0,0 +1,1096 @@ ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++/* ++ * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd. ++ * Copyright (c) 2018 Akash Gajjar ++ * Copyright (c) 2020 Tobias Schramm ++ */ ++ ++/dts-v1/; ++#include ++#include ++#include ++#include ++#include ++#include "rk3399.dtsi" ++#include "rk3399-opp.dtsi" ++ ++/ { ++ model = "Pine64 Pinebook Pro"; ++ compatible = "pine64,pinebook-pro", "rockchip,rk3399"; ++ ++ chosen { ++ stdout-path = "serial2:1500000n8"; ++ }; ++ ++ backlight: edp-backlight { ++ compatible = "pwm-backlight"; ++ power-supply = <&vcc_12v>; ++ pwms = <&pwm0 0 740740 0>; ++ }; ++ ++ edp_panel: edp-panel { ++ compatible = "boe,nv140fhmn49"; ++ backlight = <&backlight>; ++ enable-gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&panel_en_gpio>; ++ power-supply = <&vcc3v3_panel>; ++ ++ ports { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ port@0 { ++ reg = <0>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ panel_in_edp: endpoint@0 { ++ reg = <0>; ++ remote-endpoint = <&edp_out_panel>; ++ }; ++ }; ++ }; ++ }; ++ ++ /* ++ * Use separate nodes for gpio-keys to allow for selective deactivation ++ * of wakeup sources via sysfs without disabling the whole key ++ */ ++ gpio-key-lid { ++ compatible = "gpio-keys"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&lidbtn_gpio>; ++ ++ lid { ++ debounce-interval = <20>; ++ gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_LOW>; ++ label = "Lid"; ++ linux,code = ; ++ linux,input-type = ; ++ wakeup-event-action = ; ++ wakeup-source; ++ }; ++ }; ++ ++ gpio-key-power { ++ compatible = "gpio-keys"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwrbtn_gpio>; ++ ++ power { ++ debounce-interval = <20>; ++ gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; ++ label = "Power"; ++ linux,code = ; ++ wakeup-source; ++ }; ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwrled_gpio &slpled_gpio>; ++ ++ green-led { ++ color = ; ++ default-state = "on"; ++ function = LED_FUNCTION_POWER; ++ gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>; ++ label = "green:power"; ++ }; ++ ++ red-led { ++ color = ; ++ default-state = "off"; ++ function = LED_FUNCTION_STANDBY; ++ gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>; ++ label = "red:standby"; ++ panic-indicator; ++ retain-state-suspended; ++ }; ++ }; ++ ++ /* Power sequence for SDIO WiFi module */ ++ sdio_pwrseq: sdio-pwrseq { ++ compatible = "mmc-pwrseq-simple"; ++ clocks = <&rk808 1>; ++ clock-names = "ext_clock"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&wifi_enable_h_gpio>; ++ post-power-on-delay-ms = <100>; ++ power-off-delay-us = <500000>; ++ ++ /* WL_REG_ON on module */ ++ reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; ++ }; ++ ++ /* Audio components */ ++ es8316-sound { ++ compatible = "simple-audio-card"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&hp_det_gpio>; ++ simple-audio-card,name = "rockchip,es8316-codec"; ++ simple-audio-card,format = "i2s"; ++ simple-audio-card,mclk-fs = <256>; ++ ++ simple-audio-card,widgets = ++ "Microphone", "Mic Jack", ++ "Headphone", "Headphones", ++ "Speaker", "Speaker"; ++ simple-audio-card,routing = ++ "MIC1", "Mic Jack", ++ "Headphones", "HPOL", ++ "Headphones", "HPOR", ++ "Speaker Amplifier INL", "HPOL", ++ "Speaker Amplifier INR", "HPOR", ++ "Speaker", "Speaker Amplifier OUTL", ++ "Speaker", "Speaker Amplifier OUTR"; ++ ++ simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>; ++ simple-audio-card,aux-devs = <&speaker_amp>; ++ simple-audio-card,pin-switches = "Speaker"; ++ ++ simple-audio-card,cpu { ++ sound-dai = <&i2s1>; ++ }; ++ ++ simple-audio-card,codec { ++ sound-dai = <&es8316>; ++ }; ++ }; ++ ++ speaker_amp: speaker-amplifier { ++ compatible = "simple-audio-amplifier"; ++ enable-gpios = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>; ++ sound-name-prefix = "Speaker Amplifier"; ++ VCC-supply = <&pa_5v>; ++ }; ++ ++ /* Power tree */ ++ /* Root power source */ ++ vcc_sysin: vcc-sysin { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc_sysin"; ++ regulator-always-on; ++ regulator-boot-on; ++ }; ++ ++ /* Regulators supplied by vcc_sysin */ ++ /* LCD backlight supply */ ++ vcc_12v: vcc-12v { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc_12v"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <12000000>; ++ regulator-max-microvolt = <12000000>; ++ vin-supply = <&vcc_sysin>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* Main 3.3 V supply */ ++ vcc3v3_sys: wifi_bat: vcc3v3-sys { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc3v3_sys"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ vin-supply = <&vcc_sysin>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ }; ++ }; ++ ++ /* 5 V USB power supply */ ++ vcc5v0_usb: pa_5v: vcc5v0-usb-regulator { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwr_5v_gpio>; ++ regulator-name = "vcc5v0_usb"; ++ regulator-always-on; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ vin-supply = <&vcc_sysin>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* RK3399 logic supply */ ++ vdd_log: vdd-log { ++ compatible = "pwm-regulator"; ++ pwms = <&pwm2 0 25000 1>; ++ regulator-name = "vdd_log"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <800000>; ++ regulator-max-microvolt = <1400000>; ++ vin-supply = <&vcc_sysin>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ }; ++ }; ++ ++ /* Regulators supplied by vcc3v3_sys */ ++ /* 0.9 V supply, always on */ ++ vcc_0v9: vcc-0v9 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc_0v9"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <900000>; ++ regulator-max-microvolt = <900000>; ++ vin-supply = <&vcc3v3_sys>; ++ }; ++ ++ /* S3 1.8 V supply, switched by vcc1v8_s3 */ ++ vcca1v8_s3: vcc1v8-s3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcca1v8_s3"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ vin-supply = <&vcc3v3_sys>; ++ }; ++ ++ /* micro SD card power */ ++ vcc3v0_sd: vcc3v0-sd { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdmmc0_pwr_h_gpio>; ++ regulator-name = "vcc3v0_sd"; ++ regulator-always-on; ++ regulator-min-microvolt = <3000000>; ++ regulator-max-microvolt = <3000000>; ++ vin-supply = <&vcc3v3_sys>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* LCD panel power, called VCC3V3_S0 in schematic */ ++ vcc3v3_panel: vcc3v3-panel { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&lcdvcc_en_gpio>; ++ regulator-name = "vcc3v3_panel"; ++ regulator-always-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-enable-ramp-delay = <100000>; ++ vin-supply = <&vcc3v3_sys>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* M.2 adapter power, switched by vcc1v8_s3 */ ++ vcc3v3_ssd: vcc3v3-ssd { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc3v3_ssd"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ vin-supply = <&vcc3v3_sys>; ++ }; ++ ++ /* Regulators supplied by vcc5v0_usb */ ++ /* USB 3 port power supply regulator */ ++ vcc5v0_otg: vcc5v0-otg { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&vcc5v0_host_en_gpio>; ++ regulator-name = "vcc5v0_otg"; ++ regulator-always-on; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ vin-supply = <&vcc5v0_usb>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* Regulators supplied by vcc5v0_usb */ ++ /* Type C port power supply regulator */ ++ vbus_5vout: vbus_typec: vbus-5vout { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&vcc5v0_typec0_en_gpio>; ++ regulator-name = "vbus_5vout"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ vin-supply = <&vcc5v0_usb>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* Regulators supplied by vcc_1v8 */ ++ /* Primary 0.9 V LDO */ ++ vcca0v9_s3: vcca0v9-s3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc0v9_s3"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ vin-supply = <&vcc_1v8>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ }; ++ }; ++ ++ mains_charger: dc-charger { ++ compatible = "gpio-charger"; ++ charger-type = "mains"; ++ gpios = <&gpio4 RK_PD0 GPIO_ACTIVE_LOW>; ++ ++ /* Also triggered by USB charger */ ++ pinctrl-names = "default"; ++ pinctrl-0 = <&dc_det_gpio>; ++ }; ++}; ++ ++&cdn_dp { ++ status = "okay"; ++}; ++ ++&cpu_b0 { ++ cpu-supply = <&vdd_cpu_b>; ++}; ++ ++&cpu_b1 { ++ cpu-supply = <&vdd_cpu_b>; ++}; ++ ++&cpu_l0 { ++ cpu-supply = <&vdd_cpu_l>; ++}; ++ ++&cpu_l1 { ++ cpu-supply = <&vdd_cpu_l>; ++}; ++ ++&cpu_l2 { ++ cpu-supply = <&vdd_cpu_l>; ++}; ++ ++&cpu_l3 { ++ cpu-supply = <&vdd_cpu_l>; ++}; ++ ++&edp { ++ force-hpd; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&edp_hpd>; ++ status = "okay"; ++ ++ ports { ++ edp_out: port@1 { ++ reg = <1>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ edp_out_panel: endpoint@0 { ++ reg = <0>; ++ remote-endpoint = <&panel_in_edp>; ++ }; ++ }; ++ }; ++}; ++ ++&emmc_phy { ++ status = "okay"; ++}; ++ ++&gpu { ++ mali-supply = <&vdd_gpu>; ++ status = "okay"; ++}; ++ ++&hdmi_sound { ++ status = "okay"; ++}; ++ ++&i2c0 { ++ clock-frequency = <400000>; ++ i2c-scl-falling-time-ns = <4>; ++ i2c-scl-rising-time-ns = <168>; ++ status = "okay"; ++ ++ rk808: pmic@1b { ++ compatible = "rockchip,rk808"; ++ reg = <0x1b>; ++ #clock-cells = <1>; ++ clock-output-names = "xin32k", "rk808-clkout2"; ++ interrupt-parent = <&gpio3>; ++ interrupts = <10 IRQ_TYPE_LEVEL_LOW>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pmic_int_l_gpio>; ++ rockchip,system-power-controller; ++ wakeup-source; ++ ++ vcc1-supply = <&vcc_sysin>; ++ vcc2-supply = <&vcc_sysin>; ++ vcc3-supply = <&vcc_sysin>; ++ vcc4-supply = <&vcc_sysin>; ++ vcc6-supply = <&vcc_sysin>; ++ vcc7-supply = <&vcc_sysin>; ++ vcc8-supply = <&vcc3v3_sys>; ++ vcc9-supply = <&vcc_sysin>; ++ vcc10-supply = <&vcc_sysin>; ++ vcc11-supply = <&vcc_sysin>; ++ vcc12-supply = <&vcc3v3_sys>; ++ vcc13-supply = <&vcc_sysin>; ++ vcc14-supply = <&vcc_sysin>; ++ ++ regulators { ++ /* rk3399 center logic supply */ ++ vdd_center: DCDC_REG1 { ++ regulator-name = "vdd_center"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <750000>; ++ regulator-max-microvolt = <1350000>; ++ regulator-ramp-delay = <6001>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vdd_cpu_l: DCDC_REG2 { ++ regulator-name = "vdd_cpu_l"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <750000>; ++ regulator-max-microvolt = <1350000>; ++ regulator-ramp-delay = <6001>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc_ddr: DCDC_REG3 { ++ regulator-name = "vcc_ddr"; ++ regulator-always-on; ++ regulator-boot-on; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ }; ++ }; ++ ++ vcc_1v8: vcc_wl: DCDC_REG4 { ++ regulator-name = "vcc_1v8"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <1800000>; ++ }; ++ }; ++ ++ /* not used */ ++ LDO_REG1 { ++ }; ++ ++ /* not used */ ++ LDO_REG2 { ++ }; ++ ++ vcc1v8_pmupll: LDO_REG3 { ++ regulator-name = "vcc1v8_pmupll"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <1800000>; ++ }; ++ }; ++ ++ vcc_sdio: LDO_REG4 { ++ regulator-name = "vcc_sdio"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <3000000>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <3000000>; ++ }; ++ }; ++ ++ vcca3v0_codec: LDO_REG5 { ++ regulator-name = "vcca3v0_codec"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <3000000>; ++ regulator-max-microvolt = <3000000>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc_1v5: LDO_REG6 { ++ regulator-name = "vcc_1v5"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1500000>; ++ regulator-max-microvolt = <1500000>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <1500000>; ++ }; ++ }; ++ ++ vcca1v8_codec: LDO_REG7 { ++ regulator-name = "vcca1v8_codec"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc_3v0: LDO_REG8 { ++ regulator-name = "vcc_3v0"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <3000000>; ++ regulator-max-microvolt = <3000000>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <3000000>; ++ }; ++ }; ++ ++ vcc3v3_s3: SWITCH_REG1 { ++ regulator-name = "vcc3v3_s3"; ++ regulator-always-on; ++ regulator-boot-on; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc3v3_s0: SWITCH_REG2 { ++ regulator-name = "vcc3v3_s0"; ++ regulator-always-on; ++ regulator-boot-on; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ }; ++ }; ++ ++ vdd_cpu_b: regulator@40 { ++ compatible = "silergy,syr827"; ++ reg = <0x40>; ++ fcs,suspend-voltage-selector = <1>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&vsel1_gpio>; ++ regulator-name = "vdd_cpu_b"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <712500>; ++ regulator-max-microvolt = <1500000>; ++ regulator-ramp-delay = <1000>; ++ vin-supply = <&vcc_1v8>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vdd_gpu: regulator@41 { ++ compatible = "silergy,syr828"; ++ reg = <0x41>; ++ fcs,suspend-voltage-selector = <1>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&vsel2_gpio>; ++ regulator-name = "vdd_gpu"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <712500>; ++ regulator-max-microvolt = <1500000>; ++ regulator-ramp-delay = <1000>; ++ vin-supply = <&vcc_1v8>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++}; ++ ++&i2c1 { ++ clock-frequency = <100000>; ++ i2c-scl-falling-time-ns = <4>; ++ i2c-scl-rising-time-ns = <168>; ++ status = "okay"; ++ ++ es8316: es8316@11 { ++ compatible = "everest,es8316"; ++ reg = <0x11>; ++ clocks = <&cru SCLK_I2S_8CH_OUT>; ++ clock-names = "mclk"; ++ #sound-dai-cells = <0>; ++ }; ++}; ++ ++&i2c3 { ++ i2c-scl-falling-time-ns = <15>; ++ i2c-scl-rising-time-ns = <450>; ++ status = "okay"; ++}; ++ ++&i2c4 { ++ i2c-scl-falling-time-ns = <20>; ++ i2c-scl-rising-time-ns = <600>; ++ status = "okay"; ++ ++ fusb0: fusb30x@22 { ++ compatible = "fcs,fusb302"; ++ reg = <0x22>; ++ fcs,int_n = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&fusb0_int_gpio>; ++ vbus-supply = <&vbus_typec>; ++ ++ connector { ++ compatible = "usb-c-connector"; ++ data-role = "host"; ++ label = "USB-C"; ++ op-sink-microwatt = <1000000>; ++ power-role = "dual"; ++ sink-pdos = ++ ; ++ source-pdos = ++ ; ++ try-power-role = "sink"; ++ ++ ports { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ port@0 { ++ reg = <0>; ++ ++ usbc_hs: endpoint { ++ remote-endpoint = ++ <&u2phy0_typec_hs>; ++ }; ++ }; ++ ++ port@1 { ++ reg = <1>; ++ ++ usbc_ss: endpoint { ++ remote-endpoint = ++ <&tcphy0_typec_ss>; ++ }; ++ }; ++ ++ port@2 { ++ reg = <2>; ++ ++ usbc_dp: endpoint { ++ remote-endpoint = ++ <&tcphy0_typec_dp>; ++ }; ++ }; ++ }; ++ }; ++ }; ++}; ++ ++&i2s1 { ++ #sound-dai-cells = <0>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&i2s_8ch_mclk_gpio>, <&i2s1_2ch_bus>; ++ rockchip,capture-channels = <8>; ++ rockchip,playback-channels = <8>; ++ status = "okay"; ++}; ++ ++&io_domains { ++ audio-supply = <&vcc_3v0>; ++ gpio1830-supply = <&vcc_3v0>; ++ sdmmc-supply = <&vcc_sdio>; ++ status = "okay"; ++}; ++ ++&pcie_phy { ++ status = "okay"; ++}; ++ ++&pcie0 { ++ bus-scan-delay-ms = <1000>; ++ ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>; ++ max-link-speed = <2>; ++ num-lanes = <4>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pcie_clkreqn_cpm>; ++ vpcie0v9-supply = <&vcca0v9_s3>; ++ vpcie1v8-supply = <&vcca1v8_s3>; ++ vpcie3v3-supply = <&vcc3v3_ssd>; ++ status = "okay"; ++}; ++ ++&pinctrl { ++ buttons { ++ pwrbtn_gpio: pwrbtn-gpio { ++ rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ ++ lidbtn_gpio: lidbtn-gpio { ++ rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ dc-charger { ++ dc_det_gpio: dc-det-gpio { ++ rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ es8316 { ++ hp_det_gpio: hp-det-gpio { ++ rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ fusb302x { ++ fusb0_int_gpio: fusb0-int-gpio { ++ rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ i2s1 { ++ i2s_8ch_mclk_gpio: i2s-8ch-mclk-gpio { ++ rockchip,pins = <4 RK_PA0 1 &pcfg_pull_none>; ++ }; ++ }; ++ ++ lcd-panel { ++ lcdvcc_en_gpio: lcdvcc-en-gpio { ++ rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ panel_en_gpio: panel-en-gpio { ++ rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ lcd_panel_reset_gpio: lcd-panel-reset-gpio { ++ rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ leds { ++ pwrled_gpio: pwrled_gpio { ++ rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ slpled_gpio: slpled_gpio { ++ rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++ ++ pmic { ++ pmic_int_l_gpio: pmic-int-l-gpio { ++ rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ ++ vsel1_gpio: vsel1-gpio { ++ rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; ++ }; ++ ++ vsel2_gpio: vsel2-gpio { ++ rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; ++ }; ++ }; ++ ++ sdcard { ++ sdmmc0_pwr_h_gpio: sdmmc0-pwr-h-gpio { ++ rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ }; ++ ++ sdio-pwrseq { ++ wifi_enable_h_gpio: wifi-enable-h-gpio { ++ rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++ ++ usb-typec { ++ vcc5v0_typec0_en_gpio: vcc5v0-typec0-en-gpio { ++ rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ usb2 { ++ pwr_5v_gpio: pwr-5v-gpio { ++ rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ vcc5v0_host_en_gpio: vcc5v0-host-en-gpio { ++ rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++ ++ wireless-bluetooth { ++ bt_wake_gpio: bt-wake-gpio { ++ rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ bt_host_wake_gpio: bt-host-wake-gpio { ++ rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ bt_reset_gpio: bt-reset-gpio { ++ rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++}; ++ ++&pmu_io_domains { ++ pmu1830-supply = <&vcc_3v0>; ++ status = "okay"; ++}; ++ ++&pwm0 { ++ status = "okay"; ++}; ++ ++&pwm2 { ++ status = "okay"; ++}; ++ ++&saradc { ++ vref-supply = <&vcca1v8_s3>; ++ status = "okay"; ++}; ++ ++&sdmmc { ++ bus-width = <4>; ++ cap-mmc-highspeed; ++ cap-sd-highspeed; ++ cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; ++ disable-wp; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; ++ sd-uhs-sdr104; ++ vmmc-supply = <&vcc3v0_sd>; ++ vqmmc-supply = <&vcc_sdio>; ++ status = "okay"; ++}; ++ ++&sdio0 { ++ bus-width = <4>; ++ cap-sd-highspeed; ++ cap-sdio-irq; ++ keep-power-in-suspend; ++ mmc-pwrseq = <&sdio_pwrseq>; ++ non-removable; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; ++ sd-uhs-sdr104; ++ status = "okay"; ++}; ++ ++&sdhci { ++ bus-width = <8>; ++ mmc-hs200-1_8v; ++ non-removable; ++ status = "okay"; ++}; ++ ++&spi1 { ++ max-freq = <10000000>; ++ status = "okay"; ++ ++ spiflash: flash@0 { ++ compatible = "jedec,spi-nor"; ++ reg = <0>; ++ m25p,fast-read; ++ spi-max-frequency = <10000000>; ++ }; ++}; ++ ++&tcphy0 { ++ status = "okay"; ++}; ++ ++&tcphy0_dp { ++ port { ++ tcphy0_typec_dp: endpoint { ++ remote-endpoint = <&usbc_dp>; ++ }; ++ }; ++}; ++ ++&tcphy0_usb3 { ++ port { ++ tcphy0_typec_ss: endpoint { ++ remote-endpoint = <&usbc_ss>; ++ }; ++ }; ++}; ++ ++&tcphy1 { ++ status = "okay"; ++}; ++ ++&tsadc { ++ /* tshut mode 0:CRU 1:GPIO */ ++ rockchip,hw-tshut-mode = <1>; ++ /* tshut polarity 0:LOW 1:HIGH */ ++ rockchip,hw-tshut-polarity = <1>; ++ status = "okay"; ++}; ++ ++&u2phy0 { ++ status = "okay"; ++ ++ u2phy0_otg: otg-port { ++ status = "okay"; ++ }; ++ ++ u2phy0_host: host-port { ++ phy-supply = <&vcc5v0_otg>; ++ status = "okay"; ++ }; ++ ++ port { ++ u2phy0_typec_hs: endpoint { ++ remote-endpoint = <&usbc_hs>; ++ }; ++ }; ++}; ++ ++&u2phy1 { ++ status = "okay"; ++ ++ u2phy1_otg: otg-port { ++ status = "okay"; ++ }; ++ ++ u2phy1_host: host-port { ++ phy-supply = <&vcc5v0_otg>; ++ status = "okay"; ++ }; ++}; ++ ++&uart0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; ++ uart-has-rtscts; ++ status = "okay"; ++ ++ bluetooth { ++ compatible = "brcm,bcm4345c5"; ++ clocks = <&rk808 1>; ++ clock-names = "lpo"; ++ device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>; ++ host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>; ++ max-speed = <1500000>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&bt_host_wake_gpio &bt_wake_gpio &bt_reset_gpio>; ++ shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>; ++ vbat-supply = <&wifi_bat>; ++ vddio-supply = <&vcc_wl>; ++ }; ++}; ++ ++&uart2 { ++ status = "okay"; ++}; ++ ++&usb_host0_ehci { ++ status = "okay"; ++}; ++ ++&usb_host0_ohci { ++ status = "okay"; ++}; ++ ++&usb_host1_ehci { ++ status = "okay"; ++}; ++ ++&usb_host1_ohci { ++ status = "okay"; ++}; ++ ++&usbdrd3_0 { ++ status = "okay"; ++}; ++ ++&usbdrd_dwc3_0 { ++ dr_mode = "host"; ++ status = "okay"; ++}; ++ ++&usbdrd3_1 { ++ status = "okay"; ++}; ++ ++&usbdrd_dwc3_1 { ++ dr_mode = "host"; ++ status = "okay"; ++}; ++ ++&vopb { ++ status = "okay"; ++}; ++ ++&vopb_mmu { ++ status = "okay"; ++}; ++ ++&vopl { ++ status = "okay"; ++}; ++ ++&vopl_mmu { ++ status = "okay"; ++}; +-- +2.20.1 + diff --git a/gnu/packages/patches/u-boot-add-boe-nv140fhmn49-display.patch b/gnu/packages/patches/u-boot-add-boe-nv140fhmn49-display.patch new file mode 100644 index 0000000000..c359522967 --- /dev/null +++ b/gnu/packages/patches/u-boot-add-boe-nv140fhmn49-display.patch @@ -0,0 +1,29 @@ +From 00978950fed39b6104b6b4f141450a66cc3400fa Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Mon, 20 Apr 2020 20:27:32 +0100 +Origin: https://patchwork.ozlabs.org/project/uboot/patch/20200420192736.962307-2-pbrobinson@gmail.com/ +Subject: [PATCH 1/5] video: simple_panel: add boe,nv140fhmn49 display + +add "boe,nv140fhmn49" display to compatible node. + +Signed-off-by: Peter Robinson +Cc: Anatolij Gustschin +--- + drivers/video/simple_panel.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/video/simple_panel.c b/drivers/video/simple_panel.c +index c3c0e84732..5722811117 100644 +--- a/drivers/video/simple_panel.c ++++ b/drivers/video/simple_panel.c +@@ -105,6 +105,7 @@ static const struct udevice_id simple_panel_ids[] = { + { .compatible = "auo,b133xtn01" }, + { .compatible = "auo,b116xw03" }, + { .compatible = "auo,b133htn01" }, ++ { .compatible = "boe,nv140fhmn49" }, + { .compatible = "lg,lb070wv8" }, + { } + }; +-- +2.20.1 + diff --git a/gnu/packages/patches/u-boot-gpio-keys-binding-cons.patch b/gnu/packages/patches/u-boot-gpio-keys-binding-cons.patch new file mode 100644 index 0000000000..aec33a7023 --- /dev/null +++ b/gnu/packages/patches/u-boot-gpio-keys-binding-cons.patch @@ -0,0 +1,37 @@ +From 451bd72bf966df7518682cb748a804634ea19424 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Mon, 20 Apr 2020 20:27:33 +0100 +Origin: https://patchwork.ozlabs.org/project/uboot/patch/20200420192736.962307-3-pbrobinson@gmail.com/ +Subject: [PATCH 2/5] dt-bindings: input: adopt Linux gpio-keys binding + constants + +Sync the gpio-keys input bindings from linux 5.7-rc1. + +Signed-off-by: Peter Robinson +--- + include/dt-bindings/input/gpio-keys.h | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + create mode 100644 include/dt-bindings/input/gpio-keys.h + +diff --git a/include/dt-bindings/input/gpio-keys.h b/include/dt-bindings/input/gpio-keys.h +new file mode 100644 +index 0000000000..8962df79e7 +--- /dev/null ++++ b/include/dt-bindings/input/gpio-keys.h +@@ -0,0 +1,13 @@ ++/* SPDX-License-Identifier: GPL-2.0 */ ++/* ++ * This header provides constants for gpio keys bindings. ++ */ ++ ++#ifndef _DT_BINDINGS_GPIO_KEYS_H ++#define _DT_BINDINGS_GPIO_KEYS_H ++ ++#define EV_ACT_ANY 0x00 /* asserted or deasserted */ ++#define EV_ACT_ASSERTED 0x01 /* asserted */ ++#define EV_ACT_DEASSERTED 0x02 /* deasserted */ ++ ++#endif /* _DT_BINDINGS_GPIO_KEYS_H */ +-- +2.20.1 + diff --git a/gnu/packages/patches/u-boot-leds-common-binding-con.patch b/gnu/packages/patches/u-boot-leds-common-binding-con.patch new file mode 100644 index 0000000000..837408120b --- /dev/null +++ b/gnu/packages/patches/u-boot-leds-common-binding-con.patch @@ -0,0 +1,115 @@ +From 282b6ca04abbe1302d04caa05be5fc5afb127141 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Mon, 20 Apr 2020 20:27:34 +0100 +Origin: https://patchwork.ozlabs.org/project/uboot/patch/20200420192736.962307-4-pbrobinson@gmail.com/ +Subject: [PATCH 3/5] dt-bindings: leds: adopt Linux leds common binding + constants + +Sync the common leds bindings from linux 5.7-rc1. + +Signed-off-by: Peter Robinson +--- + include/dt-bindings/leds/common.h | 91 +++++++++++++++++++++++++++++++ + 1 file changed, 91 insertions(+) + create mode 100644 include/dt-bindings/leds/common.h + +diff --git a/include/dt-bindings/leds/common.h b/include/dt-bindings/leds/common.h +new file mode 100644 +index 0000000000..0ce7dfc00d +--- /dev/null ++++ b/include/dt-bindings/leds/common.h +@@ -0,0 +1,91 @@ ++/* SPDX-License-Identifier: GPL-2.0 */ ++/* ++ * This header provides macros for the common LEDs device tree bindings. ++ * ++ * Copyright (C) 2015, Samsung Electronics Co., Ltd. ++ * Author: Jacek Anaszewski ++ * ++ * Copyright (C) 2019 Jacek Anaszewski ++ * Copyright (C) 2020 Pavel Machek ++ */ ++ ++#ifndef __DT_BINDINGS_LEDS_H ++#define __DT_BINDINGS_LEDS_H ++ ++/* External trigger type */ ++#define LEDS_TRIG_TYPE_EDGE 0 ++#define LEDS_TRIG_TYPE_LEVEL 1 ++ ++/* Boost modes */ ++#define LEDS_BOOST_OFF 0 ++#define LEDS_BOOST_ADAPTIVE 1 ++#define LEDS_BOOST_FIXED 2 ++ ++/* Standard LED colors */ ++#define LED_COLOR_ID_WHITE 0 ++#define LED_COLOR_ID_RED 1 ++#define LED_COLOR_ID_GREEN 2 ++#define LED_COLOR_ID_BLUE 3 ++#define LED_COLOR_ID_AMBER 4 ++#define LED_COLOR_ID_VIOLET 5 ++#define LED_COLOR_ID_YELLOW 6 ++#define LED_COLOR_ID_IR 7 ++#define LED_COLOR_ID_MAX 8 ++ ++/* Standard LED functions */ ++/* Keyboard LEDs, usually it would be input4::capslock etc. */ ++/* Obsolete equivalent: "shift-key-light" */ ++#define LED_FUNCTION_CAPSLOCK "capslock" ++#define LED_FUNCTION_SCROLLLOCK "scrolllock" ++#define LED_FUNCTION_NUMLOCK "numlock" ++/* Obsolete equivalents: "tpacpi::thinklight" (IBM/Lenovo Thinkpads), ++ "lp5523:kb{1,2,3,4,5,6}" (Nokia N900) */ ++#define LED_FUNCTION_KBD_BACKLIGHT "kbd_backlight" ++ ++/* System LEDs, usually found on system body. ++ platform::mute (etc) is sometimes seen, :mute would be better */ ++#define LED_FUNCTION_POWER "power" ++#define LED_FUNCTION_DISK "disk" ++ ++/* Obsolete: "platform:*:charging" (allwinner sun50i) */ ++#define LED_FUNCTION_CHARGING "charging" ++/* Used RGB notification LEDs common on phones. ++ Obsolete equivalents: "status-led:{red,green,blue}" (Motorola Droid 4), ++ "lp5523:{r,g,b}" (Nokia N900) */ ++#define LED_FUNCTION_STATUS "status" ++ ++#define LED_FUNCTION_MICMUTE "micmute" ++#define LED_FUNCTION_MUTE "mute" ++ ++/* Miscelleaus functions. Use functions above if you can. */ ++#define LED_FUNCTION_ACTIVITY "activity" ++#define LED_FUNCTION_ALARM "alarm" ++#define LED_FUNCTION_BACKLIGHT "backlight" ++#define LED_FUNCTION_BLUETOOTH "bluetooth" ++#define LED_FUNCTION_BOOT "boot" ++#define LED_FUNCTION_CPU "cpu" ++#define LED_FUNCTION_DEBUG "debug" ++#define LED_FUNCTION_DISK_ACTIVITY "disk-activity" ++#define LED_FUNCTION_DISK_ERR "disk-err" ++#define LED_FUNCTION_DISK_READ "disk-read" ++#define LED_FUNCTION_DISK_WRITE "disk-write" ++#define LED_FUNCTION_FAULT "fault" ++#define LED_FUNCTION_FLASH "flash" ++#define LED_FUNCTION_HEARTBEAT "heartbeat" ++#define LED_FUNCTION_INDICATOR "indicator" ++#define LED_FUNCTION_LAN "lan" ++#define LED_FUNCTION_MAIL "mail" ++#define LED_FUNCTION_MTD "mtd" ++#define LED_FUNCTION_PANIC "panic" ++#define LED_FUNCTION_PROGRAMMING "programming" ++#define LED_FUNCTION_RX "rx" ++#define LED_FUNCTION_SD "sd" ++#define LED_FUNCTION_STANDBY "standby" ++#define LED_FUNCTION_TORCH "torch" ++#define LED_FUNCTION_TX "tx" ++#define LED_FUNCTION_USB "usb" ++#define LED_FUNCTION_WAN "wan" ++#define LED_FUNCTION_WLAN "wlan" ++#define LED_FUNCTION_WPS "wps" ++ ++#endif /* __DT_BINDINGS_LEDS_H */ +-- +2.20.1 + diff --git a/gnu/packages/patches/u-boot-support-Pinebook-Pro-laptop.patch b/gnu/packages/patches/u-boot-support-Pinebook-Pro-laptop.patch new file mode 100644 index 0000000000..c6f91fa65a --- /dev/null +++ b/gnu/packages/patches/u-boot-support-Pinebook-Pro-laptop.patch @@ -0,0 +1,367 @@ +From 60381e4add64dddbd07e78248b2b0f819eb2776e Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Mon, 20 Apr 2020 20:27:36 +0100 +Origin: https://patchwork.ozlabs.org/project/uboot/patch/20200420192736.962307-6-pbrobinson@gmail.com/ +Subject: [PATCH 5/5] Add initial support for the Pinebook Pro laptop from + Pine64. + +Specification: +- Rockchip RK3399 +- 4GB Dual-Channel LPDDR4 +- eMMC socket +- mSD card slot +- 128Mbit (16Mb) SPI Flash +- AP6256 for 11AC WiFi + BT5 +- 14 inch 1920*1080 eDP MiPi display +- Camera +- USB 3.0, 2.0 ports +- Type-C port with alt-mode display (DP 1.2) and 15W charge +- DC 5V/3A +- optional PCIe slot for NVMe SSD drive + +Signed-off-by: Peter Robinson +--- + arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi | 43 ++++++++++ + arch/arm/mach-rockchip/rk3399/Kconfig | 8 ++ + board/pine64/pinebook-pro-rk3399/Kconfig | 15 ++++ + board/pine64/pinebook-pro-rk3399/MAINTAINERS | 8 ++ + board/pine64/pinebook-pro-rk3399/Makefile | 1 + + .../pinebook-pro-rk3399/pinebook-pro-rk3399.c | 76 +++++++++++++++++ + configs/pinebook-pro-rk3399_defconfig | 84 +++++++++++++++++++ + include/configs/pinebook-pro-rk3399.h | 29 +++++++ + 8 files changed, 264 insertions(+) + create mode 100644 arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi + create mode 100644 board/pine64/pinebook-pro-rk3399/Kconfig + create mode 100644 board/pine64/pinebook-pro-rk3399/MAINTAINERS + create mode 100644 board/pine64/pinebook-pro-rk3399/Makefile + create mode 100644 board/pine64/pinebook-pro-rk3399/pinebook-pro-rk3399.c + create mode 100644 configs/pinebook-pro-rk3399_defconfig + create mode 100644 include/configs/pinebook-pro-rk3399.h + +diff --git a/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi b/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi +new file mode 100644 +index 0000000000..1a2e24d3ef +--- /dev/null ++++ b/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi +@@ -0,0 +1,43 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Copyright (C) 2019 Peter Robinson ++ */ ++ ++#include "rk3399-u-boot.dtsi" ++#include "rk3399-sdram-lpddr4-100.dtsi" ++ ++/ { ++ aliases { ++ spi0 = &spi1; ++ }; ++ ++ chosen { ++ u-boot,spl-boot-order = "same-as-spl", &sdhci, &sdmmc; ++ }; ++}; ++ ++&i2c0 { ++ u-boot,dm-pre-reloc; ++}; ++ ++&rk808 { ++ u-boot,dm-pre-reloc; ++}; ++ ++&sdhci { ++ max-frequency = <25000000>; ++ u-boot,dm-pre-reloc; ++}; ++ ++&sdmmc { ++ max-frequency = <20000000>; ++ u-boot,dm-pre-reloc; ++}; ++ ++&spiflash { ++ u-boot,dm-pre-reloc; ++}; ++ ++&vdd_log { ++ regulator-init-microvolt = <950000>; ++}; +diff --git a/arch/arm/mach-rockchip/rk3399/Kconfig b/arch/arm/mach-rockchip/rk3399/Kconfig +index 927bb62a9f..254b9c5b4d 100644 +--- a/arch/arm/mach-rockchip/rk3399/Kconfig ++++ b/arch/arm/mach-rockchip/rk3399/Kconfig +@@ -19,6 +19,13 @@ config TARGET_EVB_RK3399 + with full function and physical connectors support like Type-C ports, + USB.0 host ports, LVDS, JTAG, MAC, SD card, HDMI, USB-to-serial... + ++config TARGET_PINEBOOK_PRO_RK3399 ++ bool "Pinebook Pro" ++ help ++ Pinebook Pro is a laptop based on the Rockchip rk3399 SoC ++ with 4Gb RAM, onboard eMMC, USB-C, a USB3 and USB2 port, ++ 1920*1080 screen and all the usual laptop features. ++ + config TARGET_PUMA_RK3399 + bool "Theobroma Systems RK3399-Q7 (Puma)" + help +@@ -144,6 +151,7 @@ endif # BOOTCOUNT_LIMIT + + source "board/firefly/roc-pc-rk3399/Kconfig" + source "board/google/gru/Kconfig" ++source "board/pine64/pinebook-pro-rk3399/Kconfig" + source "board/pine64/rockpro64_rk3399/Kconfig" + source "board/rockchip/evb_rk3399/Kconfig" + source "board/theobroma-systems/puma_rk3399/Kconfig" +diff --git a/board/pine64/pinebook-pro-rk3399/Kconfig b/board/pine64/pinebook-pro-rk3399/Kconfig +new file mode 100644 +index 0000000000..3bb7ca448e +--- /dev/null ++++ b/board/pine64/pinebook-pro-rk3399/Kconfig +@@ -0,0 +1,15 @@ ++if TARGET_PINEBOOK_PRO_RK3399 ++ ++config SYS_BOARD ++ default "pinebook-pro-rk3399" ++ ++config SYS_VENDOR ++ default "pine64" ++ ++config SYS_CONFIG_NAME ++ default "pinebook-pro-rk3399" ++ ++config BOARD_SPECIFIC_OPTIONS ++ def_bool y ++ ++endif +diff --git a/board/pine64/pinebook-pro-rk3399/MAINTAINERS b/board/pine64/pinebook-pro-rk3399/MAINTAINERS +new file mode 100644 +index 0000000000..7153eaf2e0 +--- /dev/null ++++ b/board/pine64/pinebook-pro-rk3399/MAINTAINERS +@@ -0,0 +1,8 @@ ++PINEBOOK_PRO ++M: Peter Robinson ++S: Maintained ++F: board/pine64/rk3399-pinebook-pro/ ++F: include/configs/rk3399-pinebook-pro.h ++F: arch/arm/dts/rk3399-pinebook-pro.dts ++F: arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi ++F: configs/pinebook-pro-rk3399_defconfig +diff --git a/board/pine64/pinebook-pro-rk3399/Makefile b/board/pine64/pinebook-pro-rk3399/Makefile +new file mode 100644 +index 0000000000..2f692a12a6 +--- /dev/null ++++ b/board/pine64/pinebook-pro-rk3399/Makefile +@@ -0,0 +1 @@ ++obj-y += pinebook-pro-rk3399.o +diff --git a/board/pine64/pinebook-pro-rk3399/pinebook-pro-rk3399.c b/board/pine64/pinebook-pro-rk3399/pinebook-pro-rk3399.c +new file mode 100644 +index 0000000000..01421cbac2 +--- /dev/null ++++ b/board/pine64/pinebook-pro-rk3399/pinebook-pro-rk3399.c +@@ -0,0 +1,76 @@ ++/* ++ * (C) Copyright 2016 Rockchip Electronics Co., Ltd ++ * (C) Copyright 2020 Peter Robinson ++ * ++ * SPDX-License-Identifier: GPL-2.0+ ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define GRF_IO_VSEL_BT565_SHIFT 0 ++#define PMUGRF_CON0_VSEL_SHIFT 8 ++ ++#ifndef CONFIG_SPL_BUILD ++int board_early_init_f(void) ++{ ++ struct udevice *regulator; ++ int ret; ++ ++ ret = regulator_get_by_platname("vcc5v0_usb", ®ulator); ++ if (ret) { ++ debug("%s vcc5v0_usb init fail! ret %d\n", __func__, ret); ++ goto out; ++ } ++ ++ ret = regulator_set_enable(regulator, true); ++ if (ret) ++ debug("%s vcc5v0-host-en-gpio set fail! ret %d\n", __func__, ret); ++ ++out: ++ return 0; ++} ++#endif ++ ++#ifdef CONFIG_MISC_INIT_R ++static void setup_iodomain(void) ++{ ++ struct rk3399_grf_regs *grf = ++ syscon_get_first_range(ROCKCHIP_SYSCON_GRF); ++ struct rk3399_pmugrf_regs *pmugrf = ++ syscon_get_first_range(ROCKCHIP_SYSCON_PMUGRF); ++ ++ /* BT565 is in 1.8v domain */ ++ rk_setreg(&grf->io_vsel, 1 << GRF_IO_VSEL_BT565_SHIFT); ++ ++ /* Set GPIO1 1.8v/3.0v source select to PMU1830_VOL */ ++ rk_setreg(&pmugrf->soc_con0, 1 << PMUGRF_CON0_VSEL_SHIFT); ++} ++ ++int misc_init_r(void) ++{ ++ const u32 cpuid_offset = 0x7; ++ const u32 cpuid_length = 0x10; ++ u8 cpuid[cpuid_length]; ++ int ret; ++ ++ setup_iodomain(); ++ ++ ret = rockchip_cpuid_from_efuse(cpuid_offset, cpuid_length, cpuid); ++ if (ret) ++ return ret; ++ ++ ret = rockchip_cpuid_set(cpuid, cpuid_length); ++ if (ret) ++ return ret; ++ ++ return ret; ++} ++#endif +diff --git a/configs/pinebook-pro-rk3399_defconfig b/configs/pinebook-pro-rk3399_defconfig +new file mode 100644 +index 0000000000..0e9f0ec250 +--- /dev/null ++++ b/configs/pinebook-pro-rk3399_defconfig +@@ -0,0 +1,84 @@ ++CONFIG_ARM=y ++CONFIG_ARCH_ROCKCHIP=y ++CONFIG_SYS_TEXT_BASE=0x00200000 ++CONFIG_ENV_OFFSET=0x3F8000 ++CONFIG_ROCKCHIP_RK3399=y ++CONFIG_RAM_RK3399_LPDDR4=y ++CONFIG_NR_DRAM_BANKS=1 ++CONFIG_TARGET_PINEBOOK_PRO_RK3399=y ++CONFIG_BAUDRATE=1500000 ++CONFIG_DEBUG_UART=y ++CONFIG_DEBUG_UART_SHIFT=2 ++CONFIG_DEBUG_UART_BASE=0xFF1A0000 ++CONFIG_DEBUG_UART_CLOCK=24000000 ++CONFIG_SPL_SPI_SUPPORT=y ++CONFIG_SPL_SPI_FLASH_SUPPORT=y ++CONFIG_SPL_MTD_SUPPORT=y ++CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-pinebook-pro.dtb" ++CONFIG_MISC_INIT_R=y ++CONFIG_DISPLAY_BOARDINFO_LATE=y ++# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set ++CONFIG_SPL_STACK_R=y ++CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000 ++CONFIG_TPL=y ++CONFIG_SPL_OF_CONTROL=y ++CONFIG_DEFAULT_DEVICE_TREE="rk3399-pinebook-pro" ++CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents" ++CONFIG_SYS_RELOC_GD_ENV_ADDR=y ++CONFIG_CMD_BOOTZ=y ++CONFIG_CMD_GPIO=y ++CONFIG_CMD_GPT=y ++CONFIG_CMD_I2C=y ++CONFIG_CMD_MMC=y ++CONFIG_CMD_MTDPARTS=y ++CONFIG_CMD_PMIC=y ++CONFIG_CMD_REGULATOR=y ++# CONFIG_CMD_SETEXPR is not set ++CONFIG_CMD_SF=y ++CONFIG_CMD_TIME=y ++CONFIG_CMD_USB=y ++CONFIG_ROCKCHIP_GPIO=y ++CONFIG_SYS_I2C_ROCKCHIP=y ++CONFIG_BOOTDELAY=3 ++CONFIG_LED=y ++CONFIG_LED_GPIO=y ++CONFIG_MISC=y ++CONFIG_ROCKCHIP_EFUSE=y ++CONFIG_MMC_DW=y ++CONFIG_MMC_DW_ROCKCHIP=y ++CONFIG_MMC_SDHCI=y ++CONFIG_MMC_SDHCI_SDMA=y ++CONFIG_MMC_SDHCI_ROCKCHIP=y ++CONFIG_ROCKCHIP_SPI=y ++CONFIG_SF_DEFAULT_SPEED=20000000 ++CONFIG_SPI_FLASH=y ++CONFIG_SPI_FLASH_GIGADEVICE=y ++CONFIG_SPI_FLASH_WINBOND=y ++CONFIG_DM_ETH=y ++CONFIG_PMIC_RK8XX=y ++CONFIG_DM_PMIC_FAN53555=y ++CONFIG_REGULATOR_PWM=y ++CONFIG_REGULATOR_RK8XX=y ++CONFIG_PWM_ROCKCHIP=y ++CONFIG_SYSRESET=y ++CONFIG_USB=y ++CONFIG_USB_XHCI_HCD=y ++CONFIG_USB_XHCI_DWC3=y ++# CONFIG_USB_XHCI_ROCKCHIP is not set ++CONFIG_USB_EHCI_HCD=y ++CONFIG_USB_EHCI_GENERIC=y ++CONFIG_USB_DWC3=y ++CONFIG_ROCKCHIP_USB2_PHY=y ++CONFIG_USB_HOST_ETHER=y ++CONFIG_USB_ETHER_ASIX=y ++CONFIG_USB_ETHER_RTL8152=y ++CONFIG_USB_KEYBOARD=y ++CONFIG_USE_TINY_PRINTF=y ++CONFIG_SPL_TINY_MEMSET=y ++CONFIG_ERRNO_STR=y ++CONFIG_DM_VIDEO=y ++CONFIG_VIDEO_BPP16=y ++CONFIG_VIDEO_BPP32=y ++CONFIG_DISPLAY=y ++CONFIG_VIDEO_ROCKCHIP=y ++CONFIG_DISPLAY_ROCKCHIP_EDP=y +diff --git a/include/configs/pinebook-pro-rk3399.h b/include/configs/pinebook-pro-rk3399.h +new file mode 100644 +index 0000000000..423d742a79 +--- /dev/null ++++ b/include/configs/pinebook-pro-rk3399.h +@@ -0,0 +1,29 @@ ++/* ++ * Copyright (C) 2016 Rockchip Electronics Co., Ltd ++ * Copyright (C) 2020 Peter Robinson ++ * ++ * SPDX-License-Identifier: GPL-2.0+ ++ */ ++ ++#ifndef __PINEBOOK_PRO_RK3399_H ++#define __PINEBOOK_PRO_RK3399_H ++ ++#define ROCKCHIP_DEVICE_SETTINGS \ ++ "stdin=serial,usbkbd\0" \ ++ "stdout=serial,vidconsole\0" \ ++ "stderr=serial,vidconsole\0" ++ ++#include ++ ++#if defined(CONFIG_ENV_IS_IN_MMC) ++#define CONFIG_SYS_MMC_ENV_DEV 0 ++#elif defined(CONFIG_ENV_IS_IN_SPI_FLASH) ++#define CONFIG_ENV_SECT_SIZE (8 * 1024) ++#endif ++ ++#undef CONFIG_SYS_SPI_U_BOOT_OFFS ++#define CONFIG_SYS_SPI_U_BOOT_OFFS 1024 * 512 ++ ++#define SDRAM_BANK_SIZE (2UL << 30) ++ ++#endif +-- +2.20.1 + diff --git a/gnu/packages/patches/u-boot-video-rockchip-fix-build.patch b/gnu/packages/patches/u-boot-video-rockchip-fix-build.patch new file mode 100644 index 0000000000..ca2be8dc22 --- /dev/null +++ b/gnu/packages/patches/u-boot-video-rockchip-fix-build.patch @@ -0,0 +1,48 @@ +From ecc69ec25df07e1ce63d7add6b235b37673ed608 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Mon, 20 Apr 2020 19:18:25 +0100 +Origin: https://patchwork.ozlabs.org/project/uboot/patch/20200420181825.935797-1-pbrobinson@gmail.com/ +Subject: [PATCH 6/6] drivers: video: rockchip: fix building eDP and LVDS + drivers + +The rk_edp.c and rk_lvds.c files reference rk_setreg which is declared in +hardware.h so include it so the drivers build. Adjust rk_lvds.c so +includes are in alphabetical order while updating. + +Signed-off-by: Peter Robinson +Reviewed-by: Anatolij Gustschin +--- + drivers/video/rockchip/rk_edp.c | 1 + + drivers/video/rockchip/rk_lvds.c | 3 ++- + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/drivers/video/rockchip/rk_edp.c b/drivers/video/rockchip/rk_edp.c +index 8703df0ec0..cf84b886e7 100644 +--- a/drivers/video/rockchip/rk_edp.c ++++ b/drivers/video/rockchip/rk_edp.c +@@ -18,6 +18,7 @@ + #include + #include + #include ++#include + #include + + #define MAX_CR_LOOP 5 +diff --git a/drivers/video/rockchip/rk_lvds.c b/drivers/video/rockchip/rk_lvds.c +index cf5c0439b1..79e24baf53 100644 +--- a/drivers/video/rockchip/rk_lvds.c ++++ b/drivers/video/rockchip/rk_lvds.c +@@ -13,8 +13,9 @@ + #include + #include + #include +-#include + #include ++#include ++#include + #include + #include + +-- +2.20.1 + -- cgit v1.2.3 From 5d29808beaa0e68f33504c3a3bf6373b36dcabfa Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 21 Apr 2020 12:38:19 +0300 Subject: gnu: rdf.scm: Use license: prefix. * gnu/packages/rdf.scm: Use a 'license:' prefix for package licenses instead of only importing a select number of licenses. --- gnu/packages/rdf.scm | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index d255815e85..2c773af0bb 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -21,8 +21,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages rdf) - #:use-module ((guix licenses) - #:select (non-copyleft asl2.0 isc gpl2 lgpl2.1 lgpl2.1+ lgpl3+)) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix download) @@ -85,7 +84,7 @@ of RSS, Atom 1.0 and 0.3, GRDDL and microformats for HTML, XHTML and XML. The serialising syntaxes are RDF/XML (regular, abbreviated, XMP), Turtle 2013, N-Quads, N-Triples 1.1, Atom 1.0, RSS 1.0, GraphViz DOT, HTML and JSON.") - (license lgpl2.1+))) ; or any choice of gpl2+ or asl2.0 + (license license:lgpl2.1+))) ; or any choice of gpl2+ or asl2.0 (define-public clucene (package @@ -119,7 +118,7 @@ HTML and JSON.") (description "CLucene is a high-performance, scalable, cross platform, full-featured indexing and searching API. It is a port of the very popular Java Lucene text search engine API to C++.") - (license lgpl2.1))) + (license license:lgpl2.1))) (define-public lucene++ (package @@ -150,7 +149,7 @@ Java Lucene text search engine API to C++.") (synopsis "Text search engine") (description "Lucene++ is an up to date C++ port of the popular Java Lucene library, a high-performance, full-featured text search engine.") - (license (list asl2.0 lgpl3+)))); either asl or lgpl. + (license (list license:asl2.0 license:lgpl3+)))); either asl or lgpl. (define-public lrdf (package @@ -195,7 +194,7 @@ Lucene library, a high-performance, full-featured text search engine.") LADSPA plugins. It can also be used for general RDF manipulation. It can read RDF/XLM and N3 files and export N3 files, and it also has a light taxonomic inference capability.") - (license gpl2))) + (license license:gpl2))) (define-public rasqal (package @@ -236,7 +235,7 @@ SPARQL Query 1.1, SPARQL Update 1.1 (no executing) and the Experimental SPARQL extensions (LAQRS). Rasqal can write binding query results in the SPARQL XML, SPARQL JSON, CSV, TSV, HTML, ASCII tables, RDF/XML and Turtle/N3 and read them in SPARQL XML, RDF/XML and Turtle/N3.") - (license lgpl2.1+))) ; or any choice of gpl2+ or asl2.0 + (license license:lgpl2.1+))) ; or any choice of gpl2+ or asl2.0 (define-public redland (package @@ -261,7 +260,7 @@ Turtle/N3 and read them in SPARQL XML, RDF/XML and Turtle/N3.") (synopsis "RDF library") (description "The Redland RDF Library (librdf) provides the RDF API and triple stores.") - (license lgpl2.1+))) ; or any choice of gpl2+ or asl2.0 + (license license:lgpl2.1+))) ; or any choice of gpl2+ or asl2.0 (define-public serd (package @@ -295,7 +294,7 @@ knife of RDF syntax, but rather is suited to resource limited or performance critical applications (e.g. converting many gigabytes of NTriples to Turtle), or situations where a simple reader/writer with minimal dependencies is ideal (e.g. in LV2 implementations or embedded applications).") - (license isc))) + (license license:isc))) (define-public sord (package @@ -330,7 +329,7 @@ ideal (e.g. in LV2 implementations or embedded applications).") (synopsis "C library for storing RDF data in memory") (description "Sord is a lightweight C library for storing RDF data in memory.") - (license isc))) + (license license:isc))) (define-public python-rdflib (package @@ -365,8 +364,8 @@ ideal (e.g. in LV2 implementations or embedded applications).") (description "RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information.") - (license (non-copyleft "file://LICENSE" - "See LICENSE in the distribution.")))) + (license (license:non-copyleft "file://LICENSE" + "See LICENSE in the distribution.")))) (define-public python2-rdflib (package-with-python2 python-rdflib)) -- cgit v1.2.3 From 0e64f12db526dbb87ec0517b02ff2f997ab7ab63 Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Tue, 21 Apr 2020 12:41:47 +0300 Subject: gnu: Add python-rdflib-jsonld. * gnu/packages/rdf.scm (python-rdflib-jsonld): New variable. --- gnu/packages/rdf.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index 2c773af0bb..089e31b252 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -4,6 +4,8 @@ ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2019 Julien Lepiller ;;; Copyright © 2020 Alexandros Theodotou +;;; Copyright © 2020 Pjotr Prins +;;; Copyright © 2020 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -369,3 +371,25 @@ powerful language for representing information.") (define-public python2-rdflib (package-with-python2 python-rdflib)) + +(define-public python-rdflib-jsonld + (package + (name "python-rdflib-jsonld") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "rdflib-jsonld" version)) + (sha256 + (base32 + "1v85f4hdlrrk0l1najmqmm79ijrvcj259kwsrrxiq1q5chr5azag")))) + (build-system python-build-system) + (native-inputs + `(("python-nose" ,python-nose))) + (propagated-inputs + `(("python-rdflib" ,python-rdflib))) + (home-page "https://github.com/RDFLib/rdflib-jsonld") + (synopsis "rdflib extension adding JSON-LD parser and serializer") + (description "This package provides an rdflib extension adding JSON-LD +parser and serializer.") + (license license:bsd-3))) -- cgit v1.2.3 From d10e7a348ccc5cca147c6454618c2c41e1801db8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 21 Apr 2020 14:34:22 +0200 Subject: gnu: guile-xapian: Update to 0.1.0. * gnu/packages/guile-xyz.scm (guile-xapian): Update to 0.1.0. --- gnu/packages/guile-xyz.scm | 62 ++++++++++++++++++++++------------------------ 1 file changed, 30 insertions(+), 32 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 392b60d58c..cd56a580e0 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -3180,42 +3180,40 @@ over, or update a value in arbitrary data structures.") (license license:gpl3+)))) (define-public guile-xapian - (let ((commit "ede26b808188eb4d14c6b4181c933dfc09c0a22e") - (revision "0")) - (package - (name "guile-xapian") - (version (git-version "0" revision commit)) - (home-page "https://git.systemreboot.net/guile-xapian") - (source - (origin - (method git-fetch) - (uri (git-reference (url home-page) - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "07a9fmqi3pm6mbbpzi01mjwrqwnljs2rnc3603sq49dz4lf663gb")))) - (build-system gnu-build-system) - (arguments - '(#:make-flags '("GUILE_AUTO_COMPILE=0"))) ; to prevent guild warnings - (inputs - `(("guile" ,guile-2.2) - ("xapian" ,xapian) - ("zlib" ,zlib))) - (native-inputs - `(("autoconf" ,autoconf) - ("autoconf-archive" ,autoconf-archive) - ("automake" ,automake) - ("libtool" ,libtool) - ("pkg-config" ,pkg-config) - ("swig" ,swig))) - (synopsis "Guile bindings for Xapian") - (description "@code{guile-xapian} provides Guile bindings for Xapian, a + (package + (name "guile-xapian") + (version "0.1.0") + (home-page "https://git.systemreboot.net/guile-xapian") + (source + (origin + (method git-fetch) + (uri (git-reference (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "16k61f1jn3g48jaf3730b9l0izr5j933jzyri73nmcnjd09gm35i")))) + (build-system gnu-build-system) + (arguments + '(#:make-flags '("GUILE_AUTO_COMPILE=0"))) ; to prevent guild warnings + (inputs + `(("guile" ,guile-2.2) + ("xapian" ,xapian) + ("zlib" ,zlib))) + (native-inputs + `(("autoconf" ,autoconf) + ("autoconf-archive" ,autoconf-archive) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ("swig" ,swig))) + (synopsis "Guile bindings for Xapian") + (description "@code{guile-xapian} provides Guile bindings for Xapian, a search engine library. Xapian is a highly adaptable toolkit which allows developers to easily add advanced indexing and search facilities to their own applications. It has built-in support for several families of weighting models and also supports a rich set of boolean query operators.") - (license license:gpl2+)))) + (license license:gpl2+))) (define-public guile3.0-xapian (package -- cgit v1.2.3 From a295a1ca2942794ac52321a639128f94be595ac5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 21 Apr 2020 15:47:56 +0200 Subject: tests: ssh: Explicitly wait for port 22. Previously we could occasionally try to connect before the server is actually listening, both for OpenSSH and Dropbear. * gnu/tests/ssh.scm (run-ssh-test)["wait for port 22"]: New test. --- gnu/tests/ssh.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/tests/ssh.scm b/gnu/tests/ssh.scm index a74227ea4a..10438ad22a 100644 --- a/gnu/tests/ssh.scm +++ b/gnu/tests/ssh.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2017, 2018 Clément Lassieur ;;; Copyright © 2017 Marius Bakke ;;; @@ -136,6 +136,9 @@ root with an empty password." (current-services)))) marionette)) + (test-assert "wait for port 22" + (wait-for-tcp-port 22 marionette)) + ;; Connect to the guest over SSH. Make sure we can run a shell ;; command there. (test-equal "shell command" -- cgit v1.2.3 From aa7b3c6c0ecf7e27f0f6785908aa11e2268fa386 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 21 Apr 2020 16:28:47 +0200 Subject: tests: web: Explicitly wait for the HTTP port. * gnu/tests/web.scm (run-webserver-test)["HTTP port ready"]: New test. --- gnu/tests/web.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/tests/web.scm b/gnu/tests/web.scm index 7c1c0aa511..1c984dd6f4 100644 --- a/gnu/tests/web.scm +++ b/gnu/tests/web.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017 Ludovic Courtès +;;; Copyright © 2017, 2020 Ludovic Courtès ;;; Copyright © 2017, 2019 Christopher Baines ;;; Copyright © 2017, 2018 Clément Lassieur ;;; Copyright © 2018 Pierre-Antoine Rouby @@ -110,6 +110,9 @@ HTTP-PORT." ((pid) (number? pid)))))) marionette)) + (test-assert "HTTP port ready" + (wait-for-tcp-port #$forwarded-port marionette)) + ;; Retrieve the index.html file we put in /srv. (test-equal "http-get" '(200 #$%index.html-contents) -- cgit v1.2.3 From e3358a831e7d5d9e8dc614340e49ea5aeb11a7ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 21 Apr 2020 16:06:53 +0200 Subject: gnu: shepherd: Update to 0.8.0. * gnu/packages/admin.scm (shepherd): Update to 0.8.0. * gnu/services/shepherd.scm (shepherd-configuration-file): Use 'default-pid-file-timeout' instead of fiddling with '%pid-file-timeout'. --- gnu/packages/admin.scm | 4 ++-- gnu/services/shepherd.scm | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index bf5aa9d890..c55a319d04 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -199,14 +199,14 @@ and provides a \"top-like\" mode (monitoring).") (define-public shepherd (package (name "shepherd") - (version "0.7.0") + (version "0.8.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/shepherd/shepherd-" version ".tar.gz")) (sha256 (base32 - "07j3vd0y8zab2nwbrwj0ahrfif1ldm5sjssn7m3dw4s307fsrfzx")))) + "02lbc8z5gd8v8wfi4yh1zww8mk03w0zcwnmk4l4p3vpjlvlb63ll")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--localstatedir=/var"))) diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm index e99458da43..2f30c6c907 100644 --- a/gnu/services/shepherd.scm +++ b/gnu/services/shepherd.scm @@ -297,8 +297,7 @@ and return the resulting '.go' file." ;; everything slow. Thus, increase the timeout compared to the ;; default 5s in the Shepherd 0.7.0. See ;; . - ;; XXX: Use something better when the next Shepherd is out. - (set! (@@ (shepherd service) %pid-file-timeout) 30) + (default-pid-file-timeout 30) ;; Arrange to spawn a REPL if something goes wrong. This is better ;; than a kernel panic. -- cgit v1.2.3 From 7681246325abcdb2f31e8db7a530920c23150bad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 21 Apr 2020 16:29:41 +0200 Subject: gnu: shepherd: Add Guile 2.0 variant. * gnu/packages/admin.scm (guile2.0-shepherd): New variable. --- gnu/packages/admin.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index c55a319d04..619a419170 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -241,6 +241,16 @@ interface and is based on GNU Guile.") (inputs `(("guile" ,guile-next))))) +(define-public guile2.0-shepherd + (package + (inherit shepherd) + (name "guile2.0-shepherd") + (native-inputs + `(("pkg-config" ,pkg-config) + ("guile" ,guile-2.0))) + (inputs + `(("guile" ,guile-2.0))))) + (define-public cloud-utils (package (name "cloud-utils") -- cgit v1.2.3 From a1c34680b3439507b3c35cb6fce9832464d1ad3d Mon Sep 17 00:00:00 2001 From: Michael Rohleder Date: Tue, 21 Apr 2020 16:01:27 +0200 Subject: gnu: emacs-dired-toggle-sudo: Update to 1.0-0.13bbe52. * gnu/packages/emacs-xyz.scm (emacs-dired-toggle-sudo): Update to 1.0-0.13bbe52. * gnu/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. Signed-off-by: Leo Famulari --- gnu/local.mk | 4 +- gnu/packages/emacs-xyz.scm | 41 +++++++++--------- .../patches/emacs-dired-toggle-sudo-emacs-26.patch | 49 ---------------------- 3 files changed, 22 insertions(+), 72 deletions(-) delete mode 100644 gnu/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch diff --git a/gnu/local.mk b/gnu/local.mk index ca863a8b9b..e70715000a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -29,7 +29,8 @@ # Copyright © 2020 Brendan Tildesley # Copyright © 2020 Vincent Legoll # Copyright © 2020 R Veera Kumar -# Copyright © 2020 Nicolò Balzarotti +# Copyright © 2020 Michael Rohleder # # This file is part of GNU Guix. # @@ -851,7 +852,6 @@ dist_patch_DATA = \ %D%/packages/patches/elm-compiler-disable-reactor.patch \ %D%/packages/patches/elm-compiler-fix-map-key.patch \ %D%/packages/patches/emacs27-exec-path.patch \ - %D%/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch \ %D%/packages/patches/emacs-exec-path.patch \ %D%/packages/patches/emacs-fix-scheme-indent-function.patch \ %D%/packages/patches/emacs-json-reformat-fix-tests.patch \ diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index cd80e57efb..32b1868813 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -9281,28 +9281,27 @@ information inside the Dired buffer.") (license license:gpl3+)))) (define-public emacs-dired-toggle-sudo - (package - (name "emacs-dired-toggle-sudo") - (version "1.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/renard/dired-toggle-sudo") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0ajj8d6k5in2hclcrqckinfh80ylddplva0ryfbkzsjkfq167cv2")) - (patches - (search-patches - "emacs-dired-toggle-sudo-emacs-26.patch")))) - (build-system emacs-build-system) - (home-page "https://github.com/renard/dired-toggle-sudo") - (synopsis "Browse directory with @code{sudo} privileges") - (description "This package allows for the use of @code{dired} with + (let ((commit "13bbe52c54893f5aa3e56228450ffdd0c9e1d169") + (revision "0")) + (package + (name "emacs-dired-toggle-sudo") + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/renard/dired-toggle-sudo") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1fw1pb1z6krqd1pfxxhr6rrfr9ckkcb0zsjzbjk0i2i1q5cg6car")))) + (build-system emacs-build-system) + (home-page "https://github.com/renard/dired-toggle-sudo") + (synopsis "Browse directory with @code{sudo} privileges") + (description "This package allows for the use of @code{dired} with @code{sudo} privileges.") - (license license:wtfpl2))) + (license license:wtfpl2)))) (define-public emacs-diredfl (package diff --git a/gnu/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch b/gnu/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch deleted file mode 100644 index d979b113d0..0000000000 --- a/gnu/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 3c0f4b27a079b90dc632f5061a81ce28cef24801 Mon Sep 17 00:00:00 2001 -From: eryx67 -Date: Thu, 29 Nov 2018 10:30:20 +0500 -Subject: [PATCH] fix for latest emacs - ---- - dired-toggle-sudo.el | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -diff --git a/dired-toggle-sudo.el b/dired-toggle-sudo.el -index 386921b..fe5898e 100644 ---- a/dired-toggle-sudo.el -+++ b/dired-toggle-sudo.el -@@ -37,17 +37,20 @@ - unless SUDO-USER is provided." - (let* (;; Handle the case of local files. `tramp-dissect-file-name' does - ;; not raise an error anymore. -- (path (if (tramp-tramp-file-p path) path (concat "/:" path))) -+ ;;(path (if (tramp-tramp-file-p path) path (concat "/-::" path))) - (file-vec (or (ignore-errors (tramp-dissect-file-name - path)) - (tramp-dissect-file-name -- (concat "/:" path) 1))) -+ (concat "/-::" path) 1))) - (method (tramp-file-name-method file-vec)) - (user (tramp-file-name-user file-vec)) - (host (tramp-file-name-host file-vec)) -+ (domain (tramp-file-name-domain file-vec)) -+ (port (tramp-file-name-port file-vec)) - (localname (expand-file-name - (tramp-file-name-localname file-vec)))) -- (when (string= system-name host) -+ (when (or (string= (system-name) host) -+ (string= "-" host)) - (setq host nil)) - (cond - ;; remote directory -> sudo -@@ -67,7 +70,7 @@ unless SUDO-USER is provided." - (setq method "sudo" user sudo-user))) - (replace-regexp-in-string - "^/:/" "/" -- (tramp-make-tramp-file-name method user host localname)))) -+ (tramp-make-tramp-file-name method domain user host port localname)))) - - (defun dired-toggle-sudo-find (fname) - "Create a new buffer for file name FNAME." --- -2.22.0 - -- cgit v1.2.3 From 0b9a117765ff871cf2e82acb2620d860fb93c016 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 21 Apr 2020 13:03:54 -0400 Subject: gnu: OpenSSL: Update to 1.1.1g [fixes CVE-2020-1967]. * gnu/packages/tls.scm (openssl)[replacement]: Replace with openssl-1.1.1g. (openssl-1.1.1e): Replace variable with ... (openssl-1.1.1g): ... this. --- gnu/packages/tls.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 3eb32fc27a..4f85f212bd 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -318,7 +318,7 @@ required structures.") (package (name "openssl") (version "1.1.1c") - (replacement openssl-1.1.1e) + (replacement openssl-1.1.1g) (source (origin (method url-fetch) (uri (list (string-append "https://www.openssl.org/source/openssl-" @@ -420,10 +420,10 @@ required structures.") (license license:openssl) (home-page "https://www.openssl.org/"))) -(define openssl-1.1.1e +(define openssl-1.1.1g (package (inherit openssl) - (version "1.1.1e") + (version "1.1.1g") (source (origin (method url-fetch) (uri (list (string-append "https://www.openssl.org/source/openssl-" @@ -436,7 +436,7 @@ required structures.") (patches (search-patches "openssl-1.1-c-rehash-in.patch")) (sha256 (base32 - "1gnwlri1dphr5wdzmg9vlhkh6aq2yqgpfkpmffzwjlfb26n62kv9")))))) + "0ikdcc038i7jk8h7asq5xcn8b1xc2rrbc88yfm4hqbz3y5s4gc6x")))))) (define-public openssl-1.0 (package -- cgit v1.2.3 From cb26edc8f62145d58fc55cc9b3a76128786b57b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 21 Apr 2020 23:30:51 +0200 Subject: doc: Include *.json files in the source. This is a followup to c9f321e52a99dea93fcc099372ea0167150b9aac. * doc/build.scm (texinfo-manual-source)[build]: Add *.json to #$output. --- doc/build.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/build.scm b/doc/build.scm index 994b94eae2..3907b49caf 100644 --- a/doc/build.scm +++ b/doc/build.scm @@ -142,7 +142,7 @@ as well as images, OS examples, and translations." (for-each (lambda (texi) (install-file texi #$output)) - (append (find-files #$documentation "\\.(texi|scm)$") + (append (find-files #$documentation "\\.(texi|scm|json)$") (find-files #$(translated-texi-manuals source) "\\.texi$"))) -- cgit v1.2.3 From cc753650eccf3dcbf074999c458e42df8d3c0827 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 21 Apr 2020 21:50:34 +0200 Subject: self: translate-texi-manuals: Don't hardcode "guix.texi". * guix/self.scm (translate-texi-manuals)[build](translate-texi): Add 'prefix' and #:extras parameters and honor them. Adjust callers. --- guix/self.scm | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/guix/self.scm b/guix/self.scm index 1040c27a6b..93dcb9bee3 100644 --- a/guix/self.scm +++ b/guix/self.scm @@ -339,35 +339,35 @@ TRANSLATIONS, an alist of msgid and msgstr." #f regexp1 content 'pre "ref{" msgstr "," 'post) 'pre "ref{" msgstr "}" 'post)))))) content translations)) - - (define (translate-texi po lang) - "Translate the manual for one language LANG using the PO file." + + (define* (translate-texi prefix po lang + #:key (extras '())) + "Translate the manual for one language LANG using the PO file. +PREFIX must be the prefix of the manual, 'guix' or 'guix-cookbook'. EXTRAS is +a list of extra files, such as '(\"contributing\")." (let ((translations (call-with-input-file po read-po-file))) - (translate-tmp-texi po "guix.texi" - (string-append "guix." lang ".texi.tmp")) - (translate-tmp-texi po "contributing.texi" - (string-append "contributing." lang ".texi.tmp")) - (let* ((texi-name (string-append "guix." lang ".texi")) - (tmp-name (string-append texi-name ".tmp"))) - (with-output-to-file texi-name - (lambda _ - (format #t "~a" - (translate-cross-references - (call-with-input-file tmp-name get-string-all) - translations))))) - (let* ((texi-name (string-append "contributing." lang ".texi")) - (tmp-name (string-append texi-name ".tmp"))) - (with-output-to-file texi-name - (lambda _ - (format #t "~a" - (translate-cross-references - (call-with-input-file tmp-name get-string-all) - translations))))))) + (for-each (lambda (file) + (translate-tmp-texi po (string-append file ".texi") + (string-append file "." lang + ".texi.tmp"))) + (cons prefix extras)) + + (for-each (lambda (file) + (let* ((texi (string-append file "." lang ".texi")) + (tmp (string-append texi ".tmp"))) + (with-output-to-file texi + (lambda () + (display + (translate-cross-references + (call-with-input-file tmp get-string-all) + translations)))))) + (cons prefix extras)))) (for-each (lambda (po) (match (reverse (string-split po #\.)) ((_ lang _ ...) - (translate-texi po lang)))) + (translate-texi "guix" po lang + #:extras '("contributing"))))) (find-files "." "^guix-manual\\.[a-z]{2}(_[A-Z]{2})?\\.po$")) (for-each -- cgit v1.2.3 From 84c37e636804513f1fde1fe437784400d99e268e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 21 Apr 2020 22:23:54 +0200 Subject: self: translate-texi-manuals: Add 'available-translations'. * guix/self.scm (translate-texi-manuals)[build](available-translations): New procedure. Use it rather than directly calling 'find-files' & co. --- guix/self.scm | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/guix/self.scm b/guix/self.scm index 93dcb9bee3..3cc1003c3a 100644 --- a/guix/self.scm +++ b/guix/self.scm @@ -363,12 +363,25 @@ a list of extra files, such as '(\"contributing\")." translations)))))) (cons prefix extras)))) - (for-each (lambda (po) - (match (reverse (string-split po #\.)) - ((_ lang _ ...) - (translate-texi "guix" po lang - #:extras '("contributing"))))) - (find-files "." "^guix-manual\\.[a-z]{2}(_[A-Z]{2})?\\.po$")) + (define (available-translations directory domain) + ;; Return the list of available translations under DIRECTORY for + ;; DOMAIN, a gettext domain such as "guix-manual". The result is + ;; a list of language/PO file pairs. + (filter-map (lambda (po) + (let ((base (basename po))) + (and (string-prefix? (string-append domain ".") + base) + (match (string-split base #\.) + ((_ ... lang "po") + (cons lang po)))))) + (find-files directory + "\\.[a-z]{2}(_[A-Z]{2})?\\.po$"))) + + (for-each (match-lambda + ((language . po) + (translate-texi "guix" po language + #:extras '("contributing")))) + (available-translations "." "guix-manual")) (for-each (lambda (file) -- cgit v1.2.3 From e1e6491226347d9fb93ff484d78cef98848a510a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 21 Apr 2020 23:05:02 +0200 Subject: self: Build and install 'guix-cookbook.info' and its translations. * guix/self.scm (translate-texi-manuals)[build]: Translate and install guix-cookbook.texi. (info-manual)[build]: Handle "guix-cookbook*.texi". --- guix/self.scm | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/guix/self.scm b/guix/self.scm index 3cc1003c3a..4682cd221c 100644 --- a/guix/self.scm +++ b/guix/self.scm @@ -383,12 +383,17 @@ a list of extra files, such as '(\"contributing\")." #:extras '("contributing")))) (available-translations "." "guix-manual")) - (for-each - (lambda (file) - (copy-file file (string-append #$output "/" file))) - (append - (find-files "." "contributing\\..*\\.texi$") - (find-files "." "guix\\..*\\.texi$")))))) + (for-each (match-lambda + ((language . po) + (translate-texi "guix-cookbook" po language))) + (available-translations "." "guix-cookbook")) + + (for-each (lambda (file) + (install-file file #$output)) + (append + (find-files "." "contributing\\..*\\.texi$") + (find-files "." "guix\\..*\\.texi$") + (find-files "." "guix-cookbook\\..*\\.texi$")))))) (computed-file "guix-translated-texinfo" build)) @@ -415,7 +420,8 @@ a list of extra files, such as '(\"contributing\")." (define build (with-imported-modules '((guix build utils)) #~(begin - (use-modules (guix build utils)) + (use-modules (guix build utils) + (ice-9 match)) (mkdir #$output) @@ -476,13 +482,13 @@ a list of extra files, such as '(\"contributing\")." #+(file-append glibc-utf8-locales "/lib/locale")) (for-each (lambda (texi) - (unless (string=? "guix.texi" texi) - ;; Create 'version-LL.texi'. - (let* ((base (basename texi ".texi")) - (dot (string-index base #\.)) - (tag (string-drop base (+ 1 dot)))) - (symlink "version.texi" - (string-append "version-" tag ".texi")))) + (match (string-split (basename texi) #\.) + (("guix" language "texi") + ;; Create 'version-LL.texi'. + (symlink "version.texi" + (string-append "version-" language + ".texi"))) + (_ #f)) (invoke #+(file-append texinfo "/bin/makeinfo") texi "-I" #$documentation @@ -491,7 +497,10 @@ a list of extra files, such as '(\"contributing\")." (basename texi ".texi") ".info"))) (cons "guix.texi" - (find-files "." "^guix\\.[a-z]{2}(_[A-Z]{2})?\\.texi$"))) + (append (find-files "." + "^guix\\.[a-z]{2}(_[A-Z]{2})?\\.texi$") + (find-files "." + "^guix-cookbook.*\\.texi$")))) ;; Compress Info files. (setenv "PATH" -- cgit v1.2.3 From f224635578e330b31e6d0d61aba1a3e5c3f991fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 21 Apr 2020 23:17:45 +0200 Subject: news: Add entry for the cookbook. * etc/news.scm: Add entry for the cookbook. --- etc/news.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/etc/news.scm b/etc/news.scm index fd75225747..cfe2ee7466 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -10,6 +10,25 @@ (channel-news (version 0) + (entry (commit "e1e6491226347d9fb93ff484d78cef98848a510a") + (title (en "Guix Cookbook now available as Info")) + ;; TRANSLATORS: Adjust the URL and the 'info' command to refer to the + ;; translated manual if it's available. + (body (en "The new Guix Cookbook is now fetched by @command{guix pull} +and thus readily available in the Info format. It aims to provide tutorials +and detailed examples covering a variety of use cases. You can access it by +typing: + +@example +info guix-cookbook +@end example + +The Cookbook is currently available in English and German. You can also find +it @uref{https://guix.gnu.org/cookbook/en/, on-line}. + +Your contributions are welcome: @uref{https://guix.gnu.org/contact/, get in +touch with the developers} to share your recipes!"))) + (entry (commit "0468455e7d279c89ea3ad1b51935efb2b785ec47") (title (en "Rottlog service added to @code{%base-services}") (de "Rottlog-Dienst ist nun Teil der @code{%base-services}")) -- cgit v1.2.3 From fe8b2fc24ade743c118da6aa8991ee2fd3cd04d8 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 21 Apr 2020 18:20:03 -0400 Subject: gnu: linux-libre@4.19: Update to 4.19.117. * gnu/packages/linux.scm (linux-libre-4.19-version): Update to 4.19.117. (linux-libre-4.19-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 2acbe649f0..fc5b28ef2d 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -385,10 +385,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.116") +(define-public linux-libre-4.19-version "4.19.117") (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "0r3vdc3npl1bn06w9v6wsq7d5mm7bnhm9wsz36pb9ar3xhimvrlf"))) + (hash (base32 "12xc1pwhwq4vp67hmn7hdynl4ik76cni79356hpzf1lbiqlrya6n"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -- cgit v1.2.3 From 5800d54bee0649313b3412d4c16cf0cb54269bbb Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 21 Apr 2020 18:21:11 -0400 Subject: gnu: linux-libre@5.6: Update to 5.6.6. * gnu/packages/linux.scm (linux-libre-5.6-version): Update to 5.6.6. (linux-libre-5.6-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index fc5b28ef2d..0c9f9cde8f 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -369,10 +369,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (sha256 hash))) -(define-public linux-libre-5.6-version "5.6.5") +(define-public linux-libre-5.6-version "5.6.6") (define-public linux-libre-5.6-pristine-source (let ((version linux-libre-5.6-version) - (hash (base32 "1rjjkcmzsj9azggh960qnk2x44ns475b8nbd4nxazrz1rgdx76zp"))) + (hash (base32 "1m3blvkma08v5y11jh0vhf4sr7jbcylkh15bssb5dgp40p8cx134"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.6))) -- cgit v1.2.3 From 6e8f58fe31884e48ff771d0093fa6bbc77c40ed7 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 21 Apr 2020 18:22:09 -0400 Subject: gnu: linux-libre: Update to 5.4.34. * gnu/packages/linux.scm (linux-libre-5.4-version): Update to 5.4.34. (linux-libre-5.4-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 0c9f9cde8f..e64683e0ac 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -377,10 +377,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-5.6))) -(define-public linux-libre-5.4-version "5.4.33") +(define-public linux-libre-5.4-version "5.4.34") (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "0q9q48ij6vppfcrdf7fr24pvpwsd13pxjkdni6rnjq9a60hrcmxm"))) + (hash (base32 "1ljcsrw9jknw2d9hb0yfr1pwy85l8z4rqycgd0kad9mb9lrw2glh"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -- cgit v1.2.3 From d2b237d0ccf5fbe579d6a599fd39af45488d5f4c Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Tue, 31 Mar 2020 15:09:01 +0530 Subject: gnu: Add python-google-brotli. * gnu/packages/compression.scm (python-google-brotli): New variable. --- gnu/packages/compression.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 67e3b880f6..e9ef302bcd 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -26,6 +26,7 @@ ;;; Copyright © 2019 Nicolas Goaziou ;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2020 Björn Höfling +;;; Copyright © 2020 Arun Isaac ;;; ;;; This file is part of GNU Guix. ;;; @@ -50,6 +51,7 @@ #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system python) #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages assembly) @@ -1851,6 +1853,17 @@ The specification of the Brotli Compressed Data Format is defined in RFC 7932.") ;; We used to provide an older version under the name "brotli". (deprecated-package "brotli" google-brotli)) +(define-public python-google-brotli + (package + (inherit google-brotli) + (name "python-google-brotli") + (build-system python-build-system) + (arguments '()) + (synopsis "Python interface to google-brotli") + (description "@code{python-google-brotli} provides a Python interface to +@code{google-brotli}, an implementation of the Brotli lossless compression +algorithm."))) + (define-public ucl (package (name "ucl") -- cgit v1.2.3 From ed248424d87e8df28583aa820569669db83a80be Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Tue, 31 Mar 2020 15:10:12 +0530 Subject: gnu: Add font-meera-inimai. * gnu/packages/fonts.scm (font-meera-inimai): New variable. --- gnu/packages/fonts.scm | 44 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index dbc0c4f9d6..9ab5587b98 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -19,7 +19,7 @@ ;;; Copyright © 2017 Alex Griffin ;;; Copyright © 2017 Clément Lassieur ;;; Copyright © 2017 Brendan Tildesley -;;; Copyright © 2017, 2018, 2019 Arun Isaac +;;; Copyright © 2017, 2018, 2019, 2020 Arun Isaac ;;; Copyright © 2017 Mohammed Sadiq ;;; Copyright © 2018 Charlie Ritter ;;; Copyright © 2018 Gabriel Hondet @@ -64,9 +64,11 @@ #:use-module (gnu packages fontutils) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) + #:use-module (gnu packages gtk) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) #:use-module (gnu packages xorg)) (define-public font-ibm-plex @@ -1670,3 +1672,43 @@ always uses Farsi digits, and does not include Latin glyphs from Roboto. (license:x11-style ; ...the Bitstream Vera typeface "file://LICENSE" "Bitstream Vera License") license:asl2.0)))) ; Latin glyphs from Roboto + +(define-public font-meera-inimai + (package + (name "font-meera-inimai") + (version "2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/smc/meera-inimai") + (commit "0f39cdd7dbf1b6d1bed7df85834d33789dce20a7"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1x5mhrpx24imh0r4l83mkaiszxgwi1q4ppyyvq63h3ddwk20cwdg")))) + (build-system gnu-build-system) + (native-inputs + `(("fontforge" ,fontforge) + ("harfbuzz" ,harfbuzz "bin") + ("python" ,python-minimal) + ("python-fonttools" ,python-fonttools) + ("python-google-brotli" ,python-google-brotli))) + (arguments + `(#:make-flags (list "PY=python3" + (string-append "DESTDIR=" %output) + "fontpath=/share/fonts/truetype") + #:test-target "test" + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (home-page "https://gitlab.com/smc/meera-inimai") + (synopsis "Meera Inimai Tamil font") + (description "Meera Inimai is a Unicode font for the Tamil Script. Meera +Inimai is a san-serif typeface. It is best used as a screen font for body +text. It is also useful for body text of printed pamphlets or single page +designs. Meera Inimai can be thought of as similar to Helvetica and its +variation Arial. Tamil characters are inherently vertically-elliptical. The +orthography of Roman glyphs of Meera Inimai are also based on this +characteristic so that they sit smoothly with the Tamil glyphs.") + (license license:silofl1.1))) -- cgit v1.2.3 From 618819aa2feed5b8e7dfdceebb0987ca6453e98a Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Wed, 22 Apr 2020 11:02:43 +0200 Subject: gnu: Add w-scan. * gnu/packages/video.scm (w-scan): New variable. --- gnu/packages/video.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 85c195a383..8d64cbade7 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -39,6 +39,7 @@ ;;; Copyright © 2020 Josh Holland ;;; Copyright © 2020 Brice Waegeneire ;;; Copyright © 2020 Vincent Legoll +;;; Copyright © 2020 Guillaume Le Vaillant ;;; ;;; This file is part of GNU Guix. ;;; @@ -3920,3 +3921,31 @@ work-in-progress, aiming to support video-on-demand and live streaming applications. It only supports Intel-compatible CPUs (x86).") (home-page "https://github.com/OpenVisualCloud/SVT-AV1") (license license:bsd-2))) + +(define-public w-scan + (package + (name "w-scan") + (version "20170107") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.gen2vdr.de/wirbel/w_scan/w_scan-" + version ".tar.bz2")) + (sha256 + (base32 "1zkgnj2sfvckix360wwk1v5s43g69snm45m0drnzyv7hgf5g7q1q")))) + (build-system gnu-build-system) + (synopsis "Scan ATSC/DVB-C/DVB-S/DVB-T channels") + (description + "This is a small command line utility used to perform frequency scans for +DVB and ATSC transmissions without initial tuning data. It can print the +result in several formats: +@itemize +@item VDR channels.conf, +@item czap/tzap/xine/mplayer channels.conf, +@item Gstreamer dvbsrc plugin, +@item VLC xspf playlist, +@item XML, +@item initial tuning data for scan or dvbv5-scan. +@end itemize\n") + (home-page "https://www.gen2vdr.de/wirbel/w_scan/index2.html") + (license license:gpl2+))) -- cgit v1.2.3 From decf7f6c418f681cfaeb3d94c37ac3d135057f6e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 22 Apr 2020 15:42:03 +0200 Subject: gnu: mumi: Update to 0.0.0-16.9175199. * gnu/packages/mail.scm (mumi): Update to 0.0.0-16.9175199. [inputs]: Add guile-xapian; remove mumimu. --- gnu/packages/mail.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index b553305d46..f4a2def7e9 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -3010,8 +3010,8 @@ replacement for the @code{urlview} program.") (license gpl2+))) (define-public mumi - (let ((commit "c85015dac8110bd7a4c37375b9eb05ebeadedf74") - (revision "15")) + (let ((commit "9175199e9039b9a1dbc5e1eafa05b9c618416f3b") + (revision "16")) (package (name "mumi") (version (git-version "0.0.0" revision commit)) @@ -3023,7 +3023,7 @@ replacement for the @code{urlview} program.") (file-name (git-file-name name version)) (sha256 (base32 - "05nma73kqnva6ci92aq8jb3718ry5dz3sd64ibpxn5w77z5kpwr7")))) + "1v0i9h3dw0irc92flmk3wk72l0kiymf82fashklbyhk7mr968zx3")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) @@ -3060,10 +3060,10 @@ replacement for the @code{urlview} program.") ("guile-sqlite3" ,guile-sqlite3) ("guile-syntax-highlight" ,guile-syntax-highlight) ("guile-webutils" ,guile-webutils) + ("guile-xapian" ,guile-xapian) ("gnutls" ,gnutls) ;needed to talk to https://debbugs.gnu.org ("guile" ,guile-2.2) - ("mailutils" ,mailutils) - ("mumimu" ,mumimu))) ;'mumimu' executable recorded in (mumi config) + ("mailutils" ,mailutils))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) -- cgit v1.2.3 From cbd2e1edc82b1ad6aec57ac9cac9a837790715e4 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 22 Apr 2020 15:43:00 +0200 Subject: gnu: Remove mumimu. * gnu/packages/mail.scm (mumimu): Remove variable. --- gnu/packages/mail.scm | 47 ----------------------------------------------- 1 file changed, 47 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index f4a2def7e9..b6c566f8cb 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -796,53 +796,6 @@ messages you need; in addition, it allows you to view messages, extract attachments, create new maildirs, and so on.") (license gpl3+))) -(define mumimu - ;; This is a fork of mu for use in Mumi that stores message bug IDs in its - ;; database. It also renames the library to "mumimu" to avoid confusion. - (let ((commit "6b42431052c7cc9a2e147938e1b67f14a93e4ee5") - (revision "2")) - (package - (inherit mu) - (name "mumimu") - (version (git-version (package-version mu) revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://git.elephly.net/software/mumimu.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "044scxmjrckidqx935yza3aqnjyzrmhyvgx2gs2jyf68hl2qzb89")))) - (arguments - (substitute-keyword-arguments (package-arguments mu) - ((#:tests? anything '()) - #f) - ((#:phases phases) - `(modify-phases ,phases - (replace 'patch-configure - (lambda _ (delete-file "autogen.sh") #t)) - (replace 'fix-ffi - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "guile/mumimu.scm" - (("\"libguile-mu\"") - (format #f "\"~a/lib/libguile-mumimu\"" - (assoc-ref outputs "out")))) - #t)) - (delete 'install-emacs-autoloads))) - ((#:configure-flags flags) - '("--disable-gtk" - "--disable-webkit" - "--disable-mu4e")))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool) - ("glib" ,glib "bin") - ("tzdata" ,tzdata-for-tests) - ("texinfo" ,texinfo)))))) - (define-public alot (package (name "alot") -- cgit v1.2.3 From 808d12bb0808ae6f8266f124c2cf62ef38153b48 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 21 Apr 2020 13:50:42 +0200 Subject: gnu: qt@4: Update source URI. * gnu/packages/qt.scm (qt-4)[source](uri): Adjust to current. --- gnu/packages/qt.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 9c517d0acf..c9ac750cc5 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -149,7 +149,7 @@ system, and the core design of Django is reused in Grantlee.") (version "4.8.7") (source (origin (method url-fetch) - (uri (string-append "http://download.qt-project.org/official_releases/qt/" + (uri (string-append "http://download.qt-project.org/archive/qt/" (string-copy version 0 (string-rindex version #\.)) "/" version "/qt-everywhere-opensource-src-" -- cgit v1.2.3 From 8e61dbc828adf0f9eecd322104d19a0a0921a2cc Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 22 Apr 2020 14:52:11 +0200 Subject: gnu: ungoogled-chromium: Update to 81.0.4044.122-0.31d6e60 [security fixes]. This fixes CVE-2020-6459, CVE-2020-6460, and CVE-2020-6458. * gnu/packages/chromium.scm (%chromium-version): Set to 81.0.4044.122. (%ungoogled-revision): Set to 31d6e60c96481599b42072b4489e4468280198e3. (%chromium-origin, %ungoogled-origin): Update hashes. --- gnu/packages/chromium.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index 9f075ae6f5..45d68d2526 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -248,8 +248,8 @@ from forcing GEXP-PROMISE." #:system system #:guile-for-build guile))) -(define %chromium-version "81.0.4044.113") -(define %ungoogled-revision "b484ad4c0bdb696c86d941798ae6b0e2bd0db35d") +(define %chromium-version "81.0.4044.122") +(define %ungoogled-revision "31d6e60c96481599b42072b4489e4468280198e3") (define %debian-revision "debian/81.0.4044.92-1") (define package-revision "0") (define %package-version (string-append %chromium-version "-" @@ -264,7 +264,7 @@ from forcing GEXP-PROMISE." %chromium-version ".tar.xz")) (sha256 (base32 - "0hsxxw7fm1p8g53msqb644v8vr4cpvjmpln444c2268rm43yik17")))) + "0ahqh3vmzbpai4xwn7qybgw9phc8ssjdvfc7384mxqk9swqgv7qg")))) (define %ungoogled-origin (origin @@ -275,7 +275,7 @@ from forcing GEXP-PROMISE." (string-take %ungoogled-revision 7))) (sha256 (base32 - "071a33idn2zcix6z8skn7y85mhb9w5s0bh0fvrjm269y7cmjrh3l")))) + "1pj2vmzb2fagvypjsjn2kqf5n5k8vnhbisyb0snr6wqvpv09x0vv")))) (define %debian-origin (origin -- cgit v1.2.3 From f916ac128a2c4f65f06f6a5148a4862855754d1a Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 22 Apr 2020 18:29:52 +0200 Subject: gnu: pari-gp: Update to 2.11.4. * gnu/packages/algebra.scm (pari-gp): Update to 2.11.4. --- gnu/packages/algebra.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 5673968a2c..34fb9ee4fd 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -227,7 +227,7 @@ the real span of the lattice.") (define-public pari-gp (package (name "pari-gp") - (version "2.11.3") + (version "2.11.4") (source (origin (method url-fetch) (uri (string-append @@ -235,7 +235,7 @@ the real span of the lattice.") version ".tar.gz")) (sha256 (base32 - "1jd65h2psrmba2dx7rkf5qidf9ka0cwbsg20pd18k45ggr30l467")))) + "070bjw4kg7r6lqs1hfs08n5fmjv90cpwflp3wr04hbrmyz28zj5z")))) (build-system gnu-build-system) (native-inputs `(("texlive" ,(texlive-union -- cgit v1.2.3 From 34faf63ebc9221f5cac460bc54237ea8436d5046 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 22 Apr 2020 15:24:47 +0200 Subject: gexp: Add 'load-path?' field to . * guix/gexp.scm ()[load-path?]: New field. (scheme-file): Add #:set-load-path? and honor it. (scheme-file-compiler): Pass #:set-load-path? to 'gexp->file'. * doc/guix.texi (G-Expressions): Document it. --- doc/guix.texi | 3 ++- guix/gexp.scm | 12 +++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index a79bbfc4f7..990703c4a8 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -7955,7 +7955,8 @@ The resulting file holds references to all the dependencies of @var{exp} or a subset thereof. @end deffn -@deffn {Scheme Procedure} scheme-file @var{name} @var{exp} [#:splice? #f] +@deffn {Scheme Procedure} scheme-file @var{name} @var{exp} @ + [#:splice? #f] [#:set-load-path? #t] Return an object representing the Scheme file @var{name} that contains @var{exp}. diff --git a/guix/gexp.scm b/guix/gexp.scm index 4ac0411da1..c320065546 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -472,24 +472,26 @@ This is the declarative counterpart of 'gexp->script'." #:target target)))) (define-record-type - (%scheme-file name gexp splice?) + (%scheme-file name gexp splice? load-path?) scheme-file? (name scheme-file-name) ;string (gexp scheme-file-gexp) ;gexp - (splice? scheme-file-splice?)) ;Boolean + (splice? scheme-file-splice?) ;Boolean + (load-path? scheme-file-set-load-path?)) ;Boolean -(define* (scheme-file name gexp #:key splice?) +(define* (scheme-file name gexp #:key splice? (set-load-path? #t)) "Return an object representing the Scheme file NAME that contains GEXP. This is the declarative counterpart of 'gexp->file'." - (%scheme-file name gexp splice?)) + (%scheme-file name gexp splice? set-load-path?)) (define-gexp-compiler (scheme-file-compiler (file ) system target) ;; Compile FILE by returning a derivation that builds the file. (match file - (($ name gexp splice?) + (($ name gexp splice? set-load-path?) (gexp->file name gexp + #:set-load-path? set-load-path? #:splice? splice? #:system system #:target target)))) -- cgit v1.2.3 From 2e37d1583a25fa824e6c4674cdc35994ec8091a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 22 Apr 2020 15:03:51 +0200 Subject: system: 'operating-system-boot-parameters-file' uses 'scheme-file'. * gnu/system.scm (operating-system-boot-parameters-file): Use 'scheme-file' instead of 'gexp->file'. (operating-system-directory-base-entries): Adjust accordingly. --- gnu/system.scm | 47 ++++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index d79ea23f98..fb48fedd7f 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -485,7 +485,7 @@ value of the SYSTEM-SERVICE-TYPE service." (cons kernel modules)) #:hooks (list linux-module-database))) (initrd -> (operating-system-initrd-file os)) - (params (operating-system-boot-parameters-file os))) + (params -> (operating-system-boot-parameters-file os))) (return `(("kernel" ,kernel) ("parameters" ,params) ("initrd" ,initrd) @@ -1078,28 +1078,29 @@ being stored into the \"parameters\" file)." os device #:system-kernel-arguments? system-kernel-arguments?))) - (gexp->file "parameters" - #~(boot-parameters - (version 0) - (label #$(boot-parameters-label params)) - (root-device - #$(device->sexp - (boot-parameters-root-device params))) - (kernel #$(boot-parameters-kernel params)) - (kernel-arguments - #$(boot-parameters-kernel-arguments params)) - (initrd #$(boot-parameters-initrd params)) - (bootloader-name #$(boot-parameters-bootloader-name params)) - (bootloader-menu-entries - #$(map menu-entry->sexp - (or (and=> (operating-system-bootloader os) - bootloader-configuration-menu-entries) - '()))) - (store - (device - #$(device->sexp (boot-parameters-store-device params))) - (mount-point #$(boot-parameters-store-mount-point params)))) - #:set-load-path? #f))) + (scheme-file "parameters" + #~(boot-parameters + (version 0) + (label #$(boot-parameters-label params)) + (root-device + #$(device->sexp + (boot-parameters-root-device params))) + (kernel #$(boot-parameters-kernel params)) + (kernel-arguments + #$(boot-parameters-kernel-arguments params)) + (initrd #$(boot-parameters-initrd params)) + (bootloader-name #$(boot-parameters-bootloader-name params)) + (bootloader-menu-entries + #$(map menu-entry->sexp + (or (and=> (operating-system-bootloader os) + bootloader-configuration-menu-entries) + '()))) + (store + (device + #$(device->sexp (boot-parameters-store-device params))) + (mount-point #$(boot-parameters-store-mount-point + params)))) + #:set-load-path? #f))) (define-gexp-compiler (operating-system-compiler (os ) system target) -- cgit v1.2.3 From 416f7f4f144569fa66772e0cf43cf785d9a408af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 22 Apr 2020 15:35:36 +0200 Subject: profiles: Add #:name parameter to 'profile-derivation'. * guix/profiles.scm (profile-derivation): Add #:name and pass it to 'gexp->derivation'. --- guix/profiles.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/guix/profiles.scm b/guix/profiles.scm index 47a7c92569..88606fa4ce 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -1547,6 +1547,7 @@ MANIFEST." (define* (profile-derivation manifest #:key + (name "profile") (hooks %default-profile-hooks) (locales? #t) (allow-collisions? #f) @@ -1634,7 +1635,7 @@ are cross-built for TARGET." #:manifest '#$(manifest->gexp manifest) #:search-paths search-paths)))) - (gexp->derivation "profile" builder + (gexp->derivation name builder #:system system #:target target -- cgit v1.2.3 From 31831489927a4bf401a526f95a0b75c9d624be39 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Mon, 20 Apr 2020 02:05:49 -0400 Subject: gnu: Add blueman. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/networking.scm (blueman): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/networking.scm | 52 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index c97ac43dee..6231632c06 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -105,7 +105,9 @@ #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages polkit) #:use-module (gnu packages pretty-print) + #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) @@ -122,6 +124,56 @@ #:use-module (gnu packages xml) #:use-module (ice-9 match)) +(define-public blueman + (package + (name "blueman") + (version "2.1.2") + (source + (origin + (method url-fetch) + (uri + (string-append "https://github.com/blueman-project/blueman/releases/" + "download/2.1.2/blueman-2.1.2.tar.gz")) + (sha256 + (base32 "0wamxdw36c8i3aqwmja5q70fajqwd7inpkvlpkldd54wdxbcd38d")))) + (build-system glib-or-gtk-build-system) + (arguments + `(#:configure-flags + (list + "--enable-polkit" + "--disable-appindicator" ; Deprecated + "--with-systemdsystemunitdir=no" ; Not required + "--with-systemduserunitdir=no"))) ; Not required + (native-inputs + `(("cython" ,python-cython) + ("glib:bin" ,glib "bin") + ("gtk+:bin" ,gtk+ "bin") + ("intltool" ,intltool) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (inputs + `(("adwaita-icon-theme" ,adwaita-icon-theme) + ("bluez" ,bluez) + ("dbus" ,dbus) + ("gdkpixbuf" ,gdk-pixbuf) + ("glib" ,glib) + ("gtk+" ,gtk+) + ("iproute2" ,iproute) + ("net-tools" ,net-tools) + ("pango" ,pango) + ("polkit" ,polkit) + ("pulseaudio" ,pulseaudio) + ("pycairo" ,python-pycairo) + ("pygobject" ,python-pygobject) + ("python" ,python-wrapper) + ("libnm" ,libnma))) + (synopsis "GTK+ Bluetooth manager") + (description "Blueman is a Bluetooth management utility using the Bluez +D-Bus backend. It is designed to be easy to use for most common Bluetooth +tasks.") + (home-page "https://github.com/blueman-project/blueman") + (license license:gpl3+))) + ;; The gnu.org ‘home’ for this GNU project is a directory listing with 1.6.0 as ;; the latest version. The author's git repository, mentioned in the 1.6.0 ;; README and otherwise legit-looking, contains a proper 1.7.0 release tarball -- cgit v1.2.3 From 93664feee1e61f586f5bda686b75d1c83da5d76d Mon Sep 17 00:00:00 2001 From: Brice Waegeneire Date: Sat, 4 Apr 2020 09:59:48 +0200 Subject: system: Split %BASE-PACKAGES in smaller parts. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/system.scm: (%base-packages-interactive, %base-packages-linux, %base-packages-networking, %base-packages-utils): New variables. (%base-packages): Use those new variables. Signed-off-by: Ludovic Courtès --- gnu/system.scm | 95 ++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 56 insertions(+), 39 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index fb48fedd7f..3ee2c84235 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2019 Meiyo Peng ;;; Copyright © 2020 Danny Milosavljevic +;;; Copyright © 2020 Brice Waegeneire ;;; ;;; This file is part of GNU Guix. ;;; @@ -142,6 +143,10 @@ %setuid-programs %sudoers-specification %base-packages + %base-packages-interactive + %base-packages-linux + %base-packages-networking + %base-packages-utils %base-firmware)) ;;; Commentary: @@ -575,48 +580,60 @@ of PROVENANCE-SERVICE-TYPE to its services." (list ath9k-htc-firmware openfwwf-firmware)) +(define %base-packages-utils + ;; Default set of utilities packages. + (cons* procps psmisc which + (@ (gnu packages admin) shadow) ;for 'passwd' + + ;; XXX: We don't use (canonical-package guile-2.2) here because that + ;; would create a collision in the global profile between the GMP + ;; variant propagated by 'guile-final' and the GMP variant propagated + ;; by 'gnutls', itself propagated by 'guix'. + guile-2.2 + + ;; The packages below are also in %FINAL-INPUTS, so take them from + ;; there to avoid duplication. + (map canonical-package + (list bash coreutils findutils grep sed + diffutils patch gawk tar gzip bzip2 xz lzip)))) + +(define %base-packages-linux + ;; Default set of linux specific packages. + (list pciutils usbutils + util-linux+udev + ;; Get 'insmod' & co. from kmod, not module-init-tools, since udev + ;; already depends on it anyway. + kmod eudev)) + +(define %base-packages-interactive + ;; Default set of common interactive packages. + (list less zile nano + man-db + info-reader ;the standalone Info reader (no Perl) + bash-completion + kbd + ;; The 'sudo' command is already in %SETUID-PROGRAMS, but we also + ;; want the other commands and the man pages (notably because + ;; auto-completion in Emacs shell relies on man pages.) + sudo + guile-readline guile-colorized)) + +(define %base-packages-networking + ;; Default set of networking packages. + (list inetutils isc-dhcp + iproute + ;; wireless-tools is deprecated in favor of iw, but it's still what + ;; many people are familiar with, so keep it around. + iw wireless-tools)) + (define %base-packages ;; Default set of packages globally visible. It should include anything ;; required for basic administrator tasks. - (cons* procps psmisc which less zile nano - pciutils usbutils - util-linux+udev - inetutils isc-dhcp - (@ (gnu packages admin) shadow) ;for 'passwd' - - ;; wireless-tools is deprecated in favor of iw, but it's still what - ;; many people are familiar with, so keep it around. - iw wireless-tools - - iproute - man-db - info-reader ;the standalone Info reader (no Perl) - - ;; The 'sudo' command is already in %SETUID-PROGRAMS, but we also - ;; want the other commands and the man pages (notably because - ;; auto-completion in Emacs shell relies on man pages.) - sudo - - ;; Get 'insmod' & co. from kmod, not module-init-tools, since udev - ;; already depends on it anyway. - kmod eudev - - e2fsprogs kbd - - bash-completion - - ;; XXX: We don't use (canonical-package guile-2.2) here because that - ;; would create a collision in the global profile between the GMP - ;; variant propagated by 'guile-final' and the GMP variant propagated - ;; by 'gnutls', itself propagated by 'guix'. - guile-2.2 - guile-readline guile-colorized - - ;; The packages below are also in %FINAL-INPUTS, so take them from - ;; there to avoid duplication. - (map canonical-package - (list bash coreutils findutils grep sed - diffutils patch gawk tar gzip bzip2 xz lzip)))) + (append (list e2fsprogs) + %base-packages-interactive + %base-packages-linux + %base-packages-networking + %base-packages-utils)) (define %default-issue ;; Default contents for /etc/issue. -- cgit v1.2.3 From 6ca2d7dae09953fcff59e6332f131c3a40eb05bf Mon Sep 17 00:00:00 2001 From: Felix Gruber Date: Sun, 5 Apr 2020 14:51:41 +0200 Subject: gnu: maths: dune-*: Update to version 2.7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/maths.scm (dune-*): Update to version 2.7. (dune-uggrid)[source] Download from Git, as no release tarball for version 2.7 exists. (dune-alugrid,dune-subgrid,dune-pdelab)[source] Use commit hashes as no tags for version 2.7 exist (yet?). (dune-istl)[source](patches) Add patch required to build version 2.7 without openmpi. * gnu/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 2 + gnu/packages/maths.scm | 65 +++++++++-------- .../patches/dune-istl-2.7-fix-non-mpi-tests.patch | 82 ++++++++++++++++++++++ 3 files changed, 119 insertions(+), 30 deletions(-) create mode 100644 gnu/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch diff --git a/gnu/local.mk b/gnu/local.mk index e70715000a..4af79f0caf 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -31,6 +31,7 @@ # Copyright © 2020 R Veera Kumar # Copyright © 2020 Nicolò Balzarotti # Copyright © 2020 Michael Rohleder +# Copyright © 2020 Felix Gruber # # This file is part of GNU Guix. # @@ -844,6 +845,7 @@ dist_patch_DATA = \ %D%/packages/patches/doxygen-test.patch \ %D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch \ %D%/packages/patches/dstat-skip-devices-without-io.patch \ + %D%/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch \ %D%/packages/patches/dvd+rw-tools-add-include.patch \ %D%/packages/patches/eigen-stabilise-sparseqr-test.patch \ %D%/packages/patches/einstein-build.patch \ diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 7db2b31012..73ee161e81 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -4661,7 +4661,7 @@ linear algebra primitives specifically targeting graph analytics.") (define-public dune-common (package (name "dune-common") - (version "2.6.0") + (version "2.7.0") (source (origin (method url-fetch) @@ -4669,7 +4669,7 @@ linear algebra primitives specifically targeting graph analytics.") version "/dune-common-" version ".tar.gz")) (sha256 (base32 - "019wcr1qf7jwyxx1y5y290wdlglylskvbb2m01ljkzcza2xnlmhw")))) + "140q1zh44cr5yrjwg4b5ga803rkqv55vk30l2cqm29aklj1wb0rw")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4699,7 +4699,7 @@ Differences} (FD).") (define-public dune-geometry (package (name "dune-geometry") - (version "2.6.0") + (version "2.7.0") (source (origin (method url-fetch) @@ -4707,7 +4707,7 @@ Differences} (FD).") version "/dune-geometry-" version ".tar.gz")) (sha256 (base32 - "0hlaaxjyv9j05blasvb67sy02hd0w4g9znf68gdh3l731dd1aqbn")))) + "1cicvlwbyyw76npicnblxckyvhbfn3ip8isydiv3hlrlz8zcg5nr")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4739,15 +4739,17 @@ This package contains the basic DUNE geometry classes.") (define-public dune-uggrid (package (name "dune-uggrid") - (version "2.6.0") + (version "2.7.0") (source (origin - (method url-fetch) - (uri (string-append "https://dune-project.org/download/" - version "/dune-uggrid-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.dune-project.org/staging/dune-uggrid.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "05l7a1gb78mny49anyxk6rjvn66rhgm30y72v5cjg0m5kfgr1a1f")))) + "192miqgmfj6jwk969gydzpbv9ki7jg5nky3ydnrwa2nq29b5xkh0")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4774,7 +4776,7 @@ This package contains the DUNE UG grid classes.") (define-public dune-grid (package (name "dune-grid") - (version "2.6.0") + (version "2.7.0") (source (origin (method url-fetch) @@ -4782,7 +4784,7 @@ This package contains the DUNE UG grid classes.") version "/dune-grid-" version ".tar.gz")) (sha256 (base32 - "1jp4vscm9yb9xg0lh7apzccfkhvgbnk652yahigmh3cvzpl4acd0")))) + "17fjz30qazjgl11sryyxnw9klai4yz1ji4bs68013xcxc5hdv27s")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4817,7 +4819,7 @@ This package contains the basic DUNE grid classes.") (define-public dune-istl (package (name "dune-istl") - (version "2.6.0") + (version "2.7.0") (source (origin (method url-fetch) @@ -4825,7 +4827,8 @@ This package contains the basic DUNE grid classes.") version "/dune-istl-" version ".tar.gz")) (sha256 (base32 - "0l2gyrvys5w6wsmk0ckbb7295s80b7yk7qrl7x66akv2jv1nzq2w")))) + "0gl3wgz5rs6sb4m83440ny45sbx7z7lnbi3gx6r9nm3rvy5j33f9")) + (patches (search-patches "dune-istl-2.7-fix-non-mpi-tests.patch")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4863,7 +4866,7 @@ aggregation-based algebraic multigrid.") (define-public dune-localfunctions (package (name "dune-localfunctions") - (version "2.6.0") + (version "2.7.0") (source (origin (method url-fetch) @@ -4871,7 +4874,7 @@ aggregation-based algebraic multigrid.") version "/dune-localfunctions-" version ".tar.gz")) (sha256 (base32 - "19c6zjinwwpy8jh4v4prhphyd438rapd4x80fj93apmwgw04nrhl")))) + "1yih59h6vngii696bx1c2vil02lriij4kz0nc583mjn9kiaqxfqd")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4906,15 +4909,17 @@ assemble global function spaces on finite-element grids.") (define-public dune-alugrid (package (name "dune-alugrid") - (version "2.6.0") + (version "2.7.0-git-81d35682") (source (origin - (method url-fetch) - (uri (string-append "https://dune-project.org/download/" - version "/dune-alugrid-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.dune-project.org/extensions/dune-alugrid.git") + (commit "81d356827c84454b971937db02c02b90bbcd7fe5"))) + (file-name (git-file-name name version)) (sha256 (base32 - "1l9adgyjpra8mvwm445s0lpjshnb63jag85fb2hisbjn6bm320yj")))) + "0z54lwfp53prcrs94k8gwh047l9z642jll3l56xlyfr69z0b2zz1")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4954,17 +4959,17 @@ cubes.") (define-public dune-subgrid (package (name "dune-subgrid") - (version "2.6.0") + (version "2.7.0-git-2103a363") (source (origin (method git-fetch) (uri (git-reference (url "https://git.imp.fu-berlin.de/agnumpde/dune-subgrid") - (commit "releases/2.6-1"))) + (commit "2103a363f32e8d7b60e66eee7ddecf969f6cf762"))) (file-name (git-file-name name version)) (sha256 (base32 - "1gcv35rx3knqd54r4pp9rzd639db4j8w2r2ibq43w1mgwdcqhs64")))) + "1wsjlypd3835c3arqjkw836cxx5q67zy447wa65q634lf6f6v9ia")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4994,7 +4999,7 @@ provides the full grid interface including adaptive mesh refinement.") (define-public dune-typetree (package (name "dune-typetree") - (version "2.6.0") + (version "2.7.0") (source (origin (method git-fetch) @@ -5004,7 +5009,7 @@ provides the full grid interface including adaptive mesh refinement.") (file-name (git-file-name name version)) (sha256 (base32 - "0mnv6w2f22lz3j4bdpdjq55vjm8xxfx9v4vvhg9bd36xpsbjpjp9")))) + "1rhv25yg0q1hw50c8wlfqhgwrjl4mh62zq9v14ilwgzbfgxmpiy7")))) (build-system cmake-build-system) (arguments `(#:phases @@ -5033,7 +5038,7 @@ operating on statically typed trees of objects.") (define-public dune-functions (package (name "dune-functions") - (version "2.6.0") + (version "2.7.0") (source (origin (method git-fetch) @@ -5043,7 +5048,7 @@ operating on statically typed trees of objects.") (file-name (git-file-name name version)) (sha256 (base32 - "1an8gb477n8j0kzpbrv7nr1snh8pxip0gsxq6w63jc83gg3dj200")))) + "1na4gcih0kin37ksj2xj07ds04v7zx53pjdhm1hzy55jjfqdjk8h")))) (build-system cmake-build-system) (arguments `(#:phases @@ -5083,17 +5088,17 @@ implemented as callable objects, and bases of finite element spaces.") (define-public dune-pdelab (package (name "dune-pdelab") - (version "2.6.0-rc1") + (version "2.7.0-git-476fe437") (source (origin (method git-fetch) (uri (git-reference (url "https://gitlab.dune-project.org/pdelab/dune-pdelab") - (commit (string-append "v" version)))) + (commit "476fe43763fa6f459c5e4658e2a2b4b5582db834"))) (file-name (git-file-name name version)) (sha256 (base32 - "07g0s9448z65vjrq88g5rv3340iifil85k170n8kbqchsvi4ny5v")))) + "0cs36piqzn6rq0j2ih3ab3q3q9yg199wk72k5qi86pkzh7i7fdn1")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; XXX: the tests cannot be compiled (inputs diff --git a/gnu/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch b/gnu/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch new file mode 100644 index 0000000000..ee2bb8f676 --- /dev/null +++ b/gnu/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch @@ -0,0 +1,82 @@ +Fix build of dune-istl's tests + +Patch copied from upstream source repository: + +https://gitlab.dune-project.org/core/dune-istl/-/commit/9eee3462df5a64881c08574f9291e76db398de0a + +From 9eee3462df5a64881c08574f9291e76db398de0a Mon Sep 17 00:00:00 2001 +From: Felix Gruber +Date: Sat, 4 Apr 2020 15:27:09 +0200 +Subject: [PATCH] make tests succeed when MPI is disabled + +When MPI is not available or explicitly disabled with the CMake build +option -DCMAKE_IDSABLE_FIND_PACKAGE_MPI=TRUE, some tests were unable to +build. + +The tests created from solverfactorytest.cc.in and part of +scalarproductstest.cc use Dune::OwnerOverlapCopyCommunication which is +defined behind `#if HAVE_MPI` and is thus not available in a non-MPI +build. I've thus disabled those tests when MPI is unavailable. + +The matrixmarkettest did not work without MPI, as it contained some code +using the wrong template parameters when HAVE_MPI was not set. Those +template paramters have been fixed now. + +I've confirmed, that after my changes `make build_tests` succeeds to +build all tests and that those tests run without failure. +--- + dune/istl/test/CMakeLists.txt | 3 ++- + dune/istl/test/matrixmarkettest.cc | 2 +- + dune/istl/test/scalarproductstest.cc | 2 ++ + 3 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/dune/istl/test/CMakeLists.txt b/dune/istl/test/CMakeLists.txt +index ffd87969..2c7b2387 100644 +--- a/dune/istl/test/CMakeLists.txt ++++ b/dune/istl/test/CMakeLists.txt +@@ -77,7 +77,8 @@ set(DUNE_TEST_FACTORY_BLOCK_SIZES + function(add_factory_test BLOCK) + STRING(REGEX REPLACE "[^a-zA-Z0-9]" "" BLOCK_CLEAN ${BLOCK}) + configure_file(solverfactorytest.cc.in solverfactorytest_${BLOCK_CLEAN}.cc) +- dune_add_test(SOURCES ${CMAKE_CURRENT_BINARY_DIR}/solverfactorytest_${BLOCK_CLEAN}.cc) ++ dune_add_test(SOURCES ${CMAKE_CURRENT_BINARY_DIR}/solverfactorytest_${BLOCK_CLEAN}.cc ++ CMAKE_GUARD HAVE_MPI) + endfunction(add_factory_test) + + foreach(FIELD_TYPE ${DUNE_TEST_FACTORY_FIELD_TYPES}) +diff --git a/dune/istl/test/matrixmarkettest.cc b/dune/istl/test/matrixmarkettest.cc +index b335afe6..ce30e8ae 100644 +--- a/dune/istl/test/matrixmarkettest.cc ++++ b/dune/istl/test/matrixmarkettest.cc +@@ -52,7 +52,7 @@ int testMatrixMarket(int N) + storeMatrixMarket(mat, std::string("testmat"), comm); + storeMatrixMarket(bv, std::string("testvec"), comm, false); + #else +- typedef Dune::MatrixAdapter Operator; ++ typedef Dune::MatrixAdapter Operator; + Operator op(mat); + op.apply(bv, cv); + +diff --git a/dune/istl/test/scalarproductstest.cc b/dune/istl/test/scalarproductstest.cc +index 452b1d89..f46ce2a9 100644 +--- a/dune/istl/test/scalarproductstest.cc ++++ b/dune/istl/test/scalarproductstest.cc +@@ -115,6 +115,7 @@ int main(int argc, char** argv) + scalarProductTest(scalarProduct,numBlocks); + } + ++#if HAVE_MPI + // Test the ParallelScalarProduct class + { + using Vector = BlockVector >; +@@ -139,6 +140,7 @@ int main(int argc, char** argv) + ScalarProduct scalarProduct(communicator,SolverCategory::nonoverlapping); + scalarProductTest(scalarProduct,numBlocks); + } ++#endif + + return t.exit(); + } +-- +2.25.1 + -- cgit v1.2.3 From 2b0c0d9301aa70ce57055073a813a3a02c4f1eed Mon Sep 17 00:00:00 2001 From: Brice Waegeneire Date: Sun, 5 Apr 2020 21:51:41 +0200 Subject: services: Add udev-rules-service helper. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/guix.texi (Base services): Add documentation for 'udev-rules-service'. Replace examples of 'udev-service-type' extension with 'udev-rules-service'. * gnu/services/base.scm (udev-rules-service): New procedure. Signed-off-by: Ludovic Courtès --- doc/guix.texi | 46 +++++++++++++++++++++++----------------------- gnu/services/base.scm | 22 ++++++++++++++++++++++ 2 files changed, 45 insertions(+), 23 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 990703c4a8..538797a7a3 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -12850,8 +12850,12 @@ A directory path where the @command{guix-daemon} will perform builds. @deffn {Scheme Procedure} udev-service [#:udev @var{eudev} #:rules @code{'()}] Run @var{udev}, which populates the @file{/dev} directory dynamically. udev rules can be provided as a list of files through the @var{rules} -variable. The procedures @code{udev-rule} and @code{file->udev-rule} from -@code{(gnu services base)} simplify the creation of such rule files. +variable. The procedures @code{udev-rule}, @code{udev-rules-service} +and @code{file->udev-rule} from @code{(gnu services base)} simplify the +creation of such rule files. + +The @command{herd rules udev} command, as root, returns the name of the +directory containing all the active udev rules. @end deffn @deffn {Scheme Procedure} udev-rule [@var{file-name} @var{contents}] @@ -12870,23 +12874,27 @@ upon detecting a USB device with a given product identifier. "ATTR@{product@}==\"Example\", " "RUN+=\"/path/to/script\""))) @end lisp - -The @command{herd rules udev} command, as root, returns the name of the -directory containing all the active udev rules. @end deffn -Here we show how the default @var{udev-service} can be extended with it. +@deffn {Scheme Procedure} udev-rules-service [@var{name} @var{rules}] @ + [#:groups @var{groups}] +Return a service that extends @code{udev-service-type } with @var{rules} +and @code{account-service-type} with @var{groups} as system groups. +This works by creating a singleton service type +@var{name}@code{-udev-rules}, of which the returned service is an +instance. + +Here we show how it can be used to extend @var{udev-service} with the +previously defined rule @code{%example-udev-rule}. @lisp (operating-system ;; @dots{} (services - (modify-services %desktop-services - (udev-service-type config => - (udev-configuration (inherit config) - (rules (append (udev-configuration-rules config) - (list %example-udev-rule)))))))) + (cons* (udev-rules-service 'usb-thing %example-udev-rule) + %desktop-services))) @end lisp +@end deffn @deffn {Scheme Procedure} file->udev-rule [@var{file-name} @var{file}] Return a udev file named @var{file-name} containing the rules defined @@ -12926,7 +12934,7 @@ without root privileges. It also details how to create the the rules defined within the @var{android-udev-rules} package. To create such a group, we must define it both as part of the @var{supplementary-groups} of our @var{user-account} declaration, as -well as in the @var{groups} field of the @var{operating-system} record. +well as in the @var{groups} of the @var{udev-rules-service} procedure. @lisp (use-modules (gnu packages android) ;for android-udev-rules @@ -12940,19 +12948,11 @@ well as in the @var{groups} field of the @var{operating-system} record. (supplementary-groups '("adbusers" ;for adb "wheel" "netdev" "audio" "video"))))) - - (groups (cons (user-group (system? #t) (name "adbusers")) - %base-groups)) - ;; @dots{} - (services - (modify-services %desktop-services - (udev-service-type - config => - (udev-configuration (inherit config) - (rules (cons android-udev-rules - (udev-configuration-rules config)))))))) + (cons (udev-rules-service 'android android-udev-rules + #:groups '("adbusers")) + %desktop-services))) @end lisp @defvr {Scheme Variable} urandom-seed-service-type diff --git a/gnu/services/base.scm b/gnu/services/base.scm index d7f3c30b7b..2913478e4a 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2019 John Soo ;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2020 Florian Pelz +;;; Copyright © 2020 Brice Waegeneire ;;; ;;; This file is part of GNU Guix. ;;; @@ -92,6 +93,7 @@ udev-service udev-rule file->udev-rule + udev-rules-service login-configuration login-configuration? @@ -2042,6 +2044,26 @@ extra rules from the packages listed in @var{rules}." (service udev-service-type (udev-configuration (udev udev) (rules rules)))) +(define* (udev-rules-service name rules #:key (groups '())) + "Return a service that extends udev-service-type with RULES and +account-service-type with GROUPS as system groups. This works by creating a +singleton service type NAME-udev-rules, of which the returned service is an +instance." + (let* ((name (symbol-append name '-udev-rules)) + (account-extension + (const (map (lambda (group) + (user-group (name group) (system? #t))) + groups))) + (udev-extension (const (list rules))) + (type (service-type + (name name) + (extensions (list + (service-extension + account-service-type account-extension) + (service-extension + udev-service-type udev-extension)))))) + (service type #f))) + (define swap-service-type (shepherd-service-type 'swap -- cgit v1.2.3 From 9475c631a70b82614a8f3d6db2840d00955e2e1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 22 Apr 2020 19:16:46 +0200 Subject: doc: Adjust @var vs. @code. * doc/guix.texi (Base Services): Adjust @var vs. @code. Use 'cons' instead of 'cons*' in example. --- doc/guix.texi | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 538797a7a3..4787f38181 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -12881,18 +12881,18 @@ upon detecting a USB device with a given product identifier. Return a service that extends @code{udev-service-type } with @var{rules} and @code{account-service-type} with @var{groups} as system groups. This works by creating a singleton service type -@var{name}@code{-udev-rules}, of which the returned service is an +@code{@var{name}-udev-rules}, of which the returned service is an instance. -Here we show how it can be used to extend @var{udev-service} with the +Here we show how it can be used to extend @code{udev-service-type} with the previously defined rule @code{%example-udev-rule}. @lisp (operating-system ;; @dots{} (services - (cons* (udev-rules-service 'usb-thing %example-udev-rule) - %desktop-services))) + (cons (udev-rules-service 'usb-thing %example-udev-rule) + %desktop-services))) @end lisp @end deffn @@ -12931,10 +12931,10 @@ The following example shows how to use the @var{android-udev-rules} package so that the Android tool @command{adb} can detect devices without root privileges. It also details how to create the @code{adbusers} group, which is required for the proper functioning of -the rules defined within the @var{android-udev-rules} package. To +the rules defined within the @code{android-udev-rules} package. To create such a group, we must define it both as part of the -@var{supplementary-groups} of our @var{user-account} declaration, as -well as in the @var{groups} of the @var{udev-rules-service} procedure. +@code{supplementary-groups} of our @code{user-account} declaration, as +well as in the @var{groups} of the @code{udev-rules-service} procedure. @lisp (use-modules (gnu packages android) ;for android-udev-rules -- cgit v1.2.3 From 60651dd9624e4ca648ef0f0d426628377533a637 Mon Sep 17 00:00:00 2001 From: Matthew Brooks Date: Wed, 22 Apr 2020 15:43:07 -0400 Subject: doc: cookbook: Explain how to use bind mounts. * doc/guix-cookbook.texi (Setting up a bind mount): Add example. Signed-off-by: Leo Famulari --- doc/guix-cookbook.texi | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/doc/guix-cookbook.texi b/doc/guix-cookbook.texi index 58a5ba1c80..5d126acd3d 100644 --- a/doc/guix-cookbook.texi +++ b/doc/guix-cookbook.texi @@ -12,6 +12,7 @@ Copyright @copyright{} 2019 Ricardo Wurmus@* Copyright @copyright{} 2019 Efraim Flashner@* Copyright @copyright{} 2019 Pierre Neidhardt@* Copyright @copyright{} 2020 Oleg Pykhalov@* +Copyright @copyright{} 2020 Matthew Brooks@* Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -1322,6 +1323,7 @@ reference. @menu * Customizing the Kernel:: Creating and using a custom Linux kernel on Guix System. * Customizing a Window Manager:: Handle customization of a Window manager on Guix System. +* Setting up a bind mount:: Setting up a bind mount in the file-systems definition. @end menu @node Customizing the Kernel @@ -1614,6 +1616,55 @@ Then you need to add the following code to a StumpWM configuration file (set-font (make-instance 'xft:font :family "DejaVu Sans Mono" :subfamily "Book" :size 11)) @end lisp +@node Setting up a bind mount +@section Setting up a bind mount + +To bind mount a file system, one must first set up some definitions +before the @code{operating-system} section of the system definition. In +this example we will bind mount a folder from a spinning disk drive to +@code{/tmp}, to save wear and tear on the primary SSD, without +dedicating an entire partition to be mounted as @code{/tmp}. + +First, the source drive that hosts the folder we wish to bind mount +should be defined, so that the bind mount can depend on it. + +@lisp +(define source-drive ;; "source-drive" can be named anything you want. + (file-system + (device (uuid "UUID goes here")) + (mount-point "/path-to-spinning-disk-goes-here") + (type "ext4"))) ;; Make sure to set this to the appropriate type for your drive. +@end lisp + +The source folder must also be defined, so that guix will know it's not +a regular block device, but a folder. +@lisp +(define (%source-directory) "/path-to-spinning-disk-goes-here/tmp") ;; "source-directory" can be named any valid variable name. +@end lisp + +Finally, inside the @code{file-systems} definition, we must add the +mount itself. + +@lisp +(file-systems (cons* + + ...... + + source-drive ;; Must match the name you gave the source drive in the earlier definition. + + (file-system + (device (%source-directory)) ;; Make sure "source-directory" matches your earlier definition. + (mount-point "/tmp") + (type "none") ;; We are mounting a folder, not a partition, so this type needs to be "none" + (flags '(bind-mount)) + (dependencies (list source-drive)) ;; Ensure "source-drive" matches what you've named the variable for the drive. + ) + + ...... + + )) +@end lisp + @c ********************************************************************* @node Advanced package management @chapter Advanced package management -- cgit v1.2.3 From eee4173ccc442a05c6c7a031e802deb862e5cf74 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 22 Apr 2020 22:55:10 +0300 Subject: gnu: guile-8sync: Add support for gnu updater. * gnu/packages/guile-xyz.scm (guile-8sync)[properties]: New field. Add upstream-name. --- gnu/packages/guile-xyz.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index cd56a580e0..6ec1c4c2fc 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -417,6 +417,7 @@ and then run @command{scm example.scm}.") library for GNU Guile based on the actor model. Note that 8sync is only available for Guile 2.2.") + (properties '((upstream-name . "8sync"))) (license license:lgpl3+))) (define-public guile-daemon -- cgit v1.2.3 From a9164807bd54f0535aeeb639c473ddff2b81b86e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 22 Apr 2020 23:03:12 +0300 Subject: gnu: parallel: Update to 20200422. * gnu/packages/parallel.scm (parallel): Update to 20200422. --- gnu/packages/parallel.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index 8545c87bb7..92f7b58128 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2020 Eric Bavier ;;; Copyright © 2015 Mark H Weaver -;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner +;;; Copyright © 2015, 2016, 2017, 2018, 2020 Efraim Flashner ;;; Copyright © 2016 Pjotr Prins ;;; Copyright © 2016 Andreas Enge ;;; Copyright © 2016 Ricardo Wurmus @@ -54,14 +54,14 @@ (define-public parallel (package (name "parallel") - (version "20200322") + (version "20200422") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/parallel/parallel-" version ".tar.bz2")) (sha256 - (base32 "0kg95glnfg25i1w7qg2vr5v4671vigsazmz4qdf223l64khq8x10")))) + (base32 "0c2mr2rzsz0y24q4mbm2zmc2fz6bcda4gbc4qgg59sirrj8vzpjb")))) (build-system gnu-build-system) (arguments `(#:phases -- cgit v1.2.3 From f13f02f8b367fe3d2f7b3545fea2669b8e5088a5 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 22 Apr 2020 23:06:33 +0300 Subject: gnu: gama: Update to 2.08. * gnu/packages/gps.scm (gama): Update to 2.08. --- gnu/packages/gps.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm index 4a4b18f3e1..bb3ec345ba 100644 --- a/gnu/packages/gps.scm +++ b/gnu/packages/gps.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015 Ludovic Courtès -;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Mathieu Othacehe ;;; Copyright © 2020 Guillaume Le Vaillant @@ -154,7 +154,7 @@ between two other data points.") (define-public gama (package (name "gama") - (version "2.07") + (version "2.08") (source (origin (method url-fetch) @@ -162,7 +162,7 @@ between two other data points.") version ".tar.gz")) (sha256 (base32 - "0nmc6mkd55nryfffq5k9c09dhkbq6bfs06af8ammhbh5jzdn3s36")))) + "0fic6a3a83hgj3gj85bin3wd6ghgi2qg76d6jfwckamab0hlv7wx")))) (build-system gnu-build-system) (arguments '(#:parallel-tests? #f)) ; race condition (native-inputs -- cgit v1.2.3 From 6439c340a8263b9862ba2ccad35db74daf8605dc Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 22 Apr 2020 23:14:19 +0300 Subject: gnu: osip: Add support for gnu updater. * gnu/packages/telephony.scm (osip)[properties]: New field. Add upstream-name, ftp-directory. --- gnu/packages/telephony.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index 85c2f2ab5e..51aafc6389 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2014 John Darrington ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2015 David Hashe -;;; Copyright © 2015, 2016 Efraim Flashner +;;; Copyright © 2015, 2016, 2020 Efraim Flashner ;;; Copyright © 2016 Lukas Gradl ;;; Copyright © 2016 Francesco Frassinelli ;;; Copyright © 2016, 2017 ng0 @@ -274,6 +274,8 @@ packet-manipulation library.") used to provide multimedia and telecom software developers with an interface to initiate and control SIP sessions.") (license license:lgpl2.1+) + (properties '((ftp-directory . "/gnu/osip") + (upstream-name . "libosip2"))) (home-page "https://www.gnu.org/software/osip/"))) -- cgit v1.2.3 From 6ecce47180a446a1857f30ffee9b2677962305dc Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 22 Apr 2020 23:16:39 +0300 Subject: gnu: osip: Update to 5.1.1. * gnu/packages/telephony.scm (osip): Update to 5.1.1. --- gnu/packages/telephony.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index 51aafc6389..dfe025656a 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -259,14 +259,14 @@ packet-manipulation library.") (define-public osip (package (name "osip") - (version "5.0.0") + (version "5.1.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/osip/libosip2-" version ".tar.gz")) (patches (search-patches "osip-CVE-2017-7853.patch")) (sha256 (base32 - "00yznbrm9q04wgd4b831km8iwlvwvsnwv87igf79g5vj9yakr88q")))) + "0kgnxgzf968kbl6rx3hjsfb3jsg4ydgrsf35gzj319i1f8qjifv1")))) (build-system gnu-build-system) (synopsis "Library implementing SIP (RFC-3261)") -- cgit v1.2.3 From c9508c4337e7e210b2eb7c18dd0414d3aa97bcdd Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 22 Apr 2020 23:34:20 +0300 Subject: gnu: commoncpp: Add support for gnu updater. * gnu/packages/telephony.scm (commoncpp)[properties]: New field. Add ftp-directory, upstream-name. --- gnu/packages/telephony.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index dfe025656a..7b20954120 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -209,6 +209,8 @@ communications via sockets, and various methods for data handling, such as serialization and XML parsing. It includes the uCommon C++ library, a smaller reimplementation.") (license license:gpl2+) ; plus runtime exception + (properties '((ftp-directory . "/gnu/commoncpp") + (upstream-name . "commoncpp2"))) (home-page "https://www.gnu.org/software/commoncpp/"))) (define-public ucommon -- cgit v1.2.3 From 2213d00faca72029dc54b559dd6124059c6c0881 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 22 Apr 2020 23:35:54 +0300 Subject: gnu: wget2: Add support for gnu updater. * gnu/packages/wget.scm (wget2)[properties]: New field. Add ftp-directory. --- gnu/packages/wget.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm index 3d4ea9456f..d7ac9e0c12 100644 --- a/gnu/packages/wget.scm +++ b/gnu/packages/wget.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012 Nikita Karetnikov ;;; Copyright © 2014, 2015, 2017, 2018 Ludovic Courtès -;;; Copyright © 2016, 2017, 2019 Efraim Flashner +;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner ;;; Copyright © 2017 Rutger Helling ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; @@ -176,4 +176,5 @@ online pastebin services.") (description "GNU Wget2 is the successor of GNU Wget, a file and recursive website downloader. Designed and written from scratch it wraps around libwget, that provides the basic functions needed by a web client.") + (properties '((ftp-directory . "/gnu/wget"))) (license (list license:gpl3+ license:lgpl3+)))) -- cgit v1.2.3 From f91ad0b13d8d3d5b1ae92e209b1be6e8473385ba Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Wed, 22 Apr 2020 22:58:11 +0200 Subject: system: Automatically adjust linux-module packages to use the operating-system's kernel. * gnu/system.scm (package-for-kernel): New procedure. (operating-system-directory-base-entries): Use it. * gnu/tests/linux-module.scm: Test it. --- gnu/system.scm | 18 +++++++++++++++++- gnu/tests/linux-modules.scm | 11 ++++++++++- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index 3ee2c84235..29e622872d 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -33,6 +33,7 @@ #:use-module (guix derivations) #:use-module (guix profiles) #:use-module (guix ui) + #:use-module (guix utils) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages guile) @@ -477,6 +478,16 @@ OS." (file-append (operating-system-kernel os) "/" (system-linux-image-file-name))) +(define (package-for-kernel target-kernel module-package) + "Return a package like MODULE-PACKAGE, adapted for TARGET-KERNEL, if +possible (that is if there's a LINUX keyword argument in the build system)." + (package + (inherit module-package) + (arguments + (substitute-keyword-arguments (package-arguments module-package) + ((#:linux kernel #f) + target-kernel))))) + (define* (operating-system-directory-base-entries os) "Return the basic entries of the 'system' directory of OS for use as the value of the SYSTEM-SERVICE-TYPE service." @@ -487,7 +498,12 @@ value of the SYSTEM-SERVICE-TYPE service." (kernel (profile-derivation (packages->manifest - (cons kernel modules)) + (cons kernel + (map (lambda (module) + (if (package? module) + (package-for-kernel kernel module) + module)) + modules))) #:hooks (list linux-module-database))) (initrd -> (operating-system-initrd-file os)) (params -> (operating-system-boot-parameters-file os))) diff --git a/gnu/tests/linux-modules.scm b/gnu/tests/linux-modules.scm index 788bdc848a..953b132ef7 100644 --- a/gnu/tests/linux-modules.scm +++ b/gnu/tests/linux-modules.scm @@ -28,8 +28,10 @@ #:use-module (guix derivations) #:use-module (guix gexp) #:use-module (guix modules) + #:use-module (guix packages) #:use-module (guix monads) #:use-module (guix store) + #:use-module (guix utils) #:export (%test-loadable-kernel-modules-0 %test-loadable-kernel-modules-1 %test-loadable-kernel-modules-2)) @@ -118,5 +120,12 @@ with one extra module.") (description "Tests loadable kernel modules facility of with two extra modules.") (value (run-loadable-kernel-modules-test - (list acpi-call-linux-module ddcci-driver-linux) + (list acpi-call-linux-module + (package + (inherit ddcci-driver-linux) + (arguments + `(#:linux #f + ,@(strip-keyword-arguments '(#:linux) + (package-arguments + ddcci-driver-linux)))))) '("acpi_call" "ddcci"))))) -- cgit v1.2.3 From 541ec4d6e80110a640eefa4e1041bb83f4f12421 Mon Sep 17 00:00:00 2001 From: John Soo Date: Wed, 22 Apr 2020 23:47:59 +0200 Subject: gnu: Add emacs-xclip. * gnu/packages/emacs-xyz.scm (emacs-xclip): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/emacs-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 32b1868813..5130cfdfad 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -20263,6 +20263,29 @@ commands in @code{evil-mode}.") Emacs windows and tmux panes.") (license license:expat))) +(define-public emacs-xclip + (package + (name "emacs-xclip") + (version "1.10") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "xclip-" version ".el")) + (sha256 + (base32 "0i3i9kwfg8qmhcmqhhnrb1kljgwkccv63s9q1mjwqfjldyfh8j8i")))) + (build-system emacs-build-system) + (home-page "http://elpa.gnu.org/packages/xclip.html") + (synopsis "Copy and paste GUI clipboard from Emacs in text terminal") + (description + "This package allows Emacs to copy to and paste from the GUI clipboard +when running in text terminal. + +It can use external command-line tools for that, e.g., @command{xclip} or +@command{xsel}, which you may need to install in order for the package to +work.") + (license license:gpl3+))) + (define-public emacs-xterm-color (package (name "emacs-xterm-color") -- cgit v1.2.3 From 9fb2b7eeabba2eb2215f03dd0df408203124e527 Mon Sep 17 00:00:00 2001 From: John Soo Date: Sat, 18 Apr 2020 20:45:12 -0700 Subject: gnu: clipmenu: Fix hash. * gnu/packages/xdisorg.scm (clipmenu):[origin] Update hash. Signed-off-by: Nicolas Goaziou --- gnu/packages/xdisorg.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 1be52247d3..bc2c9c4622 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -2221,7 +2221,7 @@ tools to complement clipnotify.") (file-name (git-file-name name version)) (sha256 (base32 - "12vvircdhl4psqi51cnfd6bqy85v2vwfcmdq1mimjgng727nwzys")))) + "0053j4i14lz5m2bzc5sch5id5ilr1bl196mp8fp0q8x74w3vavs9")))) (build-system gnu-build-system) (arguments `(#:phases -- cgit v1.2.3 From 5483a2d0a913fe533744699e9ef5757c6e3f6983 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Wed, 22 Apr 2020 15:07:01 -0400 Subject: gnu: font-gnu-freefont: Add otf and woff font types. * gnu/packages/fonts.scm (font-gnu-freefont): Add otf and woff font types. * gnu/packages/genealogy.scm (gramps)[inputs]: Replace font-gnu-freefont-tff with font-gnu-freefont. * doc/guix.texi: Adjust a reference to the package. Signed-off-by: Leo Famulari --- doc/guix.texi | 2 +- gnu/packages/fonts.scm | 40 ++++++++++++++++++++++++++++++++-------- gnu/packages/genealogy.scm | 2 +- 3 files changed, 34 insertions(+), 10 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 4787f38181..19094c4b70 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -1691,7 +1691,7 @@ package in Guix looks for fonts in @file{$HOME/.guix-profile} by default. Thus, to allow graphical applications installed with Guix to display fonts, you have to install fonts with Guix as well. Essential font packages include @code{gs-fonts}, @code{font-dejavu}, and -@code{font-gnu-freefont-ttf}. +@code{font-gnu-freefont}. @cindex @code{fc-cache} @cindex font cache diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 9ab5587b98..34db6ff3ec 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -32,6 +32,7 @@ ;;; Copyright © 2020 Amin Bandali ;;; Copyright © 2020 Michael Rohleder ;;; Copyright © 2020 John Soo +;;; Copyright © 2020 Raghav Gururajan ;;; ;;; This file is part of GNU Guix. ;;; @@ -232,9 +233,9 @@ The Lato 2.010 family supports more than 100 Latin-based languages, over 50 Cyrillic-based languages as well as Greek and IPA phonetics.") (license license:silofl1.1))) -(define-public font-gnu-freefont-ttf +(define-public font-gnu-freefont (package - (name "font-gnu-freefont-ttf") + (name "font-gnu-freefont") (version "20120503") (source (origin (method url-fetch) @@ -251,18 +252,41 @@ The Lato 2.010 family supports more than 100 Latin-based languages, over (lambda _ (let ((doc-dir (string-append %output "/share/doc/" ,name "-" ,version)) - (font-dir (string-append %output - "/share/fonts/truetype"))) + (ttf-font-dir (string-append %output + "/share/fonts/ttf")) + (otf-font-dir (string-append %output + "/share/fonts/otf")) + (woff-font-dir (string-append %output + "/share/fonts/woff"))) (mkdir-p doc-dir) (substitute* "Makefile" (("\\$\\(TMPDIR\\)") doc-dir) - (("sfd/\\*.ttf") "")) - (system* "make" "ttftar") - (mkdir-p font-dir) + (("sfd/\\*.ttf") "") + (("sfd/\\*.otf") "") + (("sfd/\\*.woff") "")) + ;; XXX The FreeFont Makefile tries to use the current + ;; time and date as names for generated files, and fails + ;; silently. But the fonts are still installed, so we + ;; leave the issue alone for now. + ;; See + (system* "make" "ttftar" "otftar" "wofftar") + (mkdir-p ttf-font-dir) + (mkdir-p otf-font-dir) + (mkdir-p woff-font-dir) (for-each (lambda (file) - (install-file file font-dir)) + (install-file file ttf-font-dir)) (filter (lambda (file) (string-suffix? "ttf" file)) + (find-files "." ""))) + (for-each (lambda (file) + (install-file file otf-font-dir)) + (filter + (lambda (file) (string-suffix? "otf" file)) + (find-files "." ""))) + (for-each (lambda (file) + (install-file file woff-font-dir)) + (filter + (lambda (file) (string-suffix? "woff" file)) (find-files "." ""))))))) #:test-target "tests")) ;; replace python 3 with python 2 diff --git a/gnu/packages/genealogy.scm b/gnu/packages/genealogy.scm index 869f69add8..79b24ed048 100644 --- a/gnu/packages/genealogy.scm +++ b/gnu/packages/genealogy.scm @@ -55,7 +55,7 @@ ("intltool" ,intltool))) (inputs `(("cairo" ,cairo) - ("font-gnu-freefont-ttf" ,font-gnu-freefont-ttf) + ("font-gnu-freefont" ,font-gnu-freefont) ("geocode-glib" ,geocode-glib) ("gexiv2" ,gexiv2) ("ghostscript" ,ghostscript) -- cgit v1.2.3 From 4e74cef97a49d06c53903786bac95f510212f949 Mon Sep 17 00:00:00 2001 From: Alberto Eleuterio Flores Guerrero Date: Thu, 23 Apr 2020 00:02:15 +0200 Subject: gnu: Add emacs-4clojure. * gnu/packages/emacs-xyz.scm (emacs-4clojure): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/emacs-xyz.scm | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 5130cfdfad..2d20cf04cf 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -5381,7 +5381,30 @@ orange and red as accent colors.") "This program is an implementation of 2048 for Emacs. The goal of this game is to create a tile with value 2048. The size of the board and goal value can be customized.") - (license license:gpl3+))) + (license license:gpl3+))) + +(define-public emacs-4clojure + (package + (name "emacs-4clojure") + (version "0.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacsorphanage/4clojure.git") + (commit "4eccf8c7d4341a36c269451838114b27836699f9"))) + (file-name (git-file-name name version)) + (sha256 + (base32 "19x653lzc1dxil4ix257hciidbdmbhaxhs6qhlkwi9ygjrlrgvnk")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-request" ,emacs-request))) + (home-page "https://github.com/emacsorphanage/4clojure/") + (synopsis "Open and evaluate 4clojure questions in Emacs") + (description "Emacs 4clojure interacts with @url{http://www4clojure.com, +4clojure} problems. You can open a specific question and move to the next or +previous one. You can also verify you answers.") + (license license:gpl3))) (define-public emacs-base16-theme (package -- cgit v1.2.3 From 034a3eacf7a95f93dcdf9f00e2e36ee50851e6a7 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 23 Apr 2020 00:10:08 +0200 Subject: gnu: emacs-4clojure: Fix version. * gnu/packages/emacs-xyz.scm (emacs-4clojure)[version]: Use `git-version' as there is no proper release. --- gnu/packages/emacs-xyz.scm | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 2d20cf04cf..9c1d6f45c6 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -5384,27 +5384,31 @@ board and goal value can be customized.") (license license:gpl3+))) (define-public emacs-4clojure - (package - (name "emacs-4clojure") - (version "0.2.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/emacsorphanage/4clojure.git") - (commit "4eccf8c7d4341a36c269451838114b27836699f9"))) - (file-name (git-file-name name version)) - (sha256 - (base32 "19x653lzc1dxil4ix257hciidbdmbhaxhs6qhlkwi9ygjrlrgvnk")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-request" ,emacs-request))) - (home-page "https://github.com/emacsorphanage/4clojure/") - (synopsis "Open and evaluate 4clojure questions in Emacs") - (description "Emacs 4clojure interacts with @url{http://www4clojure.com, + ;; There is no release. Base version is extracted from Version keyword in + ;; the main file. + (let ((commit "4eccf8c7d4341a36c269451838114b27836699f9") + (revision "1")) + (package + (name "emacs-4clojure") + (version (git-version "0.2.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacsorphanage/4clojure.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "19x653lzc1dxil4ix257hciidbdmbhaxhs6qhlkwi9ygjrlrgvnk")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-request" ,emacs-request))) + (home-page "https://github.com/emacsorphanage/4clojure/") + (synopsis "Open and evaluate 4clojure questions in Emacs") + (description "Emacs 4clojure interacts with @url{http://www4clojure.com, 4clojure} problems. You can open a specific question and move to the next or previous one. You can also verify you answers.") - (license license:gpl3))) + (license license:gpl3)))) (define-public emacs-base16-theme (package -- cgit v1.2.3 From e36065c1a4ee4c48e3a0d4ba7b09cc1cba5f579b Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 23 Apr 2020 00:13:11 +0200 Subject: gnu: emacs-4clojure: Fix typos in description. * gnu/packages/emacs-xyz.scm (emacs-4clojure)[description]: Fix typos. --- gnu/packages/emacs-xyz.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 9c1d6f45c6..e312a918d6 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -5405,9 +5405,10 @@ board and goal value can be customized.") `(("emacs-request" ,emacs-request))) (home-page "https://github.com/emacsorphanage/4clojure/") (synopsis "Open and evaluate 4clojure questions in Emacs") - (description "Emacs 4clojure interacts with @url{http://www4clojure.com, -4clojure} problems. You can open a specific question and move to the next or -previous one. You can also verify you answers.") + (description "Emacs 4clojure interacts with +@url{http://www.4clojure.com, 4clojure} problems. You can open a specific +question and move to the next or previous one. You can also verify your +answers.") (license license:gpl3)))) (define-public emacs-base16-theme -- cgit v1.2.3 From 159e9dce170bc5368248db42722edcfd974b8ad4 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Tue, 14 Apr 2020 15:01:43 -0400 Subject: gnu: Add udevil. * gnu/packages/disk.scm (udevil): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/disk.scm | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 0f23852971..b7d3b9d954 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -47,6 +47,7 @@ #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) #:use-module (gnu packages elf) + #:use-module (gnu packages file-systems) #:use-module (gnu packages fontutils) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) @@ -64,6 +65,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) + #:use-module (gnu packages samba) #:use-module (gnu packages sphinx) #:use-module (gnu packages sqlite) #:use-module (gnu packages swig) @@ -84,6 +86,52 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages)) +(define-public udevil + (package + (name "udevil") + (version "0.4.4") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/IgnorantGuru/udevil.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0x9mjr9abvbxzfa9mrip5264iz1qxvsl01k3ybz95q4a7xl4jcb3")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "--disable-systemd" + (string-append "--sysconfdir=" + (assoc-ref %outputs "out") + "/etc")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-root-reference + (lambda _ + (substitute* "src/Makefile.in" + (("-o root -g root") "")) + #t))))) + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (inputs + `(("cifs-utils" ,cifs-utils) + ("curlftpfs" ,curlftpfs) + ("eudev" ,eudev) + ("fakeroot" ,fakeroot) + ("glib" ,glib) + ("sshfs" ,sshfs))) + (synopsis "Device and file system manager") + (description "udevil is a command line program that mounts and unmounts +removable devices without a password, shows device info, and monitors device +changes. It can also mount ISO files, NFS, SMB, FTP, SSH and WebDAV URLs, and +tmpfs/ramfs filesystems.") + (home-page "https://ignorantguru.github.io/udevil/") + (license license:gpl3+))) + (define-public parted (package (name "parted") -- cgit v1.2.3 From e74b2c8e68b2e2b2595e06e5e7419362d499fa41 Mon Sep 17 00:00:00 2001 From: Brendan Tildesley Date: Thu, 23 Apr 2020 00:30:07 +0200 Subject: gnu: Add python-evdev. * gnu/packages/linux.scm (python-evdev): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/linux.scm | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index e64683e0ac..fbdda2543e 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -28,7 +28,7 @@ ;;; Copyright © 2017 nee ;;; Copyright © 2017 Dave Love ;;; Copyright © 2018 Pierre-Antoine Rouby -;;; Copyright © 2018 Brendan Tildesley +;;; Copyright © 2018, 2020 Brendan Tildesley ;;; Copyright © 2018 Manuel Graf ;;; Copyright © 2018 Pierre Langlois ;;; Copyright © 2018 Vasile Dumitrascu @@ -2981,6 +2981,43 @@ time.") (string-append out "/bin"))) #t))))))))) +(define-public python-evdev + (package + (name "python-evdev") + (version "1.3.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "evdev" version)) + (sha256 + (base32 "0kb3636yaw9l8xi8s184w0r0n9ic5dw3b8hx048jf9fpzss4kimi")))) + (build-system python-build-system) + (native-inputs + `(("kernel-headers" ,linux-libre-headers))) + (arguments + `(#:tests? #f ;no rule for tests + #:phases + (modify-phases %standard-phases + (add-before 'build 'fix-hard-coded-directory + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "setup.py" + (("/usr/include/linux") + (string-append + (assoc-ref inputs "kernel-headers") "/include/linux"))) + #t))))) + (home-page "https://github.com/gvalkov/python-evdev") + (synopsis "Bindings to the Linux input handling subsystem") + (description + "Python-evdev provides bindings to the generic input event interface in +Linux. The @code{evdev} interface serves the purpose of passing events +generated in the kernel directly to userspace through character devices that +are typically located in @file{/dev/input/}. + +This package also comes with bindings to @code{uinput}, the userspace input +subsystem. @code{uinput} allows userspace programs to create and handle input +devices that can inject events directly into the input subsystem.") + (license license:bsd-3))) + (define-public lvm2 (package (name "lvm2") -- cgit v1.2.3 From 2cd1de321ff9723cf8b34fc57e50f401ac3837dd Mon Sep 17 00:00:00 2001 From: Brendan Tildesley Date: Thu, 23 Apr 2020 00:39:07 +0200 Subject: gnu: Add libratbag. * gnu/packages/gnome.scm (libratbag): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/gnome.scm | 71 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 3a359abbbb..a22e6fe715 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -27,7 +27,7 @@ ;;; Copyright © 2017, 2018 nee ;;; Copyright © 2017 Chris Marusich ;;; Copyright © 2017 Mohammed Sadiq -;;; Copyright © 2017 Brendan Tildesley +;;; Copyright © 2017, 2020 Brendan Tildesley ;;; Copyright © 2017, 2018 Rutger Helling ;;; Copyright © 2018 Jovany Leandro G.C ;;; Copyright © 2018 Vasile Dumitrascu @@ -162,9 +162,11 @@ #:use-module (gnu packages spice) #:use-module (gnu packages sqlite) #:use-module (gnu packages ssh) + #:use-module (gnu packages swig) #:use-module (gnu packages tex) #:use-module (gnu packages time) #:use-module (gnu packages tls) + #:use-module (gnu packages valgrind) #:use-module (gnu packages version-control) #:use-module (gnu packages video) #:use-module (gnu packages virtualization) @@ -9985,6 +9987,73 @@ to.") ;; snowball license:bsd-2)))) +(define-public libratbag + (package + (name "libratbag") + (version "0.13") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/libratbag/libratbag.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "18y8mfr63d91278m1kcid0wvrxa1sgjs8na9af1ks2n28ssvciwq")))) + (build-system meson-build-system) + (arguments + `(#:configure-flags + (list "-Dsystemd=false" + "-Dlogind-provider=elogind") + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (site (string-append + "/lib/python" + ,(version-major+minor (package-version python)) + "/site-packages")) + (evdev (string-append + (assoc-ref inputs "python-evdev") site)) + (pygo (string-append + (assoc-ref inputs "python-pygobject") site)) + (python-wrap + `("PYTHONPATH" = (,evdev ,pygo)))) + (wrap-program (string-append out "/bin/" "ratbagctl") + python-wrap) + #t)))))) + (native-inputs + `(("check" ,check) + ("pkg-config" ,pkg-config) + ("swig" ,swig) + ("valgrind" ,valgrind))) + (inputs + `(("glib" ,glib) + ("json-glib" ,json-glib) + ("libevdev" ,libevdev) + ("libsystemd" ,elogind) + ("libunistring" ,libunistring) + ("python-evdev" ,python-evdev) + ("python-pygobject" ,python-pygobject) + ("udev" ,eudev))) + (home-page "https://github.com/libratbag/libratbag") + (synopsis "DBus daemon and utility for configuring gaming mice") + (description "libratbag provides @command{ratbagd}, a DBus daemon to +configure input devices, mainly gaming mice. The daemon provides a generic +way to access the various features exposed by these mice and abstracts away +hardware-specific and kernel-specific quirks. There is also the +@command{ratbagctl} command line interface for configuring devices. + +libratbag currently supports devices from Logitech, Etekcity, GSkill, Roccat, +Steelseries. + +The ratbagd DBus service can be enabled by adding the following service to +your operating-system definition: + + (simple-service 'ratbagd dbus-root-service-type (list libratbag))") + (license license:expat))) + (define-public parlatype ;; This is one commit away from 2.0, because the latter introduced ;; a regression in ASR. -- cgit v1.2.3 From 50d31a40f1a458b41f0ee59f5f5cb0d3837bf90a Mon Sep 17 00:00:00 2001 From: Brendan Tildesley Date: Thu, 23 Apr 2020 00:44:28 +0200 Subject: gnu: Add piper. * gnu/packages/gnome.scm (piper): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/gnome.scm | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index a22e6fe715..d96a5f4643 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -10054,6 +10054,68 @@ your operating-system definition: (simple-service 'ratbagd dbus-root-service-type (list libratbag))") (license license:expat))) +(define-public piper + (package + (name "piper") + (version "0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/libratbag/piper.git") + (commit version))) + (sha256 + (base32 "17h06j8lxpbfygq8fzycl7lml4vv7r05bsyhh3gga2hp0zms4mvg")))) + (build-system meson-build-system) + (native-inputs + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("pkg-config" ,pkg-config) + ("python-flake8" ,python-flake8))) + (inputs + `(("adwaita-icon-theme" ,adwaita-icon-theme) + ("gtk" ,gtk+) + ("gtk:bin" ,gtk+ "bin") + ("librsvg" ,librsvg) + ("python-evdev" ,python-evdev) + ("python-lxml" ,python-lxml) + ("python-pycairo" ,python-pycairo) + ("python-pygobject" ,python-pygobject))) + (arguments + `(#:imported-modules ((guix build python-build-system) + ,@%meson-build-system-modules) + #:modules (((guix build python-build-system) #:prefix python:) + (guix build meson-build-system) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'dont-update-gtk-icon-cache + (lambda _ + (substitute* "meson.build" + (("meson.add_install_script('meson_install.sh')") "")) + #t)) + ;; TODO: Switch to wrap-script when it is fixed. + (add-after 'install 'wrap-python + (assoc-ref python:%standard-phases 'wrap)) + (add-after 'wrap-python 'wrap + (lambda* (#:key outputs #:allow-other-keys) + (wrap-program + (string-append (assoc-ref outputs "out" )"/bin/piper") + `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))) + #t))))) + (home-page "https://github.com/libratbag/piper/") + (synopsis "Configure bindings and LEDs on gaming mice") + (description "Piper is a GTK+ application for configuring gaming mice with +onboard configuration for key bindings via libratbag. Piper requires +a @command{ratbagd} daemon running with root privileges. It can be run +manually as root, but is preferably configured as a DBus service that can +launch on demand. This can be configured by enabling the following service, +provided there is a DBus service present: + + (simple-service 'ratbagd dbus-root-service-type (list libratbag))") + (license license:gpl2))) + (define-public parlatype ;; This is one commit away from 2.0, because the latter introduced ;; a regression in ASR. -- cgit v1.2.3 From 179c59c3d3a7c446f0c0e4b55f799ad3a2abc48c Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 23 Apr 2020 01:12:41 +0200 Subject: gnu: Add pyzo. * gnu/packages/python-xyz.scm (pyzo): New variable. --- gnu/packages/python-xyz.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 457e5e6bea..1a7bbcc299 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -19506,3 +19506,41 @@ randomly picked from wordlists. It supports several sources of randomness (including real life dice) and different wordlists (including cryptographically signed ones).") (license license:gpl3+))) + +(define-public pyzo + (package + (name "pyzo") + (version "4.10.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pyzo" version)) + (sha256 + (base32 "1zplxcb78qy8qibifmnsx5i9gnlfmw9n6nr4yflsabpxw57mx4m1")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'fix-home-directory + (lambda _ + ;; Tests fail with "Permission denied: '/homeless-shelter'". + (setenv "HOME" "/tmp") + #t))) + ;; Tests fail with "Uncaught Python exception: invalid literal for + ;; int() with base 10: 'test'". + #:tests? #f)) + (propagated-inputs + `(("python-pyqt" ,python-pyqt))) + (home-page "https://pyzo.org") + (synopsis + "Python IDE for scientific computing") + (description + "Pyzo is a Python IDE focused on interactivity and introspection, +which makes it very suitable for scientific computing. Its practical +design is aimed at simplicity and efficiency. + +It consists of two main components, the editor and the shell, and uses +a set of pluggable tools to help the programmer in various ways. Some +example tools are source structure, project manager, interactive help, +workspace...") + (license license:bsd-2))) -- cgit v1.2.3 From c47f48d972cd13ee2cdf86d075f34fa0e944a764 Mon Sep 17 00:00:00 2001 From: Ryan Prior Date: Tue, 21 Apr 2020 16:56:42 -0500 Subject: gnu: Add visidata. * gnu/packages/visidata.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Signed-off-by: Ricardo Wurmus --- gnu/local.mk | 2 ++ gnu/packages/visidata.scm | 64 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 gnu/packages/visidata.scm diff --git a/gnu/local.mk b/gnu/local.mk index 4af79f0caf..a6e1ed2d37 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -32,6 +32,7 @@ # Copyright © 2020 Nicolò Balzarotti # Copyright © 2020 Michael Rohleder # Copyright © 2020 Felix Gruber +# Copyright © 2020 Ryan Prior # # This file is part of GNU Guix. # @@ -522,6 +523,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/video.scm \ %D%/packages/vim.scm \ %D%/packages/virtualization.scm \ + %D%/packages/visidata.scm \ %D%/packages/vnc.scm \ %D%/packages/vpn.scm \ %D%/packages/vulkan.scm \ diff --git a/gnu/packages/visidata.scm b/gnu/packages/visidata.scm new file mode 100644 index 0000000000..68ea401362 --- /dev/null +++ b/gnu/packages/visidata.scm @@ -0,0 +1,64 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Ryan Prior +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages visidata) + #:use-module (gnu packages databases) + #:use-module (gnu packages python-science) + #:use-module (gnu packages python-web) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages time) + #:use-module (gnu packages xml) + #:use-module (guix build-system python) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages)) + +(define-public visidata + (package + (name "visidata") + (version "1.5.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "visidata" version)) + (sha256 + (base32 + "10adfyn4gkisvciqawgh2lakkhhnjjxiyp7mzbgcwkq1b3sigpf1")))) + (build-system python-build-system) + ;; Tests disabled because they are not packaged with the source tarball. + ;; Upstream suggests tests will be packaged with tarball around 2.0 release. + (arguments '(#:tests? #f)) + (inputs + `(("python-dateutil" ,python-dateutil) + ("python-fonttools" ,python-fonttools) + ("python-h5py" ,python-h5py) + ("python-lxml" ,python-lxml) + ("python-openpyxl" ,python-openpyxl) + ("python-pandas" ,python-pandas) + ("python-psycopg2" ,python-psycopg2) + ("python-pyyaml" ,python-pyyaml) + ("python-requests" ,python-requests) + ("python-xlrd" ,python-xlrd))) + (synopsis "Terminal spreadsheet multitool for discovering and arranging data") + (description + "VisiData is an interactive multitool for tabular data. It combines the +clarity of a spreadsheet, the efficiency of the terminal, and the power of +Python, into a lightweight utility which can handle millions of rows.") + (home-page "https://www.visidata.org/") + (license (list license:gpl3 + license:expat)))) ;; visidata/vdtui.py -- cgit v1.2.3 From bbf6bc1acc9bbdebf7ee7b68c0fa091733a5f6e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20K=C4=85dzio=C5=82ka?= Date: Wed, 15 Apr 2020 17:12:29 +0200 Subject: git-version: Handle invalid arguments gracefully * guix/git-download.scm (git-version): Add a check for commit ID length. --- guix/git-download.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/guix/git-download.scm b/guix/git-download.scm index 1eae035fc4..ef0bb2e281 100644 --- a/guix/git-download.scm +++ b/guix/git-download.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2017 Mathieu Lirzin ;;; Copyright © 2017 Christopher Baines +;;; Copyright © 2020 Jakub Kądziołka ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,6 +31,8 @@ #:use-module (ice-9 match) #:use-module (ice-9 vlist) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-34) + #:use-module (srfi srfi-35) #:export (git-reference git-reference? git-reference-url @@ -170,6 +173,13 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (define (git-version version revision commit) "Return the version string for packages using git-download." + ;; git-version is almost exclusively executed while modules are being loaded. + ;; This makes any errors hide their backtrace. Avoid the mysterious error + ;; "Value out of range 0 to N: 7" when the commit ID is too short, which + ;; can happen, for example, when the user swapped the revision and commit + ;; arguments by mistake. + (when (< (string-length commit) 7) + (error "git-version: commit ID unexpectedly short")) (string-append version "-" revision "." (string-take commit 7))) (define (git-file-name name version) -- cgit v1.2.3 From 4eff27354255ee3dd53b8ec5307a33d32cb9ed8f Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 23 Apr 2020 10:32:06 +0200 Subject: gnu: emacs-4clojure: Fix license. * gnu/packages/emacs-xyz.scm (emacs-4clojure)[license]: Use GPL3+. --- gnu/packages/emacs-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index e312a918d6..17aea794c4 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -5409,7 +5409,7 @@ board and goal value can be customized.") @url{http://www.4clojure.com, 4clojure} problems. You can open a specific question and move to the next or previous one. You can also verify your answers.") - (license license:gpl3)))) + (license license:gpl3+)))) (define-public emacs-base16-theme (package -- cgit v1.2.3 From 938df0de739aa13c2fb483f440ec1db281a52aaa Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Thu, 23 Apr 2020 13:03:35 +0200 Subject: Revert "gnu: u-boot: Update to 2020.04." This reverts commit be0ecfb1787b9e6954bf745bceeb1b9d2669d51a. --- gnu/packages/bootloaders.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 750579e913..2a6e0707b2 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -400,7 +400,7 @@ tree binary files. These are board description files used by Linux and BSD.") (define u-boot (package (name "u-boot") - (version "2020.04") + (version "2020.01") (source (origin (method url-fetch) (uri (string-append @@ -408,7 +408,7 @@ tree binary files. These are board description files used by Linux and BSD.") "u-boot-" version ".tar.bz2")) (sha256 (base32 - "0wjkasnz87q86hx93inspdjfjsinmxi87bcvj30c773x0fpjlwzy")))) + "1w9ml4jl15q6ixpdqzspxjnl7d3rgxd7f99ms1xv5c8869h3qida")))) (native-inputs `(("bc" ,bc) ("bison" ,bison) -- cgit v1.2.3