Merge branch 'master' into staging

This commit is contained in:
Marius Bakke 2020-02-03 15:35:51 +01:00
commit 0a83339bb1
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
63 changed files with 2075 additions and 459 deletions

View File

@ -426,6 +426,7 @@ SCM_TESTS = \
tests/scripts-build.scm \ tests/scripts-build.scm \
tests/search-paths.scm \ tests/search-paths.scm \
tests/services.scm \ tests/services.scm \
tests/services/linux.scm \
tests/sets.scm \ tests/sets.scm \
tests/size.scm \ tests/size.scm \
tests/snix.scm \ tests/snix.scm \

View File

@ -48,7 +48,7 @@ Copyright @copyright{} 2017 humanitiesNerd@*
Copyright @copyright{} 2017 Christopher Allan Webber@* Copyright @copyright{} 2017 Christopher Allan Webber@*
Copyright @copyright{} 2017, 2018, 2019 Marius Bakke@* Copyright @copyright{} 2017, 2018, 2019 Marius Bakke@*
Copyright @copyright{} 2017, 2019, 2020 Hartmut Goebel@* 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, 2018, 2019, 2020 Tobias Geerinckx-Rice@*
Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 George Clemmer@*
Copyright @copyright{} 2017 Andy Wingo@* Copyright @copyright{} 2017 Andy Wingo@*
@ -310,6 +310,7 @@ Services
* Version Control Services:: Providing remote access to Git repositories. * Version Control Services:: Providing remote access to Git repositories.
* Game Services:: Game servers. * Game Services:: Game servers.
* PAM Mount Service:: Service to mount volumes when logging in. * PAM Mount Service:: Service to mount volumes when logging in.
* Linux Services:: Services tied to the Linux kernel.
* Miscellaneous Services:: Other services. * Miscellaneous Services:: Other services.
Defining Services Defining Services
@ -12101,6 +12102,7 @@ declaration.
* Game Services:: Game servers. * Game Services:: Game servers.
* PAM Mount Service:: Service to mount volumes when logging in. * PAM Mount Service:: Service to mount volumes when logging in.
* Guix Services:: Services relating specifically to Guix. * Guix Services:: Services relating specifically to Guix.
* Linux Services:: Services tied to the Linux kernel.
* Miscellaneous Services:: Other services. * Miscellaneous Services:: Other services.
@end menu @end menu
@ -25146,6 +25148,71 @@ list.
@end table @end table
@end deftp @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 @node Miscellaneous Services
@subsection Miscellaneous Services @subsection Miscellaneous Services

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 David Craven <david@craven.ch> ;;; Copyright © 2017 David Craven <david@craven.ch>
;;; Copyright © 2017, 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -28,6 +29,7 @@
u-boot-a20-olinuxino-micro-bootloader u-boot-a20-olinuxino-micro-bootloader
u-boot-bananapi-m2-ultra-bootloader u-boot-bananapi-m2-ultra-bootloader
u-boot-beaglebone-black-bootloader u-boot-beaglebone-black-bootloader
u-boot-cubietruck-bootloader
u-boot-firefly-rk3399-bootloader u-boot-firefly-rk3399-bootloader
u-boot-mx6cuboxi-bootloader u-boot-mx6cuboxi-bootloader
u-boot-nintendo-nes-classic-edition-bootloader u-boot-nintendo-nes-classic-edition-bootloader
@ -180,6 +182,11 @@
(inherit u-boot-allwinner-bootloader) (inherit u-boot-allwinner-bootloader)
(package u-boot-bananapi-m2-ultra))) (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 (define u-boot-firefly-rk3399-bootloader
;; SD and eMMC use the same format ;; SD and eMMC use the same format
(bootloader (bootloader

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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 © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org>
;;; ;;;
@ -130,6 +130,7 @@ SYSTEM."
"arm-linux-gnueabihf" "arm-linux-gnueabihf"
"aarch64-linux-gnu" "aarch64-linux-gnu"
"powerpc-linux-gnu" "powerpc-linux-gnu"
"riscv64-linux-gnu"
"i586-pc-gnu" ;aka. GNU/Hurd "i586-pc-gnu" ;aka. GNU/Hurd
"i686-w64-mingw32" "i686-w64-mingw32"
"x86_64-w64-mingw32")) "x86_64-w64-mingw32"))

View File

@ -1243,7 +1243,6 @@ dist_patch_DATA = \
%D%/packages/patches/openjdk-10-idlj-reproducibility.patch \ %D%/packages/patches/openjdk-10-idlj-reproducibility.patch \
%D%/packages/patches/openmpi-mtl-priorities.patch \ %D%/packages/patches/openmpi-mtl-priorities.patch \
%D%/packages/patches/openocd-nrf52.patch \ %D%/packages/patches/openocd-nrf52.patch \
%D%/packages/patches/opensmtpd-fix-crash.patch \
%D%/packages/patches/openssl-runpath.patch \ %D%/packages/patches/openssl-runpath.patch \
%D%/packages/patches/openssl-1.1-c-rehash-in.patch \ %D%/packages/patches/openssl-1.1-c-rehash-in.patch \
%D%/packages/patches/openssl-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-CVE-2017-17969.patch \
%D%/packages/patches/p7zip-remove-unused-code.patch \ %D%/packages/patches/p7zip-remove-unused-code.patch \
%D%/packages/patches/pam-mount-luks2-support.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/patchutils-test-perms.patch \
%D%/packages/patches/patch-hurd-path-max.patch \ %D%/packages/patches/patch-hurd-path-max.patch \
%D%/packages/patches/perl-autosplit-default-time.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/spice-fix-test-armhf.patch \
%D%/packages/patches/steghide-fixes.patch \ %D%/packages/patches/steghide-fixes.patch \
%D%/packages/patches/superlu-dist-awpm-grid.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/superlu-dist-scotchmetis.patch \
%D%/packages/patches/supertux-unbundle-squirrel.patch \ %D%/packages/patches/supertux-unbundle-squirrel.patch \
%D%/packages/patches/swig-guile-gc.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-2010-2642.patch \
%D%/packages/patches/t1lib-CVE-2011-0764.patch \ %D%/packages/patches/t1lib-CVE-2011-0764.patch \
%D%/packages/patches/t1lib-CVE-2011-1552+.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-remove-wholesparse-check.patch \
%D%/packages/patches/tar-skip-unreliable-tests.patch \ %D%/packages/patches/tar-skip-unreliable-tests.patch \
%D%/packages/patches/tcc-boot-0.9.27.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/tomb-fix-errors-on-open.patch \
%D%/packages/patches/tuxpaint-stamps-path.patch \ %D%/packages/patches/tuxpaint-stamps-path.patch \
%D%/packages/patches/txr-shell.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/ucx-tcp-iface-ioctl.patch \
%D%/packages/patches/udiskie-no-appindicator.patch \ %D%/packages/patches/udiskie-no-appindicator.patch \
%D%/packages/patches/unzip-CVE-2014-8139.patch \ %D%/packages/patches/unzip-CVE-2014-8139.patch \

View File

