aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/audio.scm26
-rw-r--r--gnu/packages/check.scm9
-rw-r--r--gnu/packages/compression.scm4
-rw-r--r--gnu/packages/debian.scm38
-rw-r--r--gnu/packages/disk.scm61
-rw-r--r--gnu/packages/dns.scm21
-rw-r--r--gnu/packages/education.scm18
-rw-r--r--gnu/packages/emacs-xyz.scm176
-rw-r--r--gnu/packages/emulators.scm4
-rw-r--r--gnu/packages/finance.scm25
-rw-r--r--gnu/packages/games.scm8
-rw-r--r--gnu/packages/gl.scm47
-rw-r--r--gnu/packages/gnome.scm4
-rw-r--r--gnu/packages/guile-xyz.scm29
-rw-r--r--gnu/packages/hardware.scm118
-rw-r--r--gnu/packages/haskell-apps.scm4
-rw-r--r--gnu/packages/jami.scm361
-rw-r--r--gnu/packages/linux.scm31
-rw-r--r--gnu/packages/llvm.scm11
-rw-r--r--gnu/packages/lxde.scm34
-rw-r--r--gnu/packages/mail.scm10
-rw-r--r--gnu/packages/music.scm132
-rw-r--r--gnu/packages/networking.scm45
-rw-r--r--gnu/packages/patches/extempore-unbundle-external-dependencies.patch140
-rw-r--r--gnu/packages/patches/llvm-for-extempore.patch118
-rw-r--r--gnu/packages/patches/vlc-fix-test_libvlc_slaves.patch35
-rw-r--r--gnu/packages/rdf.scm4
-rw-r--r--gnu/packages/telephony.scm286
-rw-r--r--gnu/packages/text-editors.scm4
-rw-r--r--gnu/packages/upnp.scm18
-rw-r--r--gnu/packages/video.scm24
-rw-r--r--gnu/packages/web-browsers.scm4
32 files changed, 1142 insertions, 707 deletions
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index e25d0978d0..32839ab8c9 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -30,6 +30,7 @@
;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2020 Jonathan Frederickson <jonathan@terracrypt.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1855,6 +1856,31 @@ for headphone prolonged listening to disable superstereo fatigue without
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")
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 2629e88323..55733ff299 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -31,6 +31,7 @@
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
+;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2506,11 +2507,10 @@ provides a simple way to achieve this.")
(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)
@@ -2523,8 +2523,7 @@ provides a simple way to achieve this.")
(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
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index fb58d25aeb..b599f3a603 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -1942,7 +1942,7 @@ download times, and other distribution and storage costs.")
(define-public quazip
(package
(name "quazip")
- (version "0.8.1")
+ (version "0.9")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1951,7 +1951,7 @@ download times, and other distribution and storage costs.")
(file-name (git-file-name name version))
(sha256
(base32
- "1g473gnsbkvxpsv8lbsmhspn7jnq86b05zzgqh11r581v8ndvz5s"))))
+ "0psvf3d9akyyx3bckc9325nmbp97xiagf8la4vhca5xn2f430fbn"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ;no test
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 @@
#: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 @@ scratch, without requiring the availability of @code{dpkg} or @code{apt}.
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))))
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 69743980e5..f8d284cf24 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -103,16 +103,34 @@
(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)
@@ -919,9 +937,8 @@ since they are better handled by external tools.")
(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)
@@ -939,17 +956,29 @@ since they are better handled by external tools.")
(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
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index 00c99d90ad..7ac1611cbf 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -15,6 +15,7 @@
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2020 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -878,22 +879,16 @@ System (HNS) peer-to-peer network.")
(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
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 @@ Portuguese, Spanish and Italian.")
(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 @@ Portuguese, Spanish and Italian.")
`(("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
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index d09df46eb3..af62e571a5 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -1323,33 +1323,32 @@ incrementally confined in Isearch manner.")
(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)
@@ -2465,7 +2464,7 @@ work with Emacs 24 and 25.")
(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")
@@ -2478,7 +2477,7 @@ work with Emacs 24 and 25.")
(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")
@@ -7525,24 +7524,47 @@ special variables. An interface to GitLab’s CI file linter is also provided
via @code{gitlab-ci-lint}.")
(license license:gpl3+)))
-(define-public emacs-web-mode
+(define-public emacs-gitlab-snip-helm
(package
- (name "emacs-web-mode")
- (version "16")
+ (name "emacs-gitlab-snip-helm")
+ (version "0.0.2")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/fxbois/web-mode.git")
- (commit (string-append "v" version))))
+ (url "https://gitlab.com/sasanidas/gitlab-snip-helm.git")
+ (commit version)))
(file-name (git-file-name name version))
(sha256
(base32
- "17dw6a8d0p304f2sa4f9zwd8r48w2wbkc3fvbmxwlg4w12h7cwf0"))))
+ "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")
+ (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.")
@@ -13262,7 +13284,7 @@ files to be expanded upon opening them.")
(define-public emacs-parsebib
(package
(name "emacs-parsebib")
- (version "2.3.1")
+ (version "2.3.3")
(source
(origin
(method git-fetch)
@@ -13271,45 +13293,43 @@ files to be expanded upon opening them.")
(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")
+ (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
- (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.
-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+)))))
+ (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 @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.
+ (license (list license:bsd-3
+ license:gpl3+))))
(define-public emacs-biblio
(package
@@ -19529,9 +19549,9 @@ be used in @code{dired-mode}.")
(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))
@@ -19544,7 +19564,7 @@ be used in @code{dired-mode}.")
(file-name (git-file-name name version))
(sha256
(base32
- "087pk5ckx753qrn6xpka9khhlp7iqlz76w7861x90av2f5cgy6fw"))))
+ "1z1ya9xgknka3dy3b3x8zzfkxdx5jqsi8q5aqkvxjxa6n7mmqdwv"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-exwm" ,emacs-exwm)))
@@ -21122,14 +21142,14 @@ Emacs that integrate with major modes like Org-mode.")
(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)")
@@ -21143,14 +21163,14 @@ standard. This is the highest standard of its kind.")
(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)")
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 @@ multi-system game/emulator system.")
(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"
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 <kkebreau@posteo.net>
;;; Copyright © 2020 Christopher Lemmer Webber <cwebber@dustycloud.org>
;;; Copyright © 2020 Tom Zander <tomz@freedommail.ch>
+;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -197,7 +198,7 @@ and dynamically with report tools based on filtering and graphical charts.")
(define-public ledger
(package
(name "ledger")
- (version "3.1.3")
+ (version "3.2.0")
(source
(origin
(method git-fetch)
@@ -206,16 +207,32 @@ and dynamically with report tools based on filtering and graphical charts.")
(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")
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index caa1e8d37c..624bb9b78e 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -4856,7 +4856,7 @@ small robot living in the nano world, repair its maker.")
(define-public teeworlds
(package
(name "teeworlds")
- (version "0.7.4")
+ (version "0.7.5")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -4865,7 +4865,7 @@ small robot living in the nano world, repair its maker.")
(file-name (git-file-name name version))
(sha256
(base32
- "1lxdb1k2cdj2421vyz1z0ximzfnpkh2y4y84zpn2gqsa1nzwbryb"))
+ "169dl83q08zl4h813az8hjs4rs3dms9yjn6bnsld4fjcj0imvvc6"))
(modules '((guix build utils)
(ice-9 ftw)
(ice-9 regex)
@@ -6176,7 +6176,7 @@ affect gameplay).")
(package
(inherit chocolate-doom)
(name "crispy-doom")
- (version "5.7.2")
+ (version "5.8.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -6184,7 +6184,7 @@ affect gameplay).")
(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)
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 710c602a96..941d0adcca 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -12,6 +12,7 @@
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -742,30 +743,34 @@ and surfaces, receiving input and events.")
(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
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 0a034bec2d..cd986af643 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3776,7 +3776,7 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.")
(define-public five-or-more
(package
(name "five-or-more")
- (version "3.32.1")
+ (version "3.32.2")
(source
(origin
(method url-fetch)
@@ -3784,7 +3784,7 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.")
(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
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 3ae7e9ff92..d97aacdf6b 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -23,7 +23,7 @@
;;; Copyright © 2019 swedebugia <swedebugia@riseup.net>
;;; Copyright © 2019, 2020 Amar Singh <nly@disroot.org>
;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com>
-;;; Copyright © 2019 Martin Becze <mjbecze@riseup.net>
+;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2020 Evan Straw <evan.straw99@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -1861,7 +1861,13 @@ many readers as needed).")
("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
@@ -1876,8 +1882,8 @@ many readers as needed).")
(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")
@@ -1886,6 +1892,14 @@ many readers as needed).")
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)
@@ -1893,6 +1907,13 @@ library.")
(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")
diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm
index 114332455e..ce3f396d0a 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 <me@tobias.gr>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -18,15 +19,24 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(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)
#:use-module (guix build-system gnu)
#:use-module (guix download)
@@ -344,3 +354,111 @@ supported by the Linux kernel.")
"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)))
+
+(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)))
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 @@ to @code{cabal repl}).")
(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
diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
new file mode 100644
index 0000000000..dda787b3cd
--- /dev/null
+++ b/gnu/packages/jami.scm
@@ -0,0 +1,361 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
+;;; Copyright © 2019, 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
+;;;
+;;; 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 <http://www.gnu.org/licenses/>.
+
+(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 hurd)
+ #: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 "20200401.1.6f090de")
+
+(define* (jami-source #:key without-daemon)
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://dl.jami.net/release/tarballs/jami_"
+ %jami-version
+ ".tar.gz"))
+ (modules '((guix build utils)))
+ (snippet
+ (if without-daemon
+ '(begin
+ (delete-file-recursively "daemon/contrib"))
+ #f))
+ (sha256
+ (base32
+ "0lryx9n1jn0jsw7s10pbwivqv0d5m3jdzhdhdyg5n02v72mjvkmh"))))
+
+;; 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
+ `(("sfl-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"
+ ;; 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"
+ "--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 ((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
+ '("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
+ ;; 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
+ `(("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)
+ ("libnatpmp" ,libnatpmp)
+ ("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))
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 0f424ca828..8b8945fbea 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -4666,6 +4666,37 @@ disks and SD cards. This package provides the userland utilities.")
(inputs
`(("libuuid" ,util-linux "lib")))))
+(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 "lib")))))) ; for include files
+
(define-public freefall
(package
(name "freefall")
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index bda002e313..15e15281a7 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -14,6 +14,7 @@
;;; Copyright © 2019 Arm Ltd <David.Truby@arm.com>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
+;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -677,12 +678,16 @@ output), and Binutils.")
#: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/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 @@ with freedesktop.org standard.")
`(("bash" ,bash)
("cairo" ,cairo)
("curlftpfs" ,curlftpfs)
- ("dbus" ,dbus)
("eudev" ,eudev)
("fakeroot" ,fakeroot)
("ffmpegthumbnailer" ,ffmpegthumbnailer)
@@ -288,6 +288,7 @@ with freedesktop.org standard.")
("gtk+" ,gtk+)
("ifuse" ,ifuse)
("jmtpfs" ,jmtpfs)
+ ("ktsuss" ,ktsuss)
("libx11" ,libx11)
("lsof" ,lsof)
("pango" ,pango)
@@ -297,12 +298,31 @@ with freedesktop.org standard.")
("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
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 589b3e8839..ef3b3eb5f6 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -23,7 +23,7 @@
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2017, 2018 Rene Saavedra <pacoon@protonmail.com>
+;;; Copyright © 2017, 2018, 2020 Rene Saavedra <pacoon@protonmail.com>
;;; Copyright © 2018, 2019, 2020 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
@@ -2752,14 +2752,14 @@ tools and applications:
(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
@@ -2777,7 +2777,7 @@ tools and applications:
`(("cyrus-sasl" ,cyrus-sasl)
("enchant" ,enchant)
("gdk-pixbuf" ,gdk-pixbuf)
- ("gmime" ,gmime-2.6)
+ ("gmime" ,gmime)
("gnutls" ,gnutls)
("gpgme" ,gpgme)
("gtk+" ,gtk+)
@@ -2785,7 +2785,9 @@ tools and applications:
("gtkspell3" ,gtkspell3)
("libcanberra" ,libcanberra)
("libesmtp" ,libesmtp)
+ ("libical" ,libical)
("libnotify" ,libnotify)
+ ("libsecret" ,libsecret)
("openldap" ,openldap)
("sqlite" ,sqlite)
("webkitgtk" ,webkitgtk)))
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 03510deeda..8738c1eeeb 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -27,6 +27,7 @@
;;; Copyright © 2019, 2020 Alexandros Theodotou <alex@zrythm.org>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Lars-Dominik Braun <lars@6xq.net>
+;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -625,63 +626,73 @@ MusePack, Monkey's Audio, and WavPack files.")
(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 @@ MusePack, Monkey's Audio, and WavPack files.")
("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.
@@ -1979,24 +1986,27 @@ using a system-independent interface.")
(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
@@ -2035,7 +2045,7 @@ using a system-independent interface.")
(define-public frescobaldi
(package
(name "frescobaldi")
- (version "3.1.1")
+ (version "3.1.2")
(source
(origin
(method url-fetch)
@@ -2043,7 +2053,7 @@ using a system-independent interface.")
"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
@@ -2056,7 +2066,7 @@ using a system-independent interface.")
("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
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 0962737536..76b0fc1559 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -33,7 +33,7 @@
;;; Copyright © 2019 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2019 Tonton <tonton@riseup.net>
;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com>
-;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
+;;; Copyright © 2019, 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
;;; Copyright © 2019 Daniel Schaefer <git@danielschaefer.me>
;;; Copyright © 2019 Diego N. Barbato <dnbarbato@posteo.de>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
@@ -426,6 +426,41 @@ between different versions of ØMQ.")
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")
@@ -2613,7 +2648,7 @@ communication over HTTP.")
(define-public restinio
(package
(name "restinio")
- (version "0.6.0.1")
+ (version "0.6.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2622,7 +2657,7 @@ communication over HTTP.")
(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)
@@ -2655,7 +2690,7 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
(define-public opendht
(package
(name "opendht")
- (version "2.0.0beta2")
+ (version "2.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2664,7 +2699,7 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
(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
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()
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: <CAOjrPOqoreXuZo4ZpDBvHE7M_tgAR_V8Txq5JFjh1HnGRn2EsA@mail.gmail.com>
-
---- 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"
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 <thomas@gllm.fr>
-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/rdf.scm b/gnu/packages/rdf.scm
index dec93ed97a..999c1e10f0 100644
--- a/gnu/packages/rdf.scm
+++ b/gnu/packages/rdf.scm
@@ -267,14 +267,14 @@ and triple stores.")
(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
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 7de36a105f..56a2ecb73f 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -651,13 +651,17 @@ calls and messages")
(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 @@ calls and messages")
(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)))
@@ -734,278 +734,6 @@ calls and messages")
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)))
- (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)))))
- (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")
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 @@ and Octave. TeXmacs is completely extensible via Guile.")
(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")
diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm
index c7ad33c17b..25b73189bc 100644
--- a/gnu/packages/upnp.scm
+++ b/gnu/packages/upnp.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2016, 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
+;;; Copyright © 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,6 +29,7 @@
#: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 @@ over IRC, instant messaging, network games, and most server software.")
(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
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 578468978c..41fba872c6 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1191,7 +1191,7 @@ videoformats depend on the configuration flags of ffmpeg.")
(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 @@ videoformats depend on the configuration flags of ffmpeg.")
"/vlc-" version ".tar.xz"))
(sha256
(base32
- "1xmxjpyzdhabchwncz6lvx3kzvl7fz9c42bkv3nbj68albs9w570"))
- (patches
- (search-patches
- ;; TODO: The test "libvlc_slaves" fails. Applied upstream as
- ;; <https://git.videolan.org/?p=vlc.git;a=commit;h=4186c94104ee528abd6860611b49515f3e6ec644>.
- ;; 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 @@ videoformats depend on the configuration flags of ffmpeg.")
;; 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:
- ;; <https://trac.videolan.org/vlc/ticket/22060>
- ;; <https://git.videolan.org/?p=vlc.git;a=commit;h=11449b5cd8b415768e010d9b7c1d6ba3cea21f82>
- (substitute* "modules/access/sftp.c"
- (("010801") "010900"))
#t)))
(add-after 'strip 'regenerate-plugin-cache
(lambda* (#:key outputs #:allow-other-keys)
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index f4c95745b9..62b7a5bdca 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -338,7 +338,7 @@ access.")
(define-public qutebrowser
(package
(name "qutebrowser")
- (version "1.10.0")
+ (version "1.11.0")
(source
(origin
(method url-fetch)
@@ -347,7 +347,7 @@ access.")
"qutebrowser-" version ".tar.gz"))
(sha256
(base32
- "1prvd3cysmcjfybn0dmr3ih0bl6lm5ml9i7wd09fn8hb7047mkby"))))
+ "0b0qlki9bp9mm41lrh6rc6qqvm4nsz8da63sby3a1f2xm9b9vvg2"))))
(build-system python-build-system)
(native-inputs
`(("python-attrs" ,python-attrs))) ; for tests