Archived
1
0
Fork 0

Merge branch 'master' into core-updates-frozen

Conflicts:
	gnu/packages/bioinformatics.scm
	gnu/packages/chez.scm
	gnu/packages/docbook.scm
	gnu/packages/ebook.scm
	gnu/packages/gnome.scm
	gnu/packages/linux.scm
	gnu/packages/networking.scm
	gnu/packages/python-web.scm
	gnu/packages/python-xyz.scm
	gnu/packages/tex.scm
	gnu/packages/version-control.scm
	gnu/packages/xml.scm
	guix/build-system/dune.scm
	guix/build-system/go.scm
	guix/build-system/linux-module.scm
	guix/packages.scm
This commit is contained in:
Marius Bakke 2021-09-17 01:25:52 +02:00
commit 5c3cb22c9b
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
96 changed files with 47255 additions and 1103 deletions

View file

@ -371,6 +371,10 @@ AUX_FILES = \
gnu/packages/aux-files/chromium/master-preferences.json \ gnu/packages/aux-files/chromium/master-preferences.json \
gnu/packages/aux-files/emacs/guix-emacs.el \ gnu/packages/aux-files/emacs/guix-emacs.el \
gnu/packages/aux-files/guix.vim \ gnu/packages/aux-files/guix.vim \
gnu/packages/aux-files/linux-libre/5.14-arm.conf \
gnu/packages/aux-files/linux-libre/5.14-arm64.conf \
gnu/packages/aux-files/linux-libre/5.14-i686.conf \
gnu/packages/aux-files/linux-libre/5.14-x86_64.conf \
gnu/packages/aux-files/linux-libre/5.13-arm.conf \ gnu/packages/aux-files/linux-libre/5.13-arm.conf \
gnu/packages/aux-files/linux-libre/5.13-arm64.conf \ gnu/packages/aux-files/linux-libre/5.13-arm64.conf \
gnu/packages/aux-files/linux-libre/5.13-i686.conf \ gnu/packages/aux-files/linux-libre/5.13-i686.conf \
@ -624,9 +628,11 @@ EXTRA_DIST += \
.guix-authorizations \ .guix-authorizations \
.guix-channel \ .guix-channel \
scripts/guix.in \ scripts/guix.in \
etc/disarchive-manifest.scm \
etc/guix-install.sh \ etc/guix-install.sh \
etc/news.scm \ etc/news.scm \
etc/release-manifest.scm \ etc/release-manifest.scm \
etc/source-manifest.scm \
etc/system-tests.scm \ etc/system-tests.scm \
etc/historical-authorizations \ etc/historical-authorizations \
build-aux/build-self.scm \ build-aux/build-self.scm \

2
THANKS
View file

@ -43,7 +43,7 @@ infrastructure help:
Alen Skondro <askondro@gmail.com> Alen Skondro <askondro@gmail.com>
Jan Synáček <jan.synacek@gmail.com> Jan Synáček <jan.synacek@gmail.com>
Matthias Wachs <wachs@net.in.tum.de> Matthias Wachs <wachs@net.in.tum.de>
Christopher Allan Webber <cwebber@dustycloud.org> Christine Lemmer-Webber <cwebber@dustycloud.org>
Philip Woods <elzairthesorcerer@gmail.com> Philip Woods <elzairthesorcerer@gmail.com>
GNU Guix also includes non-software works. Thanks to the following GNU Guix also includes non-software works. Thanks to the following

View file

@ -2046,10 +2046,12 @@ Copy into it the output of:
cat ~/.ssh/<username>_rsa.pub cat ~/.ssh/<username>_rsa.pub
@end example @end example
Power the Linode down. In the Linode's Disks/Configurations tab, resize Power the Linode down.
the Debian disk to be smaller. 30 GB is recommended.
In the Linode's Storage tab, resize the Debian disk to be smaller.
30 GB free space is recommended. Then click "Add a disk", and fill
out the form with the following:
In the Linode settings, "Add a disk", with the following:
@itemize @bullet @itemize @bullet
@item @item
Label: "Guix" Label: "Guix"
@ -2061,9 +2063,9 @@ Filesystem: ext4
Set it to the remaining size Set it to the remaining size
@end itemize @end itemize
On the "configuration" field that comes with the default image, press In the Configurations tab, press "Edit" on the default Debian profile.
"..." and select "Edit", then on that menu add to @file{/dev/sdc} the "Guix" Under "Block Device Assignment" click "Add a Device". It should be
label. @file{/dev/sdc} and you can select the "Guix" disk. Save Changes.
Now "Add a Configuration", with the following: Now "Add a Configuration", with the following:
@itemize @bullet @itemize @bullet
@ -2089,8 +2091,8 @@ Root device: @file{/dev/sda}
Turn off all the filesystem/boot helpers Turn off all the filesystem/boot helpers
@end itemize @end itemize
Now power it back up, picking the Debian configuration. Once it's Now power it back up, booting with the Debian configuration. Once it's
booted up, ssh in your server via @code{ssh running, ssh to your server via @code{ssh
root@@@var{<your-server-IP-here>}}. (You can find your server IP address in root@@@var{<your-server-IP-here>}}. (You can find your server IP address in
your Linode Summary section.) Now you can run the "install guix from your Linode Summary section.) Now you can run the "install guix from
@pxref{Binary Installation,,, guix, GNU Guix}" steps: @pxref{Binary Installation,,, guix, GNU Guix}" steps:
@ -2179,19 +2181,20 @@ Replace the following fields in the above configuration:
@end lisp @end lisp
The last line in the above example lets you log into the server as root The last line in the above example lets you log into the server as root
and set the initial root password. After you have done this, you may and set the initial root password (see the note at the end of this
recipe about root login). After you have done this, you may
delete that line from your configuration and reconfigure to prevent root delete that line from your configuration and reconfigure to prevent root
login. login.
Save your ssh public key (eg: @file{~/.ssh/id_rsa.pub}) as Copy your ssh public key (eg: @file{~/.ssh/id_rsa.pub}) as
@file{@var{<your-username-here>}_rsa.pub} and your @file{@var{<your-username-here>}_rsa.pub} and put
@file{guix-config.scm} in the same directory. In a new terminal run @file{guix-config.scm} in the same directory. In a new terminal run
these commands. these commands.
@example @example
sftp root@@<remote server ip address> sftp root@@<remote server ip address>
put /home/<username>/ssh/id_rsa.pub . put /path/to/files/<username>_rsa.pub .
put /path/to/linode/guix-config.scm . put /path/to/files/guix-config.scm .
@end example @end example
In your first terminal, mount the guix drive: In your first terminal, mount the guix drive:
@ -2201,9 +2204,9 @@ mkdir /mnt/guix
mount /dev/sdc /mnt/guix mount /dev/sdc /mnt/guix
@end example @end example
Due to the way we set things up above, we do not install GRUB Due to the way we set up the bootloader section of the guix-config.scm,
completely. Instead we install only our grub configuration file. So we only the grub configuration file will be installed. So, we need to copy
need to copy over some of the other GRUB stuff that is already there: over some of the other GRUB stuff already installed on the Debian system:
@example @example
mkdir -p /mnt/guix/boot/grub mkdir -p /mnt/guix/boot/grub
@ -2256,7 +2259,7 @@ still need to set your root and user password initially by clicking on
the ``Launch Console'' option in your linode. Choose the ``Glish'' the ``Launch Console'' option in your linode. Choose the ``Glish''
instead of ``Weblish''. Now you should be able to ssh into the machine. instead of ``Weblish''. Now you should be able to ssh into the machine.
Horray! At this point you can shut down the server, delete the Hooray! At this point you can shut down the server, delete the
Debian disk, and resize the Guix to the rest of the size. Debian disk, and resize the Guix to the rest of the size.
Congratulations! Congratulations!

View file

@ -47,7 +47,7 @@ Copyright @copyright{} 2017, 2018 Carlo Zancanaro@*
Copyright @copyright{} 2017 Thomas Danckaert@* Copyright @copyright{} 2017 Thomas Danckaert@*
Copyright @copyright{} 2017 humanitiesNerd@* Copyright @copyright{} 2017 humanitiesNerd@*
Copyright @copyright{} 2017, 2021 Christine Lemmer-Webber@* Copyright @copyright{} 2017, 2021 Christine Lemmer-Webber@*
Copyright @copyright{} 2017, 2018, 2019, 2020 Marius Bakke@* Copyright @copyright{} 2017, 2018, 2019, 2020, 2021 Marius Bakke@*
Copyright @copyright{} 2017, 2019, 2020 Hartmut Goebel@* Copyright @copyright{} 2017, 2019, 2020 Hartmut Goebel@*
Copyright @copyright{} 2017, 2019, 2020, 2021 Maxim Cournoyer@* Copyright @copyright{} 2017, 2019, 2020, 2021 Maxim Cournoyer@*
Copyright @copyright{} 2017, 2018, 2019, 2020, 2021 Tobias Geerinckx-Rice@* Copyright @copyright{} 2017, 2018, 2019, 2020, 2021 Tobias Geerinckx-Rice@*
@ -7059,9 +7059,10 @@ retrieve.
The URL of the Git repository to clone. The URL of the Git repository to clone.
@item @code{commit} @item @code{commit}
This string denotes either the commit to fetch (a hexadecimal string, This string denotes either the commit to fetch (a hexadecimal string),
either the full SHA1 commit or a ``short'' commit string; the latter is or the tag to fetch. You can also use a ``short'' commit ID or a
not recommended) or the tag to fetch. @command{git describe} style identifier such as
@code{v1.0.1-10-g58d7909c97}.
@item @code{recursive?} (default: @code{#f}) @item @code{recursive?} (default: @code{#f})
This Boolean indicates whether to recursively fetch Git sub-modules. This Boolean indicates whether to recursively fetch Git sub-modules.
@ -7805,11 +7806,6 @@ is useful when a package contains multiple packages and you want to build
only one of them. This is equivalent to passing the @code{-p} argument to only one of them. This is equivalent to passing the @code{-p} argument to
@code{dune}. @code{dune}.
The @code{#:profile} parameter can be passed to specify the
@uref{https://dune.readthedocs.io/en/stable/dune-files.html#profile,
dune build profile}. This is equivalent to passing the @code{--profile}
argument to @code{dune}. Its default value is @code{"release"}.
@end defvr @end defvr
@defvr {Scheme Variable} go-build-system @defvr {Scheme Variable} go-build-system
@ -7833,6 +7829,13 @@ Packages that provide Go libraries should install their source code into
the built output. The key @code{#:install-source?}, which defaults to the built output. The key @code{#:install-source?}, which defaults to
@code{#t}, controls whether or not the source code is installed. It can @code{#t}, controls whether or not the source code is installed. It can
be set to @code{#f} for packages that only provide executable files. be set to @code{#f} for packages that only provide executable files.
Packages can be cross-built, and if a specific architecture or operating
system is desired then the keywords @code{#:goarch} and @code{#:goos}
can be used to force the package to be built for that architecture and
operating system. The combinations known to Go can be found
@url{"https://golang.org/doc/install/source#environment", in their
documentation}.
@end defvr @end defvr
@defvr {Scheme Variable} glib-or-gtk-build-system @defvr {Scheme Variable} glib-or-gtk-build-system
@ -10760,7 +10763,8 @@ guix build --with-branch=guile-sqlite3=master cuirass
@item --with-commit=@var{package}=@var{commit} @item --with-commit=@var{package}=@var{commit}
This is similar to @option{--with-branch}, except that it builds from This is similar to @option{--with-branch}, except that it builds from
@var{commit} rather than the tip of a branch. @var{commit} must be a valid @var{commit} rather than the tip of a branch. @var{commit} must be a valid
Git commit SHA1 identifier or a tag. Git commit SHA1 identifier, a tag, or a @command{git describe} style
identifier such as @code{1.0-3-gabc123}.
@item --with-patch=@var{package}=@var{file} @item --with-patch=@var{package}=@var{file}
Add @var{file} to the list of patches applied to @var{package}, where Add @var{file} to the list of patches applied to @var{package}, where
@ -11709,6 +11713,10 @@ contained in the GnuPG keyring at
@code{emacs} package (@pxref{Package Installation, ELPA package @code{emacs} package (@pxref{Package Installation, ELPA package
signatures,, emacs, The GNU Emacs Manual}). signatures,, emacs, The GNU Emacs Manual}).
@item
@uref{https://elpa.nongnu.org/nongnu/, NonGNU}, selected by the
@code{nongnu} identifier.
@item @item
@uref{https://stable.melpa.org/packages, MELPA-Stable}, selected by the @uref{https://stable.melpa.org/packages, MELPA-Stable}, selected by the
@code{melpa-stable} identifier. @code{melpa-stable} identifier.

112
etc/disarchive-manifest.scm Normal file
View file

@ -0,0 +1,112 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;; This file returns a manifest that builds a directory containing Disarchive
;;; metadata for all the tarballs packages refer to.
(use-modules (srfi srfi-1) (ice-9 match)
(guix packages) (guix gexp) (guix profiles)
(guix base16)
(gnu packages))
(include "source-manifest.scm")
(define (tarball-origin? origin)
(match (origin-actual-file-name origin)
(#f #f)
((? string? file)
;; As of version 0.2.1, Disarchive can only deal with raw tarballs and
;; gzip-compressed tarballs.
(and (origin-hash origin)
(or (string-suffix? ".tar.gz" file)
(string-suffix? ".tgz" file)
(string-suffix? ".tar" file))))))
(define (origin->disarchive origin)
"Return a directory containing Disarchive metadata for ORIGIN, a tarball, or
an empty directory if ORIGIN could not be disassembled."
(define file-name
(let ((hash (origin-hash origin)))
(string-append (symbol->string (content-hash-algorithm hash))
"/"
(bytevector->base16-string
(content-hash-value hash)))))
(define disarchive
(specification->package "disarchive"))
(define build
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils)
(srfi srfi-34))
(define tarball
#+(upstream-origin origin))
(define file-name
(string-append #$output "/" #$file-name))
(define profile
#+(profile (content (packages->manifest (list disarchive)))))
(mkdir-p (dirname file-name))
(setenv "PATH" (string-append profile "/bin"))
(setenv "GUILE_LOAD_PATH"
(string-append profile "/share/guile/site/"
(effective-version)))
(setenv "GUILE_LOAD_COMPILED_PATH"
(string-append profile "/lib/guile/" (effective-version)
"/site-ccache"))
(guard (c ((invoke-error? c)
;; Sometimes Disarchive fails with "could not find Gzip
;; compressor". When that happens, produce an empty
;; directory instead of failing.
(report-invoke-error c)
(delete-file file-name)))
(with-output-to-file file-name
(lambda ()
;; Disarchive records the tarball name in its output. Thus,
;; strip the hash from TARBALL.
(let ((short-name (strip-store-file-name tarball)))
(symlink tarball short-name)
(invoke "disarchive" "disassemble" short-name))))))))
(computed-file (match (origin-actual-file-name origin)
((? string? str) (string-append str ".dis"))
(#f "anonymous-tarball.dis"))
build))
(define (disarchive-collection origins)
"Return a directory containing all the Disarchive metadata for ORIGINS."
(directory-union "disarchive-collection"
(filter-map (lambda (origin)
(and (tarball-origin? origin)
(origin->disarchive origin)))
origins)
#:copy? #t))
;; The manifest containing Disarchive data.
(let ((origins (all-origins)))
(manifest
(list (manifest-entry
(name "disarchive-collection")
(version (length origins))
(item (disarchive-collection origins))))))

66
etc/source-manifest.scm Normal file
View file

@ -0,0 +1,66 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;; This file returns a manifest containing origins of all the packages. The
;;; main purpose is to allow continuous integration services to keep upstream
;;; source code around. It can also be passed to 'guix weather -m'.
(use-modules (srfi srfi-1) (srfi srfi-26)
(ice-9 match) (ice-9 vlist)
(guix packages) (guix profiles)
(gnu packages))
(define (all-packages)
"Return the list of all the packages, public or private, omitting only
superseded packages."
(fold-packages (lambda (package lst)
(match (package-replacement package)
(#f (cons package lst))
(replacement
(append (list replacement package) lst))))
'()
#:select? (negate package-superseded)))
(define (upstream-origin source)
"Return SOURCE without any patches or snippet."
(origin (inherit source)
(snippet #f) (patches '())))
(define (all-origins)
"Return the list of origins referred to by all the packages."
(let loop ((packages (all-packages))
(origins '())
(visited vlist-null))
(match packages
((head . tail)
(let ((new (remove (cut vhash-assq <> visited)
(package-direct-sources head))))
(loop tail (append new origins)
(fold (cut vhash-consq <> #t <>)
visited new))))
(()
origins))))
;; Return a manifest containing all the origins.
(manifest (map (lambda (origin)
(manifest-entry
(name (or (origin-actual-file-name origin)
"origin"))
(version "0")
(item (upstream-origin origin))))
(all-origins)))

View file

@ -390,10 +390,6 @@ networking values.) Return #t if INTERFACE is up, #f otherwise."
(set-network-interface-address sock interface address) (set-network-interface-address sock interface address)
(set-network-interface-flags sock interface (logior flags IFF_UP)) (set-network-interface-flags sock interface (logior flags IFF_UP))
;; Hello! We used to create /etc/resolv.conf here, with "nameserver
;; 10.0.2.3\n". However, with Linux-libre 3.16, we're getting ENOSPC.
;; And since it's actually unnecessary, it's gone.
(logand (network-interface-flags sock interface) IFF_UP))) (logand (network-interface-flags sock interface) IFF_UP)))
(define (device-number major minor) (define (device-number major minor)

View file

@ -1170,6 +1170,8 @@ dist_patch_DATA = \
%D%/packages/patches/gobject-introspection-cc.patch \ %D%/packages/patches/gobject-introspection-cc.patch \
%D%/packages/patches/gobject-introspection-girepository.patch \ %D%/packages/patches/gobject-introspection-girepository.patch \
%D%/packages/patches/go-fix-script-tests.patch \ %D%/packages/patches/go-fix-script-tests.patch \
%D%/packages/patches/go-github-com-urfave-cli-fix-tests.patch \
%D%/packages/patches/go-github-com-urfave-cli-v2-fix-tests.patch \
%D%/packages/patches/go-skip-gc-test.patch \ %D%/packages/patches/go-skip-gc-test.patch \
%D%/packages/patches/gpm-glibc-2.26.patch \ %D%/packages/patches/gpm-glibc-2.26.patch \
%D%/packages/patches/gpodder-disable-updater.patch \ %D%/packages/patches/gpodder-disable-updater.patch \
@ -1419,7 +1421,6 @@ dist_patch_DATA = \
%D%/packages/patches/luajit-no_ldconfig.patch \ %D%/packages/patches/luajit-no_ldconfig.patch \
%D%/packages/patches/luit-posix.patch \ %D%/packages/patches/luit-posix.patch \
%D%/packages/patches/lvm2-static-link.patch \ %D%/packages/patches/lvm2-static-link.patch \
%D%/packages/patches/mailutils-fix-uninitialized-variable.patch \
%D%/packages/patches/mailutils-variable-lookup.patch \ %D%/packages/patches/mailutils-variable-lookup.patch \
%D%/packages/patches/make-impure-dirs.patch \ %D%/packages/patches/make-impure-dirs.patch \
%D%/packages/patches/marble-qt-add-qt-headers.patch \ %D%/packages/patches/marble-qt-add-qt-headers.patch \
@ -1697,6 +1698,7 @@ dist_patch_DATA = \
%D%/packages/patches/ripperx-missing-file.patch \ %D%/packages/patches/ripperx-missing-file.patch \
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \ %D%/packages/patches/rpcbind-CVE-2017-8779.patch \
%D%/packages/patches/rtags-separate-rct.patch \ %D%/packages/patches/rtags-separate-rct.patch \
%D%/packages/patches/racket-minimal-backport-1629887.patch \
%D%/packages/patches/racket-minimal-sh-via-rktio.patch \ %D%/packages/patches/racket-minimal-sh-via-rktio.patch \
%D%/packages/patches/remake-impure-dirs.patch \ %D%/packages/patches/remake-impure-dirs.patch \
%D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \ %D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \

View file

@ -1687,7 +1687,7 @@ system administrator.")
(define-public sudo (define-public sudo
(package (package
(name "sudo") (name "sudo")
(version "1.9.7p2") (version "1.9.8")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -1697,7 +1697,7 @@ system administrator.")
version ".tar.gz"))) version ".tar.gz")))
(sha256 (sha256
(base32 (base32
"1a7w99mlpa7kb7zfqkhvafli0a3xhz50kws25y2sg2dzbmrfxd98")) "1rlln9nb3lvg4qlkp0c9qxjflx36rf16mflg0sps2kl0k7lmswzi"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View file

@ -78,7 +78,7 @@
(define-public mpfrcx (define-public mpfrcx
(package (package
(name "mpfrcx") (name "mpfrcx")
(version "0.6.2") (version "0.6.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -86,7 +86,7 @@
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"165syd6kihwp6bry9hvr3v0908cgadsz5w5h5ry4mjnchrklnb7w")))) "1545vgizpypqi2rrriad0ybqv0qwbn9zr0ibxpk00gha9ihv7acx"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(propagated-inputs (propagated-inputs
`(("gmp" ,gmp) `(("gmp" ,gmp)
@ -343,7 +343,7 @@ precision.")
(define-public giac (define-public giac
(package (package
(name "giac") (name "giac")
(version "1.7.0-29") (version "1.7.0-31")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -355,7 +355,7 @@ precision.")
"~parisse/debian/dists/stable/main/source/" "~parisse/debian/dists/stable/main/source/"
"giac_" version ".tar.gz")) "giac_" version ".tar.gz"))
(sha256 (sha256
(base32 "1dw0mh212ri9viks15cn75m38m4q4nj3hlv2bbrpdz8sgnnssz0a")))) (base32 "19vjyijlm3hb758h6nk70k41zw9wrbg6vwfx4r4rgvrb1myy5kpl"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:modules ((ice-9 ftw) `(#:modules ((ice-9 ftw)

View file

@ -132,7 +132,18 @@ know anything about Autoconf or M4.")
(find-files "bin" (find-files "bin"
(lambda (file stat) (lambda (file stat)
(executable-file? file))))) (executable-file? file)))))
#t)))))))) #t))
(add-after 'install 'unpatch-shebangs
(lambda* (#:key outputs #:allow-other-keys)
;; Scripts that "autoconf -i" installs (config.guess,
;; config.sub, and install-sh) must use a regular shebang
;; rather than a reference to the store. Restore it.
;; TODO: Move this phase to 'autoconf-2.69'.
(let* ((out (assoc-ref outputs "out"))
(build-aux (string-append
out "/share/autoconf/build-aux")))
(substitute* (find-files build-aux)
(("^#!.*/bin/sh") "#!/bin/sh")))))))))))
(define-public autoconf autoconf-2.69) (define-public autoconf autoconf-2.69)

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -40,6 +40,7 @@
#:use-module (gnu packages cran) #:use-module (gnu packages cran)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages docker)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
#:use-module (gnu packages graph) #:use-module (gnu packages graph)
#:use-module (gnu packages graphviz) #:use-module (gnu packages graphviz)
@ -84,6 +85,31 @@ submit gene-specific information, or which are scheduled for intense sequence
analysis.") analysis.")
(license license:artistic2.0))) (license license:artistic2.0)))
(define-public r-org-bt-eg-db
(package
(name "r-org-bt-eg-db")
(version "3.13.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri
"org.Bt.eg.db"
version
'annotation))
(sha256
(base32
"0pwvwyfah8fhvaxdc8zkp3lp1v4mchhzr84r3hb0jx97icdvhafi"))))
(properties `((upstream-name . "org.Bt.eg.db")))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi)))
(home-page "https://bioconductor.org/packages/org.Bt.eg.db")
(synopsis "Genome wide annotation for Bovine")
(description
"This package provides genome wide annotations for Bovine, primarily
based on mapping using Entrez Gene identifiers.")
(license license:artistic2.0)))
(define-public r-reactome-db (define-public r-reactome-db
(package (package
(name "r-reactome-db") (name "r-reactome-db")
@ -487,6 +513,34 @@ information about the latest version of the Gene Ontologies.")
several related annotation packages.") several related annotation packages.")
(license license:artistic2.0))) (license license:artistic2.0)))
(define-public r-mus-musculus
(package
(name "r-mus-musculus")
(version "1.3.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "Mus.musculus" version 'annotation))
(sha256
(base32
"143zdf83gbfqhy8jm9df7gzhw5q3a64jrjrxrzjf0zd76j8s8j6y"))))
(properties `((upstream-name . "Mus.musculus")))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi)
("r-genomicfeatures" ,r-genomicfeatures)
("r-go-db" ,r-go-db)
("r-org-mm-eg-db" ,r-org-mm-eg-db)
("r-organismdbi" ,r-organismdbi)
("r-txdb-mmusculus-ucsc-mm10-knowngene"
,r-txdb-mmusculus-ucsc-mm10-knowngene)))
(home-page "https://bioconductor.org/packages/Mus.musculus")
(synopsis "Annotation package for the Mus.musculus object")
(description
"This package contains the @code{Mus.musculus} object to access data
from several related annotation packages.")
(license license:artistic2.0)))
(define-public r-org-ce-eg-db (define-public r-org-ce-eg-db
(package (package
(name "r-org-ce-eg-db") (name "r-org-ce-eg-db")
@ -1060,6 +1114,32 @@ sequencing data.")
from Illumina 450k methylation arrays.") from Illumina 450k methylation arrays.")
(license license:artistic2.0))) (license license:artistic2.0)))
(define-public r-biscuiteerdata
(package
(name "r-biscuiteerdata")
(version "1.6.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "biscuiteerData" version 'experiment))
(sha256
(base32
"1d7zibjf0qccmdnzdxh7wy1h943yhnbf8zdix72486pvhzm124zj"))))
(properties
`((upstream-name . "biscuiteerData")))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationhub" ,r-annotationhub)
("r-curl" ,r-curl)
("r-experimenthub" ,r-experimenthub)))
(native-inputs `(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/biscuiteerData")
(synopsis "Data package for Biscuiteer")
(description
"This package contains default datasets used by the Bioconductor package
biscuiteer.")
(license license:gpl3)))
(define-public r-chromstardata (define-public r-chromstardata
(package (package
(name "r-chromstardata") (name "r-chromstardata")
@ -13733,6 +13813,846 @@ BAM files. With this package, you can build base-pair coverage matrices for
regions or annotations of your choice from BigWig files.") regions or annotations of your choice from BigWig files.")
(license license:artistic2.0))) (license license:artistic2.0)))
(define-public r-beclear
(package
(name "r-beclear")
(version "2.8.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "BEclear" version))
(sha256
(base32
"0w18livng2gcmjgvws7pix3gsnj237rs34sgwxsfmn8p5vfx8b30"))))
(properties `((upstream-name . "BEclear")))
(build-system r-build-system)
(propagated-inputs
`(("r-abind" ,r-abind)
("r-biocparallel" ,r-biocparallel)
("r-data-table" ,r-data-table)
("r-futile-logger" ,r-futile-logger)
("r-matrix" ,r-matrix)
("r-outliers" ,r-outliers)
("r-rcpp" ,r-rcpp)
("r-rdpack" ,r-rdpack)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://github.com/uds-helms/BEclear")
(synopsis "Correction of batch effects in DNA methylation data")
(description
"This package provides functions to detect and correct for batch effects
in DNA methylation data. The core function is based on latent factor models
and can also be used to predict missing values in any other matrix containing
real numbers.")
(license license:gpl3)))
(define-public r-bgeecall
(package
(name "r-bgeecall")
(version "1.8.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "BgeeCall" version))
(sha256
(base32
"1byciy7vzbdkdgaim10s9qb7zlxsywbhcsrka31gm0rm9ljqc665"))))
(properties `((upstream-name . "BgeeCall")))
(build-system r-build-system)
(propagated-inputs
`(("kallisto" ,kallisto)
("r-biomart" ,r-biomart)
("r-biostrings" ,r-biostrings)
("r-data-table" ,r-data-table)
("r-dplyr" ,r-dplyr)
("r-genomicfeatures" ,r-genomicfeatures)
("r-jsonlite" ,r-jsonlite)
("r-rhdf5" ,r-rhdf5)
("r-rslurm" ,r-rslurm)
("r-rtracklayer" ,r-rtracklayer)
("r-sjmisc" ,r-sjmisc)
("r-tximport" ,r-tximport)))
(native-inputs `(("r-knitr" ,r-knitr)))
(home-page "https://github.com/BgeeDB/BgeeCall")
(synopsis "RNA-Seq present/absent gene expression calls generation")
(description
"BgeeCall allows to generate present/absent gene expression calls without
using an arbitrary cutoff like TPM<1. Calls are generated based on reference
intergenic sequences. These sequences are generated based on expression of
all RNA-Seq libraries of each species integrated in Bgee.")
(license license:gpl3)))
(define-public r-bgeedb
(package
(name "r-bgeedb")
(version "2.18.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "BgeeDB" version))
(sha256
(base32
"1ziq180yfpdqwhjdzkwjjhwzn3kb0gkj6q0a26c7a30mcfb50w11"))))
(properties `((upstream-name . "BgeeDB")))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-curl" ,r-curl)
("r-data-table" ,r-data-table)
("r-digest" ,r-digest)
("r-dplyr" ,r-dplyr)
("r-graph" ,r-graph)
("r-r-utils" ,r-r-utils)
("r-rcurl" ,r-rcurl)
("r-rsqlite" ,r-rsqlite)
("r-tidyr" ,r-tidyr)
("r-topgo" ,r-topgo)))
(native-inputs `(("r-knitr" ,r-knitr)))
(home-page "https://github.com/BgeeDB/BgeeDB_R")
(synopsis "Annotation and gene expression data retrieval from Bgee database")
(description
"This package provides a package for the annotation and gene expression
data download from Bgee database, and TopAnat analysis: GO-like enrichment of
anatomical terms, mapped to genes by expression patterns.")
(license license:gpl3)))
(define-public r-biobtreer
(package
(name "r-biobtreer")
(version "1.4.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "biobtreeR" version))
(sha256
(base32
"0pynx4ps1qxsn13ba6zyg6h5dqlp2y7qish67m7sdjns079zh061"))))
(properties `((upstream-name . "biobtreeR")))
(build-system r-build-system)
(propagated-inputs
`(("r-httpuv" ,r-httpuv)
("r-httr" ,r-httr)
("r-jsonlite" ,r-jsonlite)
("r-stringi" ,r-stringi)))
(native-inputs `(("r-knitr" ,r-knitr)))
(home-page "https://github.com/tamerh/biobtreeR")
(synopsis "Use biobtree tool from R")
(description
"The biobtreeR package provides an interface to biobtree, a tool which
covers large sets of bioinformatics datasets and allows search and chain
mappings functionalities.")
(license license:expat)))
(define-public r-minet
(package
(name "r-minet")
(version "3.50.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "minet" version))
(sha256
(base32
"0bir2zr4r2wawkdvdhrk2hcyxmgkrkfvx36jj85fcm24axlqrzzb"))))
(properties `((upstream-name . "minet")))
(build-system r-build-system)
(propagated-inputs
`(("r-infotheo" ,r-infotheo)))
(home-page "http://minet.meyerp.com")
(synopsis "Mutual information networks")
(description
"This package implements various algorithms for inferring mutual
information networks from data.")
(license license:artistic2.0)))
(define-public r-genetclassifier
(package
(name "r-genetclassifier")
(version "1.32.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "geNetClassifier" version))
(sha256
(base32
"1i1cavbbvxzqgqxfmikghnls18jrq12hb953mjrwa95lkhzdxm2d"))))
(properties
`((upstream-name . "geNetClassifier")))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-e1071" ,r-e1071)
("r-ebarrays" ,r-ebarrays)
("r-minet" ,r-minet)))
(home-page "https://www.cicancer.org")
(synopsis "Classify diseases and build gene networks using expression profiles")
(description
"This is a comprehensive package to automatically train and validate a
multi-class SVM classifier based on gene expression data. It provides
transparent selection of gene markers, their coexpression networks, and an
interface to query the classifier.")
(license license:gpl2+)))
(define-public r-dir-expiry
(package
(name "r-dir-expiry")
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "dir.expiry" version))
(sha256
(base32
"05mk7iwzay1xrgvssbz7nyl5d1n03syalbk18lmjmbx05dy0cjik"))))
(properties `((upstream-name . "dir.expiry")))
(build-system r-build-system)
(propagated-inputs `(("r-filelock" ,r-filelock)))
(native-inputs `(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/dir.expiry")
(synopsis "Managing expiration for cache directories")
(description
"This package implements an expiration system for access to versioned
directories. Directories that have not been accessed by a registered function
within a certain time frame are deleted. This aims to reduce disk usage by
eliminating obsolete caches generated by old versions of packages.")
(license license:gpl3)))
(define-public r-basilisk-utils
(package
(name "r-basilisk-utils")
(version "1.4.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "basilisk.utils" version))
(sha256
(base32
"0qbm6rj6h059hakflbwz4j4f59311jhbk5dnpx11kyixh5pgjk7v"))))
(properties
`((upstream-name . "basilisk.utils")))
(build-system r-build-system)
(propagated-inputs
`(("r-dir-expiry" ,r-dir-expiry)))
(native-inputs `(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/basilisk.utils")
(synopsis "Basilisk installation utilities")
(description
"This package implements utilities for installation of the basilisk
package, primarily for creation of the underlying Conda instance.")
(license license:gpl3)))
(define-public r-basilisk
(package
(name "r-basilisk")
(version "1.4.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "basilisk" version))
(sha256
(base32
"1nzbn3f2jzvg3a3m6wgksi4cvamqas2q7csdk4ir7fcirasf536v"))))
(properties `((upstream-name . "basilisk")))
(build-system r-build-system)
(propagated-inputs
`(("r-basilisk-utils" ,r-basilisk-utils)
("r-dir-expiry" ,r-dir-expiry)
("r-reticulate" ,r-reticulate)))
(native-inputs `(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/basilisk")
(synopsis "Freeze Python dependencies inside Bioconductor packages")
(description
"This package installs a self-contained Conda instance that is managed by
the R/Bioconductor installation machinery. This aims to provide a consistent
Python environment that can be used reliably by Bioconductor packages.
Functions are also provided to enable smooth interoperability of multiple
Python environments in a single R session.")
(license license:gpl3)))
(define-public r-biocthis
(package
(name "r-biocthis")
(version "1.2.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "biocthis" version))
(sha256
(base32
"08awghsg7q22csb0j9dr8dpb1vkn9gcs9qnhhljxifkw2ahbqia4"))))
(properties `((upstream-name . "biocthis")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocmanager" ,r-biocmanager)
("r-fs" ,r-fs)
("r-glue" ,r-glue)
("r-rlang" ,r-rlang)
("r-styler" ,r-styler)
("r-usethis" ,r-usethis)))
(native-inputs `(("r-knitr" ,r-knitr)))
(home-page "https://github.com/lcolladotor/biocthis")
(synopsis "Automate package and project setup for Bioconductor packages")
(description
"This package expands the @code{usethis} package with the goal of helping
automate the process of creating R packages for Bioconductor or making them
Bioconductor-friendly.")
(license license:artistic2.0)))
(define-public r-biocdockermanager
(package
(name "r-biocdockermanager")
(version "1.4.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "BiocDockerManager" version))
(sha256
(base32
"0dh1flm5chsdcihljrg6znjskqkp0qyjh39hsv4zq0frf1rm97j7"))))
(properties
`((upstream-name . "BiocDockerManager")))
(build-system r-build-system)
(propagated-inputs
`(("docker" ,docker)
("r-dplyr" ,r-dplyr)
("r-httr" ,r-httr)
("r-memoise" ,r-memoise)
("r-readr" ,r-readr)
("r-whisker" ,r-whisker)))
(native-inputs `(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/BiocDockerManager")
(synopsis "Access and manage Bioconductor Docker images")
(description
"This package works analogous to BiocManager but for Docker images. Use
the BiocDockerManager package to install and manage Docker images provided by
the Bioconductor project.")
(license license:artistic2.0)))
(define-public r-biodb
(package
(name "r-biodb")
(version "1.0.4")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "biodb" version))
(sha256
(base32
"1apnbr5p619nsrhd2drm6arj69sw0wijv8ap7dfrndqkffrpbfmx"))))
(properties `((upstream-name . "biodb")))
(build-system r-build-system)
(propagated-inputs
`(("r-chk" ,r-chk)
("r-jsonlite" ,r-jsonlite)
("r-lgr" ,r-lgr)
("r-lifecycle" ,r-lifecycle)
("r-openssl" ,r-openssl)
("r-plyr" ,r-plyr)
("r-progress" ,r-progress)
("r-r6" ,r-r6)
("r-rappdirs" ,r-rappdirs)
("r-rcpp" ,r-rcpp)
("r-rcurl" ,r-rcurl)
("r-rsqlite" ,r-rsqlite)
("r-stringr" ,r-stringr)
("r-testthat" ,r-testthat)
("r-withr" ,r-withr)
("r-xml" ,r-xml)
("r-yaml" ,r-yaml)))
(native-inputs `(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/biodb")
(synopsis "Library for connecting to chemical and biological databases")
(description
"The biodb package provides access to standard remote chemical and
biological databases (ChEBI, KEGG, HMDB, ...), as well as to in-house local
database files (CSV, SQLite), with easy retrieval of entries, access to web
services, search of compounds by mass and/or name, and mass spectra matching
for LCMS and MSMS. Its architecture as a development framework facilitates
the development of new database connectors for local projects or inside
separate published packages.")
(license license:agpl3+)))
(define-public r-biomformat
(package
(name "r-biomformat")
(version "1.20.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "biomformat" version))
(sha256
(base32
"1wgshkddxbmpsihpkm0dp7vqp59ns6iqbx574y80n2pxb8dx8sy9"))))
(properties `((upstream-name . "biomformat")))
(build-system r-build-system)
(propagated-inputs
`(("r-jsonlite" ,r-jsonlite)
("r-matrix" ,r-matrix)
("r-plyr" ,r-plyr)
("r-rhdf5" ,r-rhdf5)))
(native-inputs `(("r-knitr" ,r-knitr)))
(home-page "https://github.com/joey711/biomformat/")
(synopsis "Interface package for the BIOM file format")
(description
"This is an R package for interfacing with the BIOM format. This package
includes basic tools for reading biom-format files, accessing and subsetting
data tables from a biom object (which is more complex than a single table), as
well as limited support for writing a biom-object back to a biom-format file.
The design of this API is intended to match the Python API and other tools
included with the biom-format project, but with a decidedly \"R flavor\" that
should be familiar to R users. This includes S4 classes and methods, as well
as extensions of common core functions/methods.")
(license license:gpl2)))
(define-public r-mvcclass
(package
(name "r-mvcclass")
(version "1.66.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "MVCClass" version))
(sha256
(base32
"1di7y10mr7caacd6igwxnr62cm4v1x877yi4a2i5jqz1058jqni7"))))
(properties `((upstream-name . "MVCClass")))
(build-system r-build-system)
(home-page "https://bioconductor.org/packages/MVCClass")
(synopsis "Model-View-Controller (MVC) classes")
(description
"This package contains classes used in model-view-controller (MVC)
design.")
(license license:lgpl2.1+)))
(define-public r-biomvcclass
(package
(name "r-biomvcclass")
(version "1.60.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "BioMVCClass" version))
(sha256
(base32
"04pld93nffbci47dnf0awmcmhlfzv599ggcd7hvq78w41ac60qv8"))))
(properties `((upstream-name . "BioMVCClass")))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-graph" ,r-graph)
("r-mvcclass" ,r-mvcclass)
("r-rgraphviz" ,r-rgraphviz)))
(home-page "https://bioconductor.org/packages/BioMVCClass")
(synopsis "Model-View-Controller (MVC) classes that use Biobase")
(description
"This package contains classes used in model-view-controller (MVC)
design.")
(license license:lgpl2.1+)))
(define-public r-biomvrcns
(package
(name "r-biomvrcns")
(version "1.32.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "biomvRCNS" version))
(sha256
(base32
"0wyzj422smr4m9mswzn9inc1sn86pnia7jmd6k28nd2a7fjyrm16"))))
(properties `((upstream-name . "biomvRCNS")))
(build-system r-build-system)
(propagated-inputs
`(("r-genomicranges" ,r-genomicranges)
("r-gviz" ,r-gviz)
("r-iranges" ,r-iranges)
("r-mvtnorm" ,r-mvtnorm)))
(home-page "https://bioconductor.org/packages/biomvRCNS")
(synopsis "Copy number study and segmentation for multivariate biological data")
(description
"In this package, a @dfn{Hidden Semi Markov Model} (HSMM) and one
homogeneous segmentation model are designed and implemented for segmentation
genomic data, with the aim of assisting in transcripts detection using high
throughput technology like RNA-seq or tiling array, and copy number analysis
using aCGH or sequencing.")
(license license:gpl2+)))
(define-public r-bionero
(package
(name "r-bionero")
(version "1.0.4")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "BioNERO" version))
(sha256
(base32
"1yj0pavyfrj2gsvaj1dkgmznibm2appxjx9rk5qjslhslmm5b05b"))))
(properties `((upstream-name . "BioNERO")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocparallel" ,r-biocparallel)
("r-complexheatmap" ,r-complexheatmap)
("r-deseq2" ,r-deseq2)
("r-dynamictreecut" ,r-dynamictreecut)
("r-genie3" ,r-genie3)
("r-ggnetwork" ,r-ggnetwork)
("r-ggnewscale" ,r-ggnewscale)
("r-ggplot2" ,r-ggplot2)
("r-ggpubr" ,r-ggpubr)
("r-igraph" ,r-igraph)
("r-intergraph" ,r-intergraph)
("r-matrixstats" ,r-matrixstats)
("r-minet" ,r-minet)
("r-netrep" ,r-netrep)
("r-networkd3" ,r-networkd3)
("r-rcolorbrewer" ,r-rcolorbrewer)
("r-reshape2" ,r-reshape2)
("r-summarizedexperiment" ,r-summarizedexperiment)
("r-sva" ,r-sva)
("r-wgcna" ,r-wgcna)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://github.com/almeidasilvaf/BioNERO")
(synopsis "Biological network reconstruction omnibus")
(description
"BioNERO aims to integrate all aspects of biological network inference in
a single package, including data preprocessing, exploratory analyses, network
inference, and analyses for biological interpretations. BioNERO can be used
to infer gene coexpression networks (GCNs) and gene regulatory networks (GRNs)
from gene expression data. Additionally, it can be used to explore
topological properties of protein-protein interaction (PPI) networks. GCN
inference relies on the popular WGCNA algorithm. GRN inference is based on
the \"wisdom of the crowds\" principle, which consists in inferring GRNs with
multiple algorithms (here, CLR, GENIE3 and ARACNE) and calculating the average
rank for each interaction pair. As all steps of network analyses are included
in this package, BioNERO makes users avoid having to learn the syntaxes of
several packages and how to communicate between them. Finally, users can also
identify consensus modules across independent expression sets and calculate
intra and interspecies module preservation statistics between different
networks.")
(license license:gpl3)))
(define-public r-bionet
(package
(name "r-bionet")
(version "1.52.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "BioNet" version))
(sha256
(base32
"15rk1jfv4h1mxvr5bs0qmq6fdnza7zcmksigqxb46fs7f6znr3yi"))))
(properties `((upstream-name . "BioNet")))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi)
("r-biobase" ,r-biobase)
("r-graph" ,r-graph)
("r-igraph" ,r-igraph)
("r-rbgl" ,r-rbgl)))
(home-page "http://bioconductor.org/packages/release/bioc/html/BioNet.html")
(synopsis "Functional analysis of biological networks")
(description
"This package provides functions for the integrated analysis of
protein-protein interaction networks and the detection of functional modules.
Different datasets can be integrated into the network by assigning p-values of
statistical tests to the nodes of the network. E.g. p-values obtained from
the differential expression of the genes from an Affymetrix array are assigned
to the nodes of the network. By fitting a beta-uniform mixture model and
calculating scores from the p-values, overall scores of network regions can be
calculated and an integer linear programming algorithm identifies the maximum
scoring subnetwork.")
(license license:gpl2+)))
(define-public r-bionetstat
(package
(name "r-bionetstat")
(version "1.12.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "BioNetStat" version))
(sha256
(base32
"16xlfng9m8xvm831c2x6zmjc0gavlfiy9pnza55hdv86888fcnbg"))))
(properties `((upstream-name . "BioNetStat")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocparallel" ,r-biocparallel)
("r-dt" ,r-dt)
("r-ggplot2" ,r-ggplot2)
("r-hmisc" ,r-hmisc)
("r-igraph" ,r-igraph)
("r-knitr" ,r-knitr)
("r-markdown" ,r-markdown)
("r-pathview" ,r-pathview)
("r-pheatmap" ,r-pheatmap)
("r-plyr" ,r-plyr)
("r-psych" ,r-psych)
("r-rcolorbrewer" ,r-rcolorbrewer)
("r-rjsonio" ,r-rjsonio)
("r-rmarkdown" ,r-rmarkdown)
("r-shiny" ,r-shiny)
("r-shinybs" ,r-shinybs)
("r-whisker" ,r-whisker)
("r-yaml" ,r-yaml)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://github.com/jardimViniciusC/BioNetStat")
(synopsis "Biological network analysis")
(description
"This package provides a package to perform differential network
analysis, differential node analysis (differential coexpression analysis),
network and metabolic pathways view.")
(license license:gpl3+)))
(define-public r-bioqc
(package
(name "r-bioqc")
(version "1.20.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "BioQC" version))
(sha256
(base32
"04akp94p0d0zid55m1b1k3qlw7iq914pcg57lihgj3pa92n1sc5l"))))
(properties `((upstream-name . "BioQC")))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-edger" ,r-edger)
("r-rcpp" ,r-rcpp)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://accio.github.io/BioQC/")
(synopsis "Detect tissue heterogeneity in expression profiles with gene sets")
(description
"BioQC performs quality control of high-throughput expression data based
on tissue gene signatures. It can detect tissue heterogeneity in gene
expression data. The core algorithm is a Wilcoxon-Mann-Whitney test that is
optimised for high performance.")
(license license:gpl3+)))
(define-public r-biotip
(package
(name "r-biotip")
(version "1.6.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "BioTIP" version))
(sha256
(base32
"1i6r8px0fmdjx8frpljppwql74mhx08ibvhs9y3qk91ck5h3f0js"))))
(properties `((upstream-name . "BioTIP")))
(build-system r-build-system)
(propagated-inputs
`(("r-cluster" ,r-cluster)
("r-genomicranges" ,r-genomicranges)
("r-hmisc" ,r-hmisc)
("r-igraph" ,r-igraph)
("r-mass" ,r-mass)
("r-psych" ,r-psych)
("r-stringr" ,r-stringr)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://github.com/xyang2uchicago/BioTIP")
(synopsis "R package for characterization of biological tipping-point")
(description
"This package adopts tipping-point theory to transcriptome profiles to
help unravel disease regulatory trajectory.")
(license license:gpl2)))
(define-public r-biotmle
(package
(name "r-biotmle")
(version "1.16.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "biotmle" version))
(sha256
(base32
"01smkmbv40yprgrgi2gjnmi8ncqyrlkfdxsh33ki20amcx32nc7f"))))
(properties `((upstream-name . "biotmle")))
(build-system r-build-system)
(propagated-inputs
`(("r-assertthat" ,r-assertthat)
("r-biocgenerics" ,r-biocgenerics)
("r-biocparallel" ,r-biocparallel)
("r-dofuture" ,r-dofuture)
("r-dplyr" ,r-dplyr)
("r-drtmle" ,r-drtmle)
("r-future" ,r-future)
("r-ggplot2" ,r-ggplot2)
("r-ggsci" ,r-ggsci)
("r-limma" ,r-limma)
("r-s4vectors" ,r-s4vectors)
("r-summarizedexperiment" ,r-summarizedexperiment)
("r-superheat" ,r-superheat)
("r-tibble" ,r-tibble)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://code.nimahejazi.org/biotmle/")
(synopsis "Targeted learning with moderated statistics for biomarker discovery")
(description
"This package provides tools for differential expression biomarker
discovery based on microarray and next-generation sequencing data that
leverage efficient semiparametric estimators of the average treatment effect
for variable importance analysis. Estimation and inference of the (marginal)
average treatment effects of potential biomarkers are computed by targeted
minimum loss-based estimation, with joint, stable inference constructed across
all biomarkers using a generalization of moderated statistics for use with the
estimated efficient influence function. The procedure accommodates the use of
ensemble machine learning for the estimation of nuisance functions.")
(license license:expat)))
(define-public r-bsseq
(package
(name "r-bsseq")
(version "1.28.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "bsseq" version))
(sha256
(base32
"1xpv85hr681kkkilsnasndkszwmzbzq11y0lff4na2ilsm7sqmmi"))))
(properties `((upstream-name . "bsseq")))
(build-system r-build-system)
(propagated-inputs
`(("r-beachmat" ,r-beachmat)
("r-biobase" ,r-biobase)
("r-biocgenerics" ,r-biocgenerics)
("r-biocparallel" ,r-biocparallel)
("r-biostrings" ,r-biostrings)
("r-bsgenome" ,r-bsgenome)
("r-data-table" ,r-data-table)
("r-delayedarray" ,r-delayedarray)
("r-delayedmatrixstats" ,r-delayedmatrixstats)
("r-genomeinfodb" ,r-genomeinfodb)
("r-genomicranges" ,r-genomicranges)
("r-gtools" ,r-gtools)
("r-hdf5array" ,r-hdf5array)
("r-iranges" ,r-iranges)
("r-limma" ,r-limma)
("r-locfit" ,r-locfit)
("r-permute" ,r-permute)
("r-r-utils" ,r-r-utils)
("r-rcpp" ,r-rcpp)
("r-rhdf5" ,r-rhdf5)
("r-s4vectors" ,r-s4vectors)
("r-scales" ,r-scales)
("r-summarizedexperiment" ,r-summarizedexperiment)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://github.com/hansenlab/bsseq")
(synopsis "Analyze, manage and store bisulfite sequencing data")
(description
"This package provides a collection of tools for analyzing and
visualizing bisulfite sequencing data.")
(license license:artistic2.0)))
(define-public r-dmrseq
(package
(name "r-dmrseq")
(version "1.12.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "dmrseq" version))
(sha256
(base32
"1jbbjifjsnk9261wqmdwkbzj1w52g6vaanpk4w816ri0fap587m4"))))
(properties `((upstream-name . "dmrseq")))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationhub" ,r-annotationhub)
("r-annotatr" ,r-annotatr)
("r-biocparallel" ,r-biocparallel)
("r-bsseq" ,r-bsseq)
("r-bumphunter" ,r-bumphunter)
("r-delayedmatrixstats" ,r-delayedmatrixstats)
("r-genomeinfodb" ,r-genomeinfodb)
("r-genomicranges" ,r-genomicranges)
("r-ggplot2" ,r-ggplot2)
("r-iranges" ,r-iranges)
("r-locfit" ,r-locfit)
("r-matrixstats" ,r-matrixstats)
("r-nlme" ,r-nlme)
("r-outliers" ,r-outliers)
("r-rcolorbrewer" ,r-rcolorbrewer)
("r-rtracklayer" ,r-rtracklayer)
("r-s4vectors" ,r-s4vectors)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/dmrseq")
(synopsis "Detection and inference of differentially methylated regions")
(description
"This package implements an approach for scanning the genome to detect
and perform accurate inference on differentially methylated regions from Whole
Genome Bisulfite Sequencing data. The method is based on comparing detected
regions to a pooled null distribution, that can be implemented even when as
few as two samples per population are available. Region-level statistics are
obtained by fitting a @dfn{generalized least squares} (GLS) regression model
with a nested autoregressive correlated error structure for the effect of
interest on transformed methylation proportions.")
(license license:expat)))
(define-public r-biscuiteer
(package
(name "r-biscuiteer")
(version "1.6.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "biscuiteer" version))
(sha256
(base32
"0f4kk4v2c5diq0fbvyvgwjd1kjk9izr6n9wfrlrr7wbx4pz3c3h6"))))
(properties `((upstream-name . "biscuiteer")))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-biocgenerics" ,r-biocgenerics)
("r-biocparallel" ,r-biocparallel)
("r-biscuiteerdata" ,r-biscuiteerdata)
("r-bsseq" ,r-bsseq)
("r-data-table" ,r-data-table)
("r-delayedmatrixstats" ,r-delayedmatrixstats)
("r-dmrseq" ,r-dmrseq)
("r-genomeinfodb" ,r-genomeinfodb)
("r-genomicranges" ,r-genomicranges)
("r-gtools" ,r-gtools)
("r-hdf5array" ,r-hdf5array)
("r-homo-sapiens" ,r-homo-sapiens)
("r-impute" ,r-impute)
("r-matrix" ,r-matrix)
("r-matrixstats" ,r-matrixstats)
("r-mus-musculus" ,r-mus-musculus)
("r-qdnaseq" ,r-qdnaseq)
("r-qualv" ,r-qualv)
("r-r-utils" ,r-r-utils)
("r-readr" ,r-readr)
("r-rsamtools" ,r-rsamtools)
("r-rtracklayer" ,r-rtracklayer)
("r-s4vectors" ,r-s4vectors)
("r-summarizedexperiment" ,r-summarizedexperiment)
("r-variantannotation" ,r-variantannotation)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://github.com/trichelab/biscuiteer")
(synopsis "Convenience functions for the Biscuit package")
(description
"This package provides a test harness for bsseq loading of Biscuit
output, summarization of WGBS data over defined regions and in mappable
samples, with or without imputation, dropping of mostly-NA rows, age
estimates, etc.")
(license license:gpl3)))
(define-public r-tximeta (define-public r-tximeta
(package (package
(name "r-tximeta") (name "r-tximeta")

View file

@ -73,8 +73,8 @@
(file-name (string-append name "-" version "-checkout"))))))) (file-name (string-append name "-" version "-checkout")))))))
(define-public cuirass (define-public cuirass
(let ((commit "91e8b2ec2c2dbb87089b0c98a29bba427ba7b7bb") (let ((commit "60190401ce4ccc890629ec3cb22a84a8ab8c2645")
(revision "3")) (revision "4"))
(package (package
(name "cuirass") (name "cuirass")
(version (git-version "1.1.0" revision commit)) (version (git-version "1.1.0" revision commit))
@ -87,7 +87,7 @@
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"00xkxvghfgnmbs182s0q67habxjkv9sh7q8acsiy66m0z4f57y39")))) "0b0bs32lzk5ck7lw8ac9dj2h70sqc5y430vhi7rcnwj48mdrchma"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:modules ((guix build utils) `(#:modules ((guix build utils)

View file

@ -9390,6 +9390,144 @@ and make comparisons between different methodologies straightforward.")
several entropy estimators.") several entropy estimators.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public r-nsprcomp
(package
(name "r-nsprcomp")
(version "0.5.1-2")
(source
(origin
(method url-fetch)
(uri (cran-uri "nsprcomp" version))
(sha256
(base32
"1zlc1ximx96f235c0l8qfs6vbp1kpnbf943wxsfahnnlnxvwi59f"))))
(properties `((upstream-name . "nsprcomp")))
(build-system r-build-system)
(home-page "https://sigg-iten.ch/research/")
(synopsis "Non-negative and sparse PCA")
(description
"This package implements two methods for performing a constrained
principal component analysis (PCA), where non-negativity and/or sparsity
constraints are enforced on the principal axes (PAs). The function
@code{nsprcomp} computes one principal component (PC) after the other. Each
PA is optimized such that the corresponding PC has maximum additional variance
not explained by the previous components. In contrast, the function
@code{nscumcomp} jointly computes all PCs such that the cumulative variance is
maximal. Both functions have the same interface as the @code{prcomp} function
from the @code{stats} package (plus some extra parameters).")
(license license:gpl2+)))
(define-public r-cmplot
(package
(name "r-cmplot")
(version "3.6.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "CMplot" version))
(sha256
(base32
"13y05j5gsdc712fn7yvcz5nx2pbcdvl201hfb6jzpvl86qx2l0j1"))))
(properties `((upstream-name . "CMplot")))
(build-system r-build-system)
(home-page "https://github.com/YinLiLin/CMplot")
(synopsis "Circle Manhattan plot")
(description
"Circle Manhattan Plot is an R package that can lay out genome-wide
association study P-value results in both traditional rectangular patterns,
QQ-plot and novel circular ones. United in only one bull's eye style plot,
association results from multiple traits can be compared interactively,
thereby to reveal both similarities and differences between signals.
Additional functions include: highlight signals, a group of SNPs, chromosome
visualization and candidate genes around SNPs.")
(license license:gpl2+)))
(define-public r-precrec
(package
(name "r-precrec")
(version "0.12.7")
(source
(origin
(method url-fetch)
(uri (cran-uri "precrec" version))
(sha256
(base32
"0vwzaqnh9ymrm52dd79bihwqprnygz0d71ay8fv51hdw0zg6saya"))))
(properties `((upstream-name . "precrec")))
(build-system r-build-system)
(propagated-inputs
`(("r-assertthat" ,r-assertthat)
("r-data-table" ,r-data-table)
("r-ggplot2" ,r-ggplot2)
("r-gridextra" ,r-gridextra)
("r-rcpp" ,r-rcpp)
("r-withr" ,r-withr)))
(native-inputs `(("r-knitr" ,r-knitr)))
(home-page "https://evalclass.github.io/precrec/")
(synopsis "Calculate accurate precision-recall and ROC curves")
(description
"This package provides tools for accurate calculations and visualization
of precision-recall and ROC (Receiver Operator Characteristics) curves.")
(license license:gpl3)))
(define-public r-netrep
(package
(name "r-netrep")
(version "1.2.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "NetRep" version))
(sha256
(base32
"1swlb2k9bc7whvslxbklz864j9ynvna73hvq5rhv61cv5vy05ksd"))))
(properties `((upstream-name . "NetRep")))
(build-system r-build-system)
(propagated-inputs
`(("r-abind" ,r-abind)
("r-bh" ,r-bh)
("r-foreach" ,r-foreach)
("r-rcolorbrewer" ,r-rcolorbrewer)
("r-rcpp" ,r-rcpp)
("r-rcpparmadillo" ,r-rcpparmadillo)
("r-rhpcblasctl" ,r-rhpcblasctl)
("r-statmod" ,r-statmod)))
(native-inputs `(("r-knitr" ,r-knitr)))
(home-page "https://cran.r-project.org/package=NetRep")
(synopsis "Permutation testing network module preservation across datasets")
(description
"This package provides functions for assessing the
replication/preservation of a network module's topology across datasets
through permutation testing.")
(license license:gpl2)))
(define-public r-intergraph
(package
(name "r-intergraph")
(version "2.0-2")
(source
(origin
(method url-fetch)
(uri (cran-uri "intergraph" version))
(sha256
(base32
"18a7xgb2rp0w9jl2rkh8nzyjprrs5w7h2iidvc8c38bzx3qpggkc"))))
(properties `((upstream-name . "intergraph")))
(build-system r-build-system)
(propagated-inputs
`(("r-igraph" ,r-igraph)
("r-network" ,r-network)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "http://mbojan.github.io/intergraph")
(synopsis "Coercion routines for network data objects")
(description
"Functions implemented in this package allow to coerce (i.e. convert)
network data between classes provided by other R packages. Currently
supported classes are those defined in packages @code{network} and
@code{igraph}.")
(license license:gpl3)))
(define-public r-abcoptim (define-public r-abcoptim
(package (package
(name "r-abcoptim") (name "r-abcoptim")
@ -9517,6 +9655,233 @@ and coverage methods to tune the choice of threshold.")
@end enumerate") @end enumerate")
(license license:gpl3))) (license license:gpl3)))
(define-public r-ggnetwork
(package
(name "r-ggnetwork")
(version "0.5.10")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggnetwork" version))
(sha256
(base32
"0gqdgy5yh700dg0f7xb80hczlnqfisn8l55j7amd1n7fp2x5sr8v"))))
(properties `((upstream-name . "ggnetwork")))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
("r-ggrepel" ,r-ggrepel)
("r-igraph" ,r-igraph)
("r-network" ,r-network)
("r-sna" ,r-sna)))
(native-inputs `(("r-knitr" ,r-knitr)))
(home-page "https://github.com/briatte/ggnetwork")
(synopsis "Geometries to plot networks with ggplot2")
(description
"This package provides geometries to plot network objects with the
ggplot2 package.")
(license license:gpl3)))
(define-public r-cvauc
(package
(name "r-cvauc")
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "cvAUC" version))
(sha256
(base32
"13bk97l5nn97h85iz93zxazhr63n21nwyrpnl856as9qp59yvn64"))))
(properties `((upstream-name . "cvAUC")))
(build-system r-build-system)
(propagated-inputs
`(("r-data-table" ,r-data-table)
("r-rocr" ,r-rocr)))
(home-page "https://github.com/ledell/cvAUC")
(synopsis "Cross-validated area under the ROC curve confidence intervals")
(description
"This package contains various tools for working with and evaluating
cross-validated area under the ROC curve (AUC) estimators. The primary
functions of the package are @code{ci.cvAUC} and @code{ci.pooled.cvAUC}, which
report cross-validated AUC and compute confidence intervals for
cross-validated AUC estimates based on influence curves for i.i.d. and pooled
repeated measures data, respectively.")
(license license:asl2.0)))
(define-public r-gam
(package
(name "r-gam")
(version "1.20")
(source
(origin
(method url-fetch)
(uri (cran-uri "gam" version))
(sha256
(base32
"1zhy2fp7pxac8xp3z3hndhprj4s5gx3305b627vc78bal1ml3swi"))))
(properties `((upstream-name . "gam")))
(build-system r-build-system)
(propagated-inputs
`(("r-foreach" ,r-foreach)))
(native-inputs
`(("gfortran" ,gfortran)))
(home-page "https://cran.r-project.org/package=gam")
(synopsis "Generalized additive models")
(description
"This package provides functions for fitting and working with generalized
additive models, as described in chapter 7 of \"Statistical Models in
S\" (Chambers and Hastie (eds), 1991), and \"Generalized Additive
Models\" (Hastie and Tibshirani, 1990).")
(license license:gpl2)))
(define-public r-superlearner
(package
(name "r-superlearner")
(version "2.0-28")
(source
(origin
(method url-fetch)
(uri (cran-uri "SuperLearner" version))
(sha256
(base32
"00any24msgflyagy87nznpfjz5g9v15frqda6c679wa8plx26hjz"))))
(properties `((upstream-name . "SuperLearner")))
(build-system r-build-system)
(propagated-inputs
`(("r-cvauc" ,r-cvauc)
("r-gam" ,r-gam)
("r-nnls" ,r-nnls)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://github.com/ecpolley/SuperLearner")
(synopsis "Super learner prediction")
(description
"This package implements the super learner prediction method and contains
a library of prediction algorithms to be used in the super learner.")
(license license:gpl3)))
(define-public r-drtmle
(package
(name "r-drtmle")
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "drtmle" version))
(sha256
(base32
"08a6k0nrg6mqdslwjc71583x52vnax87nbfalk98zczwvrrdwvxa"))))
(properties `((upstream-name . "drtmle")))
(build-system r-build-system)
(propagated-inputs
`(("r-future-apply" ,r-future-apply)
("r-np" ,r-np)
("r-superlearner" ,r-superlearner)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://github.com/benkeser/drtmle")
(synopsis "Doubly-robust nonparametric estimation and inference")
(description
"This package implements targeted minimum loss-based estimators of
counterfactual means and causal effects that are doubly-robust with respect
both to consistency and asymptotic normality.")
(license license:expat)))
(define-public r-dofuture
(package
(name "r-dofuture")
(version "0.12.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "doFuture" version))
(sha256
(base32
"1hqzdlgcrc5l6xjwdylsc9iiysi2wx8k1j1vmw3wryj26057c9y4"))))
(properties `((upstream-name . "doFuture")))
(build-system r-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'set-HOME
(lambda _ (setenv "HOME" "/tmp"))))))
(propagated-inputs
`(("r-foreach" ,r-foreach)
("r-future" ,r-future)
("r-globals" ,r-globals)
("r-iterators" ,r-iterators)))
(native-inputs
`(("r-r-rsp" ,r-r-rsp))) ; vignette builder
(home-page "https://github.com/HenrikBengtsson/doFuture")
(synopsis "Foreach parallel adapter using the future API")
(description
"This package provides a @code{%dopar%} adapter such that any type of
futures can be used as backends for the @code{foreach} framework.")
(license license:lgpl2.1+)))
(define-public r-superheat
(package
(name "r-superheat")
(version "0.1.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "superheat" version))
(sha256
(base32
"01v8s6px1k5fajlm6py3ksr1i853kwwlky1yryzhy3p1cxhwgg83"))))
(properties `((upstream-name . "superheat")))
(build-system r-build-system)
(propagated-inputs
`(("r-dplyr" ,r-dplyr)
("r-ggdendro" ,r-ggdendro)
("r-ggplot2" ,r-ggplot2)
("r-gtable" ,r-gtable)
("r-magrittr" ,r-magrittr)
("r-plyr" ,r-plyr)
("r-scales" ,r-scales)))
(home-page "https://cran.r-project.org/package=superheat")
(synopsis "Graphical tool for exploring complex datasets using heatmaps")
(description
"This package provides a system for generating extendable and
customizable heatmaps for exploring complex datasets, including big data and
data with multiple data types.")
(license license:cc0)))
(define-public r-qualv
(package
(name "r-qualv")
(version "0.3-3")
(source
(origin
(method url-fetch)
(uri (cran-uri "qualV" version))
(sha256
(base32
"1yyqk223ydcc0125gsn33a4mcdp8bd76fpn8kj9bfz9g78b8dqmx"))))
(properties `((upstream-name . "qualV")))
(build-system r-build-system)
(propagated-inputs
`(("r-kernsmooth" ,r-kernsmooth)))
(home-page "http://qualV.R-Forge.R-Project.org/")
(synopsis "Qualitative Validation Methods")
(description
"This package provides qualitative methods for the validation of dynamic
models. It contains
@enumerate
@item an orthogonal set of deviance measures for absolute, relative and
ordinal scale and
@item approaches accounting for time shifts.
@end enumerate
The first approach transforms time to take time delays and speed differences
into account. The second divides the time series into interval units
according to their main features and finds the @dfn{longest common
subsequence} (LCS) using a dynamic programming algorithm.")
(license license:gpl2+)))
(define-public r-mosaiccore (define-public r-mosaiccore
(package (package
(name "r-mosaiccore") (name "r-mosaiccore")
@ -11745,6 +12110,54 @@ builders who wish to wrap command line software, and to help analysts stay
inside R when they might usually leave to execute non-R software.") inside R when they might usually leave to execute non-R software.")
(license license:expat))) (license license:expat)))
(define-public r-rslurm
(package
(name "r-rslurm")
(version "0.6.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "rslurm" version))
(sha256
(base32
"0fn2na8prsaxa03x5wi3105gpsxc35qvgmik7wy3nylvx4wdfv9g"))))
(properties `((upstream-name . "rslurm")))
(build-system r-build-system)
(propagated-inputs `(("r-whisker" ,r-whisker)))
(native-inputs `(("r-knitr" ,r-knitr)))
(home-page "http://cyberhelp.sesync.org/rslurm/")
(synopsis "Submit R calculations to a Slurm cluster")
(description
"This package provides functions that simplify submitting R scripts to a
Slurm workload manager, in part by automating the division of embarrassingly
parallel calculations across cluster nodes.")
(license license:gpl3)))
(define-public r-chk
(package
(name "r-chk")
(version "0.7.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "chk" version))
(sha256
(base32
"1fxsxgvd08lkb6amjgs4x48dhqr046mmjngjfgy2ya9cl2shd7ls"))))
(properties `((upstream-name . "chk")))
(build-system r-build-system)
(propagated-inputs
`(("r-lifecycle" ,r-lifecycle)
("r-rlang" ,r-rlang)))
(native-inputs `(("r-knitr" ,r-knitr)))
(home-page "https://github.com/poissonconsulting/chk")
(synopsis "Check user-supplied function arguments")
(description
"This is a package for developers to check user-supplied function
arguments. It is designed to be simple, fast and customizable. Error
messages follow the tidyverse style guide.")
(license license:expat)))
(define-public r-weights (define-public r-weights
(package (package
(name "r-weights") (name "r-weights")

View file

@ -43,6 +43,7 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages cmake) #:use-module (gnu packages cmake)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages crates-graphics) #:use-module (gnu packages crates-graphics)
@ -55,6 +56,7 @@
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages jemalloc) #:use-module (gnu packages jemalloc)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm) #:use-module (gnu packages llvm)
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
#:use-module (gnu packages nettle) #:use-module (gnu packages nettle)
@ -5824,6 +5826,57 @@ functions} for a collection of hashable objects.")
(description "This package provides a safe FnOnce boxing for Rust.") (description "This package provides a safe FnOnce boxing for Rust.")
(license license:expat))) (license license:expat)))
(define-public rust-boxxy-0.11
(package
(name "rust-boxxy")
(version "0.11.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "boxxy" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"10p8i30ri9rhrmlbdxp9s4k4fgsjq6q6b1x2ncchli1ad6psylms"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-base64" ,rust-base64-0.10)
("rust-bufstream" ,rust-bufstream-0.1)
("rust-caps" ,rust-caps-0.3)
("rust-cfg-if" ,rust-cfg-if-0.1)
("rust-clap" ,rust-clap-2)
("rust-errno" ,rust-errno-0.2)
("rust-error-chain" ,rust-error-chain-0.12)
("rust-futures" ,rust-futures-0.1)
("rust-http" ,rust-http-0.1)
("rust-hyper" ,rust-hyper-0.12)
("rust-hyper-rustls" ,rust-hyper-rustls-0.17)
("rust-libc" ,rust-libc-0.2)
("rust-libflate" ,rust-libflate-0.1)
("rust-log" ,rust-log-0.4)
("rust-nix" ,rust-nix-0.15)
("rust-pledge" ,rust-pledge-0.3)
("rust-regex" ,rust-regex-1)
("rust-rustls" ,rust-rustls-0.16)
("rust-rustyline" ,rust-rustyline-5)
("rust-sha2" ,rust-sha2-0.8)
("rust-tar" ,rust-tar-0.4)
("rust-tokio-core" ,rust-tokio-core-0.1)
("rust-url" ,rust-url-2)
("rust-webpki" ,rust-webpki-0.21))
#:cargo-development-inputs
(("rust-ctrlc" ,rust-ctrlc-3)
("rust-elf" ,rust-elf-0.0.10)
("rust-env-logger" ,rust-env-logger-0.6))))
(home-page "https://github.com/kpcyrd/boxxy-rs")
(synopsis "Linkable sandbox explorer")
(description
"This library provides an interactive shell that can be linked into a
program to verify sandboxing measures are adequate.")
(license license:lgpl3)))
(define-public rust-bresenham-0.1 (define-public rust-bresenham-0.1
(package (package
(name "rust-bresenham") (name "rust-bresenham")
@ -6138,6 +6191,31 @@ system calls. Second, exposing the internal buffer allows the user to work
with data in place, which avoids another copy.") with data in place, which avoids another copy.")
(license license:gpl3))) (license license:gpl3)))
(define-public rust-bufstream-0.1
(package
(name "rust-bufstream")
(version "0.1.4")
(source
(origin
(method url-fetch)
(uri (crate-uri "bufstream" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1j7f52rv73hd1crzrrfb9dr50ccmi3hb1ybd6s5dyg6jmllqkqs0"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-futures" ,rust-futures-0.1)
("rust-tokio-io" ,rust-tokio-io-0.1))))
(home-page "https://github.com/alexcrichton/bufstream")
(synopsis "I/O streams with separate read/write buffers")
(description
"This package provides buffered I/O for streams where each read/write
half is separately buffered.")
(license (list license:expat license:asl2.0))))
(define-public rust-bugreport-0.4 (define-public rust-bugreport-0.4
(package (package
(name "rust-bugreport") (name "rust-bugreport")
@ -9590,6 +9668,30 @@ It supports signed and private (encrypted + signed) jars.")
("rust-sha2" ,rust-sha2-0.8) ("rust-sha2" ,rust-sha2-0.8)
("rust-time" ,rust-time-0.1)))))) ("rust-time" ,rust-time-0.1))))))
(define-public rust-cookie-factory-0.3
(package
(name "rust-cookie-factory")
(version "0.3.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "cookie-factory" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"0sqjmw85ckqhppff6gjwmvjpkii35441a51xx7cv0ih3jy2fjv9r"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f
#:cargo-development-inputs (("rust-maplit" ,rust-maplit-1))))
(home-page "https://github.com/rust-bakery/cookie-factory")
(synopsis "Combinator-based serialization library")
(description
"This package provides a serialization library with a combinator design
similar to the nom parser combinators library.")
(license license:expat)))
(define-public rust-cookie-store-0.7 (define-public rust-cookie-store-0.7
(package (package
(name "rust-cookie-store") (name "rust-cookie-store")
@ -11085,6 +11187,27 @@ number ``crunching``.")
common cryptographic algorithms.") common cryptographic algorithms.")
(license (list license:expat license:asl2.0)))) (license (list license:expat license:asl2.0))))
(define-public rust-rusticata-macros-3
(package
(name "rust-rusticata-macros")
(version "3.2.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "rusticata-macros" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1b91k644rqblbam6rfhhmgcxs0zddldi2h0w93aapv1kqq9fbgpv"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs (("rust-nom" ,rust-nom-6))))
(home-page "https://github.com/rusticata/rusticata-macros")
(synopsis "Helper macros for Rusticata")
(description "Helper macros for Rusticata")
(license (list license:expat license:asl2.0))))
(define-public rust-crypto-mac-0.11 (define-public rust-crypto-mac-0.11
(package (package
(name "rust-crypto-mac") (name "rust-crypto-mac")
@ -13221,6 +13344,33 @@ procedural macros")
procedural macros.") procedural macros.")
(license (list license:expat license:asl2.0)))) (license (list license:expat license:asl2.0))))
(define-public rust-dhcp4r-0.2
(package
(name "rust-dhcp4r")
(version "0.2.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "dhcp4r" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"0paq13i9iz5545f5aw8ijxflw20fvb3k8s4m3inr5q19q5rirpbc"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-enum-primitive-derive" ,rust-enum-primitive-derive-0.2)
("rust-nom" ,rust-nom-6)
("rust-num-traits" ,rust-num-traits-0.2)
("rust-time" ,rust-time-0.2))))
(home-page "https://github.com/krolaw/dhcp4r")
(synopsis "IPv4 DHCP library with working server example.")
(description
"This package provides a library for IPv4 DHCP including a working server
example.")
(license license:bsd-3)))
(define-public rust-dialoguer-0.6 (define-public rust-dialoguer-0.6
(package (package
(name "rust-dialoguer") (name "rust-dialoguer")
@ -14615,6 +14765,28 @@ signing, and verification in pure Rust.")
@code{Right} is a general purpose sum type with two cases.") @code{Right} is a general purpose sum type with two cases.")
(license (list license:expat license:asl2.0)))) (license (list license:expat license:asl2.0))))
(define-public rust-elf-0.0.10
(package
(name "rust-elf")
(version "0.0.10")
(source
(origin
(method url-fetch)
(uri (crate-uri "elf" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1xcpf7jdmrl7rdmd6009grahvgp3k695h5x4cadrpr70vcaxwha8"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs (("rust-byteorder" ,rust-byteorder-0.5))))
(home-page "https://github.com/cole14/rust-elf/")
(synopsis "Library for parsing ELF files")
(description
"This package provides a pure-Rust library for parsing ELF files.")
(license (list license:expat license:asl2.0))))
(define-public rust-emacs-0.11 (define-public rust-emacs-0.11
(package (package
(name "rust-emacs") (name "rust-emacs")
@ -15107,6 +15279,32 @@ accessor functions on enums.")
instances for enum.") instances for enum.")
(license license:expat))) (license license:expat)))
(define-public rust-enum-primitive-derive-0.2
(package
(name "rust-enum-primitive-derive")
(version "0.2.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "enum-primitive-derive" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"0h1k2izdl5lf2na8xnj7rgwjm8gawxc2p1w8j6ahifvyka7jhljz"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-num-traits" ,rust-num-traits-0.2)
("rust-quote" ,rust-quote-1)
("rust-syn" ,rust-syn-1))))
(home-page "https://gitlab.com/cardoe/enum-primitive-derive")
(synopsis "Reimplementation of enum_primitive using a #[derive] macro")
(description
"This package provides a custom derive using procedural macros to
implement enum_primitive.")
(license license:expat)))
(define-public rust-enum-to-u8-slice-derive-0.1 (define-public rust-enum-to-u8-slice-derive-0.1
(package (package
(name "rust-enum-to-u8-slice-derive") (name "rust-enum-to-u8-slice-derive")
@ -20471,8 +20669,31 @@ hexadecimal representation.")
(sha256 (sha256
(base32 "1ajkw40qzn2ygnqjj9w584f6l31wi318258n84pn2hax8la2i8nn")))))) (base32 "1ajkw40qzn2ygnqjj9w584f6l31wi318258n84pn2hax8la2i8nn"))))))
(define-public rust-hex-literal-0.3
(package
(name "rust-hex-literal")
(version "0.3.3")
(source
(origin
(method url-fetch)
(uri (crate-uri "hex-literal" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"0nzljsyz9rwhh4vi0xs9ya4l5g0ka754wgpy97r1j3v42c75kr11"))))
(build-system cargo-build-system)
(home-page "https://github.com/RustCrypto/utils")
(synopsis
"Convert hexadecimal string to byte array at compile time")
(description
"Procedural macro for converting hexadecimal string to byte array at
compile time.")
(license (list license:asl2.0 license:expat))))
(define-public rust-hex-literal-0.2 (define-public rust-hex-literal-0.2
(package (package
(inherit rust-hex-literal-0.3)
(name "rust-hex-literal") (name "rust-hex-literal")
(version "0.2.1") (version "0.2.1")
(source (source
@ -20484,18 +20705,10 @@ hexadecimal representation.")
(sha256 (sha256
(base32 (base32
"1q36f0qq31ggh4ipcwb7a5g6jmci2010vn2v3qpaz4csxhhf47cn")))) "1q36f0qq31ggh4ipcwb7a5g6jmci2010vn2v3qpaz4csxhhf47cn"))))
(build-system cargo-build-system)
(arguments (arguments
`(#:cargo-inputs `(#:cargo-inputs
(("rust-hex-literal-impl" ,rust-hex-literal-impl-0.2) (("rust-hex-literal-impl" ,rust-hex-literal-impl-0.2)
("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)))) ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5))))))
(home-page "https://github.com/RustCrypto/utils")
(synopsis
"Convert hexadecimal string to byte array at compile time")
(description
"Procedural macro for converting hexadecimal string to byte array at
compile time.")
(license (list license:asl2.0 license:expat))))
(define-public rust-hex-literal-0.1 (define-public rust-hex-literal-0.1
(package (package
@ -26662,6 +26875,38 @@ based on Rustls and Ring.")
(("rust-sema" ,rust-sema-0.1) (("rust-sema" ,rust-sema-0.1)
("rust-winit" ,rust-winit-0.19)))))) ; 0.17? ("rust-winit" ,rust-winit-0.19)))))) ; 0.17?
(define-public rust-tls-parser-0.10
(package
(name "rust-tls-parser")
(version "0.10.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "tls-parser" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1spgykvrxlzb059zzz1hzinc4vvkpixw9nd6p94vw3rimar5m68n"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f ;; requires assets not included in crates.io tarball
#:cargo-inputs
(("rust-cookie-factory" ,rust-cookie-factory-0.3)
("rust-enum-primitive" ,rust-enum-primitive-0.1)
("rust-nom" ,rust-nom-6)
("rust-nom-derive" ,rust-nom-derive-0.7)
("rust-phf" ,rust-phf-0.8)
("rust-phf-codegen" ,rust-phf-codegen-0.8)
("rust-rusticata-macros" ,rust-rusticata-macros-3))
#:cargo-development-inputs
(("rust-hex-literal" ,rust-hex-literal-0.3)
("rust-pretty-assertions" ,rust-pretty-assertions-0.6))))
(home-page "https://github.com/rusticata/tls-parser")
(synopsis "Parser for the TLS protocol")
(description "This package provides a Rust parser for the TLS protocol.")
(license (list license:expat license:asl2.0))))
(define-public rust-twox-hash-1 (define-public rust-twox-hash-1
(package (package
(name "rust-twox-hash") (name "rust-twox-hash")
@ -28993,6 +29238,34 @@ combinators library.")
;; This is an ancient version and all inputs are optional. ;; This is an ancient version and all inputs are optional.
`(#:skip-build? #t)))) `(#:skip-build? #t))))
(define-public rust-nom-derive-0.7
(package
(name "rust-nom-derive")
(version "0.7.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "nom-derive" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1xwbbkfhr8zrlcknlj75l50rp2b267qm9sd8vphx6gwzyg24n2zz"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-proc-macro2" ,rust-proc-macro2-1)
("rust-quote" ,rust-quote-1)
("rust-syn" ,rust-syn-1))
#:cargo-development-inputs
(("rust-nom" ,rust-nom-6)
("rust-pretty-assertions" ,rust-pretty-assertions-0.7)
("rust-trybuild" ,rust-trybuild-1))))
(home-page "https://github.com/rust-bakery/nom-derive")
(synopsis "Custom derive nom parsers from struct")
(description "This package derives custom nom parsers from structs.")
(license (list license:expat license:asl2.0))))
(define-public rust-noop-proc-macro-0.3 (define-public rust-noop-proc-macro-0.3
(package (package
(name "rust-noop-proc-macro") (name "rust-noop-proc-macro")
@ -31914,6 +32187,32 @@ in pure Rust.")
("rust-sha-1" ,rust-sha-1-0.8) ("rust-sha-1" ,rust-sha-1-0.8)
("rust-sha2" ,rust-sha2-0.8)))))) ("rust-sha2" ,rust-sha2-0.8))))))
(define-public rust-pcap-sys-0.1
(package
(name "rust-pcap-sys")
(version "0.1.3")
(source
(origin
(method url-fetch)
(uri (crate-uri "pcap-sys" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"18w9c8i5zjnazay86219w4789482ya617z35cw433h12wbgjaiqi"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-libc" ,rust-libc-0.2)
("rust-pkg-config" ,rust-pkg-config-0.3)
("rust-winapi" ,rust-winapi-0.3))))
(inputs `(("libpcap" ,libpcap)))
(home-page "https://github.com/jmmk/rustcap")
(synopsis "Low-level bindings to libpcap")
(description "This package provides low-level Rust bindings to the libpcap
library.")
(license license:expat)))
(define-public rust-pcre2-0.2 (define-public rust-pcre2-0.2
(package (package
(name "rust-pcre2") (name "rust-pcre2")
@ -32959,6 +33258,30 @@ used in Cargo build scripts.")
(license (list license:asl2.0 (license (list license:asl2.0
license:expat)))) license:expat))))
(define-public rust-pktparse-0.5
(package
(name "rust-pktparse")
(version "0.5.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "pktparse" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"17a78c29l070mlwjdr3bdph785c9v5rps0if3v0s21w4nwaybhck"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-nom" ,rust-nom-5)
("rust-serde" ,rust-serde-1))))
(home-page "https://github.com/bestouff/pktparse-rs")
(synopsis "Collection of packet parsers")
(description "This package provides a collection of parsers for various
network packet formats.")
(license license:lgpl3)))
(define-public rust-plain-0.2 (define-public rust-plain-0.2
(package (package
(name "rust-plain") (name "rust-plain")
@ -34180,27 +34503,26 @@ functions.")
particularly useful for printing structured recursive data like trees.") particularly useful for printing structured recursive data like trees.")
(license license:expat))) (license license:expat)))
(define-public rust-pretty-assertions-0.6 (define-public rust-pretty-assertions-0.7
(package (package
(name "rust-pretty-assertions") (name "rust-pretty-assertions")
(version "0.6.1") (version "0.7.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (crate-uri "pretty_assertions" version)) (uri (crate-uri "pretty_assertions" version))
(file-name (file-name
(string-append name "-" version ".tar.gz")) (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"09yl14gnmpygiqrdlsa64lcl4w6ydjl9m8jri6kgam0v9rjf309z")))) "12yris0ni87wvzhj23a5nnz7amskvahhnpikx5snhdyg09y0xaqw"))))
(build-system cargo-build-system) (build-system cargo-build-system)
(arguments (arguments
`(#:skip-build? #t `(#:cargo-inputs
#:cargo-inputs (("rust-ansi-term" ,rust-ansi-term-0.12)
(("rust-ctor" ,rust-ctor-0.1) ("rust-ctor" ,rust-ctor-0.1)
("rust-output-vt100" ,rust-output-vt100-0.1) ("rust-diff" ,rust-diff-0.1)
("rust-ansi-term" ,rust-ansi-term-0.11) ("rust-output-vt100" ,rust-output-vt100-0.1))))
("rust-difference" ,rust-difference-2))))
(home-page "https://github.com/colin-kiegel/rust-pretty-assertions") (home-page "https://github.com/colin-kiegel/rust-pretty-assertions")
(synopsis "Drop-in replacements for assert_eq! and assert_ne!") (synopsis "Drop-in replacements for assert_eq! and assert_ne!")
(description (description
@ -34208,6 +34530,28 @@ particularly useful for printing structured recursive data like trees.")
replacements, adding colorful diffs.") replacements, adding colorful diffs.")
(license (list license:expat license:asl2.0)))) (license (list license:expat license:asl2.0))))
(define-public rust-pretty-assertions-0.6
(package
(inherit rust-pretty-assertions-0.7)
(name "rust-pretty-assertions")
(version "0.6.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "pretty_assertions" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"09yl14gnmpygiqrdlsa64lcl4w6ydjl9m8jri6kgam0v9rjf309z"))))
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-ctor" ,rust-ctor-0.1)
("rust-output-vt100" ,rust-output-vt100-0.1)
("rust-ansi-term" ,rust-ansi-term-0.11)
("rust-difference" ,rust-difference-2))))))
(define-public rust-pretty-assertions-0.4 (define-public rust-pretty-assertions-0.4
(package (package
(inherit rust-pretty-assertions-0.6) (inherit rust-pretty-assertions-0.6)
@ -37068,6 +37412,27 @@ owned memory.")
functionality.") functionality.")
(license license:expat))) (license license:expat)))
(define-public rust-reduce-0.1
(package
(name "rust-reduce")
(version "0.1.4")
(source
(origin
(method url-fetch)
(uri (crate-uri "reduce" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1mrmicr43hx3s9556zbzg0lys4nmsw0vwznd52imxhcanr3xrlhn"))))
(build-system cargo-build-system)
(home-page "https://github.com/dtolnay/reduce")
(synopsis "Fold an iterator without an initial value")
(description
"This package provides a way to fold an iterator without a separate
initial value.")
(license (list license:expat license:asl2.0))))
(define-public rust-ref-cast-1 (define-public rust-ref-cast-1
(package (package
(name "rust-ref-cast") (name "rust-ref-cast")
@ -40410,6 +40775,36 @@ sub-processes using a fork-like interface.")
("rust-rustyline-derive" ,rust-rustyline-derive-0.3) ("rust-rustyline-derive" ,rust-rustyline-derive-0.3)
("rust-tempfile" ,rust-tempfile-3)))))) ("rust-tempfile" ,rust-tempfile-3))))))
(define-public rust-rustyline-5
(package
(inherit rust-rustyline-6)
(name "rust-rustyline")
(version "5.0.6")
(source
(origin
(method url-fetch)
(uri (crate-uri "rustyline" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0dd6hwm3rqj8d17gf38ffs1lh3b8dqw45j5kxnvazmm80abv2g52"))))
(arguments
`(#:cargo-inputs
(("rust-cfg-if" ,rust-cfg-if-0.1)
("rust-dirs" ,rust-dirs-2)
("rust-libc" ,rust-libc-0.2)
("rust-log" ,rust-log-0.4)
("rust-memchr" ,rust-memchr-2)
("rust-nix" ,rust-nix-0.14)
("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
("rust-unicode-width" ,rust-unicode-width-0.1)
("rust-utf8parse" ,rust-utf8parse-0.1)
("rust-winapi" ,rust-winapi-0.3))
#:cargo-development-inputs
(("rust-assert-matches" ,rust-assert-matches-1)
("rust-env-logger" ,rust-env-logger-0.7)
("rust-rustyline-derive" ,rust-rustyline-derive-0.2)
("rust-tempdir" ,rust-tempdir-0.3))))))
(define-public rust-rustyline-derive-0.3 (define-public rust-rustyline-derive-0.3
(package (package
(name "rust-rustyline-derive") (name "rust-rustyline-derive")
@ -40433,6 +40828,21 @@ sub-processes using a fork-like interface.")
(description "This package provides Rustyline macros implementation in Rust.") (description "This package provides Rustyline macros implementation in Rust.")
(license license:expat))) (license license:expat)))
(define-public rust-rustyline-derive-0.2
(package
(inherit rust-rustyline-derive-0.3)
(name "rust-rustyline-derive")
(version "0.2.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "rustyline-derive" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1n3iw9kaq70dw1rvvma0gjwydbj0f2mvvqvrva69f5cl6yv1dnd0"))))))
(define-public rust-ryu-1 (define-public rust-ryu-1
(package (package
(name "rust-ryu") (name "rust-ryu")
@ -41246,6 +41656,28 @@ Pwrite traits from the scroll crate.")
proven statistical guarantees.") proven statistical guarantees.")
(license license:expat))) (license license:expat)))
(define-public rust-seccomp-sys-0.1
(package
(name "rust-seccomp-sys")
(version "0.1.3")
(source
(origin
(method url-fetch)
(uri (crate-uri "seccomp-sys" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1rkbiq1vd5d3cc4w5ql05pj1vbjqfi7zir02szwfm2khl15zgg75"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
(inputs `(("libseccomp" ,libseccomp)))
(home-page "https://github.com/polachok/seccomp-sys")
(synopsis "Low-level bindings to libseccomp")
(description "This package provides low-level bindings to libseccomp.")
(license license:lgpl2.1)))
(define-public rust-section-testing-0.0 (define-public rust-section-testing-0.0
(package (package
(name "rust-section-testing") (name "rust-section-testing")
@ -45903,6 +46335,24 @@ struct.")
easier in Rust.") easier in Rust.")
(license license:expat))) (license license:expat)))
(define-public rust-strum-0.19
(package
(inherit rust-strum-0.20)
(name "rust-strum")
(version "0.19.5")
(source
(origin
(method url-fetch)
(uri (crate-uri "strum" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1d8i5xwkc2z7z02ibln80z1bmpjhpi9k5ckpljwj0mrvgrm2i6mq"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f
#:cargo-inputs
(("rust-strum-macros" ,rust-strum-macros-0.19))))))
(define-public rust-strum-0.18 (define-public rust-strum-0.18
(package (package
(inherit rust-strum-0.20) (inherit rust-strum-0.20)
@ -45944,6 +46394,28 @@ easier in Rust.")
"This crate provides helpful macros for working with enums and strings.") "This crate provides helpful macros for working with enums and strings.")
(license license:expat))) (license license:expat)))
(define-public rust-strum-macros-0.19
(package
(inherit rust-strum-macros-0.20)
(name "rust-strum-macros")
(version "0.19.4")
(source
(origin
(method url-fetch)
(uri (crate-uri "strum_macros" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32 "1mgqs5x3g0d3bmr8dhalgqrzh29dwc90a06fpy0cnich52zb06z6"))))
(arguments
`(#:cargo-inputs
(("rust-heck" ,rust-heck-0.3)
("rust-proc-macro2" ,rust-proc-macro2-1)
("rust-quote" ,rust-quote-1)
("rust-syn" ,rust-syn-1))
#:cargo-development-inputs
(("rust-strum" ,rust-strum-0.19))))))
(define-public rust-strum-macros-0.18 (define-public rust-strum-macros-0.18
(package (package
(inherit rust-strum-macros-0.20) (inherit rust-strum-macros-0.20)
@ -46843,6 +47315,33 @@ system or application with the relevant platform APIs. The library is also
no_std compatible by default, only relying on alloc.") no_std compatible by default, only relying on alloc.")
(license (list license:expat license:asl2.0)))) (license (list license:expat license:asl2.0))))
(define-public rust-syscallz-0.15
(package
(name "rust-syscallz")
(version "0.15.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "syscallz" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"0z5yfgb6086gdvbrm8lm0i745j6d8qw653xxy3mlrzdcjk3j1skz"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-log" ,rust-log-0.4)
("rust-pkg-config" ,rust-pkg-config-0.3)
("rust-seccomp-sys" ,rust-seccomp-sys-0.1)
("rust-strum" ,rust-strum-0.19)
("rust-strum-macros" ,rust-strum-macros-0.19))))
(inputs `(("libseccomp" ,libseccomp)))
(home-page "https://github.com/kpcyrd/syscallz-rs")
(synopsis "Simple seccomp library for rust")
(description "Simple seccomp library for rust")
(license (list license:expat license:asl2.0))))
(define-public rust-sysctl-0.4 (define-public rust-sysctl-0.4
(package (package
(name "rust-sysctl") (name "rust-sysctl")
@ -55785,10 +56284,14 @@ command-line, uniformly on all platforms")
(origin (origin
(method url-fetch) (method url-fetch)
(uri (crate-uri "winapi-i686-pc-windows-gnu" version)) (uri (crate-uri "winapi-i686-pc-windows-gnu" version))
(file-name (string-append name "-" version ".crate")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc")))) "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc"))
(modules '((guix build utils)))
(snippet
'(begin
(for-each delete-file (find-files "." "\\.a$"))))))
(build-system cargo-build-system) (build-system cargo-build-system)
(home-page "https://github.com/retep998/winapi-rs") (home-page "https://github.com/retep998/winapi-rs")
(synopsis "Import libraries for the i686-pc-windows-gnu target") (synopsis "Import libraries for the i686-pc-windows-gnu target")
@ -55829,10 +56332,14 @@ winapi.")
(origin (origin
(method url-fetch) (method url-fetch)
(uri (crate-uri "winapi-x86_64-pc-windows-gnu" version)) (uri (crate-uri "winapi-x86_64-pc-windows-gnu" version))
(file-name (string-append name "-" version ".crate")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki")))) "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki"))
(modules '((guix build utils)))
(snippet
'(begin
(for-each delete-file (find-files "." "\\.a$"))))))
(build-system cargo-build-system) (build-system cargo-build-system)
(home-page "https://github.com/retep998/winapi-rs") (home-page "https://github.com/retep998/winapi-rs")
(synopsis "Import libraries for the x86_64-pc-windows-gnu target") (synopsis "Import libraries for the x86_64-pc-windows-gnu target")
@ -55982,7 +56489,8 @@ trust these primitives.")
(base32 (base32
"0sdxcyvda4v1v6a0k1j2v1400z3ng323k9a56gxvkq51x21dn801")))) "0sdxcyvda4v1v6a0k1j2v1400z3ng323k9a56gxvkq51x21dn801"))))
(arguments (arguments
`(#:cargo-inputs `(#:skip-build? #t
#:cargo-inputs
(("rust-chrono" ,rust-chrono-0.4) (("rust-chrono" ,rust-chrono-0.4)
("rust-serde" ,rust-serde-1) ("rust-serde" ,rust-serde-1)
("rust-winapi" ,rust-winapi-0.3)) ("rust-winapi" ,rust-winapi-0.3))
@ -56973,6 +57481,27 @@ formatters with per-field documentation generated for each structure.
"This crate provides async pipes, channels, mutexes, and more.") "This crate provides async pipes, channels, mutexes, and more.")
(license (list license:expat license:asl2.0)))) (license (list license:expat license:asl2.0))))
(define-public rust-pledge-0.3
(package
(name "rust-pledge")
(version "0.3.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "pledge" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32 "1rgbnvl97ks25aanxm680687df6li6y8h3f5mvdw3806rwz8xcg2"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
(home-page "https://github.com/i80and/pledge-rs")
(synopsis "Rust binding to OpenBSD's pledge(2) interface")
(description
"This package provides Rust bindings to OpenBSD's pledge(2) interface.")
(license license:expat)))
(define-public rust-ptree-0.3 (define-public rust-ptree-0.3
(package (package
(name "rust-ptree") (name "rust-ptree")

View file

@ -21,6 +21,7 @@
;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net> ;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net>
;;; Copyright © 2021 Ellis Kenyő <me@elken.dev> ;;; Copyright © 2021 Ellis Kenyő <me@elken.dev>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -46,8 +47,10 @@
#:use-module (gnu packages boost) #:use-module (gnu packages boost)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages crates-io) #:use-module (gnu packages crates-io)
#:use-module (gnu packages cryptsetup) #:use-module (gnu packages cryptsetup)
#:use-module (gnu packages curl)
#:use-module (gnu packages documentation) #:use-module (gnu packages documentation)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
@ -58,6 +61,7 @@
#:use-module (gnu packages libbsd) #:use-module (gnu packages libbsd)
#:use-module (gnu packages libffi) #:use-module (gnu packages libffi)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages logging)
#:use-module (gnu packages lsof) #:use-module (gnu packages lsof)
#:use-module (gnu packages man) #:use-module (gnu packages man)
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
@ -1386,3 +1390,76 @@ them out. The process will degrade gracefully, so even people without your
encryption password can safely commit changes to the repository's encryption password can safely commit changes to the repository's
non-encrypted files.") non-encrypted files.")
(license license:expat))) (license license:expat)))
(define-public cryfs
(package
(name "cryfs")
(version "0.11.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/cryfs/cryfs/releases/download/"
version "/cryfs-" version ".tar.xz"))
(sha256
(base32 "0dxphbj5sssm82rkkdb71algrcki16qlpzlvrjyvvm6b7x7zi0sm"))))
(build-system cmake-build-system)
(arguments
'(#:modules ((guix build cmake-build-system)
(guix build utils)
(srfi srfi-1))
#:configure-flags
;; Note: This also disables checking for security issues.
`("-DCRYFS_UPDATE_CHECKS=OFF"
;; This helps us use some dependencies from Guix instead of conan.
;; crypto++ is still bundled: https://github.com/cryfs/cryfs/issues/369
;; Googletest is also since I wasn't sure how to unbundle that.
,(string-append "-DDEPENDENCY_CONFIG=" (getcwd)
"/cmake-utils/DependenciesFromLocalSystem.cmake"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-configure
(lambda* (#:key tests? #:allow-other-keys)
;; Remove junk directory that breaks the build
(chdir "..") (delete-file-recursively ".circleci")
;; Install documentation with Guix defaults.
(substitute* "doc/CMakeLists.txt"
(("CONFIGURATIONS Release")
"CONFIGURATIONS Release RelWithDebInfo"))
(when tests?
(substitute* "CMakeLists.txt"
(("option.BUILD_TESTING .build test cases. OFF.")
"option(BUILD_TESTING \"build test cases\" ON)")))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(let ((tests (find-files "." "-test$")))
;; XXX: Disable failing tests. Unfortunately there are a
;; few. Some only fail in the build environment due to
;; FUSE not being available.
(for-each invoke
(lset-difference string-contains
tests
'("cpp-utils-test"
"cryfs-cli-test"
"blobstore-test"
"fspp-test")))))
#t)))))
(native-inputs
`(("python" ,python-wrapper)
("pkg-config" ,pkg-config)))
(inputs
`(("boost" ,boost)
("curl" ,curl)
("fuse" ,fuse)
("range-v3" ,range-v3)
("spdlog" ,spdlog)))
(home-page "https://www.cryfs.org/")
(synopsis "Encrypted FUSE filesystem for the cloud")
(description "CryFS encrypts your files, so you can safely store them anywhere.
It works well together with cloud services like Dropbox, iCloud, OneDrive and
others. CryFS creates an encrypted userspace filesystem that can be mounted
via FUSE without root permissions. It is similar to EncFS, but provides
additional security and privacy measures such as hiding file sizes and directory
structure. However CryFS is not considered stable yet by the developers.")
(license license:lgpl3+)))

View file

@ -2936,18 +2936,20 @@ Database API 2.0T.")
(define-public python-sqlalchemy (define-public python-sqlalchemy
(package (package
(name "python-sqlalchemy") (name "python-sqlalchemy")
(version "1.3.20") (version "1.4.23")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "SQLAlchemy" version)) (uri (pypi-uri "SQLAlchemy" version))
(sha256 (sha256
(base32 "18b9am7bsqc4nj3d2h5r93i002apczxfvpfpcqbd6f0385zmrwnj")))) (base32 "10vm8hm8w4yfsab076ak8r4vp5v1jqdi71cky6dhha7mh5l29zvn"))))
(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
("python-pytest" ,python-pytest) ("python-pytest" ,python-pytest)
("python-mock" ,python-mock))) ; for tests ("python-mock" ,python-mock))) ; for tests
(propagated-inputs
`(("python-greenlet" ,python-greenlet)))
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
@ -3082,13 +3084,13 @@ this library provides functions to facilitate such comparisons.")
(define-public python-alembic (define-public python-alembic
(package (package
(name "python-alembic") (name "python-alembic")
(version "1.4.3") (version "1.7.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "alembic" version)) (uri (pypi-uri "alembic" version))
(sha256 (sha256
(base32 "0if2dgb088clk738p26bwk50735h6jpd2kacdgc5capv2hiz6d2k")))) (base32 "1ys0a44gh544xpbzz6r5xvz3msim74f9qklyfnw0bhn9vk9n9adf"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
'(#:phases (modify-phases %standard-phases '(#:phases (modify-phases %standard-phases
@ -3100,6 +3102,7 @@ this library provides functions to facilitate such comparisons.")
("python-pytest-cov" ,python-pytest-cov))) ("python-pytest-cov" ,python-pytest-cov)))
(propagated-inputs (propagated-inputs
`(("python-dateutil" ,python-dateutil) `(("python-dateutil" ,python-dateutil)
("python-importlib-resources" ,python-importlib-resources) ;Python < 3.9
("python-sqlalchemy" ,python-sqlalchemy) ("python-sqlalchemy" ,python-sqlalchemy)
("python-mako" ,python-mako) ("python-mako" ,python-mako)
("python-editor" ,python-editor))) ("python-editor" ,python-editor)))
@ -3110,9 +3113,6 @@ this library provides functions to facilitate such comparisons.")
SQLAlchemy Database Toolkit for Python.") SQLAlchemy Database Toolkit for Python.")
(license license:expat))) (license license:expat)))
(define-public python2-alembic
(package-with-python2 python-alembic))
(define-public python-pickleshare (define-public python-pickleshare
(package (package
(name "python-pickleshare") (name "python-pickleshare")
@ -3301,20 +3301,31 @@ designed to be easy and intuitive to use.")
(define-public python-sadisplay (define-public python-sadisplay
(package (package
(name "python-sadisplay") (name "python-sadisplay")
(version "0.4.8") (version "0.4.9")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "sadisplay" version)) (uri (pypi-uri "sadisplay" version))
(sha256 (sha256
(base32 (base32
"01d9lxhmgpb68gy8rd6zj6fcwp84n2qq210n1qsk3qbsir79bzh4")))) "15jxwgla3q4xsp6rw8inqaiy1kdzc8l2cixj8amqcf0ji47icrxg"))))
(build-system python-build-system) (build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(if tests?
(begin
(setenv "PYTHONPATH"
(string-append ".:" (or (getenv "PYTHONPATH")
"")))
(invoke "pytest" "-vv"))
(format #t "test suite not run~%")))))))
(propagated-inputs (propagated-inputs
`(("python-sqlalchemy" ,python-sqlalchemy))) `(("python-sqlalchemy" ,python-sqlalchemy)))
(native-inputs (native-inputs
;; For tests. ;; For tests.
`(("python-nose" ,python-nose))) `(("python-pytest" ,python-pytest)))
(home-page "https://bitbucket.org/estin/sadisplay") (home-page "https://bitbucket.org/estin/sadisplay")
(synopsis "SQLAlchemy schema displayer") (synopsis "SQLAlchemy schema displayer")
(description "This package provides a program to build Entity (description "This package provides a program to build Entity
@ -3609,13 +3620,13 @@ provides support for parsing, splitting and formatting SQL statements.")
(define-public python-sql (define-public python-sql
(package (package
(name "python-sql") (name "python-sql")
(version "1.0.0") (version "1.3.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "python-sql" version)) (uri (pypi-uri "python-sql" version))
(sha256 (sha256
(base32 "05ni936y0ia9xmryl7mlhbj9i80nnvq1bi4zxhb96rv7yvpb3fqb")))) (base32 "0xnimfzlxj1ddrb5xj3s4gaii278a0gpxrvwmdmrdxgjfdi3lq4x"))))
(build-system python-build-system) (build-system python-build-system)
(home-page "https://python-sql.tryton.org/") (home-page "https://python-sql.tryton.org/")
(synopsis "Library to write SQL queries in a pythonic way") (synopsis "Library to write SQL queries in a pythonic way")

View file

@ -34,6 +34,7 @@
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages finance)
#:use-module (gnu packages geo) #:use-module (gnu packages geo)
#:use-module (gnu packages openldap) #:use-module (gnu packages openldap)
#:use-module (gnu packages python) #:use-module (gnu packages python)
@ -183,6 +184,42 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
commands, additional database fields and admin extensions.") commands, additional database fields and admin extensions.")
(license license:expat))) (license license:expat)))
(define-public python-django-localflavor
(package
(name "python-django-localflavor")
(version "3.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "django-localflavor" version))
(sha256
(base32 "0i1s0ijfd9rv2cp5x174jcyjpwn7fyg7s1wpbvlwm96bpdvs6bxc"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(when tests?
(add-installed-pythonpath inputs outputs)
(setenv "PYTHONPATH"
(string-append ".:"
(getenv "PYTHONPATH")))
(invoke "invoke" "test")))))))
(native-inputs
`(("python-coverage" ,python-coverage)
("python-invoke" ,python-invoke)
("python-pytest-django" ,python-pytest-django)
("which" ,which)))
(propagated-inputs
`(("python-django" ,python-django)
("python-stdnum" ,python-stdnum)))
(home-page "https://django-localflavor.readthedocs.io/en/latest/")
(synopsis "Country-specific Django helpers")
(description "Django-LocalFlavor is a collection of assorted pieces of code
that are useful for particular countries or cultures.")
(license license:bsd-3)))
(define-public python-django-simple-math-captcha (define-public python-django-simple-math-captcha
(package (package
(name "python-django-simple-math-captcha") (name "python-django-simple-math-captcha")

View file

@ -7,6 +7,7 @@
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2021 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Andrew Whatson <whatson@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -25,16 +26,18 @@
(define-module (gnu packages docbook) (define-module (gnu packages docbook)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages imagemagick) #:use-module (gnu packages imagemagick)
#:use-module (gnu packages inkscape) #:use-module (gnu packages inkscape)
#:use-module (gnu packages tex) #:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages web-browsers) #:use-module (gnu packages web-browsers)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
#:use-module (guix licenses) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module ((guix build utils) #:select (alist-replace)) #:use-module ((guix build utils) #:select (alist-replace))
@ -81,7 +84,7 @@
"DocBook is general purpose XML and SGML document type particularly well "DocBook is general purpose XML and SGML document type particularly well
suited to books and papers about computer hardware and software (though it is suited to books and papers about computer hardware and software (though it is
by no means limited to these applications.) This package provides XML DTDs.") by no means limited to these applications.) This package provides XML DTDs.")
(license (x11-style "" "See file headers.")))) (license (license:x11-style "" "See file headers."))))
(define-public docbook-xml (define-public docbook-xml
(package (package
@ -224,7 +227,7 @@ by no means limited to these applications.) This package provides XML DTDs.")
(synopsis "DocBook XSL style sheets for document authoring") (synopsis "DocBook XSL style sheets for document authoring")
(description (description
"This package provides XSL style sheets for DocBook.") "This package provides XSL style sheets for DocBook.")
(license (x11-style "" "See 'COPYING' file.")))) (license (license:x11-style "" "See 'COPYING' file."))))
(define-public docbook-dsssl (define-public docbook-dsssl
(package (package
@ -265,7 +268,7 @@ by no means limited to these applications.) This package provides XML DTDs.")
(home-page "https://docbook.org/") (home-page "https://docbook.org/")
(synopsis "DSSSL style sheets for DocBook") (synopsis "DSSSL style sheets for DocBook")
(description "This package provides DSSSL style sheets for DocBook.") (description "This package provides DSSSL style sheets for DocBook.")
(license (non-copyleft "file://README")))) (license (license:non-copyleft "file://README"))))
;;; Private variable, used as the 'doc' output of the docbook-dsssl package. ;;; Private variable, used as the 'doc' output of the docbook-dsssl package.
(define docbook-dsssl-doc (define docbook-dsssl-doc
@ -303,7 +306,7 @@ by no means limited to these applications.) This package provides XML DTDs.")
(home-page "https://docbook.org/") (home-page "https://docbook.org/")
(synopsis "DocBook DSSSL style sheets documentation") (synopsis "DocBook DSSSL style sheets documentation")
(description "Documentation for the DocBook DSSSL style sheets.") (description "Documentation for the DocBook DSSSL style sheets.")
(license (non-copyleft "file://doc/LEGALNOTICE.htm")))) (license (license:non-copyleft "file://doc/LEGALNOTICE.htm"))))
(define-public docbook-sgml (define-public docbook-sgml
(package (package
@ -345,7 +348,7 @@ by no means limited to these applications.) This package provides XML DTDs.")
(home-page "https://docbook.org") (home-page "https://docbook.org")
(synopsis "DocBook SGML style sheets for document authoring") (synopsis "DocBook SGML style sheets for document authoring")
(description "This package provides SGML style sheets for DocBook.") (description "This package provides SGML style sheets for DocBook.")
(license (x11-style "" "See file headers.")))) (license (license:x11-style "" "See file headers."))))
(define-public docbook-sgml-3.1 (define-public docbook-sgml-3.1
(package (package
@ -386,7 +389,7 @@ by no means limited to these applications.) This package provides XML DTDs.")
(synopsis "ISO 8879 character entities") (synopsis "ISO 8879 character entities")
(description "ISO 8879 character entities that are typically used in (description "ISO 8879 character entities that are typically used in
the in DocBook SGML DTDs.") the in DocBook SGML DTDs.")
(license (x11-style "" "See file headers.")))) (license (license:x11-style "" "See file headers."))))
(define-public dblatex (define-public dblatex
(package (package
@ -466,7 +469,7 @@ to DVI, PostScript or PDF by translating them in pure LaTeX as a first
process. MathML 2.0 markups are supported too. It started as a clone of process. MathML 2.0 markups are supported too. It started as a clone of
DB2LaTeX.") DB2LaTeX.")
;; lib/contrib/which is under an X11 license ;; lib/contrib/which is under an X11 license
(license gpl2+))) (license license:gpl2+)))
;; This is a variant of the 'dblatex' package that is not updated often. It ;; This is a variant of the 'dblatex' package that is not updated often. It
;; is intended to be used as a native-input at build-time only, e.g. by ;; is intended to be used as a native-input at build-time only, e.g. by
@ -562,4 +565,93 @@ more conveniently via the following wrappers:
@item sgmldiff @item sgmldiff
Detect the differences in markup between two SGML files. Detect the differences in markup between two SGML files.
@end table") @end table")
(license gpl2+))) (license license:gpl2+)))
(define-public docbook2x
(package
(name "docbook2x")
(version "0.8.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/docbook2x/docbook2x/"
version "/docbook2X-" version ".tar.gz"))
(sha256
(base32
"0ifwzk99rzjws0ixzimbvs83x6cxqk1xzmg84wa1p7bs6rypaxs0"))))
(build-system gnu-build-system)
(inputs
`(("bash-minimal" ,bash-minimal)
("docbook-xml" ,docbook-xml)
("perl" ,perl)
("perl-xml-namespacesupport" ,perl-xml-namespacesupport)
("perl-xml-parser" ,perl-xml-parser)
("perl-xml-sax" ,perl-xml-sax)
("perl-xml-sax-base" ,perl-xml-sax-base)
("texinfo" ,texinfo)
("xsltproc" ,libxslt)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'configure 'patch-sources
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Fix failed substitution in config.pl
(substitute* "perl/config.pl"
(("\\$\\{prefix\\}")
(assoc-ref outputs "out")))
;; Fix a failing test (maybe it worked with old texinfo?)
(substitute* "test/complete-manuals/at1.xml"
(("<bridgehead>")
"<bridgehead renderas=\"sect2\">"))
;; Patch all the tests use DocBook 4.5
(substitute* (find-files "test" "\\.xml$")
(("\"-//OASIS//DTD DocBook XML V4\\..+//EN\"")
"\"-//OASIS//DTD DocBook XML V4.5//EN\"")
(("\"http://www\\.oasis-open\\.org/docbook/xml/4\\..+/docbookx.dtd\"")
"\"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd\""))
;; Set XML catalogs for tests to pass
(setenv "XML_CATALOG_FILES"
(string-append (assoc-ref inputs "docbook-xml")
"/xml/dtd/docbook/catalog.xml"))))
(add-after 'install 'wrap-programs
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(programs
(map (lambda (p)
(string-append out "/bin/" p))
'("db2x_manxml" "db2x_texixml" "db2x_xsltproc"
"docbook2man" "docbook2texi")))
(perl5lib
(map (lambda (i)
(string-append (assoc-ref inputs i)
"/lib/perl5/site_perl"))
'("perl-xml-namespacesupport"
"perl-xml-parser"
"perl-xml-sax"
"perl-xml-sax-base")))
(xml-catalog-files
(list (string-append (assoc-ref inputs "docbook-xml")
"/xml/dtd/docbook/catalog.xml"))))
(map (lambda (program)
(wrap-program program
`("PERL5LIB" ":" prefix
,perl5lib)
`("XML_CATALOG_FILES" " " prefix
,xml-catalog-files)))
programs))))
(add-after 'install 'create-symlinks
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
;; Create db2x_* symlinks to satisfy some configure scripts
;; which use these names to differentiate from an older
;; docbook2man script provided by docbook-utils.
(map (lambda (prog)
(symlink prog (string-append out "/bin/db2x_" prog)))
'("docbook2man" "docbook2texi"))))))))
(home-page "http://docbook2x.sourceforge.net")
(synopsis "Convert DocBook to man page and Texinfo format")
(description
"docbook2X is a software package that converts DocBook documents into the
traditional Unix man page format and the GNU Texinfo format. Notable features
include table support for man pages, internationalization support, and easy
customization of the output using XSLT.")
(license license:expat)))

View file

@ -477,7 +477,7 @@ following formats:
(define-public cozy (define-public cozy
(package (package
(name "cozy") (name "cozy")
(version "1.0.3") (version "1.1.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -486,7 +486,7 @@ following formats:
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0m0xiqpb87pwr3fhy0a4qxg67yjhwchcxj3x2anyy0li4inryxag")))) (base32 "0hifzzhhf0ww6iar9gswjfndy3i54s6jc41zaazlx4scc7r6fhs0"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:glib-or-gtk? #t `(#:glib-or-gtk? #t
@ -495,14 +495,12 @@ following formats:
(add-after 'unpack 'patch-desktop-file (add-after 'unpack 'patch-desktop-file
(lambda _ (lambda _
(substitute* "data/com.github.geigi.cozy.desktop" (substitute* "data/com.github.geigi.cozy.desktop"
(("Exec=com.github.geigi.cozy") "Exec=cozy")) (("Exec=com.github.geigi.cozy") "Exec=cozy"))))
#t))
(add-after 'install 'patch-executable-name (add-after 'install 'patch-executable-name
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(with-directory-excursion (with-directory-excursion
(string-append (assoc-ref outputs "out") "/bin") (string-append (assoc-ref outputs "out") "/bin")
(rename-file "com.github.geigi.cozy" "cozy")) (rename-file "com.github.geigi.cozy" "cozy"))))
#t))
(add-after 'wrap 'wrap-libs (add-after 'wrap 'wrap-libs
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
@ -521,8 +519,7 @@ following formats:
`("LD_LIBRARY_PATH" ":" prefix (,libmagic-path)) `("LD_LIBRARY_PATH" ":" prefix (,libmagic-path))
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)) `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
`("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)) `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
`("GUIX_PYTHONPATH" ":" prefix (,python-path ,pylib)))) `("GUIX_PYTHONPATH" ":" prefix (,python-path ,pylib)))))))))
#t)))))
(native-inputs (native-inputs
`(("desktop-file-utils" ,desktop-file-utils) `(("desktop-file-utils" ,desktop-file-utils)
("gettext" ,gettext-minimal) ("gettext" ,gettext-minimal)
@ -540,6 +537,7 @@ following formats:
("gst-plugins-good" ,gst-plugins-good) ("gst-plugins-good" ,gst-plugins-good)
("gst-plugins-ugly" ,gst-plugins-ugly) ("gst-plugins-ugly" ,gst-plugins-ugly)
("gtk+" ,gtk+) ("gtk+" ,gtk+)
("libdazzle" ,libdazzle)
("libgee" ,libgee) ("libgee" ,libgee)
("libhandy" ,libhandy) ("libhandy" ,libhandy)
("python-distro" ,python-distro) ("python-distro" ,python-distro)

View file

@ -1017,6 +1017,66 @@ factoring numbers and simplifying fractions, as well as zapping rocks
floating through space.") floating through space.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public libeb
(package
(name "libeb")
(version "4.4.3")
(source
(origin
(method url-fetch)
(uri
(string-append "ftp://ftp.sra.co.jp/pub/misc/eb/eb-" version ".tar.bz2"))
(sha256
(base32
"0psbdzirazfnn02hp3gsx7xxss9f1brv4ywp6a15ihvggjki1rxb"))))
(build-system gnu-build-system)
(native-inputs ; Required for building docs
`(("perl" ,perl)))
(inputs
`(("zlib" ,zlib)))
(synopsis "C library for accessing Japanese CD-ROM books")
(description "The EB library is a library for accessing CD-ROM
books, which are a common way to distribute electronic dictionaries in
Japan. It supports the EB, EBG, EBXA, EBXA-C, S-EBXA and EPWING
formats.")
;; FIXME: I cannot find a real home page
(home-page "https://sra.co.jp/")
(license license:bsd-3)))
(define-public qolibri
(package
(name "qolibri")
(version "2.1.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url"https://github.com/ludios/qolibri")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "066y7jcq9vg6hnvn7qxckzhd1qkgfzpzhw69nw5psm43qbaca8lg"))))
(build-system qt-build-system)
(arguments
'(#:tests? #f)) ; no test target
(native-inputs
`(("qttools", qttools)))
(inputs
`(("libeb" ,libeb)
("qtbase" ,qtbase-5)
("qtmultimedia" ,qtmultimedia)
("qtquickcontrols2" ,qtquickcontrols2)
("qtdeclarative" ,qtdeclarative)
("qtwebchannel" ,qtwebchannel)
("qtwebengine" ,qtwebengine)
("zlib" ,zlib)))
(synopsis "EPWING dictionary reader")
(description "qolibri is a dictionary viewer for the EPWING dictionary
format. Most monolingual Japanese dictionaries can only be found in the
EPWING format.")
(home-page "https://github.com/ludios/qolibri")
(license license:gpl2)))
(define-public mdk (define-public mdk
(package (package
(name "mdk") (name "mdk")

View file

@ -2117,14 +2117,14 @@ incrementally confined in Isearch manner.")
(define emacs-emms-print-metadata (define emacs-emms-print-metadata
(package (package
(name "emacs-emms-print-metadata") (name "emacs-emms-print-metadata")
(version "7.6") (version "7.7")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/" (uri (string-append "https://elpa.gnu.org/packages/"
"emms-" version ".tar")) "emms-" version ".tar"))
(sha256 (sha256
(base32 "03cp6mr0kxy41dg4ri5ymbzpkw7bd8zg7hx0a2rb4axiss5qmx7i")))) (base32 "0n9nx4wgjxkr8nsxcq8svg0x0qkqj7bsd2j0ihy4jzj29xmyxl0h"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags '("emms-print-metadata") `(#:make-flags '("emms-print-metadata")
@ -2770,6 +2770,34 @@ the ability to jump forward and backward to the next bookmark.")
Emacs buffer.") Emacs buffer.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-caml
(package
(name "emacs-caml")
(version "4.9")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.nongnu.org/nongnu/caml-"
version ".tar"))
(sha256
(base32
"00ldvz6r10vwwmk6f3az534p0340ywn7knsg2bmvbvh3q51vyl9i"))))
(build-system emacs-build-system)
(home-page "https://github.com/ocaml/caml-mode")
(synopsis "Caml mode for GNU Emacs")
(description
"This package provides a major mode for editing OCaml code in Emacs.
Some of its major features include:
@itemize
@item syntax highlighting (font lock);
@item automatic indentation;
@item querying the type of expressions (using compiler generated annot files);
@item running an OCaml REPL within Emacs;
@item scanning of declarations and placing them in a menu.
@end itemize")
(license license:gpl2+)))
(define-public emacs-caps-lock (define-public emacs-caps-lock
(package (package
(name "emacs-caps-lock") (name "emacs-caps-lock")
@ -4911,7 +4939,7 @@ configuration, cache, and other data.")
(define-public emacs-string-inflection (define-public emacs-string-inflection
(package (package
(name "emacs-string-inflection") (name "emacs-string-inflection")
(version "1.0.14") (version "1.0.15")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -4920,7 +4948,7 @@ configuration, cache, and other data.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0g4lm384380q03pdspqzv8rb2gppb77m354r0xzw71340w8xh3hd")))) "194pd3g9ws72n3wy1b2pxgj3w20p1v8gn47gqg89mym9ps5hfjyv"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(native-inputs (native-inputs
`(("ert-runner" ,emacs-ert-runner))) `(("ert-runner" ,emacs-ert-runner)))
@ -5983,14 +6011,14 @@ src blocks.")
(define-public emacs-debbugs (define-public emacs-debbugs
(package (package
(name "emacs-debbugs") (name "emacs-debbugs")
(version "0.28") (version "0.29")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/debbugs-" (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
version ".tar")) version ".tar"))
(sha256 (sha256
(base32 "1qks38hpg3drhxzw66n5yxfq0v6fj9ya7d9dc6x0xwfp6r2x0li0")))) (base32 "1bn21d9dr9pb3vdak3v07x056xafym89kdpxavjf4avy6bry6s4d"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$"))) (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
(propagated-inputs (propagated-inputs
@ -6249,7 +6277,7 @@ languages.")
(define-public emacs-irony-mode (define-public emacs-irony-mode
(package (package
(name "emacs-irony-mode") (name "emacs-irony-mode")
(version "1.4.0") (version "1.5.0")
(home-page "https://github.com/Sarcasm/irony-mode") (home-page "https://github.com/Sarcasm/irony-mode")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@ -6259,7 +6287,7 @@ languages.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0n2nfcq58md1p2xdhq1smh8v7lsyj0ci7ma5xyd6bkg5rvhsh10i")))) "1ilvfqn7hzrjjy2zrv08dbdnmgksdgsmrdcvx05s8704430ag0pb"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(inputs `(("server" ,emacs-irony-mode-server))) (inputs `(("server" ,emacs-irony-mode-server)))
(arguments `(#:phases (arguments `(#:phases
@ -8287,7 +8315,7 @@ list of candidates.")
(define-public emacs-consult-notmuch (define-public emacs-consult-notmuch
(package (package
(name "emacs-consult-notmuch") (name "emacs-consult-notmuch")
(version "0.4") (version "0.5")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -8296,11 +8324,11 @@ list of candidates.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0x2lz2df1rjq3vdxvqqnxqxh257hq5iyx1w3yc85w7lmnb59gbvy")))) (base32 "04ha4mysxvfz6yzbkgrl1mcwic1lwr1xx6gdy5rl6hn1wwnwam4p"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-consult" ,emacs-consult) `(("emacs-consult" ,emacs-consult)
("notmuch" ,notmuch))) ("emacs-notmuch" ,emacs-notmuch)))
(home-page "https://codeberg.org/jao/consult-notmuch") (home-page "https://codeberg.org/jao/consult-notmuch")
(synopsis "Search and preview Notmuch emails using Consult") (synopsis "Search and preview Notmuch emails using Consult")
(description (description
@ -9484,6 +9512,8 @@ queries using counsel.")
`(("emacs-counsel" ,emacs-counsel) `(("emacs-counsel" ,emacs-counsel)
("notmuch" ,notmuch) ("notmuch" ,notmuch)
("emacs-s" ,emacs-s))) ("emacs-s" ,emacs-s)))
(propagated-inputs
`(("emacs-notmuch" ,emacs-notmuch)))
(home-page "https://github.com/fuxialexander/counsel-notmuch") (home-page "https://github.com/fuxialexander/counsel-notmuch")
(synopsis "Search emails in Notmuch asynchronously with Ivy") (synopsis "Search emails in Notmuch asynchronously with Ivy")
(description (description
@ -9903,7 +9933,7 @@ features:
(define-public emacs-typescript-mode (define-public emacs-typescript-mode
(package (package
(name "emacs-typescript-mode") (name "emacs-typescript-mode")
(version "0.3") (version "0.4")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -9912,7 +9942,7 @@ features:
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"002f1xfhq43fjaqliwrgxspryfahpa82va5dw3p8kwil2xwvc6mh")))) "186bpvqxx87kp3857mq0mzn1ddsvzmpijix810k6bdz8522x7zdw"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://github.com/ananthakumaran/typescript.el") (home-page "https://github.com/ananthakumaran/typescript.el")
(synopsis "Emacs major mode for editing Typescript code") (synopsis "Emacs major mode for editing Typescript code")
@ -12467,14 +12497,14 @@ extensibility.")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://git.sr.ht/~zge/autocrypt") (url "https://git.sr.ht/~pkal/autocrypt")
(commit commit))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0b06xnjkgwjpxl96mdi674pmvdaiwncifi1a30wxhl1dwr7kr084")))) "0b06xnjkgwjpxl96mdi674pmvdaiwncifi1a30wxhl1dwr7kr084"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://git.sr.ht/~zge/autocrypt") (home-page "https://git.sr.ht/~pkal/autocrypt")
(synopsis "Autocrypt implementation for Emacs") (synopsis "Autocrypt implementation for Emacs")
(description "@code{emacs-autocrypt} is an implementation of (description "@code{emacs-autocrypt} is an implementation of
Autocrypt (@url{https://autocrypt.org/}) for various Emacs MUAs. Autocrypt is Autocrypt (@url{https://autocrypt.org/}) for various Emacs MUAs. Autocrypt is
@ -12859,7 +12889,7 @@ type an abbreviation and automatically expand it into function templates.")
(define-public emacs-yasnippet-snippets (define-public emacs-yasnippet-snippets
(package (package
(name "emacs-yasnippet-snippets") (name "emacs-yasnippet-snippets")
(version "0.24") (version "1.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -12868,7 +12898,7 @@ type an abbreviation and automatically expand it into function templates.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0ak0drxlg3m2v4ya5chpgl82rcl7ic2nmnybhpw1qk51mcmv643y")))) (base32 "0m78jxhjyf4212ig2ncxr6bhhd6yx4c3nc8x4ylamzq21x4fl21r"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
`(#:include (cons* "^snippets\\/" %default-include))) `(#:include (cons* "^snippets\\/" %default-include)))
@ -13747,6 +13777,28 @@ containing words from the Rime project.")
shuangpin, wubi and cangjie.") shuangpin, wubi and cangjie.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public emacs-pinyinlib
(package
(name "emacs-pinyinlib")
(version "0.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cute-jumper/pinyinlib.el")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1nwj4c3y0kdlkf3jqd2dnibaiazrq6qcj533xk2qw4wmx072yij0"))))
(build-system emacs-build-system)
(home-page "https://github.com/cute-jumper/pinyinlib.el")
(synopsis "Convert first letter of Pinyin to Chinese characters")
(description
"This Emacs library provides functionality for converting the first
letter of Pinyin to Simplified/Traditional Chinese characters.")
(license license:gpl3+)))
(define-public emacs-reverse-im (define-public emacs-reverse-im
(package (package
(name "emacs-reverse-im") (name "emacs-reverse-im")
@ -15632,14 +15684,14 @@ let users kill or mark things easily.")
(define-public emacs-csv-mode (define-public emacs-csv-mode
(package (package
(name "emacs-csv-mode") (name "emacs-csv-mode")
(version "1.15") (version "1.16")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/" (uri (string-append "https://elpa.gnu.org/packages/"
"csv-mode-" version ".tar")) "csv-mode-" version ".tar"))
(sha256 (sha256
(base32 "0pigqhqg5mfza6jdskcr9yvrzdxnd68iyp3vyb8p8wskdacmbiyx")))) (base32 "1i43b2p31xhrf97xbdi35y550ysp69fasa5gcrhg6iyxw176807p"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/csv-mode.html") (home-page "https://elpa.gnu.org/packages/csv-mode.html")
(synopsis "Major mode for editing comma/char separated values") (synopsis "Major mode for editing comma/char separated values")
@ -15873,7 +15925,7 @@ Features:
(define-public emacs-evil-matchit (define-public emacs-evil-matchit
(package (package
(name "emacs-evil-matchit") (name "emacs-evil-matchit")
(version "2.3.13") (version "2.4.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -15882,7 +15934,7 @@ Features:
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1j1p4z6ps58nbsh55l9h30gxbkrzwzkjpq7zl50q6yfc84z7byzk")))) (base32 "1ls58wdjhs4q18bj3izflj0bb5fwafyr520y1j9kj29clqn73kxh"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-evil" ,emacs-evil))) `(("emacs-evil" ,emacs-evil)))
@ -18761,10 +18813,10 @@ notes.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-org-reveal (define-public emacs-org-reveal
(let ((commit "84039bb499290926511b04749882ecb5eda45a0c")) (let ((commit "fe9148b670d144124d9697fcf5d0528f19025104"))
(package (package
(name "emacs-org-reveal") (name "emacs-org-reveal")
(version (git-version "20200607" "1" commit)) (version (git-version "20210902" "1" commit))
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -18773,7 +18825,7 @@ notes.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1fx3xmnkpfljrdmy0dsyq79k93ky57gcqm1ad9qbzykk7qjvmmi8")))) "034gkbc03z9jzj7ad34mmqgmvj4f14ap7iixh3zx4wp2ipw5xb7c"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://github.com/yjwen/org-reveal") (home-page "https://github.com/yjwen/org-reveal")
(synopsis "Org and Reveal.js powered HTML presentation tool") (synopsis "Org and Reveal.js powered HTML presentation tool")
@ -23538,7 +23590,7 @@ the standard @code{Dockerfile} file format.")
(define-public emacs-lsp-mode (define-public emacs-lsp-mode
(package (package
(name "emacs-lsp-mode") (name "emacs-lsp-mode")
(version "7.0.1") (version "8.0.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -23547,8 +23599,19 @@ the standard @code{Dockerfile} file format.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1z8zm7qr21hvhl6rnbznv2l9drh1pp5y4zkjrx5ac4x77b8i4aaz")))) (base32 "1a6jc9sxf9b8fj9h8xlv5k546bkzsy8j5nj19cfama389z0bzcsl"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments
`(#:emacs ,emacs ;need libxml support
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'move-clients-libraries
;; Move all clients libraries at top-level, as is done, e.g., in
;; MELPA.
(lambda _
(for-each (lambda (f)
(install-file f "."))
(find-files "clients/" "\\.el$")))))))
(propagated-inputs (propagated-inputs
`(("emacs-dash" ,emacs-dash) `(("emacs-dash" ,emacs-dash)
("emacs-f" ,emacs-f) ("emacs-f" ,emacs-f)
@ -23568,7 +23631,7 @@ Projectile.")
(define-public emacs-lsp-treemacs (define-public emacs-lsp-treemacs
(package (package
(name "emacs-lsp-treemacs") (name "emacs-lsp-treemacs")
(version "0.3") (version "0.4")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -23577,7 +23640,7 @@ Projectile.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1z9cb7i546pbzvxii6lsj31jq8m70xrzscphl5z71vh93sydyhkb")))) (base32 "05ivqa5900139jzjhwc3nggwznhm8564dz4ydcxym2ddd63571k0"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-lsp-mode" ,emacs-lsp-mode) `(("emacs-lsp-mode" ,emacs-lsp-mode)
@ -23592,7 +23655,7 @@ and implementation of treeview controls using treemacs as a tree renderer.")
(define-public emacs-dap-mode (define-public emacs-dap-mode
(package (package
(name "emacs-dap-mode") (name "emacs-dap-mode")
(version "0.6") (version "0.7")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -23601,7 +23664,7 @@ and implementation of treeview controls using treemacs as a tree renderer.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1d4hdydfk86d4slibigyhwng8wx3vzyap8hp5iv0h7wr6868m4iv")))) (base32 "1zczmcv8562lachkvcwy6njn7zkgny08iznpmrx821wr8mh52wnn"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-bui" ,emacs-bui) `(("emacs-bui" ,emacs-bui)
@ -23830,7 +23893,7 @@ files in Elisp.")
(define-public emacs-lsp-ui (define-public emacs-lsp-ui
(package (package
(name "emacs-lsp-ui") (name "emacs-lsp-ui")
(version "7.0.1") (version "8.0.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -23839,7 +23902,7 @@ files in Elisp.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"09dmhhxmfjnzdc5kygwsjf8nwqlnq9rbgrca679s2wy93miqj7vc")))) "00yirx6qzlb8fv8rd53zaw93nw72z3br40rb16scdqj1v20qsp47"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-dash" ,emacs-dash) `(("emacs-dash" ,emacs-dash)
@ -23880,7 +23943,7 @@ and code peeking.")
(define-public emacs-lsp-ivy (define-public emacs-lsp-ivy
(package (package
(name "emacs-lsp-ivy") (name "emacs-lsp-ivy")
(version "0.4") (version "0.5")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -23889,7 +23952,7 @@ and code peeking.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "08dpn0vcfdwwysijwdpnnj91m69yw0q464i0wmp51zpj3dyd4kb1")))) (base32 "0nb9ypa8hyx7i38rbywh8hn2i5f9l2l567hvdr9767fk279yr97n"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-dash" ,emacs-dash) `(("emacs-dash" ,emacs-dash)
@ -23944,7 +24007,7 @@ workspaces with a LSP-compliant server running.")
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-helm" ,emacs-helm) `(("emacs-helm" ,emacs-helm)
("notmuch" ,notmuch))) ("emacs-notmuch" ,emacs-notmuch)))
(synopsis "Search emails with Emacs Notmuch and Helm") (synopsis "Search emails with Emacs Notmuch and Helm")
(description (description
"This package can be used to search emails in Emacs, searching result "This package can be used to search emails in Emacs, searching result
@ -23967,7 +24030,7 @@ real search.")
"0pmikf1djkr07067nkgmdcxyn7l7ibswx6qlnai8v1v51f9h1g9q")))) "0pmikf1djkr07067nkgmdcxyn7l7ibswx6qlnai8v1v51f9h1g9q"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("notmuch" ,notmuch))) `(("emacs-notmuch" ,emacs-notmuch)))
(home-page "https://git.sr.ht/~tarsius/notmuch-maildir") (home-page "https://git.sr.ht/~tarsius/notmuch-maildir")
(synopsis "Visualize maildirs as a tree") (synopsis "Visualize maildirs as a tree")
(description (description
@ -26592,7 +26655,7 @@ other @code{helm-type-file} sources such as @code{helm-locate}.")
(define-public emacs-telega-server (define-public emacs-telega-server
(package (package
(name "emacs-telega-server") (name "emacs-telega-server")
(version "0.7.025") (version "0.7.030")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -26600,25 +26663,24 @@ other @code{helm-type-file} sources such as @code{helm-locate}.")
(url "https://github.com/zevlg/telega.el") (url "https://github.com/zevlg/telega.el")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(sha256 (sha256
(base32 "1fdvghwpmja94d65p02j7wa09lwjs3ah1kfb1v17b6l9qd5g80nc")) (base32 "1g29v5fgkqx43wsvh1npx0g3hj00n37lxgvxjvy85fs4h9226gl9"))
(file-name (git-file-name "emacs-telega" version)) (file-name (git-file-name "emacs-telega" version))
(patches (patches
(search-patches "emacs-telega-path-placeholder.patch" (search-patches "emacs-telega-path-placeholder.patch"
"emacs-telega-test-env.patch")))) "emacs-telega-test-env.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:make-flags
(list (string-append "CC=" ,(cc-for-target))
(string-append "INSTALL_PREFIX="
(assoc-ref %outputs "out") "/bin"))
#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'configure 'enter-subdirectory (add-before 'configure 'enter-subdirectory
(lambda _ (chdir "server") #t)) (lambda _ (chdir "server") #t))
(replace 'configure (replace 'configure
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))) (let ((out (assoc-ref outputs "out")))
(substitute* "Makefile"
(("CC=cc") ,(string-append "CC=" (cc-for-target)))
(("^(INSTALL_PREFIX=).*$" _all prefix)
(string-append prefix out "/bin\n")))
(substitute* "run_tests.py" (substitute* "run_tests.py"
(("^(TELEGA_SERVER = ).*$" _all prefix) (("^(TELEGA_SERVER = ).*$" _all prefix)
(string-append prefix (string-append prefix
@ -26651,6 +26713,7 @@ service, and connect it with Emacs via inter-process communication.")
emacs-minimal emacs-minimal
;; Require wide-int support for 32-bit platform. ;; Require wide-int support for 32-bit platform.
emacs-wide-int) emacs-wide-int)
#:include (cons "^etc\\/" %default-include)
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'patch-sources (add-after 'unpack 'patch-sources
@ -26677,24 +26740,8 @@ service, and connect it with Emacs via inter-process communication.")
(search-input-file inputs "/bin/telega-server"))) (search-input-file inputs "/bin/telega-server")))
(substitute* "telega-util.el" (substitute* "telega-util.el"
(("@TELEGA_SHARE@") (("@TELEGA_SHARE@")
(string-append (assoc-ref outputs "out") (string-append (elpa-directory (assoc-ref outputs "out"))
"/share/emacs-telega"))))) "/etc"))))))))
(add-after 'install 'install-share-files
(lambda* (#:key outputs #:allow-other-keys)
(define install-plan
'("langs" "sounds" "emojis.alist"
"verified.svg" "telega-logo.svg"))
(define prefix (string-append (assoc-ref outputs "out")
"/share/emacs-telega"))
(with-directory-excursion "etc"
(for-each (lambda (file)
(if (file-is-directory? file)
(let ((dest (string-append prefix "/" file)))
(copy-recursively file dest))
(install-file file prefix)))
install-plan))
#t)))))
(inputs (inputs
`(("emacs-telega-server" ,emacs-telega-server) `(("emacs-telega-server" ,emacs-telega-server)
("ffmpeg" ,ffmpeg))) ("ffmpeg" ,ffmpeg)))
@ -28223,6 +28270,15 @@ snippets for Emacs.")
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
;; Move the extensions source files to the top level, which is included in
;; the EMACSLOADPATH.
(add-after 'unpack 'move-source-files
(lambda _
(let ((el-files (find-files "./extensions" ".*\\.el$")))
(for-each (lambda (f)
(rename-file f (basename f)))
el-files))
#t))
(add-after 'install 'install-image (add-after 'install 'install-image
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))) (let ((out (assoc-ref outputs "out")))
@ -28504,7 +28560,7 @@ rather excellent completion provided by both Bash and Zsh.")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://git.sr.ht/~zge/bang") (url "https://git.sr.ht/~pkal/shell-command-plus")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256

View file

@ -2417,7 +2417,7 @@ comments.")))
("libtheora" ,libtheora) ("libtheora" ,libtheora)
("libtiff" ,libtiff) ("libtiff" ,libtiff)
("libxi" ,libxi) ("libxi" ,libxi)
("libxmlplusplus" ,libxmlplusplus) ("libxml++" ,libxml++)
("libxmu" ,libxmu) ("libxmu" ,libxmu)
("lz4" ,lz4) ("lz4" ,lz4)
("netcdf" ,netcdf) ("netcdf" ,netcdf)

View file

@ -6215,7 +6215,7 @@ small robot living in the nano world, repair its maker.")
#t)))) #t))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f ; no tests included `(#:test-target "run_tests"
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'patch-paths (add-after 'unpack 'patch-paths
@ -6227,9 +6227,17 @@ small robot living in the nano world, repair its maker.")
(assoc-ref outputs "out") (assoc-ref outputs "out")
"/share/teeworlds/data" "/share/teeworlds/data"
"\""))) "\"")))
#t))
(add-after 'unpack 'replace-font
(lambda* (#:key inputs #:allow-other-keys)
(delete-file "datasrc/fonts/DejaVuSans.ttf")
(symlink (string-append (assoc-ref inputs "font-dejavu")
"/share/fonts/truetype/DejaVuSans.ttf")
"datasrc/fonts/DejaVuSans.ttf")
#t))))) #t)))))
(inputs (inputs
`(("freetype" ,freetype) `(("freetype" ,freetype)
("font-dejavu" ,font-dejavu)
("glu" ,glu) ("glu" ,glu)
("json-parser" ,json-parser) ("json-parser" ,json-parser)
("mesa" ,mesa) ("mesa" ,mesa)
@ -6241,7 +6249,8 @@ small robot living in the nano world, repair its maker.")
("openssl" ,openssl) ("openssl" ,openssl)
("zlib" ,zlib))) ("zlib" ,zlib)))
(native-inputs (native-inputs
`(("python" ,python-wrapper) `(("googletest" ,googletest)
("python" ,python-wrapper)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(home-page "https://www.teeworlds.com") (home-page "https://www.teeworlds.com")
(synopsis "2D retro multiplayer shooter game") (synopsis "2D retro multiplayer shooter game")
@ -7180,7 +7189,7 @@ elements to achieve a simple goal in the most complex way possible.")
(define-public pioneer (define-public pioneer
(package (package
(name "pioneer") (name "pioneer")
(version "20210203") (version "20210723")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -7189,7 +7198,7 @@ elements to achieve a simple goal in the most complex way possible.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1zyi1xyghj99hz8fa6dywpscj6flp04fspnlgxbivf3rgmnxflg7")))) "1hj99jxb9n3r0bkq87p1c24862xa1xyzjyfdyyx88ckszxb05qf3"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
@ -12449,3 +12458,35 @@ wreckage. You're stranded on a desert island and have to survive. In order to
do so you need to explore the island, find food, build a shelter and try to do so you need to explore the island, find food, build a shelter and try to
get attention, so you get found.") get attention, so you get found.")
(license license:cc-by4.0)))) (license license:cc-by4.0))))
(define-public fheroes2
(package
(name "fheroes2")
(version "0.9.7")
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; no tests
#:make-flags '("FHEROES2_STRICT_COMPILATION=1"
"RELEASE=1")))
(native-inputs
`(("gettext" ,gettext-minimal)))
(inputs
`(("libpng" ,libpng)
("sdl" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf)))
("zlib" ,zlib)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ihhub/fheroes2")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0v3zh8a8yxfikcr5vkmy36c57l4nmwisz13mjavn5f7yrirf86fn"))))
(home-page "https://ihhub.github.io/fheroes2/")
(synopsis "Turn-based strategy game engine")
(description "@code{fheroes2} is an implementation of Heroes of Might and
Magic II (aka HOMM2) game engine. It requires assets and game resources to
play; it will look for them at @file{~/.local/share/fheroes2} folder.")
(license license:gpl2)))

View file

@ -1397,7 +1397,7 @@ to the OSM opening hours specification.")
(define-public josm (define-public josm
(package (package
(name "josm") (name "josm")
(version "18118") (version "18193")
(source (origin (source (origin
(method svn-fetch) (method svn-fetch)
(uri (svn-reference (uri (svn-reference
@ -1406,7 +1406,7 @@ to the OSM opening hours specification.")
(recursive? #f))) (recursive? #f)))
(sha256 (sha256
(base32 (base32
"0109ddpxilm7f57n1kl4nf4lw0lh7jfmhfwf724nzlcz4k23mrs0")) "162hdck29bkag1d97nisx8v7395pdw00bl7nf0p02hr30fc1fcrh"))
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet

View file

@ -1800,7 +1800,7 @@ either on a local, or remote machine via a number of methods.")
(define-public gnome-commander (define-public gnome-commander
(package (package
(name "gnome-commander") (name "gnome-commander")
(version "1.10.3") (version "1.12.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1808,7 +1808,7 @@ either on a local, or remote machine via a number of methods.")
(version-major+minor version) "/" (version-major+minor version) "/"
"gnome-commander-" version ".tar.xz")) "gnome-commander-" version ".tar.xz"))
(sha256 (sha256
(base32 "0bis36awb73vhkncq8yr0qlnyaxynqkvmyqbg57ijqwd0m8hh4zg")))) (base32 "0f7l2pkyh3r1qk4hhavl7387l3bq5my3snpdppiavcpnji28dpa5"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(native-inputs (native-inputs
`(("desktop-file-utils" ,desktop-file-utils) `(("desktop-file-utils" ,desktop-file-utils)
@ -4177,7 +4177,7 @@ engineering.")
(define-public drawing (define-public drawing
(package (package
(name "drawing") (name "drawing")
(version "0.8.2") (version "0.8.3")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -4186,7 +4186,7 @@ engineering.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0lpszd8276rp5chn84rkvwmnflxc3pqlg4cz53gfxkqdb3gn02zz")))) (base32 "0wz9p47riyy3h8b0sqsb6bx416hc6d1a1wyzlfmsxkrqrkwcjcm8"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:glib-or-gtk? #t `(#:glib-or-gtk? #t
@ -4203,8 +4203,7 @@ engineering.")
"/site-packages"))) "/site-packages")))
(wrap-program prog (wrap-program prog
`("PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib)) `("PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib))
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))) `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))))))))
#t))))))
(native-inputs (native-inputs
`(("desktop-file-utils" ,desktop-file-utils) `(("desktop-file-utils" ,desktop-file-utils)
("gettext" ,gettext-minimal) ("gettext" ,gettext-minimal)
@ -7999,43 +7998,75 @@ the available networks and allows users to easily switch between them.")
(define-public libxml++ (define-public libxml++
(package (package
(name "libxml++") (name "libxml++")
(version "3.0.1") (version "3.2.0")
(source (origin (source
(method url-fetch) (origin
(uri (string-append "mirror://gnome/sources/" name "/" (method git-fetch)
(version-major+minor version) "/" (uri (git-reference
name "-" version ".tar.xz")) (url "https://github.com/libxmlplusplus/libxmlplusplus")
(sha256 (commit version)))
(base32 (file-name (git-file-name name version))
"19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r")))) (sha256
(base32 "0wjz591rjlgbah7dcq8i0yn0zw9d62b7g6r0pppx81ic0cx8n8ga"))))
(build-system gnu-build-system) (build-system gnu-build-system)
;; libxml++-3.0.pc refers to all these. (arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-documentation
(lambda* (#:key inputs #:allow-other-keys)
(let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
"/xml/dtd/docbook"))
(xsldoc (string-append (assoc-ref inputs "docbook-xsl")
"/xml/xsl/docbook-xsl-"
,(package-version docbook-xsl))))
(substitute* '("examples/dom_xpath/example.xml"
"docs/manual/libxml++_without_code.xml")
(("http://.*/docbookx\\.dtd")
(string-append xmldoc "/docbookx.dtd")))
(setenv "SGML_CATALOG_FILES"
(string-append xmldoc "/catalog.xml"))
(substitute* "docs/manual/docbook-customisation.xsl"
(("http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl")
(string-append xsldoc "/html/chunk.xsl")))))))))
(propagated-inputs (propagated-inputs
`(("libxml2" ,libxml2) ;; libxml++-3.0.pc refers to all these.
("glibmm" ,glibmm-2.64))) `(("glibmm" ,glibmm)
("libxml2" ,libxml2)))
(native-inputs (native-inputs
`(("perl" ,perl) `(("autoconf" ,autoconf)
("automake" ,automake)
("doxygen" ,doxygen)
("docbook-xml" ,docbook-xml)
("docbook-xsl" ,docbook-xsl)
("graphviz" ,graphviz) ; for dot
("libtool" ,libtool)
("libxslt" ,libxslt)
("mm-common" ,mm-common)
("perl" ,perl)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(home-page "http://libxmlplusplus.sourceforge.net/") (home-page "https://github.com/libxmlplusplus/libxmlplusplus/")
(synopsis "C++ wrapper for XML parser library libxml2") (synopsis "C++ bindings to the libxml2 XML parser library")
(description (description
"This package provides a C++ wrapper for the XML parser library "This package provides a C++ interface to the libxml2 XML parser
libxml2.") library.")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
;; This is the last release providing the 2.6 API, hence the name.
;; This is needed by tascam-gtk
(define-public libxml++-2 (define-public libxml++-2
(package (package
(inherit libxml++) (inherit libxml++)
(name "libxml++") (name "libxml++")
(version "2.40.1") (version "2.40.1")
(source (origin (source
(method url-fetch) (origin
(uri (string-append "mirror://gnome/sources/" name "/" (method git-fetch)
(version-major+minor version) "/" (uri (git-reference
name "-" version ".tar.xz")) (url "https://github.com/libxmlplusplus/libxmlplusplus")
(sha256 (commit version)))
(base32 (file-name (git-file-name name version))
"1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a")))))) (sha256
(base32 "0gbfi4l88w828gmyc9br11l003ylyi4vigp5d1kfgsn0k4cig3y9"))))))
(define-public gdm (define-public gdm
(package (package
@ -12024,7 +12055,7 @@ integrated profiler via Sysprof, debugging support, and more.")
(define-public komikku (define-public komikku
(package (package
(name "komikku") (name "komikku")
(version "0.30.0") (version "0.31.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -12034,7 +12065,7 @@ integrated profiler via Sysprof, debugging support, and more.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1l6iqxa497fisn64mn2qgia4y6zryfa5pbnd8609flfi9qmgrzn7")))) "0vldcjq24y4xxg8dzlyhfpqxbqn5g160lz1lmmkp7g9im2zrxh52"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:glib-or-gtk? #t `(#:glib-or-gtk? #t

View file

@ -692,8 +692,8 @@ from forcing GEXP-PROMISE."
#:system system #:system system
#:guile-for-build guile))) #:guile-for-build guile)))
(define %icecat-version "78.13.0-guix0-preview1") (define %icecat-version "78.14.0-guix0-preview1")
(define %icecat-build-id "20210810000000") ;must be of the form YYYYMMDDhhmmss (define %icecat-build-id "20210907000000") ;must be of the form YYYYMMDDhhmmss
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat' ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@ -715,7 +715,7 @@ from forcing GEXP-PROMISE."
"firefox-" upstream-firefox-version ".source.tar.xz")) "firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256 (sha256
(base32 (base32
"0v2g5clp9qlsbqfjb6yz614nq8x8c4k1p6m4axyv6g27qbiaky8r")))) "1ymjlg6p23c510m764pqr4sldrvk0c7g490a29js2cqc2nj2h3ma"))))
(upstream-icecat-base-version "78.7.0") ; maybe older than base-version (upstream-icecat-base-version "78.7.0") ; maybe older than base-version
;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version)) ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version))

View file

@ -458,7 +458,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(package (package
(inherit go-1.14) (inherit go-1.14)
(name "go") (name "go")
(version "1.16.7") (version "1.16.8")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -468,7 +468,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1id6nsavf7gm78bmzsvym135pi2xa0v75ny51xrw93j70clz9w0h")))) "00zv65v09kr2cljxxqypk980r4b4aqjijhbw4ikppn8km68h831n"))))
(arguments (arguments
(substitute-keyword-arguments (package-arguments go-1.14) (substitute-keyword-arguments (package-arguments go-1.14)
((#:tests? _) #t) ((#:tests? _) #t)
@ -613,6 +613,188 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(alist-replace "go" (list gccgo-10) (package-native-inputs go-1.14)) (alist-replace "go" (list gccgo-10) (package-native-inputs go-1.14))
(package-native-inputs go-1.14)))))) (package-native-inputs go-1.14))))))
(define-public go-1.17
(package
(inherit go-1.16)
(name "go")
(version "1.17.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/golang/go")
(commit (string-append "go" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0wk99lwpzp4qwrksl932lm9vb70nyf4vgb5lxwh7gzjcbhlqj992"))))
(outputs '("out" "tests")) ; 'tests' contains distribution tests.
(arguments
`(#:modules ((ice-9 match)
(guix build gnu-build-system)
(guix build utils))
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((output (assoc-ref outputs "out"))
(loader (string-append (assoc-ref inputs "libc")
,(glibc-dynamic-linker))))
(setenv "GOOS" "linux")
(setenv "GO_LDSO" loader)
(setenv "GOROOT" (getcwd))
(setenv "GOROOT_FINAL" (string-append output "/lib/go"))
(setenv "GOGC" "400")
(setenv "GOCACHE" "/tmp/go-cache"))))
(add-after 'unpack 'patch-source
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((net-base (assoc-ref inputs "net-base"))
(tzdata-path (string-append (assoc-ref inputs "tzdata")
"/share/zoneinfo")))
;; XXX: Remove when #49729 is merged?
(for-each make-file-writable (find-files "src"))
;; Having the patch in the 'patches' field of <origin> breaks
;; the 'TestServeContent' test due to the fact that
;; timestamps are reset. Thus, apply it from here.
(invoke "patch" "-p1" "--force" "-i"
(assoc-ref inputs "go-skip-gc-test.patch"))
(invoke "patch" "-p1" "--force" "-i"
(assoc-ref inputs "go-fix-script-tests.patch"))
(substitute* "src/os/os_test.go"
(("/usr/bin") (getcwd))
(("/bin/sh") (which "sh")))
(substitute* "src/cmd/go/testdata/script/cgo_path_space.txt"
(("/bin/sh") (which "sh")))
;; fix shebang for testar script
;; note the target script is generated at build time.
(substitute* "misc/cgo/testcarchive/carchive_test.go"
(("/usr/bin/env bash") (which "bash")))
(substitute* "src/net/lookup_unix.go"
(("/etc/protocols")
(string-append net-base "/etc/protocols")))
(substitute* "src/net/port_unix.go"
(("/etc/services")
(string-append net-base "/etc/services")))
(substitute* "src/time/zoneinfo_unix.go"
(("/usr/share/zoneinfo/") tzdata-path)))))
(add-after 'patch-source 'disable-failing-tests
(lambda _
;; Disable failing tests: these tests attempt to access
;; commands or network resources which are neither available
;; nor necessary for the build to succeed.
(for-each
(match-lambda
((file test)
(let ((regex (string-append "^(func\\s+)(" test "\\()")))
(substitute* file
((regex all before test_name)
(string-append before "Disabled" test_name))))))
'(("src/net/cgo_unix_test.go" "TestCgoLookupPort")
("src/net/cgo_unix_test.go" "TestCgoLookupPortWithCancel")
;; 127.0.0.1 doesn't exist
("src/net/cgo_unix_test.go" "TestCgoLookupPTR")
("src/net/cgo_unix_test.go" "TestCgoLookupPTRWithCancel")
;; /etc/services doesn't exist
("src/net/parse_test.go" "TestReadLine")
;; The user's directory doesn't exist
("src/os/os_test.go" "TestUserHomeDir")))
;; These tests fail on aarch64-linux
(substitute* "src/cmd/dist/test.go"
(("t.registerHostTest\\(\"testsanitizers/msan.*") ""))))
(add-after 'patch-source 'enable-external-linking
(lambda _
;; Invoke GCC to link any archives created with GCC (that is, any
;; packages built using 'cgo'), because Go doesn't know how to
;; handle the runpaths but GCC does. Use substitute* rather than
;; a patch since these files are liable to change often.
;;
;; XXX: Replace with GO_EXTLINK_ENABLED=1 or similar when
;; <https://github.com/golang/go/issues/31544> and/or
;; <https://github.com/golang/go/issues/43525> are resolved.
(substitute* "src/cmd/link/internal/ld/config.go"
(("iscgo && externalobj") "iscgo"))
(substitute* '("src/cmd/nm/nm_cgo_test.go"
"src/cmd/dist/test.go")
(("^func.*?nternalLink\\(\\).*" all)
(string-append all "\n\treturn false\n")))))
(replace 'build
(lambda* (#:key (parallel-build? #t) #:allow-other-keys)
(let* ((njobs (if parallel-build? (parallel-job-count) 1)))
(with-directory-excursion "src"
(setenv "GOMAXPROCS" (number->string njobs))
(invoke "sh" "make.bash" "--no-banner")))))
(replace 'check
(lambda* (#:key target (tests? (not target)) (parallel-tests? #t)
#:allow-other-keys)
(let* ((njobs (if parallel-tests? (parallel-job-count) 1)))
(when tests?
(with-directory-excursion "src"
(setenv "GOMAXPROCS" (number->string njobs))
(invoke "sh" "run.bash" "--no-rebuild"))))))
(add-before 'install 'unpatch-perl-shebangs
(lambda _
;; Avoid inclusion of perl in closure by rewriting references
;; to perl input in sourcecode generators and test scripts
(substitute* (cons "src/net/http/cgi/testdata/test.cgi"
(find-files "src" "\\.pl$"))
(("^#!.*") "#!/usr/bin/env perl\n"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
;; Notably, we do not install archives (180M), which Go will
;; happily recompile quickly (and cache) if needed, almost
;; surely faster than they could be substituted.
;;
;; The main motivation for pre-compiled archives is to use
;; libc-linked `net' or `os' packages without a C compiler,
;; but on Guix a C compiler is necessary to properly link the
;; final binaries anyway. Many build flags also invalidate
;; these pre-compiled archives, so in practice Go often
;; recompiles them anyway.
;;
;; Upstream is also planning to no longer install these
;; archives: <https://github.com/golang/go/issues/47257>
;;
;; When necessary, a custom pre-compiled library package can
;; be created with `#:import-path "std"' and used with
;; `-pkgdir'.
(let* ((out (assoc-ref outputs "out"))
(tests (assoc-ref outputs "tests")))
(for-each
(lambda (file)
(copy-recursively file (string-append out "/lib/go/" file)))
'("lib" "VERSION" "pkg/include" "pkg/tool"))
(for-each
(match-lambda
((file dest output)
;; Copy to output/dest and symlink from output/lib/go/file.
(let ((file* (string-append output "/lib/go/" file))
(dest* (string-append output "/" dest)))
(copy-recursively file dest*)
(mkdir-p (dirname file*))
(symlink (string-append "../../" dest) file*))))
`(("bin" "bin" ,out)
("src" "share/go/src" ,out)
("misc" "share/go/misc" ,out)
("doc" "share/doc/go/doc" ,out)
("api" "share/go/api" ,tests)
("test" "share/go/test" ,tests))))))
(add-after 'install 'install-doc-files
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(for-each
(lambda (file)
(install-file file (string-append out "/share/doc/go")))
'("AUTHORS" "CONTRIBUTORS" "CONTRIBUTING.md" "PATENTS"
"README.md" "SECURITY.md"))))))))
(inputs (alist-delete "gcc:lib" (package-inputs go-1.16)))))
(define-public go go-1.14) (define-public go go-1.14)
(define-public go-0xacab-org-leap-shapeshifter (define-public go-0xacab-org-leap-shapeshifter
@ -1381,6 +1563,12 @@ Go.")
(url "https://github.com/sevlyar/go-daemon") (url "https://github.com/sevlyar/go-daemon")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
;; XXX: Remove when updating
'(begin
(substitute* "compilation_test.go"
((".*\"darwin/386\".*") ""))))
(sha256 (sha256
(base32 "1y3gnxaifykcjcbzx91lz9bc93b95w3xj4rjxjbii26pm3j7gqyk")))) (base32 "1y3gnxaifykcjcbzx91lz9bc93b95w3xj4rjxjbii26pm3j7gqyk"))))
(build-system go-build-system) (build-system go-build-system)
@ -1420,7 +1608,9 @@ Go.")
(("/bin/sleep" command) (("/bin/sleep" command)
(string-append (string-append
(assoc-ref (or native-inputs inputs) "coreutils") (assoc-ref (or native-inputs inputs) "coreutils")
command)))))))) command)))
(substitute* "src/github.com/keybase/go-ps/process_openbsd.go"
(("^// \\+build ignore") "")))))))
(native-inputs (native-inputs
`(("coreutils" ,coreutils) `(("coreutils" ,coreutils)
("go-github-com-stretchr-testify" ("go-github-com-stretchr-testify"
@ -2759,6 +2949,68 @@ developers to use @code{http} methods explicitly and in a way that's consistent
with the HTTP protocol definition.") with the HTTP protocol definition.")
(license license:expat))) (license license:expat)))
(define-public go-cloud-google-com-go-compute-metadata
(package
(name "go-cloud-google-com-go-compute-metadata")
(version "0.81.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/googleapis/google-cloud-go")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"15jgynqb5pbxqbj3a7ii970yn4srsw1dbxzxnhpkfkmplalpgyh3"))))
(build-system go-build-system)
(arguments
'(#:unpack-path "cloud.google.com/go"
#:import-path "cloud.google.com/go/compute/metadata"))
(home-page
"https://pkg.go.dev/cloud.google.com/go/compute/metadata")
(synopsis
"Go wrapper for Google Compute Engine metadata service")
(description
"This package provides access to Google Compute Engine (GCE) metadata and
API service accounts for Go.")
(license license:asl2.0)))
(define-public go-github-com-google-gmail-oauth2-tools-go-sendgmail
(let ((commit "e3229155a4037267ce40f1a3a681f53221aa4d8d")
(revision "0"))
(package
(name "go-github-com-google-gmail-oauth2-tools-go-sendgmail")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/google/gmail-oauth2-tools")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1cxpkiaajhq1gjsg47r2b5xgck0r63pvkyrkm7af8c8dw7fyn64f"))))
(propagated-inputs
`(("go-golang-org-x-oauth2" ,go-golang-org-x-oauth2)
("go-cloud-google-com-go-compute-metadata"
,go-cloud-google-com-go-compute-metadata)))
(build-system go-build-system)
(arguments
'(#:unpack-path "github.com/google/gmail-oauth2-tools"
#:import-path "github.com/google/gmail-oauth2-tools/go/sendgmail"))
(home-page
"https://github.com/google/gmail-oauth2-tools/tree/master/go/sendgmail")
(synopsis
"Sendmail-compatible tool for using Gmail with @code{git send-email}")
(description
"The @command{sendgmail} command provides a minimal sendmail-compatible
front-end that connects to Gmail using OAuth2. It is specifically designed
for use with @code{git send-email}. The command needs a Gmail API key to
function.")
(license license:asl2.0))))
(define-public go-github-com-google-cadvisor (define-public go-github-com-google-cadvisor
(let ((commit "2ed7198f77395ee9a172878a0a7ab92ab59a2cfd") (let ((commit "2ed7198f77395ee9a172878a0a7ab92ab59a2cfd")
(revision "0")) (revision "0"))
@ -4791,7 +5043,8 @@ as conversion to and from @command{net.Addr}.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"10mcnvi5qmn00vpyk6si8gjka7p654wr9hac4zc9w5h3ickhvbdc")))) "10mcnvi5qmn00vpyk6si8gjka7p654wr9hac4zc9w5h3ickhvbdc"))
(patches (search-patches "go-github-com-urfave-cli-fix-tests.patch"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
'(#:import-path "github.com/urfave/cli")) '(#:import-path "github.com/urfave/cli"))
@ -4817,7 +5070,10 @@ fast and distributable command line applications in an expressive way.")
(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 "08pvn7gyfznni72xrxfh2x6xxa8ykr7l1ka278js8g8qkh71bj8l")))) (base32 "08pvn7gyfznni72xrxfh2x6xxa8ykr7l1ka278js8g8qkh71bj8l"))
;; XXX: Remove patch when updating.
(patches
(search-patches "go-github-com-urfave-cli-v2-fix-tests.patch"))))
(arguments (arguments
'(#:import-path "github.com/urfave/cli/v2")))) '(#:import-path "github.com/urfave/cli/v2"))))

View file

@ -28,6 +28,7 @@
;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org> ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org>
;;; Copyright © 2020 Carlo Holl <carloholl@gmail.com> ;;; Copyright © 2020 Carlo Holl <carloholl@gmail.com>
;;; Copyright © 2020 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2020 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2021 Alice BRENON <alice.brenon@ens-lyon.fr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -9764,7 +9765,7 @@ version = Version [~a] []
("ghc-test-framework-hunit" ,ghc-test-framework-hunit) ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2) ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
("ghc-hunit" ,ghc-hunit))) ("ghc-hunit" ,ghc-hunit)))
(home-page "https://johnmacfarlane.net/pandoc") (home-page "https://pandoc.org")
(synopsis "Types for representing a structured document") (synopsis "Types for representing a structured document")
(description (description
"This module defines the @code{Pandoc} data structure, which is used by "This module defines the @code{Pandoc} data structure, which is used by

View file

@ -21,6 +21,7 @@
;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com> ;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org> ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -610,9 +611,14 @@ interactive environment for the functional language Haskell.")
(file-pattern ".*\\.conf\\.d$") (file-pattern ".*\\.conf\\.d$")
(file-type 'directory)))))) (file-type 'directory))))))
;; Versions newer than ghc defined below (i.e. the compiler
;; haskell-build-system uses) should use ghc-next as their name to
;; ensure ghc (without version specification) and ghc-* packages are
;; always compatible. See https://issues.guix.gnu.org/issue/47335.
(define-public ghc-8.8 (define-public ghc-8.8
(package (inherit ghc-8.6) (package (inherit ghc-8.6)
(name "ghc") (name "ghc-next")
(version "8.8.4") (version "8.8.4")
(source (source
(origin (origin
@ -662,6 +668,60 @@ interactive environment for the functional language Haskell.")
(file-pattern ".*\\.conf\\.d$") (file-pattern ".*\\.conf\\.d$")
(file-type 'directory)))))) (file-type 'directory))))))
(define-public ghc-8.10
(package
(inherit ghc-8.8)
(name "ghc-next")
(version "8.10.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.haskell.org/ghc/dist/"
version "/ghc-" version "-src.tar.xz"))
(sha256
(base32 "179ws2q0dinl1a39wm9j37xzwm84zfz3c5543vz8v479khigdvp3"))))
(native-inputs
`(("ghc-bootstrap" ,ghc-8.8)
("ghc-testsuite"
,(origin
(method url-fetch)
(uri (string-append
"https://www.haskell.org/ghc/dist/"
version "/ghc-" version "-testsuite.tar.xz"))
(patches (search-patches "ghc-testsuite-dlopen-pie.patch"))
(sha256
(base32
"1zl25gg6bpx5601k8h3cqnns1xfc0nqgwnh8jvn2s65ra3f2g1nz"))))
("git" ,git-minimal) ; invoked during tests
,@(filter (match-lambda
(("ghc-bootstrap" . _) #f)
(("ghc-testsuite" . _) #f)
(_ #t))
(package-native-inputs ghc-8.8))))
(arguments
(substitute-keyword-arguments (package-arguments ghc-8.8)
((#:phases phases '%standard-phases)
`(modify-phases ,phases
(add-after 'unpack-testsuite 'patch-more-shebangs
(lambda* (#:key inputs #:allow-other-keys)
(let ((bash (assoc-ref inputs "bash")))
(substitute* '("testsuite/tests/driver/T8602/T8602.script")
(("/bin/sh")
(string-append bash "/bin/sh"))))))
;; Mark failing tests as broken. Reason for failure is unknown.
(add-after 'skip-more-tests 'skip-even-more-tests
(lambda _
(substitute* '("testsuite/tests/driver/T16521/all.T")
(("extra_files" all) (string-append "[" all))
(("\\]\\), " all)
(string-append all "expect_broken(0)], ")))))))))
(native-search-paths (list (search-path-specification
(variable "GHC_PACKAGE_PATH")
(files (list
(string-append "lib/ghc-" version)))
(file-pattern ".*\\.conf\\.d$")
(file-type 'directory))))))
(define-public ghc-8 ghc-8.6) (define-public ghc-8 ghc-8.6)
(define-public ghc ghc-8) (define-public ghc ghc-8)

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2017, 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -339,8 +340,9 @@ wrapping notes into KMime::Message objects.")
"")) ""))
#t)) #t))
(replace 'check (replace 'check
(lambda _ (lambda* (#:key tests? #:allow-other-keys)
(invoke "dbus-launch" "ctest")))))) (when tests?
(invoke "dbus-launch" "ctest")))))))
(home-page "https://api.kde.org/kdepim/akonadi/html/index.html") (home-page "https://api.kde.org/kdepim/akonadi/html/index.html")
(synopsis "Akonadi search library") (synopsis "Akonadi search library")
(description "This package provides a library used to search in the (description "This package provides a library used to search in the
@ -1014,8 +1016,9 @@ protocol for querying and modifying directory services running over TCP/IP. ")
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (replace 'check
(lambda _ (lambda* (#:key tests? #:allow-other-keys)
(invoke "dbus-launch" "ctest" ".") (when tests?
(invoke "dbus-launch" "ctest" "."))
#t))))) #t)))))
(home-page "https://kde.org/applications/utilities/org.kde.kleopatra") (home-page "https://kde.org/applications/utilities/org.kde.kleopatra")
(synopsis "Certificate Manager and Unified Crypto GUI") (synopsis "Certificate Manager and Unified Crypto GUI")
@ -1104,8 +1107,9 @@ and retrieving certificates from LDAP servers.")
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (replace 'check
(lambda _ (lambda* (#:key tests? #:allow-other-keys)
(invoke "dbus-launch" "ctest" ".") (when tests?
(invoke "dbus-launch" "ctest" "."))
#t))))) #t)))))
(home-page "https://kontact.kde.org/components/kmail.html") (home-page "https://kontact.kde.org/components/kmail.html")
(synopsis "Full featured graphical email client") (synopsis "Full featured graphical email client")
@ -1596,8 +1600,9 @@ application \"Parts\" to be embedded as a Kontact component (or plugin).")
"")) ""))
#t)) #t))
(replace 'check (replace 'check
(lambda _ (lambda* (#:key tests? #:allow-other-keys)
(invoke "dbus-launch" "ctest" ".") (when tests?
(invoke "dbus-launch" "ctest" "."))
#t))))) #t)))))
(home-page "https://kontact.kde.org/components/korganizer.html") (home-page "https://kontact.kde.org/components/korganizer.html")
(synopsis "Organizational assistant, providing calendars and other similar (synopsis "Organizational assistant, providing calendars and other similar

View file

@ -19,7 +19,7 @@
;;; Copyright © 2016, 2018 Rene Saavedra <pacoon@protonmail.com> ;;; Copyright © 2016, 2018 Rene Saavedra <pacoon@protonmail.com>
;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com> ;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
;;; Copyright © 2017, 2018, 2020 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017, 2018, 2020, 2021 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.com> ;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.com>
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2017, 2019, 2021 Mathieu Othacehe <othacehe@gnu.org> ;;; Copyright © 2017, 2019, 2021 Mathieu Othacehe <othacehe@gnu.org>
@ -200,24 +200,24 @@ defconfig. Return the appropriate make target if applicable, otherwise return
;;; Kernel source code deblobbing. ;;; Kernel source code deblobbing.
;;; ;;;
(define (linux-libre-deblob-scripts version (define (linux-libre-deblob-scripts version gnu-revision
deblob-hash deblob-hash
deblob-check-hash) deblob-check-hash)
(list (version-major+minor version) (list (version-major+minor version)
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://linux-libre.fsfla.org" (uri (string-append "https://linux-libre.fsfla.org"
"/pub/linux-libre/releases/" version "-gnu/" "/pub/linux-libre/releases/" version "-" gnu-revision "/"
"deblob-" (version-major+minor version))) "deblob-" (version-major+minor version)))
(file-name (string-append "linux-libre-deblob-" (file-name (string-append "linux-libre-deblob-"
version)) version "-" gnu-revision))
(sha256 deblob-hash)) (sha256 deblob-hash))
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://linux-libre.fsfla.org" (uri (string-append "https://linux-libre.fsfla.org"
"/pub/linux-libre/releases/" version "-gnu/" "/pub/linux-libre/releases/" version "-" gnu-revision "/"
"deblob-check")) "deblob-check"))
(file-name (string-append "linux-libre-deblob-check-" version)) (file-name (string-append "linux-libre-deblob-check-" version "-" gnu-revision))
(sha256 deblob-check-hash)))) (sha256 deblob-check-hash))))
(define* (computed-origin-method gexp-promise hash-algo hash (define* (computed-origin-method gexp-promise hash-algo hash
@ -335,21 +335,21 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;;; Kernel sources. ;;; Kernel sources.
;;; ;;;
(define (linux-libre-urls version) (define (linux-libre-urls version gnu-revision)
"Return a list of URLs for Linux-Libre VERSION." "Return a list of URLs for Linux-Libre VERSION."
(list (string-append (list (string-append
"https://linux-libre.fsfla.org/pub/linux-libre/releases/" "https://linux-libre.fsfla.org/pub/linux-libre/releases/"
version "-gnu/linux-libre-" version "-gnu.tar.xz") version "-" gnu-revision "/linux-libre-" version "-" gnu-revision ".tar.xz")
;; XXX: Work around <http://bugs.gnu.org/14851>. ;; XXX: Work around <http://bugs.gnu.org/14851>.
(string-append (string-append
"ftp://alpha.gnu.org/gnu/guix/mirror/linux-libre-" "ftp://alpha.gnu.org/gnu/guix/mirror/linux-libre-"
version "-gnu.tar.xz") version "-" gnu-revision ".tar.xz")
;; Maybe this URL will become valid eventually. ;; Maybe this URL will become valid eventually.
(string-append (string-append
"mirror://gnu/linux-libre/" version "-gnu/linux-libre-" "mirror://gnu/linux-libre/" version "-" gnu-revision "/linux-libre-"
version "-gnu.tar.xz"))) version "-" gnu-revision ".tar.xz")))
(define (%upstream-linux-source version hash) (define (%upstream-linux-source version hash)
(origin (origin
@ -361,15 +361,32 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major ;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream. ;; versions that are still supported upstream.
(define-public linux-libre-5.13-version "5.13.13") (define-public linux-libre-5.14-version "5.14.4")
(define-public linux-libre-5.14-gnu-revision "gnu")
(define deblob-scripts-5.14
(linux-libre-deblob-scripts
linux-libre-5.14-version
linux-libre-5.14-gnu-revision
(base32 "00vv2a51cvw2nx8iazmiy9i4h3jj9gvvpwz9gxp2v1hcmrsxq935")
(base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p")))
(define-public linux-libre-5.14-pristine-source
(let ((version linux-libre-5.14-version)
(hash (base32 "1dijf7qsjlqx893c2sxg5jrjdm8v1nv4hicvqlmp1v92s3h7kqj2")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.14)))
(define-public linux-libre-5.13-version "5.13.17")
(define-public linux-libre-5.13-gnu-revision "gnu1")
(define deblob-scripts-5.13 (define deblob-scripts-5.13
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
linux-libre-5.13-version linux-libre-5.13-version
(base32 "0bdqgxpc2vnj6m1nnrw8l5jpdglm0nlvjl6g44xryhy230ds0p9l") linux-libre-5.13-gnu-revision
(base32 "153jf5l5x4438zgxwggaky2ahjlfl48j438vhpzks6h77lzc51a5"))) (base32 "0hj3w3vh1rj24xgl4v72mr6vaz1qzsnc5xzdfjga1zy84bw8lhkp")
(base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p")))
(define-public linux-libre-5.13-pristine-source (define-public linux-libre-5.13-pristine-source
(let ((version linux-libre-5.13-version) (let ((version linux-libre-5.13-version)
(hash (base32 "0d1lr3rivgf9j3bn2a9hpzdf74nq8kybf3rfxxvw68vr1hhd4cam"))) (hash (base32 "06qa3c8wx87l4mh9h8gjcra5k5l6bcirs59s7baxdfjkxlihvrsa")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-5.13))) deblob-scripts-5.13)))
@ -377,80 +394,92 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The "longterm" kernels — the older releases with long-term upstream support. ;; The "longterm" kernels — the older releases with long-term upstream support.
;; Here are the support timelines: ;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html> ;; <https://www.kernel.org/category/releases.html>
(define-public linux-libre-5.10-version "5.10.61") (define-public linux-libre-5.10-version "5.10.65")
(define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10 (define deblob-scripts-5.10
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
linux-libre-5.10-version linux-libre-5.10-version
(base32 "16w9r5h8r8j5ckq2brr15xgdq3ksr2pgwcmjx5a7bqry8a60i3m4") linux-libre-5.10-gnu-revision
(base32 "0c9x07gplzajm0h5if3fpw2rvfb7psw3yp7i2n6ws7ggq1dvmki2"))) (base32 "19d1pdsilq1ycnx1zw3vhf9mwdxbi5nmgzm0g1kj1lkkf1y4i1mv")
(base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p")))
(define-public linux-libre-5.10-pristine-source (define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version) (let ((version linux-libre-5.10-version)
(hash (base32 "1lci78584c0rg5m5rkylssppnv001pzh4769m9mds4fdqn6f7sl2"))) (hash (base32 "0riyq1gdm18642fpnhpcw8hspcjqzprzhqnygjxabjjvrvdxxlzd")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-5.10))) deblob-scripts-5.10)))
(define-public linux-libre-5.4-version "5.4.143") (define-public linux-libre-5.4-version "5.4.146")
(define-public linux-libre-5.4-gnu-revision "gnu1")
(define deblob-scripts-5.4 (define deblob-scripts-5.4
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
linux-libre-5.4-version linux-libre-5.4-version
(base32 "12g1wm7xvjvmjanbgg0ahxm4vs2n5bvicfnnnag4h35vl4q3lggg") linux-libre-5.4-gnu-revision
(base32 "1xghbbnaisjd0k1klbyn1p7r6r4x5a1bpmkm56a3gh2zvw4s7mj8"))) (base32 "1cdxljvmivdwcy9v9fr5iv0x0d1884pf3876p9nzrly599lz2wnl")
(base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p")))
(define-public linux-libre-5.4-pristine-source (define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version) (let ((version linux-libre-5.4-version)
(hash (base32 "090x087p8hxnc1daf2xwj7vg8hg1jhz5i4andkbhdy550l5nalq9"))) (hash (base32 "1bjkfk24j86akm6df3c5b28viyq363drhssml7rcrl69286f92dk")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-5.4))) deblob-scripts-5.4)))
(define-public linux-libre-4.19-version "4.19.205") (define-public linux-libre-4.19-version "4.19.206")
(define-public linux-libre-4.19-gnu-revision "gnu1")
(define deblob-scripts-4.19 (define deblob-scripts-4.19
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
linux-libre-4.19-version linux-libre-4.19-version
(base32 "1jfcz4lnm44b3xzrkiipvw35kl0vvdvhr2pg7jfwf02f6qbvay18") linux-libre-4.19-gnu-revision
(base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf"))) (base32 "1hiaagdyfy6b0f9ivdy7zq0cd6akaj6v3c4nzikrgsk12vgc1a1q")
(base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p")))
(define-public linux-libre-4.19-pristine-source (define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version) (let ((version linux-libre-4.19-version)
(hash (base32 "1ii9l44d6jxhyd5qkc5h83ixailma9v7hyl60wi3rskkafqnwv2m"))) (hash (base32 "1h44lvzxd0cngj71bk8qba9dz7jlqj68ir6xjwfafglb81ppgsxp")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-4.19))) deblob-scripts-4.19)))
(define-public linux-libre-4.14-version "4.14.245") (define-public linux-libre-4.14-version "4.14.246")
(define-public linux-libre-4.14-gnu-revision "gnu1")
(define deblob-scripts-4.14 (define deblob-scripts-4.14
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
linux-libre-4.14-version linux-libre-4.14-version
(base32 "07afckszdm4pq008i6ij0pxpw2rpgi5q931nxh6dxcczpicvwbc9") linux-libre-4.14-gnu-revision
(base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky"))) (base32 "0cnax38650m9sxiwvc1xm5saymlsmx427j3jqpx34df2ah2rnrwf")
(base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p")))
(define-public linux-libre-4.14-pristine-source (define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version) (let ((version linux-libre-4.14-version)
(hash (base32 "085jls7b2rzxlmvp0zsp4l3wi5xdrqlv2qczzwvbhzna1f4n2x0d"))) (hash (base32 "0fpgig84shpas1jc0h4s3aw9brkcq1as84gjbk4bfhc48bpi4mlw")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-4.14))) deblob-scripts-4.14)))
(define-public linux-libre-4.9-version "4.9.281") (define-public linux-libre-4.9-version "4.9.282")
(define-public linux-libre-4.9-gnu-revision "gnu1")
(define deblob-scripts-4.9 (define deblob-scripts-4.9
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
linux-libre-4.9-version linux-libre-4.9-version
(base32 "1w8cb8w1cpcwswc3rxq6vwjafw6yy0igib34rrm93ag5h6inncfv") linux-libre-4.9-gnu-revision
(base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2"))) (base32 "1n74ddrifnw06hx7ih2sk8jaiqlm1jyyhswyjpxiyhrrcvjcilch")
(base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p")))
(define-public linux-libre-4.9-pristine-source (define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version) (let ((version linux-libre-4.9-version)
(hash (base32 "1dg70jv3bqanmjs31s0x2p7nd5g37bqzjn9rc1y6wvkgm4pwahi6"))) (hash (base32 "059fin4si93ya13xy831w84q496ksxidpd3kyw38918sfy4p6wk7")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-4.9))) deblob-scripts-4.9)))
(define-public linux-libre-4.4-version "4.4.282") (define-public linux-libre-4.4-version "4.4.283")
(define-public linux-libre-4.4-gnu-revision "gnu1")
(define deblob-scripts-4.4 (define deblob-scripts-4.4
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
linux-libre-4.4-version linux-libre-4.4-version
(base32 "1lid4k7g947yi3hcjj0lz0fnssawbph3jsy67vrv57l5imrhv3zs") linux-libre-4.4-gnu-revision
(base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf"))) (base32 "11397dgj6cdfv6anxrj7jwgvnqvwh5i0ci6c8mb85ry6h4fnfmq4")
(base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p")))
(define-public linux-libre-4.4-pristine-source (define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version) (let ((version linux-libre-4.4-version)
(hash (base32 "1rgxznjb6gsi64wk7x2rylyi64y2nx5yiah5gfm40c6l2f7lb9cc"))) (hash (base32 "1d9v4h4cbc4i371lhhwpxbmg88gna6xyi2ahfvv0clz60802y982")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-4.4))) deblob-scripts-4.4)))
@ -483,6 +512,14 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(patches (append (origin-patches source) (patches (append (origin-patches source)
patches)))) patches))))
(define-public linux-libre-5.14-source
(source-with-patches linux-libre-5.14-pristine-source
(list %boot-logo-patch
%linux-libre-arm-export-__sync_icache_dcache-patch
;; Pinebook Pro patch to fix LCD display
(search-patch
"linux-libre-arm64-generic-pinebook-lcd.patch"))))
(define-public linux-libre-5.13-source (define-public linux-libre-5.13-source
(source-with-patches linux-libre-5.13-pristine-source (source-with-patches linux-libre-5.13-pristine-source
(list %boot-logo-patch (list %boot-logo-patch
@ -530,14 +567,14 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;;; Kernel headers. ;;; Kernel headers.
;;; ;;;
(define (make-linux-libre-headers version hash-string) (define (make-linux-libre-headers version gnu-revision hash-string)
(make-linux-libre-headers* version (make-linux-libre-headers* version gnu-revision
(origin (origin
(method url-fetch) (method url-fetch)
(uri (linux-libre-urls version)) (uri (linux-libre-urls version gnu-revision))
(sha256 (base32 hash-string))))) (sha256 (base32 hash-string)))))
(define (make-linux-libre-headers* version source) (define (make-linux-libre-headers* version gnu-revision source)
(package (package
(name "linux-libre-headers") (name "linux-libre-headers")
(version version) (version version)
@ -601,38 +638,50 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(description "Headers of the Linux-Libre kernel.") (description "Headers of the Linux-Libre kernel.")
(license license:gpl2))) (license license:gpl2)))
(define-public linux-libre-headers-5.14
(make-linux-libre-headers* linux-libre-5.14-version
linux-libre-5.14-gnu-revision
linux-libre-5.14-source))
(define-public linux-libre-headers-5.13 (define-public linux-libre-headers-5.13
(make-linux-libre-headers* linux-libre-5.13-version (make-linux-libre-headers* linux-libre-5.13-version
linux-libre-5.13-gnu-revision
linux-libre-5.13-source)) linux-libre-5.13-source))
(define-public linux-libre-headers-5.10 (define-public linux-libre-headers-5.10
(make-linux-libre-headers* linux-libre-5.10-version (make-linux-libre-headers* linux-libre-5.10-version
linux-libre-5.10-gnu-revision
linux-libre-5.10-source)) linux-libre-5.10-source))
(define-public linux-libre-headers-5.4 (define-public linux-libre-headers-5.4
(make-linux-libre-headers* linux-libre-5.4-version (make-linux-libre-headers* linux-libre-5.4-version
linux-libre-5.4-gnu-revision
linux-libre-5.4-source)) linux-libre-5.4-source))
(define-public linux-libre-headers-4.19 (define-public linux-libre-headers-4.19
(make-linux-libre-headers* linux-libre-4.19-version (make-linux-libre-headers* linux-libre-4.19-version
linux-libre-4.19-gnu-revision
linux-libre-4.19-source)) linux-libre-4.19-source))
(define-public linux-libre-headers-4.14 (define-public linux-libre-headers-4.14
(make-linux-libre-headers* linux-libre-4.14-version (make-linux-libre-headers* linux-libre-4.14-version
linux-libre-4.14-gnu-revision
linux-libre-4.14-source)) linux-libre-4.14-source))
(define-public linux-libre-headers-4.9 (define-public linux-libre-headers-4.9
(make-linux-libre-headers* linux-libre-4.9-version (make-linux-libre-headers* linux-libre-4.9-version
linux-libre-4.9-gnu-revision
linux-libre-4.9-source)) linux-libre-4.9-source))
(define-public linux-libre-headers-4.4 (define-public linux-libre-headers-4.4
(make-linux-libre-headers* linux-libre-4.4-version (make-linux-libre-headers* linux-libre-4.4-version
linux-libre-4.4-gnu-revision
linux-libre-4.4-source)) linux-libre-4.4-source))
;; The following package is used in the early bootstrap, and thus must be kept ;; The following package is used in the early bootstrap, and thus must be kept
;; stable and with minimal build requirements. ;; stable and with minimal build requirements.
(define-public linux-libre-headers-5.10.35 (define-public linux-libre-headers-5.10.35
(make-linux-libre-headers "5.10.35" (make-linux-libre-headers "5.10.35" "gnu"
"0q2rnchad55d49f3rajrkazz0fcjv1irwrdb1hwjnl01fzm2gjk3")) "0q2rnchad55d49f3rajrkazz0fcjv1irwrdb1hwjnl01fzm2gjk3"))
(define-public linux-libre-headers linux-libre-headers-5.10.35) (define-public linux-libre-headers linux-libre-headers-5.10.35)
@ -734,7 +783,7 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
;;; Kernel package utilities. ;;; Kernel package utilities.
;;; ;;;
(define* (make-linux-libre version hash-string supported-systems (define* (make-linux-libre version gnu-revision hash-string supported-systems
#:key #:key
(extra-version #f) (extra-version #f)
;; A function that takes an arch and a variant. ;; A function that takes an arch and a variant.
@ -743,10 +792,10 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
(defconfig "defconfig") (defconfig "defconfig")
(extra-options %default-extra-linux-options) (extra-options %default-extra-linux-options)
(patches (list %boot-logo-patch))) (patches (list %boot-logo-patch)))
(make-linux-libre* version (make-linux-libre* version gnu-revision
(origin (origin
(method url-fetch) (method url-fetch)
(uri (linux-libre-urls version)) (uri (linux-libre-urls version gnu-revision))
(sha256 (base32 hash-string)) (sha256 (base32 hash-string))
(patches patches)) (patches patches))
supported-systems supported-systems
@ -755,7 +804,7 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
#:defconfig defconfig #:defconfig defconfig
#:extra-options extra-options)) #:extra-options extra-options))
(define* (make-linux-libre* version source supported-systems (define* (make-linux-libre* version gnu-revision source supported-systems
#:key #:key
(extra-version #f) (extra-version #f)
;; A function that takes an arch and a variant. ;; A function that takes an arch and a variant.
@ -900,49 +949,64 @@ It has been modified to remove all non-free binary blobs.")
;;; Generic kernel packages. ;;; Generic kernel packages.
;;; ;;;
(define-public linux-libre-5.14
(make-linux-libre* linux-libre-5.14-version
linux-libre-5.14-gnu-revision
linux-libre-5.14-source
'("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux")
#:configuration-file kernel-config))
(define-public linux-libre-5.13 (define-public linux-libre-5.13
(make-linux-libre* linux-libre-5.13-version (make-linux-libre* linux-libre-5.13-version
linux-libre-5.13-gnu-revision
linux-libre-5.13-source linux-libre-5.13-source
'("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux") '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux")
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define-public linux-libre-version linux-libre-5.13-version) (define-public linux-libre-version linux-libre-5.13-version)
(define-public linux-libre-gnu-revision linux-libre-5.13-gnu-revision)
(define-public linux-libre-pristine-source linux-libre-5.13-pristine-source) (define-public linux-libre-pristine-source linux-libre-5.13-pristine-source)
(define-public linux-libre-source linux-libre-5.13-source) (define-public linux-libre-source linux-libre-5.13-source)
(define-public linux-libre linux-libre-5.13) (define-public linux-libre linux-libre-5.13)
(define-public linux-libre-5.10 (define-public linux-libre-5.10
(make-linux-libre* linux-libre-5.10-version (make-linux-libre* linux-libre-5.10-version
linux-libre-5.10-gnu-revision
linux-libre-5.10-source linux-libre-5.10-source
'("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux") '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux")
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define-public linux-libre-5.4 (define-public linux-libre-5.4
(make-linux-libre* linux-libre-5.4-version (make-linux-libre* linux-libre-5.4-version
linux-libre-5.4-gnu-revision
linux-libre-5.4-source linux-libre-5.4-source
'("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux") '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux")
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define-public linux-libre-4.19 (define-public linux-libre-4.19
(make-linux-libre* linux-libre-4.19-version (make-linux-libre* linux-libre-4.19-version
linux-libre-4.19-gnu-revision
linux-libre-4.19-source linux-libre-4.19-source
'("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux") '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux")
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(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
linux-libre-4.14-gnu-revision
linux-libre-4.14-source linux-libre-4.14-source
'("x86_64-linux" "i686-linux" "armhf-linux") '("x86_64-linux" "i686-linux" "armhf-linux")
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define-public linux-libre-4.9 (define-public linux-libre-4.9
(make-linux-libre* linux-libre-4.9-version (make-linux-libre* linux-libre-4.9-version
linux-libre-4.9-gnu-revision
linux-libre-4.9-source linux-libre-4.9-source
'("x86_64-linux" "i686-linux") '("x86_64-linux" "i686-linux")
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define-public linux-libre-4.4 (define-public linux-libre-4.4
(make-linux-libre* linux-libre-4.4-version (make-linux-libre* linux-libre-4.4-version
linux-libre-4.4-gnu-revision
linux-libre-4.4-source linux-libre-4.4-source
'("x86_64-linux" "i686-linux") '("x86_64-linux" "i686-linux")
#:configuration-file kernel-config #:configuration-file kernel-config
@ -958,6 +1022,7 @@ It has been modified to remove all non-free binary blobs.")
;; Reference: https://jxself.org/linux-libre/ ;; Reference: https://jxself.org/linux-libre/
(define-public linux-libre-lts-version linux-libre-5.10-version) (define-public linux-libre-lts-version linux-libre-5.10-version)
(define-public linux-libre-lts-gnu-revision linux-libre-5.10-gnu-revision)
(define-public linux-libre-lts-pristine-source linux-libre-5.10-pristine-source) (define-public linux-libre-lts-pristine-source linux-libre-5.10-pristine-source)
(define-public linux-libre-lts-source linux-libre-5.10-source) (define-public linux-libre-lts-source linux-libre-5.10-source)
(define-public linux-libre-lts linux-libre-5.10) (define-public linux-libre-lts linux-libre-5.10)
@ -969,6 +1034,7 @@ It has been modified to remove all non-free binary blobs.")
(define-public linux-libre-arm-generic (define-public linux-libre-arm-generic
(make-linux-libre* linux-libre-version (make-linux-libre* linux-libre-version
linux-libre-gnu-revision
linux-libre-source linux-libre-source
'("armhf-linux") '("armhf-linux")
#:defconfig "multi_v7_defconfig" #:defconfig "multi_v7_defconfig"
@ -984,6 +1050,7 @@ It has been modified to remove all non-free binary blobs.")
(define-public linux-libre-arm-generic-5.10 (define-public linux-libre-arm-generic-5.10
(make-linux-libre* linux-libre-5.10-version (make-linux-libre* linux-libre-5.10-version
linux-libre-5.10-gnu-revision
linux-libre-5.10-source linux-libre-5.10-source
'("armhf-linux") '("armhf-linux")
#:defconfig "multi_v7_defconfig" #:defconfig "multi_v7_defconfig"
@ -996,6 +1063,7 @@ It has been modified to remove all non-free binary blobs.")
(define-public linux-libre-arm-generic-5.4 (define-public linux-libre-arm-generic-5.4
(make-linux-libre* linux-libre-5.4-version (make-linux-libre* linux-libre-5.4-version
linux-libre-5.4-gnu-revision
linux-libre-5.4-source linux-libre-5.4-source
'("armhf-linux") '("armhf-linux")
#:defconfig "multi_v7_defconfig" #:defconfig "multi_v7_defconfig"
@ -1008,6 +1076,7 @@ It has been modified to remove all non-free binary blobs.")
(define-public linux-libre-arm-generic-4.19 (define-public linux-libre-arm-generic-4.19
(make-linux-libre* linux-libre-4.19-version (make-linux-libre* linux-libre-4.19-version
linux-libre-4.19-gnu-revision
linux-libre-4.19-source linux-libre-4.19-source
'("armhf-linux") '("armhf-linux")
#:defconfig "multi_v7_defconfig" #:defconfig "multi_v7_defconfig"
@ -1015,6 +1084,7 @@ It has been modified to remove all non-free binary blobs.")
(define-public linux-libre-arm-generic-4.14 (define-public linux-libre-arm-generic-4.14
(make-linux-libre* linux-libre-4.14-version (make-linux-libre* linux-libre-4.14-version
linux-libre-4.14-gnu-revision
linux-libre-4.14-source linux-libre-4.14-source
'("armhf-linux") '("armhf-linux")
#:defconfig "multi_v7_defconfig" #:defconfig "multi_v7_defconfig"
@ -1022,6 +1092,7 @@ It has been modified to remove all non-free binary blobs.")
(define-public linux-libre-arm-omap2plus (define-public linux-libre-arm-omap2plus
(make-linux-libre* linux-libre-version (make-linux-libre* linux-libre-version
linux-libre-gnu-revision
linux-libre-source linux-libre-source
'("armhf-linux") '("armhf-linux")
#:defconfig "omap2plus_defconfig" #:defconfig "omap2plus_defconfig"
@ -1029,6 +1100,7 @@ It has been modified to remove all non-free binary blobs.")
(define-public linux-libre-arm-omap2plus-4.19 (define-public linux-libre-arm-omap2plus-4.19
(make-linux-libre* linux-libre-4.19-version (make-linux-libre* linux-libre-4.19-version
linux-libre-4.19-gnu-revision
linux-libre-4.19-source linux-libre-4.19-source
'("armhf-linux") '("armhf-linux")
#:defconfig "omap2plus_defconfig" #:defconfig "omap2plus_defconfig"
@ -1036,6 +1108,7 @@ It has been modified to remove all non-free binary blobs.")
(define-public linux-libre-arm-omap2plus-4.14 (define-public linux-libre-arm-omap2plus-4.14
(make-linux-libre* linux-libre-4.14-version (make-linux-libre* linux-libre-4.14-version
linux-libre-4.14-gnu-revision
linux-libre-4.14-source linux-libre-4.14-source
'("armhf-linux") '("armhf-linux")
#:defconfig "omap2plus_defconfig" #:defconfig "omap2plus_defconfig"
@ -1043,6 +1116,7 @@ It has been modified to remove all non-free binary blobs.")
(define-public linux-libre-arm64-generic (define-public linux-libre-arm64-generic
(make-linux-libre* linux-libre-version (make-linux-libre* linux-libre-version
linux-libre-gnu-revision
linux-libre-source linux-libre-source
'("aarch64-linux") '("aarch64-linux")
#:defconfig "defconfig" #:defconfig "defconfig"
@ -1068,6 +1142,7 @@ It has been modified to remove all non-free binary blobs.")
(define-public linux-libre-arm64-generic-5.10 (define-public linux-libre-arm64-generic-5.10
(make-linux-libre* linux-libre-5.10-version (make-linux-libre* linux-libre-5.10-version
linux-libre-5.10-gnu-revision
linux-libre-5.10-source linux-libre-5.10-source
'("aarch64-linux") '("aarch64-linux")
#:defconfig "defconfig" #:defconfig "defconfig"
@ -1093,6 +1168,7 @@ It has been modified to remove all non-free binary blobs.")
(define-public linux-libre-arm64-generic-5.4 (define-public linux-libre-arm64-generic-5.4
(make-linux-libre* linux-libre-5.4-version (make-linux-libre* linux-libre-5.4-version
linux-libre-5.4-gnu-revision
linux-libre-5.4-source linux-libre-5.4-source
'("aarch64-linux") '("aarch64-linux")
#:defconfig "defconfig" #:defconfig "defconfig"
@ -1105,12 +1181,14 @@ It has been modified to remove all non-free binary blobs.")
(define-public linux-libre-riscv64-generic (define-public linux-libre-riscv64-generic
(make-linux-libre* linux-libre-version (make-linux-libre* linux-libre-version
linux-libre-gnu-revision
linux-libre-source linux-libre-source
'("riscv64-linux") '("riscv64-linux")
#:extra-version "riscv64-generic")) #:extra-version "riscv64-generic"))
(define-public linux-libre-mips64el-fuloong2e (define-public linux-libre-mips64el-fuloong2e
(make-linux-libre* linux-libre-version (make-linux-libre* linux-libre-version
linux-libre-gnu-revision
linux-libre-source linux-libre-source
'("mips64el-linux") '("mips64el-linux")
#:defconfig "fuloong2e_defconfig" #:defconfig "fuloong2e_defconfig"
@ -1124,6 +1202,7 @@ It has been modified to remove all non-free binary blobs.")
(let ((base-linux-libre (let ((base-linux-libre
(make-linux-libre* (make-linux-libre*
linux-libre-5.13-version linux-libre-5.13-version
linux-libre-5.13-gnu-revision
linux-libre-5.13-source linux-libre-5.13-source
'("x86_64-linux" "i686-linux" "armhf-linux" '("x86_64-linux" "i686-linux" "armhf-linux"
"aarch64-linux" "riscv64-linux") "aarch64-linux" "riscv64-linux")
@ -1510,6 +1589,43 @@ allows some more serious things like adding streaming capabilities to an
application by hooking GStreamer into the loopback device.") application by hooking GStreamer into the loopback device.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public xpadneo
(package
(name "xpadneo")
(version "0.9.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/atar-axis/xpadneo")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0xr0zx134s56h4ij6c3fh8ki0h58h61minbfxcl3sgpgxkh14ism"))))
(build-system linux-module-build-system)
(arguments
`(#:tests? #f ; no `check' target
#:source-directory "hid-xpadneo/src"
#:phases
(modify-phases %standard-phases
(add-after 'install 'post-install
(lambda* (#:key outputs #:allow-other-keys #:rest args)
(let ((out (assoc-ref outputs "out")))
(copy-recursively "hid-xpadneo/etc-modprobe.d"
(string-append out "/etc/modprobe.d"))
;; udev-service-type takes its rules from /lib rather than
;; /etc, so copy it there instead
(copy-recursively "hid-xpadneo/etc-udev-rules.d"
(string-append out "/lib/udev/rules.d"))))))))
(home-page "https://atar-axis.github.io/xpadneo/")
(synopsis "Xbox One Wireless Controller driver")
(description
"This package provides a driver for the XBox One S Wireless controller
and some newer models when connected via bluetooth. In addition to the kernel
module provided itself, it also contains a modprobe configuration and udev
rules, which need to be installed separately.")
(license license:gpl3+)))
;;; ;;;
;;; Pluggable authentication modules (PAM). ;;; Pluggable authentication modules (PAM).
@ -2084,6 +2200,38 @@ slabtop, tload, top, vmstat, w, watch and sysctl.")
"Tools for working with USB devices, such as lsusb.") "Tools for working with USB devices, such as lsusb.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public usbip-utils
(package
(name "usbip-utils")
(version (package-version linux-libre))
(source (package-source linux-libre))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static")
#:phases (modify-phases %standard-phases
(add-after 'unpack 'enter-subdirectory
(lambda _
(chdir "tools/usb/usbip")
#t)))))
(native-inputs
`(("automake" ,automake)
("autoreconf" ,autoconf)
("libtool" ,libtool)))
(inputs `(("eudev" ,eudev)))
(home-page (package-home-page linux-libre))
(synopsis "Utilities for sharing USB devices over IP networks")
(description
"The USB/IP protocol enables to pass USB device from a server to
a client over the network. The server is a machine which shares an
USB device and the client is a machine which uses USB device provided by
a server over the network. The USB device may be either physical device
connected to a server or software entity created on a server using USB
gadget subsystem. The usbip-utils are userspace tools to used to handle
connection and management on both side. The client needs the @file{vhci-hcd}
Linux kernel module and the server needs the @file{usbip_host} Linux kernel
module.")
(license license:gpl2)))
(define-public e2fsprogs (define-public e2fsprogs
(package (package
(name "e2fsprogs") (name "e2fsprogs")
@ -5326,7 +5474,7 @@ and copy/paste text in the console and in xterm.")
(define-public btrfs-progs (define-public btrfs-progs
(package (package
(name "btrfs-progs") (name "btrfs-progs")
(version "5.13.1") (version "5.14")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://kernel.org/linux/kernel/" (uri (string-append "mirror://kernel.org/linux/kernel/"
@ -5334,7 +5482,7 @@ and copy/paste text in the console and in xterm.")
"btrfs-progs-v" version ".tar.xz")) "btrfs-progs-v" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"16gkyhvvpqpq0skpavkvnmglbld7p331bnpiqn2z9flgwq0mlzix")))) "0mwxhwws6scjjpfws5xp7988wwwfa46jp5y3kn6jjmjpxiqm85da"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" (outputs '("out"
"static")) ; static versions of the binaries in "out" "static")) ; static versions of the binaries in "out"

View file

@ -18,6 +18,7 @@
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -877,6 +878,43 @@ of programming tools as well as libraries with equivalent functionality.")
(define-public clang clang-9) (define-public clang clang-9)
(define-public clang-toolchain clang-toolchain-9) (define-public clang-toolchain clang-toolchain-9)
(define-public llvm-for-rocm
(package
;; Actually based on LLVM 13 as of v4.3, but llvm-12 works just fine.
(inherit llvm-12)
(name "llvm-for-rocm")
(version "4.3.0") ;this must match '%rocm-version'
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/RadeonOpenCompute/llvm-project.git")
(commit (string-append "rocm-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0p75nr1qpmy6crymdax5hm40wkimman4lnglz4x5cnbiqindya7s"))
(patches
(search-patches "llvm-roc-4.2.0-add_Object.patch"
"llvm-roc-3.0.0-add_libraries.patch"
"llvm-roc-4.0.0-remove-isystem-usr-include.patch"))))
(arguments
(substitute-keyword-arguments (package-arguments llvm-12)
((#:phases phases '%standard-phases)
`(modify-phases ,phases
(add-after 'unpack 'chdir
(lambda _
(chdir "llvm")))))
((#:configure-flags flags)
''("-DLLVM_ENABLE_PROJECTS=llvm;clang;lld"
"-DLLVM_TARGETS_TO_BUILD=AMDGPU;X86"
"-DCMAKE_SKIP_BUILD_RPATH=FALSE"
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"
"-DBUILD_SHARED_LIBS:BOOL=TRUE"
"-DLLVM_VERSION_SUFFIX="))))
(properties `((hidden? . #t)
,@(package-properties llvm-12)))))
(define-public lld (define-public lld
(package (package
(name "lld") (name "lld")

View file

@ -32,7 +32,7 @@
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Justus Winter <justus@sequoia-pgp.org> ;;; Copyright © 2020 Justus Winter <justus@sequoia-pgp.org>
;;; Copyright © 2020 Eric Brown <ecbrown@ericcbrown.com> ;;; Copyright © 2020 Eric Brown <ecbrown@ericcbrown.com>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020, 2021 Alexey Abramov <levenson@mmer.org> ;;; Copyright © 2020, 2021 Alexey Abramov <levenson@mmer.org>
;;; Copyright © 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de> ;;; Copyright © 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
@ -168,6 +168,7 @@
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system go) #:use-module (guix build-system go)
#:use-module (guix build-system guile) #:use-module (guix build-system guile)
#:use-module (guix build-system emacs)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system perl) #:use-module (guix build-system perl)
#:use-module (guix build-system python) #:use-module (guix build-system python)
@ -261,18 +262,16 @@ example, modify the message headers or body, or encrypt or sign the message.")
(define-public mailutils (define-public mailutils
(package (package
(name "mailutils") (name "mailutils")
(version "3.10") (version "3.13")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/mailutils/mailutils-" (uri (string-append "mirror://gnu/mailutils/mailutils-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"17smrxjdgbbzbzakik30vj46q4iib85ksqhb82jr4vjp57akszh9")) "1iwl82d6aa2acsdxbqh1s5xx44sg83b4yxqik408m1s9rcfrf86r"))
(patches (patches
;; Fixes https://issues.guix.gnu.org/43088. (search-patches "mailutils-variable-lookup.patch"))))
(search-patches "mailutils-fix-uninitialized-variable.patch"
"mailutils-variable-lookup.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -296,8 +295,9 @@ example, modify the message headers or body, or encrypt or sign the message.")
;; The 'pipeact.at' tests generate a shell script; make ;; The 'pipeact.at' tests generate a shell script; make
;; sure it uses the right shell. ;; sure it uses the right shell.
(substitute* '("sieve/tests/testsuite" (substitute* '("sieve/tests/testsuite"
"mh/tests/testsuite") "mh/tests/testsuite"
(("#! /bin/sh") "libmailutils/tests/lock.at")
(("#! ?/bin/sh")
(string-append "#!" (which "sh")))) (string-append "#!" (which "sh"))))
(substitute* "mh/tests/testsuite" (substitute* "mh/tests/testsuite"
@ -329,8 +329,9 @@ example, modify the message headers or body, or encrypt or sign the message.")
(format port "Path: ~a/Mail-for-tests~%" (format port "Path: ~a/Mail-for-tests~%"
(getcwd)))) (getcwd))))
#t))) (substitute* "imap4d/tests/testclient.c"
;; TODO: Add `--with-sql'. (("\"/bin/sh\"")
(string-append "\"" (which "sh") "\""))))))
#:configure-flags #:configure-flags
(list "--sysconfdir=/etc" (list "--sysconfdir=/etc"
@ -342,16 +343,20 @@ example, modify the message headers or body, or encrypt or sign the message.")
(package-inputs this-package)) (package-inputs this-package))
(("guile" guile) (("guile" guile)
(version-major+minor (version-major+minor
(package-version guile)))))) (package-version guile))))))))
#:parallel-tests? #f))
(native-inputs (native-inputs
`(("perl" ,perl) ;for 'gylwrap' ;; Regeneration of the build system is triggered by touching the
;; 'libmailutils/tests/lock.at' file.
`(("autoconf" ,autoconf)
("automake" ,automake)
("gettext" ,gettext-minimal)
("libtool" ,libtool)
("m4" ,m4)
("perl" ,perl) ;for 'gylwrap'
("texinfo" ,texinfo) ("texinfo" ,texinfo)
("dejagnu" ,dejagnu))) ("dejagnu" ,dejagnu)))
(inputs (inputs
`(("m4" ,m4) `(("guile" ,guile-3.0)
("guile" ,guile-3.0)
("gsasl" ,gsasl) ("gsasl" ,gsasl)
("gnutls" ,gnutls) ("gnutls" ,gnutls)
("ncurses" ,ncurses) ("ncurses" ,ncurses)
@ -359,7 +364,6 @@ example, modify the message headers or body, or encrypt or sign the message.")
("linux-pam" ,linux-pam) ("linux-pam" ,linux-pam)
("libltdl" ,libltdl) ("libltdl" ,libltdl)
("gdbm" ,gdbm) ("gdbm" ,gdbm)
;; Required for SEARCH CHARSET. ;; Required for SEARCH CHARSET.
("libiconv" ,libiconv) ("libiconv" ,libiconv)
("libunistring" ,libunistring))) ("libunistring" ,libunistring)))
@ -370,7 +374,24 @@ example, modify the message headers or body, or encrypt or sign the message.")
processing electronic mail. It contains both utilities and server daemons processing electronic mail. It contains both utilities and server daemons
and all operate in a protocol-agnostic way. The underlying libraries are and all operate in a protocol-agnostic way. The underlying libraries are
also available, simplifying the addition of mail capabilities to new also available, simplifying the addition of mail capabilities to new
software.") software. GNU Mailutils provides the following commands:
@itemize @command
@item dotlock
@item decodemail
@item frm
@item from
@item guimb
@item mail
@item mailutils
@item mailutils-config
@item messages
@item mimeview
@item movemail
@item popauth
@item putmail
@item readmsg
@item sieve
@end itemize")
(license (license
;; Libraries are under LGPLv3+, and programs under GPLv3+. ;; Libraries are under LGPLv3+, and programs under GPLv3+.
(list license:gpl3+ license:lgpl3+)))) (list license:gpl3+ license:lgpl3+))))
@ -1342,31 +1363,18 @@ invoking @command{notifymuch} from the post-new hook.")
"1myylb19hj5nb1vriqng252vfjwwkgbi3gxj93pi2q1fzyw7w2lf")))) "1myylb19hj5nb1vriqng252vfjwwkgbi3gxj93pi2q1fzyw7w2lf"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:modules ((guix build gnu-build-system) `(#:make-flags
((guix build emacs-build-system) #:prefix emacs:)
(guix build utils))
#:imported-modules (,@%gnu-build-system-modules
(guix build emacs-build-system)
(guix build emacs-utils))
#:make-flags
(list "V=1" ; verbose test output (list "V=1" ; verbose test output
"NOTMUCH_TEST_TIMEOUT=1h") ; don't fail on slow machines "NOTMUCH_TEST_TIMEOUT=1h") ; don't fail on slow machines
#:phases (modify-phases %standard-phases #:phases (modify-phases %standard-phases
(add-after 'unpack 'patch-notmuch-lib.el
(lambda _
(substitute* "emacs/notmuch-lib.el"
(("/bin/sh") (which "sh")))))
(replace 'configure (replace 'configure
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(setenv "CC" "gcc") (setenv "CC" ,(cc-for-target))
(setenv "CONFIG_SHELL" (which "sh")) (setenv "CONFIG_SHELL" (which "sh"))
(let* ((out (assoc-ref outputs "out")))
(let* ((out (assoc-ref outputs "out"))
(elisp (emacs:elpa-directory out)))
(invoke "./configure" (invoke "./configure"
(string-append "--prefix=" out) (string-append "--prefix=" out)
(string-append "--emacslispdir=" elisp) "--without-emacs"))))
(string-append "--emacsetcdir=" elisp)))))
(add-before 'check 'disable-failing-tests (add-before 'check 'disable-failing-tests
;; FIXME: Investigate why these tests are failing, ;; FIXME: Investigate why these tests are failing,
;; and try removing this for notmuch versions > 0.31. ;; and try removing this for notmuch versions > 0.31.
@ -1375,21 +1383,20 @@ invoking @command{notifymuch} from the post-new hook.")
(("\\$NOTMUCH_GMIME_X509_CERT_VALIDITY") "0")))) (("\\$NOTMUCH_GMIME_X509_CERT_VALIDITY") "0"))))
(add-before 'check 'prepare-test-environment (add-before 'check 'prepare-test-environment
(lambda _ (lambda _
(setenv "TEST_CC" "gcc") (setenv "TEST_CC" ,(cc-for-target))
;; Patch various inline shell invocations. ;; Patch various inline shell invocations.
(substitute* (find-files "test" "\\.sh$") (substitute* (find-files "test" "\\.sh$")
(("/bin/sh") (which "sh"))))) (("/bin/sh") (which "sh"))))))))
(add-after 'install 'make-autoloads
(assoc-ref emacs:%standard-phases 'make-autoloads)))))
(native-inputs (native-inputs
`(("bash-completion" ,bash-completion) `(("bash-completion" ,bash-completion)
("emacs" ,emacs-no-x) ; -minimal lacks libxml, needed for some tests
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("python" ,python) ("python" ,python)
("python-docutils" ,python-docutils) ("python-docutils" ,python-docutils)
("sphinx" ,python-sphinx) ("sphinx" ,python-sphinx)
("texinfo" ,texinfo)
;; The following are required for tests only. ;; The following are required for tests only.
("emacs" ,emacs-no-x) ; -minimal lacks libxml, needed for some tests
("which" ,which) ("which" ,which)
("dtach" ,dtach) ("dtach" ,dtach)
("gnupg" ,gnupg) ("gnupg" ,gnupg)
@ -1408,6 +1415,32 @@ invoking @command{notifymuch} from the post-new hook.")
ing, and tagging large collections of email messages.") ing, and tagging large collections of email messages.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-notmuch
(package
(inherit notmuch)
(name "emacs-notmuch")
(build-system emacs-build-system)
(native-inputs '())
(inputs
`(("notmuch" ,notmuch)))
(arguments
`(#:exclude (cons* "make-deps.el" "rstdoc.el" %default-exclude)
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "emacs")))
(add-after 'chdir 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((notmuch (assoc-ref inputs "notmuch")))
(substitute* "notmuch-lib.el"
(("\"notmuch\"")
(string-append "\"" notmuch "/bin/notmuch\"")))))))))
(synopsis "Run Notmuch within Emacs")
(description
"This package provides an Emacs-based interface to the Notmuch mail
system.")))
(define-public notmuch-addrlookup-c (define-public notmuch-addrlookup-c
(package (package
(name "notmuch-addrlookup-c") (name "notmuch-addrlookup-c")

View file

@ -255,6 +255,10 @@ the traditional flat-text whatis databases.")
"\n")))))))) "\n"))))))))
(native-inputs `(("perl" ,perl))) ;used to run tests (native-inputs `(("perl" ,perl))) ;used to run tests
(inputs `(("zlib" ,zlib))) (inputs `(("zlib" ,zlib)))
(native-search-paths
(list (search-path-specification
(variable "MANPATH")
(files '("share/man")))))
(synopsis "Tools for BSD mdoc and man pages") (synopsis "Tools for BSD mdoc and man pages")
(description (description
"mandoc is a suite of tools compiling mdoc, the roff macro language of "mandoc is a suite of tools compiling mdoc, the roff macro language of

View file

@ -6430,7 +6430,7 @@ management via the GIMPS project's Primenet server.")
(define-public nauty (define-public nauty
(package (package
(name "nauty") (name "nauty")
(version "2.7r2") (version "2.7r3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -6438,7 +6438,7 @@ management via the GIMPS project's Primenet server.")
"https://pallini.di.uniroma1.it/" "https://pallini.di.uniroma1.it/"
"nauty" (string-join (string-split version #\.) "") ".tar.gz")) "nauty" (string-join (string-split version #\.) "") ".tar.gz"))
(sha256 (sha256
(base32 "0s57rq7kk3rrwgrjygpwjvq9bbwq4wjbpcvgbz191jhwv8bnrhb9")))) (base32 "1hl81gpf3xjf809w04jczvilq1ixy9ch1qrax8a7lgx52svna1jg"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" "lib")) (outputs '("out" "lib"))
(arguments (arguments

View file

@ -154,8 +154,8 @@ in different ways.")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/minetest/minetest_game") (url "https://github.com/minetest/minetest_game")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
@ -172,8 +172,8 @@ in different ways.")
"/share/minetest/games/minetest_game"))) "/share/minetest/games/minetest_game")))
(mkdir-p install-dir) (mkdir-p install-dir)
(copy-recursively (copy-recursively
(assoc-ref %build-inputs "source") (assoc-ref %build-inputs "source")
install-dir) install-dir)
#t)))) #t))))
(synopsis "Main game data for the Minetest game engine") (synopsis "Main game data for the Minetest game engine")
(description (description
@ -304,37 +304,37 @@ and a variety of other stuff.")
;; The release on ContentDB does not have its own version number. ;; The release on ContentDB does not have its own version number.
(let ((commit "db5879706d04d3480bc4863ce0c03fa73e5f10c7") (let ((commit "db5879706d04d3480bc4863ce0c03fa73e5f10c7")
(revision "0")) (revision "0"))
(package (package
(name "minetest-mesecons") (name "minetest-mesecons")
(version (git-version "1.2.1" revision commit)) (version (git-version "1.2.1" revision commit))
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/minetest-mods/mesecons") (url "https://github.com/minetest-mods/mesecons")
(commit commit))) (commit commit)))
(sha256 (sha256
(base32 "04m9s9l3frw1lgki41hgvjsw2zkrvfv0sy750b6j12arzb3lv645")) (base32 "04m9s9l3frw1lgki41hgvjsw2zkrvfv0sy750b6j12arzb3lv645"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system minetest-mod-build-system) (build-system minetest-mod-build-system)
(home-page "https://mesecons.net") (home-page "https://mesecons.net")
(synopsis (synopsis
"Digital circuitry for Minetest, including wires, buttons and lights") "Digital circuitry for Minetest, including wires, buttons and lights")
(description (description
"Mesecons is a mod for Minetest implementing various items related "Mesecons is a mod for Minetest implementing various items related
to digital circuitry, such as wires, buttons, lights and programmable to digital circuitry, such as wires, buttons, lights and programmable
controllers. Among other things, there are also pistons, solar panels, controllers. Among other things, there are also pistons, solar panels,
pressure plates and note blocks. pressure plates and note blocks.
Mesecons has a similar goal to Redstone in Minecraft, but works in its own way, Mesecons has a similar goal to Redstone in Minecraft, but works in its own way,
with different rules and mechanics.") with different rules and mechanics.")
;; LGPL for code, CC-BY-SA for textures. ;; LGPL for code, CC-BY-SA for textures.
;; The README.md and COPYING.txt disagree about the "+" in license:lgpl3+. ;; The README.md and COPYING.txt disagree about the "+" in license:lgpl3+.
;; For now, assume README.md is correct. Upstream has been asked to ;; For now, assume README.md is correct. Upstream has been asked to
;; correct the inconsistency: ;; correct the inconsistency:
;; <https://github.com/minetest-mods/mesecons/issues/575>. ;; <https://github.com/minetest-mods/mesecons/issues/575>.
(license (list license:lgpl3+ license:cc-by-sa3.0)) (license (list license:lgpl3+ license:cc-by-sa3.0))
(properties `((upstream-name . "Jeija/mesecons")))))) (properties `((upstream-name . "Jeija/mesecons"))))))
(define-public minetest-mineclone (define-public minetest-mineclone
(package (package
@ -624,3 +624,70 @@ track of important locations.")
license:cc-by4.0 license:cc-by-sa3.0 license:public-domain license:cc-by4.0 license:cc-by-sa3.0 license:public-domain
license:cc0 license:fdl1.2+)) license:cc0 license:fdl1.2+))
(properties `((upstream-name . "RealBadAngel/unified_inventory"))))) (properties `((upstream-name . "RealBadAngel/unified_inventory")))))
(define-public minetest-advtrains
(package
(name "minetest-advtrains")
(version "2.3.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.bananach.space/advtrains.git")
(commit (string-append "release-" version))))
(sha256
(base32 "1ijqlchh269jpvmgmdmdvy3nsnk0bszkvvcqk6vaysvxam695ggw"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
(home-page "http://advtrains.de/")
(synopsis "Adds good-looking, realistic trains with realistic rails")
(description
"This mod features realistic trains and various equipment for railways,
with a focus on automated train operation. This package contains no actual
trains, please use @code{minetest-basic-trains}.
Main features:
@itemize
@item
almost-realistic tracks with actual curves and switches;
@item
railway signals, controllable by various means;
@item
ATC: simple, command-like automatic train control;
@item
LuaATC: Powerful Lua-scripted automatic train operation (requires some
programming knowledge);
@item
an interlocking system, featuring track sections, routes and automatic
stopping before signals.
@end itemize")
(license (list license:cc-by-sa3.0 license:agpl3+))
(properties `((upstream-name . "orwell/advtrains")))))
(define-public minetest-basic-trains
(package
(name "minetest-basic-trains")
(version "1.0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "http://git.bananach.space/basic_trains.git/")
(commit
"d44c410f7c2a7202ee68b66fc50febae89e0c5dc")))
(sha256
(base32
"0vvzndj48kgdz2bfgivfm217sbmc2lmxpp2mispcy7byn4i26prx"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
(propagated-inputs
`(("minetest-advtrains" ,minetest-advtrains)))
(home-page
"http://advtrains.de/wiki/doku.php?id=usage:trains:basic_trains")
(synopsis "Collection of basic trains for the Advanced Trains mod")
(description
"This modpack contains the trains which were the ``default'' trains in
advtrains up to version 2.2.1.")
(license (list license:cc-by-sa3.0 license:agpl3+))
(properties `((upstream-name . "orwell/basic_trains")))))

View file

@ -1885,7 +1885,7 @@ complete studio.")
`(("liblo" ,liblo) `(("liblo" ,liblo)
("gtkmm" ,gtkmm) ("gtkmm" ,gtkmm)
("alsa-lib" ,alsa-lib) ("alsa-lib" ,alsa-lib)
("libxmlplusplus" ,libxmlplusplus-2.6))) ("libxml++" ,libxml++-2)))
(native-inputs (native-inputs
`(("glib:bin" ,glib "bin") `(("glib:bin" ,glib "bin")
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
@ -5006,7 +5006,7 @@ studio.")
(define-public gsequencer (define-public gsequencer
(package (package
(name "gsequencer") (name "gsequencer")
(version "3.8.13") (version "3.10.18")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -5015,7 +5015,7 @@ studio.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1gwy7fhbxgrd5n6afq1hnxc6p873wsh4qs63yhkkdfzyl7s412z4")))) (base32 "126kbvdkxy82mmkl19qhp9k6iz5xclar06chbj7lf580x96c899c"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(arguments (arguments
`(#:phases `(#:phases

View file

@ -24,7 +24,7 @@
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2018 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2018, 2020, 2021 Marius Bakke <marius@gnu.org> ;;; Copyright © 2018, 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2018, 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018, 2020, 2021 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Vasile Dumitrascu <va511e@yahoo.com> ;;; Copyright © 2019 Vasile Dumitrascu <va511e@yahoo.com>
@ -45,6 +45,7 @@
;;; Copyright © 2021 Justin Veilleux <terramorpha@cock.li> ;;; Copyright © 2021 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Milkey Mouse <milkeymouse@meme.institute>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -386,6 +387,30 @@ supported, including rtmp://, rtmpt://, rtmpe://, rtmpte://, and rtmps://.")
;; Others. ;; Others.
license:gpl2+))))) license:gpl2+)))))
(define-public slurm-monitor
(package
(name "slurm-monitor")
(version "0.4.3")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/mattthias/slurm")
(commit (string-append "upstream/" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1n6pgrcs8gwrcq5fch1q3yk3jipjwrf21s9a13fbjrl903g5zzv9"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ;no tests
(inputs `(("ncurses" ,ncurses)))
(synopsis "Network load monitor")
(description
"Slurm is a network load monitor. It shows real-time traffic statistics
from any network device in any of three ASCII graph formats.")
(home-page "https://github.com/mattthias/slurm")
(license license:gpl2)))
(define-public srt (define-public srt
(package (package
(name "srt") (name "srt")
@ -3509,6 +3534,39 @@ A very simple IM client working over the DHT.
protocol daemons for BGP, IS-IS, LDP, OSPF, PIM, and RIP. ") protocol daemons for BGP, IS-IS, LDP, OSPF, PIM, and RIP. ")
(license license:gpl2+))) (license license:gpl2+)))
(define-public bird
(package
(name "bird")
(version "2.0.8")
(source (origin
(method url-fetch)
(uri (string-append "ftp://bird.network.cz/pub/bird/bird-"
version ".tar.gz"))
(sha256
(base32
"1xp7f0im1v8pqqx3xqyfkd1nsxk8vnbqgrdrwnwhg8r5xs1xxlhr"))))
(inputs
`(("libssh" ,libssh)
("readline" ,readline)))
(native-inputs
`(("bison" ,bison)
("flex" ,flex)))
(arguments
`(#:configure-flags '("--localstatedir=/var" "--enable-ipv6")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'dont-create-sysconfdir
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile.in"
((" \\$\\(DESTDIR)/\\$\\(runstatedir)") "")))))))
(build-system gnu-build-system)
(home-page "http://bird.network.cz")
(synopsis "Internet Routing Daemon")
(description "BIRD is an Internet routing daemon with full support for all
the major routing protocols. It allows redistribution between protocols with a
powerful route filtering syntax and an easy-to-use configuration interface.")
(license license:gpl2+)))
(define-public iwd (define-public iwd
(package (package
(name "iwd") (name "iwd")

View file

@ -0,0 +1,28 @@
Backported from upstream PR: https://github.com/urfave/cli/pull/1299
---
diff --git a/app_test.go b/app_test.go
index 33024ff..6b3aaa3 100644
--- a/app_test.go
+++ b/app_test.go
@@ -513,18 +513,18 @@ func TestApp_RunAsSubcommandParseFlags(t *testing.T) {
func TestApp_RunAsSubCommandIncorrectUsage(t *testing.T) {
a := App{
Flags: []Flag{
- StringFlag{Name: "--foo"},
+ StringFlag{Name: "foo"},
},
Writer: bytes.NewBufferString(""),
}
set := flag.NewFlagSet("", flag.ContinueOnError)
- _ = set.Parse([]string{"", "---foo"})
+ _ = set.Parse([]string{"", "-bar"})
c := &Context{flagSet: set}
err := a.RunAsSubcommand(c)
- expect(t, err, errors.New("bad flag syntax: ---foo"))
+ expect(t, err.Error(), "flag provided but not defined: -bar")
}
func TestApp_CommandWithFlagBeforeTerminator(t *testing.T) {

View file

@ -0,0 +1,37 @@
From upstream PR: https://github.com/urfave/cli/pull/1299
From: William Wilson <william.wilson@canonical.com>
Date: Tue, 31 Aug 2021 14:19:17 -0500
Subject: Make test case compatible with Go 1.17
As of Go 1.17, the go flag package will panic if given a syntactically invalid
flag. This causes TestApp_RunAsSubCommandIncorrectUsage to panic and therefore
fail. See https://golang.org/doc/go1.17#flag for more information.
---
diff --git a/app_test.go b/app_test.go
index 7c38f6048..76e211d68 100644
--- a/app_test.go
+++ b/app_test.go
@@ -476,18 +476,18 @@ func TestApp_RunAsSubCommandIncorrectUsage(t *testing.T) {
a := App{
Name: "cmd",
Flags: []Flag{
- &StringFlag{Name: "--foo"},
+ &StringFlag{Name: "foo"},
},
Writer: bytes.NewBufferString(""),
}
set := flag.NewFlagSet("", flag.ContinueOnError)
- _ = set.Parse([]string{"", "---foo"})
+ _ = set.Parse([]string{"", "-bar"})
c := &Context{flagSet: set}
err := a.RunAsSubcommand(c)
- expect(t, err, errors.New("bad flag syntax: ---foo"))
+ expect(t, err.Error(), "flag provided but not defined: -bar")
}
func TestApp_CommandWithFlagBeforeTerminator(t *testing.T) {

View file

@ -1,26 +0,0 @@
From 5ca6382fe8adb5bc436a6d873c8b86c69d5abfd1 Mon Sep 17 00:00:00 2001
From: Sergey Poznyakoff <gray@gnu.org>
Date: Sun, 13 Sep 2020 14:43:46 +0300
Subject: [PATCH] Fix uninitialized variable in readmsg
* readmsg/readmsg.c (main): Initialize weedc.
---
readmsg/readmsg.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/readmsg/readmsg.c b/readmsg/readmsg.c
index 9f305bb9c..3a9f420db 100644
--- a/readmsg/readmsg.c
+++ b/readmsg/readmsg.c
@@ -466,7 +466,7 @@ main (int argc, char **argv)
mu_mailbox_t mbox = NULL;
struct mu_wordsplit ws;
char **weedv;
- int weedc;
+ int weedc = 0;
int unix_header = 0;
/* Native Language Support */
--
2.28.0

View file

@ -0,0 +1,28 @@
From fb1a6ab205fd63a46669a463931af473e2ac0c87 Mon Sep 17 00:00:00 2001
From: Matthew Flatt <mflatt@racket-lang.org>
Date: Sat, 21 Aug 2021 15:29:59 -0600
Subject: [PATCH] setup/variant: recognize starter executables
Related to #3969
(cherry picked from commit 1629887071fe3cc8fe8af0a7aa0d3912509cb058)
---
racket/collects/setup/variant.rkt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/racket/collects/setup/variant.rkt b/racket/collects/setup/variant.rkt
index 81da6f5701..b23131e481 100644
--- a/racket/collects/setup/variant.rkt
+++ b/racket/collects/setup/variant.rkt
@@ -25,7 +25,7 @@
(and (file-exists? f)
(with-input-from-file f
(lambda ()
- (define m (regexp-match #rx#"bINARy tYPe:..(.)"
+ (define m (regexp-match #rx#"bINARy tYPe:e?..(.)"
(current-input-port)))
(cond
[(not m) '3m]
--
2.30.2

View file

@ -298,6 +298,13 @@ GiB).")
(invoke "py.test" "-v" "-k" (invoke "py.test" "-v" "-k"
;; TODO: Those tests fail, why? ;; TODO: Those tests fail, why?
"not test_classify_change_actions"))) "not test_classify_change_actions")))
(add-after 'install 'copy-styles
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((styles "/share/gtksourceview-3.0/styles"))
(copy-recursively
(string-append (assoc-ref inputs "gtksourceview") styles)
(string-append (assoc-ref outputs "out") styles))
#t)))
(add-after 'wrap 'glib-or-gtk-wrap (add-after 'wrap 'glib-or-gtk-wrap
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)) (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
(add-after 'wrap 'wrap-typelib (add-after 'wrap 'wrap-typelib

View file

@ -1944,7 +1944,7 @@ and writing of @code{.ini}-style configuration files.")
(build-system perl-build-system) (build-system perl-build-system)
(home-page "https://metacpan.org/release/Const-Fast") (home-page "https://metacpan.org/release/Const-Fast")
(synopsis "Facility for creating read-only scalars, arrays, and hashes") (synopsis "Facility for creating read-only scalars, arrays, and hashes")
(description "This package provides prodecures to create read-only (description "This package provides procedures to create read-only
scalars, arrays, and hashes.") scalars, arrays, and hashes.")
(license (package-license perl)))) (license (package-license perl))))

View file

@ -43,6 +43,7 @@
;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech> ;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2021 Greg Hogan <code@greghogan.com> ;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 Pradana Aumars <paumars@courrier.dev>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -370,13 +371,13 @@ WSGI. This package includes libraries for implementing ASGI servers.")
(define-public python-aws-sam-translator (define-public python-aws-sam-translator
(package (package
(name "python-aws-sam-translator") (name "python-aws-sam-translator")
(version "1.36.0") (version "1.38.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "aws-sam-translator" version)) (uri (pypi-uri "aws-sam-translator" version))
(sha256 (sha256
(base32 (base32
"115mcbb4r205c1hln199llqrvvbijfqz075rwx991l99jc6rj6zs")))) "1djwlsjpbh13m4biglimrm9lq7hmla0k29giay7k3cjsrylxvjhf"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(;; XXX: Tests are not distributed with the PyPI archive, and would `(;; XXX: Tests are not distributed with the PyPI archive, and would
@ -470,7 +471,7 @@ emit information from within their applications to the AWS X-Ray service.")
(define-public python-cfn-lint (define-public python-cfn-lint
(package (package
(name "python-cfn-lint") (name "python-cfn-lint")
(version "0.51.0") (version "0.54.1")
(home-page "https://github.com/aws-cloudformation/cfn-python-lint") (home-page "https://github.com/aws-cloudformation/cfn-python-lint")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@ -480,7 +481,7 @@ emit information from within their applications to the AWS X-Ray service.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1027s243sik25c6sqw6gla7k7vl3jdicrik5zdsa8pafxh2baja4")))) "161mzzlpbi85q43kwzrj39qb32l6wg6xhnbbd4z860yrfbymsn87"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases
@ -493,7 +494,7 @@ emit information from within their applications to the AWS X-Ray service.")
"test/unit/module/maintenance/test_update_documentation.py") "test/unit/module/maintenance/test_update_documentation.py")
(delete-file (delete-file
"test/unit/module/maintenance/test_update_resource_specs.py") "test/unit/module/maintenance/test_update_resource_specs.py")
(invoke "python" "-m" "unittest" "discover" (invoke "python" "-m" "unittest" "discover" "-v"
"-s" "test"))))))) "-s" "test")))))))
(native-inputs (native-inputs
`(("python-pydot" ,python-pydot) `(("python-pydot" ,python-pydot)
@ -3516,13 +3517,13 @@ applications.")
(define-public python-flask-sqlalchemy (define-public python-flask-sqlalchemy
(package (package
(name "python-flask-sqlalchemy") (name "python-flask-sqlalchemy")
(version "2.4.4") (version "2.5.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "Flask-SQLAlchemy" version)) (uri (pypi-uri "Flask-SQLAlchemy" version))
(sha256 (sha256
(base32 (base32
"1rgsj49gnx361hnb3vn6c1h17497qh22yc3r70l1r6w0mw71bixz")))) "04jrx4sjrz1b20j38qk4qin975xwz30krzq59rfv3b3w7ss49nib"))))
(build-system python-build-system) (build-system python-build-system)
(propagated-inputs (propagated-inputs
`(("python-flask" ,python-flask) `(("python-flask" ,python-flask)
@ -4115,28 +4116,37 @@ addon modules.")
(define-public python-wtforms (define-public python-wtforms
(package (package
(name "python-wtforms") (name "python-wtforms")
(version "2.1") (version "2.3.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "WTForms" version ".zip")) (uri (pypi-uri "WTForms" version))
(sha256 (sha256
(base32 (base32
"0vyl26y9cg409cfyj8rhqxazsdnd0jipgjw06civhrd53yyi1pzz")))) "17427m7p9nn9byzva697dkykykwcp2br3bxvi8vciywlmkh5s6c1"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
'(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'remove-django-test (add-after 'unpack 'delete-bundled-test
;; Don't fail the tests when the inputs for the optional tests cannot be found.
(lambda _ (lambda _
(substitute* ;; Delete test copied from a third party package that fails
"tests/runtests.py" ;; with newer SQLAlchemy. This can be removed for 3.0.
(("'ext_django.tests', 'ext_sqlalchemy', 'ext_dateutil', 'locale_babel'") "") ;; See <https://github.com/wtforms/wtforms/issues/696>.
(("sys.stderr.write(\"### Disabled test '%s', dependency not found\n\" % name)") "")) (delete-file "tests/ext_sqlalchemy.py")))
#t))))) (replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(when tests?
(add-installed-pythonpath inputs outputs)
(invoke "python" "setup.py" "compile_catalog")
(invoke "python" "tests/runtests.py")))))))
(native-inputs (native-inputs
`(("unzip" ,unzip))) `(("python-dateutil" ,python-dateutil)
("python-sqlalchemy" ,python-sqlalchemy)))
(propagated-inputs
`(("python-babel" ,python-babel)
("python-email-validator" ,python-email-validator)
("python-markupsafe" ,python-markupsafe)))
(home-page "http://wtforms.simplecodes.com/") (home-page "http://wtforms.simplecodes.com/")
(synopsis (synopsis
"Form validation and rendering library for Python web development") "Form validation and rendering library for Python web development")
@ -4146,9 +4156,6 @@ for Python web development. It is very similar to the web form API
available in Django, but is a standalone package.") available in Django, but is a standalone package.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public python2-wtforms
(package-with-python2 python-wtforms))
(define-public python-paste (define-public python-paste
(package (package
(name "python-paste") (name "python-paste")
@ -6203,3 +6210,25 @@ your code non-blocking and speedy.")
"This project provides a client library in Python that makes it easy to "This project provides a client library in Python that makes it easy to
communicate with Microsoft Azure Storage services.") communicate with Microsoft Azure Storage services.")
(license license:expat))) (license license:expat)))
(define-public python-w3lib
(package
(name "python-w3lib")
(version "1.22.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "w3lib" version))
(sha256
(base32
"1pv02lvvmgz2qb61vz1jkjc04fgm4hpfvaj5zm4i3mjp64hd1mha"))))
(build-system python-build-system)
(native-inputs
`(("python-six" ,python-six)))
(home-page "https://github.com/scrapy/w3lib")
(synopsis "Python library of web-related functions")
(description
"This is a Python library of web-related functions, such as: remove comments,
or tags from HTML snippets, extract base url from HTML snippets, translate entites
on HTML strings, among other things.")
(license license:bsd-3)))

View file

@ -108,6 +108,8 @@
;;; Copyright © 2021 Franck Pérignon <franck.perignon@univ-grenoble-alpes.fr> ;;; Copyright © 2021 Franck Pérignon <franck.perignon@univ-grenoble-alpes.fr>
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2021 Simon Streit <simon@netpanic.org> ;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
;;; Copyright © 2021 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
;;; Copyright © 2021 Pradana Aumars <paumars@courrier.dev>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -7052,13 +7054,13 @@ PNG, PostScript, PDF, and SVG file output.")
(define-public python-decorator (define-public python-decorator
(package (package
(name "python-decorator") (name "python-decorator")
(version "4.4.2") (version "5.0.9")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "decorator" version)) (uri (pypi-uri "decorator" version))
(sha256 (sha256
(base32 "1rxzhk5zwiggk45hl53zydvy70lk654kg0nc1p54090p402jz9p3")))) (base32 "1mcy64hllgm938v8k1x2a4g0q9swsnrfnsvhz59kr28a6ajgpv3j"))))
(build-system python-build-system) (build-system python-build-system)
(home-page "https://pypi.org/project/decorator/") (home-page "https://pypi.org/project/decorator/")
(synopsis "Python module to simplify usage of decorators") (synopsis "Python module to simplify usage of decorators")
@ -15961,20 +15963,17 @@ Python to manipulate OpenDocument 1.2 files.")
(define-public python-natsort (define-public python-natsort
(package (package
(name "python-natsort") (name "python-natsort")
(version "7.0.1") (version "7.1.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "natsort" version)) (uri (pypi-uri "natsort" version))
(sha256 (sha256
(base32 (base32
"1ksqfai72dbcfbwx43pxl658j59mx2rvqypjy1fk0ax2qd6lccx6")))) "00y49bfsi7rrsd1s42gc2w95a6arl9ipdsx2493hr0v54fj07ih0"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'check 'set-cachedir
;; Tests require write access to $HOME by default
(lambda _ (setenv "PYTHON_EGG_CACHE" "/tmp") #t))
(replace 'check (replace 'check
(lambda _ (lambda _
(invoke "pytest" "-v")))))) (invoke "pytest" "-v"))))))
@ -15996,23 +15995,7 @@ on a list such as @code{[@code{a20}, @code{a9}, @code{a1}, @code{a4},
identifies numbers and sorts them separately from strings. It can also sort identifies numbers and sorts them separately from strings. It can also sort
version numbers, real numbers, mixed types and more, and comes with a shell version numbers, real numbers, mixed types and more, and comes with a shell
command @command{natsort} that exposes this functionality in the command line.") command @command{natsort} that exposes this functionality in the command line.")
(license license:expat) (license license:expat)))
(properties `((python2-variant . ,(delay python2-natsort))))))
;; Natsort 6.x are the last versions with support for Python 2.
(define-public python2-natsort
(let ((base (package-with-python2 (strip-python2-variant python-natsort))))
(package (inherit base)
(version "6.2.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "natsort" version))
(sha256
(base32
"1mc9hbh6fv76xyz13frm7dgi05cf74f9j5wvcyjiy5234gylz565"))))
(native-inputs
`(("python2-pathlib" ,python2-pathlib)
,@(package-native-inputs base))))))
(define-public glances (define-public glances
(package (package
@ -17917,14 +17900,14 @@ information.")
(define-public python-relatorio (define-public python-relatorio
(package (package
(name "python-relatorio") (name "python-relatorio")
(version "0.8.0") (version "0.10.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "relatorio" version)) (uri (pypi-uri "relatorio" version))
(sha256 (sha256
(base32 (base32
"1na6hlhz1awi1hbjg1gyclq0khz42iz90wvdjw7mmj655788bpxx")))) "09nhrz80dfm60nssbvjgz4czzy4yzfa8gxczcdlzbgcnnvm914vb"))))
(build-system python-build-system) (build-system python-build-system)
(propagated-inputs (propagated-inputs
`(("python-lxml" ,python-lxml) `(("python-lxml" ,python-lxml)
@ -22356,6 +22339,28 @@ processes may share the same data.")
format.") format.")
(license license:expat))) (license license:expat)))
(define-public python-crontab
(package
(name "python-crontab")
(version "2.5.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri name version))
(sha256
(base32 "0cccrqc10r8781ba81x8r2frs3pl2m4hkm599k5358ak0xr7xgjb"))))
(build-system python-build-system)
(arguments
;; Comptability tests fail so they are disabled.
`(#:tests? #f))
(inputs
`(("python-dateutil" ,python-dateutil)))
(home-page "https://gitlab.com/doctormo/python-crontab/")
(synopsis "Module for reading and writing crontab files")
(description "This Python module can read, write crontab files, and
access the system cron automatically and simply using a direct API.")
(license license:lgpl3+)))
(define-public python-pylzma (define-public python-pylzma
(package (package
(name "python-pylzma") (name "python-pylzma")

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, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2016, 2018, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com> ;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
@ -138,18 +138,23 @@
(sha256 (sha256
"061bhiyjlvazph0dj9i3i3x2q5z53rp8h5cjwg3frjimkr45lncn") "061bhiyjlvazph0dj9i3i3x2q5z53rp8h5cjwg3frjimkr45lncn")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(patches (search-patches "racket-minimal-sh-via-rktio.patch")) (patches (search-patches "racket-minimal-sh-via-rktio.patch"
;; Remove the following in version 8.3:
"racket-minimal-backport-1629887.patch"))
(modules '((guix build utils)))
(snippet (snippet
(with-imported-modules '((guix build utils)) (with-imported-modules '((guix build utils))
#~(begin #~(begin
(use-modules (guix build utils)) ;; Unbundle Chez submodules.
;; unbundle Chez submodules
(with-directory-excursion "racket/src/ChezScheme" (with-directory-excursion "racket/src/ChezScheme"
#$(origin-snippet (package-source chez-scheme))) ;; Remove bundled libraries (copied from 'chez-scheme').
;; unbundle libffi (for-each delete-file-recursively
(for-each '("stex"
delete-file-recursively "nanopass"
'("racket/src/bc/foreign/libffi"))))))) "lz4"
"zlib")))
;; Unbundle libffi.
(delete-file-recursively "racket/src/bc/foreign/libffi"))))))
(inputs (inputs
`(;; common to all racket-minimal variants: `(;; common to all racket-minimal variants:
("openssl" ,openssl) ("openssl" ,openssl)
@ -212,6 +217,7 @@
"/lib")) "/lib"))
'("openssl" '("openssl"
"sqlite")))) "sqlite"))))
(build-stamp . "")
(catalogs (catalogs
. (,(string-append . (,(string-append
"https://download.racket-lang.org/releases/" "https://download.racket-lang.org/releases/"

View file

@ -1,4 +1,4 @@
;;; ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net> ;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net>
;;; ;;;
;;; This program is free software; you can redistribute it and/or modify it ;;; This program is free software; you can redistribute it and/or modify it
@ -56,41 +56,6 @@
tasks needed for the ROCM software stack.") tasks needed for the ROCM software stack.")
(license license:ncsa))) (license license:ncsa)))
(define-public llvm-for-rocm
(hidden-package
(package
;; Actually based on LLVM 13 as of v4.3, but llvm-12 works just fine.
(inherit llvm-12)
(name "llvm-for-rocm")
(version %rocm-version)
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/RadeonOpenCompute/llvm-project.git")
(commit (string-append "rocm-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0p75nr1qpmy6crymdax5hm40wkimman4lnglz4x5cnbiqindya7s"))
(patches
(search-patches "llvm-roc-4.2.0-add_Object.patch"
"llvm-roc-3.0.0-add_libraries.patch"
"llvm-roc-4.0.0-remove-isystem-usr-include.patch"))))
(arguments
(substitute-keyword-arguments (package-arguments llvm-12)
((#:phases phases '%standard-phases)
`(modify-phases ,phases
(add-after 'unpack 'chdir
(lambda _
(chdir "llvm")))))
((#:configure-flags flags)
''("-DLLVM_ENABLE_PROJECTS=llvm;clang;lld"
"-DLLVM_TARGETS_TO_BUILD=AMDGPU;X86"
"-DCMAKE_SKIP_BUILD_RPATH=FALSE"
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"
"-DBUILD_SHARED_LIBS:BOOL=TRUE"
"-DLLVM_VERSION_SUFFIX=")))))))
(define-public rocm-device-libs (define-public rocm-device-libs
(package (package
(name "rocm-device-libs") (name "rocm-device-libs")

View file

@ -34,6 +34,7 @@
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages crates-io) #:use-module (gnu packages crates-io)
#:use-module (gnu packages crates-graphics) #:use-module (gnu packages crates-graphics)
@ -42,6 +43,7 @@
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages jemalloc) #:use-module (gnu packages jemalloc)
#:use-module (gnu packages linux)
#:use-module (gnu packages ssh) #:use-module (gnu packages ssh)
#:use-module (gnu packages pcre) #:use-module (gnu packages pcre)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
@ -644,6 +646,60 @@ gitignore rules.")
(base32 (base32
"13jzbmjz1bmmfr0i80hw6ar484mgabx3hbpb2ynhk0ddqi0yr58m")))))) "13jzbmjz1bmmfr0i80hw6ar484mgabx3hbpb2ynhk0ddqi0yr58m"))))))
(define-public sniffglue
(package
(name "sniffglue")
(version "0.12.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "sniffglue" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1q1kwkw1hq38qgvc6j4b5l9m85a6lpn1jls4bm27c5kha9cg8l24"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-ansi-term" ,rust-ansi-term-0.12)
("rust-anyhow" ,rust-anyhow-1)
("rust-atty" ,rust-atty-0.2)
("rust-base64" ,rust-base64-0.13)
("rust-dhcp4r" ,rust-dhcp4r-0.2)
("rust-dirs-next" ,rust-dirs-next-2)
("rust-dns-parser" ,rust-dns-parser-0.8)
("rust-env-logger" ,rust-env-logger-0.8)
("rust-libc" ,rust-libc-0.2)
("rust-log" ,rust-log-0.4)
("rust-nix" ,rust-nix-0.20)
("rust-nom" ,rust-nom-6)
("rust-num-cpus" ,rust-num-cpus-1)
("rust-pcap-sys" ,rust-pcap-sys-0.1)
("rust-pktparse" ,rust-pktparse-0.5)
("rust-reduce" ,rust-reduce-0.1)
("rust-serde" ,rust-serde-1)
("rust-serde-derive" ,rust-serde-derive-1)
("rust-serde-json" ,rust-serde-json-1)
("rust-sha2" ,rust-sha2-0.9)
("rust-structopt" ,rust-structopt-0.3)
("rust-syscallz" ,rust-syscallz-0.15)
("rust-tls-parser" ,rust-tls-parser-0.10)
("rust-toml" ,rust-toml-0.5)
("rust-users" ,rust-users-0.11))
#:cargo-development-inputs
(("rust-boxxy" ,rust-boxxy-0.11))))
(inputs
`(("libpcap" ,libpcap)
("libseccomp" ,libseccomp)))
(home-page "https://github.com/kpcyrd/sniffglue")
(synopsis "Secure multithreaded packet sniffer")
(description
"This package provides a network sniffer written in Rust. Packets
are parsed concurrently using a thread pool to utilize all cpu cores. A goal
of the project is to be runnable on untrusted networks without crashing.")
(license license:gpl3)))
(define-public tectonic (define-public tectonic
(package (package
(name "tectonic") (name "tectonic")

View file

@ -797,14 +797,14 @@ shell services and remote host selection.")
(define-public python-asyncssh (define-public python-asyncssh
(package (package
(name "python-asyncssh") (name "python-asyncssh")
(version "2.5.0") (version "2.7.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "asyncssh" version)) (uri (pypi-uri "asyncssh" version))
(sha256 (sha256
(base32 (base32
"02xpzir9rmw7b7k07m3f912h6jvy9yzan9yn3ckrmqx2ffpy4r8b")))) "0lnhh2h1mj79j66ni883s9f3xldnbjb10vh80g24b7m003mm524c"))))
(build-system python-build-system) (build-system python-build-system)
(propagated-inputs (propagated-inputs
`(("python-cryptography" ,python-cryptography) `(("python-cryptography" ,python-cryptography)

View file

@ -190,7 +190,7 @@ a task.")
(define-public blanket (define-public blanket
(package (package
(name "blanket") (name "blanket")
(version "0.3.1") (version "0.4.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -199,7 +199,7 @@ a task.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "13xip9b2p2ai2jchkck71c849s2rlxzfvlbsgpraw9hswi0rk0jg")))) (base32 "1rk9xxiflj8rf75q56s907xp3jzxc7r88njlmxg07gl6i35mmcmi"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:glib-or-gtk? #t `(#:glib-or-gtk? #t

View file

@ -8028,6 +8028,9 @@ package, such as @command{natbib} as well).")
(base32 (base32
"09l5ymgz48s3hyn776l01g3isk3dnhrj1vdavdw4qq4kfxxpqdn9") "09l5ymgz48s3hyn776l01g3isk3dnhrj1vdavdw4qq4kfxxpqdn9")
#:trivial? #t)) #:trivial? #t))
;; This provides charter.map.
(propagated-inputs
`(("texlive-psnfss" ,texlive-psnfss)))
(home-page "https://www.ctan.org/pkg/charter") (home-page "https://www.ctan.org/pkg/charter")
(synopsis "Charter fonts for TeX") (synopsis "Charter fonts for TeX")
(description "This package provides a copy of the Charter Type-1 fonts (description "This package provides a copy of the Charter Type-1 fonts
@ -8080,7 +8083,6 @@ Support for use with LaTeX is available in @code{freenfss}, part of
"/doc/man/man1/mtx-watch.1" "/doc/man/man1/mtx-watch.1"
"/doc/man/man1/mtx-youless.1" "/doc/man/man1/mtx-youless.1"
"/bibtex/bst/context/" "/bibtex/bst/context/"
"/context/" "/context/"

View file

@ -2,6 +2,7 @@
;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com> ;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -41,15 +42,15 @@
(define-public trytond (define-public trytond
(package (package
(name "trytond") (name "trytond")
(version "5.8.2") (version "6.0.6")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "trytond" version)) (uri (pypi-uri "trytond" version))
(sha256 (sha256
(base32 "1h1x0cmmmxvjclbglvvxkv634jw6av5ilymbix1lln5lq0gd39yy")))) (base32 "1jp5cadqpwkcnml8r1hj6aak5kc8an2d5ai62p96x77nn0dp3ny4"))))
(build-system python-build-system) (build-system python-build-system)
(inputs (propagated-inputs
`(("python-dateutil" ,python-dateutil) `(("python-dateutil" ,python-dateutil)
("python-genshi" ,python-genshi) ("python-genshi" ,python-genshi)
("python-lxml" ,python-lxml) ("python-lxml" ,python-lxml)
@ -62,7 +63,8 @@
("python-werkzeug" ,python-werkzeug) ("python-werkzeug" ,python-werkzeug)
("python-wrapt" ,python-wrapt))) ("python-wrapt" ,python-wrapt)))
(native-inputs (native-inputs
`(("python-mock" ,python-mock))) `(("python-mock" ,python-mock)
("python-pillow" ,python-pillow)))
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
@ -85,13 +87,13 @@ and security.")
(define-public tryton (define-public tryton
(package (package
(name "tryton") (name "tryton")
(version "5.8.2") (version "6.0.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "tryton" version)) (uri (pypi-uri "tryton" version))
(sha256 (sha256
(base32 "0kr5ngmmldgb9a9d5ylkmppy5p8vlf9d8iwv9lnci2fyxg2705wh")))) (base32 "15cbp2r25pkr7lp4yliqgb6d0n779z70d4gckv56bx5aw4z27f66"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -110,7 +112,7 @@ and security.")
(native-inputs (native-inputs
`(("glib-compile-schemas" ,glib "bin") `(("glib-compile-schemas" ,glib "bin")
("gobject-introspection" ,gobject-introspection))) ("gobject-introspection" ,gobject-introspection)))
(inputs (propagated-inputs
`(("gdk-pixbuf" ,gdk-pixbuf+svg) `(("gdk-pixbuf" ,gdk-pixbuf+svg)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gtk+" ,gtk+) ("gtk+" ,gtk+)
@ -126,13 +128,13 @@ and security.")
(define-public python-proteus (define-public python-proteus
(package (package
(name "python-proteus") (name "python-proteus")
(version "5.8.1") (version "6.0.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "proteus" version)) (uri (pypi-uri "proteus" version))
(sha256 (sha256
(base32 "03z5ssvjcvxv1p10y7c1y0jah0k3yyc9hlyi7xax98sfqyk13bnw")))) (base32 "0qr7rir7ysxvy2kyfzp2d2kcw9qzq4vdkddbwswzgddxjpycksdh"))))
(build-system python-build-system) (build-system python-build-system)
;; Tests require python-trytond-party which requires python-proteus. ;; Tests require python-trytond-party which requires python-proteus.
(arguments (arguments
@ -170,38 +172,39 @@ the build system."
;;; Tryton modules - please sort alphabetically ;;; Tryton modules - please sort alphabetically
;;; ;;;
(define-public python-trytond-account (define %standard-trytond-native-inputs
;; native-inputs required by most of the tryton module for running the test
`(("python-dateutil" ,python-dateutil)
("python-genshi" ,python-genshi)
("python-lxml" ,python-lxml)
("python-magic" ,python-magic)
("python-passlib" ,python-passlib)
("python-polib" ,python-polib)
("python-proteus" ,python-proteus)
("python-relatorio" ,python-relatorio)
("python-sql" ,python-sql)
("python-werkzeug" ,python-werkzeug)
("python-wrapt" ,python-wrapt)))
(define-public trytond-account
(package (package
(name "python-trytond-account") (name "trytond-account")
(version "5.8.1") (version "6.0.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "trytond_account" version)) (uri (pypi-uri "trytond_account" version))
(sha256 (sha256
(base32 "16ny67vcnxk9ngcxd56cfixm441vs9jxv3apmb16xsi47yk2xd7w")))) (base32 "0j1mn8sd5n8rkwgfvcy9kf8s7s3qxvnilnc72i83ac573zj922xc"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (tryton-arguments "account")) (arguments (tryton-arguments "account"))
(native-inputs (native-inputs `(,@%standard-trytond-native-inputs))
`(("python-genshi" ,python-genshi)
("python-lxml" ,python-lxml)
("python-magic" ,python-magic)
("python-passlib" ,python-passlib)
("python-polib" ,python-polib)
("python-proteus" ,python-proteus)
("python-relatorio" ,python-relatorio)
("python-werkzeug" ,python-werkzeug)
("python-wrapt" ,python-wrapt)))
(propagated-inputs (propagated-inputs
`(("python-dateutil" ,python-dateutil) `(("python-simpleeval" ,python-simpleeval)
("python-simpleeval" ,python-simpleeval) ("trytond" ,trytond)
("python-sql" ,python-sql) ("trytond-company" ,trytond-company)
("python-trytond-company" ("trytond-currency" ,trytond-currency)
,python-trytond-company) ("trytond-party" ,trytond-party)))
("python-trytond-currency"
,python-trytond-currency)
("python-trytond-party" ,python-trytond-party)
("trytond" ,trytond)))
(home-page "https://www.tryton.org/") (home-page "https://www.tryton.org/")
(synopsis "Tryton module for accounting") (synopsis "Tryton module for accounting")
(description (description
@ -209,43 +212,30 @@ the build system."
most of accounting needs.") most of accounting needs.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public python-trytond-account-invoice (define-public python-trytond-account
(deprecated-package "python-trytond-account" trytond-account))
(define-public trytond-account-invoice
(package (package
(name "python-trytond-account-invoice") (name "trytond-account-invoice")
(version "5.8.1") (version "6.0.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "trytond_account_invoice" version)) (uri (pypi-uri "trytond_account_invoice" version))
(sha256 (sha256
(base32 "0drccambg6855p7ai8654c7f9v85jzwicwpxmagyrr09qz6qzgcz")))) (base32 "0r8zigb4qmv40kf835x8jd7049nnhk5g7g0aibvfd0y9p28lspnz"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (tryton-arguments "account_invoice")) (arguments (tryton-arguments "account_invoice"))
(native-inputs (native-inputs `(,@%standard-trytond-native-inputs))
`(("python-genshi" ,python-genshi)
("python-lxml" ,python-lxml)
("python-magic" ,python-magic)
("python-passlib" ,python-passlib)
("python-polib" ,python-polib)
("python-proteus" ,python-proteus)
("python-relatorio" ,python-relatorio)
("python-werkzeug" ,python-werkzeug)
("python-wrapt" ,python-wrapt)))
(propagated-inputs (propagated-inputs
`(("python-dateutil" ,python-dateutil) `(("trytond" ,trytond)
("python-sql" ,python-sql) ("trytond-account" ,trytond-account)
("python-trytond-account" ("trytond-account-product" ,trytond-account-product)
,python-trytond-account) ("trytond-company" ,trytond-company)
("python-trytond-account-product" ("trytond-currency" ,trytond-currency)
,python-trytond-account-product) ("trytond-party" ,trytond-party)
("python-trytond-company" ("trytond-product" ,trytond-product)))
,python-trytond-company)
("python-trytond-currency"
,python-trytond-currency)
("python-trytond-party" ,python-trytond-party)
("python-trytond-product"
,python-trytond-product)
("trytond" ,trytond)))
(home-page "https://www.tryton.org/") (home-page "https://www.tryton.org/")
(synopsis "Tryton module for invoicing") (synopsis "Tryton module for invoicing")
(description (description
@ -253,39 +243,27 @@ most of accounting needs.")
term.") term.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public python-trytond-account-invoice-stock (define-public python-trytond-account-invoice
(deprecated-package "python-trytond-account-invoice" trytond-account-invoice))
(define-public trytond-account-invoice-stock
(package (package
(name "python-trytond-account-invoice-stock") (name "trytond-account-invoice-stock")
(version "5.8.1") (version "6.0.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri (uri (pypi-uri "trytond_account_invoice_stock" version))
"trytond_account_invoice_stock"
version))
(sha256 (sha256
(base32 "02m6ikcc38ac41ddzg5xp5l9jz0k6j7j1g2xa62ki4v093yn4z5v")))) (base32 "1228n6vsx0rdjsy3idvpyssa3n21nhvz9gqaacwa46c0hp2251bp"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (tryton-arguments "account_invoice_stock")) (arguments (tryton-arguments "account_invoice_stock"))
(native-inputs (native-inputs `(,@%standard-trytond-native-inputs))
`(("python-dateutil" ,python-dateutil)
("python-genshi" ,python-genshi)
("python-lxml" ,python-lxml)
("python-magic" ,python-magic)
("python-passlib" ,python-passlib)
("python-polib" ,python-polib)
("python-proteus" ,python-proteus)
("python-relatorio" ,python-relatorio)
("python-sql" ,python-sql)
("python-werkzeug" ,python-werkzeug)
("python-wrapt" ,python-wrapt)))
(propagated-inputs (propagated-inputs
`(("python-trytond-account-invoice" `(("trytond" ,trytond)
,python-trytond-account-invoice) ("trytond-account-invoice" ,trytond-account-invoice)
("python-trytond-product" ("trytond-product" ,trytond-product)
,python-trytond-product) ("trytond-stock" ,trytond-stock)))
("python-trytond-stock" ,python-trytond-stock)
("trytond" ,trytond)))
(home-page "https://www.tryton.org/") (home-page "https://www.tryton.org/")
(synopsis "Tryton module to link stock and invoice") (synopsis "Tryton module to link stock and invoice")
(description (description
@ -294,40 +272,29 @@ lines and stock moves. The unit price of the stock move is updated with the
average price of the posted invoice lines that are linked to it.") average price of the posted invoice lines that are linked to it.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public python-trytond-account-product (define-public python-trytond-account-invoice-stock
(deprecated-package
"python-trytond-account-invoice-stock" trytond-account-invoice-stock))
(define-public trytond-account-product
(package (package
(name "python-trytond-account-product") (name "trytond-account-product")
(version "5.8.1") (version "6.0.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "trytond_account_product" version)) (uri (pypi-uri "trytond_account_product" version))
(sha256 (sha256
(base32 "10bpbkkmllbh9lm5ajydmc5nvqm9bbdn9rmm03jqgik23s5kyx2z")))) (base32 "1z0dn1p22smzb4a9v451224wrpxcw94inl7jxkarc0q088gasn7d"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (tryton-arguments "account_product")) (arguments (tryton-arguments "account_product"))
(native-inputs (native-inputs `(,@%standard-trytond-native-inputs))
`(("python-dateutil" ,python-dateutil)
("python-genshi" ,python-genshi)
("python-lxml" ,python-lxml)
("python-magic" ,python-magic)
("python-passlib" ,python-passlib)
("python-polib" ,python-polib)
("python-proteus" ,python-proteus)
("python-relatorio" ,python-relatorio)
("python-sql" ,python-sql)
("python-werkzeug" ,python-werkzeug)
("python-wrapt" ,python-wrapt)))
(propagated-inputs (propagated-inputs
`(("python-trytond-account" `(("trytond" ,trytond)
,python-trytond-account) ("trytond-account" ,trytond-account)
("python-trytond-analytic-account" ("trytond-analytic-account" ,trytond-analytic-account)
,python-trytond-analytic-account) ("trytond-company" ,trytond-company)
("python-trytond-company" ("trytond-product" ,trytond-product)))
,python-trytond-company)
("python-trytond-product"
,python-trytond-product)
("trytond" ,trytond)))
(home-page "https://www.tryton.org/") (home-page "https://www.tryton.org/")
(synopsis "Tryton module to add accounting on product") (synopsis "Tryton module to add accounting on product")
(description (description
@ -335,39 +302,28 @@ average price of the posted invoice lines that are linked to it.")
and category.") and category.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public python-trytond-analytic-account (define-public python-trytond-account-product
(deprecated-package "python-trytond-account-product" trytond-account-product))
(define-public trytond-analytic-account
(package (package
(name "python-trytond-analytic-account") (name "trytond-analytic-account")
(version "5.8.1") (version "6.0.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "trytond_analytic_account" version)) (uri (pypi-uri "trytond_analytic_account" version))
(sha256 (sha256
(base32 "10rn2rf1ji7d1gxmgca368yvabql1ahklqg7p8sh5bl79vn5qx5x")))) (base32 "09j9xz41n5hk3j7w63xbw1asd3p00prqvl652qcm9x1nrlmqiw3r"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (tryton-arguments "analytic_account")) (arguments (tryton-arguments "analytic_account"))
(native-inputs (native-inputs `(,@%standard-trytond-native-inputs))
`(("python-dateutil" ,python-dateutil)
("python-genshi" ,python-genshi)
("python-lxml" ,python-lxml)
("python-magic" ,python-magic)
("python-passlib" ,python-passlib)
("python-polib" ,python-polib)
("python-proteus" ,python-proteus)
("python-relatorio" ,python-relatorio)
("python-werkzeug" ,python-werkzeug)
("python-wrapt" ,python-wrapt)))
(propagated-inputs (propagated-inputs
`(("python-sql" ,python-sql) `(("trytond" ,trytond)
("python-trytond-account" ("trytond-account" ,trytond-account)
,python-trytond-account) ("trytond-company" ,trytond-company)
("python-trytond-company" ("trytond-currency" ,trytond-currency)
,python-trytond-company) ("trytond-party" ,trytond-party)))
("python-trytond-currency"
,python-trytond-currency)
("python-trytond-party" ,python-trytond-party)
("trytond" ,trytond)))
(home-page "https://www.tryton.org/") (home-page "https://www.tryton.org/")
(synopsis "Tryton module for analytic accounting") (synopsis "Tryton module for analytic accounting")
(description (description
@ -375,35 +331,27 @@ and category.")
required to analyse accounting using multiple different axes.") required to analyse accounting using multiple different axes.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public python-trytond-company (define-public python-trytond-analytic-account
(deprecated-package
"python-trytond-analytic-account" trytond-analytic-account))
(define-public trytond-company
(package (package
(name "python-trytond-company") (name "trytond-company")
(version "5.8.1") (version "6.0.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "trytond_company" version)) (uri (pypi-uri "trytond_company" version))
(sha256 (sha256
(base32 "1bwy2rkgfw32cwhq5fh3rpy7bx425h44ap10i9kjx5ak86bfnpz9")))) (base32 "1q4qdyg32dn00pn3pj2yjl3jhxaqpv7a1cv5s5c95cpy5p46p02n"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (tryton-arguments "company")) (arguments (tryton-arguments "company"))
(native-inputs (native-inputs `(,@%standard-trytond-native-inputs))
`(("python-dateutil" ,python-dateutil)
("python-genshi" ,python-genshi)
("python-lxml" ,python-lxml)
("python-magic" ,python-magic)
("python-passlib" ,python-passlib)
("python-polib" ,python-polib)
("python-proteus" ,python-proteus)
("python-relatorio" ,python-relatorio)
("python-sql" ,python-sql)
("python-werkzeug" ,python-werkzeug)
("python-wrapt" ,python-wrapt)))
(propagated-inputs (propagated-inputs
`(("python-trytond-currency" `(("trytond" ,trytond)
,python-trytond-currency) ("trytond-currency" ,trytond-currency)
("python-trytond-party" ,python-trytond-party) ("trytond-party" ,trytond-party)))
("trytond" ,trytond)))
(home-page "https://www.tryton.org/") (home-page "https://www.tryton.org/")
(synopsis "Tryton module with companies and employees") (synopsis "Tryton module with companies and employees")
(description (description
@ -411,31 +359,23 @@ required to analyse accounting using multiple different axes.")
company and employee and extend the user model.") company and employee and extend the user model.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public python-trytond-country (define-public python-trytond-company
(deprecated-package "python-trytond-company" trytond-company))
(define-public trytond-country
(package (package
(name "python-trytond-country") (name "trytond-country")
(version "5.8.1") (version "6.0.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "trytond_country" version)) (uri (pypi-uri "trytond_country" version))
(sha256 (sha256
(base32 "1lkspk5w5pb0gg2h27zb7vwcj993gkm1f84qdxmqlpkc8raqvicj")))) (base32 "1ksinysac7p0k8avsz8xqzfkmm21s6i93qyrsma5h4y5477cwmw7"))))
(build-system python-build-system) (build-system python-build-system)
;; Doctest contains one test that requires internet access. ;; Doctest contains one test that requires internet access.
(arguments (tryton-arguments "country" "--no-doctest")) (arguments (tryton-arguments "country" "--no-doctest"))
(native-inputs (native-inputs `(,@%standard-trytond-native-inputs))
`(("python-dateutil" ,python-dateutil)
("python-genshi" ,python-genshi)
("python-lxml" ,python-lxml)
("python-magic" ,python-magic)
("python-passlib" ,python-passlib)
("python-polib" ,python-polib)
("python-proteus" ,python-proteus)
("python-relatorio" ,python-relatorio)
("python-sql" ,python-sql)
("python-werkzeug" ,python-werkzeug)
("python-wrapt" ,python-wrapt)))
(propagated-inputs (propagated-inputs
`(("python-pycountry" ,python-pycountry) `(("python-pycountry" ,python-pycountry)
("trytond" ,trytond))) ("trytond" ,trytond)))
@ -445,31 +385,26 @@ company and employee and extend the user model.")
"This package provides a Tryton module with countries.") "This package provides a Tryton module with countries.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public python-trytond-currency (define-public python-trytond-country
(deprecated-package "python-trytond-country" trytond-country))
(define-public trytond-currency
(package (package
(name "python-trytond-currency") (name "trytond-currency")
(version "5.8.1") (version "6.0.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "trytond_currency" version)) (uri (pypi-uri "trytond_currency" version))
(sha256 (sha256
(base32 "0b5p7ibil7nlsv7f31j69rka4xj5za798262algx7xa88a6h7mmx")))) (base32 "0fs2wvhgvc0l4yzs5m9l8z4lbzazr42hgz0859malhnlp1sya2kq"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (tryton-arguments "currency")) ;; Doctest 'scenario_currency_rate_update.rst' fails.
(arguments (tryton-arguments "currency" "--no-doctest"))
(native-inputs (native-inputs
`(("python-dateutil" ,python-dateutil) `(,@%standard-trytond-native-inputs
("python-genshi" ,python-genshi)
("python-forex-python" ,python-forex-python) ("python-forex-python" ,python-forex-python)
("python-lxml" ,python-lxml) ("python-pycountry" ,python-pycountry)))
("python-magic" ,python-magic)
("python-passlib" ,python-passlib)
("python-polib" ,python-polib)
("python-proteus" ,python-proteus)
("python-pycountry" ,python-pycountry)
("python-relatorio" ,python-relatorio)
("python-werkzeug" ,python-werkzeug)
("python-wrapt" ,python-wrapt)))
(propagated-inputs (propagated-inputs
`(("python-sql" ,python-sql) `(("python-sql" ,python-sql)
("trytond" ,trytond))) ("trytond" ,trytond)))
@ -480,35 +415,27 @@ company and employee and extend the user model.")
currency and rate.") currency and rate.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public python-trytond-party (define-public python-trytond-currency
(deprecated-package "python-trytond-currency" trytond-currency))
(define-public trytond-party
(package (package
(name "python-trytond-party") (name "trytond-party")
(version "5.8.1") (version "6.0.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "trytond_party" version)) (uri (pypi-uri "trytond_party" version))
(sha256 (sha256
(base32 "1hapfq7ip99s4qp9xra1m40q4n379p9pmfnz2x4ggd79ss76bghc")))) (base32 "0aikzpr0ambc98v76dl6xqa42b08dy3b011y33lvxjp5mcha3f7y"))))
(build-system python-build-system) (build-system python-build-system)
;; Doctest 'scenario_party_phone_number.rst' fails. ;; Doctest 'scenario_party_phone_number.rst' fails.
(arguments (tryton-arguments "party" "--no-doctest")) (arguments (tryton-arguments "party" "--no-doctest"))
(native-inputs (native-inputs `(,@%standard-trytond-native-inputs))
`(("python-dateutil" ,python-dateutil)
("python-genshi" ,python-genshi)
("python-lxml" ,python-lxml)
("python-magic" ,python-magic)
("python-passlib" ,python-passlib)
("python-polib" ,python-polib)
("python-proteus" ,python-proteus)
("python-relatorio" ,python-relatorio)
("python-werkzeug" ,python-werkzeug)
("python-wrapt" ,python-wrapt)))
(propagated-inputs (propagated-inputs
`(("python-sql" ,python-sql) `(("python-stdnum" ,python-stdnum)
("python-stnum" ,python-stdnum) ("trytond" ,trytond)
("python-trytond-country" ,python-trytond-country) ("trytond-country" ,trytond-country)))
("trytond" ,trytond)))
(home-page "https://www.tryton.org/") (home-page "https://www.tryton.org/")
(synopsis "Tryton module for parties and addresses") (synopsis "Tryton module for parties and addresses")
(description (description
@ -516,35 +443,26 @@ currency and rate.")
addresses.") addresses.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public python-trytond-product (define-public python-trytond-party
(deprecated-package "python-trytond-party" trytond-party))
(define-public trytond-product
(package (package
(name "python-trytond-product") (name "trytond-product")
(version "5.8.1") (version "6.0.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "trytond_product" version)) (uri (pypi-uri "trytond_product" version))
(sha256 (sha256
(base32 "0x18ngpjyrdwjwg17bz98jph4jv5gcv0qc0p2kxpam4lqsy34ic2")))) (base32 "1xvvqxkvzyqy6fn2sj5h3zj0g17igzwx6s18sxkdz72vqz6kpv0l"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (tryton-arguments "product")) (arguments (tryton-arguments "product"))
(native-inputs (native-inputs `(,@%standard-trytond-native-inputs))
`(("python-dateutil" ,python-dateutil)
("python-genshi" ,python-genshi)
("python-lxml" ,python-lxml)
("python-magic" ,python-magic)
("python-passlib" ,python-passlib)
("python-polib" ,python-polib)
("python-proteus" ,python-proteus)
("python-relatorio" ,python-relatorio)
("python-werkzeug" ,python-werkzeug)
("python-wrapt" ,python-wrapt)))
(propagated-inputs (propagated-inputs
`(("python-sql" ,python-sql) `(("python-stdnum" ,python-stdnum)
("python-stdnum" ,python-stdnum) ("trytond" ,trytond)
("python-trytond-company" ("trytond-company" ,trytond-company)))
,python-trytond-company)
("trytond" ,trytond)))
(home-page "https://www.tryton.org/") (home-page "https://www.tryton.org/")
(synopsis "Tryton module with products") (synopsis "Tryton module with products")
(description (description
@ -552,85 +470,60 @@ addresses.")
Template and Product.") Template and Product.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public python-trytond-purchase (define-public python-trytond-product
(deprecated-package "python-trytond-product" trytond-product))
(define-public trytond-purchase
(package (package
(name "python-trytond-purchase") (name "trytond-purchase")
(version "5.8.1") (version "6.0.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "trytond_purchase" version)) (uri (pypi-uri "trytond_purchase" version))
(sha256 (sha256
(base32 "0na74zijj46b12gypy9si3las02a96rh5ygl503c7razha61g1b0")))) (base32 "12drjw30ik3alckn6xrny4814vzi3ysh17wgiawiy9319yahsvay"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (tryton-arguments "purchase")) (arguments (tryton-arguments "purchase"))
(native-inputs (native-inputs `(,@%standard-trytond-native-inputs))
`(("python-dateutil" ,python-dateutil)
("python-genshi" ,python-genshi)
("python-lxml" ,python-lxml)
("python-magic" ,python-magic)
("python-passlib" ,python-passlib)
("python-polib" ,python-polib)
("python-proteus" ,python-proteus)
("python-relatorio" ,python-relatorio)
("python-werkzeug" ,python-werkzeug)
("python-wrapt" ,python-wrapt)))
(propagated-inputs (propagated-inputs
`(("python-sql" ,python-sql) `(("trytond" ,trytond)
("python-trytond-account" ("trytond-account" ,trytond-account)
,python-trytond-account) ("trytond-account-invoice" ,trytond-account-invoice)
("python-trytond-account-invoice" ("trytond-account-invoice-stock" ,trytond-account-invoice-stock)
,python-trytond-account-invoice) ("trytond-account-product" ,trytond-account-product)
("python-trytond-account-invoice-stock" ("trytond-company" ,trytond-company)
,python-trytond-account-invoice-stock) ("trytond-currency" ,trytond-currency)
("python-trytond-account-product" ("trytond-party" ,trytond-party)
,python-trytond-account-product) ("trytond-product" ,trytond-product)
("python-trytond-company" ("trytond-stock" ,trytond-stock)))
,python-trytond-company)
("python-trytond-currency"
,python-trytond-currency)
("python-trytond-party" ,python-trytond-party)
("python-trytond-product"
,python-trytond-product)
("python-trytond-stock" ,python-trytond-stock)
("trytond" ,trytond)))
(home-page "https://www.tryton.org/") (home-page "https://www.tryton.org/")
(synopsis "Tryton module for purchase") (synopsis "Tryton module for purchase")
(description (description
"This package provides a Tryton module that defines the Purchase model.") "This package provides a Tryton module that defines the Purchase model.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public python-trytond-purchase-request (define-public python-trytond-purchase
(deprecated-package "python-trytond-purchase" trytond-purchase))
(define-public trytond-purchase-request
(package (package
(name "python-trytond-purchase-request") (name "trytond-purchase-request")
(version "5.8.1") (version "6.0.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "trytond_purchase_request" version)) (uri (pypi-uri "trytond_purchase_request" version))
(sha256 (sha256
(base32 "1m92snnvgisnv083nml6cz5qgnfdg539rd5bwg3lqrknm7343w16")))) (base32 "0yhf3lh5b24qpk80r5pbmmswf5757bxa0s7ckl40vf6lkjkccv5i"))))
(build-system python-build-system) (build-system python-build-system)
;; Doctest 'scenario_purchase_request.rst' fails. ;; Doctest 'scenario_purchase_request.rst' fails.
(arguments (tryton-arguments "purchase_request" "--no-doctest")) (arguments (tryton-arguments "purchase_request" "--no-doctest"))
(native-inputs (native-inputs `(,@%standard-trytond-native-inputs))
`(("python-dateutil" ,python-dateutil)
("python-genshi" ,python-genshi)
("python-lxml" ,python-lxml)
("python-magic" ,python-magic)
("python-passlib" ,python-passlib)
("python-polib" ,python-polib)
("python-proteus" ,python-proteus)
("python-relatorio" ,python-relatorio)
("python-sql" ,python-sql)
("python-werkzeug" ,python-werkzeug)
("python-wrapt" ,python-wrapt)))
(propagated-inputs (propagated-inputs
`(("python-trytond-product" `(("trytond" ,trytond)
,python-trytond-product) ("trytond-product" ,trytond-product)
("python-trytond-purchase" ("trytond-purchase" ,trytond-purchase)))
,python-trytond-purchase)
("trytond" ,trytond)))
(home-page "https://www.tryton.org/") (home-page "https://www.tryton.org/")
(synopsis "Tryton module for purchase requests") (synopsis "Tryton module for purchase requests")
(description (description
@ -639,39 +532,30 @@ Purchase Requests which are central points to collect purchase requests
generated by other process from Tryton.") generated by other process from Tryton.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public python-trytond-stock (define-public python-trytond-purchase-request
(deprecated-package
"python-trytond-purchase-request" trytond-purchase-request))
(define-public trytond-stock
(package (package
(name "python-trytond-stock") (name "trytond-stock")
(version "5.8.2") (version "6.0.6")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "trytond_stock" version)) (uri (pypi-uri "trytond_stock" version))
(sha256 (sha256
(base32 "0yb8kd3alwqkivrlpx0ni4jxv3x14i37lmwism9yi81xwchyrcjk")))) (base32 "1v6pvkwj6vhjqbz2zn0609kb7kx4g0dsn1xhvax4z2dqigh7ywpx"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (tryton-arguments "stock")) (arguments (tryton-arguments "stock"))
(native-inputs (native-inputs `(,@%standard-trytond-native-inputs))
`(("python-genshi" ,python-genshi)
("python-lxml" ,python-lxml)
("python-magic" ,python-magic)
("python-passlib" ,python-passlib)
("python-polib" ,python-polib)
("python-proteus" ,python-proteus)
("python-relatorio" ,python-relatorio)
("python-werkzeug" ,python-werkzeug)
("python-wrapt" ,python-wrapt)))
(propagated-inputs (propagated-inputs
`(("python-simpleeval" ,python-simpleeval) `(("python-simpleeval" ,python-simpleeval)
("python-sql" ,python-sql) ("trytond" ,trytond)
("python-trytond-company" ("trytond-company" ,trytond-company)
,python-trytond-company) ("trytond-currency" ,trytond-currency)
("python-trytond-currency" ("trytond-party" ,trytond-party)
,python-trytond-currency) ("trytond-product" ,trytond-product)))
("python-trytond-party" ,python-trytond-party)
("python-trytond-product"
,python-trytond-product)
("trytond" ,trytond)))
(home-page "https://www.tryton.org/") (home-page "https://www.tryton.org/")
(synopsis "Tryton module for stock and inventory") (synopsis "Tryton module for stock and inventory")
(description (description
@ -681,80 +565,62 @@ between these locations, shipments for product arrivals and departures and
inventory to control and update stock levels.") inventory to control and update stock levels.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public python-trytond-stock-lot (define-public python-trytond-stock
(deprecated-package "python-trytond-stock" trytond-stock))
(define-public trytond-stock-lot
(package (package
(name "python-trytond-stock-lot") (name "trytond-stock-lot")
(version "5.8.2") (version "6.0.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "trytond_stock_lot" version)) (uri (pypi-uri "trytond_stock_lot" version))
(sha256 (sha256
(base32 "0w2f62cfzm7j8wnw8igmjslpxc1a8s82dkdizyvim5qhjg6mrsym")))) (base32 "18cwrvnrzjk1wb765gr6hp3plpdpwz1a7cwimjhxi47iw7w5c84g"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (tryton-arguments "stock_lot")) (arguments (tryton-arguments "stock_lot"))
(native-inputs (native-inputs `(,@%standard-trytond-native-inputs))
`(("python-dateutil" ,python-dateutil)
("python-genshi" ,python-genshi)
("python-lxml" ,python-lxml)
("python-magic" ,python-magic)
("python-passlib" ,python-passlib)
("python-polib" ,python-polib)
("python-proteus" ,python-proteus)
("python-relatorio" ,python-relatorio)
("python-sql" ,python-sql)
("python-werkzeug" ,python-werkzeug)
("python-wrapt" ,python-wrapt)))
(propagated-inputs (propagated-inputs
`(("python-trytond-product" `(("trytond" ,trytond)
,python-trytond-product) ("trytond-product" ,trytond-product)
("python-trytond-stock" ,python-trytond-stock) ("trytond-stock" ,trytond-stock)))
("trytond" ,trytond)))
(home-page "https://www.tryton.org/") (home-page "https://www.tryton.org/")
(synopsis "Tryton module for lot of products") (synopsis "Tryton module for lot of products")
(description (description
"This package provides a Tryton module that defines lot of products.") "This package provides a Tryton module that defines lot of products.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public python-trytond-stock-supply (define-public python-trytond-stock-lot
(deprecated-package "python-trytond-stock-lot" trytond-stock-lot))
(define-public trytond-stock-supply
(package (package
(name "python-trytond-stock-supply") (name "trytond-stock-supply")
(version "5.8.1") (version "6.0.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "trytond_stock_supply" version)) (uri (pypi-uri "trytond_stock_supply" version))
(sha256 (sha256
(base32 "01cgpxlznldrba79a3xmj4d0csyfc3ccgs66c490j8v8rdnqpbww")))) (base32 "1p5l3yjjy6l25kk9xnhbl691l3v8gfg9fhc87jc6qszhxlqxk730"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (tryton-arguments "stock_supply")) (arguments (tryton-arguments "stock_supply"))
(native-inputs (native-inputs `(,@%standard-trytond-native-inputs))
`(("python-dateutil" ,python-dateutil)
("python-genshi" ,python-genshi)
("python-lxml" ,python-lxml)
("python-magic" ,python-magic)
("python-passlib" ,python-passlib)
("python-polib" ,python-polib)
("python-proteus" ,python-proteus)
("python-relatorio" ,python-relatorio)
("python-werkzeug" ,python-werkzeug)
("python-wrapt" ,python-wrapt)))
(propagated-inputs (propagated-inputs
`(("python-sql" ,python-sql) `(("trytond" ,trytond)
("python-trytond-account" ("trytond-account" ,trytond-account)
,python-trytond-account) ("trytond-party" ,trytond-party)
("python-trytond-party" ,python-trytond-party) ("trytond-product" ,trytond-product)
("python-trytond-product" ("trytond-purchase" ,trytond-purchase)
,python-trytond-product) ("trytond-purchase-request" ,trytond-purchase-request)
("python-trytond-purchase" ("trytond-stock" ,trytond-stock)))
,python-trytond-purchase)
("python-trytond-purchase-request"
,python-trytond-purchase-request)
("python-trytond-stock" ,python-trytond-stock)
("trytond" ,trytond)))
(home-page "https://www.tryton.org/") (home-page "https://www.tryton.org/")
(synopsis "Tryton module for stock supply") (synopsis "Tryton module for stock supply")
(description (description
"This package provides a Tryton module that adds automatic supply "This package provides a Tryton module that adds automatic supply
mechanisms and introduces the concepts of order point.") mechanisms and introduces the concepts of order point.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public python-trytond-stock-supply
(deprecated-package "python-trytond-stock-supply" trytond-stock-supply))

View file

@ -1596,7 +1596,7 @@ visualize your public Git repositories on a web interface.")
(define-public pre-commit (define-public pre-commit
(package (package
(name "pre-commit") (name "pre-commit")
(version "2.14.0") (version "2.15.0")
(source (source
(origin (origin
;; No tests in the PyPI tarball. ;; No tests in the PyPI tarball.
@ -1606,7 +1606,7 @@ visualize your public Git repositories on a web interface.")
(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 "0k6a9bmci5j0q0vmnmxxyx99h3i7lks8p7d76byadnxdh117ygqg")))) (base32 "0hyynhg52qq8rd37cwk2gl1jjy7hpqh74zl2lg89kkdhhx0xfiaj"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases `(#:phases

View file

@ -4222,7 +4222,7 @@ tools for styling them, including a built-in real-time video preview.")
(define-public pitivi (define-public pitivi
;; Pitivi switched to a non-semantic versioning scheme close before 1.0 ;; Pitivi switched to a non-semantic versioning scheme close before 1.0
(let ((latest-semver "0.999.0") (let ((latest-semver "0.999.0")
(%version "2021.01.0")) (%version "2021.05.0"))
(package (package
(name "pitivi") (name "pitivi")
(version (string-append latest-semver "-" %version)) (version (string-append latest-semver "-" %version))
@ -4234,7 +4234,7 @@ tools for styling them, including a built-in real-time video preview.")
(commit %version))) (commit %version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1jics10l16ismi5br6wxi4jxz3dd4p0c0xv8l0l3nvksvda4aafi")))) (base32 "08x2fs2bak1fbmkvjijgx1dsawispv91bpv5j5gkqbv5dfgf7wah"))))
(build-system meson-build-system) (build-system meson-build-system)
(inputs (inputs
`(("glib" ,glib) `(("glib" ,glib)
@ -4278,8 +4278,7 @@ tools for styling them, including a built-in real-time video preview.")
;; necessary or optional. Let the user's packages take ;; necessary or optional. Let the user's packages take
;; precedence in case they have e.g. the full gst-plugins-bad. ;; precedence in case they have e.g. the full gst-plugins-bad.
`("GST_PLUGIN_SYSTEM_PATH" suffix `("GST_PLUGIN_SYSTEM_PATH" suffix
(,(getenv "GST_PLUGIN_SYSTEM_PATH"))))) (,(getenv "GST_PLUGIN_SYSTEM_PATH"))))))))))
#t)))))
(home-page "http://www.pitivi.org") (home-page "http://www.pitivi.org")
(synopsis "Video editor based on GStreamer Editing Services") (synopsis "Video editor based on GStreamer Editing Services")
(description "Pitivi is a video editor built upon the GStreamer Editing (description "Pitivi is a video editor built upon the GStreamer Editing
@ -4678,7 +4677,7 @@ transitions, and effects and then export your film to many common formats.")
(define-public shotcut (define-public shotcut
(package (package
(name "shotcut") (name "shotcut")
(version "21.06.29") (version "21.08.29")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -4687,7 +4686,7 @@ transitions, and effects and then export your film to many common formats.")
(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 "0384iv2129mpalia39x8mn5xlbgx9ip994700jzjjxdqfq23a9qm")))) (base32 "0lj3ini0fymvcwxk8l1l8ms5519n5n87gdvh0yfhilwp0zqyqkc6"))))
(build-system qt-build-system) (build-system qt-build-system)
(arguments (arguments
`(#:tests? #f ;there are no tests `(#:tests? #f ;there are no tests
@ -4753,7 +4752,7 @@ and audio capture, network stream playback, and many more.")
(define-public dav1d (define-public dav1d
(package (package
(name "dav1d") (name "dav1d")
(version "0.9.1") (version "0.9.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -4762,7 +4761,7 @@ and audio capture, network stream playback, and many more.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "15ngaqyjbwkj0rd9mvxaqf3i9vzsnlrqgr50cnxxjqnpf7xdmslj")))) (base32 "0bkps488h9s15ylvkm4fmfywgrpbw570glawpnv6khpq9n223dzl"))))
(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

@ -978,6 +978,34 @@ asynchronous adapters (including tmux, screen, and a headless mode), and when
the job completes, errors will be loaded and parsed automatically.") the job completes, errors will be loaded and parsed automatically.")
(license license:vim))) (license license:vim)))
(define-public vim-gemini-vim
;; No releases have been tagged.
(let ((commit "f300c54174fc0db8fb68f1bc04307b58612e9630")
(revision "1"))
(package
(name "vim-gemini-vim")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~torresjrjr/gemini.vim")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "05ffhhfahjqwxyrqmsinsahrs15wknzl2qbj8mznyv319mn2civ2"))))
(build-system copy-build-system)
(arguments
`(#:install-plan
'(("ftdetect" "share/vim/vimfiles/")
("syntax" "share/vim/vimfiles/"))))
(home-page "https://git.sr.ht/~torresjrjr/gemini.vim")
(synopsis "Vim syntax highlighting plugin for Gemini")
(description "This Vim plugin provides a Vim syntax highlighting plugin
for Gemini Text, the text/gemini media type, as defined in the Gemini protocol
specification.")
(license license:gpl3))))
(define-public vim-eunuch (define-public vim-eunuch
(let ((commit "33e875b31c8b811a0a47908884a5e2339106bbe8") (let ((commit "33e875b31c8b811a0a47908884a5e2339106bbe8")
(revision "1")) (revision "1"))
@ -1005,3 +1033,35 @@ the job completes, errors will be loaded and parsed automatically.")
This package includes commands such as @code{SudoWrite} and @code{SudoEdit} and This package includes commands such as @code{SudoWrite} and @code{SudoEdit} and
help working on Vim buffers and the files they reference with one command.") help working on Vim buffers and the files they reference with one command.")
(license license:vim)))) (license license:vim))))
(define-public vim-slime
;; No tagged releases.
(let ((commit "a522fed677e50175f52efc5848cc35209af33216")
(revision "1"))
(package
(name "vim-slime")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jpalardy/vim-slime")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0k4b629jn6xlxyjxdl3cgm06v9dmx967rqnslv5m82c9kscwpyh4"))))
(build-system copy-build-system)
(arguments
`(#:install-plan
'(("autoload" "share/vim/vimfiles/")
("doc" "share/vim/vimfiles/")
("ftplugin" "share/vim/vimfiles/")
("plugin" "share/vim/vimfiles/"))))
(home-page "https://technotales.wordpress.com/2007/10/03/like-slime-for-vim/")
(synopsis "Vim plugin to give you some slime")
(description "SLIME is an Emacs plugin to turn Emacs into a Lisp IDE. You
can type text in a file, send it to a live REPL, and avoid having to reload all
your code every time you make a change. @code{Vim-slime} is an attempt at
getting some of these features into Vim. It works with any REPL and isn't tied
to Lisp.")
(license license:expat))))

View file

@ -371,6 +371,7 @@ server and embedded PowerPC, and S390 guests.")
(package (package
(inherit qemu) (inherit qemu)
(name "qemu-minimal") (name "qemu-minimal")
(outputs '("out" "doc"))
(synopsis (synopsis
"Machine emulator and virtualizer (without GUI) for the host architecture") "Machine emulator and virtualizer (without GUI) for the host architecture")
(arguments (arguments
@ -406,11 +407,16 @@ server and embedded PowerPC, and S390 guests.")
"--target-list=riscv32-softmmu,riscv64-softmmu") "--target-list=riscv32-softmmu,riscv64-softmmu")
(else ; An empty list actually builds all the targets. (else ; An empty list actually builds all the targets.
'())))) '()))))
`(cons ,target-list-arg ,configure-flags))))) `(cons ,target-list-arg ,configure-flags)))
((#:phases phases)
`(modify-phases ,phases
(delete 'configure-user-static)
(delete 'build-user-static)
(delete 'install-user-static)))))
;; Remove dependencies on optional libraries, notably GUI libraries. ;; Remove dependencies on optional libraries, notably GUI libraries.
(native-inputs (fold alist-delete (package-native-inputs qemu) (native-inputs (fold alist-delete (package-native-inputs qemu)
'("gettext"))) '("gettext" "glib:static" "pcre:static" "zlib:static")))
(inputs (fold alist-delete (package-inputs qemu) (inputs (fold alist-delete (package-inputs qemu)
'("libusb" "mesa" "sdl2" "spice" "virglrenderer" "gtk+" '("libusb" "mesa" "sdl2" "spice" "virglrenderer" "gtk+"
"usbredir" "libdrm" "libepoxy" "pulseaudio" "vde2" "usbredir" "libdrm" "libepoxy" "pulseaudio" "vde2"
@ -970,7 +976,8 @@ all common programming languages. Vala bindings are also provided.")
"0qz4l7mlhq7hx53q606qgvkyzyr01glsw290v8ppzvxn1fydlrci")))) "0qz4l7mlhq7hx53q606qgvkyzyr01glsw290v8ppzvxn1fydlrci"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)
("docbook2x" ,docbook2x)))
(inputs (inputs
`(("gnutls" ,gnutls) `(("gnutls" ,gnutls)
("libcap" ,libcap) ("libcap" ,libcap)

View file

@ -19,6 +19,7 @@
;;; Copyright © 2021 Benoit Joly <benoit@benoitj.ca> ;;; Copyright © 2021 Benoit Joly <benoit@benoitj.ca>
;;; Copyright © 2021 Alexander Krotov <krotov@iitp.ru> ;;; Copyright © 2021 Alexander Krotov <krotov@iitp.ru>
;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2021 Christopher Howard <christopher@librehacker.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -903,3 +904,31 @@ interface.")
(synopsis "Gemini client with a terminal interface") (synopsis "Gemini client with a terminal interface")
(description "Telescope is a w3m-like browser for Gemini.") (description "Telescope is a w3m-like browser for Gemini.")
(license license:x11))) (license license:x11)))
(define-public av-98
(package
(name "av-98")
(version "1.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "AV-98" version))
(sha256
(base32
"02fjnc2rvm010gb3i07p8r4xlhrmnv1wca1qymfjcymr7vm68h0i"))))
(build-system python-build-system)
(home-page "https://tildegit.org/solderpunk/AV-98/")
(synopsis "Command line Gemini client")
(description "AV-98 is an experimental client for the Gemini protocol.
Features include
@itemize
@item TOFU or CA server certificate validation;
@item Extensive client certificate support if an openssl binary is available;
@item Ability to specify external handler programs for different MIME types;
@item Gopher proxy support;
@item Advanced navigation tools like tour and mark (as per VF-1);
@item Bookmarks;
@item IPv6 support;
@item Support for any character encoding recognised by Python.
@end itemize")
(license license:bsd-2)))

View file

@ -19,7 +19,7 @@
;;; Copyright © 20162021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 20162021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Bake Timmons <b3timmons@speedymail.org> ;;; Copyright © 2016 Bake Timmons <b3timmons@speedymail.org>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017, 2018, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2018, 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Petter <petter@mykolab.ch> ;;; Copyright © 2017 Petter <petter@mykolab.ch>
;;; Copyright © 2017, 2021 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2017, 2021 Pierre Langlois <pierre.langlois@gmx.com>
@ -6012,16 +6012,17 @@ deployments.")
(package (package
(name "varnish") (name "varnish")
(home-page "https://varnish-cache.org/") (home-page "https://varnish-cache.org/")
(version "6.5.1") (version "7.0.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append home-page "_downloads/varnish-" version ".tgz")) (uri (string-append home-page "_downloads/varnish-" version ".tgz"))
(sha256 (sha256
(base32 (base32
"1dfdswri6lkfk6kml3szvffm91y49pajgqy1k5y26llqixl4r5hi")))) "11z0pa618lh925ih67wmp1gqk7i46l486j4spjy71g1n3w5mqylc"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib") `(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")
(string-append "CC=" ,(cc-for-target))
;; Use absolute path of GCC so it's found at runtime. ;; Use absolute path of GCC so it's found at runtime.
(string-append "PTHREAD_CC=" (string-append "PTHREAD_CC="
(assoc-ref %build-inputs "gcc") (assoc-ref %build-inputs "gcc")
@ -6030,23 +6031,26 @@ deployments.")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'use-absolute-file-names (add-after 'unpack 'use-absolute-file-names
(lambda _ (lambda* (#:key inputs #:allow-other-keys)
(substitute* '("bin/varnishtest/vtc_varnish.c" (let* ((bash (assoc-ref inputs "bash-minimal"))
"bin/varnishtest/vtc_process.c" (sh (string-append bash "/bin/sh"))
"bin/varnishd/mgt/mgt_vcc.c" (coreutils (assoc-ref inputs "coreutils"))
"bin/varnishtest/tests/u00014.vtc") (rm (string-append coreutils "/bin/rm")))
(("/bin/sh") (which "sh"))) (substitute* '("bin/varnishtest/vtc_varnish.c"
(substitute* "bin/varnishd/mgt/mgt_shmem.c" "bin/varnishtest/vtc_process.c"
(("rm -rf") (string-append (which "rm") " -rf"))) "bin/varnishtest/vtc_haproxy.c"
(substitute* "bin/varnishtest/vtc_main.c" "bin/varnishtest/tests/u00014.vtc"
(("/bin/rm") (which "rm"))) "bin/varnishd/mgt/mgt_vcc.c")
#t)) (("/bin/sh") sh))
(substitute* "bin/varnishd/mgt/mgt_shmem.c"
(("rm -rf") (string-append rm " -rf")))
(substitute* "bin/varnishtest/vtc_main.c"
(("/bin/rm") rm)))))
(add-before 'install 'patch-Makefile (add-before 'install 'patch-Makefile
(lambda _ (lambda _
(substitute* "Makefile" (substitute* "Makefile"
;; Do not create /var/varnish during install. ;; Do not create /var/varnish during install.
(("^install-data-am: install-data-local") "install-data-am: ")) (("^install-data-am: install-data-local") "install-data-am: "))))
#t))
(add-after 'install 'wrap-varnishd (add-after 'install 'wrap-varnishd
;; Varnish uses GCC to compile VCL, so wrap it with required GCC ;; Varnish uses GCC to compile VCL, so wrap it with required GCC
;; environment variables to avoid propagating them to profiles. ;; environment variables to avoid propagating them to profiles.
@ -6059,17 +6063,18 @@ deployments.")
;; Add binutils to PATH so gcc finds the 'as' executable. ;; Add binutils to PATH so gcc finds the 'as' executable.
`("PATH" ":" prefix (,PATH)) `("PATH" ":" prefix (,PATH))
;; Make sure 'crti.o' et.al is found. ;; Make sure 'crti.o' et.al is found.
`("LIBRARY_PATH" ":" prefix (,LIBRARY_PATH))) `("LIBRARY_PATH" ":" prefix (,LIBRARY_PATH)))))))))
#t))))))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)
("python-sphinx" ,python-sphinx) ("python-sphinx" ,python-sphinx)
("rst2man" ,python-docutils))) ("rst2man" ,python-docutils)))
(inputs (inputs
`(("jemalloc" ,jemalloc) `(("bash-minimal" ,bash-minimal)
("coreutils" ,coreutils)
("jemalloc" ,jemalloc)
("ncurses" ,ncurses) ("ncurses" ,ncurses)
("pcre" ,pcre) ("pcre2" ,pcre2)
("python" ,python-wrapper) ("python" ,python)
("readline" ,readline))) ("readline" ,readline)))
(synopsis "Web application accelerator") (synopsis "Web application accelerator")
(description (description
@ -6086,14 +6091,14 @@ configuration language.")
(package (package
(name "varnish-modules") (name "varnish-modules")
(home-page "https://github.com/varnish/varnish-modules") (home-page "https://github.com/varnish/varnish-modules")
(version "0.17.1") (version "0.19.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (url home-page) (commit version))) (uri (git-reference (url home-page) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1mzkad9r4rpm1fi7j7skwrsyzzbwcapfnlvvl1ls3rng2djcqb5j")))) "0qq5g6bbd1a1ml1wk8jj9z39a899jzqbf7aizr3pvyz0f4kz8mis"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)
@ -6631,7 +6636,7 @@ file links.")
(define-public castor (define-public castor
(package (package
(name "castor") (name "castor")
(version "0.8.16") (version "0.8.18")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -6640,7 +6645,7 @@ file links.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0rwg1w7srjwa23mkypl8zk6674nhph4xsc6nc01f6g5k959szylr")))) (base32 "1l72r6a917ymc9pn8dllbal1xdczfai376nvqkiys5fm4j4s3zmj"))))
(build-system cargo-build-system) (build-system cargo-build-system)
(arguments (arguments
`(#:cargo-inputs `(#:cargo-inputs

View file

@ -123,7 +123,7 @@ code. Agate was previously known as journalism.")))
(define-public python-agate-sql (define-public python-agate-sql
(wireservice-package (wireservice-package
(name "python-agate-sql") (name "python-agate-sql")
(version "0.5.4") (version "0.5.7")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -132,7 +132,7 @@ code. Agate was previously known as journalism.")))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"16q0b211n5b1qmhzkfl2jr56lda0rvyh5j1wzw26h2n4pm4wxlx2")))) "1q6ywm0wzkkwcwk0884k0lycf8k7pzwz94rzb1y5ssm8b1gl0i62"))))
(native-inputs (native-inputs
`(("python-nose" ,python-nose) `(("python-nose" ,python-nose)
("python-sphinx" ,python-sphinx) ("python-sphinx" ,python-sphinx)

View file

@ -45,6 +45,7 @@
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2021 qblade <qblade@protonmail.com> ;;; Copyright © 2021 qblade <qblade@protonmail.com>
;;; Copyright © 2021 lasnesne <lasnesne@lagunposprasihopre.org> ;;; Copyright © 2021 lasnesne <lasnesne@lagunposprasihopre.org>
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -384,14 +385,14 @@ from many programming languages.")
(define-public i3lock (define-public i3lock
(package (package
(name "i3lock") (name "i3lock")
(version "2.11.1") (version "2.13")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://i3wm.org/i3lock/i3lock-" (uri (string-append "https://i3wm.org/i3lock/i3lock-"
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"015dn534m7cxjvqdncpvaq9p8b2r4w5hp1yanbdy2abmhbcc7a7j")))) "02szjsaz7rqrdkd0r2nwgwa85c4hwfrcskxw7ryk695kmjcfhzv3"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
@ -411,6 +412,43 @@ from many programming languages.")
Despite the name it should work with any X11 window manager.") Despite the name it should work with any X11 window manager.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public i3lock-blur
(package
(name "i3lock-blur")
(version "2.10")
(source (origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/karulont/i3lock-blur")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1bd5nrlga5g1sz1f64gnc3dqy8yfrr4q1ss59krymbpxa1hhf55c"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("automake" ,automake)
("autoconf" ,autoconf)))
(inputs
`(("cairo" ,cairo)
("mesa" ,mesa)
("libev" ,libev)
("linux-pam" ,linux-pam)
("libxcb" ,libxcb)
("libxkbcommon" ,libxkbcommon)
("xcb-util" ,xcb-util)
("xcb-util-image" ,xcb-util-image)
("xcb-util-xrm" ,xcb-util-xrm)))
(home-page "https://github.com/karulont/i3lock-blur")
(synopsis "Lightweight screen locker with transparent blurring background")
(description
"Simple X11 screen locker with transparent blurring background developed
alongside the i3 project. Despite the name it should work with any X11 window
manager.")
(license license:expat)))
(define-public i3blocks (define-public i3blocks
(package (package
(name "i3blocks") (name "i3blocks")
@ -641,6 +679,7 @@ Features include:
(inputs (inputs
`(("imagemagick" ,imagemagick) `(("imagemagick" ,imagemagick)
("wmctrl" ,wmctrl) ("wmctrl" ,wmctrl)
("i3lock" ,i3lock)
("gawk" ,gawk))) ("gawk" ,gawk)))
(home-page "https://github.com/meskarune/i3lock-fancy") (home-page "https://github.com/meskarune/i3lock-fancy")
(synopsis "Screen locker with screenshot function") (synopsis "Screen locker with screenshot function")

View file

@ -3035,3 +3035,31 @@ System. This includes such features as MouseKeys, AccessX, StickyKeys,
BounceKeys, and SlowKeys. It includes a graphical program to help with BounceKeys, and SlowKeys. It includes a graphical program to help with
MouseKeys-acceleration management.") MouseKeys-acceleration management.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public wlsunset
(package
(name "wlsunset")
(version "0.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~kennylevinsen/wlsunset/")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0hhsddh3rs066rbsjksr8kcwg8lvglbvs67dq0r5wx5c1xcwb51w"))))
(build-system meson-build-system)
(inputs
`(("wayland" ,wayland)
("wayland-protocols" ,wayland-protocols)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(synopsis "Day/night gamma adjustments for Wayland compositors")
(home-page "https://sr.ht/~kennylevinsen/wlsunset/")
(description
"wlunset adjusts gamma based on day-night cycles on Wayland compositors
that support @samp{wlr-gamma-control-unstable-v1}. It is also known as a blue
light filter or night light.")
(license license:expat)))

View file

@ -15,6 +15,7 @@
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2021 André A. Gomes <andremegafone@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -780,7 +781,7 @@ like appearance, display, keyboard and mouse settings.")
(define-public thunar (define-public thunar
(package (package
(name "thunar") (name "thunar")
(version "4.16.8") (version "4.16.8") ;stable version = even minor
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://archive.xfce.org/src/xfce/" (uri (string-append "https://archive.xfce.org/src/xfce/"
@ -796,6 +797,7 @@ like appearance, display, keyboard and mouse settings.")
(inputs (inputs
`(("exo" ,exo) `(("exo" ,exo)
("gobject-introspection" ,gobject-introspection) ("gobject-introspection" ,gobject-introspection)
("gvfs" ,gvfs)
("libexif" ,libexif) ("libexif" ,libexif)
("libgudev" ,libgudev) ("libgudev" ,libgudev)
("libnotify" ,libnotify) ("libnotify" ,libnotify)

View file

@ -295,81 +295,6 @@ formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file.")
(license (list license:bsd-2 (license (list license:bsd-2
license:public-domain)))) ; third_party/md5 license:public-domain)))) ; third_party/md5
;; This is the latest stable release.
(define-public libxmlplusplus
(package
(name "libxmlplusplus")
(version "3.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/libxmlplusplus/libxmlplusplus")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0wjz591rjlgbah7dcq8i0yn0zw9d62b7g6r0pppx81ic0cx8n8ga"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-documentation
(lambda* (#:key inputs #:allow-other-keys)
(let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
"/xml/dtd/docbook"))
(xsldoc (string-append (assoc-ref inputs "docbook-xsl")
"/xml/xsl/docbook-xsl-"
,(package-version docbook-xsl))))
(substitute* '("examples/dom_xpath/example.xml"
"docs/manual/libxml++_without_code.xml")
(("http://.*/docbookx\\.dtd")
(string-append xmldoc "/docbookx.dtd")))
(setenv "SGML_CATALOG_FILES"
(string-append xmldoc "/catalog.xml"))
(substitute* "docs/manual/docbook-customisation.xsl"
(("http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl")
(string-append xsldoc "/html/chunk.xsl"))))
#t)))))
(propagated-inputs
`(("libxml2" ,libxml2)))
(inputs
`(("glibmm" ,glibmm-2.64)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("doxygen" ,doxygen)
("docbook-xml" ,docbook-xml)
("docbook-xsl" ,docbook-xsl)
("graphviz" ,graphviz) ; for dot
("libtool" ,libtool)
("libxslt" ,libxslt)
("mm-common" ,mm-common)
("perl" ,perl)
("pkg-config" ,pkg-config)))
(home-page "https://github.com/libxmlplusplus/libxmlplusplus/")
(synopsis "C++ bindings for libxml2")
(description
"libxml++ (a.k.a. libxmlplusplus) provides a C++ interface to XML files.
It uses libxml2 to access the XML files.")
(license license:lgpl2.1+)))
;; This is the last release providing the 2.6 API, hence the name.
;; This is needed by tascam-gtk
(define-public libxmlplusplus-2.6
(package
(inherit libxmlplusplus)
(name "libxmlplusplus")
(version "2.40.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/libxmlplusplus/libxmlplusplus")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0gbfi4l88w828gmyc9br11l003ylyi4vigp5d1kfgsn0k4cig3y9"))))))
(define-public python-libxml2 (define-public python-libxml2
(package/inherit libxml2 (package/inherit libxml2
(name "python-libxml2") (name "python-libxml2")

View file

@ -969,7 +969,12 @@ fi\n")))
;; Some programs (e.g., GLib) look at /etc/timezone to find the ;; Some programs (e.g., GLib) look at /etc/timezone to find the
;; name of the current timezone. For details, see ;; name of the current timezone. For details, see
;; https://lists.gnu.org/archive/html/guix-devel/2019-07/msg00166.html ;; https://lists.gnu.org/archive/html/guix-devel/2019-07/msg00166.html
("timezone" ,(plain-file "timezone" (operating-system-timezone os))) ;; Some programs expect a terminating newline.
("timezone" ,(plain-file "timezone"
(string-append
(string-trim-both
(operating-system-timezone os))
"\n")))
("localtime" ,(file-append tzdata "/share/zoneinfo/" ("localtime" ,(file-append tzdata "/share/zoneinfo/"
(operating-system-timezone os))) (operating-system-timezone os)))
,@(if sudoers ,@(if sudoers

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2014 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2012, 2014, 2021 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -16,7 +16,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/>.
(define-module (guix)) (define-module (guix)
#:re-export-and-replace (define-public)) ;from (guix packages)
;; The composite module that re-exports everything from the public modules. ;; The composite module that re-exports everything from the public modules.

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2014, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2012, 2014, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -32,27 +33,28 @@
(define (bytevector->base16-string bv) (define (bytevector->base16-string bv)
"Return the hexadecimal representation of BV's contents." "Return the hexadecimal representation of BV's contents."
(define len (define len (bytevector-length bv))
(bytevector-length bv)) (define utf8 (make-bytevector (* len 2)))
(let-syntax ((base16-octet-pairs
(let-syntax ((base16-chars (lambda (s) (lambda (s)
(syntax-case s () (syntax-case s ()
(_ (_
(let ((v (list->vector (string->utf8
(unfold (cut > <> 255) (string-concatenate
(lambda (n) (unfold (cut > <> 255)
(format #f "~2,'0x" n)) (lambda (n)
1+ (format #f "~2,'0x" n))
0)))) 1+
v)))))) 0))))))))
(define chars base16-chars) (define octet-pairs base16-octet-pairs)
(let loop ((i len) (let loop ((i 0))
(r '())) (when (< i len)
(if (zero? i) (bytevector-u16-native-set!
(string-concatenate r) utf8 (* 2 i)
(let ((i (- i 1))) (bytevector-u16-native-ref octet-pairs
(loop i (* 2 (bytevector-u8-ref bv i))))
(cons (vector-ref chars (bytevector-u8-ref bv i)) r))))))) (loop (+ i 1))))
(utf8->string utf8)))
(define base16-string->bytevector (define base16-string->bytevector
(let ((chars->value (fold (lambda (i r) (let ((chars->value (fold (lambda (i r)

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2015, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2012, 2015, 2017, 2021 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -42,6 +42,19 @@
;;; ;;;
;;; Code: ;;; Code:
(define-syntax bit-field
(lambda (s)
;; This inline version of 'bit-field' assumes that START and END are
;; literals and pre-computes the mask. In an ideal world, using 'define'
;; or 'define-inlinable' would be enough, but as of 3.0.7, peval doesn't
;; expand calls to 'expt' (and 'bit-field' is a subr.)
(syntax-case s ()
((_ n start end)
(let* ((s (syntax->datum #'start))
(e (syntax->datum #'end))
(mask (- (expt 2 (- e s)) 1)))
#`(logand (ash n (- start)) #,mask))))))
(define bytevector-quintet-ref (define bytevector-quintet-ref
(let* ((ref bytevector-u8-ref) (let* ((ref bytevector-u8-ref)
(ref+ (lambda (bv offset) (ref+ (lambda (bv offset)

View file

@ -61,6 +61,17 @@
#:allow-other-keys #:allow-other-keys
#:rest arguments) #:rest arguments)
"Return a bag for NAME." "Return a bag for NAME."
;; Flags that put dune into reproducible build mode.
(define dune-release-flags
(if (version>=? (package-version dune) "2.5.0")
;; For dune >= 2.5.0 this is just --release.
''("--release")
;; --release does not exist before 2.5.0. Replace with flags compatible
;; with our old ocaml4.07-dune (1.11.3)
''("--root" "." "--ignore-promoted-rules" "--no-config"
"--profile" "release")))
(define private-keywords (define private-keywords
'(#:target #:dune #:findlib #:ocaml #:inputs #:native-inputs)) '(#:target #:dune #:findlib #:ocaml #:inputs #:native-inputs))
@ -80,7 +91,9 @@
(build-inputs `(("dune" ,dune) (build-inputs `(("dune" ,dune)
,@(bag-build-inputs base))) ,@(bag-build-inputs base)))
(build dune-build) (build dune-build)
(arguments (strip-keyword-arguments private-keywords arguments)))))) (arguments (append
`(#:dune-release-flags ,dune-release-flags)
(strip-keyword-arguments private-keywords arguments)))))))
(define* (dune-build name inputs (define* (dune-build name inputs
#:key #:key
@ -91,7 +104,7 @@
(out-of-source? #t) (out-of-source? #t)
(jbuild? #f) (jbuild? #f)
(package #f) (package #f)
(profile "release") (dune-release-flags ''())
(tests? #t) (tests? #t)
(test-flags ''()) (test-flags ''())
(test-target "test") (test-target "test")
@ -131,7 +144,7 @@ provides a 'setup.ml' file as its build system."
#:out-of-source? #$out-of-source? #:out-of-source? #$out-of-source?
#:jbuild? #$jbuild? #:jbuild? #$jbuild?
#:package #$package #:package #$package
#:profile #$profile #:dune-release-flags #$dune-release-flags
#:tests? #$tests? #:tests? #$tests?
#:test-target #$test-target #:test-target #$test-target
#:install-target #$install-target #:install-target #$install-target

View file

@ -3,6 +3,7 @@
;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -30,6 +31,7 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (ice-9 regex) #:use-module (ice-9 regex)
#:use-module (srfi srfi-1)
#:export (%go-build-system-modules #:export (%go-build-system-modules
go-build go-build
go-build-system go-build-system
@ -81,6 +83,24 @@ present) if a pseudo-version pattern is not recognized."
commit hash and its date rather than a proper release tag." commit hash and its date rather than a proper release tag."
(regexp-exec %go-pseudo-version-rx version)) (regexp-exec %go-pseudo-version-rx version))
(define (go-target target)
;; Parse the nix-system equivalent of the target and set the
;; target for compilation accordingly.
(match (string-split (gnu-triplet->nix-system target) #\-)
((arch os)
(list (match arch
("aarch64" "arm64")
("armhf" "arm")
("powerpc64le" "ppc64le")
("powerpc64" "ppc64")
("i686" "386")
("x86_64" "amd64")
("mips64el" "mips64le")
(_ arch))
(match os
((or "mingw32" "cygwin") "windows")
(_ os))))))
(define %go-build-system-modules (define %go-build-system-modules
;; Build-side modules imported and used by default. ;; Build-side modules imported and used by default.
`((guix build go-build-system) `((guix build go-build-system)
@ -101,22 +121,37 @@ commit hash and its date rather than a proper release tag."
(define private-keywords (define private-keywords
'(#:target #:go #:inputs #:native-inputs)) '(#:target #:go #:inputs #:native-inputs))
(and (not target) ;XXX: no cross-compilation (bag
(bag (name name)
(name name) (system system)
(system system) (target target)
(host-inputs `(,@(if source (build-inputs `(,@(if source
`(("source" ,source)) `(("source" ,source))
'()) '())
,@inputs ,@`(("go" ,go))
,@native-inputs
,@(if target '() inputs)
,@(if target
;; Use the standard cross inputs of
;; 'gnu-build-system'.
(standard-cross-packages target 'host)
'())
;; Keep the standard inputs of 'gnu-build-system'.
,@(standard-packages)))
(host-inputs (if target inputs '()))
;; Keep the standard inputs of 'gnu-build-system'. ;; The cross-libc is really a target package, but for bootstrapping
,@(standard-packages))) ;; reasons, we can't put it in 'host-inputs'. Namely, 'cross-gcc' is a
(build-inputs `(("go" ,go) ;; native package, so it would end up using a "native" variant of
,@native-inputs)) ;; 'cross-libc' (built with 'gnu-build'), whereas all the other packages
(outputs outputs) ;; would use a target variant (built with 'gnu-cross-build'.)
(build go-build) (target-inputs (if target
(arguments (strip-keyword-arguments private-keywords arguments))))) (standard-cross-packages target 'target)
'()))
(outputs outputs)
(build (if target go-cross-build go-build))
(arguments (strip-keyword-arguments private-keywords arguments))))
(define* (go-build name inputs (define* (go-build name inputs
#:key #:key
@ -131,6 +166,8 @@ commit hash and its date rather than a proper release tag."
(tests? #t) (tests? #t)
(allow-go-reference? #f) (allow-go-reference? #f)
(system (%current-system)) (system (%current-system))
(goarch (first (go-target (%current-system))))
(goos (last (go-target (%current-system))))
(guile #f) (guile #f)
(imported-modules %go-build-system-modules) (imported-modules %go-build-system-modules)
(modules '((guix build go-build-system) (modules '((guix build go-build-system)
@ -145,6 +182,8 @@ commit hash and its date rather than a proper release tag."
#:system #$system #:system #$system
#:phases #$phases #:phases #$phases
#:outputs #$(outputs->gexp outputs) #:outputs #$(outputs->gexp outputs)
#:goarch #$goarch
#:goos #$goos
#:search-paths '#$(sexp->gexp #:search-paths '#$(sexp->gexp
(map search-path-specification->sexp (map search-path-specification->sexp
search-paths)) search-paths))
@ -162,6 +201,98 @@ commit hash and its date rather than a proper release tag."
#:system system #:system system
#:guile-for-build guile))) #:guile-for-build guile)))
(define* (go-cross-build store name
#:key
target native-drvs target-drvs
(phases '(@ (guix build go-build-system)
%standard-phases))
(outputs '("out"))
(search-paths '())
(native-search-paths '())
(install-source? #t)
(import-path "")
(unpack-path "")
(build-flags ''())
(tests? #f) ; nothing can be done
(allow-go-reference? #f)
(system (%current-system))
(goarch (first (go-target target)))
(goos (last (go-target target)))
(guile #f)
(imported-modules %go-build-system-modules)
(modules '((guix build go-build-system)
(guix build union)
(guix build utils))))
"Cross-build NAME using GO, where TARGET is a GNU triplet and with INPUTS."
(define builder
`(begin
(use-modules ,@modules)
(let ()
(define %build-host-inputs
',(map (match-lambda
((name (? derivation? drv) sub ...)
`(,name . ,(apply derivation->output-path drv sub)))
((name path)
`(,name . ,path)))
native-drvs))
(define %build-target-inputs
',(map (match-lambda
((name (? derivation? drv) sub ...)
`(,name . ,(apply derivation->output-path drv sub)))
((name (? package? pkg) sub ...)
(let ((drv (package-cross-derivation store pkg
target system)))
`(,name . ,(apply derivation->output-path drv sub))))
((name path)
`(,name . ,path)))
target-drvs))
(go-build #:name ,name
#:source ,(match (assoc-ref native-drvs "source")
(((? derivation? source))
(derivation->output-path source))
((source)
source)
(source
source))
#:system ,system
#:phases ,phases
#:outputs %outputs
#:target ,target
#:goarch ,goarch
#:goos ,goos
#:inputs %build-target-inputs
#:native-inputs %build-host-inputs
#:search-paths ',(map search-path-specification->sexp
search-paths)
#:native-search-paths ',(map
search-path-specification->sexp
native-search-paths)
#:install-source? ,install-source?
#:import-path ,import-path
#:unpack-path ,unpack-path
#:build-flags ,build-flags
#:tests? ,tests?
#:allow-go-reference? ,allow-go-reference?
#:inputs %build-inputs))))
(define guile-for-build
(match guile
((? package?)
(package-derivation store guile system #:graft? #f))
(#f ; the default
(let* ((distro (resolve-interface '(gnu packages commencement)))
(guile (module-ref distro 'guile-final)))
(package-derivation store guile system #:graft? #f)))))
(build-expression->derivation store name builder
#:system system
#:inputs (append native-drvs target-drvs)
#:outputs outputs
#:modules imported-modules
#:guile-for-build guile-for-build))
(define go-build-system (define go-build-system
(build-system (build-system
(name 'go) (name 'go)

View file

@ -159,6 +159,7 @@
(outputs '("out")) (outputs '("out"))
(make-flags ''()) (make-flags ''())
(system (%current-system)) (system (%current-system))
(source-directory ".")
(guile #f) (guile #f)
(substitutable? #t) (substitutable? #t)
(imported-modules (imported-modules
@ -172,6 +173,7 @@
(use-modules #$@(sexp->gexp modules)) (use-modules #$@(sexp->gexp modules))
(linux-module-build #:name #$name (linux-module-build #:name #$name
#:source #+source #:source #+source
#:source-directory #$source-directory
#:search-paths '#$(sexp->gexp #:search-paths '#$(sexp->gexp
(map search-path-specification->sexp (map search-path-specification->sexp
search-paths)) search-paths))

View file

@ -747,15 +747,20 @@ otherwise simply ignore them."
content-addressed-mirrors)) content-addressed-mirrors))
(define disarchive-uris (define disarchive-uris
(append-map (match-lambda (append-map (lambda (mirror)
((? string? mirror) (let ((make-url (match mirror
(map (match-lambda ((? string?)
((hash-algo . hash) (lambda (hash-algo hash)
(string->uri (string-append
(string-append mirror mirror
(symbol->string hash-algo) "/" (symbol->string hash-algo) "/"
(bytevector->base16-string hash))))) (bytevector->base16-string hash))))
hashes))) ((? procedure?)
mirror))))
(map (match-lambda
((hash-algo . hash)
(string->uri (make-url hash-algo hash))))
hashes)))
disarchive-mirrors)) disarchive-mirrors))
;; Make this unbuffered so 'progress-report/file' works as expected. 'line ;; Make this unbuffered so 'progress-report/file' works as expected. 'line

View file

@ -32,23 +32,26 @@
;; Code: ;; Code:
(define* (build #:key (build-flags '()) (jbuild? #f) (define* (build #:key (build-flags '()) (jbuild? #f)
(use-make? #f) (package #f) (use-make? #f) (package #f) (dune-release-flags '())
(profile "release") #:allow-other-keys) #:allow-other-keys)
"Build the given package." "Build the given package."
(let ((program (if jbuild? "jbuilder" "dune"))) (let ((program (if jbuild? "jbuilder" "dune")))
(apply invoke program "build" "@install" (apply invoke program "build" "@install"
(append (if package (list "-p" package) '()) (append (if package (list "-p" package)
`("--profile" ,profile) dune-release-flags)
build-flags))) build-flags)))
#t) #t)
(define* (check #:key (test-flags '()) (test-target "test") tests? (define* (check #:key (test-flags '()) (test-target "test") tests?
(jbuild? #f) (package #f) #:allow-other-keys) (jbuild? #f) (package #f) (dune-release-flags '())
#:allow-other-keys)
"Test the given package." "Test the given package."
(when tests? (when tests?
(let ((program (if jbuild? "jbuilder" "dune"))) (let ((program (if jbuild? "jbuilder" "dune")))
(apply invoke program "runtest" test-target (apply invoke program "runtest" test-target
(append (if package (list "-p" package) '()) test-flags)))) (append (if package (list "-p" package)
dune-release-flags)
test-flags))))
#t) #t)
(define* (install #:key outputs (install-target "install") (jbuild? #f) (define* (install #:key outputs (install-target "install") (jbuild? #f)

View file

@ -4,7 +4,7 @@
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> ;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -131,7 +131,7 @@
;; ;;
;; Code: ;; Code:
(define* (setup-go-environment #:key inputs outputs #:allow-other-keys) (define* (setup-go-environment #:key inputs outputs goos goarch #:allow-other-keys)
"Prepare a Go build environment for INPUTS and OUTPUTS. Build a file system "Prepare a Go build environment for INPUTS and OUTPUTS. Build a file system
union of INPUTS. Export GOPATH, which helps the compiler find the source code union of INPUTS. Export GOPATH, which helps the compiler find the source code
of the package being built and its dependencies, and GOBIN, which determines of the package being built and its dependencies, and GOBIN, which determines
@ -149,6 +149,22 @@ dependencies, so it should be self-contained."
;; GOPATH behavior. ;; GOPATH behavior.
(setenv "GO111MODULE" "off") (setenv "GO111MODULE" "off")
(setenv "GOBIN" (string-append (assoc-ref outputs "out") "/bin")) (setenv "GOBIN" (string-append (assoc-ref outputs "out") "/bin"))
;; Make sure we're building for the correct architecture and OS targets
;; that Guix targets.
(setenv "GOARCH" goarch)
(setenv "GOOS" goos)
(match goarch
("arm"
(setenv "GOARM" "7"))
((or "mips" "mipsel")
(setenv "GOMIPS" "hardfloat"))
((or "mips64" "mips64le")
(setenv "GOMIPS64" "hardfloat"))
((or "ppc64" "ppc64le")
(setenv "GOPPC64" "power8"))
(_ #t))
(let ((tmpdir (tmpnam))) (let ((tmpdir (tmpnam)))
(match (go-inputs inputs) (match (go-inputs inputs)
(((names . directories) ...) (((names . directories) ...)

View file

@ -49,16 +49,17 @@
; TODO: kernel ".config". ; TODO: kernel ".config".
#t) #t)
(define* (build #:key inputs make-flags #:allow-other-keys) (define* (build #:key inputs make-flags (source-directory ".") #:allow-other-keys)
(apply invoke "make" "-C" (apply invoke "make" "-C"
(string-append (assoc-ref inputs "linux-module-builder") (string-append (assoc-ref inputs "linux-module-builder")
"/lib/modules/build") "/lib/modules/build")
(string-append "M=" (getcwd)) (string-append "M=" (getcwd) "/" source-directory)
(or make-flags '()))) (or make-flags '())))
;; This block was copied from make-linux-libre--only took the "modules_install" ;; This block was copied from make-linux-libre--only took the "modules_install"
;; part. ;; part.
(define* (install #:key make-flags inputs native-inputs outputs (define* (install #:key make-flags (source-directory ".")
inputs native-inputs outputs
#:allow-other-keys) #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(moddir (string-append out "/lib/modules"))) (moddir (string-append out "/lib/modules")))
@ -67,7 +68,7 @@
(apply invoke "make" "-C" (apply invoke "make" "-C"
(string-append (assoc-ref inputs "linux-module-builder") (string-append (assoc-ref inputs "linux-module-builder")
"/lib/modules/build") "/lib/modules/build")
(string-append "M=" (getcwd)) (string-append "M=" (getcwd) "/" source-directory)
;; Disable depmod because the Guix system's module directory ;; Disable depmod because the Guix system's module directory
;; is an union of potentially multiple packages. It is not ;; is an union of potentially multiple packages. It is not
;; possible to use depmod to usefully calculate a dependency ;; possible to use depmod to usefully calculate a dependency

View file

@ -369,7 +369,7 @@
;; procedure that takes a file name, an algorithm (symbol) and a hash ;; procedure that takes a file name, an algorithm (symbol) and a hash
;; (bytevector), and returns a URL or #f. ;; (bytevector), and returns a URL or #f.
'(begin '(begin
(use-modules (guix base32)) (use-modules (guix base16) (guix base32))
(define (guix-publish host) (define (guix-publish host)
(lambda (file algo hash) (lambda (file algo hash)
@ -379,12 +379,6 @@
file "/" (symbol->string algo) "/" file "/" (symbol->string algo) "/"
(bytevector->nix-base32-string hash)))) (bytevector->nix-base32-string hash))))
;; XXX: (guix base16) appeared in March 2017 (and thus 0.13.0) so old
;; installations of the daemon might lack it. Thus, load it lazily to
;; avoid gratuitous errors. See <https://bugs.gnu.org/33542>.
(module-autoload! (current-module)
'(guix base16) '(bytevector->base16-string))
(list (guix-publish "ci.guix.gnu.org") (list (guix-publish "ci.guix.gnu.org")
(lambda (file algo hash) (lambda (file algo hash)
;; 'tarballs.nixos.org' supports several algorithms. ;; 'tarballs.nixos.org' supports several algorithms.
@ -406,6 +400,8 @@
(object->string %content-addressed-mirrors))) (object->string %content-addressed-mirrors)))
(define %disarchive-mirrors (define %disarchive-mirrors
;; TODO: Eventually turn into a procedure that takes a hash algorithm
;; (symbol) and hash (bytevector).
'("https://disarchive.ngyro.com/")) '("https://disarchive.ngyro.com/"))
(define %disarchive-mirror-file (define %disarchive-mirror-file

View file

@ -2,6 +2,7 @@
;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2021 Kyle Meyer <kyle@kyleam.com> ;;; Copyright © 2021 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -223,15 +224,29 @@ corresponding Git object."
(object-lookup-prefix repository (string->oid commit) len) (object-lookup-prefix repository (string->oid commit) len)
(object-lookup repository (string->oid commit))))) (object-lookup repository (string->oid commit)))))
(('tag-or-commit . str) (('tag-or-commit . str)
(if (or (> (string-length str) 40) (cond ((and (string-contains str "-g")
(not (string-every char-set:hex-digit str))) (match (string-split str #\-)
(resolve `(tag . ,str)) ;definitely a tag ((version ... revision g+commit)
(catch 'git-error (if (and (> (string-length g+commit) 4)
(lambda () (string-every char-set:digit revision)
(resolve `(tag . ,str))) (string-every char-set:hex-digit
(lambda _ (string-drop g+commit 1)))
;; There's no such tag, so it must be a commit ID. ;; Looks like a 'git describe' style ID, like
(resolve `(commit . ,str)))))) ;; v1.3.0-7-gaa34d4d28d.
(string-drop g+commit 1)
#f))
(_ #f)))
=> (lambda (commit) (resolve `(commit . ,commit))))
((or (> (string-length str) 40)
(not (string-every char-set:hex-digit str)))
(resolve `(tag . ,str))) ;definitely a tag
(else
(catch 'git-error
(lambda ()
(resolve `(tag . ,str)))
(lambda _
;; There's no such tag, so it must be a commit ID.
(resolve `(commit . ,str)))))))
(('tag . tag) (('tag . tag)
(let ((oid (reference-name->oid repository (let ((oid (reference-name->oid repository
(string-append "refs/tags/" tag)))) (string-append "refs/tags/" tag))))

View file

@ -1,6 +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 © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -399,14 +400,20 @@ matching a string against the created regexp."
(define (is-or s) (string=? s "||")) (define (is-or s) (string=? s "||"))
(define (is-id s port) (define (is-id s port loc)
(let ((cabal-reserved-words (let ((cabal-reserved-words
'("if" "else" "library" "flag" "executable" "test-suite" "custom-setup" '("if" "else" "library" "flag" "executable" "test-suite" "custom-setup"
"source-repository" "benchmark" "common")) "source-repository" "benchmark" "common"))
(spaces (read-while (cut char-set-contains? char-set:blank <>) port)) (spaces (read-while (cut char-set-contains? char-set:blank <>) port))
(c (peek-char port))) (c (peek-char port)))
(unread-string spaces port) (unread-string spaces port)
(and (every (cut string-ci<> s <>) cabal-reserved-words) ;; Sometimes the name of an identifier is the same as one of the reserved
;; words, which would normally lead to an error, see
;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25138>. Unless the word
;; is at the beginning of a line (excluding whitespace), treat is as just
;; another identifier instead of a reserved word.
(and (or (not (= (source-location-column loc) (current-indentation)))
(every (cut string-ci<> s <>) cabal-reserved-words))
(and (not (char=? (last (string->list s)) #\:)) (and (not (char=? (last (string->list s)) #\:))
(not (char=? #\: c)))))) (not (char=? #\: c))))))
@ -568,7 +575,7 @@ LOC is the current port location."
((is-none w) (lex-none loc)) ((is-none w) (lex-none loc))
((is-and w) (lex-and loc)) ((is-and w) (lex-and loc))
((is-or w) (lex-or loc)) ((is-or w) (lex-or loc))
((is-id w port) (lex-id w loc)) ((is-id w port loc) (lex-id w loc))
(else (unread-string w port) #f)))) (else (unread-string w port) #f))))
(define (lex-line port loc) (define (lex-line port loc)

View file

@ -4,6 +4,7 @@
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net> ;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -80,6 +81,7 @@ NAMES (strings)."
(let ((elpa-archives (let ((elpa-archives
'((gnu . "https://elpa.gnu.org/packages") '((gnu . "https://elpa.gnu.org/packages")
(gnu/http . "http://elpa.gnu.org/packages") ;for testing (gnu/http . "http://elpa.gnu.org/packages") ;for testing
(nongnu . "https://elpa.nongnu.org/nongnu")
(melpa-stable . "https://stable.melpa.org/packages") (melpa-stable . "https://stable.melpa.org/packages")
(melpa . "https://melpa.org/packages")))) (melpa . "https://melpa.org/packages"))))
(assq-ref elpa-archives repo))) (assq-ref elpa-archives repo)))
@ -257,7 +259,7 @@ RECIPE."
((assoc-ref recipe #:commit) ((assoc-ref recipe #:commit)
=> (lambda (commit) (cons 'commit commit))) => (lambda (commit) (cons 'commit commit)))
(else (else
'(branch . "master")))) '())))
(let-values (((directory commit) (download-git-repository url ref))) (let-values (((directory commit) (download-git-repository url ref)))
`(origin `(origin

View file

@ -485,9 +485,12 @@ build a package."
(match (select (html->sxml meta-data #:strict? #t)) (match (select (html->sxml meta-data #:strict? #t))
(() #f) ;nothing selected (() #f) ;nothing selected
((('content content-text) ..1) ((('content content-text) ..1)
(find (lambda (meta) (or
(string-prefix? (module-meta-import-prefix meta) module-path)) (find (lambda (meta)
(map go-import->module-meta content-text)))))) (string-prefix? (module-meta-import-prefix meta) module-path))
(map go-import->module-meta content-text))
;; Fallback to the first meta if no import prefixes match.
(go-import->module-meta (first content-text)))))))
(define (module-meta-data-repo-url meta-data goproxy) (define (module-meta-data-repo-url meta-data goproxy)
"Return the URL where the fetcher which will be used can download the "Return the URL where the fetcher which will be used can download the

View file

@ -1594,7 +1594,11 @@ Disarchive entry refers to non-existent SWH directory '~a'")
#:field 'source))))))) #:field 'source)))))))
((? content?) ((? content?)
'()))) '())))
'())))) '()))
(_
(list (make-warning package
(G_ "unsupported source type")
#:field 'source)))))
(match-lambda* (match-lambda*
(('swh-error url method response) (('swh-error url method response)
(response->warning url method response)) (response->warning url method response))

View file

@ -56,6 +56,7 @@
%current-target-system %current-target-system
search-path-specification) ;for convenience search-path-specification) ;for convenience
#:re-export-and-replace (delete) ;used as syntactic keyword #:re-export-and-replace (delete) ;used as syntactic keyword
#:replace ((define-public* . define-public))
#:export (content-hash #:export (content-hash
content-hash? content-hash?
content-hash-algorithm content-hash-algorithm
@ -103,6 +104,7 @@
package-supported-systems package-supported-systems
package-properties package-properties
package-location package-location
package-definition-location
hidden-package hidden-package
hidden-package? hidden-package?
package-superseded package-superseded
@ -388,6 +390,60 @@ not already the case."
inputs) inputs)
(else (map add-input-label inputs)))) (else (map add-input-label inputs))))
(define-syntax current-location-vector
(lambda (s)
"Like 'current-source-location' but expand to a literal vector with
one-indexed line numbers."
;; Storing a literal vector in .go files is more efficient than storing an
;; alist: less initialization code, fewer relocations, etc.
(syntax-case s ()
((_)
(match (syntax-source s)
(#f #f)
(properties
(let ((file (assq-ref properties 'filename))
(line (assq-ref properties 'line))
(column (assq-ref properties 'column)))
(and file line column
#`#(#,file #,(+ 1 line) #,column)))))))))
(define-inlinable (sanitize-location loc)
;; Convert LOC to a vector or to #f.
(cond ((vector? loc) loc)
((not loc) loc)
(else (vector (location-file loc)
(location-line loc)
(location-column loc)))))
(define-syntax-parameter current-definition-location
;; Location of the encompassing 'define-public'.
(const #f))
(define-syntax define-public*
(lambda (s)
"Like 'define-public' but set 'current-definition-location' for the
lexical scope of its body."
(define location
(match (syntax-source s)
(#f #f)
(properties
(let ((line (assq-ref properties 'line))
(column (assq-ref properties 'column)))
;; Don't repeat the file name since it's redundant with 'location'.
;; Encode the whole thing so that it fits in a fixnum on 32-bit
;; platforms, which leaves us 29 bits: 7 bits for COLUMN (which is
;; almost always zero), and 22 bits for LINE.
(and line column
(logior (ash (logand #x7f column) 22)
(logand (- (expt 2 22) 1) (+ 1 line))))))))
(syntax-case s ()
((_ prototype body ...)
#`(define-public prototype
(syntax-parameterize ((current-definition-location
(lambda (s) #,location)))
body ...))))))
;; A package. ;; A package.
(define-record-type* <package> (define-record-type* <package>
package make-package package make-package
@ -434,10 +490,12 @@ not already the case."
(properties package-properties (default '())) ; alist for anything else (properties package-properties (default '())) ; alist for anything else
(location package-location (location package-location-vector
(default (and=> (current-source-location) (default (current-location-vector))
source-properties->location)) (innate) (sanitize sanitize-location))
(innate))) (definition-location package-definition-location-code
(default (current-definition-location))
(innate)))
(define (add-input-label input) (define (add-input-label input)
"Add an input label to INPUT." "Add an input label to INPUT."
@ -473,6 +531,25 @@ not already the case."
package) package)
16))))) 16)))))
(define (package-location package)
"Return the source code location of PACKAGE as a <location> record, or #f if
it is not known."
(match (package-location-vector package)
(#f #f)
(#(file line column) (location file line column))))
(define (package-definition-location package)
"Like 'package-location', but return the location of the definition
itself--i.e., that of the enclosing 'define-public' form, if any, or #f."
(match (package-definition-location-code package)
(#f #f)
(code
(let ((column (bit-extract code 22 29))
(line (bit-extract code 0 21)))
(match (package-location-vector package)
(#f #f)
(#(file _ _) (location file line column)))))))
(define-syntax-rule (package/inherit p overrides ...) (define-syntax-rule (package/inherit p overrides ...)
"Like (package (inherit P) OVERRIDES ...), except that the same "Like (package (inherit P) OVERRIDES ...), except that the same
transformation is done to the package P's replacement, if any. P must be a bare transformation is done to the package P's replacement, if any. P must be a bare

View file

@ -3,6 +3,8 @@
;;; Copyright © 2014 David Thompson <davet@gnu.org> ;;; Copyright © 2014 David Thompson <davet@gnu.org>
;;; Copyright © 2018 Kyle Meyer <kyle@kyleam.com> ;;; Copyright © 2018 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -117,7 +119,8 @@ Run IMPORTER with ARGS.\n"))
(if (member importer importers) (if (member importer importers)
(let ((print (lambda (expr) (let ((print (lambda (expr)
(pretty-print expr (newline-rewriting-port (pretty-print expr (newline-rewriting-port
(current-output-port)))))) (current-output-port))
#:max-expr-width 80))))
(match (apply (resolve-importer importer) args) (match (apply (resolve-importer importer) args)
((and expr (or ('package _ ...) ((and expr (or ('package _ ...)
('let _ ...) ('let _ ...)
@ -130,4 +133,9 @@ Run IMPORTER with ARGS.\n"))
expressions)) expressions))
(x (x
(leave (G_ "'~a' import failed~%") importer)))) (leave (G_ "'~a' import failed~%") importer))))
(leave (G_ "~a: invalid importer~%") importer))))) (let ((hint (string-closest importer importers #:threshold 3)))
(report-error (G_ "~a: invalid importer~%") importer)
(when hint
(display-hint
(format #f (G_ "Did you mean @code{~a}?~%") hint)))
(exit 1))))))

View file

@ -9,6 +9,7 @@
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -1152,6 +1153,13 @@ Some ACTIONS support additional ARGS.\n"))
;;; Entry point. ;;; Entry point.
;;; ;;;
(define actions '("build" "container" "vm" "vm-image" "image" "disk-image"
"reconfigure" "init"
"extension-graph" "shepherd-graph"
"list-generations" "describe"
"delete-generations" "roll-back"
"switch-generation" "search" "docker-image"))
(define (process-action action args opts) (define (process-action action args opts)
"Process ACTION, a sub-command, with the arguments are listed in ARGS. "Process ACTION, a sub-command, with the arguments are listed in ARGS.
ACTION must be one of the sub-commands that takes an operating system ACTION must be one of the sub-commands that takes an operating system
@ -1335,17 +1343,18 @@ argument list and OPTS is the option alist."
(define (parse-sub-command arg result) (define (parse-sub-command arg result)
;; Parse sub-command ARG and augment RESULT accordingly. ;; Parse sub-command ARG and augment RESULT accordingly.
(if (assoc-ref result 'action) (cond ((assoc-ref result 'action)
(alist-cons 'argument arg result) (alist-cons 'argument arg result))
(let ((action (string->symbol arg))) ((member arg actions)
(case action (let ((action (string->symbol arg)))
((build container vm vm-image image disk-image reconfigure init (alist-cons 'action action result)))
extension-graph shepherd-graph (else
list-generations describe (let ((hint (string-closest arg actions #:threshold 3)))
delete-generations roll-back (report-error (G_ "~a: unknown action~%") arg)
switch-generation search docker-image) (when hint
(alist-cons 'action action result)) (display-hint
(else (leave (G_ "~a: unknown action~%") action)))))) (format #f (G_ "Did you mean @code{~a}?~%") hint)))
(exit 1)))))
(define (match-pair car) (define (match-pair car)
;; Return a procedure that matches a pair with CAR. ;; Return a procedure that matches a pair with CAR.

View file

@ -1355,14 +1355,16 @@ on the build output of a previous derivation."
(unresolved things continue) (unresolved things continue)
(continue #t))) (continue #t)))
(define (map/accumulate-builds store proc lst) (define* (map/accumulate-builds store proc lst
#:key (cutoff 30))
"Apply PROC over each element of LST, accumulating 'build-things' calls and "Apply PROC over each element of LST, accumulating 'build-things' calls and
coalescing them into a single call." coalescing them into a single call.
(define accumulation-cutoff
;; Threshold above which we stop accumulating unresolved nodes to avoid CUTOFF is the threshold above which we stop accumulating unresolved nodes."
;; pessimal behavior where we keep stumbling upon the same .drv build
;; requests with many incoming edges. See <https://bugs.gnu.org/49439>. ;; The CUTOFF parameter helps avoid pessimal behavior where we keep
30) ;; stumbling upon the same .drv build requests with many incoming edges.
;; See <https://bugs.gnu.org/49439>.
(define-values (result rest) (define-values (result rest)
(let loop ((lst lst) (let loop ((lst lst)
@ -1373,7 +1375,7 @@ coalescing them into a single call."
(match (with-build-handler build-accumulator (match (with-build-handler build-accumulator
(proc head)) (proc head))
((? unresolved? obj) ((? unresolved? obj)
(if (> unresolved accumulation-cutoff) (if (>= unresolved cutoff)
(values (reverse (cons obj result)) tail) (values (reverse (cons obj result)) tail)
(loop tail (cons obj result) (+ 1 unresolved)))) (loop tail (cons obj result) (+ 1 unresolved))))
(obj (obj
@ -1390,17 +1392,20 @@ coalescing them into a single call."
;; REST is necessarily empty. ;; REST is necessarily empty.
result) result)
(to-build (to-build
;; We've accumulated things TO-BUILD. Actually build them and resume the ;; We've accumulated things TO-BUILD; build them.
;; corresponding continuations.
(build-things store (delete-duplicates to-build)) (build-things store (delete-duplicates to-build))
(map/accumulate-builds store
(lambda (obj) ;; Resume the continuations corresponding to TO-BUILD, and then process
(if (unresolved? obj) ;; REST.
;; Pass #f because 'build-things' is now (append (map/accumulate-builds store
;; unnecessary. (lambda (obj)
((unresolved-continuation obj) #f) (if (unresolved? obj)
obj)) ;; Pass #f because 'build-things' is now
(append result rest))))) ;; unnecessary.
((unresolved-continuation obj) #f)
obj))
result #:cutoff cutoff)
(map/accumulate-builds store proc rest #:cutoff cutoff)))))
(define build-things (define build-things
(let ((build (operation (build-things (string-list things) (let ((build (operation (build-things (string-list things)

View file

@ -104,10 +104,9 @@
vault-reply? vault-reply?
vault-reply-id vault-reply-id
vault-reply-fetch-url vault-reply-fetch-url
vault-reply-object-id
vault-reply-object-type
vault-reply-progress-message vault-reply-progress-message
vault-reply-status vault-reply-status
vault-reply-swhid
query-vault query-vault
request-cooking request-cooking
vault-fetch vault-fetch
@ -391,10 +390,9 @@ FALSE-IF-404? is true, return #f upon 404 responses."
json->vault-reply json->vault-reply
(id vault-reply-id) (id vault-reply-id)
(fetch-url vault-reply-fetch-url "fetch_url") (fetch-url vault-reply-fetch-url "fetch_url")
(object-id vault-reply-object-id "obj_id")
(object-type vault-reply-object-type "obj_type" string->symbol)
(progress-message vault-reply-progress-message "progress_message") (progress-message vault-reply-progress-message "progress_message")
(status vault-reply-status "status" string->symbol)) (status vault-reply-status "status" string->symbol)
(swhid vault-reply-swhid))
;;; ;;;
@ -540,35 +538,57 @@ directory entries; if it has type 'file, return its <content> object."
(path "/api/1/origin/save" type "url" url) (path "/api/1/origin/save" type "url" url)
json->save-reply) json->save-reply)
(define-query (query-vault id kind) (define* (vault-url id kind #:optional (archive-type 'flat))
"Ask the availability of object ID and KIND to the vault, where KIND is "Return the vault query/cooking URL for ID and KIND. Normally, ID is an
'directory or 'revision. Return #f if it could not be found, or a SWHID and KIND is #f; the deprecated convention is to set ID to a raw
<vault-reply> on success." directory or revision ID and KIND to 'revision or 'directory."
;; <https://docs.softwareheritage.org/devel/swh-vault/api.html#vault-api-ref> ;; Note: /api/1/vault/directory/ID was deprecated in favor of
;; There's a single format supported for directories and revisions and for ;; /api/1/vault/flat/SWHID; this procedure "converts" automatically.
;; now, the "/format" bit of the URL *must* be omitted. (let ((id (match kind
(path "/api/1/vault" (symbol->string kind) id) ('directory (string-append "swh:1:dir:" id))
json->vault-reply) ('revision (string-append "swh:1:rev:" id))
(#f id))))
(swh-url "/api/1/vault" (symbol->string archive-type) id)))
(define (request-cooking id kind) (define* (query-vault id #:optional kind #:key (archive-type 'flat))
"Request the cooking of object ID and KIND (one of 'directory or 'revision) "Ask the availability of object ID (an SWHID) to the vault. Return #f if it
to the vault. Return a <vault-reply>." could not be found, or a <vault-reply> on success. ARCHIVE-TYPE can be 'flat
(call (swh-url "/api/1/vault" (symbol->string kind) id) for a tarball containing a directory, or 'git-bare for a tarball containing a
bare Git repository corresponding to a revision.
Passing KIND (one of 'directory or 'revision) together with a raw revision or
directory identifier is deprecated."
(call (vault-url id kind archive-type)
json->vault-reply))
(define* (request-cooking id #:optional kind #:key (archive-type 'flat))
"Request the cooking of object ID, an SWHID. Return a <vault-reply>.
ARCHIVE-TYPE can be 'flat for a tarball containing a directory, or 'git-bare
for a tarball containing a bare Git repository corresponding to a revision.
Passing KIND (one of 'directory or 'revision) together with a raw revision or
directory identifier is deprecated."
(call (vault-url id kind archive-type)
json->vault-reply json->vault-reply
http-post*)) http-post*))
(define* (vault-fetch id kind (define* (vault-fetch id
#:key (log-port (current-error-port))) #:optional kind
"Return an input port from which a bundle of the object with the given ID #:key
and KIND (one of 'directory or 'revision) can be retrieved, or #f if the (archive-type 'flat)
object could not be found. (log-port (current-error-port)))
"Return an input port from which a bundle of the object with the given ID,
an SWHID, or #f if the object could not be found.
For a directory, the returned stream is a gzip-compressed tarball. For a ARCHIVE-TYPE can be 'flat for a tarball containing a directory, or 'git-bare
revision, it is a gzip-compressed stream for 'git fast-import'." for a tarball containing a bare Git repository corresponding to a revision."
(let loop ((reply (query-vault id kind))) (let loop ((reply (query-vault id kind
#:archive-type archive-type)))
(match reply (match reply
(#f (#f
(and=> (request-cooking id kind) loop)) (and=> (request-cooking id kind
#:archive-type archive-type)
loop))
(_ (_
(match (vault-reply-status reply) (match (vault-reply-status reply)
('done ('done
@ -588,7 +608,8 @@ revision, it is a gzip-compressed stream for 'git fast-import'."
(format log-port "SWH vault: failure: ~a~%" (format log-port "SWH vault: failure: ~a~%"
(vault-reply-progress-message reply)) (vault-reply-progress-message reply))
(format log-port "SWH vault: retrying...~%") (format log-port "SWH vault: retrying...~%")
(loop (request-cooking id kind))) (loop (request-cooking id kind
#:archive-type archive-type)))
((and (or 'new 'pending) status) ((and (or 'new 'pending) status)
;; Wait until the bundle shows up. ;; Wait until the bundle shows up.
(let ((message (vault-reply-progress-message reply))) (let ((message (vault-reply-progress-message reply)))
@ -603,7 +624,8 @@ requested bundle cooking, waiting for completion...~%"))
;; requests per hour per IP address.) ;; requests per hour per IP address.)
(sleep (if (eq? status 'new) 60 30)) (sleep (if (eq? status 'new) 60 30))
(loop (query-vault id kind))))))))) (loop (query-vault id kind
#:archive-type archive-type)))))))))
;;; ;;;
@ -675,4 +697,7 @@ wait until it becomes available, which could take several minutes."
(swh-download-directory (revision-directory revision) output (swh-download-directory (revision-directory revision) output
#:log-port log-port)) #:log-port log-port))
(#f (#f
(format log-port
"SWH: revision ~s originating from ~a could not be found~%"
reference url)
#f))) #f)))

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -270,6 +271,25 @@ strings like \"guile-next=stable-3.0\" meaning that packages are built using
(rewrite obj) (rewrite obj)
obj)))) obj))))
(define (commit->version-string commit)
"Return a string suitable for use in the 'version' field of a package based
on the given COMMIT."
(cond ((and (> (string-length commit) 1)
(string-prefix? "v" commit)
(char-set-contains? char-set:digit
(string-ref commit 1)))
;; Probably a tag like "v1.0" or a 'git describe' identifier.
(string-drop commit 1))
((not (string-every char-set:hex-digit commit))
;; Pass through tags and 'git describe' style IDs directly.
commit)
(else
(string-append "git."
(if (< (string-length commit) 7)
commit
(string-take commit 7))))))
(define (transform-package-source-commit replacement-specs) (define (transform-package-source-commit replacement-specs)
"Return a procedure that, when passed a package, replaces its direct "Return a procedure that, when passed a package, replaces its direct
dependencies according to REPLACEMENT-SPECS. REPLACEMENT-SPECS is a list of dependencies according to REPLACEMENT-SPECS. REPLACEMENT-SPECS is a list of
@ -278,15 +298,7 @@ strings like \"guile-next=cabba9e\" meaning that packages are built using
(define (replace old url commit) (define (replace old url commit)
(package (package
(inherit old) (inherit old)
(version (if (and (> (string-length commit) 1) (version (commit->version-string commit))
(string-prefix? "v" commit)
(char-set-contains? char-set:digit
(string-ref commit 1)))
(string-drop commit 1) ;looks like a tag like "v1.0"
(string-append "git."
(if (< (string-length commit) 7)
commit
(string-take commit 7)))))
(source (git-checkout (url url) (commit commit) (source (git-checkout (url url) (commit commit)
(recursive? #t))))) (recursive? #t)))))

View file

@ -312,8 +312,6 @@ executable cabal
mtl >= 2.0 && < 3 mtl >= 2.0 && < 3
") ")
;; Fails: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25138
(test-expect-fail 1)
(test-assert "hackage->guix-package test flag executable" (test-assert "hackage->guix-package test flag executable"
(eval-test-with-cabal test-cabal-flag-executable match-ghc-foo)) (eval-test-with-cabal test-cabal-flag-executable match-ghc-foo))

View file

@ -241,6 +241,17 @@
(eq? item new))) (eq? item new)))
(null? (manifest-transaction-remove tx))))))) (null? (manifest-transaction-remove tx)))))))
(test-assert "package-definition-location"
(let ((location (package-location hello))
(definition (package-definition-location hello)))
;; Check for the usual layout of (define-public hello (package ...)).
(and (string=? (location-file location)
(location-file definition))
(= 0 (location-column definition))
(= 2 (location-column location))
(= (location-line definition)
(- (location-line location) 1)))))
(test-assert "package-field-location" (test-assert "package-field-location"
(let () (let ()
(define (goto port line column) (define (goto port line column)

View file

@ -454,6 +454,42 @@
(derivation->output-path drv))) (derivation->output-path drv)))
(list d1 d2))))) (list d1 d2)))))
(test-equal "map/accumulate-builds cutoff" ;https://issues.guix.gnu.org/50264
(iota 20)
;; Make sure that, when the cutoff is reached, 'map/accumulate-builds' still
;; returns the right result and calls the build handler by batches.
(let* ((b (add-text-to-store %store "build" "echo $foo > $out" '()))
(s (add-to-store %store "bash" #t "sha256"
(search-bootstrap-binary "bash"
(%current-system))))
(d (map (lambda (i)
(derivation %store (string-append "the-thing-"
(number->string i))
s `("-e" ,b)
#:env-vars `(("foo" . ,(random-text)))
#:sources (list b s)
#:properties `((n . ,i))))
(iota 20)))
(calls '()))
(define lst
(with-build-handler (lambda (continue store things mode)
(set! calls (cons things calls))
(continue #f))
(map/accumulate-builds %store
(lambda (d)
(build-derivations %store (list d))
(assq-ref (derivation-properties d) 'n))
d
#:cutoff 7)))
(match (reverse calls)
(((batch1 ...) (batch2 ...) (batch3 ...))
(and (equal? (map derivation-file-name (take d 8)) batch1)
(equal? (map derivation-file-name (take (drop d 8) 8)) batch2)
(equal? (map derivation-file-name (drop d 16)) batch3)
lst)))))
(test-assert "mapm/accumulate-builds" (test-assert "mapm/accumulate-builds"
(let* ((d1 (run-with-store %store (let* ((d1 (run-with-store %store
(gexp->derivation "foo" #~(mkdir #$output)))) (gexp->derivation "foo" #~(mkdir #$output))))

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -235,6 +236,26 @@
(string=? (package-name dep2) "chbouib") (string=? (package-name dep2) "chbouib")
(package-source dep2)))))))) (package-source dep2))))))))
(test-equal "options->transformation, with-commit, version transformation"
'("1.0" "1.0-rc1-2-gabc123" "git.abc123")
(map (lambda (commit)
(let* ((p (dummy-package "guix.scm"
(inputs `(("foo" ,(dummy-package "chbouib"
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://example.org")
(commit "cabba9e")))
(sha256 #f)))))))))
(t (options->transformation
`((with-commit . ,(string-append "chbouib=" commit))))))
(let ((new (t p)))
(and (not (eq? new p))
(match (package-inputs new)
((("foo" dep1))
(package-version dep1)))))))
'("v1.0" "1.0-rc1-2-gabc123" "abc123")))
(test-equal "options->transformation, with-git-url" (test-equal "options->transformation, with-git-url"
(let ((source (git-checkout (url "https://example.org") (let ((source (git-checkout (url "https://example.org")
(recursive? #t)))) (recursive? #t))))