summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-04-08 13:00:50 +0200
committerMarius Bakke <mbakke@fastmail.com>2020-04-08 13:00:50 +0200
commit27783023993f9272ce422868d14529159c4a5218 (patch)
tree9013b08aa39e497b1fd8e01a05254278d83f0ff7 /gnu
parentbe1e842ad78ac6c52fc7790f4a3ffd716673c111 (diff)
parentba6f2bda18ed19fa486a9c3e2c3baea6c66c6867 (diff)
downloadgnu-guix-27783023993f9272ce422868d14529159c4a5218.tar
gnu-guix-27783023993f9272ce422868d14529159c4a5218.tar.gz
Merge branch 'master' into core-updates
Conflicts: etc/news.scm gnu/local.mk gnu/packages/check.scm gnu/packages/cross-base.scm gnu/packages/gimp.scm gnu/packages/java.scm gnu/packages/mail.scm gnu/packages/sdl.scm gnu/packages/texinfo.scm gnu/packages/tls.scm gnu/packages/version-control.scm
Diffstat (limited to 'gnu')
-rw-r--r--gnu/bootloader/grub.scm6
-rw-r--r--gnu/ci.scm1
-rw-r--r--gnu/installer.scm30
-rw-r--r--gnu/installer/newt.scm21
-rw-r--r--gnu/installer/newt/keymap.scm33
-rw-r--r--gnu/installer/newt/page.scm4
-rw-r--r--gnu/installer/newt/parameters.scm57
-rw-r--r--gnu/installer/newt/user.scm4
-rw-r--r--gnu/installer/proxy.scm45
-rw-r--r--gnu/installer/record.scm14
-rw-r--r--gnu/local.mk23
-rw-r--r--gnu/packages/admin.scm7
-rw-r--r--gnu/packages/algebra.scm8
-rw-r--r--gnu/packages/assembly.scm4
-rw-r--r--gnu/packages/astronomy.scm120
-rw-r--r--gnu/packages/audio.scm67
-rw-r--r--gnu/packages/bioconductor.scm30
-rw-r--r--gnu/packages/bioinformatics.scm31
-rw-r--r--gnu/packages/bittorrent.scm9
-rw-r--r--gnu/packages/cdrom.scm2
-rw-r--r--gnu/packages/cedille.scm17
-rw-r--r--gnu/packages/check.scm48
-rw-r--r--gnu/packages/chromium.scm4
-rw-r--r--gnu/packages/coq.scm20
-rw-r--r--gnu/packages/cran.scm123
-rw-r--r--gnu/packages/crates-io.scm4
-rw-r--r--gnu/packages/cross-base.scm22
-rw-r--r--gnu/packages/databases.scm80
-rw-r--r--gnu/packages/debug.scm3
-rw-r--r--gnu/packages/dico.scm3
-rw-r--r--gnu/packages/diffoscope.scm9
-rw-r--r--gnu/packages/disk.scm5
-rw-r--r--gnu/packages/docker.scm5
-rw-r--r--gnu/packages/ebook.scm1
-rw-r--r--gnu/packages/emacs-xyz.scm785
-rw-r--r--gnu/packages/emulators.scm49
-rw-r--r--gnu/packages/engineering.scm17
-rw-r--r--gnu/packages/finance.scm64
-rw-r--r--gnu/packages/fonts.scm66
-rw-r--r--gnu/packages/games.scm169
-rw-r--r--gnu/packages/genimage.scm5
-rw-r--r--gnu/packages/geo.scm16
-rw-r--r--gnu/packages/gimp.scm6
-rw-r--r--gnu/packages/gnome.scm132
-rw-r--r--gnu/packages/gnunet.scm6
-rw-r--r--gnu/packages/gnuzilla.scm12
-rw-r--r--gnu/packages/golang.scm46
-rw-r--r--gnu/packages/gps.scm10
-rw-r--r--gnu/packages/graphics.scm46
-rw-r--r--gnu/packages/gtk.scm47
-rw-r--r--gnu/packages/guile-xyz.scm4
-rw-r--r--gnu/packages/guile.scm80
-rw-r--r--gnu/packages/haskell-apps.scm4
-rw-r--r--gnu/packages/hurd.scm25
-rw-r--r--gnu/packages/image-processing.scm3
-rw-r--r--gnu/packages/image-viewers.scm58
-rw-r--r--gnu/packages/image.scm61
-rw-r--r--gnu/packages/java.scm42
-rw-r--r--gnu/packages/julia.scm549
-rw-r--r--gnu/packages/kde-frameworks.scm21
-rw-r--r--gnu/packages/kde-internet.scm1
-rw-r--r--gnu/packages/linphone.scm594
-rw-r--r--gnu/packages/linux.scm144
-rw-r--r--gnu/packages/lisp-xyz.scm50
-rw-r--r--gnu/packages/lisp.scm55
-rw-r--r--gnu/packages/lxde.scm2
-rw-r--r--gnu/packages/mail.scm57
-rw-r--r--gnu/packages/man.scm9
-rw-r--r--gnu/packages/mastodon.scm9
-rw-r--r--gnu/packages/mate.scm168
-rw-r--r--gnu/packages/maths.scm196
-rw-r--r--gnu/packages/matrix.scm121
-rw-r--r--gnu/packages/messaging.scm5
-rw-r--r--gnu/packages/mingw.scm5
-rw-r--r--gnu/packages/mpi.scm12
-rw-r--r--gnu/packages/music.scm247
-rw-r--r--gnu/packages/netpbm.scm33
-rw-r--r--gnu/packages/networking.scm2
-rw-r--r--gnu/packages/nfs.scm4
-rw-r--r--gnu/packages/ntp.scm10
-rw-r--r--gnu/packages/ocaml.scm5
-rw-r--r--gnu/packages/package-management.scm2
-rw-r--r--gnu/packages/patches/beancount-disable-googleapis-fonts.patch25
-rw-r--r--gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch22
-rw-r--r--gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch137
-rw-r--r--gnu/packages/patches/calibre-msgpack-compat.patch18
-rw-r--r--gnu/packages/patches/higan-remove-march-native-flag.patch12
-rw-r--r--gnu/packages/patches/icecat-makeicecat.patch4
-rw-r--r--gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch28
-rw-r--r--gnu/packages/patches/mediastreamer2-srtp2.patch155
-rw-r--r--gnu/packages/patches/mingw-w64-dlltool-temp-prefix.patch26
-rw-r--r--gnu/packages/patches/mingw-w64-reproducible-gendef.patch23
-rw-r--r--gnu/packages/patches/pam-krb5-CVE-2020-10595.patch42
-rw-r--r--gnu/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch34
-rw-r--r--gnu/packages/patches/reprotest-support-guix.patch79
-rw-r--r--gnu/packages/patches/sdl2-mesa-compat.patch21
-rw-r--r--gnu/packages/patches/xplanet-1.3.1-cxx11-eof.patch154
-rw-r--r--gnu/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch16
-rw-r--r--gnu/packages/patches/xplanet-1.3.1-libimage_gif.c.patch54
-rw-r--r--gnu/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch15
-rw-r--r--gnu/packages/patchutils.scm2
-rw-r--r--gnu/packages/perl.scm364
-rw-r--r--gnu/packages/photo.scm10
-rw-r--r--gnu/packages/pretty-print.scm3
-rw-r--r--gnu/packages/python-check.scm30
-rw-r--r--gnu/packages/python-web.scm45
-rw-r--r--gnu/packages/python-xyz.scm732
-rw-r--r--gnu/packages/sdl.scm16
-rw-r--r--gnu/packages/security-token.scm2
-rw-r--r--gnu/packages/speech.scm22
-rw-r--r--gnu/packages/sssd.scm7
-rw-r--r--gnu/packages/statistics.scm43
-rw-r--r--gnu/packages/syncthing.scm4
-rw-r--r--gnu/packages/syndication.scm41
-rw-r--r--gnu/packages/telephony.scm147
-rw-r--r--gnu/packages/tex.scm5
-rw-r--r--gnu/packages/texinfo.scm15
-rw-r--r--gnu/packages/time.scm30
-rw-r--r--gnu/packages/tls.scm21
-rw-r--r--gnu/packages/tor.scm6
-rw-r--r--gnu/packages/version-control.scm59
-rw-r--r--gnu/packages/video.scm38
-rw-r--r--gnu/packages/vim.scm4
-rw-r--r--gnu/packages/vpn.scm61
-rw-r--r--gnu/packages/vulkan.scm2
-rw-r--r--gnu/packages/web.scm52
-rw-r--r--gnu/packages/wm.scm73
-rw-r--r--gnu/packages/xdisorg.scm43
-rw-r--r--gnu/packages/xfce.scm18
-rw-r--r--gnu/packages/xiph.scm5
-rw-r--r--gnu/services.scm9
-rw-r--r--gnu/services/base.scm130
-rw-r--r--gnu/services/desktop.scm16
-rw-r--r--gnu/services/linux.scm57
-rw-r--r--gnu/services/telephony.scm4
-rw-r--r--gnu/services/web.scm75
-rw-r--r--gnu/system.scm8
-rw-r--r--gnu/system/examples/lightweight-desktop.tmpl3
-rw-r--r--gnu/system/keyboard.scm7
-rw-r--r--gnu/system/shadow.scm5
-rw-r--r--gnu/tests/base.scm23
-rw-r--r--gnu/tests/linux-modules.scm45
142 files changed, 6611 insertions, 1450 deletions
diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm
index 0b723e824f..3f61b4a963 100644
--- a/gnu/bootloader/grub.scm
+++ b/gnu/bootloader/grub.scm
@@ -241,7 +241,11 @@ the 'share/X11/xkb/symbols/' directory of 'xkeyboard-config'."
"-i" #+(keyboard-layout->console-keymap layout)
"-o" #$output))))
- (computed-file (string-append "grub-keymap." (keyboard-layout-name layout))
+ (computed-file (string-append "grub-keymap."
+ (string-map (match-lambda
+ (#\, #\-)
+ (chr chr))
+ (keyboard-layout-name layout)))
builder))
(define (grub-setup-io config)
diff --git a/gnu/ci.scm b/gnu/ci.scm
index cd418363fb..af58450a94 100644
--- a/gnu/ci.scm
+++ b/gnu/ci.scm
@@ -132,7 +132,6 @@ SYSTEM."
(define %cross-targets
'("mips64el-linux-gnu"
- "mips64el-linux-gnuabi64"
"arm-linux-gnueabihf"
"aarch64-linux-gnu"
"powerpc-linux-gnu"
diff --git a/gnu/installer.scm b/gnu/installer.scm
index 625b7a9ca4..1060611672 100644
--- a/gnu/installer.scm
+++ b/gnu/installer.scm
@@ -113,8 +113,10 @@ version of this file."
(setlocale LC_ALL locale))
;; Restart the documentation viewer so it displays the manual in
- ;; language that corresponds to LOCALE.
- (with-error-to-port (%make-void-port "w")
+ ;; language that corresponds to LOCALE. Make sure that nothing is
+ ;; printed on the console.
+ (parameterize ((shepherd-message-port
+ (%make-void-port "w")))
(lambda ()
(stop-service 'term-tty2)
(start-service 'term-tty2 (list locale)))))))
@@ -172,7 +174,7 @@ been performed at build time."
(kmscon-update-keymap (default-keyboard-model)
layout variant))))
-(define* (compute-keymap-step)
+(define* (compute-keymap-step context)
"Return a gexp that runs the keymap-page of INSTALLER and install the
selected keymap."
#~(lambda (current-installer)
@@ -184,7 +186,7 @@ selected keymap."
"/share/X11/xkb/rules/base.xml")))
(lambda (models layouts)
((installer-keymap-page current-installer)
- layouts)))))
+ layouts '#$context)))))
(#$apply-keymap result)
result)))
@@ -193,10 +195,15 @@ selected keymap."
#:locales-name "locales"
#:iso639-languages-name "iso639-languages"
#:iso3166-territories-name "iso3166-territories"))
- (keymap-step (compute-keymap-step))
(timezone-data #~(string-append #$tzdata
"/share/zoneinfo/zone.tab")))
#~(lambda (current-installer)
+ ((installer-parameters-menu current-installer)
+ (lambda ()
+ ((installer-parameters-page current-installer)
+ (lambda _
+ (#$(compute-keymap-step 'param)
+ current-installer)))))
(list
;; Ask the user to choose a locale among those supported by
;; the glibc. Install the selected locale right away, so that
@@ -238,7 +245,8 @@ selected keymap."
(id 'keymap)
(description (G_ "Keyboard mapping selection"))
(compute (lambda _
- (#$keymap-step current-installer)))
+ (#$(compute-keymap-step 'default)
+ current-installer)))
(configuration-formatter keyboard-layout->configuration))
;; Ask the user to input a hostname for the system.
@@ -271,7 +279,7 @@ selected keymap."
(description (G_ "Services"))
(compute (lambda _
((installer-services-page current-installer))))
- (configuration-formatter system-services->configuration))
+ (configuration-formatter system-services->configuration))
;; Run a partitioning tool allowing the user to modify
;; partition tables, partitions and their mount points.
@@ -284,7 +292,7 @@ selected keymap."
((installer-partition-page current-installer))))
(configuration-formatter user-partitions->configuration))
- (installer-step
+ (installer-step
(id 'final)
(description (G_ "Configuration file"))
(compute
@@ -295,8 +303,8 @@ selected keymap."
(define guile-newt
;; Guile-Newt with 'form-watch-fd'.
;; TODO: Remove once a new release is out.
- (let ((commit "b3c885d42cfac327d3531c9d064939514ce6bf12")
- (revision "1"))
+ (let ((commit "c3cdeb0b53ac71aedabee669f57d44563c662446")
+ (revision "2"))
(package
(inherit (@ (gnu packages guile-xyz) guile-newt))
(name "guile-newt")
@@ -309,7 +317,7 @@ selected keymap."
(file-name (git-file-name name version))
(sha256
(base32
- "02p0bi6c05699idgx6gfkljhqgi8zf09clhzx81i8wa064s70r1y")))))))
+ "1gksd1lzgjjh1p9vczghg8jw995d22hm34kbsiv8rcryirv2xy09")))))))
(define (installer-program)
"Return a file-like object that runs the given INSTALLER."
diff --git a/gnu/installer/newt.scm b/gnu/installer/newt.scm
index 6c44b4acf6..a24a152984 100644
--- a/gnu/installer/newt.scm
+++ b/gnu/installer/newt.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2018, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,6 +21,7 @@
#:use-module (gnu installer utils)
#:use-module (gnu installer newt ethernet)
#:use-module (gnu installer newt final)
+ #:use-module (gnu installer newt parameters)
#:use-module (gnu installer newt hostname)
#:use-module (gnu installer newt keymap)
#:use-module (gnu installer newt locale)
@@ -44,7 +45,9 @@
(define (init)
(newt-init)
(clear-screen)
- (set-screen-size!))
+ (set-screen-size!)
+ (push-help-line
+ (format #f (G_ "Press <F1> for installation parameters."))))
(define (exit)
(newt-finish)
@@ -91,8 +94,8 @@ problem. The backtrace is displayed below. Please report it by email to \
(define (menu-page steps)
(run-menu-page steps))
-(define* (keymap-page layouts)
- (run-keymap-page layouts))
+(define* (keymap-page layouts context)
+ (run-keymap-page layouts #:context context))
(define (network-page)
(run-network-page))
@@ -109,6 +112,12 @@ problem. The backtrace is displayed below. Please report it by email to \
(define (services-page)
(run-services-page))
+(define (parameters-menu menu-proc)
+ (newt-set-help-callback menu-proc))
+
+(define (parameters-page keyboard-layout-selection)
+ (run-parameters-page keyboard-layout-selection))
+
(define newt-installer
(installer
(name 'newt)
@@ -125,4 +134,6 @@ problem. The backtrace is displayed below. Please report it by email to \
(user-page user-page)
(partition-page partition-page)
(services-page services-page)
- (welcome-page welcome-page)))
+ (welcome-page welcome-page)
+ (parameters-menu parameters-menu)
+ (parameters-page parameters-page)))
diff --git a/gnu/installer/newt/keymap.scm b/gnu/installer/newt/keymap.scm
index 2908ba7f0e..8625afaa03 100644
--- a/gnu/installer/newt/keymap.scm
+++ b/gnu/installer/newt/keymap.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2018, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
@@ -33,20 +33,32 @@
#:export (run-keymap-page
keyboard-layout->configuration))
-(define (run-layout-page layouts layout->text)
+(define (run-layout-page layouts layout->text context)
(let ((title (G_ "Layout")))
(run-listbox-selection-page
#:title title
- #:info-text (G_ "Please choose your keyboard layout.")
+ #:info-text
+ (case context
+ ((param) (G_ "Please choose your keyboard layout. \
+It will only be used during the installation process."))
+ (else (G_ "Please choose your keyboard layout. \
+It will be used during the install process, and for the installed system. \
+You can switch to different layout at any time from the parameters menu.")))
#:listbox-items layouts
#:listbox-item->text layout->text
#:sort-listbox-items? #f
- #:button-text (G_ "Exit")
+ #:button-text
+ (case context
+ ((param) (G_ "Continue"))
+ (else (G_ "Exit")))
#:button-callback-procedure
- (lambda _
- (raise
- (condition
- (&installer-step-abort)))))))
+ (case context
+ ((param) (const #t))
+ (else
+ (lambda _
+ (raise
+ (condition
+ (&installer-step-abort)))))))))
(define (run-variant-page variants variant->text)
(let ((title (G_ "Variant")))
@@ -100,7 +112,7 @@
variants))
(cut append <> <>)))
-(define* (run-keymap-page layouts)
+(define* (run-keymap-page layouts #:key (context #f))
"Run a page asking the user to select a keyboard layout and variant. LAYOUTS
is a list of supported X11-KEYMAP-LAYOUT. Return a list of two elements, the
names of the selected keyboard layout and variant."
@@ -114,7 +126,8 @@ names of the selected keyboard layout and variant."
(sort-layouts layouts)
(lambda (layout)
(gettext (x11-keymap-layout-description layout)
- "xkeyboard-config"))))))
+ "xkeyboard-config"))
+ context))))
;; Propose the user to select a variant among those supported by the
;; previously selected layout.
(installer-step
diff --git a/gnu/installer/newt/page.scm b/gnu/installer/newt/page.scm
index 9031c7d4ba..1d6b9979b4 100644
--- a/gnu/installer/newt/page.scm
+++ b/gnu/installer/newt/page.scm
@@ -231,7 +231,7 @@ input box, such as FLAG-PASSWORD."
(add-component-callback
input-visible-cb
- (lambda (component)
+ (lambda ()
(set-entry-flags input-entry
FLAG-PASSWORD
FLAG-ROLE-TOGGLE)))
@@ -486,7 +486,7 @@ the current listbox item has to be selected by key."
;; do nothing.
(add-component-callback
listbox
- (lambda (component)
+ (lambda ()
(let* ((current-key (current-listbox-entry listbox))
(listbox-keys (map car keys))
(last-key (last-listbox-key))
diff --git a/gnu/installer/newt/parameters.scm b/gnu/installer/newt/parameters.scm
new file mode 100644
index 0000000000..95112b5780
--- /dev/null
+++ b/gnu/installer/newt/parameters.scm
@@ -0,0 +1,57 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
+;;;
+;;; 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 installer newt parameters)
+ #:use-module (gnu installer proxy)
+ #:use-module (gnu installer steps)
+ #:use-module (gnu installer newt page)
+ #:use-module (guix i18n)
+ #:use-module (ice-9 match)
+ #:use-module (newt)
+ #:export (run-parameters-page))
+
+(define (run-proxy-page)
+ (define proxy
+ (run-input-page (G_ "Please enter the HTTP proxy URL. If you enter an \
+empty string, proxy usage will be disabled.")
+ (G_ "HTTP proxy configuration")
+ #:allow-empty-input? #t))
+ (if (string=? proxy "")
+ (clear-http-proxy)
+ (set-http-proxy proxy)))
+
+(define (run-parameters-page keyboard-layout-selection)
+ "Run a parameters page allowing to change the keyboard layout"
+ (let* ((items
+ (list
+ (cons (G_ "Change keyboard layout") keyboard-layout-selection)
+ (cons (G_ "Configure HTTP proxy") run-proxy-page)))
+ (result
+ (run-listbox-selection-page
+ #:info-text (G_ "Please choose one of the following parameters or \
+press ‘Back’ to go back to the installation process.")
+ #:title (G_ "Installation parameters")
+ #:listbox-items items
+ #:listbox-item->text car
+ #:sort-listbox-items? #f
+ #:listbox-height 6
+ #:button-text (G_ "Back"))))
+ (match result
+ ((_ . proc)
+ (proc))
+ (_ #f))))
diff --git a/gnu/installer/newt/user.scm b/gnu/installer/newt/user.scm
index ad711d665a..58bb86bf96 100644
--- a/gnu/installer/newt/user.scm
+++ b/gnu/installer/newt/user.scm
@@ -89,7 +89,7 @@ REAL-NAME, and HOME-DIRECTORY as the initial values in the form."
(add-component-callback
entry-name
- (lambda (component)
+ (lambda ()
(set-entry-text entry-home-directory
(string-append "/home/" (entry-value entry-name)))
@@ -99,7 +99,7 @@ REAL-NAME, and HOME-DIRECTORY as the initial values in the form."
(add-component-callback
password-visible-cb
- (lambda (component)
+ (lambda ()
(set-entry-flags entry-password
FLAG-PASSWORD
FLAG-ROLE-TOGGLE)))
diff --git a/gnu/installer/proxy.scm b/gnu/installer/proxy.scm
new file mode 100644
index 0000000000..befaf3ab0a
--- /dev/null
+++ b/gnu/installer/proxy.scm
@@ -0,0 +1,45 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
+;;;
+;;; 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 installer proxy)
+ #:use-module (gnu services herd)
+ #:export (set-http-proxy
+ clear-http-proxy))
+
+(define-syntax-rule (with-silent-shepherd exp ...)
+ (parameterize ((shepherd-message-port
+ (%make-void-port "w")))
+ exp ...))
+
+(define (set-http-proxy proxy)
+ (with-silent-shepherd
+ (with-shepherd-action 'guix-daemon
+ ('set-http-proxy proxy)
+ result
+ result)))
+
+(define (clear-http-proxy)
+ (with-silent-shepherd
+ (with-shepherd-action 'guix-daemon
+ ('set-http-proxy)
+ result
+ result)))
+
+;; Local Variables:
+;; eval: (put 'with-silent-shepherd 'scheme-indent-function 0)
+;; End:
diff --git a/gnu/installer/record.scm b/gnu/installer/record.scm
index edf73b6215..7bc22e90e0 100644
--- a/gnu/installer/record.scm
+++ b/gnu/installer/record.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2018, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37,7 +37,9 @@
installer-user-page
installer-partition-page
installer-services-page
- installer-welcome-page))
+ installer-welcome-page
+ installer-parameters-menu
+ installer-parameters-page))
;;;
@@ -61,7 +63,7 @@
(exit-error installer-exit-error)
;; procedure void -> void
(final-page installer-final-page)
- ;; procedure (layouts) -> (list layout variant)
+ ;; procedure (layouts context) -> (list layout variant)
(keymap-page installer-keymap-page)
;; procedure: (#:key supported-locales iso639-languages iso3166-territories)
;; -> glibc-locale
@@ -81,4 +83,8 @@
;; procedure void -> void
(services-page installer-services-page)
;; procedure (logo) -> void
- (welcome-page installer-welcome-page))
+ (welcome-page installer-welcome-page)
+ ;; procedure (menu-proc) -> void
+ (parameters-menu installer-parameters-menu)
+ ;; procedure (keyboard-layout-selection) -> void
+ (parameters-page installer-parameters-page))
diff --git a/gnu/local.mk b/gnu/local.mk
index f5ca0e3d8d..2197ae5775 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -28,6 +28,8 @@
# Copyright © 2019 Amin Bandali <bandali@gnu.org>
# Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
# Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
+# Copyright © 2020 R Veera Kumar <vkor@vkten.in>
+# Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz
#
# This file is part of GNU Guix.
#
@@ -319,6 +321,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/libusb.scm \
%D%/packages/libunwind.scm \
%D%/packages/lighting.scm \
+ %D%/packages/linphone.scm \
%D%/packages/linux.scm \
%D%/packages/lirc.scm \
%D%/packages/lisp.scm \
@@ -343,6 +346,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/marst.scm \
%D%/packages/mate.scm \
%D%/packages/maths.scm \
+ %D%/packages/matrix.scm \
%D%/packages/maven.scm \
%D%/packages/mc.scm \
%D%/packages/mcrypt.scm \
@@ -658,6 +662,7 @@ INSTALLER_MODULES = \
%D%/installer/locale.scm \
%D%/installer/newt.scm \
%D%/installer/parted.scm \
+ %D%/installer/proxy.scm \
%D%/installer/record.scm \
%D%/installer/services.scm \
%D%/installer/steps.scm \
@@ -668,6 +673,7 @@ INSTALLER_MODULES = \
\
%D%/installer/newt/ethernet.scm \
%D%/installer/newt/final.scm \
+ %D%/installer/newt/parameters.scm \
%D%/installer/newt/hostname.scm \
%D%/installer/newt/keymap.scm \
%D%/installer/newt/locale.scm \
@@ -761,6 +767,7 @@ dist_patch_DATA = \
%D%/packages/patches/bastet-change-source-of-unordered_set.patch \
%D%/packages/patches/bazaar-CVE-2017-14176.patch \
%D%/packages/patches/bc-fix-cross-compilation.patch \
+ %D%/packages/patches/beancount-disable-googleapis-fonts.patch \
%D%/packages/patches/beets-werkzeug-compat.patch \
%D%/packages/patches/beignet-correct-file-names.patch \
%D%/packages/patches/benchmark-unbundle-googletest.patch \
@@ -768,10 +775,13 @@ dist_patch_DATA = \
%D%/packages/patches/bidiv-update-fribidi.patch \
%D%/packages/patches/binutils-boot-2.20.1a.patch \
%D%/packages/patches/binutils-loongson-workaround.patch \
+ %D%/packages/patches/binutils-mingw-w64-specify-timestamp.patch \
+ %D%/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch \
%D%/packages/patches/blender-2.79-newer-ffmpeg.patch \
%D%/packages/patches/blender-2.79-python-3.7-fix.patch \
%D%/packages/patches/bluez-CVE-2020-0556.patch \
%D%/packages/patches/byobu-writable-status.patch \
+ %D%/packages/patches/calibre-msgpack-compat.patch \
%D%/packages/patches/calibre-no-updates-dialog.patch \
%D%/packages/patches/calibre-remove-test-bs4.patch \
%D%/packages/patches/calibre-remove-test-sqlite.patch \
@@ -1035,7 +1045,6 @@ dist_patch_DATA = \
%D%/packages/patches/hdf-eos5-remove-gctp.patch \
%D%/packages/patches/hdf-eos5-fix-szip.patch \
%D%/packages/patches/hdf-eos5-fortrantests.patch \
- %D%/packages/patches/higan-remove-march-native-flag.patch \
%D%/packages/patches/hubbub-sort-entities.patch \
%D%/packages/patches/hurd-cross.patch \
%D%/packages/patches/hplip-remove-imageprocessor.patch \
@@ -1070,6 +1079,7 @@ dist_patch_DATA = \
%D%/packages/patches/jfsutils-add-sysmacros.patch \
%D%/packages/patches/jfsutils-include-systypes.patch \
%D%/packages/patches/jsoncpp-fix-inverted-case.patch \
+ %D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \
%D%/packages/patches/libnftnl-dont-check-NFTNL_FLOWTABLE_SIZE.patch \
%D%/packages/patches/libvirt-create-machine-cgroup.patch \
@@ -1201,12 +1211,15 @@ dist_patch_DATA = \
%D%/packages/patches/mcrypt-CVE-2012-4426.patch \
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
%D%/packages/patches/libmemcached-build-with-gcc7.patch \
+ %D%/packages/patches/mediastreamer2-srtp2.patch \
%D%/packages/patches/mesa-skip-disk-cache-test.patch \
%D%/packages/patches/mescc-tools-boot.patch \
%D%/packages/patches/meson-for-build-rpath.patch \
%D%/packages/patches/metabat-fix-compilation.patch \
%D%/packages/patches/mhash-keygen-test-segfault.patch \
%D%/packages/patches/mingw-w64-6.0.0-gcc.patch \
+ %D%/packages/patches/mingw-w64-dlltool-temp-prefix.patch \
+ %D%/packages/patches/mingw-w64-reproducible-gendef.patch \
%D%/packages/patches/minisat-friend-declaration.patch \
%D%/packages/patches/minisat-install.patch \
%D%/packages/patches/mit-krb5-hurd.patch \
@@ -1282,6 +1295,7 @@ dist_patch_DATA = \
%D%/packages/patches/p7zip-CVE-2016-9296.patch \
%D%/packages/patches/p7zip-CVE-2017-17969.patch \
%D%/packages/patches/p7zip-remove-unused-code.patch \
+ %D%/packages/patches/pam-krb5-CVE-2020-10595.patch \
%D%/packages/patches/pam-mount-luks2-support.patch \
%D%/packages/patches/pango-skip-libthai-test.patch \
%D%/packages/patches/pciutils-hurd-configure.patch \
@@ -1351,6 +1365,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-3-fix-tests.patch \
%D%/packages/patches/python-3.8-fix-tests.patch \
%D%/packages/patches/python-CVE-2018-14647.patch \
+ %D%/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch \
%D%/packages/patches/python-alembic-exceptions-cause.patch \
%D%/packages/patches/python-axolotl-AES-fix.patch \
%D%/packages/patches/python-cairocffi-dlopen-path.patch \
@@ -1404,7 +1419,6 @@ dist_patch_DATA = \
%D%/packages/patches/readline-link-ncurses.patch \
%D%/packages/patches/readline-6.2-CVE-2014-2524.patch \
%D%/packages/patches/reposurgeon-add-missing-docbook-files.patch \
- %D%/packages/patches/reprotest-support-guix.patch \
%D%/packages/patches/ri-li-modernize_cpp.patch \
%D%/packages/patches/ripperx-missing-file.patch \
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
@@ -1429,7 +1443,6 @@ dist_patch_DATA = \
%D%/packages/patches/scotch-integer-declarations.patch \
%D%/packages/patches/screen-hurd-path-max.patch \
%D%/packages/patches/sdl-libx11-1.6.patch \
- %D%/packages/patches/sdl2-mesa-compat.patch \
%D%/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch \
%D%/packages/patches/seq24-rename-mutex.patch \
%D%/packages/patches/sharutils-CVE-2018-1000097.patch \
@@ -1544,6 +1557,10 @@ dist_patch_DATA = \
%D%/packages/patches/xmoto-utf8.patch \
%D%/packages/patches/xmoto-remove-glext.patch \
%D%/packages/patches/xmoto-reproducible.patch \
+ %D%/packages/patches/xplanet-1.3.1-cxx11-eof.patch \
+ %D%/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch \
+ %D%/packages/patches/xplanet-1.3.1-libimage_gif.c.patch \
+ %D%/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch \
%D%/packages/patches/xsane-fix-memory-leak.patch \
%D%/packages/patches/xsane-fix-pdf-floats.patch \
%D%/packages/patches/xsane-fix-snprintf-buffer-length.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 4e1f9afc7e..e4f9808231 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -33,6 +33,7 @@
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1291,9 +1292,10 @@ system administrator.")
;; XXX: The 'testsudoers' test series expects user 'root' to exist, but
;; the chroot's /etc/passwd doesn't have it. Turn off the tests.
#:tests? #f))
+ (native-inputs
+ `(("groff" ,groff)))
(inputs
- `(("groff" ,groff)
- ("linux-pam" ,linux-pam)
+ `(("linux-pam" ,linux-pam)
("zlib" ,zlib)
("coreutils" ,coreutils)))
(home-page "https://www.sudo.ws/")
@@ -2647,6 +2649,7 @@ shortcut syntax and completion options.")
(uri (string-append
"https://archives.eyrie.org/software/kerberos/"
"pam-krb5-" version ".tar.xz"))
+ (patches (search-patches "pam-krb5-CVE-2020-10595.patch"))
(sha256
(base32
"1qjp8i1s9bz7g6kiqrkzzkxn5pfspa4sy53b6z40fqmdf9przdfb"))))
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 4ff766eef1..81f644a37a 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -228,7 +228,7 @@ the real span of the lattice.")
(define-public pari-gp
(package
(name "pari-gp")
- (version "2.11.2")
+ (version "2.11.3")
(source (origin
(method url-fetch)
(uri (string-append
@@ -236,7 +236,7 @@ the real span of the lattice.")
version ".tar.gz"))
(sha256
(base32
- "0fck8ssmirl8fy7s4mspgrxjs5sag76xbshqlqzkcl3kqyrk4raa"))))
+ "1jd65h2psrmba2dx7rkf5qidf9ka0cwbsg20pd18k45ggr30l467"))))
(build-system gnu-build-system)
(native-inputs
`(("texlive" ,(texlive-union
@@ -270,7 +270,7 @@ PARI is also available as a C library to allow for faster computations.")
(define-public gp2c
(package
(name "gp2c")
- (version "0.0.11pl2")
+ (version "0.0.11pl3")
(source (origin
(method url-fetch)
(uri (string-append
@@ -278,7 +278,7 @@ PARI is also available as a C library to allow for faster computations.")
version ".tar.gz"))
(sha256
(base32
- "0wqsf05wgkqvmmsx7jinvzdqav6rl56sr8haibgs31nzz4x9xz9g"))))
+ "0yymbrgyjw500hqgmkj5m4nmscd7c9rs9w2c96lxgrcyab8krhrm"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)))
(inputs `(("pari-gp" ,pari-gp)))
diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm
index 9ebfe834bf..c775603445 100644
--- a/gnu/packages/assembly.scm
+++ b/gnu/packages/assembly.scm
@@ -259,7 +259,7 @@ runtime")
(define-public rgbds
(package
(name "rgbds")
- (version "0.3.10")
+ (version "0.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -268,7 +268,7 @@ runtime")
(file-name (git-file-name name version))
(sha256
(base32
- "0752fbffxgxyf3jw2iij88l05dqhppgcxy7dvk82hp4wdg4cflpq"))))
+ "15680964nlsa83nqgxk7knxajn98lddz2hg6jnn8ffmnms5wdam7"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 2ac41e17a0..076a03e5a9 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -3,6 +3,8 @@
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 by Amar Singh <nly@disroot.org>
+;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in>
+;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,22 +27,28 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
- #:use-module (gnu packages image)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages curl)
+ #:use-module (gnu packages fontutils)
#:use-module (gnu packages gettext)
- #:use-module (gnu packages version-control)
- #:use-module (gnu packages pkg-config)
- #:use-module (gnu packages xiph)
- #:use-module (gnu packages pretty-print)
- #:use-module (gnu packages algebra)
- #:use-module (gnu packages lua)
- #:use-module (gnu packages perl)
#:use-module (gnu packages gl)
- #:use-module (gnu packages qt)
- #:use-module (gnu packages gtk)
+ #:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages lua)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages netpbm)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages pretty-print)
+ #:use-module (gnu packages qt)
+ #:use-module (gnu packages version-control)
+ #:use-module (gnu packages xiph)
+ #:use-module (gnu packages xorg)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (srfi srfi-1))
@@ -289,3 +297,95 @@ Mechanics, Astrometry and Astrodynamics library.")
(license (list license:lgpl2.0+
license:gpl2+)))) ; examples/transforms.c & lntest/*.c
+(define-public xplanet
+ (package
+ (name "xplanet")
+ (version "1.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "mirror://sourceforge/xplanet/xplanet/"
+ version "/xplanet-" version ".tar.gz"))
+ (sha256
+ (base32 "1rzc1alph03j67lrr66499zl0wqndiipmj99nqgvh9xzm1qdb023"))
+ (patches
+ (search-patches
+ "xplanet-1.3.1-cxx11-eof.patch"
+ "xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch"
+ "xplanet-1.3.1-libimage_gif.c.patch"
+ "xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libx11" ,libx11)
+ ("libxscrnsaver" ,libxscrnsaver)
+ ("libice" ,libice)
+ ("freetype" ,freetype)
+ ("pango" ,pango)
+ ("giflib" ,giflib)
+ ("libjpeg", libjpeg-turbo)
+ ("libpng" ,libpng)
+ ("libtiff" ,libtiff)
+ ("netpbm" ,netpbm)
+ ("zlib" ,zlib)))
+ (arguments
+ `(#:configure-flags
+ (let ((netpbm (assoc-ref %build-inputs "netpbm")))
+ (append (list
+ ;; Give correct path for pnm.h header to configure script
+ (string-append "CPPFLAGS=-I" netpbm "/include/netpbm")
+ ;; no nasa jpl cspice support
+ "--without-cspice" )))))
+ (home-page "http://xplanet.sourceforge.net/")
+ (synopsis "Planetary body renderer")
+ (description
+ "Xplanet renders an image of a planet into an X window or file.
+All of the major planets and most satellites can be drawn and different map
+projections are also supported, including azimuthal, hemisphere, Lambert,
+Mercator, Mollweide, Peters, polyconic, orthographic and rectangular.")
+ (license license:gpl2+)))
+
+(define-public gpredict
+ (package
+ (name "gpredict")
+ (version "2.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/csete/gpredict/releases"
+ "/download/v" version
+ "/gpredict-" version ".tar.bz2"))
+ (sha256
+ (base32 "0hwf97kng1zy8rxyglw04x89p0bg07zq30hgghm20yxiw2xc8ng7"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("intltool" ,intltool)
+ ("gettext" ,gettext-minimal)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("curl" ,curl)
+ ("glib" ,glib)
+ ("goocanvas" ,goocanvas)
+ ("gtk+" ,gtk+)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-tests
+ (lambda _
+ ;; Remove reference to non-existent file.
+ (substitute* "po/POTFILES.in"
+ (("src/gtk-sat-tree\\.c")
+ ""))
+ #t)))))
+ (synopsis "Satellite tracking and orbit prediction application")
+ (description
+ "Gpredict is a real-time satellite tracking and orbit prediction
+application. It can track a large number of satellites and display their
+position and other data in lists, tables, maps, and polar plots (radar view).
+Gpredict can also predict the time of future passes for a satellite, and
+provide you with detailed information about each pass.")
+ (home-page "http://gpredict.oz9aec.net/index.php")
+ (license license:gpl2+)))
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 0913bb4fd3..c7f55bb07e 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -11,7 +11,7 @@
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 okapi <okapi@firemail.cc>
-;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2018, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
@@ -28,6 +28,7 @@
;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
;;; Copyright © 2019 Hartmt Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -96,6 +97,7 @@
#:use-module (gnu packages sdl)
#:use-module (gnu packages serialization)
#:use-module (gnu packages telephony)
+ #:use-module (gnu packages linphone)
#:use-module (gnu packages tls)
#:use-module (gnu packages video)
#:use-module (gnu packages vim) ;xxd
@@ -119,6 +121,45 @@
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26))
+(define-public vo-amrwbenc
+ (package
+ (name "vo-amrwbenc")
+ (version "0.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://sourceforge.net/projects/opencore-amr/files/"
+ name "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0klx3nkidc6b8aawchpk19n3xlrzgnc046w4gd0rdqphw28v6ljn"))))
+ (build-system gnu-build-system)
+ (synopsis "Adaptive Multi Rate Codec")
+ (description "VO-AMR is a library of VisualOn implementation of
+Adaptive Multi Rate Narrowband and Wideband (AMR-NB and AMR-WB) speech codec.")
+ (home-page "https://sourceforge.net/projects/opencore-amr/")
+ (license license:asl2.0)))
+
+(define-public opencore-amr
+ (package
+ (name "opencore-amr")
+ (version "0.1.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://sourceforge.net/projects/opencore-amr/files/"
+ name "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0hfk9khz3by0119h3jdwgdfd7jgkdbzxnmh1wssvylgnsnwnq01c"))))
+ (build-system gnu-build-system)
+ (synopsis "Adaptive Multi Rate Codec")
+ (description "OpenCore-AMR is a library of OpenCORE Framework
+implementation of Adaptive Multi Rate Narrowband and Wideband
+(AMR-NB and AMR-WB) speech codec.")
+ (home-page "https://sourceforge.net/projects/opencore-amr/")
+ (license license:asl2.0)))
+
(define-public alsa-modular-synth
(package
(name "alsa-modular-synth")
@@ -153,10 +194,10 @@
("jack" ,jack-1)
("ladspa" ,ladspa)
("liblo" ,liblo)
- ("qtbase" ,qtbase)
- ("qttools" ,qttools)))
+ ("qtbase" ,qtbase)))
(native-inputs
`(("pkg-config" ,pkg-config)
+ ("qttools" ,qttools)
("gcc" ,gcc-5)))
(home-page "http://alsamodular.sourceforge.net/")
(synopsis "Realtime modular synthesizer and effect processor")
@@ -3335,7 +3376,7 @@ code, used in @code{libtoxcore}.")
(define-public gsm
(package
(name "gsm")
- (version "1.0.18")
+ (version "1.0.19")
(source
(origin
(method url-fetch)
@@ -3344,18 +3385,24 @@ code, used in @code{libtoxcore}.")
"-" version ".tar.gz"))
(sha256
(base32
- "041amvpz8cvxykl3pwqldrzxligmmzcg8ncdnxbg32rlqf3q1xh4"))))
+ "1xkha9ss5g5qnfaybi8il0mcvp8knwg9plgh8404vh58d0pna0s9"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "tst"
+ #:make-flags (list (string-append "INSTALL_ROOT=" %output))
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'add-fpic-ccflag
+ (lambda _
+ ;; The -fPIC compiler option is needed when building
+ ;; mediastreamer.
+ (substitute* "Makefile"
+ (("^CCFLAGS.*" all)
+ (string-append all "CCFLAGS += -fPIC\n")))
+ #t))
(add-before 'install 'pre-install
(lambda _
(let ((out (assoc-ref %outputs "out")))
- (substitute* "Makefile"
- (("INSTALL_ROOT\t=")
- (string-append "INSTALL_ROOT\t=\t" out)))
(mkdir-p (string-append out "/inc"))
(mkdir-p (string-append out "/man"))
(mkdir-p (string-append out "/man/man1"))
@@ -3874,7 +3921,7 @@ stream to one or more IceCast and/or ShoutCast servers.")
(define-public redkite
(package
(name "redkite")
- (version "0.6.2")
+ (version "0.8.0")
(source
(origin
(method git-fetch)
@@ -3884,7 +3931,7 @@ stream to one or more IceCast and/or ShoutCast servers.")
(file-name (git-file-name name version))
(sha256
(base32
- "1i874izajbdhlfacwwj84qrsxf7g4y6nblzxalrkzaap9sa7d1r6"))))
+ "1747w1kg8y9jbl11xi018d85dm38xk7843pz26sh0k5fdv87a10q"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ;no tests included
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index 28522e7c13..2fbfdba2d8 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -1958,14 +1958,14 @@ experiments.")
(define-public r-genomicinteractions
(package
(name "r-genomicinteractions")
- (version "1.20.1")
+ (version "1.20.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "GenomicInteractions" version))
(sha256
(base32
- "140bp7c8p079xh5wwxmrq3a73pm6mdc9czq5w2gzjml7dgrca38a"))))
+ "0mqb899wah5n7bp2lajhwy2zpqqhi18plza3i3m51rfl9n62smph"))))
(properties
`((upstream-name . "GenomicInteractions")))
(build-system r-build-system)
@@ -1986,6 +1986,8 @@ experiments.")
("r-rtracklayer" ,r-rtracklayer)
("r-s4vectors" ,r-s4vectors)
("r-stringr" ,r-stringr)))
+ (native-inputs
+ `(("r-knitr" ,r-knitr)))
(home-page "https://github.com/ComputationalRegulatoryGenomicsICL/GenomicInteractions/")
(synopsis "R package for handling genomic interaction data")
(description
@@ -4077,14 +4079,14 @@ footprints.")
(define-public r-gofuncr
(package
(name "r-gofuncr")
- (version "1.6.0")
+ (version "1.6.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "GOfuncR" version))
(sha256
(base32
- "0hmi13pz923fm95asys615rih63b1i2nvynfczr1zcsc9fzn4h35"))))
+ "1wk7ja6f5il8jx8v05ijzcs9pijp3b953h566ya66xp7dz5jg9rb"))))
(properties `((upstream-name . "GOfuncR")))
(build-system r-build-system)
(propagated-inputs
@@ -4095,6 +4097,8 @@ footprints.")
("r-mapplots" ,r-mapplots)
("r-rcpp" ,r-rcpp)
("r-vioplot" ,r-vioplot)))
+ (native-inputs
+ `(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/GOfuncR/")
(synopsis "Gene ontology enrichment using FUNC")
(description
@@ -5829,14 +5833,14 @@ sequential way to mimic the manual gating strategy.")
(define-public r-cytoml
(package
(name "r-cytoml")
- (version "1.12.0")
+ (version "1.12.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "CytoML" version))
(sha256
(base32
- "0m8x18wkvis85cawv7j07pk59w76wnzy93ia99gd24j82z4h97p1"))))
+ "0wgi8rwb4spxzd5xvs5amfr5g82ny2nad57j3nmhnhnj1cpirjxz"))))
(properties `((upstream-name . "CytoML")))
(build-system r-build-system)
(inputs
@@ -5866,6 +5870,8 @@ sequential way to mimic the manual gating strategy.")
("r-runit" ,r-runit)
("r-xml" ,r-xml)
("r-yaml" ,r-yaml)))
+ (native-inputs
+ `(("r-knitr" ,r-knitr)))
(home-page "https://github.com/RGLab/CytoML")
(synopsis "GatingML interface for cross platform cytometry data sharing")
(description
@@ -5906,14 +5912,14 @@ self-organizing map clustering and minimal spanning trees.")
(define-public r-mixomics
(package
(name "r-mixomics")
- (version "6.10.8")
+ (version "6.10.9")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "mixOmics" version))
(sha256
(base32
- "0307vhx9ck24rxqbvq15815ssxcc226sl2la060n204b51wi9jaa"))))
+ "0b457yg8mwqlrn5l344w8qcj8v2ghlj1wdx1ysxbncqvqx7nvgig"))))
(properties `((upstream-name . "mixOmics")))
(build-system r-build-system)
(propagated-inputs
@@ -5930,6 +5936,8 @@ self-organizing map clustering and minimal spanning trees.")
("r-rcolorbrewer" ,r-rcolorbrewer)
("r-reshape2" ,r-reshape2)
("r-tidyr" ,r-tidyr)))
+ (native-inputs
+ `(("r-knitr" ,r-knitr)))
(home-page "http://www.mixOmics.org")
(synopsis "Multivariate methods for exploration of biological datasets")
(description
@@ -7490,14 +7498,14 @@ accessing web references for elements/sets are also available in BiocSet.")
(define-public r-biocworkflowtools
(package
(name "r-biocworkflowtools")
- (version "1.12.0")
+ (version "1.12.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "BiocWorkflowTools" version))
(sha256
(base32
- "1v4bhnpdkmllm7aghms9b7369hkrgz7mn69wbrqg1x42pgkf30ad"))))
+ "0z28s572wg9qxv52dmixxz1xf1z3fyp2j7kzk0k32fp628918wr6"))))
(properties
`((upstream-name . "BiocWorkflowTools")))
(build-system r-build-system)
@@ -7511,6 +7519,8 @@ accessing web references for elements/sets are also available in BiocSet.")
("r-rstudioapi" ,r-rstudioapi)
("r-stringr" ,r-stringr)
("r-usethis" ,r-usethis)))
+ (native-inputs
+ `(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/BiocWorkflowTools/")
(synopsis "Tools to aid the development of Bioconductor Workflow packages")
(description
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 11d123b605..f1f6a3eb6d 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -16,6 +16,7 @@
;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
+;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -7580,13 +7581,13 @@ ID and species. It is used by functions in the GenomeInfoDb package.")
(define-public r-genomeinfodb
(package
(name "r-genomeinfodb")
- (version "1.22.0")
+ (version "1.22.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "GenomeInfoDb" version))
(sha256
(base32
- "07zljs2mfi8rf31g903f43v2f7767xbnflfrx9qjnmgf7bm039x0"))))
+ "0phadr67yb4l25x41a9wg4pjy1wbxlk14jhidhz6g5n4z6x45qbm"))))
(properties
`((upstream-name . "GenomeInfoDb")))
(build-system r-build-system)
@@ -7596,6 +7597,8 @@ ID and species. It is used by functions in the GenomeInfoDb package.")
("r-iranges" ,r-iranges)
("r-rcurl" ,r-rcurl)
("r-s4vectors" ,r-s4vectors)))
+ (native-inputs
+ `(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/GenomeInfoDb")
(synopsis "Utilities for manipulating chromosome identifiers")
(description
@@ -7808,13 +7811,13 @@ annotation data packages using SQLite data storage.")
(define-public r-biomart
(package
(name "r-biomart")
- (version "2.42.0")
+ (version "2.42.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "biomaRt" version))
(sha256
(base32
- "0difh4dsccjzhpfkvajy2adh98ym9164gd6clnsnic6qr6sk86ss"))))
+ "0676s8aq9xj2pdrfk28kf5j69fmssn900k4vxrp11ghwjr8z24h7"))))
(properties
`((upstream-name . "biomaRt")))
(build-system r-build-system)
@@ -7827,6 +7830,8 @@ annotation data packages using SQLite data storage.")
("r-rappdirs" ,r-rappdirs)
("r-stringr" ,r-stringr)
("r-xml" ,r-xml)))
+ (native-inputs
+ `(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/biomaRt")
(synopsis "Interface to BioMart databases")
(description
@@ -13549,17 +13554,27 @@ allowing the insertion of arbitrary types into the tree.")
(define-public python-intervaltree
(package
(name "python-intervaltree")
- (version "2.1.0")
+ (version "3.0.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "intervaltree" version))
(sha256
(base32
- "02w191m9zxkcjqr1kv2slxvhymwhj3jnsyy3a28b837pi15q19dc"))))
+ "0wz234g6irlm4hivs2qzmnywk0ss06ckagwh15nflkyb3p462kyb"))))
(build-system python-build-system)
- ;; FIXME: error when collecting tests
- (arguments '(#:tests? #f))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; pytest seems to have a check to make sure the user is testing
+ ;; their checked-out code and not an installed, potentially
+ ;; out-of-date copy. This is harmless here, since we just installed
+ ;; the package, so we disable the check to avoid skipping tests
+ ;; entirely.
+ (add-before 'check 'import-mismatch-error-workaround
+ (lambda _
+ (setenv "PY_IGNORE_IMPORTMISMATCH" "1")
+ #t)))))
(propagated-inputs
`(("python-sortedcontainers" ,python-sortedcontainers)))
(native-inputs
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index 56f645739b..14f3815b52 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -94,10 +94,13 @@
(string-append gui
"/bin/transmission-gtk"))
- ;; Move the '.desktop' file as well.
+ ;; Move the '.desktop' and icon files as well.
(mkdir (string-append gui "/share"))
- (rename-file (string-append out "/share/applications")
- (string-append gui "/share/applications")))
+ (for-each
+ (lambda (dir)
+ (rename-file (string-append out "/share/" dir)
+ (string-append gui "/share/" dir)))
+ '("applications" "icons" "pixmaps")))
#t)))))
(inputs
`(("inotify-tools" ,inotify-tools)
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index de8d089333..cdc98d9b76 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -466,7 +466,7 @@ capacity is user-selectable.")
("flex" ,flex)
("python" ,python-2)
("xmlto" ,xmlto)
- ("gettext" ,gnu-gettext)
+ ("gettext" ,gettext-minimal)
("docbook-xml" ,docbook-xml)
("docbook-xsl" ,docbook-xsl)
("zip" ,zip)))
diff --git a/gnu/packages/cedille.scm b/gnu/packages/cedille.scm
index d9cf66c501..d3dd576323 100644
--- a/gnu/packages/cedille.scm
+++ b/gnu/packages/cedille.scm
@@ -51,17 +51,24 @@
(arguments
`(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'patch-cedille-path-el
+ (add-after 'unpack 'patch-cedille-paths
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "cedille-mode.el"
(("/usr/share/emacs/site-lisp/cedille-mode")
- (string-append out "/share/emacs/site-lisp")))
+ (string-append
+ out "/share/emacs/site-lisp/cedille")))
+ (substitute* "cedille-mode/cedille-mode-info.el"
+ (("\\(concat cedille-path-el \"cedille-info-main.info\"\\)")
+ (string-append
+ "\"" out "/share/info/cedille-info-main.info.gz\"")))
#t)))
- (add-after 'unpack 'copy-cedille-mode
+ (add-after 'patch-cedille-paths 'copy-cedille-mode
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
- (lisp (string-append out "/share/emacs/site-lisp")))
+ (lisp
+ (string-append
+ out "/share/emacs/site-lisp/cedille/")))
(mkdir-p (string-append lisp "cedille-mode"))
(copy-recursively
"cedille-mode"
@@ -104,6 +111,8 @@
(install-file "cedille" (string-append out "/bin"))
(install-file "core/cedille-core"
(string-append out "/bin"))
+ (install-file "docs/info/cedille-info-main.info"
+ (string-append out "/share/info"))
#t))))))
(home-page "https://cedille.github.io/")
(synopsis
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index c84a682e75..b7267e14ec 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -30,6 +30,7 @@
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com>
+;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1075,6 +1076,31 @@ result back.")
timeout has been exceeded.")
(license license:expat)))
+(define-public python-pytest-forked
+ (package
+ (name "python-pytest-forked")
+ (version "1.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytest-forked" version))
+ (sha256
+ (base32
+ "000i4q7my2fq4l49n8idx2c812dql97qv6qpm2vhrrn9v6g6j18q"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-pytest" ,python-pytest)))
+ (native-inputs
+ `(("python-setuptools-scm" ,python-setuptools-scm)))
+ (home-page
+ "https://github.com/pytest-dev/pytest-forked")
+ (synopsis
+ "Run tests in isolated forked subprocesses")
+ (description
+ "Pytest plugin which will run each test in a subprocess and will report if
+a test crashed the process.")
+ (license license:expat)))
+
(define-public python-scripttest
(package
(name "python-scripttest")
@@ -2590,3 +2616,25 @@ system. The code under test requires no modification to work with pyfakefs.")
(arguments
`(#:python ,python-2
#:tests? #f)))))
+
+(define-public python-aiounittest
+ (package
+ (name "python-aiounittest")
+ (version "1.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "aiounittest" version))
+ (sha256
+ (base32
+ "1q4bhmi80smaa1lknvdna0sx3915naczlfna1fp435nf6cjyrjl1"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-coverage" ,python-coverage)
+ ("python-nose" ,python-nose)))
+ (home-page
+ "https://github.com/kwarunek/aiounittest")
+ (synopsis "Test asyncio code more easily")
+ (description "Aiounittest is a library that helps write tests using
+asynchronous code in Python (asyncio).")
+ (license license:expat)))
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index 611f99c5a3..fb8a813b7a 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -247,7 +247,7 @@ from forcing GEXP-PROMISE."
#:system system
#:guile-for-build guile)))
-(define %chromium-version "80.0.3987.149")
+(define %chromium-version "80.0.3987.163")
(define %ungoogled-revision "516e2d990a50a4bbeb8c583e56333c2935e2af95")
(define %debian-revision "debian/80.0.3987.116-1")
(define package-revision "0")
@@ -263,7 +263,7 @@ from forcing GEXP-PROMISE."
%chromium-version ".tar.xz"))
(sha256
(base32
- "07icl3hgg1wjkmz88lbpjf6ll4xyi64spki1nmsy6899jgkxvgjh"))))
+ "0ikk4cgz3jgjhyncsvlqvlc03y7jywjpa6v34fwsjxs88flyzpdn"))))
(define %ungoogled-origin
(origin
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index f883c2f690..13243578b1 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -132,15 +132,17 @@ It is developed using Objective Caml and Camlp5.")
(define-public proof-general
(package
(name "proof-general")
- (version "4.2")
+ (version "4.4")
(source (origin
- (method url-fetch)
- (uri (string-append
- "http://proofgeneral.inf.ed.ac.uk/releases/"
- "ProofGeneral-" version ".tgz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url (string-append
+ "https://github.com/ProofGeneral/PG"))
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "09qb0myq66fw17v4ziz401ilsb5xlxz1nl2wsp69d0vrfy0bcrrm"))))
+ "0bdfk91wf71z80mdfnl8hpinripndcjgdkz854zil6521r84nqk8"))))
(build-system gnu-build-system)
(native-inputs
`(("which" ,which)
@@ -175,10 +177,6 @@ It is developed using Objective Caml and Camlp5.")
(emacs (assoc-ref inputs "host-emacs")))
(define (coq-prog name)
(string-append coq "/bin/" name))
- (emacs-substitute-variables "coq/coq.el"
- ("coq-prog-name" (coq-prog "coqtop"))
- ("coq-compiler" (coq-prog "coqc"))
- ("coq-dependency-analyzer" (coq-prog "coqdep")))
(substitute* "Makefile"
(("/sbin/install-info") "install-info"))
(substitute* "bin/proofgeneral"
@@ -198,7 +196,7 @@ It is developed using Objective Caml and Camlp5.")
(substitute* "Makefile"
((" [^ ]*\\.pdf") ""))
(apply invoke "make" "install-doc" make-flags))))))
- (home-page "http://proofgeneral.inf.ed.ac.uk/")
+ (home-page "https://proofgeneral.github.io/ ")
(synopsis "Generic front-end for proof assistants based on Emacs")
(description
"Proof General is a major mode to turn Emacs into an interactive proof
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 9d71502017..2bf94eb8da 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -19,6 +19,8 @@
;;; Copyright © 2019 Nicolò Balzarotti <anothersms@gmail.com>
;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz>
;;; Copyright © 2020 Todor Kondić <tk.code@protonmail.com>
+;;; Copyright © 2020 Danjela Lura <danielaluraa@gmail.com>
+;;; Copyright © 2020 Naga Malleswari <nagamalli@riseup.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -100,6 +102,31 @@
the system clipboards.")
(license license:gpl3)))
+(define-public r-oenb
+ (package
+ (name "r-oenb")
+ (version "0.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "oenb" version))
+ (sha256
+ (base32
+ "1x1jlqp6r27c4gb7wafzpmh5rq6yq61a2d395r5lsmv2g5jb4biz"))))
+ (properties `((upstream-name . "oenb")))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-dplyr" ,r-dplyr)
+ ("r-xml" ,r-xml)))
+ (native-inputs `(("r-knitr" ,r-knitr)))
+ (home-page "https://github.com/franzmohr/oenb")
+ (synopsis "Tools for the OeNB Data Web Service")
+ (description
+ "Tools to access data from the data web service of the
+@acronym{OeNB, Oesterreichische Nationalbank},
+@url{https://www.oenb.at/en/Statistics/User-Defined-Tables/webservice.html}.")
+ (license license:gpl2+)))
+
(define-public r-scales
(package
(name "r-scales")
@@ -425,14 +452,14 @@ such as copy/paste from an R session.")
(define-public r-callr
(package
(name "r-callr")
- (version "3.4.2")
+ (version "3.4.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "callr" version))
(sha256
(base32
- "0bdlp0labwyfl36jqslj2g7zmw7zwr58v9gam435kiblhjimb8fc"))))
+ "1dc20gdawy9mhnc452qlshv2p4krs6c2gymvpv365mn141zjgdq1"))))
(build-system r-build-system)
(propagated-inputs
`(("r-r6" ,r-r6)
@@ -3645,14 +3672,14 @@ modeling for empirical income distributions.")
(define-public r-vcd
(package
(name "r-vcd")
- (version "1.4-6")
+ (version "1.4-7")
(source
(origin
(method url-fetch)
(uri (cran-uri "vcd" version))
(sha256
(base32
- "0rjz49py5l6wnaimw6k8rcyzlvs8cyz5g2xwqj2qis92ly0l103z"))))
+ "16aj688nhlcvdxzfsqh4s375v8f8vl8997dl8h1xg29b42nv52gc"))))
(build-system r-build-system)
(propagated-inputs
`(("r-colorspace" ,r-colorspace)
@@ -4160,14 +4187,14 @@ terminals.")
(define-public r-tinytex
(package
(name "r-tinytex")
- (version "0.20")
+ (version "0.21")
(source
(origin
(method url-fetch)
(uri (cran-uri "tinytex" version))
(sha256
(base32
- "0n8v8inpsc99r0snvqbjhqlc6nm9hxjsw120hrxc2mw03pa5fvkg"))))
+ "088zzc2v0izbcs45p19v547pi78vkr08ibpvvi1g9bkbya4x3mq9"))))
(build-system r-build-system)
(propagated-inputs
`(("r-xfun" ,r-xfun)))
@@ -4435,14 +4462,14 @@ Fisher's method), and Sidak correction.")
(define-public r-quantmod
(package
(name "r-quantmod")
- (version "0.4-16")
+ (version "0.4.17")
(source
(origin
(method url-fetch)
(uri (cran-uri "quantmod" version))
(sha256
(base32
- "12l5br8abr1yagxqjnjvqzp79sqsv5vx56cxs37gk73r474f4vc2"))))
+ "1ss441rwlr88kz212m0wgx0hwgwi41rhy1jncg2lgqzqfvr5dzqa"))))
(build-system r-build-system)
(propagated-inputs
`(("r-curl" ,r-curl)
@@ -4801,14 +4828,14 @@ functions to enforce symmetric scales or add tags to facetted plots.")
(define-public r-heatmaply
(package
(name "r-heatmaply")
- (version "1.0.0")
+ (version "1.1.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "heatmaply" version))
(sha256
(base32
- "0576gml3bcl7r1biigzj1rag2xzz422knbw7arc8d2gsakjj757g"))))
+ "133q8ir45vhfxs2lnd96k97g21ihg2arfhp349kmk339pk32fcxz"))))
(build-system r-build-system)
(propagated-inputs
`(("r-assertthat" ,r-assertthat)
@@ -5776,14 +5803,14 @@ obtain a better initial configuration in non-metric MDS.")
(define-public r-reticulate
(package
(name "r-reticulate")
- (version "1.14")
+ (version "1.15")
(source
(origin
(method url-fetch)
(uri (cran-uri "reticulate" version))
(sha256
(base32
- "0icb9zl9zlx75njv7y1dr450k0yw2n3q2jkr4nicnphdyfn69gkn"))))
+ "03dmnx9jhxx6vfbv2i5n6sln38kb9zkshz982pg3l9i4jjf3xns7"))))
(build-system r-build-system)
(inputs `(("python" ,python)))
(propagated-inputs
@@ -5791,6 +5818,8 @@ obtain a better initial configuration in non-metric MDS.")
("r-jsonlite" ,r-jsonlite)
("r-matrix" ,r-matrix)
("r-rcpp" ,r-rcpp)))
+ (native-inputs
+ `(("r-knitr" ,r-knitr)))
(home-page "https://github.com/rstudio/reticulate")
(synopsis "R interface to Python")
(description
@@ -6013,14 +6042,14 @@ structured in groups, etc. and hierarchical cluster analysis.")
(define-public r-factoextra
(package
(name "r-factoextra")
- (version "1.0.6")
+ (version "1.0.7")
(source
(origin
(method url-fetch)
(uri (cran-uri "factoextra" version))
(sha256
(base32
- "0bpsbcmp6jpa9qk53dhfzghrz98dh0h0n68brl7rjz724yjbvhn8"))))
+ "1allvdjhd3pq8xz30b1cymwcik5iaahghrjrlnn54cwkfhfg0kv2"))))
(build-system r-build-system)
(propagated-inputs
`(("r-abind" ,r-abind)
@@ -7176,13 +7205,13 @@ and coverage methods to tune the choice of threshold.")
(define-public r-ggstance
(package
(name "r-ggstance")
- (version "0.3.3")
+ (version "0.3.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggstance" version))
(sha256
- (base32 "0kdksay61hyb6612b07r84chh7a9aibjyclk3qcypvr9aang8hkh"))))
+ (base32 "0aqz3dn02cgij018a4sglqwrwr9dzzj12l8xr1064q7hfd4f64m1"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
@@ -8545,14 +8574,14 @@ ROPE percentage and pd).")
(define-public r-performance
(package
(name "r-performance")
- (version "0.4.4")
+ (version "0.4.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "performance" version))
(sha256
(base32
- "18h9y66cpsb3k6xnaya87vnpv2s3chf4bzsc4ym3n5sxhh41j7la"))))
+ "0j6wmnwhfdd3v1a17qmg491q50579knjzscmyr4yk3xr0jbsbg8x"))))
(build-system r-build-system)
(propagated-inputs
`(("r-bayestestr" ,r-bayestestr)
@@ -8716,19 +8745,18 @@ back to file after modifications.")
(define-public r-fs
(package
(name "r-fs")
- (version "1.3.2")
+ (version "1.4.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "fs" version))
(sha256
(base32
- "1w30bflx4d7a6f3dn96bf7s7v6aqpvz2yzzxal6qz9jyhb16bxaz"))))
+ "1ishdxrxy88w1lrn657a573wdra5v7xf1yfa1c4kss07rlynwrj7"))))
(build-system r-build-system)
- (propagated-inputs
- `(("r-rcpp" ,r-rcpp)))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("pkg-config" ,pkg-config)
+ ("r-knitr" ,r-knitr)))
(home-page "https://fs.r-lib.org")
(synopsis "Cross-platform file system operations based on libuv")
(description
@@ -9121,14 +9149,14 @@ analysing multivariate abundance data in community ecology.")
(define-public r-afex
(package
(name "r-afex")
- (version "0.26-0")
+ (version "0.27-2")
(source
(origin
(method url-fetch)
(uri (cran-uri "afex" version))
(sha256
(base32
- "0h3p1svgk1ap3lj08fi8nzdb3710h99bv150krf1x8wci1a0r1if"))))
+ "0qsmcddy4449qjj3ajmqvdiqdkhkswmz5dqf150wxwq897p3bvf2"))))
(build-system r-build-system)
(propagated-inputs
`(("r-car" ,r-car)
@@ -9136,6 +9164,8 @@ analysing multivariate abundance data in community ecology.")
("r-lmertest" ,r-lmertest)
("r-pbkrtest" ,r-pbkrtest)
("r-reshape2" ,r-reshape2)))
+ (native-inputs
+ `(("r-knitr" ,r-knitr)))
(home-page "https://afex.singmann.science/")
(synopsis "Analysis of factorial experiments")
(description
@@ -9866,13 +9896,13 @@ maps.")
(define-public r-tidytree
(package
(name "r-tidytree")
- (version "0.3.2")
+ (version "0.3.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "tidytree" version))
(sha256
- (base32 "0dx9jn19mfykn20camsmq1amlgg0w6z5hn5rdqygs1fk1l5aazad"))))
+ (base32 "05b53dap0f784kl6s1wgck6m7brwmy6ifqp7v5l06s1spfspagl6"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ape" ,r-ape)
@@ -11570,13 +11600,13 @@ regression coefficients can be conducted via jackknifing.")
(define-public r-huge
(package
(name "r-huge")
- (version "1.3.4")
+ (version "1.3.4.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "huge" version))
(sha256
- (base32 "07n3j1va2z4v30rj22cww72khgzbz2xsp0yc0qswlrwyxi4my5i3"))))
+ (base32 "11m80dnaxqw5v006q6kvhndl2y5ih5553fcqg4jcaljd8sp9xvvq"))))
(build-system r-build-system)
(propagated-inputs
`(("r-igraph" ,r-igraph)
@@ -12712,14 +12742,14 @@ R, enabling interactive analysis and visualization of genome-scale data.")
(define-public r-rematch2
(package
(name "r-rematch2")
- (version "2.1.0")
+ (version "2.1.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "rematch2" version))
(sha256
(base32
- "00cznm6rk33b53w7zybkz7549bnydc66znpi5mb0xd24pmqp0rvq"))))
+ "13siaa8s2ji9q6hykhb2r34ag76335ypmbqr90xaqilbir0klhnh"))))
(build-system r-build-system)
(propagated-inputs
`(("r-tibble" ,r-tibble)))
@@ -19351,14 +19381,14 @@ Raftery, Appl.Statistics, 1989); it includes inference and basic methods.")
(define-public r-forecast
(package
(name "r-forecast")
- (version "8.11")
+ (version "8.12")
(source
(origin
(method url-fetch)
(uri (cran-uri "forecast" version))
(sha256
(base32
- "0ayidhnk9cxav2qi83jrvqlg2jh4zlf4lki4xw48gdqsmjvih9x1"))))
+ "1ycj5z4wd5a16nlcjy07dqm8jkih240xa02cn4wvysnnhkapyq7b"))))
(properties `((upstream-name . "forecast")))
(build-system r-build-system)
(propagated-inputs
@@ -19503,14 +19533,14 @@ processing} (NLP) library @code{spaCy}, from @url{http://spacy.io}.")
(define-public r-snowballc
(package
(name "r-snowballc")
- (version "0.6.0")
+ (version "0.7.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "SnowballC" version))
(sha256
(base32
- "0b7pqdavf5jbf8si4ybnii5fff39p3b1rb5rym05j8s48hs7sqb1"))))
+ "1wwm71mp4b2mjb5985x782p6xj519dfrpd40qli7lmig6afyw3xi"))))
(properties `((upstream-name . "SnowballC")))
(build-system r-build-system)
(home-page "https://r-forge.r-project.org/projects/r-temis/")
@@ -21027,3 +21057,26 @@ where tcltk is present are supported.")
with R, controlling a remote R session (the server) from a local one (the
client).")
(license license:bsd-2)))
+
+(define-public r-asd
+ (package
+ (name "r-asd")
+ (version "2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "asd" version))
+ (sha256
+ (base32
+ "0p3r4qjam3sl3rpcilb0pgx4xx3ly71xqnvkv31vzjs885lgxz4l"))))
+ (properties `((upstream-name . "asd")))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-mvtnorm" ,r-mvtnorm)))
+ (home-page "https://cran.r-project.org/web/packages/asd")
+ (synopsis "Simulations for Adaptive Seamless Designs")
+ (description
+ "This package provdes means to run simulations for adaptive seamless
+designs with and without early outcomes for treatment selection and
+subpopulation type designs.")
+ (license license:gpl3)))
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 64c170df73..a42661e3f8 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1476,7 +1476,7 @@ UTF-8.")
(define-public rust-bumpalo-3
(package
(name "rust-bumpalo")
- (version "3.2.0")
+ (version "3.2.1")
(source
(origin
(method url-fetch)
@@ -1485,7 +1485,7 @@ UTF-8.")
(string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0hpp4wfcn04gnl1ji4a80b85xwknsci81xqyllq174gq9z0rsd8z"))))
+ "11silgpsnfv6ir7j2nh7a69564f92vq20k9ha7zcbynpiav9vbhj"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f ; cargo_readme_up_to_date test fails
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 6c971d0eb1..58e3f774df 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -74,12 +74,6 @@
`(cons ,(string-append "--target=" target)
,flags))))))
-(define (package-with-patch original patch)
- "Return package ORIGINAL with PATCH applied."
- (package (inherit original)
- (source (origin (inherit (package-source original))
- (patches (list patch))))))
-
(define* (cross-binutils target #:optional (binutils binutils))
"Return a cross-Binutils for TARGET using BINUTILS."
(let ((binutils (package (inherit binutils)
@@ -101,11 +95,17 @@
`(cons "--with-sysroot=/" ,flags)))))))
;; For Xtensa, apply Qualcomm's patch.
- (cross (if (string-prefix? "xtensa-" target)
- (package-with-patch binutils
- (search-patch
- "ath9k-htc-firmware-binutils.patch"))
- binutils)
+ (cross (cond ((string-prefix? "xtensa-" target)
+ (package-with-patches binutils
+ (search-patches
+ "ath9k-htc-firmware-binutils.patch")))
+ ((target-mingw? target)
+ (package-with-extra-patches
+ binutils
+ (search-patches
+ "binutils-mingw-w64-specify-timestamp.patch"
+ "binutils-mingw-w64-reproducible-import-libraries.patch")))
+ (else binutils))
target)))
(define (cross-gcc-arguments target xgcc libc)
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 4ed181021f..b969b8f081 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -41,6 +41,7 @@
;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
+;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2205,6 +2206,41 @@ can autogenerate peewee models using @code{pwiz}, a model generator.")
(define-public python2-peewee
(package-with-python2 python-peewee))
+(define-public python-tortoise-orm
+ (package
+ (name "python-tortoise-orm")
+ (version "0.16.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "tortoise-orm" version))
+ (sha256
+ (base32
+ "01hbvfyxs2qd1mjc96aipwsdxxhydw8ww686r4gsf87bl6f98dvz"))))
+ (build-system python-build-system)
+ ;; Disable tests for now. They pull in a lot of dependencies.
+ (arguments `(#:tests? #f))
+ (native-inputs
+ `(("python-ciso8601" ,python-ciso8601)
+ ("python-asynctest" ,python-asynctest)
+ ("python-nose2" ,python-nose2)))
+ (propagated-inputs
+ `(("python-aiosqlite" ,python-aiosqlite)
+ ("python-pypika" ,python-pypika)
+ ("python-typing-extensions"
+ ,python-typing-extensions)))
+ (home-page
+ "https://github.com/tortoise/tortoise-orm")
+ (synopsis
+ "Easy async ORM for python, built with relations in mind")
+ (description
+ "Tortoise ORM is an easy-to-use asyncio ORM (Object Relational Mapper)
+inspired by Django. Tortoise ORM was build with relations in mind and
+admiration for the excellent and popular Django ORM. It’s engraved in its
+design that you are working not with just tables, you work with relational
+data.")
+ (license license:asl2.0)))
+
(define-public sqlcipher
(package
(name "sqlcipher")
@@ -2716,6 +2752,29 @@ translate the complete SQLite API into Python.")
(define-public python2-apsw
(package-with-python2 python-apsw))
+(define-public python-aiosqlite
+ (package
+ (name "python-aiosqlite")
+ (version "0.11.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "aiosqlite" version))
+ (sha256
+ (base32
+ "1f3zdldp9zgrw6qz5fsp3wa5zw73cjf139pj4vf24ryv895320jg"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-aiounittest" ,python-aiounittest)))
+ (home-page "https://github.com/jreese/aiosqlite")
+ (synopsis
+ "Asyncio bridge for sqlite3")
+ (description
+ "The package aiosqlite replicates the standard sqlite3 module, but with
+async versions of all the standard connection and cursor methods, and context
+managers for automatically closing connections.")
+ (license license:expat)))
+
(define-public python2-neo4j-driver
(package
(name "python2-neo4j-driver")
@@ -3024,6 +3083,27 @@ transforms idiomatic python function calls to well-formed SQL queries.")
(define-public python2-sql
(package-with-python2 python-sql))
+(define-public python-pypika
+ (package
+ (name "python-pypika")
+ (version "0.36.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "PyPika" version))
+ (sha256
+ (base32
+ "0qzn5vygirg52dlizm6ayzdc5llq8p2krrx0kymr236lrz89wqp8"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-parameterized" ,python-parameterized)))
+ (home-page "https://github.com/kayak/pypika")
+ (synopsis "SQL query builder API for Python")
+ (description
+ "PyPika is a python SQL query builder that exposes the full richness of
+the SQL language using a syntax that reflects the resulting query.")
+ (license license:asl2.0)))
+
(define-public mongo-tools
(package
(name "mongo-tools")
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index 75dd94d868..4a264427c2 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -119,11 +120,11 @@ program to exhibit a bug.")
(sha256
(base32 "0qx0zq8jxzx2as2zf0740g7kvgq163ayn3041di4vwk77490y76v"))))
(build-system gnu-build-system)
+ (native-inputs `(("flex" ,flex)))
(inputs
`(("astyle" ,astyle)
("llvm" ,llvm)
("clang" ,clang)
- ("flex" ,flex)
("indent" ,indent)
("perl" ,perl)
("exporter-lite" ,perl-exporter-lite)
diff --git a/gnu/packages/dico.scm b/gnu/packages/dico.scm
index f6ab56887c..44a7a21b6b 100644
--- a/gnu/packages/dico.scm
+++ b/gnu/packages/dico.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -63,13 +64,13 @@
(lambda _
;; Test '71: append + dooffs + env' fails if $V is not 2.
(invoke "make" "check" "V=2"))))))
+ (native-inputs `(("groff" ,groff)))
(inputs
`(("m4" ,m4) ;used at run time
("pcre" ,pcre)
("python" ,python-2)
("guile" ,guile-2.2)
("gsasl" ,gsasl)
- ("groff" ,groff)
("readline" ,readline)
("zlib" ,zlib)
("wordnet" ,wordnet)
diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm
index 0e452d6df8..b835fb4510 100644
--- a/gnu/packages/diffoscope.scm
+++ b/gnu/packages/diffoscope.scm
@@ -68,7 +68,7 @@
#:use-module (ice-9 match))
(define-public diffoscope
- (let ((version "137"))
+ (let ((version "138"))
(package
(name "diffoscope")
(version version)
@@ -80,7 +80,7 @@
(file-name (git-file-name name version))
(sha256
(base32
- "11llnh2h2mx3xygj4482ld1rnjnhszk4828pmcbi75kanxfrqzq6"))))
+ "1lsxwyqaaxmin8h06l0352f0kh0l9brbqfn0zv8hmb64bp5r20nr"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@@ -228,7 +228,7 @@ install.")
(define-public reprotest
(package
(name "reprotest")
- (version "0.7.13")
+ (version "0.7.14")
(source
(origin
(method git-fetch)
@@ -236,10 +236,9 @@ install.")
(url "https://salsa.debian.org/reproducible-builds/reprotest.git")
(commit version)))
(file-name (git-file-name name version))
- (patches (search-patches "reprotest-support-guix.patch"))
(sha256
(base32
- "0jj9sqxbdpypnc0y8md352wwzh1by6nyhmx5fwqnvrbznrng332f"))))
+ "12d07xq5zx5dfbsgakm6zcn7hgf0h9f5kvfjqkiyak4ix5aa6xkf"))))
(inputs
`(("python-debian" ,python-debian)
("python-distro" ,python-distro)
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 0a9283a526..07ea1c93cd 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -16,6 +16,7 @@
;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2020 Pkill -9 <pkill9@runbox.com>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -370,12 +371,12 @@ and can dramatically shorten the lifespan of the drive if left unchecked.")
("parted" ,parted)
("glib" ,glib)
("gtkmm" ,gtkmm)
- ("libxml2" ,libxml2)
- ("yelp-tools" ,yelp-tools)))
+ ("libxml2" ,libxml2)))
(native-inputs
`(("intltool" ,intltool)
("itstool" ,itstool)
("lvm2" ,lvm2) ; for tests
+ ("yelp-tools" ,yelp-tools)
("pkg-config" ,pkg-config)))
(home-page "https://gparted.org/")
(synopsis "Partition editor to graphically manage disk partitions")
diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
index 69dee2b856..c95ca3f9d7 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -503,6 +503,7 @@ built-in registry server of Docker.")
(replace 'configure
(lambda _
(setenv "DOCKER_GITCOMMIT" (string-append "v" ,%docker-version))
+ (setenv "VERSION" (string-append ,%docker-version "-ce"))
;; Automatically use bundled dependencies.
;; TODO: Unbundle - see file "vendor.conf".
(setenv "AUTO_GOPATH" "1")
@@ -540,7 +541,9 @@ built-in registry server of Docker.")
(let* ((out (assoc-ref outputs "out"))
(out-bin (string-append out "/bin")))
(install-file "bundles/dynbinary-daemon/dockerd" out-bin)
- (install-file "bundles/dynbinary-daemon/dockerd-dev" out-bin)
+ (install-file (string-append "bundles/dynbinary-daemon/dockerd-"
+ (getenv "VERSION"))
+ out-bin)
#t))))))
(inputs
`(("btrfs-progs" ,btrfs-progs)
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index 22b6c4ba12..48879df1bd 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -104,6 +104,7 @@
(delete-file "resources/calibre-portable.sh")
#t))
(patches (search-patches "calibre-no-updates-dialog.patch"
+ "calibre-msgpack-compat.patch"
"calibre-remove-test-bs4.patch" ; TODO: fix test.
"calibre-remove-test-sqlite.patch" ; TODO: fix test.
"calibre-remove-test-unrar.patch"))))
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index feea43b500..58999d6611 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -65,6 +65,8 @@
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 6033fe7de85d <6033fe7de85d@airmail.cc>
+;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
+;;; Copyright © 2020 Jérémy Korwin-Zmijowski <jeremy@korwin-zmijowski.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -212,6 +214,32 @@ implementation, Emacs and, ultimately, the schemer, giving them access to live
metadata.")
(license license:bsd-3)))
+(define-public emacs-ac-geiser
+ (let ((commit "93818c936ee7e2f1ba1b315578bde363a7d43d05")
+ (revision "0"))
+ (package
+ (name "emacs-ac-geiser")
+ (version (git-version "0.1" revision commit))
+ (source
+ (origin
+ (uri (git-reference
+ (url "https://github.com/xiaohanyu/ac-geiser.git")
+ (commit commit)))
+ (method git-fetch)
+ (sha256
+ (base32 "00n2qa26yilaj837n1yp6lbqa4gf30nkkbvanl7m9ih7k48ssqmw"))
+ (file-name (git-file-name name version))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("geiser" ,emacs-geiser)
+ ("auto-complete" ,emacs-auto-complete)))
+ (synopsis "Auto-complete backend for geiser")
+ (description
+ "This package provides an auto-complete source for Scheme projects
+using geiser.")
+ (license license:bsd-3)
+ (home-page "https://github.com/xiaohanyu/ac-geiser"))))
+
(define-public emacs-paredit
(package
(name "emacs-paredit")
@@ -1484,6 +1512,65 @@ always indented. It reindents after every change, making it more reliable
than @code{electric-indent-mode}.")
(license license:gpl2+)))
+(define-public emacs-ctrlf
+ (package
+ (name "emacs-ctrlf")
+ (version "1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/raxod502/ctrlf.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "10gnhafas54zj3z9173h1g7b519ac4i26afclmw3w1pk6qyyb03z"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/raxod502/ctrlf/")
+ (synopsis "Single-buffer text search in Emacs")
+ (description "CTRLF (pronounced @emph{control F}) is an intuitive and
+efficient solution for single-buffer text search in Emacs, replacing packages
+such as Isearch, Swiper, and helm-swoop. It takes inspiration from the
+widely-adopted and battle-tested @samp{Ctrl+F} interfaces in programs such as
+web browsers, but follows the flow and keybindings of Isearch.")
+ (license license:expat)))
+
+(define-public emacs-dhall-mode
+ ;; There is no proper release. The base version is extracted from the
+ ;; "Version" keyword in the main file.
+ (let ((revision "0")
+ (commit "ef4d33debe224c6ba37e51a29b9dc8b74f20f1c2"))
+ (package
+ (name "emacs-dhall-mode")
+ (version (git-version "0.1.3" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/psibi/dhall-mode")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1232y2k4l3bsz90pgis78zxmrw7jv09dfaip21yc1w4vpxfyr384"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-reformatter" ,emacs-reformatter)))
+ (home-page "https://github.com/psibi/dhall-mode")
+ (synopsis "Major mode for working with Dhall configuration language")
+ (description
+ "Dhall-mode provides an Emacs Major mode for working with the Dhall
+configuration language. It features:
+
+@itemize
+@item Syntax highlighting
+@item Multiline support for String
+@item Basic indendation, commenting
+@item Automatic formatting on save using dhall-format.
+@item Error highlighting.
+@end itemize")
+ (license license:gpl3+))))
+
(define-public emacs-link-hint
;; Last release was in 2015.
(let ((commit "d74a483652486260c052941fedeadddb1ea71f88")
@@ -1704,6 +1791,25 @@ searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
Emacs buffer.")
(license license:gpl3+)))
+(define-public emacs-caps-lock
+ (package
+ (name "emacs-caps-lock")
+ (version "1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://elpa.gnu.org/packages/"
+ "caps-lock-" version ".el"))
+ (sha256
+ (base32 "1i4hwam81p4dr0bk8257fkiz4xmv6knkjxj7a00fa35kgx5blpva"))))
+ (build-system emacs-build-system)
+ (home-page "http://elpa.gnu.org/packages/caps-lock.html")
+ (synopsis "Caps Lock as a minor mode")
+ (description
+ "This package provides a minor mode to emulate the behavior of a Caps
+Lock key.")
+ (license license:gpl3+)))
+
(define-public emacs-chronometrist
(package
(name "emacs-chronometrist")
@@ -1768,6 +1874,50 @@ Using emacs-direnv means that programs started from Emacs will use the
environment set through Direnv.")
(license license:gpl3+)))
+(define-public emacs-elf-mode
+ (package
+ (name "emacs-elf-mode")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/abo-abo/elf-mode")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0cbvjbk2893ag1iy8ggixpirfiyhssm7fii96hb9jqdz874cdl0k"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/abo-abo/elf-mode")
+ (synopsis "Show symbol list when opening a binary file in Emacs")
+ (description "This Emacs package provides a command showing the symbols
+that the binary uses instead of the actual binary contents.")
+ (license license:gpl3+)))
+
+(define-public emacs-form-feed
+ (package
+ (name "emacs-form-feed")
+ (version "0.2.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/wasamasa/form-feed.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "171jna631b2iqcimfsik9c66gii8nc0zdb58m077w00rn7rcxbh2"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/wasamasa/form-feed")
+ (synopsis "Display ^L glyphs as horizontal lines")
+ (description
+ "This package provides a minor mode @code{form-feed-mode} to display page
+delimiters which usually appear as ^L glyphs on a single line as horizontal
+lines spanning the entire window. The minor mode is suitable for inclusion
+into mode hooks and is intended to be used that way.")
+ (license license:gpl3+)))
+
(define-public emacs-ggtags
(package
(name "emacs-ggtags")
@@ -1874,53 +2024,76 @@ Maps directly inside Emacs.")
(license license:gpl3+)))
(define-public emacs-graphviz-dot-mode
- (let ((commit "1574c504d9810f34a85e2ff49b6f7648c2be5f27")
- (revision "1"))
- (package
- (name "emacs-graphviz-dot-mode")
- (version (string-append "0.4.1-" revision "."
- (string-take commit 7)))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ppareit/graphviz-dot-mode.git")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "03l6zkkxhbcxj5i13hzjv6ypmzaw70zqqagh7ix1kdn33kpp37jj"))))
- (build-system emacs-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'install 'make-info
- (lambda* (#:key inputs #:allow-other-keys)
- (with-directory-excursion "texinfo"
- (substitute* "Makefile"
- (("\\/usr\\/bin\\/gzip")
- (string-append (assoc-ref inputs "gzip") "/bin/gzip")))
- (invoke "make"
- "clean"
- "info"
- (string-append "TEXINFODIR="
- (assoc-ref inputs "texinfo")
- "/bin")))))
- (add-after 'install 'install-info
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (info (string-append out "/share/info")))
- (install-file "texinfo/graphviz-dot-mode.info.gz" info)
- #t))))))
- (native-inputs
- `(("texinfo" ,texinfo)
- ("gzip" ,gzip)))
- (home-page "http://ppareit.github.com/graphviz-dot-mode")
- (synopsis "Major mode for editing Graphviz Dot files")
- (description
- "This Emacs packages helps you to create @file{.dot} or @file{.gv}
-files using the dot syntax, and use Graphviz to convert these files to
-diagrams.")
- (license license:gpl2+))))
+ (package
+ (name "emacs-graphviz-dot-mode")
+ (version "0.4.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ppareit/graphviz-dot-mode.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1v1p85wk73nfsvv66qf90flgf9dqhmv15z1r7q4zmc4ifklqn08m"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'install 'make-info
+ (lambda* (#:key inputs #:allow-other-keys)
+ (with-directory-excursion "texinfo"
+ (substitute* "Makefile"
+ (("\\/usr\\/bin\\/gzip")
+ (string-append (assoc-ref inputs "gzip") "/bin/gzip")))
+ (invoke "make"
+ "clean"
+ "info"
+ (string-append "TEXINFODIR="
+ (assoc-ref inputs "texinfo")
+ "/bin")))))
+ (add-after 'install 'install-info
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (info (string-append out "/share/info")))
+ (install-file "texinfo/graphviz-dot-mode.info.gz" info)
+ #t))))))
+ (native-inputs
+ `(("gzip" ,gzip)
+ ("texinfo" ,texinfo)))
+ (propagated-inputs
+ `(("emacs-company" ,emacs-company)))
+ (home-page "http://ppareit.github.com/graphviz-dot-mode")
+ (synopsis "Major mode for editing Graphviz DOT files")
+ (description
+ "This Emacs package helps you to create @file{.dot} or @file{.gv} files
+using the DOT syntax, and use Graphviz to convert these files to diagrams.")
+ (license license:gpl2+)))
+
+(define-public emacs-imenu-list
+ (package
+ (name "emacs-imenu-list")
+ (version "0.8")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/bmag/imenu-list")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "13xh9bdl3k6ccfq83wjmkpi4269qahv4davki4wq18dr4amrzhlx"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/bmag/imenu-list")
+ (synopsis
+ "Automatically tracks the current buffer's imenu entries")
+ (description
+ "This Emacs minor mode creates an automatically updated buffer called
+@code{*Ilist*} that is populated with the current buffer's imenu entries.
+This buffer is typically shown as a sidebar (Emacs vertically splits the
+window).")
+ (license license:gpl3+)))
(define-public emacs-mmm-mode
(package
@@ -3286,6 +3459,30 @@ the speedbar window.")
"This package provides a macro that writes your namespaces for you.")
(license license:gpl3+))))
+(define-public emacs-evil-leader
+ (package
+ (name "emacs-evil-leader")
+ (version "0.4.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/cofi/evil-leader")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1k2zinchs0jjllp8zkpggckyy63dkyi5yig3p46vh4w45jdzysk5"))))
+ (inputs
+ `(("emacs-evil" ,emacs-evil)))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/cofi/evil-leader")
+ (synopsis "Implement <leader> feature from Vim")
+ (description
+ "Evil Leader provides the @code{<leader>} feature from Vim that provides
+an easy way to bind keys under a configurable prefix key.")
+ (license license:gpl3+)))
+
(define-public emacs-evil-textobj-syntax
(let ((commit "2d9ba8c75c754b409aea7469f46a5cfa52a872f3")
(version "0")
@@ -3396,10 +3593,36 @@ It also provides an easy way to find synonyms and antonyms for a given
word (to avoid repetitions for example).")
(license license:gpl3+)))
+(define-public emacs-flycheck-rust
+ (package
+ (name "emacs-flycheck-rust")
+ (version "1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/flycheck/flycheck-rust")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1fh6j5w2387nh2fwwjphkhq17cgj5m2q5k0fhidvgc2w65lzbr1r"))))
+ (propagated-inputs
+ `(("emacs-dash" ,emacs-dash)
+ ("emacs-flycheck" ,emacs-flycheck)
+ ("emacs-let-alist" ,emacs-let-alist)))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/flycheck/flycheck-rust")
+ (synopsis "Rust/Cargo support for Flycheck")
+ (description
+ "This Flycheck extension configures Flycheck automatically for
+the current Cargo project.")
+ (license license:gpl3+)))
+
(define-public emacs-elisp-demos
(package
(name "emacs-elisp-demos")
- (version "2019.12.01")
+ (version "2020.02.19")
(source
(origin
(method git-fetch)
@@ -3409,7 +3632,7 @@ word (to avoid repetitions for example).")
(file-name (git-file-name name version))
(sha256
(base32
- "097d8xhvq0770z96wlhiv4gz98cq89pwx5fa42zpfh4p85qj4q9z"))))
+ "0mckgaz92v3y2vlkggx9kd51fd1mahylw39c42l51dyv8wscm7sc"))))
(build-system emacs-build-system)
(arguments
`(#:include '("\\.el$" "\\.org$")
@@ -3878,6 +4101,43 @@ completion candidate when using the Company text completion framework.")
@code{company-math}.")
(license license:gpl3+))))
+(define-public emacs-company-coq
+ (package
+ (name "emacs-company-coq")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/cpitclaudel/company-coq")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0dxi4h8xqq5647k7h89s4pi8nwyj3brlhsckrv3p3b1g4dr6mk3b"))))
+ (inputs
+ `(("emacs-company" ,emacs-company)
+ ("emacs-company-math" ,emacs-company-math)
+ ("emacs-dash" ,emacs-dash)
+ ("emacs-yasnippet" ,emacs-yasnippet)))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/cpitclaudel/company-coq")
+ (synopsis "Emacs extensions for Proof General's Coq mode")
+ (description "This package includes a collection of Company mode backends
+for Proof-General's Coq mode, and many useful extensions to Proof-General. It
+features:
+
+@itemize
+@item Prettification of operators, types, and subscripts,
+@item Auto-completion,
+@item Insertion of cases,
+@item Fully explicit intros,
+@item Outlines, code folding, and jumping to definition,
+@item Help with errors,
+@item and more.
+@end itemize")
+ (license license:gpl3+)))
+
(define-public emacs-company-math
(let ((commit "600e49449644f6835f9dc3501bc58461999e8ab9")
(revision "1"))
@@ -4655,7 +4915,7 @@ number.")
(define-public emacs-org-superstar
(package
(name "emacs-org-superstar")
- (version "1.0.0")
+ (version "1.1.0")
(source
(origin
(method git-fetch)
@@ -4664,7 +4924,7 @@ number.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0q6180qwjpha10zsiw0ni6lanyjwlj8141a6qivfcs8nwczz7nvz"))))
+ (base32 "14aafqw8rnbmiy3kcw1a58vjxdyamrbmlldnlw018wgk0qqv0xpx"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-org" ,emacs-org)))
@@ -5109,33 +5369,55 @@ them easier to distinguish from other, less important buffers.")
(license license:expat)))
(define-public emacs-prescient
- ;; XXX: emacs-ivy introduced a commit that disables sorting for counsel-M-x
- ;; by default, so we use a non-release version ahead by one commit
- (let ((commit "95056580ed743da92b05aaf86f943ee05600c28d")
- (revision "1"))
- (package
- (name "emacs-prescient")
- (version (git-version "3.3" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/raxod502/prescient.el/")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "06qxs8p66jr4gg9m1gd27v5may32f3n28la56cv4f4prinqyyfj7"))))
- (build-system emacs-build-system)
- (propagated-inputs
- `(("emacs-company" ,emacs-company)
- ("emacs-ivy" ,emacs-ivy)))
- (home-page "https://github.com/raxod502/prescient.el/")
- (synopsis "Library that sorts and filters lists of candidates")
- (description
- "This package provides a library for sorting and filtering, as well as
-extensions for @code{ivy-mode} and @code{company-mode} that make use of the
-library.")
- (license license:gpl3+))))
+ (package
+ (name "emacs-prescient")
+ (version "4.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/raxod502/prescient.el.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1rf5cz262hjpck7vpxg15bccdrwrmlhiyxc20liwcjb2ig36nis3"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-company" ,emacs-company)
+ ("emacs-ivy" ,emacs-ivy)
+ ("emacs-selectrum" ,emacs-selectrum)))
+ (home-page "https://github.com/raxod502/prescient.el/")
+ (synopsis "Emacs library for sorting and filtering candidates")
+ (description
+ "Prescient is a library for sorting and filtering, as well as extensions
+for Ivy and Company that make use of the library.")
+ (license license:expat)))
+
+(define-public emacs-selectrum
+ (package
+ (name "emacs-selectrum")
+ (version "1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/raxod502/selectrum.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "105zl102dwbzvk50xh6b824nq6p24kxhky18ghdnk5yi5sv620lm"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/raxod502/selectrum/")
+ (synopsis "Incremental narrowing in Emacs")
+ (description "Selectrum is a solution for incremental narrowing in
+Emacs, replacing Helm, Ivy, and IDO. Its design philosophy is based
+on choosing the right abstractions and prioritizing consistency and
+predictability over special-cased improvements for particular cases.
+As such, Selectrum follows existing Emacs conventions where they exist
+and are reasonable, and it declines to implement features which have
+marginal benefit compared to the additional complexity of a new
+interface.")
+ (license license:expat)))
(define-public emacs-smartparens
(package
@@ -6670,6 +6952,35 @@ functions to assist in reviewing changes on files.")
environments (virtualenv) inside Emacs.")
(license license:gpl3+)))
+(define-public emacs-highlight-indent-guides
+ (let ((version "0.8.5") ; from package metadata
+ (revision "0")
+ (commit "c2c9de4d01edfb89609c91d4d7f1d81312015a2c"))
+ (package
+ (name "emacs-highlight-indent-guides")
+ (version (git-version version revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/DarthFennec/highlight-indent-guides.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "10chvqnmdmkx6i9sigqframr85ziyafiz44glwhvhjajfkv42ad2"))))
+ (build-system emacs-build-system)
+ (home-page
+ "https://github.com/DarthFennec/highlight-indent-guides")
+ (synopsis "Minor mode to highlight indentation")
+ (description
+ "This package provides a minor mode to highlight indentation levels via
+font-lock. Indent widths are dynamically discovered, which means this
+correctly highlights in any mode, regardless of indent width, even in
+languages with non-uniform indentation such as Haskell. This mode works
+properly around hard tabs and mixed indentation and behaves well in large
+buffers.")
+ (license license:expat))))
+
(define-public emacs-highlight-indentation
;; Last release version is from 2015.
(let ((commit "d03803f2c06749c430443a3d24e039cbafc9c58f")
@@ -7429,8 +7740,8 @@ sly-quickload command that prompts the user for a package to install. ")
(license license:gpl3+))))
(define-public emacs-sly-asdf
- (let ((commit "ad248056ded3099b0528b6111ba335e835d9e5a7")
- (revision "3"))
+ (let ((commit "32ce14994e8faee9321605cec36d156b02996c46")
+ (revision "4"))
(package
(name "emacs-sly-asdf")
(version (git-version "0.1.0" revision commit))
@@ -7444,7 +7755,7 @@ sly-quickload command that prompts the user for a package to install. ")
(file-name (git-file-name name version))
(sha256
(base32
- "0lip0spmglny3y612pxn3rfnpdaj12c9f7ya7bprryg2gvcdippa"))))
+ "09x8l37wwqw74xc2frwzbfdb1if8rb3szg5akdk3v2qhik4sm3dd"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-sly" ,emacs-sly)
@@ -7774,6 +8085,30 @@ a popup window for previewing candidates.")
arguments, such as arguments separated by commas and semicolons.")
(license license:expat))))
+(define-public emacs-evil-escape
+ (package
+ (name "emacs-evil-escape")
+ (version "3.14")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/syl20bnr/evil-escape")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0s8lmmm25qabicwaj9jybpbd8mkc62yl7jnhk1lpablydjkv3w2i"))))
+ (propagated-inputs
+ `(("emacs-evil" ,emacs-evil)))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/syl20bnr/evil-escape")
+ (synopsis "Escape from insert state and everything else in Emacs")
+ (description
+ "Evil escape provides a customizable key sequence to escape from insert
+state and everything else in Emacs.")
+ (license license:gpl3+)))
+
(define-public emacs-evil-exchange
(let ((commit "47691537815150715e64e6f6ec79be7746c96120")
(version "0.41")
@@ -13542,6 +13877,45 @@ within Emacs.")
grouping buffers by their projectile root directory.")
(license license:gpl3+))))
+(define-public emacs-elm-mode
+ (package
+ (name "emacs-elm-mode")
+ (version "0.21.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/jcollard/elm-mode")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0iwk4fmw8hq3ry4ky1zc7lgl4cpbnrjyk74c2xzddfspi3ks41fd"))))
+ (propagated-inputs
+ `(("emacs-dash" ,emacs-dash)
+ ("emacs-f" ,emacs-f)
+ ("emacs-reformatter" ,emacs-reformatter)
+ ("emacs-s" ,emacs-s)))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/jcollard/elm-mode")
+ (synopsis "Emacs major mode for editing Elm source code")
+ (description
+ "This package provides a major mode for editing Elm source code, and
+working with common core and third-party Elm tools. Its features are:
+
+@itemize
+@item Syntax highlighting
+@item Intelligent indentation
+@item Integration with elm-make
+@item Integration with elm-repl
+@item Integration with elm-reactor
+@item Integration with elm-package
+@item Integration with elm-oracle
+@item Integration with elm-format
+@item Integration with elm-test
+@end itemize")
+ (license license:gpl3+)))
+
(define-public emacs-helm-mode-manager
(package
(name "emacs-helm-mode-manager")
@@ -13657,18 +14031,18 @@ throw a shell history.")
(version "1.0")
(source
(origin
- (method url-fetch)
- (uri
- (string-append "https://github.com/steckerhalter/discover-my-major"
- "/archive/" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://framagit.org/steckerhalter/discover-my-major.git/")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0nah41f92rrl2l405kpqr6iaks11jyclgl4z7ilfymbr4ifmsiyl"))))
+ "1wlqyl03hhnflbyay3qlvdzqzvv5rbybcjpfddggda7ias9h0pr4"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-makey" ,emacs-makey)))
- (home-page "https://github.com/steckerhalter/discover-my-major")
+ (home-page "https://framagit.org/steckerhalter/discover-my-major/")
(synopsis "Discover key bindings for the current Emacs major mode")
(description "This package provides allows to discover key bindings and
their meaning for the current Emacs major-mode.")
@@ -14540,10 +14914,11 @@ bookmarks and history.")
(license license:gpl3+)))
(define-public emacs-stumpwm-mode
- (let ((commit "5328f85fbf6a8b08c758c17b9435368bf7a68f39"))
+ (let ((commit "dd5b037923ec7d3cc27c55806bcec5a1b8cf4e91")
+ (revision "2"))
(package
(name "emacs-stumpwm-mode")
- (version (git-version "0.0.1" "1" commit))
+ (version (git-version "0.0.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
@@ -14552,7 +14927,7 @@ bookmarks and history.")
(file-name (git-file-name name version))
(sha256
(base32
- "00kf4k8bqadi5s667wb96sn549v2kvw01zwszjrg7nhd805m1ng6"))))
+ "0ahxdj9f884afpzxczx6mx7l4nwg4kw6afqaq7lwhf7lxcwylldn"))))
(build-system emacs-build-system)
(arguments
`(#:phases
@@ -16229,6 +16604,49 @@ and 'text viewing modes' respectively.")
files. It focuses on highlighting the document to improve readability.")
(license license:gpl2+)))
+(define-public emacs-racer
+ (package
+ (name "emacs-racer")
+ (version "1.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/racer-rust/emacs-racer")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0xj5iki10cg8j8vvqjlw6lfx97k3agwirhchcjnzbnkry48x9qi6"))))
+ (arguments
+ `(#:tests? #t
+ #:test-command '("make" "test")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'fix-makefile
+ (lambda _
+ (substitute* "Makefile"
+ (("\\$\\{CASK\\} exec ") ""))
+ #t)))))
+ (native-inputs
+ `(("emacs-ert-runner" ,emacs-ert-runner)
+ ("emacs-undercover" ,emacs-undercover)))
+ (propagated-inputs
+ `(("emacs-dash" ,emacs-dash)
+ ("emacs-f" ,emacs-f)
+ ("emacs-pos-tip" ,emacs-pos-tip)
+ ("emacs-rust-mode" ,emacs-rust-mode)
+ ("emacs-s" ,emacs-s)))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/racer-rust/emacs-racer")
+ (synopsis "Racer support for Emacs")
+ (description
+ "This is the official Emacs package for Racer. It supports code
+completion of variables, functions and modules. It can also jump to
+definition of functions and types, and show a help buffer based on the
+docstring of the thing at point.")
+ (license license:expat)))
+
(define-public emacs-rust-mode
(package
(name "emacs-rust-mode")
@@ -16652,7 +17070,7 @@ files are easily readable and they work nicely with version control systems.")
(define-public emacs-all-the-icons
(package
(name "emacs-all-the-icons")
- (version "3.2.0")
+ (version "4.0.1")
(source
(origin
(method git-fetch)
@@ -16661,8 +17079,7 @@ files are easily readable and they work nicely with version control systems.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32
- "1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn"))))
+ (base32 "0yh7gnv9xfqn8q4rzaa6wpyn9575vyfxy7d3afly2mqsb367fgm5"))))
(build-system emacs-build-system)
(arguments
`(#:include '("\\.el$" "^data/" "^fonts/")
@@ -16675,10 +17092,11 @@ files are easily readable and they work nicely with version control systems.")
("memoize" ,emacs-memoize)))
(home-page "https://github.com/domtronn/all-the-icons.el")
(synopsis "Collect icon fonts and propertize them within Emacs")
- (description "All-the-icons is a utility package to collect various icon
-fonts and propertize them within Emacs. Icon fonts allow you to propertize
-and format icons the same way you would normal text. This enables things such
-as better scaling of and anti aliasing of the icons.")
+ (description
+ "All-the-icons is a utility package to collect various icon fonts and
+propertize them within Emacs. Icon fonts allow you to propertize and format
+icons the same way you would normal text. This enables things such as better
+scaling of and anti aliasing of the icons.")
;; Package is released under Expat license. Elisp files are licensed
;; under GPL3+. Fonts come with various licenses: Expat for
;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for
@@ -17089,23 +17507,39 @@ other frame parameters.")
(license license:gpl3+)))
(define-public emacs-arduino-mode
- (let ((commit "3e2bad4569ad26e929e6db2cbcff0d6d36812698")) ;no release yet
+ (let ((commit "23ae47c9f28f559e70b790b471f20310e163a39b")
+ (revision "1")) ;no release yet
(package
(name "emacs-arduino-mode")
- (version (git-version "0" "0" commit))
+ (version (git-version "0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/bookest/arduino-mode.git")
+ (url "https://github.com/stardiviner/arduino-mode.git")
(commit commit)))
(sha256
(base32
- "1yvaqjc9hadbnnay5fprnh890xsp53kidad1zpb4a5z4a5z61n3c"))
+ "08vnbz9gpah1l93fzfd87aawrhcnh2v1kyfxgsn88pdwg8awz8rx"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
+ (inputs
+ `(("spinner" ,emacs-spinner)
+ ("flycheck" ,emacs-flycheck)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; Emacs complains that "defmethod" and "defgeneric" are obsolete
+ ;; macros when compiling. Substitute them with the recommended
+ ;; macros "cl-defmethod" and "cl-defgeneric", respectively.
+ (add-after 'unpack 'fix-obsolete
+ (lambda _
+ (substitute* "ede-arduino.el"
+ (("defmethod") "cl-defmethod")
+ (("defgeneric") "cl-defgeneric"))
+ #t)))))
(synopsis "Emacs major mode for editing Arduino sketches")
(description "Emacs major mode for editing Arduino sketches.")
- (home-page "https://github.com/bookest/arduino-mode")
+ (home-page "https://github.com/stardiviner/arduino-mode")
(license license:gpl3+))))
(define-public emacs-annalist
@@ -18455,6 +18889,31 @@ unescaping of quotes.")
@code{end-of-defun} functions for Vimscript files.")
(license license:gpl3+))))
+(define-public emacs-flycheck-elm
+ (let ((revision "0")
+ (commit "1b60050efd4729bfba548f3e5adbcb58436667cb"))
+ (package
+ (name "emacs-flycheck-elm")
+ (version (git-version "0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/bsermons/flycheck-elm")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1kjms9d2c98ffd1qxs879qhg0n4jzic0r5kni9y4gz3v09ww8zms"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-flycheck" ,emacs-flycheck)
+ ("emacs-let-alist" ,emacs-let-alist)))
+ (home-page "https://github.com/bsermons/flycheck-elm")
+ (synopsis "Flycheck support for the Elm language")
+ (description "Flycheck Elm adds Flycheck support for Elm language.")
+ (license license:gpl3+))))
+
(define-public emacs-flycheck-haskell
(let ((commit "32ddff87165a7d3a35e7318bee997b5b4bd41278")
(revision "2"))
@@ -19598,6 +20057,32 @@ corresponding Evil keys.")
commands in @code{evil-mode}.")
(license license:gpl3+))))
+(define-public emacs-evil-tmux-navigator
+ (package
+ (name "emacs-evil-tmux-navigator")
+ (version "0.1.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/keith/evil-tmux-navigator")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1na44rbc03sr5b4z9pvnps6n4nmrqcz58nywix9825l74a419ijx"))))
+ (propagated-inputs
+ `(("emacs-evil" ,emacs-evil)))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/keith/evil-tmux-navigator")
+ (synopsis
+ "Navigate seamlessly between emacs windows and tmux panes")
+ (description
+ "This package lets you use C-h, C-j, C-k and C-l to navigate between
+Emacs windows and tmux panes.")
+ (license license:expat)))
+
(define-public emacs-xterm-color
(package
(name "emacs-xterm-color")
@@ -20272,32 +20757,51 @@ Emacs that integrate with major modes like Org-mode.")
(home-page "https://github.com/hlissner/emacs-doom-themes")
(license license:expat))))
-(define-public emacs-modus-themes
+(define-public emacs-modus-operandi-theme
(package
- (name "emacs-modus-themes")
- (version "0.6.0")
+ (name "emacs-modus-operandi-theme")
+ (version "0.7.0")
(source
(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.com/protesilaos/modus-themes.git")
- (commit version)))
- (file-name (git-file-name name version))
+ (method url-fetch)
+ (uri (string-append "https://elpa.gnu.org/packages/"
+ "modus-operandi-theme-" version ".el"))
(sha256
- (base32 "15z6qq0b0npp7hscmh04i3mi10bynzdy52fv2b160nji264zvcwa"))))
+ (base32 "17zvcqplbl3rk39k61v43ganzv06j49rlyickanwll5m1a3iibw2"))))
(build-system emacs-build-system)
(home-page "https://gitlab.com/protesilaos/modus-themes")
- (synopsis "Emacs themes designed for colour-contrast accessibility")
+ (synopsis "Accessible light theme (WCAG AAA)")
(description
- "This is a set of accessible themes for GNU Emacs. The contrast ratio
-between foreground and background values should always be >= 7:1, which
-conforms with the WCAG AAA accessibility standard.
+ "Modus operandi is the light version of the Modus accessible themes for
+GNU Emacs. The contrast ratio between foreground and background values should
+always be greater than 7:1, which conforms with the WCAG AAA accessibility
+standard. This is the highest standard of its kind.")
+ (license license:gpl3+)))
-The Modus themes project consists of two standalone items, one where dark text
-is cast on a light backdrop (Modus Operandi) and another where light text is
-displayed against a dark background (Modus Vivendi).")
+(define-public emacs-modus-vivendi-theme
+ (package
+ (name "emacs-modus-vivendi-theme")
+ (version "0.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://elpa.gnu.org/packages/"
+ "modus-vivendi-theme-" version ".el"))
+ (sha256
+ (base32 "1w4vrg39dghghkvll3h4kmzykc3zpp6pbychb39gcc13z2b06v8g"))))
+ (build-system emacs-build-system)
+ (home-page "https://gitlab.com/protesilaos/modus-themes")
+ (synopsis "Accessible dark theme (WCAG AAA)")
+ (description
+ "Modus vivendi is the dark version of the Modus accessible themes for GNU
+Emacs. The contrast ratio between foreground and background values should
+always be greater than 7:1, which conforms with the WCAG AAA accessibility
+standard. This is the highest standard of its kind.")
(license license:gpl3+)))
+(define-public emacs-modus-themes
+ (deprecated-package "emacs-modus-themes" emacs-modus-operandi-theme))
+
(define-public emacs-punpun-theme
(let ((commit "2f78125609277b2478abdebd8f9d5ee10a823b65")
(revision "0"))
@@ -20323,8 +20827,8 @@ color. Designed for 256-color terminals. Comes in light and dark!")
(license license:gpl3+))))
(define-public emacs-spacemacs-theme
- (let ((commit "e088bff4f190495615c29de93079aaa823e2300c")
- (revision "0"))
+ (let ((commit "f79c40fb241e204539fde97200abae91e828e585")
+ (revision "1"))
(package
(name "emacs-spacemacs-theme")
(version (git-version "0" revision commit)) ;no release yet
@@ -20336,7 +20840,7 @@ color. Designed for 256-color terminals. Comes in light and dark!")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "09p5pzy3ibrl8dxmg10v8j16wxdn1fkdqpbi8l9pgfib2azmnvnc"))))
+ (base32 "1l2kkiyrskkpx8f901v0wrzaah1wjg15zdyv88spj3mh3hwd3b6n"))))
(build-system emacs-build-system)
(home-page "https://github.com/nashamri/spacemacs-theme")
(synopsis
@@ -21757,3 +22261,40 @@ enables modal editing and composition of commands, too. It combines ideas of
other Editors like Vim or Kakoune and tries to align them with regular Emacs
conventions.")
(license license:gpl3+)))
+
+(define-public emacs-haskell-snippets
+ ;; The commit below is 5 commits ahead of release, and includes a build fix.
+ (let ((commit "07b0f460b946fd1be26c29652cb0468b47782f3a"))
+ (package
+ (name "emacs-haskell-snippets")
+ (version (git-version "0.1.0" "0" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/haskell/haskell-snippets")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0a7y3awi9hcyahggf0ghsdwvsmrhr9yq634wy9lkqjzrm2hqj0ci"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-snippets
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (snippets
+ (string-append
+ out "/share/emacs/site-lisp/snippets/haskell-mode")))
+ (mkdir-p snippets)
+ (copy-recursively "snippets/haskell-mode" snippets)
+ #t))))))
+ (propagated-inputs
+ `(("emacs-yasnippet" ,emacs-yasnippet)))
+ (home-page "https://github.com/haskell/haskell-snippets")
+ (synopsis "Official collection of YASnippet Haskell snippets for Emacs")
+ (description "Haskell-Snippets is a collection of YASnippet Haskell
+snippets for Emacs.")
+ (license license:expat))))
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 2fcb176ae4..58d6c73ee2 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -197,7 +197,7 @@
"-DX11_FOUND=1")))
(native-inputs
`(("pkg-config" ,pkg-config)
- ("gettext" ,gnu-gettext)))
+ ("gettext" ,gettext-minimal)))
(inputs
`(("alsa-lib" ,alsa-lib)
("ao" ,ao)
@@ -311,28 +311,19 @@ and a game metadata scraper.")
(home-page "https://emulationstation.org")
(license license:expat))))
-;; Note: higan v107 has been released, but as explained by the dialog that
-;; appears after starting the new version, it's an experimental release. The
-;; author recommends v106 for general use.
-;;
-;; When updating to v107 (or probably beyond), sdl will have to be replaced
-;; with sdl2, and libxrandr will need to be added to inputs. The patch
-;; `higan-remove-march-native-flag.patch' will not be necessary, since the flag
-;; is now being added only for `platform=local', which is not the default.
(define-public higan
(package
(name "higan")
- (version "106")
+ (version "110")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/byuu/higan/")
- (commit (string-append "v" version))))
+ (url "https://github.com/higan-emu/higan.git")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1mxivf8124vz4hl0b0xa1yqv0z9m3i12v9psmbpqkprrbq0wbgn1"))
- (patches (search-patches "higan-remove-march-native-flag.patch"))))
+ (base32 "11rvm53c3p2f6zk8xbyv2j51xp8zmqnch7zravhj3fk590qrjrr2"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -342,11 +333,12 @@ and a game metadata scraper.")
("eudev" ,eudev)
("gtk+" ,gtk+-2)
("gtksourceview-2" ,gtksourceview-2)
+ ("libxrandr" ,libxrandr)
("libxv" ,libxv)
("mesa" ,mesa)
("openal" ,openal)
("pulseaudio" ,pulseaudio)
- ("sdl" ,sdl)))
+ ("sdl2" ,sdl2)))
(arguments
'(#:phases
(let ((build-phase (assoc-ref %standard-phases 'build))
@@ -405,18 +397,19 @@ and a game metadata scraper.")
(string-append "prefix=" (assoc-ref %outputs "out")))
;; There is no test suite.
#:tests? #f))
- (home-page "https://byuu.org/higan")
- (synopsis "Nintendo multi-system emulator")
+ (home-page "https://github.com/higan-emu/higan/")
+ (synopsis "Multi-system emulator")
(description
- "higan (formerly bsnes) is an emulator for multiple Nintendo video game
-consoles, including the Nintendo Entertainment System (NES/Famicom), Super
-Nintendo Entertainment System (SNES/Super Famicom), Game Boy, Game Boy
-Color (GBC), and Game Boy Advance (GBA). It also supports the subsystems
-Super Game Boy, BS-X Satellaview, and Sufami Turbo.")
- ;; As noted in these files among more:
- ;; - icarus/icarus.cpp
- ;; - higan/emulator/emulator.hpp
- (license license:gpl3)))
+ "higan is a multi-system emulator with an uncompromising focus on
+accuracy and code readability.
+
+It currently emulates the following systems: Famicom, Famicom Disk System,
+Super Famicom, Super Game Boy, Game Boy, Game Boy Color, Game Boy Advance,
+Game Boy Player, SG-1000, SC-3000, Master System, Game Gear, Mega Drive, Mega
+CD, PC Engine, SuperGrafx, MSX, MSX2, ColecoVision, Neo Geo Pocket, Neo Geo
+Pocket Color, WonderSwan, WonderSwan Color, SwanCrystal, Pocket Challenge
+V2.")
+ (license license:gpl3+)))
(define-public mgba
(package
@@ -1281,7 +1274,7 @@ play them on systems for which they were never designed!")
(define-public mame
(package
(name "mame")
- (version "0.219")
+ (version "0.220")
(source
(origin
(method git-fetch)
@@ -1290,7 +1283,7 @@ play them on systems for which they were never designed!")
(commit (apply string-append "mame" (string-split version #\.)))))
(file-name (git-file-name name version))
(sha256
- (base32 "0s3nhkfa5c17ar1lzgvm20ndqain9llgqkab0ji5ycv2c85f06fl"))
+ (base32 "0x3yr195zi7xjr21p1c2l8c0vhg0a0af0mpz4i1w7q7r9krvcvz4"))
(modules '((guix build utils)))
(snippet
;; Remove bundled libraries.
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 5854249bb1..6a5f12db6d 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -15,6 +15,7 @@
;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com>
;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -227,13 +228,13 @@ plans and designs.")
("glib" ,glib)
("gtk" ,gtk+-2)
("guile" ,guile-2.0)
- ("desktop-file-utils" ,desktop-file-utils)
("shared-mime-info" ,shared-mime-info)
("m4" ,m4)
("pcb" ,pcb)
("python" ,python-2))) ; for xorn
(native-inputs
`(("pkg-config" ,pkg-config)
+ ("desktop-file-utils" ,desktop-file-utils)
("perl" ,perl))) ; for tests
(home-page "http://geda-project.org/")
(synopsis "Schematic capture, netlister, symbols, symbol checker, and utils")
@@ -266,8 +267,9 @@ utilities.")
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
+ ("desktop-file-utils" ,desktop-file-utils)
("libtool" ,libtool)
- ("gettext" ,gnu-gettext)
+ ("gettext" ,gettext-minimal)
("texinfo" ,texinfo)
("groff" ,groff)
("which" ,which)
@@ -276,7 +278,6 @@ utilities.")
`(("glib" ,glib)
("gtk" ,gtk+-2)
("guile" ,guile-2.2)
- ("desktop-file-utils" ,desktop-file-utils)
("shared-mime-info" ,shared-mime-info)
("m4" ,m4)
("pcb" ,pcb)))
@@ -385,13 +386,13 @@ features.")))
("gd" ,gd)
("gtk" ,gtk+-2)
("gtkglext" ,gtkglext)
- ("desktop-file-utils" ,desktop-file-utils)
("shared-mime-info" ,shared-mime-info)
("tk" ,tk)))
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)
("bison" ,bison)
+ ("desktop-file-utils" ,desktop-file-utils)
("flex" ,flex)
;; For tests
("imagemagick" ,imagemagick)
@@ -675,11 +676,11 @@ ready for production.")
(build-system gnu-build-system)
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
+ ("desktop-file-utils" ,desktop-file-utils)
("pkg-config" ,pkg-config)))
(inputs
`(("cairo" ,cairo)
- ("gtk" ,gtk+-2)
- ("desktop-file-utils" ,desktop-file-utils)))
+ ("gtk" ,gtk+-2)))
(home-page "http://gerbv.geda-project.org/")
(synopsis "Gerber file viewer")
(description
@@ -856,7 +857,7 @@ language.")
(native-inputs
`(("boost" ,boost)
("desktop-file-utils" ,desktop-file-utils)
- ("gettext" ,gnu-gettext)
+ ("gettext" ,gettext-minimal)
("kicad-i18l" ,kicad-i18l)
("pkg-config" ,pkg-config)
("swig" ,swig)
@@ -903,7 +904,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(delete 'build)
(delete 'check))))
(native-inputs
- `(("gettext" ,gnu-gettext)))
+ `(("gettext" ,gettext-minimal)))
(home-page "https://kicad-pcb.org/")
(synopsis "KiCad GUI translations")
(description "This package contains the po files that are used for the GUI
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 7bf8f4fc6e..ea1fcbe9d4 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -16,6 +16,7 @@
;;; Copyright © 2019 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2019 Sebastian Schott <sschott@mailbox.org>
;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net>
+;;; Copyright © 2020 Christopher Lemmer Webber <cwebber@dustycloud.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -39,6 +40,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system emacs)
#:use-module (guix build-system python)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system go)
@@ -1398,3 +1400,65 @@ entity management.")
electronic cash system. This package provides a command line client and
a Qt GUI.")
(license license:expat)))
+
+(define-public beancount
+ (package
+ (name "beancount")
+ (version "2.2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "beancount" version))
+ (sha256
+ (base32
+ "0pcfl2rx2ng06i4f9izdpnlnb1k0rdzsckbzzn4cn4ixfzyssm0m"))
+ (patches (search-patches "beancount-disable-googleapis-fonts.patch"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f ; Says test is missing, not sure why
+ #:phases
+ (modify-phases %standard-phases
+ ;; Not importing the googleapis package for now
+ (add-after 'unpack 'ignore-googleapis
+ (lambda _
+ (substitute* "setup.py"
+ (("'google-api-python-client',") ""))
+ #t)))))
+ (inputs
+ `(("python-beautifulsoup4" ,python-beautifulsoup4)
+ ("python-bottle" ,python-bottle)
+ ("python-chardet" ,python-chardet)
+ ("python-dateutil" ,python-dateutil)
+ ("python-lxml" ,python-lxml)
+ ("python-magic" ,python-magic)
+ ("python-ply" ,python-ply)
+ ("python-requests" ,python-requests)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (home-page "http://furius.ca/beancount")
+ (synopsis "Command-line double-entry accounting tool")
+ (description
+ "Beancount is a double-entry bookkeeping computer language that lets you
+define financial transaction records in a text file, read them in memory,
+generate a variety of reports from them, and provides a web interface.")
+ (license license:gpl2)))
+
+;; The beancount source ships with elisp in a subdirectory
+(define-public emacs-beancount
+ (package
+ (inherit beancount)
+ (name "emacs-beancount")
+ (build-system emacs-build-system)
+ (arguments
+ `(#:tests? #f ;no tests
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'install 'chdir-emacs
+ (lambda _
+ (chdir "editors/emacs")
+ #t)))))
+ (inputs '())
+ (native-inputs '())
+ (synopsis "Emacs mode for beancount")
+ (description
+ "Emacs-beancount is an Emacs mode for the Beancount accounting tool.")))
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 527f2cbbd6..dbc0c4f9d6 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -31,6 +31,7 @@
;;; Copyright © 2020 Damien Cassou <damien@cassou.me>
;;; Copyright © 2020 Amin Bandali <bandali@gnu.org>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -559,17 +560,16 @@ fonts.")
(define-public font-rachana
(package
(name "font-rachana")
- (version "7.0")
+ (version "7.0.3")
(source
(origin
- (method url-fetch)
- (uri (string-append
- "https://gitlab.com/smc/rachana/repository/archive.tar.gz?ref=Version"
- version))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/smc/fonts/rachana")
+ (commit (string-append "Version" version))))
(sha256
- (base32
- "0jc091gshna6p1dd6lf507jxkgk6rsja835fc9dm71mcplq53bm1"))))
+ (base32 "0r100pvk56y1s38nbv24d78s8nd7dkblgasbn8s887dzj6dps23d"))
+ (file-name (git-file-name name version))))
(build-system font-build-system)
(home-page "https://smc.org.in")
(synopsis "Malayalam font")
@@ -650,7 +650,7 @@ for use at smaller text sizes")))
(define-public font-gnu-unifont
(package
(name "font-gnu-unifont")
- (version "12.1.04")
+ (version "13.0.01")
(source
(origin
(method url-fetch)
@@ -660,7 +660,7 @@ for use at smaller text sizes")))
(string-append "mirror://gnu/unifont/unifont-"
version "/unifont-" version ".tar.gz")))
(sha256
- (base32 "1h5dyhg4j8sh4qpbwnsn34igb8mfapz5b3nf4k71hq1c5z3j0mcv"))))
+ (base32 "1svzm3xahb2m8r79ha9gb1z3zlckykx9d87cghswj7dxn9868j4b"))))
(build-system gnu-build-system)
(outputs '("out" ; TrueType version
"pcf" ; PCF (bitmap) version
@@ -703,7 +703,7 @@ for use at smaller text sizes")))
"GNU Unifont is a bitmap font covering essentially all of
Unicode's Basic Multilingual Plane. The package also includes
utilities to ease adding new glyphs to the font.")
- (home-page "http://unifoundry.com/unifont.html")
+ (home-page "http://unifoundry.com/unifont/index.html")
(properties '((upstream-name . "unifont")))
(license license:gpl2+)))
@@ -1178,6 +1178,50 @@ programming. Iosevka is completely generated from its source code.")
(sha256
(base32 "1rkmgi08kknc1fg54zpa6w92m3b3v7pc8cpwygz22kgd2h0mdrr8"))))))
+(define-public font-iosevka-term
+ (package
+ (inherit font-iosevka)
+ (name "font-iosevka-term")
+ (version (package-version font-iosevka))
+ (source
+ (origin
+ (method url-fetch/zipbomb)
+ (uri (string-append "https://github.com/be5invis/Iosevka"
+ "/releases/download/v" version
+ "/02-iosevka-term-" version ".zip"))
+ (sha256
+ (base32
+ "1mxlb3qf64nykjd0x4gjfvib3k5kyv9ssv9iyzxxgk2z80bydz00"))))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'install 'make-files-writable
+ (lambda _
+ (for-each make-file-writable (find-files "." ".*"))
+ #t)))))))
+
+(define-public font-iosevka-term-slab
+ (package
+ (inherit font-iosevka)
+ (name "font-iosevka-term-slab")
+ (version (package-version font-iosevka))
+ (source
+ (origin
+ (method url-fetch/zipbomb)
+ (uri (string-append "https://github.com/be5invis/Iosevka"
+ "/releases/download/v" version
+ "/06-iosevka-term-slab-" version ".zip"))
+ (sha256
+ (base32
+ "1gc16hih157qy6vpa8f88psq0fnksiigi3msqazc75zsm3z4kzqj"))))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'install 'make-files-writable
+ (lambda _
+ (for-each make-file-writable (find-files "." ".*"))
+ #t)))))))
+
(define-public font-go
(let ((commit "f03a046406d4d7fbfd4ed29f554da8f6114049fc")
(revision "1"))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 06d1b3c11c..7b22dfc052 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -48,6 +48,9 @@
;;; Copyright © 2017, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2020 Alberto Eleuterio Flores Guerrero <barbanegra+guix@posteo.mx>
;;; Copyright © 2020 Naga Malleswari <nagamalli@riseup.net>
+;;; Copyright © 2020 Vitaliy Shatrov <D0dyBo0D0dyBo0@protonmail.com>
+;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -172,6 +175,7 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages messaging)
#:use-module (gnu packages networking)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
@@ -1093,6 +1097,46 @@ destroying an ancient book using a special wand.")
;; license. The whole package is released under GPLv3+.
(license license:gpl3+)))
+(define-public gnome-chess
+ (package
+ (name "gnome-chess")
+ (version "3.36.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1a9fgi749gy1f60vbcyrqqkab9vqs42hji70q73k1xx8rv0agmg0"))))
+ (build-system meson-build-system)
+ (arguments
+ '(#:glib-or-gtk? #t
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'skip-gtk-update-icon-cache
+ ;; Don't create 'icon-theme.cache'.
+ (lambda _
+ (substitute* "meson_post_install.py"
+ (("gtk-update-icon-cache") "true"))
+ #t)))))
+ (inputs
+ `(("gtk+" ,gtk+)
+ ("librsvg" ,librsvg)))
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin") ; for desktop-file-validate and appstream-util
+ ("itstool" ,itstool)
+ ("pkg-config" ,pkg-config)
+ ("vala" ,vala)))
+ (home-page "https://wiki.gnome.org/Apps/Chess")
+ (synopsis "Chess board for GNOME")
+ (description "GNOME Chess provides a 2D board for playing chess games
+against human or computer players. It supports loading and saving games in
+Portable Game Notation. To play against a computer, install a chess engine
+such as chess or stockfish.")
+ (license license:gpl3+)))
+
(define-public gnubg
(package
(name "gnubg")
@@ -1250,10 +1294,11 @@ watch your CPU playing while enjoying a cup of tea!")
(string-join (string-split version #\.) "") "-src.tgz"))
(sha256
(base32 "1liyckjp34j354qnxc1zn9730lh1p2dabrg1hap24z6xnqx0rpng"))))
+ (native-inputs
+ `(("bison" ,bison)
+ ("flex" ,flex)))
(inputs
`(("ncurses" ,ncurses)
- ("bison" ,bison)
- ("flex" ,flex)
("less" ,less)))
(build-system gnu-build-system)
(arguments
@@ -6634,7 +6679,7 @@ GameController.")
#t)))))
(native-inputs
`(("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate
- ("gettext" ,gnu-gettext)
+ ("gettext" ,gettext-minimal)
("glib" ,glib "bin") ;for glib-compile-resources
("itstool" ,itstool)
("libxml2" ,libxml2) ;for xmllint
@@ -7139,7 +7184,7 @@ where the player draws runes in real time to effect the desired spell.")
`(("pkg-config" ,pkg-config)
("autoconf" ,autoconf)
("automake" ,automake)
- ("gnu-gettext" ,gnu-gettext)
+ ("gnu-gettext" ,gettext-minimal)
("libtool" ,libtool)
("which" ,which)))
(synopsis "2d action platformer game")
@@ -10291,3 +10336,119 @@ to conquer opponents by defeating them in war (with troops or machines),
capturing their buildings with spies, or offering opponents money for their
kingdom.")
(license license:gpl2+)))
+
+(define-public neverball
+ ;; Git version is 6-years younger than latest release.
+ (let ((commit "760a25d32a5fb0661b99426d4ddcb9ac9f3d1644")
+ (revision "1"))
+ (package
+ (name "neverball")
+ (version (git-version "1.6.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Neverball/neverball.git")
+ (commit commit)))
+ (sha256
+ (base32
+ "0bwh67df3lyf33bv710y25l3frjdd34j9b7gsjadwxviz6r1vpj5"))
+ (file-name (git-file-name name version))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Octocat seems to be non-free. Oddly, Debian doesn't strip it.
+ (delete-file-recursively "data/ball/octocat")
+ #t))))
+ (build-system copy-build-system)
+ (arguments
+ `(#:install-plan
+ '(("neverball" "bin/")
+ ("neverputt" "bin/")
+ ("mapc" "bin/")
+ ("data" "share/games/neverball/")
+ ("locale" "share/")
+ ("dist/" "share/games/neverball" #:include ("neverball_replay.png"
+ "neverlogos.svg"
+ "svg readme.txt"))
+ ("dist/" "share/applications" #:include ("neverball.desktop"
+ "neverputt.desktop"))
+ ("dist/neverball_16.png"
+ "/share/icons/hicolor/16x16/apps/neverball.png")
+ ("dist/neverball_24.png"
+ "/share/icons/hicolor/24x24/apps/neverball.png")
+ ("dist/neverball_32.png"
+ "/share/icons/hicolor/32x32/apps/neverball.png")
+ ("dist/neverball_48.png"
+ "/share/icons/hicolor/48x48/apps/neverball.png")
+ ("dist/neverball_64.png"
+ "/share/icons/hicolor/64x64/apps/neverball.png")
+ ("dist/neverball_128.png"
+ "/share/icons/hicolor/128x128/apps/neverball.png")
+ ("dist/neverball_256.png"
+ "/share/icons/hicolor/256x256/apps/neverball.png")
+ ("dist/neverball_512.png"
+ "/share/icons/hicolor/512x512/apps/neverball.png")
+ ("dist/neverputt_16.png"
+ "/share/icons/hicolor/16x16/apps/neverputt.png")
+ ("dist/neverputt_24.png"
+ "/share/icons/hicolor/24x24/apps/neverputt.png")
+ ("dist/neverputt_32.png"
+ "/share/icons/hicolor/32x32/apps/neverputt.png")
+ ("dist/neverputt_48.png"
+ "/share/icons/hicolor/48x48/apps/neverputt.png")
+ ("dist/neverputt_64.png"
+ "/share/icons/hicolor/64x64/apps/neverputt.png")
+ ("dist/neverputt_128.png"
+ "/share/icons/hicolor/128x128/apps/neverputt.png")
+ ("dist/neverputt_256.png"
+ "/share/icons/hicolor/256x256/apps/neverputt.png")
+ ("dist/neverputt_512.png"
+ "/share/icons/hicolor/512x512/apps/neverputt.png")
+ ("dist/" "share/man/man1" #:include ("mapc.1"))
+ ("dist/" "share/man/man6" #:include ("neverball.6" "neverputt.6"))
+ ("doc/" "share/doc/neverball")
+ ("README.md" "share/doc/neverball/"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'install 'build
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (sdl (assoc-ref inputs "sdl")))
+ (invoke "make" "-j" (number->string (parallel-job-count))
+ "--environment-overrides"
+ "CC=gcc" "BUILD=release"
+ (string-append "DATADIR="
+ out
+ "/share/games/neverball/data")
+ (string-append "LOCALEDIR=" out "/share/locale")
+ (string-append "SDL_CPPFLAGS=-I"
+ sdl
+ "/include/SDL2/")))
+ #t))
+ (add-after 'install 'fix-some-broken-fonts
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out")))
+ (wrap-program (string-append out "/bin/neverball")
+ `("LANG" = ("en_US.utf8")))
+ (wrap-program (string-append out "/bin/neverputt")
+ `("LANG" = ("en_US.utf8"))))
+ #t)))))
+ (native-inputs
+ `(("gettext" ,gettext-minimal))) ;for msgfmt
+ (inputs
+ `(("libjpeg" ,libjpeg-turbo)
+ ("libpng" ,libpng)
+ ("libvorbis" ,libvorbis)
+ ("physfs" ,physfs)
+ ("sdl" ,(sdl-union (list sdl2 sdl2-ttf)))))
+ (home-page "https://neverball.org/")
+ (synopsis "3D floor-tilting game")
+ (description
+ "In the grand tradition of Marble Madness and Super Monkey Ball,
+Neverball has you guide a rolling ball through dangerous territory. Balance
+on narrow bridges, navigate mazes, ride moving platforms, and dodge pushers
+and shovers to get to the goal. Race against the clock to collect coins to
+earn extra balls. Also included is Neverputt, which is a 3D miniature golf
+game.") ;thanks to Debian for description
+ (license license:gpl2+))))
diff --git a/gnu/packages/genimage.scm b/gnu/packages/genimage.scm
index fdf686f9d7..27f55a398a 100644
--- a/gnu/packages/genimage.scm
+++ b/gnu/packages/genimage.scm
@@ -41,7 +41,7 @@
(define-public genimage
(package
(name "genimage")
- (version "10")
+ (version "11")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -50,7 +50,7 @@
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "0had00p2why2l1fl14mq7nbhmmfbd3na4qnnpg36akdy05g67jbn"))))
+ "15jmh17lvm3jw9c92bjarly7iwhmnfl322d91mprfv10ppb9ip54"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -149,6 +149,7 @@
(substitute* '("test/ext2test.dump"
"test/ext3test.dump"
"test/ext4test.dump"
+ "test/ext2test-percent.dump"
"test/mke2fs.dump")
(("root") "unknown"))
#t))
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index cf0b31aa43..aa6d25a51b 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -1925,6 +1925,22 @@ growing set of geoscientific methods.")
(add-after 'wrap-python 'wrap-qt
(lambda* (#:key outputs #:allow-other-keys)
(wrap-qt-program (assoc-ref outputs "out") "qgis")
+ #t))
+ (add-after 'wrap-qt 'wrap-gis
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (saga (string-append (assoc-ref inputs "saga") "/bin"))
+ (grass-version ,(package-version grass))
+ (grass-majorminor (string-join
+ (list-head
+ (string-split grass-version #\.) 2)
+ ""))
+ (grass (string-append (assoc-ref inputs "grass")
+ "/grass" grass-majorminor)))
+ (wrap-program (string-append out "/bin/qgis")
+ `("PATH" ":" prefix (,saga))
+ `("QGIS_PREFIX_PATH" = (,out))
+ `("GISBASE" = (,grass))))
#t)))))
(inputs
`(("exiv2" ,exiv2)
diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm
index 9995d445ab..5966906954 100644
--- a/gnu/packages/gimp.scm
+++ b/gnu/packages/gimp.scm
@@ -152,10 +152,16 @@ buffers.")
(list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
"/share/gtk-doc/html")
+
;; Prevent the build system from running 'gtk-update-icon-cache'
;; which is not needed during the build because Guix runs it at
;; profile creation time.
"ac_cv_path_GTK_UPDATE_ICON_CACHE=true"
+
+ ;; Disable automatic network request on startup to check for
+ ;; version updates.
+ "--disable-check-update"
+
;; ./configure requests not to annoy upstream with packaging bugs.
"--with-bug-report-url=https://bugs.gnu.org/guix")
#:phases
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index fc3d853a7a..8d01c12cb9 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -49,6 +49,7 @@
;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2020 raingloom <raingloom@riseup.net>
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2020 Naga Malleswari <nagamalli@riseup.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -249,6 +250,49 @@ Desktop. It is designed to be as simple as possible and has some unique
features to enable users to create their discs easily and quickly.")
(license license:gpl2+)))
+(define-public mm-common
+ (package
+ (name "mm-common")
+ (version "1.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1m4w33da9f4rx2d6kdj3ix3kl0gn16ml82v2mdn4hljr3q29nzdr"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "util/mm-common-prepare.in"
+ (("ln") (string-append (assoc-ref inputs "coreutils")
+ "/bin/ln"))
+ (("cp") (string-append (assoc-ref inputs "coreutils")
+ "/bin/cp"))
+ (("sed") (string-append (assoc-ref inputs "sed")
+ "/bin/sed"))
+ (("cat") (string-append (assoc-ref inputs "coreutils")
+ "/bin/cat")))
+ #t)))))
+ (native-inputs
+ `(("coreutils" ,coreutils)
+ ("gettext" ,gettext-minimal)
+ ("pkg-config" ,pkg-config)
+ ("sed" ,sed)))
+ (inputs
+ `(("python" ,python)))
+ (synopsis "Module of GNOME C++ bindings")
+ (description "The mm-common module provides the build infrastructure
+and utilities shared among the GNOME C++ binding libraries. Release
+archives of mm-common include the Doxygen tag file for the GNU C++
+Library reference documentation.")
+ (home-page "https://gitlab.gnome.org/GNOME/mm-common")
+ (license license:gpl2+)))
+
(define-public phodav
(package
(name "phodav")
@@ -334,7 +378,7 @@ in the GNOME desktop.")
(define-public gnome-online-miners
(package
(name "gnome-online-miners")
- (version "3.30.0")
+ (version "3.34.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -342,7 +386,7 @@ in the GNOME desktop.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0pjamwwzn5wqgihyss357dyl2q70r0bngnqmwsqawchx5f9aja9c"))))
+ "1n2jz9i8a42zwxx5h8j2gdy6q1vyydh4vl00r0al7w8jzdh24p44"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
@@ -536,7 +580,18 @@ extraction, and lookup for applications on the desktop.")
(arguments
'(#:configure-flags '(;; Enable camera support for user selfie.
"-Dcheese=auto"
- "-Dsystemd=false")))
+ "-Dsystemd=false")
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'set-gkbd-file-name
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Allow the "Preview" button in the keyboard layout
+ ;; selection dialog to display the layout.
+ (let ((libgnomekbd (assoc-ref inputs "libgnomekbd")))
+ (substitute* "gnome-initial-setup/pages/keyboard/cc-input-chooser.c"
+ (("\"gkbd-keyboard-display")
+ (string-append "\"" libgnomekbd
+ "/bin/gkbd-keyboard-display")))
+ #t))))))
(native-inputs
`(("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
@@ -565,7 +620,8 @@ extraction, and lookup for applications on the desktop.")
("pwquality" ,libpwquality)
("rest" ,rest)
("upower" ,upower)
- ("webkitgtk" ,webkitgtk)))
+ ("webkitgtk" ,webkitgtk)
+ ("libgnomekbd" ,libgnomekbd)))
(synopsis "Initial setup wizard for GNOME desktop")
(description "This package provides a set-up wizard when a
user logs into GNOME for the first time. It typically provides a
@@ -5037,7 +5093,7 @@ supports image conversion, rotation, and slideshows.")
(synopsis "Extensions for the Eye of GNOME image viewer")
(native-inputs
`(("pkg-config" ,pkg-config)
- ("gettext" ,gnu-gettext)))
+ ("gettext" ,gettext-minimal)))
(inputs
`(("eog" ,eog)
("glib" ,glib)
@@ -6042,7 +6098,7 @@ window manager.")
(define-public gnome-online-accounts
(package
(name "gnome-online-accounts")
- (version "3.32.1")
+ (version "3.36.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -6050,7 +6106,7 @@ window manager.")
name "-" version ".tar.xz"))
(sha256
(base32
- "08g9kdj8fzcgp76z2zsj9m7wfjks9z6xfrfrbfmcr69k40mapfx8"))))
+ "0bigfi225g1prnxpb9lcc1i7mdcrkplwb05vilc43jik12cn53qw"))))
(outputs '("out" "lib"))
(build-system glib-or-gtk-build-system)
(arguments
@@ -7608,7 +7664,7 @@ software that do not provide their own configuration interface.")
(let* ((out (assoc-ref %outputs "out"))
(apps (string-append out "/share/applications")))
(mkdir-p apps)
- (call-with-output-file (string-append apps "/defaults.list")
+ (call-with-output-file (string-append apps "/gnome-mimeapps.list")
(lambda (port)
(format port "[Default Applications]\n")
(format port "inode/directory=org.gnome.Nautilus.desktop\n")
@@ -7680,6 +7736,17 @@ associations for GNOME.")
("gjs" ,gjs)
("gnome-desktop" ,gnome-desktop)
("libgweather" ,libgweather)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'fix-desktop-file
+ ;; FIXME: "gapplication launch org.gnome.Weather" fails for some reason.
+ ;; See https://issues.guix.gnu.org/issue/39324.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (applications (string-append out "/share/applications")))
+ (substitute* (string-append applications "/org.gnome.Weather.desktop")
+ (("Exec=.*") "Exec=gnome-weather\n"))))))))
(synopsis "Weather monitoring for GNOME desktop")
(description "GNOME Weather is a small application that allows you to
monitor the current weather conditions for your city, or anywhere in the
@@ -8849,10 +8916,15 @@ views can be printed as PDF or PostScript files, or exported to HTML.")
(base32 "1ng9492k8754vlqggbfsyzbmfdx4w17fzc4ad21fr92710na0w5a"))))
(build-system meson-build-system)
(arguments
- `(#:imported-modules ((guix build python-build-system)
- ,@%meson-build-system-modules)
+ `(#:imported-modules
+ (,@%meson-build-system-modules
+ (guix build python-build-system))
+ #:modules
+ ((guix build meson-build-system)
+ ((guix build python-build-system) #:prefix python:)
+ (guix build utils))
#:glib-or-gtk? #t
- #:tests? #f ; no test suite
+ #:tests? #f ; no test suite
#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-program
@@ -8863,9 +8935,7 @@ views can be printed as PDF or PostScript files, or exported to HTML.")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
#t))
(add-after 'install 'wrap-python
- (@@ (guix build python-build-system) wrap))
- (add-after 'install 'wrap-glib-or-gtk
- (@@ (guix build glib-or-gtk-build-system) wrap-all-programs)))))
+ (assoc-ref python:%standard-phases 'wrap)))))
(native-inputs
`(("intltool" ,intltool)
("itstool" ,itstool)
@@ -9121,7 +9191,7 @@ configurable file renaming. ")
("libxscrnsaver" ,libxscrnsaver)))
(native-inputs `(("boost" ,boost)
("pkg-config" ,pkg-config)
- ("gettext" ,gnu-gettext)
+ ("gettext" ,gettext-minimal)
("autoconf" ,autoconf)
("autoconf-archive" , autoconf-archive)
("automake" ,automake)
@@ -9818,7 +9888,7 @@ join_paths\\('build-aux', 'post_install.py'\\)\\)")
`(("appstream-glib" ,appstream-glib)
("cmake-minimal" ,cmake-minimal)
("desktop-file-utils" ,desktop-file-utils)
- ("gettext" ,gnu-gettext)
+ ("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("itstool" ,itstool)
@@ -9904,3 +9974,33 @@ to.")
environment. Its main purpose is the manual transcription of spoken
audio files.")
(license license:gpl3+))))
+
+(define-public jsonrpc-glib
+ (package
+ (name "jsonrpc-glib")
+ (version "3.34.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0j05x4xv2cp3cbmp30m68z8g4rdw7b030ip4wszyfj9ya15v5kni"))))
+ (build-system meson-build-system)
+ (inputs
+ `(("json-glib" ,json-glib)
+ ("glib" ,glib)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
+ ("gobject-introspection" ,gobject-introspection)
+ ("vala" ,vala)))
+ (home-page "https://gitlab.gnome.org/GNOME/jsonrpc-glib")
+ (synopsis "JSON-RPC library for GLib")
+ (description "Jsonrpc-GLib is a library to communicate with JSON-RPC based
+peers in either a synchronous or asynchronous fashion. It also allows
+communicating using the GVariant serialization format instead of JSON when
+both peers support it. You might want that when communicating on a single
+host to avoid parser overhead and memory-allocator fragmentation.")
+ (license license:lgpl2.1+)))
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 1961e6bb89..d7ea498907 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -180,13 +180,13 @@ authentication and support for SSL3 and TLS.")
(define-public gnurl
(package
(name "gnurl")
- (version "7.67.0")
+ (version "7.69.1")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://gnu/gnunet/" name "-" version ".tar.Z"))
+ (uri (string-append "mirror://gnu/gnunet/gnurl-" version ".tar.gz"))
(sha256
(base32
- "0ssjz2npr2zjvcpfz9qbaj92xc9ayg8wx4hyl132snl94qr2v670"))))
+ "0x8m26y3klndis6a28j8i0b7ab04d38q3rmlvgaqa65bjhlfdrp0"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ; 1.8 MiB of man3 pages
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 2db4697a6d..3992b0ccc8 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -554,8 +554,8 @@ from forcing GEXP-PROMISE."
#:system system
#:guile-for-build guile)))
-(define %icecat-version "68.6.0-guix0-preview1")
-(define %icecat-build-id "20200309000000") ;must be of the form YYYYMMDDhhmmss
+(define %icecat-version "68.7.0-guix0-preview1")
+(define %icecat-build-id "20200406000000") ;must be of the form YYYYMMDDhhmmss
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@@ -577,11 +577,11 @@ from forcing GEXP-PROMISE."
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
- "17qwfq9hwra8jarawy8k2sqfa6hdhwa9qk84ndr6gjvmxcy22a14"))))
+ "0w3mad0r4khcd7hfmm3xix9x6mp5yp8g8kyh18vanfnjqdls0gmd"))))
- (upstream-icecat-base-version "68.6.0") ; maybe older than base-version
+ (upstream-icecat-base-version "68.7.0") ; maybe older than base-version
;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version))
- (gnuzilla-commit "9dcb24d885eae5973eb2245b532b158c685d707a")
+ (gnuzilla-commit "d185c5a67506311e19440fd4b824a822ce840369")
(gnuzilla-source
(origin
(method git-fetch)
@@ -593,7 +593,7 @@ from forcing GEXP-PROMISE."
(string-take gnuzilla-commit 8)))
(sha256
(base32
- "1y3jmh055vmx44gsjgwxvwv3zcyvz8pc5mhgrwkzm0ybbwpp2pqi"))))
+ "09skws692qv5kbhj8bvy3prj7v0iyfz68xjck4vbfxkahldfppqx"))))
(makeicecat-patch
(local-file (search-patch "icecat-makeicecat.patch"))))
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index a7470eaa72..6fc5181d6c 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -221,7 +221,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(package
(inherit go-1.4)
(name "go")
- (version "1.13.8")
+ (version "1.13.9")
(source
(origin
(method url-fetch)
@@ -229,7 +229,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
name version ".src.tar.gz"))
(sha256
(base32
- "0d7cxffk72568h46srzswrxd0bsdip7amgkf499wzn6l6d3g0fxi"))))
+ "07gksk9194wa90xyd6yhagxfv7syvsx29bh8ypc4mg700vc1kfrl"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.4)
((#:phases phases)
@@ -2186,6 +2186,34 @@ Reference algorithm has been slightly hacked as to support the streaming mode
required by Go's standard Hash interface.")
(license license:bsd-3)))
+(define-public go-github-com-calmh-murmur3
+ (let ((commit "74e9af8f47ac56901c490d45546ca167b60c7066")
+ (revision "0"))
+ (package
+ (name "go-github-com-calmh-murmur3")
+ (version (git-version "1.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/calmh/murmur3.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0k8345ivx228qdbkl8bisd2wxwsinkb44ghba6r09538fr3fbr5w"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/calmh/murmur3"))
+ (home-page "https://github.com/calmh/murmur3")
+ (synopsis "Native MurmurHash3 Go implementation")
+ (description "Native Go implementation of Austin Appleby's third
+MurmurHash revision (aka MurmurHash3).
+
+Reference algorithm has been slightly hacked as to support the streaming mode
+required by Go's standard Hash interface.")
+ (license license:bsd-3))))
+
(define-public go-github-com-multiformats-go-multihash
(let ((commit "97cdb562a04c6ef66d8ed40cd62f8fbcddd396d6")
(revision "0"))
@@ -3463,9 +3491,19 @@ efficient space usage.")
"0ygan8pgcay7wx3cs3ja8rdqj7nly7v3and97ddcc66020jxchzg"))))
(build-system go-build-system)
(arguments
- '(#:import-path "github.com/willf/bloom"))
+ '(#:import-path "github.com/willf/bloom"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-import-path
+ (lambda _
+ ;; See 'go.mod' in the source distribution of Syncthing 1.4.1 for
+ ;; more information.
+ ;; <https://github.com/spaolacci/murmur3/issues/29>
+ (substitute* "src/github.com/willf/bloom/bloom.go"
+ (("spaolacci") "calmh"))
+ #t)))))
(propagated-inputs
- `(("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
+ `(("go-github-com-calmh-murmur3" ,go-github-com-calmh-murmur3)
("go-github-com-willf-bitset" ,go-github-com-willf-bitset)))
(synopsis "Bloom filters in Go")
(description "This package provides a Go implementation of bloom filters,
diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm
index cd2e09e966..4a4b18f3e1 100644
--- a/gnu/packages/gps.scm
+++ b/gnu/packages/gps.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -86,10 +87,10 @@
(inputs
`(("expat" ,expat)
("zlib" ,zlib)
- ("qtbase" ,qtbase)
- ("qttools" ,qttools)))
+ ("qtbase" ,qtbase)))
(native-inputs
`(("which" ,which)
+ ("qttools" ,qttools)
("libxml2" ,libxml2))) ;'xmllint' needed for the KML tests
(home-page "https://www.gpsbabel.org/")
(synopsis "Convert and exchange data with GPS and map programs")
@@ -220,14 +221,14 @@ such as elevation, speed, heart rate, power, temperature, and gear shifts.")
(define-public gpsd
(package
(name "gpsd")
- (version "3.19")
+ (version "3.20")
(source
(origin
(method url-fetch)
(uri (string-append "https://download-mirror.savannah.gnu.org"
"/releases/gpsd/gpsd-" version ".tar.gz"))
(sha256
- (base32 "0faz2mvk82hi7ispxxih07lhpyz5dazs4gcknym9piiabga29p97"))))
+ (base32 "0l2yz0yw9sil82lh2l4swkkldgmhzhv588n5lcavib4f0q2phahp"))))
(build-system scons-build-system)
(native-inputs
`(("bc" ,bc)
@@ -235,6 +236,7 @@ such as elevation, speed, heart rate, power, temperature, and gear shifts.")
(inputs
`(("bluez" ,bluez)
("dbus" ,dbus)
+ ("gtk+" ,gtk+)
("libcap" ,libcap)
("libusb" ,libusb)
("ncurses" ,ncurses)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 80ec7b0a31..7f56d26804 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -19,6 +19,7 @@
;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
+;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -274,50 +275,55 @@ exception-handling library.")
(define-public ogre
(package
(name "ogre")
- (version "1.10.11")
+ (version "1.12.5")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/OGRECave/ogre.git")
- (commit (string-append "v" version))))
+ (url "https://github.com/OGRECave/ogre.git")
+ (commit (string-append "v" version))
+ (recursive? #t))) ;for Dear ImGui submodule
(file-name (git-file-name name version))
(sha256
- (base32
- "072rzw9mxymbiypgkrbkk9h10rgly6gczik4dlmssk6xkpqckaqr"))))
+ (base32 "1sx0jsw4kmb4ycf62bgx3ygwv8k1cgjx52y47d7dk07z6gk6wpyj"))))
(build-system cmake-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-before 'configure 'pre-configure
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "Tests/CMakeLists.txt"
- (("URL(.*)$")
- (string-append "URL " (assoc-ref inputs "googletest-source"))))
+ ;; CMakeLists.txt forces CMAKE_INSTALL_RPATH value. As
+ ;; a consequence, we cannot suggest ours in configure flags. Fix
+ ;; it.
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* "CMakeLists.txt"
+ (("set\\(CMAKE_INSTALL_RPATH .*") ""))
#t)))
#:configure-flags
- (list "-DOGRE_BUILD_TESTS=TRUE"
- (string-append "-DCMAKE_INSTALL_RPATH="
- (assoc-ref %outputs "out") "/lib:"
- (assoc-ref %outputs "out") "/lib/OGRE:"
- (assoc-ref %build-inputs "googletest") "/lib")
- "-DOGRE_INSTALL_DOCS=TRUE"
- "-DOGRE_INSTALL_SAMPLES=TRUE"
- "-DOGRE_INSTALL_SAMPLES_SOURCE=TRUE")))
+ (let* ((out (assoc-ref %outputs "out"))
+ (runpath
+ (string-join (list (string-append out "/lib")
+ (string-append out "/lib/OGRE"))
+ ";")))
+ (list (string-append "-DCMAKE_INSTALL_RPATH=" runpath)
+ "-DOGRE_BUILD_DEPENDENCIES=OFF"
+ "-DOGRE_BUILD_TESTS=TRUE"
+ "-DOGRE_INSTALL_DOCS=TRUE"
+ "-DOGRE_INSTALL_SAMPLES=TRUE"
+ "-DOGRE_INSTALL_SAMPLES_SOURCE=TRUE"))))
(native-inputs
`(("boost" ,boost)
("doxygen" ,doxygen)
- ("googletest-source" ,(package-source googletest))
+ ("googletest" ,googletest-1.8)
("pkg-config" ,pkg-config)))
(inputs
`(("font-dejavu" ,font-dejavu)
("freeimage" ,freeimage)
("freetype" ,freetype)
("glu" ,glu)
- ("googletest" ,googletest)
- ("sdl2" ,sdl2)
("libxaw" ,libxaw)
("libxrandr" ,libxrandr)
+ ("pugixml" ,pugixml)
+ ("sdl2" ,sdl2)
("tinyxml" ,tinyxml)
("zziplib" ,zziplib)))
(synopsis "Scene-oriented, flexible 3D engine written in C++")
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index d20d460e1b..39f87e63d5 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -23,6 +23,7 @@
;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net>
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1972,3 +1973,49 @@ anchor windows to a corner or edge of the output, or stretch them across the
entire output. It supports all Layer Shell features including popups and
popovers.")
(license license:expat)))
+
+(define-public goocanvas
+ (package
+ (name "goocanvas")
+ (version "2.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/goocanvas/"
+ (version-major+minor version)
+ "/goocanvas-" version ".tar.xz"))
+ (sha256
+ (base32 "141fm7mbqib0011zmkv3g8vxcjwa7hypmq71ahdyhnj2sjvy4a67"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("glib-bin" ,glib "bin")
+ ("gobject-introspection" ,gobject-introspection)
+ ("gtk-doc" ,gtk-doc)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python)))
+ (inputs
+ `(("cairo" ,cairo)
+ ("glib" ,glib)
+ ("gtk+" ,gtk+)
+ ("python-pygobject" ,python-pygobject)))
+ (arguments
+ `(#:configure-flags '("--disable-rebuilds"
+ "--disable-static")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-install-path
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* "configure"
+ (("\\(gi._overridesdir\\)")
+ (string-append "((gi._overridesdir).replace(\\\""
+ (assoc-ref inputs "python-pygobject")
+ "\\\", \\\""
+ (assoc-ref outputs "out")
+ "\\\"))")))
+ #t)))))
+ (synopsis "Canvas widget for GTK+")
+ (description "GooCanvas is a canvas widget for GTK+ that uses the cairo 2D
+library for drawing.")
+ (home-page "https://wiki.gnome.org/GooCanvas")
+ (license license:lgpl2.0)))
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index f0f976c3d2..f5aa4c11b4 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -2590,7 +2590,7 @@ list of components. This module takes care of that for you.")
(setenv "DISPLAY" ":1")
#t)))))
(native-inputs
- `(("gettext" ,gnu-gettext)
+ `(("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin") ; for glib-compile-resources
("libtool" ,libtool)
("pkg-config" ,pkg-config)
@@ -2670,7 +2670,7 @@ more expressive and flexible than the traditional @code{format} procedure.")
("automake" ,automake)
("bzip2" ,bzip2)
("guile" ,guile-2.2)
- ("gettext" ,gnu-gettext)
+ ("gettext" ,gettext-minimal)
("libtool" ,libtool)
("perl" ,perl)
("pkg-config" ,pkg-config)
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index d957b3ee7b..a665c05568 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2015, 2017 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2016, 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2016, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
@@ -419,40 +419,50 @@ GNU@tie{}Guile. Use the @code{(ice-9 readline)} module and call its
(define-deprecated-guile3.0-package guile3.0-readline)
(define-public guile-for-guile-emacs
- (package (inherit guile-2.2)
- (name "guile-for-guile-emacs")
- (version "20150510.d8d9a8d")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "git://git.hcoop.net/git/bpt/guile.git")
- (commit "d8d9a8da05ec876acba81a559798eb5eeceb5a17")))
- (file-name (string-append name "-" version "-checkout"))
- (sha256
- (base32
- "00sprsshy16y8pxjy126hr2adqcvvzzz96hjyjwgg8swva1qh6b0"))))
- (arguments
- `(;; Tests aren't passing for now.
- ;; Obviously we should re-enable this!
- #:tests? #f
- ,@(package-arguments guile-2.2)))
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ("flex" ,flex)
- ("texinfo" ,texinfo)
- ("gettext" ,gettext-minimal)
- ,@(package-native-inputs guile-2.2)))
- ;; Same as in guile-2.0
- (native-search-paths
- (list (search-path-specification
- (variable "GUILE_LOAD_PATH")
- (files '("share/guile/site/2.0")))
- (search-path-specification
- (variable "GUILE_LOAD_COMPILED_PATH")
- (files '("lib/guile/2.0/site-ccache"
- "share/guile/site/2.0")))))))
+ (let ((commit "15ca78482ac0dd2e3eb36dcb31765d8652d7106d")
+ (revision "1"))
+ (package (inherit guile-2.2)
+ (name "guile-for-guile-emacs")
+ (version (git-version "2.1.2" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://git.savannah.gnu.org/guile.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1l7ik4q4zk7vq4m3gnwizc0b64b1mdr31hxqlzxs94xaf2lvi7s2"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments guile-2.2)
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ (replace 'bootstrap
+ (lambda _
+ ;; Disable broken tests.
+ ;; TODO: Fix them!
+ (substitute* "test-suite/tests/gc.test"
+ (("\\(pass-if \"after-gc-hook gets called\"" m)
+ (string-append "#;" m)))
+ (substitute* "test-suite/tests/version.test"
+ (("\\(pass-if \"version reporting works\"" m)
+ (string-append "#;" m)))
+ ;; Warning: Unwind-only `out-of-memory' exception; skipping pre-unwind handler.
+ ;; FAIL: test-out-of-memory
+ (substitute* "test-suite/standalone/Makefile.am"
+ (("(check_SCRIPTS|TESTS) \\+= test-out-of-memory") ""))
+
+ (patch-shebang "build-aux/git-version-gen")
+ (invoke "sh" "autogen.sh")
+ #t))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("flex" ,flex)
+ ("texinfo" ,texinfo)
+ ("gettext" ,gettext-minimal)
+ ,@(package-native-inputs guile-2.2))))))
;;;
diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index 6ab962100e..c6821daf00 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.20200309")
+ (version "8.20200330")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"git-annex/git-annex-" version ".tar.gz"))
(sha256
- (base32 "1yjb01jh5rccqg44nqh4iyxmbpkcpm6m82lnw7s0s2vizj8891p5"))))
+ (base32 "0xy0ld7kr4cfdl4g4yzvrzl5r60dcj33cxm28a4qz6nqm2yhd4sv"))))
(build-system haskell-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index b2a53b5f41..f94d4fa5a7 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
-;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
@@ -263,17 +263,22 @@ Hurd-minimal package which are needed for both glibc and GCC.")
(inherit gnumach-headers)
(name "gnumach")
(arguments
- `(#:phases (modify-phases %standard-phases
- (add-after 'install 'produce-image
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (boot (string-append out "/boot")))
- (invoke "make" "gnumach.gz")
- (install-file "gnumach.gz" boot)
- #t))))))
+ (substitute-keyword-arguments (package-arguments gnumach-headers)
+ ((#:phases phases '%standard-phases)
+ `(modify-phases %standard-phases
+ (add-after 'install 'produce-image
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (boot (string-append out "/boot")))
+ (invoke "make" "gnumach.gz")
+ (install-file "gnumach.gz" boot)
+ #t)))))))
(native-inputs
`(("mig" ,mig)
- ("perl" ,perl)))
+ ("perl" ,perl)
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("texinfo" ,texinfo-4)))
(supported-systems (cons "i686-linux" %hurd-systems))
(synopsis "Microkernel of the GNU system")
(description
diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
index cdaf8e86e2..801dc70149 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2018 Lprndn <guix@lprndn.info>
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -798,11 +799,11 @@ combine the information contained in both.")
("vtk" ,vtk-6)
("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)
- ("qttools" ,qttools)
("vxl" ,vxl-1)
("zlib" ,zlib)))
(native-inputs
`(("googletest" ,googletest)
+ ("qttools" ,qttools)
("pkg-config" ,pkg-config)
("c3d-src"
,(let* ((commit "f521358db26e00002c911cc47bf463b043942ad3")
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index 5587bad675..5b037012d9 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2020 Peng Mei Yu <pengmeiyu@riseup.net>
+;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -595,3 +596,60 @@ with tiling window managers. Features include:
@end itemize\n")
(home-page "https://github.com/eXeC64/imv")
(license license:expat)))
+
+(define-public qiv
+ (package
+ (name "qiv")
+ (version "2.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://spiegl.de/qiv/download/qiv-"
+ version ".tgz"))
+ (sha256
+ (base32 "1rlf5h67vhj7n1y7jqkm9k115nfnzpwngj3kzqsi2lg676srclv7"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ;; That is required for testing.
+ ("xorg-server" ,xorg-server-for-tests)))
+ (inputs
+ `(("imlib2" ,imlib2)
+ ("glib" ,glib)
+ ("gtk+" ,gtk+-2)
+ ("lcms" ,lcms)
+ ("libjpeg" ,libjpeg-turbo)
+ ("libtiff" ,libtiff)
+ ("libexif" ,libexif)
+ ("libx11" ,libx11)
+ ("libxext" ,libxext)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; no configure script
+ (add-before 'install 'patch-file-start-xserver
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; patch the file so that qiv runs and exits by itself
+ (substitute* "Makefile"
+ (("./qiv -f ./intro.jpg") "./qiv -f -C -s ./intro.jpg")
+ ;; Fail the build when test fails.
+ (("echo \"-- Test Failed --\"")
+ "(echo \"-- Test Failed --\" ; false)"))
+ ;; There must be a running X server and make install doesn't start one.
+ ;; Therefore we must do it.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+ #t)))
+ #:tests? #f ; there is no check target
+ #:make-flags
+ (list
+ (string-append "PREFIX=" (assoc-ref %outputs "out")))))
+ (home-page "http://spiegl.de/qiv/")
+ (synopsis "Graphical image viewer for X")
+ (description
+ "Quick Image Viewer is a small and fast GDK/Imlib2 image viewer.
+Features include zoom, maxpect, scale down, fullscreen, slideshow, delete,
+brightness/contrast/gamma correction, pan with keyboard and mouse, flip,
+rotate left/right, jump/forward/backward images, filename filter and use it
+to set X desktop background.")
+ (license license:gpl2)))
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 9974208229..0ae88ea1a4 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -24,6 +24,7 @@
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
+;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -45,6 +46,7 @@
#:use-module (gnu packages algebra)
#:use-module (gnu packages assembly)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
@@ -1629,7 +1631,7 @@ medical image data, e.g. magnetic resonance image (MRI) and functional MRI
(build-system scons-build-system)
(native-inputs
`(("boost" ,boost)
- ("gettext" ,gnu-gettext)
+ ("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)))
(inputs
`(("expat" ,expat)
@@ -1970,7 +1972,7 @@ This package can be used to create @code{favicon.ico} files for web sites.")
(define-public libavif
(package
(name "libavif")
- (version "0.5.6")
+ (version "0.6.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1979,7 +1981,7 @@ This package can be used to create @code{favicon.ico} files for web sites.")
(file-name (git-file-name name version))
(sha256
(base32
- "15g76j9vb88q1v3azscph8im8714zdl70bni0al4ww9v80vhqpkd"))))
+ "0fn2mcpvzw6h9sv8h0icbz10i8ihzzf5d5mx3fc4pvhicyz4syq8"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DAVIF_CODEC_AOM=ON" "-DAVIF_CODEC_DAV1D=ON"
@@ -2009,3 +2011,56 @@ AOM, including with alpha.")
(home-page "https://github.com/AOMediaCodec/libavif")
(license (list license:bsd-2 ; libavif itself
license:expat)))) ; cJSON in the test suite
+
+(define-public mtpaint
+ (let ((commit "03b1b0938067b88d86d9f1b1088730f1934d411e")
+ (revision "1"))
+ (package
+ (name "mtpaint")
+ ;; The author neither releases tarballs nor uses git version tags.
+ ;; Instead, author puts version in git commit title.
+ (version (git-version "3.49.25" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/wjaguar/mtPaint/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0izm2wvj26566fd8mqvypr7bmv7jnq8qhp4760m7z2wrc4y8pjn1"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("pkg-config" ,pkg-config)
+ ("which" ,which)))
+ (inputs
+ `(("imlib2" ,imlib2)
+ ("libtiff" ,libtiff)
+ ("libpng" ,libpng)
+ ("libungif", libungif)
+ ("libjpeg", libjpeg-turbo)
+ ("libwebp" ,libwebp)
+ ("openjpeg" ,openjpeg)
+ ("lcms" ,lcms)
+ ("zlib", zlib)
+ ("glib" ,glib)
+ ;; support for gtk3 is in testing stage
+ ("gtk+" ,gtk+-2)))
+ (arguments
+ `(#:configure-flags
+ (list
+ ;; internationalized version
+ "intl"
+ ;; install man page
+ "man")
+ ;; no check target
+ #:tests? #f))
+ (home-page "http://mtpaint.sourceforge.net/")
+ (synopsis "Create pixel art and manipulate digital images")
+ (description
+ "Mtpaint is a graphic editing program which uses the GTK+ toolkit.
+It can create and edit indexed palette or 24bit RGB images, offers basic
+painting and palette manipulation tools. It also handles JPEG, JPEG2000,
+GIF, TIFF, WEBP, BMP, PNG, XPM formats.")
+ (license license:gpl3+))))
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 1d910e17d1..c52140ba9e 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -12,6 +12,8 @@
;;; Copyright © 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019, 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
+;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -106,6 +108,44 @@
;; build framework. We then build the more recent JDKs Icedtea 2.x and
;; Icedtea 3.x.
+(define-public libantlr3c
+ (package
+ (name "libantlr3c")
+ (version "3.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://www.antlr3.org/download/C/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0lpbnb4dq4azmsvlhp6khq1gy42kyqyjv8gww74g5lm2y6blm4fa"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags (list "--enable-debuginfo" "--disable-static")
+ #:phases (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key build target native-inputs inputs outputs
+ (configure-flags '()) out-of-source? system
+ #:allow-other-keys)
+ (let ((configure (assoc-ref %standard-phases 'configure))
+ (enable-64bit? (member system '("aarch64-linux"
+ "x86_64-linux"
+ "mips64el-linux"))))
+ (configure #:build build #:target target
+ #:native-inputs native-inputs
+ #:inputs inputs #:outputs outputs
+ #:configure-flags `(,(if enable-64bit?
+ "--enable-64bit"
+ '())
+ ,@configure-flags)
+ #:out-of-source? out-of-source?)))))))
+ (synopsis "ANTLR C Library")
+ (description "LIBANTLR3C provides run-time C libraries for ANTLR3 (ANother
+Tool for Language Recognition v3).")
+ (home-page "https://www.antlr3.org/")
+ (license license:bsd-3)))
+
(define jikes
(package
(name "jikes")
@@ -7167,7 +7207,7 @@ tree walking, and translation.")
(inputs
`(("junit" ,java-junit)))))
-(define antlr3-3.3
+(define-public antlr3-3.3
(package
(inherit antlr3)
(name "antlr3")
diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm
index 65a5e42beb..6dd53b9283 100644
--- a/gnu/packages/julia.scm
+++ b/gnu/packages/julia.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,6 +29,7 @@
#:use-module (gnu packages algebra)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages curl)
#:use-module (gnu packages elf)
#:use-module (gnu packages gcc)
#:use-module (gnu packages llvm)
@@ -41,29 +43,30 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages textutils)
+ #:use-module (gnu packages ssh)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (gnu packages wget)
#:use-module (ice-9 match))
(define libuv-julia
- (let ((commit "26dbe5672c33fc885462c509fe2a9b36f35866fd")
- (revision "6"))
- ;; When upgrading Julia, also upgrade this.
- ;; Get the commit from https://github.com/JuliaLang/julia/blob/v1.1.1/deps/libuv.version
+ (let ((commit "35b1504507a7a4168caae3d78db54d1121b121e1")
+ (revision "1"))
+ ;; When upgrading Julia, also upgrade this. Get the commit from
+ ;; https://github.com/JuliaLang/julia/blob/v1.3.1/deps/libuv.version
(package
(inherit libuv)
(name "libuv-julia")
- (version (string-append "1.9.0-" revision "." (string-take commit 8)))
+ (version (git-version "2.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/JuliaLang/libuv.git")
- (commit commit)))
+ (url "https://github.com/JuliaLang/libuv.git")
+ (commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "17pn2xmqaramilx897s9grs966i5246gi6sric5alch4g9j4685n"))))
+ "0dn3v6fdp1z382pqg3nhjzk60l61ky9b65mfgaj29fv2da95rwjs"))))
(build-system gnu-build-system)
(arguments
(substitute-keyword-arguments (package-arguments libuv)
@@ -72,93 +75,115 @@
(delete 'autogen)))))
(home-page "https://github.com/JuliaLang/libuv"))))
-(define (llvm-patch-url version name)
+(define libunwind-julia
+ ;; The Julia projects requires their patched version.
+ ;; Get from https://github.com/JuliaLang/julia/tree/master/deps/patches
+ (package
+ (inherit libunwind)
+ (name "libunwind-julia")
+ (version "1.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://savannah/libunwind/libunwind-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1y0l08k6ak1mqbfj6accf9s5686kljwgsl4vcqpxzk5n74wpm6a3"))
+ (patches
+ (list
+ (julia-patch "libunwind-prefer-extbl"
+ "0lr4dafw8qyfh8sw8hhbwkql1dlhqv8px7k81y2l20hhxfgnh2m1")
+ (julia-patch "libunwind-static-arm"
+ "1jk3bmiw61ypcchqkk1fyg5wh8wpggk574wxyfyaic870zh3lhgq")))))
+ (home-page "https://github.com/JuliaLang/tree/master/deps/")))
+
+(define (julia-patch-url version name)
(string-append "https://raw.githubusercontent.com/JuliaLang/julia/v" version
- "/deps/patches/" name))
+ "/deps/patches/" name))
-(define (llvm-patch name sha)
- (let ((version "1.1.1"))
+(define (julia-patch name sha)
+ (let ((version "1.3.1"))
(origin (method url-fetch)
- (uri (llvm-patch-url version name))
- (sha256 (base32 sha))
- (file-name name))))
+ (uri (julia-patch-url version name))
+ (sha256 (base32 sha))
+ (file-name name))))
(define llvm-julia
(package
(inherit llvm-6)
(name "llvm-julia")
(source (origin
- (method url-fetch)
- (uri "http://releases.llvm.org/6.0.1/llvm-6.0.1.src.tar.xz")
- (sha256
- (base32
- "1qpls3vk85lydi5b4axl0809fv932qgsqgdgrk098567z4jc7mmn"))
+ (inherit (package-source llvm-6))
;; Those patches are inside the Julia source repo.
;; They are _not_ Julia specific (https://github.com/julialang/julia#llvm)
;; but they are required to build Julia.
;; Discussion: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=919628
(patches
- (list
- (llvm-patch "llvm-6.0-D44650.patch"
- "1336q4vqayr94wdcnlmcxh90mjdh34dzw9x2cbiqjnx9b1j8fxyb")
- (llvm-patch "llvm-6.0-DISABLE_ABI_CHECKS.patch"
- "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg")
- (llvm-patch "llvm-6.0-NVPTX-addrspaces.patch"
- "1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jkscqc")
- (llvm-patch "llvm-6.0.0_D27296-libssp.patch"
- "0s5hi2r1j63i8m6ig1346crx2aiv9f7rgb3mg80kw1wx5y7pdpfh")
- (llvm-patch "llvm-D27629-AArch64-large_model_6.0.1.patch"
- "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j4z")
- (llvm-patch "llvm-D34078-vectorize-fdiv.patch"
- "1696hg84a0jxcnggvqsc2cdp271hf9a44p4qsd078qm1mfawkaay")
- (llvm-patch "llvm-D42262-jumpthreading-not-i1.patch"
- "1c8w210gwidbnkkw8anp17dk5pnxws2fl3mb2qxh7y9wzfpixgaq")
- (llvm-patch "llvm-D44892-Perf-integration.patch"
- "0r37jd0ssh2k1pndkfd5blgpg9z90im4vlzprhb0n0wwz45g4b05")
- (llvm-patch "llvm-D46460.patch"
- "1miqgswdc0qvbaf4571c2xkxyp9ais06b1bcpa83sq22vr4hbsfb")
- (llvm-patch "llvm-D49832-SCEVPred.patch"
- "0v5c88hgqj6dymv3j86ca5mhpqab5fbnrvjiw1nvnrnya9l4dlbn")
- (llvm-patch "llvm-D50010-VNCoercion-ni.patch"
- "0iblb3q1xixwrb12jpb89h3ywmqmzdp6aqp416j4ncwakyjhhfkp")
- (llvm-patch "llvm-D50167-scev-umin.patch"
- "1f2rakcnnyhr7w10k7gqg0k0491pyvx5ijplivw557f714ys3q6v")
- (llvm-patch "llvm-OProfile-line-num.patch"
- "1jvbbmwyags0xfwamb13qrf3rgcz9i1r03m9lava7swag8xb78c7")
- (llvm-patch "llvm-PPC-addrspaces.patch"
- "1f23nhsxh2s3jskbgs7da9nwg3s1hrkbk5aahl08x41wi3mny01p")
- (llvm-patch "llvm-rL323946-LSRTy.patch"
- "10cz3vy1yw0w643z7xx021wa4kymx9fcm3bjg61s6vzdqd6d9fns")
- (llvm-patch "llvm-rL326967-aligned-load.patch"
- "04jxnv32yj5x17hqhi8g2p8rhgp38gmjzr871w7z8s44pq10v9v4")
- (llvm-patch "llvm-rL327898.patch"
- "15ah49gbsll23z28kpyahi5vl0fh3fkxcgd1zmxxdcl96s3x8bnq")))))
+ (map (match-lambda
+ ((name hash)
+ (julia-patch name hash)))
+ (list
+ '("llvm-6.0-D44650"
+ "1336q4vqayr94wdcnlmcxh90mjdh34dzw9x2cbiqjnx9b1j8fxyb")
+ '("llvm-6.0-DISABLE_ABI_CHECKS"
+ "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg")
+ '("llvm-6.0-NVPTX-addrspaces"
+ "1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jkscqc")
+ '("llvm-6.0.0_D27296-libssp"
+ "0s5hi2r1j63i8m6ig1346crx2aiv9f7rgb3mg80kw1wx5y7pdpfh")
+ '("llvm-D27629-AArch64-large_model_6.0.1"
+ "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j4z")
+ '("llvm-D34078-vectorize-fdiv"
+ "1696hg84a0jxcnggvqsc2cdp271hf9a44p4qsd078qm1mfawkaay")
+ '("llvm-D42262-jumpthreading-not-i1"
+ "1c8w210gwidbnkkw8anp17dk5pnxws2fl3mb2qxh7y9wzfpixgaq")
+ '("llvm-D44892-Perf-integration"
+ "0r37jd0ssh2k1pndkfd5blgpg9z90im4vlzprhb0n0wwz45g4b05")
+ '("llvm-D46460"
+ "1miqgswdc0qvbaf4571c2xkxyp9ais06b1bcpa83sq22vr4hbsfb")
+ '("llvm-D49832-SCEVPred"
+ "0v5c88hgqj6dymv3j86ca5mhpqab5fbnrvjiw1nvnrnya9l4dlbn")
+ '("llvm-D50010-VNCoercion-ni"
+ "0iblb3q1xixwrb12jpb89h3ywmqmzdp6aqp416j4ncwakyjhhfkp")
+ '("llvm-D50167-scev-umin"
+ "1f2rakcnnyhr7w10k7gqg0k0491pyvx5ijplivw557f714ys3q6v")
+ '("llvm-OProfile-line-num"
+ "1jvbbmwyags0xfwamb13qrf3rgcz9i1r03m9lava7swag8xb78c7")
+ '("llvm-PPC-addrspaces"
+ "1f23nhsxh2s3jskbgs7da9nwg3s1hrkbk5aahl08x41wi3mny01p")
+ '("llvm-rL323946-LSRTy"
+ "10cz3vy1yw0w643z7xx021wa4kymx9fcm3bjg61s6vzdqd6d9fns")
+ '("llvm-rL326967-aligned-load"
+ "04jxnv32yj5x17hqhi8g2p8rhgp38gmjzr871w7z8s44pq10v9v4")
+ '("llvm-rL327898"
+ "15ah49gbsll23z28kpyahi5vl0fh3fkxcgd1zmxxdcl96s3x8bnq"))))))
(arguments
(substitute-keyword-arguments (package-arguments llvm-6)
((#:configure-flags flags)
`(list ;; Taken from NixOS. Only way I could get libLLVM-6.0.so
- "-DCMAKE_BUILD_TYPE=Release"
+ "-DCMAKE_BUILD_TYPE=Release"
- ;; Build a native compiler and the NVPTX backend (NVIDIA) since
- ;; Julia insists on it, nothing more. This reduces build times and
- ;; disk usage.
- ,(string-append "-DLLVM_TARGETS_TO_BUILD=" (system->llvm-target))
- "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=NVPTX"
+ ;; Build a native compiler and the NVPTX backend (NVIDIA) since
+ ;; Julia insists on it, nothing more. This reduces build times and
+ ;; disk usage.
+ ,(string-append "-DLLVM_TARGETS_TO_BUILD=" (system->llvm-target))
+ "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=NVPTX"
- "-DLLVM_INSTALL_UTILS=ON"
- "-DLLVM_BUILD_TESTS=ON"
- "-DLLVM_ENABLE_FFI=ON"
- "-DLLVM_ENABLE_RTTI=ON"
- ;; "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
- ;; "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
- ;; "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly"
- "-DLLVM_ENABLE_DUMP=ON"
- "-DLLVM_LINK_LLVM_DYLIB=ON"))))))
+ "-DLLVM_INSTALL_UTILS=ON"
+ "-DLLVM_BUILD_TESTS=ON"
+ "-DLLVM_ENABLE_FFI=ON"
+ "-DLLVM_ENABLE_RTTI=ON"
+ ;; "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
+ ;; "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
+ ;; "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly"
+ "-DLLVM_ENABLE_DUMP=ON"
+ "-DLLVM_LINK_LLVM_DYLIB=ON"))))))
(define-public julia
(package
(name "julia")
- (version "1.1.1")
+ (version "1.3.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -166,7 +191,9 @@
version "/julia-" version ".tar.gz"))
(sha256
(base32
- "0hk983mywimclgnjc41zmlppm5kfdz2aj85ky07p49ilcqxi998f"))))
+ "1nwkmr9j55g1zkxdchnid1h022s0is52vx23niksshgvh793g41x"))
+ (patches
+ (search-patches "julia-SOURCE_DATE_EPOCH-mtime.patch"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -188,32 +215,27 @@
(add-after 'unpack 'prepare-deps
(lambda* (#:key inputs #:allow-other-keys)
(mkdir "deps/srccache")
- (copy-file (assoc-ref inputs "dsfmt")
- "deps/srccache/dsfmt-2.2.3.tar.gz")
+ ;; no USE_SYSTEM_{OBJCONV/LIBWHICH} option
(copy-file (assoc-ref inputs "objconv")
"deps/srccache/objconv.zip")
- (copy-file (assoc-ref inputs "suitesparse")
- "deps/srccache/SuiteSparse-4.4.5.tar.gz")
- (copy-file (string-append (assoc-ref inputs "virtualenv")
- "/bin/virtualenv")
- "julia-env")
(copy-file (assoc-ref inputs "libwhich")
(string-append "deps/srccache/libwhich-"
"81e9723c0273d78493dc8c8ed570f68d9ce7e89e"
".tar.gz"))
- (copy-file (assoc-ref inputs "rmath")
- "deps/srccache/Rmath-julia-0.1.tar.gz")
- ;; needed by libwhich
- (setenv "LD_LIBRARY_PATH"
- (string-join (map (lambda (pkg)
+ ;; needed by libwhich
+ (setenv "LD_LIBRARY_PATH"
+ (string-join (map (lambda (pkg)
(string-append (assoc-ref inputs pkg)
"/lib"))
- '("arpack-ng" "fftw" "gmp" "lapack"
- "libgit2" "mpfr" "openblas" "openlibm"
- "openspecfun" "pcre2"))
+ '("arpack-ng" "curl" "dsfmt"
+ "gmp" "lapack"
+ "libssh2" "libgit2"
+ "mbedtls" "mpfr"
+ "openblas" "openlibm" "pcre2"
+ "suitesparse"))
":"))
- #t))
+ #t))
;; FIXME: Building the documentation requires Julia packages that
;; would be downloaded from the Internet. We should build them in a
;; separate build phase.
@@ -229,172 +251,152 @@
;; Some tests require a home directory to be set.
(lambda _ (setenv "HOME" "/tmp") #t))
(add-after 'unpack 'hardcode-soname-map
- ;; ./src/runtime_ccall.cpp creates a map from library names to paths
- ;; using the output of "/sbin/ldconfig -p". Since ldconfig is not
- ;; used in Guix, we patch runtime_ccall.cpp to contain a static map.
- (lambda* (#:key inputs #:allow-other-keys)
- (use-modules (ice-9 match))
- (substitute* "src/runtime_ccall.cpp"
- ;; Patch out invocations of '/sbin/ldconfig' to avoid getting
- ;; error messages about missing '/sbin/ldconfig' on Guix System.
- (("popen\\(.*ldconfig.*\\);")
- "NULL;\n")
-
- ;; Populate 'sonameMap'.
- (("jl_read_sonames.*;")
- (string-join
- (map (match-lambda
- ((input libname soname)
- (string-append
- "sonameMap[\"" libname "\"] = "
- "\"" (assoc-ref inputs input) "/lib/" soname "\";")))
- '(("libc" "libc" "libc.so.6")
- ("pcre2" "libpcre2-8" "libpcre2-8.so")
- ("mpfr" "libmpfr" "libmpfr.so")
- ("openblas" "libblas" "libopenblas.so")
- ("arpack-ng" "libarpack" "libarpack.so")
- ("lapack" "liblapack" "liblapack.so")
- ("libgit2" "libgit2" "libgit2.so")
- ("gmp" "libgmp" "libgmp.so")
- ("openspecfun" "libopenspecfun" "libopenspecfun.so")
- ("fftw" "libfftw3" "libfftw3_threads.so")
- ("fftwf" "libfftw3f" "libfftw3f_threads.so"))))))
- (substitute* "base/math.jl"
- (("const libm = Base.libm_name")
- (string-append "const libm = \""
- (assoc-ref inputs "openlibm")
- "/lib/libopenlibm.so"
- "\""))
- (("const openspecfun = \"libopenspecfun\"")
- (string-append "const openspecfun = \""
- (assoc-ref inputs "openspecfun")
- "/lib/libopenspecfun.so"
- "\"")))
- #t))
+ ;; ./src/runtime_ccall.cpp creates a map from library names to paths
+ ;; using the output of "/sbin/ldconfig -p". Since ldconfig is not
+ ;; used in Guix, we patch runtime_ccall.cpp to contain a static map.
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "base/math.jl"
+ (("const libm = Base.libm_name")
+ (string-append "const libm = \""
+ (assoc-ref inputs "openlibm")
+ "/lib/libopenlibm.so"
+ "\"")))
+ #t))
(add-before 'build 'fix-include-and-link-paths
- (lambda* (#:key inputs #:allow-other-keys)
- ;; LIBUTF8PROC is a linker flag, not a build target. It is
- ;; included in the LIBFILES_* variable which is used as a
- ;; collection of build targets and a list of libraries to link
- ;; against.
- (substitute* "src/flisp/Makefile"
- (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\): \\$\\(OBJS\\) \\$\\(LIBFILES_release\\)")
- "$(BUILDDIR)/$(EXENAME): $(OBJS) $(LLT_release)")
- (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug: \\$\\(DOBJS\\) \\$\\(LIBFILES_debug\\)")
- "$(BUILDDIR)/$(EXENAME)-debug: $(DOBJS) $(LLT_debug)"))
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; LIBUTF8PROC is a linker flag, not a build target. It is
+ ;; included in the LIBFILES_* variable which is used as a
+ ;; collection of build targets and a list of libraries to link
+ ;; against.
+ (substitute* "src/flisp/Makefile"
+ (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)\\$\\(EXE\\): \\$\\(OBJS\\) \\$\\(LIBFILES_release\\)")
+ "$(BUILDDIR)/$(EXENAME)$(EXE): $(OBJS) $(LLT_release)")
+ (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug$(EXE): \\$\\(DOBJS\\) \\$\\(LIBFILES_debug\\)")
+ "$(BUILDDIR)/$(EXENAME)-debug\\$\\(EXE\\): $(DOBJS) $(LLT_debug)"))
- ;; The REPL must be linked with libuv.
- (substitute* "ui/Makefile"
- (("JLDFLAGS \\+= ")
- (string-append "JLDFLAGS += "
- (assoc-ref %build-inputs "libuv")
- "/lib/libuv.so ")))
+ ;; The REPL must be linked with libuv.
+ (substitute* "ui/Makefile"
+ (("JLDFLAGS \\+= ")
+ (string-append "JLDFLAGS += "
+ (assoc-ref %build-inputs "libuv")
+ "/lib/libuv.so ")))
- (substitute* "base/Makefile"
- (("\\$\\(build_includedir\\)/uv/errno.h")
- (string-append (assoc-ref inputs "libuv")
- "/include/uv/errno.h")))
- #t))
+ (substitute* "base/Makefile"
+ (("\\$\\(build_includedir\\)/uv/errno.h")
+ (string-append (assoc-ref inputs "libuv")
+ "/include/uv/errno.h")))
+ #t))
(add-before 'build 'replace-default-shell
- (lambda _
- (substitute* "base/client.jl"
- (("/bin/sh") (which "sh")))
- #t))
- (add-after 'unpack 'hardcode-paths
(lambda _
- (substitute* "stdlib/InteractiveUtils/src/InteractiveUtils.jl"
- (("`which") (string-append "`" (which "which")))
- (("`wget") (string-append "`" (which "wget"))))
+ (substitute* "base/client.jl"
+ (("/bin/sh") (which "sh")))
+ #t))
+ (add-before 'build 'fix-precompile
+ (lambda _
+ (substitute* "base/loading.jl"
+ (("something(Base.active_project(), \"\")") "\"\""))
#t))
(add-before 'check 'disable-broken-tests
(lambda _
- (define (touch file-name)
- (call-with-output-file file-name (const #t)))
- ;; FIXME: All git tests works except this one. But *THIS* "fix"
- ;; is not working, so right now I'm disabling all libgit2.jl tests
- ;; (substitute* "stdlib/LibGit2/test/libgit2.jl"
- ;; (("!LibGit2.use_http_path(cfg, github_cred)") "true")
- ;; (("LibGit2.use_http_path(cfg, mygit_cred)") "true"))
- (map (lambda (test)
- (delete-file test)
- (touch test))
- '("stdlib/Sockets/test/runtests.jl"
- "stdlib/Distributed/test/runtests.jl"
- ;; FIXME: see above
- "stdlib/LibGit2/test/libgit2.jl"))
- (substitute* "test/choosetests.jl"
- ;; These tests fail, probably because some of the input
- ;; binaries have been stripped and thus backtraces don't look
- ;; as expected.
- (("\"backtrace\",") "")
- (("\"cmdlineargs\",") ""))
- #t)))
+ (substitute* "test/choosetests.jl"
+ (("tests = testnames")
+ ;; Those failings are not deterministic. They depends on the
+ ;; running order. I think it depends on the number of
+ ;; runners, disabling it for now
+ ;; https://github.com/JuliaLang/julia/issues/34330
+ "tests = filter(e->!in(e,[\"backtrace\",\"exceptions\",
+ \"stress\",\"precompile\",
+ \"client\",\"stacktraces\"]),
+ testnames)"))
+ ;; When HOME is not set, julia calls uv_os_homedir, which in
+ ;; turns call getpwuid_r. Add the HOME env variable to the
+ ;; external julia call to fix this
+ (substitute* "test/cmdlineargs.jl"
+ (("\"JULIA_PROJECT\"") "\"HOME\"=>\"/tmp\", \"JULIA_PROJECT\""))
+ ;; Marking the test as broken as it's a known bug:
+ ;; https://github.com/JuliaLang/julia/issues/32377
+ (substitute* "stdlib/REPL/test/replcompletions.jl"
+ (("@test count") "@test_broken count"))
+ #t))
+ (add-after 'install 'make-wrapper
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (program "julia"))
+ (with-directory-excursion bin
+ (wrap-program program
+ `("JULIA_LOAD_PATH" ":" prefix
+ ("" "$JULIA_LOAD_PATH")))
+ (wrap-program program
+ `("JULIA_DEPOT_PATH" ":" prefix
+ ("" "$JULIA_DEPOT_PATH"))))
+ #t))))
#:make-flags
(list
- (string-append "prefix=" (assoc-ref %outputs "out"))
- (string-append "PREFIX=" (assoc-ref %outputs "out"))
-
- ;; Passing the MARCH flag is necessary to build binary substitutes for
- ;; the supported architectures.
- ,(match (or (%current-target-system)
- (%current-system))
- ("x86_64-linux" "MARCH=x86-64")
- ("i686-linux" "MARCH=pentium4")
- ("aarch64-linux" "MARCH=armv8-a")
- ;; Prevent errors when querying this package on unsupported
- ;; platforms, e.g. when running "guix package --search="
- (_ "MARCH=UNSUPPORTED"))
-
- "CONFIG_SHELL=bash" ;needed to build bundled libraries
- "USE_SYSTEM_DSFMT=0" ;not packaged for Guix and upstream has no
- ;build system for a shared library.
- "USE_SYSTEM_LAPACK=1"
- "USE_SYSTEM_BLAS=1"
- "USE_BLAS64=0" ;needed when USE_SYSTEM_BLAS=1
- "LIBBLAS=-lopenblas"
- "LIBBLASNAME=libopenblas"
+ (string-append "prefix=" (assoc-ref %outputs "out"))
+ (string-append "PREFIX=" (assoc-ref %outputs "out"))
- "USE_SYSTEM_FFTW=1"
- "LIBFFTWNAME=libfftw3"
- "LIBFFTWFNAME=libfftw3f"
+ ;; Passing the MARCH flag is necessary to build binary substitutes for
+ ;; the supported architectures.
+ ,(match (or (%current-target-system)
+ (%current-system))
+ ("x86_64-linux" "MARCH=x86-64")
+ ("i686-linux" "MARCH=pentium4")
+ ("aarch64-linux" "MARCH=armv8-a")
+ ;; Prevent errors when querying this package on unsupported
+ ;; platforms, e.g. when running "guix package --search="
+ (_ "MARCH=UNSUPPORTED"))
- ;; TODO: Suitesparse does not install shared libraries, so we cannot
- ;; use the suitesparse package.
- ;; "USE_SYSTEM_SUITESPARSE=1"
- ;; (string-append "SUITESPARSE_INC=-I "
- ;; (assoc-ref %build-inputs "suitesparse")
- ;; "/include")
+ "CONFIG_SHELL=bash" ;needed to build bundled libraries
+ ;; list of "USE_SYSTEM_*" is here:
+ ;; https://github.com/JuliaLang/julia/blob/v1.3.1/Make.inc
+ "USE_SYSTEM_DSFMT=1"
+ "USE_SYSTEM_P7ZIP=1"
+ "USE_SYSTEM_LAPACK=1"
+ "USE_SYSTEM_BLAS=1"
+ "USE_BLAS64=0" ;needed when USE_SYSTEM_BLAS=1
+ "LIBBLAS=-lopenblas"
+ "LIBBLASNAME=libopenblas"
- "USE_GPL_LIBS=1" ;proudly
- "USE_SYSTEM_UTF8PROC=1"
- (string-append "UTF8PROC_INC="
- (assoc-ref %build-inputs "utf8proc")
- "/include")
- "USE_SYSTEM_LLVM=1"
- "LLVM_VER=6.0.1"
+ "USE_SYSTEM_SUITESPARSE=1"
+ (string-append "SUITESPARSE_INC=-I "
+ (assoc-ref %build-inputs "suitesparse")
+ "/include")
+ "USE_GPL_LIBS=1" ;proudly
+ "USE_SYSTEM_UTF8PROC=1"
+ (string-append "UTF8PROC_INC="
+ (assoc-ref %build-inputs "utf8proc")
+ "/include")
+ "USE_SYSTEM_LLVM=1"
+ "LLVM_VER=6.0.1"
- "USE_LLVM_SHLIB=1"
- "USE_SYSTEM_LIBUNWIND=1"
- "USE_SYSTEM_LIBUV=1"
- (string-append "LIBUV="
- (assoc-ref %build-inputs "libuv")
- "/lib/libuv.so")
- (string-append "LIBUV_INC="
- (assoc-ref %build-inputs "libuv")
- "/include")
- "USE_SYSTEM_PATCHELF=1"
- "USE_SYSTEM_PCRE=1"
- "USE_SYSTEM_OPENLIBM=1"
+ "USE_LLVM_SHLIB=1"
+ "USE_SYSTEM_LIBUNWIND=1"
+ "USE_SYSTEM_LIBUV=1"
+ (string-append "LIBUV="
+ (assoc-ref %build-inputs "libuv")
+ "/lib/libuv.so")
+ (string-append "LIBUV_INC="
+ (assoc-ref %build-inputs "libuv")
+ "/include")
+ "USE_SYSTEM_PATCHELF=1"
+ "USE_SYSTEM_PCRE=1"
+ "USE_SYSTEM_OPENLIBM=1"
- "USE_SYSTEM_GMP=1"
- "USE_SYSTEM_MPFR=1"
- "USE_SYSTEM_ARPACK=1"
- "USE_SYSTEM_LIBGIT2=1"
- "USE_SYSTEM_ZLIB=1"
- "USE_SYSTEM_OPENSPECFUN=1")))
+ "USE_SYSTEM_GMP=1"
+ "USE_SYSTEM_MPFR=1"
+ "USE_SYSTEM_ARPACK=1"
+ "USE_SYSTEM_LIBGIT2=1"
+ (string-append "LIBUV="
+ (assoc-ref %build-inputs "libuv")
+ "/lib/libuv.so")
+ (string-append "LIBUV_INC="
+ (assoc-ref %build-inputs "libuv")
+ "/include")
+ "USE_SYSTEM_ZLIB=1")))
(inputs
`(("llvm" ,llvm-julia)
-
+ ("p7zip" ,p7zip)
;; The bundled version is 3.3.0 so stick to that version. With other
;; versions, we get test failures in 'linalg/arnoldi' as described in
;; <https://bugs.gnu.org/30282>.
@@ -403,12 +405,12 @@
("coreutils" ,coreutils) ;for bindings to "mkdir" and the like
("lapack" ,lapack)
("openblas" ,openblas) ;Julia does not build with Atlas
- ("libunwind" ,libunwind)
+ ("libunwind" ,libunwind-julia)
("openlibm" ,openlibm)
- ("openspecfun" ,openspecfun)
+ ("mbedtls" ,mbedtls-apache)
+ ("curl" ,curl)
("libgit2" ,libgit2)
- ("fftw" ,fftw)
- ("fftwf" ,fftwf)
+ ("libssh2" ,libssh2)
("fortran" ,gfortran)
("libuv" ,libuv-julia)
("pcre2" ,pcre2)
@@ -418,31 +420,9 @@
("which" ,which)
("zlib" ,zlib)
("gmp" ,gmp)
- ("virtualenv" ,python2-virtualenv)
- ;; FIXME: The following inputs are downloaded from upstream to allow us
- ;; to use the lightweight Julia release tarball. Ideally, these inputs
- ;; would eventually be replaced with proper Guix packages.
-
- ;; TODO: run "make -f contrib/repackage_system_suitesparse4.make" to copy static lib
- ;; Find dependency versions here:
- ;; https://raw.githubusercontent.com/JuliaLang/julia/77a2c1e245c85812dc1c7687540beedecc52758f/deps/Versions.make
- ("rmath"
- ,(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/JuliaLang/Rmath-julia")
- (commit "v0.1")))
- (file-name "rmath-julia-0.1-checkout")
- (sha256
- (base32
- "1zkpy0cg5zivq40zbhbdgj9128fqzs2j94wkwih8nc6xaj3gp9p6"))))
- ("suitesparse"
- ,(origin
- (method url-fetch)
- (uri "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-4.4.5.tar.gz")
- (sha256
- (base32
- "1jcbxb8jx5wlcixzf6n5dca2rcfx6mlcms1k2rl5gp67ay3bix43"))))
+ ("suitesparse" ,suitesparse)
+ ;; Find dependencies versions here:
+ ;; https://raw.githubusercontent.com/JuliaLang/julia/v1.3.0/deps/Versions.make
("objconv"
,(origin
(method url-fetch)
@@ -453,29 +433,21 @@
(base32
"0wp6ld9vk11f4nnkn56627zmlv9k5vafi99qa3yyn1pgcd61zcfs"))))
("libwhich"
- ,(let ((commit "81e9723c0273d78493dc8c8ed570f68d9ce7e89e"))
+ ,(let ((commit "81e9723c0273d78493dc8c8ed570f68d9ce7e89e"))
(origin
;; Note: We use a /tarball URL, but that's because Julia's build
;; system checks the hash of that tarball; thus we can't use
;; 'git-fetch'.
- (method url-fetch)
- (uri (string-append
- "https://api.github.com/repos/vtjnash/libwhich/tarball/"
- commit))
+ (method url-fetch)
+ (uri (string-append
+ "https://api.github.com/repos/vtjnash/libwhich/tarball/"
+ commit))
(file-name (string-append "libwhich-" (string-take commit 7)
".tar.gz"))
- (sha256
- (base32
- "1p7zg31kpmpbmh1znrk1xrbd074agx13b9q4dcw8n2zrwwdlbz3b")))))
- ("dsfmt"
- ,(origin
- (method url-fetch)
- (uri (string-append
- "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/"
- "SFMT/dSFMT-src-2.2.3.tar.gz"))
- (sha256
- (base32
- "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42"))))))
+ (sha256
+ (base32
+ "1p7zg31kpmpbmh1znrk1xrbd074agx13b9q4dcw8n2zrwwdlbz3b")))))
+ ("dsfmt" ,dsfmt)))
(native-inputs
`(("openssl" ,openssl)
("perl" ,perl)
@@ -483,9 +455,12 @@
("pkg-config" ,pkg-config)
("python" ,python-2)))
(native-search-paths
- (list (search-path-specification
- (variable "JULIA_LOAD_PATH")
- (files (list "share/julia/packages/")))))
+ (list (search-path-specification
+ (variable "JULIA_LOAD_PATH")
+ (files (list "share/julia/packages/")))
+ (search-path-specification
+ (variable "JULIA_DEPOT_PATH")
+ (files (list "share/julia/")))))
;; Julia is not officially released for ARM and MIPS.
;; See https://github.com/JuliaLang/julia/issues/10639
(supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux"))
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 5815fde8f0..e220b2c24d 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -957,10 +958,10 @@ to flat and hierarchical lists.")
"11kpq34j37c1gsvj5nxhkc31bw8gw2n7nkqsfx87jw9f4v2vhmr9"))))
(build-system qt-build-system)
(native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- `(("qtbase" ,qtbase)
+ `(("extra-cmake-modules" ,extra-cmake-modules)
("qttools" ,qttools)))
+ (inputs
+ `(("qtbase" ,qtbase)))
(home-page "https://community.kde.org/Frameworks")
(synopsis "Data plotting library")
(description "KPlotWidget is a QWidget-derived class that provides a virtual
@@ -2448,7 +2449,8 @@ with su and ssh respectively.")
"1s3bmn1ck7xvc7a6gv7ywv9161hdahiiw20aq88s4qkm2s5wyy6v"))))
(build-system cmake-build-system)
(native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("qttools" ,qttools)))
(inputs
`(("kconfig" ,kconfig)
("kcoreaddons" ,kcoreaddons)
@@ -2458,7 +2460,6 @@ with su and ssh respectively.")
("kservice" ,kservice)
("kwallet" ,kwallet)
("qtbase" ,qtbase)
- ("qttools" ,qttools)
("qtwebkit" ,qtwebkit)))
(home-page "https://community.kde.org/Frameworks")
(synopsis "KDE Integration for QtWebKit")
@@ -2558,6 +2559,7 @@ window does not need focus for them to be activated.")
(build-system cmake-build-system)
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
+ ("qttools" ,qttools)
("shared-mime-info" ,shared-mime-info)))
(inputs
`(("karchive" ,karchive)
@@ -2570,8 +2572,7 @@ window does not need focus for them to be activated.")
("kitemviews" ,kitemviews)
("kwidgetsaddons" ,kwidgetsaddons)
("qtbase" ,qtbase)
- ("qtsvg" ,qtsvg)
- ("qttools" ,qttools)))
+ ("qtsvg" ,qtsvg)))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -2686,6 +2687,7 @@ consumption.")
("solid" ,solid)))
(native-inputs
`(("dbus" ,dbus)
+ ("qttools" ,qttools)
("extra-cmake-modules" ,extra-cmake-modules)))
(inputs
`(;; TODO: LibACL , <ftp://oss.sgi.com/projects/xfs/cmd_tars>
@@ -2708,7 +2710,6 @@ consumption.")
("libxslt" ,libxslt)
("qtbase" ,qtbase)
("qtscript" ,qtscript)
- ("qttools" ,qttools)
("qtx11extras" ,qtx11extras)
("sonnet" ,sonnet)))
(arguments
@@ -3241,7 +3242,8 @@ the passwords on KDE work spaces.")
`(("kconfig" ,kconfig)
("kconfigwidgets" ,kconfigwidgets)))
(native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("qttools" ,qttools)))
(inputs
`(("attica" ,attica)
("kauth" ,kauth)
@@ -3255,7 +3257,6 @@ the passwords on KDE work spaces.")
("kwidgetsaddons" ,kwidgetsaddons)
("kwindowsystem" ,kwindowsystem)
("qtbase" ,qtbase)
- ("qttools" ,qttools)
("sonnet" ,sonnet)))
(arguments
`(#:tests? #f ; FIXME: 1/5 tests fail.
diff --git a/gnu/packages/kde-internet.scm b/gnu/packages/kde-internet.scm
index 12aa9fe53a..666959ea15 100644
--- a/gnu/packages/kde-internet.scm
+++ b/gnu/packages/kde-internet.scm
@@ -42,6 +42,7 @@
#:use-module (gnu packages serialization)
#:use-module (gnu packages ssh)
#:use-module (gnu packages telephony)
+ #:use-module (gnu packages linphone)
#:use-module (gnu packages tls)
#:use-module (gnu packages video)
#:use-module (gnu packages web)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
new file mode 100644
index 0000000000..50d75a4a95
--- /dev/null
+++ b/gnu/packages/linphone.scm
@@ -0,0 +1,594 @@
+;;; GNU Guix --- Functional package management for GNU
+;;;
+;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
+;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;;
+;;; 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 linphone)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages admin)
+ #:use-module (gnu packages audio)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages documentation)
+ #:use-module (gnu packages gettext)
+ #:use-module (gnu packages gl)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages gnome)
+ #:use-module (gnu packages gnome-xyz)
+ #:use-module (gnu packages graphviz)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages pulseaudio)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages java)
+ #:use-module (gnu packages sqlite)
+ #:use-module (gnu packages telephony)
+ #:use-module (gnu packages tls)
+ #:use-module (gnu packages video)
+ #:use-module (gnu packages xiph)
+ #:use-module (gnu packages xml)
+ #:use-module (gnu packages xorg)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system cmake)
+ #:use-module (guix build-system gnu))
+
+(define-public bcunit
+ (package
+ (name "bcunit")
+ (version "3.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://www.linphone.org/releases/sources/" name
+ "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0ylchj8w98ic2fkqpxc6yk4s6s0h0ql2zsz5n49jd7126m4h8dqk"))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:tests? #f ; No test target
+ #:configure-flags
+ (list
+ "-DENABLE_STATIC=NO"))) ; Not required
+ (synopsis "Belledonne Communications Unit Testing Framework")
+ (description "BCUnit is a fork of the defunct project CUnit,
+with several fixes and patches applied. It is an unit testing
+framework for writing, administering, and running unit tests in C.")
+ (home-page "https://gitlab.linphone.org/BC/public/bcunit")
+ (license license:lgpl2.0+)))
+
+(define-public bctoolbox
+ (package
+ (name "bctoolbox")
+ (version "0.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://www.linphone.org/releases/sources/" name
+ "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1a1i70pb4hhnykkwyhhc7fv67q556l8kprny8xzgfqpj1nby2ms6"))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:tests? #f ; No test target
+ #:configure-flags
+ (list
+ "-DENABLE_STATIC=OFF"))) ; Not required
+ (inputs
+ `(("bcunit" ,bcunit)
+ ("mbedtls" ,mbedtls-apache)))
+ (synopsis "Belledonne Communications Tool Box")
+ (description "BcToolBox is an utilities library used by Belledonne
+Communications softwares like belle-sip, mediastreamer2 and linphone.")
+ (home-page "https://gitlab.linphone.org/BC/public/bctoolbox")
+ (license license:gpl2+)))
+
+(define-public belr
+ (package
+ (name "belr")
+ (version "0.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://www.linphone.org/releases/sources/" name
+ "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1fwv2cg3qy9vdc7dimcda7nqcqc1h2cdd7ikhk7ng7q4ys8m96c1"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; No test target
+ #:configure-flags
+ (list
+ "-DENABLE_STATIC=OFF"))) ; Not required
+ (inputs
+ `(("bctoolbox" ,bctoolbox)))
+ (synopsis "Belledonne Communications Language Recognition Library")
+ (description "Belr is Belledonne Communications' language recognition library,
+written in C++11. It parses text inputs formatted according to a language
+defined by an ABNF grammar, such as the protocols standardized at IETF.")
+ (home-page "https://gitlab.linphone.org/BC/public/belr")
+ (license license:gpl3+)))
+
+(define-public belcard
+ (package
+ (name "belcard")
+ (version "1.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://www.linphone.org/releases/sources/" name
+ "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0iiyrll1shnbb0561pkvdqcmx9b2cdr76xpsbaqdirc3s4xzcl0k"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; No test target
+ #:configure-flags
+ (list
+ "-DENABLE_STATIC=OFF"))) ; Not required
+ (inputs
+ `(("bctoolbox" ,bctoolbox)
+ ("belr" ,belr)))
+ (synopsis "Belledonne Communications VCard Library")
+ (description "Belcard is a C++ library to manipulate VCard standard format.")
+ (home-page "https://gitlab.linphone.org/BC/public/belcard")
+ (license license:gpl3+)))
+
+(define-public bcmatroska2
+ (package
+ (name "bcmatroska2")
+ (version "0.23")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://www.linphone.org/releases/sources/" name
+ "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1a0vlk4fhh189pfzrwbc3xbc5vyx6cnxy642d1h40045jz9y4h15"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; No test target
+ #:configure-flags
+ (list
+ "-DENABLE_STATIC=NO"))) ; Not required
+ (synopsis "Belledonne Communications Media Container")
+ (description "BcMatroska is a free and open standard multi-media
+container format. It can hold an unlimited number of video, audio,
+picture, or subtitle tracks in one file. ")
+ (home-page "https://gitlab.linphone.org/BC/public/bcmatroska2")
+ (license
+ (list
+ ;; That license applies for Core C and LibEBML2.
+ ;; https://www.matroska.org/node/47
+ license:bsd-4
+ ;; That license applies for LibMatroska2.
+ ;; https://www.matroska.org/node/47
+ license:lgpl2.1+))))
+
+(define-public bcg729
+ (package
+ (name "bcg729")
+ (version "1.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://www.linphone.org/releases/sources/" name
+ "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32 "01y34ky7ykjgfnf8a9f59hg61fqfjiprfrzshdz06w0lz4gvy3qs"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; No test target
+ #:configure-flags
+ (list
+ "-DENABLE_STATIC=NO"))) ; Not required
+ (synopsis "Belledonne Communications G729 Codec")
+ (description "BcG729 is an implementation of both encoder and decoder of
+the ITU G729 speech codec. The library written in C 99 is fully portable and
+can be executed on many platforms including both ARM and x86 processors. It
+supports concurrent channels encoding and decoding for multi call application
+such as conferencing.")
+ (home-page "https://gitlab.linphone.org/BC/public/belcard")
+ (license license:gpl2+)))
+
+(define-public ortp
+ (package
+ (name "ortp")
+ (version "1.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://www.linphone.org/releases/sources/" name
+ "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32 "016qg0lmdgmqh2kv19w9qhi4kkiyi5h1xp35g2s65b1j8ccm25d5"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; No test target
+ #:configure-flags
+ (list
+ "-DENABLE_STATIC=NO"))) ; Not required
+ (native-inputs
+ `(("dot" ,graphviz)
+ ("doxygen" ,doxygen)))
+ (inputs
+ `(("bctoolbox" ,bctoolbox)))
+ (synopsis "Belledonne Communications RTP Library")
+ (description "oRTP is a C library implementing the RTP protocol. It
+implements the RFC 3550 standard.")
+ (home-page "https://gitlab.linphone.org/BC/public/ortp")
+ (license license:gpl2+)))
+
+(define-public bzrtp
+ (package
+ (name "bzrtp")
+ (version "1.0.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://www.linphone.org/releases/sources/" name
+ "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32 "12y0kkh90pixaaxfyx26ca2brhy6nw57fsypp6vh8jk1illv0j5z"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; No test target
+ #:configure-flags
+ (list
+ "-DENABLE_STATIC=NO")))
+ (inputs
+ `(("bctoolbox" ,bctoolbox)
+ ("sqlite3" ,sqlite)
+ ("xml2" ,libxml2)))
+ (synopsis "Belledonne Communications ZRTP Library")
+ (description "BZRTP is an implementation of ZRTP keys exchange
+protocol, written in C. It is fully portable and can be executed on many
+platforms including both ARM and x86.")
+ (home-page "https://gitlab.linphone.org/BC/public/bzrtp")
+ (license license:gpl2+)))
+
+(define-public belle-sip
+ (package
+ (name "belle-sip")
+ (version "1.6.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://www.linphone.org/releases/sources/" name
+ "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0s55kggmgxap54dkw5856bgk4xg7yvbzialpxnjm0zhpic3hff1z"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; Requires network access
+ #:configure-flags
+ (list
+ "-DENABLE_STATIC=NO")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch
+ (lambda _
+ (substitute* "src/CMakeLists.txt"
+ ;; ANTLR would use multithreaded DFA generation
+ ;; otherwise--which would not be reproducible.
+ (("-Xmultithreaded ") ""))
+ #t)))))
+ (inputs
+ `(("antlr3" ,antlr3-3.3)
+ ("antlr3c" ,libantlr3c)
+ ("bctoolbox" ,bctoolbox)
+ ("java" ,icedtea)
+ ("zlib" ,zlib)))
+ (synopsis "Belledonne Communications SIP Library")
+ (description "Belle-sip is a modern library implementing SIP transport,
+transaction and dialog layers. It is written in C, with an object-oriented
+API. It also comprises a simple HTTP/HTTPS client implementation.")
+ (home-page "https://gitlab.linphone.org/BC/public/belle-sip")
+ (license license:gpl2+)))
+
+(define-public mediastreamer2
+ (package
+ (name "mediastreamer2")
+ (version "2.16.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://www.linphone.org/releases/sources/"
+ "mediastreamer/mediastreamer-" version ".tar.gz"))
+ (sha256
+ (base32 "0whpqr69wz0pnzvragkpfblxhd0rds8k06c3mw5a0ag216a1yd9k"))
+ (patches (search-patches "mediastreamer2-srtp2.patch"))))
+ (outputs '("out" "doc" "tester"))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; No test target
+ #:configure-flags
+ (list
+ "-DENABLE_STATIC=NO" ; Not required
+ "-DENABLE_STRICT=NO" ; Would otherwise treat warnings as err
+ "-DENABLE_BV16=NO" ; Not available
+ "-DCMAKE_C_FLAGS=-DMS2_GIT_VERSION=\\\"unknown\\\""
+ "-DCMAKE_CXX_FLAGS=-DMS2_GIT_VERSION=\\\"unknown\\\"")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'separate-outputs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc"))
+ (tester (assoc-ref outputs "tester"))
+ (tester-name (string-append ,name "_tester")))
+ ;; Copy the tester executable.
+ (mkdir-p (string-append tester "/bin"))
+ (rename-file (string-append out "/bin/" tester-name)
+ (string-append tester "/bin/" tester-name))
+ ;; Copy the tester data files.
+ (copy-recursively (string-append out "/share/" tester-name)
+ (string-append tester "/share/" tester-name))
+ (delete-file-recursively (string-append out "/share/"
+ tester-name))
+ ;; Copy the HTML documentation.
+ (copy-recursively (string-append out "/share/doc/"
+ ,name "-" ,version "/html")
+ (string-append doc "/share/doc/"
+ ,name "-" ,version "/html"))
+ (delete-file-recursively (string-append out "/share/doc/"
+ ,name "-" ,version
+ "/html"))
+ #t))))))
+ (native-inputs
+ `(("dot" ,graphviz)
+ ("doxygen" ,doxygen)
+ ("python" ,python)))
+ (inputs
+ `(("alsa" ,alsa-lib)
+ ("bcg729" ,bcg729)
+ ("bcmatroska2" ,bcmatroska2)
+ ("bctoolbox" ,bctoolbox)
+ ("ffmpeg" ,ffmpeg)
+ ("glew" ,glew)
+ ("glu" ,glu)
+ ("glx" ,mesa-utils)
+ ("gsm" ,gsm)
+ ("opengl" ,mesa)
+ ("opus" ,opus)
+ ("ortp" ,ortp)
+ ("pcap" ,libpcap)
+ ("portaudio" ,portaudio)
+ ("pulseaudio" ,pulseaudio)
+ ("spandsp" ,spandsp)
+ ("speex" ,speex)
+ ("speexdsp" ,speexdsp)
+ ("srtp" ,libsrtp)
+ ("theora" ,libtheora)
+ ("turbojpeg" ,libjpeg-turbo)
+ ("v4l" ,v4l-utils)
+ ("vpx" ,libvpx)
+ ("x11" ,libx11)
+ ("xv" ,libxv)
+ ("zrtp", bzrtp)))
+ (synopsis "Belledonne Communications Streaming Engine")
+ (description "Mediastreamer2 is a powerful and lightweight
+streaming engine for telephony applications. This media processing
+and streaming toolkit is responsible for receiving and sending all
+multimedia streams in Linphone, including media capture, encoding and
+decoding, and rendering.")
+ (home-page "https://gitlab.linphone.org/BC/public/mediastreamer2")
+ (license license:gpl2+)))
+
+(define-public liblinphone
+ (package
+ (name "liblinphone")
+ (version "3.12.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://www.linphone.org/releases/sources/linphone"
+ "/linphone-" version ".tar.gz"))
+ (sha256
+ (base32 "0phhkx55xdyg28d4wn8l8q4yvsmdgzmjiw584d4s190sq1azm91x"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; No test target
+ #:configure-flags
+ (list
+ (string-append "-DGTK2_GDKCONFIG_INCLUDE_DIR="
+ (string-append (assoc-ref %build-inputs "gtk2")
+ "/lib/gtk-2.0/include"))
+ (string-append "-DGTK2_GLIBCONFIG_INCLUDE_DIR="
+ (string-append (assoc-ref %build-inputs "glib")
+ "/lib/glib-2.0/include"))
+ "-DENABLE_STATIC=NO" ; Not required
+ "-DENABLE_GTK_UI=YES") ; For Legacy UI
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch
+ (lambda _
+ (substitute* "gtk/main.c"
+ (("#include \"liblinphone_gitversion.h\"")
+ ""))
+ #t)))))
+ (native-inputs
+ `(("dot" ,graphviz)
+ ("doxygen" ,doxygen)
+ ("gettext" ,gettext-minimal)
+ ("iconv" ,libiconv)
+ ("python" ,python)
+ ("xml2" ,libxml2)
+ ("zlib" ,zlib)))
+ (inputs
+ `(("bctoolbox" ,bctoolbox)
+ ("belcard" ,belcard)
+ ("bellesip" ,belle-sip)
+ ("bzrtp", bzrtp)
+ ("glib" ,glib)
+ ("gtk2" ,gtk+-2)
+ ("mediastreamer2" ,mediastreamer2)
+ ("notify" ,libnotify)
+ ("ortp" ,ortp)
+ ("pystache" ,python-pystache)
+ ("six" ,python-six)
+ ("sqlite" ,sqlite)
+ ("udev" ,eudev)))
+ (propagated-inputs
+ `(("murrine" ,murrine))) ; Required for GTK UI
+ (synopsis "Belledonne Communications Softphone Library")
+ (description "Liblinphone is a high-level SIP library integrating
+all calling and instant messaging features into an unified
+easy-to-use API. It is the cross-platform VoIP library on which the
+Linphone application is based on, and that anyone can use to add audio
+and video calls or instant messaging capabilities to an application.")
+ (home-page "https://gitlab.linphone.org/BC/public/liblinphone")
+ (license license:gpl2+)))
+
+(define-public msopenh264
+ (package
+ (name "msopenh264")
+ (version "1.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://www.linphone.org/releases/sources/plugins/"
+ name "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0rdxgazm52560g52pp6mp3mwx6j1z3h2zyizzfycp8y8zi92fqm8"))
+ (patches
+ (list
+ ;; For support for OpenH264 version >= 2.
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://gitlab.linphone.org/BC/public/msopenh264/commit/"
+ "493d147d28c9a0f788ba4e50b47a1ce7b18bf326.diff"))
+ (file-name "msopenh264-openh264.patch")
+ (sha256
+ (base32 "0mmd7nz5n9ian4rcwn200nldmy5j0dpdrna7r32rqnaw82bx3kdb")))))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; No test target
+ #:configure-flags
+ (list
+ "-DENABLE_STATIC=NO"))) ; Not required
+ (inputs
+ `(("mediastreamer2" ,mediastreamer2)
+ ("openh264" ,openh264)
+ ("ortp" ,ortp)))
+ (synopsis "Media Streamer H.264 Codec")
+ (description "MsOpenH264 is an H.264 encoder/decoder plugin for
+mediastreamer2 based on the openh264 library.")
+ (home-page "https://gitlab.linphone.org/BC/public/msopenh264")
+ (license license:gpl2+)))
+
+(define-public mssilk
+ (package
+ (name "mssilk")
+ (version "1.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://www.linphone.org/releases/sources/plugins/"
+ name "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32 "07ip0vd29d1n98lnqs5wpimcsmpm65yl7g5vk4hbqghcbsjw94lj"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; No test target
+ #:configure-flags
+ (list
+ "-DENABLE_STATIC=NO"))) ; Not required
+ (inputs
+ `(("mediastreamer2" ,mediastreamer2)
+ ("ortp" ,ortp)))
+ (synopsis "Media Streamer SILK Codec")
+ (description "MSSILK is a plugin of MediaStreamer, adding support for
+AMR codec. It is based on the Skype's SILK implementation.")
+ (home-page "https://gitlab.linphone.org/BC/public/mssilk")
+ (license license:gpl2+)))
+
+(define-public mswebrtc
+ (package
+ (name "mswebrtc")
+ (version "1.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://www.linphone.org/releases/sources/plugins/"
+ name "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1wj28hl9myhshqmn64xg0jf07aw75gmnilb5rff6rcbdxim87mqr"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; No test target
+ #:configure-flags
+ (list
+ "-DENABLE_STATIC=NO")))
+ (inputs
+ `(("bctoolbox" ,bctoolbox)
+ ("mediastreamer2" ,mediastreamer2)
+ ("ortp" ,ortp)))
+ (synopsis "Media Streamer WebRTC Codec")
+ (description "MSWebRTC is a plugin of MediaStreamer, adding support for
+WebRTC codec. It includes features from WebRTC, such as, iSAC and AECM.")
+ (home-page "https://gitlab.linphone.org/BC/public/mswebrtc")
+ (license license:gpl2+)))
+
+(define-public msamr
+ (package
+ (name "msamr")
+ (version "1.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://www.linphone.org/releases/sources/plugins/"
+ name "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32 "16c9f3z4wnj73k7y8gb0fgpr4axsm7b5zrbjvy8vsgz9gyg3agm5"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; No test target
+ #:configure-flags
+ (list
+ "-DENABLE_STATIC=NO" ; Not required
+ "-DENABLE_WIDEBAND=YES")))
+ (inputs
+ `(("mediastreamer2" ,mediastreamer2)
+ ("opencoreamr" ,opencore-amr)
+ ("ortp" ,ortp)
+ ("voamrwbenc" ,vo-amrwbenc)))
+ (synopsis "Media Streamer AMR Codec")
+ (description "MSAMR is a plugin of MediaStreamer, adding support for
+AMR codec. It is based on the opencore-amr implementation.")
+ (home-page "https://gitlab.linphone.org/BC/public/msamr")
+ (license license:gpl3+)))
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 6c7eb5be12..fa47789d5c 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -192,6 +192,12 @@ defconfig. Return the appropriate make target if applicable, otherwise return
"deblob-check"))
(sha256 deblob-check-hash))))
+(define deblob-scripts-5.6
+ (linux-libre-deblob-scripts
+ "5.6"
+ (base32 "09hxrr4xzllq5lmipfb6if30318lksrk9py1axc36m9ynql4w0rc")
+ (base32 "09qz5d31g5zwicsnncjnjij193hk0g6kg0ss9jyzh6lp3wilcm71")))
+
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
"5.4.28"
@@ -362,42 +368,51 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
"linux-" version ".tar.xz"))
(sha256 hash)))
-(define-public linux-libre-5.4-version "5.4.28")
+
+(define-public linux-libre-5.6-version "5.6.2")
+(define-public linux-libre-5.6-pristine-source
+ (let ((version linux-libre-5.6-version)
+ (hash (base32 "1fdmcx5fk9wq9yx6vvnw76nvdysbvm83cik1dj1d67lw6bc92k9d")))
+ (make-linux-libre-source version
+ (%upstream-linux-source version hash)
+ deblob-scripts-5.6)))
+
+(define-public linux-libre-5.4-version "5.4.30")
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
- (hash (base32 "197p7rjmbs229ncj1y8s80f7n4bm8g9w0jrv1109m3rl8q9wqqy8")))
+ (hash (base32 "1vwx6j87pkfyq68chng1hy0c85hpc2byabiv1pcikrmw07vpip8i")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
-(define-public linux-libre-4.19-version "4.19.113")
+(define-public linux-libre-4.19-version "4.19.114")
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
- (hash (base32 "1rf0jz7r1f4rb4k0g3glssfa1hm2ka6vlbwjlkmsx1bybxnmg85m")))
+ (hash (base32 "03hz6vg5bg728ilbm4z997pf52cgxzsxb03vz5cs55gwdbfa0h0y")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
-(define-public linux-libre-4.14-version "4.14.174")
+(define-public linux-libre-4.14-version "4.14.175")
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
- (hash (base32 "12ai2lc2ny38s93d0m5ngrv030vwv1h2hhzp0fs6fhjxasikq8jc")))
+ (hash (base32 "0b12w0d21sk261jr4p1pm32v0r20a5c2j1p5hasdqw80sb2hli6b")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
-(define-public linux-libre-4.9-version "4.9.217")
+(define-public linux-libre-4.9-version "4.9.218")
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
- (hash (base32 "06b8av9f9pk2yp95nzv4322k0d5wsg40sxd9kfim1xzb093abckg")))
+ (hash (base32 "1ka98c8sbfipzll6ss9fcsn26lh4cy60372yfw27pif4brhnwfnz")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
-(define-public linux-libre-4.4-version "4.4.217")
+(define-public linux-libre-4.4-version "4.4.218")
(define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version)
- (hash (base32 "0vsjchywznmjn01flgvm9vsja5zqni319rfwgy997afcbz0c9spx")))
+ (hash (base32 "0qzhcy8i111jbpnkpzq7hqf9nkwq4s7smi820hfvnmd2ky7cns7a")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.4)))
@@ -430,6 +445,15 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(patches (append (origin-patches source)
patches))))
+(define-public linux-libre-5.6-source
+ (source-with-patches linux-libre-5.6-pristine-source
+ (list %boot-logo-patch
+ %linux-libre-arm-export-__sync_icache_dcache-patch
+ ;; Pinebook Pro patch from linux-next,
+ ;; can be dropped for linux-libre 5.7
+ (search-patch
+ "linux-libre-support-for-Pinebook-Pro.patch"))))
+
(define-public linux-libre-5.4-source
(source-with-patches linux-libre-5.4-pristine-source
(list %boot-logo-patch
@@ -529,6 +553,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(description "Headers of the Linux-Libre kernel.")
(license license:gpl2)))
+(define-public linux-libre-headers-5.6
+ (make-linux-libre-headers* linux-libre-5.6-version
+ linux-libre-5.6-source))
+
(define-public linux-libre-headers-5.4
(make-linux-libre-headers* linux-libre-5.4-version
linux-libre-5.4-source))
@@ -823,7 +851,24 @@ It has been modified to remove all non-free binary blobs.")
linux-libre-source
'("armhf-linux")
#:defconfig "multi_v7_defconfig"
- #:extra-version "arm-generic"))
+ #:extra-version "arm-generic"
+ #:extra-options
+ (append
+ `(;; needed to fix the RTC on rockchip platforms
+ ("CONFIG_RTC_DRV_RK808" . #t))
+ %default-extra-linux-options)))
+
+(define-public linux-libre-arm-generic-5.6
+ (make-linux-libre* linux-libre-5.6-version
+ linux-libre-5.6-source
+ '("armhf-linux")
+ #:defconfig "multi_v7_defconfig"
+ #:extra-version "arm-generic"
+ #:extra-options
+ (append
+ `(;; needed to fix the RTC on rockchip platforms
+ ("CONFIG_RTC_DRV_RK808" . #t))
+ %default-extra-linux-options)))
(define-public linux-libre-arm-veyron
(deprecated-package "linux-libre-arm-veyron" linux-libre-arm-generic))
@@ -868,7 +913,24 @@ It has been modified to remove all non-free binary blobs.")
linux-libre-source
'("aarch64-linux")
#:defconfig "defconfig"
- #:extra-version "arm64-generic"))
+ #:extra-version "arm64-generic"
+ #:extra-options
+ (append
+ `(;; needed to fix the RTC on rockchip platforms
+ ("CONFIG_RTC_DRV_RK808" . #t))
+ %default-extra-linux-options)))
+
+(define-public linux-libre-arm64-generic-5.6
+ (make-linux-libre* linux-libre-5.6-version
+ linux-libre-5.6-source
+ '("aarch64-linux")
+ #:defconfig "defconfig"
+ #:extra-version "arm64-generic"
+ #:extra-options
+ (append
+ `(;; needed to fix the RTC on rockchip platforms
+ ("CONFIG_RTC_DRV_RK808" . #t))
+ %default-extra-linux-options)))
(define-public linux-libre-riscv64-generic
(make-linux-libre* linux-libre-version
@@ -4432,6 +4494,40 @@ repair and easy administration.")
from the btrfs-progs package. It is meant to be used in initrds.")
(license (package-license btrfs-progs))))
+(define-public cramfs-tools
+ (package
+ (name "cramfs-tools")
+ (home-page "https://github.com/npitre/cramfs-tools")
+ (version "2.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "183rfqqyzx52q0vxicdgf0p984idh3rqkvzfb93gjvyzfhc15c0p"))
+ (file-name (git-file-name name version))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f ; No tests.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (install-file "mkcramfs" (string-append out "/sbin"))
+ (install-file "cramfsck" (string-append out "/sbin")))
+ #t)))))
+ (inputs
+ `(("zlib" ,zlib)))
+ (synopsis "Tools to manage Cramfs file systems")
+ (description "Cramfs is a Linux file system designed to be simple, small,
+and to compress things well. It is used on a number of embedded systems and
+small devices. This version has additional features such as uncompressed
+blocks and random block placement.")
+ (license license:gpl2+)))
+
(define-public compsize
(package
(name "compsize")
@@ -4571,7 +4667,7 @@ feature, and a laptop with an accelerometer. It has no effect on SSDs.")
(define-public thinkfan
(package
(name "thinkfan")
- (version "1.0.2")
+ (version "1.1")
(source
(origin
(method git-fetch)
@@ -4580,7 +4676,7 @@ feature, and a laptop with an accelerometer. It has no effect on SSDs.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "107vw0962hrwva3wra9n3hxlbfzg82ldc10qssv3dspja88g8psr"))))
+ (base32 "1fxd1w3z65glw6y04myn7ihgswkx6sqnkky159mik4n96pfrsvr5"))))
(build-system cmake-build-system)
(arguments
`(#:modules ((guix build cmake-build-system)
@@ -5699,13 +5795,13 @@ used by nftables.")
(build-system gnu-build-system)
(arguments `(#:configure-flags
'("--disable-man-doc"))) ; FIXME: Needs docbook2x.
- (inputs `(("bison" ,bison)
- ("flex" ,flex)
- ("gmp" ,gmp)
+ (inputs `(("gmp" ,gmp)
("libmnl" ,libmnl)
("libnftnl" ,libnftnl)
("readline" ,readline)))
- (native-inputs `(("pkg-config" ,pkg-config)))
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ("bison" ,bison)
+ ("flex" ,flex)))
(home-page "https://www.nftables.org")
(synopsis "Userspace utility for Linux packet filtering")
(description "nftables is the project that aims to replace the existing
@@ -5919,9 +6015,11 @@ the MTP device as a file system.")
(base32 "1javw97yw0qvjmj14js8vw6nsfyf2xc0kfiyq5f2hsp0553w2cdq"))))
(build-system gnu-build-system)
(arguments `(#:configure-flags '("--disable-silent-rules")))
- (native-inputs `(("pkg-config" ,pkg-config)))
- (inputs `(("expat" ,expat) ("libcap" ,libcap) ("check" ,check)
- ("groff" ,groff) ; for tests
+ (native-inputs `(("groff" ,groff) ; for tests
+ ("pkg-config" ,pkg-config)))
+ (inputs `(("check" ,check)
+ ("expat" ,expat)
+ ("libcap" ,libcap)
("libselinux" ,libselinux)))
(synopsis "Utility to show process environment")
(description "Procenv is a command-line tool that displays as much detail about
@@ -6587,10 +6685,10 @@ of Linux application development.")
(("/usr/bin/dbus-daemon") (which "dbus-daemon")))
#t)))))
(inputs
- `(("dbus" ,dbus)
- ("libtool" ,libtool)))
+ `(("dbus" ,dbus)))
(native-inputs
`(("autoconf" ,autoconf)
+ ("libtool" ,libtool)
("pkgconfig" ,pkg-config)
("automake" ,automake)))
(home-page "https://01.org/ell")
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 4c59cfa872..e404c57f63 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -18,6 +18,7 @@
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
;;; Copyright © 2020 Dimakis Dimakakos <me@bendersteed.tech>
+;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -619,6 +620,43 @@ from other CLXes around the net.")
(define-public ecl-clx
(sbcl-package->ecl-package sbcl-clx))
+(define-public sbcl-clx-truetype
+ (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
+ (revision "1"))
+ (package
+ (name "sbcl-clx-truetype")
+ (version (git-version "0.0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/l04m33/clx-truetype")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (substitute* "package.lisp"
+ ((":export") ":export\n :+font-cache-filename+"))
+ #t))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("clx" ,sbcl-clx)
+ ("zpb-ttf" ,sbcl-zpb-ttf)
+ ("cl-vectors" ,sbcl-cl-vectors)
+ ("cl-paths-ttf" ,sbcl-cl-paths-ttf)
+ ("cl-fad" ,sbcl-cl-fad)
+ ("cl-store" ,sbcl-cl-store)
+ ("trivial-features" ,sbcl-trivial-features)))
+ (home-page "https://github.com/l04m33/clx-truetype")
+ (synopsis "Antialiased TrueType font rendering using CLX and XRender")
+ (description "CLX-TrueType is pure common lisp solution for
+antialiased TrueType font rendering using CLX and XRender extension.")
+ (license license:expat))))
+
(define-public sbcl-cl-ppcre-unicode
(package (inherit sbcl-cl-ppcre)
(name "sbcl-cl-ppcre-unicode")
@@ -6643,8 +6681,8 @@ which implements a set of utilities.")
(sbcl-package->ecl-package sbcl-metatilities-base))
(define-public sbcl-cl-containers
- (let ((commit "b2980bac9ac87ad32b63b722ce520fa26cb36ee6")
- (revision "2"))
+ (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
+ (revision "3"))
(package
(name "sbcl-cl-containers")
(version (git-version "0.12.1" revision commit))
@@ -6657,7 +6695,7 @@ which implements a set of utilities.")
(file-name (git-file-name name version))
(sha256
(base32
- "19hmlax19hq0xjaqr8za90vwf06ymxw1m29sj053a309k3hm84gx"))))
+ "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
(build-system asdf-build-system/sbcl)
(native-inputs
`(("lift" ,sbcl-lift)))
@@ -7204,8 +7242,8 @@ implementation specific equivalent.")
(sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
(define-public sbcl-serapeum
- (let ((commit "65837f8a0d65b36369ec8d000fff5c29a395b5fe")
- (revision "0"))
+ (let ((commit "64f0c4a161bbbda7c275012ca1415b4293b9e169")
+ (revision "1"))
(package
(name "sbcl-serapeum")
(version (git-version "0.0.0" revision commit))
@@ -7219,7 +7257,7 @@ implementation specific equivalent.")
(file-name (git-file-name name version))
(sha256
(base32
- "0clwf81r2lvk1rbfvk91s9zmbkas9imf57ilqclw12mxaxlfsnbw"))))
+ "0djnj0py8hdjnk5j6shjq2kbmyxqd5sw79cilcfmpfz4dzjdgkx9"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("alexandria" ,sbcl-alexandria)
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index a65eb19e0c..709ea88ae0 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -365,14 +365,14 @@ an interpreter, a compiler, a debugger, and much more.")
(define-public sbcl
(package
(name "sbcl")
- (version "2.0.2")
+ (version "2.0.3")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-"
version "-source.tar.bz2"))
(sha256
- (base32 "07pyzdjnhcpqwvr3rrk4i18maqdywbq1qj93fnpx1h4b7dp08r28"))))
+ (base32 "001gckyw8hl842nk7nwf5kcspzkc1g8dycpwylzh5chl6893ym5m"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(native-inputs
@@ -687,6 +687,53 @@ interface.")
(license (list license:lgpl2.1
license:clarified-artistic)))) ;TRIVIAL-LDAP package
+(define-public ccl-1.12
+ ;; This is a development snapshot. The last stable version is from November
+ ;; 2017 and does not support package-local-nicknames, which prevents CCL
+ ;; from compiling some third-party packages.
+ ;; The main drawback of 1.12 is that ARM is not supported for now.
+ (package
+ (inherit ccl)
+ (version "1.12-dev.5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Clozure/ccl/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "ccl" version))
+ (sha256
+ (base32
+ "1za5j4ll4hk1vi1i7v1bmqhaqbsgc16izn46qmry7dnbig0rdqm0"))))
+ ;; CCL consists of a "lisp kernel" and "heap image".
+ ;; See comment in `ccl' package.
+ (inputs
+ `(("ccl-bootstrap"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/Clozure/ccl/releases/download/v" version "/"
+ (match (%current-system)
+ ((or "i686-linux" "x86_64-linux") "linuxx86")
+ ;; Prevent errors when querying this package on unsupported
+ ;; platforms, e.g. when running "guix package --search="
+ (_ "UNSUPPORTED"))
+ ".tar.gz"))
+ (sha256
+ (base32
+ (match (%current-system)
+ ((or "i686-linux" "x86_64-linux")
+ "1pqiybxxv4wx5zlp1i60nim3njaczwl5321bdwq6frjsl3s95xmb")
+ (_ ""))))))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments ccl)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (replace 'unpack (assoc-ref %standard-phases 'unpack))
+ (add-after 'unpack 'unpack-image
+ (lambda* (#:key inputs #:allow-other-keys)
+ (invoke "tar" "xzvf" (assoc-ref inputs "ccl-bootstrap"))))))))
+ (supported-systems '("i686-linux" "x86_64-linux"))))
+
(define-public lush2
(package
(name "lush2")
@@ -798,7 +845,7 @@ enough to play the original mainframe Zork all the way through.")
(define-public txr
(package
(name "txr")
- (version "233")
+ (version "234")
(source
(origin
(method git-fetch)
@@ -809,7 +856,7 @@ enough to play the original mainframe Zork all the way through.")
(patches (search-patches "txr-shell.patch"))
(sha256
(base32
- "14dwjgx9lbfajk3q539m3v3b9j047q83ldnqb4cagbs8ampvhfbv"))))
+ "0c9qsj4xwc24c9g02mr5n97m4d87d4n0pcc2c2n58l2vg5dnzba0"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("cc=gcc")
diff --git a/gnu/packages/lxde.scm b/gnu/packages/lxde.scm
index dac2ef6d24..f5dc027e03 100644
--- a/gnu/packages/lxde.scm
+++ b/gnu/packages/lxde.scm
@@ -264,11 +264,11 @@ with freedesktop.org standard.")
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)
+ ("desktop-file-utils" ,desktop-file-utils)
("intltool" ,intltool)))
(inputs `(("bash" ,bash)
("gtk+" ,gtk+)
("eudev" ,eudev)
- ("desktop-file-utils" ,desktop-file-utils)
("shared-mime-info" ,shared-mime-info)
("ffmpegthumbnailer" ,ffmpegthumbnailer)
("jmtpfs" ,jmtpfs)
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 139f737b6a..2acc6ecec0 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -29,6 +29,8 @@
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
+;;; Copyright © 2020 Justus Winter <justus@sequoia-pgp.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -81,6 +83,7 @@
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages flex)
+ #:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages libevent)
@@ -218,11 +221,11 @@
#:parallel-tests? #f))
(native-inputs
- `(("perl" ,perl))) ;for 'gylwrap'
- (inputs
- `(("dejagnu" ,dejagnu)
- ("m4" ,m4)
+ `(("perl" ,perl) ;for 'gylwrap'
("texinfo" ,texinfo)
+ ("dejagnu" ,dejagnu)))
+ (inputs
+ `(("m4" ,m4)
("guile" ,guile-3.0)
("gsasl" ,gsasl)
("gnutls" ,gnutls)
@@ -525,7 +528,7 @@ It adds a large amount of new and improved features to mutt.")
(define-public gmime
(package
(name "gmime")
- (version "3.2.6")
+ (version "3.2.7")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/gmime/"
@@ -533,7 +536,7 @@ It adds a large amount of new and improved features to mutt.")
"/gmime-" version ".tar.xz"))
(sha256
(base32
- "05s7qjrxbj010q016pmdqdq73gz8vl4hv29kwaign0j8gi61kzxb"))))
+ "0i3xfc84qn1z99i70q68kbnp9rmgqrnprqb418ba52s6g9j9dsia"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -1076,6 +1079,38 @@ and search library.")
(define-public python2-notmuch
(package-with-python2 python-notmuch))
+(define-public muchsync
+ (package
+ (name "muchsync")
+ (version "5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://www.muchsync.org/src/"
+ "muchsync-" version ".tar.gz"))
+ (sha256
+ (base32 "1k2m44pj5i6vfhp9icdqs42chsp208llanc666p3d9nww8ngq2lb"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("ghc-pandoc" ,ghc-pandoc)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libcrypto" ,openssl)
+ ("notmuch" ,notmuch)
+ ("sqlite" ,sqlite)
+ ("xapian" ,xapian)))
+ (home-page "http://www.muchsync.org/")
+ (synopsis "Synchronize notmuch mail across machines")
+ (description
+ "Muchsync brings Notmuch to all of your computers by synchronizing your
+mail messages and Notmuch tags across machines. The protocol is heavily
+pipelined to work efficiently over high-latency networks such as mobile
+broadband. Muchsync supports arbitrary pairwise synchronization among
+replicas. A version-vector-based algorithm allows it to exchange only the
+minimum information necessary to bring replicas up to date regardless of which
+pairs have previously synchronized.")
+ (license gpl2+)))
+
(define-public getmail
(package
(name "getmail")
@@ -2965,8 +3000,8 @@ replacement for the @code{urlview} program.")
(license gpl2+)))
(define-public mumi
- (let ((commit "6653e2d525b945fcd671dbfbf7b42cc588a1cf4b")
- (revision "7"))
+ (let ((commit "c85015dac8110bd7a4c37375b9eb05ebeadedf74")
+ (revision "15"))
(package
(name "mumi")
(version (git-version "0.0.0" revision commit))
@@ -2978,7 +3013,7 @@ replacement for the @code{urlview} program.")
(file-name (git-file-name name version))
(sha256
(base32
- "0h1q61yl01hm7wygv1bv47ncg7l7gcw7aq8ny61g3hr1acsqysjf"))))
+ "05nma73kqnva6ci92aq8jb3718ry5dz3sd64ibpxn5w77z5kpwr7"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
@@ -3009,11 +3044,15 @@ replacement for the @code{urlview} program.")
(inputs
`(("guile-debbugs" ,guile-debbugs)
("guile-email" ,guile-email)
+ ("guile-gcrypt" ,guile-gcrypt)
("guile-json" ,guile-json-3)
+ ("guile-redis" ,guile-redis)
("guile-sqlite3" ,guile-sqlite3)
("guile-syntax-highlight" ,guile-syntax-highlight)
+ ("guile-webutils" ,guile-webutils)
("gnutls" ,gnutls) ;needed to talk to https://debbugs.gnu.org
("guile" ,guile-2.2)
+ ("mailutils" ,mailutils)
("mumimu" ,mumimu))) ;'mumimu' executable recorded in (mumi config)
(native-inputs
`(("autoconf" ,autoconf)
diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index 13604af08f..3f8354e7b4 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -137,10 +138,10 @@ a flexible and convenient way.")
(srfi srfi-1))))
(native-inputs
`(("pkg-config" ,pkg-config)
+ ("flex" ,flex)
("groff" ,groff))) ;needed at build time (troff, grops, soelim, etc.)
(inputs
- `(("flex" ,flex)
- ("gdbm" ,gdbm)
+ `(("gdbm" ,gdbm)
("groff-minimal" ,groff-minimal)
("less" ,less)
("libpipeline" ,libpipeline)
@@ -230,7 +231,7 @@ automatically.")
(define-public scdoc
(package
(name "scdoc")
- (version "1.9.4")
+ (version "1.10.1")
(source
(origin
(method url-fetch)
@@ -239,7 +240,7 @@ automatically.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "00zc3rzj97gscby31djlqyczvqpyhrl66i44czwzmmn7rc5j03m1"))))
+ "13x7g1r56bshvfmlvapvz35ywnbgsh337kywb5kcv8nc6b3j3q40"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
diff --git a/gnu/packages/mastodon.scm b/gnu/packages/mastodon.scm
index 54d4c539ec..9f86ee5649 100644
--- a/gnu/packages/mastodon.scm
+++ b/gnu/packages/mastodon.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
@@ -29,19 +29,18 @@
(define-public toot
(package
(name "toot")
- (version "0.24.0")
+ (version "0.25.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "toot" version))
(sha256
- (base32 "0w83b6ydaggrand9285wfrjrm1qry8fjl4as0iihma630ky6y2w3"))))
+ (base32 "16akld7zfr52rqrbgf6hmsca9qsrfdbbbd9bji8d26zggxmqq4vq"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
- (delete 'check)
- (add-after 'install 'check
+ (replace 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(invoke "py.test"))))))
diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 5c9da6d72b..d913836825 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -3,8 +3,9 @@
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 ng0 <ng0@n0.is>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com>
+;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -94,7 +95,7 @@ MATE applications.")
(define-public mate-power-manager
(package
(name "mate-power-manager")
- (version "1.22.0")
+ (version "1.24.1")
(source
(origin
(method url-fetch)
@@ -102,14 +103,14 @@ MATE applications.")
name "-" version ".tar.xz"))
(sha256
(base32
- "03c09h41qfz83wmjfvwzkq4xqc54aswmki4h034qcxbgfnyfmk1i"))))
+ "13ar40x5hs4d4h81q8qsy0agbx5wnarry3mbhws54zydcxd7j20a"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
- ("intltool" ,intltool)
("yelp-tools" ,yelp-tools)
+ ("gettext" ,gettext-minimal)
("glib" ,glib "bin") ; glib-gettextize
- ("libtool" ,libtool)))
+ ("polkit" ,polkit))) ; for ITS rules
(inputs
`(("gtk+" ,gtk+)
("glib" ,glib)
@@ -133,7 +134,7 @@ actions.")
(define-public mate-icon-theme
(package
(name "mate-icon-theme")
- (version "1.22.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
@@ -141,7 +142,7 @@ actions.")
name "-" version ".tar.xz"))
(sha256
(base32
- "090vfxpn1b1wwvkilv1j3cx4swdm4z0s7xyvhvqhdzj58zsf2000"))))
+ "0a2lz61ivwwcdznmwlmgjr6ipr9sdl5g2czbagnpxkwz8f3m77na"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -194,14 +195,14 @@ from Mint-X-F and Faenza-Fresh icon packs.")
(define-public mate-themes
(package
(name "mate-themes")
- (version "3.22.20")
+ (version "3.22.21")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://mate/themes/" (version-major+minor version)
"/mate-themes-" version ".tar.xz"))
(sha256
- (base32 "0c3dhf8p9nc2maky4g9xr04iil9wwbdkmhpzynlc6lfg4ksqq2bx"))))
+ (base32 "051g2vq817g84yrqzf7hjcqr4xrghnw1rprjd6jf5mhhzmwcas6n"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -221,7 +222,7 @@ themes for both gtk+-2 and gtk+-3.")
(define-public mate-desktop
(package
(name "mate-desktop")
- (version "1.22.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
@@ -229,7 +230,7 @@ themes for both gtk+-2 and gtk+-3.")
name "-" version ".tar.xz"))
(sha256
(base32
- "09gn840p6qds21kxab4pidjd53g76s76i7178fdibrz462mda217"))))
+ "0l4bbj6nz315s5ndq5sw1jcgi3s1whk59bj12c4mbpsvmlb33adg"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -255,7 +256,7 @@ desktop and the mate-about program.")
(define-public libmateweather
(package
(name "libmateweather")
- (version "1.22.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
@@ -263,7 +264,7 @@ desktop and the mate-about program.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1ribgcwl4ncfbcf9bkcbxrgc7yzajdnxg12837psngymkqswlp6a"))))
+ "094mnlczxq9crjj8z7dzs1zmwscdkbp54l3qjaf4a4bhd8lihv8d"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
@@ -301,14 +302,14 @@ the MATE desktop environment.")
(define-public mate-terminal
(package
(name "mate-terminal")
- (version "1.23.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://mate/" (version-major+minor version) "/"
"mate-terminal-" version ".tar.xz"))
(sha256
- (base32 "1jkw8i2j45p80i7wmm0j0gkbd44nr2qj8bf79jrh5z8kn01b1ibd"))))
+ (base32 "0nc23nmbkya2fgf7j65z85dcibwi5akkr8nscqrvk039ckirhk97"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -340,7 +341,7 @@ configurations (profiles).")
(define-public mate-session-manager
(package
(name "mate-session-manager")
- (version "1.22.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
@@ -348,31 +349,13 @@ configurations (profiles).")
name "-" version ".tar.xz"))
(sha256
(base32
- "1kpfmgay01gm74paaxccs3lim4jfb4hsm7i85jfdypr51985pwyj"))))
+ "01scj5d1xlri9b2id8gm9kfni9nzhdjdf7rag7fvcxwqp7baz3h3"))))
(build-system glib-or-gtk-build-system)
(arguments
- `(#:configure-flags (list "--enable-elogind"
+ `(#:configure-flags (list "--with-elogind"
"--disable-schemas-compile")
#:phases
(modify-phases %standard-phases
- (add-before 'configure 'pre-configure
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Use elogind instead of systemd.
- (substitute* "configure"
- (("libsystemd-login")
- "libelogind")
- (("systemd") "elogind"))
- (substitute* "mate-session/gsm-systemd.c"
- (("#include <systemd/sd-login.h>")
- "#include <elogind/sd-login.h>"))
- ;; Remove uses of the systemd journal.
- (substitute* "mate-session/main.c"
- (("#ifdef HAVE_SYSTEMD") "#if 0"))
- (substitute* "mate-session/gsm-manager.c"
- (("#ifdef HAVE_SYSTEMD") "#if 0"))
- (substitute* "mate-session/gsm-autostart-app.c"
- (("#ifdef HAVE_SYSTEMD") "#if 0"))
- #t))
(add-after 'install 'update-xsession-dot-desktop
(lambda* (#:key outputs #:allow-other-keys)
;; Record the absolute file name of 'mate-session' in the
@@ -389,6 +372,7 @@ configurations (profiles).")
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)
+ ("libxcomposite" ,libxcomposite)
("xtrans" ,xtrans)
("gobject-introspection" ,gobject-introspection)))
(inputs
@@ -407,7 +391,7 @@ configuration program to choose applications starting on login.")
(define-public mate-settings-daemon
(package
(name "mate-settings-daemon")
- (version "1.22.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
@@ -415,7 +399,7 @@ configuration program to choose applications starting on login.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0yr5v6b9hdk20j29smbw1k4fkyg82i5vlflmgly0vi5whgc74gym"))))
+ "1hc5a36wqpjv9i2lgrn1h12s8y910xab3phx5vzbzq47kj6m3gw9"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -449,7 +433,7 @@ configuration program to choose applications starting on login.")
(define-public libmatemixer
(package
(name "libmatemixer")
- (version "1.22.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
@@ -457,7 +441,7 @@ configuration program to choose applications starting on login.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1v0gpr55gj4mj8hzxbhgzrmhaxvs2inxhsmirvjw39sc7iplvrh9"))))
+ "08vkdp2kzy27xwscwp2jj5nz0yblrka2482l6cx3wl4dnk0rpznm"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -478,7 +462,7 @@ sound systems.")
(define-public libmatekbd
(package
(name "libmatekbd")
- (version "1.22.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
@@ -486,7 +470,7 @@ sound systems.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1dsr7618c92mhwabwhgxqsfp7gnf9zrz2z790jc5g085dxhg13y8"))))
+ "1sq7gwr9q3hq4q0vx32qqa68qcqf5by9mqyxnq6lwgaq8ydq16ab"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -509,7 +493,7 @@ MATE desktop environment.")
(define-public mate-menus
(package
(name "mate-menus")
- (version "1.22.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
@@ -517,7 +501,7 @@ MATE desktop environment.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1lkakbf2f1815c146z4xp5f0h4lim6jzr02681wbvzalc6k97v5c"))))
+ "1vv4j38h7mrbfrsj99k25z6y7b5dg30fzd2qnhk7pl8ca8s1jhrd"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -550,7 +534,7 @@ assorted menu related utility programs.")
(define-public mate-applets
(package
(name "mate-applets")
- (version "1.22.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
@@ -558,7 +542,7 @@ assorted menu related utility programs.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0f5ym6z7awi0kw6i1sdkj2qly88sl692j5r1zhklihyz1z9a6j0h"))))
+ "0nm3amb3v458mxv1mbz9y8f4230gldmydmkkm7vqxsrxbccynkxq"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -623,7 +607,7 @@ Interactive Weather Information Network (IWIN).
(define-public mate-media
(package
(name "mate-media")
- (version "1.22.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
@@ -631,7 +615,7 @@ Interactive Weather Information Network (IWIN).
name "-" version ".tar.xz"))
(sha256
(base32
- "0jrxbz00vjas0yp3ixvyzfsdby2ac3p3bds9yd7q1437mmhf71mj"))))
+ "1d5dx79yfqghjaxrdrdh053nfnvkbx8p3ma7j87s7rsvy5irs963"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -659,7 +643,7 @@ mate-volume-control, a MATE volume control application and applet.")
(define-public mate-panel
(package
(name "mate-panel")
- (version "1.22.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
@@ -667,7 +651,7 @@ mate-volume-control, a MATE volume control application and applet.")
name "-" version ".tar.xz"))
(sha256
(base32
- "17l4ryy71bkszr6shm9dm31zcsd7m0digi1mmvdlib5hqzvc7li7"))))
+ "1hrh10pqk8mva1ix2nmsp3cbbn81cgqy0b9lqhsl0b5p0s40i7in"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags
@@ -834,7 +818,7 @@ infamous 'Wanda the Fish'.")
(define-public caja
(package
(name "caja")
- (version "1.22.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
@@ -842,7 +826,7 @@ infamous 'Wanda the Fish'.")
name "-" version ".tar.xz"))
(sha256
(base32
- "14x9n9q7vip5zp4mdgccj1p1dm4xn429g0bjw2v8iz7zmjb7vcgl"))))
+ "1cnfy481hcwjv3ia3kw0d4h7ga8cng0pqm3z349v4qcmfdapmqc0"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags '("--disable-update-mimedb")
@@ -892,7 +876,7 @@ icons on the MATE desktop. It works on local and remote file systems.")
(define-public caja-extensions
(package
(name "caja-extensions")
- (version "1.22.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
@@ -900,7 +884,7 @@ icons on the MATE desktop. It works on local and remote file systems.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1h866jmdd3qpjzi7wjj11krwiaadnlf21844g1zqfb4jgrzj773p"))))
+ "175v5c05nrdliya23rbqma49alldq67dklmvpq18nq71sfry4pp6"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags (list "--enable-sendto"
@@ -920,6 +904,7 @@ icons on the MATE desktop. It works on local and remote file systems.")
("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
+ ("libxml2" ,libxml2)
("pkg-config" ,pkg-config)))
(inputs
`(("attr" ,attr)
@@ -946,7 +931,7 @@ icons on the MATE desktop. It works on local and remote file systems.")
(define-public mate-control-center
(package
(name "mate-control-center")
- (version "1.22.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
@@ -954,8 +939,21 @@ icons on the MATE desktop. It works on local and remote file systems.")
name "-" version ".tar.xz"))
(sha256
(base32
- "06wpfsxsiv7w3dl7p395r5vcxqbjlllydqbnvbr6yn0lrac15i71"))))
+ "192plsh83m2qz7jgakns2yvhqbj53v7i54iwb0z26i2awy0j9rcd"))))
(build-system glib-or-gtk-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-before 'build 'fix-polkit-action
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Make sure the polkit file refers to the right
+ ;; executable.
+ (let ((out (assoc-ref outputs "out")))
+ (substitute*
+ '("capplets/display/org.mate.randr.policy.in"
+ "capplets/display/org.mate.randr.policy")
+ (("/usr/sbin")
+ (string-append out "/sbin")))
+ #t))))))
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)
@@ -991,6 +989,7 @@ icons on the MATE desktop. It works on local and remote file systems.")
("mate-menus" ,mate-menus)
("mate-settings-daemon" ,mate-settings-daemon)
("pango" ,pango)
+ ("polkit" ,polkit)
("startup-notification" ,startup-notification)))
(propagated-inputs
`(("gdk-pixbuf" ,gdk-pixbuf+svg) ; mate-slab.pc
@@ -1005,7 +1004,7 @@ of various aspects of your desktop.")
(define-public marco
(package
(name "marco")
- (version "1.22.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
@@ -1013,7 +1012,7 @@ of various aspects of your desktop.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1i1pi1z9mrb6564mxcwb93jqpdppfv58c2viwmicsixis62hv5wx"))))
+ "0hcbyv8czymhwz5q9rwig7kkhlhik6y080bls736f3wsbqnnirc2"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -1055,7 +1054,7 @@ for use with MATE or as a standalone window manager.")
(define-public mate-user-guide
(package
(name "mate-user-guide")
- (version "1.22.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
@@ -1063,7 +1062,7 @@ for use with MATE or as a standalone window manager.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0ckn7h7l0qdgdx440dwx1h8i601s22sxlf5a7179hfirk9016j0z"))))
+ "0ddxya84iydvy85dbqls0wmz2rph87wri3rsdhv4rkbhh5g4sd7f"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -1094,7 +1093,7 @@ sessions, panels, menus, file management, and preferences.")
(define-public mate-calc
(package
(name "mate-calc")
- (version "1.22.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
@@ -1102,7 +1101,7 @@ sessions, panels, menus, file management, and preferences.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1njk6v7z3969ikvcrabr1lw5f5572vb14w064zm3mydj8cc5inlr"))))
+ "0f7hc1gg41kcwcyvsqqg79qylrp0qqymris8qizk2x3cfvvg7261"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
@@ -1125,7 +1124,7 @@ sessions, panels, menus, file management, and preferences.")
(define-public mate-backgrounds
(package
(name "mate-backgrounds")
- (version "1.22.0")
+ (version "1.24.1")
(source
(origin
(method url-fetch)
@@ -1133,7 +1132,7 @@ sessions, panels, menus, file management, and preferences.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1j9ch04qi2q4mdcvb92w667ra9hpfdf2bfpi1dpw0nbph7r6qvj9"))))
+ "0b9yx68p9l867bqsl9z2g4wrs8p396ls673jgaliys5snmk8n8dn"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("intltool" ,intltool)))
@@ -1147,7 +1146,7 @@ can be used as backgrounds in the MATE Desktop environment.")
(define-public mate-netbook
(package
(name "mate-netbook")
- (version "1.22.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
@@ -1155,7 +1154,7 @@ can be used as backgrounds in the MATE Desktop environment.")
name "-" version ".tar.xz"))
(sha256
(base32
- "17p1wv9bcr3kvlahnxmxj786vka86nysi90x5xci6ilwyjlaxh0l"))))
+ "1bmk9gq5gcqkvfppa7i1hqfph8sajc3xs189s4ha97g0ifwd98a8"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
@@ -1188,7 +1187,7 @@ Re-decorates windows on un-maximise.
(define-public mate-screensaver
(package
(name "mate-screensaver")
- (version "1.22.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
@@ -1196,7 +1195,7 @@ Re-decorates windows on un-maximise.
name "-" version ".tar.xz"))
(sha256
(base32
- "17fxyccsc410wbyxmds1sm7gjqbj6z46x5cjk1791hfzf0sh82sy"))))
+ "0gpw6x9d0b77f14vjl7ghq5dya1mwcnvmgigg00manfwlksr5zby"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags
@@ -1259,7 +1258,7 @@ can be used as backgrounds in the MATE Desktop environment.")
(define-public mate-utils
(package
(name "mate-utils")
- (version "1.22.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
@@ -1267,7 +1266,7 @@ can be used as backgrounds in the MATE Desktop environment.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0kz95hicjksgkwaj83fdp2rnaygfgjbj0jsnwy4n0lj5q90j7r28"))))
+ "1b16n1628gcsym5mph6lr9x5xm4rgkxsa8xwr2wlx8g2gw2775i1"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
@@ -1291,6 +1290,7 @@ can be used as backgrounds in the MATE Desktop environment.")
("libxext" ,libxext)
("mate-panel" ,mate-panel)
("pango" ,pango)
+ ("udisks" ,udisks)
("zlib" ,zlib)))
(home-page "https://mate-desktop.org/")
(synopsis "Utilities for the MATE Desktop")
@@ -1311,7 +1311,7 @@ can be used as backgrounds in the MATE Desktop environment.")
(define-public eom
(package
(name "eom")
- (version "1.22.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
@@ -1319,7 +1319,7 @@ can be used as backgrounds in the MATE Desktop environment.")
name "-" version ".tar.xz"))
(sha256
(base32
- "093vbip848bp9y603yasbrg1bcp68m64hma7zhi5m37x2r103r6l"))))
+ "0zzximp2534bky0vac219alafblw6m0lis0gncq92017s6c1mb77"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
@@ -1361,7 +1361,7 @@ can be used as backgrounds in the MATE Desktop environment.")
(define-public engrampa
(package
(name "engrampa")
- (version "1.22.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
@@ -1369,7 +1369,7 @@ can be used as backgrounds in the MATE Desktop environment.")
name "-" version ".tar.xz"))
(sha256
(base32
- "16yjplfl2sqa7n6404hjn0vwkh0xkdch73q7n5czynihmh3azc7p"))))
+ "13cak3qgrzqj74x9jq1sf155793v2bqqz4mk4i04g9f9xn3g85fl"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags (list "--disable-schemas-compile"
@@ -1414,7 +1414,7 @@ can be used as backgrounds in the MATE Desktop environment.")
(define-public pluma
(package
(name "pluma")
- (version "1.22.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
@@ -1422,7 +1422,7 @@ can be used as backgrounds in the MATE Desktop environment.")
name "-" version ".tar.xz"))
(sha256
(base32
- "07rr5asdjr9slmaijp4m8v9vxscihvm36mfrwlp3lv12kry42a05"))))
+ "1vmndhlhy3qkf3xs5kkv0xhbv5ar25pqz0kp17hc4qhgjzycfr0r"))))
(build-system glib-or-gtk-build-system)
(arguments
`(; Tests can not succeed.
@@ -1453,7 +1453,7 @@ can be used as backgrounds in the MATE Desktop environment.")
("libice" ,libice)
("packagekit" ,packagekit)
("pango" ,pango)
- ("python-2" ,python-2)
+ ("python" ,python)
("scrollkeeper" ,scrollkeeper)))
(home-page "https://mate-desktop.org/")
(synopsis "Text Editor for MATE")
@@ -1464,7 +1464,7 @@ can be used as backgrounds in the MATE Desktop environment.")
(define-public mate-system-monitor
(package
(name "mate-system-monitor")
- (version "1.22.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
@@ -1472,7 +1472,7 @@ can be used as backgrounds in the MATE Desktop environment.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0rs0n5ivmvi355fp3ymcp1jj2sz9viw31475aw7zh7s1l7dn969x"))))
+ "1cb36lrsn4fhsryl2kl4yq0qhp1p4r7k21w3fc2ywjga8fdxx6y5"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@@ -1504,7 +1504,7 @@ MATE Desktop to monitor your system resources and usage.")
(define-public mate-polkit
(package
(name "mate-polkit")
- (version "1.22.0")
+ (version "1.24.0")
(source
(origin
(method url-fetch)
@@ -1512,7 +1512,7 @@ MATE Desktop to monitor your system resources and usage.")
name "-" version ".tar.xz"))
(sha256
(base32
- "02r8n71xflhvw2hsf6g4svdahzyg3r4n6xamasyzqfhyn0mqmjy0"))))
+ "1450bqzlnvwy3xa98lj102j2cf7piqbxcd1cy2zp41rdl8ri3gvn"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
@@ -1551,6 +1551,7 @@ used to bring up authentication dialogs.")
(union-build (assoc-ref %outputs "out")
directories)
#t)))))
+ (native-inputs `(("desktop-file-utils" ,desktop-file-utils)))
(inputs
;; TODO: Add more packages
`(("at-spi2-core" ,at-spi2-core)
@@ -1558,7 +1559,6 @@ used to bring up authentication dialogs.")
("caja" ,caja)
("dbus" ,dbus)
("dconf" ,dconf)
- ("desktop-file-utils" ,desktop-file-utils)
("engrampa" ,engrampa)
("eom" ,eom)
("font-cantarell" ,font-cantarell)
@@ -1596,6 +1596,10 @@ used to bring up authentication dialogs.")
("shared-mime-info" ,shared-mime-info)
("yelp" ,yelp)
("zenity" ,zenity)))
+ ;; FIXME: Propagating glib:bin fixes http://issues.guix.gnu.org/issue/38135
+ ;; The proper fix is in core-updates. So we can remove this after next merge.
+ (propagated-inputs
+ `(("glib:bin" ,glib "bin")))
(synopsis "The MATE desktop environment")
(home-page "https://mate-desktop.org/")
(description
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 07a19d4927..4d902d8935 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -35,6 +35,9 @@
;;; Copyright © 2019 Robert Smith <robertsmith@posteo.net>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
+;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -62,6 +65,7 @@
#:use-module (guix utils)
#:use-module ((guix build utils) #:select (alist-replace))
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system ruby)
@@ -79,6 +83,7 @@
#:use-module (gnu packages dbm)
#:use-module (gnu packages documentation)
#:use-module (gnu packages elf)
+ #:use-module (gnu packages file)
#:use-module (gnu packages flex)
#:use-module (gnu packages fltk)
#:use-module (gnu packages fontutils)
@@ -86,8 +91,10 @@
#:use-module (gnu packages gcc)
#:use-module (gnu packages gd)
#:use-module (gnu packages ghostscript)
+ #:use-module (gnu packages glib)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages java)
#:use-module (gnu packages less)
@@ -375,6 +382,81 @@ semiconductors.")
(license license:gpl3+)
(home-page "https://www.gnu.org/software/dionysus/")))
+(define-public dsfmt
+ (package
+ (name "dsfmt")
+ (version "2.2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/"
+ "dSFMT-src-" version ".tar.gz"))
+ (sha256
+ (base32
+ "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42"))
+ (modules '((guix build utils)))
+ ;; Don't distribute html documentation with bundled jquery.
+ (snippet
+ '(begin
+ (delete-file-recursively "html") #t))
+ ;; Add patches borrowed from Julia.
+ (patches
+ (list
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://raw.githubusercontent.com/JuliaLang/julia/"
+ "v1.3.0/deps/patches/dSFMT.c.patch"))
+ (sha256 (base32
+ "09mhv11bms8jsmkmdqvlcgljwhzw3b6n9nncpi2b6dla9798hw2y"))
+ (file-name "dSFMT.c.patch"))
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://raw.githubusercontent.com/JuliaLang/julia/"
+ "v1.3.0/deps/patches/dSFMT.h.patch"))
+ (sha256 (base32
+ "1py5rd0yxic335lzka23f6x2dhncrpizpyrk57gi2f28c0p98y5n"))
+ (file-name "dSFMT.h.patch"))))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; no configure script
+ (replace 'build
+ ;; Upstream Makefile does not build a shared library. Borrow from Julia
+ ;; https://github.com/JuliaLang/julia/blob/v1.3.0/deps/dsfmt.mk
+ (lambda _
+ (invoke
+ "gcc" "-DNDEBUG" "-DDSFMT_MEXP=19937"
+ "-fPIC" "-DDSFMT_DO_NOT_USE_OLD_NAMES"
+ "-O3" "-finline-functions" "-fomit-frame-pointer"
+ "-fno-strict-aliasing" "--param" "max-inline-insns-single=1800"
+ "-Wmissing-prototypes" "-Wall" "-std=c99" "-shared" "dSFMT.c"
+ "-o" "libdSFMT.so")))
+ (replace 'install ; no "install" target
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib"))
+ (inc (string-append out "/include"))
+ (doc (string-append out "/share/doc/" ,name "-" ,version)))
+ (install-file "libdSFMT.so" lib)
+ (install-file "dSFMT.h" inc)
+ (install-file "LICENSE.txt" doc)
+ #t))))))
+ (synopsis "Double precision SIMD-oriented Fast Mersenne Twister")
+ (description
+ "The dSMFT package speeds up Fast Mersenne Twister generation by avoiding
+the expensive conversion of integer to double (floating point). dSFMT directly
+generates double precision floating point pseudorandom numbers which have the
+IEEE Standard for Binary Floating-Point Arithmetic (ANSI/IEEE Std 754-1985)
+format. dSFMT is only available on the CPUs which use IEEE 754 format double
+precision floating point numbers.")
+ (home-page "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/")
+ (license license:bsd-3)))
+
(define-public gsl
(package
(name "gsl")
@@ -2653,8 +2735,9 @@ implemented in ANSI C, and MPI for communications.")
"scotch-integer-declarations.patch"))))
(build-system gnu-build-system)
(inputs
- `(("zlib" ,zlib)
- ("flex" ,flex)
+ `(("zlib" ,zlib)))
+ (native-inputs
+ `(("flex" ,flex)
("bison" ,bison)))
(outputs '("out" "metis"))
(arguments
@@ -5353,3 +5436,112 @@ researchers and developers alike to get started on SAT.")
(home-page
"http://minisat.se/MiniSat.html")
(license license:expat))))
+
+(define-public libqalculate
+ (package
+ (name "libqalculate")
+ (version "3.8.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Qalculate/libqalculate/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1vbaza9c7159xf2ym90l0xkyj2mp6c3hbghhsqn29yvz08fda9df"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("gettext" ,gettext-minimal)
+ ("intltool" ,intltool)
+ ("automake" ,automake)
+ ("autoconf" ,autoconf)
+ ("libtool" ,libtool)
+ ("doxygen" ,doxygen)
+ ("file" ,file)))
+ (inputs
+ `(("gmp" ,gmp)
+ ("mpfr" ,mpfr)
+ ("libxml2" ,libxml2)
+ ("curl" ,curl)
+ ("icu4c" ,icu4c)
+ ("gnuplot" ,gnuplot)
+ ("readline" ,readline)
+ ("libiconv" ,libiconv)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'bootstrap 'setenv
+ ;; Prevent the autogen.sh script to carry out the configure
+ ;; script, which has not yet been patched to replace /bin/sh.
+ (lambda _
+ (setenv "NOCONFIGURE" "TRUE")
+ #t)))))
+ (home-page "https://qalculate.github.io/")
+ (synopsis "Multi-purpose cli desktop calculator and library")
+ (description
+ "Libqalculate is a multi-purpose cli desktop calculator and library.
+It provides basic and advanced functionality. Features include customizable
+functions, unit calculations, and conversions, physical constants, symbolic
+calculations (including integrals and equations), arbitrary precision,
+uncertainity propagation, interval arithmetic, plotting and a user-friendly
+cli.")
+ (license license:gpl2+)))
+
+(define-public qalculate-gtk
+ (package
+ (name "qalculate-gtk")
+ (version "3.8.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Qalculate/qalculate-gtk/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0nsg6dzg5r7rzqr671nvrf1c50rjwpz7bxv5f20i4s7agizgv840"))))
+ (build-system glib-or-gtk-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("intltool" ,intltool)
+ ("automake" ,automake)
+ ("autoconf" ,autoconf)
+ ("libtool" ,libtool)
+ ("file" ,file)))
+ (inputs
+ `(("gmp" ,gmp)
+ ("mpfr" ,mpfr)
+ ("libqalculate" ,libqalculate)
+ ("libxml2" ,libxml2)
+ ("glib" ,glib)
+ ("gtk+" ,gtk+)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'bootstrap 'setenv
+ ;; Prevent the autogen.sh script to carry out the configure
+ ;; script, which has not yet been patched to replace /bin/sh.
+ (lambda _
+ (setenv "NOCONFIGURE" "TRUE")
+ #t))
+ (add-before 'check 'add-pot-file
+ ;; the file contains translations and are currently not in use
+ ;; left out on purpose so add it to POTFILES.skip
+ (lambda _
+ (with-output-to-file "po/POTFILES.skip"
+ (lambda _
+ (format #t "data/shortcuts.ui~%")
+ #t))
+ #t)))))
+ (home-page "https://qalculate.github.io/")
+ (synopsis "Multi-purpose graphical desktop calculator")
+ (description
+ "Qalculate-gtk is the GTK frontend for libqalculate. It is a
+multi-purpose GUI desktop calculator. It provides basic and advanced
+functionality. Features include customizable functions, unit calculations,
+and conversions, physical constants, symbolic calculations (including
+integrals and equations), arbitrary precision, uncertainity propagation,
+interval arithmetic, plotting.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/matrix.scm b/gnu/packages/matrix.scm
new file mode 100644
index 0000000000..0aba774a91
--- /dev/null
+++ b/gnu/packages/matrix.scm
@@ -0,0 +1,121 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2020 Alex ter Weele <alex.ter.weele@gmail.com>
+;;;
+;;; 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 matrix)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (gnu packages check)
+ #:use-module (gnu packages databases)
+ #:use-module (gnu packages python-crypto)
+ #:use-module (gnu packages python-web)
+ #:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages xml)
+ #:use-module (guix build-system python)
+ #:use-module (guix download)
+ #:use-module (guix packages))
+
+(define-public python-matrix-synapse-ldap3
+ (package
+ (name "python-matrix-synapse-ldap3")
+ (version "0.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "matrix-synapse-ldap3" version))
+ (sha256
+ (base32
+ "01bms89sl16nyh9f141idsz4mnhxvjrc3gj721wxh1fhikps0djx"))))
+ (build-system python-build-system)
+ (arguments
+ ;; tests require synapse, creating a circular dependency.
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("python-twisted" ,python-twisted)
+ ("python-ldap3" ,python-ldap3)
+ ("python-service-identity" ,python-service-identity)))
+ (home-page "https://github.com/matrix-org/matrix-synapse-ldap3")
+ (synopsis "LDAP3 auth provider for Synapse")
+ (description
+ "This package allows Synapse to use LDAP as a password provider.
+This lets users log in to Synapse with their username and password from
+an LDAP server.")
+ (license license:asl2.0)))
+
+(define-public synapse
+ (package
+ (name "synapse")
+ (version "1.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "matrix-synapse" version))
+ (sha256
+ (base32
+ "0cqbwcz0fi4w413s1kcxvf696qi4n46n1k4ggnygqri5yq26qlfy"))))
+ (build-system python-build-system)
+ ;; TODO I think there are custom tests
+ (propagated-inputs
+ `(("python-simplejson" ,python-simplejson) ; not attested but required
+ ;; requirements (synapse/python_dependencies.py)
+ ("python-jsonschema" ,python-jsonschema)
+ ("python-frozendict" ,python-frozendict)
+ ("python-unpaddedbase64" ,python-unpaddedbase64)
+ ("python-canonicaljson" ,python-canonicaljson)
+ ("python-signedjson" ,python-signedjson)
+ ("python-pynacl" ,python-pynacl)
+ ("python-idna" ,python-idna)
+ ("python-service-identity" ,python-service-identity)
+ ("python-twisted" ,python-twisted)
+ ("python-treq" ,python-treq)
+ ("python-pyopenssl" ,python-pyopenssl)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-pyasn1" ,python-pyasn1)
+ ("python-pyasn1-modules" ,python-pyasn1-modules)
+ ("python-daemonize" ,python-daemonize)
+ ("python-bcrypt" ,python-bcrypt)
+ ("python-pillow" ,python-pillow)
+ ("python-sortedcontainers" ,python-sortedcontainers)
+ ("python-pymacaroons" ,python-pymacaroons)
+ ("python-msgpack" ,python-msgpack)
+ ("python-phonenumbers" ,python-phonenumbers)
+ ("python-six" ,python-six)
+ ("python-prometheus-client" ,python-prometheus-client)
+ ("python-attrs" ,python-attrs)
+ ("python-netaddr" ,python-netaddr)
+ ("python-jinja2" ,python-jinja2)
+ ("python-bleach" ,python-bleach)
+ ("python-typing-extensions" ,python-typing-extensions)
+ ;; conditional requirements (synapse/python_dependencies.py)
+ ("python-matrix-synapse-ldap3" ,python-matrix-synapse-ldap3)
+ ("python-psycopg2" ,python-psycopg2)
+ ("python-jinja2" ,python-jinja2)
+ ("python-txacme" ,python-txacme)
+ ("python-pysaml2" ,python-pysaml2)
+ ("python-lxml" ,python-lxml)
+ ;; sentry-sdk, jaeger-client, and opentracing could be included, but
+ ;; all are monitoring aids and not essential.
+ ("python-pyjwt" ,python-pyjwt)))
+ (native-inputs
+ `(("python-mock" ,python-mock)
+ ("python-parameterized" ,python-parameterized)))
+ (home-page "https://github.com/matrix-org/synapse")
+ (synopsis "Matrix reference homeserver")
+ (description "Synapse is a reference \"homeserver\" implementation of
+Matrix from the core development team at matrix.org, written in
+Python/Twisted. It is intended to showcase the concept of Matrix and let
+folks see the spec in the context of a codebase and let you run your own
+homeserver and generally help bootstrap the ecosystem.")
+ (license license:asl2.0)))
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index ccb2be7c41..e37585c21c 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -19,6 +19,7 @@
;;; Copyright © 2019, 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2019, 2020 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -307,7 +308,7 @@ access to servers running the Discord protocol.")
(("if 'DESTDIR' not in os.environ:")
"if False:"))
#t)))))
- (synopsis "Graphical IRC Client")
+ (synopsis "Graphical IRC client")
(description
"HexChat lets you connect to multiple IRC networks at once. The main
window shows the list of currently connected networks and their channels, the
@@ -2030,13 +2031,13 @@ messaging that aren’t available to clients that connect over XMPP.")
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
+ ("gettext" ,gettext-minimal)
("which" ,which)))
(inputs
`(("pidgin" ,pidgin)
("libgcrypt" ,libgcrypt)
("libwebp" ,libwebp)
("glib" ,glib)
- ("gettext" ,gnu-gettext)
("gtk+" ,gtk+-2)
("zlib" ,zlib)))
(arguments
diff --git a/gnu/packages/mingw.scm b/gnu/packages/mingw.scm
index d0785c5067..b37f6c69bd 100644
--- a/gnu/packages/mingw.scm
+++ b/gnu/packages/mingw.scm
@@ -53,7 +53,10 @@ specified, recurse and return a mingw-w64 with support for winpthreads."
"mingw-w64-release/mingw-w64-v" version ".tar.bz2"))
(sha256
(base32 "0a5njsa2zw2ssdz10jkb10mhrf3cb8qp9avs89zqmw4n6pzxy85a"))
- (patches (search-patches "mingw-w64-6.0.0-gcc.patch"))))
+ (patches
+ (search-patches "mingw-w64-6.0.0-gcc.patch"
+ "mingw-w64-dlltool-temp-prefix.patch"
+ "mingw-w64-reproducible-gendef.patch"))))
(native-inputs `(("xgcc-core" ,(if xgcc xgcc (cross-gcc triplet)))
("xbinutils" ,(if xbinutils xbinutils (cross-binutils triplet)))
,@(if with-winpthreads?
diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index ec0684168e..b39c50779a 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -135,7 +135,7 @@ bind processes, and much more.")
;; Note: 2.0 isn't the default yet, see above.
(package
(inherit hwloc-1)
- (version "2.1.0")
+ (version "2.2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://www.open-mpi.org/software/hwloc/v"
@@ -143,7 +143,7 @@ bind processes, and much more.")
"/downloads/hwloc-" version ".tar.bz2"))
(sha256
(base32
- "0qh8s7pphz0m5cwb7liqmc17xzfs23xhz5wn24r6ikvjyx99fhhr"))))
+ "0li27a3lnmb77qxpijj0kpblz32wmqd3b386sypq8ar7vy9vhw5f"))))
;; libnuma is no longer needed.
(inputs (alist-delete "numactl" (package-inputs hwloc-1)))
@@ -158,6 +158,14 @@ bind processes, and much more.")
(substitute* "tests/hwloc/linux-libnuma.c"
(("numa_available\\(\\)")
"-1"))
+ #t))
+ (add-before 'check 'skip-test-that-fails-on-qemu
+ (lambda _
+ ;; Skip test that fails on emulated hardware due to QEMU bug:
+ ;; <https://bugs.gnu.org/40342>.
+ (substitute* "tests/hwloc/hwloc_get_last_cpu_location.c"
+ (("hwloc_topology_init" all)
+ (string-append "exit (77);\n" all)))
#t))))))))
(define-deprecated hwloc-2.0 hwloc-2)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 773a582091..783cceec48 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -25,6 +25,7 @@
;;; Copyright © 2019 raingloom <raingloom@protonmail.com>
;;; Copyright © 2019 David Wilson <david@daviwil.com>
;;; Copyright © 2019, 2020 Alexandros Theodotou <alex@zrythm.org>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -380,22 +381,28 @@ many input formats and provides a customisable Vi-style user interface.")
(define-public denemo
(package
(name "denemo")
- (version "2.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/denemo/denemo-"
- version ".tar.gz"))
- (sha256
- (base32
- "0hggf8c4xcrjcxd5m00r788r7jg7g8ff54w2idfaqpj5j2ix3299"))))
+ (version "2.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/denemo/"
+ "denemo-" version ".tar.gz"))
+ (sha256
+ (base32 "1blkcl3slbsq9jlhwcf2m9v9g38a0sjfhh9advgi2qr1gxri08by"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
- ;; Denemo's documentation says to use this command to run its
- ;; testsuite.
- (lambda _
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Tests require to write $HOME.
+ (setenv "HOME" (getcwd))
+ ;; Replace hard-coded diff file name.
+ (substitute* "tests/integration.c"
+ (("/usr/bin/diff")
+ (string-append (assoc-ref inputs "diffutils") "/bin/diff")))
+ ;; Denemo's documentation says to use this command to run its
+ ;; test suite.
(invoke "make" "-C" "tests" "check")))
(add-before 'build 'set-lilypond
;; This phase sets the default path for lilypond to its current
@@ -408,24 +415,12 @@ many input formats and provides a customisable Vi-style user interface.")
(string-append "g_string_new (\""
lilypond
"\");"))))
- #t))
- (add-after 'install 'correct-filename
- ;; "graft-derivation/shallow" from the (guix grafts) module runs in
- ;; the C locale, expecting file names to be ASCII encoded. This
- ;; phase renames a filename with a Unicode character in it to meet
- ;; the aforementioned condition.
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out")))
- (chdir (string-append
- out
- "/share/denemo/templates/instruments/woodwind"))
- (rename-file "Clarinet in B♭.denemo"
- "Clarinet in Bb.denemo"))
#t)))))
(native-inputs
- `(("intltool" ,intltool)
+ `(("diffutils" ,diffutils)
("glib:bin" ,glib "bin") ; for gtester
("gtk-doc" ,gtk-doc)
+ ("intltool" ,intltool)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(inputs
@@ -504,16 +499,16 @@ settings (aliasing, linear interpolation and cubic interpolation).")
(define-public hydrogen
(package
(name "hydrogen")
- (version "1.0.0-beta1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/hydrogen-music/hydrogen.git")
- (commit version)))
- (file-name (string-append name "-" version "-checkout"))
- (sha256
- (base32
- "0nv83l70j5bjz2wd6n3a8cq3bmgrvdvg6g2hjhc1g5h6xnbqsh9x"))))
+ (version "1.0.0-beta2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hydrogen-music/hydrogen.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1s3jrdyjpm92flw9mkkxchnj0wz8nn1y1kifii8ws252iiqjya4a"))))
(build-system cmake-build-system)
(arguments
`(#:test-target "tests"
@@ -528,16 +523,18 @@ settings (aliasing, linear interpolation and cubic interpolation).")
#t)))))
(native-inputs
`(("cppunit" ,cppunit)
- ("pkg-config" ,pkg-config)))
+ ("pkg-config" ,pkg-config)
+ ("qtlinguist" ,qttools)))
(inputs
`(("alsa-lib" ,alsa-lib)
("jack" ,jack-1)
- ;; ("ladspa" ,ladspa) ; cannot find during configure
+ ;; ("ladspa" ,ladspa) ; require LADSPA_PATH to be set
("lash" ,lash)
("libarchive" ,libarchive)
+ ("liblo" ,liblo)
("libsndfile" ,libsndfile)
- ("libtar" ,libtar)
("lrdf" ,lrdf)
+ ("pulseaudio" ,pulseaudio)
("qtbase" ,qtbase)
("qtxmlpatterns" ,qtxmlpatterns)
("zlib" ,zlib)))
@@ -908,21 +905,20 @@ Sega Master System/Mark III, Sega Genesis/Mega Drive, BBC Micro
(define-public lilypond
(package
(name "lilypond")
- (version "2.19.80")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "http://download.linuxaudio.org/lilypond/sources/v"
- (version-major+minor version) "/"
- name "-" version ".tar.gz"))
- (sha256
- (base32
- "0lql4q946gna2pl1g409mmmsvn2qvnq2z5cihrkfhk7plcqdny9n"))))
+ (version "2.20.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://lilypond.org/download/sources/"
+ "v" (version-major+minor version) "/"
+ "lilypond-" version ".tar.gz"))
+ (sha256
+ (base32 "0qd6pd4siss016ffmcyw5qc6pr2wihnvrgd4kh1x725w7wr02nar"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; out-test/collated-files.html fails
+ `(#:tests? #f ;out-test/collated-files.html fails
#:out-of-source? #t
- #:make-flags '("conf=www") ;to generate images for info manuals
+ #:make-flags '("conf=www") ;to generate images for info manuals
#:configure-flags
(list "CONFIGURATION=www"
(string-append "--with-texgyre-dir="
@@ -940,25 +936,25 @@ Sega Master System/Mark III, Sega Genesis/Mega Drive, BBC Micro
(("TEX_FIKPARM=.*") "TEX_FIKPARM=found\n"))
#t))
(add-after 'unpack 'fix-path-references
- (lambda _
- (substitute* "scm/backend-library.scm"
- (("\\(search-executable '\\(\"gs\"\\)\\)")
- (string-append "\"" (which "gs") "\""))
- (("\"/bin/sh\"")
- (string-append "\"" (which "sh") "\"")))
- #t))
+ (lambda _
+ (substitute* "scm/backend-library.scm"
+ (("\\(search-executable '\\(\"gs\"\\)\\)")
+ (string-append "\"" (which "gs") "\""))
+ (("\"/bin/sh\"")
+ (string-append "\"" (which "sh") "\"")))
+ #t))
(add-before 'configure 'prepare-configuration
- (lambda _
- (substitute* "configure"
- (("SHELL=/bin/sh") "SHELL=sh")
- ;; When checking the fontforge version do not consider the
- ;; version string that's part of the directory.
- (("head -n") "tail -n")
- ;; Also allow for SOURCE_DATE_EPOCH = 0 in fontforge.
- (("20110222") "19700101"))
- (setenv "out" "www")
- (setenv "conf" "www")
- #t))
+ (lambda _
+ (substitute* "configure"
+ (("SHELL=/bin/sh") "SHELL=sh")
+ ;; When checking the fontforge version do not consider the
+ ;; version string that's part of the directory.
+ (("head -n") "tail -n")
+ ;; Also allow for SOURCE_DATE_EPOCH = 0 in fontforge.
+ (("20110222") "19700101"))
+ (setenv "out" "www")
+ (setenv "conf" "www")
+ #t))
(add-after 'install 'install-info
(lambda _
(invoke "make"
@@ -982,13 +978,13 @@ Sega Master System/Mark III, Sega Genesis/Mega Drive, BBC Micro
("dblatex" ,dblatex)
("gettext" ,gettext-minimal)
("imagemagick" ,imagemagick)
- ("netpbm" ,netpbm) ;for pngtopnm
+ ("netpbm" ,netpbm) ;for pngtopnm
("texlive" ,(texlive-union (list texlive-metapost
texlive-generic-epsf
texlive-latex-lh
texlive-latex-cyrillic)))
("texinfo" ,texinfo)
- ("texi2html" ,texi2html)
+ ("texi2html" ,texi2html-1.82)
("rsync" ,rsync)
("pkg-config" ,pkg-config)
("zip" ,zip)))
@@ -1427,10 +1423,10 @@ users to select LV2 plugins and run them with jalv.")
("alsa-lib" ,alsa-lib)
("non-session-manager" ,non-session-manager)
("liblo" ,liblo)
- ("qtbase" ,qtbase)
- ("qttools" ,qttools)))
+ ("qtbase" ,qtbase)))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("pkg-config" ,pkg-config)
+ ("qttools" ,qttools)))
(home-page "https://synthv1.sourceforge.io")
(synopsis "Polyphonic subtractive synthesizer")
(description
@@ -2037,25 +2033,26 @@ using a system-independent interface.")
(define-public frescobaldi
(package
(name "frescobaldi")
- (version "3.0.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/wbsoft/frescobaldi/releases/download/v"
- version "/frescobaldi-" version ".tar.gz"))
- (sha256
- (base32
- "15cqhbjbjikr7ljgiq56bz2gxrr38j8p0f78p2vhyzydaviy9a2z"))))
+ (version "3.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/wbsoft/frescobaldi/releases/download/v"
+ version "/frescobaldi-" version ".tar.gz"))
+ (sha256
+ (base32 "0kfwvgygx2ds01w8g7vzykfrajglmr2brchk9d67ahzijpgvfkj5"))))
(build-system python-build-system)
- (arguments `(#:tests? #f)) ; no tests included
+ (arguments
+ `(#:tests? #f)) ;no tests included
(inputs
`(("lilypond" ,lilypond)
+ ("poppler" ,poppler)
("portmidi" ,portmidi)
- ("python-pyqt" ,python-pyqt)
("python-ly" ,python-ly)
- ("python-pyportmidi" ,python-pyportmidi)
- ("poppler" ,poppler)
("python-poppler-qt5" ,python-poppler-qt5)
+ ("python-pyportmidi" ,python-pyportmidi)
+ ("python-pyqt" ,python-pyqt)
("python-sip" ,python-sip)))
(home-page "http://www.frescobaldi.org/")
(synopsis "LilyPond sheet music text editor")
@@ -2142,11 +2139,11 @@ backends, including ALSA, OSS, Network and FluidSynth.")
`(("drumstick" ,drumstick)
("qtbase" ,qtbase)
("qtsvg" ,qtsvg)
- ("qttools" ,qttools)
("qtx11extras" ,qtx11extras)))
(native-inputs
`(("libxslt" ,libxslt) ;for xsltproc
("docbook-xsl" ,docbook-xsl)
+ ("qttools" ,qttools)
("pkg-config" ,pkg-config)))
(home-page "http://vmpk.sourceforge.net")
(synopsis "Virtual MIDI piano keyboard")
@@ -4096,15 +4093,14 @@ specification and header.")
(define-public rosegarden
(package
(name "rosegarden")
- (version "18.12")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://sourceforge/rosegarden/rosegarden/"
- version "/rosegarden-" version ".tar.bz2"))
- (sha256
- (base32
- "15i9fm0vkn3wsgahaxqi1j5zs0wc0j3wdwml0x49084gk2p328vb"))))
+ (version "19.12")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/rosegarden/rosegarden/"
+ version "/rosegarden-" version ".tar.bz2"))
+ (sha256
+ (base32 "1qcaxc6hdzva7kwxxhgl95437fagjbxzv4mihsgpr7y9qk08ppw1"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release")
@@ -4146,9 +4142,9 @@ specification and header.")
(("COMMAND [$][{]QT_RCC_EXECUTABLE[}]")
"COMMAND ${QT_RCC_EXECUTABLE} --format-version 1")
;; Extraneous.
- ;(("qt5_add_resources[(]rg_SOURCES ../data/data.qrc[)]")
- ; "qt5_add_resources(rg_SOURCES ../data/data.qrc OPTIONS --format-version 1)")
- )
+ ;;(("qt5_add_resources[(]rg_SOURCES ../data/data.qrc[)]")
+ ;; "qt5_add_resources(rg_SOURCES ../data/data.qrc OPTIONS --format-version 1)")
+ )
;; Make hashtable traversal order predicable.
(setenv "QT_RCC_TEST" "1") ; important
#t))
@@ -4666,7 +4662,7 @@ discard bad quality ones.
("qtmultimedia" ,qtmultimedia)
("qtsvg" ,qtsvg)))
(native-inputs
- `(("gettext" ,gnu-gettext)
+ `(("gettext" ,gettext-minimal)
("hicolor-icon-theme" ,hicolor-icon-theme)
("itstool" ,itstool)
("qttools" ,qttools)))
@@ -4970,7 +4966,7 @@ ZaMultiComp, ZaMultiCompX2 and ZamSynth.")
(define-public geonkick
(package
(name "geonkick")
- (version "1.9.0")
+ (version "1.10.0")
(source
(origin
(method git-fetch)
@@ -4980,7 +4976,7 @@ ZaMultiComp, ZaMultiCompX2 and ZamSynth.")
(file-name (git-file-name name version))
(sha256
(base32
- "17mwxnmxszdm2wjbigciwh8qx0487q9qhf4sl92y6nqdb0dlghnl"))))
+ "1a59wnm4035kjhs66hihlkiv45p3ffb2yaj1awvyyi5f0lds5zvh"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no tests included
@@ -5161,7 +5157,7 @@ and as an LV2 plugin.")
(define-public zrythm
(package
(name "zrythm")
- (version "0.7.573")
+ (version "0.8.200")
(source
(origin
(method url-fetch)
@@ -5169,7 +5165,7 @@ and as an LV2 plugin.")
version ".tar.xz"))
(sha256
(base32
- "075gq478xbzz5ql4fsrgfzhgxi7z26k6034lhlkmm0klfcb8j9mg"))))
+ "13ivxbrd44qnhyh46dcr94dvqxg8cn4bbd8xm77ljw0p9b4ks4zs"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
@@ -5194,6 +5190,7 @@ and as an LV2 plugin.")
("gettext" ,gettext-minimal)
("glibc" ,glibc)
("gtk+" ,gtk+)
+ ("guile" ,guile-2.2)
("libcyaml" ,libcyaml)
("libsamplerate" ,libsamplerate)
("libsndfile" ,libsndfile)
@@ -5383,3 +5380,45 @@ filtered, pitch shifted and ultimately disintegrated. This is an unofficial
port of the Regrader plugin created by Igorski. It is available as an LV2
plugin and a standalone JACK application.")
(license license:expat)))
+
+(define-public tap-lv2
+ (let ((commit "cab6e0dfb2ce20e4ad34b067d1281ec0b193598a")
+ (revision "1"))
+ (package
+ (name "tap-lv2")
+ (version (git-version "0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/moddevices/tap-lv2.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0q480djfqd9g8mzrggc4vl7yclrhdjqx563ghs8mvi2qq8liycw3"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no check target
+ #:make-flags
+ (list "CC=gcc")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; no configure
+ (replace 'install
+ (lambda _
+ (invoke "make"
+ (string-append "INSTALL_PATH="
+ (assoc-ref %outputs "out")
+ "/lib/lv2")
+ "install"))))))
+ (inputs
+ `(("lv2", lv2)))
+ (native-inputs
+ `(("pkg-config", pkg-config)))
+ (synopsis "Audio plugin collection")
+ (description "TAP (Tom's Audio Processing) plugins is a collection of
+ audio effect plugins originally released as LADSPA plugins. This package
+ offers an LV2 version ported by moddevices.")
+ (home-page "http://tap-plugins.sourceforge.net/")
+ (license license:gpl2))))
diff --git a/gnu/packages/netpbm.scm b/gnu/packages/netpbm.scm
index aac6f13379..96025661ca 100644
--- a/gnu/packages/netpbm.scm
+++ b/gnu/packages/netpbm.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -114,7 +114,10 @@
("pkg-config" ,pkg-config)
("python" ,python-wrapper)))
(arguments
- `(#:phases
+ `(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (ice-9 match))
+ #:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -145,7 +148,7 @@
(add-before 'check 'setup-check
(lambda _
;; install temporarily into /tmp/netpbm
- (system* "make" "package")
+ (invoke "make" "package")
;; remove test requiring X
(substitute* "test/all-in-place.test" (("pamx") ""))
;; do not worry about non-existing file
@@ -168,19 +171,21 @@
(replace 'install
(lambda* (#:key outputs make-flags #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
- (apply system* "make" "package"
+ (apply invoke "make" "package"
(string-append "pkgdir=" out) make-flags)
- ;; copy static library
- (copy-file (string-append out "/link/libnetpbm.a")
- (string-append out "/lib/libnetpbm.a"))
- ;; remove superfluous folders and files
- (system* "rm" "-r" (string-append out "/link"))
- (system* "rm" "-r" (string-append out "/misc"))
+ ;; Remove superfluous files.
(with-directory-excursion out
- (for-each delete-file
- '("config_template" "pkginfo" "README"
- "VERSION")))
- #t))))))
+ (for-each delete-file-recursively
+ '("config_template" "pkginfo" "README" "VERSION"
+ "link/" "misc/"))
+ ;; Install the required ‘libnetpbm.so’ link.
+ ;; See <https://issues.guix.gnu.org/issue/40376>.
+ (with-directory-excursion "lib"
+ (symlink
+ (match (find-files "." "^libnetpbm\\.so\\.[^.]*\\.[^.]*$")
+ ((head _ ...) head))
+ "libnetpbm.so"))
+ #t)))))))
(synopsis "Toolkit for manipulation of images")
(description
"Netpbm is a toolkit for the manipulation of graphic images, including
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 7561103888..f9657e4aa3 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -2692,13 +2692,13 @@ protocol daemons for BGP, IS-IS, LDP, OSPF, PIM, and RIP. ")
(build-system gnu-build-system)
(inputs
`(("dbus" ,dbus)
- ("libtool" ,libtool)
("ell" ,ell)
("readline" ,readline)))
(native-inputs
`(("asciidoc" ,asciidoc)
("autoconf" ,autoconf)
("automake" ,automake)
+ ("libtool" ,libtool)
("pkgconfig" ,pkg-config)
("python" ,python)
("openssl" ,openssl)))
diff --git a/gnu/packages/nfs.scm b/gnu/packages/nfs.scm
index ecf092125a..45ed181b03 100644
--- a/gnu/packages/nfs.scm
+++ b/gnu/packages/nfs.scm
@@ -27,6 +27,7 @@
#:use-module (gnu packages kerberos)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python)
#:use-module (gnu packages sqlite)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
@@ -115,7 +116,8 @@
("lvm2" ,lvm2)
("util-linux" ,util-linux "lib")
("mit-krb5" ,mit-krb5)
- ("libtirpc" ,libtirpc)))
+ ("libtirpc" ,libtirpc)
+ ("python-wrapper" ,python-wrapper))) ;for the Python based tools
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://www.kernel.org/pub/linux/utils/nfs-utils/")
diff --git a/gnu/packages/ntp.scm b/gnu/packages/ntp.scm
index 84790cf112..dfcdb58de4 100644
--- a/gnu/packages/ntp.scm
+++ b/gnu/packages/ntp.scm
@@ -24,18 +24,18 @@
(define-module (gnu packages ntp)
#:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages base)
+ #:use-module (gnu packages libevent)
#:use-module (gnu packages linux)
- #:use-module (gnu packages autotools)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages tls)
- #:use-module (gnu packages libevent)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix l:)
#:use-module (guix packages)
#:use-module (guix utils)
- #:use-module (guix download)
- #:use-module (guix git-download)
- #:use-module (guix build-system gnu)
#:use-module (srfi srfi-1))
(define-public ntp
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 5181d6156b..84efe2c1de 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -706,7 +706,8 @@ Emacs.")
(define-public ocaml-menhir
(package
(name "ocaml-menhir")
- (version "20181113")
+ ;; More recent versions can be built after we have dune >= 2.0
+ (version "20190626")
(source
(origin
(method git-fetch)
@@ -715,7 +716,7 @@ Emacs.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1iqdf64ayq4s3d9jkwhs3s8wqc2s48b292hp0kcjsskfhcvwg0kr"))))
+ (base32 "0v8av4pw6rykzb7wx54xhbsx0jhh8xyb4x0k4yrxi0w5ylkck6mb"))))
(build-system ocaml-build-system)
(inputs
`(("ocaml" ,ocaml)))
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index a27c7691b0..ee3e017326 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -1100,7 +1100,7 @@ the boot loader configuration.")
(assoc-ref %build-inputs "bubblewrap")
"/bin/bwrap"))))
(native-inputs `(("bison" ,bison)
- ("gettext" ,gnu-gettext)
+ ("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin") ; for glib-mkenums + gdbus-codegen
("gobject-introspection" ,gobject-introspection)
("libcap" ,libcap)
diff --git a/gnu/packages/patches/beancount-disable-googleapis-fonts.patch b/gnu/packages/patches/beancount-disable-googleapis-fonts.patch
new file mode 100644
index 0000000000..d0fa47b59c
--- /dev/null
+++ b/gnu/packages/patches/beancount-disable-googleapis-fonts.patch
@@ -0,0 +1,25 @@
+https://sources.debian.org/data/main/b/beancount/2.2.0-3/debian/patches/0001-Remove-fonts.googleapis.com-links-for-the-bean-web-t.patch
+
+From: Nicolas Dandrimont <nicolas@dandrimont.eu>
+Date: Tue, 1 May 2018 04:49:55 +0200
+Subject: Remove fonts.googleapis.com links for the bean-web template
+
+---
+ beancount/web/web.html | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/beancount/web/web.html b/beancount/web/web.html
+index 3995ce2..ec9e707 100644
+--- a/beancount/web/web.html
++++ b/beancount/web/web.html
+@@ -3,10 +3,6 @@
+ <head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+- <link href="https://fonts.googleapis.com/css?family=Roboto+Condensed:400italic,700italic,700,400" rel="stylesheet" type="text/css" />
+- <link href="https://fonts.googleapis.com/css?family=Roboto:400italic,700italic,700,400" rel="stylesheet" type="text/css" />
+- <link href='https://fonts.googleapis.com/css?family=Droid+Sans+Mono' rel='stylesheet' type='text/css' />
+-
+ <link href="/resources/web.css" rel="stylesheet" type="text/css" />
+ <title>{{title}}: {{pagetitle}}</title>
+ \ No newline at end of file
diff --git a/gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch b/gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch
new file mode 100644
index 0000000000..3e48b87935
--- /dev/null
+++ b/gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch
@@ -0,0 +1,22 @@
+This following patch was originally found at the debian mingw-w64 team's
+binutils repo located here:
+https://salsa.debian.org/mingw-w64-team/binutils-mingw-w64.git
+
+Invoke the following in the aforementioned repo to see the original patch:
+
+ $ git show da63f6b:debian/patches/reproducible-import-libraries.patch
+
+Description: Make DLL import libraries reproducible
+Author: Benjamin Moody <benjamin.moody@gmail.com>
+Bug-Debian: https://bugs.debian.org/915055
+
+--- a/ld/pe-dll.c
++++ b/ld/pe-dll.c
+@@ -2844,6 +2844,7 @@
+
+ bfd_set_format (outarch, bfd_archive);
+ outarch->has_armap = 1;
++ outarch->flags |= BFD_DETERMINISTIC_OUTPUT;
+
+ /* Work out a reasonable size of things to put onto one line. */
+ ar_head = make_head (outarch);
diff --git a/gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch b/gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch
new file mode 100644
index 0000000000..b785043b62
--- /dev/null
+++ b/gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch
@@ -0,0 +1,137 @@
+This following patch was originally found at the debian mingw-w64 team's
+binutils repo located here:
+https://salsa.debian.org/mingw-w64-team/binutils-mingw-w64.git
+
+Invoke the following in the aforementioned repo to see the original patch:
+
+ $ git show da63f6b:debian/patches/specify-timestamp.patch
+
+Description: Allow the PE timestamp to be specified
+Author: Stephen Kitt <skitt@debian.org>
+
+--- a/bfd/peXXigen.c
++++ b/bfd/peXXigen.c
+@@ -70,6 +70,9 @@
+ #include <wctype.h>
+ #endif
+
++#include <errno.h>
++#include <limits.h>
++
+ /* NOTE: it's strange to be including an architecture specific header
+ in what's supposed to be general (to PE/PEI) code. However, that's
+ where the definitions are, and they don't vary per architecture
+@@ -879,10 +882,38 @@
+
+ /* Use a real timestamp by default, unless the no-insert-timestamp
+ option was chosen. */
+- if ((pe_data (abfd)->insert_timestamp))
+- H_PUT_32 (abfd, time (0), filehdr_out->f_timdat);
+- else
++ if (pe_data (abfd)->insert_timestamp) {
++ time_t now;
++ char *source_date_epoch;
++ unsigned long long epoch;
++ char *endptr;
++
++ now = time(NULL);
++ source_date_epoch = getenv("SOURCE_DATE_EPOCH");
++ if (source_date_epoch) {
++ errno = 0;
++ epoch = strtoull(source_date_epoch, &endptr, 10);
++ if ((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0))
++ || (errno != 0 && epoch == 0)) {
++ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: strtoull: %s\n",
++ strerror(errno));
++ } else if (endptr == source_date_epoch) {
++ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: No digits were found: %s\n",
++ endptr);
++ } else if (*endptr != '\0') {
++ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: Trailing garbage: %s\n",
++ endptr);
++ } else if (epoch > ULONG_MAX) {
++ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: value must be smaller than or equal to: %lu but was found to be: %llu\n",
++ ULONG_MAX, epoch);
++ } else {
++ now = epoch;
++ }
++ }
++ H_PUT_32 (abfd, now, filehdr_out->f_timdat);
++ } else {
+ H_PUT_32 (abfd, 0, filehdr_out->f_timdat);
++ }
+
+ PUT_FILEHDR_SYMPTR (abfd, filehdr_in->f_symptr,
+ filehdr_out->f_symptr);
+--- a/ld/pe-dll.c
++++ b/ld/pe-dll.c
+@@ -26,6 +26,8 @@
+ #include "filenames.h"
+ #include "safe-ctype.h"
+
++#include <errno.h>
++#include <limits.h>
+ #include <time.h>
+
+ #include "ld.h"
+@@ -1202,8 +1204,36 @@
+
+ memset (edata_d, 0, edata_sz);
+
+- if (pe_data (abfd)->insert_timestamp)
+- H_PUT_32 (abfd, time (0), edata_d + 4);
++ if (pe_data (abfd)->insert_timestamp) {
++ time_t now;
++ char *source_date_epoch;
++ unsigned long long epoch;
++ char *endptr;
++
++ now = time(NULL);
++ source_date_epoch = getenv("SOURCE_DATE_EPOCH");
++ if (source_date_epoch) {
++ errno = 0;
++ epoch = strtoull(source_date_epoch, &endptr, 10);
++ if ((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0))
++ || (errno != 0 && epoch == 0)) {
++ einfo("Environment variable $SOURCE_DATE_EPOCH: strtoull: %s\n",
++ strerror(errno));
++ } else if (endptr == source_date_epoch) {
++ einfo("Environment variable $SOURCE_DATE_EPOCH: No digits were found: %s\n",
++ endptr);
++ } else if (*endptr != '\0') {
++ einfo("Environment variable $SOURCE_DATE_EPOCH: Trailing garbage: %s\n",
++ endptr);
++ } else if (epoch > ULONG_MAX) {
++ einfo("Environment variable $SOURCE_DATE_EPOCH: value must be smaller than or equal to: %lu but was found to be: %llu\n",
++ ULONG_MAX, epoch);
++ } else {
++ now = epoch;
++ }
++ }
++ H_PUT_32 (abfd, now, edata_d + 4);
++ }
+
+ if (pe_def_file->version_major != -1)
+ {
+--- a/ld/emultempl/pe.em
++++ b/ld/emultempl/pe.em
+@@ -303,7 +303,7 @@
+ OPTION_USE_NUL_PREFIXED_IMPORT_TABLES},
+ {"no-leading-underscore", no_argument, NULL, OPTION_NO_LEADING_UNDERSCORE},
+ {"leading-underscore", no_argument, NULL, OPTION_LEADING_UNDERSCORE},
+- {"insert-timestamp", no_argument, NULL, OPTION_INSERT_TIMESTAMP},
++ {"insert-timestamp", optional_argument, NULL, OPTION_INSERT_TIMESTAMP},
+ {"no-insert-timestamp", no_argument, NULL, OPTION_NO_INSERT_TIMESTAMP},
+ #ifdef DLL_SUPPORT
+ /* getopt allows abbreviations, so we do this to stop it
+--- a/ld/emultempl/pep.em
++++ b/ld/emultempl/pep.em
+@@ -321,7 +321,7 @@
+ {"no-bind", no_argument, NULL, OPTION_NO_BIND},
+ {"wdmdriver", no_argument, NULL, OPTION_WDM_DRIVER},
+ {"tsaware", no_argument, NULL, OPTION_TERMINAL_SERVER_AWARE},
+- {"insert-timestamp", no_argument, NULL, OPTION_INSERT_TIMESTAMP},
++ {"insert-timestamp", optional_argument, NULL, OPTION_INSERT_TIMESTAMP},
+ {"no-insert-timestamp", no_argument, NULL, OPTION_NO_INSERT_TIMESTAMP},
+ {"build-id", optional_argument, NULL, OPTION_BUILD_ID},
+ {NULL, no_argument, NULL, 0}
diff --git a/gnu/packages/patches/calibre-msgpack-compat.patch b/gnu/packages/patches/calibre-msgpack-compat.patch
new file mode 100644
index 0000000000..9920103bea
--- /dev/null
+++ b/gnu/packages/patches/calibre-msgpack-compat.patch
@@ -0,0 +1,18 @@
+Fix deserialization with msgpack 1.0.
+
+Patch copied from upstream source repository:
+https://github.com/kovidgoyal/calibre/commit/0ff41ac64994ec11b7859fc004c94d08769e3af3
+
+diff --git a/src/calibre/utils/serialize.py b/src/calibre/utils/serialize.py
+index f5d560c468..c35ae53849 100644
+--- a/src/calibre/utils/serialize.py
++++ b/src/calibre/utils/serialize.py
+@@ -110,7 +110,7 @@ def msgpack_decoder(code, data):
+ def msgpack_loads(dump, use_list=True):
+ # use_list controls whether msgpack arrays are unpacked as lists or tuples
+ import msgpack
+- return msgpack.unpackb(dump, ext_hook=msgpack_decoder, raw=False, use_list=use_list)
++ return msgpack.unpackb(dump, ext_hook=msgpack_decoder, raw=False, use_list=use_list, strict_map_key=False)
+
+
+ def json_loads(data):
diff --git a/gnu/packages/patches/higan-remove-march-native-flag.patch b/gnu/packages/patches/higan-remove-march-native-flag.patch
deleted file mode 100644
index 30d4cdd061..0000000000
--- a/gnu/packages/patches/higan-remove-march-native-flag.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Remove -march=native from build flags.
-
---- a/higan/GNUmakefile
-+++ b/higan/GNUmakefile
-@@ -26,7 +26,6 @@
- flags += -fopenmp
- link += -fopenmp
- ifeq ($(binary),application)
-- flags += -march=native
- link += -Wl,-export-dynamic
- link += -lX11 -lXext
- else ifeq ($(binary),library)
diff --git a/gnu/packages/patches/icecat-makeicecat.patch b/gnu/packages/patches/icecat-makeicecat.patch
index a90d7fdee8..c2c59ec855 100644
--- a/gnu/packages/patches/icecat-makeicecat.patch
+++ b/gnu/packages/patches/icecat-makeicecat.patch
@@ -25,7 +25,7 @@ index 8be2362..48716f2 100755
-wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc
-gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353
-gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
--echo -n 2428213ceb75cb6772b3044d9c14870d1ae5b0161379aeb29248650e13761c9f firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
+-echo -n ad3ea069c3d23aab360ad04ff4d0f5e556d3538f7dd4eae0690c4e9241537570 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
-
-echo Extracting Firefox tarball
-tar -xf firefox-${FFVERSION}esr.source.tar.xz
@@ -37,7 +37,7 @@ index 8be2362..48716f2 100755
+# wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc
+# gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353
+# gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
-+# echo -n 2428213ceb75cb6772b3044d9c14870d1ae5b0161379aeb29248650e13761c9f firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
++# echo -n ad3ea069c3d23aab360ad04ff4d0f5e556d3538f7dd4eae0690c4e9241537570 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
+#
+# echo Extracting Firefox tarball
+# tar -xf firefox-${FFVERSION}esr.source.tar.xz
diff --git a/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch b/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch
new file mode 100644
index 0000000000..32dfd7b856
--- /dev/null
+++ b/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch
@@ -0,0 +1,28 @@
+--- /dev/null
++++ b/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch
+@@ -0,0 +1,22 @@
++Fix one of upstream non-determinism, tracked here:
++
++https://github.com/JuliaLang/julia/issues/34115
++https://github.com/JuliaLang/julia/issues/25900
++
++
++Patch by Nicoló Balzarotti <nicolo@nixo.xyz>.
++
++--- a/base/loading.jl
+++++ b/base/loading.jl
++@@ -807,7 +807,10 @@
++ path = normpath(joinpath(dirname(prev), _path))
++ end
++ if _track_dependencies[]
++- push!(_require_dependencies, (mod, path, mtime(path)))
+++ push!(_require_dependencies,
+++ (mod, path,
+++ haskey(ENV, "SOURCE_DATE_EPOCH") ?
+++ parse(Float64, ENV["SOURCE_DATE_EPOCH"]) : mtime(path)))
++ end
++ return path, prev
++ end
+--
+2.26.0
+
diff --git a/gnu/packages/patches/mediastreamer2-srtp2.patch b/gnu/packages/patches/mediastreamer2-srtp2.patch
new file mode 100644
index 0000000000..f6d494facb
--- /dev/null
+++ b/gnu/packages/patches/mediastreamer2-srtp2.patch
@@ -0,0 +1,155 @@
+From 97903498364ae2596e790cb2c2ce9ac76c04d64a Mon Sep 17 00:00:00 2001
+From: Danmei Chen <danmei.chen@belledonne-communications.com>
+Date: Fri, 19 Jan 2018 10:04:07 +0100
+Subject: [PATCH] add compability with srtp2
+
+---
+ cmake/FindSRTP.cmake | 24 ++++++++++++++++++++----
+ src/CMakeLists.txt | 1 +
+ src/crypto/ms_srtp.c | 10 ++--------
+ src/utils/srtp_prefix.h | 41 +++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 64 insertions(+), 12 deletions(-)
+ create mode 100644 src/utils/srtp_prefix.h
+
+diff --git a/cmake/FindSRTP.cmake b/cmake/FindSRTP.cmake
+index 988b846a..f720ce7e 100644
+--- a/cmake/FindSRTP.cmake
++++ b/cmake/FindSRTP.cmake
+@@ -31,20 +31,36 @@ set(_SRTP_ROOT_PATHS
+ )
+
+ find_path(SRTP_INCLUDE_DIRS
+- NAMES srtp/srtp.h
++ NAMES srtp2/srtp.h
+ HINTS _SRTP_ROOT_PATHS
+ PATH_SUFFIXES include
+ )
+
+ if(SRTP_INCLUDE_DIRS)
+ set(HAVE_SRTP_SRTP_H 1)
+-endif()
+-
+-find_library(SRTP_LIBRARIES
++ set(SRTP_VERSION 2)
++ find_library(SRTP_LIBRARIES
++ NAMES srtp2
++ HINTS ${_SRTP_ROOT_PATHS}
++ PATH_SUFFIXES bin lib
++ )
++else()
++ find_path(SRTP_INCLUDE_DIRS
++ NAMES srtp/srtp.h
++ HINTS _SRTP_ROOT_PATHS
++ PATH_SUFFIXES include
++ )
++ if(SRTP_INCLUDE_DIRS)
++ set(HAVE_SRTP_SRTP_H 1)
++ set(SRTP_VERSION 1)
++ endif()
++ find_library(SRTP_LIBRARIES
+ NAMES srtp
+ HINTS ${_SRTP_ROOT_PATHS}
+ PATH_SUFFIXES bin lib
+ )
++endif()
++
+
+ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(SRTP
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index da429764..c46faa62 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -183,6 +183,7 @@ set(VOIP_SOURCE_FILES_C
+ utils/pcap_sender.c
+ utils/pcap_sender.h
+ utils/stream_regulator.c
++ utils/srtp_prefix.h
+ voip/audioconference.c
+ voip/audiostream.c
+ voip/bandwidthcontroller.c
+diff --git a/src/crypto/ms_srtp.c b/src/crypto/ms_srtp.c
+index 5a510c99..67810316 100644
+--- a/src/crypto/ms_srtp.c
++++ b/src/crypto/ms_srtp.c
+@@ -25,6 +25,7 @@
+ #include "mediastreamer2/ms_srtp.h"
+ #include "mediastreamer2/mediastream.h"
+
++
+ #ifdef HAVE_SRTP
+
+ /*srtp defines all this stuff*/
+@@ -34,13 +35,7 @@
+ #undef PACKAGE_TARNAME
+ #undef PACKAGE_VERSION
+
+-#if defined(MS2_WINDOWS_PHONE)
+-// Windows phone doesn't use make install
+-#include <srtp.h>
+-#else
+-#include <srtp/srtp.h>
+-#endif
+-
++#include "srtp_prefix.h"
+
+ #include "ortp/b64.h"
+
+@@ -352,7 +347,6 @@ int ms_srtp_init(void)
+ srtp_init_done++;
+ }else{
+ ms_fatal("Couldn't initialize SRTP library: %d.", st);
+- err_reporting_init("mediastreamer2");
+ }
+ }else srtp_init_done++;
+ return (int)st;
+diff --git a/src/utils/srtp_prefix.h b/src/utils/srtp_prefix.h
+new file mode 100644
+index 00000000..68bde496
+--- /dev/null
++++ b/src/utils/srtp_prefix.h
+@@ -0,0 +1,41 @@
++/*
++ mediastreamer2 library - modular sound and video processing and streaming
++ Copyright (C) 2006-2014 Belledonne Communications, Grenoble
++
++ This library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ This library 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
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with this library; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++*/
++#ifndef __SRTP2_H__
++#define __SRTP2_H__
++
++#if defined(MS2_WINDOWS_PHONE)
++// Windows phone doesn't use make install
++#include <srtp.h>
++#elif SRTP_VERSION==1
++#include <srtp/srtp.h>
++#else
++#include <srtp2/srtp.h>
++#define err_status_t srtp_err_status_t
++#define err_status_ok srtp_err_status_ok
++#define crypto_policy_t srtp_crypto_policy_t
++#define crypto_policy_set_aes_cm_256_hmac_sha1_80 srtp_crypto_policy_set_aes_cm_256_hmac_sha1_80
++#define crypto_policy_set_aes_cm_128_hmac_sha1_32 srtp_crypto_policy_set_aes_cm_128_hmac_sha1_32
++#define crypto_policy_set_aes_cm_128_null_auth srtp_crypto_policy_set_aes_cm_128_null_auth
++#define crypto_policy_set_null_cipher_hmac_sha1_80 srtp_crypto_policy_set_null_cipher_hmac_sha1_80
++#define crypto_policy_set_aes_cm_128_hmac_sha1_80 srtp_crypto_policy_set_aes_cm_128_hmac_sha1_80
++#define crypto_policy_set_aes_cm_256_hmac_sha1_32 srtp_crypto_policy_set_aes_cm_256_hmac_sha1_32
++#define ssrc_t srtp_ssrc_t
++#endif
++
++#endif
+--
+2.21.0
+
diff --git a/gnu/packages/patches/mingw-w64-dlltool-temp-prefix.patch b/gnu/packages/patches/mingw-w64-dlltool-temp-prefix.patch
new file mode 100644
index 0000000000..432cafc162
--- /dev/null
+++ b/gnu/packages/patches/mingw-w64-dlltool-temp-prefix.patch
@@ -0,0 +1,26 @@
+This following patch was originally found at the debian mingw-w64 team's
+mingw-w64 repo located here:
+https://salsa.debian.org/mingw-w64-team/mingw-w64.git
+
+Invoke the following in the aforementioned repo to see the original patch:
+
+ $ git show 4974e2c:debian/patches/dlltool-temp-prefix.patch
+
+Description: Specify dlltool's temp prefix
+Author: Stephen Kitt <steve@sk2.org>
+
+By default dlltool uses its pid for the object files it generates.
+Enforcing its temp prefix allows the files it generates to be
+reproducible.
+
+--- a/mingw-w64-crt/Makefile.am
++++ b/mingw-w64-crt/Makefile.am
+@@ -36,7 +36,7 @@
+ DTDEF32=$(GENLIB) $(DLLTOOLFLAGS32) $(AM_DLLTOOLFLAGS)
+ DTDEF64=$(GENLIB) $(DLLTOOLFLAGS64) $(AM_DLLTOOLFLAGS)
+ else
+- AM_DLLTOOLFLAGS=-k --as=$(AS) --output-lib $@
++ AM_DLLTOOLFLAGS=-k --as=$(AS) --output-lib $@ --temp-prefix $$(basename $@ .a)
+ DLLTOOLFLAGSARM32=-m arm
+ DLLTOOLFLAGSARM64=-m arm64
+ DLLTOOLFLAGS32=--as-flags=--32 -m i386
diff --git a/gnu/packages/patches/mingw-w64-reproducible-gendef.patch b/gnu/packages/patches/mingw-w64-reproducible-gendef.patch
new file mode 100644
index 0000000000..ee676af7a0
--- /dev/null
+++ b/gnu/packages/patches/mingw-w64-reproducible-gendef.patch
@@ -0,0 +1,23 @@
+This following patch was originally found at the debian mingw-w64 team's
+mingw-w64 repo located here:
+https://salsa.debian.org/mingw-w64-team/mingw-w64.git
+
+Invoke the following in the aforementioned repo to see the original patch:
+
+ $ git show 4974e2c:debian/patches/reproducible-gendef.patch
+
+Description: Drop __DATE__ from gendef
+Author: Stephen Kitt <skitt@debian.org>
+
+This allows gendef to be built reproducibly.
+
+--- a/mingw-w64-tools/gendef/src/gendef.c
++++ b/mingw-w64-tools/gendef/src/gendef.c
+@@ -196,7 +196,6 @@
+ " By default, the output files are named after their DLL counterparts\n"
+ " gendef MYDLL.DLL Produces MYDLL.def\n"
+ " gendef - MYDLL.DLL Prints the exports to stdout\n");
+- fprintf (stderr, "\nBuilt on %s\n", __DATE__);
+ fprintf (stderr, "\nReport bugs to <mingw-w64-public@lists.sourceforge.net>\n");
+ exit (0);
+ }
diff --git a/gnu/packages/patches/pam-krb5-CVE-2020-10595.patch b/gnu/packages/patches/pam-krb5-CVE-2020-10595.patch
new file mode 100644
index 0000000000..4ca061230f
--- /dev/null
+++ b/gnu/packages/patches/pam-krb5-CVE-2020-10595.patch
@@ -0,0 +1,42 @@
+Fix CVE-2020-10595:
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10595
+
+Patch copied from upstream advisory:
+
+https://seclists.org/oss-sec/2020/q1/128
+
+diff --git a/prompting.c b/prompting.c
+index e985d95..d81054f 100644
+--- a/prompting.c
++++ b/prompting.c
+@@ -314,26 +314,27 @@ pamk5_prompter_krb5(krb5_context context UNUSED, void *data, const char *name,
+ /*
+ * Reuse pam_prompts as a starting index and copy the data into the reply
+ * area of the krb5_prompt structs.
+ */
+ pam_prompts = 0;
+ if (name != NULL && !args->silent)
+ pam_prompts++;
+ if (banner != NULL && !args->silent)
+ pam_prompts++;
+ for (i = 0; i < num_prompts; i++, pam_prompts++) {
+- size_t len;
++ size_t len, allowed;
+
+ if (resp[pam_prompts].resp == NULL)
+ goto cleanup;
+ len = strlen(resp[pam_prompts].resp);
+- if (len > prompts[i].reply->length)
++ allowed = prompts[i].reply->length;
++ if (allowed == 0 || len > allowed - 1)
+ goto cleanup;
+
+ /*
+ * The trailing nul is not included in length, but other applications
+ * expect it to be there. Therefore, we copy one more byte than the
+ * actual length of the password, but set length to just the length of
+ * the password.
+ */
+ memcpy(prompts[i].reply->data, resp[pam_prompts].resp, len + 1);
+ prompts[i].reply->length = (unsigned int) len;
diff --git a/gnu/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch b/gnu/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch
new file mode 100644
index 0000000000..6cdddefd50
--- /dev/null
+++ b/gnu/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch
@@ -0,0 +1,34 @@
+Do not fail test on runtime warning like: RuntimeWarning: coroutine 'noop2' was
+never awaited. This could be related to
+https://github.com/aio-libs/aiohttp/commit/60f01cca36b9f9d8d35dd351384eaae2f8fd0d4b,
+which does not fix this issue though.
+
+--- a/aiohttp/pytest_plugin.py 2019-10-09 18:52:31.000000000 +0200
++++ b/aiohttp/pytest_plugin.py 2020-03-05 08:35:48.230396025 +0100
+@@ -120,15 +120,6 @@
+ """
+ with warnings.catch_warnings(record=True) as _warnings:
+ yield
+- rw = ['{w.filename}:{w.lineno}:{w.message}'.format(w=w)
+- for w in _warnings # type: ignore
+- if w.category == RuntimeWarning]
+- if rw:
+- raise RuntimeError('{} Runtime Warning{},\n{}'.format(
+- len(rw),
+- '' if len(rw) == 1 else 's',
+- '\n'.join(rw)
+- ))
+
+
+ @contextlib.contextmanager
+--- a/tests/test_pytest_plugin.py 2020-03-05 09:26:58.502284893 +0100
++++ a/tests/test_pytest_plugin.py 2020-03-05 09:27:06.074284619 +0100
+@@ -170,7 +170,7 @@
+ expected_outcomes = (
+ {'failed': 0, 'passed': 2}
+ if IS_PYPY and bool(os.environ.get('PYTHONASYNCIODEBUG'))
+- else {'failed': 1, 'passed': 1}
++ else {'failed': 0, 'passed': 2}
+ )
+ """Under PyPy "coroutine 'foobar' was never awaited" does not happen."""
+ result.assert_outcomes(**expected_outcomes)
diff --git a/gnu/packages/patches/reprotest-support-guix.patch b/gnu/packages/patches/reprotest-support-guix.patch
deleted file mode 100644
index 621c4e3359..0000000000
--- a/gnu/packages/patches/reprotest-support-guix.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 31bd4fe777cbff3ebca74115e5735a8b8f584fa7 Mon Sep 17 00:00:00 2001
-From: Vagrant Cascadian <vagrant@reproducible-builds.org>
-Date: Thu, 6 Feb 2020 23:17:58 -0800
-Subject: [PATCH] Add support for GNU Guix.
-
----
- reprotest/lib/adt_testbed.py | 2 ++
- reprotest/lib/system_interface/guix.py | 39 ++++++++++++++++++++++++++
- 2 files changed, 41 insertions(+)
- create mode 100644 reprotest/lib/system_interface/guix.py
-
-diff --git a/reprotest/lib/adt_testbed.py b/reprotest/lib/adt_testbed.py
-index ef704d6..60bf763 100644
---- a/reprotest/lib/adt_testbed.py
-+++ b/reprotest/lib/adt_testbed.py
-@@ -40,6 +40,7 @@ import urllib.parse
- from reprotest.lib.system_interface.debian import DebianInterface
- from reprotest.lib.system_interface.arch import ArchInterface
- from reprotest.lib.system_interface.fedora import FedoraInterface
-+from reprotest.lib.system_interface.guix import GuixInterface
- from reprotest.lib import adtlog
- from reprotest.lib import VirtSubproc
-
-@@ -47,6 +48,7 @@ SYSTEM_INTERFACES = {
- 'debian': DebianInterface,
- 'arch': ArchInterface,
- 'fedora': FedoraInterface,
-+ 'guix': GuixInterface,
- }
-
- timeouts = {
-diff --git a/reprotest/lib/system_interface/guix.py b/reprotest/lib/system_interface/guix.py
-new file mode 100644
-index 0000000..2b06104
---- /dev/null
-+++ b/reprotest/lib/system_interface/guix.py
-@@ -0,0 +1,39 @@
-+# adt_testbed.py is part of autopkgtest
-+# autopkgtest is a tool for testing Debian binary packages. The
-+# system_interface module is an addition for reprotest to make
-+# this module distro-agnostic
-+#
-+# autopkgtest is Copyright (C) 2006-2015 Canonical Ltd.
-+# the system_interface module is Copyright (C) 2017 Santiago Torres-Arias
-+#
-+# This program 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 2 of the License, or
-+# (at your option) any later version.
-+#
-+# This program 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 this program; if not, write to the Free Software
-+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-+#
-+# See the file CREDITS for a full list of credits information (often
-+# installed as /usr/share/doc/autopkgtest/CREDITS).
-+import subprocess
-+
-+from . import SystemInterface
-+
-+class GuixInterface(SystemInterface):
-+ """
-+ SystemInterface implementation for GNU Guix hosts. Contains commands that
-+ are specific to the GNU Guix toolchain.
-+ """
-+
-+ def get_arch(self):
-+ return ['uname', '-m']
-+
-+ def can_query_packages(self):
-+ return False
---
-2.20.1
-
diff --git a/gnu/packages/patches/sdl2-mesa-compat.patch b/gnu/packages/patches/sdl2-mesa-compat.patch
deleted file mode 100644
index 8182e582e7..0000000000
--- a/gnu/packages/patches/sdl2-mesa-compat.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Do not include GLES header when OpenGL headers are already included.
-
-Taken from upstream:
-https://hg.libsdl.org/SDL/rev/369b01006eb2
-
-diff -r 4cbaffd0083b -r 369b01006eb2 src/video/SDL_video.c
---- a/src/video/SDL_video.c Fri Oct 11 06:18:24 2019 +0200
-+++ b/src/video/SDL_video.c Sat Oct 12 18:47:56 2019 +0200
-@@ -37,9 +37,9 @@
- #include "SDL_opengl.h"
- #endif /* SDL_VIDEO_OPENGL */
-
--#if SDL_VIDEO_OPENGL_ES
-+#if SDL_VIDEO_OPENGL_ES && !SDL_VIDEO_OPENGL
- #include "SDL_opengles.h"
--#endif /* SDL_VIDEO_OPENGL_ES */
-+#endif /* SDL_VIDEO_OPENGL_ES && !SDL_VIDEO_OPENGL */
-
- /* GL and GLES2 headers conflict on Linux 32 bits */
- #if SDL_VIDEO_OPENGL_ES2 && !SDL_VIDEO_OPENGL
-
diff --git a/gnu/packages/patches/xplanet-1.3.1-cxx11-eof.patch b/gnu/packages/patches/xplanet-1.3.1-cxx11-eof.patch
new file mode 100644
index 0000000000..b4d5850f75
--- /dev/null
+++ b/gnu/packages/patches/xplanet-1.3.1-cxx11-eof.patch
@@ -0,0 +1,154 @@
+Author: Eric Bavier Date: 2020-01-13
+Url: https://notabug.org/bavier/guix-bavier/raw/master/bavier/patches/
++xplanet-cxx11-eof.patch
+
+diff --git a/src/libannotate/addArcs.cpp b/src/libannotate/addArcs.cpp
+index 2ee06c0..4fdb343 100644
+--- a/src/libannotate/addArcs.cpp
++++ b/src/libannotate/addArcs.cpp
+@@ -258,7 +258,7 @@ addArcs(PlanetProperties *planetProperties, Planet *planet,
+ {
+ ifstream inFile(arcFile.c_str());
+ char *line = new char[MAX_LINE_LENGTH];
+- while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (!inFile.getline (line, MAX_LINE_LENGTH, '\n').eof())
+ readArcFile(line, planet, view, projection,
+ planetProperties, annotationMap);
+
+@@ -292,7 +292,7 @@ addArcs(View *view, multimap<double, Annotation *> &annotationMap)
+ {
+ ifstream inFile(arcFile.c_str());
+ char *line = new char[256];
+- while (inFile.getline (line, 256, '\n') != NULL)
++ while (!inFile.getline (line, 256, '\n').eof())
+ readArcFile(line, NULL, view, NULL, NULL, annotationMap);
+
+ inFile.close();
+diff --git a/src/libannotate/addMarkers.cpp b/src/libannotate/addMarkers.cpp
+index dde51c1..b641e6a 100644
+--- a/src/libannotate/addMarkers.cpp
++++ b/src/libannotate/addMarkers.cpp
+@@ -429,7 +429,7 @@ addMarkers(PlanetProperties *planetProperties, Planet *planet,
+ {
+ ifstream inFile(markerFile.c_str());
+ char *line = new char[MAX_LINE_LENGTH];
+- while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (!inFile.getline (line, MAX_LINE_LENGTH, '\n').eof())
+ {
+ unsigned char color[3];
+ memcpy(color, planetProperties->MarkerColor(), 3);
+@@ -475,7 +475,7 @@ addMarkers(View *view, const int width, const int height,
+ {
+ ifstream inFile(markerFile.c_str());
+ char *line = new char[MAX_LINE_LENGTH];
+- while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (!inFile.getline (line, MAX_LINE_LENGTH, '\n').eof())
+ {
+ unsigned char color[3];
+ memcpy(color, options->Color(), 3);
+diff --git a/src/libannotate/addSatellites.cpp b/src/libannotate/addSatellites.cpp
+index 2634339..6d9d378 100644
+--- a/src/libannotate/addSatellites.cpp
++++ b/src/libannotate/addSatellites.cpp
+@@ -488,10 +488,10 @@ loadSatelliteVector(PlanetProperties *planetProperties)
+ {
+ ifstream inFile(tleFile.c_str());
+ char lines[3][80];
+- while (inFile.getline(lines[0], 80) != NULL)
++ while (!inFile.getline(lines[0], 80).eof())
+ {
+- if ((inFile.getline(lines[1], 80) == NULL)
+- || (inFile.getline(lines[2], 80) == NULL))
++ if ((inFile.getline(lines[1], 80).eof())
++ || (inFile.getline(lines[2], 80).eof()))
+ {
+ ostringstream errStr;
+ errStr << "Malformed TLE file (" << tleFile << ")?\n";
+@@ -542,7 +542,7 @@ addSatellites(PlanetProperties *planetProperties, Planet *planet,
+ {
+ ifstream inFile(satFile.c_str());
+ char *line = new char[MAX_LINE_LENGTH];
+- while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (!inFile.getline (line, MAX_LINE_LENGTH, '\n').eof())
+ readSatelliteFile(line, planet, view, projection,
+ planetProperties, annotationMap);
+
+diff --git a/src/libannotate/addSpiceObjects.cpp b/src/libannotate/addSpiceObjects.cpp
+index 67b752c..eeadf6e 100644
+--- a/src/libannotate/addSpiceObjects.cpp
++++ b/src/libannotate/addSpiceObjects.cpp
+@@ -524,7 +524,7 @@ processSpiceKernels(const bool load)
+ {
+ ifstream inFile(kernelFile.c_str());
+ char *line = new char[MAX_LINE_LENGTH];
+- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof())
+ {
+ int ii = 0;
+ while (isDelimiter(line[ii]))
+@@ -576,7 +576,7 @@ addSpiceObjects(map<double, Planet *> &planetsFromSunMap,
+ {
+ ifstream inFile(spiceFile.c_str());
+ char *line = new char[MAX_LINE_LENGTH];
+- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof())
+ readSpiceFile(line, planetsFromSunMap, view, projection,
+ annotationMap);
+ inFile.close();
+diff --git a/src/libmultiple/RayleighScattering.cpp b/src/libmultiple/RayleighScattering.cpp
+index d885173..1be8ece 100644
+--- a/src/libmultiple/RayleighScattering.cpp
++++ b/src/libmultiple/RayleighScattering.cpp
+@@ -369,7 +369,7 @@ RayleighScattering::readConfigFile(string configFile)
+
+ diskTemplate_.clear();
+ limbTemplate_.clear();
+- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof())
+ {
+ int i = 0;
+ while (isDelimiter(line[i]))
+@@ -439,7 +439,7 @@ RayleighScattering::readBlock(ifstream &inFile,
+ values.clear();
+
+ char line[MAX_LINE_LENGTH];
+- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof())
+ {
+ int i = 0;
+ while (isDelimiter(line[i]))
+@@ -470,7 +470,7 @@ RayleighScattering::readValue(ifstream &inFile,
+ double &value)
+ {
+ char line[MAX_LINE_LENGTH];
+- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof())
+ {
+ int i = 0;
+ while (isDelimiter(line[i]))
+diff --git a/src/libmultiple/drawStars.cpp b/src/libmultiple/drawStars.cpp
+index ff07c49..aabdfed 100644
+--- a/src/libmultiple/drawStars.cpp
++++ b/src/libmultiple/drawStars.cpp
+@@ -41,7 +41,7 @@ drawStars(DisplayBase *display, View *view)
+ ifstream inFile(starMap.c_str());
+
+ char line[MAX_LINE_LENGTH];
+- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof())
+ {
+ if (line[0] == '#') continue;
+
+diff --git a/src/readConfig.cpp b/src/readConfig.cpp
+index cc1964f..4650527 100644
+--- a/src/readConfig.cpp
++++ b/src/readConfig.cpp
+@@ -550,7 +550,7 @@ readConfigFile(string configFile, PlanetProperties *planetProperties[])
+
+ ifstream inFile(configFile.c_str());
+ char *line = new char[256];
+- while (inFile.getline(line, 256, '\n') != NULL)
++ while (!inFile.getline(line, 256, '\n').eof())
+ readConfig(line, planetProperties);
+
+ // This condition will only be true if [default] is the only
diff --git a/gnu/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch b/gnu/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch
new file mode 100644
index 0000000000..bf52b0ca27
--- /dev/null
+++ b/gnu/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch
@@ -0,0 +1,16 @@
+Origin: $NetBSD: patch-src_libdisplay_DisplayOutput.cpp,v 1.1 2019/11/16 17:36:28 ng0 Exp $
+
+Modified by: R Veera Kumar <vkor@vkten.in> 2020-03-28; change to patch -p1
+
+diff -uNr xplanet-1.3.1/src/libdisplay/DisplayOutput.cpp xplanet-1.3.1.new/src/libdisplay/DisplayOutput.cpp
+--- xplanet-1.3.1/src/libdisplay/DisplayOutput.cpp 2013-02-17 01:07:47.000000000 +0530
++++ xplanet-1.3.1.new/src/libdisplay/DisplayOutput.cpp 2020-03-28 22:08:44.432499170 +0530
+@@ -51,7 +51,7 @@
+ string outputFilename = options->OutputBase();
+ int startIndex = options->OutputStartIndex();
+ int stopIndex = options->NumTimes() + startIndex - 1;
+- if (stopIndex > 1)
++ if (stopIndex > 0)
+ {
+ const int digits = (int) (log10((double) stopIndex) + 1);
+ char buffer[64];
diff --git a/gnu/packages/patches/xplanet-1.3.1-libimage_gif.c.patch b/gnu/packages/patches/xplanet-1.3.1-libimage_gif.c.patch
new file mode 100644
index 0000000000..58efc906dc
--- /dev/null
+++ b/gnu/packages/patches/xplanet-1.3.1-libimage_gif.c.patch
@@ -0,0 +1,54 @@
+Origin: $NetBSD: patch-src_libimage_gif.c,v 1.4 2019/11/16 17:36:28 ng0 Exp $
+
+Modified by: R Veera Kumar <vkor@vkten.in> 2020-03-28; change to patch -p1
+
+diff -uNr xplanet-1.3.1/src/libimage/gif.c xplanet-1.3.1.new/src/libimage/gif.c
+--- xplanet-1.3.1/src/libimage/gif.c 2013-02-17 01:07:47.000000000 +0530
++++ xplanet-1.3.1.new/src/libimage/gif.c 2020-03-28 22:15:24.444309199 +0530
+@@ -21,7 +21,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+-
++#include <stdbool.h>
+ #include <gif_lib.h>
+
+ /*
+@@ -178,8 +178,12 @@
+ *BufferP++ = ColorMapEntry->Blue;
+ }
+ }
+-
++
++#if GIFLIB_MAJOR >= 5
++ if (DGifCloseFile(GifFile, NULL) == GIF_ERROR) {
++#else
+ if (DGifCloseFile(GifFile) == GIF_ERROR) {
++#endif
+ return(0);
+ }
+
+@@ -493,7 +497,11 @@
+ static void QuitGifError(GifFileType *GifFile)
+ {
+ fprintf(stderr, "Error writing GIF file\n");
++#if GIFLIB_MAJOR >= 5
++ if (GifFile != NULL) EGifCloseFile(GifFile, NULL);
++#else
+ if (GifFile != NULL) EGifCloseFile(GifFile);
++#endif
+ }
+
+ int
+@@ -589,7 +597,11 @@
+ Ptr += width;
+ }
+
++#if GIFLIB_MAJOR >= 5
++ if (EGifCloseFile(GifFile, NULL) == GIF_ERROR)
++#else
+ if (EGifCloseFile(GifFile) == GIF_ERROR)
++#endif
+
+ {
+ QuitGifError(GifFile);
diff --git a/gnu/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch b/gnu/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch
new file mode 100644
index 0000000000..a47623fa00
--- /dev/null
+++ b/gnu/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_xpUtil-Add2017LeapSecond.cpp,v 1.1 2019/11/16 17:36:28 ng0 Exp $
+
+Modified by: R Veera Kumar <vkor@vkten.in> 2020-03-28; change to patch -p1
+
+diff -uNr xplanet-1.3.1/src/xpUtil.cpp xplanet-1.3.1.new/src/xpUtil.cpp
+--- xplanet-1.3.1/src/xpUtil.cpp 2016-03-12 08:36:47.000000000 +0530
++++ xplanet-1.3.1.new/src/xpUtil.cpp 2020-03-28 22:19:10.629891166 +0530
+@@ -434,6 +434,7 @@
+ if (jd >= toJulian(2009, 1, 1, 0, 0, 0)) delta_at++; // 34
+ if (jd >= toJulian(2012, 7, 1, 0, 0, 0)) delta_at++; // 35
+ if (jd >= toJulian(2015, 7, 1, 0, 0, 0)) delta_at++; // 36
++ if (jd >= toJulian(2017, 1, 1, 0, 0, 0)) delta_at++; // 37
+
+ const double J2000 = toJulian(2000, 1, 1, 12, 0, 0);
+ const double m = m0 + m1 * (jd - J2000) * 86400;
diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm
index e01ebe72ec..0c46a62bf7 100644
--- a/gnu/packages/patchutils.scm
+++ b/gnu/packages/patchutils.scm
@@ -111,7 +111,7 @@ listing the files modified by a patch.")
(base32 "01vfvk4pqigahx82fhaaffg921ivd3k7rylz1yfvy4zbdyd32jri"))))
(build-system gnu-build-system)
(native-inputs
- `(("gettext" ,gnu-gettext)))
+ `(("gettext" ,gettext-minimal)))
(inputs `(("perl" ,perl)
("less" ,less)
("file" ,file)
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 590945caff..1d1b73f897 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -62,7 +62,8 @@
#:use-module (gnu packages perl-web)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages readline)
- #:use-module (gnu packages textutils))
+ #:use-module (gnu packages textutils)
+ #:use-module (gnu packages web))
;;;
;;; Please: Try to add new module packages in alphabetic order.
@@ -354,6 +355,37 @@ of general interest as follows:
@end itemize")
(license (package-license perl))))
+(define-public perl-authen-dechpwd
+ (package
+ (name "perl-authen-dechpwd")
+ (version "2.007")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Authen-DecHpwd-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0xzind7zr2prjq3zbs2j18snfpshd4xrd7igv4kp67xl0axr6fpl"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-test-pod" ,perl-test-pod)
+ ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
+ (propagated-inputs
+ `(("perl-data-integer" ,perl-data-integer)
+ ("perl-digest-crc" ,perl-digest-crc)
+ ("perl-scalar-string" ,perl-scalar-string)))
+ (home-page "https://metacpan.org/release/Authen-DecHpwd")
+ (synopsis "DEC VMS password hashing")
+ (description "@code{Authen::DecHpwd} implements the
+SYS$HASH_PASSWORD password hashing function from VMS (also known as
+LGI$HPWD) and some associated VMS username and password handling
+functions. The password hashing function is implemented in XS with a
+pure Perl backup version for systems that cannot handle XS.")
+ (license gpl2+)))
+
(define-public perl-autovivification
(package
(name "perl-autovivification")
@@ -1297,6 +1329,34 @@ that original method. @code{around} is run in place of the original method,
with a hook to easily call that original method.")
(license (package-license perl))))
+(define-public perl-class-mix
+ (package
+ (name "perl-class-mix")
+ (version "0.006")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Class-Mix-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "02vwzzqn1s24g525arbrjh9s9j0y1inp3wbr972gh51ri51zciw7"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-test-pod" ,perl-test-pod)
+ ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
+ (propagated-inputs
+ `(("perl-params-classify" ,perl-params-classify)))
+ (home-page "https://metacpan.org/release/Class-Mix")
+ (synopsis "Dynamic class mixing")
+ (description "The @code{mix_class} function provided by this
+module dynamically generates anonymous classes with specified
+inheritance. This is useful where an incomplete class requires use of
+a mixin in order to become instantiable.")
+ (license perl-license)))
+
(define-public perl-class-singleton
(package
(name "perl-class-singleton")
@@ -1789,6 +1849,40 @@ CPAN::Meta object are present.")
versa.")
(license (package-license perl))))
+(define-public perl-crypt-eksblowfish
+ (package
+ (name "perl-crypt-eksblowfish")
+ (version "0.009")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Crypt-Eksblowfish-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0k01aw3qb2s4m1w4dqsc9cycyry1zg3wabdym4vp4421b1ni5irw"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-test-pod" ,perl-test-pod)
+ ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
+ (propagated-inputs
+ `(("perl-class-mix" ,perl-class-mix)))
+ (home-page "https://metacpan.org/release/Crypt-Eksblowfish")
+ (synopsis "The Eksblowfish block cipher")
+ (description "Eksblowfish is a variant of the Blowfish cipher,
+modified to make the key setup very expensive. This doesn't make it
+significantly cryptographically stronger but is intended to hinder
+brute-force attacks. Eksblowfish is a parameterised (family-keyed)
+cipher. It takes a cost parameter that controls how expensive the key
+scheduling is. It also takes a family key, known as the \"salt\".
+Cost and salt parameters together define a cipher family. Within each
+family, the key determines the encryption function. This distribution
+also includes an implementation of @code{bcrypt}, the Unix crypt()
+password hashing algorithm based on Eksblowfish.")
+ (license perl-license)))
+
(define-public perl-crypt-randpasswd
(package
(name "perl-crypt-randpasswd")
@@ -1813,6 +1907,36 @@ contained in Appendix A of FIPS Publication 181, \"Standard for Automated
Password Generator\".")
(license (package-license perl))))
+(define-public perl-crypt-rijndael
+ (package
+ (name "perl-crypt-rijndael")
+ (version "1.14")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/L/LE/LEONT/Crypt-Rijndael-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "03l5nwq97a8q9na4dpd4m3r7vrwpranx225vw8xm40w7zvgw6lb4"))))
+ (build-system perl-build-system)
+ (home-page "https://metacpan.org/release/Crypt-Rijndael")
+ (synopsis "Crypt::CBC compliant Rijndael encryption module")
+ (description "This module implements the Rijndael cipher which has
+been selected as the Advanced Encryption Standard. The keysize for
+Rijndael is 32 bytes. The blocksize is 16 bytes (128 bits). The
+supported encryption modes are:
+
+@itemize
+@item @code{MODE_CBC}---Cipher Block Chaining
+@item @code{MODE_CFB}---Cipher feedback
+@item @code{MODE_CTR}---Counter mode
+@item @code{MODE_ECB}---Electronic cookbook mode
+@item @code{MODE_OFB}---Output feedback
+@end itemize")
+ (license gpl3)))
+
(define-public perl-crypt-rc4
(package
(name "perl-crypt-rc4")
@@ -1947,6 +2071,71 @@ input.")
they are copies of each other.")
(license (package-license perl))))
+(define-public perl-data-entropy
+ (package
+ (name "perl-data-entropy")
+ (version "0.007")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Data-Entropy-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1r176jjzir2zg5kidx85f7vzi6jsw7ci9vd4kvbr9183lfhw8496"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-test-pod" ,perl-test-pod)
+ ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
+ (propagated-inputs
+ `(("perl-crypt-rijndael" ,perl-crypt-rijndael)
+ ("perl-data-float" ,perl-data-float)
+ ("perl-http-lite" ,perl-http-lite)
+ ("perl-params-classify" ,perl-params-classify)))
+ (home-page "https://metacpan.org/release/Data-Entropy")
+ (synopsis "Entropy (randomness) management")
+ (description "@code{Data::Entropy} provides modules relating to
+the generation and use of entropy. The Data::Entropy::Source class
+manages the entropy coming from a particular source. This class acts
+as a layer over a raw entropy source, which may be a normal I/O handle
+or a special-purpose class. The Data::Entropy::RawSource::* classes
+provide fundamental sources of entropy. The sources specially
+supported are an OS-supplied entropy collector, downloads from servers
+on the Internet, and cryptographic fake entropy. The
+Data::Entropy::Algorithms module contains a collection of fundamental
+algorithms that use entropy. There are random number generators and
+functions to shuffle arrays.")
+ (license perl-license)))
+
+(define-public perl-data-integer
+ (package
+ (name "perl-data-integer")
+ (version "0.006")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Data-Integer-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0m53zxhx9sn49yqh7azlpyy9m65g54v8cd2ha98y77337gg7xdv3"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-test-pod" ,perl-test-pod)
+ ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
+ (home-page "https://metacpan.org/release/Data-Integer")
+ (synopsis "Details of the native integer data type")
+ (description "This module is about the native integer numerical
+data type. A native integer is one of the types of datum that can
+appear in the numeric part of a Perl scalar. This module supplies
+constants describing the native integer type. Both signed and
+unsigned representations are handled.")
+ (license perl-license)))
+
(define-public perl-data-uniqid
(package
(name "perl-data-uniqid")
@@ -2027,6 +2216,34 @@ statement. It handles self-referential structures correctly.")
indentation and newlines plus sub deparsing.")
(license (package-license perl))))
+(define-public perl-data-float
+ (package
+ (name "perl-data-float")
+ (version "0.013")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Data-Float-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "12ji4yf3nc965rqqgfhr96w7irpm6n1g15nivfxvhc49hlym5cg2"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-test-pod" ,perl-test-pod)
+ ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
+ (home-page "https://metacpan.org/release/Data-Float")
+ (synopsis "Details of the floating point data type")
+ (description "@code{Data::Float} is about the native floating
+point numerical data type. A floating point number is one of the
+types of datum that can appear in the numeric part of a Perl scalar.
+This module supplies constants describing the native floating point
+type, classification functions and functions to manipulate floating
+point values at a low level.")
+ (license perl-license)))
+
(define-public perl-data-optlist
(package
(name "perl-data-optlist")
@@ -2815,6 +3032,39 @@ format of RSS 1.0. It can be used to parse these formats in order to create
the appropriate objects.")
(license (package-license perl))))
+(define-public perl-devel-callchecker
+ (package
+ (name "perl-devel-callchecker")
+ (version "0.008")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Devel-CallChecker-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1p0ij2k2i81zhl7064h9ghld1w5xy2zsbghkpdzm2hjryl5lwn2x"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-test-pod" ,perl-test-pod)
+ ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
+ (propagated-inputs
+ `(("perl-b-hooks-op-check" ,perl-b-hooks-op-check)
+ ("perl-dynaloader-functions" ,perl-dynaloader-functions)))
+ (home-page "https://metacpan.org/release/Devel-CallChecker")
+ (synopsis "Custom op checking attached to subroutines")
+ (description "This module makes some new features of the Perl
+5.14.0 C API available to XS modules running on older versions of
+Perl. The features are centred around the function
+@code{cv_set_call_checker}, which allows XS code to attach a magical
+annotation to a Perl subroutine, resulting in resolvable calls to that
+subroutine being mutated at compile time by arbitrary C code. This
+module makes @code{cv_set_call_checker} and several supporting
+functions available.")
+ (license perl-license)))
+
(define-public perl-devel-caller
(package
(name "perl-devel-caller")
@@ -3123,6 +3373,27 @@ each stack frame.")
(description "Devel::Symdump provides access to the perl symbol table.")
(license (package-license perl))))
+(define-public perl-digest-crc
+ (package
+ (name "perl-digest-crc")
+ (version "0.22")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/O/OL/OLIMAUL/Digest-CRC-"
+ version ".2.tar.gz"))
+ (sha256
+ (base32
+ "1jvqcyrbi11cj3vlfc9sq2g6rv9caizyjkjqsksvmxn6zgvm0aqi"))))
+ (build-system perl-build-system)
+ (home-page "https://metacpan.org/release/Digest-CRC")
+ (synopsis "Generic CRC functions")
+ (description "The @code{Digest::CRC} module calculates CRC sums of
+all sorts. It contains wrapper functions with the correct parameters
+for CRC-CCITT, CRC-16 and CRC-32.")
+ (license public-domain)))
+
(define-public perl-digest-hmac
(package
(name "perl-digest-hmac")
@@ -3212,6 +3483,32 @@ SHA-1 message digest algorithm for use by Perl programs.")
modules separately and deal with them after the module is done installing.")
(license (package-license perl))))
+(define-public perl-dynaloader-functions
+ (package
+ (name "perl-dynaloader-functions")
+ (version "0.003")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/Z/ZE/ZEFRAM/DynaLoader-Functions-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "10x13q920j9kid7vmbj6fiaz153042dy4mwdmpzrdrxw2ir39ciy"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-test-pod" ,perl-test-pod)
+ ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
+ (home-page "https://metacpan.org/release/DynaLoader-Functions")
+ (synopsis "Deconstructed dynamic C library loading")
+ (description "This module provides a function-based interface to
+dynamic loading as used by Perl. Some details of dynamic loading are
+very platform-dependent, so correct use of these functions requires
+the programmer to be mindfulof the space of platform variations.")
+ (license perl-license)))
+
(define-public perl-encode-detect
(package
(name "perl-encode-detect")
@@ -7251,6 +7548,40 @@ operations that can be done in parallel where the number of
processes to be forked off should be limited.")
(license (package-license perl))))
+(define-public perl-params-classify
+ (package
+ (name "perl-params-classify")
+ (version "0.015")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Params-Classify-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "052r198xyrsv8wz21gijdigz2cgnidsa37nvyfzdiz4rv1fc33ir"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-test-pod" ,perl-test-pod)
+ ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
+ (propagated-inputs
+ `(("perl-devel-callchecker" ,perl-devel-callchecker)))
+ (home-page "https://metacpan.org/release/Params-Classify")
+ (synopsis "Argument type classification")
+ (description "This module provides various type-testing functions.
+These are intended for functions that care what type of data they are
+operating on. There are two flavours of function. Functions of the
+first flavour provide type classification only. Functions of the
+second flavour also check that an argument is of an expected type.
+The type enforcement functions handle only the simplest requirements
+for arguments of the types handled by the classification functions.
+Enforcement of more complex types may be built using the
+classification functions, or it may be more convenient to use a module
+designed for the more complex job, such as @code{Params::Validate}")
+ (license perl-license)))
+
(define-public perl-params-util
(package
(name "perl-params-util")
@@ -7752,6 +8083,37 @@ and @code{deserialize_regexp}.")
safely on things that may not be objects.")
(license (package-license perl))))
+(define-public perl-scalar-string
+ (package
+ (name "perl-scalar-string")
+ (version "0.003")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Scalar-String-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0llbsqk7rsg9p7l1f4yk6iv7wij91gvavprsqhnb04w7nz4ifjpm"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-test-pod" ,perl-test-pod)
+ ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
+ (home-page "https://metacpan.org/release/Scalar-String")
+ (synopsis "String aspects of scalars")
+ (description "@code{Scalar::String} is about the string part of
+plain Perl scalars. A scalar has a string value, which is notionally
+a sequence of Unicode codepoints but may be internally encoded in
+either ISO-8859-1 or UTF-8. In places, more so in older versions of
+Perl, the internal encoding shows through. To fully understand Perl
+strings it is necessary to understand these implementation details.
+This module provides functions to classify a string by encoding and to
+encode a string in a desired way. The module is implemented in XS,
+with a pure Perl backup version for systems that cannot handle XS.")
+ (license perl-license)))
+
(define-public perl-scope-guard
(package
(name "perl-scope-guard")
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index 31cf75df96..a2a882f2a7 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2020 Sebastian Schott <sschott@mailbox.org>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -483,6 +484,10 @@ photographic equipment.")
(string-append (assoc-ref inputs "ilmbase")
"/include/OpenEXR:" (or (getenv "CPATH") "")))
#t)))))
+ (native-inputs
+ `(("intltool" ,intltool)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)))
(inputs
`(("libxslt" ,libxslt)
("libxml2" ,libxml2)
@@ -502,9 +507,6 @@ photographic equipment.")
("ilmbase" ,ilmbase)
("libsoup" ,libsoup)
("python-jsonschema" ,python-jsonschema)
- ("intltool" ,intltool)
- ("perl" ,perl)
- ("pkg-config" ,pkg-config)
("libwebp" ,libwebp)
("lensfun" ,lensfun)
("librsvg" ,librsvg)
@@ -534,7 +536,7 @@ and enhance them.")
"1l925qslp98gg7yzmgps10h6dq0nb60wbfk345anlxsv0g2ifizr"))))
(build-system cmake-build-system)
(native-inputs
- `(("gettext" ,gnu-gettext)
+ `(("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)))
(inputs
`(("boost" ,boost)
diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm
index 18e557611e..f7655c3535 100644
--- a/gnu/packages/pretty-print.scm
+++ b/gnu/packages/pretty-print.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net>
;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -71,11 +72,11 @@
(build-system gnu-build-system)
(inputs
`(("psutils" ,psutils)
- ("groff" ,groff)
("gv" ,gv)
("imagemagick" ,imagemagick)))
(native-inputs
`(("gperf" ,gperf)
+ ("groff" ,groff)
("perl" ,perl)))
(arguments
'(#:phases
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 70a5b1e452..22b9ea8df5 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37,26 +38,39 @@
(define-public python-coveralls
(package
(name "python-coveralls")
- (version "1.6.0")
+ (version "1.11.1")
+ (home-page "https://github.com/coveralls-clients/coveralls-python")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "coveralls" version))
+ ;; The PyPI release lacks tests, so we pull from git instead.
+ (method git-fetch)
+ (uri (git-reference (url home-page) (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1dswhd2q2412wrldi97hdwlsymj9pm79v7pvjx53z5wh2d33w8bg"))))
+ "1zr1lqdjcfwj6wcx2449mzzjq8bbhwnqcm5vdif5s8hlz35bjxkp"))))
(build-system python-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-before 'check 'disable-git-test
+ (lambda _
+ ;; Remove test that requires 'git' and the full checkout.
+ (delete-file "tests/git_test.py")
+ #t))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (if tests?
+ (invoke "pytest" "-vv")
+ (format #t "test suite not run~%"))
+ #t)))))
(propagated-inputs
`(("python-coverage" ,python-coverage)
("python-docopt" ,python-docopt)
("python-pyyaml" ,python-pyyaml)
- ("python-requests" ,python-requests)
- ("python-sh" ,python-sh)
- ("python-urllib3" ,python-urllib3)))
+ ("python-requests" ,python-requests)))
(native-inputs
`(("python-mock" ,python-mock)
("python-pytest" ,python-pytest)))
- (home-page "https://github.com/coveralls-clients/coveralls-python")
(synopsis "Show coverage stats online via coveralls.io")
(description
"Coveralls.io is a service for publishing code coverage statistics online.
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 26e2fe04ec..3686432a1d 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -90,10 +90,23 @@
(uri (pypi-uri "aiohttp" version))
(sha256
(base32
- "09pkw6f1790prnrq0k8cqgnf1qy57ll8lpmc6kld09q7zw4vi6i5"))))
+ "09pkw6f1790prnrq0k8cqgnf1qy57ll8lpmc6kld09q7zw4vi6i5"))
+ (patches (search-patches "python-aiohttp-3.6.2-no-warning-fail.patch"))))
+
(build-system python-build-system)
(arguments
- `(#:tests? #f)) ;missing pytest-timeout
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-tests
+ (lambda _
+ ;; disable brotli tests, because we’re not providing that optional library
+ (substitute* "tests/test_http_parser.py"
+ ((" async def test_feed_eof_no_err_brotli")
+ " @pytest.mark.xfail\n async def test_feed_eof_no_err_brotli"))
+ ;; make sure the timestamp of this file is > 1990, because a few
+ ;; tests like test_static_file_if_modified_since_past_date depend on it
+ (invoke "touch" "-d" "2020-01-01" "tests/data.unknown_mime_type")
+ #t)))))
(propagated-inputs
`(("python-aiodns" ,python-aiodns)
("python-async-timeout" ,python-async-timeout)
@@ -102,6 +115,15 @@
("python-idna-ssl" ,python-idna-ssl)
("python-multidict" ,python-multidict)
("python-yarl" ,python-yarl)))
+ (native-inputs
+ `(("python-pytest-runner" ,python-pytest-runner)
+ ("python-pytest-xdit" ,python-pytest-xdist)
+ ("python-pytest-timeout" ,python-pytest-timeout)
+ ("python-pytest-forked" ,python-pytest-forked)
+ ("python-pytest-mock" ,python-pytest-mock)
+ ("gunicorn" ,gunicorn-bootstrap)
+ ("python-freezegun" ,python-freezegun)
+ ("python-async-generator" ,python-async-generator)))
(home-page "https://github.com/aio-libs/aiohttp/")
(synopsis "Async HTTP client/server framework (asyncio)")
(description "@code{aiohttp} is an asynchronous HTTP client/server
@@ -3390,14 +3412,14 @@ hard or impossible to fix in cssselect.")
(define-public gunicorn
(package
(name "gunicorn")
- (version "20.0.0")
+ (version "20.0.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "gunicorn" version))
(sha256
(base32
- "0l1zm8a0vz8ws3lkn8q9a0f93ipdzyvlf2zlwdj5xyadh6jdwsgg"))))
+ "09n6fc019bgrvph1s5h1lwhn2avcsprw6ncd203qhra3i8mvn10r"))))
(outputs '("out" "doc"))
(build-system python-build-system)
(arguments
@@ -3413,11 +3435,6 @@ hard or impossible to fix in cssselect.")
(lambda _
(setenv "PYTHONPATH"
(string-append ".:" (getenv "PYTHONPATH")))
- ;; Remove test modules failing due to libc not found due to
- ;; section '.dynamic' not found in libc.so
- (delete-file "tests/test_arbiter.py")
- (delete-file "tests/test_config.py")
- (delete-file "tests/test_sock.py")
(invoke "pytest")))
(add-after 'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
@@ -3452,6 +3469,16 @@ various web frameworks, simply implemented, light on server resources,
and fairly speedy.")
(license license:expat)))
+;; break cyclic dependency for python-aiohttp, which depends on gunicorn for
+;; its tests
+(define-public gunicorn-bootstrap
+ (package
+ (inherit gunicorn)
+ (name "gunicorn")
+ (arguments `(#:tests? #f))
+ (properties '((hidden? . #t)))
+ (native-inputs `())))
+
(define-public python-translation-finder
(package
(name "python-translation-finder")
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a917001dc0..9703301da0 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -75,6 +75,7 @@
;;; Copyright © 2020 Josh Marshall <joshua.r.marshall.1991@gmail.com>
;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org>
;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
+;;; Copyright © 2020 Alex ter Weele <alex.ter.weele@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1108,6 +1109,207 @@ helpers.")
(define-public python2-humanfriendly
(package-with-python2 python-humanfriendly))
+(define-public python-textparser
+ (package
+ (name "python-textparser")
+ (version "0.23.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "textparser" version))
+ (sha256
+ (base32
+ "0w5lyhrsvzs5a9q1l3sjgxgljrvd3ybf796w93kc39wayzvd02gh"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/eerimoq/textparser")
+ (synopsis "Fast text parser for Python")
+ (description "This library provides a text parser written in the Python
+language. It aims to be fast.")
+ (license license:expat)))
+
+(define-public python-aenum
+ (package
+ (name "python-aenum")
+ (version "2.2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "aenum" version))
+ (sha256
+ (base32
+ "1s3008rklv4n1kvmq6xdbdfyrpl0gf1rhqasmd27s5kwyjmlqcx4"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (format #t "current working dir ~s~%" (getcwd))
+ (setenv "PYTHONPATH"
+ (string-append ".:" (getenv "PYTHONPATH")))
+ ;; We must run the test suite module directly, as it
+ ;; fails to define the 'tempdir' variable in scope for
+ ;; the tests otherwise
+ ;; (see:https://bitbucket.org/stoneleaf/aenum/\
+ ;; issues/32/running-tests-with-python-setuppy-test).
+ (invoke "python3" "aenum/test.py")
+ ;; This one fails with "NameError: name
+ ;; 'test_pickle_dump_load' is not defined" (see:
+ ;; https://bitbucket.org/stoneleaf/aenum/issues/33
+ ;; /error-running-the-test_v3py-test-suite).
+ ;; (invoke "python3" "aenum/test_v3.py")
+ #t)))))
+ (home-page "https://bitbucket.org/stoneleaf/aenum")
+ (synopsis "Advanced enumerations, namedtuples and constants for Python")
+ (description "The aenum library includes an @code{Enum} base class, a
+metaclass-based @code{NamedTuple} implementation and a @code{NamedConstant}
+class.")
+ (license license:bsd-3)))
+
+(define-public python-can
+ (package
+ (name "python-can")
+ (version "3.3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "python-can" version))
+ (sha256
+ (base32
+ "0bkbxi45sckzir6s0j3h01pkfn4vkz3ymih2zjp7zw77wz0vbvsz"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'fix-broken-tests
+ ;; The tests try to run two scripts it expects should be
+ ;; in PATH, but they aren't at this time (see:
+ ;; https://github.com/hardbyte/python-can/issues/805).
+ (lambda _
+ (substitute* "test/test_scripts.py"
+ (("\"can_logger\\.py --help\"") "")
+ (("\"can_player\\.py --help\"") ""))
+ #t)))))
+ (propagated-inputs
+ `(("python-aenum" ,python-aenum)
+ ("python-wrapt" ,python-wrapt)))
+ (native-inputs
+ `(("python-codecov" ,python-codecov)
+ ("python-future" ,python-future)
+ ("python-hypothesis" ,python-hypothesis)
+ ("python-mock" ,python-mock)
+ ("python-pyserial" ,python-pyserial)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-pytest-runner" ,python-pytest-runner)
+ ("python-pytest-timeout" ,python-pytest-timeout)))
+ (home-page "https://github.com/hardbyte/python-can")
+ (synopsis "Controller Area Network (CAN) interface module for Python")
+ (description "This package defines the @code{can} module, which provides
+controller area network (CAN) support for Python developers; providing common
+abstractions to different hardware devices, and a suite of utilities for
+sending and receiving messages on a CAN bus.")
+ (license license:gpl3+)))
+
+(define-public python-diskcache
+ (package
+ (name "python-diskcache")
+ (version "4.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "diskcache" version))
+ (sha256
+ (base32
+ "1q2wz5sj16zgyy1zpq516qgbnfwsavk1pl2qks0f4r62z5cmmvmw"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f)) ;test suite not included in the release
+ (home-page "http://www.grantjenks.com/docs/diskcache/")
+ (synopsis "Disk and file backed cache library")
+ (description "DiskCache is a disk and file backed persistent cache.")
+ (license license:asl2.0)))
+
+(define-public python-bitstruct
+ (package
+ (name "python-bitstruct")
+ (version "8.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "bitstruct" version))
+ (sha256
+ (base32
+ "1fpc1qh1vss05ap29xvhjp200fm0q4pvgcjl0qpryh7ay6xgr5vx"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/eerimoq/bitstruct")
+ (synopsis "Python values to and C bit field structs converter")
+ (description "This module performs conversions between Python values and C
+bit field structs represented as Python byte strings. It is intended to have
+a similar interface as the @code{struct} module from Python, but working on
+bits instead of primitive data types like @code{char}, @code{int}, etc.")
+ (license license:expat)))
+
+(define-public python-cantools
+ (package
+ (name "python-cantools")
+ (version "33.1.1")
+ (source
+ (origin
+ ;; We take the sources from the Git repository as the documentation is
+ ;; not included with the PyPI archive.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/eerimoq/cantools.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1aad137yd8b4jkfvlv812qsxmxcgra7g1p4wbxfsjy1cbf8fbq9q"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'build 'build-doc
+ (lambda _
+ ;; See: https://github.com/eerimoq/cantools/issues/190.
+ (substitute* "README.rst"
+ (("https://github.com/eerimoq/cantools/raw/master\
+/docs/monitor.png")
+ "monitor.png"))
+ (with-directory-excursion "docs"
+ (invoke "make" "man" "info"))))
+ (add-after 'install 'install-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (info (string-append out "/share/info"))
+ (man1 (string-append out "/share/man/man1")))
+ (format #t "CWD: ~s~%" (getcwd))
+ (install-file "docs/_build/texinfo/cantools.info" info)
+ (install-file "docs/_build/man/cantools.1" man1)
+ #t))))))
+ (native-inputs
+ `(("sphinx" ,python-sphinx)
+ ("texinfo" ,texinfo)))
+ (propagated-inputs
+ `(("python-bitstruct" ,python-bitstruct)
+ ("python-can" ,python-can)
+ ("python-diskcache" ,python-diskcache)
+ ("python-textparser" ,python-textparser)))
+ (home-page "https://github.com/eerimoq/cantools")
+ (synopsis "Tools for the Controller Area Network (CAN) bus protocol")
+ (description "This package includes Controller Area Network (CAN) related
+tools that can be used to:
+@itemize
+@item parse DBC, KCD, SYM, ARXML 4 and CDD files
+@item encode and decode CAN messages
+@item multiplex simple and extended signals
+@item diagnose DID encoding and decoding
+@item dump the CAN decoder output
+@item test CAN nodes
+@item generate C source code
+@item monitor the CAN bus
+@end itemize")
+ (license license:expat)))
+
(define-public python-capturer
(package
(name "python-capturer")
@@ -2594,14 +2796,14 @@ environments and back.")
(define-public python-pyyaml
(package
(name "python-pyyaml")
- (version "5.3")
+ (version "5.3.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "PyYAML" version))
(sha256
(base32
- "058nd4p8f25wwzy2aiwh18wcrdm6663cqbfdkgjp8y9cp7ampx79"))))
+ "0pb4zvkfxfijkpgd1b86xjsqql97ssf1knbd1v53wkg1qm9cgsmq"))))
(build-system python-build-system)
(inputs
`(("libyaml" ,libyaml)))
@@ -5714,6 +5916,112 @@ away.")
(define-public python2-ipython-genutils
(package-with-python2 python-ipython-genutils))
+(define-public python-ipyparallel
+ (package
+ (name "python-ipyparallel")
+ (version "6.2.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ipyparallel" version))
+ (sha256
+ (base32
+ "0rf0dbpxf5z82bw8lsjj45r3wdd4wc74anz4wiiaf2rbjqlb1ivn"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f ; RuntimeError: IO Loop failed to start
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'prepare-for-tests
+ (lambda _
+ (setenv "HOME" (getcwd))
+ #t)))))
+ (propagated-inputs
+ `(("python-dateutil" ,python-dateutil)
+ ("python-decorator" ,python-decorator)
+ ("python-ipykernel" ,python-ipykernel)
+ ("python-ipython" ,python-ipython)
+ ("python-ipython-genutils" ,python-ipython-genutils)
+ ("python-jupyter-client" ,python-jupyter-client)
+ ("python-pyzmq" ,python-pyzmq)
+ ("python-tornado" ,python-tornado)
+ ("python-traitlets" ,python-traitlets)))
+ (native-inputs
+ `(("python-ipython" ,python-ipython)
+ ("python-mock" ,python-mock)
+ ("python-nose" ,python-nose)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-testpath" ,python-testpath)))
+ (home-page "https://ipython.org/")
+ (synopsis "Interactive Parallel Computing with IPython")
+ (description
+ "@code{ipyparallel} is a Python package and collection of CLI scripts for
+controlling clusters for Jupyter. @code{ipyparallel} contains the following
+CLI scripts:
+@enumerate
+@item ipcluster - start/stop a cluster
+@item ipcontroller - start a scheduler
+@item ipengine - start an engine
+@end enumerate")
+ (license license:bsd-3)))
+
+(define-public python2-ipyparallel
+ (let ((ipyparallel (package-with-python2 python-ipyparallel)))
+ (package
+ (inherit ipyparallel)
+ (propagated-inputs
+ `(("python2-futures" ,python2-futures)
+ ,@(package-propagated-inputs ipyparallel))))))
+
+(define-public python-ipython-cluster-helper
+ (package
+ (name "python-ipython-cluster-helper")
+ (version "0.6.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ipython-cluster-helper" version))
+ (sha256
+ (base32
+ "1l6mlwxlkxpbvawfwk6qffich7ahg9hq2bxfissgz6144p3k4arj"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin (substitute* "requirements.txt"
+ (("ipython.*") "ipython\n"))
+ #t))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f ; Test suite can't find IPython.
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+ (if tests?
+ (begin
+ (setenv "HOME" (getcwd))
+ (add-installed-pythonpath inputs outputs)
+ (invoke "python" "example/example.py" "--local"))
+ #t))))))
+ (propagated-inputs
+ `(("python-ipyparallel" ,python-ipyparallel)
+ ("python-ipython" ,python-ipython)
+ ("python-netifaces" ,python-netifaces)
+ ("python-pyzmq" ,python-pyzmq)
+ ("python-setuptools" ,python-setuptools)
+ ("python-six" ,python-six)))
+ (home-page "https://github.com/roryk/ipython-cluster-helper")
+ (synopsis
+ "Simplify IPython cluster start up and use for multiple schedulers")
+ (description
+ "@code{ipython-cluster-helper} creates a throwaway parallel IPython
+profile, launches a cluster and returns a view. On program exit it shuts the
+cluster down and deletes the throwaway profile.")
+ (license license:expat)))
+
+(define-public python2-ipython-cluster-helper
+ (package-with-python2 python-ipython-cluster-helper))
+
(define-public python-traitlets
(package
(name "python-traitlets")
@@ -7862,14 +8170,14 @@ primary use case is APIs defined before keyword-only parameters existed.")
(define-public python-pyasn1
(package
(name "python-pyasn1")
- (version "0.4.3")
+ (version "0.4.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyasn1" version))
(sha256
(base32
- "1z5h38anjzzrxpraa9iq9llffyx2zs8gx0q6dc1g029miwnn50gv"))))
+ "1fnhbi3rmk47l9851gbik0flfr64vs5j0hbqx24cafjap6gprxxf"))))
(build-system python-build-system)
(home-page "http://pyasn1.sourceforge.net/")
(synopsis "ASN.1 types and codecs")
@@ -18831,3 +19139,419 @@ HTML-containing files.")
usable as a configuration language. This Python package implements parsing and
dumping of JSON5 data structures.")
(license license:asl2.0)))
+
+(define-public python-frozendict
+ (package
+ (name "python-frozendict")
+ (version "1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "frozendict" version))
+ (sha256
+ (base32 "0ibf1wipidz57giy53dh7mh68f2hz38x8f4wdq88mvxj5pr7jhbp"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/slezica/python-frozendict")
+ (synopsis "Simple immutable mapping for Python")
+ (description
+ "@dfn{frozendict} is an immutable wrapper around dictionaries that
+implements the complete mapping interface. It can be used as a drop-in
+replacement for dictionaries where immutability is desired.")
+ (license license:expat)))
+
+(define-public python-unpaddedbase64
+ (package
+ (name "python-unpaddedbase64")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/matrix-org/python-unpaddedbase64.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0if3fjfxga0bwdq47v77fs9hrcqpmwdxry2i2a7pdqsp95258nxd"))))
+ (build-system python-build-system)
+ (home-page "https://pypi.org/project/unpaddedbase64/")
+ (synopsis "Encode and decode Base64 without “=” padding")
+ (description
+ "RFC 4648 specifies that Base64 should be padded to a multiple of 4 bytes
+using “=” characters. However this conveys no benefit so many protocols
+choose to use Base64 without the “=” padding.")
+ (license license:asl2.0)))
+
+(define-public python-canonicaljson
+ (package
+ (name "python-canonicaljson")
+ (version "1.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "canonicaljson" version))
+ (sha256
+ (base32 "09cpacc8yvcc74i63pdmlfaahh77dnvbyw9zf29wml2zzwqfbg25"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-six" ,python-six)
+ ("python-frozendict" ,python-frozendict)
+ ("python-simplejson" ,python-simplejson)))
+ (home-page "https://github.com/matrix-org/python-canonicaljson")
+ (synopsis "Canonical JSON")
+ (description
+ "Deterministically encode JSON.
+
+@itemize
+@item Encodes objects and arrays as RFC 7159 JSON.
+@item Sorts object keys so that you get the same result each time.
+@item Has no insignificant whitespace to make the output as small as possible.
+@item Escapes only the characters that must be escaped, U+0000 to
+ U+0019 / U+0022 / U+0056, to keep the output as small as possible.
+@item Uses the shortest escape sequence for each escaped character.
+@item Encodes the JSON as UTF-8.
+@item Can encode frozendict immutable dictionaries.
+@end itemize")
+ (license license:asl2.0)))
+
+(define-public python-signedjson
+ (package
+ (name "python-signedjson")
+ (version "1.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "signedjson" version))
+ (sha256
+ (base32 "0280f8zyycsmd7iy65bs438flm7m8ffs1kcxfbvhi8hbazkqc19m"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-canonicaljson" ,python-canonicaljson)
+ ("python-importlib-metadata" ,python-importlib-metadata)
+ ("python-pynacl" ,python-pynacl)
+ ("python-typing-extensions" ,python-typing-extensions)
+ ("python-unpaddedbase64" ,python-unpaddedbase64)))
+ (native-inputs
+ `(("python-setuptools-scm" ,python-setuptools-scm)))
+ (home-page "https://github.com/matrix-org/python-signedjson")
+ (synopsis "Sign JSON objects with ED25519 signatures")
+ (description
+ "Sign JSON objects with ED25519 signatures.
+
+@itemize
+@item More than one entity can sign the same object.
+@item Each entity can sign the object with more than one key making it easier to
+rotate keys
+@item ED25519 can be replaced with a different algorithm.
+@item Unprotected data can be added to the object under the @dfn{\"unsigned\"}
+key.
+@end itemize")
+ (license license:asl2.0)))
+
+(define-public python-daemonize
+ (package
+ (name "python-daemonize")
+ (version "2.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "daemonize" version))
+ (sha256
+ (base32 "1hwbl3gf9fdds9sc14zgjyjisjvxidrvqc11xlbb0b6jz17nw0nx"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/thesharp/daemonize")
+ (synopsis "Library for writing system daemons in Python")
+ (description "Daemonize is a library for writing system daemons in Python.")
+ (license license:expat)))
+
+(define-public python-pymacaroons
+ (package
+ (name "python-pymacaroons")
+ (version "0.13.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pymacaroons" version))
+ (sha256
+ (base32 "1f0357a6g1h96sk6wy030xmc1p4rd80a999qvxd28v7nlm1blsqy"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-six" ,python-six)
+ ("python-pynacl" ,python-pynacl)))
+ (home-page "https://github.com/ecordell/pymacaroons")
+ (synopsis "Python Macaroon Library")
+ (description
+ "Macaroons, like cookies, are a form of bearer credential. Unlike opaque
+tokens, macaroons embed caveats that define specific authorization
+requirements for the target service, the service that issued the root macaroon
+and which is capable of verifying the integrity of macaroons it receives.
+
+Macaroons allow for delegation and attenuation of authorization. They are
+simple and fast to verify, and decouple authorization policy from the
+enforcement of that policy.")
+ (license license:expat)))
+
+(define-public python-prometheus-client
+ (package
+ (name "python-prometheus-client")
+ (version "0.7.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "prometheus_client" version))
+ (sha256
+ (base32 "1ni2yv4ixwz32nz39ckia76lvggi7m19y5f702w5qczbnfi29kbi"))))
+ (build-system python-build-system)
+ (arguments
+ ;; TODO: No tests in the PyPI distribution.
+ `(#:tests? #f))
+ (propagated-inputs
+ `(("python-twisted" ,python-twisted)))
+ (home-page "https://github.com/prometheus/client_python")
+ (synopsis "Prometheus instrumentation library")
+ (description
+ "This is the official Python client for the Prometheus monitoring server.")
+ (license license:asl2.0)))
+
+(define-public python-ldap3
+ (package
+ (name "python-ldap3")
+ (version "2.7")
+ (home-page "https://github.com/cannatag/ldap3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0xw9fkqld21xsvdpaqir8ccc2l805xnn9gxahsnl70xzp3mwl0xv"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f ;TODO: Tests need a real LDAP server to run
+ #:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "nosetests" "-s" "test"))
+ #t)))))
+ (native-inputs
+ `(("python-nose" ,python-nose)))
+ (propagated-inputs
+ `(("python-gssapi" ,python-gssapi)
+ ("python-pyasn1" ,python-pyasn1)))
+ (synopsis "Python LDAP client")
+ (description
+ "LDAP3 is a strictly RFC 4510 conforming LDAP V3 pure Python client
+library.")
+ (license license:lgpl3+)))
+
+(define-public python-boltons
+ (package
+ (name "python-boltons")
+ (version "20.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "boltons" version))
+ (sha256
+ (base32
+ "0lrr40qqj3ch8xarvyzbnbjs79pz5aywklllq53l347h1b8xnkg4"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/mahmoud/boltons")
+ (synopsis "Extensions to the Python standard library")
+ (description
+ "Boltons is a set of over 230 pure-Python utilities in the same spirit
+as — and yet conspicuously missing from — the standard library, including:
+
+@itemize
+@item Atomic file saving, bolted on with fileutils
+@item A highly-optimized OrderedMultiDict, in dictutils
+@item Two types of PriorityQueue, in queueutils
+@item Chunked and windowed iteration, in iterutils
+@item Recursive data structure iteration and merging, with iterutils.remap
+@item Exponential backoff functionality, including jitter, through
+iterutils.backoff
+@item A full-featured TracebackInfo type, for representing stack traces, in
+tbutils
+@end itemize")
+ (license license:bsd-3)))
+
+(define-public python-eliot
+ (package
+ (name "python-eliot")
+ (version "1.12.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "eliot" version))
+ (sha256
+ (base32 "0wabv7hk63l12881f4zw02mmj06583qsx2im0yywdjlj8f56vqdn"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-journald-support
+ (lambda _
+ (for-each delete-file
+ '("eliot/tests/test_journald.py"
+ "eliot/journald.py"))
+ #t))
+ (add-after 'remove-journald-support 'remove-eliot-prettyprint-tests
+ ;; remove command-line tool's tests. TODO eliot-prettyprint should
+ ;; be installed and these tests should pass.
+ (lambda _
+ (delete-file "eliot/tests/test_prettyprint.py")
+ #t)))))
+ (propagated-inputs
+ `(("python-boltons" ,python-boltons)
+ ("python-pyrsistent" ,python-pyrsistent)
+ ("python-six" ,python-six)
+ ("python-zope-interface" ,python-zope-interface)))
+ (native-inputs
+ `(("python-black" ,python-black)
+ ("python-coverage" ,python-coverage)
+ ("python-dask" ,python-dask)
+ ("python-flake8" ,python-flake8)
+ ("python-hypothesis" ,python-hypothesis)
+ ("python-pytest" ,python-pytest)
+ ("python-setuptools" ,python-setuptools)
+ ("python-sphinx" ,python-sphinx)
+ ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)
+ ("python-testtools" ,python-testtools)
+ ("python-twine" ,python-twine)
+ ("python-twisted" ,python-twisted)))
+ (home-page "https://github.com/itamarst/eliot/")
+ (synopsis "Eliot: the logging system that tells you why it happened")
+ (description
+ "@dfn{eliot} is a Python logging system that outputs causal chains of
+actions: actions can spawn other actions, and eventually they either succeed
+or fail. The resulting logs tell you the story of what your software did: what
+happened, and what caused it.")
+ (license license:asl2.0)))
+
+(define-public python-pem
+ (package
+ (name "python-pem")
+ (version "20.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pem" version))
+ (sha256
+ (base32
+ "1xh88ss279fprxnzd10dczmqwjhppbyvljm33zrg2mgybwd66qr7"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-certifi" ,python-certifi)
+ ("python-coverage" ,python-coverage)
+ ("python-pretend" ,python-pretend)
+ ("python-pyopenssl" ,python-pyopenssl)
+ ("python-pytest" ,python-pytest)
+ ("python-sphinx" ,python-sphinx)
+ ("python-twisted" ,python-twisted)))
+ (home-page "https://pem.readthedocs.io/")
+ (synopsis "Easy PEM file parsing in Python")
+ (description
+ "This package provides a Python module for parsing and splitting PEM files.")
+ (license license:expat)))
+
+(define-public python-txsni
+ ;; We need a few commits on top of 0.1.9 for compatibility with newer
+ ;; Python and OpenSSL.
+ (let ((commit "5014c141a7acef63e20fcf6c36fa07f0cd754ce1")
+ (revision "0"))
+ (package
+ (name "python-txsni")
+ (version (git-version "0.1.9" revision commit))
+ (home-page "https://github.com/glyph/txsni")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page) (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0imfxx4yjj1lbq0n5ad45al3wvv4qv96sivnc1r51i66mxi658z8"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-pyopenssl" ,python-pyopenssl)
+ ("python-service-identity" ,python-service-identity)
+ ("python-twisted" ,python-twisted)))
+ (synopsis "Run TLS servers with Twisted")
+ (description
+ "This package provides an easy-to-use SNI endpoint for use
+with the Twisted web framework.")
+ (license license:expat))))
+
+(define-public python-txacme
+ (package
+ (name "python-txacme")
+ (version "0.9.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "txacme" version))
+ (sha256
+ (base32 "1cplx4llq7i508w6fgwjdv9di7rsz9k9irfmzdfbiz6q6a0ykf1d"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-acme" ,python-acme)
+ ("python-attrs" ,python-attrs)
+ ("python-eliot" ,python-eliot)
+ ("python-josepy" ,python-josepy)
+ ("python-pem" ,python-pem)
+ ("python-treq" ,python-treq)
+ ("python-twisted" ,python-twisted)
+ ("python-txsni" ,python-txsni)))
+ (native-inputs
+ `(("python-fixtures" ,python-fixtures)
+ ("python-hypothesis" ,python-hypothesis)
+ ("python-mock" ,python-mock)
+ ("python-service-identity"
+ ,python-service-identity)
+ ("python-testrepository" ,python-testrepository)
+ ("python-testscenarios" ,python-testscenarios)
+ ("python-testtools" ,python-testtools)))
+ (home-page "https://github.com/twisted/txacme")
+ (synopsis "Twisted implexmentation of the ACME protocol")
+ (description
+ "ACME is Automatic Certificate Management Environment, a protocol that
+allows clients and certificate authorities to automate verification and
+certificate issuance. The ACME protocol is used by the free Let's Encrypt
+Certificate Authority.
+
+txacme is an implementation of the protocol for Twisted, the event-driven
+networking engine for Python.")
+ (license license:expat)))
+
+(define-public python-pysaml2
+ (package
+ (name "python-pysaml2")
+ (version "5.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pysaml2" version))
+ (sha256
+ (base32
+ "1h8cmxh9cvxhrdfmkh92wg6zpxmhi2fixq1cy4hxismmaar7bsny"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-cryptography" ,python-cryptography)
+ ("python-dateutil" ,python-dateutil)
+ ("python-defusedxml" ,python-defusedxml)
+ ("python-pyopenssl" ,python-pyopenssl)
+ ("python-pytz" ,python-pytz)
+ ("python-requests" ,python-requests)
+ ("python-six" ,python-six)))
+ (home-page "https://idpy.org")
+ (synopsis "Python implementation of SAML Version 2 Standard")
+ (description
+ "PySAML2 is a pure python implementation of SAML Version 2 Standard.
+It contains all necessary pieces for building a SAML2 service provider or
+an identity provider. The distribution contains examples of both.
+
+This package was originally written to work in a WSGI environment, but
+there are extensions that allow you to use it with other frameworks.")
+ (license license:asl2.0)))
diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm
index 608cb400c5..6f634f78cc 100644
--- a/gnu/packages/sdl.scm
+++ b/gnu/packages/sdl.scm
@@ -115,28 +115,36 @@ joystick, and graphics hardware.")
(define-public sdl2
(package (inherit sdl)
(name "sdl2")
- (version "2.0.10")
+ (version "2.0.12")
(source (origin
(method url-fetch)
(uri
(string-append "https://libsdl.org/release/SDL2-"
version ".tar.gz"))
- (patches (search-patches "sdl2-mesa-compat.patch"))
(sha256
(base32
- "0mqxp6w5jhbq6y1j690g9r3gpzwjxh4czaglw8x05l7hl49nqrdl"))))
+ "0qy8wbqvfkb5ps8kxgaaf2zzpkjqbsw712hlp74znbn0jpv6i4il"))))
(arguments
(substitute-keyword-arguments (package-arguments sdl)
((#:configure-flags flags)
`(append '("--disable-wayland-shared" "--enable-video-kmsdrm"
"--disable-kmsdrm-shared")
- ,flags))))
+ ,flags))
+ ((#:make-flags flags ''())
+ `(cons*
+ ;; SDL dlopens libudev, so make sure it is in rpath. This overrides
+ ;; the LDFLAG set in sdl’s configure-flags, which isn’t necessary
+ ;; as sdl2 includes Mesa by default.
+ (string-append "LDFLAGS=-Wl,-rpath,"
+ (assoc-ref %build-inputs "eudev") "/lib")
+ ,flags))))
(inputs
;; SDL2 needs to be built with ibus support otherwise some systems
;; experience a bug where input events are doubled.
;;
;; For more information, see: https://dev.solus-project.com/T1721
(append `(("dbus" ,dbus)
+ ("eudev" ,eudev) ; for discovering input devices
("fcitx" ,fcitx) ; helps with CJK input
("glib" ,glib)
("ibus" ,ibus)
diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
index 800aa0505e..c5cbb758da 100644
--- a/gnu/packages/security-token.scm
+++ b/gnu/packages/security-token.scm
@@ -117,7 +117,7 @@ readers and is needed to communicate with such devices through the
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
- ("gettext" ,gnu-gettext)
+ ("gettext" ,gettext-minimal)
("libtool" ,libtool)
("pkg-config" ,pkg-config)
("perl" ,perl)))
diff --git a/gnu/packages/speech.scm b/gnu/packages/speech.scm
index 8ee6fbfdc4..c9c1eaa8d9 100644
--- a/gnu/packages/speech.scm
+++ b/gnu/packages/speech.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2016, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
@@ -226,12 +226,20 @@ stable and well documented interface.")
"08xwnpw9cnaix1n1i7gvpq5hrfrqc2z1snjhjapfam506hrc77g4"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; No test suite.
- #:make-flags
- (list (string-append "DESTDIR=" (assoc-ref %outputs "out")))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)))) ; No ./configure script.
+ `(#:tests? #f ; no test suite
+ #:make-flags
+ (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+ (string-append "LDFLAGS=-Wl,-rpath="
+ (assoc-ref %outputs "out") "/lib"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'respect-LDFLAGS
+ (lambda _
+ (substitute* "Makefile"
+ ((" -o sonic " match)
+ (string-append " $(LDFLAGS)" match)))
+ #t))
+ (delete 'configure)))) ; no ./configure script
(synopsis "Speed up or slow down speech")
(description "Sonic implements a simple algorithm for speeding up or slowing
down speech. However, it's optimized for speed ups of over 2X, unlike previous
diff --git a/gnu/packages/sssd.scm b/gnu/packages/sssd.scm
index 905f0b11ca..8be3fbfd89 100644
--- a/gnu/packages/sssd.scm
+++ b/gnu/packages/sssd.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -81,14 +82,14 @@ fundamental object types for C.")
(define-public sssd
(package
(name "sssd")
- (version "1.16.4")
+ (version "1.16.5")
(source (origin
(method url-fetch)
- (uri (string-append "http://releases.pagure.org/SSSD/sssd/"
+ (uri (string-append "https://releases.pagure.org/SSSD/sssd/"
"sssd-" version ".tar.gz"))
(sha256
(base32
- "0ngr7cgimyjc6flqkm7psxagp1m4jlzpqkn28pliifbmdg6i5ckb"))))
+ "1h6hwibaf3xa2w6qpzjiiywmfj6zkgbz4r2isf3gd0xm6vq7n6if"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 1ffce54913..1c372554f7 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -548,13 +548,13 @@ estimation) corresponding to the book: Wand, M.P. and Jones, M.C. (1995)
(define-public r-lattice
(package
(name "r-lattice")
- (version "0.20-40")
+ (version "0.20-41")
(source (origin
(method url-fetch)
(uri (cran-uri "lattice" version))
(sha256
(base32
- "1w53sfzdy9zsifv44dqf9pl46fk14lnx3fha1k1p660h51lyv56m"))))
+ "1dapkmh4jlb9sxfrpvapvlfhczl4s8p3r20bn47gcgdk1izmbjjl"))))
(build-system r-build-system)
(home-page "http://lattice.r-forge.r-project.org/")
(synopsis "High-level data visualization system")
@@ -1624,22 +1624,28 @@ like tidy evaluation.")
(define-public r-tibble
(package
(name "r-tibble")
- (version "2.1.3")
+ (version "3.0.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "tibble" version))
(sha256
(base32
- "06jfayiip8j8ibdhw3fvxn4n8aqbqhwanrszpzlsf92xdfgfm34s"))))
+ "0s84h8ls5qwixbs1n5safr3xqmg3p0llzdrd9sp4vs2572mwzqzi"))))
(build-system r-build-system)
(propagated-inputs
`(("r-cli" ,r-cli)
("r-crayon" ,r-crayon)
+ ("r-ellipsis" ,r-ellipsis)
("r-fansi" ,r-fansi)
+ ("r-lifecycle" ,r-lifecycle)
+ ("r-magrittr" ,r-magrittr)
("r-pkgconfig" ,r-pkgconfig)
("r-pillar" ,r-pillar)
- ("r-rlang" ,r-rlang)))
+ ("r-rlang" ,r-rlang)
+ ("r-vctrs" ,r-vctrs)))
+ (native-inputs
+ `(("r-knitr" ,r-knitr)))
(home-page "https://github.com/hadley/tibble")
(synopsis "Simple data frames")
(description
@@ -1983,14 +1989,14 @@ and environmental data in the framework of Euclidean exploratory methods.")
(define-public r-xml2
(package
(name "r-xml2")
- (version "1.2.5")
+ (version "1.3.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "xml2" version))
(sha256
(base32
- "0mp61gg8s3zfq10g10vjk0mrcx6d5gm81n4ji8an2my11g61yq94"))))
+ "138v9374xwc7flw8fz8qp8q3w4fch2jviij0g10dg92xn9dsyani"))))
(build-system r-build-system)
(inputs
`(("libxml2" ,libxml2)
@@ -1998,8 +2004,6 @@ and environmental data in the framework of Euclidean exploratory methods.")
(native-inputs
`(("pkg-config" ,pkg-config)
("r-knitr" ,r-knitr)))
- (propagated-inputs
- `(("r-rcpp" ,r-rcpp)))
(home-page "https://github.com/hadley/xml2")
(synopsis "Parse XML with R")
(description
@@ -3060,18 +3064,20 @@ data.")
(define-public r-foreach
(package
(name "r-foreach")
- (version "1.4.8")
+ (version "1.5.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "foreach" version))
(sha256
(base32
- "1xwf5l2fw62w80ji3dvgcc6m9m4s6zygkhi84ypb0gv0ppjffg5c"))))
+ "0584nv49x8d8m1cak5drb54sxs3y594gd521kjsdwk4c849sgy8s"))))
(build-system r-build-system)
(propagated-inputs
`(("r-codetools" ,r-codetools)
("r-iterators" ,r-iterators)))
+ (native-inputs
+ `(("r-knitr" ,r-knitr)))
(home-page "https://cran.r-project.org/web/packages/foreach")
(synopsis "Foreach looping construct for R")
(description
@@ -4114,14 +4120,14 @@ Zurich, including many that are related to graphics.")
(define-public r-gtools
(package
(name "r-gtools")
- (version "3.8.1")
+ (version "3.8.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "gtools" version))
(sha256
(base32
- "0f5syk1qq6cjq6hwymvkiyhzwa389z94722v881ipbfqkd2q8505"))))
+ "1pnwy412wvhhvnnx8qg6s9hrgcnsfhnfcpf2560ipipk845acfsh"))))
(build-system r-build-system)
(arguments
`(#:phases
@@ -5076,13 +5082,13 @@ using modular prediction and response module classes.")
(define-public r-quantreg
(package
(name "r-quantreg")
- (version "5.54")
+ (version "5.55")
(source
(origin
(method url-fetch)
(uri (cran-uri "quantreg" version))
(sha256
- (base32 "19nh79qrkb75q348nk148l8wqjwnq5jgq29wpzqym5cfv1kjqfvh"))))
+ (base32 "1zjc8p95kb0ypxa6nxp0lkdq8armkjmmhf8484m25n5f14a59qfb"))))
(build-system r-build-system)
(native-inputs
`(("gfortran" ,gfortran)))
@@ -5302,18 +5308,19 @@ first and second order derivatives.")
(define-public r-sn
(package
(name "r-sn")
- (version "1.5-5")
+ (version "1.6-1")
(source
(origin
(method url-fetch)
(uri (cran-uri "sn" version))
(sha256
(base32
- "0ymyyc0di1g2b11wzljiih05z3rxck48wn74bygg3fiby973z49f"))))
+ "0snri2k8qslb7478c5jz4a5xxmmb1ipmp8x1jizi8mhj2cjic1w0"))))
(build-system r-build-system)
(propagated-inputs
`(("r-mnormt" ,r-mnormt)
- ("r-numderiv" ,r-numderiv)))
+ ("r-numderiv" ,r-numderiv)
+ ("r-quantreg" ,r-quantreg)))
(home-page "http://azzalini.stat.unipd.it/SN")
(synopsis "The skew-normal and skew-t distributions")
(description
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index 77f0aa326d..14aee33524 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -30,7 +30,7 @@
(define-public syncthing
(package
(name "syncthing")
- (version "1.4.0")
+ (version "1.4.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/syncthing/syncthing"
@@ -38,7 +38,7 @@
"/syncthing-source-v" version ".tar.gz"))
(sha256
(base32
- "1p9y943kd09pxmsaahbdml2mn2qlwbx23hvbsm1sqbbm8ma9ai8c"))
+ "0p1855n29rin2y8bjvmr7gkm18xd2j7js15l8nqcmyd33d60568z"))
(modules '((guix build utils)))
;; Delete bundled ("vendored") free software source code.
(snippet '(begin
diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm
index 6c0997da86..5bc3d19a92 100644
--- a/gnu/packages/syndication.scm
+++ b/gnu/packages/syndication.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
@@ -130,3 +130,42 @@ file system, and many more features.")
"RTV provides a text-based interface to view and interact with Reddit.")
(license (list license:expat
license:gpl3+)))) ; rtv/packages/praw
+
+(define-public tuir
+ (package
+ (name "tuir")
+ (version "1.28.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "tuir" version))
+ (sha256
+ (base32
+ "1gpyjrl7jdfjq30m32nzh59ajv91gq19l93jjri2wsv5yrf90hdr"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest"))))))
+ (inputs
+ `(("python-beautifulsoup4" ,python-beautifulsoup4)
+ ("python-decorator" ,python-decorator)
+ ("python-kitchen" ,python-kitchen)
+ ("python-requests" ,python-requests)
+ ("python-six" ,python-six)))
+ (native-inputs
+ `(("python-coverage" ,python-coverage)
+ ("python-coveralls" ,python-coveralls)
+ ("python-mock" ,python-mock)
+ ("python-pylint" ,python-pylint)
+ ("python-pytest" ,python-pytest)
+ ("python-vcrpy" ,python-vcrpy)))
+ (home-page "https://gitlab.com/ajak/tuir")
+ (synopsis "Terminal viewer for Reddit (Terminal UI for Reddit)")
+ (description
+ "Tuir provides a simple terminal viewer for Reddit (Terminal UI for Reddit).")
+ (license (list license:expat
+ license:gpl3+)))) ; tuir/packages/praw
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index fd8ec3f7a9..5e43061b3e 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -16,6 +16,9 @@
;;; Copyright © 2019 Ivan Vilata i Balaguer <ivan@selidor.net>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
+;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -34,7 +37,9 @@
(define-module (gnu packages telephony)
#:use-module (gnu packages)
+ #:use-module (gnu packages admin)
#:use-module (gnu packages aidc)
+ #:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages avahi)
#:use-module (gnu packages audio)
@@ -43,6 +48,7 @@
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
+ #:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages file)
#:use-module (gnu packages protobuf)
@@ -52,10 +58,12 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages image)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages linux)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages netpbm)
#:use-module (gnu packages networking)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
@@ -83,6 +91,97 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system qt))
+(define-public spandsp
+ (package
+ (name "spandsp")
+ (version "0.0.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ ;; The original upstream has been down since the end of March 2020.
+ (string-append "https://web.archive.org/web/20180626203108/"
+ "https://www.soft-switch.org/downloads/" name "/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0rclrkyspzk575v8fslzjpgp4y2s4x7xk3r55ycvpi4agv33l1fc"))))
+ (build-system gnu-build-system)
+ (outputs '("out" "doc" "static")) ;doc contains HTML documentation
+ (arguments
+ `(#:configure-flags '("--enable-doc=yes" "--enable-tests=yes")
+ #:parallel-build? #f ;non-deterministic build failures may occur otherwise
+ #:parallel-tests? #f ;fails removing the same the files twice otherwise
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'patch-configure.ac
+ (lambda _
+ ;; spandsp looks at hard coded locations of the FHS to
+ ;; find libxml2.
+ (substitute* "configure.ac"
+ (("AC_MSG_CHECKING\\(for libxml/xmlmemory\\.h.*" all)
+ (string-append all
+ "PKG_CHECK_MODULES(XML2, libxml-2.0)\n"
+ "CPPFLAGS+=\" $XML2_CFLAGS\"\n")))
+ ;; Force a regeneration of the autotools build system.
+ (delete-file "autogen.sh")
+ (delete-file "configure")
+ #t))
+ (add-after 'unpack 'do-not-install-data-files
+ ;; The .tiff images produced for tests are not
+ ;; reproducible and it is not desirable to have those
+ ;; distributed.
+ (lambda _
+ (substitute* '("test-data/itu/fax/Makefile.am"
+ "test-data/etsi/fax/Makefile.am")
+ (("nobase_data_DATA")
+ "noinst_DATA"))
+ #t))
+ (add-after 'install 'install-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((doc (string-append (assoc-ref outputs "doc")
+ "/share/doc/" ,name "-" ,version)))
+ (copy-recursively "doc/t38_manual" doc)
+ #t)))
+ (add-after 'install 'move-static-libraries
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (static (assoc-ref outputs "static")))
+ (mkdir-p (string-append static "/lib"))
+ (with-directory-excursion out
+ (for-each (lambda (file)
+ (rename-file file
+ (string-append static "/"
+ file)))
+ (find-files "lib" "\\.a$")))
+ #t))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)
+ ;; For the tests
+ ("fftw" ,fftw)
+ ("libpcap" ,libpcap)
+ ("libsndfile" ,libsndfile)
+ ("libtiff" ,libtiff)
+ ("netpbm" ,netpbm)
+ ("sox" ,sox)
+ ;; For the documentation
+ ("docbook-xml" ,docbook-xml-4.3)
+ ("docbook-xsl" ,docbook-xsl)
+ ("doxygen" ,doxygen)
+ ("libxml2" ,libxml2)
+ ("libxslt" ,libxslt)))
+ (synopsis "DSP library for telephony")
+ (description "SpanDSP is a library of DSP functions for telephony, in the
+8000 sample per second world of E1s, T1s, and higher order PCM channels. It
+contains low level functions, such as basic filters. It also contains higher
+level functions, such as cadenced supervisory tone detection, and a complete
+software FAX machine.")
+ (home-page "https://web.archive.org/web/20180626203108/\
+https://www.soft-switch.org/index.html")
+ (license (list license:lgpl2.1+ ;for the library
+ license:gpl2+)))) ;for the test suites and support programs
+
(define-public commoncpp
(package
(name "commoncpp")
@@ -282,52 +381,6 @@ supporting cryptographic kernel.")
(home-page "https://github.com/cisco/libsrtp")
(license license:bsd-3)))
-(define-public bctoolbox
- (package
- (name "bctoolbox")
- (version "0.2.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://savannah/linphone/bctoolbox/bctoolbox-"
- version ".tar.gz"))
- (sha256
- (base32
- "14ivv6bh6qywys6yyb34scy9w78d636xl1f7cyxm3gwx2qv71lx5"))))
- (build-system gnu-build-system)
- (arguments '(#:make-flags '("CFLAGS=-fPIC")))
- (native-inputs
- `(("cunit" ,cunit)))
- (inputs
- `(("mbedtls" ,mbedtls-apache)))
- (home-page "https://www.linphone.org")
- (synopsis "Utilities library for linphone software")
- (description "BCtoolbox is a utilities library used by Belledonne
-Communications software like linphone.")
- (license license:gpl2+)))
-
-(define-public ortp
- (package
- (name "ortp")
- (version "0.27.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://download.savannah.nongnu.org/"
- "releases/linphone/ortp/sources/ortp-"
- version ".tar.gz"))
- (sha256
- (base32
- "1by0dqdqrj5avzcvjws30g8v5sa61wj12x00sxw0kn1smcrshqgb"))))
- (build-system gnu-build-system)
- (inputs
- `(("bctoolbox" ,bctoolbox)))
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (home-page "https://linphone.org/")
- (synopsis "Implementation of the Real-time transport protocol")
- (description "oRTP is a library implementing the Real-time transport
-protocol (RFC 3550).")
- (license license:lgpl2.1+)))
-
(define-public libiax2
(let ((commit "0e5980f1d78ce462e2d1ed6bc39ff35c8341f201"))
;; This is the commit used by the Ring Project.
@@ -916,11 +969,11 @@ This package provides a library common to all Jami clients.")
("libnotify" ,libnotify)
("clutter" ,clutter)
("clutter-gtk" ,clutter-gtk)
- ("gettext" ,gnu-gettext)
("libcanberra" ,libcanberra)
("webkitgtk" ,webkitgtk)))
(native-inputs
`(("pkg-config" ,pkg-config)
+ ("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("doxygen" ,doxygen)))
(propagated-inputs
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index dd90ab2b72..3f210cd6e8 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -12,6 +12,7 @@
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Danny Milosavljevic <dannym+a@scratchpost.org>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -5987,8 +5988,8 @@ other things it comes with full Unicode support.")
"1xbkv8ll889933gyi2a5hj7hhh216k04gn8fwz5lfv5iz8s34gbq"))))
(build-system gnu-build-system)
(arguments '(#:tests? #f)) ; no `check' target
- (inputs `(("texinfo" ,texinfo)
- ("python" ,python-2) ; incompatible with Python 3 (print syntax)
+ (native-inputs `(("texinfo" ,texinfo)))
+ (inputs `(("python" ,python-2) ; incompatible with Python 3 (print syntax)
("which" ,which)))
(home-page "https://launchpad.net/rubber")
(synopsis "Wrapper for LaTeX and friends")
diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm
index acb607a7da..7457d99653 100644
--- a/gnu/packages/texinfo.scm
+++ b/gnu/packages/texinfo.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -228,6 +229,18 @@ Texi2HTML.")
;; Files in /lib under lgpl2.1+ and x11
(license gpl2+)))
+(define-public texi2html-1.82
+ (package
+ (inherit texi2html)
+ (version "1.82")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://savannah/texi2html/"
+ "texi2html-" version ".tar.bz2"))
+ (sha256
+ (base32 "1wdli2szkgm3l0vx8rf6lylw0b0m47dlz9iy004n928nqkzix76n"))))))
+
(define-public pinfo
(package
(name "pinfo")
@@ -264,7 +277,7 @@ Texi2HTML.")
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
- ("gettext" ,gnu-gettext)
+ ("gettext" ,gettext-minimal)
("libtool" ,libtool)
("texinfo" ,texinfo)))
(home-page "https://github.com/baszoetekouw/pinfo")
diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm
index 41a0802cde..a0599764cf 100644
--- a/gnu/packages/time.scm
+++ b/gnu/packages/time.scm
@@ -16,6 +16,7 @@
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -36,6 +37,7 @@
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (gnu packages)
@@ -236,6 +238,34 @@ datetime module, available in Python 2.3+.")
(define-public python2-parsedatetime
(package-with-python2 python-parsedatetime))
+(define-public python-ciso8601
+ (package
+ (name "python-ciso8601")
+ (version "2.1.3")
+ (source
+ (origin
+ (method git-fetch)
+ ;; The PyPi distribution doesn't include the tests.
+ (uri (git-reference
+ (url "https://github.com/closeio/ciso8601.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0g1aiyc1ayh0rnibyy416m5mmck38ksgdm3jsy0z3rxgmgb24951"))))
+ (build-system python-build-system)
+ ;; Pytz should only be required for Python 2, but the test suite fails
+ ;; without it.
+ (native-inputs
+ `(("python-pytz" ,python-pytz)))
+ (home-page "https://github.com/closeio/ciso8601")
+ (synopsis
+ "Fast ISO8601 date time parser")
+ (description
+ "The package ciso8601 converts ISO 8601 or RFC 3339 date time strings into
+Python datetime objects.")
+ (license expat)))
+
(define-public python-tzlocal
(package
(name "python-tzlocal")
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 812057c6ed..a73b4977a0 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -165,6 +165,7 @@ living in the same process.")
(define-public gnutls
(package
(name "gnutls")
+ (replacement gnutls-3.6.13)
(version "3.6.12")
(source (origin
(method url-fetch)
@@ -250,10 +251,23 @@ required structures.")
(properties '((ftp-server . "ftp.gnutls.org")
(ftp-directory . "/gcrypt/gnutls")))))
-(define-public gnutls/guile-2.0
- ;; GnuTLS for Guile 2.0.
+(define gnutls-3.6.13
(package
(inherit gnutls)
+ (version "3.6.13")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnupg/gnutls/v"
+ (version-major+minor version)
+ "/gnutls-3.6.13.tar.xz"))
+ (patches (search-patches "gnutls-skip-trust-store-test.patch"))
+ (sha256
+ (base32
+ "0f1gnm0756qms5cpx6yn6xb8d3imc2gkqmygf12n9x6r8zs1s11j"))))))
+
+(define-public gnutls/guile-2.0
+ ;; GnuTLS for Guile 2.0.
+ (package/inherit gnutls
(name "guile2.0-gnutls")
(inputs `(("guile" ,guile-2.0)
,@(alist-delete "guile" (package-inputs gnutls))))))
@@ -263,8 +277,7 @@ required structures.")
;; Authentication of Named Entities. This is required for GNS functionality
;; by GNUnet and gnURL. This is done in an extra package definition
;; to have the choice between GnuTLS with Dane and without Dane.
- (package
- (inherit gnutls)
+ (package/inherit gnutls
(name "gnutls-dane")
(inputs `(("unbound" ,unbound)
,@(package-inputs gnutls)))))
diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm
index 61e52ba22c..6c6da2379a 100644
--- a/gnu/packages/tor.scm
+++ b/gnu/packages/tor.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2017, 2018, 2019 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -141,8 +142,9 @@ rejects UDP traffic from the application you're using.")
(inputs
`(("w3m" ,w3m)
("pcre" ,pcre)
- ("zlib" ,zlib)
- ("autoconf" ,autoconf)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("autoconf" ,autoconf)
("automake" ,automake)))
(home-page "https://www.privoxy.org")
(synopsis "Web proxy with advanced filtering capabilities for enhancing privacy")
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 75de83ab60..d2d2b23f02 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -621,37 +621,26 @@ on @command{git}, and use any regular Git hosting service.")
(define-public libgit2
(package
(name "libgit2")
- (version "0.99.0")
+ (version "1.0.0")
(source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/libgit2/libgit2.git")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
+ (method url-fetch)
+ (uri (string-append "https://github.com/libgit2/libgit2/"
+ "releases/download/v" version
+ "/libgit2-" version ".tar.gz"))
(sha256
(base32
- "0qxzv49ip378g1n7hrbifb9c6pys2kj1hnxcafmbb94gj3pgd9kg"))
+ "1d09ni0v3vammk8zqmmwks92fh3wwnsxpyrh4s5wwdb3gxma27va"))
(patches (search-patches "libgit2-mtime-0.patch"))
-
- ;; Remove bundled software. Keep "http-parser" because it
- ;; contains patches that are not available in the system version.
(snippet '(begin
- (with-directory-excursion "deps"
- (for-each (lambda (dir)
- (delete-file-recursively dir))
- (lset-difference equal?
- (scandir ".")
- '("." ".." "http-parser"))))
- #t))
- (modules '((guix build utils)
- (srfi srfi-1)
- (ice-9 ftw)))))
+ (delete-file-recursively "deps") #t))
+ (modules '((guix build utils)))))
(build-system cmake-build-system)
(outputs '("out" "debug"))
(arguments
`(#:configure-flags
(list "-DUSE_NTLMCLIENT=OFF" ;TODO: package this
"-DREGEX_BACKEND=pcre2"
+ "-DUSE_HTTP_PARSER=system"
,@(if (%current-target-system)
`((string-append
"-DPKG_CONFIG_EXECUTABLE="
@@ -660,14 +649,6 @@ on @command{git}, and use any regular Git hosting service.")
'()))
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'fix-pcre2-reference
- (lambda _
- ;; Use PCRE2 with 8-bit character support, as there is no "libpcre2.pc".
- ;; See <https://github.com/libgit2/libgit2/issues/5438>.
- (substitute* "src/CMakeLists.txt"
- (("\"libpcre2\"")
- "\"libpcre2-8\""))
- #t))
(add-after 'unpack 'fix-hardcoded-paths
(lambda _
(substitute* "tests/repo/init.c"
@@ -676,10 +657,6 @@ on @command{git}, and use any regular Git hosting service.")
(("/bin/cp") (which "cp"))
(("/bin/rm") (which "rm")))
#t))
- (add-after 'unpack 'make-git-checkout-writable
- (lambda _
- (for-each make-file-writable (find-files "."))
- #t))
;; Run checks more verbosely, unless we are cross-compiling.
(replace 'check
(lambda* (#:key (tests? #t) #:allow-other-keys)
@@ -688,7 +665,8 @@ on @command{git}, and use any regular Git hosting service.")
;; Tests may be disabled if cross-compiling.
(format #t "Test suite not run.~%")))))))
(inputs
- `(("libssh2" ,libssh2)))
+ `(("libssh2" ,libssh2)
+ ("http-parser" ,http-parser)))
(native-inputs
`(("pkg-config" ,pkg-config)
("python" ,python)))
@@ -697,7 +675,7 @@ on @command{git}, and use any regular Git hosting service.")
`(("openssl" ,openssl)
("pcre2" ,pcre2)
("zlib" ,zlib)))
- (home-page "https://libgit2.github.com/")
+ (home-page "https://libgit2.org/")
(synopsis "Library providing Git core methods")
(description
"Libgit2 is a portable, pure C implementation of the Git core methods
@@ -2159,21 +2137,16 @@ by rclone usable with git-annex.")
(define-public fossil
(package
(name "fossil")
- (version "2.8")
+ (version "2.10")
(source
(origin
(method url-fetch)
- ;; Older downloads are moved to another URL.
- (uri (list
- (string-append
- "https://www.fossil-scm.org/index.html/uv/download/"
- "fossil-src-" version ".tar.gz")
- (string-append
+ (uri (string-append
"https://www.fossil-scm.org/index.html/uv/"
- "fossil-src-" version ".tar.gz")))
+ "fossil-src-" version ".tar.gz"))
(sha256
(base32
- "0pbinf8d2kj1j7niblhzjd2l2khg6r2pn2xvig6gavz27p3vwcka"))
+ "041bs4fgk52fw58p7s084pxk9d9vs5v2f2pjbznqawz75inpg8yq"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 23533dfdbf..cbdc5fb78a 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -38,6 +38,7 @@
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Josh Holland <josh@inv.alid.pw>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -65,6 +66,7 @@
#:use-module (guix git-download)
#:use-module (guix svn-download)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system meson)
@@ -1538,7 +1540,7 @@ projects while introducing many more.")
(define-public mpv-mpris
(package
(name "mpv-mpris")
- (version "0.2")
+ (version "0.4")
(source
(origin
(method git-fetch)
@@ -1548,19 +1550,17 @@ projects while introducing many more.")
(file-name (git-file-name name version))
(sha256
(base32
- "06hq3j1jjlaaz9ss5l7illxz8vm5bng86jl24kawglwkqayhdnjx"))))
- (build-system gnu-build-system)
+ "1fr3jvja8s2gdpx8qyk9r17977flms3qpm8zci62nd9r5wjdvr5i"))))
+ (build-system copy-build-system)
(arguments
- '(#:tests? #f ; no tests
- #:make-flags '("CC=gcc")
+ '(#:install-plan
+ '(("mpris.so" "lib/"))
#:phases
(modify-phases %standard-phases
- (delete 'configure) ; no configure script
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (install-file "mpris.so" (string-append out "/lib")))
- #t)))))
+ (add-before 'install 'build
+ (lambda _
+ (setenv "CC" (which "gcc"))
+ (invoke "make"))))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
@@ -3278,7 +3278,6 @@ programmers to access a standard API to open and decompress media files.")
#t)))))
(inputs
`(("boost" ,boost)
- ("desktop-file-utils" ,desktop-file-utils)
("ffms2" ,ffms2)
("fftw" ,fftw)
("hunspell" ,hunspell)
@@ -3291,6 +3290,7 @@ programmers to access a standard API to open and decompress media files.")
("wxwidgets-gtk2" ,wxwidgets-gtk2)))
(native-inputs
`(("intltool" ,intltool)
+ ("desktop-file-utils" ,desktop-file-utils)
("pkg-config" ,pkg-config)))
(home-page "http://www.aegisub.org/")
(synopsis "Subtitle engine")
@@ -3656,7 +3656,7 @@ API. It includes bindings for Python, Ruby, and other languages.")
(define-public openshot
(package
(name "openshot")
- (version "2.4.4")
+ (version "2.5.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3665,10 +3665,11 @@ API. It includes bindings for Python, Ruby, and other languages.")
(file-name (git-file-name name version))
(sha256
(base32
- "0mg63v36h7l8kv2sgf6x8c1n3ygddkqqwlciz7ccxpbm4x1idqba"))
+ "0qc5i0ay6j2wab1whl41sjb71cj02pg6y79drf7asrprq8b2rmfq"))
(modules '((guix build utils)))
(snippet
'(begin
+ ;; TODO: Unbundle jquery and others from src/timeline/media
(delete-file-recursively "src/images/fonts") #t))))
(build-system python-build-system)
(inputs
@@ -3681,14 +3682,17 @@ API. It includes bindings for Python, Ruby, and other languages.")
("python-requests" ,python-requests)
("qtsvg" ,qtsvg)))
(arguments
- `(#:tests? #f ;no tests
- #:modules ((guix build python-build-system)
+ `(#:modules ((guix build python-build-system)
(guix build qt-utils)
(guix build utils))
#:imported-modules (,@%python-build-system-modules
(guix build qt-utils))
#:phases (modify-phases %standard-phases
(delete 'build) ;install phase does all the work
+ (replace 'check
+ (lambda _
+ (setenv "QT_QPA_PLATFORM" "offscreen")
+ (invoke "python" "src/tests/query_tests.py")))
(add-after 'unpack 'patch-font-location
(lambda* (#:key inputs #:allow-other-keys)
(let ((font (assoc-ref inputs "font-ubuntu")))
@@ -3707,7 +3711,7 @@ API. It includes bindings for Python, Ruby, and other languages.")
(let ((out (assoc-ref outputs "out")))
(wrap-qt-program out "openshot-qt"))
#t)))))
- (home-page "https://openshot.org")
+ (home-page "https://www.openshot.org/")
(synopsis "Video editor")
(description "OpenShot takes your videos, photos, and music files and
helps you create the film you have always dreamed of. Easily add sub-titles,
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index 75e8f0bb2e..1d70de2ffa 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -851,7 +851,7 @@ through its msgpack-rpc API.")
(define-public vim-asyncrun
(package
(name "vim-asyncrun")
- (version "2.6.5")
+ (version "2.7.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -860,7 +860,7 @@ through its msgpack-rpc API.")
(file-name (git-file-name name version))
(sha256
(base32
- "1n0yzv8psskhx8h4g7dz64h2llm9mnljhvl4hrnsjx6znkni8vwp"))))
+ "0f7slvz28772qsbrb8xfwrkprfm90wc9i36xhn797lacxcxgwqpw"))))
(build-system copy-build-system)
(arguments
'(#:install-plan
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index d46b29ec13..889c744050 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -453,61 +453,47 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers
;; 3-clause BSD license.
(license license:bsd-3)))
-(define-public wireguard
+(define-public wireguard-linux-compat
(package
- (name "wireguard")
- (version "0.0.20191219")
+ (name "wireguard-linux-compat")
+ (version "1.0.20200401")
(source (origin
(method url-fetch)
- (uri (string-append "https://git.zx2c4.com/WireGuard/snapshot/"
- "WireGuard-" version ".tar.xz"))
+ (uri (string-append "https://git.zx2c4.com/wireguard-linux-compat/"
+ "snapshot/wireguard-linux-compat-" version
+ ".tar.xz"))
(sha256
(base32
- "1rxhhf18vnlbxpaxib6y55gbvr5h9dcvl8sn2l5slzz97066zfjs"))))
+ "0ymprz3h4b92wlcqm5k5vmcgap8pjv202bgkdx0axmp12n1lmyvx"))))
(build-system gnu-build-system)
- (outputs '("out" ; The WireGuard userspace tools
- "kernel-patch")) ; A patch to build Linux with WireGuard support
(arguments
- `(#:tests? #f ; No tests available.
- #:make-flags
- (list "CC=gcc"
- "--directory=src/tools"
- "WITH_BASHCOMPLETION=yes"
- ;; Build and install the helper script wg-quick(8).
- "WITH_WGQUICK=yes"
- (string-append "PREFIX=" (assoc-ref %outputs "out"))
- (string-append "SYSCONFDIR=" (assoc-ref %outputs "out") "/etc"))
+ `(#:tests? #f ; No test suite
#:modules ((guix build gnu-build-system)
(guix build utils)
(ice-9 popen)
(ice-9 textual-ports))
#:phases
(modify-phases %standard-phases
- ;; There is no ./configure script.
- (delete 'configure)
- ;; Until WireGuard is added to the upstream Linux kernel, it is
- ;; distributed as a kernel patch generated by this script.
- (add-after 'patch-source-shebangs 'make-patch
+ (delete 'configure) ; No ./configure script
+ (replace 'build
(lambda* (#:key outputs #:allow-other-keys)
- (let* ((output (string-append (assoc-ref outputs "kernel-patch")
- "/wireguard.patch"))
- (patch-builder "./contrib/kernel-tree/create-patch.sh")
+ (let* ((patch-builder "./kernel-tree-scripts/create-patch.sh")
(port (open-input-pipe patch-builder))
(str (get-string-all port)))
(close-pipe port)
- (mkdir-p (dirname output))
- (call-with-output-file output
+ (call-with-output-file "wireguard.patch"
(lambda (port)
(format port "~a" str))))
- #t)))))
- (inputs
- `(("libmnl" ,libmnl)))
- (home-page "https://www.wireguard.com/")
- (synopsis "Tools for configuring WireGuard")
- (description "This package provides the userspace tools for setting and
-retrieving configuration of WireGuard network tunnel interfaces, and a patch
-that can be applied to a Linux kernel source tree in order to build it with
-WireGuard support.")
+ #t))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (install-file "wireguard.patch"
+ (assoc-ref %outputs "out"))
+ #t)))))
+ (home-page "https://git.zx2c4.com/wireguard-linux-compat/")
+ (synopsis "WireGuard kernel module for Linux 3.10 through 5.5")
+ (description "This is an out-of-tree Linux kernel patch adding WireGuard to
+kernel versions 3.10 through 5.5. WireGuard was added to Linux 5.6.")
(license license:gpl2)))
(define-public wireguard-tools
@@ -556,6 +542,9 @@ public keys and can roam across IP addresses.")
(list license:lgpl2.1+ ; src/netlink.h & contrib/embeddable-wg-library
license:gpl2)))) ; everything else
+(define-public wireguard
+ (deprecated-package "wireguard" wireguard-tools))
+
(define-public xl2tpd
(package
(name "xl2tpd")
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index d3b4e5cc33..6a2c219aac 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -345,7 +345,7 @@ shader compilation.")
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
- ("gettext" ,gnu-gettext)
+ ("gettext" ,gettext-minimal)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(inputs
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 2b1585c8e3..e6883b7365 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -43,6 +43,7 @@
;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2018, 2019, 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
+;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -153,14 +154,14 @@
(define-public httpd
(package
(name "httpd")
- (version "2.4.41")
+ (version "2.4.43")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/httpd/httpd-"
version ".tar.bz2"))
(sha256
(base32
- "0h7a31yxwyh7h521frnmlppl0h7sh9icc3ka6vlmlcg5iwllhg8k"))))
+ "0hqgw47r3p3521ygkkqs8s30s5crm683081avj6330gwncm6b5x4"))))
(build-system gnu-build-system)
(native-inputs `(("pcre" ,pcre "bin"))) ;for 'pcre-config'
(inputs `(("apr" ,apr)
@@ -3258,6 +3259,35 @@ IO::Socket::INET, so you can perform socket operations directly on it too.")
used by the HTTP protocol (and then some more).")
(home-page "https://metacpan.org/release/HTTP-Date")))
+(define-public perl-http-lite
+ (package
+ (name "perl-http-lite")
+ (version "2.44")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/N/NE/NEILB/HTTP-Lite-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0z77nflj8zdcfg70kc93glq5kmd6qxn2nf7h70x4xhfg25wkvr1q"))))
+ (build-system perl-build-system)
+ (native-inputs `(("perl-cgi" ,perl-cgi)))
+ (home-page "https://metacpan.org/release/HTTP-Lite")
+ (synopsis "Lightweight HTTP implementation")
+ (description "@code{HTTP::Lite} is a stand-alone lightweight
+HTTP/1.1 implementation for perl. It is intended for use in
+situations where it is desirable to install the minimal number of
+modules to achieve HTTP support. @code{HTTP::Lite} is ideal for
+CGI (or mod_perl) programs or for bundling for redistribution with
+larger packages where only HTTP GET and POST functionality are
+necessary. @code{HTTP::Lite} is compliant with the Host header,
+necessary for name based virtual hosting, and supports proxies.
+Additionally, @code{HTTP::Lite} supports a callback to allow
+processing of request data as it arrives.")
+ (license license:perl-license)))
+
(define-public perl-http-message
(package
(name "perl-http-message")
@@ -5792,6 +5822,20 @@ into your tests. It automatically starts up a HTTP server in a separate thread
(uri (git-reference (url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
+ (patches
+ ;; When parsing URLs, treat an empty port (eg
+ ;; `http://hostname:/`) as if it were unspecified. This patch is
+ ;; applied to Fedora's http-parser and to libgit2's bundled version.
+ (list
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://src.fedoraproject.org/rpms/http-parser/raw/"
+ "e89b4c4e2874c19079a5a1a2d2ccc61b551aa289/"
+ "f/0001-url-treat-empty-port-as-default.patch"))
+ (sha256
+ (base32
+ "0pbxf2nq9pcn299k2b2ls8ldghaqln9glnp79gi57mamx4iy0f6g")))))
(sha256
(base32
"189zi61vczqgmqjd2myjcjbbi5icrk7ccs0kn6nj8hxqiv5j3811"))))
@@ -6101,12 +6145,12 @@ file links.")
`(#:configure-flags (list "--with-ssl=openssl")
#:tests? #f)) ;No tests included
(native-inputs
- `(("gettext" ,gnu-gettext)
+ `(("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(inputs
`(("expat" ,expat)
- ("openssl" ,openssl)))
+ ("openssl" ,openssl-1.0)))
(home-page "http://www.webdav.org/cadaver/")
(synopsis "Command-line WebDAV client")
(description
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 5d28cac38a..82f11d13fa 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -14,7 +14,7 @@
;;; Copyright © 2016 Ivan Vilata i Balaguer <ivan@selidor.net>
;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
;;; Copyright © 2017, 2019 Marius Bakke <mbakke@fastmail.com>
-;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2017, 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
;;; Copyright © 2018, 2019 Meiyo Peng <meiyo@riseup.net>
@@ -61,8 +61,10 @@
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
+ #:use-module (guix build-system trivial)
#:use-module (guix utils)
#:use-module (gnu packages)
+ #:use-module (gnu packages bash)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
@@ -97,6 +99,7 @@
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
+ #:use-module (gnu packages readline)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages suckless)
@@ -1658,9 +1661,77 @@ productive, customizable lisp based systems.")
(delete 'cleanup)
(delete 'create-symlinks)))))))
+(define-public stumpish
+ (let ((commit "dd5b037923ec7d3cc27c55806bcec5a1b8cf4e91")
+ (revision "1"))
+ (package
+ (name "stumpish")
+ (version (git-version "0.0.1" revision commit)) ;no upstream release
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/stumpwm/stumpwm-contrib.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ahxdj9f884afpzxczx6mx7l4nwg4kw6afqaq7lwhf7lxcwylldn"))))
+ (inputs
+ `(("bash" ,bash)
+ ("rlwrap" ,rlwrap)))
+ (build-system trivial-build-system)
+ (arguments
+ '(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (copy-recursively (assoc-ref %build-inputs "source") ".")
+ (chdir "util/stumpish")
+ (substitute* "stumpish"
+ (("rlwrap") (string-append (assoc-ref %build-inputs "rlwrap")
+ "/bin/rlwrap"))
+ (("/bin/sh") (string-append (assoc-ref %build-inputs "bash")
+ "/bin/bash")))
+ (install-file "stumpish" (string-append %output "/bin")))))
+ (home-page "https://github.com/stumpwm/stumpwm-contrib")
+ (synopsis "StumpWM interactive shell")
+ (description "This package provides a StumpWM interactive shell.")
+ (license (list license:gpl2+ license:gpl3+ license:bsd-2)))))
+
(define-public sbcl-stumpwm+slynk
(deprecated-package "sbcl-stumpwm-with-slynk" stumpwm+slynk))
+(define-public sbcl-stumpwm-ttf-fonts
+ (let ((commit "dd5b037923ec7d3cc27c55806bcec5a1b8cf4e91")
+ (revision "1"))
+ (package
+ (name "sbcl-ttf-fonts")
+ (version (git-version "0.0.1" revision commit)) ;no upstream release
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/stumpwm/stumpwm-contrib.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ahxdj9f884afpzxczx6mx7l4nwg4kw6afqaq7lwhf7lxcwylldn"))))
+ (inputs
+ `(("stumpwm" ,stumpwm "lib")
+ ("clx-truetype" ,sbcl-clx-truetype)))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _
+ (chdir "util/ttf-fonts"))))))
+ (home-page "https://github.com/stumpwm/stumpwm-contrib")
+ (synopsis "Implementation of TTF font rendering for Lisp")
+ (description "This package provides a Lisp implementation of TTF font
+rendering.")
+ (license (list license:gpl2+ license:gpl3+ license:bsd-2)))))
+
(define-public lemonbar
(let ((commit "35183ab81d2128dbb7b6d8e119cc57846bcefdb4")
(revision "1"))
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 937595cb9d..9275e3cd38 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -34,6 +34,7 @@
;;; Copyright © 2020 Ivan Vilata i Balaguer <ivan@selidor.net>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Damien Cassou <damien@cassou.me>
+;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2021,6 +2022,42 @@ can optionally use some appearance settings from XSettings, tint2 and GTK.")
(home-page "https://jgmenu.github.io/")
(license license:gpl2)))
+(define-public xwallpaper
+ (package
+ (name "xwallpaper")
+ (version "0.6.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/stoeckmann/xwallpaper")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "175fzifvia58vah2x7509drvfn3xfv5d9szgh9x1w1a1w8rcs2hx"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libjpeg-turbo" ,libjpeg-turbo)
+ ("libpng" ,libpng)
+ ("libxpm" ,libxpm)
+ ("pixman" ,pixman)
+ ("xcb-util" ,xcb-util)
+ ("xcb-util-image" ,xcb-util-image)))
+ (home-page "https://github.com/stoeckmann/xwallpaper")
+ (synopsis "Wallpaper setting utility for X")
+ (description
+ "The xwallpaper utility allows you to set image files as your X
+wallpaper. JPEG, PNG, and XPM file formats are supported.
+
+The wallpaper is also advertised to programs which support semi-transparent
+backgrounds.")
+ (license license:isc)))
+
(define-public xwrits
(package
(name "xwrits")
@@ -2171,17 +2208,17 @@ tools to complement clipnotify.")
(license license:public-domain)))
(define-public clipmenu
- (let ((commit "a495bcc7a4ab125182a661c5808364f66938a87c")
+ (let ((commit "bcbe7b144598db4a103f14e8408c4b7327d6d5e1")
(revision "1"))
(package
(name "clipmenu")
- (version (string-append "5.6.0-"
+ (version (string-append "6.0.1-"
revision "." (string-take commit 7)))
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/cdown/clipnotify.git")
+ (url "https://github.com/cdown/clipmenu.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index 5b9aa49827..87c2ae7718 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -11,6 +11,8 @@
;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com>
;;; Copyright © 2019 L p R n d n <guix@lprndn.info>
;;; Copyright © 2019 Ingo Ruhnke <grumbel@gmail.com>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
+;;; Copyright © 2020 Naga Malleswari <nagamalli@riseup.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -92,15 +94,15 @@
(define-public libxfce4util
(package
(name "libxfce4util")
- (version "4.14.0")
+ (version "4.15.0")
(source (origin
(method url-fetch)
- (uri (string-append "http://archive.xfce.org/xfce/"
+ (uri (string-append "https://archive.xfce.org/src/xfce/libxfce4util/"
(version-major+minor version)
- "/src/" name "-" version ".tar.bz2"))
+ "/" name "-" version ".tar.bz2"))
(sha256
(base32
- "093338faqqsrlc8dkmzr7qv411ysxczg1wlg7s3gvhrfk6vpkb9j"))))
+ "1lq9i30jdci4if2daxdcqni0x5jvpnaflgp19za9sks3gm4jma5v"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -926,10 +928,10 @@ inhibit interface which allows applications to prevent automatic sleep.")
(build-system gnu-build-system)
(native-inputs
`(("intltool" ,intltool)
+ ("desktop-file-utils" ,desktop-file-utils)
("pkg-config" ,pkg-config)))
(inputs
- `(("desktop-file-utils" ,desktop-file-utils)
- ("gtk+" ,gtk+)
+ `(("gtk+" ,gtk+)
("libexif" ,libexif)
("libxfce4ui" ,libxfce4ui)
("librsvg" ,librsvg)
@@ -1706,10 +1708,10 @@ interfaces of your choice in the panel.")
(build-system gnu-build-system)
(native-inputs
`(("intltool" ,intltool)
+ ("desktop-file-utils" ,desktop-file-utils)
("pkg-config" ,pkg-config)))
(inputs
- `(("desktop-file-utils" ,desktop-file-utils)
- ("gtk+-2" ,gtk+-2)
+ `(("gtk+-2" ,gtk+-2)
("exo" ,exo)
("libxfce4ui" ,libxfce4ui)
("xfce4-panel" ,xfce4-panel)))
diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm
index edb690b5ff..794dad517e 100644
--- a/gnu/packages/xiph.scm
+++ b/gnu/packages/xiph.scm
@@ -9,6 +9,7 @@
;;; Copyright © 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -285,10 +286,10 @@ meaning that audio is compressed in FLAC without any loss in quality.")
"0s3vr2nxfxlf1k75iqpp4l78yf4gil3f0v778kvlngbchvaq23n4"))))
(build-system gnu-build-system)
(native-inputs `(("doxygen" ,doxygen)
+ ("bison" ,bison)
("pkg-config" ,pkg-config)))
;; FIXME: Add optional input liboggz
- (inputs `(("bison" ,bison)
- ("libogg" ,libogg)
+ (inputs `(("libogg" ,libogg)
("libpng" ,libpng)
("python" ,python-wrapper)
("zlib" ,zlib)))
diff --git a/gnu/services.scm b/gnu/services.scm
index e7a3a95e43..832d6984d8 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -322,7 +322,8 @@ This is a shorthand for (map (lambda (svc) ...) %base-services)."
"Return as a monadic value the derivation of the 'system' directory
containing the given entries."
(mlet %store-monad ((entries mentries)
- (extensions (sequence %store-monad mextensions)))
+ (extensions (mapm/accumulate-builds identity
+ mextensions)))
(lower-object
(file-union "system"
(append entries (concatenate extensions))))))
@@ -579,6 +580,10 @@ ACTIVATION-SCRIPT-TYPE."
#~(begin
(setenv "LINUX_MODULE_DIRECTORY"
"/run/booted-system/kernel/lib/modules")
+ ;; FIXME: Remove this crutch when the patch #40422,
+ ;; updating to kmod 27 is merged.
+ (setenv "MODPROBE_OPTIONS"
+ "-C /etc/modprobe.d")
(apply execl #$modprobe
(cons #$modprobe (cdr (command-line))))))))
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 194dd3b344..08ab5970dc 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -1436,10 +1436,17 @@ Service Switch}, for an example."
(documentation "Run the syslog daemon (syslogd).")
(provision '(syslogd))
(requirement '(user-processes))
- (start #~(make-forkexec-constructor
- (list #$(syslog-configuration-syslogd config)
- "--rcfile" #$(syslog-configuration-config-file config))
- #:pid-file "/var/run/syslog.pid"))
+ (start #~(let ((spawn (make-forkexec-constructor
+ (list #$(syslog-configuration-syslogd config)
+ "--rcfile"
+ #$(syslog-configuration-config-file config))
+ #:pid-file "/var/run/syslog.pid")))
+ (lambda ()
+ ;; Set the umask such that file permissions are #o640.
+ (let ((mask (umask #o137))
+ (pid (spawn)))
+ (umask mask)
+ pid))))
(stop #~(make-kill-destructor))))))
;; Snippet adapted from the GNU inetutils manual.
@@ -1633,6 +1640,30 @@ archive' public keys, with GUIX."
(define %default-guix-configuration
(guix-configuration))
+(define shepherd-set-http-proxy-action
+ ;; Shepherd action to change the HTTP(S) proxy.
+ (shepherd-action
+ (name 'set-http-proxy)
+ (documentation
+ "Change the HTTP(S) proxy used by 'guix-daemon' and restart it.")
+ (procedure #~(lambda* (_ #:optional proxy)
+ (let ((environment (environ)))
+ ;; A bit of a hack: communicate PROXY to the 'start'
+ ;; method via environment variables.
+ (if proxy
+ (begin
+ (format #t "changing HTTP/HTTPS \
+proxy of 'guix-daemon' to ~s...~%"
+ proxy)
+ (setenv "http_proxy" proxy))
+ (begin
+ (format #t "clearing HTTP/HTTPS \
+proxy of 'guix-daemon'...~%")
+ (unsetenv "http_proxy")))
+ (action 'guix-daemon 'restart)
+ (environ environment)
+ #t)))))
+
(define (guix-shepherd-service config)
"Return a <shepherd-service> for the Guix daemon service with CONFIG."
(match-record config <guix-configuration>
@@ -1644,47 +1675,58 @@ archive' public keys, with GUIX."
(documentation "Run the Guix daemon.")
(provision '(guix-daemon))
(requirement '(user-processes))
+ (actions (list shepherd-set-http-proxy-action))
(modules '((srfi srfi-1)))
(start
- #~(make-forkexec-constructor
- (cons* #$(file-append guix "/bin/guix-daemon")
- "--build-users-group" #$build-group
- "--max-silent-time" #$(number->string max-silent-time)
- "--timeout" #$(number->string timeout)
- "--log-compression" #$(symbol->string log-compression)
- #$@(if use-substitutes?
- '()
- '("--no-substitutes"))
- "--substitute-urls" #$(string-join substitute-urls)
- #$@extra-options
-
- ;; Add CHROOT-DIRECTORIES and all their dependencies (if
- ;; these are store items) to the chroot.
- (append-map (lambda (file)
- (append-map (lambda (directory)
- (list "--chroot-directory"
- directory))
- (call-with-input-file file
- read)))
- '#$(map references-file chroot-directories)))
-
- #:environment-variables
- (list #$@(if http-proxy
- (list (string-append "http_proxy=" http-proxy))
- '())
- #$@(if tmpdir
- (list (string-append "TMPDIR=" tmpdir))
- '())
-
- ;; Make sure we run in a UTF-8 locale so that 'guix
- ;; offload' correctly restores nars that contain UTF-8
- ;; file names such as 'nss-certs'. See
- ;; <https://bugs.gnu.org/32942>.
- (string-append "GUIX_LOCPATH="
- #$glibc-utf8-locales "/lib/locale")
- "LC_ALL=en_US.utf8")
-
- #:log-file #$log-file))
+ #~(lambda _
+ (define proxy
+ ;; HTTP/HTTPS proxy. The 'http_proxy' variable is set by
+ ;; the 'set-http-proxy' action.
+ (or (getenv "http_proxy") #$http-proxy))
+
+ (fork+exec-command
+ (cons* #$(file-append guix "/bin/guix-daemon")
+ "--build-users-group" #$build-group
+ "--max-silent-time" #$(number->string max-silent-time)
+ "--timeout" #$(number->string timeout)
+ "--log-compression" #$(symbol->string log-compression)
+ #$@(if use-substitutes?
+ '()
+ '("--no-substitutes"))
+ "--substitute-urls" #$(string-join substitute-urls)
+ #$@extra-options
+
+ ;; Add CHROOT-DIRECTORIES and all their dependencies
+ ;; (if these are store items) to the chroot.
+ (append-map (lambda (file)
+ (append-map (lambda (directory)
+ (list "--chroot-directory"
+ directory))
+ (call-with-input-file file
+ read)))
+ '#$(map references-file
+ chroot-directories)))
+
+ #:environment-variables
+ (append (list #$@(if tmpdir
+ (list (string-append "TMPDIR=" tmpdir))
+ '())
+
+ ;; Make sure we run in a UTF-8 locale so that
+ ;; 'guix offload' correctly restores nars that
+ ;; contain UTF-8 file names such as
+ ;; 'nss-certs'. See
+ ;; <https://bugs.gnu.org/32942>.
+ (string-append "GUIX_LOCPATH="
+ #$glibc-utf8-locales
+ "/lib/locale")
+ "LC_ALL=en_US.utf8")
+ (if proxy
+ (list (string-append "http_proxy=" proxy)
+ (string-append "https_proxy=" proxy))
+ '()))
+
+ #:log-file #$log-file)))
(stop #~(make-kill-destructor))))))
(define (guix-accounts config)
@@ -2444,6 +2486,8 @@ to handle."
(service guix-service-type)
(service nscd-service-type)
+ (service rottlog-service-type)
+
;; The LVM2 rules are needed as soon as LVM2 or the device-mapper is
;; used, so enable them by default. The FUSE and ALSA rules are
;; less critical, but handy.
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 16ee4d3537..7300ff5f4a 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -932,15 +932,23 @@ and extends polkit with the actions from @code{gnome-settings-daemon}."
mate-desktop-configuration?
(mate-package mate-package (default mate)))
+(define (mate-polkit-extension config)
+ "Return the list of packages for CONFIG's MATE package that extend polkit."
+ (let ((mate (mate-package config)))
+ (map (lambda (input)
+ ((package-direct-input-selector input) mate))
+ '("mate-system-monitor" ;kill, renice processes
+ "mate-settings-daemon" ;date/time settings
+ "mate-power-manager" ;modify brightness
+ "mate-control-center" ;RandR, display properties FIXME
+ "mate-applets")))) ;CPU frequency scaling
+
(define mate-desktop-service-type
(service-type
(name 'mate-desktop)
(extensions
(list (service-extension polkit-service-type
- (compose list
- (package-direct-input-selector
- "mate-settings-daemon")
- mate-package))
+ mate-polkit-extension)
(service-extension profile-service-type
(compose list
mate-package))))
diff --git a/gnu/services/linux.scm b/gnu/services/linux.scm
index caa0326c31..781a61973c 100644
--- a/gnu/services/linux.scm
+++ b/gnu/services/linux.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,6 +26,8 @@
#:use-module (gnu packages linux)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
+ #:use-module (srfi srfi-34)
+ #:use-module (srfi srfi-35)
#:use-module (ice-9 match)
#:export (earlyoom-configuration
earlyoom-configuration?
@@ -37,7 +40,9 @@
earlyoom-configuration-ignore-positive-oom-score-adj?
earlyoom-configuration-show-debug-messages?
earlyoom-configuration-send-notification-command
- earlyoom-service-type))
+ earlyoom-service-type
+
+ kernel-module-loader-service-type))
;;;
@@ -123,3 +128,53 @@ representation."
(list (service-extension shepherd-root-service-type
(compose list earlyoom-shepherd-service))))
(description "Run @command{earlyoom}, the Early OOM daemon.")))
+
+
+;;;
+;;; Kernel module loader.
+;;;
+
+(define kernel-module-loader-shepherd-service
+ (match-lambda
+ ((and (? list? kernel-modules) ((? string?) ...))
+ (list
+ (shepherd-service
+ (documentation "Load kernel modules.")
+ (provision '(kernel-module-loader))
+ (requirement '(file-systems))
+ (respawn? #f)
+ (one-shot? #t)
+ (modules `((srfi srfi-1)
+ (srfi srfi-34)
+ (srfi srfi-35)
+ (rnrs io ports)
+ ,@%default-modules))
+ (start
+ #~(lambda _
+ (cond
+ ((null? '#$kernel-modules) #t)
+ ((file-exists? "/proc/sys/kernel/modprobe")
+ (let ((modprobe (call-with-input-file
+ "/proc/sys/kernel/modprobe" get-line)))
+ (guard (c ((message-condition? c)
+ (format (current-error-port) "~a~%"
+ (condition-message c))
+ #f))
+ (every (lambda (module)
+ (invoke/quiet modprobe "--" module))
+ '#$kernel-modules))))
+ (else
+ (format (current-error-port) "error: ~a~%"
+ "Kernel is missing loadable module support.")
+ #f)))))))))
+
+(define kernel-module-loader-service-type
+ (service-type
+ (name 'kernel-module-loader)
+ (description "Load kernel modules.")
+ (extensions
+ (list (service-extension shepherd-root-service-type
+ kernel-module-loader-shepherd-service)))
+ (compose concatenate)
+ (extend append)
+ (default-value '())))
diff --git a/gnu/services/telephony.scm b/gnu/services/telephony.scm
index 0a735315b4..e1259cc2df 100644
--- a/gnu/services/telephony.scm
+++ b/gnu/services/telephony.scm
@@ -182,7 +182,9 @@
"welcometext=" welcome-text "\n"
"port=" (number->string port) "\n"
(if server-password (list "serverpassword=" server-password "\n") '())
- (if max-user-bandwidth (list "bandwidth=" (number->string max-user-bandwidth)) '())
+ (if max-user-bandwidth (list "bandwidth="
+ (number->string max-user-bandwidth) "\n")
+ '())
"users=" (number->string max-users) "\n"
"uname=" user "\n"
"database=" database-file "\n"
diff --git a/gnu/services/web.scm b/gnu/services/web.scm
index fa5c34d5af..9ae84ddbc4 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -262,6 +262,14 @@
patchwork-virtualhost
patchwork-service-type
+ <mumi-configuration>
+ mumi-configuration
+ mumi-configuration?
+ mumi-configuration-mumi
+ mumi-configuration-mailer?
+ mumi-configuration-sender
+ mumi-configuration-smtp
+
mumi-service-type))
;;; Commentary:
@@ -1678,6 +1686,14 @@ WSGIPassAuthorization On
;;; Mumi.
;;;
+(define-record-type* <mumi-configuration>
+ mumi-configuration make-mumi-configuration
+ mumi-configuration?
+ (mumi mumi-configuration-mumi (default mumi))
+ (mailer? mumi-configuration-mailer? (default #t))
+ (sender mumi-configuration-sender (default #f))
+ (smtp mumi-configuration-smtp (default #f)))
+
(define %mumi-activation
(with-imported-modules '((guix build utils))
#~(begin
@@ -1702,25 +1718,43 @@ WSGIPassAuthorization On
(home-directory "/var/empty")
(shell (file-append shadow "/sbin/nologin")))))
-(define (mumi-shepherd-services mumi)
- (list (shepherd-service
- (provision '(mumi))
- (documentation "Mumi bug-tracking web interface.")
- (requirement '(networking))
- (start #~(make-forkexec-constructor
- '(#$(file-append mumi "/bin/mumi"))
- #:user "mumi" #:group "mumi"
- #:log-file "/var/log/mumi.log"))
- (stop #~(make-kill-destructor)))
- (shepherd-service
- (provision '(mumi-worker))
- (documentation "Mumi bug-tracking web interface.")
- (requirement '(networking))
- (start #~(make-forkexec-constructor
- '(#$(file-append mumi "/bin/mumi") "--worker")
- #:user "mumi" #:group "mumi"
- #:log-file "/var/log/mumi.worker.log"))
- (stop #~(make-kill-destructor)))))
+(define (mumi-shepherd-services config)
+ (match config
+ (($ <mumi-configuration> mumi mailer? sender smtp)
+ (list (shepherd-service
+ (provision '(mumi))
+ (documentation "Mumi bug-tracking web interface.")
+ (requirement '(networking))
+ (start #~(make-forkexec-constructor
+ `(#$(file-append mumi "/bin/mumi") "web"
+ ,@(if #$mailer? '() '("--disable-mailer")))
+ #:user "mumi" #:group "mumi"
+ #:log-file "/var/log/mumi.log"))
+ (stop #~(make-kill-destructor)))
+ (shepherd-service
+ (provision '(mumi-worker))
+ (documentation "Mumi bug-tracking web interface database worker.")
+ (requirement '(networking))
+ (start #~(make-forkexec-constructor
+ '(#$(file-append mumi "/bin/mumi") "worker")
+ #:user "mumi" #:group "mumi"
+ #:log-file "/var/log/mumi.worker.log"))
+ (stop #~(make-kill-destructor)))
+ (shepherd-service
+ (provision '(mumi-mailer))
+ (documentation "Mumi bug-tracking web interface mailer.")
+ (requirement '(networking))
+ (start #~(make-forkexec-constructor
+ `(#$(file-append mumi "/bin/mumi") "mailer"
+ ,@(if #$sender
+ (list (string-append "--sender=" #$sender))
+ '())
+ ,@(if #$smtp
+ (list (string-append "--smtp=" #$smtp))
+ '()))
+ #:user "mumi" #:group "mumi"
+ #:log-file "/var/log/mumi.mailer.log"))
+ (stop #~(make-kill-destructor)))))))
(define mumi-service-type
(service-type
@@ -1734,4 +1768,5 @@ WSGIPassAuthorization On
mumi-shepherd-services)))
(description
"Run Mumi, a Web interface to the Debbugs bug-tracking server.")
- (default-value mumi)))
+ (default-value
+ (mumi-configuration))))
diff --git a/gnu/system.scm b/gnu/system.scm
index 3975082f5e..319663cb48 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -477,13 +477,19 @@ OS."
value of the SYSTEM-SERVICE-TYPE service."
(let ((locale (operating-system-locale-directory os)))
(mlet* %store-monad ((kernel -> (operating-system-kernel os))
+ (kernel-modules (package-file kernel "lib/modules"))
(modules ->
(operating-system-kernel-loadable-modules os))
+ (has-modules? ->
+ (or (not (null? modules))
+ (file-exists? kernel-modules)))
(kernel
(profile-derivation
(packages->manifest
(cons kernel modules))
- #:hooks (list linux-module-database)))
+ #:hooks (if has-modules?
+ (list linux-module-database)
+ '())))
(initrd -> (operating-system-initrd-file os))
(params (operating-system-boot-parameters-file os)))
(return `(("kernel" ,kernel)
diff --git a/gnu/system/examples/lightweight-desktop.tmpl b/gnu/system/examples/lightweight-desktop.tmpl
index 45d9bf447f..20b122fe51 100644
--- a/gnu/system/examples/lightweight-desktop.tmpl
+++ b/gnu/system/examples/lightweight-desktop.tmpl
@@ -5,6 +5,7 @@
(use-modules (gnu) (gnu system nss))
(use-service-modules desktop)
(use-package-modules bootloaders certs ratpoison suckless wm)
+(use-package-modules bootloaders certs ratpoison suckless wm xorg)
(operating-system
(host-name "antelope")
@@ -43,6 +44,8 @@
(packages (append (list
;; window managers
ratpoison i3-wm i3status dmenu
+ ;; terminal emulator
+ xterm
;; for HTTPS access
nss-certs)
%base-packages))
diff --git a/gnu/system/keyboard.scm b/gnu/system/keyboard.scm
index cd3ab37b27..5bd13a44be 100644
--- a/gnu/system/keyboard.scm
+++ b/gnu/system/keyboard.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -94,5 +94,8 @@ Layout information is taken from the XKEYBOARD-CONFIG package."
#$(keyboard-layout-name layout))))))
(computed-file (string-append "console-keymap."
- (keyboard-layout-name layout))
+ (string-map (match-lambda
+ (#\, #\-)
+ (chr chr))
+ (keyboard-layout-name layout)))
build))
diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm
index 46efdfddab..42480e823c 100644
--- a/gnu/system/shadow.scm
+++ b/gnu/system/shadow.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -215,6 +216,10 @@ for a colorful Guile experience.\\n\\n\"))))\n"))
((target source)
(copy-recursively source target)))
'#$skeletons)
+ ;; Make nanorc respect XDG_CONFIG_HOME.
+ (when (file-exists? ".nanorc")
+ (mkdir-p ".config/nano")
+ (rename-file ".nanorc" ".config/nano/nanorc"))
#t))))
(define (assert-valid-users/groups users groups)
diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm
index 37b83dc7ec..086d2a133f 100644
--- a/gnu/tests/base.scm
+++ b/gnu/tests/base.scm
@@ -195,6 +195,14 @@ info --version")
(pk 'services services)
'(root #$@(operating-system-shepherd-service-names os)))))
+ (test-equal "/var/log/messages is not world-readable"
+ #o640 ;<https://bugs.gnu.org/40405>
+ (begin
+ (wait-for-file "/var/log/messages" marionette
+ #:read 'get-u8)
+ (marionette-eval '(stat:perms (lstat "/var/log/messages"))
+ marionette)))
+
(test-assert "homes"
(let ((homes
'#$(map user-account-home-directory
@@ -451,6 +459,21 @@ info --version")
(marionette-eval '(readlink "/var/guix/gcroots/profiles")
marionette))
+ (test-equal "guix-daemon set-http-proxy action"
+ '(#t) ;one value, #t
+ (marionette-eval '(with-shepherd-action 'guix-daemon
+ ('set-http-proxy "http://localhost:8118")
+ result
+ result)
+ marionette))
+
+ (test-equal "guix-daemon set-http-proxy action, clear"
+ '(#t) ;one value, #t
+ (marionette-eval '(with-shepherd-action 'guix-daemon
+ ('set-http-proxy)
+ result
+ result)
+ marionette))
(test-assert "screendump"
(begin
diff --git a/gnu/tests/linux-modules.scm b/gnu/tests/linux-modules.scm
index 39e11587c6..788bdc848a 100644
--- a/gnu/tests/linux-modules.scm
+++ b/gnu/tests/linux-modules.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.org>
;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
+;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,6 +20,8 @@
(define-module (gnu tests linux-modules)
#:use-module (gnu packages linux)
+ #:use-module (gnu services)
+ #:use-module (gnu services linux)
#:use-module (gnu system)
#:use-module (gnu system vm)
#:use-module (gnu tests)
@@ -37,25 +40,40 @@
;;;
;;; Code:
-(define* (module-loader-program os modules)
- "Return an executable store item that, upon being evaluated, will dry-run
-load MODULES."
+(define* (modules-loaded?-program os modules)
+ "Return an executable store item that, upon being evaluated, will verify
+that MODULES are actually loaded."
(program-file
- "load-kernel-modules.scm"
- (with-imported-modules (source-module-closure '((guix build utils)))
- #~(begin
- (use-modules (guix build utils))
- (for-each (lambda (module)
- (invoke (string-append #$kmod "/bin/modprobe") "-n" "--"
- module))
- '#$modules)))))
+ "verify-kernel-modules-loaded.scm"
+ #~(begin
+ (use-modules (ice-9 rdelim)
+ (ice-9 popen)
+ (srfi srfi-1)
+ (srfi srfi-13))
+ (let* ((port (open-input-pipe (string-append #$kmod "/bin/lsmod")))
+ (lines (string-split (read-string port) #\newline))
+ (separators (char-set #\space #\tab))
+ (modules (map (lambda (line)
+ (string-take line
+ (or (string-index line separators)
+ 0)))
+ lines))
+ (status (close-pipe port)))
+ (and (= status 0)
+ (and-map (lambda (module)
+ (member module modules string=?))
+ '#$modules))))))
(define* (run-loadable-kernel-modules-test module-packages module-names)
- "Run a test of an OS having MODULE-PACKAGES, and modprobe MODULE-NAMES."
+ "Run a test of an OS having MODULE-PACKAGES, and verify that MODULE-NAMES
+are loaded in memory."
(define os
(marionette-operating-system
(operating-system
(inherit (simple-operating-system))
+ (services (cons (service kernel-module-loader-service-type module-names)
+ (operating-system-user-services
+ (simple-operating-system))))
(kernel-loadable-modules module-packages))
#:imported-modules '((guix combinators))))
(define vm (virtual-machine os))
@@ -75,7 +93,8 @@ load MODULES."
marionette))
(test-end)
(exit (= (test-runner-fail-count (test-runner-current)) 0)))))
- (gexp->derivation "loadable-kernel-modules" (test (module-loader-program os module-names))))
+ (gexp->derivation "loadable-kernel-modules"
+ (test (modules-loaded?-program os module-names))))
(define %test-loadable-kernel-modules-0
(system-test