aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-02-03 15:35:51 +0100
committerMarius Bakke <mbakke@fastmail.com>2020-02-03 15:35:51 +0100
commit0a83339bb1429332ee889e9a976aa214ae2ac0db (patch)
tree9c3d2bcbdba2c670a5f8f98d3557f0444c357327
parent20fe3cd761c286a27236d8fced4152a0ccdc547d (diff)
parent75385105348066201ef898b934917eeb6ceab87a (diff)
downloadguix-0a83339bb1429332ee889e9a976aa214ae2ac0db.tar
guix-0a83339bb1429332ee889e9a976aa214ae2ac0db.tar.gz
Merge branch 'master' into staging
-rw-r--r--Makefile.am1
-rw-r--r--doc/guix.texi69
-rw-r--r--gnu/bootloader/u-boot.scm7
-rw-r--r--gnu/ci.scm3
-rw-r--r--gnu/local.mk10
-rw-r--r--gnu/packages/admin.scm4
-rw-r--r--gnu/packages/aspell.scm9
-rw-r--r--gnu/packages/bdw-gc.scm14
-rw-r--r--gnu/packages/bootloaders.scm15
-rw-r--r--gnu/packages/check.scm4
-rw-r--r--gnu/packages/commencement.scm4
-rw-r--r--gnu/packages/diffoscope.scm4
-rw-r--r--gnu/packages/disk.scm31
-rw-r--r--gnu/packages/education.scm130
-rw-r--r--gnu/packages/emacs-xyz.scm157
-rw-r--r--gnu/packages/emulators.scm9
-rw-r--r--gnu/packages/file-systems.scm2
-rw-r--r--gnu/packages/firmware.scm63
-rw-r--r--gnu/packages/game-development.scm17
-rw-r--r--gnu/packages/gdb.scm22
-rw-r--r--gnu/packages/gimp.scm1
-rw-r--r--gnu/packages/gnome.scm8
-rw-r--r--gnu/packages/golang.scm4
-rw-r--r--gnu/packages/haskell-web.scm63
-rw-r--r--gnu/packages/hurd.scm113
-rw-r--r--gnu/packages/imagemagick.scm5
-rw-r--r--gnu/packages/linux.scm160
-rw-r--r--gnu/packages/lisp-xyz.scm334
-rw-r--r--gnu/packages/mail.scm66
-rw-r--r--gnu/packages/maths.scm15
-rw-r--r--gnu/packages/messaging.scm8
-rw-r--r--gnu/packages/networking.scm6
-rw-r--r--gnu/packages/openldap.scm30
-rw-r--r--gnu/packages/patches/opensmtpd-fix-crash.patch44
-rw-r--r--gnu/packages/patches/sdl-pango-api_additions.patch128
-rw-r--r--gnu/packages/patches/sdl-pango-blit_overflow.patch32
-rw-r--r--gnu/packages/patches/sdl-pango-fillrect_crash.patch15
-rw-r--r--gnu/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapToSurface.patch20
-rw-r--r--gnu/packages/patches/sdl-pango-matrix_declarations.patch131
-rw-r--r--gnu/packages/patches/sdl-pango-sans-serif.patch13
-rw-r--r--gnu/packages/patches/superlu-dist-fix-mpi-deprecations.patch57
-rw-r--r--gnu/packages/patches/t4k-common-libpng16.patch26
-rw-r--r--gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch54
-rw-r--r--gnu/packages/python-compression.scm15
-rw-r--r--gnu/packages/rsync.scm6
-rw-r--r--gnu/packages/ruby.scm50
-rw-r--r--gnu/packages/samba.scm4
-rw-r--r--gnu/packages/scanner.scm6
-rw-r--r--gnu/packages/sdl.scm52
-rw-r--r--gnu/packages/sync.scm6
-rw-r--r--gnu/packages/tbb.scm4
-rw-r--r--gnu/packages/text-editors.scm17
-rw-r--r--gnu/packages/tls.scm4
-rw-r--r--gnu/packages/video.scm105
-rw-r--r--gnu/packages/web.scm42
-rw-r--r--gnu/packages/xdisorg.scm104
-rw-r--r--gnu/services/getmail.scm2
-rw-r--r--gnu/services/linux.scm125
-rw-r--r--gnu/services/mail.scm10
-rw-r--r--gnu/services/pm.scm2
-rw-r--r--gnu/services/virtualization.scm12
-rw-r--r--gnu/tests/mail.scm5
-rw-r--r--tests/services/linux.scm57
63 files changed, 2076 insertions, 460 deletions
diff --git a/Makefile.am b/Makefile.am
index 7474b7f375..c6a2e6cf6c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -426,6 +426,7 @@ SCM_TESTS = \
tests/scripts-build.scm \
tests/search-paths.scm \
tests/services.scm \
+ tests/services/linux.scm \
tests/sets.scm \
tests/size.scm \
tests/snix.scm \
diff --git a/doc/guix.texi b/doc/guix.texi
index 8cc824b917..bd9d896c78 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -48,7 +48,7 @@ Copyright @copyright{} 2017 humanitiesNerd@*
Copyright @copyright{} 2017 Christopher Allan Webber@*
Copyright @copyright{} 2017, 2018, 2019 Marius Bakke@*
Copyright @copyright{} 2017, 2019, 2020 Hartmut Goebel@*
-Copyright @copyright{} 2017, 2019 Maxim Cournoyer@*
+Copyright @copyright{} 2017, 2019, 2020 Maxim Cournoyer@*
Copyright @copyright{} 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice@*
Copyright @copyright{} 2017 George Clemmer@*
Copyright @copyright{} 2017 Andy Wingo@*
@@ -310,6 +310,7 @@ Services
* Version Control Services:: Providing remote access to Git repositories.
* Game Services:: Game servers.
* PAM Mount Service:: Service to mount volumes when logging in.
+* Linux Services:: Services tied to the Linux kernel.
* Miscellaneous Services:: Other services.
Defining Services
@@ -12101,6 +12102,7 @@ declaration.
* Game Services:: Game servers.
* PAM Mount Service:: Service to mount volumes when logging in.
* Guix Services:: Services relating specifically to Guix.
+* Linux Services:: Services tied to the Linux kernel.
* Miscellaneous Services:: Other services.
@end menu
@@ -25146,6 +25148,71 @@ list.
@end table
@end deftp
+@node Linux Services
+@subsubheading Linux Services
+
+@cindex oom
+@cindex out of memory killer
+@cindex earlyoom
+@cindex early out of memory daemon
+@subsection Early OOM Service
+
+@uref{https://github.com/rfjakob/earlyoom,Early OOM}, also known as
+Earlyoom, is a minimalist out of memory (OOM) daemon that runs in user
+space and provides a more responsive and configurable alternative to the
+in-kernel OOM killer. It is useful to prevent the system from becoming
+unresponsive when it runs out of memory.
+
+@deffn {Scheme Variable} earlyoom-service-type
+The service type for running @command{earlyoom}, the Early OOM daemon.
+Its value must be a @code{earlyoom-configuration} object, described
+below. The service can be instantiated in its default configuration
+with:
+
+@lisp
+(service earlyoom-service-type)
+@end lisp
+@end deffn
+
+@deftp {Data Type} earlyoom-configuration
+This is the configuration record for the @code{earlyoom-service-type}.
+
+@table @asis
+@item @code{earlyoom} (default: @var{earlyoom})
+The Earlyoom package to use.
+
+@item @code{minimum-available-memory} (default: @code{10})
+The threshold for the minimum @emph{available} memory, in percentages.
+
+@item @code{minimum-free-swap} (default: @code{10})
+The threshold for the minimum free swap memory, in percentages.
+
+@item @code{prefer-regexp} (default: @code{#f})
+A regular expression (as a string) to match the names of the processes
+that should be preferably killed.
+
+@item @code{avoid-regexp} (default: @code{#f})
+A regular expression (as a string) to match the names of the processes
+that should @emph{not} be killed.
+
+@item @code{memory-report-interval} (default: @code{0})
+The interval in seconds at which a memory report is printed. It is
+disabled by default.
+
+@item @code{ignore-positive-oom-score-adj?} (default: @code{#f})
+A boolean indicating whether the positive adjustments set in
+@file{/proc/*/oom_score_adj}.
+
+@item @code{show-debug-messages?} (default: @code{#f})
+A boolean indicating whether debug messages should be printed. The logs
+are saved at @file{/var/log/earlyoom.log}.
+
+@item @code{send-notification-command} (default: @code{#f})
+This can be used to provide a custom command used for sending
+notifications.
+@end table
+@end deftp
+
@node Miscellaneous Services
@subsection Miscellaneous Services
diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm
index 3e892c5475..6f41d0abe9 100644
--- a/gnu/bootloader/u-boot.scm
+++ b/gnu/bootloader/u-boot.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 David Craven <david@craven.ch>
;;; Copyright © 2017, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,6 +29,7 @@
u-boot-a20-olinuxino-micro-bootloader
u-boot-bananapi-m2-ultra-bootloader
u-boot-beaglebone-black-bootloader
+ u-boot-cubietruck-bootloader
u-boot-firefly-rk3399-bootloader
u-boot-mx6cuboxi-bootloader
u-boot-nintendo-nes-classic-edition-bootloader
@@ -180,6 +182,11 @@
(inherit u-boot-allwinner-bootloader)
(package u-boot-bananapi-m2-ultra)))
+(define u-boot-cubietruck-bootloader
+ (bootloader
+ (inherit u-boot-allwinner-bootloader)
+ (package u-boot-cubietruck)))
+
(define u-boot-firefly-rk3399-bootloader
;; SD and eMMC use the same format
(bootloader
diff --git a/gnu/ci.scm b/gnu/ci.scm
index d6eb2d018f..89f499e25f 100644
--- a/gnu/ci.scm
+++ b/gnu/ci.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org>
;;;
@@ -130,6 +130,7 @@ SYSTEM."
"arm-linux-gnueabihf"
"aarch64-linux-gnu"
"powerpc-linux-gnu"
+ "riscv64-linux-gnu"
"i586-pc-gnu" ;aka. GNU/Hurd
"i686-w64-mingw32"
"x86_64-w64-mingw32"))
diff --git a/gnu/local.mk b/gnu/local.mk
index 98b7395598..125118bc55 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1243,7 +1243,6 @@ dist_patch_DATA = \
%D%/packages/patches/openjdk-10-idlj-reproducibility.patch \
%D%/packages/patches/openmpi-mtl-priorities.patch \
%D%/packages/patches/openocd-nrf52.patch \
- %D%/packages/patches/opensmtpd-fix-crash.patch \
%D%/packages/patches/openssl-runpath.patch \
%D%/packages/patches/openssl-1.1-c-rehash-in.patch \
%D%/packages/patches/openssl-c-rehash-in.patch \
@@ -1257,6 +1256,12 @@ dist_patch_DATA = \
%D%/packages/patches/p7zip-CVE-2017-17969.patch \
%D%/packages/patches/p7zip-remove-unused-code.patch \
%D%/packages/patches/pam-mount-luks2-support.patch \
+ %D%/packages/patches/sdl-pango-api_additions.patch \
+ %D%/packages/patches/sdl-pango-blit_overflow.patch \
+ %D%/packages/patches/sdl-pango-fillrect_crash.patch \
+ %D%/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapToSurface.patch \
+ %D%/packages/patches/sdl-pango-matrix_declarations.patch \
+ %D%/packages/patches/sdl-pango-sans-serif.patch \
%D%/packages/patches/patchutils-test-perms.patch \
%D%/packages/patches/patch-hurd-path-max.patch \
%D%/packages/patches/perl-autosplit-default-time.patch \
@@ -1403,7 +1408,6 @@ dist_patch_DATA = \
%D%/packages/patches/spice-fix-test-armhf.patch \
%D%/packages/patches/steghide-fixes.patch \
%D%/packages/patches/superlu-dist-awpm-grid.patch \
- %D%/packages/patches/superlu-dist-fix-mpi-deprecations.patch \
%D%/packages/patches/superlu-dist-scotchmetis.patch \
%D%/packages/patches/supertux-unbundle-squirrel.patch \
%D%/packages/patches/swig-guile-gc.patch \
@@ -1416,6 +1420,7 @@ dist_patch_DATA = \
%D%/packages/patches/t1lib-CVE-2010-2642.patch \
%D%/packages/patches/t1lib-CVE-2011-0764.patch \
%D%/packages/patches/t1lib-CVE-2011-1552+.patch \
+ %D%/packages/patches/t4k-common-libpng16.patch \
%D%/packages/patches/tar-remove-wholesparse-check.patch \
%D%/packages/patches/tar-skip-unreliable-tests.patch \
%D%/packages/patches/tcc-boot-0.9.27.patch \
@@ -1440,6 +1445,7 @@ dist_patch_DATA = \
%D%/packages/patches/tomb-fix-errors-on-open.patch \
%D%/packages/patches/tuxpaint-stamps-path.patch \
%D%/packages/patches/txr-shell.patch \
+ %D%/packages/patches/u-boot-riscv64-fix-extlinux.patch \
%D%/packages/patches/ucx-tcp-iface-ioctl.patch \
%D%/packages/patches/udiskie-no-appindicator.patch \
%D%/packages/patches/unzip-CVE-2014-8139.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 371fcc7ec3..26e2693431 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -1201,7 +1201,7 @@ system administrator.")
(define-public sudo
(package
(name "sudo")
- (version "1.8.30")
+ (version "1.8.31")
(source (origin
(method url-fetch)
(uri
@@ -1211,7 +1211,7 @@ system administrator.")
version ".tar.gz")))
(sha256
(base32
- "1rvrqlqrrjsd06dczgj9cwjdkpkqil5zzlwh87h06ms6qzfx6nm3"))
+ "0ks5mm9hda5idivncyfpiz4lrd8fv0dpmsl711788k7f7ixdka3y"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm
index af38c149c2..c88b8a25a2 100644
--- a/gnu/packages/aspell.scm
+++ b/gnu/packages/aspell.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2016, 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
+;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -319,6 +320,14 @@ dictionaries, including personal ones.")
(base32
"0ip6nq43hcr7vvzbv4lwwmlwgfa60hrhsldh9xy3zg2prv6bcaaw")))
+(define-public aspell-dict-sl
+ (aspell-dictionary "sl" "Slovenian"
+ #:version "0.50-0"
+ #:prefix "aspell-"
+ #:sha256
+ (base32
+ "1l9kc5g35flq8kw9jhn2n0bjb4sipjs4qkqzgggs438kywkx2rp5")))
+
(define-public aspell-dict-sv
(aspell-dictionary "sv" "Swedish"
#:version "0.51-0"
diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm
index 7196ffcd32..cc492105d1 100644
--- a/gnu/packages/bdw-gc.scm
+++ b/gnu/packages/bdw-gc.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2016, 2017, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
@@ -91,6 +91,18 @@ C or C++ programs, though that is not its primary goal.")
(license (x11-style (string-append home-page "license.txt")))))
+(define-public libgc-8.0
+ (package/inherit
+ libgc
+ (version "8.0.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ivmai/bdwgc/releases"
+ "/download/v" version "/gc-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1798rp3mcfkgs38ynkbg2p47bq59pisrc6mn0l20pb5iczf0ssj3"))))))
+
(define-public libgc/back-pointers
(package
(inherit libgc)
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index c072ff8c8e..63a88dd7ec 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -751,6 +751,21 @@ to Novena upstream, does not load u-boot.img from the first partition.")
("firmware-m0" ,rk3399-cortex-m0)
,@(package-native-inputs base))))))
+(define-public u-boot-qemu-riscv64
+ (make-u-boot-package "qemu-riscv64" "riscv64-linux-gnu"))
+
+(define-public u-boot-qemu-riscv64-smode
+ (let ((base (make-u-boot-package "qemu-riscv64_smode" "riscv64-linux-gnu")))
+ (package
+ (inherit base)
+ (source (origin
+ (inherit (package-source u-boot))
+ (patches
+ (search-patches "u-boot-riscv64-fix-extlinux.patch")))))))
+
+(define-public u-boot-sifive-fu540
+ (make-u-boot-package "sifive_fu540" "riscv64-linux-gnu"))
+
(define-public u-boot-rock64-rk3328
(let ((base (make-u-boot-package "rock64-rk3328" "aarch64-linux-gnu")))
(package
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index eb2e2d62e2..f9eb350ff4 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -2438,7 +2438,7 @@ grew out of the @dfn{Vc} project.")
(define-public python-pyfakefs
(package
(name "python-pyfakefs")
- (version "3.5.8")
+ (version "3.7.1")
(source (origin
(method url-fetch)
;; We use the PyPI URL because there is no proper release
@@ -2447,7 +2447,7 @@ grew out of the @dfn{Vc} project.")
(uri (pypi-uri "pyfakefs" version))
(sha256
(base32
- "0qb9jp0bqhc0dv0rn805fv99029fvx135f3bvka6scfkcl6jgllc"))
+ "1cp2yw96fa2qkgi39xa3nlr3inf8wb5rgh9kdq53256ca2r8pdhy"))
(patches (search-patches
"python-pyfakefs-remove-bad-test.patch"))
(file-name (string-append name "-" version ".tar.gz"))))
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 729b0466ac..42d1132fba 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -24,8 +24,6 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages commencement)
- #:use-module ((guix licenses)
- #:select (gpl3+ lgpl2.0+ public-domain))
#:use-module (gnu packages)
#:use-module (gnu packages bootstrap)
#:use-module (gnu packages base)
@@ -56,10 +54,8 @@
#:use-module (guix memoization)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
- #:use-module (srfi srfi-26)
#:use-module (ice-9 vlist)
#:use-module (ice-9 match)
- #:use-module (ice-9 regex)
#:export (make-gcc-toolchain))
;;; Commentary:
diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm
index 6be2b7f9fc..998a71aeab 100644
--- a/gnu/packages/diffoscope.scm
+++ b/gnu/packages/diffoscope.scm
@@ -67,7 +67,7 @@
#:use-module (ice-9 match))
(define-public diffoscope
- (let ((version "135"))
+ (let ((version "136"))
(package
(name "diffoscope")
(version version)
@@ -79,7 +79,7 @@
(file-name (git-file-name name version))
(sha256
(base32
- "0rkpvajkp3qryi6dxkrh8aq5xg79aybnw8iy73wsblcnfq6yhba7"))))
+ "1wp4fnmwcsgv17dmvk9xr3h63gp4nmmpysr248qvxs8s5qy5xlyk"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index a28033c0af..7684e57a7b 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -15,6 +15,7 @@
;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2020 Pkill -9 <pkill9@runbox.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -62,11 +63,14 @@
#:use-module (gnu packages sphinx)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages swig)
+ #:use-module (gnu packages terminals)
+ #:use-module (gnu packages textutils)
#:use-module (gnu packages vim)
#:use-module (gnu packages w3m)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system go)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (guix build-system scons)
@@ -822,3 +826,30 @@ on your file system and offers to remove it. @command{rmlint} can find:
@item files with broken user and/or group ID.
@end itemize\n")
(license license:gpl3+)))
+
+(define-public lf
+ (package
+ (name "lf")
+ (version "13")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gokcehan/lf.git")
+ (commit (string-append "r" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ld3q75v8rvp169w5p85z1vznqs9bhck6bm2f6fykxx16hmpb6ga"))))
+ (build-system go-build-system)
+ (native-inputs
+ `(("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)
+ ("go-github.com-nsf-termbox-go" ,go-github.com-nsf-termbox-go)))
+ (arguments
+ `(#:import-path "github.com/gokcehan/lf"))
+ (home-page "https://github.com/gokcehan/lf")
+ (synopsis "Console file browser similar to Ranger")
+ (description "lf (as in \"list files\") is a terminal file manager
+written in Go. It is heavily inspired by ranger with some missing and
+extra features. Some of the missing features are deliberately omitted
+since they are better handled by external tools.")
+ (license license:expat)))
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 4f8d7582c7..b0297e9075 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -36,6 +36,7 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages image)
#:use-module (gnu packages javascript)
#:use-module (gnu packages kde)
#:use-module (gnu packages kde-frameworks) ; extra-cmake-modules
@@ -254,7 +255,7 @@ easy.")
(define-public snap
(package
(name "snap")
- (version "5.4.0")
+ (version "5.4.5")
(source
(origin
(method git-fetch)
@@ -263,8 +264,7 @@ easy.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "05m3x8yc9a7x9hfkrz2bm3yqkc63cdb8v3yznkjqq04sfx5dfd04"))))
+ (base32 "1z6dbcsgvxxs40p23qysfsk4vzpg8jlrr5pqfnjf8q3kpz1xvzxf"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@@ -590,14 +590,14 @@ Portuguese, Spanish and Italian.")
(define-public fet
(package
(name "fet")
- (version "5.42.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://www.lalescu.ro/liviu/fet/download/"
- "fet-" version ".tar.bz2"))
- (sha256
- (base32
- "1dzlbhp42dxdxbcrjwrjl4kj65cibxgjqc3ir1w78yprikihdxca"))))
+ (version "5.42.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.lalescu.ro/liviu/fet/download/"
+ "fet-" version ".tar.bz2"))
+ (sha256
+ (base32 "0z31i8kwd59c3hlq35qll61qhc3x63w330ss92glhp12iy0aja1y"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -714,3 +714,111 @@ each key. A collection of lessons are included for a wide range of different
languages and keyboard layouts, and typing statistics are used to dynamically
adjust the level of difficulty.")
(license license:gpl2)))
+
+(define-public t4k-common
+ (package
+ (name "t4k-common")
+ (version "0.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tux4kids/t4kcommon")
+ (commit (string-append "upstream/" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "13q02xpmps9qg8zrzzy2gzv4a6afgi28lxk4z242j780v0gphchp"))
+ (patches
+ (search-patches "t4k-common-libpng16.patch"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ;FIXME: cannot find how to run tests
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'set-paths 'set-sdl-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "CPATH" (string-append (assoc-ref inputs "sdl")
+ "/include/SDL:"
+ (or (getenv "CPATH") "")))))
+ (add-after 'unpack 'fix-andika-font-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/t4k_sdl.c"
+ (("(/usr/share/.*?)/AndikaDesRevG\\.ttf")
+ (string-append (assoc-ref inputs "font-andika")
+ "/share/fonts/truetype")))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("font-andika" ,font-sil-andika)
+ ("libpng" ,libpng)
+ ("librsvg" ,librsvg)
+ ("libxml2" ,libxml2)
+ ("sdl" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-net sdl-pango)))))
+ (home-page "https://github.com/tux4kids/t4kcommon")
+ (synopsis "Library of code shared between TuxMath and TuxType")
+ (description "Tux4Kids-Common is a library of code shared between
+TuxMath and TuxType.")
+ (license license:gpl3+)))
+
+(define-public tuxmath
+ (package
+ (name "tuxmath")
+ (version "2.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tux4kids/tuxmath")
+ (commit (string-append "upstream/" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1f1pz83w6d3mbik2h6xavfxmk5apxlngxbkh80x0m55lhniwkdxv"))
+ (modules '((guix build utils)))
+ ;; Unbundle fonts.
+ (snippet
+ `(begin
+ (for-each delete-file (find-files "data/fonts" "\\.ttf$"))
+ #t))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ;no test
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'set-paths 'set-sdl-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "CPATH"
+ (string-append (assoc-ref inputs "sdl")
+ "/include/SDL:"
+ (or (getenv "CPATH") "")))
+ #t))
+ (add-after 'install 'install-desktop-file
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (apps (string-append out "/share/applications"))
+ (pixmaps (string-append out "/share/pixmaps")))
+ (install-file "tuxmath.desktop" apps)
+ (for-each (lambda (f) (install-file f pixmaps))
+ (find-files "data/images/icons/"
+ "tuxmath\\.(png|ico|svg)$"))
+ #t))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("librsvg" ,librsvg)
+ ("libxml2" ,libxml2)
+ ("sdl" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-net sdl-pango)))
+ ("t4k-common" ,t4k-common)))
+ (home-page "https://github.com/tux4kids/tuxmath")
+ (synopsis "Educational math tutorial game")
+ (description "@emph{Tux, of Math Command} is an educational math
+tutorial game starring Tux, the Linux penguin, in which you play the
+part of Commander Tux, as he defends his friends from an attack of
+math equations. Comets are crashing towards the friendly penguins in
+their igloos, and you must destroy the comets by solving their
+equations.
+
+TuxMath also includes Factoroids, a game that gives practice in
+factoring numbers and simplifying fractions, as well as zapping rocks
+floating through space.")
+ (license license:gpl3+)))
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index e834dfffb3..9936127a18 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -960,13 +960,13 @@ in certain cases. It also enables recursion for anonymous functions.")
(define-public emacs-xr
(package
(name "emacs-xr")
- (version "1.14")
+ (version "1.15")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/xr-" version ".tar"))
(sha256
- (base32 "1hfl7jvimgdgi2mwsx9laxcywp4n6k6vfkanjwm3sf27awqz7ngs"))))
+ (base32 "0pxzr6n0qa29ly8j3cl46rv9a65ajfcgahrhdylg4yfb9gh1x4ly"))))
(build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/xr.html")
(synopsis "Convert string regexp to rx notation")
@@ -1064,14 +1064,14 @@ optional minor mode which can apply this command automatically on save.")
(define-public emacs-relint
(package
(name "emacs-relint")
- (version "1.11")
+ (version "1.13")
(source
(origin
(method url-fetch)
(uri (string-append
"https://elpa.gnu.org/packages/relint-" version ".tar"))
(sha256
- (base32 "0c7d35kp5k11fnyjrq9cg8i2r005gs57pmb3rvpf8ilwv0scn1m7"))))
+ (base32 "1kzzlixhd6kp0mkmgn02b7pqv6m55g708xsys7vjskdxbfb6jjib"))))
(build-system emacs-build-system)
(propagated-inputs `(("emacs-xr" ,emacs-xr)))
(home-page "https://github.com/mattiase/relint")
@@ -18997,6 +18997,29 @@ previewed by scrolling up and down within a @code{dired} buffer.")
and searching through @code{Ctags} files.")
(license license:gpl3+)))
+(define-public emacs-ivy-clipmenu
+ (let ((commit "d2071f2c5043a05d610cd1952e84176ca78c31dc"))
+ (package
+ (name "emacs-ivy-clipmenu")
+ (version (git-version "0.0.1" "1" commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/wpcarro/ivy-clipmenu.el.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0npd8glzk5z4n7y9mzbsbzi0cf3by19fqcki052jr3dga363lds7"))))
+ (propagated-inputs
+ `(("emacs-f" ,emacs-f)
+ ("emacs-ivy" ,emacs-ivy)))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/wpcarro/ivy-clipmenu.el")
+ (synopsis "Ivy integration with clipmenu")
+ (description "Ivy integration with the clipboard manager, clipmenu.")
+ (license license:expat))))
+
(define-public emacs-org-download
(let ((commit "10c9d7c8eed928c88a896310c882e3af4d8d0f61")
(revision "2"))
@@ -20484,9 +20507,9 @@ fish-completion. It can be used in both Eshell and M-x shell.")
;; This package has versions newer than indicated on MELPA.
;; Get the current version from `telega-version` in telega.el.
;; or by running M-x telega-version.
- (let ((commit "f6728934988140839a71550c9c18b65424ba6225")
+ (let ((commit "ae09592498ce380e57fbb76725fd4c89ae248864")
(revision "0")
- (version "0.5.10"))
+ (version "0.6.0"))
(package
(name "emacs-telega")
(version (git-version version revision commit))
@@ -20498,7 +20521,7 @@ fish-completion. It can be used in both Eshell and M-x shell.")
(commit commit)))
(sha256
(base32
- "1ijz1isxzssbhz6bxrqmn6wv2apx5rhvd9sbsclv1gaiz3wmkj7i"))
+ "0mv6i80958d9crzspzik5xh5g8326115bvg2frgv0dp9p6rm86m3"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -21237,3 +21260,123 @@ mode-line text (lighter) of major and minor modes.")
(description "@code{unkillable-scratch} helps prevent killing buffers
matching a given regexp.")
(license license:gpl2+))))
+
+(define-public emacs-switch-buffer-functions
+ (package
+ (name "emacs-switch-buffer-functions")
+ (version "0.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/10sr/switch-buffer-functions-el.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0pq53b8wrjbrxd5hnrcdi0z7mffp4bax55hn90k9ca3j76lhbn1k"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/10sr/switch-buffer-functions-el")
+ (synopsis "Hooks run when switching current buffer")
+ (description "This package provides a hook variable
+@code{switch-buffer-functions}. The hooks will be run when the current buffer
+is changed after an interactive command, i.e., when @code{post-command-hook}
+hooks are run. The hooked functions will be called with both the previous and
+the current buffer.")
+ (license license:unlicense)))
+
+(define-public emacs-erc-scrolltoplace
+ (package
+ (name "emacs-erc-scrolltoplace")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/jgkamat/erc-scrolltoplace.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "11zpqwh1mlfifbgnvhc63bvnhg340jgxssm3m43hr1sxsyb52lh6"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-switch-buffer-functions" ,emacs-switch-buffer-functions)))
+ (home-page "https://gitlab.com/jgkamat/erc-scrolltoplace")
+ (synopsis "ERC module to replace scrolltobottom while using keep-place")
+ (description "@code{erc-scrolltoplace} is an ERC module to try
+to emulate @code{scrolltobottom} while @code{keep-place} is enabled.")
+ (license license:gpl3+)))
+
+(define-public emacs-dmenu
+ ;; Use the latest commit, as there are no tagged releases.
+ (let ((commit "e8cc9b27c79d3ecc252267c082ab8e9c82eab264")
+ (revision "0"))
+ (package
+ (name "emacs-dmenu")
+ (version (git-version "0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lujun9972/el-dmenu.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "098ncygms1r33zhjlq4fj2p4jc91v5whqrm3fazzdk7sd6dilf25"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/lujun9972/el-dmenu")
+ (synopsis "Simulate the @command{dmenu} command line program")
+ (description "This package provides a @command{dmenu} command for
+launching other commands/applications from within Emacs, similar to the
+@command{dmenu} program. This is especially useful when using EXWM.")
+ (license license:gpl3+))))
+
+(define-public emacs-no-littering
+ (package
+ (name "emacs-no-littering")
+ (version "1.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/emacscollective/no-littering.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "17is06l0w6glppabv2kaclrnqi3dqb6p6alpslpg7lrjd8vd45ir"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/emacscollective/no-littering")
+ (synopsis "Help keep ~/.emacs.d/ clean")
+ (description "The default paths used to store configuration files and
+persistent data are not consistent across Emacs packages, be them built-in or
+third-party ones. @code{no-littering} sets out to help clean
+@file{~/.emacs.d/} by putting configuration files and persistent data files in
+two user-defined directories, as well as using more descriptive names for
+files and subdirectories when appropriate.")
+ (license license:gpl3+)))
+
+(define-public emacs-message-x
+ ;; Use the latest commit, as there are no tagged releases.
+ (let ((commit "5524de7bbfdd8749c110f48de5afb024d9f83133")
+ (revision "0"))
+ (package
+ (name "emacs-message-x")
+ (version (git-version "1.23" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/emacsmirror/message-x.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qy1xf11j357lsnbb829hnbg7fq1cii4cx54fwf0wgjh1bv2abvj"))))
+ (build-system emacs-build-system)
+ (home-page "https://www.emacswiki.org/emacs/message-x.el")
+ (synopsis "Customizable completion in message headers")
+ (description "@code{message-x} assigns a context-sensitive function to
+the TAB key in Message mode. When on a header line, it performs completion
+based on which header we are in (for example, newsgroup name completion makes
+sense on the @samp{Newsgroups} header, whereas mail alias expansion makes
+sense in the @samp{To} and @samp{Cc} headers). When in the message body, this
+executes a different function (default: @code{indent-relative}).")
+ (license license:gpl2+))))
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 23b5ad864f..284dc22039 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -1234,7 +1234,8 @@ multi-system game/emulator system.")
(setenv "CONFIG_SHELL" bash)
(apply invoke "./configure" flags)))))))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("nasm" ,nasm)
+ ("pkg-config" ,pkg-config)))
(inputs
`(("alsa-lib" ,alsa-lib)
("faad2" ,faad2)
@@ -1249,7 +1250,6 @@ multi-system game/emulator system.")
("libpng" ,libpng)
("libtheora" ,libtheora)
("libvorbis" ,libvorbis)
- ("nasm" ,nasm)
("sdl2" ,(sdl-union (list sdl2 sdl2-net)))
("zlib" ,zlib)))
(home-page "https://www.scummvm.org/")
@@ -1264,7 +1264,7 @@ play them on systems for which they were never designed!")
(define-public mame
(package
(name "mame")
- (version "0.217")
+ (version "0.218")
(source
(origin
(method git-fetch)
@@ -1273,8 +1273,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
- "03h4d0d8lh6djjff3zqhjm14klc9n129yzwygdqppz0f43w97cmw"))
+ (base32 "1c43hqfabc7spkyk5ma4bjdb0yqm93sdg5g13ka8mvi462snrfd7"))
(modules '((guix build utils)))
(snippet
;; Remove bundled libraries.
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index d7a0d6dbac..3e7314bc2b 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -101,7 +101,7 @@
(home-page "https://bcachefs.org/")
(synopsis "Tools to create and manage bcachefs file systems")
(description
- "The bcachefs-tools are command-line utilites for creating, checking,
+ "The bcachefs-tools are command-line utilities for creating, checking,
and otherwise managing bcachefs file systems.
Bcachefs is a @acronym{CoW, copy-on-write} file system supporting native
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index e96a00bb22..d5828deca2 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -183,6 +183,69 @@ Broadcom/AirForce chipset BCM43xx with Wireless-Core Revision 5. It is used
by the b43-open driver of Linux-libre.")
(license license:gpl2)))
+(define* (make-opensbi-package platform variant #:optional (arch "riscv64"))
+ (package
+ (name (string-replace-substring
+ (string-append "opensbi-" platform "-" variant)
+ "_" "-"))
+ (version "0.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/riscv/opensbi.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qc73xbiy79qqkwxmp4mg15q8n8k26njkyqb6n0jw5dyibd6hb85"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(,@(if (and (not (string-prefix? "riscv64" (%current-system)))
+ (string-prefix? "riscv64" arch))
+ `(("cross-gcc" ,(cross-gcc "riscv64-linux-gnu" #:xgcc gcc-7))
+ ("cross-binutils" ,(cross-binutils "riscv64-linux-gnu")))
+ '())))
+ (arguments
+ `(#:tests? #f ; no check target
+ #:make-flags (list (string-append "PLATFORM=" ,platform "/" ,variant)
+ ,@(if (and (not (string-prefix? "riscv64"
+ (%current-system)))
+ (string-prefix? "riscv64" arch))
+ `("CROSS_COMPILE=riscv64-linux-gnu-")
+ '())
+ "FW_PAYLOAD=n"
+ "V=1")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (bin (find-files "." ".*fw_.*.elf$")))
+ (for-each
+ (lambda (file)
+ (install-file file out))
+ bin))
+ #t)))))
+ (home-page "https://github.com/riscv/opensbi")
+ (synopsis "RISC-V Open Source Supervisor Binary Interface")
+ (description "A reference implementation of the RISC-V SBI specifications
+for platform-specific firmwares executing in M-mode.")
+ (license (list license:bsd-2
+ ;; lib/utils/libfdt/* is dual licensed under bsd-2 and gpl2+.
+ license:gpl2+
+ ;; platform/ariane-fpga/* is gpl2.
+ license:gpl2))))
+
+(define-public opensbi-qemu-virt
+ (make-opensbi-package "qemu" "virt"))
+
+(define-public opensbi-qemu-sifive-u
+ (make-opensbi-package "qemu" "sifive_u"))
+
+(define-public opensbi-sifive-fu540
+ (make-opensbi-package "sifive" "fu540"))
+
(define-public seabios
(package
(name "seabios")
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index ceec993d04..6fa4fed74f 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -90,6 +90,7 @@
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
#:use-module (gnu packages video)
+ #:use-module (gnu packages web)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
@@ -1505,7 +1506,7 @@ games.")
(define-public godot
(package
(name "godot")
- (version "3.1.2")
+ (version "3.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1514,7 +1515,7 @@ games.")
(file-name (git-file-name name version))
(sha256
(base32
- "12305wj2i4067jc50l8r0wmb7zjcna24fli8vb8kiaild0jrlip6"))
+ "0f15izjl4i2xlz1xj5pcslzl9gm3rmr3c21gh256ynpi2zhhkcdd"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-1)))
@@ -1526,7 +1527,7 @@ games.")
(with-directory-excursion "thirdparty"
(let* ((preserved-files
'("README.md"
- "b2d_convexdecomp"
+ "assimp"
"certs"
"cvtt"
"enet"
@@ -1535,7 +1536,6 @@ games.")
"glad"
"jpeg-compressor"
"libsimplewebm"
- "libwebsockets"
"miniupnpc"
"minizip"
"misc"
@@ -1543,8 +1543,8 @@ games.")
"pvrtccompressor"
"recastnavigation"
"squish"
- "thekla_atlas"
"tinyexr"
+ "vhacd"
"xatlas")))
(for-each delete-file-recursively
(lset-difference string=?
@@ -1574,6 +1574,7 @@ games.")
"builtin_mbedtls=no"
"builtin_opus=no"
"builtin_pcre2=no"
+ "builtin_wslay=no"
"builtin_zlib=no"
"builtin_zstd=no")
#:tests? #f ; There are no tests
@@ -1598,6 +1599,10 @@ games.")
(rename-file "godot.x11.tools.64" "godot")
(rename-file "godot.x11.tools.32" "godot"))
(install-file "godot" bin))
+ ;; Tell Godot where to find zenity for OS.alert().
+ (wrap-program (string-append bin "/godot")
+ `("PATH" ":" prefix
+ (,(string-append (assoc-ref %build-inputs "zenity") "/bin"))))
#t)))
(add-after 'install 'install-godot-desktop
(lambda* (#:key outputs #:allow-other-keys)
@@ -1640,6 +1645,8 @@ games.")
("opusfile" ,opusfile)
("pcre2" ,pcre2)
("pulseaudio" ,pulseaudio)
+ ("wslay" ,wslay)
+ ("zenity" ,zenity)
("zstd" ,zstd "lib")))
(home-page "https://godotengine.org/")
(synopsis "Advanced 2D and 3D game engine")
diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm
index 81e2892ad2..1aa8d49036 100644
--- a/gnu/packages/gdb.scm
+++ b/gnu/packages/gdb.scm
@@ -1,7 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,12 +28,14 @@
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages xml)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages pretty-print)
#:use-module (gnu packages python)
#:use-module (gnu packages pkg-config)
#:use-module ((guix licenses) #:select (gpl3+))
#:use-module (guix packages)
#:use-module (guix download)
- #:use-module (guix build-system gnu))
+ #:use-module (guix build-system gnu)
+ #:use-module (srfi srfi-1))
(define-public gdb-8.3
(package
@@ -45,6 +48,10 @@
(sha256
(base32
"1i2pjwaafrlz7wqm40b4znr77ai32rjsxkpl2az38yyarpbv8m8y"))))
+
+ ;; Hide this package so that end users get 'gdb/next' below.
+ (properties '((hidden? . #t)))
+
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; FIXME "make check" fails on single-processor systems.
@@ -106,6 +113,8 @@ the program is running to try to fix bugs. It can be used to debug programs
written in C, C++, Ada, Objective-C, Pascal and more.")
(license gpl3+)))
+;; This version of GDB is required by some of the Rust compilers, see
+;; <https://bugs.gnu.org/37810>.
(define-public gdb-8.2
(package/inherit
gdb-8.3
@@ -118,6 +127,15 @@ written in C, C++, Ada, Objective-C, Pascal and more.")
(base32
"00i27xqawjv282a07i73lp1l02n0a3ywzhykma75qg500wll6sha"))))))
+;; The "next" version of GDB, to be merged with 'gdb' in the next rebuild cycle.
+(define-public gdb/next
+ (package/inherit
+ gdb-8.3
+ (inputs
+ `(("source-highlight" ,source-highlight)
+ ,@(package-inputs gdb-8.3)))
+ (properties (alist-delete 'hidden? (package-properties gdb-8.3)))))
+
(define-public gdb
;; This is the fixed version that packages depend on. Update it rarely
;; enough to avoid massive rebuilds.
diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm
index 0991109510..0f2eba373d 100644
--- a/gnu/packages/gimp.scm
+++ b/gnu/packages/gimp.scm
@@ -174,6 +174,7 @@ buffers.")
("glib" ,glib)
("glib-networking" ,glib-networking)
("libtiff" ,libtiff)
+ ("libwebp" ,libwebp)
("libjpeg" ,libjpeg)
("atk" ,atk)
("gexiv2" ,gexiv2)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 4c3e47bb8c..2f6029fba5 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -39,7 +39,7 @@
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2019 Jonathan Frederickson <jonathan@terracrypt.net>
-;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2019 David Wilson <david@daviwil.com>
;;; Copyright © 2019, 2020 Raghav Gururajan <raghavgururajan@disroot.org>
@@ -8303,7 +8303,11 @@ functionality and behavior.")
(modify-phases %standard-phases
;; autogen.sh calls configure at the end of the script.
(replace 'bootstrap
- (lambda _ (invoke "autoreconf" "-vfi"))))))
+ (lambda _ (invoke "autoreconf" "-vfi")))
+ (add-before 'build 'set-home ;placate Inkscape
+ (lambda _
+ (setenv "HOME" (getcwd))
+ #t)))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index a6b5f2a4cf..9102469749 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -220,7 +220,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(package
(inherit go-1.4)
(name "go")
- (version "1.12.15")
+ (version "1.12.16")
(source
(origin
(method url-fetch)
@@ -228,7 +228,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
name version ".src.tar.gz"))
(sha256
(base32
- "1hw4xjywcl883dnvfbb92w85sy8n231fdri4aynj8xajgr0p9fla"))))
+ "1y0x10fsvgpc1x24b9q9y6kv9b0kwf7879am3p0gym2abgc5wvnf"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.4)
((#:phases phases)
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 5888e8542e..e5ec572e1d 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
+;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1595,3 +1596,65 @@ cookies, serving files, and more.")
(description
"Haskell library which exposes zero-copy sendfile functionality in a portable way.")
(license license:bsd-3)))
+
+(define-public ghc-scalpel-core
+ (package
+ (name "ghc-scalpel-core")
+ (version "0.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/scalpel-core/"
+ "scalpel-core-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1qf0gnidyh8zk0acj99vn6hsj37m410lrm50sqpiv1i36rpmmsqh"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-data-default" ,ghc-data-default)
+ ("ghc-fail" ,ghc-fail)
+ ("ghc-pointedlist" ,ghc-pointedlist)
+ ("ghc-regex-base" ,ghc-regex-base)
+ ("ghc-regex-tdfa" ,ghc-regex-tdfa)
+ ("ghc-tagsoup" ,ghc-tagsoup)
+ ("ghc-vector" ,ghc-vector)))
+ (native-inputs `(("ghc-hunit" ,ghc-hunit)))
+ (home-page "https://github.com/fimad/scalpel")
+ (synopsis
+ "High level web scraping library for Haskell")
+ (description
+ "Scalpel core provides a subset of the scalpel web scraping library
+that is intended to have lightweight dependencies and to be free of all
+non-Haskell dependencies.")
+ (license license:asl2.0)))
+
+(define-public ghc-scalpel
+ (package
+ (name "ghc-scalpel")
+ (version "0.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/scalpel/"
+ "scalpel-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0jbrfcgljl8kbcwi2zqx1jp3c3dpxrkc94za44x56kcz68n89hlz"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-scalpel-core" ,ghc-scalpel-core)
+ ("ghc-case-insensitive" ,ghc-case-insensitive)
+ ("ghc-data-default" ,ghc-data-default)
+ ("ghc-http-client" ,ghc-http-client)
+ ("ghc-http-client-tls" ,ghc-http-client-tls)
+ ("ghc-tagsoup" ,ghc-tagsoup)))
+ (home-page "https://github.com/fimad/scalpel")
+ (synopsis
+ "High level web scraping library for Haskell")
+ (description
+ "Scalpel is a web scraping library inspired by libraries like Parsec
+and Perl's @code{Web::Scraper} Scalpel builds on top of TagSoup to provide a
+declarative and monadic interface.")
+ (license license:asl2.0)))
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 938cb116ca..3d1709fcc3 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -1,6 +1,7 @@
;;; 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 © 2020 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,6 +31,7 @@
#:use-module (gnu packages bison)
#:use-module (gnu packages perl)
#:use-module (gnu packages base)
+ #:use-module (gnu packages texinfo)
#:use-module (guix git-download)
#:export (hurd-triplet?
hurd-target?))
@@ -44,69 +46,54 @@ GNU/Hurd."
(or (and=> (%current-target-system) hurd-triplet?)
(string-suffix? (%current-system) "-gnu")))
-(define (gnumach-source-url version)
- (string-append "mirror://gnu/gnumach/gnumach-"
- version ".tar.gz"))
-
(define (hurd-source-url version)
(string-append "mirror://gnu/hurd/hurd-"
version ".tar.gz"))
-(define (patch-url repository commit)
- (string-append "https://git.savannah.gnu.org/cgit/hurd/" repository
- ".git/patch/?id=" commit))
-
(define-public gnumach-headers
- (package
- (name "gnumach-headers")
- (version "1.8")
- (source
- (origin
- (method url-fetch)
- (uri (gnumach-source-url version))
- (sha256
- (base32
- "02hygsfpd2dljl5lg1vjjg9pizi9jyxd4aiiqzjshz6jax62jm9f"))
- (patches (list (origin
- ;; This patch adds <mach/vm_wire.h>, which defines the
- ;; VM_WIRE_* constants needed by glibc 2.28.
- (method url-fetch)
- (uri (patch-url "gnumach" "2b0f19f602e08fd9d37268233b962674fd592634"))
- (sha256
- (base32
- "01iajnwsmka0w9hwjkxxijc4xfhwqbvlkw1w8n71hpnhfixd0y28"))
- (file-name "gnumach-vm-wire-header.patch"))))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Actually install vm_wire.h.
- (substitute* "Makefile.in"
- (("^include_mach_HEADERS =")
- "include_mach_HEADERS = include/mach/vm_wire.h"))
- #t))))
- (build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'install
- (lambda _
- (invoke "make" "install-data")))
- (delete 'build))
+ (let ((commit "097f9cf735ffa1212b828682ad92f0f6c5f1c552")
+ (revision "1"))
+ (package
+ (name "gnumach-headers")
+ (version (git-version "1.8" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.savannah.gnu.org/git/hurd/gnumach.git")
+ (commit commit)))
+ (file-name (git-file-name "gnumach" version))
+ (sha256
+ (base32
+ "0q36z7k02bykrld90zaxbhyzxlmwlqqs4divgir6ix38zsp6icqk"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'install
+ (lambda _
+ (invoke "make" "install-data")))
+ (delete 'build))
- ;; GNU Mach supports only IA32 currently, so cheat so that we can at
- ;; least install its headers.
- ,@(if (%current-target-system)
- '()
- ;; See <http://lists.gnu.org/archive/html/bug-hurd/2015-06/msg00042.html>
- ;; <http://lists.gnu.org/archive/html/guix-devel/2015-06/msg00716.html>
- '(#:configure-flags '("--build=i586-pc-gnu")))
+ ;; GNU Mach supports only IA32 currently, so cheat so that we can at
+ ;; least install its headers.
+ ,@(if (%current-target-system)
+ '()
+ ;; See <http://lists.gnu.org/archive/html/bug-hurd/2015-06/msg00042.html>
+ ;; <http://lists.gnu.org/archive/html/guix-devel/2015-06/msg00716.html>
+ '(#:configure-flags '("--build=i586-pc-gnu"
+ "--host=i686-linux-gnu")))
- #:tests? #f))
- (home-page "https://www.gnu.org/software/hurd/microkernel/mach/gnumach.html")
- (synopsis "GNU Mach kernel headers")
- (description
- "Headers of the GNU Mach kernel.")
- (license gpl2+)))
+ #:tests? #f))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("texinfo" ,texinfo-4)))
+ (home-page "https://www.gnu.org/software/hurd/microkernel/mach/gnumach.html")
+ (synopsis "GNU Mach kernel headers")
+ (description
+ "Headers of the GNU Mach kernel.")
+ (license gpl2+))))
(define-public mig
(package
@@ -264,15 +251,8 @@ Hurd-minimal package which are needed for both glibc and GCC.")
(define-public gnumach
(package
+ (inherit gnumach-headers)
(name "gnumach")
- (version "1.8")
- (source (origin
- (method url-fetch)
- (uri (gnumach-source-url version))
- (sha256
- (base32
- "02hygsfpd2dljl5lg1vjjg9pizi9jyxd4aiiqzjshz6jax62jm9f"))))
- (build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(add-after 'install 'produce-image
@@ -286,12 +266,9 @@ Hurd-minimal package which are needed for both glibc and GCC.")
`(("mig" ,mig)
("perl" ,perl)))
(supported-systems (cons "i686-linux" %hurd-systems))
- (home-page
- "https://www.gnu.org/software/hurd/microkernel/mach/gnumach.html")
(synopsis "Microkernel of the GNU system")
(description
- "GNU Mach is the microkernel upon which a GNU Hurd system is based.")
- (license gpl2+)))
+ "GNU Mach is the microkernel upon which a GNU Hurd system is based.")))
(define-public hurd
(package
diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm
index 2b4bc5680d..1ea4b5bd6a 100644
--- a/gnu/packages/imagemagick.scm
+++ b/gnu/packages/imagemagick.scm
@@ -170,7 +170,7 @@ script.")
(define-public graphicsmagick
(package
(name "graphicsmagick")
- (version "1.3.33")
+ (version "1.3.34")
(source
(origin
(method url-fetch)
@@ -182,7 +182,8 @@ script.")
"GraphicsMagick/" (version-major+minor version)
"/GraphicsMagick-" version ".tar.xz")))
(sha256
- (base32 "0y67dl6xbk1pxndppa93hhlq9i6bpcjw39gb4i8hnn1klqqb630k"))))
+ (base32
+ "197pshms3m8mn2x1ryiag37ambm8qmb448spch66l3gdfd8rs06z"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index c7425a67f8..c3f6502d45 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -11,7 +11,7 @@
;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Raymond Nicholson <rain1@openmailbox.org>
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
-;;; Copyright © 2016, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2016, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
@@ -33,7 +33,7 @@
;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
-;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Stefan Stefanović <stefanx2ovic@gmail.com>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Brice Waegeneire <brice@waegenei.re>
@@ -87,6 +87,8 @@
#:use-module (gnu packages gperf)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages haskell-apps)
+ #:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages libusb)
#:use-module (gnu packages man)
@@ -357,42 +359,42 @@ 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.15")
+(define-public linux-libre-5.4-version "5.4.17")
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
- (hash (base32 "1ccldlwj89qd22cl06706w7xzm8n69m6kg8ic0s5ns0ghlpj41v4")))
+ (hash (base32 "1fbl5knf6pini9lsx8mqkdmf3qbsydqvaxggh6nd1vk9mzv2npwl")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
-(define-public linux-libre-4.19-version "4.19.99")
+(define-public linux-libre-4.19-version "4.19.101")
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
- (hash (base32 "1axmspnqir2zz7lail95y5yaamxl86k39sd4im3c77dgjkwj3g4d")))
+ (hash (base32 "1i4bkwankl5q95kgqmmyzdkwmf3b8ppkb8ild9bw12mkpmm1a9my")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
-(define-public linux-libre-4.14-version "4.14.168")
+(define-public linux-libre-4.14-version "4.14.169")
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
- (hash (base32 "1ziixdg4jsr17kgfa9dpckczk0r2mc5jayqb2f6br19al79pfmyv")))
+ (hash (base32 "0jc24zvqz3vsv65xxcivzkj6nv27vsy62l50n2h1ysy5jdwsk3nq")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
-(define-public linux-libre-4.9-version "4.9.211")
+(define-public linux-libre-4.9-version "4.9.212")
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
- (hash (base32 "1gmi27ih5ys1wxbrnc4a5dr9vw9ngccs9xpa2p0gsk4pbn6n15r5")))
+ (hash (base32 "0c5yjilaq86j6i2hzlxbp2ia7jhnf7kv952ffv7jxdf90sk3irxd")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
-(define-public linux-libre-4.4-version "4.4.211")
+(define-public linux-libre-4.4-version "4.4.212")
(define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version)
- (hash (base32 "1f6qz4bvjn18cfcg3wwfsl75aw2kxwn28r228kdic9aibhy6rpvp")))
+ (hash (base32 "0mx3qyj6w6h7gw7drsfsgl4iyz1695sjnf9hqh4kczci48kw5rj7")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.4)))
@@ -780,7 +782,7 @@ It has been modified to remove all non-free binary blobs.")
(define-public linux-libre-5.4
(make-linux-libre* linux-libre-5.4-version
linux-libre-5.4-source
- '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux")
+ '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux")
#:configuration-file kernel-config))
(define-public linux-libre-version linux-libre-5.4-version)
@@ -872,6 +874,12 @@ It has been modified to remove all non-free binary blobs.")
#:defconfig "omap2plus_defconfig"
#:extra-version "arm-omap2plus"))
+(define-public linux-libre-riscv64-generic
+ (make-linux-libre* linux-libre-version
+ linux-libre-source
+ '("riscv64-linux")
+ #:extra-version "riscv64-generic"))
+
;;;
;;; Linux kernel modules.
@@ -2656,6 +2664,50 @@ kmod. The aim is to be compatible with tools, configurations and indices
from the module-init-tools project.")
(license license:gpl2+))) ; library under lgpl2.1+
+(define-public earlyoom
+ (package
+ (name "earlyoom")
+ (version "1.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rfjakob/earlyoom.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0fwbx0y80nqgkxrc9kf9j3iwa0wbps2jmqir3pgqbc2cj0wjh0lr"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'check 'set-home
+ (lambda _
+ (setenv "HOME" (getcwd))
+ #t))
+ (add-after 'build 'install-contribs
+ ;; Install what seems useful from the contrib directory.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (contrib (string-append
+ out "/share/earlyoom/contrib")))
+ (install-file "contrib/notify_all_users.py" contrib)
+ #t))))
+ #:make-flags (let* ((prefix (assoc-ref %outputs "out")))
+ (list "CC=gcc"
+ (string-append "VERSION=v" ,version)
+ (string-append "PREFIX=" prefix)
+ (string-append "SYSCONFDIR=" prefix "/etc")))
+ #:test-target "test"))
+ (native-inputs `(("go" ,go) ;for the test suite
+ ("pandoc" ,ghc-pandoc))) ;to generate the manpage
+ (home-page "https://github.com/rfjakob/earlyoom")
+ (synopsis "Simple out of memory (OOM) daemon for the Linux kernel")
+ (description "Early OOM is a minimalist out of memory (OOM) daemon that
+runs in user space and provides a more responsive and configurable alternative
+to the in-kernel OOM killer.")
+ (license license:expat)))
+
(define-public eudev
;; The post-systemd fork, maintained by Gentoo.
(package
@@ -5119,42 +5171,46 @@ interface in sysfs, which can be accomplished with the included udev rules.")
(define-public tlp
(package
(name "tlp")
- (version "1.2.2")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/linrunner/"
- (string-upcase name)
- "/archive/" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "059kxrpxx580mm6p0z2a421nxngszyh4yqqhbgvn04b6a7dbsa2w"))))
- (inputs `(("bash" ,bash)
- ("dbus" ,dbus)
- ("ethtool" ,ethtool)
- ("eudev" ,eudev)
- ("grep" ,grep)
- ("hdparm" ,hdparm)
- ("inetutils" ,inetutils)
- ("iw" ,iw)
- ("kmod" ,kmod)
- ("pciutils" ,pciutils)
- ("perl" ,perl)
- ("rfkill" ,rfkill)
- ("sed" ,sed)
- ("usbutils" ,usbutils)
- ("util-linux" ,util-linux)
- ("wireless-tools" ,wireless-tools)
- ,@(if (let ((system (or (%current-target-system)
- (%current-system))))
- (or (string-prefix? "i686-" system)
- (string-prefix? "x86_64-" system)))
- `(("x86-energy-perf-policy" ,x86-energy-perf-policy))
- '())))
+ (version "1.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/linrunner/TLP/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "169k3xypq5rq0xiggrlpr73yr2r2x7b2d9vcr9ac96qrgph7sk7r"))))
+ (native-inputs
+ `(("shellcheck" ,shellcheck)))
+ (inputs
+ `(("bash" ,bash)
+ ("dbus" ,dbus)
+ ("ethtool" ,ethtool)
+ ("eudev" ,eudev)
+ ("grep" ,grep)
+ ("hdparm" ,hdparm)
+ ("inetutils" ,inetutils)
+ ("iw" ,iw)
+ ("kmod" ,kmod)
+ ("pciutils" ,pciutils)
+ ("perl" ,perl)
+ ("rfkill" ,rfkill)
+ ("sed" ,sed)
+ ("usbutils" ,usbutils)
+ ("util-linux" ,util-linux)
+ ("wireless-tools" ,wireless-tools)
+ ,@(if (let ((system (or (%current-target-system)
+ (%current-system))))
+ (or (string-prefix? "i686-" system)
+ (string-prefix? "x86_64-" system)))
+ `(("x86-energy-perf-policy" ,x86-energy-perf-policy))
+ '())))
(build-system gnu-build-system)
(arguments
- `(#:modules ((guix build gnu-build-system)
+ ;; XXX: The full test suite is run with "checkall" but it requires
+ ;; "checkbashisms" and "perlcritic", not yet packaged in Guix.
+ `(#:test-target "shellcheck"
+ #:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1))
#:phases
@@ -5171,7 +5227,9 @@ interface in sysfs, which can be accomplished with the included udev rules.")
(setenv "TLP_TLIB" (string-append out "/share/tlp"))
(setenv "TLP_FLIB" (string-append out "/share/tlp/func.d"))
(setenv "TLP_ULIB" (string-append out "/lib/udev"))
- (setenv "TLP_CONF" "/etc/tlp")
+ (setenv "TLP_CONFDEF"
+ (string-append out "/share/tlp/defaults.conf"))
+ (setenv "TLP_CONFDIR" (string-append out "/etc/tlp.d"))
(setenv "TLP_ELOD"
(string-append out "/lib/elogind/system-sleep"))
(setenv "TLP_SHCPL"
@@ -5179,17 +5237,15 @@ interface in sysfs, which can be accomplished with the included udev rules.")
(setenv "TLP_MAN" (string-append out "/share/man"))
(setenv "TLP_META" (string-append out "/share/metainfo"))
#t)))
- (delete 'check) ; no tests
(add-before 'install 'fix-installation
(lambda _
;; Stop the Makefile from trying to create system directories.
(substitute* "Makefile"
- (("\\[ -f \\$\\(_CONF\\) \\]") "#")
+ (("\\[ -f \\$\\(_CONFUSR\\) \\]") "#")
(("install -d -m 755 \\$\\(_VAR\\)") "#"))
#t))
(replace 'install
- (lambda _
- (invoke "make" "install-tlp" "install-man")))
+ (lambda _ (invoke "make" "install-tlp" "install-man-tlp")))
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((bin (string-append (assoc-ref outputs "out") "/bin"))
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index d0cc685969..920837abae 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -51,6 +51,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages imagemagick)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
#:use-module (gnu packages lisp)
@@ -59,6 +60,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sqlite)
+ #:use-module (gnu packages tcl)
#:use-module (gnu packages tls)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xdisorg)
@@ -9709,3 +9711,335 @@ possible.")
(define-public ecl-green-threads
(sbcl-package->ecl-package sbcl-green-threads))
+
+(define-public sbcl-cl-base32
+ (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-base32")
+ (version (git-version "0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hargettp/cl-base32.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("lisp-unit" ,sbcl-lisp-unit)))
+ (synopsis "Common Lisp library for base32 encoding and decoding")
+ (description
+ "This package provides functions for base32 encoding and decoding as
+defined in RFC4648.")
+ (home-page "https://github.com/hargettp/cl-base32")
+ (license license:expat))))
+
+(define-public cl-base32
+ (sbcl-package->cl-source-package sbcl-cl-base32))
+
+(define-public ecl-cl-base32
+ (sbcl-package->ecl-package sbcl-cl-base32))
+
+(define-public sbcl-cl-z85
+ (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-z85")
+ (version (git-version "1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/glv2/cl-z85.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("cl-octet-streams" ,sbcl-cl-octet-streams)
+ ("fiveam" ,sbcl-fiveam)))
+ (synopsis "Common Lisp library for Z85 encoding and decoding")
+ (description
+ "This package provides functions to encode or decode byte vectors or
+byte streams using the Z85 format, which is a base-85 encoding used by
+ZeroMQ.")
+ (home-page "https://github.com/glv2/cl-z85")
+ (license license:gpl3+))))
+
+(define-public cl-z85
+ (sbcl-package->cl-source-package sbcl-cl-z85))
+
+(define-public ecl-cl-z85
+ (sbcl-package->ecl-package sbcl-cl-z85))
+
+(define-public sbcl-ltk
+ (package
+ (name "sbcl-ltk")
+ (version "0.992")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/herth/ltk.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("imagemagick" ,imagemagick)
+ ("tk" ,tk)))
+ (arguments
+ `(#:asd-file "ltk/ltk.asd"
+ #:tests? #f
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "ltk/ltk.lisp"
+ (("#-freebsd \"wish\"")
+ (string-append "#-freebsd \""
+ (assoc-ref inputs "tk")
+ "/bin/wish\""))
+ (("do-execute \"convert\"")
+ (string-append "do-execute \""
+ (assoc-ref inputs "imagemagick")
+ "/bin/convert\"")))
+ #t)))))
+ (synopsis "Common Lisp bindings for the Tk GUI toolkit")
+ (description
+ "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
+in pure Common Lisp and does not require any Tk knowledge for its usage.")
+ (home-page "http://www.peter-herth.de/ltk/")
+ (license license:llgpl)))
+
+(define-public cl-ltk
+ (sbcl-package->cl-source-package sbcl-ltk))
+
+(define-public ecl-ltk
+ (sbcl-package->ecl-package sbcl-ltk))
+
+(define-public sbcl-ltk-mw
+ (package
+ (inherit sbcl-ltk)
+ (name "sbcl-ltk-mw")
+ (inputs
+ `(("ltk" ,sbcl-ltk)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments sbcl-ltk)
+ ((#:asd-file _) "ltk/ltk-mw.asd")
+ ((#:phases _) '%standard-phases)))
+ (synopsis "Extra widgets for LTK")
+ (description
+ "This is a collection of higher-level widgets built on top of LTK.")))
+
+(define-public cl-ltk-mw
+ (sbcl-package->cl-source-package sbcl-ltk-mw))
+
+(define-public ecl-ltk-mw
+ (sbcl-package->ecl-package sbcl-ltk-mw))
+
+(define-public sbcl-ltk-remote
+ (package
+ (inherit sbcl-ltk)
+ (name "sbcl-ltk-remote")
+ (inputs
+ `(("ltk" ,sbcl-ltk)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments sbcl-ltk)
+ ((#:asd-file _) "ltk/ltk-remote.asd")
+ ((#:phases _) '%standard-phases)))
+ (synopsis "Remote GUI support for LTK")
+ (description
+ "This LTK extension allows the GUI to be displayed on a computer different
+from the one running the Lisp program by using a TCP connection.")))
+
+(define-public cl-ltk-remote
+ (sbcl-package->cl-source-package sbcl-ltk-remote))
+
+(define-public sbcl-cl-lex
+ (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-lex")
+ (version (git-version "1.1.3" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/djr7C4/cl-lex.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("cl-ppcre" ,sbcl-cl-ppcre)))
+ (synopsis "Common Lisp macros for generating lexical analyzers")
+ (description
+ "This is a Common Lisp library providing a set of macros for generating
+lexical analyzers automatically. The lexers generated using @code{cl-lex} can
+be used with @code{cl-yacc}.")
+ (home-page "https://github.com/djr7C4/cl-lex")
+ (license license:gpl3))))
+
+(define-public cl-lex
+ (sbcl-package->cl-source-package sbcl-cl-lex))
+
+(define-public ecl-cl-lex
+ (sbcl-package->ecl-package sbcl-cl-lex))
+
+(define-public sbcl-clunit2
+ (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
+ (revision "1"))
+ (package
+ (name "sbcl-clunit2")
+ (version (git-version "0.2.4" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://notabug.org/cage/clunit2.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
+ (build-system asdf-build-system/sbcl)
+ (synopsis "Unit testing framework for Common Lisp")
+ (description
+ "CLUnit is a Common Lisp unit testing framework. It is designed to be
+easy to use so that you can quickly start testing.")
+ (home-page "https://notabug.org/cage/clunit2")
+ (license license:expat))))
+
+(define-public cl-clunit2
+ (sbcl-package->cl-source-package sbcl-clunit2))
+
+(define-public ecl-clunit2
+ (sbcl-package->ecl-package sbcl-clunit2))
+
+(define-public sbcl-cl-colors2
+ (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-colors2")
+ (version (git-version "0.2.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://notabug.org/cage/cl-colors2.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("clunit2" ,sbcl-clunit2)))
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("cl-ppcre" ,sbcl-cl-ppcre)))
+ (synopsis "Color library for Common Lisp")
+ (description
+ "This is a very simple color library for Common Lisp, providing:
+
+@itemize
+@item Types for representing colors in HSV and RGB spaces.
+@item Simple conversion functions between the above types (and also
+hexadecimal representation for RGB).
+@item Some predefined colors (currently X11 color names -- of course
+the library does not depend on X11).
+@end itemize\n")
+ (home-page "https://notabug.org/cage/cl-colors2")
+ (license license:boost1.0))))
+
+(define-public cl-colors2
+ (sbcl-package->cl-source-package sbcl-cl-colors2))
+
+(define-public ecl-cl-colors2
+ (sbcl-package->ecl-package sbcl-cl-colors2))
+
+(define-public sbcl-cl-jpeg
+ (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-jpeg")
+ (version (git-version "2.8" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sharplispers/cl-jpeg.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
+ (build-system asdf-build-system/sbcl)
+ (synopsis "JPEG image library for Common Lisp")
+ (description
+ "This is a baseline JPEG codec written in Common Lisp. It can be used
+for reading and writing JPEG image files.")
+ (home-page "https://github.com/sharplispers/cl-jpeg")
+ (license license:bsd-3))))
+
+(define-public cl-jpeg
+ (sbcl-package->cl-source-package sbcl-cl-jpeg))
+
+(define-public ecl-cl-jpeg
+ (sbcl-package->ecl-package sbcl-cl-jpeg))
+
+(define-public sbcl-nodgui
+ (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
+ (revision "1"))
+ (package
+ (name "sbcl-nodgui")
+ (version (git-version "0.0.5" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://notabug.org/cage/nodgui.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("bordeaux-threads" ,sbcl-bordeaux-threads)
+ ("cl-colors2" ,sbcl-cl-colors2)
+ ("cl-jpeg" ,sbcl-cl-jpeg)
+ ("cl-lex" ,sbcl-cl-lex)
+ ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
+ ("cl-unicode" ,sbcl-cl-unicode)
+ ("cl-yacc" ,sbcl-cl-yacc)
+ ("clunit2" ,sbcl-clunit2)
+ ("named-readtables" ,sbcl-named-readtables)
+ ("parse-number" ,sbcl-parse-number)
+ ("tk" ,tk)))
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/wish-communication.lisp"
+ (("#-freebsd \"wish\"")
+ (string-append "#-freebsd \""
+ (assoc-ref inputs "tk")
+ "/bin/wish\"")))
+ #t)))))
+ (synopsis "Common Lisp bindings for the Tk GUI toolkit")
+ (description
+ "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
+toolkit. It also provides a few additional widgets more than the standard Tk
+ones.")
+ (home-page "https://www.autistici.org/interzona/nodgui.html")
+ (license license:llgpl))))
+
+(define-public cl-nodgui
+ (sbcl-package->cl-source-package sbcl-nodgui))
+
+(define-public ecl-nodgui
+ (sbcl-package->ecl-package sbcl-nodgui))
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index aa37c4e38c..0538342977 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -2301,72 +2301,6 @@ transfer protocols.")
(define-public opensmtpd
(package
(name "opensmtpd")
- (version "6.0.3p1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://www.opensmtpd.org/archives/"
- name "-" version ".tar.gz"))
- (sha256
- (base32
- "10bsfsnlg9d9i6l2izdnxp05s3ri8fvwzqxvx1jmarc852382619"))
- ;; Fixed upstream: <github.com/OpenSMTPD/OpenSMTPD/pull/835>.
- (patches (search-patches "opensmtpd-fix-crash.patch"))))
- (build-system gnu-build-system)
- (inputs
- `(("bdb" ,bdb)
- ("libressl" ,libressl)
- ("libevent" ,libevent)
- ("libasr" ,libasr)
- ("linux-pam" ,linux-pam)
- ("zlib" ,zlib)))
- (native-inputs
- `(("bison" ,bison)
- ("groff" ,groff)))
- (arguments
- `(#:configure-flags
- (list "--with-table-db" "--with-auth-pam" "--localstatedir=/var"
- "--with-user-smtpd=smtpd" "--with-user-queue=smtpq"
- "--with-group-queue=smtpq"
- "--with-path-socket=/var/run" ; not default (./configure lies)
- "--with-path-CAfile=/etc/ssl/certs/ca-certificates.crt")
- #:phases
- (modify-phases %standard-phases
- ;; Fix some incorrectly hard-coded external tool file names.
- (add-after 'unpack 'patch-FHS-file-names
- (lambda _
- (substitute* "smtpd/smtpctl.c"
- (("/bin/cat") (which "cat"))
- (("/bin/sh") (which "sh")))
- #t))
- ;; OpenSMTPD provides a single utility smtpctl to control the daemon and
- ;; the local submission subsystem. To accomodate systems that require
- ;; historical interfaces such as sendmail, newaliases or makemap, the
- ;; smtpctl utility can operate in compatibility mode if called with the
- ;; historical name.
- (add-after 'install 'install-compability-links
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (sbin (string-append out "/sbin/")))
- (for-each (lambda (command)
- (symlink "smtpctl" (string-append sbin command)))
- '("makemap" "sendmail" "send-mail"
- "newaliases" "mailq")))
- #t)))))
- (synopsis "Lightweight SMTP daemon")
- (description
- "OpenSMTPD is an implementation of the server-side SMTP protocol, with
-some additional standard extensions. It allows ordinary machines to exchange
-e-mails with other systems speaking the SMTP protocol.")
- (home-page "https://www.opensmtpd.org")
- (license (list bsd-2 bsd-3 bsd-4 (non-copyleft "file://COPYING")
- public-domain isc license:openssl))))
-
-;; OpenSMTPd 6.4 introduced a new and incompatible configuration file format.
-;; Use a different name, for now, to avoid auto-upgrades and broken mail boxes.
-;; OPENSMTP-CONFIGURATION in (gnu services mail) will also need an overhaul.
-(define-public opensmtpd-next
- (package
- (name "opensmtpd-next")
(version "6.6.2p1")
(source
(origin
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 9241966d24..5ac3bd1403 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2013, 2014, 2015, 2016, 2019 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2016, 2017 John Darrington <jmd@gnu.org>
-;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2014 Mathieu Lirzin <mathieu.lirzin@openmailbox.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
@@ -2411,7 +2411,7 @@ easy-to-write markup language for mathematics.")
(source
(origin
(method url-fetch)
- (uri (string-append "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/"
+ (uri (string-append "https://portal.nersc.gov/project/sparse/superlu/"
"superlu_" version ".tar.gz"))
(sha256
(base32 "0qzlb7cd608q62kyppd0a8c65l03vrwqql6gsm465rky23b6dyr8"))
@@ -2457,7 +2457,7 @@ void mc64ad_ (int *a, int *b, int *c, int *d, int *e, double *f, int *g,
`(#:configure-flags '("-Denable_blaslib:BOOL=NO" ;do not use internal cblas
"-DTPL_BLAS_LIBRARIES=openblas"
"-DBUILD_SHARED_LIBS:BOOL=YES")))
- (home-page "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/")
+ (home-page "https://portal.nersc.gov/project/sparse/superlu/")
(synopsis "Supernodal direct solver for sparse linear systems")
(description
"SuperLU is a general purpose library for the direct solution of large,
@@ -2473,14 +2473,14 @@ also provides threshold-based ILU factorization preconditioners.")
(define-public superlu-dist
(package
(name "superlu-dist")
- (version "6.1.0")
+ (version "6.2.0")
(source
(origin
(method url-fetch)
- (uri (string-append "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/"
+ (uri (string-append "https://portal.nersc.gov/project/sparse/superlu/"
"superlu_dist_" version ".tar.gz"))
(sha256
- (base32 "0pqgcgh1yxhfzs99fas3mggajzd5wca3nbyp878rziy74gfk03dl"))
+ (base32 "1ynmwqajc9sc3my2hssa5k9s58ggvizqv9rdss0j7w99pbh5mnvw"))
(modules '((guix build utils)))
(snippet
;; Replace the non-free implementation of MC64 with a stub
@@ -2506,8 +2506,7 @@ void mc64ad_dist (int *a, int *b, int *c, int *d, int *e, double *f, int *g,
"RowPerm = NOROWPERM;"))
#t))
(patches (search-patches "superlu-dist-scotchmetis.patch"
- "superlu-dist-awpm-grid.patch"
- "superlu-dist-fix-mpi-deprecations.patch"))))
+ "superlu-dist-awpm-grid.patch"))))
(build-system cmake-build-system)
(native-inputs
`(("tcsh" ,tcsh)))
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 81569d29b9..b1276e267b 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -1949,9 +1949,9 @@ Telegram messenger.")
(license license:gpl2+)))
(define-public tdlib
- (let ((commit "5efaf8c3b523797373c487d972ea514364e5eac2")
- (revision "1")
- (version "1.5.5"))
+ (let ((commit "278c7acdec83c5ac17d8e1ed0bb2cacbcea62460")
+ (revision "0")
+ (version "1.6.0"))
(package
(name "tdlib")
(version (git-version version revision commit))
@@ -1962,7 +1962,7 @@ Telegram messenger.")
(commit commit)))
(sha256
(base32
- "1grflgvqqxbf84yi09j60a1cpbcrv85yhj9a735agi32hgd51whi"))
+ "0zlzpl6fgszg18kwycyyyrnkm255dvc6fkq0b0y32m5wvwwl36cv"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 5c2c91891c..ed339524c0 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
-;;; Copyright © 2016, 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
@@ -601,14 +601,14 @@ of the same name.")
(define-public wireshark
(package
(name "wireshark")
- (version "3.2.0")
+ (version "3.2.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.wireshark.org/download/src/wireshark-"
version ".tar.xz"))
(sha256
- (base32 "0v5nn7i2nbqr59jsw8cs2052hr7xd96x1sa3480g8ks5kahk7zac"))))
+ (base32 "0nz84zyhs4177ljxmv34vgc9kgg7ssxhxa4mssxqwh6nb00697sq"))))
(build-system cmake-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm
index 7abe9ab6f0..de8239b7fe 100644
--- a/gnu/packages/openldap.scm
+++ b/gnu/packages/openldap.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -48,7 +49,7 @@
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
#:use-module (gnu packages)
- #:use-module ((guix licenses) #:select (openldap2.8 lgpl2.1+ gpl3+ psfl))
+ #:use-module ((guix licenses) #:select (openldap2.8 lgpl2.1+ gpl3+ psfl expat))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
@@ -367,3 +368,30 @@ Other features include:
@end enumerate\n")
;; GPLv3+ with OpenSSL linking exception.
(license gpl3+)))
+
+(define-public python-bonsai
+ (package
+ (name "python-bonsai")
+ (version "1.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "bonsai" version))
+ (sha256
+ (base32
+ "013bl6h1m3f7vg1lk89d4vi28wbf31zdcs4f9g8css7ngx63v6px"))))
+ (build-system python-build-system)
+ (inputs
+ `(("mit-krb5" ,mit-krb5)
+ ("cyrus-sasl" ,cyrus-sasl)
+ ("openldap" ,openldap)))
+ ;; disabling tests, since they require docker and extensive setup
+ (arguments `(#:tests? #f))
+ (home-page "https://github.com/noirello/bonsai")
+ (synopsis "Access LDAP directory servers from Python")
+ (description
+ "This is a module for handling LDAP operations in Python. LDAP entries
+are mapped to a special Python case-insensitive dictionary, tracking the
+changes of the dictionary to modify the entry on the server easily.")
+ (license expat)))
+
diff --git a/gnu/packages/patches/opensmtpd-fix-crash.patch b/gnu/packages/patches/opensmtpd-fix-crash.patch
deleted file mode 100644
index 0030167533..0000000000
--- a/gnu/packages/patches/opensmtpd-fix-crash.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 9b5f70b93e038df5446bd37a4adac5a0380748e7 Mon Sep 17 00:00:00 2001
-From: johannes <johannes.brechtmann@gmail.com>
-Date: Wed, 21 Feb 2018 23:57:11 +0100
-Subject: [PATCH] crypt_checkpass: include HAVE_CRYPT_H definition, add NULL
- check
-
----
- openbsd-compat/crypt_checkpass.c | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/openbsd-compat/crypt_checkpass.c b/openbsd-compat/crypt_checkpass.c
-index dafd2dae..d10b3a57 100644
---- a/openbsd-compat/crypt_checkpass.c
-+++ b/openbsd-compat/crypt_checkpass.c
-@@ -1,5 +1,6 @@
- /* OPENBSD ORIGINAL: lib/libc/crypt/cryptutil.c */
-
-+#include "includes.h"
- #include <errno.h>
- #ifdef HAVE_CRYPT_H
- #include <crypt.h>
-@@ -10,6 +11,8 @@
- int
- crypt_checkpass(const char *pass, const char *goodhash)
- {
-+ char *c;
-+
- if (goodhash == NULL)
- goto fail;
-
-@@ -17,7 +20,11 @@ crypt_checkpass(const char *pass, const char *goodhash)
- if (strlen(goodhash) == 0 && strlen(pass) == 0)
- return 0;
-
-- if (strcmp(crypt(pass, goodhash), goodhash) == 0)
-+ c = crypt(pass, goodhash);
-+ if (c == NULL)
-+ goto fail;
-+
-+ if (strcmp(c, goodhash) == 0)
- return 0;
-
- fail:
-
diff --git a/gnu/packages/patches/sdl-pango-api_additions.patch b/gnu/packages/patches/sdl-pango-api_additions.patch
new file mode 100644
index 0000000000..5c02e79910
--- /dev/null
+++ b/gnu/packages/patches/sdl-pango-api_additions.patch
@@ -0,0 +1,128 @@
+Index: SDL_Pango-0.1.2/src/SDL_Pango.c
+===================================================================
+--- SDL_Pango-0.1.2.orig/src/SDL_Pango.c 2004-12-10 10:06:33.000000000 +0100
++++ SDL_Pango-0.1.2/src/SDL_Pango.c 2007-09-18 14:56:35.362379428 +0200
+@@ -723,13 +723,9 @@
+ SDL_UnlockSurface(surface);
+ }
+
+-/*!
+- Create a context which contains Pango objects.
+
+- @return A pointer to the context as a SDLPango_Context*.
+-*/
+ SDLPango_Context*
+-SDLPango_CreateContext()
++SDLPango_CreateContext_GivenFontDesc(const char* font_desc)
+ {
+ SDLPango_Context *context = g_malloc(sizeof(SDLPango_Context));
+ G_CONST_RETURN char *charset;
+@@ -743,8 +739,7 @@
+ pango_context_set_language (context->context, pango_language_from_string (charset));
+ pango_context_set_base_dir (context->context, PANGO_DIRECTION_LTR);
+
+- context->font_desc = pango_font_description_from_string(
+- MAKE_FONT_NAME (DEFAULT_FONT_FAMILY, DEFAULT_FONT_SIZE));
++ context->font_desc = pango_font_description_from_string(font_desc);
+
+ context->layout = pango_layout_new (context->context);
+
+@@ -762,6 +757,17 @@
+ }
+
+ /*!
++ Create a context which contains Pango objects.
++
++ @return A pointer to the context as a SDLPango_Context*.
++*/
++SDLPango_Context*
++SDLPango_CreateContext()
++{
++ SDLPango_CreateContext_GivenFontDesc(MAKE_FONT_NAME(DEFAULT_FONT_FAMILY, DEFAULT_FONT_SIZE));
++}
++
++/*!
+ Free a context.
+
+ @param *context [i/o] Context to be free
+@@ -1053,6 +1059,20 @@
+ pango_layout_set_font_description (context->layout, context->font_desc);
+ }
+
++void
++SDLPango_SetText_GivenAlignment(
++ SDLPango_Context *context,
++ const char *text,
++ int length,
++ SDLPango_Alignment alignment)
++{
++ pango_layout_set_attributes(context->layout, NULL);
++ pango_layout_set_text (context->layout, text, length);
++ pango_layout_set_auto_dir (context->layout, TRUE);
++ pango_layout_set_alignment (context->layout, alignment);
++ pango_layout_set_font_description (context->layout, context->font_desc);
++}
++
+ /*!
+ Set plain text to context.
+ Text must be utf-8.
+@@ -1067,11 +1087,7 @@
+ const char *text,
+ int length)
+ {
+- pango_layout_set_attributes(context->layout, NULL);
+- pango_layout_set_text (context->layout, text, length);
+- pango_layout_set_auto_dir (context->layout, TRUE);
+- pango_layout_set_alignment (context->layout, PANGO_ALIGN_LEFT);
+- pango_layout_set_font_description (context->layout, context->font_desc);
++ SDLPango_SetText_GivenAlignment(context, text, length, SDLPANGO_ALIGN_LEFT);
+ }
+
+ /*!
+Index: SDL_Pango-0.1.2/src/SDL_Pango.h
+===================================================================
+--- SDL_Pango-0.1.2.orig/src/SDL_Pango.h 2004-12-10 10:06:33.000000000 +0100
++++ SDL_Pango-0.1.2/src/SDL_Pango.h 2007-09-18 15:00:41.736419485 +0200
+@@ -26,6 +26,7 @@
+
+ #ifndef SDL_PANGO_H
+ #define SDL_PANGO_H
++#define SDL_PANGO_HAS_GC_EXTENSIONS
+
+ #include "SDL.h"
+
+@@ -109,12 +110,20 @@
+ SDLPANGO_DIRECTION_NEUTRAL /*! Neutral */
+ } SDLPango_Direction;
+
+-
++/*!
++ Specifies alignment of text. See Pango reference for detail
++*/
++typedef enum {
++ SDLPANGO_ALIGN_LEFT,
++ SDLPANGO_ALIGN_CENTER,
++ SDLPANGO_ALIGN_RIGHT
++} SDLPango_Alignment;
+
+ extern DECLSPEC int SDLCALL SDLPango_Init();
+
+ extern DECLSPEC int SDLCALL SDLPango_WasInit();
+
++extern DECLSPEC SDLPango_Context* SDLCALL SDLPango_CreateContext_GivenFontDesc(const char* font_desc);
+ extern DECLSPEC SDLPango_Context* SDLCALL SDLPango_CreateContext();
+
+ extern DECLSPEC void SDLCALL SDLPango_FreeContext(
+@@ -157,6 +166,12 @@
+ const char *markup,
+ int length);
+
++extern DECLSPEC void SDLCALL SDLPango_SetText_GivenAlignment(
++ SDLPango_Context *context,
++ const char *text,
++ int length,
++ SDLPango_Alignment alignment);
++
+ extern DECLSPEC void SDLCALL SDLPango_SetText(
+ SDLPango_Context *context,
+ const char *markup,
diff --git a/gnu/packages/patches/sdl-pango-blit_overflow.patch b/gnu/packages/patches/sdl-pango-blit_overflow.patch
new file mode 100644
index 0000000000..411d066a74
--- /dev/null
+++ b/gnu/packages/patches/sdl-pango-blit_overflow.patch
@@ -0,0 +1,32 @@
+Index: sdlpango-0.1.2/src/SDL_Pango.c
+===================================================================
+--- sdlpango-0.1.2.orig/src/SDL_Pango.c 2007-10-08 19:44:15.000000000 +0000
++++ sdlpango-0.1.2/src/SDL_Pango.c 2007-10-08 19:45:27.000000000 +0000
+@@ -725,16 +725,23 @@
+ int x = rect->x;
+ int y = rect->y;
+
++ if(x < 0) {
++ width += x; x = 0;
++ }
+ if(x + width > surface->w) {
+ width = surface->w - x;
+- if(width <= 0)
+- return;
++ }
++ if(width <= 0)
++ return;
++
++ if(y < 0) {
++ height += y; y = 0;
+ }
+ if(y + height > surface->h) {
+ height = surface->h - y;
+- if(height <= 0)
+- return;
+ }
++ if(height <= 0)
++ return;
+
+ if(SDL_LockSurface(surface)) {
+ SDL_SetError("surface lock failed");
diff --git a/gnu/packages/patches/sdl-pango-fillrect_crash.patch b/gnu/packages/patches/sdl-pango-fillrect_crash.patch
new file mode 100644
index 0000000000..7a41bbf2fe
--- /dev/null
+++ b/gnu/packages/patches/sdl-pango-fillrect_crash.patch
@@ -0,0 +1,15 @@
+Index: SDL_Pango-0.1.2/src/SDL_Pango.c
+===================================================================
+--- SDL_Pango-0.1.2.orig/src/SDL_Pango.c 2007-09-18 15:56:12.406223540 +0200
++++ SDL_Pango-0.1.2/src/SDL_Pango.c 2007-09-18 15:57:27.986530616 +0200
+@@ -932,7 +932,9 @@
+ width = PANGO_PIXELS (logical_rect.width);
+ height = PANGO_PIXELS (logical_rect.height);
+
+- SDL_FillRect(surface, NULL, SDL_MapRGBA(surface->format, 0, 0, 0, 0));
++ if (width && height) {
++ SDL_FillRect(surface, NULL, SDL_MapRGBA(surface->format, 0, 0, 0, 0));
++ }
+
+ if((! context->tmp_ftbitmap) || context->tmp_ftbitmap->width < width
+ || context->tmp_ftbitmap->rows < height)
diff --git a/gnu/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapToSurface.patch b/gnu/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapToSurface.patch
new file mode 100644
index 0000000000..3d4b10cc10
--- /dev/null
+++ b/gnu/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapToSurface.patch
@@ -0,0 +1,20 @@
+--- a/src/SDL_Pango.h
++++ b/src/SDL_Pango.h
+@@ -171,7 +171,7 @@
+ SDLPango_Direction direction);
+
+
+-#ifdef __FT2_BUILD_UNIX_H__
++#ifdef FT2BUILD_H_
+
+ extern DECLSPEC void SDLCALL SDLPango_CopyFTBitmapToSurface(
+ const FT_Bitmap *bitmap,
+@@ -179,7 +179,7 @@
+ const SDLPango_Matrix *matrix,
+ SDL_Rect *rect);
+
+-#endif /* __FT2_BUILD_UNIX_H__ */
++#endif
+
+
+ #ifdef __PANGO_H__
diff --git a/gnu/packages/patches/sdl-pango-matrix_declarations.patch b/gnu/packages/patches/sdl-pango-matrix_declarations.patch
new file mode 100644
index 0000000000..c35d0a708d
--- /dev/null
+++ b/gnu/packages/patches/sdl-pango-matrix_declarations.patch
@@ -0,0 +1,131 @@
+Index: SDL_Pango-0.1.2/src/SDL_Pango.c
+===================================================================
+--- SDL_Pango-0.1.2.orig/src/SDL_Pango.c 2007-09-18 15:03:10.732910311 +0200
++++ SDL_Pango-0.1.2/src/SDL_Pango.c 2007-09-18 15:04:41.970109622 +0200
+@@ -286,6 +286,59 @@
+ } contextImpl;
+
+
++const SDLPango_Matrix _MATRIX_WHITE_BACK
++ = {255, 0, 0, 0,
++ 255, 0, 0, 0,
++ 255, 0, 0, 0,
++ 255, 255, 0, 0,};
++
++/*!
++ Specifies white back and black letter.
++*/
++const SDLPango_Matrix *MATRIX_WHITE_BACK = &_MATRIX_WHITE_BACK;
++
++const SDLPango_Matrix _MATRIX_BLACK_BACK
++ = {0, 255, 0, 0,
++ 0, 255, 0, 0,
++ 0, 255, 0, 0,
++ 255, 255, 0, 0,};
++/*!
++ Specifies black back and white letter.
++*/
++const SDLPango_Matrix *MATRIX_BLACK_BACK = &_MATRIX_BLACK_BACK;
++
++const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_BLACK_LETTER
++ = {0, 0, 0, 0,
++ 0, 0, 0, 0,
++ 0, 0, 0, 0,
++ 0, 255, 0, 0,};
++/*!
++ Specifies transparent back and black letter.
++*/
++const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_BLACK_LETTER = &_MATRIX_TRANSPARENT_BACK_BLACK_LETTER;
++
++const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_WHITE_LETTER
++ = {255, 255, 0, 0,
++ 255, 255, 0, 0,
++ 255, 255, 0, 0,
++ 0, 255, 0, 0,};
++/*!
++ Specifies transparent back and white letter.
++*/
++const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_WHITE_LETTER = &_MATRIX_TRANSPARENT_BACK_WHITE_LETTER;
++
++const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER
++ = {255, 255, 0, 0,
++ 255, 255, 0, 0,
++ 255, 255, 0, 0,
++ 0, 0, 0, 0,};
++/*!
++ Specifies transparent back and transparent letter.
++ This is useful for KARAOKE like rendering.
++*/
++const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER = &_MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER;
++
++
+ /*!
+ Initialize the Glib and Pango API.
+ This must be called before using other functions in this library,
+Index: SDL_Pango-0.1.2/src/SDL_Pango.h
+===================================================================
+--- SDL_Pango-0.1.2.orig/src/SDL_Pango.h 2007-09-18 15:03:10.732910311 +0200
++++ SDL_Pango-0.1.2/src/SDL_Pango.h 2007-09-18 15:06:24.919976401 +0200
+@@ -47,57 +47,27 @@
+ Uint8 m[4][4]; /*! Matrix variables */
+ } SDLPango_Matrix;
+
+-const SDLPango_Matrix _MATRIX_WHITE_BACK
+- = {255, 0, 0, 0,
+- 255, 0, 0, 0,
+- 255, 0, 0, 0,
+- 255, 255, 0, 0,};
+-
+ /*!
+ Specifies white back and black letter.
+ */
+-const SDLPango_Matrix *MATRIX_WHITE_BACK = &_MATRIX_WHITE_BACK;
+-
+-const SDLPango_Matrix _MATRIX_BLACK_BACK
+- = {0, 255, 0, 0,
+- 0, 255, 0, 0,
+- 0, 255, 0, 0,
+- 255, 255, 0, 0,};
++extern const SDLPango_Matrix *MATRIX_WHITE_BACK;
+ /*!
+ Specifies black back and white letter.
+ */
+-const SDLPango_Matrix *MATRIX_BLACK_BACK = &_MATRIX_BLACK_BACK;
+-
+-const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_BLACK_LETTER
+- = {0, 0, 0, 0,
+- 0, 0, 0, 0,
+- 0, 0, 0, 0,
+- 0, 255, 0, 0,};
++extern const SDLPango_Matrix *MATRIX_BLACK_BACK;
+ /*!
+ Specifies transparent back and black letter.
+ */
+-const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_BLACK_LETTER = &_MATRIX_TRANSPARENT_BACK_BLACK_LETTER;
+-
+-const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_WHITE_LETTER
+- = {255, 255, 0, 0,
+- 255, 255, 0, 0,
+- 255, 255, 0, 0,
+- 0, 255, 0, 0,};
++extern const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_BLACK_LETTER;
+ /*!
+ Specifies transparent back and white letter.
+ */
+-const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_WHITE_LETTER = &_MATRIX_TRANSPARENT_BACK_WHITE_LETTER;
+-
+-const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER
+- = {255, 255, 0, 0,
+- 255, 255, 0, 0,
+- 255, 255, 0, 0,
+- 0, 0, 0, 0,};
++extern const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_WHITE_LETTER;
+ /*!
+ Specifies transparent back and transparent letter.
+ This is useful for KARAOKE like rendering.
+ */
+-const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER = &_MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER;
++extern const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER;
+
+ /*!
+ Specifies direction of text. See Pango reference for detail
diff --git a/gnu/packages/patches/sdl-pango-sans-serif.patch b/gnu/packages/patches/sdl-pango-sans-serif.patch
new file mode 100644
index 0000000000..ccdc8150a7
--- /dev/null
+++ b/gnu/packages/patches/sdl-pango-sans-serif.patch
@@ -0,0 +1,13 @@
+Index: SDL_Pango-0.1.2/src/SDL_Pango.c
+===================================================================
+--- SDL_Pango-0.1.2.orig/src/SDL_Pango.c 2007-09-18 15:12:20.736253215 +0200
++++ SDL_Pango-0.1.2/src/SDL_Pango.c 2007-09-18 15:12:44.621614364 +0200
+@@ -234,7 +234,7 @@
+ //! non-zero if initialized
+ static int IS_INITIALIZED = 0;
+
+-#define DEFAULT_FONT_FAMILY "Sans"
++#define DEFAULT_FONT_FAMILY "sans-serif"
+ #define DEFAULT_FONT_SIZE 12
+ #define DEFAULT_DPI 96
+ #define _MAKE_FONT_NAME(family, size) family " " #size
diff --git a/gnu/packages/patches/superlu-dist-fix-mpi-deprecations.patch b/gnu/packages/patches/superlu-dist-fix-mpi-deprecations.patch
deleted file mode 100644
index 25f0aaf2f3..0000000000
--- a/gnu/packages/patches/superlu-dist-fix-mpi-deprecations.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From c9cbcf8730221e366c7495073f8f8d819ee8ce89 Mon Sep 17 00:00:00 2001
-From: Eric Bavier <bavier@member.fsf.org>
-Date: Wed, 6 Feb 2019 10:06:59 -0600
-Subject: [PATCH] Replace deprecated MPI_Attr_get.
-
-Fixes build with OpenMPI version 4.0.
-
-* SRC/pdgstrf.c, SRC/pdgstrf.c, SRC/superlu_grid.c: 'MPI_Attr_get' ->
- 'MPI_Comm_get_attr'.
----
- SRC/pdgstrf.c | 2 +-
- SRC/pzgstrf.c | 2 +-
- SRC/superlu_grid.c | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/SRC/pdgstrf.c b/SRC/pdgstrf.c
-index 736ffa2..f92a1ba 100644
---- a/SRC/pdgstrf.c
-+++ b/SRC/pdgstrf.c
-@@ -426,7 +426,7 @@ pdgstrf(superlu_dist_options_t * options, int m, int n, double anorm,
- s_eps = smach_dist("Epsilon");
- thresh = s_eps * anorm;
-
-- MPI_Attr_get (MPI_COMM_WORLD, MPI_TAG_UB, &attr_val, &flag);
-+ MPI_Comm_get_attr (MPI_COMM_WORLD, MPI_TAG_UB, &attr_val, &flag);
- if (!flag) {
- fprintf (stderr, "Could not get TAG_UB\n");
- return (-1);
-diff --git a/SRC/pzgstrf.c b/SRC/pzgstrf.c
-index 8896548..8800057 100644
---- a/SRC/pzgstrf.c
-+++ b/SRC/pzgstrf.c
-@@ -426,7 +426,7 @@ pzgstrf(superlu_dist_options_t * options, int m, int n, double anorm,
- s_eps = smach_dist("Epsilon");
- thresh = s_eps * anorm;
-
-- MPI_Attr_get (MPI_COMM_WORLD, MPI_TAG_UB, &attr_val, &flag);
-+ MPI_Comm_get_attr (MPI_COMM_WORLD, MPI_TAG_UB, &attr_val, &flag);
- if (!flag) {
- fprintf (stderr, "Could not get TAG_UB\n");
- return (-1);
-diff --git a/SRC/superlu_grid.c b/SRC/superlu_grid.c
-index 1213d27..0c0fb90 100644
---- a/SRC/superlu_grid.c
-+++ b/SRC/superlu_grid.c
-@@ -150,7 +150,7 @@ void superlu_gridmap(
- {
- int tag_ub;
- if ( !grid->iam ) {
-- MPI_Attr_get(Bcomm, MPI_TAG_UB, &tag_ub, &info);
-+ MPI_Comm_get_attr(Bcomm, MPI_TAG_UB, &tag_ub, &info);
- printf("MPI_TAG_UB %d\n", tag_ub);
- /* returns 4295677672
- In reality it is restricted to no greater than 16384. */
---
-2.20.1
-
diff --git a/gnu/packages/patches/t4k-common-libpng16.patch b/gnu/packages/patches/t4k-common-libpng16.patch
new file mode 100644
index 0000000000..17967773de
--- /dev/null
+++ b/gnu/packages/patches/t4k-common-libpng16.patch
@@ -0,0 +1,26 @@
+Description: Fix for libpng 1.6
+Author: Programmer Nerd <theprogrammernerd@gmail.com>
+Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=743388#20
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=743388
+Reviewed-by: Tobias Frost <tobi@debian.org>>
+Last-Update: 2016-04-07
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/src/t4k_loaders.c
++++ b/src/t4k_loaders.c
+@@ -1028,12 +1028,9 @@
+ {
+ png_init_io(png_ptr, fi);
+
+- info_ptr->width = surf->w;
+- info_ptr->height = surf->h;
+- info_ptr->bit_depth = 8;
+- info_ptr->color_type = PNG_COLOR_TYPE_RGB_ALPHA;
+- info_ptr->interlace_type = 1;
+- info_ptr->valid = 0; /* will be updated by various png_set_FOO() functions */
++ png_set_IHDR(png_ptr, info_ptr, surf->w, surf->h, 8,
++ PNG_COLOR_TYPE_RGB_ALPHA, PNG_INTERLACE_NONE,
++ PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT);
+
+ png_set_sRGB_gAMA_and_cHRM(png_ptr, info_ptr,
+ PNG_sRGB_INTENT_PERCEPTUAL);
diff --git a/gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch b/gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch
new file mode 100644
index 0000000000..3feeb1dc5e
--- /dev/null
+++ b/gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch
@@ -0,0 +1,54 @@
+From 3fc056f0b9f7c26e58a1e947c8c0184e55919614 Mon Sep 17 00:00:00 2001
+From: David Abdurachmanov <david.abdurachmanov@gmail.com>
+Date: Wed, 21 Aug 2019 12:07:20 -0700
+Subject: [PATCH] qemu-riscv64_smode, sifive-fu540: fix extlinux (define
+ preboot)
+Forwarded: https://patchwork.ozlabs.org/patch/1151125/
+
+Commit 37304aaf60bf92a5dc3ef222ba520698bd862a44 removed preboot
+commands in RISC-V targets and broke extlinux support as reported
+by Fu Wei <wefu@redhat.com>.
+
+The patch finishes migration of CONFIG_USE_PREBOOT and CONFIG_REBOOT
+to Kconfig.
+
+Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
+---
+ configs/qemu-riscv64_smode_defconfig | 2 ++
+ configs/sifive_fu540_defconfig | 2 ++
+ include/configs/sifive-fu540.h | 4 ----
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+Index: u-boot/configs/qemu-riscv64_smode_defconfig
+===================================================================
+--- u-boot.orig/configs/qemu-riscv64_smode_defconfig
++++ u-boot/configs/qemu-riscv64_smode_defconfig
+@@ -14,3 +14,5 @@ CONFIG_CMD_NVEDIT_EFI=y
+ CONFIG_OF_PRIOR_STAGE=y
+ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+ CONFIG_DM_MTD=y
++CONFIG_USE_PREBOOT=y
++CONFIG_PREBOOT="setenv fdt_addr ${fdtcontroladdr}; fdt addr ${fdtcontroladdr};"
+Index: u-boot/configs/sifive_fu540_defconfig
+===================================================================
+--- u-boot.orig/configs/sifive_fu540_defconfig
++++ u-boot/configs/sifive_fu540_defconfig
+@@ -12,3 +12,5 @@ CONFIG_DISPLAY_BOARDINFO=y
+ CONFIG_DEFAULT_DEVICE_TREE="hifive-unleashed-a00"
+ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+ CONFIG_DM_MTD=y
++CONFIG_USE_PREBOOT=y
++CONFIG_PREBOOT="setenv fdt_addr ${fdtcontroladdr}; fdt addr ${fdtcontroladdr};"
+Index: u-boot/include/configs/sifive-fu540.h
+===================================================================
+--- u-boot.orig/include/configs/sifive-fu540.h
++++ u-boot/include/configs/sifive-fu540.h
+@@ -40,8 +40,4 @@
+ "ramdisk_addr_r=0x88300000\0" \
+ BOOTENV
+
+-#define CONFIG_PREBOOT \
+- "setenv fdt_addr ${fdtcontroladdr};" \
+- "fdt addr ${fdtcontroladdr};"
+-
+ #endif /* __CONFIG_H */
diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm
index 70abc7bad1..7a0f3ae6ac 100644
--- a/gnu/packages/python-compression.scm
+++ b/gnu/packages/python-compression.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -32,6 +33,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages check)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sphinx))
@@ -84,11 +86,20 @@ Python strings.")
(uri (pypi-uri "lz4" version))
(sha256
(base32
- "0ghv1xbaq693kgww1x9c22bplz479ls9szjsaa4ig778ls834hm0"))))
+ "0ghv1xbaq693kgww1x9c22bplz479ls9szjsaa4ig778ls834hm0"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Remove bundled copy of lz4.
+ (delete-file-recursively "lz4libs")
+ #t))))
(build-system python-build-system)
(native-inputs
- `(("python-nose" ,python-nose)
+ `(("pkg-config" ,pkg-config)
+ ("python-nose" ,python-nose)
("python-setuptools-scm" ,python-setuptools-scm)))
+ (inputs
+ `(("lz4" ,lz4)))
(home-page "https://github.com/python-lz4/python-lz4")
(synopsis "LZ4 bindings for Python")
(description
diff --git a/gnu/packages/rsync.scm b/gnu/packages/rsync.scm
index 7be18cb8e3..74efae753c 100644
--- a/gnu/packages/rsync.scm
+++ b/gnu/packages/rsync.scm
@@ -47,8 +47,10 @@
(base32
"1h0011dj6jgqpgribir4anljjv7bbrdcs8g91pbsmzf5zr75bk2m"))))
(build-system gnu-build-system)
- (inputs `(("perl" ,perl)
- ("acl" ,acl)))
+ (native-inputs
+ `(("perl" ,perl)))
+ (inputs
+ `(("acl" ,acl)))
(synopsis "Remote (and local) file copying tool")
(description
"Rsync is a fast and versatile file copying tool. It can copy locally,
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index c5c4d8672d..98868cdda3 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2836,13 +2836,13 @@ definitions on a Ruby object.")
(define-public ruby-redcarpet
(package
(name "ruby-redcarpet")
- (version "3.4.0")
+ (version "3.5.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "redcarpet" version))
(sha256
(base32
- "0h9qz2hik4s9knpmbwrzb3jcp3vc5vygp9ya8lcpl7f1l9khmcd7"))))
+ "0skcyx1h8b5ms0rp2zm3ql6g322b8c1adnkwkqyv7z3kypb4bm7k"))))
(build-system ruby-build-system)
(arguments
`(#:phases
@@ -4784,7 +4784,7 @@ unacceptable HTML and/or CSS from a string.")
(define-public ruby-oj
(package
(name "ruby-oj")
- (version "3.6.7")
+ (version "3.10.1")
(source
(origin
(method git-fetch)
@@ -4796,7 +4796,7 @@ unacceptable HTML and/or CSS from a string.")
(file-name (git-file-name name version))
(sha256
(base32
- "1fqx58pwjiln7053lw2jy6ns4agcpxq2ac4f2fkd2ca3fxwpmh03"))))
+ "0i5xjx4sh816zx2c1a4d1q67k7vllg5jnnc4jy6zhbmwi1dvp5vw"))))
(build-system ruby-build-system)
(arguments
'(#:test-target "test_all"
@@ -4955,19 +4955,26 @@ including comments and whitespace.")
(define-public ruby-unf-ext
(package
(name "ruby-unf-ext")
- (version "0.0.7.1")
+ (version "0.0.7.6")
(source (origin
(method url-fetch)
(uri (rubygems-uri "unf_ext" version))
(sha256
(base32
- "0ly2ms6c3irmbr1575ldyh52bz2v0lzzr2gagf0p526k12ld2n5b"))))
+ "1ll6w64ibh81qwvjx19h8nj7mngxgffg7aigjx11klvf5k2g4nxf"))))
(build-system ruby-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'build 'build-ext
- (lambda _ (invoke "rake" "compile:unf_ext"))))))
+ (lambda _ (invoke "rake" "compile:unf_ext")))
+ (add-before 'check 'lose-rake-compiler-dock-dependency
+ (lambda _
+ ;; rake-compiler-dock is listed in the gemspec, but only
+ ;; required when cross-compiling.
+ (substitute* "unf_ext.gemspec"
+ ((".*rake-compiler-dock.*") ""))
+ #t)))))
(native-inputs
`(("bundler" ,bundler)
("ruby-rake-compiler" ,ruby-rake-compiler)
@@ -6076,14 +6083,14 @@ neither too verbose nor too minimal.")
(define-public ruby-sqlite3
(package
(name "ruby-sqlite3")
- (version "1.3.13")
+ (version "1.4.2")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "sqlite3" version))
(sha256
(base32
- "01ifzp8nwzqppda419c9wcvr8n82ysmisrs0hph9pdmv1lpa4f5i"))))
+ "0lja01cp9xd5m6vmx99zwn4r7s97r1w5cb76gqd8xhbm1wxyzf78"))))
(build-system ruby-build-system)
(arguments
`(#:phases
@@ -7764,23 +7771,34 @@ features that don't exist yet like variables, nesting, mixins and inheritance.")
(define-public ruby-sassc
(package
(name "ruby-sassc")
- (version "2.0.1")
+ (version "2.2.1")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "sassc" version))
(sha256
(base32
- "1sr4825rlwsrl7xrsm0sgalcpf5zgp4i56dbi3qxfa9lhs8r6zh4"))))
+ "09bnid7r5z5hcin5hykvpvv8xig27wbbckxwis60z2aaxq4j9siz"))))
(build-system ruby-build-system)
(arguments
- '(#:phases
+ '(#:modules ((guix build ruby-build-system)
+ (guix build utils)
+ (ice-9 textual-ports))
+ #:phases
(modify-phases %standard-phases
;; TODO: This would be better as a snippet, but the ruby-build-system
;; doesn't seem to support that
(add-after 'unpack 'remove-libsass
(lambda _
(delete-file-recursively "ext")
+ (with-atomic-file-replacement "sassc.gemspec"
+ (lambda (in out)
+ (let* ((gemspec (get-string-all in))
+ (index (string-contains gemspec "libsass_dir")))
+ (display (string-append
+ (string-take gemspec index)
+ "\nend\n")
+ out))))
#t))
(add-after 'unpack 'dont-check-the-libsass-version
(lambda _
@@ -7790,18 +7808,17 @@ features that don't exist yet like variables, nesting, mixins and inheritance.")
(add-after 'unpack 'remove-git-from-gemspec
(lambda _
(substitute* "sassc.gemspec"
- (("`git ls-files -z`") "`find . -type f -print0 |sort -z`")
- (("`git submodule --quiet foreach pwd`") "''"))
+ (("`git ls-files -z`") "`find . -type f -print0 |sort -z`"))
#t))
(add-after 'unpack 'remove-extensions-from-gemspec
(lambda _
(substitute* "sassc.gemspec"
- (("\\[\"ext/Rakefile\"\\]") "[]"))
+ (("\\[\"ext/extconf.rb\"\\]") "[]"))
#t))
(add-after 'unpack 'fix-Rakefile
(lambda _
(substitute* "Rakefile"
- (("test: 'libsass:compile'") ":test"))
+ (("test: 'compile:libsass'") ":test"))
#t))
(add-after 'unpack 'remove-unnecessary-dependencies
(lambda _
@@ -7826,6 +7843,7 @@ features that don't exist yet like variables, nesting, mixins and inheritance.")
`(("libsass" ,libsass)))
(native-inputs
`(("bundler" ,bundler)
+ ("ruby-rake-compiler" ,ruby-rake-compiler)
("ruby-minitest-around" ,ruby-minitest-around)
("ruby-test-construct" ,ruby-test-construct)))
(synopsis "Use libsss from Ruby")
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index 6cd875df46..d0db693e30 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -168,14 +168,14 @@ anywhere.")
(define-public samba
(package
(name "samba")
- (version "4.11.4")
+ (version "4.11.6")
(source (origin
(method url-fetch)
(uri (string-append "https://download.samba.org/pub/samba/stable/"
"samba-" version ".tar.gz"))
(sha256
(base32
- "096vc6j36924xrjzqr6lqmf9qwgwv9szxb35rsfi0mq78nx72m5r"))))
+ "0f7g17zw4nzk1bjnqqrr84hkyq9vn0k7zyim2i177xkigd6qyhwi"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/scanner.scm b/gnu/packages/scanner.scm
index 98f7fd203a..6adaba18cd 100644
--- a/gnu/packages/scanner.scm
+++ b/gnu/packages/scanner.scm
@@ -39,16 +39,16 @@
(define-public sane-backends-minimal
(package
(name "sane-backends-minimal")
- (version "1.0.28")
+ (version "1.0.29")
(source (origin
(method url-fetch)
(uri (string-append
"https://gitlab.com/sane-project/backends/uploads/"
- "9e718daff347826f4cfe21126c8d5091/"
+ "54f858b20a364fc35d820df935a86478/"
"sane-backends-" version ".tar.gz"))
(sha256
(base32
- "00yy8q9hqdf0zjxxl4d8njr9zf0hhi3a9ib23ikc2anqf8zhy9ii"))
+ "1vd83vhl0hddwsdh2jb0k3yzycfghi2xa9lc3ga9r12rbx77n0ma"))
(modules '((guix build utils)))
(snippet
;; Generated HTML files and udev rules normally embed a
diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm
index a01cafb34a..26c9bd5eb3 100644
--- a/gnu/packages/sdl.scm
+++ b/gnu/packages/sdl.scm
@@ -8,7 +8,7 @@
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net>
-;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
@@ -42,10 +42,12 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (gnu packages audio)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages fcitx)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages ibus)
#:use-module (gnu packages image)
@@ -326,6 +328,54 @@ SDL.")
(home-page "https://www.libsdl.org/projects/SDL_net/")
(license zlib)))
+(define-public sdl-pango
+ (package
+ (name "sdl-pango")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/sdlpango/SDL_Pango/" version "/"
+ "SDL_Pango-" version ".tar.gz"))
+ (sha256
+ (base32 "197baw1dsg0p4pljs5k0fshbyki00r4l49m1drlpqw6ggawx6xbz"))
+ (patches
+ (search-patches
+ "sdl-pango-api_additions.patch"
+ "sdl-pango-blit_overflow.patch"
+ "sdl-pango-fillrect_crash.patch"
+ "sdl-pango-fix-explicit-SDLPango_CopyFTBitmapToSurface.patch"
+ "sdl-pango-matrix_declarations.patch"
+ "sdl-pango-sans-serif.patch"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags (list "--disable-static")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'autogen
+ ;; Force reconfiguration because the included libtool
+ ;; generates linking errors.
+ (lambda _ (invoke "autoreconf" "-vif"))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("fontconfig" ,fontconfig)
+ ("freetype" ,freetype)
+ ("glib" ,glib)
+ ("harfbuzz" ,harfbuzz)
+ ("pango" ,pango)
+ ("sdl" ,sdl)))
+ (home-page "http://sdlpango.sourceforge.net")
+ (synopsis "Pango SDL binding")
+ (description "This library is a wrapper around the Pango library.
+It allows you to use TrueType fonts to render internationalized and
+tagged text in SDL applications.")
+ (license lgpl2.1)))
+
(define-public sdl-ttf
(package
(name "sdl-ttf")
diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm
index d4a48c48c5..89dbe4578b 100644
--- a/gnu/packages/sync.scm
+++ b/gnu/packages/sync.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2019 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;;
@@ -360,14 +360,14 @@ over the Internet in an HTTP and CDN friendly way;
(define-public rclone
(package
(name "rclone")
- (version "1.50.2")
+ (version "1.51.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/rclone/rclone/releases/download/"
"v" version "/rclone-v" version ".tar.gz"))
(sha256
- (base32 "14b0k5nb85v0mxmdpqxf8avha0wwc3f4dbj1s8h3hkaifa59kn3d"))))
+ (base32 "1vi7sbdr5irlgxn080nwzs9lr893cxk59y4vnannzr8prvzvgd9y"))))
;; FIXME: Rclone bundles some libraries Guix already provides. Need to
;; un-bundle them.
(build-system go-build-system)
diff --git a/gnu/packages/tbb.scm b/gnu/packages/tbb.scm
index 5414e663f4..f04385ca1e 100644
--- a/gnu/packages/tbb.scm
+++ b/gnu/packages/tbb.scm
@@ -29,7 +29,7 @@
(define-public tbb
(package
(name "tbb")
- (version "2020.0")
+ (version "2020.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -38,7 +38,7 @@
(file-name (git-file-name name version))
(sha256
(base32
- "11prl038dh8gprvn5f5p16af2rgh4lr3bfyyvavgfl3jdvsj2mqh"))
+ "1vrh1mr9jmj46as9y8j5q1hpvihzd1iq4jr1y4x9a19dw8b7yk56"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index 7806a4c8b2..5d49d5d83d 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -657,15 +657,14 @@ and Octave. TeXmacs is completely extensible via Guile.")
(define-public scintilla
(package
(name "scintilla")
- (version "4.2.2")
- (source (origin
- (method url-fetch)
- (uri (let ((v (apply string-append (string-split version #\.))))
- (string-append
- "https://www.scintilla.org/scintilla" v ".tgz")))
- (sha256
- (base32
- "01gq31ggvasw4sy9xs544h7v1dmxrlxs5bzxpasqb9yi3ps3nl0f"))))
+ (version "4.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (let ((v (apply string-append (string-split version #\.))))
+ (string-append "https://www.scintilla.org/scintilla" v ".tgz")))
+ (sha256
+ (base32 "0c52b2wg0y55kv3w7rnzp0nbd1yn2kksy0w8bjdp3gkl0v28wwx5"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list "GTK3=1" "CC=gcc" "-Cgtk")
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 079c5550b6..2a6f121219 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -122,7 +122,7 @@ in intelligent transportation networks.")
(define-public p11-kit
(package
(name "p11-kit")
- (version "0.23.19")
+ (version "0.23.20")
(source
(origin
(method url-fetch)
@@ -130,7 +130,7 @@ in intelligent transportation networks.")
"download/" version "/p11-kit-" version ".tar.xz"))
(sha256
(base32
- "1w7i4f5lc8darjkfjsm1ldvhkv0x29mvwg89klmh5kb2xqf6x4wi"))))
+ "0131maw666ha4d6iyj13fkz18c4pnb3lw2xwv5kvkmnzqcj61n0l"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 7b3e393dc9..19e6ccb182 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2014, 2015, 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2015, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Alex Vong <alexvong1995@gmail.com>
@@ -23,7 +23,7 @@
;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Roel Janssen <roel@gnu.org>
-;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018, 2019 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Brendan Tildesley <mail@brendan.scot>
@@ -337,52 +337,59 @@ a shared library and encoder and decoder command-line executables.")
(license license:gpl2+)))
(define-public libx264
- (package
- (name "libx264")
- (version "20180810-2245")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://download.videolan.org/pub/x264/snapshots/"
- "x264-snapshot-" version "-stable.tar.bz2"))
- (sha256
- (base32
- "0f25f39imas9pcqm7lnaa0shhjmf42hdx7jxzcnvxc7qsb7lh1bv"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("nasm" ,nasm)))
- ;; TODO: Add gpac input
- (arguments
- `(#:tests? #f ;no check target
- #:configure-flags '("--enable-shared"
- ;; Don't build the command-line program. If we
- ;; want it later, we should do so in a different
- ;; package to avoid a circular dependency (the x264
- ;; program depends on ffmpeg and ffmpeg depends on
- ;; libx264).
- "--disable-cli"
-
- ;; On MIPS, we must pass "--disable-asm" or else
- ;; configure fails after printing: "You specified a
- ;; pre-MSA CPU in your CFLAGS. If you really want
- ;; to run on such a CPU, configure with
- ;; --disable-asm."
- ,@(if (string-prefix? "mips"
- (or (%current-target-system)
- (%current-system)))
- '("--disable-asm")
- '()))))
- (home-page "https://www.videolan.org/developers/x264.html")
- (synopsis "H.264 video coding library")
- (description "libx264 is an advanced encoding library for creating
+ ;; There are no tags in the repository, so we take the version number from
+ ;; the X264_BUILD variable defined in x264.h.
+ (let ((version "159")
+ (commit "1771b556ee45207f8711744ccbd5d42a3949b14c")
+ (revision "0"))
+ (package
+ (name "libx264")
+ (version (git-version version revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://code.videolan.org/videolan/x264.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0kmi78gs5101d4df33il5bmjbns54nvdjsyn44xiw60lwsg11vwz"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("nasm" ,nasm)))
+ ;; TODO: Add gpac input
+ (arguments
+ `(#:tests? #f ;no check target
+ #:configure-flags '("--enable-shared"
+ ;; Don't build the command-line program. If we
+ ;; want it later, we should do so in a different
+ ;; package to avoid a circular dependency (the x264
+ ;; program depends on ffmpeg and ffmpeg depends on
+ ;; libx264).
+ "--disable-cli"
+
+ ;; On MIPS, we must pass "--disable-asm" or else
+ ;; configure fails after printing: "You specified a
+ ;; pre-MSA CPU in your CFLAGS. If you really want
+ ;; to run on such a CPU, configure with
+ ;; --disable-asm."
+ ,@(if (string-prefix? "mips"
+ (or (%current-target-system)
+ (%current-system)))
+ '("--disable-asm")
+ '()))))
+ (home-page "https://www.videolan.org/developers/x264.html")
+ (synopsis "H.264 video coding library")
+ (description "libx264 is an advanced encoding library for creating
H.264 (MPEG-4 AVC) video streams.")
- (license (list license:gpl2+ ;most files
- license:isc ;common/x86/x86inc.asm
- license:lgpl2.1+ ;extras/getopt.c
- license:bsd-3 ;extras/inttypes.h
- (license:non-copyleft ;extras/cl*.h
- "file://extras/cl.h"
- "See extras/cl.h in the distribution.")))))
+ (license (list license:gpl2+ ;most files
+ license:isc ;common/x86/x86inc.asm
+ license:lgpl2.1+ ;extras/getopt.c
+ license:bsd-3 ;extras/inttypes.h
+ (license:non-copyleft ;extras/cl*.h
+ "file://extras/cl.h"
+ "See extras/cl.h in the distribution."))))))
(define-public mkvtoolnix
(package
@@ -1349,7 +1356,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(define-public mpv
(package
(name "mpv")
- (version "0.31.0")
+ (version "0.32.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1358,7 +1365,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(file-name (git-file-name name version))
(sha256
(base32
- "138m09l4wi6ifbi15z76j578plmxkclhlzfryasfcdp8hswhs59r"))))
+ "0kmy1q0hp87vq4rpv7py04x8bpg1wmlzaibavmkf713jqp6qy596"))))
(build-system waf-build-system)
(native-inputs
`(("perl" ,perl) ; for zsh completion file
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 6f45072772..15b5dedd16 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -36,6 +36,7 @@
;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.org>
;;; Copyright © 2019 Florian Pelz <pelzflorian@pelzflorian.de>
+;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1140,6 +1141,36 @@ implementation that is simple, portable, flexible, lightweight, low level, and
high performance.")
(license license:bsd-3)))
+(define-public wslay
+ (package
+ (name "wslay")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tatsuhiro-t/wslay.git")
+ (commit (string-append "release-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ak9a6hsanhys40yhv7c2gqkfghpm6jx36j1pnml8ajvgaky5q98"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("cunit" ,cunit) ; For tests.
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)
+ ("python-sphinx" ,python-sphinx)))
+ (home-page "https://tatsuhiro-t.github.io/wslay/")
+ (synopsis "C WebSocket library")
+ (description "@code{Wslay} is an event-based C library for the WebSocket
+protocol version 13, described in RFC 6455. Besides a high-level API it
+provides callbacks for sending and receiving frames directly. @code{Wslay}
+only supports the data transfer part of WebSocket protocol and does not
+perform the opening handshake in HTTP.")
+ (license license:expat)))
+
(define-public libpsl
(package
(name "libpsl")
@@ -5073,21 +5104,20 @@ w3c webidl files and a binding configuration file.")
(delete 'configure)
(add-after 'build 'adjust-welcome
(lambda _
- ;; First, fix some unended tags and simple substitutions
(substitute* "frontends/gtk/res/welcome.html"
+ ;; Close some XHTML tags.
(("<(img|input)([^>]*)>" _ tag contents)
(string-append "<" tag contents " />"))
- (("Licence") "License") ;prefer GNU spelling
+ ;; Increase freedom.
((" open source") ", free software")
- (("web&nbsp;site") "website")
- ;; Prefer privacy-respecting default search engine
+ ;; Prefer a more privacy-respecting default search engine.
(("www.google.co.uk") "www.duckduckgo.com/html")
(("Google Search") "DuckDuckGo Search")
(("name=\"btnG\"") ""))
- ;; Remove default links so it doesn't seem we're endorsing them
+ ;; Remove default links so it doesn't seem we're endorsing them.
(with-atomic-file-replacement "frontends/gtk/res/welcome.html"
(lambda (in out)
- ;; Leave the DOCTYPE header as is
+ ;; Leave the DOCTYPE header as is.
(display (read-line in 'concat) out)
(sxml->xml
(let rec ((sxml (xml->sxml in)))
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index a9113923dd..a638ae44e2 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -30,6 +30,8 @@
;;; Copyright © 2019 Josh Holland <josh@inv.alid.pw>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2020 David Wilson <david@daviwil.com>
+;;; Copyright © 2020 Ivan Vilata i Balaguer <ivan@selidor.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -57,6 +59,7 @@
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
+ #:use-module (guix build-system scons)
#:use-module (gnu packages)
#:use-module (gnu packages documentation)
#:use-module (gnu packages admin)
@@ -2005,3 +2008,104 @@ The cutbuffer and clipboard selection are always synchronized.")
can optionally use some appearance settings from XSettings, tint2 and GTK.")
(home-page "https://jgmenu.github.io/")
(license license:gpl2)))
+
+(define-public xwrits
+ (package
+ (name "xwrits")
+ (version "2.26")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.lcdf.org/~eddietwo/xwrits/"
+ "xwrits-" version ".tar.gz"))
+ (sha256
+ (base32 "1n7y0fqpcvmzznvbsn14hzy5ddaa3lilm8aw6ckscqndnh4lijma"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-docs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (string-append out "/share/doc/xwrits")))
+ (install-file "GESTURES" doc)
+ (install-file "README" doc)
+ #t))))))
+ (inputs
+ `(("libx11" ,libx11)
+ ("libxinerama" ,libxinerama)))
+ (home-page "https://www.lcdf.org/~eddietwo/xwrits/")
+ (synopsis "Reminds you to take wrist breaks")
+ (description "Xwrits reminds you to take wrist breaks for prevention or
+management of repetitive stress injuries. When you should take a break, it
+pops up an X window, the warning window. You click on the warning window,
+then take a break. The window changes appearance while you take the break.
+It changes again when your break is over. Then you just resume typing.
+Xwrits hides itself until you should take another break.")
+ (license license:gpl2)))
+
+(define-public xsettingsd
+ (package
+ (name "xsettingsd")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/derat/xsettingsd.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "05m4jlw0mgwp24cvyklncpziq1prr2lg0cq9c055sh4n9d93d07v"))))
+ (build-system scons-build-system)
+ (inputs
+ `(("libx11" ,libx11)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("googletest" ,googletest)
+ ("googletest-source" ,(package-source googletest))))
+ (arguments
+ `(#:scons ,scons-python2
+ #:scons-flags
+ (list "CC=gcc")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'patch-sconstruct
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "SConstruct"
+ ;; scons doesn't pick up environment variables automatically
+ ;; so it needs help to find path variables
+ (("env = Environment\\(")
+ "env = Environment(
+ ENV = {
+ 'PATH': os.environ['PATH'],
+ 'CPATH': os.environ['CPATH'],
+ 'LIBRARY_PATH': os.environ['LIBRARY_PATH'],
+ 'PKG_CONFIG_PATH': os.environ['PKG_CONFIG_PATH']
+ },")
+ ;; Update path to gtest source files used in tests
+ (("/usr/src/gtest") (string-append
+ (assoc-ref inputs "googletest-source")
+ "/googletest"))
+ ;; Exclude one warning that causes a build error
+ (("-Werror") "-Werror -Wno-error=sign-compare"))
+ #t))
+ ;; The SConstruct script doesn't configure installation so
+ ;; binaries must be copied to the output path directly
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin")))
+ (mkdir-p bin)
+ (install-file "xsettingsd" bin)
+ (install-file "dump_xsettings" bin)
+ #t))))))
+ (home-page "https://github.com/derat/xsettingsd")
+ (synopsis "Xorg settings daemon")
+ (description "@command{xsettingsd} is a lightweight daemon that provides settings to
+Xorg applications via the XSETTINGS specification. It is used for defining
+font and theme settings when a complete desktop environment (GNOME, KDE) is
+not running. With a simple @file{.xsettingsd} configuration file one can avoid
+configuring visual settings in different UI toolkits separately.")
+ (license license:bsd-3)))
diff --git a/gnu/services/getmail.scm b/gnu/services/getmail.scm
index 7d77888517..933d820bc5 100644
--- a/gnu/services/getmail.scm
+++ b/gnu/services/getmail.scm
@@ -112,7 +112,7 @@
@samp{passwd} and @samp{static}.")
(server
(string 'unset)
- "Name or IP adddress of the server to retrieve mail from.")
+ "Name or IP address of the server to retrieve mail from.")
(username
(string 'unset)
"Username to login to the mail server with.")
diff --git a/gnu/services/linux.scm b/gnu/services/linux.scm
new file mode 100644
index 0000000000..caa0326c31
--- /dev/null
+++ b/gnu/services/linux.scm
@@ -0,0 +1,125 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; 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 services linux)
+ #:use-module (guix gexp)
+ #:use-module (guix records)
+ #:use-module (guix modules)
+ #:use-module (gnu services)
+ #:use-module (gnu services shepherd)
+ #:use-module (gnu packages linux)
+ #:use-module (srfi srfi-1)
+ #:use-module (srfi srfi-26)
+ #:use-module (ice-9 match)
+ #:export (earlyoom-configuration
+ earlyoom-configuration?
+ earlyoom-configuration-earlyoom
+ earlyoom-configuration-minimum-available-memory
+ earlyoom-configuration-minimum-free-swap
+ earlyoom-configuration-prefer-regexp
+ earlyoom-configuration-avoid-regexp
+ earlyoom-configuration-memory-report-interval
+ earlyoom-configuration-ignore-positive-oom-score-adj?
+ earlyoom-configuration-show-debug-messages?
+ earlyoom-configuration-send-notification-command
+ earlyoom-service-type))
+
+
+;;;
+;;; Early OOM daemon.
+;;;
+
+(define-record-type* <earlyoom-configuration>
+ earlyoom-configuration make-earlyoom-configuration
+ earlyoom-configuration?
+ (earlyoom earlyoom-configuration-earlyoom
+ (default earlyoom))
+ (minimum-available-memory earlyoom-configuration-minimum-available-memory
+ (default 10)) ; in percent
+ (minimum-free-swap earlyoom-configuration-minimum-free-swap
+ (default 10)) ; in percent
+ (prefer-regexp earlyoom-configuration-prefer-regexp ; <string>
+ (default #f))
+ (avoid-regexp earlyoom-configuration-avoid-regexp ; <string>
+ (default #f))
+ (memory-report-interval earlyoom-configuration-memory-report-interval
+ (default 0)) ; in seconds; 0 means disabled
+ (ignore-positive-oom-score-adj?
+ earlyoom-configuration-ignore-positive-oom-score-adj? (default #f))
+ (run-with-higher-priority? earlyoom-configuration-run-with-higher-priority?
+ (default #f))
+ (show-debug-messages? earlyoom-configuration-show-debug-messages?
+ (default #f))
+ (send-notification-command
+ earlyoom-configuration-send-notification-command ; <string>
+ (default #f)))
+
+(define (earlyoom-configuration->command-line-args config)
+ "Translate a <earlyoom-configuration> object to its command line arguments
+representation."
+ (match config
+ (($ <earlyoom-configuration> earlyoom minimum-available-memory
+ minimum-free-swap prefer-regexp avoid-regexp
+ memory-report-interval
+ ignore-positive-oom-score-adj?
+ run-with-higher-priority? show-debug-messages?
+ send-notification-command)
+ `(,(file-append earlyoom "/bin/earlyoom")
+ ,@(if minimum-available-memory
+ (list "-m" (format #f "~s" minimum-available-memory))
+ '())
+ ,@(if minimum-free-swap
+ (list "-s" (format #f "~s" minimum-free-swap))
+ '())
+ ,@(if prefer-regexp
+ (list "--prefer" prefer-regexp)
+ '())
+ ,@(if avoid-regexp
+ (list "--avoid" avoid-regexp)
+ '())
+ "-r" ,(format #f "~s" memory-report-interval)
+ ,@(if ignore-positive-oom-score-adj?
+ (list "-i")
+ '())
+ ,@(if run-with-higher-priority?
+ (list "-p")
+ '())
+ ,@(if show-debug-messages?
+ (list "-d")
+ '())
+ ,@(if send-notification-command
+ (list "-N" send-notification-command)
+ '())))))
+
+(define (earlyoom-shepherd-service config)
+ (shepherd-service
+ (documentation "Run the Early OOM daemon.")
+ (provision '(earlyoom))
+ (start #~(make-forkexec-constructor
+ '#$(earlyoom-configuration->command-line-args config)
+ #:log-file "/var/log/earlyoom.log"))
+ (stop #~(make-kill-destructor))))
+
+(define earlyoom-service-type
+ (service-type
+ (name 'earlyoom)
+ (default-value (earlyoom-configuration))
+ (extensions
+ (list (service-extension shepherd-root-service-type
+ (compose list earlyoom-shepherd-service))))
+ (description "Run @command{earlyoom}, the Early OOM daemon.")))
diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index 2606aa9e3e..d97316512f 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Kristofer Buffington <kristoferbuffington@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -1621,8 +1621,12 @@ by @code{dovecot-configuration}. @var{config} may also be created by
(define %default-opensmtpd-config-file
(plain-file "smtpd.conf" "
listen on lo
-accept from any for local deliver to mbox
-accept from local for any relay
+
+action inbound mbox
+match for local action inbound
+
+action outbound relay
+match from local for any action outbound
"))
(define opensmtpd-shepherd-service
diff --git a/gnu/services/pm.scm b/gnu/services/pm.scm
index 1e01b5059d..256c6a7fa7 100644
--- a/gnu/services/pm.scm
+++ b/gnu/services/pm.scm
@@ -388,7 +388,7 @@ shutdown on system startup."))
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
- (copy-file #$config-file "/etc/tlp")))))
+ (copy-file #$config-file "/etc/tlp.conf")))))
(define tlp-service-type
(service-type
diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm
index 2cd4e5e89c..d473c5342e 100644
--- a/gnu/services/virtualization.scm
+++ b/gnu/services/virtualization.scm
@@ -627,6 +627,16 @@ potential infinite waits blocking libvirt."))
(bv "\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00")
(bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))
+(define %riscv32
+ (qemu-platform "riscv32" "riscv"
+ (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00")
+ (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))
+
+(define %riscv64
+ (qemu-platform "riscv64" "riscv"
+ (bv "\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00")
+ (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))
+
(define %sh4
(qemu-platform "sh4" "sh4"
(bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a\x00")
@@ -655,7 +665,7 @@ potential infinite waits blocking libvirt."))
(define %qemu-platforms
(list %i386 %i486 %alpha %arm %sparc32plus %ppc %ppc64 %ppc64le %m68k
%mips %mipsel %mipsn32 %mipsn32el %mips64 %mips64el
- %sh4 %sh4eb %s390x %aarch64 %hppa))
+ %riscv32 %riscv64 %sh4 %sh4eb %s390x %aarch64 %hppa))
(define (lookup-qemu-platforms . names)
"Return the list of QEMU platforms that match NAMES--a list of names such as
diff --git a/gnu/tests/mail.scm b/gnu/tests/mail.scm
index bb446da8f9..023f59df10 100644
--- a/gnu/tests/mail.scm
+++ b/gnu/tests/mail.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2019 Christopher Baines <mail@cbaines.net>
-;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -47,7 +47,8 @@
(config-file
(plain-file "smtpd.conf" "
listen on 0.0.0.0
-accept from any for local deliver to mbox
+action inbound mbox
+match from any for local action inbound
"))))))
(define (run-opensmtpd-test)
diff --git a/tests/services/linux.scm b/tests/services/linux.scm
new file mode 100644
index 0000000000..8ad119c49f
--- /dev/null
+++ b/tests/services/linux.scm
@@ -0,0 +1,57 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; 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 (tests services linux)
+ #:use-module (ice-9 match)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu services linux)
+ #:use-module (guix gexp)
+ #:use-module (srfi srfi-64))
+
+;;; Tests for the (gnu services linux) module.
+
+(test-begin "linux-services")
+
+
+;;;
+;;; Early OOM daemon.
+;;;
+
+(define earlyoom-configuration->command-line-args
+ (@@ (gnu services linux) earlyoom-configuration->command-line-args))
+
+(define %earlyoom-configuration-sample
+ (earlyoom-configuration
+ (minimum-available-memory 10)
+ (minimum-free-swap 20)
+ (prefer-regexp "icecat")
+ (avoid-regexp "guix-daemon")
+ (memory-report-interval 60)
+ (ignore-positive-oom-score-adj? #f)
+ (run-with-higher-priority? #t)
+ (show-debug-messages? #f)
+ (send-notification-command "python \"/some/path/notify-all-users.py\"")))
+
+(test-equal "earlyoom-configuration->command-line-args"
+ (list (file-append earlyoom "/bin/earlyoom")
+ "-m" "10" "-s" "20" "--prefer" "icecat"
+ "--avoid" "guix-daemon" "-r" "60" "-p"
+ "-N" "python \"/some/path/notify-all-users.py\"")
+ (earlyoom-configuration->command-line-args %earlyoom-configuration-sample))
+
+(test-end "linux-services")