summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/audio.scm76
-rw-r--r--gnu/packages/dictionaries.scm34
-rw-r--r--gnu/packages/education.scm24
-rw-r--r--gnu/packages/file.scm9
-rw-r--r--gnu/packages/fonts.scm22
-rw-r--r--gnu/packages/gnupg.scm13
-rw-r--r--gnu/packages/kde-frameworks.scm30
-rw-r--r--gnu/packages/llvm.scm6
-rw-r--r--gnu/packages/ocaml.scm55
-rw-r--r--gnu/packages/package-management.scm6
-rw-r--r--gnu/packages/parallel.scm4
-rw-r--r--gnu/packages/patches/file-CVE-2018-10360.patch27
-rw-r--r--gnu/packages/photo.scm4
-rw-r--r--gnu/packages/python-web.scm11
-rw-r--r--gnu/packages/python.scm6
-rw-r--r--gnu/packages/wine.scm8
-rw-r--r--gnu/packages/wm.scm43
-rw-r--r--gnu/services/messaging.scm90
-rw-r--r--gnu/system/examples/vm-image.tmpl2
-rw-r--r--gnu/tests/messaging.scm54
21 files changed, 426 insertions, 99 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 62407351a0..b55382cc5d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -689,6 +689,7 @@ dist_patch_DATA = \
%D%/packages/patches/fcgi-2.4.0-poll.patch \
%D%/packages/patches/fifo-map-fix-flags-for-gcc.patch \
%D%/packages/patches/fifo-map-remove-catch.hpp.patch \
+ %D%/packages/patches/file-CVE-2018-10360.patch \
%D%/packages/patches/findutils-gnulib-libio.patch \
%D%/packages/patches/findutils-localstatedir.patch \
%D%/packages/patches/findutils-makedev.patch \
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 7f72531664..0b24806d92 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -17,6 +17,7 @@
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2018 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -74,6 +75,7 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages libbsd)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages libusb)
#:use-module (gnu packages llvm)
#:use-module (gnu packages mp3) ;taglib
#:use-module (gnu packages perl)
@@ -229,57 +231,79 @@ namespace ARDOUR { const char* revision = \"" version "\" ; }"))
(arguments
`(#:configure-flags '("--cxx11" ; required by gtkmm
"--no-phone-home" ; don't contact ardour.org
- "--freedesktop" ; install .desktop file
+ "--freedesktop" ; build .desktop file
"--test") ; build unit tests
#:phases
(modify-phases %standard-phases
- (add-after
- 'unpack 'set-rpath-in-LDFLAGS
- ,(ardour-rpath-phase (version-major version))))
+ (add-after 'unpack 'set-rpath-in-LDFLAGS
+ ,(ardour-rpath-phase (version-major version)))
+ (add-after 'install 'install-freedesktop-files
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (share (string-append out "/share"))
+ (ver ,(version-major version)))
+ (for-each
+ (lambda (size)
+ (let ((dir (string-append share "/icons/hicolor/"
+ size "x" size "/apps")))
+ (mkdir-p dir)
+ (copy-file
+ (string-append "gtk2_ardour/resources/Ardour-icon_"
+ size "px.png")
+ (string-append dir "/ardour" ver ".png"))))
+ '("16" "22" "32" "48" "256"))
+ (install-file (string-append "build/gtk2_ardour/ardour"
+ ver ".desktop")
+ (string-append share "/applications/"))
+ (install-file (string-append "build/gtk2_ardour/ardour"
+ ver ".appdata.xml")
+ (string-append share "/appdata/")))
+ #t)))
#:test-target "test"
#:python ,python-2))
(inputs
`(("alsa-lib" ,alsa-lib)
+ ("atkmm" ,atkmm)
("aubio" ,aubio)
- ("lrdf" ,lrdf)
("boost" ,boost)
- ("atkmm" ,atkmm)
("cairomm" ,cairomm)
+ ("curl" ,curl)
("eudev" ,eudev)
- ("gtkmm" ,gtkmm-2)
+ ("fftw" ,fftw)
+ ("fftwf" ,fftwf)
+ ("flac" ,flac)
("glibmm" ,glibmm)
+ ("gtkmm" ,gtkmm-2)
+ ("jack" ,jack-1)
+ ("libarchive" ,libarchive)
("libart-lgpl" ,libart-lgpl)
("libgnomecanvasmm" ,libgnomecanvasmm)
- ("pangomm" ,pangomm)
("liblo" ,liblo)
- ("libsndfile" ,libsndfile)
- ("libsamplerate" ,libsamplerate)
- ("libxml2" ,libxml2)
("libogg" ,libogg)
+ ("libsamplerate" ,libsamplerate)
+ ("libsndfile" ,libsndfile)
+ ("libusb" ,libusb)
("libvorbis" ,libvorbis)
- ("flac" ,flac)
+ ("libxml2" ,libxml2)
+ ("lilv" ,lilv)
+ ("lrdf" ,lrdf)
("lv2" ,lv2)
- ("vamp" ,vamp)
- ("curl" ,curl)
- ("fftw" ,fftw)
- ("fftwf" ,fftwf)
- ("jack" ,jack-1)
+ ("pangomm" ,pangomm)
+ ("python-rdflib" ,python-rdflib)
+ ("readline" ,readline)
+ ("redland" ,redland)
+ ("rubberband" ,rubberband)
("serd" ,serd)
("sord" ,sord)
("sratom" ,sratom)
("suil" ,suil)
- ("lilv" ,lilv)
- ("readline" ,readline)
- ("redland" ,redland)
- ("rubberband" ,rubberband)
- ("libarchive" ,libarchive)
("taglib" ,taglib)
- ("python-rdflib" ,python-rdflib)))
+ ("vamp" ,vamp)))
(native-inputs
- `(("perl" ,perl)
- ("cppunit" ,cppunit)
- ("itstool" ,itstool)
+ `(("cppunit" ,cppunit)
("gettext" ,gettext-minimal)
+ ("itstool" ,itstool)
+ ("perl" ,perl)
("pkg-config" ,pkg-config)))
(home-page "http://ardour.org")
(synopsis "Digital audio workstation")
diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm
index 039ec45965..9e06ac7124 100644
--- a/gnu/packages/dictionaries.scm
+++ b/gnu/packages/dictionaries.scm
@@ -247,21 +247,41 @@ and a Python library.")
(define-public translate-shell
(package
(name "translate-shell")
- (version "0.9.6.8")
+ (version "0.9.6.9")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/soimort/" name "/archive/v"
- version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url"https://github.com/soimort/translate-shell.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "17yc2kwk8957wwxyih0jmsai720ai2yqyvmrqrglcncqg6zdbz9w"))
- (file-name (string-append name "-" version ".tar.gz"))))
+ "1xyf0vdxmbgqcgsr1gvgwh1q4fh080h68radkim6pfcwzffliszm"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure) ; no configure phase
+ (add-after 'unpack 'remove-unnecessary-file
+ ;; This file gets generated during the build phase.
+ (lambda _
+ (delete-file "translate")
+ #t))
+ (add-after 'install 'wrap-binary
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin/trans"))
+ (curl (assoc-ref inputs "curl"))
+ (fribidi (assoc-ref inputs "fribidi"))
+ (rlwrap (assoc-ref inputs "rlwrap")))
+ (wrap-program bin
+ `("PATH" ":" prefix
+ (,(string-append out "/bin:"
+ curl "/bin:"
+ fribidi "/bin:"
+ rlwrap "/bin")))))
+ #t))
(add-after 'install 'emacs-install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -277,7 +297,7 @@ and a Python library.")
(guix build emacs-utils)
(guix build utils))
#:test-target "test"))
- (propagated-inputs
+ (inputs
`(("curl" ,curl)
("fribidi" ,fribidi)
("rlwrap" ,rlwrap)))
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 567dfce58d..ef97d58a84 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -41,6 +41,7 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages sdl)
#:use-module (gnu packages texinfo)
+ #:use-module (gnu packages xorg)
#:use-module (gnu packages xml)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
@@ -115,7 +116,7 @@ of categories with some of the activities available in that category.
(define-public gcompris-qt
(package
(name "gcompris-qt")
- (version "0.91")
+ (version "0.95")
(source
(origin
(method url-fetch)
@@ -124,17 +125,17 @@ of categories with some of the activities available in that category.
version ".tar.xz"))
(sha256
(base32
- "09h098w9q79hnzla1pcpqlnnr6dbafm4q6zmdp7wlk11ym8n9kvg"))))
+ "1aaijjx2b7k1cyx59jhs64hlp1sppw1faa81qxl5lxc79vifrlrl"))))
(build-system cmake-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'patch-for-qt5.11
- (lambda _
- (substitute* "src/core/CMakeLists.txt"
- (("qt5_use_modules") "target_link_libraries")
- (("Qml Quick Gui Multimedia Network XmlPatterns Svg Xml Sensors Core")
- "Qt5::Qml Qt5::Quick Qt5::Gui Qt5::Multimedia Qt5::Core Qt5::Svg Qt5::Xml Qt5::XmlPatterns Qt5::Sensors"))
+ (add-before 'check 'start-xorg-server
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; The test suite requires a running X server.
+ (system (string-append (assoc-ref inputs "xorg-server")
+ "/bin/Xvfb :1 &"))
+ (setenv "DISPLAY" ":1")
#t))
(add-after 'install 'wrap-executable
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -152,13 +153,14 @@ of categories with some of the activities available in that category.
'("qtdeclarative" "qtgraphicaleffects"
"qtmultimedia" "qtquickcontrols"))))
#t))))
- #:configure-flags (list "-DQML_BOX2D_MODULE=disabled")
- #:tests? #f)) ; no test target
+ #:configure-flags (list "-DQML_BOX2D_MODULE=disabled"
+ "-DBUILD_TESTING=TRUE")))
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
("gettext" ,gettext-minimal)
("perl" ,perl)
- ("qttools" ,qttools)))
+ ("qttools" ,qttools)
+ ("xorg-server" ,xorg-server)))
(inputs
`(("python-2" ,python-2)
("qtbase" ,qtbase)
diff --git a/gnu/packages/file.scm b/gnu/packages/file.scm
index 78f0360c2e..4518c8d3dc 100644
--- a/gnu/packages/file.scm
+++ b/gnu/packages/file.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,6 +31,7 @@
(package
(name "file")
(version "5.33")
+ (replacement file/fixed)
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.astron.com/pub/file/file-"
@@ -51,3 +53,10 @@ extensions to tell you the type of a file, but looks at the actual contents
of the file. This package provides the libmagic library.")
(license bsd-2)
(home-page "https://www.darwinsys.com/file/")))
+
+(define file/fixed
+ (package
+ (inherit file)
+ (source
+ (origin (inherit (package-source file))
+ (patches (search-patches "file-CVE-2018-10360.patch"))))))
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index b0cb78c5cb..88315008bd 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -22,6 +22,7 @@
;;; Copyright © 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
;;; Copyright © 2018 Charlie Ritter <chewzerita@posteo.net>
+;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1351,3 +1352,24 @@ reproduction and display environments. This package provides only TrueType
files (TTF).")
(home-page "https://software.sil.org/charis/")
(license license:silofl1.1)))
+
+(define-public font-mononoki
+ (package
+ (name "font-mononoki")
+ (version "1.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/madmalik/mononoki/")
+ (commit version)))
+ (sha256
+ (base32
+ "1rkzyxn30rn8qv2h2xz324j7q15hzg2lci8790a7cdl1dfgic4xi"))
+ (file-name (git-file-name name version))))
+ (build-system font-build-system)
+ (synopsis "Font for programming and code review")
+ (description
+ "Mononoki is a typeface by Matthias Tellen, created to enhance code
+formatting.")
+ (home-page "https://madmalik.github.io/mononoki/")
+ (license license:silofl1.1)))
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 53fdc8200c..951fc05fa2 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -471,16 +471,23 @@ interface (FFI) of Guile.")
(define-public python-gpg
(package
(name "python-gpg")
- (version "1.8.0")
+ (version "1.10.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "gpg" version))
(sha256
(base32
- "1x74i6q713c0bckls7rdm8kgsmllf9qvy9x62jghszlhgjkyh9nd"))))
+ "1ji3ynhp36m1ccx7bmaq75dhij9frpn19v9mpi4aajn8csl194il"))))
(build-system python-build-system)
(arguments
- '(#:tests? #f)) ; No test suite.
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'set-environment
+ (lambda _
+ (substitute* "setup.py"
+ (("cc") (which "gcc")))
+ #t)))
+ #:tests? #f)) ; No test suite.
(inputs
`(("gpgme" ,gpgme)))
(native-inputs
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index f5a084a7e8..988bf44c3d 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -207,33 +207,6 @@ Phonon-GStreamer is a backend based on the GStreamer multimedia library.")
;; license: source files mention "either version 2.1 or 3"
(license (list license:lgpl2.1 license:lgpl3))))
-(define-public gpgmepp
- (package
- (name "gpgmepp")
- (version "16.08.2")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/applications"
- "/" version "/src/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0828qlhdi1i26n2xgyb01c0q77m6jlppbxv6mprryxq0ma88940a"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (propagated-inputs
- `(("boost" ,boost)
- ("gpgme" ,gpgme)))
- (inputs
- `(("qtbase" ,qtbase)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "C++ bindings/wrapper for gpgme")
- (description "C++ bindings/wrapper for gpgme.")
- (license license:lgpl2.1+)
- (properties `((superseded . ,gpgme)))))
-
(define-public kpmcore
(package
(name "kpmcore")
@@ -2003,7 +1976,8 @@ gallons).")
;; This test fails on i686 and aarch64
(lambda _
(substitute* "autotests/unit/file/CMakeLists.txt"
- (("metadatamovertest") ""))
+ (("^\\s*ecm_add_test\\(.* TEST_NAME metadatamovertest .*" line)
+ (string-append "# " line)))
#t))
(replace 'check
(lambda _
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index ec79bcc95c..2a3754b931 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -97,10 +97,10 @@ of programming tools as well as libraries with equivalent functionality.")
;; TODO: Build Mesa with LLVM 7 in the next staging cycle.
;; TODO: Make LLVM 7 the default LLVM once Clang is also upgraded.
-(define-public llvm-7.0.0
+(define-public llvm-7.0.1
(package (inherit llvm)
(name "llvm")
- (version "7.0.0")
+ (version "7.0.1")
(source
(origin
(method url-fetch)
@@ -108,7 +108,7 @@ of programming tools as well as libraries with equivalent functionality.")
version "/llvm-" version ".src.tar.xz"))
(sha256
(base32
- "08p27wv1pr9ql2zc3f3qkkymci46q7myvh8r5ijippnbwr2gihcb"))))))
+ "16s196wqzdw4pmri15hadzqgdi926zln3an2viwyq0kini6zr3d3"))))))
(define* (clang-runtime-from-llvm llvm hash
#:optional (patches '()))
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 3b1ddcb5b6..603db34dbd 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -10,6 +10,7 @@
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Peter Kreye <kreyepr@gmail.com>
+;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -4989,3 +4990,57 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.")
simplifying the proofs of inequalities on expressions of real numbers for the
Coq proof assistant.")
(license license:cecill-c)))
+
+(define-public dedukti
+ (package
+ (name "dedukti")
+ (version "2.6.0")
+ (home-page "https://deducteam.github.io/")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/deducteam/dedukti.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0frl3diff033i4fmq304b8wbsdnc9mvlhmwd7a3zd699ng2lzbxb"))))
+ (inputs
+ `(("menhir" ,ocaml-menhir)))
+ (native-inputs
+ `(("ocamlbuild" ,ocamlbuild)))
+ (build-system ocaml-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda _
+ (invoke "make")
+ #t))
+ (replace 'check
+ (lambda _
+ (invoke "make" "tests")
+ #t))
+ (add-before 'install 'set-binpath
+ ;; Change binary path in the makefile
+ (lambda _
+ (let ((out (assoc-ref %outputs "out")))
+ (substitute* "GNUmakefile"
+ (("BINDIR = (.*)$")
+ (string-append "BINDIR = " out "/bin"))))
+ #t))
+ (replace 'install
+ (lambda _
+ (invoke "make" "install")
+ #t)))))
+ (synopsis "Proof-checker for the λΠ-calculus modulo theory, an extension of
+the λ-calculus")
+ (description "Dedukti is a proof-checker for the λΠ-calculus modulo
+theory. The λΠ-calculus is an extension of the simply typed λ-calculus with
+dependent types. The λΠ-calculus modulo theory is itself an extension of the
+λΠ-calculus where the context contains variable declaration as well as rewrite
+rules. This system is not designed to develop proofs, but to check proofs
+developed in other systems. In particular, it enjoys a minimalistic syntax.")
+ (license license:cecill-c)))
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 3598ac4e67..9bb71dc80f 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -105,8 +105,8 @@
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "0.16.0")
- (commit "bdf860c2e99077d431da0cc1db4fc14db2a35d31")
- (revision 6))
+ (commit "6f1e0bb79266f34b50b09200b9280a641b8aa7c8")
+ (revision 7))
(package
(name "guix")
@@ -122,7 +122,7 @@
(commit commit)))
(sha256
(base32
- "0876y2pjcrwb3ynxqlpkn3pxx2iil8hrzdadh23jd6jbhvm087q1"))
+ "0xk4ki5zsliwknxc9a3lvpjzpckz8nx4dz55xmw9sydq5z5mmy50"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index df8ac180b3..25d3c0737c 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -48,7 +48,7 @@
(define-public parallel
(package
(name "parallel")
- (version "20181122")
+ (version "20181222")
(source
(origin
(method url-fetch)
@@ -56,7 +56,7 @@
version ".tar.bz2"))
(sha256
(base32
- "1mcqymf6vg8jhnjv71sswcz5xrwpq2h2ishi8m1hz8rwhc65h1ig"))))
+ "0sd39nzgff3rpyzfwkffb5yxbdm5r6amrkslbgpjlrcrymy9z305"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/patches/file-CVE-2018-10360.patch b/gnu/packages/patches/file-CVE-2018-10360.patch
new file mode 100644
index 0000000000..9285611c04
--- /dev/null
+++ b/gnu/packages/patches/file-CVE-2018-10360.patch
@@ -0,0 +1,27 @@
+https://github.com/file/file/commit/a642587a9c9e2dd7feacdf513c3643ce26ad3c22.patch
+The leading part of the patch starting at line 27 was trimmed off.
+This patch should be OK to drop with file@5.35.
+
+From a642587a9c9e2dd7feacdf513c3643ce26ad3c22 Mon Sep 17 00:00:00 2001
+From: Christos Zoulas <christos@zoulas.com>
+Date: Sat, 9 Jun 2018 16:00:06 +0000
+Subject: [PATCH] Avoid reading past the end of buffer (Rui Reis)
+
+---
+ src/readelf.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/readelf.c b/src/readelf.c
+index 79c83f9f5..1f41b4611 100644
+--- a/src/readelf.c
++++ b/src/readelf.c
+@@ -842,7 +842,8 @@ do_core_note(struct magic_set *ms, unsigned char *nbuf, uint32_t type,
+
+ cname = (unsigned char *)
+ &nbuf[doff + prpsoffsets(i)];
+- for (cp = cname; *cp && isprint(*cp); cp++)
++ for (cp = cname; cp < nbuf + size && *cp
++ && isprint(*cp); cp++)
+ continue;
+ /*
+ * Linux apparently appends a space at the end
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index 7b40c2361c..07047f4cf3 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -353,7 +353,7 @@ photographic equipment.")
(define-public darktable
(package
(name "darktable")
- (version "2.4.4")
+ (version "2.6.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -362,7 +362,7 @@ photographic equipment.")
version "/darktable-" version ".tar.xz"))
(sha256
(base32
- "0kdhmiw4wxk2w9v2hms9yk8nl4ymdshnqyj0l07nivzzr6w20hwn"))))
+ "0y04cx0a0rwdclmn16f5y0z2vnm7yxly291gzjgdhcn59a77sga8"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; There are no tests.
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index a5b4b7578d..8412325377 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -509,27 +509,28 @@ is Python’s.")
(define-public python-openid
(package
(name "python-openid")
- (version "3.0.10")
+ (version "3.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python3-openid" version))
(sha256
(base32
- "1x3nh3fycqfn43jp5j5pb4q4y2jxp4mdka4absaa3bc0078qd758"))))
+ "00l5hrjh19740w00b3fnsqldnla41wbr2rics09dl4kyd1fkd3b2"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
- (invoke "./admin/runtests")
- #t)))))
+ (invoke "coverage" "run" "-m"
+ "unittest" "openid.test.test_suite"))))))
(properties `((python2-variant . ,(delay python2-openid))))
(propagated-inputs
`(("python-defusedxml" ,python-defusedxml)))
(native-inputs
- `(("python-psycopg2" ,python-psycopg2)
+ `(("python-coverage" ,python-coverage)
+ ("python-psycopg2" ,python-psycopg2)
("python-django" ,python-django)))
(home-page "https://github.com/necaris/python3-openid")
(synopsis "OpenID support for servers and consumers")
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index bb4c5ab760..9ef0654cb8 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -12637,14 +12637,14 @@ validating Swagger API specifications.")
(define-public python-apache-libcloud
(package
(name "python-apache-libcloud")
- (version "2.3.0")
+ (version "2.4.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "apache-libcloud" version))
(sha256
- (base32
- "15xg79ad4g2xrk081ylvj41k5hmg9hl1xvbmb5hd0fqn08wfwbhf"))))
+ (base32
+ "0daj3mkzw79v5zin2r1s2wkrz1hplfc16bwj4ss68i5qjq4l2p0j"))))
(build-system python-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index 802b3dd38f..f56699f8c9 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -225,7 +225,7 @@ integrate Windows applications into your desktop.")
(define-public wine-staging-patchset-data
(package
(name "wine-staging-patchset-data")
- (version "3.21")
+ (version "4.0-rc3")
(source
(origin
(method git-fetch)
@@ -235,7 +235,7 @@ integrate Windows applications into your desktop.")
(file-name (git-file-name name version))
(sha256
(base32
- "1bxryvqw5rvhcx8vjl714jaj0rjsrh95kh3sn499rrljc3c8qsbl"))))
+ "1yx758mv605w2g7f9aj4xf09p8q5dvbf6b9h1kdvsyhm8bkrgx66"))))
(build-system trivial-build-system)
(native-inputs
`(("bash" ,bash)
@@ -276,12 +276,12 @@ integrate Windows applications into your desktop.")
(method url-fetch)
(uri (string-append
"https://dl.winehq.org/wine/source/"
- (version-major version) ".x"
+ (version-major version) ".0"
"/wine-" version ".tar.xz"))
(file-name (string-append name "-" version ".tar.xz"))
(sha256
(base32
- "1h70wb7kysbzv36i3fblyiihvalwhy6sj4s2a8nf21nz2mhc0k58"))))
+ "176cdnznbk3pikh87j5q4cjb7rky5dxikf1nr0mp8a9cycycxr7w"))))
(inputs `(("autoconf" ,autoconf) ; for autoreconf
("gtk+" ,gtk+)
("libva" ,libva)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 2e211e3892..a761bce235 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -76,6 +76,7 @@
#:use-module (gnu packages lua)
#:use-module (gnu packages linux)
#:use-module (gnu packages suckless)
+ #:use-module (gnu packages mpd)
#:use-module (guix download)
#:use-module (guix git-download))
@@ -1051,3 +1052,45 @@ its size
@item Display preview images in a tiled icon layout
@end itemize")
(license license:gpl2+)))
+
+(define-public polybar
+ (package
+ (name "polybar")
+ (version "3.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/jaagr/polybar/releases/"
+ "download/" version "/polybar.tar"))
+ (sha256
+ (base32 "0sjh3xmf11g09spi88zj7xsc3a3vv78kixab6n5i7436py7xwzb4"))
+ (file-name (string-append name "-" version ".tar"))))
+ (build-system cmake-build-system)
+ (arguments
+ ;; Test is disabled because it requires downloading googletest from the
+ ;; Internet.
+ '(#:tests? #f))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("cairo" ,cairo)
+ ("i3-wm" ,i3-wm)
+ ("libmpdclient" ,libmpdclient)
+ ("libnl" ,libnl)
+ ("libxcb" ,libxcb)
+ ("pulseaudio" ,pulseaudio)
+ ("xcb-proto" ,xcb-proto)
+ ("xcb-util" ,xcb-util)
+ ("xcb-util-cursor" ,xcb-util-cursor)
+ ("xcb-util-image" ,xcb-util-image)
+ ("xcb-util-wm" ,xcb-util-wm)
+ ("xcb-util-xrm" ,xcb-util-xrm)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("python-2" ,python-2) ; lib/xpp depends on python 2
+ ("python" ,python))) ; xcb-proto depends on python 3
+ (home-page "https://polybar.github.io/")
+ (synopsis "Fast and easy-to-use status bar")
+ (description "Polybar aims to help users build beautiful and highly
+customizable status bars for their desktop environment. It has built-in
+functionality to display information about the most commonly used services.")
+ (license license:expat)))
diff --git a/gnu/services/messaging.scm b/gnu/services/messaging.scm
index 1108006411..92f86a1b83 100644
--- a/gnu/services/messaging.scm
+++ b/gnu/services/messaging.scm
@@ -22,6 +22,8 @@
(define-module (gnu services messaging)
#:use-module (gnu packages messaging)
#:use-module (gnu packages admin)
+ #:use-module (gnu packages irc)
+ #:use-module (gnu packages tls)
#:use-module (gnu services)
#:use-module (gnu services shepherd)
#:use-module (gnu services configuration)
@@ -50,7 +52,10 @@
bitlbee-configuration
bitlbee-configuration?
bitlbee-service
- bitlbee-service-type))
+ bitlbee-service-type
+
+ quassel-configuration
+ quassel-service-type))
;;; Commentary:
;;;
@@ -895,3 +900,86 @@ configuration file."
(bitlbee bitlbee)
(interface interface) (port port)
(extra-settings extra-settings))))
+
+
+;;;
+;;; Quassel.
+;;;
+
+(define-record-type* <quassel-configuration>
+ quassel-configuration make-quassel-configuration
+ quassel-configuration?
+ (quassel quassel-configuration-quassel
+ (default quassel))
+ (interface quassel-configuration-interface
+ (default "::,0.0.0.0"))
+ (port quassel-configuration-port
+ (default 4242))
+ (loglevel quassel-configuration-loglevel
+ (default "Info")))
+
+(define quassel-shepherd-service
+ (match-lambda
+ (($ <quassel-configuration> quassel interface port loglevel)
+ (with-imported-modules (source-module-closure
+ '((gnu build shepherd)
+ (gnu system file-systems)))
+ (list (shepherd-service
+ (provision '(quassel))
+ (requirement '(user-processes networking))
+ (modules '((gnu build shepherd)
+ (gnu system file-systems)))
+ (start #~(make-forkexec-constructor/container
+ (list #$(file-append quassel "/bin/quasselcore")
+ "--configdir=/var/lib/quassel"
+ "--logfile=/var/log/quassel/core.log"
+ (string-append "--loglevel=" #$loglevel)
+ (string-append "--port=" (number->string #$port))
+ (string-append "--listen=" #$interface))
+ #:mappings (list (file-system-mapping
+ (source "/var/lib/quassel")
+ (target source)
+ (writable? #t))
+ (file-system-mapping
+ (source "/var/log/quassel")
+ (target source)
+ (writable? #t)))))
+ (stop #~(make-kill-destructor))))))))
+
+(define %quassel-account
+ (list (user-group (name "quassel") (system? #t))
+ (user-account
+ (name "quasselcore")
+ (group "quassel")
+ (system? #t)
+ (comment "Quassel daemon user")
+ (home-directory "/var/lib/quassel")
+ (shell (file-append shadow "/sbin/nologin")))))
+
+(define %quassel-activation
+ #~(begin
+ (use-modules (guix build utils))
+ (mkdir-p "/var/lib/quassel")
+ (mkdir-p "/var/log/quassel")
+ (let ((cert "/var/lib/quassel/quasselCert.pem"))
+ (unless (file-exists? cert)
+ (invoke #$(file-append openssl "/bin/openssl")
+ "req" "-x509" "-nodes" "-batch" "-days" "680" "-newkey"
+ "rsa" "-keyout" cert "-out" cert)))))
+
+(define quassel-service-type
+ (service-type (name 'quassel)
+ (extensions
+ (list (service-extension shepherd-root-service-type
+ quassel-shepherd-service)
+ (service-extension profile-service-type
+ (compose list quassel-configuration-quassel))
+ (service-extension account-service-type
+ (const %quassel-account))
+ (service-extension activation-service-type
+ (const %quassel-activation))))
+ (default-value (quassel-configuration))
+ (description
+ "Run @url{https://quassel-irc.org/,quasselcore}, the backend
+for the distributed IRC client quassel, which allows you to connect from
+multiple machines simultaneously.")))
diff --git a/gnu/system/examples/vm-image.tmpl b/gnu/system/examples/vm-image.tmpl
index 36e272722d..f149f67113 100644
--- a/gnu/system/examples/vm-image.tmpl
+++ b/gnu/system/examples/vm-image.tmpl
@@ -24,6 +24,8 @@ partprobe, and then 2) resizing the filesystem with resize2fs.\n"))
(timezone "Etc/UTC")
(locale "en_US.utf8")
+(firmware '())
+
;; Assuming /dev/sdX is the target hard disk, and "my-root" is
;; the label of the target root file system.
(bootloader (bootloader-configuration
diff --git a/gnu/tests/messaging.scm b/gnu/tests/messaging.scm
index 36afb987af..176e3d08cb 100644
--- a/gnu/tests/messaging.scm
+++ b/gnu/tests/messaging.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -29,7 +30,8 @@
#:use-module (guix store)
#:use-module (guix modules)
#:export (%test-prosody
- %test-bitlbee))
+ %test-bitlbee
+ %test-quassel))
(define (run-xmpp-test name xmpp-service pid-file create-account)
"Run a test of an OS running XMPP-SERVICE, which writes its PID to PID-FILE."
@@ -239,3 +241,53 @@
(name "bitlbee")
(description "Connect to a BitlBee IRC server.")
(value (run-bitlbee-test))))
+
+(define (run-quassel-test)
+ (define os
+ (marionette-operating-system
+ (simple-operating-system (service dhcp-client-service-type)
+ (service quassel-service-type))
+ #:imported-modules (source-module-closure
+ '((gnu services herd)))))
+
+ (define vm
+ (virtual-machine
+ (operating-system os)
+ (port-forwardings `((4242 . 4242)))))
+
+ (define test
+ (with-imported-modules '((gnu build marionette))
+ #~(begin
+ (use-modules (srfi srfi-64)
+ (gnu build marionette))
+
+ (define marionette
+ (make-marionette (list #$vm)))
+
+ (mkdir #$output)
+ (chdir #$output)
+
+ (test-begin "quassel")
+
+ (test-assert "service started"
+ (marionette-eval
+ '(begin
+ (use-modules (gnu services herd))
+ (start-service 'quassel))
+ marionette))
+
+ (test-assert "certificate file"
+ (marionette-eval
+ '(file-exists? "/var/lib/quassel/quasselCert.pem")
+ marionette))
+
+ (test-end)
+ (exit (= (test-runner-fail-count (test-runner-current)) 0)))))
+
+ (gexp->derivation "quassel-test" test))
+
+(define %test-quassel
+ (system-test
+ (name "quassel")
+ (description "Connect to a quassel IRC server.")
+ (value (run-quassel-test))))