From 69de98391d720b92206d5e45072ecd3944d95774 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 1 May 2020 00:40:23 +0200 Subject: profiles: Mark manual database as non-substitutable. Fixes . Reported by pkill9 . * guix/profiles.scm (manual-database): Pass #:substitutable? #f. --- guix/profiles.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/guix/profiles.scm b/guix/profiles.scm index ab265cce62..b3a3db0e84 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -1487,6 +1487,7 @@ (define man-directory ;; . #:env-vars `(("MALLOC_PERTURB_" . "1")) + #:substitutable? #f #:local-build? #t #:properties `((type . profile-hook) -- cgit v1.2.3 From 7ff2159b10774fc9a3cb99adcd778aa4693ca9ee Mon Sep 17 00:00:00 2001 From: Rene Saavedra Date: Mon, 27 Apr 2020 23:59:18 -0500 Subject: gnu: balsa: Update to 2.6.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/mail.scm (balsa): Update to 2.6.0. [inputs]: Replace gmime-2.6 with gmime; add libical and libsecret. Signed-off-by: Ludovic Courtès --- gnu/packages/mail.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index cb5e23bcea..2a6286fb16 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -23,7 +23,7 @@ ;;; Copyright © 2017 Thomas Danckaert ;;; Copyright © 2017 Kyle Meyer ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice -;;; Copyright © 2017, 2018 Rene Saavedra +;;; Copyright © 2017, 2018, 2020 Rene Saavedra ;;; Copyright © 2018, 2019, 2020 Pierre Langlois ;;; Copyright © 2018 Alex Vong ;;; Copyright © 2018 Gábor Boskovits @@ -2755,14 +2755,14 @@ (define-public alpine (define-public balsa (package (name "balsa") - (version "2.5.7") + (version "2.6.0") (source (origin (method url-fetch) (uri (string-append "https://pawsa.fedorapeople.org/balsa/" name "-" version ".tar.bz2")) (sha256 - (base32 "0yfqhfpwm1qnwmbpr6dfn2f5w8a8xxq51pn8ypgg0fw973l1c1nx")))) + (base32 "0ycidvgy9npd6avxk88sf2ca609m7zb0hzrk1yajrgwb1rfqx68a")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -2780,7 +2780,7 @@ (define-public balsa `(("cyrus-sasl" ,cyrus-sasl) ("enchant" ,enchant) ("gdk-pixbuf" ,gdk-pixbuf) - ("gmime" ,gmime-2.6) + ("gmime" ,gmime) ("gnutls" ,gnutls) ("gpgme" ,gpgme) ("gtk+" ,gtk+) @@ -2788,7 +2788,9 @@ (define-public balsa ("gtkspell3" ,gtkspell3) ("libcanberra" ,libcanberra) ("libesmtp" ,libesmtp) + ("libical" ,libical) ("libnotify" ,libnotify) + ("libsecret" ,libsecret) ("openldap" ,openldap) ("sqlite" ,sqlite) ("webkitgtk" ,webkitgtk))) -- cgit v1.2.3 From 524e5fe56b602d2ccb1dd2bf5a50a0e6ca397759 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Note Date: Sun, 26 Apr 2020 05:59:48 -0400 Subject: gnu: Add apt-mirror. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/debian.scm (apt-mirror): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/debian.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm index ff4cccb03d..a3bbd2b907 100644 --- a/gnu/packages/debian.scm +++ b/gnu/packages/debian.scm @@ -27,6 +27,7 @@ (define-module (gnu packages debian) #:use-module (gnu packages base) #:use-module (gnu packages compression) #:use-module (gnu packages gnupg) + #:use-module (gnu packages wget) #:use-module (gnu packages perl)) (define-public debian-archive-keyring @@ -190,3 +191,40 @@ (define-public debootstrap It does this by downloading .deb files from a mirror site, and carefully unpacking them into a directory which can eventually be chrooted into.") (license license:gpl2))) + + +(define-public apt-mirror + (let ((commit "e664486a5d8947c2579e16dd793d762ea3de4202") + (revision "1")) + (package + (name "apt-mirror") + (version (git-version "0.5.4" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/apt-mirror/apt-mirror/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0qj6b7gldwcqyfs2kp6amya3ja7s4vrljs08y4zadryfzxf35nqq")))) + (build-system gnu-build-system) + (outputs '("out")) + (arguments + `(#:tests? #f + ;; sysconfdir is not PREFIXed in the makefile but DESTDIR is + ;; honored correctly; we therefore use DESTDIR for our + ;; needs. A more correct fix would involve patching. + #:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out")) + "PREFIX=/") + #:phases (modify-phases %standard-phases (delete 'configure)))) + (inputs + `(("wget" ,wget) + ("perl" ,perl))) + (home-page "http://apt-mirror.github.io/") + (synopsis "Script for mirroring a Debian repository") + (description + "apt-mirror is a small tool that provides the ability to +selectively mirror Debian and Ubuntu GNU/Linux distributions or any +other apt sources typically provided by open source developers.") + (license license:gpl2)))) -- cgit v1.2.3 From 135c1e0e433edc8258b1a7d018258e3ef5919122 Mon Sep 17 00:00:00 2001 From: Brice Waegeneire Date: Thu, 23 Apr 2020 15:55:31 +0200 Subject: gnu: umockdev: Fix test. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/check.scm (umockdev)[inputs]: Remove 'gobject-introspection'. [arguments]: Replace phase 'skip-broken-test' by 'fix-test'. Signed-off-by: Ludovic Courtès --- gnu/packages/check.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 5f3073d556..427607e6de 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -31,6 +31,7 @@ ;;; Copyright © 2019 Pierre Langlois ;;; Copyright © 2019 Chris Marusich ;;; Copyright © 2020 Lars-Dominik Braun +;;; Copyright © 2020 Brice Waegeneire ;;; ;;; This file is part of GNU Guix. ;;; @@ -2436,11 +2437,10 @@ (define-public umockdev (arguments `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'skip-broken-test + (add-after 'unpack 'fix-test (lambda _ (substitute* "tests/test-umockdev.c" - (("/\\* sys/ in other dir") - (string-append "return; // "))) + (("/run") "/tmp")) #t))))) (native-inputs `(("vala" ,vala) @@ -2453,8 +2453,7 @@ (define-public umockdev (inputs `(("glib" ,glib) ("eudev" ,eudev) - ("libgudev" ,libgudev) - ("gobject-introspection" ,gobject-introspection))) + ("libgudev" ,libgudev))) (home-page "https://github.com/martinpitt/umockdev/") (synopsis "Mock hardware devices for creating unit tests") (description "umockdev mocks hardware devices for creating integration -- cgit v1.2.3 From 22df0a1f59e97e4ece7219b12dedabfc8a9a983c Mon Sep 17 00:00:00 2001 From: Brice Waegeneire Date: Thu, 23 Apr 2020 15:55:32 +0200 Subject: gnu: Add libqb. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/hardware.scm (libqb): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/hardware.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index 114332455e..28ebc8c75e 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2020 Brice Waegeneire ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,6 +28,7 @@ (define-module (gnu packages hardware) #:use-module (gnu packages ncurses) #:use-module (gnu packages pkg-config) #:use-module (gnu packages xdisorg) + #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (guix build-system gnu) #:use-module (guix download) @@ -344,3 +346,31 @@ (define-public rkdeveloptool "Rkdeveloptool can read from and write to RockChip devices over USB, such as the Pinebook Pro.") (license license:gpl2+)))) + +(define-public libqb + (package + (name "libqb") + ;; NOTE: We are using a Release Candidate version (for 2.0) here because + ;; of the linker issues with the previous release. + (version "1.9.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/ClusterLabs/libqb/releases/download/v" + version "/libqb-" version ".tar.xz")) + (sha256 + (base32 + "008vvw504kh40br5v2xkqavnp9vpmjvf768faqzv1d00fd53ingn")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("xmllint" ,libxml2))) + (home-page "https://clusterlabs.github.io/libqb/") + (synopsis "Library providing high performance logging, tracing, ipc, and poll") + (description "Libqb is a library with the primary purpose of providing +high-performance, reusable features for client-server architecture, such as +logging, tracing, inter-process communication (IPC), and polling. Libqb is +not intended to be an all-encompassing library, but instead provide focused +APIs that are highly tuned for maximum performance for client-server +applications.") + (license license:lgpl2.1))) -- cgit v1.2.3 From 02ee43e48637dd6308858a4ca4c7a1e91e39c9f1 Mon Sep 17 00:00:00 2001 From: Brice Waegeneire Date: Thu, 23 Apr 2020 15:55:33 +0200 Subject: gnu: Add usbguard. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/hardware.scm (usbguard): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/hardware.scm | 88 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index 28ebc8c75e..ce3f396d0a 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -19,14 +19,22 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages hardware) + #:use-module (gnu packages admin) #:use-module (gnu packages autotools) + #:use-module (gnu packages bash) #:use-module (gnu packages compression) + #:use-module (gnu packages check) + #:use-module (gnu packages crypto) + #:use-module (gnu packages documentation) #:use-module (gnu packages gcc) #:use-module (gnu packages glib) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages ncurses) + #:use-module (gnu packages openldap) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages polkit) + #:use-module (gnu packages protobuf) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) @@ -374,3 +382,83 @@ (define-public libqb APIs that are highly tuned for maximum performance for client-server applications.") (license license:lgpl2.1))) + +(define-public usbguard + (package + (name "usbguard") + (version "0.7.6") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/USBGuard/usbguard/releases/download/usbguard-" + version "/usbguard-" version ".tar.gz")) + (file-name (git-file-name name version)) + (sha256 + (base32 "0gzhs8s4aka86mkcjib36z54si939ki4bmk46p6v8kln1fixad3j")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'configure 'patch-makefile + (lambda _ + ;; Do not create log directory. + (substitute* "Makefile" ((".*/log/usbguard.*") "")) + ;; Disable LDAP tests: they use 'sudo'. + (substitute* "src/Tests/Makefile.am" + (("WITH_LDAP") "FALSE")) + #t)) + (add-after 'install 'delete-static-library + (lambda* (#:key outputs #:allow-other-keys) + ;; It can't be direclty disabled since it's needed for the tests. + (delete-file (string-append (assoc-ref outputs "out") + "/lib/libusbguard.a")) + #t)) + (add-after 'install 'install-zsh-completion + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (site-functions + (string-append out "/share/zsh/site-functions"))) + (mkdir-p site-functions) + (copy-file "scripts/usbguard-zsh-completion" + (string-append site-functions "/_usbguard")) + #t)))) + #:make-flags + (list (string-append "BASH_COMPLETION_DIR=" + (assoc-ref %outputs "out") + "/etc/bash_completion.d")) + #:configure-flags + (list + "--localstatedir=/var" + "--with-bundled-pegtl" + "--enable-systemd=no" + "--with-ldap" + "--with-dbus" + "--with-polkit"))) + (inputs + `(("audit" ,audit) + ("catch" ,catch-framework) + ("dbus-glib" ,dbus-glib) + ("ldap" ,openldap) + ("libcap-ng" ,libcap-ng) + ("libseccomp" ,libseccomp) + ("libsodium" ,libsodium) + ("polkit" ,polkit) + ("protobuf" ,protobuf) + ("libqb" ,libqb))) + (native-inputs + `(("asciidoc" ,asciidoc) + ("autoconf" ,autoconf) + ("automake" ,automake) + ("bash-completion" ,bash-completion) + ("gdbus-codegen" ,glib "bin") + ("umockdev" ,umockdev) + ("xmllint" ,libxml2) + ("xsltproc" ,libxslt) + ("pkg-config" ,pkg-config))) + (home-page "https://usbguard.github.io") + (synopsis "Helps to protect your computer against rogue USB devices (a.k.a. BadUSB)") + (description "USBGuard is a software framework for implementing USB device +authorization policies (what kind of USB devices are authorized) as well as +method of use policies (how a USB device may interact with the system). +Simply put, it is a USB device whitelisting tool.") + (license license:gpl2))) -- cgit v1.2.3 From 65fd3f0ac367747086abb6997f1aa27957c9b65b Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 30 Apr 2020 18:46:56 -0400 Subject: gnu: libmicrodns: Update to 0.1.2 [security fixes]. This fixes CVE-2020-6071, CVE-2020-6072, CVE-2020-6073, CVE-2020-6077, CVE-2020-6078, and CVE-2020-6079. * gnu/packages/dns.scm (libmicrodns): Update to 0.1.2. [source]: Build from a tarball. [build-system]: Use the meson-build-system. [native-inputs]: Remove field. --- gnu/packages/dns.scm | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 86569b5493..15c6c23d70 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2019 Rutger Helling ;;; Copyright © 2020 Pierre Langlois ;;; Copyright © 2020 Arun Isaac +;;; Copyright © 2020 Leo Famulari ;;; ;;; This file is part of GNU Guix. ;;; @@ -878,22 +879,16 @@ (define-public hnsd (define-public libmicrodns (package (name "libmicrodns") - (version "0.0.10") + (version "0.1.2") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/videolabs/libmicrodns") - (commit version))) - (file-name (git-file-name name version)) + (method url-fetch) + (uri (string-append "https://github.com/videolabs/libmicrodns/" + "releases/download/" version "/microdns-" + version ".tar.xz")) (sha256 (base32 - "1xvl9k49ng35wbsqmnjnyqvkyjf8dcq2ywsq3jp3wh0rgmxhq2fh")))) - (build-system gnu-build-system) - (native-inputs - `(("pkg-config" ,pkg-config) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool))) + "0p4va18zxgmzcdwhlbg2mmjwswlbgqy4ay5vaxrw7cxmhsflnv36")))) + (build-system meson-build-system) (home-page "https://github.com/videolabs/libmicrodns") (synopsis "Minimal mDNS resolver library") (description "@code{libmicrodns} provides a minimal implementation of a -- cgit v1.2.3 From 5af110868cf3460da705242370eeb652bd1c5646 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 30 Apr 2020 17:50:16 -0400 Subject: gnu: VLC: Update to 3.0.10. * gnu/packages/patches/vlc-fix-test_libvlc_slaves.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. * gnu/packages/video.scm (vlc): Update to 3.0.10. [source]: Remove obsolete patch. [arguments]: Remove obsolete workarounds for libssh and fribidi compatibility issues in 'patch-source' phase. --- gnu/local.mk | 1 - .../patches/vlc-fix-test_libvlc_slaves.patch | 35 ---------------------- gnu/packages/video.scm | 24 ++------------- 3 files changed, 2 insertions(+), 58 deletions(-) delete mode 100644 gnu/packages/patches/vlc-fix-test_libvlc_slaves.patch diff --git a/gnu/local.mk b/gnu/local.mk index 9426ee30a0..26d26ee215 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1519,7 +1519,6 @@ dist_patch_DATA = \ %D%/packages/patches/vinagre-newer-freerdp.patch \ %D%/packages/patches/vinagre-newer-rdp-parameters.patch \ %D%/packages/patches/virglrenderer-CVE-2017-6386.patch \ - %D%/packages/patches/vlc-fix-test_libvlc_slaves.patch \ %D%/packages/patches/vorbis-tools-CVE-2014-9638+CVE-2014-9639.patch \ %D%/packages/patches/vorbis-tools-CVE-2014-9640.patch \ %D%/packages/patches/vorbis-tools-CVE-2015-6749.patch \ diff --git a/gnu/packages/patches/vlc-fix-test_libvlc_slaves.patch b/gnu/packages/patches/vlc-fix-test_libvlc_slaves.patch deleted file mode 100644 index 9bc6d35f18..0000000000 --- a/gnu/packages/patches/vlc-fix-test_libvlc_slaves.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 4186c94104ee528abd6860611b49515f3e6ec644 Mon Sep 17 00:00:00 2001 -From: Thomas Guillem -Date: Fri, 18 Oct 2019 10:34:07 +0200 -Subject: [PATCH] input/item: sort before attaching slaves - -The order of readdir() is completely filesystem dependent. - -Slaves should be attached using the same order across multiple OSses/access -modules. - -This fixes the test_libvlc_slaves on some system when the entry order from -readdir() is different. - -This patch need to be backported to VLC 3.0. ---- - src/input/item.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/input/item.c b/src/input/item.c -index e8db39ca28..fbd74cc95f 100644 ---- a/src/input/item.c -+++ b/src/input/item.c -@@ -1809,8 +1809,8 @@ void vlc_readdir_helper_finish(struct vlc_readdir_helper *p_rdh, bool b_success) - { - if (b_success) - { -- rdh_attach_slaves(p_rdh, p_rdh->p_node); - rdh_sort(p_rdh->p_node); -+ rdh_attach_slaves(p_rdh, p_rdh->p_node); - } - free(p_rdh->psz_ignored_exts); - --- -2.20.1 - diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index e3d145a840..dbea0afcf6 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1191,7 +1191,7 @@ (define-public ffmpegthumbnailer (define-public vlc (package (name "vlc") - (version "3.0.8") + (version "3.0.10") (source (origin (method url-fetch) (uri (string-append @@ -1200,13 +1200,7 @@ (define-public vlc "/vlc-" version ".tar.xz")) (sha256 (base32 - "1xmxjpyzdhabchwncz6lvx3kzvl7fz9c42bkv3nbj68albs9w570")) - (patches - (search-patches - ;; TODO: The test "libvlc_slaves" fails. Applied upstream as - ;; . - ;; Try removing it in 3.0.9. - "vlc-fix-test_libvlc_slaves.patch")))) + "0cackl1084hcmg4myf3kvjvd6sjxmzn0c0qkmanz6brvgzyanrm9")))) (build-system gnu-build-system) (native-inputs `(("flex" ,flex) @@ -1311,20 +1305,6 @@ (define-public vlc ;; which fails in our sandboxed build system (substitute* "test/run_vlc.sh" (("./vlc --ignore-config") "echo")) - - ;; modules/text_renderer/freetype/text_layout.c uses a - ;; now-deprecated interface 'fribidi_get_par_embedding_levels' - ;; from fribidi.h, so for now we enable the use of deprecated - ;; fribidi interfaces from this file. - ;; FIXME: Try removing this for vlc >= 3.0.3. - (substitute* "modules/text_renderer/freetype/text_layout.c" - (("# define FRIBIDI_NO_DEPRECATED 1") "")) - - ;; Fix build with libssh2 > 1.8.0: - ;; - ;; - (substitute* "modules/access/sftp.c" - (("010801") "010900")) #t))) (add-after 'strip 'regenerate-plugin-cache (lambda* (#:key outputs #:allow-other-keys) -- cgit v1.2.3 From 73ddcab6075f60ef9b3cd72a35fbf7f5d622b6ef Mon Sep 17 00:00:00 2001 From: Florian Pelz Date: Wed, 29 Apr 2020 18:22:48 +0200 Subject: Revert "install: Pass "modprobe.blacklist=radeon"." This reverts commit 785919121066a10b291d783b6903b5e368e992a8, which is no longer needed since uvesafb was added in 557e6820a77b24f8f3f03f28ee473137b1caeb64. --- gnu/system/install.scm | 6 ------ 1 file changed, 6 deletions(-) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index d31ed9a197..8804585215 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -471,12 +471,6 @@ (define installation-os (label (string-append "GNU Guix installation " (package-version guix))) - ;; XXX: The AMD Radeon driver is reportedly broken, which makes kmscon - ;; non-functional: - ;; . - ;; Thus, blacklist it. - (kernel-arguments '("quiet" "modprobe.blacklist=radeon")) - (file-systems ;; Note: the disk image build code overrides this root file system with ;; the appropriate one. -- cgit v1.2.3 From e06664da02a829c7fa8fd084aac47c837451d57a Mon Sep 17 00:00:00 2001 From: Florian Pelz Date: Wed, 29 Apr 2020 17:17:55 +0200 Subject: system: Blacklist usbmouse kernel module in default kernel-arguments. This avoids a race with the bcm5974 kernel module. Fixes . * gnu/system.scm (%default-modprobe-blacklist): New variable. ()[kernel-arguments]: Default to ... (%default-kernel-arguments): ... this new variable. * doc/guix.texi (operating-system Reference): Document the change. --- doc/guix.texi | 2 +- gnu/system.scm | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 26b4652f67..bdae451875 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -11274,7 +11274,7 @@ possible to use the GNU@tie{}Hurd.}. A list of objects (usually packages) to collect loadable kernel modules from--e.g. @code{(list ddcci-driver-linux)}. -@item @code{kernel-arguments} (default: @code{'("quiet")}) +@item @code{kernel-arguments} (default: @code{%default-kernel-arguments}) List of strings or gexps representing additional arguments to pass on the command-line of the kernel---e.g., @code{("console=ttyS0")}. diff --git a/gnu/system.scm b/gnu/system.scm index 3c511f4089..ab6982ef5e 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2019 Meiyo Peng ;;; Copyright © 2020 Danny Milosavljevic ;;; Copyright © 2020 Brice Waegeneire +;;; Copyright © 2020 Florian Pelz ;;; ;;; This file is part of GNU Guix. ;;; @@ -148,7 +149,8 @@ (define-module (gnu system) %base-packages-linux %base-packages-networking %base-packages-utils - %base-firmware)) + %base-firmware + %default-kernel-arguments)) ;;; Commentary: ;;; @@ -179,7 +181,7 @@ (define-record-type* operating-system (kernel-loadable-modules operating-system-kernel-loadable-modules (default '())) ; list of packages (kernel-arguments operating-system-user-kernel-arguments - (default '("quiet"))) ; list of gexps/strings + (default %default-kernel-arguments)) ; list of gexps/strings (bootloader operating-system-bootloader) ; (label operating-system-label ; string (thunked) @@ -488,6 +490,16 @@ (define (package-for-kernel target-kernel module-package) ((#:linux kernel #f) target-kernel))))) +(define %default-modprobe-blacklist + ;; List of kernel modules to blacklist by default. + '("usbmouse")) ;see + +(define %default-kernel-arguments + ;; Default arguments passed to the kernel. + (list (string-append "modprobe.blacklist=" + (string-join %default-modprobe-blacklist ",")) + "quiet")) + (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." -- cgit v1.2.3 From 53e8b852e90ec91e66172ad49f019955d7137eb1 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 30 Apr 2020 09:44:32 -0400 Subject: gnu: spacefm: Fix privilege and disk management. * gnu/packages/lxde.scm (spacefm)[inputs]: Remove dbus. Add ktsuss. [arguments]<#:phases>[patch-source-files]: New phase. Signed-off-by: Danny Milosavljevic --- gnu/packages/lxde.scm | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/gnu/packages/lxde.scm b/gnu/packages/lxde.scm index 9de96a21cb..a52e403106 100644 --- a/gnu/packages/lxde.scm +++ b/gnu/packages/lxde.scm @@ -27,6 +27,7 @@ (define-module (gnu packages lxde) #:use-module (gnu packages) + #:use-module (gnu packages admin) #:use-module (gnu packages autotools) #:use-module (gnu packages bash) #:use-module (gnu packages disk) @@ -279,7 +280,6 @@ (define-public spacefm `(("bash" ,bash) ("cairo" ,cairo) ("curlftpfs" ,curlftpfs) - ("dbus" ,dbus) ("eudev" ,eudev) ("fakeroot" ,fakeroot) ("ffmpegthumbnailer" ,ffmpegthumbnailer) @@ -288,6 +288,7 @@ (define-public spacefm ("gtk+" ,gtk+) ("ifuse" ,ifuse) ("jmtpfs" ,jmtpfs) + ("ktsuss" ,ktsuss) ("libx11" ,libx11) ("lsof" ,lsof) ("pango" ,pango) @@ -297,12 +298,31 @@ (define-public spacefm ("util-linux" ,util-linux) ("wget" ,wget))) (arguments - `(#:configure-flags (list (string-append "--with-bash-path=" - (assoc-ref %build-inputs "bash") - "/bin/bash") - (string-append "--sysconfdir=" - (assoc-ref %outputs "out") - "/etc")))) + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-source-files + (lambda* (#:key inputs #:allow-other-keys) + ;; Patch config file to load programs correctly. + (substitute* "etc/spacefm.conf" + (("#terminal_su=/bin/su") + "terminal_su=/run/setuid-programs/sudo") + (("#graphical_su=/usr/bin/gksu") + (string-append "graphical_su=" + (string-append (assoc-ref inputs "ktsuss") + "/bin/ktsuss")))) + ;; SpaceFM expects udevil to have uid set to root. + ;; User has to manually add udevil to setuid-programs. + (substitute* "src/settings.c" + (("/usr/bin/udevil") + "/run/setuid-programs/udevil")) + #t))) + #:configure-flags (list + (string-append "--with-bash-path=" + (assoc-ref %build-inputs "bash") + "/bin/bash") + (string-append "--sysconfdir=" + (assoc-ref %outputs "out") + "/etc")))) (home-page "https://ignorantguru.github.io/spacefm/") (synopsis "Multi-panel tabbed file manager") (description "SpaceFM is a graphical, multi-panel, tabbed file manager -- cgit v1.2.3 From fd31731b9dd704e5182655783551b94fa80afd88 Mon Sep 17 00:00:00 2001 From: Florian Pelz Date: Fri, 1 May 2020 11:08:07 +0200 Subject: system: Blacklist usbkbd kernel module in default kernel-arguments. This is said to avoid a race with the usbhid kernel module. See . * gnu/system.scm (%default-modprobe-blacklist): Blacklist it. --- gnu/system.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/system.scm b/gnu/system.scm index ab6982ef5e..107b93db31 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -492,7 +492,8 @@ (define (package-for-kernel target-kernel module-package) (define %default-modprobe-blacklist ;; List of kernel modules to blacklist by default. - '("usbmouse")) ;see + '("usbmouse" ;races with bcm5974, see + "usbkbd")) ;races with usbhid, see (define %default-kernel-arguments ;; Default arguments passed to the kernel. -- cgit v1.2.3 From 0f9331e486f645a841e9780a588763fef8f5153c Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 1 May 2020 16:10:15 +0200 Subject: gnu: Update emacs-modus-themes. * gnu/packages/emacs-xyz.scm (emacs-modus-operandi-theme): (emacs-modus-vivendi-theme): Update to 0.8.0. --- gnu/packages/emacs-xyz.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 776dcbb897..52e0b576a5 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -21116,14 +21116,14 @@ (define-public emacs-doom-themes (define-public emacs-modus-operandi-theme (package (name "emacs-modus-operandi-theme") - (version "0.7.0") + (version "0.8.0") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "modus-operandi-theme-" version ".el")) (sha256 - (base32 "17zvcqplbl3rk39k61v43ganzv06j49rlyickanwll5m1a3iibw2")))) + (base32 "09lw556jphrxrmwxkwzfgd4r7ylz99m8awxka4sfj5sa8fbjb3g8")))) (build-system emacs-build-system) (home-page "https://gitlab.com/protesilaos/modus-themes") (synopsis "Accessible light theme (WCAG AAA)") @@ -21137,14 +21137,14 @@ (define-public emacs-modus-operandi-theme (define-public emacs-modus-vivendi-theme (package (name "emacs-modus-vivendi-theme") - (version "0.7.0") + (version "0.8.0") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "modus-vivendi-theme-" version ".el")) (sha256 - (base32 "1w4vrg39dghghkvll3h4kmzykc3zpp6pbychb39gcc13z2b06v8g")))) + (base32 "0hwkzbx7a9scdr589sb7hw90lsm8yxcn3y5xr3bpyxf8rkr2zl4c")))) (build-system emacs-build-system) (home-page "https://gitlab.com/protesilaos/modus-themes") (synopsis "Accessible dark theme (WCAG AAA)") -- cgit v1.2.3 From a978840cb262b66f61693f9ca32dd86bfa871f57 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 1 May 2020 16:14:58 +0200 Subject: gnu: emacs-web-mode: Update to 17. * gnu/packages/emacs-xyz.scm (emacs-web-mode): Update to 17. [description]: "web-mode" -> "web mode". --- gnu/packages/emacs-xyz.scm | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 52e0b576a5..6c09610ce7 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7519,21 +7519,21 @@ (define-public emacs-gitlab-ci-mode (define-public emacs-web-mode (package (name "emacs-web-mode") - (version "16") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/fxbois/web-mode.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "17dw6a8d0p304f2sa4f9zwd8r48w2wbkc3fvbmxwlg4w12h7cwf0")))) + (version "17") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fxbois/web-mode.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0jr5a1nzp8nbdng0k2fcaymiiv9ngrbknbrqaswgqn3akvx793jk")))) (build-system emacs-build-system) (synopsis "Major mode for editing web templates") - (description "Web-mode is an Emacs major mode for editing web templates + (description "Web mode is an Emacs major mode for editing web templates aka HTML files embedding parts (CSS/JavaScript) and blocks (pre rendered by -client/server side engines). Web-mode is compatible with many template +client/server side engines). Web mode is compatible with many template engines: PHP, JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker, Velocity, Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template, Dust.js, React/JSX, Angularjs, ejs, etc.") -- cgit v1.2.3 From a5e4713015f0444951124d88cbd759dec0a43307 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 1 May 2020 16:23:52 +0200 Subject: gnu: fet: Update to 5.44.4. * gnu/packages/education.scm (fet): Update to 5.44.4. [description]: Remove uninformative part. --- gnu/packages/education.scm | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index a1fee29c4e..d6c2cd02c3 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -606,14 +606,14 @@ (define-public omnitux (define-public fet (package (name "fet") - (version "5.44.0") + (version "5.44.4") (source (origin (method url-fetch) (uri (string-append "https://www.lalescu.ro/liviu/fet/download/" "fet-" version ".tar.bz2")) (sha256 - (base32 "13q3b0g1zz885g15gir8fbalvix8sy42v1p429h0751490wq5c3h")))) + (base32 "1bji4910v6adhngdh5ajz5bxam9z3yqnh8d1h1xajy6npm6qq3nx")))) (build-system gnu-build-system) (arguments `(#:phases @@ -632,14 +632,14 @@ (define-public fet `(("qtbase" ,qtbase))) (home-page "https://www.lalescu.ro/liviu/fet/") (synopsis "Timetabling software") - (description "FET is a program for automatically scheduling the -timetable of a school, high-school or university. It uses a fast and -efficient timetabling algorithm. + (description + "FET is a program for automatically scheduling the timetable of a school, +high-school or university. It uses a fast and efficient timetabling +algorithm. -Usually, FET is able to solve a complicated timetable in maximum 5-20 -minutes. For simpler timetables, it may take a shorter time, under -5 minutes (in some cases, a matter of seconds). For extremely -difficult timetables, it may take a longer time, a matter of hours.") +Usually, FET is able to solve a complicated timetable in maximum 5-20 minutes. +For extremely difficult timetables, it may take a longer time, a matter of +hours.") (license license:agpl3+))) (define-public klavaro -- cgit v1.2.3 From 88c586f324114e4c3fa532e4561e12878daed04f Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 1 May 2020 16:37:07 +0200 Subject: gnu: frescobaldi: Update to 3.1.2. * gnu/packages/music.scm (frescobaldi): Update to 3.1.2. --- gnu/packages/music.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 589f158afe..8e644288d5 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2035,7 +2035,7 @@ (define-public python-pyportmidi (define-public frescobaldi (package (name "frescobaldi") - (version "3.1.1") + (version "3.1.2") (source (origin (method url-fetch) @@ -2043,7 +2043,7 @@ (define-public frescobaldi "https://github.com/wbsoft/frescobaldi/releases/download/v" version "/frescobaldi-" version ".tar.gz")) (sha256 - (base32 "0kfwvgygx2ds01w8g7vzykfrajglmr2brchk9d67ahzijpgvfkj5")))) + (base32 "084vxzvxnxl5rrhllincnh6krsyi03c8p0452ppzmn9c52wgyb2w")))) (build-system python-build-system) (arguments `(#:tests? #f)) ;no tests included -- cgit v1.2.3 From 3e2d65aecbace2e23cc84f72dda9c007d745f291 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 1 May 2020 16:37:32 +0200 Subject: gnu: frescobaldi: Use HTTPS home page URI. * gnu/packages/music.scm (frescobaldi)[home-page]: Use HTTPS URI. --- gnu/packages/music.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 8e644288d5..7e8f5e581e 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2056,7 +2056,7 @@ (define-public frescobaldi ("python-pyportmidi" ,python-pyportmidi) ("python-pyqt" ,python-pyqt) ("python-sip" ,python-sip))) - (home-page "http://www.frescobaldi.org/") + (home-page "https://www.frescobaldi.org/") (synopsis "LilyPond sheet music text editor") (description "Frescobaldi is a LilyPond sheet music text editor with syntax -- cgit v1.2.3 From 8546f4da5b3677001dbda6b3a116f5bdc44ea5c0 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Tue, 28 Apr 2020 02:29:36 -0400 Subject: gnu: udevil: Fix loading of setuid-programs. * gnu/packages/disk.scm (udevil)[arguments]<#:configure-flags>: Add "--with-mount-prog", "--with-umount-prog", "--with-losetup-prog", "--with-setfacl-prog". [arguments]<#:phases>[patch-udevil-reference]: New phase. Signed-off-by: Danny Milosavljevic --- gnu/packages/disk.scm | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index b7d3b9d954..2b9ba8e38d 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -103,16 +103,34 @@ (define-public udevil (build-system gnu-build-system) (arguments `(#:configure-flags - (list "--disable-systemd" - (string-append "--sysconfdir=" - (assoc-ref %outputs "out") - "/etc")) + (list + "--disable-systemd" + (string-append "--sysconfdir=" + (assoc-ref %outputs "out") + "/etc") + ;; udevil expects these programs to be run with uid set as root. + ;; user has to manually add these programs to setuid-programs. + ;; mount and umount are default setuid-programs in guix system. + "--with-mount-prog=/run/setuid-programs/mount" + "--with-umount-prog=/run/setuid-programs/umount" + "--with-losetup-prog=/run/setuid-programs/losetup" + "--with-setfacl-prog=/run/setuid-programs/setfacl") #:phases (modify-phases %standard-phases (add-after 'unpack 'remove-root-reference (lambda _ (substitute* "src/Makefile.in" (("-o root -g root") "")) + #t)) + (add-after 'unpack 'patch-udevil-reference + ;; udevil expects itself to be run with uid set as root. + ;; devmon also expects udevil to be run with uid set as root. + ;; user has to manually add udevil to setuid-programs. + (lambda _ + (substitute* "src/udevil.c" + (("/usr/bin/udevil") "/run/setuid-programs/udevil")) + (substitute* "src/devmon" + (("`which udevil 2>/dev/null`") "/run/setuid-programs/udevil")) #t))))) (native-inputs `(("intltool" ,intltool) -- cgit v1.2.3 From c316b8569229fd03b571214493c3f12f754e3ac8 Mon Sep 17 00:00:00 2001 From: Brice Waegeneire Date: Fri, 1 May 2020 16:22:54 +0200 Subject: doc: Replace section 'Early OOM service' by 'Linux Services'. * doc/guix.texi (Linux Services): Changed from 'subsubheading' to 'subsection'. (Early OOM Service, Kernel Module Loader Service): Moved under 'Linux Services'. Signed-off-by: Mathieu Othacehe --- doc/guix.texi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index bdae451875..4868cf479e 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -25491,13 +25491,13 @@ Extra command line options for @code{guix-data-service-process-jobs}. @end deftp @node Linux Services -@subsubheading Linux Services +@subsection Linux Services @cindex oom @cindex out of memory killer @cindex earlyoom @cindex early out of memory daemon -@subsection Early OOM Service +@subsubheading Early OOM Service @uref{https://github.com/rfjakob/earlyoom,Early OOM}, also known as Earlyoom, is a minimalist out of memory (OOM) daemon that runs in user @@ -25557,7 +25557,7 @@ notifications. @cindex modprobe @cindex kernel module loader -@subsubsection Kernel Module Loader Service +@subsubheading Kernel Module Loader Service The kernel module loader service allows one to load loadable kernel modules at boot. This is especially useful for modules that don't -- cgit v1.2.3 From dc6eec77a55a69a4fb1947978a0e4afc6e8205c7 Mon Sep 17 00:00:00 2001 From: Brice Waegeneire Date: Fri, 1 May 2020 16:22:55 +0200 Subject: doc: Move 'Dictionary Service' under 'Miscellaneous Services'. * doc/guix.texi (Dictionary Service): Renamed to singular and changed from 'subsubsection' to 'subheading'. Signed-off-by: Mathieu Othacehe --- doc/guix.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 4868cf479e..c571010bc8 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -25733,7 +25733,7 @@ If true, this must be the name of a file to log messages to. @end table @end deftp -@subsection Dictionary Services +@subsubheading Dictionary Service @cindex dictionary The @code{(gnu services dict)} module provides the following service: -- cgit v1.2.3 From 5bd2d42e8e864e067e4b0e5c16812eb6edb5f74a Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 1 May 2020 16:42:53 +0200 Subject: gnu: scintilla: Update to 4.3.3. * gnu/packages/text-editors.scm (scintilla): Update to 4.3.3. --- gnu/packages/text-editors.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index f2f675d148..072760ee10 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -757,14 +757,14 @@ (define-public texmacs (define-public scintilla (package (name "scintilla") - (version "4.3.2") + (version "4.3.3") (source (origin (method url-fetch) (uri (let ((v (apply string-append (string-split version #\.)))) (string-append "https://www.scintilla.org/scintilla" v ".tgz"))) (sha256 - (base32 "0d8ssl0d8r6bslbzd507l9c5g8mwn1zriak3fnf85936pdmkhq9h")))) + (base32 "0zh8c19r1zd4kr9jg2ws0n2n5ic2siz5zbns6cvylyfbpf69ghy2")))) (build-system gnu-build-system) (arguments `(#:make-flags (list "GTK3=1" "CC=gcc" "-Cgtk") -- cgit v1.2.3 From ee75b46fb441bdce88cdd38fad390840207948d0 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 1 May 2020 14:02:27 +0200 Subject: gnu: five-or-more: Update to 3.32.2. * gnu/packages/gnome.scm (five-or-more): Update to 3.32.2. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index e6b1942450..2f581870bf 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3799,7 +3799,7 @@ (define-public libsecret (define-public five-or-more (package (name "five-or-more") - (version "3.32.1") + (version "3.32.2") (source (origin (method url-fetch) @@ -3807,7 +3807,7 @@ (define-public five-or-more (version-major+minor version) "/" "five-or-more-" version ".tar.xz")) (sha256 - (base32 "0xw05dd2dwi9vsph9h158b4n89s5k07xrh6bjz1icm0pdmjwhpgk")))) + (base32 "19pf8wzbf3ciqf2k4bj9sddvyhckfd62x86pnqr6s8h4vn9jc6ii")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t -- cgit v1.2.3 From 4b50aaade4ef34327dbfd4412ee36ee5cc23bc10 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 1 May 2020 14:02:43 +0200 Subject: gnu: crispy-doom: Update to 5.8.0. * gnu/packages/games.scm (crispy-doom): Update to 5.8.0. --- gnu/packages/games.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 10b3a072b9..62fb167b70 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -6191,7 +6191,7 @@ (define-public crispy-doom (package (inherit chocolate-doom) (name "crispy-doom") - (version "5.7.2") + (version "5.8.0") (source (origin (method git-fetch) (uri (git-reference @@ -6199,7 +6199,7 @@ (define-public crispy-doom (commit (string-append "crispy-doom-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "002aqbgsksrgzqridwdlkrjincaxh0dkvwlrbb8d2f3kwk7lj4fq")))) + (base32 "1b6gn0dysv631jynh769whww9xcss1gms78sz3nrn855q1dsvcb4")))) (native-inputs (append (package-native-inputs chocolate-doom) -- cgit v1.2.3 From 53b9cdd58eb1a098dce4fec0161d54f22f1c500a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 1 May 2020 14:18:52 +0200 Subject: gnu: teeworlds: Update to 0.7.5. * gnu/packages/games.scm (teeworlds): Update to 0.7.5. --- gnu/packages/games.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 62fb167b70..7fed4dee6c 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -4865,7 +4865,7 @@ (define-public kiki (define-public teeworlds (package (name "teeworlds") - (version "0.7.4") + (version "0.7.5") (source (origin (method git-fetch) (uri (git-reference @@ -4874,7 +4874,7 @@ (define-public teeworlds (file-name (git-file-name name version)) (sha256 (base32 - "1lxdb1k2cdj2421vyz1z0ximzfnpkh2y4y84zpn2gqsa1nzwbryb")) + "169dl83q08zl4h813az8hjs4rs3dms9yjn6bnsld4fjcj0imvvc6")) (modules '((guix build utils) (ice-9 ftw) (ice-9 regex) -- cgit v1.2.3 From ebf6431b9b3957b68c77d510f73bd3853e6623c0 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 1 May 2020 14:19:03 +0200 Subject: gnu: scummvm: Update to 2.1.2. * gnu/packages/emulators.scm (scummvm): Update to 2.1.2. --- gnu/packages/emulators.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 58d6c73ee2..85e2016e49 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -1204,14 +1204,14 @@ (define-public retroarch (define-public scummvm (package (name "scummvm") - (version "2.1.1") + (version "2.1.2") (source (origin (method url-fetch) (uri (string-append "http://www.scummvm.org/frs/scummvm/" version "/scummvm-" version ".tar.xz")) (sha256 - (base32 "1a6waf1ybp91nwva8g650cljlfb1di4l0jv13vg6yfgkas9pclsp")))) + (base32 "1c4fz1nfg0nqnqx9iipayhzcsiqdmfxm2i95nw9dbhshhsdnrhf4")))) (build-system gnu-build-system) (arguments `(#:tests? #f ;require "git" -- cgit v1.2.3 From eeec9973bca4ce79e848a30979223f920dbfc7d6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 1 May 2020 16:31:57 +0200 Subject: gnu: quazip: Update to 0.9. * gnu/packages/compression.scm (quazip): Update to 0.9. --- gnu/packages/compression.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 85f802a069..a1c5bbf8c2 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1947,7 +1947,7 @@ (define-public upx (define-public quazip (package (name "quazip") - (version "0.8.1") + (version "0.9") (source (origin (method git-fetch) (uri (git-reference @@ -1956,7 +1956,7 @@ (define-public quazip (file-name (git-file-name name version)) (sha256 (base32 - "1g473gnsbkvxpsv8lbsmhspn7jnq86b05zzgqh11r581v8ndvz5s")))) + "0psvf3d9akyyx3bckc9325nmbp97xiagf8la4vhca5xn2f430fbn")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ;no test -- cgit v1.2.3 From 7e5c7677056610fa45dde7415ccbf07525d00e79 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 1 May 2020 16:19:24 +0200 Subject: gnu: serd: Update to 0.30.4. * gnu/packages/rdf.scm (serd): Update to 0.30.4. --- gnu/packages/rdf.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index 089e31b252..df15593d5d 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -267,14 +267,14 @@ (define-public redland (define-public serd (package (name "serd") - (version "0.30.2") + (version "0.30.4") (source (origin (method url-fetch) (uri (string-append "https://download.drobilla.net/serd-" version ".tar.bz2")) (sha256 (base32 - "00kjjgs5a8r72khgpya14scvl3n58wqwl5927y14z03j25q04ccx")))) + "168rn3m32c59qbar120f83ibcnnd987ij9p053kybgl7cmm6358c")))) (build-system waf-build-system) (arguments `(#:tests? #f ; no check target -- cgit v1.2.3 From 7dfc7c5398c16bdf27acf260c71f905d13bb3a9c Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Fri, 1 May 2020 12:45:03 -0400 Subject: gnu: xfe: Fix configuration and icons. * gnu/packages/disk.scm (xfe)[arguments]<#:make-flags>: Remove BASH_COMPLETION_DIR. [arguments]<#:phases>[patch-xferc-path]: Remove phase. [arguments]<#:phases>[patch-xfe-paths]: New phase. Signed-off-by: Danny Milosavljevic --- gnu/packages/disk.scm | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 2b9ba8e38d..f557c57749 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -936,8 +936,7 @@ (define-public xfe (method url-fetch) (uri (string-append "https://sourceforge.net/projects/xfe/files/xfe/" - version - "/xfe-" version ".tar.gz")) + version "/xfe-" version ".tar.gz")) (sha256 (base32 "1fl51k5jm2vrfc2g66agbikzirmp0yb0lqhmsssixfb4mky3hpzs")))) (build-system gnu-build-system) @@ -955,20 +954,32 @@ (define-public xfe (arguments `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-xferc-path + (add-after 'unpack 'patch-xfe-paths (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (xferc (string-append out "/share/xfe/xferc"))) + (let* + ((out (assoc-ref outputs "out")) + (share (string-append out "/share")) + (xferc (string-append out "/share/xfe/xferc")) + (xfe-theme (string-append out "/share/xfe/icons/xfe-theme"))) + ;; Correct path for xfe registry. + (substitute* "src/foxhacks.cpp" + (("/etc:/usr/share:/usr/local/share") share)) + ;; Correct path for xfe configuration. (substitute* "src/XFileExplorer.cpp" - (("/usr/share/xfe/xferc") xferc)) - #t)))) - #:make-flags - (let ((out (assoc-ref %outputs "out"))) - (list (string-append "BASH_COMPLETION_DIR=" out - "/share/bash-completion/completions"))))) + (("/usr/share/xfe/xferc") xferc) + (("/usr/local/share/xfe/xferc") xferc) + (("/opt/local/share/xfe/xferc") xferc)) + ;; Correct path for xfe icons. + (substitute* "src/xfedefs.h" + (((string-append + "~/.config/xfe/icons/xfe-theme:" + "/usr/local/share/xfe/icons/xfe-theme:" + "/usr/share/xfe/icons/xfe-theme")) + xfe-theme)) + #t)))))) (synopsis "File Manager for X-Based Graphical Systems") (description"XFE (X File Explorer) is a file manager for X. It is based on the popular but discontinued, X Win Commander. It aims to be the file manager of choice for all light thinking Unix addicts!") (home-page "http://roland65.free.fr/xfe/") - (license license:gpl2+))) + (license license:gpl2+))) \ No newline at end of file -- cgit v1.2.3 From ee2649e1351a77f413971bcfc5dd2e7caec4c99e Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 1 May 2020 22:12:22 +0200 Subject: gnu: emacs-emms: Update to 5.4. * gnu/packages/emacs-xyz.scm (emacs-emms): Update to 5.4. --- gnu/packages/emacs-xyz.scm | 53 +++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 27 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 6c09610ce7..43d1893a6c 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -1322,33 +1322,32 @@ (define-public emacs-eww-lnum (define-public emacs-emms (package (name "emacs-emms") - (version "5.3") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/emms/emms-" - version ".tar.gz")) - (sha256 - (base32 - "00hnv7jjgb2simgrf7gf2y1cyg2syk7kj1hkbac146hlgxk8ngj1")) - (modules '((guix build utils))) - (snippet - '(begin - (substitute* "Makefile" - (("/usr/bin/install-info") - ;; No need to use 'install-info' since it would create a - ;; useless 'dir' file. - "true") - (("^INFODIR=.*") - ;; Install Info files to $out/share/info, not $out/info. - "INFODIR := $(PREFIX)/share/info\n") - (("/site-lisp/emms") - ;; Install directly in share/emacs/site-lisp, not in a - ;; sub-directory. - "/site-lisp") - (("^all: (.*)\n" _ rest) - ;; Build 'emms-print-metadata'. - (string-append "all: " rest " emms-print-metadata\n"))) - #t)))) + (version "5.4") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/emms/emms-" version ".tar.gz")) + (sha256 + (base32 "1nd7sb6pva7qb1ki6w0zhd6zvqzd7742kaqi0f3v4as5jh09l6nr")) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* "Makefile" + (("/usr/bin/install-info") + ;; No need to use 'install-info' since it would create a + ;; useless 'dir' file. + "true") + (("^INFODIR=.*") + ;; Install Info files to $out/share/info, not $out/info. + "INFODIR := $(PREFIX)/share/info\n") + (("/site-lisp/emms") + ;; Install directly in share/emacs/site-lisp, not in a + ;; sub-directory. + "/site-lisp") + (("^all: (.*)\n" _ rest) + ;; Build 'emms-print-metadata'. + (string-append "all: " rest " emms-print-metadata\n"))) + #t)))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) -- cgit v1.2.3 From 26e11cffb983604c813064343e41708b99072e4f Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 1 May 2020 22:19:43 +0200 Subject: gnu: xfe: Use a mirror:// URL. * gnu/packages/disk.scm (xfe)[source]: Use a mirror://sourceforge URL. --- gnu/packages/disk.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index f557c57749..484126a3ea 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -935,8 +935,8 @@ (define-public xfe (origin (method url-fetch) (uri - (string-append "https://sourceforge.net/projects/xfe/files/xfe/" - version "/xfe-" version ".tar.gz")) + (string-append "mirror://sourceforge/xfe/xfe/" version "/" + "xfe-" version ".tar.gz")) (sha256 (base32 "1fl51k5jm2vrfc2g66agbikzirmp0yb0lqhmsssixfb4mky3hpzs")))) (build-system gnu-build-system) @@ -982,4 +982,4 @@ (define-public xfe the popular but discontinued, X Win Commander. It aims to be the file manager of choice for all light thinking Unix addicts!") (home-page "http://roland65.free.fr/xfe/") - (license license:gpl2+))) \ No newline at end of file + (license license:gpl2+))) -- cgit v1.2.3 From 934f0b32cfacd0bc05e79e54ffbc3bc253a0eb2d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 1 May 2020 20:36:09 +0200 Subject: gnu: icu4c: Update source URI. The previous URL started serving a HTML page, which ultimately refers to . Reported by butterypancake on #guix. * gnu/packages/icu4c.scm (icu4c)[source](uri): Change to GitHub. --- gnu/packages/icu4c.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm index beeb2d7ff4..2014813466 100644 --- a/gnu/packages/icu4c.scm +++ b/gnu/packages/icu4c.scm @@ -61,8 +61,8 @@ (define-public icu4c (source (origin (method url-fetch) (uri (string-append - "http://download.icu-project.org/files/icu4c/" - version + "https://github.com/unicode-org/icu/releases/download/release-" + (string-map (lambda (x) (if (char=? x #\.) #\- x)) version) "/icu4c-" (string-map (lambda (x) (if (char=? x #\.) #\_ x)) version) "-src.tgz")) -- cgit v1.2.3 From ecd56cd1b223733c3ec04043fec245acf4c1cdb8 Mon Sep 17 00:00:00 2001 From: Jonathan Frederickson Date: Thu, 30 Apr 2020 20:58:01 -0400 Subject: gnu: Add ladspa-bs2b * gnu/packages/audio.scm (ladspa-bs2b): New variable. Signed-off-by: Leo Famulari --- gnu/packages/audio.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index e2e276723b..f518fb7f21 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -30,6 +30,7 @@ ;;; Copyright © 2019 Nicolas Goaziou ;;; Copyright © 2020 Vincent Legoll ;;; Copyright © 2020 Guillaume Le Vaillant +;;; Copyright © 2020 Jonathan Frederickson ;;; ;;; This file is part of GNU Guix. ;;; @@ -1855,6 +1856,31 @@ (define-public libbs2b essential distortions.") (license license:expat))) +(define-public ladspa-bs2b + (package + (name "ladspa-bs2b") + (version "0.9.1") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/bs2b/plugins/LADSPA%20plugin/" + version "/" name "-" version ".tar.gz")) + (sha256 + (base32 + "1b4aipbj1ba5k99gbc7gmgy14sywyrjd8rpyqj5l905j0mjv8jg2")))) + (build-system gnu-build-system) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs `(("ladspa" ,ladspa) + ("libbs2b" ,libbs2b))) + (home-page "https://sourceforge.net/projects/bs2b/") + (synopsis "Bauer stereophonic-to-binaural DSP - LADSPA plugin") + (description "The Bauer stereophonic-to-binaural DSP (bs2b) library and +plugins is designed to improve headphone listening of stereo audio records. +Recommended for headphone prolonged listening to disable superstereo fatigue +without essential distortions. This package contains a LADSPA plugin for use +with applications that support them (e.g. PulseAudio).") + (license license:gpl2+))) + (define-public liblo (package (name "liblo") -- cgit v1.2.3 From 9dbcc8d0d52c6ed69cdeed7d7307d0d134febac1 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 2 May 2020 02:19:16 +0200 Subject: gnu: emacs-parsebib: Update to 2.3.3. * gnu/packages/emacs-xyz.scm (emacs-parsebib): Update to 2.3.3. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 43d1893a6c..657abd036a 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -13255,7 +13255,7 @@ (define-public emacs-org-auto-expand (define-public emacs-parsebib (package (name "emacs-parsebib") - (version "2.3.1") + (version "2.3.3") (source (origin (method git-fetch) @@ -13264,7 +13264,7 @@ (define-public emacs-parsebib (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1bnqnxkb9dnl0fjrrjx0xn9jsqki2h8ygw3d5dm4bl79smah3qkh")))) + (base32 "0mpgyy9qfb5x4fvlmb274hgayjbwf0bgk65dxyx31zikjwpcd56p")))) (build-system emacs-build-system) (home-page "https://github.com/joostkremers/parsebib") (synopsis "Library for parsing bib files") -- cgit v1.2.3 From 2e775ecc230bb73d1cde08ae0a6d60b6f54e6710 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 2 May 2020 02:19:59 +0200 Subject: gnu: emacs-ebib: Update to 2.22.1. * gnu/packages/emacs-xyz.scm (emacs-ebib): Update to 2.22.1. --- gnu/packages/emacs-xyz.scm | 50 ++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 657abd036a..313fe01770 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -13273,36 +13273,34 @@ (define-public emacs-parsebib (license license:gpl3+))) (define-public emacs-ebib - (let ((commit "99bd909f47f71e024ce324981109b73a50e82fba")) - (package - (name "emacs-ebib") - (version "2.21") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/joostkremers/ebib.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "131vgl4d1j9s4055x88409w19q52x2m0x08b961hylp7yb5ljzgh")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-parsebib" ,emacs-parsebib))) - (home-page "https://joostkremers.github.io/ebib/") - (synopsis "BibTeX database manager for Emacs") - (description - "Ebib is a BibTeX database manager that runs in GNU Emacs. + (package + (name "emacs-ebib") + (version "2.22.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/joostkremers/ebib.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0spiz5r2y4pdpyc4d3f9w228giq0j9rm8f5h5akzn5rwiq9pfkwz")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-parsebib" ,emacs-parsebib))) + (home-page "https://joostkremers.github.io/ebib/") + (synopsis "BibTeX database manager for Emacs") + (description + "Ebib is a BibTeX database manager that runs in GNU Emacs. With Ebib you can create, sort and manage your .bib database files, all within Emacs. It supports searching, multi-line field values and @@String and @@Preamble definitions. Ebib integrates with (La)TeX mode, Org mode and other Emacs editing modes.") - ;; The Ebib source files are released under a BSD license with - ;; the exception of org-ebib.el, which is released under the GNU - ;; GPL. - (license (list license:bsd-3 - license:gpl3+))))) + ;; The Ebib source files are released under a BSD license with + ;; the exception of org-ebib.el, which is released under the GNU + ;; GPL. + (license (list license:bsd-3 + license:gpl3+)))) (define-public emacs-biblio (package -- cgit v1.2.3 From b8642c5500ec311347dff865dc82e6daae40812a Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 2 May 2020 02:26:21 +0200 Subject: gnu: emacs-ebib: Add Texinfo markup in description. * gnu/packages/emacs-xyz.scm (emacs-ebib)[description]: Add Texinfo markup. --- gnu/packages/emacs-xyz.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 313fe01770..c740c458ac 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -13292,10 +13292,10 @@ (define-public emacs-ebib (synopsis "BibTeX database manager for Emacs") (description "Ebib is a BibTeX database manager that runs in GNU Emacs. -With Ebib you can create, sort and manage your .bib database files, -all within Emacs. It supports searching, multi-line field values and -@@String and @@Preamble definitions. Ebib integrates with (La)TeX -mode, Org mode and other Emacs editing modes.") +With Ebib you can create, sort and manage your @file{.bib} database files, all +within Emacs. It supports searching, multi-line field values and +@samp{@@String} and @samp{@@Preamble} definitions. Ebib integrates +with (La)TeX mode, Org mode and other Emacs editing modes.") ;; The Ebib source files are released under a BSD license with ;; the exception of org-ebib.el, which is released under the GNU ;; GPL. -- cgit v1.2.3 From 7e2e37edc26d7b369a041d4e8b3e187638078e36 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 2 May 2020 02:27:44 +0200 Subject: gnu: emacs-parsebib: Add Texinfo markup. * gnu/packages/emacs-xyz.scm (emacs-parsebib) [synopsis]: [description]: Add Texinfo markup. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index c740c458ac..24cd01a513 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -13267,9 +13267,9 @@ (define-public emacs-parsebib (base32 "0mpgyy9qfb5x4fvlmb274hgayjbwf0bgk65dxyx31zikjwpcd56p")))) (build-system emacs-build-system) (home-page "https://github.com/joostkremers/parsebib") - (synopsis "Library for parsing bib files") + (synopsis "Library for parsing @file{.bib} files") (description - "This package provides an Emacs library for parsing bib files.") + "This package provides an Emacs library for parsing @file{.bib} files.") (license license:gpl3+))) (define-public emacs-ebib -- cgit v1.2.3 From f2531a254f7133b343034aa2c66fe14e518c45b8 Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Fri, 1 May 2020 18:40:02 -0400 Subject: gnu: git-annex: Update to 8.20200501. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell-apps.scm (git-annex): Update to 8.20200501. Signed-off-by: 宋文武 --- gnu/packages/haskell-apps.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index d12d113945..4785ebaca3 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -341,14 +341,14 @@ (define-public ghcid (define-public git-annex (package (name "git-annex") - (version "8.20200330") + (version "8.20200501") (source (origin (method url-fetch) (uri (string-append "https://hackage.haskell.org/package/" "git-annex/git-annex-" version ".tar.gz")) (sha256 - (base32 "0xy0ld7kr4cfdl4g4yzvrzl5r60dcj33cxm28a4qz6nqm2yhd4sv")))) + (base32 "19rggaymvqy7r61n2rl2nigwdi2hzq5l1afcd5l0k1vbacwgq4jl")))) (build-system haskell-build-system) (arguments `(#:configure-flags -- cgit v1.2.3 From 5a0b78e62bc3122998990cea5ee17bdb2789aada Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Fri, 10 Apr 2020 17:00:47 +0100 Subject: services: dnsmasq: Support the --address flag. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Introduce a new `addresses' field that translates to passing `--address=' multiple times to dnsmasq. * gnu/services/dns.scm (): Add an addresses field. (dnsmasq-shepherd-service): Match the addresses field and translate it to multiple '--address=' flags. * doc/guix.texi (DNS Services): Document it. Signed-off-by: 宋文武 --- doc/guix.texi | 20 ++++++++++++++++++++ gnu/services/dns.scm | 7 ++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index c571010bc8..d5d8662937 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -78,6 +78,7 @@ Copyright @copyright{} 2020 Jack Hill@* Copyright @copyright{} 2020 Naga Malleswari@* Copyright @copyright{} 2020 Brice Waegeneire@* Copyright @copyright{} 2020 R Veera Kumar@* +Copyright @copyright{} 2020 Pierre Langlois@* Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -21874,6 +21875,25 @@ When true, don't read @var{resolv-file}. @item @code{servers} (default: @code{'()}) Specify IP address of upstream servers directly. +@item @code{addresses} (default: @code{'()}) +For each entry, specify an IP address to return for any host in the +given domains. Queries in the domains are never forwarded and always +replied to with the specified IP address. + +This is useful for redirecting hosts locally, for example: + +@lisp +(service dnsmasq-service-type + (dnsmasq-configuration + (addresses + '(; Redirect to a local web-server. + "/example.org/127.0.0.1" + ; Redirect subdomain to a specific IP. + "/subdomain.example.org/192.168.1.42")))) +@end lisp + +Note that rules in @file{/etc/hosts} take precedence over this. + @item @code{cache-size} (default: @code{150}) Set the size of dnsmasq's cache. Setting the cache size to zero disables caching. diff --git a/gnu/services/dns.scm b/gnu/services/dns.scm index a07946d085..478c837d13 100644 --- a/gnu/services/dns.scm +++ b/gnu/services/dns.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Julien Lepiller ;;; Copyright © 2018 Oleg Pykhalov +;;; Copyright © 2020 Pierre Langlois ;;; ;;; This file is part of GNU Guix. ;;; @@ -748,6 +749,8 @@ (define-record-type* (default #f)) ;boolean (servers dnsmasq-configuration-servers (default '())) ;list of string + (addresses dnsmasq-configuration-addresses + (default '())) ;list of string (cache-size dnsmasq-configuration-cache-size (default 150)) ;integer (negative-cache? dnsmasq-configuration-negative-cache? @@ -759,7 +762,7 @@ (define dnsmasq-shepherd-service no-hosts? port local-service? listen-addresses resolv-file no-resolv? servers - cache-size negative-cache?) + addresses cache-size negative-cache?) (shepherd-service (provision '(dnsmasq)) (requirement '(networking)) @@ -783,6 +786,8 @@ (define dnsmasq-shepherd-service '()) #$@(map (cut format #f "--server=~a" <>) servers) + #$@(map (cut format #f "--address=~a" <>) + addresses) #$(format #f "--cache-size=~a" cache-size) #$@(if negative-cache? '() -- cgit v1.2.3 From 23b37c3d40d497cc6f07437ab26ab10e60fb6e09 Mon Sep 17 00:00:00 2001 From: raingloom Date: Fri, 3 Apr 2020 02:32:23 +0200 Subject: file-systems: Add support for F2FS. * gnu/build/file-systems.scm (%f2fs-endianness): New syntax. (f2fs-superblock?, read-f2fs-superblock, f2fs-superblock-uuid) (f2fs-superblock-volume-name, check-f2fs-file-system): New procedures. (%partition-label-readers, %partition-uuid-readers, check-file-system): Register them. Signed-off-by: Danny Milosavljevic --- gnu/build/file-systems.scm | 61 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 59 insertions(+), 2 deletions(-) diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm index 902563b219..bbea4c766e 100644 --- a/gnu/build/file-systems.scm +++ b/gnu/build/file-systems.scm @@ -336,6 +336,58 @@ (define (check-jfs-file-system device) (2 'reboot-required) (_ 'fatal-error))) + +;;; +;;; F2FS (Flash-Friendly File System) +;;; + +;;; https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git/tree/include/linux/f2fs_fs.h +;;; (but using xxd proved to be simpler) + +(define-syntax %f2fs-endianness + ;; Endianness of F2FS file systems + (identifier-syntax (endianness little))) + +;; F2FS actually stores two adjacent copies of the superblock. +;; should we read both? +(define (f2fs-superblock? sblock) + "Return #t when SBLOCK is an F2FS superblock." + (let ((magic (bytevector-u32-ref sblock 0 %f2fs-endianness))) + (= magic #xF2F52010))) + +(define (read-f2fs-superblock device) + "Return the raw contents of DEVICE's F2FS superblock as a bytevector, or #f +if DEVICE does not contain an F2FS file system." + (read-superblock device + ;; offset of magic in first copy + #x400 + ;; difference between magic of second + ;; and first copies + (- #x1400 #x400) + f2fs-superblock?)) + +(define (f2fs-superblock-uuid sblock) + "Return the UUID of F2FS superblock SBLOCK as a 16-byte bytevector." + (sub-bytevector sblock + (- (+ #x460 12) + ;; subtract superblock offset + #x400) + 16)) + +(define (f2fs-superblock-volume-name sblock) + "Return the volume name of SBLOCK as a string of at most 512 characters, or +#f if SBLOCK has no volume name." + (utf16->string (sub-bytevector sblock (- (+ #x470 12) #x400) 512) %f2fs-endianness)) + +(define (check-f2fs-file-system device) + "Return the health of a F2FS file system on DEVICE." + (match (status:exit-val + (system* "fsck.f2fs" "-p" device)) + ;; 0 and -1 are the only two possibilities + ;; (according to the manpage) + (0 'pass) + (_ 'fatal-error))) + ;;; ;;; LUKS encrypted devices. @@ -472,7 +524,9 @@ (define %partition-label-readers (partition-field-reader read-fat16-superblock fat16-superblock-volume-name) (partition-field-reader read-jfs-superblock - jfs-superblock-volume-name))) + jfs-superblock-volume-name) + (partition-field-reader read-f2fs-superblock + f2fs-superblock-volume-name))) (define %partition-uuid-readers (list (partition-field-reader read-iso9660-superblock @@ -486,7 +540,9 @@ (define %partition-uuid-readers (partition-field-reader read-fat16-superblock fat16-superblock-uuid) (partition-field-reader read-jfs-superblock - jfs-superblock-uuid))) + jfs-superblock-uuid) + (partition-field-reader read-f2fs-superblock + f2fs-superblock-uuid))) (define read-partition-label (cut read-partition-field <> %partition-label-readers)) @@ -582,6 +638,7 @@ (define check-procedure ((string-prefix? "btrfs" type) check-btrfs-file-system) ((string-suffix? "fat" type) check-fat-file-system) ((string-prefix? "jfs" type) check-jfs-file-system) + ((string-prefix? "f2fs" type) check-f2fs-file-system) ((string-prefix? "nfs" type) (const 'pass)) (else #f))) -- cgit v1.2.3 From 27efeef3068bfa21011ea509e21efcbe8c353b5f Mon Sep 17 00:00:00 2001 From: raingloom Date: Fri, 3 Apr 2020 07:00:41 +0200 Subject: linux-initrd: Add initial support for F2FS. * gnu/system/linux-initrd.scm (file-system-type-modules): Add f2fs module. Signed-off-by: Danny Milosavljevic --- gnu/system/linux-initrd.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index dcc9b6b937..44ee4f10aa 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -275,6 +275,7 @@ (define file-system-type-modules ("btrfs" => '("btrfs")) ("iso9660" => '("isofs")) ("jfs" => '("jfs")) + ("f2fs" => '("f2fs" "crc32_generic")) (else '()))) (define (file-system-modules file-systems) -- cgit v1.2.3 From cc8f31bafb37ac750690c9415f82f650e3832060 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sat, 2 May 2020 11:02:36 +0200 Subject: gnu: emacs-exwm-edit: Update to 20200126. * gnu/packages/emacs-xyz.scm (emacs-exwm-edit): Update to 20200126. --- gnu/packages/emacs-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 24cd01a513..d9a3c2acc3 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -19520,9 +19520,9 @@ (define-public emacs-all-the-icons-dired (license license:gpl3+)))) (define-public emacs-exwm-edit - (let ((commit "961c0f3ea45766b888c73d7353da13d329538034") + (let ((commit "bc25ba094b383be3c650ca0b7e1534efe2bb154f") (version "0.0.1") - (revision "1")) + (revision "2")) (package (name "emacs-exwm-edit") (version (git-version version revision commit)) @@ -19535,7 +19535,7 @@ (define-public emacs-exwm-edit (file-name (git-file-name name version)) (sha256 (base32 - "087pk5ckx753qrn6xpka9khhlp7iqlz76w7861x90av2f5cgy6fw")))) + "1z1ya9xgknka3dy3b3x8zzfkxdx5jqsi8q5aqkvxjxa6n7mmqdwv")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-exwm" ,emacs-exwm))) -- cgit v1.2.3 From 807986a55fc2849d6986efb79f9a015cf4132e09 Mon Sep 17 00:00:00 2001 From: raingloom Date: Sat, 2 May 2020 11:38:48 +0200 Subject: gnu: Add f2fs-tools-static. * gnu/packages/file-systems.scm (f2fs-tools/static): New public variable. Co-authored-by: Danny Milosavljevic --- gnu/packages/linux.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 70d2163fee..dd945aad51 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -4602,6 +4602,37 @@ (define-public f2fs-tools (inputs `(("libuuid" ,util-linux))))) +(define-public f2fs-tools/static + (static-package + (package + (inherit f2fs-tools) + (name "f2fs-tools-static") + (arguments + `(#:configure-flags + (let ((libuuid-static (assoc-ref %build-inputs "libuuid:static")) + (libuuid (assoc-ref %build-inputs "libuuid"))) + (list + (string-append "libuuid_CFLAGS=-I" libuuid "/include") + (string-append "libuuid_LIBS=-L" libuuid-static "/lib -luuid") + (string-append "libblkid_CFLAGS=-I" libuuid "/include") + (string-append "libblkid_LIBS=-L" libuuid-static "/lib -lblkid"))) + #:disallowed-references (,util-linux) + #:phases + (modify-phases %standard-phases ; TODO: f2fs phases. + (add-after 'unpack 'make-static + (lambda _ + (define (append-to-file name body) + (let ((file (open-file name "a"))) + (display body file) + (close-port file))) + (append-to-file "mkfs/Makefile.am" "\nmkfs_f2fs_LDFLAGS = -all-static\n") + (append-to-file "fsck/Makefile.am" "\nfsck_f2fs_LDFLAGS = -all-static\n") + (append-to-file "tools/Makefile.am" "\nf2fscrypt_LDFLAGS = -all-static -luuid\n") + #t))))) + (inputs + `(("libuuid:static" ,util-linux "static") + ("libuuid" ,util-linux)))))) ; for include files + (define-public freefall (package (name "freefall") -- cgit v1.2.3 From a363978cb9755e950add3fa36e319ec2389a529a Mon Sep 17 00:00:00 2001 From: Jan Wielkiewicz Date: Sat, 2 May 2020 03:14:39 +0200 Subject: gnu: Add libnatpmp. * gnu/packages/networking.scm (libnatpmp): New variable. Signed-off-by: Mathieu Othacehe --- gnu/packages/networking.scm | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 94b521584f..98bfdbc3ab 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -33,7 +33,7 @@ ;;; Copyright © 2019 Brice Waegeneire ;;; Copyright © 2019 Tonton ;;; Copyright © 2019, 2020 Alex Griffin -;;; Copyright © 2019 Jan Wielkiewicz +;;; Copyright © 2019, 2020 Jan Wielkiewicz ;;; Copyright © 2019 Daniel Schaefer ;;; Copyright © 2019 Diego N. Barbato ;;; Copyright © 2020 Vincent Legoll @@ -426,6 +426,41 @@ (define-public cppzmq files contain direct mappings of the abstractions provided by the ØMQ C API.") (license license:expat))) +(define-public libnatpmp + (package + (name "libnatpmp") + (version "20150609") + (source (origin + (method url-fetch) + (uri (string-append + "http://miniupnp.free.fr/files/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "1c1n8n7mp0amsd6vkz32n8zj3vnsckv308bb7na0dg0r8969rap1")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'check)) ; no tests + #:make-flags + (let* ((target ,(%current-target-system)) + (gcc (if target + (string-append target "-gcc") + "gcc"))) + (list + (string-append "CC=" gcc) + (string-append "INSTALLPREFIX=" (assoc-ref %outputs "out")) + (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))))) + (home-page "http://miniupnp.free.fr/libnatpmp.html") + (synopsis "C library implementing NAT-PMP") + (description + "@code{libnatpmp} is a portable and asynchronous implementation of +the Network Address Translation - Port Mapping Protocol (NAT-PMP) +written in the C programming language.") + (license license:bsd-3))) + (define-public librdkafka (package (name "librdkafka") -- cgit v1.2.3 From 1d2366202ad115cc7c48ac15c83ef994a2d8304c Mon Sep 17 00:00:00 2001 From: Jan Wielkiewicz Date: Sat, 2 May 2020 03:14:41 +0200 Subject: gnu: libupnp: Update to 1.8.6. * gnu/packages/upnp.scm (libupnp): Update to 1.8.6. [source]: Use git-fetch on the new official repository. [native-inputs]: Add autoconf, automake, libtool and pkg-config. Signed-off-by: Mathieu Othacehe --- gnu/packages/upnp.scm | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm index 8f3c887a68..768df4a03e 100644 --- a/gnu/packages/upnp.scm +++ b/gnu/packages/upnp.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016, 2017, 2018, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2018 Theodoros Foradis ;;; Copyright © 2019 Jens Mølgaard +;;; Copyright © 2020 Jan Wielkiewicz ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,7 @@ (define-module (gnu packages upnp) #:use-module (gnu packages photo) #:use-module (gnu packages image) #:use-module (gnu packages mp3) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages xiph) #:use-module (gnu packages sqlite) #:use-module (gnu packages python) @@ -92,15 +94,21 @@ (define-public miniupnpc (define-public libupnp (package (name "libupnp") - (version "1.6.25") + (version "1.8.6") (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/pupnp/pupnp/libUPnP%20" - version "/" name "-" version ".tar.bz2")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/pupnp/pupnp.git") + (commit (string-append "release-" version)))) (sha256 (base32 - "0hzsd7rvfa87b4hxg9yj4xhdfxx9sp09r9sqdl3mqhvmcyw018y5")))) + "1jlb6qh47513h2simy0zxia5q61w1c31mnwmjqpr2nf832lmnpk4")))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) (build-system gnu-build-system) (arguments ;; The tests require a network device capable of multicasting which is -- cgit v1.2.3 From 798335cfbce63362092e1dc53f940021b1a1fc4a Mon Sep 17 00:00:00 2001 From: Jan Wielkiewicz Date: Sat, 2 May 2020 03:14:44 +0200 Subject: gnu: restinio: Update to 0.6.1.1. * gnu/packages/networking.scm (restinio): Update to 0.6.1.1. Signed-off-by: Mathieu Othacehe --- gnu/packages/networking.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 98bfdbc3ab..9275c6f98b 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -2668,7 +2668,7 @@ (define-public restbed (define-public restinio (package (name "restinio") - (version "0.6.0.1") + (version "0.6.1.1") (source (origin (method git-fetch) (uri (git-reference @@ -2677,7 +2677,7 @@ (define-public restinio (file-name (git-file-name name version)) (sha256 (base32 - "1c25kpx652nng8m1sqf5an2c3c4g3k6zj85mkkaxzk88iwfzq1s8")))) + "141a96hx8zhcdv121g6cs91n46kb47y040v25pnvz5f54964z7f5")))) (build-system cmake-build-system) (inputs ; TODO: Need to force-keep references on some inputs, e.g. boost. `(("zlib" ,zlib) -- cgit v1.2.3 From 218ec70aee2476b3381d18f7394ed1c37c0f7a8c Mon Sep 17 00:00:00 2001 From: Jan Wielkiewicz Date: Sat, 2 May 2020 03:14:50 +0200 Subject: gnu: opendht: Update to 2.0.0. * gnu/packages/networking.scm (opendht): Update to 2.0.0. Signed-off-by: Mathieu Othacehe --- gnu/packages/networking.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 9275c6f98b..d7720724cc 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -2710,7 +2710,7 @@ (define-public restinio (define-public opendht (package (name "opendht") - (version "2.0.0beta2") + (version "2.0.0") (source (origin (method git-fetch) (uri (git-reference @@ -2719,7 +2719,7 @@ (define-public opendht (file-name (git-file-name name version)) (sha256 (base32 - "02ix0rvvyhq22gd5djcq84qz08ji7ln93faf23b27zjzni2klzv5")))) + "1q1fwk8wwk9r6bp0indpr60ql668lsk16ykslacyhrh7kg97kvhr")))) ;; Since 2.0, the gnu-build-system does not seem to work anymore, upstream bug? (build-system cmake-build-system) (inputs -- cgit v1.2.3 From 15c6e4260b60135025029a5e2695206e798c9dd6 Mon Sep 17 00:00:00 2001 From: Jan Wielkiewicz Date: Sat, 2 May 2020 03:14:36 +0200 Subject: gnu: telephony: Move Jami and its dependencies to jami.scm. Jami is a massive package and its developers modify many libraries. Keeping them in a single file makes maintenance easier. * gnu/packages/telephony.scm (%jami-version, jami-source, pjproject-jami, libring, libringclient, jami, jami-client-gnome): Move to ... * gnu/packages/jami.scm: ... this new file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Signed-off-by: Mathieu Othacehe --- gnu/local.mk | 2 + gnu/packages/jami.scm | 352 +++++++++++++++++++++++++++++++++++++++++++++ gnu/packages/telephony.scm | 291 ------------------------------------- 3 files changed, 354 insertions(+), 291 deletions(-) create mode 100644 gnu/packages/jami.scm diff --git a/gnu/local.mk b/gnu/local.mk index 26d26ee215..812253b192 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -33,6 +33,7 @@ # Copyright © 2020 Michael Rohleder # Copyright © 2020 Felix Gruber # Copyright © 2020 Ryan Prior +# Copyright © 2020 Jan Wielkiewicz # # This file is part of GNU Guix. # @@ -278,6 +279,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/ipfs.scm \ %D%/packages/irc.scm \ %D%/packages/iso-codes.scm \ + %D%/packages/jami.scm \ %D%/packages/java.scm \ %D%/packages/java-compression.scm \ %D%/packages/java-graphics.scm \ diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm new file mode 100644 index 0000000000..050f8cf9f6 --- /dev/null +++ b/gnu/packages/jami.scm @@ -0,0 +1,352 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Pierre Neidhardt +;;; Copyright © 2020 Vincent Legoll +;;; Copyright © 2019, 2020 Jan Wielkiewicz +;;; +;;; 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 jami) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages aidc) + #:use-module (gnu packages audio) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) + #:use-module (gnu packages boost) + #:use-module (gnu packages check) + #:use-module (gnu packages compression) + #:use-module (gnu packages crypto) + #:use-module (gnu packages documentation) + #:use-module (gnu packages gettext) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages gtk) + #:use-module (gnu packages libcanberra) + #:use-module (gnu packages linux) + #:use-module (gnu packages multiprecision) + #:use-module (gnu packages networking) + #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages python) + #:use-module (gnu packages qt) + #:use-module (gnu packages serialization) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages telephony) + #:use-module (gnu packages tls) + #:use-module (gnu packages upnp) + #:use-module (gnu packages video) + #:use-module (gnu packages webkit) + #:use-module (gnu packages xiph) + #:use-module (gnu packages xorg) + #:use-module (gnu packages) + #:use-module (guix build-system cmake) + #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix packages) + #:use-module (guix utils)) + +(define %jami-version "20191101.3.67671e7") + +(define* (jami-source #:key without-daemon) + (origin + (method url-fetch) + (uri (string-append "https://dl.jami.net/ring-release/tarballs/ring_" + %jami-version + ".tar.gz")) + (modules '((guix build utils))) + (snippet + (if without-daemon + '(begin + (delete-file-recursively "daemon/contrib")) + #f)) + (sha256 + (base32 + "0kw172w2ccyz438kf5xqw14nhfm4xk6a2libnzib9j2wvhlpf4q0")))) + +(define-public pjproject-jami + (package + (inherit pjproject) + (name "pjproject-jami") + (native-inputs + `(("savoir-faire-linux-patches" ,(jami-source)) + ,@(package-native-inputs pjproject))) + (arguments + `(#:tests? #f + ;; See ring-project/daemon/contrib/src/pjproject/rules.mak. + #:configure-flags + (list "--disable-oss" + "--disable-sound" + "--disable-video" + "--enable-ext-sound" + "--disable-speex-aec" + "--disable-g711-codec" + "--disable-l16-codec" + "--disable-gsm-codec" + "--disable-g722-codec" + "--disable-g7221-codec" + "--disable-speex-codec" + "--disable-ilbc-codec" + "--disable-opencore-amr" + "--disable-silk" + "--disable-sdl" + "--disable-ffmpeg" + "--disable-v4l2" + "--disable-openh264" + "--disable-resample" + "--disable-libwebrtc" + "--with-gnutls" + "--with-external-srtp" + ;; We need -fPIC or else we get the following error when linking + ;; against pjproject-jami: + ;; relocation R_X86_64_32S against `.rodata' can not be used when + ;; making a shared object; + "CFLAGS=-fPIC" + "CXXFLAGS=-fPIC") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'make-git-checkout-writable + (lambda _ + (for-each make-file-writable (find-files ".")) + #t)) + (add-after 'unpack 'apply-patches + (lambda* (#:key inputs #:allow-other-keys) + (let ((savoir-faire-linux-patches-directory "Savoir-faire Linux patches") + ;; Comes from + ;; "ring-project/daemon/contrib/src/pjproject/rules.mak". + ;; WARNING: These amount for huge changes in pjproject. + (savoir-faire-linux-patches + '("fix_turn_alloc_failure" + "rfc2466" + "ipv6" + "multiple_listeners" + "pj_ice_sess" + "fix_turn_fallback" + "fix_ioqueue_ipv6_sendto" + "add_dtls_transport" + "rfc6544" + "ice_config" + "sip_config" + "fix_first_packet_turn_tcp" + "fix_ebusy_turn" + "ignore_ipv6_on_transport_check" + "fix_turn_connection_failure" + ;; "uwp_vs" ; for windows + "disable_local_resolution"))) + (mkdir-p savoir-faire-linux-patches-directory) + (invoke "tar" "-xvf" (assoc-ref inputs "savoir-faire-linux-patches") + "-C" savoir-faire-linux-patches-directory + "--strip-components=5" + "ring-project/daemon/contrib/src/pjproject") + (for-each + (lambda (file) + (invoke "patch" "--force" "-p1" "-i" + (string-append savoir-faire-linux-patches-directory "/" + file ".patch"))) + savoir-faire-linux-patches)) + #t)) + ;; TODO: We could use substitute-keyword-arguments instead of + ;; repeating the phases from pjproject, but somehow it does + ;; not work. + (add-before 'build 'build-dep + (lambda _ (invoke "make" "dep"))) + (add-before 'patch-source-shebangs 'autoconf + (lambda _ + (invoke "autoconf" "-v" "-f" "-i" "-o" + "aconfigure" "aconfigure.ac"))) + (add-before 'autoconf 'disable-some-tests + ;; Three of the six test programs fail due to missing network + ;; access. + (lambda _ + (substitute* "Makefile" + (("selftest: pjlib-test pjlib-util-test pjnath-test pjmedia-test pjsip-test pjsua-test") + "selftest: pjlib-test pjlib-util-test pjmedia-test")) + #t))))))) + +(define-public libring + (package + (name "libring") + (version %jami-version) + (source (jami-source #:without-daemon #t)) + (build-system gnu-build-system) + (inputs + ;; Missing (optional?) dep: libnatpmp. + `(("alsa-lib" ,alsa-lib) + ("boost" ,boost) + ("dbus-c++" ,dbus-c++) + ("eudev" ,eudev) + ("ffmpeg" ,ffmpeg) + ("flac" ,flac) + ("gmp" ,gmp) + ("gsm" ,gsm) + ("jack" ,jack-1) + ("jsoncpp" ,jsoncpp) + ("libogg" ,libogg) + ("libva" ,libva) + ("opendht" ,opendht) + ("opus" ,opus) + ("pcre" ,pcre) + ("pulseaudio" ,pulseaudio) + ("libsamplerate" ,libsamplerate) + ("libsndfile" ,libsndfile) + ("speex" ,speex) + ("speexdsp" ,speexdsp) + ("libupnp" ,libupnp) + ("libvorbis" ,libvorbis) + ("libx264" ,libx264) + ("libvdpau" ,libvdpau) + ("yaml-cpp" ,yaml-cpp) + ("zlib" ,zlib) + ("openssl" ,openssl) + ("libsecp256k1" ,libsecp256k1) + ("python" ,python) + ("python-wrapper" ,python-wrapper) + ("restinio" ,restinio) + ("libx11" ,libx11) + ("asio" ,asio) + ;; TODO: Upstream seems to rely on a custom pjproject (a.k.a. pjsip) version. + ;; See https://git.jami.net/savoirfairelinux/ring-daemon/issues/24. + ("pjproject" ,pjproject-jami))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ("which" ,which) + ("cppunit" ,cppunit) + ("perl" ,perl))) ; Needed for documentation. + (arguments + `(#:tests? #f ; The tests fail to compile due to missing headers. + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'change-directory + (lambda _ + (chdir "daemon") + #t)) + (add-before 'build 'add-lib-dir + (lambda _ + (mkdir-p "src/lib") + #t))))) + (synopsis "Distributed multimedia communications platform") + (description "Jami (formerly GNU Ring) is a secure and distributed voice, +video and chat communication platform that requires no centralized server and +leaves the power of privacy in the hands of the user. It supports the SIP and +IAX protocols, as well as decentralized calling using P2P-DHT. + +This package provides a library and daemon implementing the Jami core +functionality.") + (home-page "https://jami.net/") + (license license:gpl3+))) + +(define-public libringclient + (package + (inherit libring) + (name "libringclient") + (build-system cmake-build-system) + (propagated-inputs + `(("libring" ,libring) ; For 'dring'. + ("qtbase" ,qtbase) ; Qt is included in several installed headers. + ("qttools" ,qttools))) + (arguments + `(#:tests? #f ; There is no testsuite. + #:configure-flags + (list (string-append "-DRING_BUILD_DIR=" + (assoc-ref %build-inputs "libring") "/include")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'change-directory + (lambda _ + (chdir "lrc") + #t)) + (add-before 'configure 'fix-dbus-interfaces-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "CMakeLists.txt" + (("\\$\\{CMAKE_INSTALL_PREFIX\\}(/share/dbus-1/interfaces)" _ dbus-interfaces-path-suffix) + (string-append (assoc-ref inputs "libring") + dbus-interfaces-path-suffix)))))))) + (synopsis "Distributed multimedia communications platform") + (description "Jami (formerly GNU Ring) is a secure and distributed voice, +video and chat communication platform that requires no centralized server and +leaves the power of privacy in the hands of the user. It supports the SIP and +IAX protocols, as well as decentralized calling using P2P-DHT. + +This package provides a library common to all Jami clients.") + (home-page "https://jami.net") + (license license:gpl3+))) + +(define-public jami + (package + (inherit libring) + (name "jami") + (build-system cmake-build-system) + (inputs + `(("libringclient" ,libringclient) + ("gtk+" ,gtk+) + ("qrencode" ,qrencode) + ("libnotify" ,libnotify) + ("clutter" ,clutter) + ("clutter-gtk" ,clutter-gtk) + ("gettext" ,gnu-gettext) + ("libcanberra" ,libcanberra) + ("webkitgtk" ,webkitgtk) + ;; TODO: We must wrap ring-client-gnome to force using the + ;; `sqlite-with-column-metadata' package instead of `sqlite' or else it + ;; fails with: + ;; + ;; /gnu/store/...-qtbase-5.11.2/lib/qt5/plugins/sqldrivers/libqsqlite.so: + ;; undefined symbol: sqlite3_column_table_name16 + ;; + ;; qtbase is built against sqlite-with-column-metadata but somehow + ;; jami-client-gnome ends up with both `sqlite' and + ;; `sqlite-with-column-metadata' as inputs and it seems that + ;; libqsqlite.so gets confused. + ("sqlite" ,sqlite-with-column-metadata))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("glib:bin" ,glib "bin") + ("doxygen" ,doxygen))) + (propagated-inputs + `(("libring" ,libring) ; Contains `dring', the daemon, which is automatically by d-bus. + ("adwaita-icon-theme" ,adwaita-icon-theme) + ("evolution-data-server" ,evolution-data-server))) + (arguments + `(#:tests? #f ; There is no testsuite. + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'change-directory + (lambda _ + (chdir "client-gnome") + #t)) + (add-after 'install 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (path (string-append (assoc-ref inputs "sqlite") "/lib"))) + (wrap-program (string-append out "/bin/jami-gnome") + `("LD_LIBRARY_PATH" ":" prefix (,path)))) + #t))))) + (synopsis "Distributed, privacy-respecting communication program") + (description "Jami (formerly GNU Ring) is a secure and distributed voice, +video and chat communication platform that requires no centralized server and +leaves the power of privacy in the hands of the user. It supports the SIP and +IAX protocols, as well as decentralized calling using P2P-DHT. + +This package provides the Jami client for the GNOME desktop.") + (home-page "https://jami.net") + (license license:gpl3+))) + +(define-public jami-client-gnome + (deprecated-package "jami-client-gnome" jami)) diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index 7b20954120..747b0d75a1 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -734,297 +734,6 @@ (define-public pjproject Initiation Protocol (SIP) and a multimedia framework.") (license license:gpl2+))) -(define %jami-version "20191101.3.67671e7") - -(define* (jami-source #:key without-daemon) - (origin - (method url-fetch) - (uri (string-append "https://dl.jami.net/ring-release/tarballs/ring_" - %jami-version - ".tar.gz")) - (modules '((guix build utils))) - (snippet - (if without-daemon - '(begin - (delete-file-recursively "daemon/contrib")) - #f)) - (sha256 - (base32 - "0kw172w2ccyz438kf5xqw14nhfm4xk6a2libnzib9j2wvhlpf4q0")))) - -(define-public pjproject-jami - (package - (inherit pjproject) - (name "pjproject-jami") - (native-inputs - `(("savoir-faire-linux-patches" ,(jami-source)) - ,@(package-native-inputs pjproject))) - (arguments - `(#:tests? #f - ;; See ring-project/daemon/contrib/src/pjproject/rules.mak. - #:configure-flags - (list "--disable-oss" - "--disable-sound" - "--disable-video" - "--enable-ext-sound" - "--disable-speex-aec" - "--disable-g711-codec" - "--disable-l16-codec" - "--disable-gsm-codec" - "--disable-g722-codec" - "--disable-g7221-codec" - "--disable-speex-codec" - "--disable-ilbc-codec" - "--disable-opencore-amr" - "--disable-silk" - "--disable-sdl" - "--disable-ffmpeg" - "--disable-v4l2" - "--disable-openh264" - "--disable-resample" - "--disable-libwebrtc" - "--with-gnutls" - "--with-external-srtp" - ;; We need -fPIC or else we get the following error when linking - ;; against pjproject-jami: - ;; relocation R_X86_64_32S against `.rodata' can not be used when - ;; making a shared object; - "CFLAGS=-fPIC" - "CXXFLAGS=-fPIC") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'make-git-checkout-writable - (lambda _ - (for-each make-file-writable (find-files ".")) - #t)) - (add-after 'unpack 'apply-patches - (lambda* (#:key inputs #:allow-other-keys) - (let ((savoir-faire-linux-patches-directory "Savoir-faire Linux patches") - ;; Comes from - ;; "ring-project/daemon/contrib/src/pjproject/rules.mak". - ;; WARNING: These amount for huge changes in pjproject. - (savoir-faire-linux-patches - '("fix_turn_alloc_failure" - "rfc2466" - "ipv6" - "multiple_listeners" - "pj_ice_sess" - "fix_turn_fallback" - "fix_ioqueue_ipv6_sendto" - "add_dtls_transport" - "rfc6544" - "ice_config" - "sip_config" - "fix_first_packet_turn_tcp" - "fix_ebusy_turn" - "ignore_ipv6_on_transport_check" - "fix_turn_connection_failure" - ;; "uwp_vs" ; for windows - "disable_local_resolution"))) - (mkdir-p savoir-faire-linux-patches-directory) - (invoke "tar" "-xvf" (assoc-ref inputs "savoir-faire-linux-patches") - "-C" savoir-faire-linux-patches-directory - "--strip-components=5" - "ring-project/daemon/contrib/src/pjproject") - (for-each - (lambda (file) - (invoke "patch" "--force" "-p1" "-i" - (string-append savoir-faire-linux-patches-directory "/" - file ".patch"))) - savoir-faire-linux-patches)) - #t)) - ;; TODO: We could use substitute-keyword-arguments instead of - ;; repeating the phases from pjproject, but somehow it does - ;; not work. - (add-before 'build 'build-dep - (lambda _ (invoke "make" "dep"))) - (add-before 'patch-source-shebangs 'autoconf - (lambda _ - (invoke "autoconf" "-v" "-f" "-i" "-o" - "aconfigure" "aconfigure.ac"))) - (add-before 'autoconf 'disable-some-tests - ;; Three of the six test programs fail due to missing network - ;; access. - (lambda _ - (substitute* "Makefile" - (("selftest: pjlib-test pjlib-util-test pjnath-test pjmedia-test pjsip-test pjsua-test") - "selftest: pjlib-test pjlib-util-test pjmedia-test")) - #t))))))) - -(define-public libring - (package - (name "libring") - (version %jami-version) - (source (jami-source #:without-daemon #t)) - (build-system gnu-build-system) - (inputs - ;; Missing (optional?) dep: libnatpmp. - `(("alsa-lib" ,alsa-lib) - ("boost" ,boost) - ("dbus-c++" ,dbus-c++) - ("eudev" ,eudev) - ("ffmpeg" ,ffmpeg) - ("flac" ,flac) - ("gmp" ,gmp) - ("gsm" ,gsm) - ("jack" ,jack-1) - ("jsoncpp" ,jsoncpp) - ("libogg" ,libogg) - ("libva" ,libva) - ("opendht" ,opendht) - ("opus" ,opus) - ("pcre" ,pcre) - ("pulseaudio" ,pulseaudio) - ("libsamplerate" ,libsamplerate) - ("libsndfile" ,libsndfile) - ("speex" ,speex) - ("speexdsp" ,speexdsp) - ("libupnp" ,libupnp) - ("libvorbis" ,libvorbis) - ("libx264" ,libx264) - ("libvdpau" ,libvdpau) - ("yaml-cpp" ,yaml-cpp) - ("zlib" ,zlib) - ("openssl" ,openssl) - ("libsecp256k1" ,libsecp256k1) - ("python" ,python) - ("python-wrapper" ,python-wrapper) - ("restinio" ,restinio) - ("libx11" ,libx11) - ("asio" ,asio) - ;; TODO: Upstream seems to rely on a custom pjproject (a.k.a. pjsip) version. - ;; See https://git.jami.net/savoirfairelinux/ring-daemon/issues/24. - ("pjproject" ,pjproject-jami))) - (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool) - ("pkg-config" ,pkg-config) - ("which" ,which) - ("cppunit" ,cppunit) - ("perl" ,perl))) ; Needed for documentation. - (arguments - `(#:tests? #f ; The tests fail to compile due to missing headers. - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'change-directory - (lambda _ - (chdir "daemon") - #t)) - (add-before 'build 'add-lib-dir - (lambda _ - (mkdir-p "src/lib") - #t))))) - (synopsis "Distributed multimedia communications platform") - (description "Jami (formerly GNU Ring) is a secure and distributed voice, -video and chat communication platform that requires no centralized server and -leaves the power of privacy in the hands of the user. It supports the SIP and -IAX protocols, as well as decentralized calling using P2P-DHT. - -This package provides a library and daemon implementing the Jami core -functionality.") - (home-page "https://jami.net/") - (license license:gpl3+))) - -(define-public libringclient - (package - (inherit libring) - (name "libringclient") - (build-system cmake-build-system) - (propagated-inputs - `(("libring" ,libring) ; For 'dring'. - ("qtbase" ,qtbase) ; Qt is included in several installed headers. - ("qttools" ,qttools))) - (arguments - `(#:tests? #f ; There is no testsuite. - #:configure-flags - (list (string-append "-DRING_BUILD_DIR=" - (assoc-ref %build-inputs "libring") "/include")) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'change-directory - (lambda _ - (chdir "lrc") - #t)) - (add-before 'configure 'fix-dbus-interfaces-path - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "CMakeLists.txt" - (("\\$\\{CMAKE_INSTALL_PREFIX\\}(/share/dbus-1/interfaces)" _ dbus-interfaces-path-suffix) - (string-append (assoc-ref inputs "libring") - dbus-interfaces-path-suffix)))))))) - (synopsis "Distributed multimedia communications platform") - (description "Jami (formerly GNU Ring) is a secure and distributed voice, -video and chat communication platform that requires no centralized server and -leaves the power of privacy in the hands of the user. It supports the SIP and -IAX protocols, as well as decentralized calling using P2P-DHT. - -This package provides a library common to all Jami clients.") - (home-page "https://jami.net") - (license license:gpl3+))) - -(define-public jami - (package - (inherit libring) - (name "jami") - (build-system cmake-build-system) - (inputs - `(("libringclient" ,libringclient) - ("gtk+" ,gtk+) - ("qrencode" ,qrencode) - ("libnotify" ,libnotify) - ("clutter" ,clutter) - ("clutter-gtk" ,clutter-gtk) - ("libcanberra" ,libcanberra) - ("webkitgtk" ,webkitgtk) - ;; TODO: We must wrap ring-client-gnome to force using the - ;; `sqlite-with-column-metadata' package instead of `sqlite' or else it - ;; fails with: - ;; - ;; /gnu/store/...-qtbase-5.11.2/lib/qt5/plugins/sqldrivers/libqsqlite.so: - ;; undefined symbol: sqlite3_column_table_name16 - ;; - ;; qtbase is built against sqlite-with-column-metadata but somehow - ;; jami-client-gnome ends up with both `sqlite' and - ;; `sqlite-with-column-metadata' as inputs and it seems that - ;; libqsqlite.so gets confused. - ("sqlite" ,sqlite-with-column-metadata))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("gettext" ,gettext-minimal) - ("glib:bin" ,glib "bin") - ("doxygen" ,doxygen))) - (propagated-inputs - `(("libring" ,libring) ; Contains `dring', the daemon, which is automatically by d-bus. - ("adwaita-icon-theme" ,adwaita-icon-theme) - ("evolution-data-server" ,evolution-data-server))) - (arguments - `(#:tests? #f ; There is no testsuite. - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'change-directory - (lambda _ - (chdir "client-gnome") - #t)) - (add-after 'install 'wrap - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (path (string-append (assoc-ref inputs "sqlite") "/lib"))) - (wrap-program (string-append out "/bin/jami-gnome") - `("LD_LIBRARY_PATH" ":" prefix (,path)))) - #t))))) - (synopsis "Distributed, privacy-respecting communication program") - (description "Jami (formerly GNU Ring) is a secure and distributed voice, -video and chat communication platform that requires no centralized server and -leaves the power of privacy in the hands of the user. It supports the SIP and -IAX protocols, as well as decentralized calling using P2P-DHT. - -This package provides the Jami client for the GNOME desktop.") - (home-page "https://jami.net") - (license license:gpl3+))) - -(define-public jami-client-gnome - (deprecated-package "jami-client-gnome" jami)) - (define-public libtgvoip (package (name "libtgvoip") -- cgit v1.2.3 From aaa199ca52a1913bcfe988297e3efd24b22df5cd Mon Sep 17 00:00:00 2001 From: Jan Wielkiewicz Date: Sat, 2 May 2020 03:14:37 +0200 Subject: gnu: jami: Fix download. The package name changed from Ring to Jami. Package tarballs start now with "jami_" prefix. The "ring-release" folder is also deprecated, let's use the "release" folder instead. * gnu/packages/jami.scm (jami-source)[origin]: Change the uri from "https://dl.jami.net/ring-release/tarballs/ring_" to "https://dl.jami.net/release/tarballs/jami_". Signed-off-by: Mathieu Othacehe --- gnu/packages/jami.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm index 050f8cf9f6..8d6bab84e3 100644 --- a/gnu/packages/jami.scm +++ b/gnu/packages/jami.scm @@ -65,7 +65,7 @@ (define %jami-version "20191101.3.67671e7") (define* (jami-source #:key without-daemon) (origin (method url-fetch) - (uri (string-append "https://dl.jami.net/ring-release/tarballs/ring_" + (uri (string-append "https://dl.jami.net/release/tarballs/jami_" %jami-version ".tar.gz")) (modules '((guix build utils))) -- cgit v1.2.3 From f60699af611b001c7a28f84a9dc9281cdb727a69 Mon Sep 17 00:00:00 2001 From: Jan Wielkiewicz Date: Sat, 2 May 2020 03:14:38 +0200 Subject: gnu: jami: Create a jami-apply-dependency-patches procedure. * gnu/packages/jami.scm (pjproject-jami) [native-inputs]: Rename "savoir-faire-linux-patches" to "sfl-patches". [arguments]: Move Jami patching procedure to ... (jami-apply-dependency-patches): ... this new procedure. Signed-off-by: Mathieu Othacehe --- gnu/packages/jami.scm | 80 +++++++++++++++++++++++++++++---------------------- 1 file changed, 45 insertions(+), 35 deletions(-) diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm index 8d6bab84e3..3b31fae827 100644 --- a/gnu/packages/jami.scm +++ b/gnu/packages/jami.scm @@ -78,12 +78,31 @@ (define* (jami-source #:key without-daemon) (base32 "0kw172w2ccyz438kf5xqw14nhfm4xk6a2libnzib9j2wvhlpf4q0")))) +;; Savoir-Faire Linux modifies many libraries to add features +;; to Jami. This procedure makes applying patches to a given +;; package easy. +(define jami-apply-dependency-patches + '(lambda* (#:key inputs dep-name patches) + (let ((patches-directory "sfl-patches")) + (mkdir-p patches-directory) + (invoke "tar" "-xvf" (assoc-ref inputs "sfl-patches") + "-C" patches-directory + "--strip-components=5" + (string-append "ring-project/daemon/contrib/src/" + dep-name)) + (for-each + (lambda (file) + (invoke "patch" "--force" "-p1" "-i" + (string-append patches-directory "/" + file ".patch"))) + patches)))) + (define-public pjproject-jami (package (inherit pjproject) (name "pjproject-jami") (native-inputs - `(("savoir-faire-linux-patches" ,(jami-source)) + `(("sfl-patches" ,(jami-source)) ,@(package-native-inputs pjproject))) (arguments `(#:tests? #f @@ -125,40 +144,31 @@ (define-public pjproject-jami #t)) (add-after 'unpack 'apply-patches (lambda* (#:key inputs #:allow-other-keys) - (let ((savoir-faire-linux-patches-directory "Savoir-faire Linux patches") - ;; Comes from - ;; "ring-project/daemon/contrib/src/pjproject/rules.mak". - ;; WARNING: These amount for huge changes in pjproject. - (savoir-faire-linux-patches - '("fix_turn_alloc_failure" - "rfc2466" - "ipv6" - "multiple_listeners" - "pj_ice_sess" - "fix_turn_fallback" - "fix_ioqueue_ipv6_sendto" - "add_dtls_transport" - "rfc6544" - "ice_config" - "sip_config" - "fix_first_packet_turn_tcp" - "fix_ebusy_turn" - "ignore_ipv6_on_transport_check" - "fix_turn_connection_failure" - ;; "uwp_vs" ; for windows - "disable_local_resolution"))) - (mkdir-p savoir-faire-linux-patches-directory) - (invoke "tar" "-xvf" (assoc-ref inputs "savoir-faire-linux-patches") - "-C" savoir-faire-linux-patches-directory - "--strip-components=5" - "ring-project/daemon/contrib/src/pjproject") - (for-each - (lambda (file) - (invoke "patch" "--force" "-p1" "-i" - (string-append savoir-faire-linux-patches-directory "/" - file ".patch"))) - savoir-faire-linux-patches)) - #t)) + (let ((jami-apply-dependency-patches ,jami-apply-dependency-patches)) + ;; Comes from + ;; "ring-project/daemon/contrib/src/pjproject/rules.mak". + ;; WARNING: These amount for huge changes in pjproject. + (jami-apply-dependency-patches + #:inputs inputs + #:dep-name "pjproject" + #:patches + '("fix_turn_alloc_failure" + "rfc2466" + "ipv6" + "multiple_listeners" + "pj_ice_sess" + "fix_turn_fallback" + "fix_ioqueue_ipv6_sendto" + "add_dtls_transport" + "rfc6544" + "ice_config" + "sip_config" + "fix_first_packet_turn_tcp" + "fix_ebusy_turn" + "ignore_ipv6_on_transport_check" + "fix_turn_connection_failure" + "disable_local_resolution")) + #t))) ;; TODO: We could use substitute-keyword-arguments instead of ;; repeating the phases from pjproject, but somehow it does ;; not work. -- cgit v1.2.3 From 63e6f1cdee26bbd26a2fa439e552f29258eb5560 Mon Sep 17 00:00:00 2001 From: Jan Wielkiewicz Date: Sat, 2 May 2020 03:14:40 +0200 Subject: gnu: libring: Add libnatpmp dependency. This library isn't mandatory, but it works better with new routers than libupnp. * gnu/packages/jami.scm (libring)[inputs]: Add libnatpmp. Signed-off-by: Mathieu Othacehe --- gnu/packages/jami.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm index 3b31fae827..b4116c8504 100644 --- a/gnu/packages/jami.scm +++ b/gnu/packages/jami.scm @@ -194,7 +194,6 @@ (define-public libring (source (jami-source #:without-daemon #t)) (build-system gnu-build-system) (inputs - ;; Missing (optional?) dep: libnatpmp. `(("alsa-lib" ,alsa-lib) ("boost" ,boost) ("dbus-c++" ,dbus-c++) @@ -205,6 +204,7 @@ (define-public libring ("gsm" ,gsm) ("jack" ,jack-1) ("jsoncpp" ,jsoncpp) + ("libnatpmp" ,libnatpmp) ("libogg" ,libogg) ("libva" ,libva) ("opendht" ,opendht) -- cgit v1.2.3 From 7f8f39d344ed12983470b756696345778e5f1efc Mon Sep 17 00:00:00 2001 From: Jan Wielkiewicz Date: Sat, 2 May 2020 03:14:45 +0200 Subject: gnu: jami: Make gettext a native input. * gnu/packages/jami.scm (jami)[inputs]: Move "gettext" to ... [native-inputs]: ... here. Signed-off-by: Mathieu Othacehe --- gnu/packages/jami.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm index b4116c8504..3992d18f89 100644 --- a/gnu/packages/jami.scm +++ b/gnu/packages/jami.scm @@ -310,7 +310,6 @@ (define-public jami ("libnotify" ,libnotify) ("clutter" ,clutter) ("clutter-gtk" ,clutter-gtk) - ("gettext" ,gnu-gettext) ("libcanberra" ,libcanberra) ("webkitgtk" ,webkitgtk) ;; TODO: We must wrap ring-client-gnome to force using the @@ -327,6 +326,7 @@ (define-public jami ("sqlite" ,sqlite-with-column-metadata))) (native-inputs `(("pkg-config" ,pkg-config) + ("gettext" ,gnu-gettext) ("glib:bin" ,glib "bin") ("doxygen" ,doxygen))) (propagated-inputs -- cgit v1.2.3 From 2ff4e549bbb8cb0e40f730830be0ba6d19269292 Mon Sep 17 00:00:00 2001 From: Jan Wielkiewicz Date: Sat, 2 May 2020 03:14:46 +0200 Subject: gnu: pjproject-jami: Update to 2.10. * gnu/packages/telephony.scm (pjproject): Update to 2.10, [source]: reorder "file-name" and "sha256" fields. * gnu/packages/jami.scm (%jami-version): Update to 20200401.1.6f090d, (pjproject-jami)[arguments]: apply patches related to 2.10. Signed-off-by: Mathieu Othacehe --- gnu/packages/jami.scm | 29 +++++++++++------------------ gnu/packages/telephony.scm | 14 +++++++------- 2 files changed, 18 insertions(+), 25 deletions(-) diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm index 3992d18f89..06067a9253 100644 --- a/gnu/packages/jami.scm +++ b/gnu/packages/jami.scm @@ -60,7 +60,7 @@ (define-module (gnu packages jami) #:use-module (guix packages) #:use-module (guix utils)) -(define %jami-version "20191101.3.67671e7") +(define %jami-version "20200401.1.6f090de") (define* (jami-source #:key without-daemon) (origin @@ -76,7 +76,7 @@ (define* (jami-source #:key without-daemon) #f)) (sha256 (base32 - "0kw172w2ccyz438kf5xqw14nhfm4xk6a2libnzib9j2wvhlpf4q0")))) + "0lryx9n1jn0jsw7s10pbwivqv0d5m3jdzhdhdyg5n02v72mjvkmh")))) ;; Savoir-Faire Linux modifies many libraries to add features ;; to Jami. This procedure makes applying patches to a given @@ -152,22 +152,15 @@ (define-public pjproject-jami #:inputs inputs #:dep-name "pjproject" #:patches - '("fix_turn_alloc_failure" - "rfc2466" - "ipv6" - "multiple_listeners" - "pj_ice_sess" - "fix_turn_fallback" - "fix_ioqueue_ipv6_sendto" - "add_dtls_transport" - "rfc6544" - "ice_config" - "sip_config" - "fix_first_packet_turn_tcp" - "fix_ebusy_turn" - "ignore_ipv6_on_transport_check" - "fix_turn_connection_failure" - "disable_local_resolution")) + '("0001-rfc6544" + "0002-rfc2466" + "0003-add-tcp-keep-alive" + "0004-multiple_listeners" + "0005-fix_ebusy_turn" + "0006-ignore_ipv6_on_transport_check" + "0007-pj_ice_sess" + "0008-fix_ioqueue_ipv6_sendto" + "0009-add-config-site")) #t))) ;; TODO: We could use substitute-keyword-arguments instead of ;; repeating the phases from pjproject, but somehow it does diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index 747b0d75a1..17974e17f9 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -651,13 +651,17 @@ (define-public twinkle (define-public pjproject (package (name "pjproject") - (version "2.9") + (version "2.10") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/pjsip/pjproject.git") - (commit "5dfa75be7d69047387f9b0436dd9492bbbf03fe4"))) + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1aklicpgwc88578k03i5d5cm5h8mfm7hmx8vfprchbmaa2p8f4z0")) (modules '((guix build utils))) (snippet '(begin @@ -686,11 +690,7 @@ (define-public pjproject (lambda (dirs) (substitute* "third_party/build/os-linux.mak" (((string-append "DIRS += " dirs)) ""))) - third-party-dirs)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1ayj6n7zd5wvd1nzj2k9s57fb4ckc2fv92k5sjvhd87yg69k3393")))) + third-party-dirs)))))) (build-system gnu-build-system) (inputs `(("portaudio" ,portaudio))) -- cgit v1.2.3 From f06eefa31d9994c92cb6cb4bb956d645d00e6bfa Mon Sep 17 00:00:00 2001 From: Jan Wielkiewicz Date: Sat, 2 May 2020 03:14:48 +0200 Subject: gnu: jami: Use gettext-minimal. * gnu/packages/jami.scm (jami)[native-inputs]: Use "gettext-minimal" instead of "gnu-gettext". Signed-off-by: Mathieu Othacehe --- gnu/packages/jami.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm index 06067a9253..67146dcd70 100644 --- a/gnu/packages/jami.scm +++ b/gnu/packages/jami.scm @@ -319,7 +319,7 @@ (define-public jami ("sqlite" ,sqlite-with-column-metadata))) (native-inputs `(("pkg-config" ,pkg-config) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ("doxygen" ,doxygen))) (propagated-inputs -- cgit v1.2.3 From 8c98eb28084858d89bdf6a3bd90eb056bf31c49e Mon Sep 17 00:00:00 2001 From: Jan Wielkiewicz Date: Sat, 2 May 2020 11:31:13 +0200 Subject: gnu: jami: Add epoll support. * gnu/packages/jami.scm (jami)[arguments]: Add epoll support on Linux systems. Signed-off-by: Mathieu Othacehe --- gnu/packages/jami.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm index 67146dcd70..dda787b3cd 100644 --- a/gnu/packages/jami.scm +++ b/gnu/packages/jami.scm @@ -33,6 +33,7 @@ (define-module (gnu packages jami) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) + #:use-module (gnu packages hurd) #:use-module (gnu packages libcanberra) #:use-module (gnu packages linux) #:use-module (gnu packages multiprecision) @@ -111,6 +112,11 @@ (define-public pjproject-jami (list "--disable-oss" "--disable-sound" "--disable-video" + ;; The following flag is Linux specific. + ,@(if (hurd-triplet? (or (%current-system) + (%current-target-system))) + '() + '("--enable-epoll")) "--enable-ext-sound" "--disable-speex-aec" "--disable-g711-codec" -- cgit v1.2.3 From 3c566eba1951dbcdb162fb20e249bbaac87a4c4a Mon Sep 17 00:00:00 2001 From: Martin Becze Date: Thu, 30 Apr 2020 11:21:38 -0500 Subject: gnu: Add guile3.0-ncurses. * gnu/packages/guile-xyz.scm (guile-ncurses)[arguments]: Use Guile effective version instead of hardcoding the version number in the libary path. Also import the required module to do that. (guile3.0-ncurses): New variable. Signed-off-by: Mathieu Othacehe --- gnu/packages/guile-xyz.scm | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 6ec1c4c2fc..de76f3b6d0 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -23,7 +23,7 @@ ;;; Copyright © 2019 swedebugia ;;; Copyright © 2019, 2020 Amar Singh ;;; Copyright © 2019 Timothy Sample -;;; Copyright © 2019 Martin Becze +;;; Copyright © 2019, 2020 Martin Becze ;;; Copyright © 2020 Evan Straw ;;; ;;; This file is part of GNU Guix. @@ -1833,7 +1833,13 @@ (define-public guile-ncurses ("guile" ,guile-2.2))) (native-inputs `(("pkg-config" ,pkg-config))) (arguments - '(#:configure-flags (list "--with-ncursesw" ; Unicode support + `(#:modules ((guix build gnu-build-system) + ((guix build guile-build-system) + #:select (target-guile-effective-version)) + (guix build utils)) + #:imported-modules ((guix build guile-build-system) + ,@%gnu-build-system-modules) + #:configure-flags (list "--with-ncursesw" ; Unicode support "--with-gnu-filesystem-hierarchy") #:phases (modify-phases %standard-phases @@ -1848,8 +1854,8 @@ (define-public guile-ncurses (files (find-files dir ".scm"))) (substitute* files (("\"libguile-ncurses\"") - (format #f "\"~a/lib/guile/2.2/libguile-ncurses\"" - out))) + (format #f "\"~a/lib/guile/~a/libguile-ncurses\"" + out (target-guile-effective-version)))) #t)))))) (home-page "https://www.gnu.org/software/guile-ncurses/") (synopsis "Guile bindings to ncurses") @@ -1858,6 +1864,14 @@ (define-public guile-ncurses library.") (license license:lgpl3+))) +(define-public guile3.0-ncurses + (package + (inherit guile-ncurses) + (name "guile3.0-ncurses") + (version "3.0") + (inputs `(("ncurses" ,ncurses) + ("guile" ,guile-3.0))))) + (define-public guile-ncurses/gpm (package (inherit guile-ncurses) -- cgit v1.2.3 From 87001355cc8c578898a9b1e756e6a0e9e7cc2b0a Mon Sep 17 00:00:00 2001 From: Martin Becze Date: Thu, 30 Apr 2020 11:58:57 -0500 Subject: gnu: Add guile3.0-ncurses-with-gpm. * gnu/packages/guile-xyz.scm (guile3.0-ncurses/gpm): New variable. Signed-off-by: Mathieu Othacehe --- gnu/packages/guile-xyz.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index de76f3b6d0..8075e8c21a 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1879,6 +1879,13 @@ (define-public guile-ncurses/gpm (inputs `(("ncurses" ,ncurses/gpm) ("guile" ,guile-2.2))))) +(define-public guile3.0-ncurses/gpm + (package + (inherit guile3.0-ncurses) + (name "guile3.0-ncurses-with-gpm") + (inputs `(("ncurses" ,ncurses/gpm) + ("guile" ,guile-3.0))))) + (define-public guile-lib (package (name "guile-lib") -- cgit v1.2.3 From 7c65fc378cf68b598965fd977f5844050435ac97 Mon Sep 17 00:00:00 2001 From: Björn Höfling Date: Tue, 28 Apr 2020 13:51:31 +0200 Subject: doc: Fix building the cookbook. Fixes . Reported by "operator.name" . * doc/build.scm (%languages): Add smaller list for the cookbook. (syntax-highlighted-html): Adapt regexp for mono-node files to include the cookbook. --- doc/build.scm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/doc/build.scm b/doc/build.scm index 3907b49caf..2b6d0c4aea 100644 --- a/doc/build.scm +++ b/doc/build.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019, 2020 Ludovic Courtès +;;; Copyright © 2020 Björn Höfling ;;; ;;; This file is part of GNU Guix. ;;; @@ -58,7 +59,10 @@ (define %manual "guix")) (define %languages - '("de" "en" "es" "fr" "ru" "zh_CN")) + ;; The cookbook is currently only translated into German. + (if (string=? %manual "guix-cookbook") + '("de" "en") + '("de" "en" "es" "fr" "ru" "zh_CN"))) (define (texinfo-manual-images source) "Return a directory containing all the images used by the user manual, taken @@ -451,7 +455,9 @@ (define (html? file stat) (lambda (mono) (let ((anchors (collect-anchors mono))) (process-html mono anchors))) - (find-files #$input "^guix(\\.[a-zA-Z_-]+)?\\.html$")) + (find-files + #$input + "^guix(-cookbook|)(\\.[a-zA-Z_-]+)?\\.html$")) ;; Next process the multi-node HTML files in two phases: (1) ;; collect the list of anchors, and (2) perform -- cgit v1.2.3 From f59cc03b569ec7b2d96cdd5474685984640fc074 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Mon, 27 Apr 2020 13:07:13 +0300 Subject: gnu: Add emacs-gitlab-snip-helm. * gnu/packages/emacs-xyz.scm (emacs-gitlab-snip-helm): New variable. --- 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 d9a3c2acc3..cb9405acf0 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7515,6 +7515,29 @@ (define-public emacs-gitlab-ci-mode via @code{gitlab-ci-lint}.") (license license:gpl3+))) +(define-public emacs-gitlab-snip-helm + (package + (name "emacs-gitlab-snip-helm") + (version "0.0.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/sasanidas/gitlab-snip-helm.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1c5js19zyb1z61hapvbfcl5jhrjqij46cxldgqij6al0scw44dga")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-helm" ,emacs-helm))) + (home-page "https://gitlab.com/sasanidas/gitlab-snip-helm/") + (synopsis "GitLab snippet API interaction for Emacs") + (description "This package provides GitLab snippet API interaction for +Emacs.") + (license license:gpl3+))) + (define-public emacs-web-mode (package (name "emacs-web-mode") -- cgit v1.2.3 From 39f1806ca1d04b9aee70e897e06466aadbbee152 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Thu, 9 Apr 2020 15:56:42 +0200 Subject: gnu: Add warsow-qfusion. * gnu/local.mk (warsow-qfusion): New variable. --- gnu/local.mk | 1 + gnu/packages/game-development.scm | 78 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) diff --git a/gnu/local.mk b/gnu/local.mk index 812253b192..461102ebdd 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1527,6 +1527,7 @@ dist_patch_DATA = \ %D%/packages/patches/vsearch-unbundle-cityhash.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt1.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt2.patch \ + %D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch \ %D%/packages/patches/weasyprint-library-paths.patch \ %D%/packages/patches/websocketpp-fix-for-boost-1.70.patch \ %D%/packages/patches/wicd-bitrate-none-fix.patch \ diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index d4b2fdcab2..d2df5d864a 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -38,6 +38,7 @@ (define-module (gnu packages game-development) #:use-module (srfi srfi-1) + #:use-module (ice-9 match) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) @@ -2225,3 +2226,80 @@ (define-public libtcod developers providing an advanced true color console, input, and lots of other utilities frequently used in roguelikes.") (license license:bsd-3))) + +(define-public warsow-qfusion + ;; As of 2020-04-09, the latest stable version 2.1.0 is deprecated. + ;; The 2.5 beta as published on the homepage is commit + ;; c4de15df559410aff0ca6643724e24cddb0ecbbd + (let ((commit "c4de15df559410aff0ca6643724e24cddb0ecbbd") + (arch (match (or (%current-target-system) + (%current-system)) + ("x86_64-linux" "x86_64") + ("i686-linux" "i386") + (_ "")))) + (package + (name "warsow-qfusion") + (version (git-version "2.5" "1" commit)) ; 2.5-beta + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Warsow/qfusion/") + (commit commit) + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xv2yycr43p3xmq7lm6j6zb3cpcr6w00x7qg918faq0mw9j7v48g")) + ;; Issue reported here: https://github.com/Warsow/qfusion/issues/46 + (patches (search-patches "warsow-qfusion-fix-bool-return-type.patch")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; No tests. + #:configure-flags '("-DQFUSION_GAME=Warsow") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'change-to-build-dir + (lambda _ + (chdir "source") + #t)) + (add-after 'install 'really-install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (install-file (string-append "../source/build/basewsw/libgame_" + ,arch ".so") + (string-append out "/lib/")) + (install-file (string-append "../source/build/libui_" ,arch ".so") + (string-append out "/lib/")) + (for-each + (lambda (file) + (install-file file (string-append out "/bin/"))) + (append (find-files "../source/build" "warsow") + (find-files "../source/build" "wsw_server.")))) + #t))))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("curl" ,curl) + ("freetype" ,freetype) + ("ffmpeg" ,ffmpeg) + ("libjpeg" ,libjpeg) + ("libogg" ,libogg) + ("libpng" ,libpng) + ("libtheora" ,libtheora) + ("libvorbis" ,libvorbis) + ("mesa" ,mesa) + ("openal" ,openal) + ("pulseaudio" ,pulseaudio) + ("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative) + ("sdl2" ,sdl2) + ("uuid.h" ,util-linux) + ("zlib" ,zlib))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://github.com/Warsow/qfusion") + (synopsis "Warsow's fork of qfusion, the id Tech 2 derived game engine") + (supported-systems '("i686-linux" "x86_64-linux")) + (description + "This package contains Warsow's fork of qfusion, the id Tech 2 derived +game engine. id Tech 2 is the engine originally behind Quake 2.") + (license license:gpl2+)))) -- cgit v1.2.3 From 2515968f4985b7b72f3152c2d3265bcd8900a182 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 2 May 2020 16:44:55 +0200 Subject: Revert "gnu: Add warsow-qfusion." 'warsow-qfusion-fix-bool-return-type.patch' is missing. This reverts commit 39f1806ca1d04b9aee70e897e06466aadbbee152. --- gnu/local.mk | 1 - gnu/packages/game-development.scm | 78 --------------------------------------- 2 files changed, 79 deletions(-) diff --git a/gnu/local.mk b/gnu/local.mk index 461102ebdd..812253b192 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1527,7 +1527,6 @@ dist_patch_DATA = \ %D%/packages/patches/vsearch-unbundle-cityhash.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt1.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt2.patch \ - %D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch \ %D%/packages/patches/weasyprint-library-paths.patch \ %D%/packages/patches/websocketpp-fix-for-boost-1.70.patch \ %D%/packages/patches/wicd-bitrate-none-fix.patch \ diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index d2df5d864a..d4b2fdcab2 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -38,7 +38,6 @@ (define-module (gnu packages game-development) #:use-module (srfi srfi-1) - #:use-module (ice-9 match) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) @@ -2226,80 +2225,3 @@ (define-public libtcod developers providing an advanced true color console, input, and lots of other utilities frequently used in roguelikes.") (license license:bsd-3))) - -(define-public warsow-qfusion - ;; As of 2020-04-09, the latest stable version 2.1.0 is deprecated. - ;; The 2.5 beta as published on the homepage is commit - ;; c4de15df559410aff0ca6643724e24cddb0ecbbd - (let ((commit "c4de15df559410aff0ca6643724e24cddb0ecbbd") - (arch (match (or (%current-target-system) - (%current-system)) - ("x86_64-linux" "x86_64") - ("i686-linux" "i386") - (_ "")))) - (package - (name "warsow-qfusion") - (version (git-version "2.5" "1" commit)) ; 2.5-beta - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Warsow/qfusion/") - (commit commit) - (recursive? #t))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0xv2yycr43p3xmq7lm6j6zb3cpcr6w00x7qg918faq0mw9j7v48g")) - ;; Issue reported here: https://github.com/Warsow/qfusion/issues/46 - (patches (search-patches "warsow-qfusion-fix-bool-return-type.patch")))) - (build-system cmake-build-system) - (arguments - `(#:tests? #f ; No tests. - #:configure-flags '("-DQFUSION_GAME=Warsow") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'change-to-build-dir - (lambda _ - (chdir "source") - #t)) - (add-after 'install 'really-install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (install-file (string-append "../source/build/basewsw/libgame_" - ,arch ".so") - (string-append out "/lib/")) - (install-file (string-append "../source/build/libui_" ,arch ".so") - (string-append out "/lib/")) - (for-each - (lambda (file) - (install-file file (string-append out "/bin/"))) - (append (find-files "../source/build" "warsow") - (find-files "../source/build" "wsw_server.")))) - #t))))) - (inputs - `(("alsa-lib" ,alsa-lib) - ("curl" ,curl) - ("freetype" ,freetype) - ("ffmpeg" ,ffmpeg) - ("libjpeg" ,libjpeg) - ("libogg" ,libogg) - ("libpng" ,libpng) - ("libtheora" ,libtheora) - ("libvorbis" ,libvorbis) - ("mesa" ,mesa) - ("openal" ,openal) - ("pulseaudio" ,pulseaudio) - ("qtbase" ,qtbase) - ("qtdeclarative" ,qtdeclarative) - ("sdl2" ,sdl2) - ("uuid.h" ,util-linux) - ("zlib" ,zlib))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (home-page "https://github.com/Warsow/qfusion") - (synopsis "Warsow's fork of qfusion, the id Tech 2 derived game engine") - (supported-systems '("i686-linux" "x86_64-linux")) - (description - "This package contains Warsow's fork of qfusion, the id Tech 2 derived -game engine. id Tech 2 is the engine originally behind Quake 2.") - (license license:gpl2+)))) -- cgit v1.2.3 From 795b4bca1867e2463d7b60e7238f916e2695db6e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 2 May 2020 13:57:15 +0200 Subject: gnu: ledger: Update to 3.2.0. * gnu/packages/finance.scm (ledger): Update to 3.2.0. [arguments]: Add #:modules and #:imported-modules. Add phase 'fix-python-installation-directory'. --- gnu/packages/finance.scm | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index c31b87ec19..61d807190c 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2020 Kei Kebreau ;;; Copyright © 2020 Christopher Lemmer Webber ;;; Copyright © 2020 Tom Zander +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -197,7 +198,7 @@ (define-public homebank (define-public ledger (package (name "ledger") - (version "3.1.3") + (version "3.2.0") (source (origin (method git-fetch) @@ -206,16 +207,32 @@ (define-public ledger (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0bfnrqrd6wqgsngfpqi30xh6yy86pwl25iwzrqy44q31r0zl4mm3")))) + (base32 "1l5c9jf2wnly6ncm9civ8i7v47xld15g1y7wpl0hqwgbfyffwjci")))) (build-system cmake-build-system) (arguments - `(#:configure-flags + `(#:modules (,@%cmake-build-system-modules + ((guix build python-build-system) #:select (python-version))) + #:imported-modules (,@%cmake-build-system-modules + (guix build python-build-system)) + #:configure-flags `("-DBUILD_DOCS:BOOL=ON" "-DBUILD_WEB_DOCS:BOOL=ON" "-DUSE_PYTHON:BOOL=ON" "-DCMAKE_INSTALL_LIBDIR:PATH=lib") #:phases - (modify-phases %standard-phases + (modify-phases (@ (guix build cmake-build-system) %standard-phases) + (add-after 'unpack 'fix-python-installation-directory + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; By default the package attempts to install its Python bindings + ;; to the Python store directory, which obviously does not work. + ;; Passing -DPython_SITEARCH in #:configure-flags has no effect. + (let ((python-version (python-version (assoc-ref inputs "python"))) + (out (assoc-ref outputs "out"))) + (substitute* "src/CMakeLists.txt" + (("DESTINATION \\$\\{Python_SITEARCH\\}") + (string-append "DESTINATION " out "/lib/python" + python-version "/site-packages"))) + #t))) (add-before 'configure 'install-examples (lambda* (#:key outputs #:allow-other-keys) (let ((examples (string-append (assoc-ref outputs "out") -- cgit v1.2.3 From 61586ce9a22768926448fa16673f7c3a93ebc5c6 Mon Sep 17 00:00:00 2001 From: TomZ Date: Sat, 2 May 2020 12:20:09 +0200 Subject: gnu: qutebrowser: Update to 1.11.0 * gnu/packages/web-branch.scm (qutebrowser): Update to 1.11.0 Signed-off-by: Marius Bakke --- gnu/packages/web-browsers.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 424951cdb7..33ff3d1a74 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -338,7 +338,7 @@ (define-public lynx (define-public qutebrowser (package (name "qutebrowser") - (version "1.10.0") + (version "1.11.0") (source (origin (method url-fetch) @@ -347,7 +347,7 @@ (define-public qutebrowser "qutebrowser-" version ".tar.gz")) (sha256 (base32 - "1prvd3cysmcjfybn0dmr3ih0bl6lm5ml9i7wd09fn8hb7047mkby")))) + "0b0qlki9bp9mm41lrh6rc6qqvm4nsz8da63sby3a1f2xm9b9vvg2")))) (build-system python-build-system) (native-inputs `(("python-attrs" ,python-attrs))) ; for tests -- cgit v1.2.3 From 4c0cc7bed3de2c0e2d3a6e95b88693941e839eec Mon Sep 17 00:00:00 2001 From: Diego Nicola Barbato Date: Tue, 28 Apr 2020 13:31:54 +0200 Subject: services: syslog: Simplify 'start' method. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is a followup to d7113bb655ff80a868a9e624c913f9d23e6c63ad and e3358a831e7d5d9e8dc614340e49ea5aeb11a7ff. * gnu/services/base.scm (syslog-service-type): Change 'start' method to set umask using the #:file-creation-mask parameter of 'make-forkexec-constructor' introduced in version 0.8.0 of the Shepherd. Signed-off-by: Ludovic Courtès --- gnu/services/base.scm | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 2913478e4a..0f119cc2f9 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1316,17 +1316,13 @@ (define syslog-service-type (documentation "Run the syslog daemon (syslogd).") (provision '(syslogd)) (requirement '(user-processes)) - (start #~(let ((spawn (make-forkexec-constructor - (list #$(syslog-configuration-syslogd config) - "--rcfile" - #$(syslog-configuration-config-file config)) - #:pid-file "/var/run/syslog.pid"))) - (lambda () - ;; Set the umask such that file permissions are #o640. - (let ((mask (umask #o137)) - (pid (spawn))) - (umask mask) - pid)))) + (start #~(make-forkexec-constructor + (list #$(syslog-configuration-syslogd config) + "--rcfile" + #$(syslog-configuration-config-file config)) + ;; Set the umask such that file permissions are #o640. + #:file-creation-mask #o137 + #:pid-file "/var/run/syslog.pid")) (stop #~(make-kill-destructor)))))) ;; Snippet adapted from the GNU inetutils manual. -- cgit v1.2.3 From b1cb8b5d83dc92734840e9243d084c1c2a604321 Mon Sep 17 00:00:00 2001 From: Giacomo Leidi Date: Mon, 20 Apr 2020 23:56:13 +0200 Subject: gnu: llvm-for-extempore: Update to 3.8. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/llvm.scm (llvm-for-extempore): Update to 3.8. [source]: Use upstream patched source. * gnu/packages/patches/llvm-for-extempore.patch: Delete due to source being already patched. * gnu/local.mk (dist_patch_DATA): Remove it. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 - gnu/packages/llvm.scm | 11 ++- gnu/packages/patches/llvm-for-extempore.patch | 118 -------------------------- 3 files changed, 8 insertions(+), 122 deletions(-) delete mode 100644 gnu/packages/patches/llvm-for-extempore.patch diff --git a/gnu/local.mk b/gnu/local.mk index 812253b192..3c6c98a284 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1184,7 +1184,6 @@ dist_patch_DATA = \ %D%/packages/patches/lirc-localstatedir.patch \ %D%/packages/patches/lirc-reproducible-build.patch \ %D%/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch \ - %D%/packages/patches/llvm-for-extempore.patch \ %D%/packages/patches/lm-sensors-hwmon-attrs.patch \ %D%/packages/patches/lrcalc-includes.patch \ %D%/packages/patches/lrzip-CVE-2017-8842.patch \ diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index d6c519bcbd..33d863ae11 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2019 Arm Ltd ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2019 Brett Gilio +;;; Copyright © 2020 Giacomo Leidi ;;; ;;; This file is part of GNU Guix. ;;; @@ -627,12 +628,16 @@ (define-public clang-3.5 #:patches '("clang-3.5-libc-search-path.patch"))) (define-public llvm-for-extempore - (package (inherit llvm-3.7) + (package (inherit llvm-3.8) (name "llvm-for-extempore") (source (origin - (inherit (package-source llvm-3.7)) - (patches (list (search-patch "llvm-for-extempore.patch"))))) + (method url-fetch) + (uri (string-append "http://extempore.moso.com.au/extras/" + "llvm-3.8.0.src-patched-for-extempore.tar.xz")) + (sha256 + (base32 + "1svdl6fxn8l01ni8mpm0bd5h856ahv3h9sdzgmymr6fayckjvqzs")))) ;; Extempore refuses to build on architectures other than x86_64 (supported-systems '("x86_64-linux")))) diff --git a/gnu/packages/patches/llvm-for-extempore.patch b/gnu/packages/patches/llvm-for-extempore.patch deleted file mode 100644 index 614682c6cb..0000000000 --- a/gnu/packages/patches/llvm-for-extempore.patch +++ /dev/null @@ -1,118 +0,0 @@ -This patch to LLVM is required by the developers of the Extempore language. -The following explanation was posted to the extemporelang@googlegroups.com -mailing list: - -"There is an assumption in the parser that all definitions occur within the -same compilation unit - i.e. the parser has local state about what has been -parsed in this unit of work. Extempore obviously does lots of little units -rather than one big unit and this causes problems for named types that were -defined in another unit - which they always are. The patch simply checks the -current module to see if the type has been previously defined, and intervenes -appropriately if it has." - -Message-ID: - ---- llvm-3.7.1.src/include/llvm/MC/MCSectionCOFF.h 2015-04-11 12:11:45.000000000 +1000 -+++ llvm-3.7.1.src/include/llvm/MC/MCSectionCOFF.h 2015-09-14 09:22:56.000000000 +1000 -@@ -16,7 +16,6 @@ - - #include "llvm/ADT/StringRef.h" - #include "llvm/MC/MCSection.h" --#include "llvm/Support/COFF.h" - - namespace llvm { - class MCSymbol; - ---- llvm-3.7.1.src/lib/AsmParser/LLParser.cpp 2015-07-11 20:30:36.000000000 +1000 -+++ llvm-3.7.1.src/lib/AsmParser/LLParser.cpp 2015-09-14 09:20:57.000000000 +1000 -@@ -1754,8 +1754,14 @@ - // If the type hasn't been defined yet, create a forward definition and - // remember where that forward def'n was seen (in case it never is defined). - if (!Entry.first) { -- Entry.first = StructType::create(Context, Lex.getStrVal()); -- Entry.second = Lex.getLoc(); -+ // this here for extempore -+ if (M->getTypeByName(Lex.getStrVal())) { -+ Entry.first = M->getTypeByName(Lex.getStrVal()); -+ Entry.second = SMLoc(); -+ } else { -+ Entry.first = StructType::create(Context, Lex.getStrVal()); -+ Entry.second = Lex.getLoc(); -+ } - } - Result = Entry.first; - Lex.Lex(); - ---- llvm-3.7.1.src/lib/CodeGen/TargetLoweringObjectFileImpl.cpp 2015-07-01 05:10:31.000000000 +1000 -+++ llvm-3.7.1.src/lib/CodeGen/TargetLoweringObjectFileImpl.cpp 2015-09-14 09:23:40.000000000 +1000 -@@ -32,6 +32,7 @@ - #include "llvm/MC/MCStreamer.h" - #include "llvm/MC/MCSymbolELF.h" - #include "llvm/MC/MCValue.h" -+#include "llvm/Support/COFF.h" - #include "llvm/Support/Dwarf.h" - #include "llvm/Support/ELF.h" - #include "llvm/Support/ErrorHandling.h" - ---- llvm-3.7.1.src/lib/ExecutionEngine/MCJIT/MCJIT.cpp 2015-07-31 02:31:16.000000000 +1000 -+++ llvm-3.7.1.src/lib/ExecutionEngine/MCJIT/MCJIT.cpp 2015-09-14 09:21:28.000000000 +1000 -@@ -524,6 +524,17 @@ - rv.IntVal = APInt(32, PF(ArgValues[0].IntVal.getZExtValue())); - return rv; - } -+ if (FTy->getNumParams() == 1 && -+ RetTy->isVoidTy() && -+ FTy->getParamType(0)->isPointerTy()) { -+ GenericValue rv; -+ //void (*PF)(char *) = (void(*)(char *))(intptr_t)FPtr; -+ //printf("are symbols available: %d\n",isSymbolSearchingDisabled()); -+ void (*PF)(char *) = (void(*)(char *))FPtr; -+ char* mzone = (char*) GVTOP(ArgValues[0]); -+ PF(mzone); -+ return rv; -+ } - break; - } - } - ---- llvm-3.7.1.src/lib/MC/MCContext.cpp 2015-06-23 21:31:32.000000000 +1000 -+++ llvm-3.7.1.src/lib/MC/MCContext.cpp 2015-09-14 09:24:01.000000000 +1000 -@@ -23,6 +23,7 @@ - #include "llvm/MC/MCSymbolCOFF.h" - #include "llvm/MC/MCSymbolELF.h" - #include "llvm/MC/MCSymbolMachO.h" -+#include "llvm/Support/COFF.h" - #include "llvm/Support/ELF.h" - #include "llvm/Support/ErrorHandling.h" - #include "llvm/Support/FileSystem.h" - ---- llvm-3.7.1.src/lib/MC/MCObjectFileInfo.cpp 2015-06-25 10:28:42.000000000 +1000 -+++ llvm-3.7.1.src/lib/MC/MCObjectFileInfo.cpp 2015-09-14 09:24:17.000000000 +1000 -@@ -16,6 +16,7 @@ - #include "llvm/MC/MCSectionCOFF.h" - #include "llvm/MC/MCSectionELF.h" - #include "llvm/MC/MCSectionMachO.h" -+#include "llvm/Support/COFF.h" - using namespace llvm; - - static bool useCompactUnwind(const Triple &T) { - ---- llvm-3.7.1.src/lib/MC/MCSectionCOFF.cpp 2015-06-09 10:31:39.000000000 +1000 -+++ llvm-3.7.1.src/lib/MC/MCSectionCOFF.cpp 2015-09-14 09:24:25.000000000 +1000 -@@ -11,6 +11,7 @@ - #include "llvm/MC/MCAsmInfo.h" - #include "llvm/MC/MCContext.h" - #include "llvm/MC/MCSymbol.h" -+#include "llvm/Support/COFF.h" - #include "llvm/Support/raw_ostream.h" - using namespace llvm; - ---- llvm-3.7.1.src/lib/Target/X86/X86TargetObjectFile.cpp 2015-06-27 04:55:48.000000000 +1000 -+++ llvm-3.7.1.src/lib/Target/X86/X86TargetObjectFile.cpp 2015-09-14 09:25:03.000000000 +1000 -@@ -16,6 +16,7 @@ - #include "llvm/MC/MCSectionCOFF.h" - #include "llvm/MC/MCSectionELF.h" - #include "llvm/MC/MCValue.h" -+#include "llvm/Support/COFF.h" - #include "llvm/Support/Dwarf.h" - #include "llvm/Target/TargetLowering.h" -- cgit v1.2.3 From 7bb0ba81b394d82f56ee9d238919c7112e4666fd Mon Sep 17 00:00:00 2001 From: Giacomo Leidi Date: Mon, 20 Apr 2020 23:56:14 +0200 Subject: gnu: nanovg-for-extempore: Update to 0.7.1-0.3c60175. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gl.scm (nanovg-for-extempore): Update to 0.7.1-0.3c60175. [source]: Switch to Git source to include latest changes. [version]: Use git-version. Signed-off-by: Ludovic Courtès --- gnu/packages/gl.scm | 47 ++++++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 01241cd88e..fd2e543461 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 Pierre Neidhardt ;;; Copyright © 2020 Marius Bakke +;;; Copyright © 2020 Giacomo Leidi ;;; ;;; This file is part of GNU Guix. ;;; @@ -742,30 +743,34 @@ (define-public glfw (license license:zlib))) (define-public nanovg-for-extempore - (package - (name "nanovg-for-extempore") - (version "0.7.1") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/extemporelang/nanovg/" - "archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0ivs1sagq19xiw8jxd9f8w2b39svi0n9hrbmdvckwvqg95r8701g")))) - (build-system cmake-build-system) - (arguments `(#:tests? #f)) ; no tests included - (inputs - `(("mesa" ,mesa))) - ;; Extempore refuses to build on architectures other than x86_64 - (supported-systems '("x86_64-linux")) - (home-page "https://github.com/extemporelang/nanovg") - (synopsis "2D vector drawing library on top of OpenGL") - (description "NanoVG is small antialiased vector graphics rendering + (let ((version "0.7.1") + (revision "0") + (commit "3c60175fcc2e5fe305b04355cdce35d499c80310")) + (package + (name "nanovg-for-extempore") + (version (git-version version revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/extemporelang/nanovg.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ddn3d3mxqn8hj9967v3pss7lz1wn08pcdnqzc118g7yjkq7hxzy")))) + (build-system cmake-build-system) + (arguments `(#:tests? #f)) ; no tests included + (inputs + `(("mesa" ,mesa))) + ;; Extempore refuses to build on architectures other than x86_64 + (supported-systems '("x86_64-linux")) + (home-page "https://github.com/extemporelang/nanovg") + (synopsis "2D vector drawing library on top of OpenGL") + (description "NanoVG is small antialiased vector graphics rendering library for OpenGL. It has lean API modeled after HTML5 canvas API. It is aimed to be a practical and fun toolset for building scalable user interfaces and visualizations.") - (license license:zlib))) + (license license:zlib)))) (define-public gl2ps (package -- cgit v1.2.3 From fc570fab8039f5090997b082930db812846be5bf Mon Sep 17 00:00:00 2001 From: Giacomo Leidi Date: Mon, 20 Apr 2020 23:56:15 +0200 Subject: gnu: portmidi-for-extempore: Update to 217-0.8602f54. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/music.scm (portmidi-for-extempore): Update to 217-0.8602f54. [version]: Use git-version to include latest changes. Signed-off-by: Ludovic Courtès --- gnu/packages/music.scm | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 7e8f5e581e..5227f450aa 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1979,24 +1979,27 @@ (define-public portmidi (license license:expat))) (define-public portmidi-for-extempore - (package (inherit portmidi) - (name "portmidi-for-extempore") - (version "217") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/extemporelang/portmidi.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1inriyrjf7xx2b7r54x0vmf9ngyqgr7g5060c22bwkbsgg53apzv")))) - (build-system cmake-build-system) - (arguments `(#:tests? #f)) ; no tests - (native-inputs '()) - ;; Extempore refuses to build on architectures other than x86_64 - (supported-systems '("x86_64-linux")) - (home-page "https://github.com/extemporelang/portmidi/"))) + (let ((version "217") + (revision "0") + (commit "8602f548f71daf5ef638b2f7d224753400cb2158")) + (package (inherit portmidi) + (name "portmidi-for-extempore") + (version (git-version version revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/extemporelang/portmidi.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1qidzl1s3kzhczzm96rcd2ppn27a97k2axgfh1zhvyf0s52d7m4w")))) + (build-system cmake-build-system) + (arguments `(#:tests? #f)) ; no tests + (native-inputs '()) + ;; Extempore refuses to build on architectures other than x86_64 + (supported-systems '("x86_64-linux")) + (home-page "https://github.com/extemporelang/portmidi/")))) (define-public python-pyportmidi (package -- cgit v1.2.3 From 3ff2d2708cbece9985ee34b73e4b4d4be81eeafb Mon Sep 17 00:00:00 2001 From: Giacomo Leidi Date: Mon, 20 Apr 2020 23:56:16 +0200 Subject: gnu: extempore: Update to 0.8.6. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/music.scm (extempore): Update to 0.8.6. [snippets]: Delete bundled dependencies. [patches]: Add it. * gnu/packages/patches/extempore-unbundle-external-dependencies.patch: Patch CMakeLists.txt to use system libraries. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/music.scm | 87 +++++++------ .../extempore-unbundle-external-dependencies.patch | 140 +++++++++++++++++++++ 3 files changed, 188 insertions(+), 40 deletions(-) create mode 100644 gnu/packages/patches/extempore-unbundle-external-dependencies.patch diff --git a/gnu/local.mk b/gnu/local.mk index 3c6c98a284..9eb64b47b3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -879,6 +879,7 @@ dist_patch_DATA = \ %D%/packages/patches/evolution-data-server-libical-compat.patch \ %D%/packages/patches/exiv2-CVE-2017-14860.patch \ %D%/packages/patches/exiv2-CVE-2017-14859-14862-14864.patch \ + %D%/packages/patches/extempore-unbundle-external-dependencies.patch \ %D%/packages/patches/extundelete-e2fsprogs-1.44.patch \ %D%/packages/patches/fastcap-mulGlobal.patch \ %D%/packages/patches/fastcap-mulSetup.patch \ diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 5227f450aa..1e56154854 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -27,6 +27,7 @@ ;;; Copyright © 2019, 2020 Alexandros Theodotou ;;; Copyright © 2020 Vincent Legoll ;;; Copyright © 2020 Lars-Dominik Braun +;;; Copyright © 2020 Giacomo Leidi ;;; ;;; This file is part of GNU Guix. ;;; @@ -625,63 +626,73 @@ (define-public easytag (define-public extempore (package (name "extempore") - (version "0.7.0") + (version "0.8.6") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/digego/extempore.git") - (commit version))) + (commit (string-append "v" version)))) (sha256 (base32 - "12fsp7zkfxb9kykwq46l88kcbbici9arczrrsl4qn87m6vm5349l")) - (file-name (string-append name "-" version "-checkout")))) + "182jy23qv115dipny7kglwbn21z55dp253w1ykm0kh8n6vkgs7gp")) + (file-name (git-file-name name version)) + (patches (search-patches + "extempore-unbundle-external-dependencies.patch")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove bundled sources. + (map delete-file-recursively + '("src/portaudio" + "src/pcre")) + #t)))) (build-system cmake-build-system) (arguments - `(;; The default target also includes ahead-of-time compilation of the - ;; standard libraries. However, during the "install" phase this would - ;; happen *again* for unknown reasons. Hence we only build the - ;; extempore executable during the build phase. - #:make-flags '("extempore") - #:configure-flags '("-DJACK=ON" - ;; We want to distribute. - "-DIN_TREE=OFF" - ;; Don't download any dependencies. - "-DBUILD_DEPS=OFF") + `(#:configure-flags (list "-DJACK=ON" + "-DPACKAGE=ON" + "-DEXTERNAL_SHLIBS_AUDIO=OFF" + "-DEXTERNAL_SHLIBS_GRAPHICS=OFF" + "-DCMAKE_BUILD_TYPE=Release" + (string-append "-DEXT_SHARE_DIR=" + (assoc-ref %outputs "out") + "/share")) #:modules ((ice-9 match) (guix build cmake-build-system) (guix build utils)) #:phases (modify-phases %standard-phases + (add-after 'build 'build-aot-libs + (lambda _ + (for-each (lambda (target) + (invoke "make" target)) + '("aot_base" + "aot_math" + "aot_instruments")) + #t)) + (add-after 'unpack 'patch-install-locations + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "CMakeLists.txt" + (("EXT_SHARE_DIR=\"\\.\"\\)") + "EXT_SHARE_DIR=\"${EXT_SHARE_DIR}/extempore\")") + (("DESTINATION \"\\.\"\\)") "DESTINATION bin)") + (("DESTINATION \"\\.\"\n") "DESTINATION share/extempore\n")) + #t)) (add-after 'unpack 'patch-directories (lambda* (#:key outputs #:allow-other-keys) - ;; Rewrite default path to runtime directory - (substitute* "src/Extempore.cpp" - (("runtimedir \\+= \"runtime\"") - (string-append "runtimedir = \"" - (assoc-ref outputs "out") - "/lib/extempore/runtime\""))) (substitute* "extras/extempore.el" (("\\(runtime-directory \\(concat default-directory \"runtime\"\\)\\)") (string-append "(runtime-directory \"" (assoc-ref outputs "out") - "/lib/extempore/runtime" + "/share/extempore/runtime" "\")"))) #t)) (add-after 'unpack 'link-with-additional-libs (lambda _ ;; The executable must be linked with libffi and zlib. (substitute* "CMakeLists.txt" - (("add_dependencies\\(aot_extended extended_deps\\)") "") (("target_link_libraries\\(extempore PRIVATE dl" line) (string-append line " ffi z"))) #t)) - ;; FIXME: AOT compilation of the nanovg bindings fail with the error: - ;; "Compiler Error could not bind _nvgLinearGradient" - (add-after 'unpack 'disable-nanovg - (lambda _ - (substitute* "CMakeLists.txt" - (("aotcompile_lib\\(libs/external/nanovg.xtm.*") "")) - #t)) ;; FIXME: All examples that are used as tests segfault for some ;; unknown reason. (add-after 'unpack 'disable-broken-tests @@ -710,20 +721,16 @@ (define-public extempore ("gl/glcompat-directbind" "libGL.so" "mesa"))) #t)) (add-after 'unpack 'use-own-llvm - (lambda* (#:key inputs #:allow-other-keys) - (setenv "EXT_LLVM_DIR" (assoc-ref inputs "llvm")) - ;; Our LLVM builds shared libraries, so Extempore should use - ;; those. - (substitute* "CMakeLists.txt" - (("CMAKE_STATIC_LIBRARY") "CMAKE_SHARED_LIBRARY")) - #t)) + (lambda* (#:key inputs #:allow-other-keys) + (setenv "EXT_LLVM_DIR" (assoc-ref inputs "llvm")) + ;; Our LLVM builds shared libraries, so Extempore should use + ;; those. + (substitute* "CMakeLists.txt" + (("CMAKE_STATIC_LIBRARY") "CMAKE_SHARED_LIBRARY")) + #t)) (add-after 'unpack 'fix-aot-compilation (lambda* (#:key outputs #:allow-other-keys) (substitute* "CMakeLists.txt" - ;; EXT_SHARE_DIR does not exist before installation, so the - ;; working directory should be the source directory instead. - (("WORKING_DIRECTORY \\$\\{EXT_SHARE_DIR\\}") - "WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}") ;; Extempore needs to be told where the runtime is to be found. ;; While we're at it we disable automatic tuning for a specific ;; CPU to make binary substitution possible. diff --git a/gnu/packages/patches/extempore-unbundle-external-dependencies.patch b/gnu/packages/patches/extempore-unbundle-external-dependencies.patch new file mode 100644 index 0000000000..e9484f7994 --- /dev/null +++ b/gnu/packages/patches/extempore-unbundle-external-dependencies.patch @@ -0,0 +1,140 @@ +Remove build machinery for bundled dependencies. + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 89e6125e..c5e90750 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -36,7 +36,7 @@ endif() + if(PACKAGE) + # this needs to be set before project() is called + set(CMAKE_OSX_DEPLOYMENT_TARGET 10.12) +- set(ASSETS ON) # necessary for packaging ++ set(ASSETS OFF) # necessary for packaging + message(STATUS "Building Extempore for binary distribution (assets directory will be downloaded)") + endif() + +@@ -134,71 +134,6 @@ else() + message(FATAL_ERROR "Sorry, Extempore isn't supported on this platform - macOS, Linux & Windows only.") + endif() + +-######## +-# PCRE # +-######## +- +-# current in-tree PCRE version: 8.38 +- +-add_library(pcre STATIC +- # headers +- src/pcre/config.h +- src/pcre/pcre.h +- src/pcre/ucp.h +- # source files +- src/pcre/pcre_chartables.c +- src/pcre/pcre_compile.c +- src/pcre/pcre_exec.c +- src/pcre/pcre_globals.c +- src/pcre/pcre_internal.h +- src/pcre/pcre_newline.c +- src/pcre/pcre_tables.c +- ) +- +-target_compile_definitions(pcre +- PRIVATE -DHAVE_CONFIG_H +- ) +- +-if(PACKAGE) +- target_compile_options(pcre +- PRIVATE -mtune=generic) +-endif() +- +-############# +-# portaudio # +-############# +- +-add_library(portaudio STATIC +- src/portaudio/src/common/pa_allocation.c +- src/portaudio/src/common/pa_allocation.h +- src/portaudio/src/common/pa_converters.c +- src/portaudio/src/common/pa_converters.h +- src/portaudio/src/common/pa_cpuload.c +- src/portaudio/src/common/pa_cpuload.h +- src/portaudio/src/common/pa_debugprint.c +- src/portaudio/src/common/pa_debugprint.h +- src/portaudio/src/common/pa_dither.c +- src/portaudio/src/common/pa_dither.h +- src/portaudio/src/common/pa_endianness.h +- src/portaudio/src/common/pa_front.c +- src/portaudio/src/common/pa_hostapi.h +- src/portaudio/src/common/pa_memorybarrier.h +- src/portaudio/src/common/pa_process.c +- src/portaudio/src/common/pa_process.h +- src/portaudio/src/common/pa_ringbuffer.c +- src/portaudio/src/common/pa_ringbuffer.h +- src/portaudio/src/common/pa_stream.c +- src/portaudio/src/common/pa_stream.h +- src/portaudio/src/common/pa_trace.c +- src/portaudio/src/common/pa_trace.h +- src/portaudio/src/common/pa_types.h +- src/portaudio/src/common/pa_util.h +- ) +- +-target_include_directories(portaudio +- PRIVATE src/portaudio/include +- PRIVATE src/portaudio/src/common) +- + # platform-specific + + if(APPLE) +@@ -224,25 +159,8 @@ if(APPLE) + + elseif(UNIX AND NOT APPLE) + # use ALSA on Linux +- target_sources(portaudio +- PRIVATE src/portaudio/src/hostapi/alsa/pa_linux_alsa.c +- PRIVATE src/portaudio/src/os/unix/pa_unix_hostapis.c +- PRIVATE src/portaudio/src/os/unix/pa_unix_util.c +- ) +- target_include_directories(portaudio +- PRIVATE src/portaudio/src/os/unix) +- target_compile_definitions(portaudio +- PRIVATE -DPA_USE_ALSA) +- target_link_libraries(portaudio +- PRIVATE asound) + + if(JACK) +- target_sources(portaudio +- PRIVATE src/portaudio/src/hostapi/jack/pa_jack.c) +- target_compile_definitions(portaudio +- PRIVATE -DPA_USE_JACK) +- target_link_libraries(portaudio +- PRIVATE jack) + endif() + + elseif(WIN32) +@@ -292,8 +210,6 @@ if(ASIO) + endif() + + if(PACKAGE) +- target_compile_options(portaudio +- PRIVATE -mtune=generic) + endif() + + ############## +@@ -411,8 +327,6 @@ endif() + + # dependencies + +-add_dependencies(extempore pcre portaudio) +- + if(BUILD_LLVM) + if(WIN32) + add_dependencies(extempore LLVM-install) +@@ -553,7 +467,7 @@ else() + install(TARGETS extempore + RUNTIME + DESTINATION ".") +- install(DIRECTORY assets runtime libs examples tests ++ install(DIRECTORY runtime libs examples + DESTINATION "." + PATTERN ".DS_Store" EXCLUDE) + endif() -- cgit v1.2.3 From 5af2a8fe96e02bd694eae0ee467df25fd4ff1b24 Mon Sep 17 00:00:00 2001 From: Giacomo Leidi Date: Mon, 20 Apr 2020 23:56:17 +0200 Subject: gnu: emacs-extempore-mode: Update to 0.0.0-1.09518ae. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs-xyz.scm (emacs-extempore-mode): Update to to 0.0.0-1.09518ae. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index cb9405acf0..bf72133a88 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -2455,7 +2455,7 @@ (define-public emacs-d-mode (define-public emacs-extempore-mode ;; Use the latest commit at time of packaging. There are no releases or tags. - (let ((commit "848ad0084f27b92d1cf98dabffbad29f959a642d") + (let ((commit "09518ae6650d7be33a4633a4c0f31b7130d04c6e") (revision "1")) (package (name "emacs-extempore-mode") @@ -2468,7 +2468,7 @@ (define-public emacs-extempore-mode (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "00wr025php7nl33x541s9rjm99hj0jbdcmnw9ljx5hqpm04aqm7c")))) + (base32 "0hfza9lzdsz94gxhmzyp9fwviscv19rmnjgd0q613faayn11sjsp")))) (build-system emacs-build-system) (home-page "https://github.com/extemporelang/extempore-emacs-mode") (synopsis "Emacs major mode for Extempore source files") -- cgit v1.2.3 From afc57916e5398737e13d94b3823983783221eb63 Mon Sep 17 00:00:00 2001 From: Stefan Date: Sun, 26 Apr 2020 21:21:38 +0200 Subject: linux-boot: Allow the root file system to be mounted via NFS. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/build/linux-boot.scm (boot-system) Treat a root option with ":/" as an nfs source and avoid to call 'canonicalize-device-spec' for it. Signed-off-by: Ludovic Courtès --- gnu/build/linux-boot.scm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm index 4fb711b8f2..05e833c0c6 100644 --- a/gnu/build/linux-boot.scm +++ b/gnu/build/linux-boot.scm @@ -534,10 +534,13 @@ (define root-fs-options ;; The "--root=SPEC" kernel command-line option always provides a ;; string, but the string can represent a device, a UUID, or a ;; label. So check for all three. - (let ((root (cond ((string-prefix? "/" root) root) - ((uuid root) => identity) - (else (file-system-label root))))) - (mount-root-file-system (canonicalize-device-spec root) + (let ((device-spec (cond ((string-prefix? "/" root) root) + ((uuid root) => identity) + ((string-contains root ":/") #f) ; nfs + (else (file-system-label root))))) + (mount-root-file-system (if device-spec + (canonicalize-device-spec device-spec) + root) root-fs-type #:volatile-root? volatile-root? #:flags root-fs-flags -- cgit v1.2.3