Archived
1
0
Fork 0

Merge branch 'master' into staging

This commit is contained in:
Marius Bakke 2019-04-23 19:43:59 +02:00
commit 37da4fbe15
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
94 changed files with 24499 additions and 18505 deletions

View file

@ -684,6 +684,9 @@ GUIX_SYSTEM_IMAGE_BASE = guix-system-install-$(PACKAGE_VERSION)
# Prefix of the Guix VM image file name. # Prefix of the Guix VM image file name.
GUIX_SYSTEM_VM_IMAGE_BASE = guix-system-vm-image-$(PACKAGE_VERSION) GUIX_SYSTEM_VM_IMAGE_BASE = guix-system-vm-image-$(PACKAGE_VERSION)
# Return the sequence of '-s' flags for the given systems.
system_flags = $(foreach system,$(1),-s $(system))
# The release process works in several phases: # The release process works in several phases:
# #
# 0. We assume the developer created a 'vX.Y' tag. # 0. We assume the developer created a 'vX.Y' tag.
@ -701,6 +704,7 @@ GUIX_SYSTEM_VM_IMAGE_BASE = guix-system-vm-image-$(PACKAGE_VERSION)
# issue described at <https://savannah.gnu.org/bugs/index.php?51027>. # issue described at <https://savannah.gnu.org/bugs/index.php?51027>.
release: dist release: dist
cd po; git checkout . cd po; git checkout .
cd doc; git checkout .
@if ! git diff-index --quiet HEAD; then \ @if ! git diff-index --quiet HEAD; then \
echo "There are uncommitted changes; stopping." >&2 ; \ echo "There are uncommitted changes; stopping." >&2 ; \
exit 1 ; \ exit 1 ; \
@ -713,6 +717,9 @@ release: dist
"`git rev-parse HEAD`" "$(PACKAGE_VERSION)" "`git rev-parse HEAD`" "$(PACKAGE_VERSION)"
git add $(top_srcdir)/gnu/packages/package-management.scm git add $(top_srcdir)/gnu/packages/package-management.scm
git commit -m "gnu: guix: Update to $(PACKAGE_VERSION)." git commit -m "gnu: guix: Update to $(PACKAGE_VERSION)."
$(top_builddir)/pre-inst-env guix build guix \
$(call system_flags,$(SUPPORTED_SYSTEMS)) \
-v1 --no-grafts -K
rm -f $(BINARY_TARBALLS) rm -f $(BINARY_TARBALLS)
$(MAKE) $(BINARY_TARBALLS) $(MAKE) $(BINARY_TARBALLS)
for system in $(SUPPORTED_SYSTEMS) ; do \ for system in $(SUPPORTED_SYSTEMS) ; do \
@ -724,6 +731,9 @@ release: dist
"`git rev-parse HEAD`" "`git rev-parse HEAD`"
git add $(top_srcdir)/gnu/packages/package-management.scm git add $(top_srcdir)/gnu/packages/package-management.scm
git commit -m "gnu: guix: Update to `git rev-parse HEAD | cut -c1-7`." git commit -m "gnu: guix: Update to `git rev-parse HEAD | cut -c1-7`."
$(top_builddir)/pre-inst-env guix build guix \
$(call system_flags,$(GUIX_SYSTEM_SUPPORTED_SYSTEMS)) \
-v1 --no-grafts -K
for system in $(GUIX_SYSTEM_SUPPORTED_SYSTEMS) ; do \ for system in $(GUIX_SYSTEM_SUPPORTED_SYSTEMS) ; do \
image=`$(top_builddir)/pre-inst-env \ image=`$(top_builddir)/pre-inst-env \
guix system disk-image \ guix system disk-image \

View file

@ -54,10 +54,6 @@
;;; available at this point. ;;; available at this point.
;;; ;;;
(define %dependency-variables
;; (guix config) variables corresponding to dependencies.
'(%libgcrypt %libz %xz %gzip %bzip2))
(define %persona-variables (define %persona-variables
;; (guix config) variables that define Guix's persona. ;; (guix config) variables that define Guix's persona.
'(%guix-package-name '(%guix-package-name
@ -403,6 +399,9 @@ files."
(mlet %store-monad ((build (build-program source version guile-version (mlet %store-monad ((build (build-program source version guile-version
#:pull-version pull-version)) #:pull-version pull-version))
(system (if system (return system) (current-system))) (system (if system (return system) (current-system)))
;; Note: Use the deprecated names here because the
;; caller might be Guix <= 0.16.0.
(port ((store-lift nix-server-socket))) (port ((store-lift nix-server-socket)))
(major ((store-lift nix-server-major-version))) (major ((store-lift nix-server-major-version)))
(minor ((store-lift nix-server-minor-version)))) (minor ((store-lift nix-server-minor-version))))

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -17,7 +17,8 @@
;;; You should have received a copy of the GNU General Public License ;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(use-modules (ice-9 match) (use-modules (ice-9 format)
(ice-9 match)
(ice-9 threads) (ice-9 threads)
(srfi srfi-1) (srfi srfi-1)
(guix build compile) (guix build compile)
@ -78,6 +79,10 @@ to 'make'."
(current-processor-count)))) (current-processor-count))))
(loop tail))))))))) (loop tail)))))))))
(define (% completed total)
"Return the completion percentage of COMPLETED over TOTAL as an integer."
(inexact->exact (round (* 100. (/ completed total)))))
;; Install a SIGINT handler to give unwind handlers in 'compile-file' an ;; Install a SIGINT handler to give unwind handlers in 'compile-file' an
;; opportunity to run upon SIGINT and to remove temporary output files. ;; opportunity to run upon SIGINT and to remove temporary output files.
(sigaction SIGINT (sigaction SIGINT
@ -92,10 +97,14 @@ to 'make'."
#:host host #:host host
#:report-load (lambda (file total completed) #:report-load (lambda (file total completed)
(when file (when file
(format #t " LOAD ~a~%" file) (format #t "[~3d%] LOAD ~a~%"
(% (+ 1 completed) (* 2 total))
file)
(force-output))) (force-output)))
#:report-compilation (lambda (file total completed) #:report-compilation (lambda (file total completed)
(when file (when file
(format #t " GUILEC ~a~%" (format #t "[~3d%] GUILEC ~a~%"
(% (+ total completed 1)
(* 2 total))
(scm->go file)) (scm->go file))
(force-output)))))) (force-output))))))

View file

