Merge branch 'master' into staging

This commit is contained in:
Marius Bakke 2019-10-18 18:10:47 +02:00
commit b95d1b3289
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
86 changed files with 2202 additions and 791 deletions

View file

@ -50,10 +50,8 @@ then
# it or its parent directories. See <http://bugs.gnu.org/17935>. # it or its parent directories. See <http://bugs.gnu.org/17935>.
NIX_STORE_DIR="`cd "@GUIX_TEST_ROOT@/store"; pwd -P`" NIX_STORE_DIR="`cd "@GUIX_TEST_ROOT@/store"; pwd -P`"
NIX_LOCALSTATE_DIR="@GUIX_TEST_ROOT@/var"
GUIX_LOG_DIRECTORY="@GUIX_TEST_ROOT@/var/log/guix" GUIX_LOG_DIRECTORY="@GUIX_TEST_ROOT@/var/log/guix"
GUIX_DATABASE_DIRECTORY="@GUIX_TEST_ROOT@/db" GUIX_DATABASE_DIRECTORY="@GUIX_TEST_ROOT@/db"
NIX_ROOT_FINDER="@abs_top_builddir@/nix/scripts/list-runtime-roots"
# Choose a PID-dependent name to allow for parallel builds. Note # Choose a PID-dependent name to allow for parallel builds. Note
# that the directory name must be chosen so that the socket's file # that the directory name must be chosen so that the socket's file
@ -97,8 +95,8 @@ then
NIXPKGS="@NIXPKGS@" NIXPKGS="@NIXPKGS@"
export NIX_IGNORE_SYMLINK_STORE NIX_STORE_DIR \ export NIX_IGNORE_SYMLINK_STORE NIX_STORE_DIR \
NIX_LOCALSTATE_DIR GUIX_LOG_DIRECTORY GUIX_STATE_DIRECTORY GUIX_DATABASE_DIRECTORY \ GUIX_LOG_DIRECTORY GUIX_STATE_DIRECTORY GUIX_DATABASE_DIRECTORY \
NIX_ROOT_FINDER GUIX_BINARY_SUBSTITUTE_URL \ GUIX_BINARY_SUBSTITUTE_URL \
GUIX_ALLOW_UNAUTHENTICATED_SUBSTITUTES \ GUIX_ALLOW_UNAUTHENTICATED_SUBSTITUTES \
GUIX_CONFIGURATION_DIRECTORY XDG_CACHE_HOME NIXPKGS GUIX_CONFIGURATION_DIRECTORY XDG_CACHE_HOME NIXPKGS

View file