@ -1201,7 +1201,7 @@ system administrator.")
(define-public sudo (define-public sudo
(package (package
(name "sudo") (name "sudo")
(version "1.8.30") (version "1.8.31")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -1211,7 +1211,7 @@ system administrator.")
version ".tar.gz"))) version ".tar.gz")))
(sha256 (sha256
(base32 (base32
"1rvrqlqrrjsd06dczgj9cwjdkpkqil5zzlwh87h06ms6qzfx6nm3")) "0ks5mm9hda5idivncyfpiz4lrd8fv0dpmsl711788k7f7ixdka3y"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View File

@ -7,6 +7,7 @@
;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2016, 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk> ;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -319,6 +320,14 @@ dictionaries, including personal ones.")
(base32 (base32
"0ip6nq43hcr7vvzbv4lwwmlwgfa60hrhsldh9xy3zg2prv6bcaaw"))) "0ip6nq43hcr7vvzbv4lwwmlwgfa60hrhsldh9xy3zg2prv6bcaaw")))
(define-public aspell-dict-sl
(aspell-dictionary "sl" "Slovenian"
#:version "0.50-0"
#:prefix "aspell-"
#:sha256
(base32
"1l9kc5g35flq8kw9jhn2n0bjb4sipjs4qkqzgggs438kywkx2rp5")))
(define-public aspell-dict-sv (define-public aspell-dict-sv
(aspell-dictionary "sv" "Swedish" (aspell-dictionary "sv" "Swedish"
#:version "0.51-0" #:version "0.51-0"

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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 © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org> ;;; 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"))))) (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 (define-public libgc/back-pointers
(package (package
(inherit libgc) (inherit libgc)

View File

@ -751,6 +751,21 @@ to Novena upstream, does not load u-boot.img from the first partition.")
("firmware-m0" ,rk3399-cortex-m0) ("firmware-m0" ,rk3399-cortex-m0)
,@(package-native-inputs base)))))) ,@(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 (define-public u-boot-rock64-rk3328
(let ((base (make-u-boot-package "rock64-rk3328" "aarch64-linux-gnu"))) (let ((base (make-u-boot-package "rock64-rk3328" "aarch64-linux-gnu")))
(package (package

View File

@ -2438,7 +2438,7 @@ grew out of the @dfn{Vc} project.")
(define-public python-pyfakefs (define-public python-pyfakefs
(package (package
(name "python-pyfakefs") (name "python-pyfakefs")
(version "3.5.8") (version "3.7.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
;; We use the PyPI URL because there is no proper release ;; 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)) (uri (pypi-uri "pyfakefs" version))
(sha256 (sha256
(base32 (base32
"0qb9jp0bqhc0dv0rn805fv99029fvx135f3bvka6scfkcl6jgllc")) "1cp2yw96fa2qkgi39xa3nlr3inf8wb5rgh9kdq53256ca2r8pdhy"))
(patches (search-patches (patches (search-patches
"python-pyfakefs-remove-bad-test.patch")) "python-pyfakefs-remove-bad-test.patch"))
(file-name (string-append name "-" version ".tar.gz")))) (file-name (string-append name "-" version ".tar.gz"))))

View File

@ -24,8 +24,6 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages commencement) (define-module (gnu packages commencement)
#:use-module ((guix licenses)
#:select (gpl3+ lgpl2.0+ public-domain))
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages bootstrap) #:use-module (gnu packages bootstrap)
#:use-module (gnu packages base) #:use-module (gnu packages base)
@ -56,10 +54,8 @@
#:use-module (guix memoization) #:use-module (guix memoization)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 vlist) #:use-module (ice-9 vlist)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (ice-9 regex)
#:export (make-gcc-toolchain)) #:export (make-gcc-toolchain))
;;; Commentary: ;;; Commentary:

View File

@ -67,7 +67,7 @@
#:use-module (ice-9 match)) #:use-module (ice-9 match))
(define-public diffoscope (define-public diffoscope
(let ((version "135")) (let ((version "136"))
(package (package
(name "diffoscope") (name "diffoscope")
(version version) (version version)
@ -79,7 +79,7 @@
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0rkpvajkp3qryi6dxkrh8aq5xg79aybnw8iy73wsblcnfq6yhba7")))) "1wp4fnmwcsgv17dmvk9xr3h63gp4nmmpysr248qvxs8s5qy5xlyk"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases

View File

@ -15,6 +15,7 @@
;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Leo Famulari <leo@famulari.name> ;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2020 Pkill -9 <pkill9@runbox.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -62,11 +63,14 @@
#:use-module (gnu packages sphinx) #:use-module (gnu packages sphinx)
#:use-module (gnu packages sqlite) #:use-module (gnu packages sqlite)
#:use-module (gnu packages swig) #:use-module (gnu packages swig)
#:use-module (gnu packages terminals)
#:use-module (gnu packages textutils)
#:use-module (gnu packages vim) #:use-module (gnu packages vim)
#:use-module (gnu packages w3m) #:use-module (gnu packages w3m)
#:use-module (gnu packages web) #:use-module (gnu packages web)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (guix build-system scons) #: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. @item files with broken user and/or group ID.
@end itemize\n") @end itemize\n")
(license license:gpl3+))) (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)))

View File

@ -36,6 +36,7 @@
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages javascript) #:use-module (gnu packages javascript)
#:use-module (gnu packages kde) #:use-module (gnu packages kde)
#:use-module (gnu packages kde-frameworks) ; extra-cmake-modules #:use-module (gnu packages kde-frameworks) ; extra-cmake-modules
@ -254,7 +255,7 @@ easy.")
(define-public snap (define-public snap
(package (package
(name "snap") (name "snap")
(version "5.4.0") (version "5.4.5")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -263,8 +264,7 @@ easy.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32 "1z6dbcsgvxxs40p23qysfsk4vzpg8jlrr5pqfnjf8q3kpz1xvzxf"))))
"05m3x8yc9a7x9hfkrz2bm3yqkc63cdb8v3yznkjqq04sfx5dfd04"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
`(#:modules ((guix build utils)) `(#:modules ((guix build utils))
@ -590,14 +590,14 @@ Portuguese, Spanish and Italian.")
(define-public fet (define-public fet
(package (package
(name "fet") (name "fet")
(version "5.42.1") (version "5.42.3")
(source (origin (source
(method url-fetch) (origin
(uri (string-append "https://www.lalescu.ro/liviu/fet/download/" (method url-fetch)
"fet-" version ".tar.bz2")) (uri (string-append "https://www.lalescu.ro/liviu/fet/download/"
(sha256 "fet-" version ".tar.bz2"))
(base32 (sha256
"1dzlbhp42dxdxbcrjwrjl4kj65cibxgjqc3ir1w78yprikihdxca")))) (base32 "0z31i8kwd59c3hlq35qll61qhc3x63w330ss92glhp12iy0aja1y"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#: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 languages and keyboard layouts, and typing statistics are used to dynamically
adjust the level of difficulty.") adjust the level of difficulty.")
(license license:gpl2))) (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+)))

View File

@ -960,13 +960,13 @@ in certain cases. It also enables recursion for anonymous functions.")
(define-public emacs-xr (define-public emacs-xr
(package (package
(name "emacs-xr") (name "emacs-xr")
(version "1.14") (version "1.15")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/xr-" version ".tar")) (uri (string-append "https://elpa.gnu.org/packages/xr-" version ".tar"))
(sha256 (sha256
(base32 "1hfl7jvimgdgi2mwsx9laxcywp4n6k6vfkanjwm3sf27awqz7ngs")))) (base32 "0pxzr6n0qa29ly8j3cl46rv9a65ajfcgahrhdylg4yfb9gh1x4ly"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/xr.html") (home-page "https://elpa.gnu.org/packages/xr.html")
(synopsis "Convert string regexp to rx notation") (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 (define-public emacs-relint
(package (package
(name "emacs-relint") (name "emacs-relint")
(version "1.11") (version "1.13")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"https://elpa.gnu.org/packages/relint-" version ".tar")) "https://elpa.gnu.org/packages/relint-" version ".tar"))
(sha256 (sha256
(base32 "0c7d35kp5k11fnyjrq9cg8i2r005gs57pmb3rvpf8ilwv0scn1m7")))) (base32 "1kzzlixhd6kp0mkmgn02b7pqv6m55g708xsys7vjskdxbfb6jjib"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs `(("emacs-xr" ,emacs-xr))) (propagated-inputs `(("emacs-xr" ,emacs-xr)))
(home-page "https://github.com/mattiase/relint") (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.") and searching through @code{Ctags} files.")
(license license:gpl3+))) (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 (define-public emacs-org-download
(let ((commit "10c9d7c8eed928c88a896310c882e3af4d8d0f61") (let ((commit "10c9d7c8eed928c88a896310c882e3af4d8d0f61")
(revision "2")) (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. ;; This package has versions newer than indicated on MELPA.
;; Get the current version from `telega-version` in telega.el. ;; Get the current version from `telega-version` in telega.el.
;; or by running M-x telega-version. ;; or by running M-x telega-version.
(let ((commit "f6728934988140839a71550c9c18b65424ba6225") (let ((commit "ae09592498ce380e57fbb76725fd4c89ae248864")
(revision "0") (revision "0")
(version "0.5.10")) (version "0.6.0"))
(package (package
(name "emacs-telega") (name "emacs-telega")
(version (git-version version revision commit)) (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))) (commit commit)))
(sha256 (sha256
(base32 (base32
"1ijz1isxzssbhz6bxrqmn6wv2apx5rhvd9sbsclv1gaiz3wmkj7i")) "0mv6i80958d9crzspzik5xh5g8326115bvg2frgv0dp9p6rm86m3"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
@ -21237,3 +21260,123 @@ mode-line text (lighter) of major and minor modes.")
(description "@code{unkillable-scratch} helps prevent killing buffers (description "@code{unkillable-scratch} helps prevent killing buffers
matching a given regexp.") matching a given regexp.")
(license license:gpl2+)))) (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+))))

View File

@ -1234,7 +1234,8 @@ multi-system game/emulator system.")
(setenv "CONFIG_SHELL" bash) (setenv "CONFIG_SHELL" bash)
(apply invoke "./configure" flags))))))) (apply invoke "./configure" flags)))))))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("nasm" ,nasm)
("pkg-config" ,pkg-config)))
(inputs (inputs
`(("alsa-lib" ,alsa-lib) `(("alsa-lib" ,alsa-lib)
("faad2" ,faad2) ("faad2" ,faad2)
@ -1249,7 +1250,6 @@ multi-system game/emulator system.")
("libpng" ,libpng) ("libpng" ,libpng)
("libtheora" ,libtheora) ("libtheora" ,libtheora)
("libvorbis" ,libvorbis) ("libvorbis" ,libvorbis)
("nasm" ,nasm)
("sdl2" ,(sdl-union (list sdl2 sdl2-net))) ("sdl2" ,(sdl-union (list sdl2 sdl2-net)))
("zlib" ,zlib))) ("zlib" ,zlib)))
(home-page "https://www.scummvm.org/") (home-page "https://www.scummvm.org/")
@ -1264,7 +1264,7 @@ play them on systems for which they were never designed!")
(define-public mame (define-public mame
(package (package
(name "mame") (name "mame")
(version "0.217") (version "0.218")
(source (source
(origin (origin
(method git-fetch) (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 #\.))))) (commit (apply string-append "mame" (string-split version #\.)))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32 "1c43hqfabc7spkyk5ma4bjdb0yqm93sdg5g13ka8mvi462snrfd7"))
"03h4d0d8lh6djjff3zqhjm14klc9n129yzwygdqppz0f43w97cmw"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Remove bundled libraries. ;; Remove bundled libraries.

View File

@ -101,7 +101,7 @@
(home-page "https://bcachefs.org/") (home-page "https://bcachefs.org/")
(synopsis "Tools to create and manage bcachefs file systems") (synopsis "Tools to create and manage bcachefs file systems")
(description (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. and otherwise managing bcachefs file systems.
Bcachefs is a @acronym{CoW, copy-on-write} file system supporting native Bcachefs is a @acronym{CoW, copy-on-write} file system supporting native

View File

@ -183,6 +183,69 @@ Broadcom/AirForce chipset BCM43xx with Wireless-Core Revision 5. It is used
by the b43-open driver of Linux-libre.") by the b43-open driver of Linux-libre.")
(license license:gpl2))) (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 (define-public seabios
(package (package
(name "seabios") (name "seabios")

View File

@ -90,6 +90,7 @@
#:use-module (gnu packages texinfo) #:use-module (gnu packages texinfo)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages video) #:use-module (gnu packages video)
#:use-module (gnu packages web)
#:use-module (gnu packages xdisorg) #:use-module (gnu packages xdisorg)
#:use-module (gnu packages xiph) #:use-module (gnu packages xiph)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
@ -1505,7 +1506,7 @@ games.")
(define-public godot (define-public godot
(package (package
(name "godot") (name "godot")
(version "3.1.2") (version "3.2")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1514,7 +1515,7 @@ games.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"12305wj2i4067jc50l8r0wmb7zjcna24fli8vb8kiaild0jrlip6")) "0f15izjl4i2xlz1xj5pcslzl9gm3rmr3c21gh256ynpi2zhhkcdd"))
(modules '((guix build utils) (modules '((guix build utils)
(ice-9 ftw) (ice-9 ftw)
(srfi srfi-1))) (srfi srfi-1)))
@ -1526,7 +1527,7 @@ games.")
(with-directory-excursion "thirdparty" (with-directory-excursion "thirdparty"
(let* ((preserved-files (let* ((preserved-files
'("README.md" '("README.md"
"b2d_convexdecomp" "assimp"
"certs" "certs"
"cvtt" "cvtt"
"enet" "enet"
@ -1535,7 +1536,6 @@ games.")
"glad" "glad"
"jpeg-compressor" "jpeg-compressor"
"libsimplewebm" "libsimplewebm"
"libwebsockets"
"miniupnpc" "miniupnpc"
"minizip" "minizip"
"misc" "misc"
@ -1543,8 +1543,8 @@ games.")
"pvrtccompressor" "pvrtccompressor"
"recastnavigation" "recastnavigation"
"squish" "squish"
"thekla_atlas"
"tinyexr" "tinyexr"
"vhacd"
"xatlas"))) "xatlas")))
(for-each delete-file-recursively (for-each delete-file-recursively
(lset-difference string=? (lset-difference string=?
@ -1574,6 +1574,7 @@ games.")
"builtin_mbedtls=no" "builtin_mbedtls=no"
"builtin_opus=no" "builtin_opus=no"
"builtin_pcre2=no" "builtin_pcre2=no"
"builtin_wslay=no"
"builtin_zlib=no" "builtin_zlib=no"
"builtin_zstd=no") "builtin_zstd=no")
#:tests? #f ; There are no tests #:tests? #f ; There are no tests
@ -1598,6 +1599,10 @@ games.")
(rename-file "godot.x11.tools.64" "godot") (rename-file "godot.x11.tools.64" "godot")
(rename-file "godot.x11.tools.32" "godot")) (rename-file "godot.x11.tools.32" "godot"))
(install-file "godot" bin)) (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))) #t)))
(add-after 'install 'install-godot-desktop (add-after 'install 'install-godot-desktop
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
@ -1640,6 +1645,8 @@ games.")
("opusfile" ,opusfile) ("opusfile" ,opusfile)
("pcre2" ,pcre2) ("pcre2" ,pcre2)
("pulseaudio" ,pulseaudio) ("pulseaudio" ,pulseaudio)
("wslay" ,wslay)
("zenity" ,zenity)
("zstd" ,zstd "lib"))) ("zstd" ,zstd "lib")))
(home-page "https://godotengine.org/") (home-page "https://godotengine.org/")
(synopsis "Advanced 2D and 3D game engine") (synopsis "Advanced 2D and 3D game engine")

View File

@ -1,7 +1,8 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -27,12 +28,14 @@
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module ((guix licenses) #:select (gpl3+)) #:use-module ((guix licenses) #:select (gpl3+))
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #: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 (define-public gdb-8.3
(package (package
@ -45,6 +48,10 @@
(sha256 (sha256
(base32 (base32
"1i2pjwaafrlz7wqm40b4znr77ai32rjsxkpl2az38yyarpbv8m8y")))) "1i2pjwaafrlz7wqm40b4znr77ai32rjsxkpl2az38yyarpbv8m8y"))))
;; Hide this package so that end users get 'gdb/next' below.
(properties '((hidden? . #t)))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; FIXME "make check" fails on single-processor systems. `(#: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.") written in C, C++, Ada, Objective-C, Pascal and more.")
(license gpl3+))) (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 (define-public gdb-8.2
(package/inherit (package/inherit
gdb-8.3 gdb-8.3
@ -118,6 +127,15 @@ written in C, C++, Ada, Objective-C, Pascal and more.")
(base32 (base32
"00i27xqawjv282a07i73lp1l02n0a3ywzhykma75qg500wll6sha")))))) "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 (define-public gdb
;; This is the fixed version that packages depend on. Update it rarely ;; This is the fixed version that packages depend on. Update it rarely
;; enough to avoid massive rebuilds. ;; enough to avoid massive rebuilds.

View File

@ -174,6 +174,7 @@ buffers.")
("glib" ,glib) ("glib" ,glib)
("glib-networking" ,glib-networking) ("glib-networking" ,glib-networking)
("libtiff" ,libtiff) ("libtiff" ,libtiff)
("libwebp" ,libwebp)
("libjpeg" ,libjpeg) ("libjpeg" ,libjpeg)
("atk" ,atk) ("atk" ,atk)
("gexiv2" ,gexiv2) ("gexiv2" ,gexiv2)

View File

@ -39,7 +39,7 @@
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org> ;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2019 Jonathan Frederickson <jonathan@terracrypt.net> ;;; 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 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2019 David Wilson <david@daviwil.com> ;;; Copyright © 2019 David Wilson <david@daviwil.com>
;;; Copyright © 2019, 2020 Raghav Gururajan <raghavgururajan@disroot.org> ;;; Copyright © 2019, 2020 Raghav Gururajan <raghavgururajan@disroot.org>
@ -8303,7 +8303,11 @@ functionality and behavior.")
(modify-phases %standard-phases (modify-phases %standard-phases
;; autogen.sh calls configure at the end of the script. ;; autogen.sh calls configure at the end of the script.
(replace 'bootstrap (replace 'bootstrap
(lambda _ (invoke "autoreconf" "-vfi")))))) (lambda _ (invoke "autoreconf" "-vfi")))
(add-before 'build 'set-home ;placate Inkscape
(lambda _
(setenv "HOME" (getcwd))
#t)))))
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
("automake" ,automake) ("automake" ,automake)

View File

@ -220,7 +220,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(package (package
(inherit go-1.4) (inherit go-1.4)
(name "go") (name "go")
(version "1.12.15") (version "1.12.16")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -228,7 +228,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
name version ".src.tar.gz")) name version ".src.tar.gz"))
(sha256 (sha256
(base32 (base32
"1hw4xjywcl883dnvfbb92w85sy8n231fdri4aynj8xajgr0p9fla")))) "1y0x10fsvgpc1x24b9q9y6kv9b0kwf7879am3p0gym2abgc5wvnf"))))
(arguments (arguments
(substitute-keyword-arguments (package-arguments go-1.4) (substitute-keyword-arguments (package-arguments go-1.4)
((#:phases phases) ((#:phases phases)

View File

@ -7,6 +7,7 @@
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net> ;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
;;; Copyright © 2019 John Soo <jsoo1@asu.edu> ;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -1595,3 +1596,65 @@ cookies, serving files, and more.")
(description (description
"Haskell library which exposes zero-copy sendfile functionality in a portable way.") "Haskell library which exposes zero-copy sendfile functionality in a portable way.")
(license license:bsd-3))) (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)))

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> ;;; Copyright © 2014, 2015, 2016, 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -30,6 +31,7 @@
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages texinfo)
#:use-module (guix git-download) #:use-module (guix git-download)
#:export (hurd-triplet? #:export (hurd-triplet?
hurd-target?)) hurd-target?))
@ -44,69 +46,54 @@ GNU/Hurd."
(or (and=> (%current-target-system) hurd-triplet?) (or (and=> (%current-target-system) hurd-triplet?)
(string-suffix? (%current-system) "-gnu"))) (string-suffix? (%current-system) "-gnu")))
(define (gnumach-source-url version)
(string-append "mirror://gnu/gnumach/gnumach-"
version ".tar.gz"))
(define (hurd-source-url version) (define (hurd-source-url version)
(string-append "mirror://gnu/hurd/hurd-" (string-append "mirror://gnu/hurd/hurd-"
version ".tar.gz")) 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 (define-public gnumach-headers
(package (let ((commit "097f9cf735ffa1212b828682ad92f0f6c5f1c552")
(name "gnumach-headers") (revision "1"))
(version "1.8") (package
(source (name "gnumach-headers")
(origin (version (git-version "1.8" revision commit))
(method url-fetch) (source
(uri (gnumach-source-url version)) (origin
(sha256 (method git-fetch)
(base32 (uri (git-reference
"02hygsfpd2dljl5lg1vjjg9pizi9jyxd4aiiqzjshz6jax62jm9f")) (url "https://git.savannah.gnu.org/git/hurd/gnumach.git")
(patches (list (origin (commit commit)))
;; This patch adds <mach/vm_wire.h>, which defines the (file-name (git-file-name "gnumach" version))
;; VM_WIRE_* constants needed by glibc 2.28. (sha256
(method url-fetch) (base32
(uri (patch-url "gnumach" "2b0f19f602e08fd9d37268233b962674fd592634")) "0q36z7k02bykrld90zaxbhyzxlmwlqqs4divgir6ix38zsp6icqk"))))
(sha256 (build-system gnu-build-system)
(base32 (arguments
"01iajnwsmka0w9hwjkxxijc4xfhwqbvlkw1w8n71hpnhfixd0y28")) `(#:phases
(file-name "gnumach-vm-wire-header.patch")))) (modify-phases %standard-phases
(modules '((guix build utils))) (replace 'install
(snippet (lambda _
'(begin (invoke "make" "install-data")))
;; Actually install vm_wire.h. (delete 'build))
(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))
;; GNU Mach supports only IA32 currently, so cheat so that we can at ;; GNU Mach supports only IA32 currently, so cheat so that we can at
;; least install its headers. ;; least install its headers.
,@(if (%current-target-system) ,@(if (%current-target-system)
'() '()
;; See <http://lists.gnu.org/archive/html/bug-hurd/2015-06/msg00042.html> ;; 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> ;; <http://lists.gnu.org/archive/html/guix-devel/2015-06/msg00716.html>
'(#:configure-flags '("--build=i586-pc-gnu"))) '(#:configure-flags '("--build=i586-pc-gnu"
"--host=i686-linux-gnu")))
#:tests? #f)) #:tests? #f))
(home-page "https://www.gnu.org/software/hurd/microkernel/mach/gnumach.html") (native-inputs
(synopsis "GNU Mach kernel headers") `(("autoconf" ,autoconf)
(description ("automake" ,automake)
"Headers of the GNU Mach kernel.") ("texinfo" ,texinfo-4)))
(license gpl2+))) (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 (define-public mig
(package (package
@ -264,15 +251,8 @@ Hurd-minimal package which are needed for both glibc and GCC.")
(define-public gnumach (define-public gnumach
(package (package
(inherit gnumach-headers)
(name "gnumach") (name "gnumach")
(version "1.8")
(source (origin
(method url-fetch)
(uri (gnumach-source-url version))
(sha256
(base32
"02hygsfpd2dljl5lg1vjjg9pizi9jyxd4aiiqzjshz6jax62jm9f"))))
(build-system gnu-build-system)
(arguments (arguments
`(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases
(add-after 'install 'produce-image (add-after 'install 'produce-image
@ -286,12 +266,9 @@ Hurd-minimal package which are needed for both glibc and GCC.")
`(("mig" ,mig) `(("mig" ,mig)
("perl" ,perl))) ("perl" ,perl)))
(supported-systems (cons "i686-linux" %hurd-systems)) (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") (synopsis "Microkernel of the GNU system")
(description (description
"GNU Mach is the microkernel upon which a GNU Hurd system is based.") "GNU Mach is the microkernel upon which a GNU Hurd system is based.")))
(license gpl2+)))
(define-public hurd (define-public hurd
(package (package

View File

@ -170,7 +170,7 @@ script.")
(define-public graphicsmagick (define-public graphicsmagick
(package (package
(name "graphicsmagick") (name "graphicsmagick")
(version "1.3.33") (version "1.3.34")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -182,7 +182,8 @@ script.")
"GraphicsMagick/" (version-major+minor version) "GraphicsMagick/" (version-major+minor version)
"/GraphicsMagick-" version ".tar.xz"))) "/GraphicsMagick-" version ".tar.xz")))
(sha256 (sha256
(base32 "0y67dl6xbk1pxndppa93hhlq9i6bpcjw39gb4i8hnn1klqqb630k")))) (base32
"197pshms3m8mn2x1ryiag37ambm8qmb448spch66l3gdfd8rs06z"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags

View File

@ -11,7 +11,7 @@
;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Raymond Nicholson <rain1@openmailbox.org> ;;; Copyright © 2016 Raymond Nicholson <rain1@openmailbox.org>
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.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, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 John Darrington <jmd@gnu.org> ;;; Copyright © 2016 John Darrington <jmd@gnu.org>
@ -33,7 +33,7 @@
;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com> ;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de> ;;; 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 Stefan Stefanović <stefanx2ovic@gmail.com>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2019 Brice Waegeneire <brice@waegenei.re>
@ -87,6 +87,8 @@
#:use-module (gnu packages gperf) #:use-module (gnu packages gperf)
#:use-module (gnu packages gstreamer) #:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk) #: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 libunwind)
#:use-module (gnu packages libusb) #:use-module (gnu packages libusb)
#:use-module (gnu packages man) #:use-module (gnu packages man)
@ -357,42 +359,42 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
"linux-" version ".tar.xz")) "linux-" version ".tar.xz"))
(sha256 hash))) (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 (define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version) (let ((version linux-libre-5.4-version)
(hash (base32 "1ccldlwj89qd22cl06706w7xzm8n69m6kg8ic0s5ns0ghlpj41v4"))) (hash (base32 "1fbl5knf6pini9lsx8mqkdmf3qbsydqvaxggh6nd1vk9mzv2npwl")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-5.4))) 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 (define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version) (let ((version linux-libre-4.19-version)
(hash (base32 "1axmspnqir2zz7lail95y5yaamxl86k39sd4im3c77dgjkwj3g4d"))) (hash (base32 "1i4bkwankl5q95kgqmmyzdkwmf3b8ppkb8ild9bw12mkpmm1a9my")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-4.19))) 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 (define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version) (let ((version linux-libre-4.14-version)
(hash (base32 "1ziixdg4jsr17kgfa9dpckczk0r2mc5jayqb2f6br19al79pfmyv"))) (hash (base32 "0jc24zvqz3vsv65xxcivzkj6nv27vsy62l50n2h1ysy5jdwsk3nq")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-4.14))) 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 (define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version) (let ((version linux-libre-4.9-version)
(hash (base32 "1gmi27ih5ys1wxbrnc4a5dr9vw9ngccs9xpa2p0gsk4pbn6n15r5"))) (hash (base32 "0c5yjilaq86j6i2hzlxbp2ia7jhnf7kv952ffv7jxdf90sk3irxd")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-4.9))) 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 (define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version) (let ((version linux-libre-4.4-version)
(hash (base32 "1f6qz4bvjn18cfcg3wwfsl75aw2kxwn28r228kdic9aibhy6rpvp"))) (hash (base32 "0mx3qyj6w6h7gw7drsfsgl4iyz1695sjnf9hqh4kczci48kw5rj7")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-4.4))) 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 (define-public linux-libre-5.4
(make-linux-libre* linux-libre-5.4-version (make-linux-libre* linux-libre-5.4-version
linux-libre-5.4-source 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)) #:configuration-file kernel-config))
(define-public linux-libre-version linux-libre-5.4-version) (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" #:defconfig "omap2plus_defconfig"
#:extra-version "arm-omap2plus")) #: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. ;;; 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.") from the module-init-tools project.")
(license license:gpl2+))) ; library under lgpl2.1+ (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 (define-public eudev
;; The post-systemd fork, maintained by Gentoo. ;; The post-systemd fork, maintained by Gentoo.
(package (package
@ -5119,42 +5171,46 @@ interface in sysfs, which can be accomplished with the included udev rules.")
(define-public tlp (define-public tlp
(package (package
(name "tlp") (name "tlp")
(version "1.2.2") (version "1.3.0")
(source (origin (source
(method url-fetch) (origin
(uri (string-append (method url-fetch)
"https://github.com/linrunner/" (uri (string-append "https://github.com/linrunner/TLP/archive/"
(string-upcase name) version ".tar.gz"))
"/archive/" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz")) (sha256
(sha256 (base32 "169k3xypq5rq0xiggrlpr73yr2r2x7b2d9vcr9ac96qrgph7sk7r"))))
(base32 (native-inputs
"059kxrpxx580mm6p0z2a421nxngszyh4yqqhbgvn04b6a7dbsa2w")))) `(("shellcheck" ,shellcheck)))
(inputs `(("bash" ,bash) (inputs
("dbus" ,dbus) `(("bash" ,bash)
("ethtool" ,ethtool) ("dbus" ,dbus)
("eudev" ,eudev) ("ethtool" ,ethtool)
("grep" ,grep) ("eudev" ,eudev)
("hdparm" ,hdparm) ("grep" ,grep)
("inetutils" ,inetutils) ("hdparm" ,hdparm)
("iw" ,iw) ("inetutils" ,inetutils)
("kmod" ,kmod) ("iw" ,iw)
("pciutils" ,pciutils) ("kmod" ,kmod)
("perl" ,perl) ("pciutils" ,pciutils)
("rfkill" ,rfkill) ("perl" ,perl)
("sed" ,sed) ("rfkill" ,rfkill)
("usbutils" ,usbutils) ("sed" ,sed)
("util-linux" ,util-linux) ("usbutils" ,usbutils)
("wireless-tools" ,wireless-tools) ("util-linux" ,util-linux)
,@(if (let ((system (or (%current-target-system) ("wireless-tools" ,wireless-tools)
(%current-system)))) ,@(if (let ((system (or (%current-target-system)
(or (string-prefix? "i686-" system) (%current-system))))
(string-prefix? "x86_64-" system))) (or (string-prefix? "i686-" system)
`(("x86-energy-perf-policy" ,x86-energy-perf-policy)) (string-prefix? "x86_64-" system)))
'()))) `(("x86-energy-perf-policy" ,x86-energy-perf-policy))
'())))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (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) (guix build utils)
(srfi srfi-1)) (srfi srfi-1))
#:phases #: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_TLIB" (string-append out "/share/tlp"))
(setenv "TLP_FLIB" (string-append out "/share/tlp/func.d")) (setenv "TLP_FLIB" (string-append out "/share/tlp/func.d"))
(setenv "TLP_ULIB" (string-append out "/lib/udev")) (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" (setenv "TLP_ELOD"
(string-append out "/lib/elogind/system-sleep")) (string-append out "/lib/elogind/system-sleep"))
(setenv "TLP_SHCPL" (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_MAN" (string-append out "/share/man"))
(setenv "TLP_META" (string-append out "/share/metainfo")) (setenv "TLP_META" (string-append out "/share/metainfo"))
#t))) #t)))
(delete 'check) ; no tests
(add-before 'install 'fix-installation (add-before 'install 'fix-installation
(lambda _ (lambda _
;; Stop the Makefile from trying to create system directories. ;; Stop the Makefile from trying to create system directories.
(substitute* "Makefile" (substitute* "Makefile"
(("\\[ -f \\$\\(_CONF\\) \\]") "#") (("\\[ -f \\$\\(_CONFUSR\\) \\]") "#")
(("install -d -m 755 \\$\\(_VAR\\)") "#")) (("install -d -m 755 \\$\\(_VAR\\)") "#"))
#t)) #t))
(replace 'install (replace 'install
(lambda _ (lambda _ (invoke "make" "install-tlp" "install-man-tlp")))
(invoke "make" "install-tlp" "install-man")))
(add-after 'install 'wrap (add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((bin (string-append (assoc-ref outputs "out") "/bin")) (let* ((bin (string-append (assoc-ref outputs "out") "/bin"))

View File

@ -51,6 +51,7 @@
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages libevent) #:use-module (gnu packages libevent)
#:use-module (gnu packages libffi) #:use-module (gnu packages libffi)
#:use-module (gnu packages lisp) #:use-module (gnu packages lisp)
@ -59,6 +60,7 @@
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages sqlite) #:use-module (gnu packages sqlite)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages webkit) #:use-module (gnu packages webkit)
#:use-module (gnu packages xdisorg) #:use-module (gnu packages xdisorg)
@ -9709,3 +9711,335 @@ possible.")
(define-public ecl-green-threads (define-public ecl-green-threads
(sbcl-package->ecl-package sbcl-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))

View File

@ -2301,72 +2301,6 @@ transfer protocols.")
(define-public opensmtpd (define-public opensmtpd
(package (package
(name "opensmtpd") (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") (version "6.6.2p1")
(source (source
(origin (origin

View File

@ -2,7 +2,7 @@
;;; Copyright © 2013, 2014, 2015, 2016, 2019 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013, 2014, 2015, 2016, 2019 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2016, 2017 John Darrington <jmd@gnu.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 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2014 Mathieu Lirzin <mathieu.lirzin@openmailbox.org> ;;; Copyright © 2014 Mathieu Lirzin <mathieu.lirzin@openmailbox.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
@ -2411,7 +2411,7 @@ easy-to-write markup language for mathematics.")
(source (source
(origin (origin
(method url-fetch) (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")) "superlu_" version ".tar.gz"))
(sha256 (sha256
(base32 "0qzlb7cd608q62kyppd0a8c65l03vrwqql6gsm465rky23b6dyr8")) (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 `(#:configure-flags '("-Denable_blaslib:BOOL=NO" ;do not use internal cblas
"-DTPL_BLAS_LIBRARIES=openblas" "-DTPL_BLAS_LIBRARIES=openblas"
"-DBUILD_SHARED_LIBS:BOOL=YES"))) "-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") (synopsis "Supernodal direct solver for sparse linear systems")
(description (description
"SuperLU is a general purpose library for the direct solution of large, "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 (define-public superlu-dist
(package (package
(name "superlu-dist") (name "superlu-dist")
(version "6.1.0") (version "6.2.0")
(source (source
(origin (origin
(method url-fetch) (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")) "superlu_dist_" version ".tar.gz"))
(sha256 (sha256
(base32 "0pqgcgh1yxhfzs99fas3mggajzd5wca3nbyp878rziy74gfk03dl")) (base32 "1ynmwqajc9sc3my2hssa5k9s58ggvizqv9rdss0j7w99pbh5mnvw"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Replace the non-free implementation of MC64 with a stub ;; 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;")) "RowPerm = NOROWPERM;"))
#t)) #t))
(patches (search-patches "superlu-dist-scotchmetis.patch" (patches (search-patches "superlu-dist-scotchmetis.patch"
"superlu-dist-awpm-grid.patch" "superlu-dist-awpm-grid.patch"))))
"superlu-dist-fix-mpi-deprecations.patch"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (native-inputs
`(("tcsh" ,tcsh))) `(("tcsh" ,tcsh)))

View File

@ -1949,9 +1949,9 @@ Telegram messenger.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public tdlib (define-public tdlib
(let ((commit "5efaf8c3b523797373c487d972ea514364e5eac2") (let ((commit "278c7acdec83c5ac17d8e1ed0bb2cacbcea62460")
(revision "1") (revision "0")
(version "1.5.5")) (version "1.6.0"))
(package (package
(name "tdlib") (name "tdlib")
(version (git-version version revision commit)) (version (git-version version revision commit))
@ -1962,7 +1962,7 @@ Telegram messenger.")
(commit commit))) (commit commit)))
(sha256 (sha256
(base32 (base32
"1grflgvqqxbf84yi09j60a1cpbcrv85yhj9a735agi32hgd51whi")) "0zlzpl6fgszg18kwycyyyrnkm255dvc6fkq0b0y32m5wvwwl36cv"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments

View File

@ -6,7 +6,7 @@
;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com> ;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 John Darrington <jmd@gnu.org> ;;; 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 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017 ng0 <ng0@n0.is> ;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
@ -601,14 +601,14 @@ of the same name.")
(define-public wireshark (define-public wireshark
(package (package
(name "wireshark") (name "wireshark")
(version "3.2.0") (version "3.2.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.wireshark.org/download/src/wireshark-" (uri (string-append "https://www.wireshark.org/download/src/wireshark-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 "0v5nn7i2nbqr59jsw8cs2052hr7xd96x1sa3480g8ks5kahk7zac")))) (base32 "0nz84zyhs4177ljxmv34vgc9kgg7ssxhxa4mssxqwh6nb00697sq"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:phases `(#:phases

View File

@ -4,6 +4,7 @@
;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -48,7 +49,7 @@
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages web) #:use-module (gnu packages web)
#:use-module (gnu packages) #: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 packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
@ -367,3 +368,30 @@ Other features include:
@end enumerate\n") @end enumerate\n")
;; GPLv3+ with OpenSSL linking exception. ;; GPLv3+ with OpenSSL linking exception.
(license gpl3+))) (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)))

View File

@ -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:

View File

@ -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,

View File

@ -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");

View File

@ -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)

View File

@ -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__

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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);

View File

@ -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 */

View File

@ -5,6 +5,7 @@
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -32,6 +33,7 @@
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages sphinx)) #:use-module (gnu packages sphinx))
@ -84,11 +86,20 @@ Python strings.")
(uri (pypi-uri "lz4" version)) (uri (pypi-uri "lz4" version))
(sha256 (sha256
(base32 (base32
"0ghv1xbaq693kgww1x9c22bplz479ls9szjsaa4ig778ls834hm0")))) "0ghv1xbaq693kgww1x9c22bplz479ls9szjsaa4ig778ls834hm0"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove bundled copy of lz4.
(delete-file-recursively "lz4libs")
#t))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (native-inputs
`(("python-nose" ,python-nose) `(("pkg-config" ,pkg-config)
("python-nose" ,python-nose)
("python-setuptools-scm" ,python-setuptools-scm))) ("python-setuptools-scm" ,python-setuptools-scm)))
(inputs
`(("lz4" ,lz4)))
(home-page "https://github.com/python-lz4/python-lz4") (home-page "https://github.com/python-lz4/python-lz4")
(synopsis "LZ4 bindings for Python") (synopsis "LZ4 bindings for Python")
(description (description

View File

@ -47,8 +47,10 @@
(base32 (base32
"1h0011dj6jgqpgribir4anljjv7bbrdcs8g91pbsmzf5zr75bk2m")))) "1h0011dj6jgqpgribir4anljjv7bbrdcs8g91pbsmzf5zr75bk2m"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("perl" ,perl) (native-inputs
("acl" ,acl))) `(("perl" ,perl)))
(inputs
`(("acl" ,acl)))
(synopsis "Remote (and local) file copying tool") (synopsis "Remote (and local) file copying tool")
(description (description
"Rsync is a fast and versatile file copying tool. It can copy locally, "Rsync is a fast and versatile file copying tool. It can copy locally,

View File

@ -2836,13 +2836,13 @@ definitions on a Ruby object.")
(define-public ruby-redcarpet (define-public ruby-redcarpet
(package (package
(name "ruby-redcarpet") (name "ruby-redcarpet")
(version "3.4.0") (version "3.5.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (rubygems-uri "redcarpet" version)) (uri (rubygems-uri "redcarpet" version))
(sha256 (sha256
(base32 (base32
"0h9qz2hik4s9knpmbwrzb3jcp3vc5vygp9ya8lcpl7f1l9khmcd7")))) "0skcyx1h8b5ms0rp2zm3ql6g322b8c1adnkwkqyv7z3kypb4bm7k"))))
(build-system ruby-build-system) (build-system ruby-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -4784,7 +4784,7 @@ unacceptable HTML and/or CSS from a string.")
(define-public ruby-oj (define-public ruby-oj
(package (package
(name "ruby-oj") (name "ruby-oj")
(version "3.6.7") (version "3.10.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -4796,7 +4796,7 @@ unacceptable HTML and/or CSS from a string.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1fqx58pwjiln7053lw2jy6ns4agcpxq2ac4f2fkd2ca3fxwpmh03")))) "0i5xjx4sh816zx2c1a4d1q67k7vllg5jnnc4jy6zhbmwi1dvp5vw"))))
(build-system ruby-build-system) (build-system ruby-build-system)
(arguments (arguments
'(#:test-target "test_all" '(#:test-target "test_all"
@ -4955,19 +4955,26 @@ including comments and whitespace.")
(define-public ruby-unf-ext (define-public ruby-unf-ext
(package (package
(name "ruby-unf-ext") (name "ruby-unf-ext")
(version "0.0.7.1") (version "0.0.7.6")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (rubygems-uri "unf_ext" version)) (uri (rubygems-uri "unf_ext" version))
(sha256 (sha256
(base32 (base32
"0ly2ms6c3irmbr1575ldyh52bz2v0lzzr2gagf0p526k12ld2n5b")))) "1ll6w64ibh81qwvjx19h8nj7mngxgffg7aigjx11klvf5k2g4nxf"))))
(build-system ruby-build-system) (build-system ruby-build-system)
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'build 'build-ext (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 (native-inputs
`(("bundler" ,bundler) `(("bundler" ,bundler)
("ruby-rake-compiler" ,ruby-rake-compiler) ("ruby-rake-compiler" ,ruby-rake-compiler)
@ -6076,14 +6083,14 @@ neither too verbose nor too minimal.")
(define-public ruby-sqlite3 (define-public ruby-sqlite3
(package (package
(name "ruby-sqlite3") (name "ruby-sqlite3")
(version "1.3.13") (version "1.4.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (rubygems-uri "sqlite3" version)) (uri (rubygems-uri "sqlite3" version))
(sha256 (sha256
(base32 (base32
"01ifzp8nwzqppda419c9wcvr8n82ysmisrs0hph9pdmv1lpa4f5i")))) "0lja01cp9xd5m6vmx99zwn4r7s97r1w5cb76gqd8xhbm1wxyzf78"))))
(build-system ruby-build-system) (build-system ruby-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -7764,23 +7771,34 @@ features that don't exist yet like variables, nesting, mixins and inheritance.")
(define-public ruby-sassc (define-public ruby-sassc
(package (package
(name "ruby-sassc") (name "ruby-sassc")
(version "2.0.1") (version "2.2.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (rubygems-uri "sassc" version)) (uri (rubygems-uri "sassc" version))
(sha256 (sha256
(base32 (base32
"1sr4825rlwsrl7xrsm0sgalcpf5zgp4i56dbi3qxfa9lhs8r6zh4")))) "09bnid7r5z5hcin5hykvpvv8xig27wbbckxwis60z2aaxq4j9siz"))))
(build-system ruby-build-system) (build-system ruby-build-system)
(arguments (arguments
'(#:phases '(#:modules ((guix build ruby-build-system)
(guix build utils)
(ice-9 textual-ports))
#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
;; TODO: This would be better as a snippet, but the ruby-build-system ;; TODO: This would be better as a snippet, but the ruby-build-system
;; doesn't seem to support that ;; doesn't seem to support that
(add-after 'unpack 'remove-libsass (add-after 'unpack 'remove-libsass
(lambda _ (lambda _
(delete-file-recursively "ext") (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)) #t))
(add-after 'unpack 'dont-check-the-libsass-version (add-after 'unpack 'dont-check-the-libsass-version
(lambda _ (lambda _
@ -7790,18 +7808,17 @@ features that don't exist yet like variables, nesting, mixins and inheritance.")
(add-after 'unpack 'remove-git-from-gemspec (add-after 'unpack 'remove-git-from-gemspec
(lambda _ (lambda _
(substitute* "sassc.gemspec" (substitute* "sassc.gemspec"
(("`git ls-files -z`") "`find . -type f -print0 |sort -z`") (("`git ls-files -z`") "`find . -type f -print0 |sort -z`"))
(("`git submodule --quiet foreach pwd`") "''"))
#t)) #t))
(add-after 'unpack 'remove-extensions-from-gemspec (add-after 'unpack 'remove-extensions-from-gemspec
(lambda _ (lambda _
(substitute* "sassc.gemspec" (substitute* "sassc.gemspec"
(("\\[\"ext/Rakefile\"\\]") "[]")) (("\\[\"ext/extconf.rb\"\\]") "[]"))
#t)) #t))
(add-after 'unpack 'fix-Rakefile (add-after 'unpack 'fix-Rakefile
(lambda _ (lambda _
(substitute* "Rakefile" (substitute* "Rakefile"
(("test: 'libsass:compile'") ":test")) (("test: 'compile:libsass'") ":test"))
#t)) #t))
(add-after 'unpack 'remove-unnecessary-dependencies (add-after 'unpack 'remove-unnecessary-dependencies
(lambda _ (lambda _
@ -7826,6 +7843,7 @@ features that don't exist yet like variables, nesting, mixins and inheritance.")
`(("libsass" ,libsass))) `(("libsass" ,libsass)))
(native-inputs (native-inputs
`(("bundler" ,bundler) `(("bundler" ,bundler)
("ruby-rake-compiler" ,ruby-rake-compiler)
("ruby-minitest-around" ,ruby-minitest-around) ("ruby-minitest-around" ,ruby-minitest-around)
("ruby-test-construct" ,ruby-test-construct))) ("ruby-test-construct" ,ruby-test-construct)))
(synopsis "Use libsss from Ruby") (synopsis "Use libsss from Ruby")

View File

@ -168,14 +168,14 @@ anywhere.")
(define-public samba (define-public samba
(package (package
(name "samba") (name "samba")
(version "4.11.4") (version "4.11.6")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://download.samba.org/pub/samba/stable/" (uri (string-append "https://download.samba.org/pub/samba/stable/"
"samba-" version ".tar.gz")) "samba-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"096vc6j36924xrjzqr6lqmf9qwgwv9szxb35rsfi0mq78nx72m5r")))) "0f7g17zw4nzk1bjnqqrr84hkyq9vn0k7zyim2i177xkigd6qyhwi"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases

View File

@ -39,16 +39,16 @@
(define-public sane-backends-minimal (define-public sane-backends-minimal
(package (package
(name "sane-backends-minimal") (name "sane-backends-minimal")
(version "1.0.28") (version "1.0.29")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"https://gitlab.com/sane-project/backends/uploads/" "https://gitlab.com/sane-project/backends/uploads/"
"9e718daff347826f4cfe21126c8d5091/" "54f858b20a364fc35d820df935a86478/"
"sane-backends-" version ".tar.gz")) "sane-backends-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"00yy8q9hqdf0zjxxl4d8njr9zf0hhi3a9ib23ikc2anqf8zhy9ii")) "1vd83vhl0hddwsdh2jb0k3yzycfghi2xa9lc3ga9r12rbx77n0ma"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Generated HTML files and udev rules normally embed a ;; Generated HTML files and udev rules normally embed a

View File

@ -8,7 +8,7 @@
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.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 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si> ;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
@ -42,10 +42,12 @@
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (gnu packages audio) #:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages fcitx) #:use-module (gnu packages fcitx)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages ibus) #:use-module (gnu packages ibus)
#:use-module (gnu packages image) #:use-module (gnu packages image)
@ -326,6 +328,54 @@ SDL.")
(home-page "https://www.libsdl.org/projects/SDL_net/") (home-page "https://www.libsdl.org/projects/SDL_net/")
(license zlib))) (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 (define-public sdl-ttf
(package (package
(name "sdl-ttf") (name "sdl-ttf")

View File

@ -3,7 +3,7 @@
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org> ;;; 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 © 2019 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; 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 (define-public rclone
(package (package
(name "rclone") (name "rclone")
(version "1.50.2") (version "1.51.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/rclone/rclone/releases/download/" (uri (string-append "https://github.com/rclone/rclone/releases/download/"
"v" version "/rclone-v" version ".tar.gz")) "v" version "/rclone-v" version ".tar.gz"))
(sha256 (sha256
(base32 "14b0k5nb85v0mxmdpqxf8avha0wwc3f4dbj1s8h3hkaifa59kn3d")))) (base32 "1vi7sbdr5irlgxn080nwzs9lr893cxk59y4vnannzr8prvzvgd9y"))))
;; FIXME: Rclone bundles some libraries Guix already provides. Need to ;; FIXME: Rclone bundles some libraries Guix already provides. Need to
;; un-bundle them. ;; un-bundle them.
(build-system go-build-system) (build-system go-build-system)

View File

@ -29,7 +29,7 @@
(define-public tbb (define-public tbb
(package (package
(name "tbb") (name "tbb")
(version "2020.0") (version "2020.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -38,7 +38,7 @@
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"11prl038dh8gprvn5f5p16af2rgh4lr3bfyyvavgfl3jdvsj2mqh")) "1vrh1mr9jmj46as9y8j5q1hpvihzd1iq4jr1y4x9a19dw8b7yk56"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View File

@ -657,15 +657,14 @@ and Octave. TeXmacs is completely extensible via Guile.")
(define-public scintilla (define-public scintilla
(package (package
(name "scintilla") (name "scintilla")
(version "4.2.2") (version "4.3.0")
(source (origin (source
(method url-fetch) (origin
(uri (let ((v (apply string-append (string-split version #\.)))) (method url-fetch)
(string-append (uri (let ((v (apply string-append (string-split version #\.))))
"https://www.scintilla.org/scintilla" v ".tgz"))) (string-append "https://www.scintilla.org/scintilla" v ".tgz")))
(sha256 (sha256
(base32 (base32 "0c52b2wg0y55kv3w7rnzp0nbd1yn2kksy0w8bjdp3gkl0v28wwx5"))))
"01gq31ggvasw4sy9xs544h7v1dmxrlxs5bzxpasqb9yi3ps3nl0f"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags (list "GTK3=1" "CC=gcc" "-Cgtk") `(#:make-flags (list "GTK3=1" "CC=gcc" "-Cgtk")

View File

@ -122,7 +122,7 @@ in intelligent transportation networks.")
(define-public p11-kit (define-public p11-kit
(package (package
(name "p11-kit") (name "p11-kit")
(version "0.23.19") (version "0.23.20")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -130,7 +130,7 @@ in intelligent transportation networks.")
"download/" version "/p11-kit-" version ".tar.xz")) "download/" version "/p11-kit-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1w7i4f5lc8darjkfjsm1ldvhkv0x29mvwg89klmh5kb2xqf6x4wi")))) "0131maw666ha4d6iyj13fkz18c4pnb3lw2xwv5kvkmnzqcj61n0l"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))

View File

@ -3,7 +3,7 @@
;;; Copyright © 2014, 2015, 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2014, 2015, 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; 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 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2015, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Alex Vong <alexvong1995@gmail.com>
@ -23,7 +23,7 @@
;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net> ;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Roel Janssen <roel@gnu.org> ;;; 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 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018, 2019 Leo Famulari <leo@famulari.name> ;;; Copyright © 2018, 2019 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2018 Brendan Tildesley <mail@brendan.scot>
@ -337,52 +337,59 @@ a shared library and encoder and decoder command-line executables.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public libx264 (define-public libx264
(package ;; There are no tags in the repository, so we take the version number from
(name "libx264") ;; the X264_BUILD variable defined in x264.h.
(version "20180810-2245") (let ((version "159")
(source (origin (commit "1771b556ee45207f8711744ccbd5d42a3949b14c")
(method url-fetch) (revision "0"))
(uri (string-append "https://download.videolan.org/pub/x264/snapshots/" (package
"x264-snapshot-" version "-stable.tar.bz2")) (name "libx264")
(sha256 (version (git-version version revision commit))
(base32 (source (origin
"0f25f39imas9pcqm7lnaa0shhjmf42hdx7jxzcnvxc7qsb7lh1bv")))) (method git-fetch)
(build-system gnu-build-system) (uri (git-reference
(native-inputs (url "https://code.videolan.org/videolan/x264.git")
`(("pkg-config" ,pkg-config) (commit commit)))
("nasm" ,nasm))) (file-name (git-file-name name version))
;; TODO: Add gpac input (sha256
(arguments (base32
`(#:tests? #f ;no check target "0kmi78gs5101d4df33il5bmjbns54nvdjsyn44xiw60lwsg11vwz"))))
#:configure-flags '("--enable-shared" (build-system gnu-build-system)
;; Don't build the command-line program. If we (native-inputs
;; want it later, we should do so in a different `(("pkg-config" ,pkg-config)
;; package to avoid a circular dependency (the x264 ("nasm" ,nasm)))
;; program depends on ffmpeg and ffmpeg depends on ;; TODO: Add gpac input
;; libx264). (arguments
"--disable-cli" `(#: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 ;; On MIPS, we must pass "--disable-asm" or else
;; configure fails after printing: "You specified a ;; configure fails after printing: "You specified a
;; pre-MSA CPU in your CFLAGS. If you really want ;; pre-MSA CPU in your CFLAGS. If you really want
;; to run on such a CPU, configure with ;; to run on such a CPU, configure with
;; --disable-asm." ;; --disable-asm."
,@(if (string-prefix? "mips" ,@(if (string-prefix? "mips"
(or (%current-target-system) (or (%current-target-system)
(%current-system))) (%current-system)))
'("--disable-asm") '("--disable-asm")
'())))) '()))))
(home-page "https://www.videolan.org/developers/x264.html") (home-page "https://www.videolan.org/developers/x264.html")
(synopsis "H.264 video coding library") (synopsis "H.264 video coding library")
(description "libx264 is an advanced encoding library for creating (description "libx264 is an advanced encoding library for creating
H.264 (MPEG-4 AVC) video streams.") H.264 (MPEG-4 AVC) video streams.")
(license (list license:gpl2+ ;most files (license (list license:gpl2+ ;most files
license:isc ;common/x86/x86inc.asm license:isc ;common/x86/x86inc.asm
license:lgpl2.1+ ;extras/getopt.c license:lgpl2.1+ ;extras/getopt.c
license:bsd-3 ;extras/inttypes.h license:bsd-3 ;extras/inttypes.h
(license:non-copyleft ;extras/cl*.h (license:non-copyleft ;extras/cl*.h
"file://extras/cl.h" "file://extras/cl.h"
"See extras/cl.h in the distribution."))))) "See extras/cl.h in the distribution."))))))
(define-public mkvtoolnix (define-public mkvtoolnix
(package (package
@ -1349,7 +1356,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(define-public mpv (define-public mpv
(package (package
(name "mpv") (name "mpv")
(version "0.31.0") (version "0.32.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (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)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"138m09l4wi6ifbi15z76j578plmxkclhlzfryasfcdp8hswhs59r")))) "0kmy1q0hp87vq4rpv7py04x8bpg1wmlzaibavmkf713jqp6qy596"))))
(build-system waf-build-system) (build-system waf-build-system)
(native-inputs (native-inputs
`(("perl" ,perl) ; for zsh completion file `(("perl" ,perl) ; for zsh completion file

View File

@ -36,6 +36,7 @@
;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.org> ;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.org>
;;; Copyright © 2019 Florian Pelz <pelzflorian@pelzflorian.de> ;;; Copyright © 2019 Florian Pelz <pelzflorian@pelzflorian.de>
;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -1140,6 +1141,36 @@ implementation that is simple, portable, flexible, lightweight, low level, and
high performance.") high performance.")
(license license:bsd-3))) (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 (define-public libpsl
(package (package
(name "libpsl") (name "libpsl")
@ -5073,21 +5104,20 @@ w3c webidl files and a binding configuration file.")
(delete 'configure) (delete 'configure)
(add-after 'build 'adjust-welcome (add-after 'build 'adjust-welcome
(lambda _ (lambda _
;; First, fix some unended tags and simple substitutions
(substitute* "frontends/gtk/res/welcome.html" (substitute* "frontends/gtk/res/welcome.html"
;; Close some XHTML tags.
(("<(img|input)([^>]*)>" _ tag contents) (("<(img|input)([^>]*)>" _ tag contents)
(string-append "<" tag contents " />")) (string-append "<" tag contents " />"))
(("Licence") "License") ;prefer GNU spelling ;; Increase freedom.
((" open source") ", free software") ((" open source") ", free software")
(("web&nbsp;site") "website") ;; Prefer a more privacy-respecting default search engine.
;; Prefer privacy-respecting default search engine
(("www.google.co.uk") "www.duckduckgo.com/html") (("www.google.co.uk") "www.duckduckgo.com/html")
(("Google Search") "DuckDuckGo Search") (("Google Search") "DuckDuckGo Search")
(("name=\"btnG\"") "")) (("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" (with-atomic-file-replacement "frontends/gtk/res/welcome.html"
(lambda (in out) (lambda (in out)
;; Leave the DOCTYPE header as is ;; Leave the DOCTYPE header as is.
(display (read-line in 'concat) out) (display (read-line in 'concat) out)
(sxml->xml (sxml->xml
(let rec ((sxml (xml->sxml in))) (let rec ((sxml (xml->sxml in)))

View File

@ -30,6 +30,8 @@
;;; Copyright © 2019 Josh Holland <josh@inv.alid.pw> ;;; Copyright © 2019 Josh Holland <josh@inv.alid.pw>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org> ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> ;;; 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. ;;; This file is part of GNU Guix.
;;; ;;;
@ -57,6 +59,7 @@
#:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix build-system scons)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages documentation) #:use-module (gnu packages documentation)
#:use-module (gnu packages admin) #: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.") can optionally use some appearance settings from XSettings, tint2 and GTK.")
(home-page "https://jgmenu.github.io/") (home-page "https://jgmenu.github.io/")
(license license:gpl2))) (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)))

View File

@ -112,7 +112,7 @@
@samp{passwd} and @samp{static}.") @samp{passwd} and @samp{static}.")
(server (server
(string 'unset) (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 (username
(string 'unset) (string 'unset)
"Username to login to the mail server with.") "Username to login to the mail server with.")

125
gnu/services/linux.scm Normal file
View File

@ -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.")))

View File

@ -2,7 +2,7 @@
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au> ;;; 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> ;;; Copyright © 2019 Kristofer Buffington <kristoferbuffington@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; 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 (define %default-opensmtpd-config-file
(plain-file "smtpd.conf" " (plain-file "smtpd.conf" "
listen on lo 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 (define opensmtpd-shepherd-service

View File

@ -388,7 +388,7 @@ shutdown on system startup."))
(with-imported-modules '((guix build utils)) (with-imported-modules '((guix build utils))
#~(begin #~(begin
(use-modules (guix build utils)) (use-modules (guix build utils))
(copy-file #$config-file "/etc/tlp"))))) (copy-file #$config-file "/etc/tlp.conf")))))
(define tlp-service-type (define tlp-service-type
(service-type (service-type

View File

@ -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 "\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"))) (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 (define %sh4
(qemu-platform "sh4" "sh4" (qemu-platform "sh4" "sh4"
(bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a\x00") (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 (define %qemu-platforms
(list %i386 %i486 %alpha %arm %sparc32plus %ppc %ppc64 %ppc64le %m68k (list %i386 %i486 %alpha %arm %sparc32plus %ppc %ppc64 %ppc64le %m68k
%mips %mipsel %mipsn32 %mipsn32el %mips64 %mips64el %mips %mipsel %mipsn32 %mipsn32el %mips64 %mips64el
%sh4 %sh4eb %s390x %aarch64 %hppa)) %riscv32 %riscv64 %sh4 %sh4eb %s390x %aarch64 %hppa))
(define (lookup-qemu-platforms . names) (define (lookup-qemu-platforms . names)
"Return the list of QEMU platforms that match NAMES--a list of names such as "Return the list of QEMU platforms that match NAMES--a list of names such as

View File

@ -5,7 +5,7 @@
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2019 Christopher Baines <mail@cbaines.net> ;;; 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. ;;; This file is part of GNU Guix.
;;; ;;;
@ -47,7 +47,8 @@
(config-file (config-file
(plain-file "smtpd.conf" " (plain-file "smtpd.conf" "
listen on 0.0.0.0 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) (define (run-opensmtpd-test)

57
tests/services/linux.scm Normal file
View File

@ -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")