@ -202,7 +202,6 @@ else
AC_MSG_RESULT([not found]) AC_MSG_RESULT([not found])
fi fi
LIBGCRYPT="libgcrypt"
LIBGCRYPT_LIBDIR="no" LIBGCRYPT_LIBDIR="no"
LIBGCRYPT_PREFIX="no" LIBGCRYPT_PREFIX="no"
@ -212,7 +211,6 @@ AC_ARG_WITH([libgcrypt-prefix],
yes|no) yes|no)
;; ;;
*) *)
LIBGCRYPT="$withval/lib/libgcrypt"
LIBGCRYPT_PREFIX="$withval" LIBGCRYPT_PREFIX="$withval"
LIBGCRYPT_LIBDIR="$withval/lib" LIBGCRYPT_LIBDIR="$withval/lib"
;; ;;
@ -223,11 +221,9 @@ AC_ARG_WITH([libgcrypt-libdir],
[search for GNU libgcrypt's shared library in DIR])], [search for GNU libgcrypt's shared library in DIR])],
[case "$withval" in [case "$withval" in
yes|no) yes|no)
LIBGCRYPT="libgcrypt"
LIBGCRYPT_LIBDIR="no" LIBGCRYPT_LIBDIR="no"
;; ;;
*) *)
LIBGCRYPT="$withval/libgcrypt"
LIBGCRYPT_LIBDIR="$withval" LIBGCRYPT_LIBDIR="$withval"
;; ;;
esac]) esac])
@ -240,10 +236,6 @@ case "x$LIBGCRYPT_PREFIX$LIBGCRYPT_LIBDIR" in
;; ;;
esac esac
dnl Library name suitable for `dynamic-link'.
AC_MSG_CHECKING([for libgcrypt shared library name])
AC_MSG_RESULT([$LIBGCRYPT])
AC_SUBST([LIBGCRYPT])
AC_SUBST([LIBGCRYPT_PREFIX]) AC_SUBST([LIBGCRYPT_PREFIX])
AC_SUBST([LIBGCRYPT_LIBDIR]) AC_SUBST([LIBGCRYPT_LIBDIR])

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -3646,8 +3646,9 @@ but it supports the following options:
@item --url=@var{url} @item --url=@var{url}
@itemx --commit=@var{commit} @itemx --commit=@var{commit}
@itemx --branch=@var{branch} @itemx --branch=@var{branch}
Download code from the specified @var{url}, at the given @var{commit} (a valid Download code for the @code{guix} channel from the specified @var{url}, at the
Git commit ID represented as a hexadecimal string), or @var{branch}. given @var{commit} (a valid Git commit ID represented as a hexadecimal
string), or @var{branch}.
@cindex @file{channels.scm}, configuration file @cindex @file{channels.scm}, configuration file
@cindex configuration file for channels @cindex configuration file for channels
@ -3662,6 +3663,14 @@ Read the list of channels from @var{file} instead of
evaluates to a list of channel objects. @xref{Channels}, for more evaluates to a list of channel objects. @xref{Channels}, for more
information. information.
@item --news
@itemx -N
Display the list of packages added or upgraded since the previous generation.
This is the same information as displayed upon @command{guix pull} completion,
but without ellipses; it is also similar to the output of @command{guix pull
-l} for the last generation (see below).
@item --list-generations[=@var{pattern}] @item --list-generations[=@var{pattern}]
@itemx -l [@var{pattern}] @itemx -l [@var{pattern}]
List all the generations of @file{~/.config/guix/current} or, if @var{pattern} List all the generations of @file{~/.config/guix/current} or, if @var{pattern}
@ -8029,7 +8038,9 @@ The following derivations will be built:
@item --system=@var{system} @item --system=@var{system}
@itemx -s @var{system} @itemx -s @var{system}
Attempt to build for @var{system}---e.g., @code{i686-linux}---instead of Attempt to build for @var{system}---e.g., @code{i686-linux}---instead of
the system type of the build host. the system type of the build host. The @command{guix build} command allows
you to repeat this option several times, in which case it builds for all the
specified systems; other commands ignore extraneous @option{-s} options.
@quotation Note @quotation Note
The @code{--system} flag is for @emph{native} compilation and must not The @code{--system} flag is for @emph{native} compilation and must not
@ -10450,7 +10461,7 @@ The package object of the operating system kernel to use@footnote{Currently
only the Linux-libre kernel is supported. In the future, it will be only the Linux-libre kernel is supported. In the future, it will be
possible to use the GNU@tie{}Hurd.}. possible to use the GNU@tie{}Hurd.}.
@item @code{kernel-arguments} (default: @code{'()}) @item @code{kernel-arguments} (default: @code{'("quiet")})
List of strings or gexps representing additional arguments to pass on List of strings or gexps representing additional arguments to pass on
the command-line of the kernel---e.g., @code{("console=ttyS0")}. the command-line of the kernel---e.g., @code{("console=ttyS0")}.
@ -25113,6 +25124,12 @@ shepherd, The GNU Shepherd Manual}). @xref{Slots of services, the
@item @code{requirements} (default: @code{'()}) @item @code{requirements} (default: @code{'()})
List of symbols denoting the Shepherd services this one depends on. List of symbols denoting the Shepherd services this one depends on.
@cindex one-shot services, for the Shepherd
@item @code{one-shot?} (default: @code{#f})
Whether this service is @dfn{one-shot}. One-shot services stop immediately
after their @code{start} action has completed. @xref{Slots of services,,,
shepherd, The GNU Shepherd Manual}, for more info.
@item @code{respawn?} (default: @code{#t}) @item @code{respawn?} (default: @code{#t})
Whether to restart the service when it stops, for instance when the Whether to restart the service when it stops, for instance when the
underlying process dies. underlying process dies.

View file

@ -37,6 +37,7 @@
#:use-module (ice-9 popen) #:use-module (ice-9 popen)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-9) #:use-module (srfi srfi-9)
#:use-module (srfi srfi-19)
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:export (qemu-command #:export (qemu-command
load-in-linux-vm load-in-linux-vm
@ -458,6 +459,25 @@ GRUB configuration and OS-DRV as the stuff in it."
closures) closures)
(register-bootcfg-root "/tmp/root" config-file)) (register-bootcfg-root "/tmp/root" config-file))
;; 'grub-mkrescue' calls out to mtools programs to create 'efi.img', a FAT
;; file system image, and mtools honors SOURCE_DATE_EPOCH for the mtime of
;; those files. The epoch for FAT is Jan. 1st 1980, not 1970, so choose
;; that.
(setenv "SOURCE_DATE_EPOCH"
(number->string
(time-second
(date->time-utc (make-date 0 0 0 0 1 1 1980 0)))))
;; Our patched 'grub-mkrescue' honors this environment variable and passes
;; it to 'mformat', which makes it the serial number of 'efi.img'. This
;; allows for deterministic builds.
(setenv "GRUB_FAT_SERIAL_NUMBER"
(number->string (if volume-uuid
(string-hash (iso9660-uuid->string volume-uuid)
(expt 2 32))
#x77777777)
16))
(let ((pipe (let ((pipe
(apply open-pipe* OPEN_WRITE (apply open-pipe* OPEN_WRITE
grub-mkrescue "-o" target grub-mkrescue "-o" target
@ -471,6 +491,10 @@ GRUB configuration and OS-DRV as the stuff in it."
"mnt=/tmp/root/mnt" "mnt=/tmp/root/mnt"
"-path-list" "-" "-path-list" "-"
"--" "--"
;; Set all timestamps to 1.
"-volume_date" "all_file_dates" "=1"
"-volid" (string-upcase volume-id) "-volid" (string-upcase volume-id)
(if volume-uuid (if volume-uuid
`("-volume_date" "uuid" `("-volume_date" "uuid"

View file

@ -343,6 +343,20 @@ selected keymap."
;; Add some binaries used by the installers to PATH. ;; Add some binaries used by the installers to PATH.
#$set-installer-path #$set-installer-path
;; Arrange for language and territory name translations to be
;; available. We need them at run time, not just compile time,
;; because some territories have several corresponding languages
;; (e.g., "French" is always displayed as "français", but
;; "Belgium" could be translated to Dutch, French, or German.)
(bindtextdomain "iso_639-3" ;languages
#+(file-append iso-codes "/share/locale"))
(bindtextdomain "iso_3166-1" ;territories
#+(file-append iso-codes "/share/locale"))
;; Likewise for XKB keyboard layout names.
(bindtextdomain "xkeyboard-config"
#+(file-append xkeyboard-config "/share/locale"))
(let* ((current-installer newt-installer) (let* ((current-installer newt-installer)
(steps (#$steps current-installer))) (steps (#$steps current-installer)))
((installer-init current-installer)) ((installer-init current-installer))

View file

@ -24,13 +24,15 @@
#:use-module (guix build utils) #:use-module (guix build utils)
#:export (install-system)) #:export (install-system))
(define (install-system) (define (install-system locale)
"Start COW-STORE service on target directory and launch guix install command "Start COW-STORE service on target directory and launch guix install command
in a subshell." in a subshell. LOCALE must be the locale name under which that command will
run, or #f."
(let ((install-command (let ((install-command
(format #f "guix system init ~a ~a" (format #f "guix system init ~a ~a"
(%installer-configuration-file) (%installer-configuration-file)
(%installer-target-dir)))) (%installer-target-dir))))
(mkdir-p (%installer-target-dir)) (mkdir-p (%installer-target-dir))
(start-service 'cow-store (list (%installer-target-dir))) (start-service 'cow-store (list (%installer-target-dir)))
(false-if-exception (run-shell-command install-command)))) (false-if-exception (run-shell-command install-command
#:locale locale))))

View file

@ -36,6 +36,7 @@
make-x11-keymap-layout make-x11-keymap-layout
x11-keymap-layout? x11-keymap-layout?
x11-keymap-layout-name x11-keymap-layout-name
x11-keymap-layout-synopsis
x11-keymap-layout-description x11-keymap-layout-description
x11-keymap-layout-variants x11-keymap-layout-variants
@ -60,7 +61,8 @@
x11-keymap-layout make-x11-keymap-layout x11-keymap-layout make-x11-keymap-layout
x11-keymap-layout? x11-keymap-layout?
(name x11-keymap-layout-name) ;string (name x11-keymap-layout-name) ;string
(description x11-keymap-layout-description) ;string (synopsis x11-keymap-layout-synopsis) ;string (e.g., "en")
(description x11-keymap-layout-description) ;string (a whole phrase)
(variants x11-keymap-layout-variants)) ;list of <x11-keymap-variant> (variants x11-keymap-layout-variants)) ;list of <x11-keymap-variant>
(define-record-type* <x11-keymap-variant> (define-record-type* <x11-keymap-variant>
@ -117,6 +119,8 @@ Configuration Database, describing possible XKB configurations."
(variantList ,[variant -> v] ...)) (variantList ,[variant -> v] ...))
(x11-keymap-layout (x11-keymap-layout
(name name) (name name)
(synopsis (car
(assoc-ref rest-layout 'shortDescription)))
(description (car (description (car
(assoc-ref rest-layout 'description))) (assoc-ref rest-layout 'description)))
(variants (list v ...)))] (variants (list v ...)))]
@ -126,6 +130,8 @@ Configuration Database, describing possible XKB configurations."
. ,rest-layout)) . ,rest-layout))
(x11-keymap-layout (x11-keymap-layout
(name name) (name name)
(synopsis (car
(assoc-ref rest-layout 'shortDescription)))
(description (car (description (car
(assoc-ref rest-layout 'description))) (assoc-ref rest-layout 'description)))
(variants '()))])) (variants '()))]))

View file

@ -65,22 +65,23 @@ press the button to reboot.")))
(G_ "The final system installation step failed. You can retry the \ (G_ "The final system installation step failed. You can retry the \
last step, or restart the installer."))) last step, or restart the installer.")))
(define (run-install-shell) (define (run-install-shell locale)
(clear-screen) (clear-screen)
(newt-suspend) (newt-suspend)
(let ((install-ok? (install-system))) (let ((install-ok? (install-system locale)))
(newt-resume) (newt-resume)
install-ok?)) install-ok?))
(define (run-final-page result prev-steps) (define (run-final-page result prev-steps)
(let* ((configuration (format-configuration prev-steps result)) (let* ((configuration (format-configuration prev-steps result))
(user-partitions (result-step result 'partition)) (user-partitions (result-step result 'partition))
(locale (result-step result 'locale))
(install-ok? (install-ok?
(with-mounted-partitions (with-mounted-partitions
user-partitions user-partitions
(configuration->file configuration) (configuration->file configuration)
(run-config-display-page) (run-config-display-page)
(run-install-shell)))) (run-install-shell locale))))
(if install-ok? (if install-ok?
(run-install-success-page) (run-install-success-page)
(run-install-failed-page)))) (run-install-failed-page))))

View file

@ -28,6 +28,7 @@
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:use-module (srfi srfi-34) #:use-module (srfi srfi-34)
#:use-module (srfi srfi-35) #:use-module (srfi srfi-35)
#:use-module (ice-9 i18n)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:export (run-keymap-page #:export (run-keymap-page
keyboard-layout->configuration)) keyboard-layout->configuration))
@ -64,14 +65,29 @@
(define (sort-layouts layouts) (define (sort-layouts layouts)
"Sort LAYOUTS list by putting the US layout ahead and return it." "Sort LAYOUTS list by putting the US layout ahead and return it."
(define (layout<? layout1 layout2)
(let ((text1 (x11-keymap-layout-description layout1))
(text2 (x11-keymap-layout-description layout2)))
;; XXX: We're calling 'gettext' more than once per item.
(string-locale<? (gettext text1 "xkeyboard-config")
(gettext text2 "xkeyboard-config"))))
(define preferred
;; Two-letter language tag for the preferred keyboard layout.
(or (getenv "LANGUAGE") "us"))
(call-with-values (call-with-values
(lambda () (lambda ()
(partition (partition
(lambda (layout) (lambda (layout)
(let ((name (x11-keymap-layout-name layout))) ;; The 'synopsis' field is usually a language code (e.g., "en")
(string=? name "us"))) ;; while the 'name' field is a country code (e.g., "us").
(or (string=? (x11-keymap-layout-name layout) preferred)
(string=? (x11-keymap-layout-synopsis layout) preferred)))
layouts)) layouts))
(cut append <> <>))) (lambda (main others)
(append (sort main layout<?)
(sort others layout<?)))))
(define (sort-variants variants) (define (sort-variants variants)
"Sort VARIANTS list by putting the international variant ahead and return it." "Sort VARIANTS list by putting the international variant ahead and return it."
@ -97,7 +113,8 @@ names of the selected keyboard layout and variant."
(run-layout-page (run-layout-page
(sort-layouts layouts) (sort-layouts layouts)
(lambda (layout) (lambda (layout)
(x11-keymap-layout-description layout)))))) (gettext (x11-keymap-layout-description layout)
"xkeyboard-config"))))))
;; Propose the user to select a variant among those supported by the ;; Propose the user to select a variant among those supported by the
;; previously selected layout. ;; previously selected layout.
(installer-step (installer-step
@ -111,15 +128,16 @@ names of the selected keyboard layout and variant."
(run-variant-page (run-variant-page
(sort-variants variants) (sort-variants variants)
(lambda (variant) (lambda (variant)
(x11-keymap-variant-description (gettext (x11-keymap-variant-description variant)
variant)))))))))) "xkeyboard-config"))))))))))
(define (format-result result) (define (format-result result)
(let ((layout (x11-keymap-layout-name (let ((layout (x11-keymap-layout-name
(result-step result 'layout))) (result-step result 'layout)))
(variant (and=> (result-step result 'variant) (variant (and=> (result-step result 'variant)
(lambda (variant) (lambda (variant)
(x11-keymap-variant-name variant))))) (gettext (x11-keymap-variant-name variant)
"xkeyboard-config")))))
(list layout (or variant "")))) (list layout (or variant ""))))
(format-result (format-result
(run-installer-steps #:steps keymap-steps))) (run-installer-steps #:steps keymap-steps)))

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -30,9 +31,9 @@
#:export (run-locale-page)) #:export (run-locale-page))
(define (run-language-page languages language->text) (define (run-language-page languages language->text)
(let ((title (G_ "Locale language"))) (define result
(run-listbox-selection-page (run-listbox-selection-page
#:title title #:title (G_ "Locale language")
#:info-text (G_ "Choose the language to use for the \ #:info-text (G_ "Choose the language to use for the \
installation process and for the installed system.") installation process and for the installed system.")
#:info-textbox-width 70 #:info-textbox-width 70
@ -44,7 +45,13 @@ installation process and for the installed system.")
(lambda _ (lambda _
(raise (raise
(condition (condition
(&installer-step-abort))))))) (&installer-step-abort))))))
;; Immediately install the chosen language so that the territory page that
;; comes after (optionally) is displayed in the chosen language.
(setenv "LANGUAGE" result)
result)
(define (run-territory-page territories territory->text) (define (run-territory-page territories territory->text)
(let ((title (G_ "Locale location"))) (let ((title (G_ "Locale location")))
@ -155,7 +162,13 @@ glibc locale string and return it."
(run-language-page (run-language-page
(sort-languages (sort-languages
(delete-duplicates (map locale-language supported-locales))) (delete-duplicates (map locale-language supported-locales)))
(cut language-code->language-name iso639-languages <>))))) (lambda (language)
(let ((english (language-code->language-name iso639-languages
language)))
(setenv "LANGUAGE" language)
(let ((native (gettext english "iso_639-3")))
(unsetenv "LANGUAGE")
native)))))))
(installer-step (installer-step
(id 'territory) (id 'territory)
(compute (compute
@ -169,10 +182,11 @@ glibc locale string and return it."
;; supported by the previously selected language. ;; supported by the previously selected language.
(run-territory-page (run-territory-page
(delete-duplicates (map locale-territory locales)) (delete-duplicates (map locale-territory locales))
(lambda (territory-code) (lambda (territory)
(if territory-code (if territory
(territory-code->territory-name iso3166-territories (let ((english (territory-code->territory-name
territory-code) iso3166-territories territory)))
(gettext english "iso_3166-1"))
(G_ "No location")))))))) (G_ "No location"))))))))
(installer-step (installer-step
(id 'codeset) (id 'codeset)

View file

@ -21,6 +21,7 @@
#:use-module (gnu installer utils) #:use-module (gnu installer utils)
#:use-module (gnu installer newt utils) #:use-module (gnu installer newt utils)
#:use-module (guix i18n) #:use-module (guix i18n)
#:use-module (ice-9 i18n)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (ice-9 receive) #:use-module (ice-9 receive)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
@ -223,7 +224,7 @@ be selected (using the <SPACE> key). It that case, a list containing the
selected items will be returned. selected items will be returned.
If SORT-LISTBOX-ITEMS? is set to #t, the listbox items are sorted using If SORT-LISTBOX-ITEMS? is set to #t, the listbox items are sorted using
'string<=' procedure (after being converted to text). 'string-locale<?' procedure (after being converted to text).
If ALLOW-DELETE? is #t, the form will return if the <DELETE> key is pressed, If ALLOW-DELETE? is #t, the form will return if the <DELETE> key is pressed,
otherwise nothing will happen. otherwise nothing will happen.
@ -249,7 +250,7 @@ ITEM was inserted into LISTBOX."
items)) items))
(define (sort-listbox-items listbox-items) (define (sort-listbox-items listbox-items)
"Return LISTBOX-ITEMS sorted using the 'string<=' procedure on the text "Return LISTBOX-ITEMS sorted using the 'string-locale<?' procedure on the text
corresponding to each item in the list." corresponding to each item in the list."
(let* ((items (map (lambda (item) (let* ((items (map (lambda (item)
(cons item (listbox-item->text item))) (cons item (listbox-item->text item)))
@ -258,7 +259,7 @@ corresponding to each item in the list."
(sort items (lambda (a b) (sort items (lambda (a b)
(let ((text-a (cdr a)) (let ((text-a (cdr a))
(text-b (cdr b))) (text-b (cdr b)))
(string<= text-a text-b)))))) (string-locale<? text-a text-b))))))
(map car sorted-items))) (map car sorted-items)))
;; Store the last selected listbox item's key. ;; Store the last selected listbox item's key.

View file

@ -50,12 +50,15 @@ returned."
(define (run-page timezone-tree) (define (run-page timezone-tree)
(define (loop path) (define (loop path)
;; XXX: Translation of time zones isn't perfect here because the
;; "iso_3166-1" domain contains translation for "territories" (like
;; "Antarctic") but not for continents (like "Africa").
(let ((timezones (locate-children timezone-tree path))) (let ((timezones (locate-children timezone-tree path)))
(run-listbox-selection-page (run-listbox-selection-page
#:title (G_ "Timezone") #:title (G_ "Timezone")
#:info-text (G_ "Please select a timezone.") #:info-text (G_ "Please select a timezone.")
#:listbox-items timezones #:listbox-items timezones
#:listbox-item->text identity #:listbox-item->text (cut gettext <> "iso_3166-1")
#:button-text (if (null? path) #:button-text (if (null? path)
(G_ "Exit") (G_ "Exit")
(G_ "Back")) (G_ "Back"))

View file

@ -20,7 +20,6 @@
(define-module (gnu installer services) (define-module (gnu installer services)
#:use-module (guix records) #:use-module (guix records)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (ice-9 match)
#:export (system-service? #:export (system-service?
system-service-name system-service-name
system-service-type system-service-type
@ -37,7 +36,10 @@
system-service? system-service?
(name system-service-name) ;string (name system-service-name) ;string
(type system-service-type) ;'desktop | 'networking (type system-service-type) ;'desktop | 'networking
(snippet system-service-snippet)) ;sexp (snippet system-service-snippet ;list of sexps
(default '()))
(packages system-service-packages ;list of sexps
(default '())))
;; This is the list of desktop environments supported as services. ;; This is the list of desktop environments supported as services.
(define %system-services (define %system-services
@ -51,26 +53,38 @@
(list (list
(desktop-environment (desktop-environment
(name "GNOME") (name "GNOME")
(snippet '(service gnome-desktop-service-type))) (snippet '((service gnome-desktop-service-type))))
(desktop-environment (desktop-environment
(name "Xfce") (name "Xfce")
(snippet '(service xfce-desktop-service-type))) (snippet '((service xfce-desktop-service-type))))
(desktop-environment (desktop-environment
(name "MATE") (name "MATE")
(snippet '(service mate-desktop-service-type))) (snippet '((service mate-desktop-service-type))))
(desktop-environment (desktop-environment
(name "Enlightenment") (name "Enlightenment")
(snippet '(service enlightenment-desktop-service-type))) (snippet '((service enlightenment-desktop-service-type))))
(desktop-environment
(name "Openbox")
(packages '((specification->package "openbox"))))
(desktop-environment
(name "awesome")
(packages '((specification->package "awesome"))))
(desktop-environment
(name "i3")
(packages '((specification->package "i3-wm"))))
(desktop-environment
(name "ratpoison")
(packages '((specification->package "ratpoison"))))
;; Networking. ;; Networking.
(system-service (system-service
(name (G_ "OpenSSH secure shell daemon (sshd)")) (name (G_ "OpenSSH secure shell daemon (sshd)"))
(type 'networking) (type 'networking)
(snippet '(service openssh-service-type))) (snippet '((service openssh-service-type))))
(system-service (system-service
(name (G_ "Tor anonymous network router")) (name (G_ "Tor anonymous network router"))
(type 'networking) (type 'networking)
(snippet '(service tor-service-type))) (snippet '((service tor-service-type))))
;; Network connectivity management. ;; Network connectivity management.
(system-service (system-service
@ -86,7 +100,7 @@
(system-service (system-service
(name (G_ "DHCP client (dynamic IP address assignment)")) (name (G_ "DHCP client (dynamic IP address assignment)"))
(type 'network-management) (type 'network-management)
(snippet '(service dhcp-client-service-type)))))) (snippet '((service dhcp-client-service-type)))))))
(define (desktop-system-service? service) (define (desktop-system-service? service)
"Return true if SERVICE is a desktop environment service." "Return true if SERVICE is a desktop environment service."
@ -98,20 +112,21 @@
(define (system-services->configuration services) (define (system-services->configuration services)
"Return the configuration field for SERVICES." "Return the configuration field for SERVICES."
(let* ((snippets (append-map (lambda (service) (let* ((snippets (append-map system-service-snippet services))
(match (system-service-snippet service) (packages (append-map system-service-packages services))
((and lst (('service _ ...) ...))
lst)
(sexp
(list sexp))))
services))
(desktop? (find desktop-system-service? services)) (desktop? (find desktop-system-service? services))
(base (if desktop? (base (if desktop?
'%desktop-services '%desktop-services
'%base-services))) '%base-services)))
(if (null? snippets) (if (null? snippets)
`((services ,base)) `(,@(if (null? packages)
`((services (append (list ,@snippets '()
`((packages (list ,@packages))))
(services ,base))
`(,@(if (null? packages)
'()
`((packages (list ,@packages))))
(services (append (list ,@snippets
,@(if desktop? ,@(if desktop?
;; XXX: Assume 'keyboard-layout' is in ;; XXX: Assume 'keyboard-layout' is in

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -113,16 +113,24 @@ return the accumalated result so far."
(define* (skip-to-step step result (define* (skip-to-step step result
#:key todo-steps done-steps) #:key todo-steps done-steps)
(match (list todo-steps done-steps) (match todo-steps
(((todo . rest-todo) (prev-done ... last-done)) ((todo . rest-todo)
(if (eq? (installer-step-id todo) (let ((found? (eq? (installer-step-id todo)
(installer-step-id step)) (installer-step-id step))))
(cond
(found?
(run result (run result
#:todo-steps todo-steps #:todo-steps todo-steps
#:done-steps done-steps) #:done-steps done-steps))
(skip-to-step step (pop-result result) ((and (not found?)
#:todo-steps (cons last-done todo-steps) (null? done-steps))
#:done-steps prev-done))))) (error (format #f "Step ~a not found" (installer-step-id step))))
(else
(match done-steps
((prev-done ... last-done)
(skip-to-step step (pop-result result)
#:todo-steps (cons last-done todo-steps)
#:done-steps prev-done)))))))))
(define* (run result #:key todo-steps done-steps) (define* (run result #:key todo-steps done-steps)
(match todo-steps (match todo-steps

View file

@ -54,9 +54,21 @@ number. If no percentage is found, return #f"
(and result (and result
(string->number (match:substring result 1))))) (string->number (match:substring result 1)))))
(define (run-shell-command command) (define* (run-shell-command command #:key locale)
"Run COMMAND, a string, with Bash, and in the given LOCALE."
(call-with-temporary-output-file (call-with-temporary-output-file
(lambda (file port) (lambda (file port)
(when locale
(let ((supported? (false-if-exception
(setlocale LC_ALL locale))))
;; If LOCALE is not supported, then set LANGUAGE, which might at
;; least give us translated messages.
(if supported?
(format port "export LC_ALL=\"~a\"~%" locale)
(format port "export LANGUAGE=\"~a\"~%"
(string-take locale
(string-index locale #\_))))))
(format port "~a~%" command) (format port "~a~%" command)
;; (format port "exit~%") ;; (format port "exit~%")
(close port) (close port)

View file

@ -871,6 +871,7 @@ dist_patch_DATA = \
%D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \ %D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \
%D%/packages/patches/grub-binutils-compat.patch \ %D%/packages/patches/grub-binutils-compat.patch \
%D%/packages/patches/grub-check-error-efibootmgr.patch \ %D%/packages/patches/grub-check-error-efibootmgr.patch \
%D%/packages/patches/grub-efi-fat-serial-number.patch \
%D%/packages/patches/gsl-test-i686.patch \ %D%/packages/patches/gsl-test-i686.patch \
%D%/packages/patches/gspell-dash-test.patch \ %D%/packages/patches/gspell-dash-test.patch \
%D%/packages/patches/gst-plugins-good-libvpx-compat.patch \ %D%/packages/patches/gst-plugins-good-libvpx-compat.patch \
@ -1028,7 +1029,7 @@ dist_patch_DATA = \
%D%/packages/patches/lierolibre-newer-libconfig.patch \ %D%/packages/patches/lierolibre-newer-libconfig.patch \
%D%/packages/patches/lierolibre-remove-arch-warning.patch \ %D%/packages/patches/lierolibre-remove-arch-warning.patch \
%D%/packages/patches/lierolibre-try-building-other-arch.patch \ %D%/packages/patches/lierolibre-try-building-other-arch.patch \
%D%/packages/patches/linkchecker-mark-more-tests-that-require-the-network.patch \ %D%/packages/patches/linkchecker-tests-require-network.patch \
%D%/packages/patches/linux-pam-no-setfsuid.patch \ %D%/packages/patches/linux-pam-no-setfsuid.patch \
%D%/packages/patches/lirc-localstatedir.patch \ %D%/packages/patches/lirc-localstatedir.patch \
%D%/packages/patches/lirc-reproducible-build.patch \ %D%/packages/patches/lirc-reproducible-build.patch \
@ -1075,6 +1076,7 @@ dist_patch_DATA = \
%D%/packages/patches/mozjs38-version-detection.patch \ %D%/packages/patches/mozjs38-version-detection.patch \
%D%/packages/patches/mrrescue-support-love-11.patch \ %D%/packages/patches/mrrescue-support-love-11.patch \
%D%/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch \ %D%/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.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/mupen64plus-ui-console-notice.patch \ %D%/packages/patches/mupen64plus-ui-console-notice.patch \
@ -1104,7 +1106,7 @@ dist_patch_DATA = \
%D%/packages/patches/ocaml-CVE-2015-8869.patch \ %D%/packages/patches/ocaml-CVE-2015-8869.patch \
%D%/packages/patches/ocaml-Add-a-.file-directive.patch \ %D%/packages/patches/ocaml-Add-a-.file-directive.patch \
%D%/packages/patches/ocaml-enable-ocamldoc-reproducibility.patch \ %D%/packages/patches/ocaml-enable-ocamldoc-reproducibility.patch \
%D%/packages/patches/ocaml-dose3-Add-unix-as-dependency-to-dose3.common-in-META.in.patch \ %D%/packages/patches/ocaml-dose3-add-unix-dependency.patch \
%D%/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch \ %D%/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch \
%D%/packages/patches/ocaml-dose3-dont-make-printconf.patch \ %D%/packages/patches/ocaml-dose3-dont-make-printconf.patch \
%D%/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch \ %D%/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch \
@ -1117,7 +1119,6 @@ dist_patch_DATA = \
%D%/packages/patches/openjdk-10-idlj-reproducibility.patch \ %D%/packages/patches/openjdk-10-idlj-reproducibility.patch \
%D%/packages/patches/openocd-nrf52.patch \ %D%/packages/patches/openocd-nrf52.patch \
%D%/packages/patches/opensmtpd-fix-crash.patch \ %D%/packages/patches/opensmtpd-fix-crash.patch \
%D%/packages/patches/openssh-CVE-2018-20685.patch \
%D%/packages/patches/openssl-runpath.patch \ %D%/packages/patches/openssl-runpath.patch \
%D%/packages/patches/openssl-1.1-c-rehash-in.patch \ %D%/packages/patches/openssl-1.1-c-rehash-in.patch \
%D%/packages/patches/openssl-c-rehash-in.patch \ %D%/packages/patches/openssl-c-rehash-in.patch \

View file

@ -181,14 +181,14 @@ and provides a \"top-like\" mode (monitoring).")
(define-public shepherd (define-public shepherd
(package (package
(name "shepherd") (name "shepherd")
(version "0.5.0") (version "0.6.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://alpha.gnu.org/gnu/shepherd/shepherd-" (uri (string-append "mirror://gnu/shepherd/shepherd-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1wmciqml9yplnx1s4ynn00giqyk06rbrcsgvpjj2df47sawk2jp8")))) "1ys2w83vm62spr8bx38sccfdpy9fqmj7wfywm5k8ihsy2k61da2i"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:configure-flags '("--localstatedir=/var"))) '(#:configure-flags '("--localstatedir=/var")))
@ -211,8 +211,7 @@ the execution of system services, replacing similar functionality found in
typical init systems. It provides dependency-handling through a convenient typical init systems. It provides dependency-handling through a convenient
interface and is based on GNU Guile.") interface and is based on GNU Guile.")
(license license:gpl3+) (license license:gpl3+)
(home-page "https://www.gnu.org/software/shepherd/") (home-page "https://www.gnu.org/software/shepherd/")))
(properties '((ftp-server . "alpha.gnu.org")))))
(define-public daemontools (define-public daemontools
(package (package
@ -2925,7 +2924,7 @@ Logitech Unifying Receiver.")
(package (package
(name "lynis") (name "lynis")
;; Also update the lynis-sdk input to the commit matching this release. ;; Also update the lynis-sdk input to the commit matching this release.
(version "2.7.3") (version "2.7.4")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -2934,7 +2933,7 @@ Logitech Unifying Receiver.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0md1w86i3fy9l78i98ijr5136nbhdiik2dxyw9qnzmvdlvkqmw70")) (base32 "1jjk5hcxmp4f4ppsljiq95l2ln6b03azydap3b35lsvxkjybv88k"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -2951,10 +2950,10 @@ Logitech Unifying Receiver.")
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/CISOfy/lynis-sdk") (url "https://github.com/CISOfy/lynis-sdk")
(commit "c166b6a67a53b24f5c1fecd4eb5033f54279a5b3"))) (commit "90f301e21c204792cf372f1cf05890a562f2e31b")))
(file-name (git-file-name "lynis-sdk" version)) (file-name (git-file-name "lynis-sdk" version))
(sha256 (sha256
(base32 "0wa2azcmx6pj9axvq1jmwmz7826rj1c214asmmn1hq7pxmfw62zr")))))) (base32 "1d0smr1fxrvbc3hl8lzy33im9ahzr0hgs3kk09r8g8xccjkcm52l"))))))
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 John Darrington <jmd@gnu.org> ;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -23,6 +23,7 @@
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (gnu packages autotools)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
@ -103,7 +104,7 @@ header.")
(define-public gnuastro (define-public gnuastro
(package (package
(name "gnuastro") (name "gnuastro")
(version "0.8") (version "0.9")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -111,7 +112,7 @@ header.")
version ".tar.lz")) version ".tar.lz"))
(sha256 (sha256
(base32 (base32
"0gx6iar3z07k9sdvpa6kchsz6fpk94xn5vcvbcigssl2dwqmlnkb")))) "1c1894ixz3l8p1nmzkysgl9lz8vpqbfw1dd404kh6lvrpml7jzig"))))
(inputs (inputs
`(("cfitsio" ,cfitsio) `(("cfitsio" ,cfitsio)
("gsl" ,gsl) ("gsl" ,gsl)
@ -120,7 +121,8 @@ header.")
("wcslib" ,wcslib) ("wcslib" ,wcslib)
("zlib" ,zlib))) ("zlib" ,zlib)))
(native-inputs (native-inputs
`(("lzip" ,lzip))) `(("libtool" ,libtool)
("lzip" ,lzip)))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "https://www.gnu.org/software/gnuastro/") (home-page "https://www.gnu.org/software/gnuastro/")
(synopsis "Astronomy utilities") (synopsis "Astronomy utilities")

View file

@ -547,14 +547,14 @@ plugins are provided.")
(define-public calf (define-public calf
(package (package
(name "calf") (name "calf")
(version "0.90.1") (version "0.90.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://calf-studio-gear.org/files/calf-" (uri (string-append "https://calf-studio-gear.org/files/calf-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0znwx5gidr5n503gya9n8gagr8cfym6cwlbiv2r6iksji7jc4fpb")))) "0bn4j1klw2yfxz8clbmasaydifq25rdfsv0n6iisxrzcj1lx7sgh"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("fluidsynth" ,fluidsynth) `(("fluidsynth" ,fluidsynth)
@ -713,7 +713,7 @@ emulation (valve, tape), bit fiddling (decimator, pointer-cast), etc.")
(define-public csound (define-public csound
(package (package
(name "csound") (name "csound")
(version "6.12.0") (version "6.12.2")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -722,7 +722,7 @@ emulation (valve, tape), bit fiddling (decimator, pointer-cast), etc.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0pv4s54cayvavdp6y30n3r1l5x83x9whyyd2v24y0dh224v3hbxi")))) "01krxcf0alw9k7p5sv0s707600an4sl7lhw3bymbwgqrj0v2p9z2"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs (inputs
`(("alsa-lib" ,alsa-lib) `(("alsa-lib" ,alsa-lib)
@ -1104,7 +1104,7 @@ follower.")
(define-public fluidsynth (define-public fluidsynth
(package (package
(name "fluidsynth") (name "fluidsynth")
(version "2.0.4") (version "2.0.5")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1113,7 +1113,7 @@ follower.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"1v2vji02fbrjgypwb4fw2r90hnfwfbfh3d24j8vjwlbqxhxp16s0")))) "0rv0apxbj0cgm8f8sqf5xr6kdi4q58ph92ip6cg716ha0ca5lr8y"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:tests? #f ; no check target '(#:tests? #f ; no check target
@ -2120,14 +2120,14 @@ different audio devices such as ALSA or PulseAudio.")
(define-public qjackctl (define-public qjackctl
(package (package
(name "qjackctl") (name "qjackctl")
(version "0.5.6") (version "0.5.7")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/qjackctl/qjackctl/" (uri (string-append "mirror://sourceforge/qjackctl/qjackctl/"
version "/qjackctl-" version ".tar.gz")) version "/qjackctl-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0wlmbb9m7cf3wr7c2h2hji18592x2b119m7mx85wksjs6rjaq2mj")))) "1g6a5j74p45yisl28bw4fcc9nr6b710ikk459p4mp6djh9gs8v95"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:tests? #f)) ; no check target '(#:tests? #f)) ; no check target
@ -2316,7 +2316,7 @@ aimed at audio/musical applications.")
(define-public rubberband (define-public rubberband
(package (package
(name "rubberband") (name "rubberband")
(version "1.8.1") (version "1.8.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -2326,9 +2326,19 @@ aimed at audio/musical applications.")
(file-name (string-append name "-" version ".tar.bz2")) (file-name (string-append name "-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"05amrbrxx0da3w7m237q51799r8xgs4ffqabi2qv06hq8dpcj386")))) "0462fmjnfqpv2qi0s6ny42drqarkr0xy9lw8frjmfgzyzl5n9294"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments `(#:tests? #f)) ; no check target (arguments
`(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-jni-installation
;; make install unconditionally installs librubberband-jni.so,
;; which is never built by make all. Skip it.
(lambda _
(substitute* "Makefile.in"
((".*cp -f \\$\\(JNI_TARGET\\).*") ""))
#t)))))
(inputs (inputs
`(("ladspa" ,ladspa) `(("ladspa" ,ladspa)
("libsamplerate" ,libsamplerate) ("libsamplerate" ,libsamplerate)
@ -2861,14 +2871,14 @@ interface.")
(define-public qsynth (define-public qsynth
(package (package
(name "qsynth") (name "qsynth")
(version "0.5.5") (version "0.5.6")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/qsynth/qsynth/" version (uri (string-append "mirror://sourceforge/qsynth/qsynth/" version
"/qsynth-" version ".tar.gz")) "/qsynth-" version ".tar.gz"))
(sha256 (sha256
(base32 "08x7znvbwi9miavcarymi7dsv8njmxzwzma20dbmz8j2aswm53w5")))) (base32 "0h4hhja8qbyzd6v24flw9wr4mwl03nplryx1gyrppn7sg13l1sx6"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; no "check" phase `(#:tests? #f ; no "check" phase
@ -3375,14 +3385,14 @@ on the ALSA software PCM plugin.")
(define-public snd (define-public snd
(package (package
(name "snd") (name "snd")
(version "19.2") (version "19.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/" (uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/"
"snd-" version ".tar.gz")) "snd-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1a6ls2hyvggss12idca22hq5vsq4jw2xkwrx22dx29i9926gdr6h")))) "16j3fqyw361wdsr1076f0p3va2y7wdzq1lvr4ijz1ajmbxdlc723"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(arguments (arguments
`(#:tests? #f ; no tests `(#:tests? #f ; no tests

View file

@ -9438,40 +9438,33 @@ and irregular enzymatic cleavages, mass measurement accuracy, etc.")
(define-public r-seurat (define-public r-seurat
(package (package
(name "r-seurat") (name "r-seurat")
(version "2.3.4") (version "3.0.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "Seurat" version)) (uri (cran-uri "Seurat" version))
(sha256 (sha256
(base32 (base32
"0l8bv4i9nzz26mirnva10mq6pimibj24vk7vpvfypgn7xk4942hd")))) "183lm2wk0i3g114jbdf7pb4ssizr48qzqv3cknbsiackr8kvpsvc"))))
(properties `((upstream-name . "Seurat"))) (properties `((upstream-name . "Seurat")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-ape" ,r-ape) `(("r-ape" ,r-ape)
("r-cluster" ,r-cluster) ("r-cluster" ,r-cluster)
("r-cowplot" ,r-cowplot) ("r-cowplot" ,r-cowplot)
("r-dosnow" ,r-dosnow)
("r-dplyr" ,r-dplyr)
("r-dtw" ,r-dtw)
("r-fitdistrplus" ,r-fitdistrplus) ("r-fitdistrplus" ,r-fitdistrplus)
("r-foreach" ,r-foreach) ("r-future" ,r-future)
("r-fpc" ,r-fpc) ("r-future-apply" ,r-future-apply)
("r-ggplot2" ,r-ggplot2) ("r-ggplot2" ,r-ggplot2)
("r-ggrepel" ,r-ggrepel)
("r-ggridges" ,r-ggridges) ("r-ggridges" ,r-ggridges)
("r-gplots" ,r-gplots)
("r-hdf5r" ,r-hdf5r)
("r-hmisc" ,r-hmisc)
("r-httr" ,r-httr)
("r-ica" ,r-ica) ("r-ica" ,r-ica)
("r-igraph" ,r-igraph) ("r-igraph" ,r-igraph)
("r-irlba" ,r-irlba) ("r-irlba" ,r-irlba)
("r-lars" ,r-lars) ("r-kernsmooth" ,r-kernsmooth)
("r-lmtest" ,r-lmtest) ("r-lmtest" ,r-lmtest)
("r-mass" ,r-mass) ("r-mass" ,r-mass)
("r-matrix" ,r-matrix) ("r-matrix" ,r-matrix)
("r-metap" ,r-metap) ("r-metap" ,r-metap)
("r-mixtools" ,r-mixtools)
("r-pbapply" ,r-pbapply) ("r-pbapply" ,r-pbapply)
("r-plotly" ,r-plotly) ("r-plotly" ,r-plotly)
("r-png" ,r-png) ("r-png" ,r-png)
@ -9480,12 +9473,14 @@ and irregular enzymatic cleavages, mass measurement accuracy, etc.")
("r-rcpp" ,r-rcpp) ("r-rcpp" ,r-rcpp)
("r-rcppeigen" ,r-rcppeigen) ("r-rcppeigen" ,r-rcppeigen)
("r-rcppprogress" ,r-rcppprogress) ("r-rcppprogress" ,r-rcppprogress)
("r-reshape2" ,r-reshape2)
("r-reticulate" ,r-reticulate) ("r-reticulate" ,r-reticulate)
("r-rlang" ,r-rlang)
("r-rocr" ,r-rocr) ("r-rocr" ,r-rocr)
("r-rsvd" ,r-rsvd)
("r-rtsne" ,r-rtsne) ("r-rtsne" ,r-rtsne)
("r-scales" ,r-scales)
("r-sctransform" ,r-sctransform)
("r-sdmtools" ,r-sdmtools) ("r-sdmtools" ,r-sdmtools)
("r-tidyr" ,r-tidyr)
("r-tsne" ,r-tsne))) ("r-tsne" ,r-tsne)))
(home-page "http://www.satijalab.org/seurat") (home-page "http://www.satijalab.org/seurat")
(synopsis "Seurat is an R toolkit for single cell genomics") (synopsis "Seurat is an R toolkit for single cell genomics")

View file

@ -90,7 +90,8 @@
(base32 (base32
"03vvdfhdmf16121v7xs8is2krwnv15wpkhkf16a4yf8nsfc3f2w1")) "03vvdfhdmf16121v7xs8is2krwnv15wpkhkf16a4yf8nsfc3f2w1"))
(patches (search-patches "grub-check-error-efibootmgr.patch" (patches (search-patches "grub-check-error-efibootmgr.patch"
"grub-binutils-compat.patch")))) "grub-binutils-compat.patch"
"grub-efi-fat-serial-number.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases

View file

@ -72,16 +72,14 @@ operating system functions.")
(define-public rct (define-public rct
(let* ((commit "b3e6f41d9844ef64420e628e0c65ed98278a843a") (let* ((commit "b3e6f41d9844ef64420e628e0c65ed98278a843a")
(revision "2") (revision "2"))
(version (git-version "0.0.0" revision commit)))
(package (package
(name "rct") (name "rct")
(version version) (version (git-version "0.0.0" revision commit))
(home-page "https://github.com/Andersbakken/rct")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url home-page) (url "https://github.com/Andersbakken/rct")
(commit commit))) (commit commit)))
(sha256 (sha256
(base32 (base32
@ -99,6 +97,7 @@ operating system functions.")
(inputs (inputs
`(("openssl" ,openssl) `(("openssl" ,openssl)
("zlib" ,zlib))) ("zlib" ,zlib)))
(home-page "https://github.com/Andersbakken/rct")
(synopsis "C++ library providing Qt-like APIs on top of the STL") (synopsis "C++ library providing Qt-like APIs on top of the STL")
(description "Rct is a set of C++ tools that provide nicer (more Qt-like) (description "Rct is a set of C++ tools that provide nicer (more Qt-like)
APIs on top of Standard Template Library (@dfn{STL}) classes.") APIs on top of Standard Template Library (@dfn{STL}) classes.")

View file

@ -78,14 +78,14 @@
(define-public r-clipr (define-public r-clipr
(package (package
(name "r-clipr") (name "r-clipr")
(version "0.5.0") (version "0.6.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "clipr" version)) (uri (cran-uri "clipr" version))
(sha256 (sha256
(base32 (base32
"1grx0lyww1cxmdvsr44wmbhz9i6zmiwxbchb97gxrfi9gy5kyc7x")))) "0k9kimkmmj9k7290sxiqn4kd1vvm4w7q9a44wp0w30b7yjpavx2m"))))
(build-system r-build-system) (build-system r-build-system)
(home-page "https://github.com/mdlincoln/clipr") (home-page "https://github.com/mdlincoln/clipr")
(synopsis "Read and write from the system clipboard") (synopsis "Read and write from the system clipboard")
@ -3050,14 +3050,14 @@ programming} (SQP) based solver).")
(define-public r-hardyweinberg (define-public r-hardyweinberg
(package (package
(name "r-hardyweinberg") (name "r-hardyweinberg")
(version "1.6.1") (version "1.6.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "HardyWeinberg" version)) (uri (cran-uri "HardyWeinberg" version))
(sha256 (sha256
(base32 (base32
"16n8qanxx0p5ny5zqxafn8hwb1xv94y1wig1iql8as5a5qh8lwcz")))) "15i7b444hikkfgqmx2ki827998xwra38k9v7a7kavwz6zmq5mmv9"))))
(properties `((upstream-name . "HardyWeinberg"))) (properties `((upstream-name . "HardyWeinberg")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -3317,14 +3317,14 @@ normalizations, minimum variance matching, and so on.")
(define-public r-sdmtools (define-public r-sdmtools
(package (package
(name "r-sdmtools") (name "r-sdmtools")
(version "1.1-221") (version "1.1-221.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "SDMTools" version)) (uri (cran-uri "SDMTools" version))
(sha256 (sha256
(base32 (base32
"1kacrpamshv7wz83yn45sfbw4m9c44xrrngzcklnwx8gcxx2knm6")))) "1fsgnlc7glawimzijp11j53g5bnfp1mdq9wb0754idmxcdi8a99q"))))
(properties `((upstream-name . "SDMTools"))) (properties `((upstream-name . "SDMTools")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs `(("r-r-utils" ,r-r-utils))) (propagated-inputs `(("r-r-utils" ,r-r-utils)))
@ -5489,14 +5489,14 @@ results to the user.")
(define-public r-hdf5r (define-public r-hdf5r
(package (package
(name "r-hdf5r") (name "r-hdf5r")
(version "1.1.1") (version "1.2.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "hdf5r" version)) (uri (cran-uri "hdf5r" version))
(sha256 (sha256
(base32 (base32
"1cq4rdfd0rqvy29ml3x1iid142ljnscs8f4d2y1na13hlvkl3k05")))) "10gynjwaaxks8y9c2fl8k040j0nbwn372nil70009yfk9wrkx0aq"))))
(build-system r-build-system) (build-system r-build-system)
(inputs (inputs
`(("hdf5" ,hdf5) `(("hdf5" ,hdf5)
@ -5605,14 +5605,14 @@ hierarchical models using Markov Chain Monte Carlo (MCMC) simulation.")
(define-public r-rdpack (define-public r-rdpack
(package (package
(name "r-rdpack") (name "r-rdpack")
(version "0.10-1") (version "0.11-0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "Rdpack" version)) (uri (cran-uri "Rdpack" version))
(sha256 (sha256
(base32 (base32
"0bbjnw88h54v40hzim00i8yd3p4rk9i84zfdmgcbnylscwvsf0av")))) "11cd27s6zp5cxnwxcvz6rjf00y0r7aq8ywhzwpf1r4xy1z44kd4g"))))
(properties `((upstream-name . "Rdpack"))) (properties `((upstream-name . "Rdpack")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -13253,14 +13253,14 @@ self-intersections from polygon data.")
(define-public r-urltools (define-public r-urltools
(package (package
(name "r-urltools") (name "r-urltools")
(version "1.7.2") (version "1.7.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "urltools" version)) (uri (cran-uri "urltools" version))
(sha256 (sha256
(base32 (base32
"18lp66f2l504b8q3j4xy8j9pyzzlljw9f112sn6qii1cg83072wm")))) "04x3my655dd287cbsszbnf75q0swmjlxxrblcsay7a8n3df3a830"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-rcpp" ,r-rcpp) `(("r-rcpp" ,r-rcpp)
@ -13888,3 +13888,65 @@ regular expressions. Regular expressions are a very powerful feature, however
they are often difficult to interpret. Rex allows you to build complex they are often difficult to interpret. Rex allows you to build complex
regular expressions from human readable expressions") regular expressions from human readable expressions")
(license license:expat))) (license license:expat)))
(define-public r-sctransform
(package
(name "r-sctransform")
(version "0.2.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "sctransform" version))
(sha256
(base32
"1r5kiqqs318q59h2i8m7c6nhghp9w6q26ss2y5a390lkhsawgx6p"))))
(build-system r-build-system)
(propagated-inputs
`(("r-future" ,r-future)
("r-future-apply" ,r-future-apply)
("r-ggplot2" ,r-ggplot2)
("r-gridextra" ,r-gridextra)
("r-mass" ,r-mass)
("r-matrix" ,r-matrix)
("r-rcpp" ,r-rcpp)
("r-rcppeigen" ,r-rcppeigen)
("r-reshape2" ,r-reshape2)))
(home-page "https://github.com/ChristophH/sctransform")
(synopsis "Variance stabilizing transformations for Single Cell UMI Data")
(description
"This package provides a normalization method for single-cell UMI count
data using a variance stabilizing transformation. The transformation is based
on a negative binomial regression model with regularized parameters. As part
of the same regression framework, this package also provides functions for
batch correction, and data correction.")
(license license:gpl3)))
(define-public r-styler
(package
(name "r-styler")
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "styler" version))
(sha256
(base32
"1z24mi88snbz1avjw9phq0lzmigddvycc56s83nxzr9w9z85mh05"))))
(build-system r-build-system)
(propagated-inputs
`(("r-backports" ,r-backports)
("r-cli" ,r-cli)
("r-magrittr" ,r-magrittr)
("r-purrr" ,r-purrr)
("r-rematch2" ,r-rematch2)
("r-rlang" ,r-rlang)
("r-rprojroot" ,r-rprojroot)
("r-tibble" ,r-tibble)
("r-withr" ,r-withr)
("r-xfun" ,r-xfun)))
(home-page "https://github.com/r-lib/styler")
(synopsis "Non-invasive pretty printing of R code")
(description
"This is a package for pretty-printing R code without changing the user's
formatting intent.")
(license license:gpl3)))

View file

@ -639,14 +639,14 @@ printer/driver specific, but spooler-independent PPD file.")
(define-public foo2zjs (define-public foo2zjs
(package (package
(name "foo2zjs") (name "foo2zjs")
(version "20180910") (version "20190413")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
;; XXX: This is an unversioned URL! ;; XXX: This is an unversioned URL!
(uri "http://foo2zjs.rkkda.com/foo2zjs.tar.gz") (uri "http://foo2zjs.rkkda.com/foo2zjs.tar.gz")
(sha256 (sha256
(base32 (base32
"1clddqy4y4vvws0lllv1v90dfiihihdc23bn93c544yb3fvmwmr6")))) "00k22vmghxls7rk2hrbz9v17wi5z8vdk3fmsp2lrfghfcad8nhpx"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases (modify-phases %standard-phases '(#:phases (modify-phases %standard-phases

View file

@ -265,14 +265,14 @@ mapping from string keys to string values.")
(define-public memcached (define-public memcached
(package (package
(name "memcached") (name "memcached")
(version "1.5.12") (version "1.5.13")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"https://memcached.org/files/memcached-" version ".tar.gz")) "https://memcached.org/files/memcached-" version ".tar.gz"))
(sha256 (sha256
(base32 "0aav15f0lh8k4i62aza2bdv4s8vv65j38pz2zc4v45snd3arfby0")))) (base32 "0qsdkjrns4f02lmabq8c7mzl5n4382q2p6a0dvmsjdcpjisagqb1"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("libevent" ,libevent) `(("libevent" ,libevent)
@ -1942,13 +1942,13 @@ for ODBC.")
(define-public python-pyodbc (define-public python-pyodbc
(package (package
(name "python-pyodbc") (name "python-pyodbc")
(version "4.0.25") (version "4.0.26")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "pyodbc" version)) (uri (pypi-uri "pyodbc" version))
(sha256 (sha256
(base32 "1bbwrb812w5i0x56jfn0l86mxc2ck904hl8y87mziay96znwia0f")) (base32 "1qrxnf7ji5hml7z4y669k4wmk3iz2pcsr05bnn1n912asash09z5"))
(file-name (string-append name "-" version ".tar.gz")))) (file-name (string-append name "-" version ".tar.gz"))))
(build-system python-build-system) (build-system python-build-system)
(inputs (inputs
@ -2189,13 +2189,13 @@ Database API 2.0T.")
(define-public python-sqlalchemy (define-public python-sqlalchemy
(package (package
(name "python-sqlalchemy") (name "python-sqlalchemy")
(version "1.3.1") (version "1.3.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "SQLAlchemy" version)) (uri (pypi-uri "SQLAlchemy" version))
(sha256 (sha256
(base32 "12sr36646sipf9ac3n2xh8z0w5pz4d3dvw5qjv2kzvcls6wvf7vq")))) (base32 "06c3lcv7nijsgqsjaaa4djrwlzgh9f910zlqxkmgq22h6jl4rici"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (native-inputs
`(("python-cython" ,python-cython) ; for C extensions `(("python-cython" ,python-cython) ; for C extensions
@ -2571,15 +2571,15 @@ reasonable substitute.")
(define-public python-redis (define-public python-redis
(package (package
(name "python-redis") (name "python-redis")
(version "3.2.0") (version "3.2.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "redis" version)) (uri (pypi-uri "redis" version))
(sha256 (sha256
(base32 "0m1b88wg1w6xdwg0siky5k86x8sh6smhbr42ixz41ra81lv34jbj")))) (base32 "0wwj8il4c3aff15xwwcjfci367zxsakq05ps1a2il6yavp91i94c"))))
(build-system python-build-system) (build-system python-build-system)
;; Tests require a running Redis server ;; Tests require a running Redis server.
(arguments '(#:tests? #f)) (arguments '(#:tests? #f))
;; As long as we are not running test, we do not need this input :-) ;; As long as we are not running test, we do not need this input :-)
;;(native-inputs ;;(native-inputs

View file

@ -3,7 +3,7 @@
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr> ;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; ;;;
@ -218,15 +218,15 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
(define-public grammalecte (define-public grammalecte
(package (package
(name "grammalecte") (name "grammalecte")
(version "0.6.5") (version "1.0.1")
(source (source
(origin (origin
(method url-fetch/zipbomb) (method url-fetch/zipbomb)
(uri (string-append "https://www.dicollecte.org/grammalecte/zip/" (uri (string-append "https://grammalecte.net/grammalecte/zip/"
"Grammalecte-fr-v" version ".zip")) "Grammalecte-fr-v" version ".zip"))
(sha256 (sha256
(base32 (base32
"11byjs3ggdhia5f4vyfqfvbbczsfqimll98h98g7hlsrm7vrifb0")))) "0p005mqgmckkbif3syv3d90rr1zsm5n5vvac5b29nn8g4v8jjpfs"))))
(build-system python-build-system) (build-system python-build-system)
(home-page "https://grammalecte.net") (home-page "https://grammalecte.net")
(synopsis "French spelling and grammar checker") (synopsis "French spelling and grammar checker")
@ -245,7 +245,7 @@ and a Python library.")
(define-public translate-shell (define-public translate-shell
(package (package
(name "translate-shell") (name "translate-shell")
(version "0.9.6.9") (version "0.9.6.10")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -254,13 +254,12 @@ and a Python library.")
(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 "1dmh3flldfhnqfay3a6c5hanqcjwrmbly1bq8mlk022qfi1fv33y"))))
"1xyf0vdxmbgqcgsr1gvgwh1q4fh080h68radkim6pfcwzffliszm"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure) ; no configure phase (delete 'configure) ; no configure script
(add-after 'unpack 'remove-unnecessary-file (add-after 'unpack 'remove-unnecessary-file
;; This file gets generated during the build phase. ;; This file gets generated during the build phase.
(lambda _ (lambda _

View file

@ -294,14 +294,14 @@ asynchronous fashion.")
(define-public nsd (define-public nsd
(package (package
(name "nsd") (name "nsd")
(version "4.1.26") (version "4.1.27")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.nlnetlabs.nl/downloads/nsd/nsd-" (uri (string-append "https://www.nlnetlabs.nl/downloads/nsd/nsd-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 "1x0mvj4872dzj1rr9adnchdm4dhn41xmc459p5j4s0r13m1l32lz")))) (base32 "1sjfbwr4vq25304hr9vmd9j821g2vzv8lpy95hpsravc80q5zaqv"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags

View file

@ -96,14 +96,14 @@ Executable and Linkable Format (@dfn{ELF}). This includes @command{ld},
(package (package
(name "libabigail") (name "libabigail")
(home-page "https://sourceware.org/libabigail/") (home-page "https://sourceware.org/libabigail/")
(version "1.5") (version "1.6")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://sourceware.org/pub/" name (uri (string-append "https://sourceware.org/pub/libabigail/"
"/" name "-" version ".tar.gz")) "libabigail-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0srfnkbm386sl2n85686nl28da6ksbs7jgnfks9k0n61c772aas4")))) "04j07lhvwbp6qp8pdwbf7iqnr7kgpabmqylsw4invpmzwnyp6g6g"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags '("--disable-static" `(#:configure-flags '("--disable-static"

View file

@ -2924,7 +2924,7 @@ These are distributed in separate files and can be used individually.")
(description "Irony-mode provides Clang-assisted syntax checking and (description "Irony-mode provides Clang-assisted syntax checking and
completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can
provide syntax checking and autocompletion on compiler level which is very provide syntax checking and autocompletion on compiler level which is very
resistent against false positives. It also integrates well with other resistant against false positives. It also integrates well with other
packages like @code{eldoc-mode} and especially @code{company-mode} as packages like @code{eldoc-mode} and especially @code{company-mode} as
described on the homepage.") described on the homepage.")
(license license:gpl3+))) (license license:gpl3+)))
@ -14018,7 +14018,7 @@ opposed to character-based).")
(define-public emacs-disk-usage (define-public emacs-disk-usage
(package (package
(name "emacs-disk-usage") (name "emacs-disk-usage")
(version "1.3.0") (version "1.3.3")
(home-page "https://gitlab.com/Ambrevar/emacs-disk-usage") (home-page "https://gitlab.com/Ambrevar/emacs-disk-usage")
(source (source
(origin (origin
@ -14029,7 +14029,7 @@ opposed to character-based).")
".el")) ".el"))
(sha256 (sha256
(base32 (base32
"0ky6c34z7c6hd4yvcrcsidkfk2kvffkg63v02vch2i6hg1n6n028")))) "0h1jwznd41gi0vg830ilfgm01q05zknikzahwasm9cizwm2wyizj"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(synopsis "Sort and browse disk usage listings with Emacs") (synopsis "Sort and browse disk usage listings with Emacs")
(description "Disk Usage is a file system analyzer: it offers a tabulated (description "Disk Usage is a file system analyzer: it offers a tabulated

View file

@ -301,14 +301,14 @@ Includes the actual FTDI connector.")
(define-public gtkwave (define-public gtkwave
(package (package
(name "gtkwave") (name "gtkwave")
(version "3.3.99") (version "3.3.100")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://gtkwave.sourceforge.net/" (uri (string-append "http://gtkwave.sourceforge.net/"
name "-" version ".tar.gz")) "gtkwave-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0lc4y2vizrbxldjk5yw2i4y7pyprjdjqx3iafzjfnin694zp2630")))) "1z60i5nh8dz8j9ii63fwaw7k0p3x0scp91478cxmdv4xhp4njlxa"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("gperf" ,gperf) `(("gperf" ,gperf)

View file

@ -1400,9 +1400,9 @@ Fenix.")
("openssl" ,openssl) ("openssl" ,openssl)
("sdl-mixer" ,sdl-mixer) ("sdl-mixer" ,sdl-mixer)
("bennu-game-development" ,bennu-game-development))) ("bennu-game-development" ,bennu-game-development)))
(synopsis "Modules for the Bennu Game Developement programming language") (synopsis "Modules for the Bennu Game Development programming language")
(description "This package contains a collection of modules for the Bennu (description "This package contains a collection of modules for the Bennu
Game Developement programming language, from CD handling through SDL to Game Development programming language, from CD handling through SDL to
joystick support."))) joystick support.")))
(define-public plib (define-public plib

View file

@ -7,7 +7,7 @@
;;; 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>
;;; Copyright © 2014, 2015, 2016 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2014, 2015, 2016 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2019 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;; Copyright © 2015, 2017, 2018 Christopher Lemmer Webber <cwebber@dustycloud.org> ;;; Copyright © 2015, 2017, 2018 Christopher Lemmer Webber <cwebber@dustycloud.org>
@ -38,6 +38,7 @@
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2019 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -237,6 +238,56 @@ enemy, ally, weapon and mission types. Features include simulated 4D texturing,
mouse and joystick control, and original music.") mouse and joystick control, and original music.")
(license license:gpl2))) (license license:gpl2)))
(define-public alex4
(package
(name "alex4")
(version "1.2-alpha")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/carstene1ns/alex4/archive/"
version ".tar.gz"))
(sha256
(base32 "0jj1g3v1a6lyfwp5g2ly0n9z65ryqck8jxvzr01kaqjj3lsfkrhg"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
#:make-flags
(list "-Csrc"
"CC=gcc"
"CFLAGS=-D_FILE_OFFSET_BITS=64"
(string-append "DATADIR=" (assoc-ref %outputs "out")
"/share/" ,name)
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda _
(substitute* '("src/main.c"
"src/shooter.c")
(("fcos") "fixcos")
(("fmul") "fixmul")
(("fsin") "fixsin"))
#t))
(add-after 'install 'install-data
(lambda* (#:key outputs #:allow-other-keys)
(let ((share (string-append (assoc-ref outputs "out")
"/share/" ,name)))
(install-file "alex4.ini" share)
#t))))))
(inputs
`(("allegro" ,allegro-4)
("dumb" ,dumb-allegro4)))
(home-page "http://allegator.sourceforge.net/")
(synopsis "Retro platform game")
(description
"Guide Alex the Allegator through the jungle in order to save his
girlfriend Lola from evil humans who want to make a pair of shoes out of her.
Plenty of classic platforming in four nice colors guaranteed!
The game includes a built-in editor so you can design and share your own maps.")
(license license:gpl2+)))
(define-public armagetron-advanced (define-public armagetron-advanced
(package (package
(name "armagetron-advanced") (name "armagetron-advanced")
@ -1795,7 +1846,7 @@ match, cannon keep, and grave-itation pit.")
(define minetest-data (define minetest-data
(package (package
(name "minetest-data") (name "minetest-data")
(version "5.0.0") (version "5.0.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1804,7 +1855,7 @@ match, cannon keep, and grave-itation pit.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"186i1pna2f3fwa2001y8mw5131h0sndhfdxzfqq2gnr1m83sjm0w")))) "1hw3n7qqpasq6bivxhq01kr0d58w0gp46s0baxixp1fakd79p8a7"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(native-inputs (native-inputs
`(("source" ,source))) `(("source" ,source)))
@ -1822,14 +1873,14 @@ match, cannon keep, and grave-itation pit.")
#t)))) #t))))
(synopsis "Main game data for the Minetest game engine") (synopsis "Main game data for the Minetest game engine")
(description (description
"Game data for the Minetest infinite-world block sandox game.") "Game data for the Minetest infinite-world block sandbox game.")
(home-page "http://minetest.net") (home-page "http://minetest.net")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
(define-public minetest (define-public minetest
(package (package
(name "minetest") (name "minetest")
(version "5.0.0") (version "5.0.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1838,7 +1889,7 @@ match, cannon keep, and grave-itation pit.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1b8n8nzlvmld1hl3zgs1xg4jbc1nsf1m2bn7fi794vdr06s6n911")) "11i8fqjpdggqfdlx440k5758zy0nbf9phxan9r63mavc7mph88ay"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -1865,7 +1916,7 @@ match, cannon keep, and grave-itation pit.")
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
(inputs (inputs
`(("curl" ,curl) `(("curl" ,curl)
("freetype" ,(@ (gnu packages fontutils) freetype)) ("freetype" ,freetype)
("gettext" ,gettext-minimal) ("gettext" ,gettext-minimal)
("gmp" ,gmp) ("gmp" ,gmp)
("irrlicht" ,irrlicht) ("irrlicht" ,irrlicht)
@ -2066,7 +2117,7 @@ This game is based on the GPL version of the famous game TuxRacer.")
(define-public supertuxkart (define-public supertuxkart
(package (package
(name "supertuxkart") (name "supertuxkart")
(version "0.9.3") (version "1.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -2074,55 +2125,36 @@ This game is based on the GPL version of the famous game TuxRacer.")
version "/supertuxkart-" version "-src.tar.xz")) version "/supertuxkart-" version "-src.tar.xz"))
(sha256 (sha256
(base32 (base32
"1c4w47ibj87lgwiqygq8qi7jiz6gklj4dwf5bs5zk15s0rqlw0fq")) "106rlp99hq18b4q1kdri3pl06cc4v7iqfp1hp9k2f8751lzz923d"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Delete bundled library sources ;; Delete bundled library sources
'(begin '(begin
;; FIXME: try to unbundle enet, and angelscript ;; Supertuxkart uses modified versions of the Irrlicht engine
;; and the bullet library. The developers gave an explanation
;; here: http://forum.freegamedev.net/viewtopic.php?f=17&t=3906
;; FIXME: try to unbundle angelscript
(for-each delete-file-recursively (for-each delete-file-recursively
'("lib/zlib" '("lib/zlib"
"lib/libpng" "lib/libpng"
"lib/jpeglib" "lib/jpeglib"
"lib/glew" "lib/glew"
"lib/wiiuse")) "lib/wiiuse"
(substitute* "CMakeLists.txt" "lib/enet"))
;; Supertuxkart uses modified versions of the Irrlicht engine
;; and the bullet library. The developers gave an explanation here:
;; http://forum.freegamedev.net/viewtopic.php?f=17&t=3906
(("add_subdirectory\\(.*/(glew|zlib)\"\\)") ""))
#t)))) #t))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f ; no check target `(#:tests? #f ; no check target
#:configure-flags #:configure-flags
(list "-DUSE_WIIUSE=0" (list "-DUSE_WIIUSE=0"
;; Do not use the bundled zlib ;; Do not use the bundled zlib, glew and enet.
"-DNO_IRR_COMPILE_WITH_ZLIB_=TRUE" "-DNO_IRR_COMPILE_WITH_ZLIB_=TRUE"
"-DUSE_SYSTEM_GLEW=TRUE"
"-DUSE_SYSTEM_ENET=TRUE"
;; FIXME: needs libopenglrecorder ;; FIXME: needs libopenglrecorder
"-DBUILD_RECORDER=0" "-DBUILD_RECORDER=0"
;; Irrlicht returns an integer instead of a boolean ;; Irrlicht returns an integer instead of a boolean
"-DCMAKE_C_FLAGS=-fpermissive") "-DCMAKE_C_FLAGS=-fpermissive")))
#:phases
(modify-phases %standard-phases
;; see https://github.com/supertuxkart/stk-code/issues/3557
(add-after 'unpack 'patch-for-mesa-18.3
(lambda _
(substitute* "src/graphics/gl_headers.hpp"
(("#if !defined\\(USE_GLES2\\)")
"#if !defined(USE_GLES2)\n# define __gl_glext_h_"))
#t))
(add-after 'unpack 'unbundle
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "CMakeLists.txt"
(("glew")
(string-append (assoc-ref inputs "glew")
"/lib/libGLEW.a"))
(("include_directories\\(\"\\$\\{PROJECT_SOURCE_DIR\\}/lib/glew/include\"\\)")
(string-append "include_directories(\""
(assoc-ref inputs "glew")
"/include\")")))
#t)))))
(inputs (inputs
`(("glew" ,glew) `(("glew" ,glew)
("zlib" ,zlib) ("zlib" ,zlib)
@ -2136,7 +2168,9 @@ This game is based on the GPL version of the famous game TuxRacer.")
("curl" ,curl) ("curl" ,curl)
;; The following input is needed to build the bundled and modified ;; The following input is needed to build the bundled and modified
;; version of irrlicht. ;; version of irrlicht.
("libjpeg" ,libjpeg))) ("libjpeg" ,libjpeg)
("openssl" ,openssl)
("enet" ,enet)))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
(home-page "https://supertuxkart.net/") (home-page "https://supertuxkart.net/")
@ -4476,7 +4510,7 @@ fish. The whole game is accompanied by quiet, comforting music.")
(define-public dungeon-crawl-stone-soup (define-public dungeon-crawl-stone-soup
(package (package
(name "dungeon-crawl-stone-soup") (name "dungeon-crawl-stone-soup")
(version "0.23.1") (version "0.23.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -4489,8 +4523,7 @@ fish. The whole game is accompanied by quiet, comforting music.")
(string-append "http://crawl.develz.org/release/stone_soup-" (string-append "http://crawl.develz.org/release/stone_soup-"
version "-nodeps.tar.xz"))) version "-nodeps.tar.xz")))
(sha256 (sha256
(base32 (base32 "1hw10hqhh688mrqs9vxrl17y1dzfjzsmxz6izg1a9dzmjlhrc01a"))
"0c3mx49kpz6i2xvv2dwsaj9s7mm4mif1h2qdkfyi80lv2j1ay51h"))
(patches (search-patches "crawl-upgrade-saves.patch")))) (patches (search-patches "crawl-upgrade-saves.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
@ -4512,7 +4545,7 @@ fish. The whole game is accompanied by quiet, comforting music.")
(list (string-append "SQLITE_INCLUDE_DIR=" sqlite "/include") (list (string-append "SQLITE_INCLUDE_DIR=" sqlite "/include")
(string-append "prefix=" out) (string-append "prefix=" out)
"SAVEDIR=~/.crawl" "SAVEDIR=~/.crawl"
;; Don't compile with SSE on systems which don't use it ;; Don't compile with SSE on systems which don't have it.
,@(match (%current-system) ,@(match (%current-system)
((or "i686-linux" "x86_64-linux") ((or "i686-linux" "x86_64-linux")
'()) '())
@ -6486,7 +6519,7 @@ the desired spell.")
(define-public the-legend-of-edgar (define-public the-legend-of-edgar
(package (package
(name "the-legend-of-edgar") (name "the-legend-of-edgar")
(version "1.30") (version "1.31")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -6494,10 +6527,9 @@ the desired spell.")
(string-append "https://github.com/riksweeney/edgar/releases/download/" (string-append "https://github.com/riksweeney/edgar/releases/download/"
version "/edgar-" version "-1.tar.gz")) version "/edgar-" version "-1.tar.gz"))
(sha256 (sha256
(base32 (base32 "0i4851ci8a86ql4bhdq3xdfmf4b9z5zrd4xpc6vhi06697zgm13i"))))
"0bhbs33dg0nb8wqlh6px1jj41j05f89ngdqwdkffabmjk7wq5isx"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments '(#:tests? #f ; there are no tests (arguments '(#:tests? #f ; there are no tests
#:make-flags #:make-flags
(list "CC=gcc" (list "CC=gcc"
(string-append "PREFIX=" (assoc-ref %outputs "out")) (string-append "PREFIX=" (assoc-ref %outputs "out"))
@ -6507,14 +6539,13 @@ the desired spell.")
(delete 'configure) (delete 'configure)
(add-before 'build 'fix-env (add-before 'build 'fix-env
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(setenv "CPATH" (string-append (assoc-ref inputs "sdl") (setenv "CPATH"
"/include/SDL/")) (string-append (assoc-ref inputs "sdl2-union")
"/include/SDL2"))
#t))))) #t)))))
(inputs `(("sdl" ,sdl) (inputs
("sdl-img" ,sdl-image) `(("sdl2-union" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf)))
("sdl-mixer" ,sdl-mixer) ("zlib" ,zlib)))
("sdl-ttf" ,sdl-ttf)
("zlib" ,zlib)))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)
("autoconf" ,autoconf) ("autoconf" ,autoconf)

View file

@ -369,7 +369,7 @@ libskba (working with X.509 certificates and CMS data).")
(define-public gpgme (define-public gpgme
(package (package
(name "gpgme") (name "gpgme")
(version "1.12.0") (version "1.13.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -377,16 +377,7 @@ libskba (working with X.509 certificates and CMS data).")
".tar.bz2")) ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1n4c1q2ls7sqx1vpr3p5n8vbjkw6kqp8jxqa28p0x9j36wf9bp5l")) "0c6676g0yhfsmy32i1dgwh5cx0ja8vhcqf4k08zad177m53kxcnl"))))
;; One test fails because the conflict keys have expired. See
;; https://dev.gnupg.org/T3815
(patches (list (origin
(method url-fetch)
(uri "https://dev.gnupg.org/rM66376f3e206a1aa791d712fb8577bb3490268f60?diff=1")
(file-name "gpgme-fix-conflict-test-keys.patch")
(sha256
(base32
"0j718iy5a9fhkrfs4gzrnm4ggi163prqf1i8lfmqczswvz88zfly")))))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("gnupg" ,gnupg))) `(("gnupg" ,gnupg)))

View file

@ -948,40 +948,37 @@ Guile.")
`(("guile" ,guile-2.2) `(("guile" ,guile-2.2)
("guile-email" ,guile-email)))))) ("guile-email" ,guile-email))))))
;; There has not been any release yet.
(define-public guile-newt (define-public guile-newt
(let ((commit "80c1e9e71945f833386d1632b52573e59325804f") (package
(revision "4")) (name "guile-newt")
(package (version "0.0.1")
(name "guile-newt") (source (origin
(version (string-append "0-" revision "." (string-take commit 9))) (method git-fetch)
(source (origin (uri (git-reference
(method git-fetch) (url "https://gitlab.com/mothacehe/guile-newt")
(uri (git-reference (commit version)))
(url "https://gitlab.com/mothacehe/guile-newt") (file-name (git-file-name name version))
(commit commit))) (sha256
(file-name (string-append name "-" version "-checkout")) (base32
(sha256 "1w7qy4dw1f4bx622l6hw8mv49sf1ha8kch8j4nganyk8fj0wn695"))))
(base32 (build-system gnu-build-system)
"1w7qy4dw1f4bx622l6hw8mv49sf1ha8kch8j4nganyk8fj0wn695")))) (arguments
(build-system gnu-build-system) '(#:make-flags
(arguments '("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings
'(#:make-flags (inputs
'("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings `(("guile" ,guile-2.2)
(inputs ("newt" ,newt)))
`(("guile" ,guile-2.2) (native-inputs
("newt" ,newt))) `(("autoconf" ,autoconf)
(native-inputs ("automake" ,automake)
`(("autoconf" ,autoconf) ("pkg-config" ,pkg-config)))
("automake" ,automake) (synopsis "Guile bindings to Newt")
("pkg-config" ,pkg-config))) (description
(synopsis "Guile bindings to Newt") "This package provides bindings for Newt, a programming library for
(description
"This package provides bindings for Newt, a programming library for
color text mode, widget based user interfaces. The bindings are written in pure color text mode, widget based user interfaces. The bindings are written in pure
Scheme by using Guiles foreign function interface.") Scheme by using Guiles foreign function interface.")
(home-page "https://gitlab.com/mothacehe/guile-newt") (home-page "https://gitlab.com/mothacehe/guile-newt")
(license license:gpl3+)))) (license license:gpl3+)))
(define-public guile-mastodon (define-public guile-mastodon
(package (package
@ -1012,42 +1009,39 @@ Scheme by using Guiles foreign function interface.")
microblogging service.") microblogging service.")
(license license:gpl3+))) (license license:gpl3+)))
;; There has not been any release yet.
(define-public guile-parted (define-public guile-parted
(let ((commit "ea3f1a1f6844775fc59d3078d2a09c62ffb341b8") (package
(revision "0")) (name "guile-parted")
(package (version "0.0.1")
(name "guile-parted") (source (origin
(version (string-append "0-" revision "." (string-take commit 9))) (method git-fetch)
(source (origin (uri (git-reference
(method git-fetch) (url "https://gitlab.com/mothacehe/guile-parted")
(uri (git-reference (commit version)))
(url "https://gitlab.com/mothacehe/guile-parted") (file-name (git-file-name name version))
(commit commit))) (sha256
(file-name (string-append name "-" version "-checkout")) (base32
(sha256 "1q7425gpjlwi2wvhzq7kw046yyx7v6j6jyzkd1cr861iz34mjwiq"))))
(base32 (build-system gnu-build-system)
"1q7425gpjlwi2wvhzq7kw046yyx7v6j6jyzkd1cr861iz34mjwiq")))) (arguments
(build-system gnu-build-system) '(#:make-flags
(arguments '("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings
'(#:make-flags (inputs
'("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings `(("guile" ,guile-2.2)
(inputs ("parted" ,parted)))
`(("guile" ,guile-2.2) (propagated-inputs
("parted" ,parted))) `(("guile-bytestructures" ,guile-bytestructures)))
(propagated-inputs (native-inputs
`(("guile-bytestructures" ,guile-bytestructures))) `(("autoconf" ,autoconf)
(native-inputs ("automake" ,automake)
`(("autoconf" ,autoconf) ("pkg-config" ,pkg-config)))
("automake" ,automake) (synopsis "Guile bindings to GNU Parted")
("pkg-config" ,pkg-config))) (description
(synopsis "Guile bindings to GNU Parted") "This package provides bindings for GNU Parted library, a C library
(description allowing disk partition tables creation and manipulation. The bindings are
"This package provides bindings for GNU Parted library, a C library
allowing disk partition tables creation and manipulation. The bindings are
written in pure Scheme by using Guile's foreign function interface.") written in pure Scheme by using Guile's foreign function interface.")
(home-page "https://gitlab.com/mothacehe/guile-parted") (home-page "https://gitlab.com/mothacehe/guile-parted")
(license license:gpl3+)))) (license license:gpl3+)))
(define-public guile-xosd (define-public guile-xosd
(package (package

View file

@ -12,7 +12,7 @@
;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com> ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017 rsiddharth <s@ricketyspace.net> ;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Tonton <tonton@riseup.net> ;;; Copyright © 2018 Tonton <tonton@riseup.net>
;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com> ;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
@ -1335,7 +1335,7 @@ Happy works in a similar way to the yacc tool for C.")
(define-public ghc-haskell-lexer (define-public ghc-haskell-lexer
(package (package
(name "ghc-haskell-lexer") (name "ghc-haskell-lexer")
(version "1.0.1") (version "1.0.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1343,8 +1343,7 @@ Happy works in a similar way to the yacc tool for C.")
"https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-" "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
"0rj3r1pk88hh3sk3mj61whp8czz5kpxhbc78xlr04bxwqjrjmm6p"))))
(build-system haskell-build-system) (build-system haskell-build-system)
(home-page "http://hackage.haskell.org/package/haskell-lexer") (home-page "http://hackage.haskell.org/package/haskell-lexer")
(synopsis "Fully compliant Haskell 98 lexer") (synopsis "Fully compliant Haskell 98 lexer")

View file

@ -57,7 +57,7 @@
(define-public ibus (define-public ibus
(package (package
(name "ibus") (name "ibus")
(version "1.5.19") (version "1.5.20")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/ibus/ibus/" (uri (string-append "https://github.com/ibus/ibus/"
@ -65,23 +65,15 @@
version "/ibus-" version ".tar.gz")) version "/ibus-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0a94bnpm24581317hdnihwr4cniriml10p4ffgxg14xhvaccfrjb")))) "0d6hcbw6ai91jl87lqnyn8bxi5y5kba5i9nz7knknyh69g5fbwac"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(arguments (arguments
`(#:tests? #f ; tests fail because there's no connection to dbus `(#:tests? #f ; tests fail because there's no connection to dbus
#:configure-flags `("--disable-emoji-dict" ; cannot find emoji.json path #:configure-flags `("--disable-emoji-dict" ; cannot find emoji.json path
"--disable-python2"
"--enable-python-library" "--enable-python-library"
,(string-append "--with-ucd-dir=" ,(string-append "--with-ucd-dir="
(getcwd) "/ucd") (getcwd) "/ucd")
"--enable-wayland") "--enable-wayland")
#:make-flags
(list "CC=gcc"
(string-append "pyoverridesdir="
(assoc-ref %outputs "out")
"/lib/python"
,(version-major+minor (package-version python))
"/site-packages/gi/overrides/"))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'prepare-ucd-dir (add-after 'unpack 'prepare-ucd-dir
@ -90,6 +82,18 @@
(symlink (assoc-ref inputs "unicode-blocks") "../ucd/Blocks.txt") (symlink (assoc-ref inputs "unicode-blocks") "../ucd/Blocks.txt")
(symlink (assoc-ref inputs "unicode-nameslist") "../ucd/NamesList.txt") (symlink (assoc-ref inputs "unicode-nameslist") "../ucd/NamesList.txt")
#t)) #t))
(add-after 'unpack 'patch-python-target-directories
(lambda* (#:key outputs #:allow-other-keys)
(let ((root (string-append (assoc-ref outputs "out")
"/lib/python"
,(version-major+minor (package-version python))
"/site-packages")))
(substitute* "configure"
(("(py2?overridesdir)=.*" _ var)
(string-append var "=" root "/gi/overrides/"))
(("(pkgpython2dir=).*" _ var)
(string-append var root "/ibus"))))
#t))
(add-before 'configure 'disable-dconf-update (add-before 'configure 'disable-dconf-update
(lambda _ (lambda _
(substitute* "data/dconf/Makefile.in" (substitute* "data/dconf/Makefile.in"
@ -131,7 +135,7 @@
("gconf" ,gconf) ("gconf" ,gconf)
("gtk2" ,gtk+-2) ("gtk2" ,gtk+-2)
("gtk+" ,gtk+) ("gtk+" ,gtk+)
("intltool" ,intltool) ("gettext" ,gnu-gettext)
("json-glib" ,json-glib) ("json-glib" ,json-glib)
("libnotify" ,libnotify) ("libnotify" ,libnotify)
("libx11" ,libx11) ("libx11" ,libx11)
@ -175,7 +179,7 @@ may also simplify input method development.")
(define-public ibus-libpinyin (define-public ibus-libpinyin
(package (package
(name "ibus-libpinyin") (name "ibus-libpinyin")
(version "1.10.0") (version "1.11.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/libpinyin/ibus-libpinyin/" (uri (string-append "https://github.com/libpinyin/ibus-libpinyin/"
@ -183,7 +187,7 @@ may also simplify input method development.")
"/ibus-libpinyin-" version ".tar.gz")) "/ibus-libpinyin-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0yq8aw4lddiviag8cnik6fp52vvk8lxv6bym13a3xya84c6zii3c")))) "1sypbr5n96sf7mgqhxrwbawdmszgb6yi28iqkmfmb8xr93pwq7fq"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -209,6 +213,7 @@ may also simplify input method development.")
("sqlite" ,sqlite) ("sqlite" ,sqlite)
("python" ,python) ("python" ,python)
("pyxdg" ,python-pyxdg) ("pyxdg" ,python-pyxdg)
("pygobject2" ,python-pygobject)
("gtk+" ,gtk+))) ("gtk+" ,gtk+)))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)
@ -224,15 +229,15 @@ ZhuYin (Bopomofo) input method based on libpinyin for IBus.")
(define-public libpinyin (define-public libpinyin
(package (package
(name "libpinyin") (name "libpinyin")
(version "2.2.0") (version "2.3.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/libpinyin/libpinyin/" (uri (string-append "https://github.com/libpinyin/libpinyin/"
"releases/download/" version "releases/download/" version
"/libpinyin-2.2.0.tar.gz")) "/libpinyin-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1c4wxvcvjxvk23mcwqvsfsv4nhimx4kpjhabxa28gx1ih10l88gj")))) "14969v6w8n1aiqphl2386dws7dmsdwbzyqnlz4kr8ppm39m9rp5k"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("glib" ,glib) `(("glib" ,glib)

View file

@ -87,6 +87,7 @@
(package (package
(name "libpng") (name "libpng")
(version "1.6.34") (version "1.6.34")
(replacement libpng-1.6.37)
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (list (string-append "mirror://sourceforge/libpng/libpng16/" (uri (list (string-append "mirror://sourceforge/libpng/libpng16/"
@ -112,6 +113,25 @@ library. It supports almost all PNG features and is extensible.")
(license license:zlib) (license license:zlib)
(home-page "http://www.libpng.org/pub/png/libpng.html"))) (home-page "http://www.libpng.org/pub/png/libpng.html")))
;; This graft exists to fix CVE-2018-14048, CVE-2018-14550, and CVE-2019-7317.
(define-public libpng-1.6.37
(package
(inherit libpng)
(version "1.6.37")
(source (origin
(method url-fetch)
(uri (list (string-append "mirror://sourceforge/libpng/libpng16/"
version "/libpng-" version ".tar.xz")
(string-append
"ftp://ftp.simplesystems.org/pub/libpng/png/src"
"/libpng16/libpng-" version ".tar.xz")
(string-append
"ftp://ftp.simplesystems.org/pub/libpng/png/src/history"
"/libpng16/libpng-" version ".tar.xz")))
(sha256
(base32
"1jl8in381z0128vgxnvn33nln6hzckl7l7j9nqvkaf1m9n1p0pjh"))))))
;; libpng-apng should be updated when the APNG patch is released: ;; libpng-apng should be updated when the APNG patch is released:
;; <https://bugs.gnu.org/27556> ;; <https://bugs.gnu.org/27556>
(define-public libpng-apng (define-public libpng-apng
@ -1153,13 +1173,13 @@ the programmer.")
(version "1.3") (version "1.3")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/myint/perceptualdiff/archive/v" (uri (git-reference
version ".tar.gz")) (url "https://github.com/myint/perceptualdiff.git")
(file-name (string-append name "-" version ".tar.gz")) (commit (string-append "v" version))))
(sha256 (file-name (git-file-name name version))
(base32 (sha256
"0zl6xmp971fffg7fzcz2fbgxg5x2w7l8qa65c008i4kbkc9016ps")))) (base32 "0yys55f9i9g3wjjg0j2m0p0k21zwnid8520a8lrr30khm4k5gibp"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs `(("freeimage" ,freeimage))) (inputs `(("freeimage" ,freeimage)))
(arguments (arguments
@ -1505,15 +1525,14 @@ in-memory raw vectors.")
(define-public gifsicle (define-public gifsicle
(package (package
(name "gifsicle") (name "gifsicle")
(version "1.91") (version "1.92")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://www.lcdf.org/gifsicle/gifsicle-" (uri (string-append "https://www.lcdf.org/gifsicle/gifsicle-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "0rffpzxcak19k6cngpxn73khvm3z1gswrqs90ycdzzb53p05ddas"))))
"00586z1yz86qcblgmf16yly39n4lkjrscl52hvfxqk14m81fckha"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases '(#:phases
@ -1528,9 +1547,9 @@ in-memory raw vectors.")
(("/bin/rm") (("/bin/rm")
(which "rm"))) (which "rm")))
#t))))) #t)))))
(native-inputs `(("perl" ,perl))) ; Only for tests. (native-inputs `(("perl" ,perl))) ; only for tests
(inputs `(("libx11" ,libx11))) (inputs `(("libx11" ,libx11)))
(home-page "http://www.lcdf.org/gifsicle/") (home-page "https://www.lcdf.org/gifsicle/")
(synopsis "Edit GIF images and animations") (synopsis "Edit GIF images and animations")
(description "Gifsicle is a command-line GIF image manipulation tool that: (description "Gifsicle is a command-line GIF image manipulation tool that:

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -29,15 +29,14 @@
(define-public libedit (define-public libedit
(package (package
(name "libedit") (name "libedit")
(version "20181209-3.1") (version "20190324-3.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://thrysoee.dk/editline" (uri (string-append "http://thrysoee.dk/editline"
"/" name "-" version ".tar.gz")) "/libedit-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "1bhvp8xkkgrg89k4ci1k8vjl3nhb6szd4ghy9lp4jrfgq58hz3xc"))))
"0r0hc4lg71xnn0vrrk2g7is42i0k0dra7cbw3fljq3q01c6df498"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("ncurses" ,ncurses))) `(("ncurses" ,ncurses)))

View file

@ -554,8 +554,8 @@ Java.")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://dev-www.libreoffice.org/src/" name "/" (uri (string-append "https://dev-www.libreoffice.org/src/libpagemaker/"
name "-" version ".tar.xz")) "libpagemaker-" version ".tar.xz"))
(sha256 (base32 (sha256 (base32
"17ai8ajffr0ixxmmcv3k5vgjlcsix38ldb4fw2arild70pbsrbb6")))) "17ai8ajffr0ixxmmcv3k5vgjlcsix38ldb4fw2arild70pbsrbb6"))))
(build-system gnu-build-system) (build-system gnu-build-system)
@ -581,8 +581,8 @@ created by PageMaker version 6.x and 7.")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://dev-www.libreoffice.org/src/" name "/" (uri (string-append "http://dev-www.libreoffice.org/src/libvisio/"
name "-" version ".tar.xz")) "libvisio-" version ".tar.xz"))
(sha256 (base32 (sha256 (base32
"1yahpfl13qk6178irv8jn5ppxdn7isafqisyqsdw0lqxcz9h447y")))) "1yahpfl13qk6178irv8jn5ppxdn7isafqisyqsdw0lqxcz9h447y"))))
(build-system gnu-build-system) (build-system gnu-build-system)
@ -611,8 +611,8 @@ Microsoft Visio documents of all versions.")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/libwpd/" name "/" (uri (string-append "mirror://sourceforge/libwpd/libodfgen/"
name "-" version "/" name "-" version ".tar.xz")) "libodfgen-" version "/libodfgen-" version ".tar.xz"))
(sha256 (base32 (sha256 (base32
"0cdq48wlpp8m0qmndybv64r0m4vh0qsqx69cn6ms533cjlgljgij")))) "0cdq48wlpp8m0qmndybv64r0m4vh0qsqx69cn6ms533cjlgljgij"))))
(build-system gnu-build-system) (build-system gnu-build-system)
@ -638,14 +638,14 @@ text documents, vector drawings, presentations and spreadsheets.")
(define-public libmwaw (define-public libmwaw
(package (package
(name "libmwaw") (name "libmwaw")
(version "0.3.14") (version "0.3.15")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/" name "/" name "/" name "-" (uri (string-append "mirror://sourceforge/libmwaw/libmwaw/libmwaw-"
version "/" name "-" version ".tar.xz")) version "/libmwaw-" version ".tar.xz"))
(sha256 (base32 (sha256 (base32
"1s9wyf8pyh3fbazq2d2b6fgi7s7bid60viw2xbdkmn2ywlfbza5c")))) "1cdhm9yhanyv3w4vr73zhgyynmkhhkp3dyld7m11jd2yy04vnh04"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("doxygen" ,doxygen) `(("doxygen" ,doxygen)

View file

@ -423,8 +423,8 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
It has been modified to remove all non-free binary blobs.") It has been modified to remove all non-free binary blobs.")
(license license:gpl2))) (license license:gpl2)))
(define %linux-libre-version "5.0.7") (define %linux-libre-version "5.0.9")
(define %linux-libre-hash "0c8g20crv03xxxpirj0jylcxxy33dn9f9x7viv451rzh9frc5mal") (define %linux-libre-hash "0j2xnpvc13370kprnnq79a08bq6dak0iab94d9hsc6m8v1rxaw2i")
(define %linux-libre-5.0-patches (define %linux-libre-5.0-patches
(list %boot-logo-patch (list %boot-logo-patch
@ -459,8 +459,8 @@ It has been modified to remove all non-free binary blobs.")
between the CDemu userspace daemon and linux kernel.") between the CDemu userspace daemon and linux kernel.")
(license license:gpl2+))) (license license:gpl2+)))
(define %linux-libre-4.19-version "4.19.34") (define %linux-libre-4.19-version "4.19.36")
(define %linux-libre-4.19-hash "0rmpyj2qb651p2k2srpjndjxry87hr5vq0jkk4rvxjhm5y3sb65l") (define %linux-libre-4.19-hash "0dvwza26spa742iznz7rfgsyl4f07x8i6jh2cv5hma9l9fpqc9pi")
(define %linux-libre-4.19-patches (define %linux-libre-4.19-patches
(list %boot-logo-patch (list %boot-logo-patch
@ -473,8 +473,8 @@ between the CDemu userspace daemon and linux kernel.")
#:patches %linux-libre-4.19-patches #:patches %linux-libre-4.19-patches
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define %linux-libre-4.14-version "4.14.111") (define %linux-libre-4.14-version "4.14.113")
(define %linux-libre-4.14-hash "1b34f96yigdxxh5wg798933nrv7rak1w0v0q1jfviyrllrg3hkmq") (define %linux-libre-4.14-hash "0z547pdi1vhybyhnfr5krsfyxmdwnv5p5fps9jjyx6rvkxasddvh")
(define-public linux-libre-4.14 (define-public linux-libre-4.14
(make-linux-libre %linux-libre-4.14-version (make-linux-libre %linux-libre-4.14-version
@ -483,8 +483,8 @@ between the CDemu userspace daemon and linux kernel.")
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define-public linux-libre-4.9 (define-public linux-libre-4.9
(make-linux-libre "4.9.168" (make-linux-libre "4.9.170"
"1nli5di7i7x4jyad7nappm1awz207rg18n08wb82b1w8rwqyqgy3" "15fz2qxvic4sfxm8vi0rghqqi5rv038xyrq9dl6fz6i1c7497g8s"
'("x86_64-linux" "i686-linux") '("x86_64-linux" "i686-linux")
#:configuration-file kernel-config)) #:configuration-file kernel-config))
@ -4148,7 +4148,7 @@ of flash storage.")
(define-public libseccomp (define-public libseccomp
(package (package
(name "libseccomp") (name "libseccomp")
(version "2.4.0") (version "2.4.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/seccomp/libseccomp/" (uri (string-append "https://github.com/seccomp/libseccomp/"
@ -4156,7 +4156,7 @@ of flash storage.")
"/libseccomp-" version ".tar.gz")) "/libseccomp-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0paj1szszpf8plykrd66jqg1x3kmqs395rbjskahld2bnplcfx1f")))) "1s06h2cgk0xxwmhwj72z33bllafc1xqnxzk2yyra2rmg959778qw"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("which" ,which))) `(("which" ,which)))

View file

@ -919,51 +919,43 @@ ing, and tagging large collections of email messages.")
(license gpl3+))) (license gpl3+)))
(define-public notmuch-addrlookup-c (define-public notmuch-addrlookup-c
;; This commit includes a compatibility fix for notmuch-0.25, and is not (package
;; currently part of any release. Please update this package when (name "notmuch-addrlookup-c")
;; notmuch-addrlookup-c-9 is released. (version (string-append "9"))
(let ((commit "88f156d04990a71c6ad6fc2757b537b44e3c4d00") (source (origin
(revision "1")) ;Guix package revision (method git-fetch)
(package (uri (git-reference
(name "notmuch-addrlookup-c") (url "https://github.com/aperezdc/notmuch-addrlookup-c.git")
(version (string-append "8-" revision "." (commit (string-append "v" version))))
(string-take commit 7))) (file-name (string-append name "-" version "-checkout"))
(source (origin (sha256
(method git-fetch) (base32
(uri (git-reference "1j3zdx161i1x4w0nic14ix5i8hd501rb31daf8api0k8855sx4rc"))))
(url "https://github.com/aperezdc/notmuch-addrlookup-c.git") (build-system gnu-build-system)
(commit commit))) (arguments
(file-name (string-append name "-" version "-checkout")) '(#:tests? #f ; no tests
(sha256 #:make-flags (list "CC=gcc")
(base32 #:phases (modify-phases %standard-phases
"0v0wzs7qzy4n1hbql8s10qrwgalcxdzbxf8pj6cii1pv2jwmkxbm")))) (delete 'configure)
(build-system gnu-build-system) ;; Remove vim code completion config, it's not needed to
(arguments ;; build (or be patched).
'(#:tests? #f ; no tests (add-before 'patch-source-shebangs 'delete-ycm-file
#:make-flags (list "CC=gcc" (lambda _ (delete-file ".ycm_extra_conf.py")))
(string-append "PREFIX=" (replace 'install
(assoc-ref %outputs "out"))) (lambda* (#:key outputs #:allow-other-keys)
#:phases (modify-phases %standard-phases (let ((bin (string-append
(delete 'configure) (assoc-ref outputs "out") "/bin")))
;; Remove vim code completion config, it's not needed to (install-file "notmuch-addrlookup" bin)))))))
;; build (or be patched). (native-inputs
(add-before 'patch-source-shebangs 'delete-ycm-file `(("pkg-config" ,pkg-config)))
(lambda _ (delete-file ".ycm_extra_conf.py"))) (inputs
(replace 'install `(("glib" ,glib)
(lambda* (#:key outputs #:allow-other-keys) ("notmuch" ,notmuch)))
(let ((bin (string-append (home-page "https://github.com/aperezdc/notmuch-addrlookup-c")
(assoc-ref outputs "out") "/bin"))) (synopsis "Address lookup tool for Notmuch")
(install-file "notmuch-addrlookup" bin))))))) (description "This is an address lookup tool using a Notmuch database,
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("glib" ,glib)
("notmuch" ,notmuch)))
(home-page "https://github.com/aperezdc/notmuch-addrlookup-c")
(synopsis "Address lookup tool for Notmuch")
(description "This is an address lookup tool using a Notmuch database,
useful for email address completion.") useful for email address completion.")
(license license:expat)))) (license license:expat)))
(define-public python-notmuch (define-public python-notmuch
(package (package

View file

@ -7,7 +7,7 @@
;;; Copyright © 2014 Mathieu Lirzin <mathieu.lirzin@openmailbox.org> ;;; Copyright © 2014 Mathieu Lirzin <mathieu.lirzin@openmailbox.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Fabian Harfert <fhmgufs@web.de> ;;; Copyright © 2015 Fabian Harfert <fhmgufs@web.de>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
@ -2796,12 +2796,12 @@ to BMP, JPEG or PNG image formats.")
;; of Debian's Maxima package. ;; of Debian's Maxima package.
;; If Maxima can successfully run this, the binary to be installed ;; If Maxima can successfully run this, the binary to be installed
;; should be fine. ;; should be fine.
(zero? (invoke "sh" "-c"
(system (string-append
(string-append "./maxima-local " "./maxima-local "
"--lisp=gcl " "--lisp=gcl "
"--batch-string=\"run_testsuite();\" " "--batch-string=\"run_testsuite();\" "
"| grep -q \"No unexpected errors found\""))))) "| grep -q \"No unexpected errors found\""))))
;; Make sure the doc and emacs files are found in the ;; Make sure the doc and emacs files are found in the
;; standard location. Also configure maxima to find gnuplot ;; standard location. Also configure maxima to find gnuplot
;; without having it on the PATH. ;; without having it on the PATH.

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 John Darrington <jmd@gnu.org> ;;; Copyright © 2013 John Darrington <jmd@gnu.org>
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;; ;;;
@ -23,20 +23,22 @@
#:use-module (guix licenses) #:use-module (guix licenses)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix build-system gnu)) #:use-module (guix build-system gnu)
#:use-module (gnu packages))
(define-public mtools (define-public mtools
(package (package
(name "mtools") (name "mtools")
(version "4.0.23") (version "4.0.23")
(source (source (origin
(origin (method url-fetch)
(method url-fetch) (uri (string-append "mirror://gnu/mtools/mtools-"
(uri (string-append "mirror://gnu/mtools/mtools-" version ".tar.bz2"))
version ".tar.bz2")) (sha256
(sha256 (base32
(base32 "1qwfxzr964fasxlzhllahk8mzh7c82s808wvly95dsqsflkdp27i"))
"1qwfxzr964fasxlzhllahk8mzh7c82s808wvly95dsqsflkdp27i")))) (patches
(search-patches "mtools-mformat-uninitialized.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "https://www.gnu.org/software/mtools/") (home-page "https://www.gnu.org/software/mtools/")
(synopsis "Access MS-DOS disks without mounting") (synopsis "Access MS-DOS disks without mounting")

View file

@ -5,7 +5,7 @@
;;; Copyright © 2016 Al McElrath <hello@yrns.org> ;;; Copyright © 2016 Al McElrath <hello@yrns.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016, 2017, 2019 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net> ;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 ng0 <ng0@n0.is> ;;; Copyright © 2017 ng0 <ng0@n0.is>
@ -81,6 +81,7 @@
#:use-module (gnu packages fonts) #:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
#:use-module (gnu packages game-development)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
@ -446,6 +447,51 @@ background while you work.")
(home-page "http://www.denemo.org") (home-page "http://www.denemo.org")
(license license:gpl3+))) (license license:gpl3+)))
(define-public dumb
(package
(name "dumb")
(version "2.0.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kode54/dumb.git")
(commit version)))
(sha256
(base32 "1cnq6rb14d4yllr0yi32p9jmcig8avs3f43bvdjrx4r1mpawspi6"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; no check target
#:configure-flags
(list "-DBUILD_SHARED_LIBS=ON"
"-DBUILD_EXAMPLES=OFF")))
(home-page "https://github.com/kode54/dumb")
(synopsis "Module audio renderer library")
(description
"DUMB is a tracker library with support for IT, XM, S3M and MOD files. It
targets maximum accuracy to the original formats, with low-pass resonant filters
for the IT files, accurate timing and pitching, and three resampling quality
settings (aliasing, linear interpolation and cubic interpolation).")
;; The DUMB license is a bit peculiar.
;; Clause 8 states that clauses 4, 5 and 6 are null and void, leaving only
;; the first three clauses for genuine consideration.
;; Clauses 1, 2 and 3 are analogous to clauses 1, 2 and 3 of the zlib
;; license, a known free software license.
;; Therefore, the DUMB license may be considered a free software license.
(license (license:fsf-free "file://LICENSE"))))
(define-public dumb-allegro4
(package
(inherit dumb)
(name "dumb-allegro4")
(arguments
(substitute-keyword-arguments (package-arguments dumb)
((#:configure-flags flags)
`(cons "-DBUILD_ALLEGRO4=ON" ,flags))))
(inputs
`(("allegro" ,allegro-4)))))
(define-public hydrogen (define-public hydrogen
(package (package
(name "hydrogen") (name "hydrogen")
@ -721,7 +767,16 @@ audio and video).")
(arguments (arguments
`(#:scons-flags (list (string-append "PREFIX=" %output)) `(#:scons-flags (list (string-append "PREFIX=" %output))
#:scons ,scons-python2 #:scons ,scons-python2
#:tests? #f)) ;no "check" target #:tests? #f ; no "check" target
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'replace-removed-scons-syntax
(lambda _
(substitute* "SConstruct"
(("BoolOption") "BoolVariable")
(("PathOption") "PathVariable")
(("Options") "Variables"))
#t)))))
(inputs (inputs
`(("boost" ,boost) `(("boost" ,boost)
("jack" ,jack-1) ("jack" ,jack-1)

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org> ;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; ;;;
@ -30,7 +30,7 @@
(define-public nano (define-public nano
(package (package
(name "nano") (name "nano")
(version "4.0") (version "4.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -38,7 +38,7 @@
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1hxsx6qi7897d8bwkbnijlwvnn1dfy5pd1b7v2kj8ikq6pmcybqy")))) "1l11sa957g8njfz9v8q1f2m3w2xz1rf7i7dl37kgvmiql2bfbgc6"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("gettext" ,gettext-minimal) `(("gettext" ,gettext-minimal)

View file

@ -405,7 +405,7 @@ underlying solvers like Cplex, Gurobi, Lpsolver, Glpk, CbC, SCIP or WBO.")
"00yvyfm4j423zqndvgc1ycnmiffaa2l9ab40cyg23pf51qmzk2jm")) "00yvyfm4j423zqndvgc1ycnmiffaa2l9ab40cyg23pf51qmzk2jm"))
(patches (patches
(search-patches (search-patches
"ocaml-dose3-Add-unix-as-dependency-to-dose3.common-in-META.in.patch" "ocaml-dose3-add-unix-dependency.patch"
"ocaml-dose3-Fix-for-ocaml-4.06.patch" "ocaml-dose3-Fix-for-ocaml-4.06.patch"
"ocaml-dose3-dont-make-printconf.patch" "ocaml-dose3-dont-make-printconf.patch"
"ocaml-dose3-Install-mli-cmx-etc.patch")))) "ocaml-dose3-Install-mli-cmx-etc.patch"))))
@ -5653,7 +5653,7 @@ storage of large amounts of data.")
(properties `((upstream-name . "ppx_hash"))) (properties `((upstream-name . "ppx_hash")))
(home-page "https://github.com/janestreet/ppx_hash") (home-page "https://github.com/janestreet/ppx_hash")
(synopsis "Generation of hash functions from type expressions and definitions") (synopsis "Generation of hash functions from type expressions and definitions")
(description "This package is a collecton of ppx rewriters that generate (description "This package is a collection of ppx rewriters that generate
hash functions from type exrpessions and definitions.") hash functions from type exrpessions and definitions.")
(license license:asl2.0))) (license license:asl2.0)))

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 "0.16.0") (let ((version "0.16.0")
(commit "d78bfd27bdc449cf93fe4c5497d242c2da1aeac8") (commit "b8b1e4d9a2a976c4cd9933bb6a7451340f17e9ec")
(revision 12)) (revision 13))
(package (package
(name "guix") (name "guix")
@ -127,7 +127,7 @@
(commit commit))) (commit commit)))
(sha256 (sha256
(base32 (base32
"1i24snn7dq7r8c3mf4waz13k11lglhgvx0zb6xqiqiplmb6f7q6n")) "1rljn9db8lxajbdcl94a6i7skk4a3rgjs25mxf35hnh0lpipqa03"))
(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
@ -137,9 +137,6 @@
(string-append "--with-bash-completion-dir=" (string-append "--with-bash-completion-dir="
(assoc-ref %outputs "out") (assoc-ref %outputs "out")
"/etc/bash_completion.d") "/etc/bash_completion.d")
(string-append "--with-libgcrypt-prefix="
(assoc-ref %build-inputs
"libgcrypt"))
;; Set 'DOT_USER_PROGRAM' to the empty string so ;; Set 'DOT_USER_PROGRAM' to the empty string so
;; we don't keep a reference to Graphviz, whose ;; we don't keep a reference to Graphviz, whose

View file

@ -48,14 +48,14 @@
(define-public parallel (define-public parallel
(package (package
(name "parallel") (name "parallel")
(version "20190322") (version "20190422")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/parallel/parallel-" (uri (string-append "mirror://gnu/parallel/parallel-"
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 "12q0ys0dp019wykx7jcqbrilz8798hgb66k97aj2s2m7xdpw41ym")))) (base32 "0xdl5fnh1vpjp3zpmqsrbbgjixazlhl4d9awk42nz4snzynysjxl"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases

View file

@ -6,7 +6,7 @@
;;; Copyright © 2016 Jessica Tallon <tsyesika@tsyesika.se> ;;; Copyright © 2016 Jessica Tallon <tsyesika@tsyesika.se>
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2016, 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
@ -48,6 +48,7 @@
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages admin) #:use-module (gnu packages admin)
#:use-module (gnu packages aidc) #:use-module (gnu packages aidc)
#:use-module (gnu packages authentication)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
@ -74,6 +75,7 @@
#:use-module (gnu packages python-web) #:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages suckless) #:use-module (gnu packages suckless)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages qt) #:use-module (gnu packages qt)
#:use-module (gnu packages version-control) #:use-module (gnu packages version-control)
@ -423,6 +425,19 @@ any X11 window.")
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure) (delete 'configure)
(delete 'build) (delete 'build)
(add-before 'install 'patch-system-extension-dir
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(extension-dir (string-append out "/lib/password-store/extensions")))
(substitute* "src/password-store.sh"
(("^SYSTEM_EXTENSION_DIR=.*$")
;; lead with whitespace to prevent 'make install' from
;; overwriting it again
(string-append " SYSTEM_EXTENSION_DIR=\""
"${PASSWORD_STORE_SYSTEM_EXTENSION_DIR:-"
extension-dir
"}\"\n"))))
#t))
(add-before 'install 'patch-passmenu-path (add-before 'install 'patch-passmenu-path
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(substitute* "contrib/dmenu/passmenu" (substitute* "contrib/dmenu/passmenu"
@ -461,6 +476,10 @@ any X11 window.")
;; timeout in some circumstances. ;; timeout in some circumstances.
#:parallel-tests? #f #:parallel-tests? #f
#:test-target "test")) #:test-target "test"))
(native-search-paths
(list (search-path-specification
(variable "PASSWORD_STORE_SYSTEM_EXTENSION_DIR")
(files '("lib/password-store/extensions")))))
(inputs (inputs
`(("dmenu" ,dmenu) `(("dmenu" ,dmenu)
("getopt" ,util-linux) ("getopt" ,util-linux)
@ -482,6 +501,55 @@ changes to your password database to a git repository that can be managed
through the pass command.") through the pass command.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public pass-otp
(package
(name "pass-otp")
(version "1.2.0")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/tadfisher/pass-otp/releases/"
"download/v" version "/pass-otp-" version ".tar.gz"))
(sha256
(base32
"0rrs3iazq80dn0wbl20xkh270428jd8l99m5gd7hl93s4r4sc82p"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags
(let* ((out (assoc-ref %outputs "out"))
(bashcomp (string-append out "/etc/bash_completion.d")))
(list (string-append "PREFIX=" %output)
(string-append "BASHCOMPDIR=" bashcomp)))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-after 'build 'patch-oath-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "otp.bash"
(("^OATH=.*$")
(string-append
"OATH="
(assoc-ref inputs "oath-toolkit")
"/bin/oathtool\n")))
#t)))
#:test-target "test"))
(inputs
`(("oath-toolkit" ,oath-toolkit)))
(native-inputs
`(("password-store" ,password-store)
("expect" ,expect)
("git" ,git)
("gnupg" ,gnupg)
("which" ,which)))
(home-page "https://github.com/tadfisher/pass-otp")
(synopsis "Pass extension for managing one-time-password (OTP) tokens")
(description
"Pass OTP is an extension for password-store that allows adding
one-time-password (OTP) secrets, generating OTP codes, and displaying secret
key URIs using the standard otpauth:// scheme.")
(license license:gpl3+)))
(define-public argon2 (define-public argon2
(package (package
(name "argon2") (name "argon2")

View file

@ -0,0 +1,27 @@
Change 'grub-mkrescue' to honor the 'GRUB_FAT_SERIAL_NUMBER'
environment variable. That way, the caller can specify a fixed
serial number (instead of the randomly chosen one) to create EFI
images (the 'efi.img' file) that are reproducible bit-for-bit.
Patch by Ludovic Courtès <ludo@gnu.org>.
--- grub-2.02/util/grub-mkrescue.c 2019-04-20 19:15:26.180242812 +0200
+++ grub-2.02/util/grub-mkrescue.c 2019-04-20 21:56:34.672370849 +0200
@@ -788,8 +788,15 @@ main (int argc, char *argv[])
efiimgfat = grub_util_path_concat (2, iso9660_dir, "efi.img");
int rv;
- rv = grub_util_exec ((const char * []) { "mformat", "-C", "-f", "2880", "-L", "16", "-i",
- efiimgfat, "::", NULL });
+
+ const char *fat_serial_number = getenv ("GRUB_FAT_SERIAL_NUMBER");
+ const char *mformat_args[] =
+ { "mformat", "-C", "-f", "2880", "-L", "16",
+ fat_serial_number != NULL ? "-N" : "-C",
+ fat_serial_number != NULL ? fat_serial_number : "-C",
+ "-i", efiimgfat, "::", NULL };
+
+ rv = grub_util_exec (mformat_args);
if (rv != 0)
grub_util_error ("`%s` invocation failed\n", "mformat");
rv = grub_util_exec ((const char * []) { "mcopy", "-s", "-i", efiimgfat, efidir_efi, "::/", NULL });

View file

@ -0,0 +1,20 @@
Fix a bug whereby 'mformat' could end up passing uninitialized bytes
to write(2). This could be reproduced with:
mformat -C -f 1440 -L 16 -N 77777777 -i /tmp/x ::
where the output of /tmp/x would be non-deterministic.
Patch by Ludovic Courtès <ludo@gnu.org>.
--- mtools-4.0.23/mformat.c 2019-04-21 00:12:01.496116195 +0200
+++ mtools-4.0.23/mformat.c 2019-04-21 00:12:36.675967157 +0200
@@ -927,6 +927,7 @@ void mformat(int argc, char **argv, int
char *endptr;
+ memset(&boot.bytes, '\0', sizeof boot);
hs = hs_set = 0;
argtracks = 0;
argheads = 0;

View file

@ -1,44 +0,0 @@
Fix CVE-2018-20685:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20685
Patch copied from upstream source repository:
https://github.com/openssh/openssh-portable/commit/6010c0303a422a9c5fa8860c061bf7105eb7f8b2
From 6010c0303a422a9c5fa8860c061bf7105eb7f8b2 Mon Sep 17 00:00:00 2001
From: "djm@openbsd.org" <djm@openbsd.org>
Date: Fri, 16 Nov 2018 03:03:10 +0000
Subject: [PATCH] upstream: disallow empty incoming filename or ones that refer
to the
current directory; based on report/patch from Harry Sintonen
OpenBSD-Commit-ID: f27651b30eaee2df49540ab68d030865c04f6de9
---
scp.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/scp.c b/scp.c
index 60682c68..4f3fdcd3 100644
--- a/scp.c
+++ b/scp.c
#@@ -1,4 +1,4 @@
#-/* $OpenBSD: scp.c,v 1.197 2018/06/01 04:31:48 dtucker Exp $ */
#+/* $OpenBSD: scp.c,v 1.198 2018/11/16 03:03:10 djm Exp $ */
# /*
# * scp - secure remote copy. This is basically patched BSD rcp which
# * uses ssh to do the data transfer (instead of using rcmd).
@@ -1106,7 +1106,8 @@ sink(int argc, char **argv)
SCREWUP("size out of range");
size = (off_t)ull;
- if ((strchr(cp, '/') != NULL) || (strcmp(cp, "..") == 0)) {
+ if (*cp == '\0' || strchr(cp, '/') != NULL ||
+ strcmp(cp, ".") == 0 || strcmp(cp, "..") == 0) {
run_err("error: unexpected filename: %s", cp);
exit(1);
}
--
2.20.1

View file

@ -2541,9 +2541,22 @@ the DateTime.pm class.")
(base32 (base32
"0kz5kz47awf2bhb85xx5rbajkr093ipm2d2vkhqs8lqq0f305r3a")))) "0kz5kz47awf2bhb85xx5rbajkr093ipm2d2vkhqs8lqq0f305r3a"))))
(build-system perl-build-system) (build-system perl-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-tzdata
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "lib/DateTime/TimeZone/Local/Unix.pm"
(("our \\$ZoneinfoDir = '\\/usr\\/share\\/zoneinfo';")
(string-append "our $ZoneinfoDir = '"
(assoc-ref inputs "tzdata") "/share/zoneinfo"
"';")))
#t)))))
(native-inputs (native-inputs
`(("perl-test-fatal" ,perl-test-fatal) `(("perl-test-fatal" ,perl-test-fatal)
("perl-test-requires" ,perl-test-requires))) ("perl-test-requires" ,perl-test-requires)))
(inputs
`(("tzdata" ,tzdata)))
(propagated-inputs (propagated-inputs
`(("perl-class-singleton" ,perl-class-singleton) `(("perl-class-singleton" ,perl-class-singleton)
("perl-list-allutils" ,perl-list-allutils) ("perl-list-allutils" ,perl-list-allutils)
@ -8421,7 +8434,7 @@ text sequences from strings.")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/M/MA/MAKAMAKA/" (uri (string-append "mirror://cpan/authors/id/I/IS/ISHIGAKI/"
"Text-CSV-" version ".tar.gz")) "Text-CSV-" version ".tar.gz"))
(sha256 (sha256
(base32 "1llccsl6sr11g9affh43m6q5r85qgnpi9n7idcs1vi9cn4ww0kp7")))) (base32 "1llccsl6sr11g9affh43m6q5r85qgnpi9n7idcs1vi9cn4ww0kp7"))))

View file

@ -970,14 +970,14 @@ derivation function.")
(define-public python-service-identity (define-public python-service-identity
(package (package
(name "python-service-identity") (name "python-service-identity")
(version "17.0.0") (version "18.1.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "service_identity" version)) (uri (pypi-uri "service_identity" version))
(sha256 (sha256
(base32 (base32
"1aq24cn3nnsjr9g797dayhx4g653h6bd41ksqhidzq0rvarzn0a0")))) "0b9f5qiqjy8ralzgwjgkhx82h6h8sa7532psmb8mkd65md5aan08"))))
(build-system python-build-system) (build-system python-build-system)
(propagated-inputs (propagated-inputs
`(("python-attrs" ,python-attrs) `(("python-attrs" ,python-attrs)

View file

@ -897,14 +897,14 @@ dispatching systems can be built.")
(define-public python-zope-interface (define-public python-zope-interface
(package (package
(name "python-zope-interface") (name "python-zope-interface")
(version "4.1.3") (version "4.6.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "zope.interface" version)) (uri (pypi-uri "zope.interface" version))
(sha256 (sha256
(base32 (base32
"0ks8h73b2g4bkad821qbv0wzjppdrwys33i7ka45ik3wxjg1l8if")))) "1rgh2x3rcl9r0v0499kf78xy86rnmanajf4ywmqb943wpk50sg8v"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (native-inputs
`(("python-zope-event" ,python-zope-event))) `(("python-zope-event" ,python-zope-event)))
@ -2959,14 +2959,14 @@ ecosystem.")
(define-public python-hyperlink (define-public python-hyperlink
(package (package
(name "python-hyperlink") (name "python-hyperlink")
(version "18.0.0") (version "19.0.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "hyperlink" version)) (uri (pypi-uri "hyperlink" version))
(sha256 (sha256
(base32 (base32
"01m3y19arfqljksngy8grc966zdb4larysralb8cajzi8kvly6zh")))) "0m2nhi0j8wmgfscf974wd5v1xfq8mah286hil6npy1ys0m3y7222"))))
(build-system python-build-system) (build-system python-build-system)
(propagated-inputs (propagated-inputs
`(("python-idna" ,python-idna))) `(("python-idna" ,python-idna)))

View file

@ -26,7 +26,7 @@
;;; Copyright © 2016, 2017 ng0 <ng0@n0.is> ;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
;;; Copyright © 2016 Dylan Jeffers <sapientech@sapientech@openmailbox.org> ;;; Copyright © 2016 Dylan Jeffers <sapientech@sapientech@openmailbox.org>
;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016, 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016, 2017 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2016, 2017 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2016 Dylan Jeffers <sapientech@sapientech@openmailbox.org> ;;; Copyright © 2016 Dylan Jeffers <sapientech@sapientech@openmailbox.org>
;;; Copyright © 2016, 2017 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2016, 2017 Alex Vong <alexvong1995@gmail.com>
@ -615,24 +615,27 @@ version identifier.")
(define-public python-serpent (define-public python-serpent
(package (package
(name "python-serpent") (name "python-serpent")
(version "1.27") (version "1.28")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "serpent" version)) (uri (pypi-uri "serpent" version))
(sha256 (sha256
(base32 (base32 "1arnckykpkvv2qrp49l1k7q5mr5pisswl0rvdx98x8wsl1n361pk"))))
"04p9dsrm5pv8vhk3flvih55kgvlzpi38hlaykdiakddmgwqw93bg"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs
`(("python-attrs" ,python-attrs)
("python-pytz" ,python-pytz)))
(home-page "https://github.com/irmen/Serpent") (home-page "https://github.com/irmen/Serpent")
(synopsis "Serializer for literal Python expressions") (synopsis "Serializer for literal Python expressions")
(description (description
"Serpent provides ast.literal_eval() compatible object tree "Serpent provides @code{ast.literal_eval()}-compatible object tree
serialization. It serializes an object tree into bytes (utf-8 encoded string) serialization. It serializes an object tree into bytes (an utf-8 encoded
that can be decoded and then passed as-is to ast.literal_eval() to rebuild it string) that can be decoded and then passed as-is to @code{ast.literal_eval()}
as the original object tree. As such it is safe to send serpent data to other to rebuild the original object tree.
machines over the network for instance (because only safe literals are
encoded).") Because only safe literals are encoded, it is safe to send serpent data to
other machines, such as over the network.")
(license license:expat))) (license license:expat)))
(define-public python-setuptools (define-public python-setuptools
@ -889,7 +892,7 @@ of @code{xmlfile}.")
(define-public python-openpyxl (define-public python-openpyxl
(package (package
(name "python-openpyxl") (name "python-openpyxl")
(version "2.6.0") (version "2.6.2")
(source (source
(origin (origin
;; We use the upstream repository, as the tests are not included in the ;; We use the upstream repository, as the tests are not included in the
@ -900,8 +903,7 @@ of @code{xmlfile}.")
(changeset version))) (changeset version)))
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32 "1qhij6kcvdxqjy4g6193nsv4q7fy8n4fwyd3c2z047idlm6s3j4w"))))
"1x47ngn7ybaqdbvg90c8h2x0j6yfdfj25gjfinp2w5rf62gsany7"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases
@ -1722,6 +1724,37 @@ from git information.
(define-public python2-pbr (define-public python2-pbr
(package-with-python2 python-pbr)) (package-with-python2 python-pbr))
(define-public python-pyrsistent
(package
(name "python-pyrsistent")
(version "0.14.11")
(home-page "https://github.com/tobgu/pyrsistent")
(source (origin
(method url-fetch)
(uri (pypi-uri "pyrsistent" version))
(sha256
(base32
"1qkh74bm296mp5g3r11lgsksr6bh4w1bf8pji4nmxdlfj542ga1w"))))
(build-system python-build-system)
(native-inputs
`(("python-hypothesis" ,python-hypothesis)
("python-pytest" ,python-pytest)
("python-pytest-runner" ,python-pytest-runner)))
(propagated-inputs
`(("python-six" ,python-six)))
(synopsis "Persistent data structures for Python")
(description
"Pyrsistent is a number of persistent collections (by some referred to as
functional data structures). Persistent in the sense that they are immutable.
All methods on a data structure that would normally mutate it instead return a
new copy of the structure containing the requested updates. The original
structure is left untouched.")
(license license:expat)))
(define-public python2-pyrsistent
(package-with-python2 python-pyrsistent))
(define-public python-exif-read (define-public python-exif-read
(package (package
(name "python-exif-read") (name "python-exif-read")
@ -1892,21 +1925,28 @@ between Julian dates and Gregorian dates.")
(define-public python-jsonschema (define-public python-jsonschema
(package (package
(name "python-jsonschema") (name "python-jsonschema")
(version "2.6.0") (version "3.0.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "jsonschema" version)) (uri (pypi-uri "jsonschema" version))
(sha256 (sha256
(base32 (base32
"00kf3zmpp9ya4sydffpifn0j0mzm342a2vzh82p6r0vh10cg7xbg")))) "03g20i1xfg4qdlk4475pl4pp7y0h37g1fbgs5qhy678q9xb822hc"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
'(#:phases '(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (lambda _ (invoke "nosetests")))))) (replace 'check
(lambda _
(setenv "PYTHONPATH" (string-append ".:" (getenv "PYTHONPATH")))
(invoke "trial" "jsonschema"))))))
(native-inputs (native-inputs
`(("python-nose" ,python-nose) `(("python-setuptools_scm" ,python-setuptools-scm)
("python-vcversioner" ,python-vcversioner))) ("python-twisted" ,python-twisted)))
(propagated-inputs
`(("python-attrs" ,python-attrs)
("python-pyrsistent" ,python-pyrsistent)
("python-six" ,python-six)))
(home-page "https://github.com/Julian/jsonschema") (home-page "https://github.com/Julian/jsonschema")
(synopsis "Implementation of JSON Schema for Python") (synopsis "Implementation of JSON Schema for Python")
(description (description
@ -1918,11 +1958,9 @@ between Julian dates and Gregorian dates.")
(let ((jsonschema (package-with-python2 (let ((jsonschema (package-with-python2
(strip-python2-variant python-jsonschema)))) (strip-python2-variant python-jsonschema))))
(package (inherit jsonschema) (package (inherit jsonschema)
(native-inputs
`(("python2-mock" ,python2-mock)
,@(package-native-inputs jsonschema)))
(propagated-inputs (propagated-inputs
`(("python2-functools32" ,python2-functools32)))))) `(("python2-functools32" ,python2-functools32)
,@(package-propagated-inputs jsonschema))))))
(define-public python-schema (define-public python-schema
(package (package
@ -6928,14 +6966,14 @@ versions of Python.")
(define-public python-idna (define-public python-idna
(package (package
(name "python-idna") (name "python-idna")
(version "2.7") (version "2.8")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "idna" version)) (uri (pypi-uri "idna" version))
(sha256 (sha256
(base32 (base32
"05jam7d31767dr12x0rbvvs8lxnpb1mhdb2zdlfxgh83z6k3hjk8")))) "01rlkigdxg17sf9yar1jl8n18ls59367wqh59hnawlyg53vb6my3"))))
(build-system python-build-system) (build-system python-build-system)
(home-page "https://github.com/kjd/idna") (home-page "https://github.com/kjd/idna")
(synopsis "Internationalized domain names in applications") (synopsis "Internationalized domain names in applications")
@ -9664,23 +9702,19 @@ format.")
(define-public python-twisted (define-public python-twisted
(package (package
(name "python-twisted") (name "python-twisted")
(version "17.5.0") (version "19.2.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "Twisted" version ".tar.bz2")) (uri (pypi-uri "Twisted" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1sh2h23nnizcdyrl2rn7zxijglikxwz7z7grqpvq496zy2aa967i")))) "1gmb8d57s13d8znvqnxi47vqzqz141z443dbxg9wjkp8ia9f220p"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
'(#:tests? #f)) ; FIXME: Some tests are failing. '(#:tests? #f)) ; FIXME: Some tests are failing.
;; #:phases
;; (modify-phases %standard-phases
;; (replace 'check
;; (lambda _
;; (zero? (system* "./bin/trial" "twisted")))))
(propagated-inputs (propagated-inputs
`(("python-zope-interface" ,python-zope-interface) `(("python-zope-interface" ,python-zope-interface)
("python-pyhamcrest" ,python-pyhamcrest)
("python-incremental" ,python-incremental) ("python-incremental" ,python-incremental)
("python-hyperlink" ,python-hyperlink) ("python-hyperlink" ,python-hyperlink)
("python-constantly" ,python-constantly) ("python-constantly" ,python-constantly)
@ -11577,13 +11611,13 @@ instead of servers and network commands.")
(define-public python-automat (define-public python-automat
(package (package
(name "python-automat") (name "python-automat")
(version "0.6.0") (version "0.7.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "Automat" version)) (uri (pypi-uri "Automat" version))
(sha256 (sha256
(base32 (base32
"1a7nsrljysfmdqmpn2apfa1gg6rfah4y9sizvns8gb08rx7d07rw")))) "03ivg70n3b1cbcd2zvjhk8y4kmqxcvhmili39lmgx09dza1qpmyb"))))
(build-system python-build-system) (build-system python-build-system)
;; We disable the tests because they require python-twisted, while ;; We disable the tests because they require python-twisted, while
;; python-twisted depends on python-automat. Twisted is optional, but the ;; python-twisted depends on python-automat. Twisted is optional, but the
@ -11610,13 +11644,13 @@ transducers).")
(define-public python-m2r (define-public python-m2r
(package (package
(name "python-m2r") (name "python-m2r")
(version "0.1.12") (version "0.2.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "m2r" version)) (uri (pypi-uri "m2r" version))
(sha256 (sha256
(base32 (base32
"1axrwnf425sz4qz3c0qc7yhhki4myzb8rki7pczcsgzznzmqdyxd")))) "16gdm8i06jjmlpvckpfmlkr4693dh0vs192vgsqn84fsdkbbm45z"))))
(build-system python-build-system) (build-system python-build-system)
(propagated-inputs (propagated-inputs
`(("python-docutils" ,python-docutils) `(("python-docutils" ,python-docutils)
@ -13832,11 +13866,12 @@ and works only with Python 2 and NumPy < 1.9.")
(synopsis "Send files to the user's @file{~/Trash} directory") (synopsis "Send files to the user's @file{~/Trash} directory")
(description "This package provides a Python library to send files to the (description "This package provides a Python library to send files to the
user's @file{~/Trash} directory.") user's @file{~/Trash} directory.")
(properties `((python2-variant . ,(delay python2-send2trash))))
(license license:bsd-3))) (license license:bsd-3)))
(define-public python2-send2trash (define-public python2-send2trash
(package (package
(inherit (package-with-python2 python-send2trash)) (inherit (package-with-python2 (strip-python2-variant python-send2trash)))
(arguments (arguments
(substitute-keyword-arguments (package-arguments python-send2trash) (substitute-keyword-arguments (package-arguments python-send2trash)
((#:phases phases) ((#:phases phases)
@ -13845,8 +13880,7 @@ user's @file{~/Trash} directory.")
(lambda _ (lambda _
(setenv "PYTHONPATH" (setenv "PYTHONPATH"
(string-append (getcwd) ":" (getenv "PYTHONPATH"))) (string-append (getcwd) ":" (getenv "PYTHONPATH")))
#t)))))) #t))))))))
(properties `((python2-variant . ,(delay python-send2trash))))))
(define-public python-yapf (define-public python-yapf
(package (package
@ -14899,16 +14933,15 @@ object-oriented library such as @code{scikit-learn}.")
(define-public python-dill (define-public python-dill
(package (package
(name "python-dill") (name "python-dill")
(version "0.2.8.2") (version "0.2.9")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "dill" version)) (uri (pypi-uri "dill" version))
(sha256 (sha256
(base32 (base32 "0vwqyi6hyz2r29zydc78dqymkbc5y7gia16xcdh215cikxph9mpn"))))
"1cymzn9fxwdy33h21zkk4gqgzvd25110hh3zdqnvnwa3p52c4kb2"))))
(build-system python-build-system) (build-system python-build-system)
;; FIXME: The check phase fails with "don't know how to make test". ;; FIXME: The check phase fails with "don't know how to make test from: …".
(arguments '(#:tests? #f)) (arguments '(#:tests? #f))
(home-page "https://pypi.org/project/dill") (home-page "https://pypi.org/project/dill")
(synopsis "Serialize all of Python") (synopsis "Serialize all of Python")

View file

@ -95,7 +95,7 @@ readers and is needed to communicate with such devices through the
(define-public eid-mw (define-public eid-mw
(package (package
(name "eid-mw") (name "eid-mw")
(version "4.4.13") (version "4.4.16")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -103,7 +103,7 @@ readers and is needed to communicate with such devices through the
(url "https://github.com/Fedict/eid-mw") (url "https://github.com/Fedict/eid-mw")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(sha256 (sha256
(base32 "14bgn2k0xbd6241qdghg787pgxy7k9rvcspaf74zwwyibaqknzyx")))) (base32 "1q82fw63xzrnrgh1wyh457hal6vfdl6swqfq7l6kviywiwlzx7kd"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)

View file

@ -128,13 +128,14 @@ are already there.")
(delete 'configure) (delete 'configure)
;; Help the build scripts find the Go language dependencies. ;; Help the build scripts find the Go language dependencies.
(add-before 'unpack 'setup-go-environment (add-before 'unpack 'setup-go-environment
(assoc-ref go:%standard-phases 'setup-go-environment))))) (assoc-ref go:%standard-phases 'setup-go-environment))
(inputs (add-after 'install 'remove-go-references
(assoc-ref go:%standard-phases 'remove-go-references)))))
(native-inputs
`(("go" ,go) `(("go" ,go)
("go-github-com-burntsushi-toml" ,go-github-com-burntsushi-toml) ("go-github-com-burntsushi-toml" ,go-github-com-burntsushi-toml)
("go-github-com-direnv-go-dotenv" ,go-github-com-direnv-go-dotenv))) ("go-github-com-direnv-go-dotenv" ,go-github-com-direnv-go-dotenv)
(native-inputs ("which" ,which)))
`(("which" ,which)))
(home-page "https://direnv.net/") (home-page "https://direnv.net/")
(synopsis "Environment switcher for the shell") (synopsis "Environment switcher for the shell")
(description (description

View file

@ -164,15 +164,14 @@ a server that supports the SSH-2 protocol.")
(define-public openssh (define-public openssh
(package (package
(name "openssh") (name "openssh")
(version "7.9p1") (version "8.0p1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://openbsd/OpenSSH/portable/" (uri (string-append "mirror://openbsd/OpenSSH/portable/"
name "-" version ".tar.gz")) name "-" version ".tar.gz"))
(patches (search-patches "openssh-CVE-2018-20685.patch"))
(sha256 (sha256
(base32 (base32
"1b8sy6v0b8v4ggmknwcqx3y1rjcpsll0f1f8f4vyv11x4ni3njvb")))) "0s7xh4s0qcipnjh9ls5blxcpvhyd116z9dxn3q1yi64lwrwki55x"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("groff" ,groff) (native-inputs `(("groff" ,groff)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))

View file

@ -5284,14 +5284,14 @@ to Applied regression, Second Edition, Sage, 2011.")
(define-public r-caret (define-public r-caret
(package (package
(name "r-caret") (name "r-caret")
(version "6.0-82") (version "6.0-83")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "caret" version)) (uri (cran-uri "caret" version))
(sha256 (sha256
(base32 (base32
"0zgkmiiarl7ll2ffyciikah61jyps41fin5pjb5l8ja2b26lgrdg")))) "1vyw43z73wa4nrbbyq6km18yh1352g03j93cw2zr1dphl56mxplv"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-foreach" ,r-foreach) `(("r-foreach" ,r-foreach)

View file

@ -252,7 +252,7 @@ over the Internet in an HTTP and CDN friendly way;
(define-public rclone (define-public rclone
(package (package
(name "rclone") (name "rclone")
(version "1.46") (version "1.47.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -261,7 +261,7 @@ over the Internet in an HTTP and CDN friendly way;
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1fl52dl41n76r678nzkxa2kgk9khn1fxraxgk8jd3ayc787qs9ia")))) "1nxwjr9jly6wh1ixr6a7zhlg4b3298v940040fsm0n3lcljd37zx"))))
;; FIXME: Rclone bundles some libraries Guix already provides. Need to ;; FIXME: Rclone bundles some libraries Guix already provides. Need to
;; un-bundle them. ;; un-bundle them.
(build-system go-build-system) (build-system go-build-system)

View file

@ -519,7 +519,7 @@ in a portable way.")
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://www.lbreyer.com/gpl/" (uri (string-append "http://www.lbreyer.com/gpl/"
name "-" version ".tar.gz")) "dbacl-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0224g6x71hyvy7jikfxmgcwww1r5lvk0jx36cva319cb9nmrbrq7")))) "0224g6x71hyvy7jikfxmgcwww1r5lvk0jx36cva319cb9nmrbrq7"))))

View file

@ -79,3 +79,18 @@ tools. There are Valgrind tools that can automatically detect many memory
management and threading bugs, and profile your programs in detail. You can management and threading bugs, and profile your programs in detail. You can
also use Valgrind to build new tools.") also use Valgrind to build new tools.")
(license gpl2+))) (license gpl2+)))
(define-public valgrind-3.15
(package
(inherit valgrind)
(version "3.15.0")
(source (origin
(method url-fetch)
(uri (list (string-append "http://www.valgrind.org/downloads"
"/valgrind-" version ".tar.bz2")
(string-append "ftp://sourceware.org/pub/valgrind"
"/valgrind-" version ".tar.bz2")))
(sha256
(base32
"1ccawxrni8brcvwhygy12iprkvz409hbr9xkk1bd03gnm2fplz21"))
(patches (search-patches "valgrind-enable-arm.patch"))))))

View file

@ -23,6 +23,7 @@
;;; Copyright © 2018 Timothy Sample <samplet@ngyro.com> ;;; Copyright © 2018 Timothy Sample <samplet@ngyro.com>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2019 Jovany Leandro G.C <bit4bit@riseup.net> ;;; Copyright © 2019 Jovany Leandro G.C <bit4bit@riseup.net>
;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -47,6 +48,7 @@
#: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 go)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (gnu packages apr) #:use-module (gnu packages apr)
@ -2144,3 +2146,27 @@ design goals are to reduce the pain of resolving merge conflicts by finding
the smallest possible conflicts and to allow a merge to be saved, tested, the smallest possible conflicts and to allow a merge to be saved, tested,
interrupted, published, and collaborated on while in progress.") interrupted, published, and collaborated on while in progress.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public git-lfs
(package
(name "git-lfs")
(version "2.7.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/git-lfs/git-lfs")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"10v38w8qfz0x8750kv31n8gg2dimvq4wz40m374pd1xaypfs9670"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/git-lfs/git-lfs"))
(home-page "https://git-lfs.github.com/")
(synopsis "Git extension for versioning large files")
(description
"Git Large File Storage (LFS) replaces large files such as audio samples,
videos, datasets, and graphics with text pointers inside Git, while storing the
file contents on a remote server.")
(license license:expat)))

View file

@ -1446,7 +1446,7 @@ access to mpv's powerful playback capabilities.")
(define-public youtube-dl (define-public youtube-dl
(package (package
(name "youtube-dl") (name "youtube-dl")
(version "2019.04.07") (version "2019.04.17")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/rg3/youtube-dl/releases/" (uri (string-append "https://github.com/rg3/youtube-dl/releases/"
@ -1454,7 +1454,7 @@ access to mpv's powerful playback capabilities.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1krx4y8nzpaqpq9qs8dnv2y988jpdccyfl9sdx9wrb0baycl119k")))) "0dznw06qbb75glzirhnsbsd5xqix08jxdngbd21wndxcj1yq5y8a"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
;; The problem here is that the directory for the man page and completion ;; The problem here is that the directory for the man page and completion
@ -3425,11 +3425,11 @@ transitions, and effects and then export your film to many common formats.")
(define-public dav1d (define-public dav1d
(package (package
(name "dav1d") (name "dav1d")
(version "0.2.1") (version "0.2.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (list ;; The canonical download site (uri (list ;; The canonical download site.
(string-append "https://downloads.videolan.org/pub/videolan/" (string-append "https://downloads.videolan.org/pub/videolan/"
"dav1d/" version "/dav1d-" version ".tar.xz") "dav1d/" version "/dav1d-" version ".tar.xz")
@ -3437,7 +3437,7 @@ transitions, and effects and then export your film to many common formats.")
(string-append "https://code.videolan.org/videolan/dav1d/-/" (string-append "https://code.videolan.org/videolan/dav1d/-/"
"archive/" version "/dav1d-" version ".tar.bz2"))) "archive/" version "/dav1d-" version ".tar.bz2")))
(sha256 (sha256
(base32 "0cp7harg2gf61v35hyki2ddk9yr0xli9bkk3smxblabmq9rv5cs3")))) (base32 "1llf4v486avj83d31670vdd5nshbq10qrx9vwrm1j078dh4ax4q0"))))
(build-system meson-build-system) (build-system meson-build-system)
(native-inputs `(("nasm" ,nasm))) (native-inputs `(("nasm" ,nasm)))
(home-page "https://code.videolan.org/videolan/dav1d") (home-page "https://code.videolan.org/videolan/dav1d")

View file

@ -41,37 +41,33 @@
#:use-module (gnu packages xorg)) #:use-module (gnu packages xorg))
(define-public spirv-headers (define-public spirv-headers
;; Keep updated in accordance with (package
;; https://github.com/google/shaderc/blob/known-good/known_good.json (name "spirv-headers")
(let ((commit "8bea0a266ac9b718aa0818d9e3a47c0b77c2cb23") (version "1.3.7")
(revision "4")) (source
(package (origin
(name "spirv-headers") (method git-fetch)
(version (string-append "0.0-" revision "." (string-take commit 9))) (uri (git-reference
(source (url "https://github.com/KhronosGroup/SPIRV-Headers")
(origin (commit version)))
(method git-fetch) (sha256
(uri (git-reference (base32
(url "https://github.com/KhronosGroup/SPIRV-Headers") "0m56smanfcczjfif4yfcqhjj4d4sc088kwg6dgia8fwdsjavdm4d"))
(commit commit))) (file-name (string-append name "-" version "-checkout"))))
(sha256 (build-system cmake-build-system)
(base32 (arguments
"01qyjghjz42hmyw9111zz20a1paf37ps39p4xbj8abjba65d8lqx")) `(#:tests? #f ;; No tests
(file-name (string-append name "-" version "-checkout")))) #:phases (modify-phases %standard-phases
(build-system cmake-build-system) (replace 'install
(arguments (lambda* (#:key outputs #:allow-other-keys)
`(#:tests? #f ;; No tests (invoke "cmake" "-E" "copy_directory"
#:phases (modify-phases %standard-phases "../source/include/spirv"
(replace 'install (string-append (assoc-ref outputs "out")
(lambda* (#:key outputs #:allow-other-keys) "/include/spirv")))))))
(invoke "cmake" "-E" "copy_directory" (home-page "https://github.com/KhronosGroup/SPIRV-Headers")
"../source/include/spirv" (synopsis "Machine-readable files from the SPIR-V Registry")
(string-append (assoc-ref outputs "out") (description
"/include/spirv"))))))) "SPIRV-Headers is a repository containing machine-readable files from
(home-page "https://github.com/KhronosGroup/SPIRV-Headers")
(synopsis "Machine-readable files from the SPIR-V Registry")
(description
"SPIRV-Headers is a repository containing machine-readable files from
the SPIR-V Registry. This includes: the SPIR-V Registry. This includes:
@itemize @itemize
@item Header files for various languages. @item Header files for various languages.
@ -79,9 +75,9 @@ the SPIR-V Registry. This includes:
and for the GLSL.std.450 extended instruction set. and for the GLSL.std.450 extended instruction set.
@item The XML registry file. @item The XML registry file.
@end itemize\n") @end itemize\n")
(license (license:x11-style (license (license:x11-style
(string-append "https://github.com/KhronosGroup/SPIRV-Headers/blob/" (string-append "https://github.com/KhronosGroup/SPIRV-Headers/blob/"
commit "/LICENSE")))))) version "/LICENSE")))))
(define-public spirv-tools (define-public spirv-tools
(package (package
@ -124,7 +120,7 @@ parser,disassembler, validator, and optimizer for SPIR-V.")
(define-public glslang (define-public glslang
(package (package
(name "glslang") (name "glslang")
(version "7.11.3113") (version "7.11.3188")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -133,7 +129,7 @@ parser,disassembler, validator, and optimizer for SPIR-V.")
(commit version))) (commit version)))
(sha256 (sha256
(base32 (base32
"1kzv2b4q1fddxd7c0hc754nd6rw6y9vijb9fsi13xzzq9dficgb6")) "04y4dd1cqdkd4qffmhgmg3agf9j07ii2w38vpp4jw53ir818bqdq"))
(file-name (string-append name "-" version "-checkout")))) (file-name (string-append name "-" version "-checkout"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments

View file

@ -5435,8 +5435,7 @@ Instagram and YouTube.")
(url "https://github.com/linkchecker/linkchecker") (url "https://github.com/linkchecker/linkchecker")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(patches (patches
(search-patches (search-patches "linkchecker-tests-require-network.patch"))
"linkchecker-mark-more-tests-that-require-the-network.patch"))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32

View file

@ -8,7 +8,7 @@
;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Al McElrath <hello@yrns.org> ;;; Copyright © 2016 Al McElrath <hello@yrns.org>
;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au> ;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018 ng0 <ng0@n0.is> ;;; Copyright © 2016, 2017, 2018 ng0 <ng0@n0.is>
;;; Copyright © 2016 doncatnip <gnopap@gmail.com> ;;; Copyright © 2016 doncatnip <gnopap@gmail.com>
;;; Copyright © 2016 Ivan Vilata i Balaguer <ivan@selidor.net> ;;; Copyright © 2016 Ivan Vilata i Balaguer <ivan@selidor.net>
@ -811,7 +811,7 @@ experience.")
"Awesome has been designed as a framework window manager. It is fast, small, "Awesome has been designed as a framework window manager. It is fast, small,
dynamic and extensible using the Lua programming language.") dynamic and extensible using the Lua programming language.")
(license license:gpl2+) (license license:gpl2+)
(home-page "https://awesome.naquadah.org/"))) (home-page "https://awesomewm.org/")))
(define-public menumaker (define-public menumaker
(package (package

View file

@ -574,7 +574,7 @@ selection's dimensions to stdout.")
(define-public maim (define-public maim
(package (package
(name "maim") (name "maim")
(version "5.5.2") (version "5.5.3")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -583,7 +583,7 @@ selection's dimensions to stdout.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"14mfxdm39kc5jk8wysrzx05ag2g4sk9l24i8m5pzqn8j611150v3")))) "1kbxsz8whfxl5blwsvpva2q95zwy72argwhi1cfqh5lrhzq5zrpp"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:tests? #f)) ; no "check" target '(#:tests? #f)) ; no "check" target

View file

@ -929,14 +929,14 @@ XSL-T processor. It also performs any necessary post-processing.")
(define-public xmlsec (define-public xmlsec
(package (package
(name "xmlsec") (name "xmlsec")
(version "1.2.27") (version "1.2.28")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.aleksey.com/xmlsec/download/" (uri (string-append "https://www.aleksey.com/xmlsec/download/"
"xmlsec1-" version ".tar.gz")) "xmlsec1-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1dlf263mvxj9n4lnhhjawc2hv45agrwjf8kxk7k8h9g9v2x5dmwp")))) "1m12caglhyx08g8lh2sl3nkldlpryzdx2d572q73y3m33s0w9vhk"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(propagated-inputs ; according to xmlsec1.pc (propagated-inputs ; according to xmlsec1.pc
`(("libxml2" ,libxml2) `(("libxml2" ,libxml2)

View file

@ -2915,8 +2915,8 @@ X server.")
(define-public xf86-video-intel (define-public xf86-video-intel
(let ((commit "33ee0c3b21ea279e08d0863fcb2e874f0974b00e") (let ((commit "6afed33b2d673d88674f0c76efe500ae414e8e1b")
(revision "12")) (revision "13"))
(package (package
(name "xf86-video-intel") (name "xf86-video-intel")
(version (git-version "2.99.917" revision commit)) (version (git-version "2.99.917" revision commit))
@ -2929,7 +2929,7 @@ X server.")
(commit commit))) (commit commit)))
(sha256 (sha256
(base32 (base32
"1ryjaj52nd2fbrjf1id5fr5vndzvv287rggbj3lzhbwzxv52r0gj")) "1s3fqlqzmql7s15m7qy21vai93n6q9f0ccpv0p353rwfx16mmf35"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("mesa" ,mesa) (inputs `(("mesa" ,mesa)
@ -6001,7 +6001,7 @@ basic eye-candy effects.")
(define-public xpra (define-public xpra
(package (package
(name "xpra") (name "xpra")
(version "2.5") (version "2.5.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -6009,7 +6009,7 @@ basic eye-candy effects.")
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0q6c7ijgpp2wk6jlh0pzqki1w60i36wyl2zfwkg0gpdh40ypab3x")))) "14l3bs7mlkd2lphjhnbw5dr95pg7x1k61s9wk35dra4li2xjy1lm"))))
(build-system python-build-system) (build-system python-build-system)
(inputs `(("ffmpeg" ,ffmpeg) (inputs `(("ffmpeg" ,ffmpeg)
("flac" ,flac) ("flac" ,flac)
@ -6347,7 +6347,7 @@ output.")
(define-public console-setup (define-public console-setup
(package (package
(name "console-setup") (name "console-setup")
(version "1.190") (version "1.191")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -6355,7 +6355,7 @@ output.")
(url "https://salsa.debian.org/installer-team/console-setup.git") (url "https://salsa.debian.org/installer-team/console-setup.git")
(commit version))) (commit version)))
(sha256 (sha256
(base32 "0qklm9ww1wap2bs7hp31xkfjyhdrirg2mk4hiv7h6fiqckzmdwvd")) (base32 "0wplhjadk530fqxhfnizil32rcvkcl5m2r18yskspcib53r4pmim"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments

View file

@ -42,17 +42,19 @@
nslcd-configuration? nslcd-configuration?
nslcd-service-type)) nslcd-service-type))
(define-record-type* <fprintd-configuration> (define-configuration fprintd-configuration
fprintd-configuration make-fprintd-configuration (fprintd (package fprintd)
fprintd-configuration? "The fprintd package"))
(ntp fprintd-configuration-fprintd
(default fprintd))) (define (fprintd-dbus-service config)
(list (fprintd-configuration-fprintd config)))
(define fprintd-service-type (define fprintd-service-type
(service-type (name 'fprintd) (service-type (name 'fprintd)
(extensions (extensions
(list (service-extension dbus-root-service-type (list (service-extension dbus-root-service-type
list))) fprintd-dbus-service)))
(default-value (fprintd-configuration))
(description (description
"Run fprintd, a fingerprint management daemon."))) "Run fprintd, a fingerprint management daemon.")))

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Carlo Zancanaro <carlo@zancanaro.id.au> ;;; Copyright © 2018 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; ;;;
@ -44,6 +44,7 @@
shepherd-service-provision shepherd-service-provision
shepherd-service-canonical-name shepherd-service-canonical-name
shepherd-service-requirement shepherd-service-requirement
shepherd-service-one-shot?
shepherd-service-respawn? shepherd-service-respawn?
shepherd-service-start shepherd-service-start
shepherd-service-stop shepherd-service-stop
@ -59,7 +60,6 @@
%default-modules %default-modules
shepherd-service-file shepherd-service-file
%containerized-shepherd-service
shepherd-service-lookup-procedure shepherd-service-lookup-procedure
shepherd-service-back-edges shepherd-service-back-edges
@ -149,6 +149,8 @@ DEFAULT is given, use it as the service's default value."
(provision shepherd-service-provision) ;list of symbols (provision shepherd-service-provision) ;list of symbols
(requirement shepherd-service-requirement ;list of symbols (requirement shepherd-service-requirement ;list of symbols
(default '())) (default '()))
(one-shot? shepherd-service-one-shot? ;Boolean
(default #f))
(respawn? shepherd-service-respawn? ;Boolean (respawn? shepherd-service-respawn? ;Boolean
(default #t)) (default #t))
(start shepherd-service-start) ;g-expression (procedure) (start shepherd-service-start) ;g-expression (procedure)
@ -238,6 +240,11 @@ stored."
#:docstring '#$(shepherd-service-documentation service) #:docstring '#$(shepherd-service-documentation service)
#:provides '#$(shepherd-service-provision service) #:provides '#$(shepherd-service-provision service)
#:requires '#$(shepherd-service-requirement service) #:requires '#$(shepherd-service-requirement service)
;; The 'one-shot?' slot is new in Shepherd 0.6.0.
;; Older versions ignore it.
#:one-shot? '#$(shepherd-service-one-shot? service)
#:respawn? '#$(shepherd-service-respawn? service) #:respawn? '#$(shepherd-service-respawn? service)
#:start #$(shepherd-service-start service) #:start #$(shepherd-service-start service)
#:stop #$(shepherd-service-stop service) #:stop #$(shepherd-service-stop service)
@ -338,21 +345,6 @@ symbols provided/required by a service."
(lambda (service) (lambda (service)
(vhash-foldq* cons '() service edges))) (vhash-foldq* cons '() service edges)))
(define %containerized-shepherd-service
;; XXX: This service works around a bug in the Shepherd 0.5.0: shepherd
;; calls reboot(2) (via 'disable-reboot-on-ctrl-alt-del') when it starts,
;; but in a container that fails with EINVAL. This was fixed in Shepherd
;; commit 92e806bac1abaeeaf5d60f0ab50d1ae85ba6a62f.
(simple-service 'containerized-shepherd
shepherd-root-service-type
(list (shepherd-service
(provision '(containerized-shepherd))
(start #~(lambda ()
(set! (@@ (shepherd)
disable-reboot-on-ctrl-alt-del)
(const #t))
#t))))))
(define (shepherd-service-upgrade live target) (define (shepherd-service-upgrade live target)
"Return two values: the subset of LIVE (a list of <live-service>) that needs "Return two values: the subset of LIVE (a list of <live-service>) that needs
to be unloaded, and the subset of TARGET (a list of <shepherd-service>) that to be unloaded, and the subset of TARGET (a list of <shepherd-service>) that

View file

@ -160,7 +160,7 @@
(kernel operating-system-kernel ; package (kernel operating-system-kernel ; package
(default linux-libre)) (default linux-libre))
(kernel-arguments operating-system-user-kernel-arguments (kernel-arguments operating-system-user-kernel-arguments
(default '())) ; list of gexps/strings (default '("quiet"))) ; list of gexps/strings
(bootloader operating-system-bootloader) ; <bootloader-configuration> (bootloader operating-system-bootloader) ; <bootloader-configuration>
(label operating-system-label ; string (label operating-system-label ; string
(thunked) (thunked)

View file

@ -427,6 +427,12 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m
(label (string-append "GNU Guix installation " (label (string-append "GNU Guix installation "
(package-version guix))) (package-version guix)))
;; XXX: The AMD Radeon driver is reportedly broken, which makes kmscon
;; non-functional:
;; <https://lists.gnu.org/archive/html/guix-devel/2019-03/msg00441.html>.
;; Thus, blacklist it.
(kernel-arguments '("quiet" "modprobe.blacklist=radeon"))
(file-systems (file-systems
;; Note: the disk image build code overrides this root file system with ;; Note: the disk image build code overrides this root file system with
;; the appropriate one. ;; the appropriate one.

View file

@ -29,7 +29,6 @@
#:use-module (gnu build linux-container) #:use-module (gnu build linux-container)
#:use-module (gnu services) #:use-module (gnu services)
#:use-module (gnu services base) #:use-module (gnu services base)
#:use-module (gnu services shepherd)
#:use-module (gnu system) #:use-module (gnu system)
#:use-module (gnu system file-systems) #:use-module (gnu system file-systems)
#:export (system-container #:export (system-container
@ -52,7 +51,7 @@ from OS that are needed on the bare metal and not in a container."
(let ((locale (operating-system-locale-directory os))) (let ((locale (operating-system-locale-directory os)))
(with-monad %store-monad (with-monad %store-monad
(return `(("locale" ,locale)))))) (return `(("locale" ,locale))))))
(append base (list %containerized-shepherd-service)))) base))
(define (containerized-operating-system os mappings) (define (containerized-operating-system os mappings)
"Return an operating system based on OS for use in a Linux container "Return an operating system based on OS for use in a Linux container

View file

@ -323,6 +323,7 @@ accounts among ACCOUNTS+GROUPS."
(list (shepherd-service (list (shepherd-service
(requirement '(file-systems)) (requirement '(file-systems))
(provision '(user-homes)) (provision '(user-homes))
(one-shot? #t)
(modules '((gnu build activation) (modules '((gnu build activation)
(gnu system accounts))) (gnu system accounts)))
(start (with-imported-modules (source-module-closure (start (with-imported-modules (source-module-closure
@ -332,9 +333,7 @@ accounts among ACCOUNTS+GROUPS."
(activate-user-home (activate-user-home
(map sexp->user-account (map sexp->user-account
(list #$@(map user-account->gexp accounts)))) (list #$@(map user-account->gexp accounts))))
#f))) ;stop #t))) ;success
(stop #~(const #f))
(respawn? #f)
(documentation "Create user home directories.")))) (documentation "Create user home directories."))))
(define (shells-file shells) (define (shells-file shells)

View file

@ -65,6 +65,62 @@ Return #false if it cannot be determined."
(setenv "GUIX_LOCPATH" (string-append locales "/lib/locale")) (setenv "GUIX_LOCPATH" (string-append locales "/lib/locale"))
#t))) #t)))
(define* (invoke-each commands
#:key (max-processes (current-processor-count))
report-progress)
"Run each command in COMMANDS in a separate process, using up to
MAX-PROCESSES processes in parallel. Call REPORT-PROGRESS at each step.
Raise an error if one of the processes exit with non-zero."
(define total
(length commands))
(define (wait-for-one-process)
(match (waitpid WAIT_ANY)
((_ . status)
(unless (zero? (status:exit-val status))
(error "process failed" status)))))
(define (fork-and-run-command command)
(match (primitive-fork)
(0
(dynamic-wind
(const #t)
(lambda ()
(apply execlp command))
(lambda ()
(primitive-exit 127))))
(pid
#t)))
(let loop ((commands commands)
(running 0)
(completed 0))
(match commands
(()
(or (zero? running)
(let ((running (- running 1))
(completed (+ completed 1)))
(wait-for-one-process)
(report-progress total completed)
(loop commands running completed))))
((command . rest)
(if (< running max-processes)
(let ((running (+ 1 running)))
(fork-and-run-command command)
(loop rest running completed))
(let ((running (- running 1))
(completed (+ completed 1)))
(wait-for-one-process)
(report-progress total completed)
(loop commands running completed)))))))
(define* (report-build-progress total completed
#:optional (log-port (current-error-port)))
"Report that COMPLETED out of TOTAL files have been completed."
(format log-port "compiling...\t~5,1f% of ~d files~%" ;FIXME: i18n
(* 100. (/ completed total)) total)
(force-output log-port))
(define* (build #:key outputs inputs native-inputs (define* (build #:key outputs inputs native-inputs
(source-directory ".") (source-directory ".")
(compile-flags '()) (compile-flags '())
@ -101,24 +157,30 @@ Return #false if it cannot be determined."
(match (getenv "GUILE_LOAD_COMPILED_PATH") (match (getenv "GUILE_LOAD_COMPILED_PATH")
(#f "") (#f "")
(path (string-append ":" path))))) (path (string-append ":" path)))))
(for-each (lambda (file)
(let* ((go (string-append go-dir
(file-sans-extension file)
".go")))
;; Install source module.
(install-file (string-append source-directory "/" file)
(string-append module-dir
"/" (dirname file)))
;; Install and compile module. (let ((source-files
(apply invoke guild "compile" "-L" source-directory (with-directory-excursion source-directory
"-o" go (find-files "." scheme-file-regexp))))
(string-append source-directory "/" file) (invoke-each
flags))) (map (lambda (file)
(cons* guild
"guild" "compile"
"-L" source-directory
"-o" (string-append go-dir
(file-sans-extension file)
".go")
(string-append source-directory "/" file)
flags))
source-files)
#:max-processes (parallel-job-count)
#:report-progress report-build-progress)
;; Arrange to strip SOURCE-DIRECTORY from file names. (for-each
(with-directory-excursion source-directory (lambda (file)
(find-files "." scheme-file-regexp))) (install-file (string-append source-directory "/" file)
(string-append module-dir
"/" (dirname file))))
source-files))
#t)) #t))
(define* (install-documentation #:key outputs (define* (install-documentation #:key outputs

View file

@ -52,6 +52,7 @@
channel-location channel-location
%default-channels %default-channels
guix-channel?
channel-instance? channel-instance?
channel-instance-channel channel-instance-channel

View file

@ -33,7 +33,6 @@
%config-directory %config-directory
%system %system
%libgcrypt
%libz %libz
%gzip %gzip
%bzip2 %bzip2
@ -88,9 +87,6 @@
(define %system (define %system
"@guix_system@") "@guix_system@")
(define %libgcrypt
"@LIBGCRYPT@")
(define %libz (define %libz
"@LIBZ@") "@LIBZ@")

View file

@ -635,8 +635,7 @@ options handled by 'set-build-options-from-command-line', and listed in
(define %default-options (define %default-options
;; Alist of default option values. ;; Alist of default option values.
`((system . ,(%current-system)) `((build-mode . ,(build-mode normal))
(build-mode . ,(build-mode normal))
(graft? . #t) (graft? . #t)
(substitutes? . #t) (substitutes? . #t)
(build-hook? . #t) (build-hook? . #t)
@ -729,8 +728,7 @@ must be one of 'package', 'all', or 'transitive'~%")
rest))) rest)))
(option '(#\s "system") #t #f (option '(#\s "system") #t #f
(lambda (opt name arg result) (lambda (opt name arg result)
(alist-cons 'system arg (alist-cons 'system arg result)))
(alist-delete 'system result eq?))))
(option '("target") #t #f (option '("target") #t #f
(lambda (opt name arg result) (lambda (opt name arg result)
(alist-cons 'target arg (alist-cons 'target arg
@ -811,56 +809,71 @@ build."
(cut package-cross-derivation <> <> triplet <>)))) (cut package-cross-derivation <> <> triplet <>))))
(define src (assoc-ref opts 'source)) (define src (assoc-ref opts 'source))
(define system (assoc-ref opts 'system))
(define graft? (assoc-ref opts 'graft?)) (define graft? (assoc-ref opts 'graft?))
(define systems
(match (filter-map (match-lambda
(('system . system) system)
(_ #f))
opts)
(() (list (%current-system)))
(systems systems)))
(define things-to-build
(map (cut transform store <>)
(options->things-to-build opts)))
(define (compute-derivation obj system)
;; Compute the derivation of OBJ for SYSTEM.
(match obj
((? package? p)
(let ((p (or (and graft? (package-replacement p)) p)))
(match src
(#f
(list (package->derivation store p system)))
(#t
(match (package-source p)
(#f
(format (current-error-port)
(G_ "~a: warning: \
package '~a' has no source~%")
(location->string (package-location p))
(package-name p))
'())
(s
(list (package-source-derivation store s)))))
(proc
(map (cut package-source-derivation store <>)
(proc p))))))
((? derivation? drv)
(list drv))
((? procedure? proc)
(list (run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(proc))
#:system system)))
((? file-like? obj)
(list (run-with-store store
(lower-object obj system
#:target (assoc-ref opts 'target))
#:system system)))
((? gexp? gexp)
(list (run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(gexp->derivation "gexp" gexp
#:system system))
#:system system)))))
;; We may get 'unbound-variable' errors while evaluating the 'inputs' fields ;; We may get 'unbound-variable' errors while evaluating the 'inputs' fields
;; of user packages. Since 'guix build' is the primary tool for people ;; of user packages. Since 'guix build' is the primary tool for people
;; testing new packages, report such errors gracefully. ;; testing new packages, report such errors gracefully.
(with-unbound-variable-handling (with-unbound-variable-handling
(parameterize ((%graft? graft?)) (parameterize ((%graft? graft?))
(append-map (match-lambda (append-map (lambda (system)
((? package? p) (append-map (cut compute-derivation <> system)
(let ((p (or (and graft? (package-replacement p)) p))) things-to-build))
(match src systems))))
(#f
(list (package->derivation store p system)))
(#t
(match (package-source p)
(#f
(format (current-error-port)
(G_ "~a: warning: \
package '~a' has no source~%")
(location->string (package-location p))
(package-name p))
'())
(s
(list (package-source-derivation store s)))))
(proc
(map (cut package-source-derivation store <>)
(proc p))))))
((? derivation? drv)
(list drv))
((? procedure? proc)
(list (run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(proc))
#:system system)))
((? file-like? obj)
(list (run-with-store store
(lower-object obj system
#:target (assoc-ref opts 'target))
#:system system)))
((? gexp? gexp)
(list (run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(gexp->derivation "gexp" gexp
#:system system))
#:system system))))
(map (cut transform store <>)
(options->things-to-build opts))))))
(define (show-build-log store file urls) (define (show-build-log store file urls)
"Show the build log for FILE, falling back to remote logs from URLS if "Show the build log for FILE, falling back to remote logs from URLS if

View file

@ -45,7 +45,6 @@
#:use-module (guix cve) #:use-module (guix cve)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (ice-9 receive)
#:use-module (ice-9 regex) #:use-module (ice-9 regex)
#:use-module (ice-9 format) #:use-module (ice-9 format)
#:use-module (web client) #:use-module (web client)
@ -796,10 +795,13 @@ descriptions maintained upstream."
(let ((uris (origin-uris origin))) (let ((uris (origin-uris origin)))
(for-each check-mirror-uri uris))))) (for-each check-mirror-uri uris)))))
(define (check-github-url package) (define* (check-github-url package #:key (timeout 3))
"Check whether PACKAGE uses source URLs that redirect to GitHub." "Check whether PACKAGE uses source URLs that redirect to GitHub."
(define (follow-redirect uri) (define (follow-redirect url)
(receive (response body) (http-head uri) (let* ((uri (string->uri url))
(port (guix:open-connection-for-uri uri #:timeout timeout))
(response (http-head uri #:port port)))
(close-port port)
(case (response-code response) (case (response-code response)
((301 302) ((301 302)
(uri->string (assoc-ref (response-headers response) 'location))) (uri->string (assoc-ref (response-headers response) 'location)))

View file

@ -86,6 +86,8 @@ Download and deploy the latest version of Guix.\n"))
(display (G_ " (display (G_ "
--branch=BRANCH download the tip of the specified BRANCH")) --branch=BRANCH download the tip of the specified BRANCH"))
(display (G_ " (display (G_ "
-N, --news display news compared to the previous generation"))
(display (G_ "
-l, --list-generations[=PATTERN] -l, --list-generations[=PATTERN]
list generations matching PATTERN")) list generations matching PATTERN"))
(display (G_ " (display (G_ "
@ -117,6 +119,9 @@ Download and deploy the latest version of Guix.\n"))
(lambda (opt name arg result) (lambda (opt name arg result)
(cons `(query list-generations ,(or arg "")) (cons `(query list-generations ,(or arg ""))
result))) result)))
(option '(#\N "news") #f #f
(lambda (opt name arg result)
(cons '(query display-news) result)))
(option '("url") #t #f (option '("url") #t #f
(lambda (opt name arg result) (lambda (opt name arg result)
(alist-cons 'repository-url arg (alist-cons 'repository-url arg
@ -162,25 +167,33 @@ Download and deploy the latest version of Guix.\n"))
(define indirect-root-added (define indirect-root-added
(store-lift add-indirect-root)) (store-lift add-indirect-root))
(define (display-profile-news profile) (define* (display-profile-news profile #:key concise?
"Display what's up in PROFILE--new packages, and all that." current-is-newer?)
"Display what's up in PROFILE--new packages, and all that. If
CURRENT-IS-NEWER? is true, assume that the current process represents the
newest generation of PROFILE.x"
(match (memv (generation-number profile) (match (memv (generation-number profile)
(reverse (profile-generations profile))) (reverse (profile-generations profile)))
((current previous _ ...) ((current previous _ ...)
(newline) (let ((these (fold-available-packages
(let ((old (fold-available-packages (lambda* (name version result
(lambda* (name version result #:key supported? deprecated?
#:key supported? deprecated? #:allow-other-keys)
#:allow-other-keys) (if (and supported? (not deprecated?))
(if (and supported? (not deprecated?)) (alist-cons name version result)
(alist-cons name version result) result))
result)) '()))
'())) (those (profile-package-alist
(new (profile-package-alist (generation-file-name profile
(generation-file-name profile current)))) (if current-is-newer?
(display-new/upgraded-packages old new previous
#:concise? #t current)))))
#:heading (G_ "New in this revision:\n")))) (let ((old (if current-is-newer? those these))
(new (if current-is-newer? these those)))
(display-new/upgraded-packages old new
#:concise? concise?
#:heading
(G_ "New in this revision:\n")))))
(_ #t))) (_ #t)))
(define* (build-and-install instances profile (define* (build-and-install instances profile
@ -196,7 +209,8 @@ true, display what would be built without actually building it."
#:hooks %channel-profile-hooks #:hooks %channel-profile-hooks
#:dry-run? dry-run?) #:dry-run? dry-run?)
(munless dry-run? (munless dry-run?
(return (display-profile-news profile)) (return (newline))
(return (display-profile-news profile #:concise? #t))
(match (which "guix") (match (which "guix")
(#f (return #f)) (#f (return #f))
(str (str
@ -394,9 +408,13 @@ display long package lists that would fill the user's screen."
column) column)
4)) 4))
(define concise/max-item-count
;; Maximum number of items to display when CONCISE? is true.
12)
(define list->enumeration (define list->enumeration
(if concise? (if concise?
(lambda* (lst #:optional (max 12)) (lambda* (lst #:optional (max concise/max-item-count))
(if (> (length lst) max) (if (> (length lst) max)
(string-append (string-join (take lst max) ", ") (string-append (string-join (take lst max) ", ")
", " (ellipsis)) ", " (ellipsis))
@ -404,10 +422,13 @@ display long package lists that would fill the user's screen."
(cut string-join <> ", "))) (cut string-join <> ", ")))
(let-values (((new upgraded) (new/upgraded-packages alist1 alist2))) (let-values (((new upgraded) (new/upgraded-packages alist1 alist2)))
(define new-count (length new))
(define upgraded-count (length upgraded))
(unless (and (null? new) (null? upgraded)) (unless (and (null? new) (null? upgraded))
(display heading)) (display heading))
(match (length new) (match new-count
(0 #t) (0 #t)
(count (count
(format #t (N_ " ~h new package: ~a~%" (format #t (N_ " ~h new package: ~a~%"
@ -415,14 +436,20 @@ display long package lists that would fill the user's screen."
count count
(pretty (list->enumeration (sort (map first new) string<?)) (pretty (list->enumeration (sort (map first new) string<?))
30)))) 30))))
(match (length upgraded) (match upgraded-count
(0 #t) (0 #t)
(count (count
(format #t (N_ " ~h package upgraded: ~a~%" (format #t (N_ " ~h package upgraded: ~a~%"
" ~h packages upgraded: ~a~%" count) " ~h packages upgraded: ~a~%" count)
count count
(pretty (list->enumeration (sort upgraded string<?)) (pretty (list->enumeration (sort upgraded string<?))
35)))))) 35))))
(when (and concise?
(or (> new-count concise/max-item-count)
(> upgraded-count concise/max-item-count)))
(display-hint (G_ "Run @command{guix pull --news} to view the complete
list of package changes.")))))
(define (display-profile-content-diff profile gen1 gen2) (define (display-profile-content-diff profile gen1 gen2)
"Display the changes in PROFILE GEN2 compared to generation GEN1." "Display the changes in PROFILE GEN2 compared to generation GEN1."
@ -462,7 +489,12 @@ display long package lists that would fill the user's screen."
(() (()
(exit 1)) (exit 1))
((numbers ...) ((numbers ...)
(list-generations profile numbers))))))))) (list-generations profile numbers)))))))
(('display-news)
;; Display profile news, with the understanding that this process
;; represents the newest generation.
(display-profile-news profile
#:current-is-newer? #t))))
(define (channel-list opts) (define (channel-list opts)
"Return the list of channels to use. If OPTS specify a channel file, "Return the list of channels to use. If OPTS specify a channel file,
@ -502,24 +534,22 @@ Use '~/.config/guix/channels.scm' instead."))
(url (or (assoc-ref opts 'repository-url) (url (or (assoc-ref opts 'repository-url)
(environment-variable)))) (environment-variable))))
(if (or ref url) (if (or ref url)
(match channels (match (find guix-channel? channels)
((one) ((? channel? guix)
;; When there's only one channel, apply '--url', '--commit', and ;; Apply '--url', '--commit', and '--branch' to the 'guix' channel.
;; '--branch' to this specific channel. (let ((url (or url (channel-url guix))))
(let ((url (or url (channel-url one)))) (cons (match ref
(list (match ref
(('commit . commit) (('commit . commit)
(channel (inherit one) (channel (inherit guix)
(url url) (commit commit) (branch #f))) (url url) (commit commit) (branch #f)))
(('branch . branch) (('branch . branch)
(channel (inherit one) (channel (inherit guix)
(url url) (commit #f) (branch branch))) (url url) (commit #f) (branch branch)))
(#f (#f
(channel (inherit one) (url url))))))) (channel (inherit guix) (url url))))
(_ (remove guix-channel? channels))))
;; Otherwise bail out. (#f ;no 'guix' channel, failure will ensue
(leave channels))
(G_ "'--url', '--commit', and '--branch' are not applicable~%"))))
channels))) channels)))
@ -531,11 +561,11 @@ Use '~/.config/guix/channels.scm' instead."))
(cache (string-append (cache-directory) "/pull")) (cache (string-append (cache-directory) "/pull"))
(channels (channel-list opts)) (channels (channel-list opts))
(profile (or (assoc-ref opts 'profile) %current-profile))) (profile (or (assoc-ref opts 'profile) %current-profile)))
(ensure-default-profile)
(cond ((assoc-ref opts 'query) (cond ((assoc-ref opts 'query)
(process-query opts profile)) (process-query 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?))

View file

@ -753,10 +753,6 @@ Info manual."
;;; Generating (guix config). ;;; Generating (guix config).
;;; ;;;
(define %dependency-variables
;; (guix config) variables corresponding to dependencies.
'(%libz %xz %gzip %bzip2))
(define %persona-variables (define %persona-variables
;; (guix config) variables that define Guix's persona. ;; (guix config) variables that define Guix's persona.
'(%guix-package-name '(%guix-package-name

File diff suppressed because it is too large Load diff

View file

@ -15,12 +15,14 @@ gnu/installer/keymap.scm
gnu/installer/locale.scm gnu/installer/locale.scm
gnu/installer/newt.scm gnu/installer/newt.scm
gnu/installer/newt/ethernet.scm gnu/installer/newt/ethernet.scm
gnu/installer/newt/final.scm
gnu/installer/newt/hostname.scm gnu/installer/newt/hostname.scm
gnu/installer/newt/keymap.scm gnu/installer/newt/keymap.scm
gnu/installer/newt/locale.scm gnu/installer/newt/locale.scm
gnu/installer/newt/menu.scm gnu/installer/newt/menu.scm
gnu/installer/newt/network.scm gnu/installer/newt/network.scm
gnu/installer/newt/page.scm gnu/installer/newt/page.scm
gnu/installer/newt/partition.scm
gnu/installer/newt/services.scm gnu/installer/newt/services.scm
gnu/installer/newt/timezone.scm gnu/installer/newt/timezone.scm
gnu/installer/newt/user.scm gnu/installer/newt/user.scm

File diff suppressed because it is too large Load diff

View file

@ -44,6 +44,13 @@ guix build -e '(@@ (gnu packages bootstrap) %bootstrap-guile)'
guix build -e '(@@ (gnu packages bootstrap) %bootstrap-guile)'; \ guix build -e '(@@ (gnu packages bootstrap) %bootstrap-guile)'; \
then exit 1; fi ) then exit 1; fi )
# Passing one '-s' flag.
test `guix build sed -s x86_64-linux -d | wc -l` = 1
# Passing multiple '-s' flags.
all_systems="-s x86_64-linux -s i686-linux -s armhf-linux -s aarch64-linux"
test `guix build sed $all_systems -d | sort -u | wc -l` = 4
# Check --sources option with its arguments # Check --sources option with its arguments
module_dir="t-guix-build-$$" module_dir="t-guix-build-$$"
mkdir "$module_dir" mkdir "$module_dir"