@ -5662,9 +5662,6 @@ The URL to the home-page of the package, as a string.
The list of systems supported by the package, as strings of the form The list of systems supported by the package, as strings of the form
@code{architecture-kernel}, for example @code{"x86_64-linux"}. @code{architecture-kernel}, for example @code{"x86_64-linux"}.
@item @code{maintainers} (default: @code{'()})
The list of maintainers of the package, as @code{maintainer} objects.
@item @code{location} (default: source location of the @code{package} form) @item @code{location} (default: source location of the @code{package} form)
The source location of the package. It is useful to override this when The source location of the package. It is useful to override this when
inheriting from another package, in which case this field is not inheriting from another package, in which case this field is not
@ -17417,7 +17414,7 @@ Defaults to @samp{#f}.
@deftypevr {@code{getmail-options-configuration} parameter} non-negative-integer delete-after @deftypevr {@code{getmail-options-configuration} parameter} non-negative-integer delete-after
Getmail will delete messages this number of days after seeing them, if Getmail will delete messages this number of days after seeing them, if
they have not been delivered. This means messages will be left on the they have been delivered. This means messages will be left on the
server this number of days after delivering them. A value of @samp{0} server this number of days after delivering them. A value of @samp{0}
disabled this feature. disabled this feature.

View file

@ -9,6 +9,92 @@
(channel-news (channel-news
(version 0) (version 0)
(entry (commit "81c580c8664bfeeb767e2c47ea343004e88223c7")
(title (en "Insecure @file{/var/guix/profiles/per-user} permissions (CVE-2019-18192)")
(de "Sicherheitslücke in @file{/var/guix/profiles/per-user}-Berechtigungen (CVE-2019-18192)")
(fr "Permissions laxistes pour @file{/var/guix/profiles/per-user} (CVE-2019-18192)")
(nl "Onveilige @file{/var/guix/profiles/per-user}-rechten (CVE-2019-18192)"))
(body
(en "The default user profile, @file{~/.guix-profile}, points to
@file{/var/guix/profiles/per-user/$USER}. Until now,
@file{/var/guix/profiles/per-user} was world-writable, allowing the
@command{guix} command to create the @code{$USER} sub-directory.
On a multi-user system, this allowed a malicious user to create and populate
that @code{$USER} sub-directory for another user that had not yet logged in.
Since @code{/var/@dots{}/$USER} is in @code{$PATH}, the target user could end
up running attacker-provided code. See
@uref{https://issues.guix.gnu.org/issue/37744} for more information.
This is now fixed by letting @command{guix-daemon} create these directories on
behalf of users and removing the world-writable permissions on
@code{per-user}. On multi-user systems, we recommend updating the daemon now.
To do that, run @code{sudo guix pull} if you're on a foreign distro, or run
@code{guix pull && sudo guix system reconfigure @dots{}} on Guix System. In
both cases, make sure to restart the service afterwards, with @code{herd} or
@code{systemctl}.")
(de "Das voreingestellte Benutzerprofil, @file{~/.guix-profile},
verweist auf @file{/var/guix/profiles/per-user/$USER}. Bisher hatte jeder
Benutzer Schreibzugriff auf @file{/var/guix/profiles/per-user}, wodurch der
@command{guix}-Befehl berechtigt war, das Unterverzeichnis @code{$USER}
anzulegen.
Wenn mehrere Benutzer dasselbe System benutzen, kann ein böswilliger Benutzer
so das Unterverzeichnis @code{$USER} und Dateien darin für einen anderen
Benutzer anlegen, wenn sich dieser noch nie angemeldet hat. Weil
@code{/var//$USER} auch in @code{$PATH} aufgeführt ist, kann der betroffene
Nutzer dazu gebracht werden, vom Angreifer vorgegebenen Code auszuführen.
Siehe @uref{https://issues.guix.gnu.org/issue/37744} für weitere
Informationen.
Der Fehler wurde nun behoben, indem @command{guix-daemon} diese Verzeichnisse
jetzt selbst anlegt statt das dem jeweiligen Benutzerkonto zu überlassen. Der
Schreibzugriff auf @code{per-user} wird den Benutzern entzogen. Für Systeme
mit mehreren Benutzern empfehlen wir, den Daemon jetzt zu aktualisieren. Auf
einer Fremddistribution führen Sie dazu @code{sudo guix pull} aus; auf einem
Guix-System führen Sie @code{guix pull && sudo guix system reconfigure }
aus. Achten Sie in beiden Fällen darauf, den Dienst mit @code{herd} oder
@code{systemctl} neuzustarten.")
(fr "Le profil utilisateur par défaut, @file{~/.guix-profile},
pointe vers @file{/var/guix/profiles/per-user/$USER}. Jusqu
maintenant, @file{/var/guix/profiles/per-user} était disponible en
écriture pour tout le monde, ce qui permettait à la commande
@command{guix} de créér le sous-répertoire @code{$USER}.
Sur un système multi-utilisateur, cela permet à un utilisateur
malveillant de créer et de remplir le sous-répertoire @code{USER} pour
n'importe quel utilisateur qui ne s'est jamais connecté. Comme
@code{/var/@dots{}/$USER} fait partie de @code{$PATH}, l'utilisateur
ciblé pouvait exécuter des programmes fournis par l'attaquant. Voir
@uref{https://issues.guix.gnu.org/issue/37744} pour plus de détails.
Cela est maintenant corrigé en laissant à @command{guix-daemon} le soin
de créer ces répertoire pour le compte des utilisateurs et en
supprimant les permissions en écriture pour tout le monde sur
@code{per-user}. Nous te recommandons de mettre à jour le démon
immédiatement. Pour cela, lance @code{sudo guix pull} si tu es sur
une distro externe ou @code{guix pull && sudo guix system reconfigure
@dots{}} sur le système Guix. Dans tous les cas, assure-toi ensuite de
redémarrer le service avec @code{herd} ou @code{systemctl}.")
(nl "Het standaard gebruikersprofiel, @file{~/.guix-profile}, verwijst
naar @file{/var/guix/profiles/per-user/$USER}. Tot op heden kon om het even wie
in @file{/var/guix/profiles/per-user} schrijven, wat het @command{guix}-commando
toestond de @code{$USER} submap aan te maken.
Op systemen met meerdere gebruikers kon hierdoor een kwaadaardige gebruiker een
@code{$USER} submap met inhoud aanmaken voor een andere gebruiker die nog niet
was ingelogd. Omdat @code{/var/@dots{}/$USER} zich in @code{$PATH} bevindt,
kon het doelwit zo code uitvoeren die door de aanvaller zelf werd aangeleverd.
Zie @uref{https://issues.guix.gnu.org/issue/37744} voor meer informatie.
Dit probleem is nu verholpen: schrijven door iedereen in @code{per-user} is niet
meer toegestaan en @command{guix-daemon} maakt zelf submappen aan namens de
gebruiker. Op systemen met meerdere gebruikers raden we aan om
@code{guix-daemon} nu bij te werken. Op Guix System kan dit met
@code{guix pull && sudo guix system reconfigure @dots{}}, op andere distributies
met @code{sudo guix pull}. Herstart vervolgens in beide gevallen
@code{guix-daemon} met @code{herd} of @code{systemctl}.")))
(entry (commit "5f3f70391809f8791c55c05bd1646bc58508fa2c") (entry (commit "5f3f70391809f8791c55c05bd1646bc58508fa2c")
(title (en "GNU C Library upgraded") (title (en "GNU C Library upgraded")
(de "GNU-C-Bibliothek aktualisiert") (de "GNU-C-Bibliothek aktualisiert")

View file

@ -794,6 +794,7 @@ dist_patch_DATA = \
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \ %D%/packages/patches/emacs-fix-scheme-indent-function.patch \
%D%/packages/patches/emacs-json-reformat-fix-tests.patch \ %D%/packages/patches/emacs-json-reformat-fix-tests.patch \
%D%/packages/patches/emacs-highlight-stages-add-gexp.patch \ %D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
%D%/packages/patches/emacs-magit-log-format-author-margin.patch \
%D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \ %D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \
%D%/packages/patches/emacs-source-date-epoch.patch \ %D%/packages/patches/emacs-source-date-epoch.patch \
%D%/packages/patches/emacs-undohist-ignored.patch \ %D%/packages/patches/emacs-undohist-ignored.patch \
@ -1132,6 +1133,9 @@ dist_patch_DATA = \
%D%/packages/patches/mtools-mformat-uninitialized.patch \ %D%/packages/patches/mtools-mformat-uninitialized.patch \
%D%/packages/patches/mumble-1.2.19-abs.patch \ %D%/packages/patches/mumble-1.2.19-abs.patch \
%D%/packages/patches/mumps-build-parallelism.patch \ %D%/packages/patches/mumps-build-parallelism.patch \
%D%/packages/patches/mumps-shared-libseq.patch \
%D%/packages/patches/mumps-shared-mumps.patch \
%D%/packages/patches/mumps-shared-pord.patch \
%D%/packages/patches/mupen64plus-ui-console-notice.patch \ %D%/packages/patches/mupen64plus-ui-console-notice.patch \
%D%/packages/patches/mupen64plus-video-z64-glew-correct-path.patch \ %D%/packages/patches/mupen64plus-video-z64-glew-correct-path.patch \
%D%/packages/patches/mutt-store-references.patch \ %D%/packages/patches/mutt-store-references.patch \
@ -1298,8 +1302,6 @@ dist_patch_DATA = \
%D%/packages/patches/rtags-separate-rct.patch \ %D%/packages/patches/rtags-separate-rct.patch \
%D%/packages/patches/racket-store-checksum-override.patch \ %D%/packages/patches/racket-store-checksum-override.patch \
%D%/packages/patches/ruby-rubygems-276-for-ruby24.patch \ %D%/packages/patches/ruby-rubygems-276-for-ruby24.patch \
%D%/packages/patches/ruby-concurrent-ignore-broken-test.patch \
%D%/packages/patches/ruby-concurrent-test-arm.patch \
%D%/packages/patches/ruby-rack-ignore-failing-test.patch \ %D%/packages/patches/ruby-rack-ignore-failing-test.patch \
%D%/packages/patches/ruby-safe-yaml-add-require-time.patch \ %D%/packages/patches/ruby-safe-yaml-add-require-time.patch \
%D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\ %D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\

View file

@ -228,9 +228,7 @@ package module."
#:outputs (package-outputs package) #:outputs (package-outputs package)
#:location (package-location package) #:location (package-location package)
#:supported? #:supported?
(->bool (->bool (supported-package? package))
(member (%current-system)
(package-supported-systems package)))
#:deprecated? #:deprecated?
(->bool (->bool
(package-superseded package)))) (package-superseded package))))

View file

@ -19,7 +19,7 @@
;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com> ;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
@ -1128,7 +1128,7 @@ system administrator.")
(define-public sudo (define-public sudo
(package (package
(name "sudo") (name "sudo")
(version "1.8.27") (version "1.8.28p1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -1138,7 +1138,7 @@ system administrator.")
version ".tar.gz"))) version ".tar.gz")))
(sha256 (sha256
(base32 (base32
"1h1f7v9pv0rzp14cxzv8kaa8mdd717fbqv83l7c5dvvi8jwnisvv")) "09xhx2k7j6wlqs9bl7snamd4k6lkyv9ycjwdspgbbqrimy25mfi3"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -1839,13 +1839,13 @@ of supported upstream metrics systems simultaneously.")
(define-public ansible (define-public ansible
(package (package
(name "ansible") (name "ansible")
(version "2.8.1") (version "2.8.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "ansible" version)) (uri (pypi-uri "ansible" version))
(sha256 (sha256
(base32 "0ia4x17ywym3r1m96ar4h0wc2xlylhbjp6x4wzwkh4p2i0x1vmg1")))) (base32 "11k94ifp42psivzx147xwbmq1ak7qnjdgkb6c1xz53nfapkh754f"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (native-inputs
`(("python-bcrypt" ,python-bcrypt) `(("python-bcrypt" ,python-bcrypt)
@ -1880,21 +1880,16 @@ import re
sys.argv[0] = re.sub(r'\\.([^/]*)-real$', r'\\1', sys.argv[0]) sys.argv[0] = re.sub(r'\\.([^/]*)-real$', r'\\1', sys.argv[0])
"))) ")))
#t)) #t))
(add-after 'wrap 'fix-symlinks (add-after 'install 'replace-symlinks
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
;; Replace symlinks with duplicate copies of the ansible
;; executable.
(let ((out (assoc-ref outputs "out"))) (let ((out (assoc-ref outputs "out")))
(for-each (for-each
(lambda (subprogram) (lambda (subprogram)
;; The symlinks point to the ansible wrapper script. Make (delete-file (string-append out "/bin/ansible-" subprogram))
;; them point to the real executable (.ansible-real). (copy-file (string-append out "/bin/ansible")
(delete-file (string-append out "/bin/.ansible-" subprogram "-real")) (string-append out "/bin/ansible-" subprogram)))
(symlink (string-append out "/bin/.ansible-real")
(string-append out "/bin/.ansible-" subprogram "-real"))
;; The wrapper scripts of the symlinks invoke the ansible
;; wrapper script. Fix them to invoke the correct executable.
(substitute* (string-append out "/bin/ansible-" subprogram)
(("/bin/ansible")
(string-append "/bin/.ansible-" subprogram "-real"))))
(list "config" "console" "doc" "galaxy" (list "config" "console" "doc" "galaxy"
"inventory" "playbook" "pull" "vault"))) "inventory" "playbook" "pull" "vault")))
#t))))) #t)))))
@ -2611,22 +2606,24 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
environment-variable-names) environment-variable-names)
(for-each (for-each
(lambda (env-name) (lambda (env-name)
(when (getenv env-name)
(let* ((env-value (getenv env-name)) (let* ((env-value (getenv env-name))
(search-path (search-path-as-string->list env-value)) (search-path (search-path-as-string->list env-value))
(new-search-path (filter filter-predicate (new-search-path (filter filter-predicate
search-path)) search-path))
(new-env-value (list->search-path-as-string (new-env-value (list->search-path-as-string
new-search-path ":"))) new-search-path ":")))
(setenv env-name new-env-value))) (setenv env-name new-env-value))))
environment-variable-names)) environment-variable-names))
(setenv "CROSS_CPATH" (getenv "CPATH"))
(setenv "CROSS_C_INCLUDE_PATH" (getenv "C_INCLUDE_PATH")) (setenv "CROSS_C_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))
(setenv "CROSS_CPLUS_INCLUDE_PATH" (getenv "CPLUS_INCLUDE_PATH")) (setenv "CROSS_CPLUS_INCLUDE_PATH" (getenv "CPLUS_INCLUDE_PATH"))
(setenv "CROSS_LIBRARY_PATH" (getenv "LIBRARY_PATH")) (setenv "CROSS_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
(filter-environment! cross? (filter-environment! cross?
'("CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH" '("CROSS_CPATH" "CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH"
"CROSS_LIBRARY_PATH")) "CROSS_LIBRARY_PATH"))
(filter-environment! (lambda (e) (not (cross? e))) (filter-environment! (lambda (e) (not (cross? e)))
'("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH" '("CPATH" "C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH"
"LIBRARY_PATH")) "LIBRARY_PATH"))
#t)) #t))
(replace 'build (replace 'build

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017, 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016, 2017, 2018, 2019 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; ;;;
@ -44,14 +44,14 @@
(define-public clamav (define-public clamav
(package (package
(name "clamav") (name "clamav")
(version "0.101.2") (version "0.102.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.clamav.net/downloads/production/" (uri (string-append "https://www.clamav.net/downloads/production/"
"clamav-" version ".tar.gz")) "clamav-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0d3n4y8i5q594h4cjglmvpk4jd73r9ajpp1bvq5lr9zpdzgyn4ha")) "1qdyj4r39266bmbsd2nwyspm20k9wh3c30awrg8c54y78s61izj8"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View file

@ -166,10 +166,10 @@ dictionaries, including personal ones.")
(define-public aspell-dict-de (define-public aspell-dict-de
(aspell-dictionary "de" "German" (aspell-dictionary "de" "German"
#:version "20030222-1" #:version "20161207-7-0"
#:sha256 #:sha256
(base32 (base32
"01p92qj66cqb346gk7hjfynaap5sbcn85xz07kjfdq623ghr8v5s"))) "0wamclvp66xfmv5wff96v6gdlnfv4y8lx3f8wvxyzm5imwgms4n2")))
(define-public aspell-dict-da (define-public aspell-dict-da
(aspell-dictionary "da" "Danish" (aspell-dictionary "da" "Danish"
@ -189,10 +189,10 @@ dictionaries, including personal ones.")
(define-public aspell-dict-en (define-public aspell-dict-en
(aspell-dictionary "en" "English" (aspell-dictionary "en" "English"
#:version "2018.04.16-0" #:version "2019.10.06-0"
#:sha256 #:sha256
(base32 (base32
"0bxxdzkk9g27plg22y9qzsx9cfjw3aa29w5bmzs561qc9gkp247i"))) "1zai9wrqwgb9z9vfgb22qhrvxvg73jg0ix44j1khm2f6m96lncr4")))
(define-public aspell-dict-eo (define-public aspell-dict-eo
(aspell-dictionary "eo" "Esperanto" (aspell-dictionary "eo" "Esperanto"
@ -291,19 +291,17 @@ dictionaries, including personal ones.")
(define-public aspell-dict-pt-br (define-public aspell-dict-pt-br
(aspell-dictionary "pt_BR" "Brazilian Portuguese" (aspell-dictionary "pt_BR" "Brazilian Portuguese"
#:version "20090702-0" #:version "20131030-12-0"
#:prefix "aspell6-"
#:sha256 #:sha256
(base32 (base32
"1y09lx9zf2rnp55r16b2vgj953l3538z1vaqgflg9mdvm555bz3p"))) "1xqlpk21s93c6blkdnpk7l62q9fxjvzdv2x86chl8p2x1gdrj3gb")))
(define-public aspell-dict-pt-pt (define-public aspell-dict-pt-pt
(aspell-dictionary "pt_PT" "Portuguese" (aspell-dictionary "pt_PT" "Portuguese"
#:version "20070510-0" #:version "20190329-1-0"
#:prefix "aspell6-"
#:sha256 #:sha256
(base32 (base32
"1mnr994cwlag6shy8865ky99lymysiln07mbldcncahg90dagdxq"))) "0ld0d0ily4jqifjfsxfv4shbicz6ymm2gk56fq9gbzra1j4qnw75")))
(define-public aspell-dict-ru (define-public aspell-dict-ru
(aspell-dictionary "ru" "Russian" (aspell-dictionary "ru" "Russian"

View file

@ -2,6 +2,7 @@
;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016, 2017, 2018 Roel Janssen <roel@gnu.org>
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Simon Tournier <zimon.toutoune@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -832,6 +833,36 @@ Disease Ontology.")
using data from public repositories.") using data from public repositories.")
(license license:artistic2.0))) (license license:artistic2.0)))
(define-public r-phastcons100way-ucsc-hg19
(package
(name "r-phastcons100way-ucsc-hg19")
(version "3.7.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "phastCons100way.UCSC.hg19"
version 'annotation))
(sha256
(base32
"1jmc4k4zgkx5vr2plnidnd9bidlwlb0kr7mjg60cqjw7dq7jl1fa"))))
(properties
`((upstream-name . "phastCons100way.UCSC.hg19")))
(build-system r-build-system)
(propagated-inputs
`(("r-bsgenome" ,r-bsgenome)
("r-genomeinfodb" ,r-genomeinfodb)
("r-genomicranges" ,r-genomicranges)
("r-genomicscores" ,r-genomicscores)
("r-iranges" ,r-iranges)
("r-s4vectors" ,r-s4vectors)))
(home-page "https://bioconductor.org/packages/phastCons100way.UCSC.hg19")
(synopsis "UCSC phastCons conservation scores for hg19")
(description
"This package provides UCSC phastCons conservation scores for the human
genome (hg19) calculated from multiple alignments with other 99 vertebrate
species.")
(license license:artistic2.0)))
;;; Experiment data ;;; Experiment data
@ -6048,3 +6079,61 @@ attributable to individual, tissue, time point, or technical variables. The
package includes dream differential expression analysis for repeated package includes dream differential expression analysis for repeated
measures.") measures.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public r-htqpcr
(package
(name "r-htqpcr")
(version "1.38.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "HTqPCR" version))
(sha256
(base32
"09xgj797f0qsbm4jswxw7ijjwa4jxg06bfkq66xfhbvascyyrhg7"))))
(properties `((upstream-name . "HTqPCR")))
(build-system r-build-system)
(propagated-inputs
`(("r-affy" ,r-affy)
("r-biobase" ,r-biobase)
("r-gplots" ,r-gplots)
("r-limma" ,r-limma)
("r-rcolorbrewer" ,r-rcolorbrewer)))
(home-page "http://www.ebi.ac.uk/bertone/software")
(synopsis "Automated analysis of high-throughput qPCR data")
(description
"Analysis of Ct values from high throughput quantitative real-time
PCR (qPCR) assays across multiple conditions or replicates. The input data
can be from spatially-defined formats such ABI TaqMan Low Density Arrays or
OpenArray; LightCycler from Roche Applied Science; the CFX plates from Bio-Rad
Laboratories; conventional 96- or 384-well plates; or microfluidic devices
such as the Dynamic Arrays from Fluidigm Corporation. HTqPCR handles data
loading, quality assessment, normalization, visualization and parametric or
non-parametric testing for statistical significance in Ct values between
features (e.g. genes, microRNAs).")
(license license:artistic2.0)))
(define-public r-unifiedwmwqpcr
(package
(name "r-unifiedwmwqpcr")
(version "1.20.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "unifiedWMWqPCR" version))
(sha256
(base32
"10j70bp5y1x2prz2iagqmwf04y79yqinq08wz4ilh8wggb9f7l8a"))))
(properties
`((upstream-name . "unifiedWMWqPCR")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
("r-htqpcr" ,r-htqpcr)))
(home-page "https://bioconductor.org/packages/unifiedWMWqPCR")
(synopsis "Unified Wilcoxon-Mann Whitney Test for differential expression in qPCR data")
(description
"This packages implements the unified Wilcoxon-Mann-Whitney Test for qPCR
data. This modified test allows for testing differential expression in qPCR
data.")
(license license:gpl2+)))

View file

@ -15261,3 +15261,91 @@ and/or unmapped/clipped reads to a separate FASTQ file. When marking
duplicates, samblaster will require approximately 20MB of memory per 1M read duplicates, samblaster will require approximately 20MB of memory per 1M read
pairs.") pairs.")
(license license:expat))) (license license:expat)))
(define-public r-velocyto
(let ((commit "d7790346cb99f49ab9c2b23ba70dcf9d2c9fc350")
(revision "1"))
(package
(name "r-velocyto")
(version (git-version "0.6" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/velocyto-team/velocyto.R.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"16wqf70j7rd7pay2q513iyz12i8n9vrpg1bisah4lddbcpx5dz1n"))))
(build-system r-build-system)
(inputs
`(("boost" ,boost)))
(propagated-inputs
`(("r-hdf5r" ,r-hdf5r)
("r-mass" ,r-mass)
("r-mgcv" ,r-mgcv)
("r-pcamethods" ,r-pcamethods)
("r-rcpp" ,r-rcpp)
("r-rcpparmadillo" ,r-rcpparmadillo)
;; Suggested packages
("r-rtsne" ,r-rtsne)
("r-cluster" ,r-cluster)
("r-abind" ,r-abind)
("r-h5" ,r-h5)
("r-biocgenerics" ,r-biocgenerics)
("r-genomicalignments" ,r-genomicalignments)
("r-rsamtools" ,r-rsamtools)
("r-edger" ,r-edger)
("r-igraph" ,r-igraph)))
(home-page "http://velocyto.org")
(synopsis "RNA velocity estimation in R")
(description
"This package provides basic routines for estimation of gene-specific
transcriptional derivatives and visualization of the resulting velocity
patterns.")
(license license:gpl3))))
(define-public methyldackel
(package
(name "methyldackel")
(version "0.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dpryan79/MethylDackel.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"10gh8k0ca92kywnrw5pkacq3g6r8s976s12k8jhp8g3g49q9a97g"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
#:make-flags
(list "CC=gcc"
(string-append "prefix="
(assoc-ref %outputs "out") "/bin/"))
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile"
(("install MethylDackel \\$\\(prefix\\)" match)
(string-append "install -d $(prefix); " match)))
#t)))))
(inputs
`(("htslib" ,htslib)
("zlib" ,zlib)))
;; Needed for tests
(native-inputs
`(("python" ,python-wrapper)))
(home-page "https://github.com/dpryan79/MethylDackel")
(synopsis "Universal methylation extractor for BS-seq experiments")
(description
"MethylDackel will process a coordinate-sorted and indexed BAM or CRAM
file containing some form of BS-seq alignments and extract per-base
methylation metrics from them. MethylDackel requires an indexed fasta file
containing the reference genome as well.")
;; See https://github.com/dpryan79/MethylDackel/issues/85
(license license:expat)))

View file

@ -1798,15 +1798,16 @@ exec " gcc "/bin/" program
("bison" ,bison-boot0) ("bison" ,bison-boot0)
,@(%boot0-inputs)))))) ,@(%boot0-inputs))))))
(define with-boot0
(package-with-explicit-inputs %boot0-inputs
%bootstrap-guile))
(define gnumach-headers-boot0 (define gnumach-headers-boot0
(package-with-bootstrap-guile (with-boot0 (package-with-bootstrap-guile gnumach-headers)))
(package-with-explicit-inputs gnumach-headers
(%boot0-inputs)
(current-source-location)
#:guile %bootstrap-guile)))
(define mig-boot0 (define mig-boot0
(let* ((mig (package (inherit mig) (let* ((mig (package
(inherit (package-with-bootstrap-guile mig))
(native-inputs `(("bison" ,bison-boot0) (native-inputs `(("bison" ,bison-boot0)
("flex" ,flex-boot0))) ("flex" ,flex-boot0)))
(inputs `(("flex" ,flex-boot0))) (inputs `(("flex" ,flex-boot0)))
@ -1814,42 +1815,32 @@ exec " gcc "/bin/" program
`(#:configure-flags `(#:configure-flags
`(,(string-append "LDFLAGS=-Wl,-rpath=" `(,(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %build-inputs "flex") "/lib/"))))))) (assoc-ref %build-inputs "flex") "/lib/")))))))
(package-with-bootstrap-guile (with-boot0 mig)))
(package-with-explicit-inputs mig (%boot0-inputs)
(current-source-location)
#:guile %bootstrap-guile))))
(define hurd-headers-boot0 (define hurd-headers-boot0
(let ((hurd-headers (package (inherit hurd-headers) (let ((hurd-headers (package (inherit hurd-headers)
(native-inputs `(("mig" ,mig-boot0))) (native-inputs `(("mig" ,mig-boot0)))
(inputs '())))) (inputs '()))))
(package-with-bootstrap-guile (with-boot0 (package-with-bootstrap-guile hurd-headers))))
(package-with-explicit-inputs hurd-headers (%boot0-inputs)
(current-source-location)
#:guile %bootstrap-guile))))
(define hurd-minimal-boot0 (define hurd-minimal-boot0
(let ((hurd-minimal (package (inherit hurd-minimal) (let ((hurd-minimal (package (inherit hurd-minimal)
(native-inputs `(("mig" ,mig-boot0))) (native-inputs `(("mig" ,mig-boot0)))
(inputs '())))) (inputs '()))))
(package-with-bootstrap-guile (with-boot0 (package-with-bootstrap-guile hurd-minimal))))
(package-with-explicit-inputs hurd-minimal (%boot0-inputs)
(current-source-location)
#:guile %bootstrap-guile))))
(define hurd-core-headers-boot0 (define hurd-core-headers-boot0
(mlambda () (mlambda ()
"Return the Hurd and Mach headers as well as initial Hurd libraries for "Return the Hurd and Mach headers as well as initial Hurd libraries for
the bootstrap environment." the bootstrap environment."
(package-with-bootstrap-guile (package (inherit (package-with-bootstrap-guile hurd-core-headers))
(package (inherit hurd-core-headers)
(arguments `(#:guile ,%bootstrap-guile (arguments `(#:guile ,%bootstrap-guile
,@(package-arguments hurd-core-headers))) ,@(package-arguments hurd-core-headers)))
(inputs (inputs
`(("gnumach-headers" ,gnumach-headers-boot0) `(("gnumach-headers" ,gnumach-headers-boot0)
("hurd-headers" ,hurd-headers-boot0) ("hurd-headers" ,hurd-headers-boot0)
("hurd-minimal" ,hurd-minimal-boot0) ("hurd-minimal" ,hurd-minimal-boot0)
,@(%boot0-inputs))))))) ,@(%boot0-inputs))))))
(define* (kernel-headers-boot0 #:optional (system (%current-system))) (define* (kernel-headers-boot0 #:optional (system (%current-system)))
(match system (match system
@ -2365,14 +2356,14 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
`(("bash" ,bash-final) `(("bash" ,bash-final)
,@(alist-delete "bash" (%boot3-inputs)))) ,@(alist-delete "bash" (%boot3-inputs))))
(define with-boot4
(package-with-explicit-inputs %boot4-inputs %bootstrap-guile))
(define-public guile-final (define-public guile-final
;; This package must be public because other modules refer to it. However, ;; This package must be public because other modules refer to it. However,
;; mark it as hidden so that 'fold-packages' ignores it. ;; mark it as hidden so that 'fold-packages' ignores it.
(package-with-bootstrap-guile (with-boot4 (hidden-package
(package-with-explicit-inputs (hidden-package guile-2.2/fixed) (package-with-bootstrap-guile guile-2.2/fixed))))
%boot4-inputs
(current-source-location)
#:guile %bootstrap-guile)))
(define glibc-utf8-locales-final (define glibc-utf8-locales-final
;; Now that we have GUILE-FINAL, build the UTF-8 locales. They are needed ;; Now that we have GUILE-FINAL, build the UTF-8 locales. They are needed
@ -2384,10 +2375,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(inherit glibc-utf8-locales) (inherit glibc-utf8-locales)
(native-inputs (native-inputs
`(("glibc" ,glibc-final) `(("glibc" ,glibc-final)
("gzip" ("gzip" ,(with-boot4 gzip))))))
,(package-with-explicit-inputs gzip %boot4-inputs
(current-source-location)
#:guile %bootstrap-guile))))))
(define-public ld-wrapper (define-public ld-wrapper
;; The final 'ld' wrapper, which uses the final Guile and Binutils. ;; The final 'ld' wrapper, which uses the final Guile and Binutils.
@ -2403,35 +2391,45 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
`(("locales" ,glibc-utf8-locales-final) `(("locales" ,glibc-utf8-locales-final)
,@(%boot4-inputs))) ,@(%boot4-inputs)))
(define with-boot5
(package-with-explicit-inputs %boot5-inputs))
(define gnu-make-final (define gnu-make-final
;; The final GNU Make, which uses the final Guile. ;; The final GNU Make, which uses the final Guile.
(package-with-explicit-inputs (package-with-bootstrap-guile gnu-make) ;; FIXME: This is a mistake: we shouldn't be propagating GUILE-FINAL to
(lambda _ ;; PKG-CONFIG.
`(("guile" ,guile-final) ;; TODO: Fix that on the next rebuild cycle.
(let ((pkg-config (package
(inherit pkg-config)
(inputs `(("guile" ,guile-final)
,@(%boot5-inputs))) ,@(%boot5-inputs)))
(current-source-location))) (arguments
`(#:implicit-inputs? #f
,@(package-arguments pkg-config))))))
(package
(inherit (package-with-bootstrap-guile gnu-make))
(inputs `(("guile" ,guile-final)
,@(%boot5-inputs)))
(native-inputs `(("pkg-config" ,pkg-config)))
(arguments
`(#:implicit-inputs? #f
,@(package-arguments gnu-make))))))
(define coreutils-final (define coreutils-final
;; The final Coreutils. Treat them specially because some packages, such as ;; The final Coreutils. Treat them specially because some packages, such as
;; Findutils, keep a reference to the Coreutils they were built with. ;; Findutils, keep a reference to the Coreutils they were built with.
(package-with-explicit-inputs (package-with-bootstrap-guile coreutils) (with-boot5 (package-with-bootstrap-guile coreutils)
%boot5-inputs
(current-source-location)
;; Use the final Guile, linked against the ;; Use the final Guile, linked against the
;; final libc with working iconv, so that ;; final libc with working iconv, so that
;; 'substitute*' works well when touching ;; 'substitute*' works well when touching
;; test files in Gettext. ;; test files in Gettext.
#:guile guile-final)) ))
(define grep-final (define grep-final
;; The final grep. Gzip holds a reference to it (via zgrep), so it must be ;; The final grep. Gzip holds a reference to it (via zgrep), so it must be
;; built before gzip. ;; built before gzip.
(let ((grep (package-with-explicit-inputs (let ((grep (with-boot5 (package-with-bootstrap-guile grep))))
(package-with-bootstrap-guile grep)
%boot5-inputs
(current-source-location)
#:guile guile-final)))
(package/inherit grep (package/inherit grep
(inputs (alist-delete "pcre" (package-inputs grep))) (inputs (alist-delete "pcre" (package-inputs grep)))
(native-inputs `(("perl" ,perl-boot0)))))) (native-inputs `(("perl" ,perl-boot0))))))
@ -2442,12 +2440,12 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
("grep" ,grep-final) ("grep" ,grep-final)
,@(%boot5-inputs))) ,@(%boot5-inputs)))
(define with-boot6
(package-with-explicit-inputs %boot6-inputs))
(define sed-final (define sed-final
;; The final sed. ;; The final sed.
(let ((sed (package-with-explicit-inputs (package-with-bootstrap-guile sed) (let ((sed (with-boot6 (package-with-bootstrap-guile sed))))
%boot6-inputs
(current-source-location)
#:guile guile-final)))
(package/inherit sed (native-inputs `(("perl" ,perl-boot0)))))) (package/inherit sed (native-inputs `(("perl" ,perl-boot0))))))
(define-public %final-inputs (define-public %final-inputs
@ -2455,8 +2453,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
;; still use 'package-with-bootstrap-guile' so that the bootstrap tools are ;; still use 'package-with-bootstrap-guile' so that the bootstrap tools are
;; used for origins that have patches, thereby avoiding circular ;; used for origins that have patches, thereby avoiding circular
;; dependencies. ;; dependencies.
(let ((finalize (compose (cut package-with-explicit-inputs <> %boot6-inputs (let ((finalize (compose with-boot6
(current-source-location))
package-with-bootstrap-guile))) package-with-bootstrap-guile)))
`(,@(map (match-lambda `(,@(map (match-lambda
((name package) ((name package)

View file

@ -1898,13 +1898,17 @@ The specification of the Brotli Compressed Data Format is defined in RFC 7932.")
(version "1.03") (version "1.03")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://www.oberhumer.com/opensource/" (uri (string-append "https://www.oberhumer.com/opensource/"
name "/download/" name "-" version ".tar.gz")) name "/download/" name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0j036lkwsxvm15gr29n8wn07cqq79dswjs9k54939ms5zngjjrdq")))) "0j036lkwsxvm15gr29n8wn07cqq79dswjs9k54939ms5zngjjrdq"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "http://www.oberhumer.com/opensource/ucl/") (arguments
`(;; UCL 1.03 fails to build with newer C standards.
#:configure-flags '("CFLAGS=-std=gnu90"
"--enable-shared" "--disable-static")))
(home-page "https://www.oberhumer.com/opensource/ucl/")
(synopsis "Portable lossless data compression library") (synopsis "Portable lossless data compression library")
(description "UCL implements a number of compression algorithms that (description "UCL implements a number of compression algorithms that
achieve an excellent compression ratio while allowing fast decompression. achieve an excellent compression ratio while allowing fast decompression.
@ -1927,9 +1931,11 @@ decompression is a little bit slower.")
"08anybdliqsbsl6x835iwzljahnm9i7v26icdjkcv33xmk6p5vw1")) "08anybdliqsbsl6x835iwzljahnm9i7v26icdjkcv33xmk6p5vw1"))
(patches (search-patches "upx-fix-CVE-2017-15056.patch")))) (patches (search-patches "upx-fix-CVE-2017-15056.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("perl" ,perl) (native-inputs
("ucl" ,ucl))) `(("perl" ,perl)))
(inputs `(("zlib" ,zlib))) (inputs
`(("ucl" ,ucl)
("zlib" ,zlib)))
(arguments (arguments
`(#:make-flags `(#:make-flags
(list "all" (list "all"

View file

@ -56,11 +56,10 @@
(arguments (arguments
`(#:configure-flags `(#:configure-flags
(list "--enable-nmcompat" (list "--enable-nmcompat"
"--enable-polkit" "--enable-polkit" ; Polkit doesn't need to be present at build time.
"--enable-openconnect" "--enable-openconnect"
"--enable-openvpn" "--enable-openvpn"
"--enable-vpnc" "--enable-vpnc"
"--enable-pptp"
"--enable-l2tp" "--enable-l2tp"
"--localstatedir=/var" "--localstatedir=/var"
(string-append (string-append
@ -69,13 +68,12 @@
"--with-dbusdatadir=" (assoc-ref %outputs "out") "/share")))) "--with-dbusdatadir=" (assoc-ref %outputs "out") "/share"))))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)
("python" ,python-2))) ("python" ,python-wrapper)))
(inputs (inputs
`(("dbus" ,dbus) `(("dbus" ,dbus)
("glib" ,glib) ("glib" ,glib)
("gnutls" ,gnutls) ("gnutls" ,gnutls)
("iptables" ,iptables) ("iptables" ,iptables)
("polkit" ,polkit) ;so connman can be used by unprivileged users
("readline" ,readline) ("readline" ,readline)
;; These inputs are needed for connman to include the interface to ;; These inputs are needed for connman to include the interface to
;; these technologies so IF they are installed they can be used. ;; these technologies so IF they are installed they can be used.
@ -84,7 +82,8 @@
("openvpn" ,openvpn) ("openvpn" ,openvpn)
("ppp" ,ppp) ("ppp" ,ppp)
("vpnc" ,vpnc) ("vpnc" ,vpnc)
("wpa-supplicant" ,wpa-supplicant))) ("wpa-supplicant" ,wpa-supplicant)
("xl2tpd" ,xl2tpd)))
(home-page "https://01.org/connman") (home-page "https://01.org/connman")
(synopsis "Connection management daemon") (synopsis "Connection management daemon")
(description "Connman provides a daemon for managing Internet connections. (description "Connman provides a daemon for managing Internet connections.
@ -126,9 +125,9 @@ sharing) to clients via USB, ethernet, WiFi, cellular and Bluetooth.")
(native-inputs `(("pkg-config" ,pkg-config))) (native-inputs `(("pkg-config" ,pkg-config)))
(inputs (inputs
`(("efl" ,efl) `(("efl" ,efl)
("python-2" ,python-2) ("python" ,python-wrapper)
("python2-dbus" ,python2-dbus) ("python-dbus" ,python-dbus)
("python2-efl" ,python2-efl))) ("python-efl" ,python-efl)))
(home-page "https://www.enlightenment.org") (home-page "https://www.enlightenment.org")
(synopsis "Connman User Interface written using the EFL") (synopsis "Connman User Interface written using the EFL")
(description (description

View file

@ -1531,14 +1531,13 @@ processes. Most of its code is based on the @code{psutil} Python package.")
(define-public r-pkgbuild (define-public r-pkgbuild
(package (package
(name "r-pkgbuild") (name "r-pkgbuild")
(version "1.0.5") (version "1.0.6")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "pkgbuild" version)) (uri (cran-uri "pkgbuild" version))
(sha256 (sha256
(base32 (base32 "0xnlz6ivhkbmncg9hfw5p69lm4rjy3wn5lyxmygxyf4rrfnnqwxx"))))
"0y4i85axwajrk67h3w6fiqfm6wxmhn3dr240w5l2nvqg3ahpxc8q"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-callr" ,r-callr) `(("r-callr" ,r-callr)
@ -10886,21 +10885,20 @@ Differences with other sparse matrix packages are:
(define-public r-fields (define-public r-fields
(package (package
(name "r-fields") (name "r-fields")
(version "9.8-6") (version "9.9")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "fields" version)) (uri (cran-uri "fields" version))
(sha256 (sha256
(base32 (base32 "1qbqdqq76xgnlbc9z643zn4s8k493h1jmav2f465hfvp63306br6"))))
"07x95vk1idjfzi5ikn0ijal754mssdmgr1p4nswmx9w3i5ndcqaz"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-maps" ,r-maps) `(("r-maps" ,r-maps)
("r-spam" ,r-spam))) ("r-spam" ,r-spam)))
(native-inputs (native-inputs
`(("gfortran" ,gfortran))) `(("gfortran" ,gfortran)))
(home-page "http://www.image.ucar.edu/fields") (home-page "https://www.image.ucar.edu/fields")
(synopsis "Tools for spatial data") (synopsis "Tools for spatial data")
(description (description
"This is a package for curve, surface and function fitting with an "This is a package for curve, surface and function fitting with an
@ -11129,14 +11127,13 @@ But it can also be used to do data analysis for small scale data sets.")
(define-public r-cmprsk (define-public r-cmprsk
(package (package
(name "r-cmprsk") (name "r-cmprsk")
(version "2.2-8") (version "2.2-9")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "cmprsk" version)) (uri (cran-uri "cmprsk" version))
(sha256 (sha256
(base32 (base32 "0xhgfg5b4i9skkaxp7gzkafgg5bqs5q1rp4hpw2jjmykg2nifn99"))))
"1nacbzx950ygaqgnj0949skhwpzar5i3xlscd44jsimk2gsppx6z"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-survival" ,r-survival))) `(("r-survival" ,r-survival)))
@ -11633,14 +11630,13 @@ identifying outliers.")
(define-public r-bayesm (define-public r-bayesm
(package (package
(name "r-bayesm") (name "r-bayesm")
(version "3.1-3") (version "3.1-4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "bayesm" version)) (uri (cran-uri "bayesm" version))
(sha256 (sha256
(base32 (base32 "154glks7rsjkza0sfi1kj7wj727py9sl1ba6sswflwmwc9n226q6"))))
"041ach2f2vrqzd5kz17v7wmkjz6z8cjjihpk4qvczm4cr9z85r2i"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-rcpp" ,r-rcpp) `(("r-rcpp" ,r-rcpp)
@ -15302,14 +15298,13 @@ function and interfaces to external frameworks.")
(define-public r-covr (define-public r-covr
(package (package
(name "r-covr") (name "r-covr")
(version "3.3.1") (version "3.3.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "covr" version)) (uri (cran-uri "covr" version))
(sha256 (sha256
(base32 (base32 "160w0m2d06kdd8dar57lpph39rxx55xwncbpl3b21l7j9drh1s5f"))))
"0fvd7v53w11x6kaw61hbml8n1j2ck9l2fv2wvqdsg689xic9rqcs"))))
(properties `((upstream-name . "covr"))) (properties `((upstream-name . "covr")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs

View file

@ -13,6 +13,7 @@
;;; Copyright © 2018 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; Copyright © 2018 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de> ;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -210,6 +211,15 @@ OpenBSD tool of the same name.")
(copy-recursively (assoc-ref inputs "googletest-source") (copy-recursively (assoc-ref inputs "googletest-source")
"vendor/github.com/google/googletest") "vendor/github.com/google/googletest")
#t)) #t))
(add-before 'configure 'patch-CMakeLists.txt
(lambda _
;; Prevent CMake from adding libc on the system include path.
;; Otherwise it will interfere with the libc used by GCC and
;; ultimately cause #include_next errors.
(substitute* "CMakeLists.txt"
(("include_directories \\(SYSTEM \\$\\{Intl_INCLUDE_DIRS\\}\\)")
""))
#t))
(add-before 'check 'make-unittests (add-before 'check 'make-unittests
(lambda _ (lambda _
(invoke "make" "unittests")))))) (invoke "make" "unittests"))))))
@ -974,3 +984,36 @@ pre-shared keys out of band. It is designed to handle large amounts of data
quickly by using all your CPU cores and hardware acceleration.") quickly by using all your CPU cores and hardware acceleration.")
(home-page "https://github.com/vstakhov/hpenc") (home-page "https://github.com/vstakhov/hpenc")
(license license:bsd-3))) (license license:bsd-3)))
(define-public minisign
(package
(name "minisign")
(version "0.8")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/jedisct1/minisign/releases/download/"
version "/minisign-" version ".tar.gz"))
(sha256
(base32
"10hhgwxf9rcdlr00shrkcyxndrc22dh5lj8k5z27xg3nc0jba3hk"))))
(build-system cmake-build-system)
(arguments
; No test suite
`(#:tests? #f))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("libsodium" ,libsodium)))
(home-page "https://jedisct1.github.io/minisign")
(synopsis "Tool to sign files and verify signatures")
(description
"Minisign is a dead simple tool to sign files and verify signatures. It is
portable, lightweight, and uses the highly secure Ed25519 public-key signature
system. Signature written by minisign can be verified using OpenBSD's
signify tool: public key files and signature files are compatible. However,
minisign uses a slightly different format to store secret keys. Minisign
signatures include trusted comments in addition to untrusted comments.
Trusted comments are signed, thus verified, before being displayed.")
(license license:isc)))

View file

@ -377,14 +377,13 @@ the API, and provides features such as:
(define-public python-pylibmc (define-public python-pylibmc
(package (package
(name "python-pylibmc") (name "python-pylibmc")
(version "1.6.0") (version "1.6.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "pylibmc" version)) (uri (pypi-uri "pylibmc" version))
(sha256 (sha256
(base32 (base32 "1sg7d9j0v6g3xg3finf4l1hb72c13vcyyi6rqrc9shbx903d93ca"))))
"1n6nvvhl0g52gpzzwdj1my6049xljkfwyxxygnwda9smrbj7pyay"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
'(#:phases '(#:phases
@ -400,10 +399,8 @@ the API, and provides features such as:
`(("libmemcached" ,libmemcached) `(("libmemcached" ,libmemcached)
("zlib" ,zlib) ("zlib" ,zlib)
("cyrus-sasl" ,cyrus-sasl))) ("cyrus-sasl" ,cyrus-sasl)))
(home-page (home-page "http://sendapatch.se/projects/pylibmc/")
"http://sendapatch.se/projects/pylibmc/") (synopsis "Python client for memcached")
(synopsis
"Python client for memcached")
(description (description
"@code{pylibmc} is a client in Python for memcached. It is a wrapper "@code{pylibmc} is a client in Python for memcached. It is a wrapper
around TangentOrgs libmemcached library, and can be used as a drop-in around TangentOrgs libmemcached library, and can be used as a drop-in
@ -1179,17 +1176,15 @@ for example from a shell script.")
(define-public sqitch (define-public sqitch
(package (package
(name "sqitch") (name "sqitch")
(version "0.9999") (version "1.0.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"mirror://cpan/authors/id/D/DW/DWHEELER/App-Sqitch-" "mirror://cpan/authors/id/D/DW/DWHEELER/App-Sqitch-v"
version version ".tar.gz"))
".tar.gz"))
(sha256 (sha256
(base32 (base32 "0p4wraqiscvwmmsvfqfy65blgsilwpvd9zj4d2zvm2xdx70ncr7l"))))
"1cvj8grs3bzc4g7dw1zc26g4biv1frav18sq0fkvi2kk0q1aigzm"))))
(build-system perl-build-system) (build-system perl-build-system)
(arguments (arguments
'(#:phases '(#:phases
@ -1233,7 +1228,6 @@ for example from a shell script.")
("perl-dbi" ,perl-dbi) ("perl-dbi" ,perl-dbi)
("perl-devel-stacktrace" ,perl-devel-stacktrace) ("perl-devel-stacktrace" ,perl-devel-stacktrace)
("perl-encode-locale" ,perl-encode-locale) ("perl-encode-locale" ,perl-encode-locale)
("perl-file-homedir" ,perl-file-homedir)
("perl-hash-merge" ,perl-hash-merge) ("perl-hash-merge" ,perl-hash-merge)
("perl-ipc-run3" ,perl-ipc-run3) ("perl-ipc-run3" ,perl-ipc-run3)
("perl-ipc-system-simple" ,perl-ipc-system-simple) ("perl-ipc-system-simple" ,perl-ipc-system-simple)
@ -3113,13 +3107,13 @@ NumPy, and other traditional Python scientific computing packages.")
(define-public python-crate (define-public python-crate
(package (package
(name "python-crate") (name "python-crate")
(version "0.23.0") (version "0.23.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "crate" version)) (uri (pypi-uri "crate" version))
(sha256 (sha256
(base32 (base32
"0s3s7yg4m2zflg9q96aibwb5hizsn10ql63fsj6h5z624qkavnlp")))) "0ngmlvi320c5gsxab0s7qgq0ck4jdlcwvb6lbjhnfprafdp56vvx"))))
(build-system python-build-system) (build-system python-build-system)
(propagated-inputs (propagated-inputs
`(("python-urllib3" ,python-urllib3))) `(("python-urllib3" ,python-urllib3)))

View file

@ -264,21 +264,21 @@ down the road.")
(license asl2.0)))) (license asl2.0))))
(define-public stress-make (define-public stress-make
(let ((commit "506e6cfd98d165f22bee91c408b7c20117a682c4") (let ((commit "9e92dff8f0157f012aaf31de5b8b8112ad720100")
(revision "0")) ;No official source distribution (revision "1")) ;No official source distribution
(package (package
(name "stress-make") (name "stress-make")
(version (string-append "1.0-" revision "." (string-take commit 7))) (version (git-version "1.0" revision commit))
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/losalamos/stress-make.git") (url "https://github.com/lanl/stress-make.git")
(commit commit))) (commit commit)))
(file-name (string-append name "-" version "-checkout")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1j330yqhc7plwin04qxbh8afpg5nfnw1xvnmh8rk6mmqg9w6ik70")))) "1z1yiwnqyzv3v6152fnjbfh2lr8q8fi5xxfdclnr8l8sd4c1rasp"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
@ -308,8 +308,12 @@ down the road.")
(which "sh")))))) (which "sh"))))))
(add-before 'configure 'repack-make (add-before 'configure 'repack-make
(lambda _ (lambda _
(invoke "tar" "cJf" "./make.tar.xz" ,make-dir))))))) (invoke "tar" "cJf" "./make.tar.xz" ,make-dir)))
(home-page "https://github.com/losalamos/stress-make") (add-before 'build 'setup-go
;; The Go cache is required starting in Go 1.12, and it needs
;; to be writable.
(lambda _ (setenv "GOCACHE" "/tmp/go-cache") #t))))))
(home-page "https://github.com/lanl/stress-make")
(synopsis "Expose race conditions in Makefiles") (synopsis "Expose race conditions in Makefiles")
(description (description
"Stress Make is a customized GNU Make that explicitly manages the order "Stress Make is a customized GNU Make that explicitly manages the order
@ -320,7 +324,7 @@ Stress Make, then it is likely that the @code{Makefile} contains no race
conditions.") conditions.")
;; stress-make wrapper is under BSD-3-modifications-must-be-indicated, ;; stress-make wrapper is under BSD-3-modifications-must-be-indicated,
;; and patched GNU Make is under its own license. ;; and patched GNU Make is under its own license.
(license (list (non-copyleft "COPYING.md") (license (list (non-copyleft "LICENSE.md")
(package-license gnu-make)))))) (package-license gnu-make))))))
(define-public zzuf (define-public zzuf

View file

@ -67,7 +67,7 @@
#:use-module (ice-9 match)) #:use-module (ice-9 match))
(define-public diffoscope (define-public diffoscope
(let ((version "125")) (let ((version "126"))
(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
"02kwisp9j63w27hhcwpdhg66dgxzz61q4fcyfz8z4hwlz6r0gyqy")))) "0lmn2116g5l05nns8qd2kwsnnd144zrqhs53fsr88inzf0mkqwhj"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases
@ -90,18 +90,6 @@
(lambda _ (lambda _
(substitute* "setup.py" (substitute* "setup.py"
(("'python-magic',") "")))) (("'python-magic',") ""))))
;; Patch in support for known tools
(add-after 'unpack 'add-known-tools
(lambda _
(substitute* "diffoscope/external_tools.py"
(("'arch': 'enjarify'},")
"'arch': 'enjarify', 'guix': 'enjarify'},"))
(substitute* "diffoscope/external_tools.py"
(("'arch': 'python-jsbeautifier'},")
"'arch': 'python-jsbeautifier', 'guix': 'python-jsbeautifier'},"))
(substitute* "diffoscope/external_tools.py"
(("'arch': 'wabt'},")
"'arch': 'wabt', 'guix': 'wabt'},"))))
;; This test is broken because our `file` package has a ;; This test is broken because our `file` package has a
;; bug in berkeley-db file type detection. ;; bug in berkeley-db file type detection.
(add-after 'unpack 'remove-berkeley-test (add-after 'unpack 'remove-berkeley-test

View file

@ -1008,14 +1008,13 @@ forms using your favorite CSS framework, without writing template code.")
(define-public python-django-override-storage (define-public python-django-override-storage
(package (package
(name "python-django-override-storage") (name "python-django-override-storage")
(version "0.1.4") (version "0.1.6")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "django-override-storage" version)) (uri (pypi-uri "django-override-storage" version))
(sha256 (sha256
(base32 (base32 "022arq94lxnlyykn8wvfnkykhi2dldnsn93pa2i41na551i0wpiv"))))
"0sqz1mh0yn8b1bzz2gr2azfiynljigm5gkzavp5n17zd3j2jg57x"))))
(build-system python-build-system) (build-system python-build-system)
(propagated-inputs (propagated-inputs
`(("python-django" ,python-django))) `(("python-django" ,python-django)))

View file

@ -109,7 +109,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
(define-public isc-bind (define-public isc-bind
(package (package
(name "bind") (name "bind")
(version "9.14.6") (version "9.14.7")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -117,7 +117,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
"/bind-" version ".tar.gz")) "/bind-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1zpd47ckn5lf4qbscfkj7krngwn2gwsp961v5401h3lhxm0a0rw9")))) "07998nx0yv3xy8c62b1ira9qygsgvpljwcgb47ypzxq8b57gb86f"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs `("out" "utils")) (outputs `("out" "utils"))
(inputs (inputs

View file

@ -54,6 +54,7 @@
;;; Copyright © 2019 Amin Bandali <bandali@gnu.org> ;;; Copyright © 2019 Amin Bandali <bandali@gnu.org>
;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org> ;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2019 Stephen Webber <montokapro@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -280,6 +281,11 @@ on stdout instead of using a socket as the Emacsclient does.")
(sha256 (sha256
(base32 (base32
"16qx0404l05q1m6w7y5j8ck1z5nfmpinm00w0p2yh1hn5zzwy6dd")) "16qx0404l05q1m6w7y5j8ck1z5nfmpinm00w0p2yh1hn5zzwy6dd"))
;; FIXME: emacs-forge uses a function defined in this patch,
;; which is newer than the current commit.
(patches
(search-patches
"emacs-magit-log-format-author-margin.patch"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -565,8 +571,8 @@ deliver data to mobile and web apps.")
(define-public emacs-ghub (define-public emacs-ghub
;; We need a newer commit to avoid problems in emacs-forge. ;; We need a newer commit to avoid problems in emacs-forge.
(let ((commit "cf0b13aeba4df3798e49c205cac2d8fefd53a137") (let ((commit "e19cd86ca4768a6d89285123933baa3f1460d696")
(revision "1")) (revision "2"))
(package (package
(name "emacs-ghub") (name "emacs-ghub")
(version (git-version "3.2.0" revision commit)) (version (git-version "3.2.0" revision commit))
@ -578,7 +584,7 @@ deliver data to mobile and web apps.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0fzayvcysk80vv4q332axcjf80x6gsnpcbl0svmpb017ii6wxhid")))) "1d6f8sxlsl0fpkzwbpnaw77d1a5pkg63zfvf6a2fxir357lbdizx"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -590,6 +596,7 @@ deliver data to mobile and web apps.")
`(("texinfo" ,texinfo))) `(("texinfo" ,texinfo)))
(propagated-inputs (propagated-inputs
`(("dash" ,emacs-dash) `(("dash" ,emacs-dash)
("emacs-let-alist" ,emacs-let-alist)
("treepy" ,emacs-treepy))) ("treepy" ,emacs-treepy)))
(home-page "https://github.com/magit/ghub") (home-page "https://github.com/magit/ghub")
(synopsis "Emacs client libraries for the APIs of various Git forges") (synopsis "Emacs client libraries for the APIs of various Git forges")
@ -652,8 +659,8 @@ from within Emacs.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-unpackaged-el (define-public emacs-unpackaged-el
(let ((commit "c0d58cf81e531b2b6fa1bd5dd612dc1b93d4d186") (let ((commit "746801a677ada6cd6fa076e423aa0953779f3fad")
(revision "2")) (revision "3"))
(package (package
(name "emacs-unpackaged-el") (name "emacs-unpackaged-el")
(version (git-version "0" revision commit)) (version (git-version "0" revision commit))
@ -666,7 +673,7 @@ from within Emacs.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0y3sgvd51l4pb3acps92bazfk49da6nim1f1hyxzy1ravg4kbw83")))) "0jvb2ci0h0lj368qhbff3pzkxj3nhlligpbkjzi525k9rkjgm7l8"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-dash" ,emacs-dash) `(("emacs-dash" ,emacs-dash)
@ -2339,6 +2346,34 @@ Stack Overflow, Super User, and other StackExchange sites.")
files and directories.") files and directories.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-fringe-helper
(let ((commit "ef4a9c023bae18ec1ddd7265f1f2d6d2e775efdd")
(revision "1"))
(package
(name "emacs-fringe-helper")
(version (git-version "1.0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nschum/fringe-helper.el.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0ra9rc53l1gvkqank8apasl3r7wz2yfjrcvmfk3wpxhh24ppxv9d"))))
(build-system emacs-build-system)
(arguments
`(#:tests? #t
#:test-command '("emacs" "--batch"
"-l" "tests.el"
"-f" "ert-run-tests-batch-and-exit")))
(home-page "https://github.com/nschum/fringe-helper.el")
(synopsis "Helper functions for fringe bitmaps")
(description
"This package allows fringe bitmaps to be defined with a visual string
representation.")
(license license:gpl2+))))
(define-public emacs-git-gutter (define-public emacs-git-gutter
(package (package
(name "emacs-git-gutter") (name "emacs-git-gutter")
@ -2365,6 +2400,79 @@ Git, Mercurial, Subversion and Bazaar are supported, and many parts of the
display and behaviour is easily customisable.") display and behaviour is easily customisable.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-git-gutter-fringe
(let ((commit "16226caab44174301f1659f7bf8cc67a76153445")
(revision "1"))
(package
(name "emacs-git-gutter-fringe")
(version (git-version "0.23" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/syohex/git-gutter-fringe.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1y77gjl0yznamdj0f55d418zb75k22izisjg7ikvrfsl2yfqf3pm"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-git-gutter" ,emacs-git-gutter)
("emacs-fringe-helper" ,emacs-fringe-helper)))
(home-page "https://github.com/syohex/git-gutter-fringe")
(synopsis "See and manage hunks of text in a version control system")
(description
"This package extends @code{git-gutter} to use the fringe area of a
window.")
(license license:gpl3+))))
(define-public emacs-git-link
(package
(name "emacs-git-link")
(version "0.7.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sshaw/git-link.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "04xa6lp8wkjb6zs096bf4sz124grcjj15xv1h009bmn2j95rggj6"))))
(build-system emacs-build-system)
(arguments
`(#:tests? #t
#:test-command '("make" "test")))
(home-page "https://github.com/sshaw/git-link")
(synopsis "Create links for files and commits in GitHub/GitLab/etc. repos")
(description
"@code{git-link} returns the URL for the current buffer's file location
at the current line number or active region. @code{git-link-commit} returns
the URL for a commit. URLs are added to the kill ring.")
(license license:gpl3+)))
(define-public emacs-apheleia
(package
(name "emacs-apheleia")
(version "1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/raxod502/apheleia.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "04pls7zahy4jfkikv6fvd9vfpm4glhyanmmkx79hgi9pwdv966rf"))))
(build-system emacs-build-system)
(home-page "https://github.com/raxod502/apheleia")
(synopsis "Reformat buffer stably")
(description
"This package allows for a buffer to be reformatted without moving point,
so that running a formatting tool like @code{Prettier} or @code{Black} upon
saving won't move point back to the beginning of the buffer.")
(license license:gpl3+)))
(define-public emacs-git-timemachine (define-public emacs-git-timemachine
(package (package
(name "emacs-git-timemachine") (name "emacs-git-timemachine")
@ -3354,14 +3462,14 @@ source code using IPython.")
(define-public emacs-debbugs (define-public emacs-debbugs
(package (package
(name "emacs-debbugs") (name "emacs-debbugs")
(version "0.19") (version "0.20")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/debbugs-" (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
version ".tar")) version ".tar"))
(sha256 (sha256
(base32 (base32
"0cpby8f088cqb5mpd756a2mb706x763k15cg2xdmmsxl415k3yw4")))) "03mmb1zvbqlsznl5agq8k3xrlcz310vnsa2zn0y8myanm4ra51zm"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$"))) (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
(propagated-inputs (propagated-inputs
@ -4835,18 +4943,22 @@ them easier to distinguish from other, less important buffers.")
(license license:expat))) (license license:expat)))
(define-public emacs-prescient (define-public emacs-prescient
;; XXX: emacs-ivy introduced a commit that disables sorting for counsel-M-x
;; by default, so we use a non-release version ahead by one commit
(let ((commit "95056580ed743da92b05aaf86f943ee05600c28d")
(revision "1"))
(package (package
(name "emacs-prescient") (name "emacs-prescient")
(version "3.3") (version (git-version "3.3" revision commit))
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/raxod502/prescient.el/") (url "https://github.com/raxod502/prescient.el/")
(commit (string-append "v" version)))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1wqk1g8fjpcbpiz32k7arnisncd4n9zs84dn3qn9y8ggjzldqy91")))) "06qxs8p66jr4gg9m1gd27v5may32f3n28la56cv4f4prinqyyfj7"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-company" ,emacs-company) `(("emacs-company" ,emacs-company)
@ -4857,7 +4969,7 @@ them easier to distinguish from other, less important buffers.")
"This package provides a library for sorting and filtering, as well as "This package provides a library for sorting and filtering, as well as
extensions for @code{ivy-mode} and @code{company-mode} that make use of the extensions for @code{ivy-mode} and @code{company-mode} that make use of the
library.") library.")
(license license:gpl3+))) (license license:gpl3+))))
(define-public emacs-smartparens (define-public emacs-smartparens
(package (package
@ -5026,15 +5138,14 @@ test tags. It supports both interactive and non-interactive use.")
(define-public emacs-load-relative (define-public emacs-load-relative
(package (package
(name "emacs-load-relative") (name "emacs-load-relative")
(version "1.3") (version "1.3.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/load-relative-" (uri (string-append "https://elpa.gnu.org/packages/load-relative-"
version ".el")) version ".el"))
(sha256 (sha256
(base32 (base32 "1m37scr82lqqy954fchjxrmdh4lngrl4d1yzxhp3yfjhsydizhrj"))))
"1hfxb2436jdsi9wfmsv47lkkpa5galjf5q81bqabbsv79rv59dps"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "http://github.com/rocky/emacs-load-relative") (home-page "http://github.com/rocky/emacs-load-relative")
(synopsis "Emacs Lisp relative file loading related functions") (synopsis "Emacs Lisp relative file loading related functions")
@ -5200,24 +5311,19 @@ automatically.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-ivy (define-public emacs-ivy
;; The latest release version introduced a new feature, swiper-isearch, that
;; generally works well but had some noticeable bugs; this later commit
;; includes fixes for several of them.
(let ((commit "79333e9edfee38ec3b367c33711a68bdf7783259")
(revision "2"))
(package (package
(name "emacs-ivy") (name "emacs-ivy")
(version (git-version "0.12.0" revision commit)) (version "0.13.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/abo-abo/swiper.git") (url "https://github.com/abo-abo/swiper.git")
(commit commit))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0dyclc51sprhmr5fi4lylhwsrn8v1jgyblwk9ly60jj84lj6278z")))) "0ghcwrg8a6r5q6fw2x8s08cwlmnz2d8qjhisnjwbnc2l4cgqpd9p"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -5252,7 +5358,7 @@ the best candidate. Instead, the user can navigate candidates with
@code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by @code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by
splitting the input text by spaces and re-building it into a regular splitting the input text by spaces and re-building it into a regular
expression.") expression.")
(license license:gpl3+)))) (license license:gpl3+)))
(define-public emacs-ivy-pass (define-public emacs-ivy-pass
(let ((commit "5b523de1151f2109fdd6a8114d0af12eef83d3c5") (let ((commit "5b523de1151f2109fdd6a8114d0af12eef83d3c5")
@ -5314,12 +5420,11 @@ use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
(define-public emacs-ivy-rich (define-public emacs-ivy-rich
;; The latest release version has a small mistake that has since been fixed, ;; The latest release version has a small mistake that has since been fixed,
;; so we use a more recent commit. ;; so we use a more recent commit.
(let ((commit "f6bfa293c6df0b43cc411876b665816ec3f03d08") (let ((commit "7a667b135983a1f3ad33d6db8514638e2a3bdfb3")
(version "0.1.4") (revision "2"))
(revision "1"))
(package (package
(name "emacs-ivy-rich") (name "emacs-ivy-rich")
(version (git-version version revision commit)) (version (git-version "0.1.4" revision commit))
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -5328,7 +5433,7 @@ use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
(commit commit))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1s8nwwb1z6lkc58g02pi8w99qms948k8d02lw8k8cq47dw87i219")))) (base32 "1v5j6pak2j1wjw19y7rx9rhxif0bj2h47xyl2knfcl6fi4qiqm9y"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-ivy" ,emacs-ivy))) `(("emacs-ivy" ,emacs-ivy)))
@ -5559,8 +5664,8 @@ state and will work even without lispy being enabled.")
(license license:gpl3+)))) (license license:gpl3+))))
(define-public emacs-lpy (define-public emacs-lpy
(let ((commit "dfd9a0fc8f84674fc669eab2942cfa038d7dc590") (let ((commit "43b401fe15f0f0d01edb189378b9498121e9f766")
(revision "2")) (revision "3"))
(package (package
(name "emacs-lpy") (name "emacs-lpy")
(version (git-version "0.1.0" revision commit)) (version (git-version "0.1.0" revision commit))
@ -5572,7 +5677,7 @@ state and will work even without lispy being enabled.")
(commit commit))) (commit commit)))
(sha256 (sha256
(base32 (base32
"15y1fvn1sjngpiqlq090hxqhmxp32f88rspfapwcisxa3hcg5r5a")) "0xj1r7cn1rivaxhvawvmgx9fg3xilpfw4lkf2x2aqplr4s85ijas"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(propagated-inputs (propagated-inputs
`(("emacs-zoutline" ,emacs-zoutline) `(("emacs-zoutline" ,emacs-zoutline)
@ -6943,8 +7048,8 @@ CIDER).")
;; There hasn't been a tag or release since 2016, so we take the latest ;; There hasn't been a tag or release since 2016, so we take the latest
;; commit. ;; commit.
(define-public emacs-sly (define-public emacs-sly
(let ((commit "29dccc0735283897a6dbd97e0b6828a45c2985e2") (let ((commit "0a3b81770e46b93b9ffd8b9ac5254e0b88d1b13d")
(revision "2")) (revision "3"))
(package (package
(name "emacs-sly") (name "emacs-sly")
(version (git-version "1.0.0" revision commit)) (version (git-version "1.0.0" revision commit))
@ -6957,7 +7062,7 @@ CIDER).")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0d0skgyqn422130xn8lrdp04m5cjk3sl18w6lf2wrmrndc1crqxk")))) "1q5ga4mxa0ffa4zb2y0zfwmgzjggx4fn1y4bl2x7ac6ynvb32zkj"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(native-inputs (native-inputs
`(("texinfo" ,texinfo))) `(("texinfo" ,texinfo)))
@ -7051,8 +7156,8 @@ sly-quickload command that prompts the user for a package to install. ")
(license license:gpl3+)))) (license license:gpl3+))))
(define-public emacs-sly-asdf (define-public emacs-sly-asdf
(let ((commit "355739e42c91b9b2339f84453292b938b6d17b0d") (let ((commit "4e323bc28da2f07fd799b6a31b94fd93848b5f3c")
(revision "1")) (revision "2"))
(package (package
(name "emacs-sly-asdf") (name "emacs-sly-asdf")
(version (git-version "0.1.0" revision commit)) (version (git-version "0.1.0" revision commit))
@ -7066,27 +7171,113 @@ sly-quickload command that prompts the user for a package to install. ")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1plkqh4dj35c3cf8ykan8fcvqmxcdqragh4j6xg0sls27mjjz1bq")))) "16sc33jhc6ik4ilsyqc3cjpi6v0wdmwjlwrzjwd6yym11bscsmad"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-sly" ,emacs-sly))) `(("emacs-sly" ,emacs-sly)))
(arguments (arguments
`(#:include (cons* "\\.lisp$" "\\.asd$" %default-include) '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-autoload
;; TODO: Reported upstream: https://github.com/mmgeorge/sly-asdf/pull/11
(lambda _
(substitute* "sly-asdf.el"
(("\\(add-to-list 'sly-contribs 'sly-asdf 'append\\)")
"(with-eval-after-load 'sly
(add-to-list 'sly-contribs 'sly-asdf 'append))")))))))
(synopsis "ASDF contrib for SLY") (synopsis "ASDF contrib for SLY")
(description (description
"@command{sly-asdf} is an external contrib for SLY that provides "@command{sly-asdf} is an external contrib for SLY that provides
additional support for working with ASDF projects.") additional support for working with ASDF projects.")
(license license:gpl3+)))) (license license:gpl3+))))
(define-public emacs-sly-named-readtables
(let ((commit "a5a42674ccffa97ccd5e4e9742beaf3ea719931f")
(revision "1"))
(package
(name "emacs-sly-named-readtables")
(version (git-version "0.1" revision commit))
(home-page "https://github.com/joaotavora/sly-named-readtables")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"16asd119rzqrlclps2q6yrkis8jy5an5xgzzqvb7jdyq39zxg54q"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-sly" ,emacs-sly)))
(arguments
'(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)))
(synopsis "Named-readtables support for SLY")
(description
"@command{sly-named-readtables} is an external contrib for SLY that
enables different readtables to be active in different parts of the same
file.")
(license license:gpl3+))))
(define-public emacs-sly-macrostep
(let ((commit "be2d24545092d164be1a91031d8881afd29c9ec0")
(revision "1"))
(package
(name "emacs-sly-macrostep")
(version (git-version "0.1" revision commit))
(home-page "https://github.com/joaotavora/sly-macrostep")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0v8m3zkccpqd2l8m9340y672l2mm3mrry8422nva5kfvpcwdayqb"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-sly" ,emacs-sly)
("emacs-macrostep" ,emacs-macrostep)))
(arguments
'(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
#:phases
;; The package provides autoloads.
(modify-phases %standard-phases
(delete 'make-autoloads))))
(synopsis "Expand Common Lisp macros inside source files with SLY")
(description
"@command{sly-macrostep} is a SLY contrib for expanding CL macros right
inside the source file.")
(license license:gpl3+))))
(define-public emacs-sly-package-inferred
(let ((commit "800e71e2be631422277e2ec77e6d6f6ea20e95ef")
(revision "1"))
(package
(name "emacs-sly-package-inferred")
(version (git-version "0.1" revision commit))
(home-page "https://github.com/40ants/sly-package-inferred")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1216idyp034nkqddhw4p53jkhhdxa6xnjjmsvijpf4rxqnfqvapg"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-sly" ,emacs-sly)))
(arguments
'(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
#:phases
;; The package provides autoloads.
(modify-phases %standard-phases
(delete 'make-autoloads))))
(synopsis "Improved package inferred systems support for SLY")
(description
"@command{sly-package-inferred} is an external contrib for SLY that
replaces its completion with a function which is better suited for systems
using package inferred style.")
(license license:gpl3+))))
(define-public emacs-lua-mode (define-public emacs-lua-mode
(let ((commit "95c64bb5634035630e8c59d10d4a1d1003265743") (let ((commit "95c64bb5634035630e8c59d10d4a1d1003265743")
(revision "2")) (revision "2"))
@ -7158,8 +7349,8 @@ extensions.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-evil-collection (define-public emacs-evil-collection
(let ((commit "bf4200a57c81c2302a3bf5b2058d74c6f90a3e6c") (let ((commit "38e916d5d56b391f1ad4c72ad3909491e86cda3c")
(revision "11")) (revision "12"))
(package (package
(name "emacs-evil-collection") (name "emacs-evil-collection")
(version (git-version "0.0.3" revision commit)) (version (git-version "0.0.3" revision commit))
@ -7171,7 +7362,7 @@ extensions.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"01xw0m5gj14ly42y8ikvldpab5my28sylf6l9gvwd5cf909bd445")))) "00a1ya3c92ymhfj4ai1ygljnxa147d4cgi6jmvccngicphn99782"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-evil" ,emacs-evil) `(("emacs-evil" ,emacs-evil)
@ -8129,13 +8320,14 @@ been adapted to work with mu4e.")
(name "emacs-yasnippet") (name "emacs-yasnippet")
(version "0.13.0") (version "0.13.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/joaotavora/yasnippet/" (uri (git-reference
"archive/" version ".tar.gz")) (url "https://github.com/joaotavora/yasnippet.git")
(commit version)))
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"12ls2x17agzbrj1xynjbmfa11igqxia4hj4fv6fpr66yci2r1plc")) "0fkkplycrw8f8r30hjjxl1wm7p2irq2ipzzc1g7cc52abaal796p"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -8149,6 +8341,28 @@ been adapted to work with mu4e.")
"))\n")) "))\n"))
#t)))) #t))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments
`(#:tests? #t
#:test-command '("emacs" "--batch"
"-l" "yasnippet-tests.el"
"-f" "ert-run-tests-batch-and-exit")
;; FIXME: one failing test
#:phases
(modify-phases %standard-phases
(add-before 'check 'make-tests-writable
(lambda _
(make-file-writable "yasnippet-tests.el")
#t))
(add-before 'check 'delete-rebinding-test
(lambda _
(emacs-batch-edit-file "yasnippet-tests.el"
`(progn (progn (goto-char (point-min))
(re-search-forward
"ert-deftest test-rebindings")
(beginning-of-line)
(kill-sexp))
(basic-save-buffer)))
#t)))))
(home-page "https://github.com/joaotavora/yasnippet") (home-page "https://github.com/joaotavora/yasnippet")
(synopsis "Yet another snippet extension for Emacs") (synopsis "Yet another snippet extension for Emacs")
(description (description
@ -10503,20 +10717,17 @@ let users kill or mark things easily.")
(define-public emacs-csv-mode (define-public emacs-csv-mode
(package (package
(name "emacs-csv-mode") (name "emacs-csv-mode")
(version "1.7") (version "1.9")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://elpa.gnu.org/packages/csv-mode-" (uri (string-append "https://elpa.gnu.org/packages/csv-mode-"
version ".el")) version ".el"))
(sha256 (sha256
(base32 (base32 "0sdnyi9in904k49yy5imapypnmk75lv14k9c1yyjhjpalvvh6br1"))))
"0r4bip0w3h55i8h6sxh06czf294mrhavybz0zypzrjw91m1bi7z6"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page (home-page "https://elpa.gnu.org/packages/csv-mode.html")
"http://elpa.gnu.org/packages/csv-mode.html") (synopsis "Major mode for editing comma/char separated values")
(synopsis
"Major mode for editing comma/char separated values")
(description (description
"This Emacs package implements CSV mode, a major mode for editing records "This Emacs package implements CSV mode, a major mode for editing records
in a generalized CSV (character-separated values) format.") in a generalized CSV (character-separated values) format.")
@ -12588,15 +12799,14 @@ for operating over the contents of Emacs buffers.")
(define-public emacs-let-alist (define-public emacs-let-alist
(package (package
(name "emacs-let-alist") (name "emacs-let-alist")
(version "1.0.5") (version "1.0.6")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"https://elpa.gnu.org/packages/let-alist-" version ".el")) "https://elpa.gnu.org/packages/let-alist-" version ".el"))
(sha256 (sha256
(base32 (base32 "0szj7vnjzz4zci5fvz7xqgcpi4pzdyyf4qi2s8xar2hi7v3yaawr"))))
"0r7b9jni50la1m79kklml11syg8d2fmdlr83pv005sv1wh02jszw"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/let-alist.html") (home-page "https://elpa.gnu.org/packages/let-alist.html")
(synopsis "Easily let-bind values of an assoc-list by their names") (synopsis "Easily let-bind values of an assoc-list by their names")
@ -13553,14 +13763,14 @@ It s customizable: it's easy to add or redefine what exactly consitutes a
(define-public emacs-darkroom (define-public emacs-darkroom
(package (package
(name "emacs-darkroom") (name "emacs-darkroom")
(version "0.1") (version "0.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/darkroom-" (uri (string-append "https://elpa.gnu.org/packages/darkroom-"
version ".el")) version ".el"))
(sha256 (sha256
(base32 (base32
"0fif8fm1h7x7g16949shfnaik5f5488clsvkf8bi5izpqp3vi6ak")))) "1a528brhz4vckhp77n2c1phkyqdliykpj9kzk3f834f4rwnb5mp0"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/darkroom.html") (home-page "https://elpa.gnu.org/packages/darkroom.html")
(synopsis "Remove visual distractions and focus on writing") (synopsis "Remove visual distractions and focus on writing")
@ -16137,6 +16347,36 @@ correctly.")
@end itemize\n") @end itemize\n")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-helm-sly
(package
(name "emacs-helm-sly")
(version "0.4.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-helm/helm-sly")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0b2dx9nzh5233lkix3lz81c9cv626lk2hjpcjiikwvyp6y0q92ys"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-helm" ,emacs-helm)
("emacs-sly" ,emacs-sly)))
(home-page "https://github.com/emacs-helm/helm-sly")
(synopsis "Helm for SLY, a Common Lisp interaction mode for Emacs")
(description "Helm-SLY defines a few new commands:
@itemize
@item helm-sly-list-connections: Yet another Lisp connection list with Helm.
@item: helm-sly-apropos: Yet another @command{apropos} with Helm.
@item helm-sly-mini: Like @command{helm-sly-list-connections}, but include an
extra source of Lisp-related buffers, like the events buffer or the scratch
buffer.
@end itemize\n")
(license license:gpl3+)))
(define-public emacs-gtk-look (define-public emacs-gtk-look
(package (package
(name "emacs-gtk-look") (name "emacs-gtk-look")
@ -17871,7 +18111,7 @@ url-encoded parameters, as well as web sockets.")
("emacs-web-server" ,emacs-web-server))) ("emacs-web-server" ,emacs-web-server)))
(arguments '(#:include '("\\.el$" "\\.html$"))) (arguments '(#:include '("\\.el$" "\\.html$")))
(home-page "https://github.com/ancane/markdown-preview-mode") (home-page "https://github.com/ancane/markdown-preview-mode")
(synopsis "Live web development in Emacs") (synopsis "Preview Markdown files")
(description "This package provides a minor mode for preview of Markdown (description "This package provides a minor mode for preview of Markdown
files, and sends rendered Markdown to a web browser.") files, and sends rendered Markdown to a web browser.")
(license license:gpl3+))) (license license:gpl3+)))
@ -18333,7 +18573,7 @@ as:
(define-public emacs-nhexl-mode (define-public emacs-nhexl-mode
(package (package
(name "emacs-nhexl-mode") (name "emacs-nhexl-mode")
(version "1.2") (version "1.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -18341,10 +18581,9 @@ as:
"https://elpa.gnu.org/packages/nhexl-mode-" "https://elpa.gnu.org/packages/nhexl-mode-"
version ".el")) version ".el"))
(sha256 (sha256
(base32 (base32 "1c2q4w6hkvc7z4026hiqdcsm2scd6q35x7b0dk80h8qicsbi14c8"))))
"031h22p564qdvr9khs05qcba06pmsk68cr7zyc7c04hfr3y3ziaf"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "http://elpa.gnu.org/packages/nhexl-mode.html") (home-page "https://elpa.gnu.org/packages/nhexl-mode.html")
(synopsis "Minor mode to edit files via hex-dump format") (synopsis "Minor mode to edit files via hex-dump format")
(description (description
"This package implements NHexl mode, a minor mode for editing files "This package implements NHexl mode, a minor mode for editing files
@ -19169,3 +19408,52 @@ Emacs that integrate with major modes like Org-mode.")
"Elixir-Mode Provides font-locking, indentation and navigation support "Elixir-Mode Provides font-locking, indentation and navigation support
for the Elixir programming language.") for the Elixir programming language.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-dimmer
(package
(name "emacs-dimmer")
(version "0.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gonewest818/dimmer.el.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1jv9rrv15nb5hpwcaqlpjj932gyisrkwbv11czkg3v0bn7qn6yif"))))
(build-system emacs-build-system)
(home-page "https://github.com/gonewest818/dimmer.el")
(synopsis "Visually highlights the selected buffer in Emacs")
(description "Dimmer provides a minor mode that indicates which buffer is
currently active by dimming the faces in the other buffers. It does this
nondestructively, and computes the dimmed faces dynamically such that your
overall color scheme is shown in a muted form without requiring you to define
what is a \"dim\" version of every face.")
(license license:gpl3+)))
(define-public emacs-minibuffer-line
(package
(name "emacs-minibuffer-line")
(version "0.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://elpa.gnu.org/packages/minibuffer-line-"
version
".el"))
(sha256
(base32 "1ny4iirp26na5118wfgxlv6fxlrdclzdbd9m0lkrv51w0qw7spil"))))
(build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/minibuffer-line.html")
(synopsis "Display status info in the minibuffer window")
(description
"This package lets you display various status information in the
minibuffer window instead of the mode-line. Of course, this is only displayed
when the minibuffer window is not already used for other things (e.g. a
minibuffer or an each area message).
The contents and aspect is controlled by the @code{minibuffer-line-format}
variable and the @code{minibuffer-line} face.")
(license license:gpl3+)))

View file

@ -25,6 +25,7 @@
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system python) #:use-module (guix build-system python)
@ -362,6 +363,19 @@ unload unused functionality, with support for touchscreen and suitable for
embedded systems.") embedded systems.")
(license license:bsd-2))) (license license:bsd-2)))
(define-public enlightenment-wayland
(package
(inherit enlightenment)
(name "enlightenment-wayland")
(arguments
(substitute-keyword-arguments (package-arguments enlightenment)
((#:configure-flags flags)
`(cons* "-Dwl=true" ,flags))))
(inputs
`(("wayland-protocols" ,wayland-protocols)
("xorg-server-xwayland" ,xorg-server-xwayland)
,@(package-inputs enlightenment)))))
(define-public python-efl (define-public python-efl
(package (package
(name "python-efl") (name "python-efl")

View file

@ -2,6 +2,7 @@
;;; Copyright © 2017 Dave Love <fx@gnu.org> ;;; Copyright © 2017 Dave Love <fx@gnu.org>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -22,6 +23,7 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix licenses) #:use-module (guix licenses)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (gnu packages) #:use-module (gnu packages)
@ -175,3 +177,59 @@ interface to this library is not guaranteed to be stable.")
testing InfiniBand networks.") testing InfiniBand networks.")
(home-page "https://www.openfabrics.org/downloads/ibutils/") (home-page "https://www.openfabrics.org/downloads/ibutils/")
(license bsd-2))) (license bsd-2)))
(define-public ucx
(package
(name "ucx")
(version "1.6.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/openucx/ucx.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0x3clvy716i7va4m4adgx6ihjsfnzrkdizhxz5v52944dkglpc8n"))))
(build-system gnu-build-system)
(arguments
'( ;; These are some of the flags found in 'contrib/configure-release'.
#:configure-flags (list
;; XXX: Disable optimizations specific to the build
;; machine (AVX, etc.) There's apparently no way to
;; have them picked up at load time.
"--disable-optimizations"
"--disable-logging"
"--disable-debug"
"--disable-assertions"
"--disable-params-check"
(string-append "--with-rdmacm="
(assoc-ref %build-inputs
"rdma-core")))
;; Be verbose so that compiler flags are displayed.
#:make-flags '("V=1")))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(inputs
`(("numactl" ,numactl)
("rdma-core" ,rdma-core)))
(synopsis "Optimized communication layer for message passing in HPC")
(description
"Unified Communication X (UCX) provides an optimized communication layer
for message passing (MPI), portable global address space (PGAS) languages and
run-time support libraries, as well as RPC and data-centric applications.
UCX utilizes high-speed networks for inter-node communication, and shared
memory mechanisms for efficient intra-node communication.")
(home-page "https://www.openucx.org/")
(license bsd-3)
;; <ucm/bistro/bistro.h> lists only PowerPC64, AArch64, and x86_64 as
;; supported.
(supported-systems '("x86_64-linux" "aarch64-linux"))))

View file

@ -46,6 +46,9 @@
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages gnome)
#:use-module (gnu packages freedesktop)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
@ -53,7 +56,8 @@
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system python)) #:use-module (guix build-system python)
#:use-module (guix build-system meson))
(define-public freetype (define-public freetype
(package (package
@ -725,3 +729,48 @@ maintain the Noto Fonts project.")
(license:non-copyleft (license:non-copyleft
"file://sample_texts/attributions.txt" "file://sample_texts/attributions.txt"
"See sample_texts/attributions.txt in the distribution."))))) "See sample_texts/attributions.txt in the distribution.")))))
(define-public fontmanager
(package
(name "fontmanager")
(version "0.7.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/FontManager/font-manager")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"16hma8rrkam6ngn5vbdaryn31vdixvii6920g9z928gylz9xkd3g"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
#:build-type "release"
#:configure-flags
(list (string-append "-Dc_link_args=-Wl,-rpath="
(assoc-ref %outputs "out")
"/lib/font-manager"))))
(native-inputs
`(("pkg-config" ,pkg-config)
("vala" ,vala)
("yelp-tools" ,yelp-tools)
("gettext" ,gettext-minimal)
("glib" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("desktop-file-utils" ,desktop-file-utils)))
(inputs
`(("json-glib" ,json-glib)
("sqlite-with-column-metadata" ,sqlite-with-column-metadata)
("fonconfig" ,fontconfig)
("freetype" ,freetype)
("gtk+" ,gtk+)))
(home-page "https://fontmanager.github.io/")
(synopsis "Simple font management for GTK+ desktop environments")
(description "Font Manager is intended to provide a way for users to
easily manage desktop fonts, without having to resort to command-line
tools or editing configuration files by hand.
While designed primarily with the GNOME Desktop Environment in mind, it should
work well with other GTK+ desktop environments.")
(license license:gpl3+)))

View file

@ -445,7 +445,7 @@ support.")
(define-public tiled (define-public tiled
(package (package
(name "tiled") (name "tiled")
(version "1.2.4") (version "1.2.5")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -454,7 +454,7 @@ support.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"04v738h298pvcwb70mwd1r2yj7578f6gkfzs0165j9fqy7avwm18")))) "14v2zfka2y3h0r0biw1rl59585lji5074x958s4xnb352jm5h9b9"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("qtbase" ,qtbase) `(("qtbase" ,qtbase)

View file

@ -2,7 +2,7 @@
;;; Copyright © 2013 John Darrington <jmd@gnu.org> ;;; Copyright © 2013 John Darrington <jmd@gnu.org>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2016 David Thompson <dthompson2@worcester.edu> ;;; Copyright © 2014, 2016 David Thompson <dthompson2@worcester.edu>
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com> ;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net> ;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net>
;;; Copyright © 2014, 2015, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
@ -5514,7 +5514,7 @@ elements to achieve a simple goal in the most complex way possible.")
(define-public pioneer (define-public pioneer
(package (package
(name "pioneer") (name "pioneer")
(version "20180203") (version "20190203")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -5523,16 +5523,15 @@ elements to achieve a simple goal in the most complex way possible.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0hp2mf36kj2v93hka8m8lxw2qhmnjc62wjlpw7c7ix0r8xa01i6h")))) "1g34wvgyvz793dhm1k64kl82ib0cavkbg0f2p3fp05b457ycljff"))))
(build-system gnu-build-system) (build-system cmake-build-system)
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("pkg-config" ,pkg-config)))
("automake" ,automake)
("pkg-config" ,pkg-config)))
(inputs (inputs
`(("assimp" ,assimp) `(("assimp" ,assimp)
("curl" ,curl) ("curl" ,curl)
("freetype" ,freetype) ("freetype" ,freetype)
("glew" ,glew)
("glu" ,glu) ("glu" ,glu)
("libpng" ,libpng) ("libpng" ,libpng)
("libsigc++" ,libsigc++) ("libsigc++" ,libsigc++)
@ -5542,16 +5541,9 @@ elements to achieve a simple goal in the most complex way possible.")
("sdl" ,(sdl-union (list sdl2 sdl2-image))))) ("sdl" ,(sdl-union (list sdl2 sdl2-image)))))
(arguments (arguments
`(#:tests? #f ;tests are broken `(#:tests? #f ;tests are broken
#:configure-flags (list "--with-external-liblua" #:configure-flags (list "-DUSE_SYSTEM_LIBLUA:BOOL=YES"
(string-append "PIONEER_DATA_DIR=" (string-append "-DPIONEER_DATA_DIR="
%output "/share/games/pioneer")) %output "/share/games/pioneer"))))
#:phases (modify-phases %standard-phases
(add-before 'bootstrap 'fix-lua-check
(lambda _
(substitute* "configure.ac"
(("lua5.2")
(string-append "lua-" ,(version-major+minor
(package-version lua-5.2))))))))))
(home-page "http://pioneerspacesim.net") (home-page "http://pioneerspacesim.net")
(synopsis "Game of lonely space adventure") (synopsis "Game of lonely space adventure")
(description (description

View file

@ -672,6 +672,10 @@ as the 'native-search-paths' field."
(custom-gcc gcc-8 "gfortran" '("fortran") (custom-gcc gcc-8 "gfortran" '("fortran")
%generic-search-paths)) %generic-search-paths))
(define-public gfortran-9
(custom-gcc gcc-9 "gfortran" '("fortran")
%generic-search-paths))
(define-public gfortran (define-public gfortran
;; Note: Update this when GCC changes! We cannot use ;; Note: Update this when GCC changes! We cannot use
;; (custom-gcc gcc "fortran" …) because that would lead to a package object ;; (custom-gcc gcc "fortran" …) because that would lead to a package object

View file

@ -41,6 +41,7 @@
;;; Copyright © 2019 Jonathan Frederickson <jonathan@terracrypt.net> ;;; Copyright © 2019 Jonathan Frederickson <jonathan@terracrypt.net>
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2019 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>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -4995,15 +4996,15 @@ powerful general purpose text editor.")
(define-public zenity (define-public zenity
(package (package
(name "zenity") (name "zenity")
(version "3.30.0") (version "3.32.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/zenity/"
(version-major+minor version) "/" (version-major+minor version) "/"
name "-" version ".tar.xz")) "zenity-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1wipnp46pd238z9ck5rsckbaw7yla6c936fswq5w94k4c6bgcplr")))) "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("gettext" ,gettext-minimal) `(("gettext" ,gettext-minimal)
@ -5486,7 +5487,8 @@ services.")
(define-public network-manager-openvpn (define-public network-manager-openvpn
(package (package
(name "network-manager-openvpn") (name "network-manager-openvpn")
(version "1.8.4") ;; Updating? Check whether network-manager-applet still needs libnm_gtk.
(version "1.8.10")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -5495,7 +5497,7 @@ services.")
"/NetworkManager-openvpn-" version ".tar.xz")) "/NetworkManager-openvpn-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0gyrv46h9k17qym48qacq4zpxbap6hi17shn921824zm98m2bdvr")))) "1vri49yff4lj13dnzkpq9nx3a4z1bmbrv807r151plj8m1mwhg5g"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var") `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
@ -5659,18 +5661,21 @@ Cisco's AnyConnect SSL VPN.")
(define-public network-manager-applet (define-public network-manager-applet
(package (package
(name "network-manager-applet") (name "network-manager-applet")
(version "1.8.18") (version "1.8.24")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/network-manager-applet/"
(version-major+minor version) "/" (version-major+minor version) "/"
name "-" version ".tar.xz")) "network-manager-applet-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0y31g0lxr93370xi74hbpvcy9m81n5wdkdhq8xy2nqp0y4219p13")))) "1gzvz4wfqfsfclqg56y954al8x6fmz71cnxlx1i4nqr7a25bp2qi"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
'(#:glib-or-gtk? #t)) '(#:configure-flags
;; Nobody should be using this but network-manager-openvpn 1.8.10 does.
(list "-Dlibnm_gtk=true")
#:glib-or-gtk? #t))
(native-inputs (native-inputs
`(("intltool" ,intltool) `(("intltool" ,intltool)
("glib:bin" ,glib "bin") ; for glib-compile-resources, etc. ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
@ -7679,7 +7684,7 @@ that support the Assistive Technology Service Provider Interface (AT-SPI).")
(define-public gspell (define-public gspell
(package (package
(name "gspell") (name "gspell")
(version "1.8.1") (version "1.8.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -7687,7 +7692,7 @@ that support the Assistive Technology Service Provider Interface (AT-SPI).")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1rdv873ixhwr15jwgc2z6k6y0hj353fqnwsy7zkh0c30qwiiv6l1")) "1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv"))
(patches (search-patches "gspell-dash-test.patch")))) (patches (search-patches "gspell-dash-test.patch"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(arguments (arguments
@ -8395,3 +8400,40 @@ access library. It only implements the core plumbing functions, not really the
higher level porcelain stuff.") higher level porcelain stuff.")
(home-page "https://wiki.gnome.org/Projects/Libgit2-glib") (home-page "https://wiki.gnome.org/Projects/Libgit2-glib")
(license license:gpl2+))) (license license:gpl2+)))
(define-public gnome-mahjongg
(package
(name "gnome-mahjongg")
(version "3.35.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.gnome.org/GNOME/gnome-mahjongg.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"019a66a4m5w4kkb0sm6gxj0wi54n06zdxdlmyqw7h8kbakjizv7l"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t))
(native-inputs
`(("appstream-glib" ,appstream-glib)
("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin") ;; For glib-compile-resources
("gtk+" ,gtk+ "bin") ;; For gtk-update-icon-cache
("itstool" ,itstool)
("pkg-config" ,pkg-config)
("vala" ,vala)))
(propagated-inputs
`(("dconf" ,dconf)))
(inputs
`(("glib" ,glib)
("gtk+" ,gtk+)
("librsvg" ,librsvg)))
(synopsis "Mahjongg tile-matching game")
(description "GNOME Mahjongg is a game based on the classic Chinese
tile-matching game Mahjong. It features multiple board layouts, tile themes,
and a high score table.")
(home-page "https://wiki.gnome.org/Apps/Mahjongg")
(license license:gpl2+)))

View file

@ -1026,12 +1026,13 @@ requirements.")
(define-public opensubdiv (define-public opensubdiv
(package (package
(name "opensubdiv") (name "opensubdiv")
(version "3_4_0") (version "3.4.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/PixarAnimationStudios/OpenSubdiv") (url "https://github.com/PixarAnimationStudios/OpenSubdiv")
(commit (string-append "v" version)))) (commit (string-append "v" (string-join (string-split version #\.)
"_")))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32

View file

@ -1085,7 +1085,7 @@ toolkit.")
(define-public gtkmm (define-public gtkmm
(package (package
(name "gtkmm") (name "gtkmm")
(version "3.24.0") (version "3.24.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -1093,7 +1093,7 @@ toolkit.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0hxaq4x9jqj8vvnv3sb6nwapz83v8lclbm887qqci0g50llcjpyg")))) "1zfj89spr8ianib5y10wcw63ybdmyjy58a15vqs0m8jq4knl5znx"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config) (native-inputs `(("pkg-config" ,pkg-config)
("glib" ,glib "bin") ;for 'glib-compile-resources' ("glib" ,glib "bin") ;for 'glib-compile-resources'
@ -1311,14 +1311,14 @@ produces identical output on all those targets.")
(define-public perl-gtk2 (define-public perl-gtk2
(package (package
(name "perl-gtk2") (name "perl-gtk2")
(version "1.24992") (version "1.24993")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/X/XA/XAOC/Gtk2-" (uri (string-append "mirror://cpan/authors/id/X/XA/XAOC/Gtk2-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1044rj3wbfmgaif2jb0k28m2aczli6ai2n5yvn6pr7zjyw16kvd2")))) "0ry9jfvfgdwzalxcvwsgr7plhk3agx7p40l0fqdf3vrf7ds47i29"))))
(build-system perl-build-system) (build-system perl-build-system)
(native-inputs (native-inputs
`(("perl-extutils-depends" ,perl-extutils-depends) `(("perl-extutils-depends" ,perl-extutils-depends)

View file

@ -38,14 +38,14 @@
(define-public ddcutil (define-public ddcutil
(package (package
(name "ddcutil") (name "ddcutil")
(version "0.9.5") (version "0.9.7")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.ddcutil.com/tarballs/" (uri (string-append "https://www.ddcutil.com/tarballs/"
"ddcutil-" version ".tar.gz")) "ddcutil-" version ".tar.gz"))
(sha256 (sha256
(base32 "18brwj54dkjylvpx7c6ksf7fzhdjffi60avyg7qbs8vw9awnsxqz")))) (base32 "0lqc3fn5h7acfmbmyi8hpv2p6b4csfbx3lkhzy073s9x2zblrq3g"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))

View file

@ -245,7 +245,7 @@ unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}.
(define-public git-annex (define-public git-annex
(package (package
(name "git-annex") (name "git-annex")
(version "7.20190912") (version "7.20191009")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -253,7 +253,7 @@ unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}.
"git-annex/git-annex-" version ".tar.gz")) "git-annex/git-annex-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1a3jvl5cx32v78s3015i10cx00jprm1391rpww4mzkk1vskzn9cv")))) "10ycvjl9b3aa81zdz239ngjbbambfjrzds1a23wdlbjkn12nsg4g"))))
(build-system haskell-build-system) (build-system haskell-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags

View file

@ -183,37 +183,31 @@ defconfig. Return the appropriate make target if applicable, otherwise return
(define deblob-scripts-5.3 (define deblob-scripts-5.3
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
"5.3.4" "5.3.6"
(base32 "15n09zq38d69y1wl28s3nasf3377qp2yil5b887zpqrm00dif7i4") (base32 "15n09zq38d69y1wl28s3nasf3377qp2yil5b887zpqrm00dif7i4")
(base32 "0nrimraf46nf6y1hwkg29fyl0a83wnj0mwq54ggxvffn9gk5h9pa"))) (base32 "0nrimraf46nf6y1hwkg29fyl0a83wnj0mwq54ggxvffn9gk5h9pa")))
(define deblob-scripts-5.2
(linux-libre-deblob-scripts
"5.2.19"
(base32 "076fwxlm6jq6z4vg1xq3kr474zz7qk71r90sf9dnfia3rw2pb4fa")
(base32 "1vghzpvlsvz5q8baxjza8jdryjmcx61g2pmnm6dd1k7glr6jy1a9")))
(define deblob-scripts-4.19 (define deblob-scripts-4.19
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
"4.19.77" "4.19.79"
(base32 "02zs405awaxydbapka4nz8h6lmnc0dahgczqsrs5s2bmzjyyqkcy") (base32 "02zs405awaxydbapka4nz8h6lmnc0dahgczqsrs5s2bmzjyyqkcy")
(base32 "1fyacg28aym6virxyn7wk99qil2fjbks3iwm7p3hxy51pccn34za"))) (base32 "1fyacg28aym6virxyn7wk99qil2fjbks3iwm7p3hxy51pccn34za")))
(define deblob-scripts-4.14 (define deblob-scripts-4.14
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
"4.14.147" "4.14.149"
(base32 "091jk9jkn9jf39bxpc7395bhcb7p96nkg3a8047380ki06lnfxh6") (base32 "091jk9jkn9jf39bxpc7395bhcb7p96nkg3a8047380ki06lnfxh6")
(base32 "0x9nd3hnyrm753cbgdqmy92mbnyw86w64g4hvyibnkpq5n7s3z9n"))) (base32 "0x9nd3hnyrm753cbgdqmy92mbnyw86w64g4hvyibnkpq5n7s3z9n")))
(define deblob-scripts-4.9 (define deblob-scripts-4.9
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
"4.9.195" "4.9.196"
(base32 "1wvldzlv7q2xdbadas87dh593nxr4a8p5n0f8zpm72lja6w18hmg") (base32 "1wvldzlv7q2xdbadas87dh593nxr4a8p5n0f8zpm72lja6w18hmg")
(base32 "0is8gn4qdd7h5l6lacvhqdch26lmrbgxfm8ab7fx8n85ha7y358w"))) (base32 "0is8gn4qdd7h5l6lacvhqdch26lmrbgxfm8ab7fx8n85ha7y358w")))
(define deblob-scripts-4.4 (define deblob-scripts-4.4
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
"4.4.194" "4.4.196"
(base32 "0x2j1i88am54ih2mk7gyl79g25l9zz4r08xhl482l3fvjj2irwbw") (base32 "0x2j1i88am54ih2mk7gyl79g25l9zz4r08xhl482l3fvjj2irwbw")
(base32 "12ac4g3ky8yma8sylmxvvysqvd4hnaqjiwmxrxb6wlxggfd7zkbx"))) (base32 "12ac4g3ky8yma8sylmxvvysqvd4hnaqjiwmxrxb6wlxggfd7zkbx")))
@ -357,50 +351,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.3-version "5.3.4") (define-public linux-libre-5.3-version "5.3.7")
(define-public linux-libre-5.3-pristine-source (define-public linux-libre-5.3-pristine-source
(let ((version linux-libre-5.3-version) (let ((version linux-libre-5.3-version)
(hash (base32 "0vi4bgcr921z5l6fbcrcgmhaji5gl2avpmp7njna6v0f7sxism0r"))) (hash (base32 "00j8sdrmmppqf38vl50a4zas5gy7yv37n43b61f8472k45773jf6")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-5.3))) deblob-scripts-5.3)))
(define-public linux-libre-5.2-version "5.2.19") (define-public linux-libre-4.19-version "4.19.80")
(define-public linux-libre-5.2-pristine-source
(let ((version linux-libre-5.2-version)
(hash (base32 "12mi857lyd5vj8qhj2f505hqnwzsnd829hxd78n9kk88iv1f966y")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.2)))
(define-public linux-libre-4.19-version "4.19.77")
(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 "1agksl35amjzc6g6d9zjwz6p5qir2cligb5c1d9s2bag9766jav1"))) (hash (base32 "1v776s6q5wxn8ci86dwa8s8y41b94g09fnpgvzysg2h89rvbmac0")))
(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.147") (define-public linux-libre-4.14-version "4.14.150")
(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 "04jvp05spszcxmkdsl21dylbcf76ns9bwxf1zlk4x7cxiil97mwg"))) (hash (base32 "1c2pxfvv31af0mzcqnbfjk8pc0wrhg4yhspl8a3ab2w5dfwa9ib5")))
(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.195") (define-public linux-libre-4.9-version "4.9.197")
(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 "0s4xj8f1dpnz3fbrqmgwq02smhcrq1ni8hgn2bbfqvm15lm5dgjl"))) (hash (base32 "032as6g4xvqjarqhvx7mr14yhn6idak4g0ps1skmsl4dfav6hdam")))
(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.194") (define-public linux-libre-4.4-version "4.4.197")
(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 "0kvlp2v4nvkilaanhpgwf8dkyfj24msaw0m38rbc4y51y69yhqvz"))) (hash (base32 "0ypfl1q1bdbk81hk0bm8a0grqzz4z5rp7z7asa3191ji3r8q9x4w")))
(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)))
@ -439,12 +425,6 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
%boot-logo-patch %boot-logo-patch
%linux-libre-arm-export-__sync_icache_dcache-patch))) %linux-libre-arm-export-__sync_icache_dcache-patch)))
(define-public linux-libre-5.2-source
(source-with-patches linux-libre-5.2-pristine-source
(list (search-patch "linux-libre-active-entropy.patch")
%boot-logo-patch
%linux-libre-arm-export-__sync_icache_dcache-patch)))
(define-public linux-libre-4.19-source (define-public linux-libre-4.19-source
(source-with-patches linux-libre-4.19-pristine-source (source-with-patches linux-libre-4.19-pristine-source
(list %boot-logo-patch (list %boot-logo-patch
@ -539,10 +519,6 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(make-linux-libre-headers* linux-libre-5.3-version (make-linux-libre-headers* linux-libre-5.3-version
linux-libre-5.3-source)) linux-libre-5.3-source))
(define-public linux-libre-headers-5.2
(make-linux-libre-headers* linux-libre-5.2-version
linux-libre-5.2-source))
(define-public linux-libre-headers-4.19 (define-public linux-libre-headers-4.19
(make-linux-libre-headers* linux-libre-4.19-version (make-linux-libre-headers* linux-libre-4.19-version
linux-libre-4.19-source)) linux-libre-4.19-source))
@ -804,12 +780,6 @@ It has been modified to remove all non-free binary blobs.")
(define-public linux-libre-source linux-libre-5.3-source) (define-public linux-libre-source linux-libre-5.3-source)
(define-public linux-libre linux-libre-5.3) (define-public linux-libre linux-libre-5.3)
(define-public linux-libre-5.2
(make-linux-libre* linux-libre-5.2-version
linux-libre-5.2-source
'("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux")
#:configuration-file kernel-config))
(define-public linux-libre-4.19 (define-public linux-libre-4.19
(make-linux-libre* linux-libre-4.19-version (make-linux-libre* linux-libre-4.19-version
linux-libre-4.19-source linux-libre-4.19-source
@ -5854,7 +5824,7 @@ IP addresses and routes, and configure IPsec.")
(define-public xfsprogs (define-public xfsprogs
(package (package
(name "xfsprogs") (name "xfsprogs")
(version "4.20.0") (version "5.2.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -5862,17 +5832,32 @@ IP addresses and routes, and configure IPsec.")
"xfsprogs-" version ".tar.gz")) "xfsprogs-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0ss0r6jlxxinf9fhpc0fgf7b89n9mzirpa85xxjmi1ix9l6cls6x")))) "0q5xd4gb9g83h82mg68cx616ifzl8qkzzlgg5xna698117ph3wky"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs (list "out" "python"))
(arguments (arguments
`(#:tests? #f ;kernel/user integration tests are in package "xfstests" `(#:tests? #f ; kernel/user integration tests are in package "xfstests"
#:phases (modify-phases %standard-phases #:phases
(modify-phases %standard-phases
(add-after 'install 'separate-python-output
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(python (assoc-ref outputs "python")))
(for-each
(lambda (script)
(mkdir-p (string-append python (dirname script)))
(rename-file (string-append out script)
(string-append python script)))
(list "/sbin/xfs_scrub_all"))
#t)))
(add-after 'install 'install-headers (add-after 'install 'install-headers
(lambda _ (lambda _
(invoke "make" "install-dev")))))) (invoke "make" "install-dev"))))))
(native-inputs (native-inputs
`(("gettext" ,gettext-minimal) `(("gettext" ,gettext-minimal)
("util-linux" ,util-linux))) ("util-linux" ,util-linux)))
(inputs
`(("python" ,python-wrapper)))
(home-page "https://xfs.wiki.kernel.org/") (home-page "https://xfs.wiki.kernel.org/")
(synopsis "XFS file system tools") (synopsis "XFS file system tools")
(description "This package provides commands to create and check XFS (description "This package provides commands to create and check XFS

View file

@ -1463,6 +1463,9 @@ multiple inspectors with independent history.")
JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.") JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
(license license:zlib)))) (license license:zlib))))
(define-public cl-parse-js
(sbcl-package->cl-source-package sbcl-parse-js))
(define-public sbcl-parse-number (define-public sbcl-parse-number
(package (package
(name "sbcl-parse-number") (name "sbcl-parse-number")
@ -1486,6 +1489,9 @@ the string into one of the standard Common Lisp number types, if possible, or
else @code{parse-number} signals an error of type @code{invalid-number}.") else @code{parse-number} signals an error of type @code{invalid-number}.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public cl-parse-number
(sbcl-package->cl-source-package sbcl-parse-number))
(define-public sbcl-iterate (define-public sbcl-iterate
(package (package
(name "sbcl-iterate") (name "sbcl-iterate")
@ -1515,6 +1521,9 @@ It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
@end itemize\n") @end itemize\n")
(license license:expat))) (license license:expat)))
(define-public cl-iterate
(sbcl-package->cl-source-package sbcl-iterate))
(define-public sbcl-cl-uglify-js (define-public sbcl-cl-uglify-js
;; There have been many bug fixes since the 2010 release. ;; There have been many bug fixes since the 2010 release.
(let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5") (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
@ -1556,6 +1565,9 @@ compressor. It works on data produced by @code{parse-js} to generate a
@end itemize\n") @end itemize\n")
(license license:zlib)))) (license license:zlib))))
(define-public cl-uglify-js
(sbcl-package->cl-source-package sbcl-cl-uglify-js))
(define-public uglify-js (define-public uglify-js
(package (package
(inherit sbcl-cl-uglify-js) (inherit sbcl-cl-uglify-js)
@ -3128,6 +3140,9 @@ package.")
("bordeaux-threads" ,sbcl-bordeaux-threads) ("bordeaux-threads" ,sbcl-bordeaux-threads)
,@(package-native-inputs sbcl-cffi-bootstrap))))) ,@(package-native-inputs sbcl-cffi-bootstrap)))))
(define-public cl-cffi
(sbcl-package->cl-source-package sbcl-cffi))
(define-public sbcl-cl-sqlite (define-public sbcl-cl-sqlite
(let ((commit "c738e66d4266ef63a1debc4ef4a1b871a068c112")) (let ((commit "c738e66d4266ef63a1debc4ef4a1b871a068c112"))
(package (package
@ -3169,6 +3184,9 @@ package.")
relational database engine.") relational database engine.")
(license license:public-domain)))) (license license:public-domain))))
(define-public cl-sqlite
(sbcl-package->cl-source-package sbcl-cl-sqlite))
(define-public sbcl-parenscript (define-public sbcl-parenscript
(let ((commit "061d8e286c81c3f45c84fb2b11ee7d83f590a8f8")) (let ((commit "061d8e286c81c3f45c84fb2b11ee7d83f590a8f8"))
(package (package
@ -3543,6 +3561,9 @@ is a library for creating graphical user interfaces.")
;; See https://github.com/Ferada/cl-cffi-gtk/issues/24. ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
#:tests? #f)))) #:tests? #f))))
(define-public cl-cffi-gtk
(sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
(define-public sbcl-cl-webkit (define-public sbcl-cl-webkit
(let ((commit "cd2a9008e0c152e54755e8a7f07b050fe36bab31")) (let ((commit "cd2a9008e0c152e54755e8a7f07b050fe36bab31"))
(package (package
@ -3583,6 +3604,9 @@ browsing capabilities to an application, leveraging the full power of the
WebKit browsing engine.") WebKit browsing engine.")
(license license:expat)))) (license license:expat))))
(define-public cl-webkit
(sbcl-package->cl-source-package sbcl-cl-webkit))
(define-public sbcl-lparallel (define-public sbcl-lparallel
(package (package
(name "sbcl-lparallel") (name "sbcl-lparallel")
@ -3992,7 +4016,7 @@ RFC 1321 by R. Rivest, published April 1992.")
(sbcl-package->cl-source-package sbcl-md5)) (sbcl-package->cl-source-package sbcl-md5))
(define-public sbcl-cl+ssl (define-public sbcl-cl+ssl
(let ((commit "b81c1135cf5700e870ce2573d5035d249e491788") (let ((commit "141ae91416bc40f1618dc07e48429b84388aa599")
(revision "1")) (revision "1"))
(package (package
(name "sbcl-cl+ssl") (name "sbcl-cl+ssl")
@ -4005,7 +4029,7 @@ RFC 1321 by R. Rivest, published April 1992.")
(commit commit))) (commit commit)))
(file-name (git-file-name "cl+ssl" version)) (file-name (git-file-name "cl+ssl" version))
(sha256 (sha256
(base32 "1845i1pafmqb6cdlr53yaqy67kjrhkvbx6c37ca15cw70vhdr3z9")))) (base32 "1s0hg1h9sf8q89v0yrxmzg5f5sng29rgx3n21r9h9yql8351myan"))))
(build-system asdf-build-system/sbcl) (build-system asdf-build-system/sbcl)
(arguments (arguments
'(#:phases '(#:phases
@ -4022,7 +4046,9 @@ RFC 1321 by R. Rivest, published April 1992.")
("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams) ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
("sbcl-flexi-streams" ,sbcl-flexi-streams) ("sbcl-flexi-streams" ,sbcl-flexi-streams)
("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads) ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
("sbcl-trivial-garbage" ,sbcl-trivial-garbage))) ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
("sbcl-alexandria" ,sbcl-alexandria)
("sbcl-trivial-features" ,sbcl-trivial-features)))
(home-page "http://common-lisp.net/project/cl-plus-ssl/") (home-page "http://common-lisp.net/project/cl-plus-ssl/")
(synopsis "Common Lisp bindings to OpenSSL") (synopsis "Common Lisp bindings to OpenSSL")
(description (description
@ -5130,7 +5156,9 @@ performance and simplicity in mind.")
((anchor all) ((anchor all)
(string-append (string-append
anchor "\n" anchor "\n"
"(asdf:system-relative-pathname :trivial-mimes \"../../share/common-lisp/sbcl-source/trivial-mimes/mime.types\")"))))))))) "(asdf:system-relative-pathname :trivial-mimes "
"\"../../share/common-lisp/" (%lisp-type)
"-source/trivial-mimes/mime.types\")")))))))))
(native-inputs (native-inputs
`(("stefil" ,sbcl-hu.dwim.stefil))) `(("stefil" ,sbcl-hu.dwim.stefil)))
(inputs (inputs
@ -5145,6 +5173,9 @@ mime-type of a file.")
(define-public cl-trivial-mimes (define-public cl-trivial-mimes
(sbcl-package->cl-source-package sbcl-trivial-mimes)) (sbcl-package->cl-source-package sbcl-trivial-mimes))
(define-public ecl-trivial-mimes
(sbcl-package->ecl-package sbcl-trivial-mimes))
(define-public sbcl-lack-middleware-static (define-public sbcl-lack-middleware-static
(let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b") (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
(revision "1")) (revision "1"))
@ -5942,6 +5973,9 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.")
""))))))) "")))))))
(synopsis "Common Lisp I/O library"))) (synopsis "Common Lisp I/O library")))
(define-public cl-iolib
(sbcl-package->cl-source-package sbcl-iolib))
(define sbcl-iolib+multiplex (define sbcl-iolib+multiplex
(package (package
(inherit sbcl-iolib) (inherit sbcl-iolib)
@ -5999,6 +6033,9 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.")
floating point values to IEEE 754 binary representation.") floating point values to IEEE 754 binary representation.")
(license license:bsd-3)))) (license license:bsd-3))))
(define-public cl-ieee-floats
(sbcl-package->cl-source-package sbcl-ieee-floats))
(define sbcl-closure-common (define sbcl-closure-common
(let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c") (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
(revision "1")) (revision "1"))
@ -6131,6 +6168,9 @@ offered, one SAX-like, the other similar to StAX.")
((" *\\(\\(:compiled-file \"cxml--system\"\\)\\)") ((" *\\(\\(:compiled-file \"cxml--system\"\\)\\)")
"")))))))))) ""))))))))))
(define-public cl-cxml
(sbcl-package->cl-source-package sbcl-cxml))
(define-public sbcl-cl-reexport (define-public sbcl-cl-reexport
(let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b") (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
(revision "1")) (revision "1"))
@ -6159,6 +6199,9 @@ offered, one SAX-like, the other similar to StAX.")
cookie headers, cookie creation, cookie jar creation and more.") cookie headers, cookie creation, cookie jar creation and more.")
(license license:llgpl)))) (license license:llgpl))))
(define-public cl-reexport
(sbcl-package->cl-source-package sbcl-cl-reexport))
(define-public sbcl-cl-cookie (define-public sbcl-cl-cookie
(let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546") (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
(revision "1")) (revision "1"))
@ -6194,6 +6237,9 @@ cookie headers, cookie creation, cookie jar creation and more.")
cookie headers, cookie creation, cookie jar creation and more.") cookie headers, cookie creation, cookie jar creation and more.")
(license license:bsd-2)))) (license license:bsd-2))))
(define-public cl-cookie
(sbcl-package->cl-source-package sbcl-cl-cookie))
(define-public sbcl-dexador (define-public sbcl-dexador
(let ((commit "a2714d126cc94bc7a9a6e1e3c08de455b3a66378") (let ((commit "a2714d126cc94bc7a9a6e1e3c08de455b3a66378")
(revision "1")) (revision "1"))
@ -6236,7 +6282,6 @@ cookie headers, cookie creation, cookie jar creation and more.")
("clack" ,sbcl-clack) ("clack" ,sbcl-clack)
("babel" ,sbcl-babel) ("babel" ,sbcl-babel)
("alexandria" ,sbcl-alexandria) ("alexandria" ,sbcl-alexandria)
("quri" ,sbcl-quri)
("cl-ppcre" ,sbcl-cl-ppcre) ("cl-ppcre" ,sbcl-cl-ppcre)
("local-time" ,sbcl-local-time))) ("local-time" ,sbcl-local-time)))
(arguments (arguments
@ -6251,6 +6296,20 @@ cookie headers, cookie creation, cookie jar creation and more.")
neat APIs and connection-pooling. It is meant to supersede Drakma.") neat APIs and connection-pooling. It is meant to supersede Drakma.")
(license license:expat)))) (license license:expat))))
(define-public cl-dexador
(package
(inherit (sbcl-package->cl-source-package sbcl-dexador))
(arguments
`(#:phases
;; asdf-build-system/source has its own phases and does not inherit
;; from asdf-build-system/sbcl phases.
(modify-phases %standard-phases/source
(add-after 'unpack 'fix-permissions
(lambda _ (make-file-writable "t/data/test.gz") #t)))))))
(define-public ecl-dexador
(sbcl-package->ecl-package sbcl-dexador))
(define-public sbcl-lisp-namespace (define-public sbcl-lisp-namespace
(let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0") (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
(revision "1")) (revision "1"))
@ -6284,6 +6343,9 @@ more — e.g., class namespace.
This library offers macros to deal with symbols from any namespace.") This library offers macros to deal with symbols from any namespace.")
(license license:llgpl)))) (license license:llgpl))))
(define-public cl-lisp-namespace
(sbcl-package->cl-source-package sbcl-lisp-namespace))
(define-public sbcl-trivial-cltl2 (define-public sbcl-trivial-cltl2
(let ((commit "8eec8407df833e8f27df8a388bc10913f16d9e83") (let ((commit "8eec8407df833e8f27df8a388bc10913f16d9e83")
(revision "1")) (revision "1"))
@ -6309,6 +6371,9 @@ Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
and it exports symbols from implementation-specific packages.") and it exports symbols from implementation-specific packages.")
(license license:llgpl)))) (license license:llgpl))))
(define-public cl-trivial-cltl2
(sbcl-package->cl-source-package sbcl-trivial-cltl2))
(define-public sbcl-introspect-environment (define-public sbcl-introspect-environment
(let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b") (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
(revision "1")) (revision "1"))
@ -6350,6 +6415,9 @@ implementations have implementations of the functions that do as much as they
can and/or provide reasonable defaults.") can and/or provide reasonable defaults.")
(license license:wtfpl2)))) (license license:wtfpl2))))
(define-public cl-introspect-environment
(sbcl-package->cl-source-package sbcl-introspect-environment))
(define-public sbcl-type-i (define-public sbcl-type-i
(let ((commit "dea233f45f94064105ec09f0767de338f67dcbe2") (let ((commit "dea233f45f94064105ec09f0767de338f67dcbe2")
(revision "1")) (revision "1"))
@ -6382,6 +6450,9 @@ type the given predicate is trying to check. This is different from inferring
the return type of a function.") the return type of a function.")
(license license:llgpl)))) (license license:llgpl))))
(define-public cl-type-i
(sbcl-package->cl-source-package sbcl-type-i))
(define-public sbcl-optima (define-public sbcl-optima
(let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195") (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
(revision "1")) (revision "1"))
@ -6414,6 +6485,9 @@ the return type of a function.")
optimizing techniques widely used in the functional programming world.") optimizing techniques widely used in the functional programming world.")
(license license:expat)))) (license license:expat))))
(define-public cl-optima
(sbcl-package->cl-source-package sbcl-optima))
(define-public sbcl-fare-quasiquote (define-public sbcl-fare-quasiquote
(package (package
(name "sbcl-fare-quasiquote") (name "sbcl-fare-quasiquote")
@ -6688,6 +6762,9 @@ This system contains the CFFI foreign slot access extension.")))
with Optima, another pattern matching library for Common Lisp. It is meant to with Optima, another pattern matching library for Common Lisp. It is meant to
be faster and more extensible than Optima."))) be faster and more extensible than Optima.")))
(define-public cl-trivia
(sbcl-package->cl-source-package sbcl-trivia))
(define-public sbcl-mk-string-metrics (define-public sbcl-mk-string-metrics
(package (package
(name "sbcl-mk-string-metrics") (name "sbcl-mk-string-metrics")
@ -6719,6 +6796,9 @@ various string metrics in Common Lisp:
@end itemize\n") @end itemize\n")
(license license:x11))) (license license:x11)))
(define-public cl-mk-string-metrics
(sbcl-package->cl-source-package sbcl-mk-string-metrics))
(define-public sbcl-cl-str (define-public sbcl-cl-str
(let ((commit "3d5ec86e3a0199e5973aacde951086dfd754b5e5")) (let ((commit "3d5ec86e3a0199e5973aacde951086dfd754b5e5"))
(package (package
@ -6754,6 +6834,9 @@ discoverable library instead of many; consistency and composability, where
arrows.") arrows.")
(license license:expat)))) (license license:expat))))
(define-public cl-str
(sbcl-package->cl-source-package sbcl-cl-str))
(define-public sbcl-cl-xmlspam (define-public sbcl-cl-xmlspam
(let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a")) (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
(package (package
@ -7718,3 +7801,35 @@ supplement, not a competitor, to Alexandria.")
(define-public cl-serapeum (define-public cl-serapeum
(sbcl-package->cl-source-package sbcl-serapeum)) (sbcl-package->cl-source-package sbcl-serapeum))
(define-public sbcl-arrows
(let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
(revision "0"))
(package
(name "sbcl-arrows")
(version (git-version "0.2.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/Harleqin/arrows.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
(build-system asdf-build-system/sbcl)
(native-inputs
`(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
(synopsis "Clojure-like arrow macros for Common Lisp")
(description
"This library implements the @code{->} and @code{->>} macros from
Clojure, as well as several expansions on the idea.")
(home-page "https://gitlab.com/Harleqin/arrows")
(license license:public-domain))))
(define-public cl-arrows
(sbcl-package->cl-source-package sbcl-arrows))
(define-public ecl-arrows
(sbcl-package->ecl-package sbcl-arrows))

View file

@ -1197,7 +1197,7 @@ delivery.")
(define-public exim (define-public exim
(package (package
(name "exim") (name "exim")
(version "4.92.2") (version "4.92.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1206,7 +1206,8 @@ delivery.")
(string-append "https://ftp.exim.org/pub/exim/exim4/old/exim-" (string-append "https://ftp.exim.org/pub/exim/exim4/old/exim-"
version ".tar.bz2"))) version ".tar.bz2")))
(sha256 (sha256
(base32 "1xnc5rdcg5mcrvjqp506a9frmcr89jwsh4c5vbks46awyz1rfzsm")))) (base32
"0d0h0j9pl3yf089sc59ia60m3dqnkb3qh1qaz6vxfg2ja2mnm5i9"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("bdb" ,bdb-5.3) ; #error Version 6 and later BDB API is not supported `(("bdb" ,bdb-5.3) ; #error Version 6 and later BDB API is not supported

View file

@ -162,7 +162,7 @@ the traditional flat-text whatis databases.")
(define-public man-pages (define-public man-pages
(package (package
(name "man-pages") (name "man-pages")
(version "5.02") (version "5.03")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -172,7 +172,7 @@ the traditional flat-text whatis databases.")
(string-append "mirror://kernel.org/linux/docs/man-pages/Archive/" (string-append "mirror://kernel.org/linux/docs/man-pages/Archive/"
"man-pages-" version ".tar.xz"))) "man-pages-" version ".tar.xz")))
(sha256 (sha256
(base32 "1s4pdz2pwf0kvhdwx2s6lqn3xxzi38yz5jfyq5ymdmswc9gaiyn2")))) (base32 "082i9258rl9xxjgpxpz3v8jcwk96dsk704ki9h9lq7q8z7m3mqbz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases (modify-phases %standard-phases (delete 'configure)) '(#:phases (modify-phases %standard-phases (delete 'configure))

View file

@ -2171,7 +2171,7 @@ bindings to almost all functions of SLEPc.")
(define-public mumps (define-public mumps
(package (package
(name "mumps") (name "mumps")
(version "5.1.2") (version "5.2.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -2179,8 +2179,11 @@ bindings to almost all functions of SLEPc.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1s9asin08zqzmh08257sdghhivvy9vjif7c53fhaxaax2kd5qd7b")) "0jklh54x4y3ik1zkw6db7766kakjm5910diyaghfxxf8vwsgr26r"))
(patches (search-patches "mumps-build-parallelism.patch")))) (patches (search-patches "mumps-build-parallelism.patch"
"mumps-shared-libseq.patch"
"mumps-shared-mumps.patch"
"mumps-shared-pord.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("fortran" ,gfortran) `(("fortran" ,gfortran)
@ -2210,15 +2213,17 @@ CC = gcc
FC = gfortran FC = gfortran
FL = gfortran FL = gfortran
INCSEQ = -I$(topdir)/libseq INCSEQ = -I$(topdir)/libseq
LIBSEQ = -L$(topdir)/libseq -lmpiseq LIBSEQ = $(topdir)/libseq/libmpiseq.a
LIBSEQNEEDED = libseqneeded~; LIBSEQNEEDED = libseqneeded~;
CC = mpicc CC = mpicc
FC = mpifort FC = mpifort
FL = mpifort~] FL = mpifort~]
AR = ar vr # rules require trailing space, ugh... AR = ar vr # rules require trailing space, ugh...
RANLIB = ranlib RANLIB = ranlib
LIBBLAS = -L~a -lopenblas~@[ BLASDIR = ~a
SCALAP = -L~a -lscalapack~] LIBBLAS = -Wl,-rpath=$(BLASDIR) -Wl,-rpath='$$ORIGIN' -L$(BLASDIR) -lopenblas~@[
SCALAPDIR = ~a
SCALAP = -Wl,-rpath=$(SCALAPDIR) -Wl,-rpath='$$ORIGIN' -L$(SCALAPDIR) -lscalapack~]
LIBOTHERS = -pthread LIBOTHERS = -pthread
CDEFS = -DAdd_ CDEFS = -DAdd_
PIC = -fPIC PIC = -fPIC
@ -2229,18 +2234,18 @@ INCS = $(INCSEQ)
LIBS = $(SCALAP) $(LIBSEQ) LIBS = $(SCALAP) $(LIBSEQ)
LPORDDIR = $(topdir)/PORD/lib LPORDDIR = $(topdir)/PORD/lib
IPORD = -I$(topdir)/PORD/include IPORD = -I$(topdir)/PORD/include
LPORD = -L$(LPORDDIR) -lpord LPORD = $(LPORDDIR)/libpord.a
ORDERINGSF = -Dpord~@[ ORDERINGSF = -Dpord~@[
METISDIR = ~a METISDIR = ~a
IMETIS = -I$(METISDIR)/include IMETIS = -I$(METISDIR)/include
LMETIS = -L$(METISDIR)/lib -lmetis LMETIS = -Wl,-rpath $(METISDIR)/lib -L$(METISDIR)/lib -lmetis
ORDERINGSF += -Dmetis~]~@[~:{ ORDERINGSF += -Dmetis~]~@[~:{
SCOTCHDIR = ~a SCOTCHDIR = ~a
ISCOTCH = -I$(SCOTCHDIR)/include ISCOTCH = -I$(SCOTCHDIR)/include
LSCOTCH = -L$(SCOTCHDIR)/lib ~a-lesmumps -lscotch -lscotcherr LSCOTCH = -Wl,-rpath $(SCOTCHDIR)/lib -L$(SCOTCHDIR)/lib ~a-lesmumps -lscotch -lscotcherr
ORDERINGSF += ~a~}~] ORDERINGSF += ~a~}~]
ORDERINGSC = $(ORDERINGSF) ORDERINGSC = $(ORDERINGSF)
LORDERINGS = $(LPORD) $(LMETIS) $(LSCOTCH) LORDERINGS = $(LPORD) $(LMETIS) $(LSCOTCH) $(LIBSEQ)
IORDERINGSF = $(ISCOTCH) IORDERINGSF = $(ISCOTCH)
IORDERINGSC = $(IPORD) $(IMETIS) $(ISCOTCH)" IORDERINGSC = $(IPORD) $(IMETIS) $(ISCOTCH)"
(assoc-ref inputs "mpi") (assoc-ref inputs "mpi")
@ -2294,6 +2299,8 @@ IORDERINGSC = $(IPORD) $(IMETIS) $(ISCOTCH)"
(copy-recursively "include" (string-append out "/include")) (copy-recursively "include" (string-append out "/include"))
(when (file-exists? "libseq/libmpiseq.a") (when (file-exists? "libseq/libmpiseq.a")
(install-file "libseq/libmpiseq.a" libdir)) (install-file "libseq/libmpiseq.a" libdir))
(when (file-exists? "libseq/libmpiseq.so")
(install-file "libseq/libmpiseq.so" libdir))
#t)))))) #t))))))
(home-page "http://mumps.enseeiht.fr") (home-page "http://mumps.enseeiht.fr")
(synopsis "Multifrontal sparse direct solver") (synopsis "Multifrontal sparse direct solver")

View file

@ -1779,25 +1779,23 @@ QMatrixClient project.")
("qtdeclarative" ,qtdeclarative) ("qtdeclarative" ,qtdeclarative)
("qtmultimedia" ,qtmultimedia) ("qtmultimedia" ,qtmultimedia)
("qtquickcontrols" ,qtquickcontrols) ("qtquickcontrols" ,qtquickcontrols)
("qtquickcontrols2" ,qtquickcontrols2)
("qtsvg" ,qtsvg) ("qtsvg" ,qtsvg)
("qttools" ,qttools))) ("qttools" ,qttools)))
(arguments (arguments
`(#:tests? #f ; no tests `(#:tests? #f ; no tests
#:modules ((guix build cmake-build-system)
(guix build qt-utils)
(guix build utils))
#:imported-modules (,@%cmake-build-system-modules
(guix build qt-utils))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'install 'wrap-program (add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(wrap-program (string-append (assoc-ref outputs "out") (let ((out (assoc-ref outputs "out")))
"/bin/quaternion") (wrap-qt-program out "quaternion")
`("QT_PLUGIN_PATH" ":" prefix #t))))))
(,(string-append (assoc-ref inputs "qtsvg")
"/lib/qt5/plugins")))
`("QML2_IMPORT_PATH" ":" prefix
,(map (lambda (label)
(string-append (assoc-ref inputs label)
"/lib/qt5/qml"))
'("qtdeclarative" "qtquickcontrols"))))
#t)))))
(home-page "https://matrix.org/docs/projects/client/quaternion.html") (home-page "https://matrix.org/docs/projects/client/quaternion.html")
(synopsis "Graphical client for the Matrix instant messaging protocol") (synopsis "Graphical client for the Matrix instant messaging protocol")
(description "Quaternion is a Qt5 desktop client for the Matrix instant (description "Quaternion is a Qt5 desktop client for the Matrix instant
@ -1855,7 +1853,7 @@ messaging that arent available to clients that connect over XMPP.")
(define-public telegram-purple (define-public telegram-purple
(package (package
(name "telegram-purple") (name "telegram-purple")
(version "1.4.1") (version "1.4.2")
(home-page "https://github.com/majn/telegram-purple") (home-page "https://github.com/majn/telegram-purple")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@ -1865,7 +1863,7 @@ messaging that arent available to clients that connect over XMPP.")
(recursive? #t))) (recursive? #t)))
(sha256 (sha256
(base32 (base32
"0xlmqnlp2dqkgsq052d6dwgvqbwch2w0dnwpjslk5na4ih3lfr7k")) "0imbzhhq9qbj6gvkckrnjhls2vvmmy8db7l6gsd7lng2pbfcn522"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View file

@ -185,6 +185,10 @@ bind processes, and much more.")
(member (%current-system) (package-supported-systems psm2))) (member (%current-system) (package-supported-systems psm2)))
`(("psm2" ,psm2)) `(("psm2" ,psm2))
'()) '())
,@(if (and (not (%current-target-system))
(member (%current-system) (package-supported-systems psm2)))
`(("ucx" ,ucx))
'())
("rdma-core" ,rdma-core) ("rdma-core" ,rdma-core)
("valgrind" ,valgrind) ("valgrind" ,valgrind)
("slurm" ,slurm))) ;for PMI support (launching via "srun") ("slurm" ,slurm))) ;for PMI support (launching via "srun")

View file

@ -23,6 +23,7 @@
;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si> ;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.org> ;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.org>
;;; Copyright © 2019 raingloom <raingloom@protonmail.com> ;;; Copyright © 2019 raingloom <raingloom@protonmail.com>
;;; Copyright © 2019 David Wilson <david@daviwil.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -3402,8 +3403,9 @@ slow gear audio effect to produce volume swells."))))
a simulation of an analog Wah pedal with switchless activation.")))) a simulation of an analog Wah pedal with switchless activation."))))
(define-public rkrlv2 (define-public rkrlv2
(let ((commit "d8c17d3c976107e5c012970276d7cf0aa059f15b") ;; This commit corresponds to the beta_3 tag
(revision "1")) (let ((commit "7edcb4e29a358623bfd57fa2c27e5da60adfcec3")
(revision "2"))
(package (package
(name "rkrlv2") (name "rkrlv2")
(version (git-version "0" revision commit)) (version (git-version "0" revision commit))
@ -3414,7 +3416,7 @@ a simulation of an analog Wah pedal with switchless activation."))))
(commit commit))) (commit commit)))
(sha256 (sha256
(base32 (base32
"035z068rlafb7ibgqf34ck2lm4fab8yzlx41qh061x2xi4hxkvp0")) "16i4ajrib7kb0abdcn4901g8a4lkwkp2fyqyms38dhqq84slyfjs"))
(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 '(#:tests? #f)) ; there are no tests (arguments '(#:tests? #f)) ; there are no tests
@ -4052,31 +4054,20 @@ notation and includes basic support for digital audio.")
(license license:gpl2))) (license license:gpl2)))
(define-public patchmatrix (define-public patchmatrix
;; There have been no releases for more than a year.
(let ((commit "a0b0b1e791f4574d5abd059cfe1819c71e8b18d5")
(revision "1"))
(package (package
(name "patchmatrix") (name "patchmatrix")
(version (git-version "0.12.0" revision commit)) (version "0.16.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/OpenMusicKontrollers/patchmatrix.git") (url "https://github.com/OpenMusicKontrollers/patchmatrix.git")
(commit commit))) (commit version)))
(file-name (string-append "patchmatrix-" version "-checkout")) (file-name (git-file-name "patchmatrix" version))
(sha256 (sha256
(base32 (base32
"0pph4ra7aci3rbpqvvr564pi16vxrk448bmvp8985cd9lbjlrp3m")))) "020vp7zzxxzzjfic57vkpg68dm8hi98ilr1bj88xjsv6i47xmjbn"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments '(#:tests? #f)) ; no test target
'(#:tests? #f ; no test target
#:phases
(modify-phases %standard-phases
(add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
(lambda* (#:key outputs #:allow-other-keys)
(map make-file-writable
(find-files (assoc-ref outputs "out") ".*\\.gz$"))
#t)))))
(inputs (inputs
`(("jack" ,jack-1) `(("jack" ,jack-1)
("lv2" ,lv2) ("lv2" ,lv2)
@ -4088,7 +4079,7 @@ notation and includes basic support for digital audio.")
(description "PatchMatrix is a patch bay for the JACK audio connection (description "PatchMatrix is a patch bay for the JACK audio connection
kit. It provides a patch bay in flow matrix style for audio, MIDI, CV, and kit. It provides a patch bay in flow matrix style for audio, MIDI, CV, and
OSC connections.") OSC connections.")
(license license:artistic2.0)))) (license license:artistic2.0)))
(define-public sorcer (define-public sorcer
(package (package
@ -4677,3 +4668,33 @@ easier to perform. Features include:
sqlite. It is constructed to be fast, light, and simultaneously tries to be sqlite. It is constructed to be fast, light, and simultaneously tries to be
complete without obstructing your daily work.") complete without obstructing your daily work.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public playerctl
(package
(name "playerctl")
(version "2.0.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/altdesktop/playerctl.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1f3njnpd52djx3dmhh9a8p5a67f0jmr1gbk98icflr2q91149gjz"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags '("-Dintrospection=false" "-Dgtk-doc=false")))
(inputs `(("python-pygobject" ,python-pygobject)))
(native-inputs
`(("glib:bin" ,glib "bin")
("pkg-config" ,pkg-config)))
(synopsis "Control MPRIS-supporting media player applications")
(description
"Playerctl is a command-line utility and library for controlling media
players that implement the MPRIS D-Bus Interface Specification. Playerctl
makes it easy to bind player actions, such as play and pause, to media keys.
You can also get metadata about the playing track such as the artist and title
for integration into status line generators or other command-line tools.")
(home-page "https://github.com/altdesktop/playerctl")
(license license:lgpl3+)))

View file

@ -31,6 +31,7 @@
;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si> ;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2019 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2019 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2019 Tonton <tonton@riseup.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -1077,7 +1078,7 @@ private (reserved).")
(define-public perl-net-dns (define-public perl-net-dns
(package (package
(name "perl-net-dns") (name "perl-net-dns")
(version "1.20") (version "1.21")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1088,7 +1089,7 @@ private (reserved).")
(string-append "mirror://cpan/authors/id/N/NL/NLNETLABS/Net-DNS-" (string-append "mirror://cpan/authors/id/N/NL/NLNETLABS/Net-DNS-"
version ".tar.gz"))) version ".tar.gz")))
(sha256 (sha256
(base32 "06z09igd42s0kg2ps5k7vpypg77zswfryqzbyalbllvjd0mnknbz")))) (base32 "0yknrsh0wqr9s43c0wf3dyzrsi2r7k0v75hay74gqkq850xy3vyx"))))
(build-system perl-build-system) (build-system perl-build-system)
(inputs (inputs
`(("perl-digest-hmac" ,perl-digest-hmac))) `(("perl-digest-hmac" ,perl-digest-hmac)))
@ -2641,3 +2642,37 @@ Supplicant. It optimizes resource utilization by not depending on any external
libraries and instead utilizing features provided by the Linux kernel to the libraries and instead utilizing features provided by the Linux kernel to the
maximum extent possible.") maximum extent possible.")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
(define-public batctl
(package
(name "batctl")
(version "2019.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://downloads.open-mesh.org/batman/releases/batman-adv-"
version "/batctl-" version ".tar.gz"))
(sha256
(base32
"0307a01n72kg7vcm60mi8jna6bydiin2cr3ylrixra1596hkzn9b"))))
(inputs
`(("libnl" ,libnl)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(build-system gnu-build-system)
(arguments
`(#:tests? #f
;; Batctl only has a makefile. Thus we disable tests and
;; configuration, passing in a few make-flags.
#:phases (modify-phases %standard-phases (delete 'configure))
#:make-flags
(list (string-append "PREFIX=" (assoc-ref %outputs "out"))
(string-append "PKG_CONFIG=" (assoc-ref %build-inputs "pkg-config")
"/bin/pkg-config")
"CC=gcc")))
(home-page "https://www.open-mesh.org/projects/batman-adv/wiki/Wiki")
(synopsis "Management tool for the mesh networking BATMAN protocol")
(description "This package provides a control tool for the
B.A.T.M.A.N. mesh networking routing protocol provided by the Linux kernel
module @code{batman-adv}, for Layer 2.")
(license license:gpl2+)))

View file

@ -2,7 +2,7 @@
;;; Copyright © 2015 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2015 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2019 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2016, 2017, 2019 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -853,14 +853,13 @@ permanence.")
(define-public python-git-review (define-public python-git-review
(package (package
(name "python-git-review") (name "python-git-review")
(version "1.27.0") (version "1.28.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "git-review" version)) (uri (pypi-uri "git-review" version))
(sha256 (sha256
(base32 (base32 "0nn17mfqvsa3ryjz53qjslmf60clc0vx2115kkj66h28p6vsnflf"))))
"0xkllc8ql401sfqbjqf7i451mkgwgv0j4gysxdlyzqb27kfsyc3s"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
'(#:tests? #f ; tests require a running Gerrit server '(#:tests? #f ; tests require a running Gerrit server

View file

@ -110,8 +110,8 @@
;; Note: the 'update-guix-package.scm' script expects this definition to ;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this. ;; start precisely like this.
(let ((version "1.0.1") (let ((version "1.0.1")
(commit "fc1fe722a05318ac05a71a0b127f231631e2843f") (commit "f63e49342bb8536d24b35ed57a2be978556f149e")
(revision 7)) (revision 9))
(package (package
(name "guix") (name "guix")
@ -127,7 +127,7 @@
(commit commit))) (commit commit)))
(sha256 (sha256
(base32 (base32
"0yx19hxvmkr6ar65ym87xd83n6hz02mr7ibwis7i8wah85ypfq26")) "18bxcbxcwxlgfgdapjyxg0d98c9g00ivjhhb2xyg42dbmbkh6nqy"))
(file-name (string-append "guix-" version "-checkout")))) (file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments

View file

@ -21,7 +21,7 @@
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net> ;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de> ;;; Copyright © 2018, 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk> ;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -183,23 +183,25 @@ algorithms AES or Twofish.")
(define-public pwsafe (define-public pwsafe
(package (package
(name "pwsafe") (name "pwsafe")
(version "3.48.0") (version "3.50.0")
(home-page "https://www.pwsafe.org/" ) (home-page "https://www.pwsafe.org/")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/pwsafe/pwsafe.git") (url "https://github.com/pwsafe/pwsafe.git")
(commit version))) (commit version)))
(sha256 (base32 "0hxv23yh76liggxbjn4m132z15sklra8ms341xgzl4n5vjx30ihi")) (sha256
(file-name (string-append name "-" version "-checkout")))) (base32 "01kfssd2vr64yh4dqhch58x36n3aj3hpj5n560f41rsxym69c6qs"))
(file-name (git-file-name name version))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs `(("gettext" ,gettext-minimal) (native-inputs
`(("gettext" ,gettext-minimal)
("gtest" ,googletest)
("perl" ,perl) ("perl" ,perl)
("zip" ,zip))) ("zip" ,zip)))
(inputs `(("curl" ,curl) (inputs `(("curl" ,curl)
("file" ,file) ("file" ,file)
("gtest" ,googletest)
("libuuid" ,util-linux) ("libuuid" ,util-linux)
("libxt" ,libxt) ("libxt" ,libxt)
("libxtst" ,libxtst) ("libxtst" ,libxtst)

View file

@ -0,0 +1,72 @@
From 94914ca4690c0cff12d600a0c8ba6bfb3fb38dc5 Mon Sep 17 00:00:00 2001
From: Jonas Bernoulli <jonas@bernoul.li>
Date: Tue, 25 Jun 2019 21:44:32 +0200
Subject: [PATCH] magit-log-format-author-margin: New function
Split it from `magit-log-format-margin'.
---
lisp/magit-log.el | 48 +++++++++++++++++++++++++----------------------
1 file changed, 26 insertions(+), 22 deletions(-)
diff --git a/lisp/magit-log.el b/lisp/magit-log.el
index c8e6ef63..c0a79b19 100644
--- a/lisp/magit-log.el
+++ b/lisp/magit-log.el
@@ -1374,28 +1374,32 @@ The shortstat style is experimental and rather slow."
(when-let ((option (magit-margin-option)))
(if magit-log-margin-show-shortstat
(magit-log-format-shortstat-margin rev)
- (pcase-let ((`(,_ ,style ,width ,details ,details-width)
- (or magit-buffer-margin
- (symbol-value option))))
- (magit-make-margin-overlay
- (concat (and details
- (concat (propertize (truncate-string-to-width
- (or author "")
- details-width
- nil ?\s (make-string 1 magit-ellipsis))
- 'face 'magit-log-author)
- " "))
- (propertize
- (if (stringp style)
- (format-time-string
- style
- (seconds-to-time (string-to-number date)))
- (pcase-let* ((abbr (eq style 'age-abbreviated))
- (`(,cnt ,unit) (magit--age date abbr)))
- (format (format (if abbr "%%2i%%-%ic" "%%2i %%-%is")
- (- width (if details (1+ details-width) 0)))
- cnt unit)))
- 'face 'magit-log-date)))))))
+ (magit-log-format-author-margin author date))))
+
+(defun magit-log-format-author-margin (author date &optional previous-line)
+ (pcase-let ((`(,_ ,style ,width ,details ,details-width)
+ (or magit-buffer-margin
+ (symbol-value option))))
+ (magit-make-margin-overlay
+ (concat (and details
+ (concat (propertize (truncate-string-to-width
+ (or author "")
+ details-width
+ nil ?\s (make-string 1 magit-ellipsis))
+ 'face 'magit-log-author)
+ " "))
+ (propertize
+ (if (stringp style)
+ (format-time-string
+ style
+ (seconds-to-time (string-to-number date)))
+ (pcase-let* ((abbr (eq style 'age-abbreviated))
+ (`(,cnt ,unit) (magit--age date abbr)))
+ (format (format (if abbr "%%2i%%-%ic" "%%2i %%-%is")
+ (- width (if details (1+ details-width) 0)))
+ cnt unit)))
+ 'face 'magit-log-date))
+ previous-line)))
(defun magit-log-format-shortstat-margin (rev)
(magit-make-margin-overlay
--
2.23.0

View file

@ -0,0 +1,42 @@
Create a shared version of the sequential library, MUST BE LAST IN SERIES
Index: mumps/libseq/Makefile
===================================================================
--- mumps.orig/libseq/Makefile
+++ mumps/libseq/Makefile
@@ -8,15 +8,17 @@ all: libmpiseq
include ../Makefile.inc
-libmpiseq: libmpiseq$(PLAT)$(LIBEXT)
+libmpiseq: libmpiseq$(PLAT).a libmpiseq$(PLAT).so
-libmpiseq$(PLAT)$(LIBEXT): mpi.o mpic.o elapse.o
- $(AR)$@ mpi.o mpic.o elapse.o
+libmpiseq$(PLAT).a: mpi.o mpic.o elapse.o
+ $(AR) $@ mpi.o mpic.o elapse.o
$(RANLIB) $@
+libmpiseq$(PLAT).so: mpi.o mpic.o elapse.o
+ $(FC) -shared $^ -Wl,-soname,libmpiseq$(PLAT)-5.1.2.so -o libmpiseq$(PLAT)-5.1.2.so -Wl,-z,defs
.f.o:
- $(FC) $(OPTF) -c $*.f $(OUTF)$*.o
+ $(FC) $(OPTF) -fPIC -c $*.f $(OUTF)$*.o
.c.o:
- $(CC) $(OPTC) $(CDEFS) -I. -c $*.c $(OUTC)$*.o
+ $(CC) $(OPTC) $(CDEFS) -I. -fPIC -c $*.c $(OUTC)$*.o
clean:
- $(RM) *.o *$(LIBEXT)
+ $(RM) *.o *.a *.so
Index: mumps/Makefile
===================================================================
--- mumps.orig/Makefile
+++ mumps/Makefile
@@ -60,6 +60,7 @@ requiredobj: Makefile.inc $(LIBSEQNEEDED
libseqneeded:
(cd libseq; $(MAKE))
+ cp libseq/lib* $(libdir)
# Build the libpord.a library and copy it into $(topdir)/lib
$(libdir)/libpord$(PLAT).a:

View file

@ -0,0 +1,63 @@
Create a shared version of the MUMPS library.
Index: mumps/src/Makefile
===================================================================
--- mumps.orig/src/Makefile
+++ mumps/src/Makefile
@@ -23,8 +23,10 @@ z:
include $(topdir)/Makefile.inc
-mumps_lib: $(libdir)/libmumps_common$(PLAT)$(LIBEXT) \
- $(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT)
+mumps_lib: $(libdir)/libmumps_common$(PLAT).a \
+ $(libdir)/libmumps_common$(PLAT).so \
+ $(libdir)/lib$(ARITH)mumps$(PLAT).a \
+ $(libdir)/lib$(ARITH)mumps$(PLAT).so
OBJS_COMMON_MOD = \
lr_common.o \
@@ -167,14 +169,22 @@ OBJS_OTHER = \
$(ARITH)tools.o\
$(ARITH)type3_root.o
-$(libdir)/libmumps_common$(PLAT)$(LIBEXT): $(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER)
- $(AR)$@ $?
+$(libdir)/libmumps_common$(PLAT).a: $(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER)
+ $(AR) $@ $?
$(RANLIB) $@
-$(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT): $(OBJS_MOD) $(OBJS_OTHER)
- $(AR)$@ $?
+$(libdir)/libmumps_common$(PLAT).so: $(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER)
+ $(FC) -shared $^ -Wl,-soname,libmumps_common$(PLAT)-5.1.2.so -L$(libdir) $(LORDERINGS) -lpthread $(MPIFLIB) $(MPICLIB) $(LEXTRAS) -o $(libdir)/libmumps_common$(PLAT)-5.1.2.so -Wl,-z,defs
+ ln -s libmumps_common$(PLAT)-5.1.2.so $@
+
+$(libdir)/lib$(ARITH)mumps$(PLAT).a: $(OBJS_MOD) $(OBJS_OTHER)
+ $(AR) $@ $?
$(RANLIB) $@
+$(libdir)/lib$(ARITH)mumps$(PLAT).so: $(OBJS_MOD) $(OBJS_OTHER)
+ $(FC) -shared $^ -Wl,-soname,lib$(ARITH)mumps$(PLAT)-5.1.2.so -L$(libdir) -lmumps_common$(PLAT) $(LORDERINGS) $(MPIFLIB) $(LEXTRAS) $(LIBBLAS) $(SCALAP) $(LAPACK) -o $(libdir)/lib$(ARITH)mumps$(PLAT)-5.1.2.so -Wl,-z,defs
+ ln -s lib$(ARITH)mumps$(PLAT)-5.1.2.so $@
+
# Dependencies between modules:
$(ARITH)mumps_load.o: $(ARITH)mumps_comm_buffer.o \
$(ARITH)mumps_struc_def.o \
@@ -290,13 +300,13 @@ $(OBJS_OTHER):$(OBJS_COMMON_MOD) $(OBJS_
.SUFFIXES: .c .F .o
.F.o:
- $(FC) $(OPTF) $(INCS) $(IORDERINGSF) $(ORDERINGSF) -I. -I../include -c $*.F $(OUTF)$*.o
+ $(FC) $(OPTF) $(INCS) $(IORDERINGSF) $(ORDERINGSF) -I. -I../include -fPIC -c $*.F $(OUTF)$*.o
.c.o:
- $(CC) $(OPTC) $(INCS) -I../include $(CDEFS) $(IORDERINGSC) $(ORDERINGSC) -c $*.c $(OUTC)$*.o
+ $(CC) $(OPTC) $(INCS) -I../include $(CDEFS) $(IORDERINGSC) $(ORDERINGSC) -fPIC -c $*.c $(OUTC)$*.o
$(ARITH)mumps_c.o: mumps_c.c
$(CC) $(OPTC) $(INCS) $(CDEFS) -DMUMPS_ARITH=MUMPS_ARITH_$(ARITH) \
- $(IORDERINGSC) $(ORDERINGSC) -I../include -c mumps_c.c $(OUTC)$@
+ $(IORDERINGSC) $(ORDERINGSC) -I../include -fPIC -c mumps_c.c $(OUTC)$@
clean:

View file

@ -0,0 +1,77 @@
Create static and shared versions of the PORD library.
Index: mumps/PORD/lib/Makefile
===================================================================
--- mumps.orig/PORD/lib/Makefile
+++ mumps/PORD/lib/Makefile
@@ -9,7 +9,7 @@
INCLUDES = -I../include
-COPTIONS = $(INCLUDES) $(CFLAGS) $(OPTFLAGS)
+COPTIONS = $(INCLUDES) $(CFLAGS) $(OPTFLAGS) -fPIC
OBJS = graph.o gbipart.o gbisect.o ddcreate.o ddbisect.o nestdiss.o \
multisector.o gelim.o bucket.o tree.o \
@@ -24,12 +24,16 @@ OBJS = graph.o gbipart.o gbisect.o ddcre
.c.o:
$(CC) $(COPTIONS) -c $*.c $(OUTC)$*.o
-libpord$(LIBEXT):$(OBJS)
- $(AR)$@ $(OBJS)
+libpord$(PLAT).a:$(OBJS)
+ $(AR) $@ $(OBJS)
$(RANLIB) $@
+libpord$(PLAT).so: $(OBJS)
+ $(CC) -shared $(OBJS) -Wl,-soname,libpord$(PLAT)-5.1.2.so -o libpord$(PLAT)-5.1.2.so -Wl,-z,defs
+ ln -s libpord$(PLAT)-5.1.2.so $@
+
clean:
rm -f *.o
realclean:
- rm -f *.o libpord.a
+ rm -f *.o libpord*.a *.so
Index: mumps/Makefile
===================================================================
--- mumps.orig/Makefile
+++ mumps/Makefile
@@ -54,7 +54,7 @@ dexamples: d
multi_example: s d c z
(cd examples ; $(MAKE) multi)
-requiredobj: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT)
+requiredobj: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT).a $(libdir)/libpord$(PLAT).so
# dummy MPI library (sequential version)
@@ -62,19 +62,25 @@ libseqneeded:
(cd libseq; $(MAKE))
# Build the libpord.a library and copy it into $(topdir)/lib
-$(libdir)/libpord$(PLAT)$(LIBEXT):
+$(libdir)/libpord$(PLAT).a:
if [ "$(LPORDDIR)" != "" ] ; then \
cd $(LPORDDIR); \
$(MAKE) CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" RANLIB="$(RANLIB)" OUTC="$(OUTC)" LIBEXT=$(LIBEXT); \
fi;
if [ "$(LPORDDIR)" != "" ] ; then \
- cp $(LPORDDIR)/libpord$(LIBEXT) $@; \
+ cp $(LPORDDIR)/libpord$(PLAT).a $@; \
fi;
+$(libdir)/libpord$(PLAT).so:
+ if [ "$(LPORDDIR)" != "" ] ; then \
+ cd $(LPORDDIR); make CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" ARFUNCT= RANLIB="$(RANLIB)" libpord$(PLAT).so; fi;
+ if [ "$(LPORDDIR)" != "" ] ; then \
+ cp -a $(LPORDDIR)/libpord*.so lib/; fi;
+
clean:
(cd src; $(MAKE) clean)
(cd examples; $(MAKE) clean)
- (cd $(libdir); $(RM) *$(PLAT)$(LIBEXT))
+ (cd $(libdir); $(RM) *$(PLAT).a *$(PLAT).so)
(cd libseq; $(MAKE) clean)
if [ "$(LPORDDIR)" != "" ] ; then \
cd $(LPORDDIR); $(MAKE) realclean; \

View file

@ -1,16 +0,0 @@
This test appears to fail in GNU Guix and elsewhere. It has been reported
upstream at https://github.com/puma/puma/issues/995
diff --git a/spec/concurrent/channel_spec.rb b/spec/concurrent/channel_spec.rb
index d70fba8..4f29a8b 100644
--- a/spec/concurrent/channel_spec.rb
+++ b/spec/concurrent/channel_spec.rb
@@ -598,7 +598,7 @@ module Concurrent
}.to raise_error(ArgumentError)
end
- it 'loops until the block returns false' do
+ xit 'loops until the block returns false' do
actual = 0
expected = 3
latch = Concurrent::CountDownLatch.new(expected)

View file

@ -1,36 +0,0 @@
Work around two test suite failures on ARM:
https://github.com/ruby-concurrency/concurrent-ruby/issues/547
The regexps here assume addresses like "0x1234" but on ARM (32-bit)
we get something like "0x-7db1e810" (notice the dash).
diff --git a/spec/concurrent/edge/promises_spec.rb b/spec/concurrent/edge/promises_spec.rb
index 727210f..149f7cd 100644
--- a/spec/concurrent/edge/promises_spec.rb
+++ b/spec/concurrent/edge/promises_spec.rb
@@ -371,9 +371,9 @@ describe 'Concurrent::Promises' do
four = three.delay.then(&:succ)
# meaningful to_s and inspect defined for Future and Promise
- expect(head.to_s).to match /<#Concurrent::Promises::Future:0x[\da-f]+ pending>/
+ expect(head.to_s).to match /<#Concurrent::Promises::Future:0x-?[\da-f]+ pending>/
expect(head.inspect).to(
- match(/<#Concurrent::Promises::Future:0x[\da-f]+ pending>/))
+ match(/<#Concurrent::Promises::Future:0x-?[\da-f]+ pending>/))
# evaluates only up to three, four is left unevaluated
expect(three.value!).to eq 3
diff --git a/spec/concurrent/map_spec.rb b/spec/concurrent/map_spec.rb
index c4050be..0a9095d 100644
--- a/spec/concurrent/map_spec.rb
+++ b/spec/concurrent/map_spec.rb
@@ -794,7 +794,7 @@ module Concurrent
end
it '#inspect' do
- regexp = /\A#<Concurrent::Map:0x[0-9a-f]+ entries=[0-9]+ default_proc=.*>\Z/i
+ regexp = /\A#<Concurrent::Map:0x-?[0-9a-f]+ entries=[0-9]+ default_proc=.*>\Z/i
expect(Concurrent::Map.new.inspect).to match(regexp)
expect((Concurrent::Map.new {}).inspect).to match(regexp)
map = Concurrent::Map.new

View file

@ -1170,7 +1170,7 @@ reported, and the tests skipped.")
(define-public perl-test-runvalgrind (define-public perl-test-runvalgrind
(package (package
(name "perl-test-runvalgrind") (name "perl-test-runvalgrind")
(version "0.2.0") (version "0.2.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1179,8 +1179,7 @@ reported, and the tests skipped.")
version version
".tar.gz")) ".tar.gz"))
(sha256 (sha256
(base32 (base32 "175hlycrhgwrp7j4rwx5bk4fd6775242wjdqv107rvgsrszsi915"))))
"0cfndkn2k9pcx290wcblwmrwh1ybs0grxjlsrp8fbqqbmmjpb53h"))))
(build-system perl-build-system) (build-system perl-build-system)
(native-inputs (native-inputs
`(("perl-module-build" ,perl-module-build))) `(("perl-module-build" ,perl-module-build)))

View file

@ -652,14 +652,14 @@ easy to use abstraction of the file system or shared memory.")
(define-public perl-cache-fastmmap (define-public perl-cache-fastmmap
(package (package
(name "perl-cache-fastmmap") (name "perl-cache-fastmmap")
(version "1.47") (version "1.48")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/R/RO/ROBM/" (uri (string-append "mirror://cpan/authors/id/R/RO/ROBM/"
"Cache-FastMmap-" version ".tar.gz")) "Cache-FastMmap-" version ".tar.gz"))
(sha256 (sha256
(base32 "0fdni3iyjfnx8ldgrz3h6z6yxbklrx76klcghg6xvmzd878yqlmi")))) (base32 "118y5lxwa092zrii7mcwnqypff7424w1dpgfkg8zlnz7h2mmnd9c"))))
(build-system perl-build-system) (build-system perl-build-system)
(home-page "https://metacpan.org/release/Cache-FastMmap") (home-page "https://metacpan.org/release/Cache-FastMmap")
(synopsis "Shared memory interprocess cache via mmap") (synopsis "Shared memory interprocess cache via mmap")
@ -935,18 +935,19 @@ sophisticated C3 method resolution order.")
(define-public perl-class-c3-adopt-next (define-public perl-class-c3-adopt-next
(package (package
(name "perl-class-c3-adopt-next") (name "perl-class-c3-adopt-next")
(version "0.13") (version "0.14")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/F/FL/FLORA/" (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
"Class-C3-Adopt-NEXT-" version ".tar.gz")) "Class-C3-Adopt-NEXT-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "1xsbydmiskpa1qbmnf6n39cb83nlb432xgkad9kfhxnvm8jn4rw5"))))
"1rwgbx6dsy4rpas94p8wakzj7hrla1p15jnbm24kwhsv79gp91ld"))))
(build-system perl-build-system) (build-system perl-build-system)
(native-inputs (native-inputs
`(("perl-test-exception" ,perl-test-exception))) `(("perl-module-build" ,perl-module-build)
("perl-module-build-tiny" ,perl-module-build-tiny)
("perl-test-exception" ,perl-test-exception)))
(propagated-inputs (propagated-inputs
`(("perl-list-moreutils" ,perl-list-moreutils) `(("perl-list-moreutils" ,perl-list-moreutils)
("perl-mro-compat" ,perl-mro-compat))) ("perl-mro-compat" ,perl-mro-compat)))
@ -1157,19 +1158,18 @@ write accessor methods for your objects that perform standard tasks.")
(define-public perl-class-method-modifiers (define-public perl-class-method-modifiers
(package (package
(name "perl-class-method-modifiers") (name "perl-class-method-modifiers")
(version "2.12") (version "2.13")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
"Class-Method-Modifiers-" version ".tar.gz")) "Class-Method-Modifiers-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "0qzx83mgd71hlc2m1kpw15dqsjzjq7b2cj3sdgg45a0q23vhfn5b"))))
"1j3swa212wh14dq5r6zjarm2lzpx6mrdfplpjy65px8b09ri0k74"))))
(build-system perl-build-system) (build-system perl-build-system)
(native-inputs (native-inputs
`(("perl-test-fatal" ,perl-test-fatal) `(("perl-test-fatal" ,perl-test-fatal)
("perl-test-requires" ,perl-test-requires))) ("perl-test-needs" ,perl-test-needs)))
(home-page "https://metacpan.org/release/Class-Method-Modifiers") (home-page "https://metacpan.org/release/Class-Method-Modifiers")
(synopsis "Moose-like method modifiers") (synopsis "Moose-like method modifiers")
(description "Class::Method::Modifiers provides three modifiers: (description "Class::Method::Modifiers provides three modifiers:
@ -2390,25 +2390,27 @@ to do this without writing reams of structural code.")
(define-public perl-datetime-format-flexible (define-public perl-datetime-format-flexible
(package (package
(name "perl-datetime-format-flexible") (name "perl-datetime-format-flexible")
(version "0.28") (version "0.32")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/T/TH/THINC/" (uri (string-append "mirror://cpan/authors/id/T/TH/THINC/"
"DateTime-Format-Flexible-" version ".tar.gz")) "DateTime-Format-Flexible-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "1vnq3a8bwhidcv3z9cvcmfiq2qa84hikr993ffr19fw7nbzbk9sh"))))
"1g63zs0q2x40h29r7in50c55g6kxiw3m2faw2p6c4rg74sj2k2b5"))))
(build-system perl-build-system) (build-system perl-build-system)
(native-inputs
`(("perl-test-exception" ,perl-test-exception)
("perl-test-nowarnings" ,perl-test-nowarnings)
("perl-test-mocktime" ,perl-test-mocktime)))
(propagated-inputs (propagated-inputs
`(("perl-datetime" ,perl-datetime) `(("perl-datetime" ,perl-datetime)
("perl-datetime-format-builder" ,perl-datetime-format-builder) ("perl-datetime-format-builder" ,perl-datetime-format-builder)
("perl-datetime-timezone" ,perl-datetime-timezone) ("perl-datetime-timezone" ,perl-datetime-timezone)
("perl-list-moreutils" ,perl-list-moreutils) ("perl-list-moreutils" ,perl-list-moreutils)
("perl-module-pluggable" ,perl-module-pluggable) ("perl-module-pluggable" ,perl-module-pluggable)))
("perl-test-mocktime" ,perl-test-mocktime)))
(home-page "https://metacpan.org/release/DateTime-Format-Flexible") (home-page "https://metacpan.org/release/DateTime-Format-Flexible")
(synopsis "Parse data/time strings") (synopsis "Parse date and time strings")
(description "DateTime::Format::Flexible attempts to take any string you (description "DateTime::Format::Flexible attempts to take any string you
give it and parse it into a DateTime object.") give it and parse it into a DateTime object.")
(license (package-license perl)))) (license (package-license perl))))
@ -9395,15 +9397,14 @@ neither visible nor modifiable from Perl space).")
(define-public perl-yaml (define-public perl-yaml
(package (package
(name "perl-yaml") (name "perl-yaml")
(version "1.27") (version "1.29")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/T/TI/TINITA/" (uri (string-append "mirror://cpan/authors/id/T/TI/TINITA/"
"YAML-" version ".tar.gz")) "YAML-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "0gl5ssvrdajlbc85cy6z873n9cwlssk5q8z97a31vyiikhw5fp4w"))))
"1yc2yqjyrcdlhp209f3a63f9xx6v5klisli25fv221yy43la34n9"))))
(build-system perl-build-system) (build-system perl-build-system)
(native-inputs (native-inputs
`(("perl-test-yaml" ,perl-test-yaml))) `(("perl-test-yaml" ,perl-test-yaml)))
@ -9416,21 +9417,18 @@ on the YAML 1.0 specification.")
(define-public perl-yaml-libyaml (define-public perl-yaml-libyaml
(package (package
(name "perl-yaml-libyaml") (name "perl-yaml-libyaml")
(version "0.78") (version "0.80")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"mirror://cpan/authors/id/T/TI/TINITA/YAML-LibYAML-" "mirror://cpan/authors/id/T/TI/TINITA/YAML-LibYAML-"
version version ".tar.gz"))
".tar.gz"))
(sha256 (sha256
(base32 "03plv3wfqqqf7g8mxr8f6wlki2af8w3rg9xcfii1z5l1f1iarxx1")))) (base32 "1nhn4w52kpq757rxl052f61h36rdzsy416k740m3fy5ih7axhq4x"))))
(build-system perl-build-system) (build-system perl-build-system)
(home-page (home-page "https://metacpan.org/release/YAML-LibYAML")
"https://metacpan.org/release/YAML-LibYAML") (synopsis "Perl YAML Serialization using XS and libyaml")
(synopsis
"Perl YAML Serialization using XS and libyaml")
(description (description
"@code{YAML::XS} is a Perl XS binding to libyaml which offers Perl the "@code{YAML::XS} is a Perl XS binding to libyaml which offers Perl the
best YAML support to date.") best YAML support to date.")
@ -9707,7 +9705,7 @@ File::Find replacement in Perl.")
(define-public perl-file-find-object-rule (define-public perl-file-find-object-rule
(package (package
(name "perl-file-find-object-rule") (name "perl-file-find-object-rule")
(version "0.0309") (version "0.0311")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -9716,7 +9714,7 @@ File::Find replacement in Perl.")
version version
".tar.gz")) ".tar.gz"))
(sha256 (sha256
(base32 "1qr1rrp9gn0bpsixsrkan710sxc7bnhirh0anjsw2ihn4wdy3151")))) (base32 "0gjzfd5fz7mhr5abafxr7qic7nwhk7y9iv17as6l880973j952h3"))))
(build-system perl-build-system) (build-system perl-build-system)
(native-inputs (native-inputs
`(("perl-module-build" ,perl-module-build))) `(("perl-module-build" ,perl-module-build)))

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -37,7 +38,7 @@
(define-public poedit (define-public poedit
(package (package
(name "poedit") (name "poedit")
(version "2.2.1") (version "2.2.4")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -46,7 +47,7 @@
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1fxzmry4b23l90j03jdyvd4jprdpy4xcnhw7xrmmfnlbh2abf9x7")) "147jiiab4n0nbhzp1vw1jn8ykhy7qh6zf02654ppi0imdfvfnjss"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View file

@ -30,6 +30,7 @@
;;; Copyright © 2019 Vagrant Cascadian <vagrant@debian.org> ;;; Copyright © 2019 Vagrant Cascadian <vagrant@debian.org>
;;; Copyright © 2019 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2019 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -303,6 +304,34 @@ other HTTP libraries.")
(define-public python2-httplib2 (define-public python2-httplib2
(package-with-python2 python-httplib2)) (package-with-python2 python-httplib2))
(define-public httpie
(package
(name "httpie")
(version "1.0.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "httpie" version))
(sha256
(base32
"103fcigpxf4nqmrdqjnyz7d9n4n16906slwmmqqc0gkxv8hnw6vd"))))
(build-system python-build-system)
(arguments
;; The tests attempt to access external web servers, so we cannot run them.
'(#:tests? #f))
(propagated-inputs
`(("python-colorama" ,python-colorama)
("python-pygments" ,python-pygments)
("python-requests" ,python-requests)))
(home-page "https://httpie.org/")
(synopsis "cURL-like tool for humans")
(description
"A command line HTTP client with an intuitive UI, JSON support,
syntax highlighting, wget-like downloads, plugins, and more. It consists of
a single http command designed for painless debugging and interaction with
HTTP servers, RESTful APIs, and web services.")
(license license:bsd-3)))
(define-public python-html2text (define-public python-html2text
(package (package
(name "python-html2text") (name "python-html2text")
@ -817,21 +846,18 @@ connection to each user.")
(define-public python-tornado-http-auth (define-public python-tornado-http-auth
(package (package
(name "python-tornado-http-auth") (name "python-tornado-http-auth")
(version "1.1.0") (version "1.1.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "tornado-http-auth" version)) (uri (pypi-uri "tornado-http-auth" version))
(sha256 (sha256
(base32 (base32 "0hyc5f0a09i5yb99pk4bxpg6w9ichbrb5cv7hc9hff7rxd8w0v0x"))))
"0znrgqd7k2s4ia474xizi6h3061zj4sn5n6cq76bkwl3wwshifn5"))))
(build-system python-build-system) (build-system python-build-system)
(propagated-inputs (propagated-inputs
`(("python-tornado" ,python-tornado))) `(("python-tornado" ,python-tornado)))
(home-page (home-page "https://github.com/gvalkov/tornado-http-auth")
"https://github.com/gvalkov/tornado-http-auth") (synopsis "Digest and basic authentication module for Tornado")
(synopsis
"Digest and basic authentication module for Tornado")
(description (description
"Provides support for adding authentication to services using the Tornado "Provides support for adding authentication to services using the Tornado
web framework, either via the basic or digest authentication schemes.") web framework, either via the basic or digest authentication schemes.")
@ -2616,7 +2642,7 @@ for Flask programs that are using @code{python-alembic}.")
(define-public python-genshi (define-public python-genshi
(package (package
(name "python-genshi") (name "python-genshi")
(version "0.7.1") (version "0.7.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -2625,7 +2651,7 @@ for Flask programs that are using @code{python-alembic}.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "01fx8fnpay5w048ppyjivg2dgfpp5rybn07y3pfsgj2knram3nhl")))) (base32 "06rch30x10l105k5b6rahd839lkhmgrzn6691wbci0cb2fzps32w"))))
(build-system python-build-system) (build-system python-build-system)
(home-page "https://genshi.edgewall.org/") (home-page "https://genshi.edgewall.org/")
(synopsis "Toolkit for generation of output for the web") (synopsis "Toolkit for generation of output for the web")

View file

@ -66,6 +66,7 @@
;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com> ;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz> ;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -1571,6 +1572,27 @@ existing ones.")
;; Tests don't work with python2. ;; Tests don't work with python2.
#:tests? #f))))) #:tests? #f)))))
(define-public python-poyo
(package
(name "python-poyo")
(version "0.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "poyo" version))
(sha256
(base32
"1pflivs6j22frz0v3dqxnvc8yb8fb52g11lqr88z0i8cg2m5csg2"))))
(build-system python-build-system)
(home-page "https://github.com/hackebrot/poyo")
(synopsis "Lightweight YAML Parser for Python")
(description
"This package provides a lightweight YAML Parser for Python. It supports
only a chosen subset of the YAML format that is required to parse cookiecutter
user configuration files. It does not have support for serializing into YAML
and is not compatible with JSON.")
(license license:expat)))
(define-public scons (define-public scons
(package (package
(name "scons") (name "scons")
@ -2173,13 +2195,13 @@ cutting and pasting that code over and over.")
(define-public python-unidecode (define-public python-unidecode
(package (package
(name "python-unidecode") (name "python-unidecode")
(version "1.1.0") (version "1.1.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "Unidecode" version)) (uri (pypi-uri "Unidecode" version))
(sha256 (sha256
(base32 (base32
"00pi0czzwvbf7djhkkjyvimj60wqdx0llbddzfnax650g9b8yscc")))) "1s6cp2lv4m0f00hjckjz8p6m7d3n3v16jvg353llf5ia1iqsnsib"))))
(build-system python-build-system) (build-system python-build-system)
(home-page "https://pypi.python.org/pypi/Unidecode") (home-page "https://pypi.python.org/pypi/Unidecode")
(synopsis "ASCII transliterations of Unicode text") (synopsis "ASCII transliterations of Unicode text")
@ -2495,6 +2517,30 @@ written in pure Python.")
(define-public python2-jinja2 (define-public python2-jinja2
(package-with-python2 python-jinja2)) (package-with-python2 python-jinja2))
(define-public python-jinja2-time
(package
(name "python-jinja2-time")
(version "0.2.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "jinja2-time" version))
(sha256
(base32
"0h0dr7cfpjnjj8bgl2vk9063a53649pn37wnlkd8hxjy656slkni"))))
(build-system python-build-system)
(propagated-inputs
`(("python-arrow" ,python-arrow)
("python-jinja2" ,python-jinja2)))
(home-page
"https://github.com/hackebrot/jinja2-time")
(synopsis "Jinja2 Extension for Dates and Times")
(description
"This package provides an extension for the template engine Jinja2. It
adds a 'now' tag providing a convenient access to the arrow.now() API from
templates. A format string can be provided to control the output.")
(license license:expat)))
(define-public python-pystache (define-public python-pystache
(package (package
(name "python-pystache") (name "python-pystache")
@ -2714,7 +2760,7 @@ to deprecate classes, functions or methods.")
(define-public python-pygithub (define-public python-pygithub
(package (package
(name "python-pygithub") (name "python-pygithub")
(version "1.43.7") (version "1.43.8")
(source (source
;; We fetch from the Git repo because there are no tests in the PyPI ;; We fetch from the Git repo because there are no tests in the PyPI
;; archive. ;; archive.
@ -2725,8 +2771,7 @@ to deprecate classes, functions or methods.")
(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 "1625v558xga5mwhl9jqmibywy5qafmg1vqrirqz6zfq1la1d22mw"))))
"0ww92zz0ja9w6rw83vphmn8rwmcn6abg16j4q7zxjc0rrg2cfj9i"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases
@ -3075,23 +3120,17 @@ Language (TOML) configuration files.")
Server (PLS).") Server (PLS).")
(license license:expat))) (license license:expat)))
;; XXX: We must use a non-release version since the latest release version
;; requires python-jedi version < 0.15.
(define-public python-language-server (define-public python-language-server
(let ((commit "c3cab77a85b1de4af1aec1bafea6a7320d6baec5")
(revision "1"))
(package (package
(name "python-language-server") (name "python-language-server")
(version (git-version "0.28.3" revision commit)) (version "0.29.1")
(source (source
(origin (origin
(method git-fetch) (method url-fetch)
(uri (git-reference (uri (pypi-uri "python-language-server" version))
(url "https://github.com/palantir/python-language-server.git")
(commit commit)))
(sha256 (sha256
(base32 (base32
"1q0xdwgln09sh58j0ryygj92hfgdhwcs57zjvqihya23jr5v0bz4")))) "1f8qlflh6j3s7qfmzhirpl8fgidl6f0qbakdmiml96wdxzvka0s3"))))
(build-system python-build-system) (build-system python-build-system)
(propagated-inputs (propagated-inputs
`(("python-pluggy" ,python-pluggy) `(("python-pluggy" ,python-pluggy)
@ -3104,6 +3143,7 @@ Server (PLS).")
("python-mccabe" ,python-mccabe) ("python-mccabe" ,python-mccabe)
("python-rope" ,python-rope) ("python-rope" ,python-rope)
("python-autopep8" ,python-autopep8) ("python-autopep8" ,python-autopep8)
("python-flake8" ,python-flake8)
("python-pylint" ,python-pylint))) ("python-pylint" ,python-pylint)))
(home-page "https://github.com/palantir/python-language-server") (home-page "https://github.com/palantir/python-language-server")
(synopsis "Python implementation of the Language Server Protocol") (synopsis "Python implementation of the Language Server Protocol")
@ -3112,7 +3152,7 @@ Server (PLS).")
language specification for the Language Server Protocol (LSP). This tool is language specification for the Language Server Protocol (LSP). This tool is
used in text editing environments to provide a complete and integrated used in text editing environments to provide a complete and integrated
feature-set for programming Python effectively.") feature-set for programming Python effectively.")
(license license:expat)))) (license license:expat)))
(define-public python-black (define-public python-black
(package (package
@ -3892,7 +3932,7 @@ To address this and enable easy cycling over arbitrary @code{kwargs}, the
(define-public python-colorspacious (define-public python-colorspacious
(package (package
(name "python-colorspacious") (name "python-colorspacious")
(version "1.1.0") (version "1.1.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -3901,7 +3941,7 @@ To address this and enable easy cycling over arbitrary @code{kwargs}, the
(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 "0g0lxqiscy5g5rq9421vv7abg0c90jzy0zmas2z3hya6k2dr5aid")))) (base32 "0x7nkphr6g5ql5fvgss8l56rgiyjgh6fm8zzs73i94ci9wzlm63w"))))
(build-system python-build-system) (build-system python-build-system)
(propagated-inputs (propagated-inputs
`(("python-numpy" ,python-numpy))) `(("python-numpy" ,python-numpy)))
@ -9081,6 +9121,63 @@ server with very acceptable performance.")
(define-public python2-waitress (define-public python2-waitress
(package-with-python2 python-waitress)) (package-with-python2 python-waitress))
(define-public python-whichcraft
(package
(name "python-whichcraft")
(version "0.6.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "whichcraft" version))
(sha256
(base32
"11yfkzyplizdgndy34vyd5qlmr1n5mxis3a3svxmx8fnccdvknxc"))))
(build-system python-build-system)
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page "https://github.com/pydanny/whichcraft")
(synopsis "Cross-platform cross-python shutil.which functionality")
(description
"This package provides a shim of the shutil.which function that's
designed to work across multiple versions of Python.")
(license license:bsd-3)))
(define-public python-cookiecutter
(package
(name "python-cookiecutter")
(version "1.6.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cookiecutter" version))
(sha256
(base32
"0glsvaz8igi2wy1hsnhm9fkn6560vdvdixzvkq6dn20z3hpaa5hk"))))
(build-system python-build-system)
(native-inputs
`(("python-freezegun" ,python-freezegun)
("python-pytest" ,python-pytest)
("python-pytest-catchlog" ,python-pytest-catchlog)
("python-pytest-cov" ,python-pytest-cov)
("python-pytest-mock" ,python-pytest-mock)))
(propagated-inputs
`(("python-binaryornot" ,python-binaryornot)
("python-click" ,python-click)
("python-future" ,python-future)
("python-jinja2" ,python-jinja2)
("python-jinja2-time" ,python-jinja2-time)
("python-poyo" ,python-poyo)
("python-requests" ,python-requests)
("python-whichcraft" ,python-whichcraft)))
(home-page "https://github.com/audreyr/cookiecutter")
(synopsis
"Command-line utility that creates projects from project templates")
(description
"This package provides a command-line utility that creates projects from
project templates, e.g. creating a Python package project from a Python package
project template.")
(license license:bsd-3)))
(define-public python-pyquery (define-public python-pyquery
(package (package
(name "python-pyquery") (name "python-pyquery")
@ -9962,14 +10059,13 @@ to occurrences in strings and comments.")
(define-public python-py3status (define-public python-py3status
(package (package
(name "python-py3status") (name "python-py3status")
(version "3.16") (version "3.21")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "py3status" version)) (uri (pypi-uri "py3status" version))
(sha256 (sha256
(base32 (base32 "16z8zq83hxy48g6hh4xczbdz50qvxv9k1aahr4fqq7jis60cc262"))))
"1xrfph277bgjln3jbpzpgkhxad04fjvj7s3xfil42q1sxi4s3q3g"))))
(build-system python-build-system) (build-system python-build-system)
(inputs (inputs
`(("file" ,file))) `(("file" ,file)))
@ -15065,16 +15161,16 @@ manager compatible with @code{asyncio}.")
(define-public python-glob2 (define-public python-glob2
(package (package
(name "python-glob2") (name "python-glob2")
(version "0.6") (version "0.7")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/miracle2k/python-glob2.git") (url "https://github.com/miracle2k/python-glob2.git")
(commit version))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1lm1xz3k3l0k1c5bcp9hlzmi3gp5j8dl1k3xhpiq5mnm0xq6n163")))) (base32 "160nh2ay9lw2hi0rixpzb2k87r6ql56k0j2cm87lqz8xc8zbw919"))))
(build-system python-build-system) (build-system python-build-system)
(home-page "https://github.com/miracle2k/python-glob2/") (home-page "https://github.com/miracle2k/python-glob2/")
(synopsis "Extended Version of the python buildin glob module") (synopsis "Extended Version of the python buildin glob module")

View file

@ -6,7 +6,7 @@
;;; Copyright © 2015, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2015, 2016, 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017 ng0 <ng0@n0.is> ;;; Copyright © 2017 ng0 <ng0@n0.is>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
@ -7171,27 +7171,22 @@ call.")
(define-public ruby-concurrent (define-public ruby-concurrent
(package (package
(name "ruby-concurrent") (name "ruby-concurrent")
(version "1.0.5") (version "1.1.5")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
;; Download from GitHub because the rubygems version does not contain ;; Download from GitHub because the rubygems version does not contain
;; Rakefile. ;; Rakefile.
(uri (string-append (uri (git-reference
"https://github.com/ruby-concurrency/concurrent-ruby/archive/v" (url "https://github.com/ruby-concurrency/concurrent-ruby")
version (commit (string-append "v" version))))
".tar.gz")) (file-name (git-file-name name version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0qhv0qzsby4iijgwa4s9r88zj8123pmyz1dwaqzdk57xgqll9pny")) "193q2k47vk7qdvv9hlhmmdxgy91xl4imapyk1ijdg9vgf46knyzj"))))
;; Exclude failing test reported at
;; https://github.com/ruby-concurrency/concurrent-ruby/issues/534
(patches (search-patches "ruby-concurrent-ignore-broken-test.patch"
"ruby-concurrent-test-arm.patch"))))
(build-system ruby-build-system) (build-system ruby-build-system)
(arguments (arguments
`(#:test-target "spec" `(#:test-target "ci"
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'replace-git-ls-files 'remove-extra-gemspecs (add-before 'replace-git-ls-files 'remove-extra-gemspecs
@ -7201,15 +7196,31 @@ call.")
(delete-file "concurrent-ruby-edge.gemspec") (delete-file "concurrent-ruby-edge.gemspec")
(delete-file "concurrent-ruby-ext.gemspec") (delete-file "concurrent-ruby-ext.gemspec")
#t)) #t))
(add-before 'build 'replace-git-ls-files2 (replace 'replace-git-ls-files
(lambda _ (lambda _
(substitute* "support/file_map.rb" ;; XXX: The default substitution made by this phase is not fully
(("git ls-files") "find * |sort")) ;; compatible with "git ls-files". The latter produces file names
;; such as "lib/foo", whereas ruby-build-system uses "find . [...]"
;; which gives "./lib/foo". That difference in turn breaks the
;; comparison against a glob pattern in this script.
(substitute* "concurrent-ruby.gemspec"
(("git ls-files") "find * -type f | sort"))
#t))
(add-before 'build 'remove-jar-from-gemspec
(lambda _
;; The gemspec wants to include a JAR file that we do not build
;; nor need.
(substitute* "concurrent-ruby.gemspec"
(("'lib/concurrent/concurrent_ruby.jar'")
""))
#t))
(add-before 'build 'remove-rake_compiler_dock-dependency
(lambda _
;; This library is only used when building for non-MRI targets.
(substitute* "Rakefile"
(("require 'rake_compiler_dock'")
""))
#t)) #t))
(add-before 'check 'rake-compile
;; Fix the test error described at
;; https://github.com/ruby-concurrency/concurrent-ruby/pull/408
(lambda _ (invoke "rake" "compile")))
(add-before 'check 'remove-timecop-dependency (add-before 'check 'remove-timecop-dependency
;; Remove timecop-dependent tests as having timecop as a depedency ;; Remove timecop-dependent tests as having timecop as a depedency
;; causes circular depedencies. ;; causes circular depedencies.

View file

@ -956,7 +956,7 @@ tmux.")
(define-public kitty (define-public kitty
(package (package
(name "kitty") (name "kitty")
(version "0.14.5") (version "0.14.6")
(home-page "https://sw.kovidgoyal.net/kitty/") (home-page "https://sw.kovidgoyal.net/kitty/")
(source (source
(origin (origin
@ -966,8 +966,7 @@ tmux.")
(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 "1rb5ys9xsdhd2qa3kz5gqzz111c6b14za98va6hlglk69wqlmb51"))
"0qx3wj4n3zgjcpd1vjjwdlz8d1vp8bkxihsg2khlla1izandgxxa"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View file

@ -114,7 +114,7 @@ based command language.")
(define-public kakoune (define-public kakoune
(package (package
(name "kakoune") (name "kakoune")
(version "2019.01.20") (version "2019.07.01")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -122,7 +122,7 @@ based command language.")
"releases/download/v" version "/" "releases/download/v" version "/"
"kakoune-" version ".tar.bz2")) "kakoune-" version ".tar.bz2"))
(sha256 (sha256
(base32 "15drk7i17qdiqxqkjxhrxfclryj9qzb5ymxd20dwl05y4yi064cr")))) (base32 "1lvgxnih4xfrkcmcc476qi9nz6dxcdbfxsinhykp3g80j14piycc"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags `(#:make-flags

View file

@ -158,7 +158,7 @@ networks.")
(define-public onionshare (define-public onionshare
(package (package
(name "onionshare") (name "onionshare")
(version "2.1") (version "2.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -167,7 +167,7 @@ networks.")
(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 "1lx21p12888qnbhsyin4lrnn4xizb39ldk77r71y53hn8mfxi54z")))) (base32 "0m8ygxcyp3nfzzhxs2dfnpqwh1vx0aws44lszpnnczz4fks3a5j4"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -181,7 +181,7 @@ networks.")
(substitute* "setup.py" (substitute* "setup.py"
;; For the nautilus plugin. ;; For the nautilus plugin.
(("/usr/share/nautilus") "share/nautilus")) (("/usr/share/nautilus") "share/nautilus"))
(substitute* "install/onionshare.desktop" (substitute* "install/org.onionshare.OnionShare.desktop"
(("/usr") out)) (("/usr") out))
#t))) #t)))
(delete 'check) (delete 'check)
@ -196,6 +196,7 @@ networks.")
(inputs (inputs
`(("python-pycrypto" ,python-pycrypto) `(("python-pycrypto" ,python-pycrypto)
("python-flask" ,python-flask) ("python-flask" ,python-flask)
("python-flask-httpauth" ,python-flask-httpauth)
("python-nautilus" ,python-nautilus) ("python-nautilus" ,python-nautilus)
("python-sip" ,python-sip) ("python-sip" ,python-sip)
("python-stem" ,python-stem) ("python-stem" ,python-stem)
@ -203,15 +204,15 @@ networks.")
("python-pyqt" ,python-pyqt))) ("python-pyqt" ,python-pyqt)))
(home-page "https://onionshare.org/") (home-page "https://onionshare.org/")
(synopsis "Securely and anonymously share files") (synopsis "Securely and anonymously share files")
(description "OnionShare lets you securely and anonymously share files of (description "OnionShare is a tool for securely and anonymously sending
any size. It works by starting a web server, making it accessible as a Tor and receiving files using Tor onion services. It works by starting a web
hidden service, and generating an unguessable URL to access and download the server directly on your computer and making it accessible as an unguessable
files. It doesn't require setting up a server on the internet somewhere or Tor web address that others can load in a Tor-enabled web browser to download
using a third party filesharing service. You host the file on your own computer files from you, or upload files to you. It doesn't require setting up a
and use a Tor hidden service to make it temporarily accessible over the separate server, using a third party file-sharing service, or even logging
internet. The other user just needs to use Tor Browser to download the file into an account.")
from you.") ;; Bundled, minified jquery is expat licensed.
(license license:gpl3+))) (license (list license:gpl3+ license:expat))))
(define-public nyx (define-public nyx
(package (package

View file

@ -2638,14 +2638,14 @@ supported players in addition to this package.")
(define-public handbrake (define-public handbrake
(package (package
(name "handbrake") (name "handbrake")
(version "1.2.0") (version "1.2.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://download.handbrake.fr/releases/" (uri (string-append "https://download.handbrake.fr/releases/"
version "/HandBrake-" version "-source.tar.bz2")) version "/HandBrake-" version "-source.tar.bz2"))
(sha256 (sha256
(base32 (base32
"03clkknaq3mz84p85cvr21gsy9b8vv2g4vvyfz44hz8la253jfqi")) "0k2yaqy7zi06k8mkp9az2mn9dlgj3a1339vacakfh2nn2zsics6z"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Remove "contrib" and source not necessary for ;; Remove "contrib" and source not necessary for

View file

@ -483,7 +483,7 @@ trouble using them, because you do not have to remember each snippet name.")
(define-public vim-fugitive (define-public vim-fugitive
(package (package
(name "vim-fugitive") (name "vim-fugitive")
(version "3.0") (version "3.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -493,7 +493,7 @@ trouble using them, because you do not have to remember each snippet name.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0ghh8a9xysc3njqql1khhl2dkhymz93snpwqp2apm7pka6l893bc")))) "0d9jhmidmy5c60iy9x47gqr675n5wp9wrzln83r8ima1fz7vvbgs"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:tests? #f '(#:tests? #f
@ -775,7 +775,15 @@ are detected, the user is notified.")))
(string-join (map lua-path-spec lua-inputs) ";")) (string-join (map lua-path-spec lua-inputs) ";"))
(setenv "LUA_CPATH" (setenv "LUA_CPATH"
(string-join (map lua-cpath-spec lua-inputs) ";")) (string-join (map lua-cpath-spec lua-inputs) ";"))
#t)))))) #t)))
(add-after 'unpack 'prevent-embedding-gcc-store-path
(lambda _
;; nvim remembers its build options, including the compiler with
;; its complete path. This adds gcc to the closure of nvim, which
;; doubles its size. We remove the refirence here.
(substitute* "cmake/GetCompileFlags.cmake"
(("\\$\\{CMAKE_C_COMPILER\\}") "/gnu/store/.../bin/gcc"))
#t)))))
(inputs (inputs
`(("libuv" ,libuv) `(("libuv" ,libuv)
("msgpack" ,msgpack) ("msgpack" ,msgpack)

View file

@ -817,7 +817,17 @@ Machine Protocol.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"02bq46ndmzq9cihazzn7xq1x7q5nzm7iw4l9lqzihxcxp9famkhw")))) "02bq46ndmzq9cihazzn7xq1x7q5nzm7iw4l9lqzihxcxp9famkhw"))
(modules '((guix build utils)))
(snippet
'(begin
;; Do not create binaries optimized for the CPU of the build machine,
;; for reproducibility and compatibility. TODO: in the next version
;; of looking glass, this is exposed as a CMake configure option.
(substitute* "client/CMakeLists.txt"
(("-march=native")
""))
#t))))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs `(("fontconfig" ,fontconfig) (inputs `(("fontconfig" ,fontconfig)
("glu" ,glu) ("glu" ,glu)

View file

@ -518,7 +518,7 @@ WireGuard support.")
(define-public xl2tpd (define-public xl2tpd
(package (package
(name "xl2tpd") (name "xl2tpd")
(version "1.3.14") (version "1.3.15")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -527,10 +527,10 @@ WireGuard support.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1c2ahxz2zmmxwmk951d2qhijgz67zhwa1hn0r59fgz0y14w22myi")))) "0ppwza8nwm1av1vldw40gin9wrjrs4l9si50jad414js3k8ycaag"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags (list (string-append "DESTDIR=" %output) `(#:make-flags (list (string-append "PREFIX=" %output)
"CC=gcc") "CC=gcc")
#:phases (modify-phases %standard-phases #:phases (modify-phases %standard-phases
(delete 'configure)) ; no configure script (delete 'configure)) ; no configure script

View file

@ -464,15 +464,14 @@ servers that may need it).")
(define-public starman (define-public starman
(package (package
(name "starman") (name "starman")
(version "0.4014") (version "0.4015")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/M/MI/MIYAGAWA/" (uri (string-append "mirror://cpan/authors/id/M/MI/MIYAGAWA/"
"Starman-" version ".tar.gz")) "Starman-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "1y1kn4929k299fbf6sw9lxcsdlq9fvq777p6yrzk591rr9xhkx8h"))))
"1sbb5rb3vs82rlh1fjkgkcmj5pj62b4y9si4ihh45sl9m8c2qxx5"))))
(build-system perl-build-system) (build-system perl-build-system)
(native-inputs (native-inputs
`(("perl-libwww" ,perl-libwww) `(("perl-libwww" ,perl-libwww)

View file

@ -23,6 +23,7 @@
;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2019 Kyle Andrews <kyle.c.andrews@gmail.com> ;;; Copyright © 2019 Kyle Andrews <kyle.c.andrews@gmail.com>
;;; Copyright © 2019 Ingo Ruhnke <grumbel@gmail.com> ;;; Copyright © 2019 Ingo Ruhnke <grumbel@gmail.com>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -42,57 +43,56 @@
(define-module (gnu packages wm) (define-module (gnu packages wm)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (gnu packages) #:use-module (guix download)
#:use-module (gnu packages linux) #:use-module (guix git-download)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system haskell) #:use-module (guix build-system haskell)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system perl) #:use-module (guix build-system perl)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages fribidi)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gperf)
#:use-module (gnu packages gtk)
#:use-module (gnu packages haskell-check) #:use-module (gnu packages haskell-check)
#:use-module (gnu packages haskell-web) #:use-module (gnu packages haskell-web)
#:use-module (gnu packages haskell-xyz) #:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bison)
#:use-module (gnu packages gawk)
#:use-module (gnu packages base)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages perl)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages documentation)
#:use-module (gnu packages xml)
#:use-module (gnu packages m4)
#:use-module (gnu packages docbook)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages pcre)
#:use-module (gnu packages python)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libevent)
#:use-module (gnu packages fribidi)
#:use-module (gnu packages maths)
#:use-module (gnu packages web)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
#:use-module (gnu packages gperf)
#:use-module (gnu packages imagemagick) #:use-module (gnu packages imagemagick)
#:use-module (gnu packages lua) #:use-module (gnu packages libevent)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages suckless)
#:use-module (gnu packages mpd)
#:use-module (gnu packages gl)
#:use-module (gnu packages video)
#:use-module (gnu packages version-control)
#:use-module (gnu packages man)
#:use-module (gnu packages textutils)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages logging) #:use-module (gnu packages logging)
#:use-module (gnu packages lua)
#:use-module (gnu packages m4)
#:use-module (gnu packages man)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpd)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages serialization) #:use-module (gnu packages serialization)
#:use-module (guix download) #:use-module (gnu packages suckless)
#:use-module (guix git-download)) #:use-module (gnu packages textutils)
#:use-module (gnu packages version-control)
#:use-module (gnu packages video)
#:use-module (gnu packages web)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
(define-public bspwm (define-public bspwm
(package (package
@ -1194,15 +1194,14 @@ its size
(define-public polybar (define-public polybar
(package (package
(name "polybar") (name "polybar")
(version "3.3.1") (version "3.4.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/jaagr/polybar/releases/" (uri (string-append "https://github.com/polybar/polybar/releases/"
"download/" version "/polybar-" version ".tar")) "download/" version "/polybar-" version ".tar"))
(sha256 (sha256
(base32 "0758na059vpgnsrcdrxmh9wsahs80wnmizb9g7bmixlrkxr2m65h")) (base32 "06yd9ffak53qbhpw35xh422v2lhjh23zdbrh81cynwks5pr9i839"))))
(file-name (string-append name "-" version ".tar"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
;; Test is disabled because it requires downloading googletest from the ;; Test is disabled because it requires downloading googletest from the
@ -1212,6 +1211,7 @@ its size
`(("alsa-lib" ,alsa-lib) `(("alsa-lib" ,alsa-lib)
("cairo" ,cairo) ("cairo" ,cairo)
("i3-wm" ,i3-wm) ("i3-wm" ,i3-wm)
("jsoncpp" ,jsoncpp)
("libmpdclient" ,libmpdclient) ("libmpdclient" ,libmpdclient)
("libnl" ,libnl) ("libnl" ,libnl)
("libxcb" ,libxcb) ("libxcb" ,libxcb)

View file

@ -962,7 +962,7 @@ Escape key when Left Control is pressed and released on its own.")
(define-public libwacom (define-public libwacom
(package (package
(name "libwacom") (name "libwacom")
(version "0.33") (version "1.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -970,8 +970,10 @@ Escape key when Left Control is pressed and released on its own.")
"libwacom-" version "/libwacom-" version ".tar.bz2")) "libwacom-" version "/libwacom-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1wnv34y7m9l6avlvwqvfrnksfnsz1lbgb412dn6s7x1h3wvs7y4l")))) "00lyv419ijyng6ak5vpw0swnn4qg6lbfh7zysf92wcvn6rcq7d4c"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags '("--disable-static")))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
(inputs (inputs

View file

@ -4393,14 +4393,14 @@ file. This file can then be read by various other X utilities for
redisplay, printing, editing, formatting, archiving, image processing, redisplay, printing, editing, formatting, archiving, image processing,
etc. The target window is selected by clicking the pointer in the etc. The target window is selected by clicking the pointer in the
desired window. The keyboard bell is rung once at the beginning of the desired window. The keyboard bell is rung once at the beginning of the
dump and twice whenthe dump is completed.") dump and twice when the dump is completed.")
(license license:x11))) (license license:x11)))
(define-public xwininfo (define-public xwininfo
(package (package
(name "xwininfo") (name "xwininfo")
(version "1.1.4") (version "1.1.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -4410,7 +4410,7 @@ dump and twice whenthe dump is completed.")
".tar.bz2")) ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"00avrpw4h5mr1klp41lv2j4dmq465v6l5kb5bhm4k5ml8sm9i543")))) "03h8clirhw5ki1xxp18xbf5vynm7r0dwspsgfin6cxn4vx0m8h3s"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("libx11" ,libx11) `(("libx11" ,libx11)

View file

@ -176,8 +176,8 @@ server.")
(delete-after (delete-after
(non-negative-integer 0) (non-negative-integer 0)
"Getmail will delete messages this number of days after seeing them, if "Getmail will delete messages this number of days after seeing them, if
they have not been delivered. This means messages will be left on the server they have been delivered. This means messages will be left on the server this
this number of days after delivering them. A value of @samp{0} disabled this number of days after delivering them. A value of @samp{0} disabled this
feature.") feature.")
(delete-bigger-than (delete-bigger-than
(non-negative-integer 0) (non-negative-integer 0)

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca> ;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -32,6 +33,7 @@
#:use-module (ice-9 regex) #:use-module (ice-9 regex)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:use-module (gnu packages)
#:export (%asdf-build-system-modules #:export (%asdf-build-system-modules
%asdf-build-modules %asdf-build-modules
asdf-build asdf-build
@ -160,13 +162,22 @@ set up using CL source package conventions."
(define (has-from-build-system? pkg) (define (has-from-build-system? pkg)
(eq? from-build-system (package-build-system pkg))) (eq? from-build-system (package-build-system pkg)))
(define (find-input-package pkg)
(let* ((name (package-name pkg))
(new-name (transform-package-name name))
(pkgs (find-packages-by-name new-name)))
(if (null? pkgs) #f (list-ref pkgs 0))))
(define transform (define transform
(mlambda (pkg) (mlambda (pkg)
(define rewrite (define rewrite
(match-lambda (match-lambda
((name content . rest) ((name content . rest)
(let* ((is-package? (package? content)) (let* ((is-package? (package? content))
(new-content (if is-package? (transform content) content))) (new-content (if is-package?
(or (find-input-package content)
(transform content))
content)))
`(,name ,new-content ,@rest))))) `(,name ,new-content ,@rest)))))
;; Special considerations for source packages: CL inputs become ;; Special considerations for source packages: CL inputs become

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 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -57,12 +57,16 @@
'((guix build gnu-build-system) '((guix build gnu-build-system)
(guix build utils))) (guix build utils)))
(define* (package-with-explicit-inputs p inputs (define* (package-with-explicit-inputs/deprecated p inputs
#:optional #:optional
(loc (current-source-location)) (loc (current-source-location))
#:key (native-inputs '()) #:key (native-inputs '())
guile) guile)
"Rewrite P, which is assumed to use GNU-BUILD-SYSTEM, to take INPUTS and "This variant is deprecated because it is inefficient: it memoizes only
temporarily instead of memoizing across all transformations where INPUTS is
the same.
Rewrite P, which is assumed to use GNU-BUILD-SYSTEM, to take INPUTS and
NATIVE-INPUTS as explicit inputs instead of the implicit default, and return NATIVE-INPUTS as explicit inputs instead of the implicit default, and return
it. INPUTS and NATIVE-INPUTS can be either input lists or thunks; in the it. INPUTS and NATIVE-INPUTS can be either input lists or thunks; in the
latter case, they will be called in a context where the `%current-system' and latter case, they will be called in a context where the `%current-system' and
@ -124,6 +128,47 @@ builder, or the distro's final Guile when GUILE is #f."
,@(map rewritten-input ,@(map rewritten-input
(filtered (package-inputs p))))))))) (filtered (package-inputs p)))))))))
(define* (package-with-explicit-inputs* inputs #:optional guile)
"Return a procedure that rewrites the given package and all its dependencies
so that they use INPUTS (a thunk) instead of implicit inputs."
(define (duplicate-filter package-inputs)
(let ((names (match (inputs)
(((name _ ...) ...)
name))))
(fold alist-delete package-inputs names)))
(define (add-explicit-inputs p)
(if (and (eq? (package-build-system p) gnu-build-system)
(not (memq #:implicit-inputs? (package-arguments p))))
(package
(inherit p)
(inputs (append (inputs)
(duplicate-filter (package-inputs p))))
(arguments
(ensure-keyword-arguments (package-arguments p)
`(#:implicit-inputs? #f
#:guile ,guile))))
p))
(define (cut? p)
(and (eq? (package-build-system p) gnu-build-system)
(memq #:implicit-inputs? (package-arguments p))))
(package-mapping add-explicit-inputs cut?))
(define package-with-explicit-inputs
(case-lambda*
((inputs #:optional guile)
(package-with-explicit-inputs* inputs guile))
((p inputs #:optional (loc (current-source-location))
#:key (native-inputs '()) guile)
;; deprecated
(package-with-explicit-inputs/deprecated p inputs
loc
#:native-inputs
native-inputs
#:guile guile))))
(define (package-with-extra-configure-variable p variable value) (define (package-with-extra-configure-variable p variable value)
"Return a version of P with VARIABLE=VALUE specified as an extra `configure' "Return a version of P with VARIABLE=VALUE specified as an extra `configure'
flag, recursively. An example is LDFLAGS=-static. If P already has configure flag, recursively. An example is LDFLAGS=-static. If P already has configure

View file

@ -1508,7 +1508,7 @@ are searched for in PATH. Return #f when MODULES and EXTENSIONS are empty."
(gexp (eval-when (expand load eval) (gexp (eval-when (expand load eval)
;; Augment the load paths and delete duplicates. Do that ;; Augment the load paths and delete duplicates. Do that
;; without loading (srfi srfi-1) or anything. ;; without loading (srfi srfi-1) or anything.
(let ((extensions '((ungexp-native-splicing extensions))) (let ((extensions '((ungexp-splicing extensions)))
(prepend (lambda (items lst) (prepend (lambda (items lst)
;; This is O(N²) but N is typically small. ;; This is O(N²) but N is typically small.
(let loop ((items items) (let loop ((items items)

View file

@ -110,11 +110,11 @@
(packages inferior-package-promise) ;promise of inferior packages (packages inferior-package-promise) ;promise of inferior packages
(table inferior-package-table)) ;promise of vhash (table inferior-package-table)) ;promise of vhash
(define (inferior-pipe directory command) (define* (inferior-pipe directory command error-port)
"Return an input/output pipe on the Guix instance in DIRECTORY. This runs "Return an input/output pipe on the Guix instance in DIRECTORY. This runs
'DIRECTORY/COMMAND repl' if it exists, or falls back to some other method if 'DIRECTORY/COMMAND repl' if it exists, or falls back to some other method if
it's an old Guix." it's an old Guix."
(let ((pipe (with-error-to-port (%make-void-port "w") (let ((pipe (with-error-to-port error-port
(lambda () (lambda ()
(open-pipe* OPEN_BOTH (open-pipe* OPEN_BOTH
(string-append directory "/" command) (string-append directory "/" command)
@ -125,6 +125,8 @@ it's an old Guix."
;; Older versions of Guix didn't have a 'guix repl' command, so ;; Older versions of Guix didn't have a 'guix repl' command, so
;; emulate it. ;; emulate it.
(with-error-to-port error-port
(lambda ()
(open-pipe* OPEN_BOTH "guile" (open-pipe* OPEN_BOTH "guile"
"-L" (string-append directory "/share/guile/site/" "-L" (string-append directory "/share/guile/site/"
(effective-version)) (effective-version))
@ -137,7 +139,7 @@ it's an old Guix."
`(begin `(begin
(primitive-load ,(search-path %load-path (primitive-load ,(search-path %load-path
"guix/repl.scm")) "guix/repl.scm"))
((@ (guix repl) machine-repl)))))) ((@ (guix repl) machine-repl))))))))
pipe))) pipe)))
(define* (port->inferior pipe #:optional (close close-port)) (define* (port->inferior pipe #:optional (close close-port))
@ -161,11 +163,13 @@ inferior."
(_ (_
#f))) #f)))
(define* (open-inferior directory #:key (command "bin/guix")) (define* (open-inferior directory
#:key (command "bin/guix")
(error-port (%make-void-port "w")))
"Open the inferior Guix in DIRECTORY, running 'DIRECTORY/COMMAND repl' or "Open the inferior Guix in DIRECTORY, running 'DIRECTORY/COMMAND repl' or
equivalent. Return #f if the inferior could not be launched." equivalent. Return #f if the inferior could not be launched."
(define pipe (define pipe
(inferior-pipe directory command)) (inferior-pipe directory command error-port))
(port->inferior pipe close-pipe)) (port->inferior pipe close-pipe))

View file

@ -1319,11 +1319,17 @@ or a list thereof")
(name 'github-url) (name 'github-url)
(description "Suggest GitHub URLs") (description "Suggest GitHub URLs")
(check check-github-url)) (check check-github-url))
(lint-checker
(name 'cve) ;; FIXME: Commented out as a consequence of the XML CVE feed retirement:
(description "Check the Common Vulnerabilities and Exposures\ ;; <https://nvd.nist.gov/General/News/XML-Vulnerability-Feed-Retirement-Phase-3>.
(CVE) database") ;; Reinstate it once the JSON feed is supported.
(check check-vulnerabilities))
;; (lint-checker
;; (name 'cve)
;; (description "Check the Common Vulnerabilities and Exposures\
;; (CVE) database")
;; (check check-vulnerabilities))
(lint-checker (lint-checker
(name 'refresh) (name 'refresh)
(description "Check the package for new upstream releases") (description "Check the package for new upstream releases")

View file

@ -1732,7 +1732,8 @@ because the NUMBER is zero.)"
(string-append %profile-directory "/guix-profile")) (string-append %profile-directory "/guix-profile"))
(define (ensure-profile-directory) (define (ensure-profile-directory)
"Attempt to create /…/profiles/per-user/$USER if needed." "Attempt to create //profiles/per-user/$USER if needed. Nowadays this is
taken care of by the daemon."
(let ((s (stat %profile-directory #f))) (let ((s (stat %profile-directory #f)))
(unless (and s (eq? 'directory (stat:type s))) (unless (and s (eq? 'directory (stat:type s)))
(catch 'system-error (catch 'system-error

View file

@ -174,7 +174,7 @@ can interpret meaningfully."
private key from '~a': ~a") private key from '~a': ~a")
file str)))))))) file str))))))))
(define (open-ssh-session machine) (define* (open-ssh-session machine #:optional (max-silent-time -1))
"Open an SSH session for MACHINE and return it. Throw an error on failure." "Open an SSH session for MACHINE and return it. Throw an error on failure."
(let ((private (private-key-from-file* (build-machine-private-key machine))) (let ((private (private-key-from-file* (build-machine-private-key machine)))
(public (public-key-from-file (public (public-key-from-file
@ -183,7 +183,7 @@ private key from '~a': ~a")
(session (make-session #:user (build-machine-user machine) (session (make-session #:user (build-machine-user machine)
#:host (build-machine-name machine) #:host (build-machine-name machine)
#:port (build-machine-port machine) #:port (build-machine-port machine)
#:timeout 10 ;seconds #:timeout 10 ;initial timeout (seconds)
;; #:log-verbosity 'protocol ;; #:log-verbosity 'protocol
#:identity (build-machine-private-key machine) #:identity (build-machine-private-key machine)
@ -225,6 +225,10 @@ instead of '~a' of type '~a'~%")
(leave (G_ "SSH public key authentication failed for '~a': ~a~%") (leave (G_ "SSH public key authentication failed for '~a': ~a~%")
(build-machine-name machine) (get-error session)))) (build-machine-name machine) (get-error session))))
;; From then on use MAX-SILENT-TIME as the absolute timeout when
;; reading from or write to a channel for this session.
(session-set! session 'timeout max-silent-time)
session) session)
(x (x
;; Connection failed or timeout expired. ;; Connection failed or timeout expired.
@ -313,7 +317,7 @@ hook."
INPUTS to MACHINE; if building DRV succeeds, retrieve all of OUTPUTS from INPUTS to MACHINE; if building DRV succeeds, retrieve all of OUTPUTS from
MACHINE." MACHINE."
(define session (define session
(open-ssh-session machine)) (open-ssh-session machine max-silent-time))
(define store (define store
(connect-to-remote-daemon session (connect-to-remote-daemon session
@ -472,7 +476,8 @@ slot (which must later be released with 'release-build-slot'), or #f and #f."
;; Return the best machine unless it's already overloaded. ;; Return the best machine unless it's already overloaded.
;; Note: We call 'node-load' only as a last resort because it is ;; Note: We call 'node-load' only as a last resort because it is
;; too costly to call it once for every machine. ;; too costly to call it once for every machine.
(let* ((session (false-if-exception (open-ssh-session best))) (let* ((session (false-if-exception (open-ssh-session best
%short-timeout)))
(node (and session (remote-inferior session))) (node (and session (remote-inferior session)))
(load (and node (normalized-load best (node-load node)))) (load (and node (normalized-load best (node-load node))))
(space (and node (node-free-disk-space node)))) (space (and node (node-free-disk-space node))))
@ -573,6 +578,11 @@ If TIMEOUT is #f, simply evaluate EXP..."
;;; Installation tests. ;;; Installation tests.
;;; ;;;
(define %short-timeout
;; Timeout in seconds used on SSH connections where reads and writes
;; shouldn't take long.
15)
(define (assert-node-repl node name) (define (assert-node-repl node name)
"Bail out if NODE is not running Guile." "Bail out if NODE is not running Guile."
(match (node-guile-version node) (match (node-guile-version node)
@ -658,7 +668,7 @@ machine."
(length machines) machine-file) (length machines) machine-file)
(let* ((names (map build-machine-name machines)) (let* ((names (map build-machine-name machines))
(sockets (map build-machine-daemon-socket machines)) (sockets (map build-machine-daemon-socket machines))
(sessions (map open-ssh-session machines)) (sessions (map (cut open-ssh-session <> %short-timeout) machines))
(nodes (map remote-inferior sessions))) (nodes (map remote-inferior sessions)))
(for-each assert-node-has-guix nodes names) (for-each assert-node-has-guix nodes names)
(for-each assert-node-repl nodes names) (for-each assert-node-repl nodes names)
@ -682,7 +692,7 @@ machine."
(length machines) machine-file) (length machines) machine-file)
(for-each (lambda (machine) (for-each (lambda (machine)
(define session (define session
(open-ssh-session machine)) (open-ssh-session machine %short-timeout))
(match (remote-inferior session) (match (remote-inferior session)
(#f (#f

View file

@ -772,11 +772,11 @@ Use '~/.config/guix/channels.scm' instead."))
(process-generation-change opts profile)) (process-generation-change opts profile))
(else (else
(with-store store (with-store store
(ensure-default-profile)
(with-status-verbosity (assoc-ref opts 'verbosity) (with-status-verbosity (assoc-ref opts 'verbosity)
(parameterize ((%current-system (assoc-ref opts 'system)) (parameterize ((%current-system (assoc-ref opts 'system))
(%graft? (assoc-ref opts 'graft?))) (%graft? (assoc-ref opts 'graft?)))
(set-build-options-from-command-line store opts) (set-build-options-from-command-line store opts)
(ensure-default-profile)
(honor-x509-certificates store) (honor-x509-certificates store)
(let ((instances (latest-channel-instances store channels))) (let ((instances (latest-channel-instances store channels)))

View file

@ -61,11 +61,16 @@
"zlib@openssh.com,zlib") "zlib@openssh.com,zlib")
(define* (open-ssh-session host #:key user port identity (define* (open-ssh-session host #:key user port identity
(compression %compression)) (compression %compression)
(timeout 3600))
"Open an SSH session for HOST and return it. IDENTITY specifies the file "Open an SSH session for HOST and return it. IDENTITY specifies the file
name of a private key to use for authenticating with the host. When USER, name of a private key to use for authenticating with the host. When USER,
PORT, or IDENTITY are #f, use default values or whatever '~/.ssh/config' PORT, or IDENTITY are #f, use default values or whatever '~/.ssh/config'
specifies; otherwise use them. Throw an error on failure." specifies; otherwise use them. Install TIMEOUT as the maximum time in seconds
after which a read or write operation on a channel of the returned session is
considered as failing.
Throw an error on failure."
(let ((session (make-session #:user user (let ((session (make-session #:user user
#:identity identity #:identity identity
#:host host #:host host
@ -86,6 +91,7 @@ specifies; otherwise use them. Throw an error on failure."
;; Use public key authentication, via the SSH agent if it's available. ;; Use public key authentication, via the SSH agent if it's available.
(match (userauth-public-key/auto! session) (match (userauth-public-key/auto! session)
('success ('success
(session-set! session 'timeout timeout)
session) session)
(x (x
(disconnect! session) (disconnect! session)

View file

@ -748,6 +748,14 @@ encoding conversion errors."
(cut string-append "http://" <>)) (cut string-append "http://" <>))
'("ci.guix.gnu.org"))) '("ci.guix.gnu.org")))
(define (current-user-name)
"Return the name of the calling user."
(catch #t
(lambda ()
(passwd:name (getpwuid (getuid))))
(lambda _
(getenv "USER"))))
(define* (set-build-options server (define* (set-build-options server
#:key keep-failed? keep-going? fallback? #:key keep-failed? keep-going? fallback?
(verbosity 0) (verbosity 0)
@ -759,6 +767,7 @@ encoding conversion errors."
(build-verbosity 0) (build-verbosity 0)
(log-type 0) (log-type 0)
(print-build-trace #t) (print-build-trace #t)
(user-name (current-user-name))
;; When true, provide machine-readable "build ;; When true, provide machine-readable "build
;; traces" for use by (guix status). Old clients ;; traces" for use by (guix status). Old clients
@ -849,6 +858,9 @@ encoding conversion errors."
`(("build-repeat" `(("build-repeat"
. ,(number->string (max 0 (1- rounds))))) . ,(number->string (max 0 (1- rounds)))))
'()) '())
,@(if user-name
`(("user-name" . ,user-name))
'())
,@(if terminal-columns ,@(if terminal-columns
`(("terminal-columns" `(("terminal-columns"
. ,(number->string terminal-columns))) . ,(number->string terminal-columns)))

View file

@ -620,10 +620,9 @@ void LocalStore::collectGarbage(const GCOptions & options, GCResults & results)
foreach (Roots::iterator, i, rootMap) state.roots.insert(i->second); foreach (Roots::iterator, i, rootMap) state.roots.insert(i->second);
/* Add additional roots returned by the program specified by the /* Add additional roots returned by 'guix gc --list-busy'. This is
NIX_ROOT_FINDER environment variable. This is typically used typically used to add running programs to the set of roots (to prevent
to add running programs to the set of roots (to prevent them them from being garbage collected). */
from being garbage collected). */
if (!options.ignoreLiveness) if (!options.ignoreLiveness)
addAdditionalRoots(*this, state.roots); addAdditionalRoots(*this, state.roots);

View file

@ -88,8 +88,9 @@ LocalStore::LocalStore(bool reserveSpace)
Path perUserDir = profilesDir + "/per-user"; Path perUserDir = profilesDir + "/per-user";
createDirs(perUserDir); createDirs(perUserDir);
if (chmod(perUserDir.c_str(), 01777) == -1) if (chmod(perUserDir.c_str(), 0755) == -1)
throw SysError(format("could not set permissions on '%1%' to 1777") % perUserDir); throw SysError(format("could not set permissions on '%1%' to 755")
% perUserDir);
mode_t perm = 01775; mode_t perm = 01775;
@ -1642,4 +1643,16 @@ void LocalStore::vacuumDB()
} }
void LocalStore::createUser(const std::string & userName, uid_t userId)
{
auto dir = settings.nixStateDir + "/profiles/per-user/" + userName;
createDirs(dir);
if (chmod(dir.c_str(), 0755) == -1)
throw SysError(format("changing permissions of directory '%s'") % dir);
if (chown(dir.c_str(), userId, -1) == -1)
throw SysError(format("changing owner of directory '%s'") % dir);
}
} }

View file

@ -180,6 +180,8 @@ public:
void setSubstituterEnv(); void setSubstituterEnv();
void createUser(const std::string & userName, uid_t userId);
private: private:
Path schemaPath; Path schemaPath;

View file

@ -289,6 +289,10 @@ public:
/* Check the integrity of the Nix store. Returns true if errors /* Check the integrity of the Nix store. Returns true if errors
remain. */ remain. */
virtual bool verifyStore(bool checkContents, bool repair) = 0; virtual bool verifyStore(bool checkContents, bool repair) = 0;
/* Create a profile for the given user. This is done by the daemon
because the 'profiles/per-user' directory is not writable by users. */
virtual void createUser(const std::string & userName, uid_t userId) = 0;
}; };

View file

@ -613,6 +613,17 @@ static void performOp(bool trusted, unsigned int clientVersion,
|| name == "build-repeat" || name == "build-repeat"
|| name == "multiplexed-build-output") || name == "multiplexed-build-output")
settings.set(name, value); settings.set(name, value);
else if (name == "user-name"
&& settings.clientUid == (uid_t) -1) {
/* Create the user profile. This is necessary if
clientUid = -1, for instance because the client
connected over TCP. */
struct passwd *pw = getpwnam(value.c_str());
if (pw != NULL)
store->createUser(value, pw->pw_uid);
else
printMsg(lvlInfo, format("user name %1% not found") % value);
}
else else
settings.set(trusted ? name : "untrusted-" + name, value); settings.set(trusted ? name : "untrusted-" + name, value);
} }
@ -731,7 +742,7 @@ static void performOp(bool trusted, unsigned int clientVersion,
} }
static void processConnection(bool trusted) static void processConnection(bool trusted, uid_t userId)
{ {
canSendStderr = false; canSendStderr = false;
_writeToStderr = tunnelStderr; _writeToStderr = tunnelStderr;
@ -778,6 +789,15 @@ static void processConnection(bool trusted)
/* Open the store. */ /* Open the store. */
store = std::shared_ptr<StoreAPI>(new LocalStore(reserveSpace)); store = std::shared_ptr<StoreAPI>(new LocalStore(reserveSpace));
if (userId != (uid_t) -1) {
/* Create the user profile. */
struct passwd *pw = getpwuid(userId);
if (pw != NULL && pw->pw_name != NULL)
store->createUser(pw->pw_name, userId);
else
printMsg(lvlInfo, format("user with UID %1% not found") % userId);
}
stopWork(); stopWork();
to.flush(); to.flush();
@ -963,7 +983,7 @@ static void acceptConnection(int fdSocket)
/* Handle the connection. */ /* Handle the connection. */
from.fd = remote; from.fd = remote;
to.fd = remote; to.fd = remote;
processConnection(trusted); processConnection(trusted, clientUid);
exit(0); exit(0);
}, false, "unexpected build daemon error: ", true); }, false, "unexpected build daemon error: ", true);

View file

@ -269,6 +269,7 @@
(lset= string=? (cons* "." ".." (map basename reqs)) (lset= string=? (cons* "." ".." (map basename reqs))
(pk (call-with-input-file result read)))))))))) (pk (call-with-input-file result read))))))))))
(skip-if-unsupported)
(test-assert "eval/container, non-empty load path" (test-assert "eval/container, non-empty load path"
(call-with-temporary-directory (call-with-temporary-directory
(lambda (directory) (lambda (directory)

View file

@ -94,6 +94,27 @@ done
kill "$daemon_pid" kill "$daemon_pid"
# Make sure 'profiles/per-user' is created when connecting over TCP.
orig_GUIX_STATE_DIRECTORY="$GUIX_STATE_DIRECTORY"
GUIX_STATE_DIRECTORY="$GUIX_STATE_DIRECTORY-2"
guix-daemon --disable-chroot --listen="localhost:9877" &
daemon_pid=$!
GUIX_DAEMON_SOCKET="guix://localhost:9877"
export GUIX_DAEMON_SOCKET
test ! -d "$GUIX_STATE_DIRECTORY/profiles/per-user"
guix build guile-bootstrap -d
test -d "$GUIX_STATE_DIRECTORY/profiles/per-user/$USER"
kill "$daemon_pid"
unset GUIX_DAEMON_SOCKET
GUIX_STATE_DIRECTORY="$orig_GUIX_STATE_DIRECTORY"
# Check the failed build cache. # Check the failed build cache.
guix-daemon --no-substitutes --listen="$socket" --disable-chroot \ guix-daemon --no-substitutes --listen="$socket" --disable-chroot \

View file

@ -18,6 +18,7 @@
(define-module (test-store) (define-module (test-store)
#:use-module (guix tests) #:use-module (guix tests)
#:use-module (guix config)
#:use-module (guix store) #:use-module (guix store)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix monads) #:use-module (guix monads)
@ -102,7 +103,17 @@
"/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7/bin/guile"))) "/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7/bin/guile")))
(not (direct-store-path? (%store-prefix))))) (not (direct-store-path? (%store-prefix)))))
(test-skip (if %store 0 13)) (test-skip (if %store 0 15))
(test-equal "profiles/per-user exists and is not writable"
#o755
(stat:perms (stat (string-append %state-directory "/profiles/per-user"))))
(test-equal "profiles/per-user/$USER exists"
(list (getuid) #o755)
(let ((s (stat (string-append %state-directory "/profiles/per-user/"
(passwd:name (getpwuid (getuid)))))))
(list (stat:uid s) (stat:perms s))))
(test-equal "add-data-to-store" (test-equal "add-data-to-store"
#vu8(1 2 3 4 5) #vu8(1 2 3 4 5)