diff options
237 files changed, 18950 insertions, 4674 deletions
diff --git a/Makefile.am b/Makefile.am index 0371d92d7c..5422172e64 100644 --- a/Makefile.am +++ b/Makefile.am @@ -122,6 +122,7 @@ MODULES = \ guix/build-system/meson.scm \ guix/build-system/minify.scm \ guix/build-system/asdf.scm \ + guix/build-system/copy.scm \ guix/build-system/glib-or-gtk.scm \ guix/build-system/gnu.scm \ guix/build-system/guile.scm \ @@ -169,6 +170,7 @@ MODULES = \ guix/build/go-build-system.scm \ guix/build/asdf-build-system.scm \ guix/build/bzr.scm \ + guix/build/copy-build-system.scm \ guix/build/git.scm \ guix/build/hg.scm \ guix/build/glib-or-gtk-build-system.scm \ diff --git a/bootstrap b/bootstrap index c9e7a084a1..a47269d87f 100755 --- a/bootstrap +++ b/bootstrap @@ -16,7 +16,7 @@ for lang in ${langs}; do fi done langs=`find po/doc -type f -name 'guix-cookbook*.po' \ - | sed -e 's,guix-manual\.,,' \ + | sed -e 's,guix-cookbook\.,,' \ | xargs -n 1 -I{} basename {} .po` for lang in ${langs}; do if [ ! -e "doc/guix-cookbook.${lang}.texi" ]; then diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm index fc13032b73..f2e785b7f1 100644 --- a/build-aux/build-self.scm +++ b/build-aux/build-self.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2014, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -420,6 +420,7 @@ files." ;; $GUILE_LOAD_PATH & co. (with-clean-environment (setenv "GUILE_WARN_DEPRECATED" "no") ;be quiet and drive + (setenv "COLUMNS" "120") ;show wider backtraces (when home ;; Inherit HOME so that 'xdg-directory' works. (setenv "HOME" home)) diff --git a/build-aux/git-authenticate.scm b/build-aux/git-authenticate.scm index aa9103a372..640dedbff5 100644 --- a/build-aux/git-authenticate.scm +++ b/build-aux/git-authenticate.scm @@ -134,7 +134,8 @@ ("lsl88" "2AE3 1395 932B E642 FC0E D99C 9BED 6EDA 32E5 B0BC") ("mab" - "BE62 7373 8E61 6D6D 1B3A 08E8 A21A 0202 4881 6103") + ;; primary: "BE62 7373 8E61 6D6D 1B3A 08E8 A21A 0202 4881 6103" + "39B3 3C8D 9448 0D2D DCC2 A498 8B44 A0CD C7B9 56F2") ("marusich" "CBF5 9755 CBE7 E7EF EF18 3FB1 DD40 9A15 D822 469D") ("mbakke" @@ -183,8 +184,6 @@ "77DD AD2D 97F5 31BB C0F3 C7FD DFB5 EB09 AA62 5423") ("snape" "F494 72F4 7A59 00D5 C235 F212 89F9 6D48 08F3 59C7") - ("snape" - "F494 72F4 7A59 00D5 C235 F212 89F9 6D48 08F3 59C7") ("steap" "4E26 CCE9 578E 0828 9855 BDD4 1C79 95D2 D5A3 8336") ("taylanub" @@ -192,7 +191,8 @@ ;; https://lists.gnu.org/archive/html/guix-devel/2017-03/msg00826.html ("thomasd" - "1DD1 681F E285 E07F 11DC 0C59 2E15 A6BC D77D 54FD") + ;; primary: "1DD1 681F E285 E07F 11DC 0C59 2E15 A6BC D77D 54FD" + "3D2C DA58 819C 08C2 A649 D43D 5C3B 064C 724A 5726") ("thomasd (old)" "A5C5 92EA 606E 7106 A6A3 BC08 98B2 1575 91E1 2B08") diff --git a/doc/contributing.texi b/doc/contributing.texi index c6586a2adf..9d45becf86 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -274,6 +274,33 @@ trigger string @code{origin...}, which can be expanded further. The @code{origin} snippet in turn may insert other trigger strings ending on @code{...}, which also can be expanded further. +@cindex insert or update copyright +@cindex @code{M-x guix-copyright} +@cindex @code{M-x copyright-update} +Additionaly we provide insertion and automatic update of a copyright in +@file{etc/copyright.el}. You may want to set your full name, mail, and +load a file. + +@lisp +(setq user-full-name "Alice Doe") +(setq user-mail-address "alice@@mail.org") +;; @r{Assuming the Guix checkout is in ~/src/guix.} +(load-file "~/src/guix/etc/copyright.el") +@end lisp + +To insert a copyright at the current line invoke @code{M-x guix-copyright}. + +To update a copyright you need to specify a @code{copyright-names-regexp}. + +@lisp +(setq copyright-names-regexp + (format "%s <%s>" user-full-name user-mail-address)) +@end lisp + +You can check if your copyright is up to date by evaluating @code{M-x +copyright-update}. If you want to do it automatically after each buffer +save then add @code{(add-hook 'after-save-hook 'copyright-update)} in +Emacs. @node Packaging Guidelines @section Packaging Guidelines @@ -347,6 +374,7 @@ needed is to review and apply the patch. * Python Modules:: A touch of British comedy. * Perl Modules:: Little pearls. * Java Packages:: Coffee break. +* Rust Crates:: Beware of oxidation. * Fonts:: Fond of fonts. @end menu @@ -685,6 +713,40 @@ dashes and prepend the prefix @code{java-}. So the class @code{java-apache-commons-cli}. +@node Rust Crates +@subsection Rust Crates + +@cindex rust +Rust programs standing for themselves are named as any other package, using the +lowercase upstream name. + +To prevent namespace collisions we prefix all other Rust packages with the +@code{rust-} prefix. The name should be changed to lowercase as appropriate and +dashes should remain in place. + +In the rust ecosystem it is common for multiple incompatible versions of a +package to be used at any given time, so all packages should have a versioned +suffix. If a package has passed version 1.0.0 then just the major version +number is sufficient (e.g.@: @code{rust-clap-2}), otherwise the version suffix +should contain both the major and minor version (e.g.@: @code{rust-rand-0.6}). + +Because of the difficulty in reusing rust packages as pre-compiled inputs for +other packages the Cargo build system (@pxref{Build Systems, +@code{cargo-build-system}}) presents the @code{#:cargo-inputs} and +@code{cargo-development-inputs} keywords as build system arguments. It would be +helpful to think of these as similar to @code{propagated-inputs} and +@code{native-inputs}. Rust @code{dependencies} and @code{build-dependencies} +should go in @code{#:cargo-inputs}, and @code{dev-dependencies} should go in +@code{#:cargo-development-inputs}. If a Rust package links to other libraries +then the standard placement in @code{inputs} and the like should be used. + +Care should be taken to ensure the correct version of dependencies are used; to +this end we try to refrain from skipping the tests or using @code{#:skip-build?} +when possible. Of course this is not always possible, as the package may be +developed for a different Operating System, depend on features from the Nightly +Rust compiler, or the test suite may have atrophied since it was released. + + @node Fonts @subsection Fonts diff --git a/doc/guix.texi b/doc/guix.texi index 282f9578bf..fab9159530 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -73,6 +73,7 @@ Copyright @copyright{} 2020 Leo Prikler@* Copyright @copyright{} 2019, 2020 Simon Tournier@* Copyright @copyright{} 2020 Wiktor Żelazny@* Copyright @copyright{} 2020 Damien Cassou@* +Copyright @copyright{} 2020 Jakub Kądziołka@* Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -771,11 +772,11 @@ The following dependencies are optional: @itemize @item -@c Note: We need at least 0.10.2 for 'channel-send-eof'. +@c Note: We need at least 0.12.0 for 'userauth-gssapi!'. Support for build offloading (@pxref{Daemon Offload Setup}) and @command{guix copy} (@pxref{Invoking guix copy}) depends on @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH}, -version 0.10.2 or later. +version 0.12.0 or later. @item When @url{https://www.nongnu.org/lzip/lzlib.html, lzlib} is available, lzlib @@ -2440,6 +2441,11 @@ your system includes the latest security updates (@pxref{Security Updates}). Note that @command{sudo guix} runs your user's @command{guix} command and @emph{not} root's, because @command{sudo} leaves @code{PATH} unchanged. To explicitly run root's @command{guix}, type @command{sudo -i guix @dots{}}. + +The difference matters here, because @command{guix pull} updates +the @command{guix} command and package definitions only for the user it is ran +as. This means that if you choose to use @command{guix system reconfigure} in +root's login shell, you'll need to @command{guix pull} separately. @end quotation Join us on @code{#guix} on the Freenode IRC network or on @@ -4230,7 +4236,7 @@ guix time-machine -- build hello @end example will thus build the package @code{hello} as defined in the master branch, -which is in general a newer revison of Guix than you have installed. +which is in general a newer revision of Guix than you have installed. Time travel works in both directions! Note that @command{guix time-machine} can trigger builds of channels and @@ -4958,8 +4964,10 @@ shared and will change to the user's home directory within the container instead. See also @code{--user}. @item --expose=@var{source}[=@var{target}] -For containers, expose the file system @var{source} from the host system -as the read-only file system @var{target} within the container. If +@itemx --share=@var{source}[=@var{target}] +For containers, @code{--expose} (resp. @code{--share}) exposes the file +system @var{source} from the host system as the read-only +(resp. writable) file system @var{target} within the container. If @var{target} is not specified, @var{source} is used as the target mount point in the container. @@ -4971,19 +4979,6 @@ directory: guix environment --container --expose=$HOME=/exchange --ad-hoc guile -- guile @end example -@item --share=@var{source}[=@var{target}] -For containers, share the file system @var{source} from the host system -as the writable file system @var{target} within the container. If -@var{target} is not specified, @var{source} is used as the target mount -point in the container. - -The example below spawns a Guile REPL in a container in which the user's -home directory is accessible for both reading and writing via the -@file{/exchange} directory: - -@example -guix environment --container --share=$HOME=/exchange --ad-hoc guile -- guile -@end example @end table @command{guix environment} @@ -6159,6 +6154,70 @@ parameters available to cargo. It will also remove an included if they are defined by the crate. @end defvr + +@defvr {Scheme Variable} copy-build-system +@cindex (copy build system) +This variable is exported by @code{(guix build-system copy)}. It +supports builds of simple packages that don't require much compiling, +mostly just moving files around. + +It adds much of the @code{gnu-build-system} packages to the set of +inputs. Because of this, the @code{copy-build-system} does not require +all the boilerplate code often needed for the +@code{trivial-build-system}. + +To further simplify the file installation process, an +@code{#:install-plan} argument is exposed to let the packager specify +which files go where. The install plan is a list of @code{(@var{source} +@var{target} [@var{filters}])}. @var{filters} are optional. + +@itemize +@item When @var{source} matches a file or directory without trailing slash, install it to @var{target}. +@itemize +@item If @var{target} has a trailing slash, install @var{source} basename beneath @var{target}. +@item Otherwise install @var{source} as @var{target}. +@end itemize + +@item When @var{source} is a directory with a trailing slash, or when @var{filters} are used, +the trailing slash of @var{target} is implied with the same meaning +as above. +@itemize +@item Without @var{filters}, install the full @var{source} @emph{content} to @var{target}. +@item With @var{filters} among @code{#:include}, @code{#:include-regexp}, @code{#:exclude}, +@code{#:exclude-regexp}, only select files are installed depending on +the filters. Each filters is specified by a list of strings. +@itemize +@item With @code{#:include}, install all the files which the path suffix matches +at least one of the elements in the given list. +@item With @code{#:include-regexp}, install all the files which the +subpaths match at least one of the regular expressions in the given +list. +@item The @code{#:exclude} and @code{#:exclude-regexp} filters +are the complement of their inclusion counterpart. Without @code{#:include} flags, +install all files but those matching the exclusion filters. +If both inclusions and exclusions are specified, the exclusions are done +on top of the inclusions. +@end itemize +@end itemize +In all cases, the paths relative to @var{source} are preserved within +@var{target}. +@end itemize + +Examples: + +@itemize +@item @code{("foo/bar" "share/my-app/")}: Install @file{bar} to @file{share/my-app/bar}. +@item @code{("foo/bar" "share/my-app/baz")}: Install @file{bar} to @file{share/my-app/baz}. +@item @code{("foo/" "share/my-app")}: Install the content of @file{foo} inside @file{share/my-app}, +e.g., install @file{foo/sub/file} to @file{share/my-app/sub/file}. +@item @code{("foo/" "share/my-app" #:include ("sub/file"))}: Install only @file{foo/sub/file} to +@file{share/my-app/sub/file}. +@item @code{("foo/sub" "share/my-app" #:include ("file"))}: Install @file{foo/sub/file} to +@file{share/my-app/file}. +@end itemize +@end defvr + + @cindex Clojure (programming language) @cindex simple Clojure build system @defvr {Scheme Variable} clojure-build-system @@ -6815,9 +6874,11 @@ instruct it to listen for TCP connections (@pxref{Invoking guix-daemon, @item ssh @cindex SSH access to build daemons -These URIs allow you to connect to a remote daemon over -SSH@footnote{This feature requires Guile-SSH (@pxref{Requirements}).}. -A typical URL might look like this: +These URIs allow you to connect to a remote daemon over SSH. This +feature requires Guile-SSH (@pxref{Requirements}) and a working +@code{guile} binary in @code{PATH} on the destination machine. It +supports public key and GSSAPI authentication. A typical URL might look +like this: @example ssh://charlie@@guix.example.org:22 @@ -14037,7 +14098,7 @@ Each string gets on its own line. See the @code{AcceptEnv} option in This example allows ssh-clients to export the @code{COLORTERM} variable. It is set by terminal emulators, which support colors. You can use it in -your shell's ressource file to enable colors for the prompt and commands +your shell's resource file to enable colors for the prompt and commands if this variable is set. @lisp @@ -14463,7 +14524,7 @@ Command to run when halting. Command to run when rebooting. @item @code{theme} (default "maldives") -Theme to use. Default themes provided by SDDM are "elarun" or "maldives". +Theme to use. Default themes provided by SDDM are "elarun", "maldives" or "maya". @item @code{themes-directory} (default "/run/current-system/profile/share/sddm/themes") Directory to look for themes. @@ -14538,7 +14599,7 @@ Relogin after logout. @cindex X11 login @defvr {Scheme Variable} sddm-service-type This is the type of the service to run the -@uref{https://github.com/sddm/sddm,SSDM display manager}. Its value +@uref{https://github.com/sddm/sddm,SDDM display manager}. Its value must be a @code{sddm-configuration} record (see below). Here's an example use: @@ -15560,7 +15621,7 @@ adding a service of type @code{mate-desktop-service-type} adds the MATE metapackage to the system profile. ``Adding Enlightenment'' means that @code{dbus} is extended appropriately, and several of Enlightenment's binaries are set as setuid, allowing Enlightenment's screen locker and other -functionality to work as expetected. +functionality to work as expected. The desktop environments in Guix use the Xorg display server by default. If you'd like to use the newer display server protocol @@ -19987,7 +20048,7 @@ The @code{ServerName} in the configuration file, used to specify the request scheme, hostname and port that the server uses to identify itself. -This doesn't need to be set in the server config, and can be specifyed +This doesn't need to be set in the server config, and can be specified in virtual hosts. The default is @code{#f} to not specify a @code{ServerName}. @@ -21143,7 +21204,7 @@ false, listed actions are allowed. @end deftp @deftp {Data Type} zone-entry -Data type represnting a record entry in a zone file. +Data type representing a record entry in a zone file. This type has the following parameters: @table @asis @@ -21266,7 +21327,7 @@ The backend to store the keys in. Can be @code{'pem} or @code{'pkcs11}. @item @code{config} (default: @code{"/var/lib/knot/keys/keys"}) The configuration string of the backend. An example for the PKCS#11 is: @code{"pkcs11:token=knot;pin-value=1234 /gnu/store/.../lib/pkcs11/libsofthsm2.so"}. -For the pem backend, the string reprensents a path in the file system. +For the pem backend, the string represents a path in the file system. @end table @end deftp @@ -21799,6 +21860,13 @@ Defaults to @samp{#t}. @end deftypevr +@deftypevr {@code{openvpn-client-configuration} parameter} boolean fast-io? +(Experimental) Optimize TUN/TAP/UDP I/O writes by avoiding a call to +poll/epoll/select prior to the write operation. + +Defaults to @samp{#f}. +@end deftypevr + @deftypevr {@code{openvpn-client-configuration} parameter} number verbosity Verbosity level. @@ -21814,6 +21882,14 @@ Defaults to @samp{#f}. @end deftypevr +@deftypevr {@code{openvpn-client-configuration} parameter} maybe-string auth-user-pass +Authenticate with server using username/password. The option is a file +containing username/password on 2 lines. Do not use a file-like object as it +would be added to the store and readable by any user. + +Defaults to @samp{'disabled}. +@end deftypevr + @deftypevr {@code{openvpn-client-configuration} parameter} key-usage verify-key-usage? Whether to check the server certificate has server usage extension. @@ -21935,6 +22011,13 @@ Defaults to @samp{#t}. @end deftypevr +@deftypevr {@code{openvpn-server-configuration} parameter} boolean fast-io? +(Experimental) Optimize TUN/TAP/UDP I/O writes by avoiding a call to +poll/epoll/select prior to the write operation. + +Defaults to @samp{#f}. +@end deftypevr + @deftypevr {@code{openvpn-server-configuration} parameter} number verbosity Verbosity level. @@ -24499,7 +24582,7 @@ Defaults to @samp{"a fast webinterface for the git dscm"}. @deftypevr {@code{cgit-configuration} parameter} string root-readme The content of the file specified with this option will be included -verbatim below thef "about" link on the repository index page. +verbatim below the "about" link on the repository index page. Defaults to @samp{""}. @@ -25382,7 +25465,7 @@ of DICT server (@pxref{Dicod,,, dico, GNU Dico Manual}). The optional @var{config} argument specifies the configuration for @command{dicod}, which should be a @code{<dicod-configuration>} object, by -default it serves the GNU Collaborative International Dictonary of English. +default it serves the GNU Collaborative International Dictionary of English. You can add @command{open localhost} to your @file{~/.dico} file to make @code{localhost} the default server for @command{dico} client @@ -26364,7 +26447,7 @@ Switch to an existing system generation. This action atomically switches the system profile to the specified system generation. It also rearranges the system's existing bootloader menu entries. It makes the menu entry for the specified system generation the default, -and it moves the entries for the other generatiors to a submenu, if +and it moves the entries for the other generations to a submenu, if supported by the bootloader being used. The next time the system boots, it will use the specified system generation. diff --git a/doc/local.mk b/doc/local.mk index a361f2388e..3805593172 100644 --- a/doc/local.mk +++ b/doc/local.mk @@ -27,7 +27,8 @@ info_TEXINFOS = %D%/guix.texi \ %D%/guix.fr.texi \ %D%/guix.ru.texi \ %D%/guix.zh_CN.texi \ - %D%/guix-cookbook.texi + %D%/guix-cookbook.texi \ + %D%/guix-cookbook.de.texi %C%_guix_TEXINFOS = \ %D%/contributing.texi \ @@ -69,7 +70,8 @@ TRANSLATED_INFO = \ %D%/contributing.es.texi \ %D%/contributing.fr.texi \ %D%/contributing.ru.texi \ - %D%/contributing.zh_CN.texi + %D%/contributing.zh_CN.texi \ + %D%/guix-cookbook.de.texi # Bundle this file so that makeinfo finds it in out-of-source-tree builds. BUILT_SOURCES += $(OS_CONFIG_EXAMPLES_TEXI) $(TRANSLATED_INFO) diff --git a/etc/copyright.el b/etc/copyright.el new file mode 100644 index 0000000000..f5ed723cea --- /dev/null +++ b/etc/copyright.el @@ -0,0 +1,34 @@ +;;; copyright.el --- Insert a Guix copyright. + +;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> + +;; This file is part of GNU Guix. + +;; GNU Guix is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Guix is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see <http://www.gnu.org/licenses/>. + +;;; Commentary: + +;; This package provides skeleton to insert a copyright with `guix-copyright'. + +;;; Code: + +(define-skeleton guix-copyright + "Insert a copyright by $USER notice at cursor." + "FULL_NAME <MAIL_ADDRESS>: " + comment-start + ";; Copyright © " `(format-time-string "%Y") " " + (or (format "%s <%s>" user-full-name user-mail-address) str) + comment-end) + +;;; copyright.el ends here diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm index ee6375515f..902563b219 100644 --- a/gnu/build/file-systems.scm +++ b/gnu/build/file-systems.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 David C. Trudgian <dave@trudgian.net> +;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -581,6 +582,7 @@ were found." ((string-prefix? "btrfs" type) check-btrfs-file-system) ((string-suffix? "fat" type) check-fat-file-system) ((string-prefix? "jfs" type) check-jfs-file-system) + ((string-prefix? "nfs" type) (const 'pass)) (else #f))) (if check-procedure diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm index 3d40a7d05d..4fb711b8f2 100644 --- a/gnu/build/linux-boot.scm +++ b/gnu/build/linux-boot.scm @@ -362,12 +362,12 @@ the last argument of `mknod'." "Mount the root file system of type TYPE at device ROOT. If VOLATILE-ROOT? is true, mount ROOT read-only and make it an overlay with a writable tmpfs using the kernel built-in overlayfs. FLAGS and OPTIONS indicates the options to use -to mount ROOT." +to mount ROOT, and behave the same as for the `mount' procedure." (if volatile-root? (begin (mkdir-p "/real-root") - (mount root "/real-root" type MS_RDONLY options) + (mount root "/real-root" type (logior MS_RDONLY flags) options) (mkdir-p "/rw-root") (mount "none" "/rw-root" "tmpfs") diff --git a/gnu/build/marionette.scm b/gnu/build/marionette.scm index 1dbe385e89..fe754cd147 100644 --- a/gnu/build/marionette.scm +++ b/gnu/build/marionette.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com> ;;; ;;; This file is part of GNU Guix. @@ -204,6 +204,7 @@ MARIONETTE. Raise an error on failure." (catch 'system-error (lambda () (connect sock AF_INET INADDR_LOOPBACK ,port) + (close-port sock) 'success) (lambda args (if (< i ,timeout) @@ -227,6 +228,7 @@ accept connections in MARIONETTE. Raise an error on failure." (catch 'system-error (lambda () (connect sock AF_UNIX ,file-name) + (close-port sock) 'success) (lambda args (if (< i ,timeout) @@ -315,8 +317,8 @@ PREDICATE, whichever comes first. Raise an error when TIMEOUT is exceeded." (#\( . "shift-9") (#\) . "shift-0") (#\/ . "slash") - (#\< . "less") - (#\> . "shift-less") + (#\< . "shift-comma") + (#\> . "shift-dot") (#\. . "dot") (#\, . "comma") (#\; . "semicolon") diff --git a/gnu/installer.scm b/gnu/installer.scm index b93cebbc13..04f3dd5f26 100644 --- a/gnu/installer.scm +++ b/gnu/installer.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018, 2020 Mathieu Othacehe <m.othacehe@gmail.com> -;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. @@ -26,6 +26,7 @@ #:use-module (guix utils) #:use-module (guix ui) #:use-module ((guix self) #:select (make-config.scm)) + #:use-module (gnu installer utils) #:use-module (gnu packages admin) #:use-module (gnu packages base) #:use-module (gnu packages bash) @@ -395,6 +396,8 @@ selected keymap." #f))) (const #f) (lambda (key . args) + (syslog "crashing due to uncaught exception: ~s ~s~%" + key args) (let ((error-file "/tmp/last-installer-error")) (call-with-output-file error-file (lambda (port) diff --git a/gnu/installer/parted.scm b/gnu/installer/parted.scm index c2b02c9281..6c805cc053 100644 --- a/gnu/installer/parted.scm +++ b/gnu/installer/parted.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com> -;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. @@ -1070,6 +1070,8 @@ USER-PARTITION if it is encrypted, or the plain file-name otherwise." (call-with-luks-key-file password (lambda (key-file) + (syslog "formatting and opening LUKS entry ~s at ~s~%" + label file-name) (system* "cryptsetup" "-q" "luksFormat" file-name key-file) (system* "cryptsetup" "open" "--type" "luks" "--key-file" key-file file-name label))))) @@ -1077,6 +1079,7 @@ USER-PARTITION if it is encrypted, or the plain file-name otherwise." (define (luks-close user-partition) "Close the encrypted partition pointed by USER-PARTITION." (let ((label (user-partition-crypt-label user-partition))) + (syslog "closing LUKS entry ~s~%" label) (system* "cryptsetup" "close" label))) (define (format-user-partitions user-partitions) @@ -1150,6 +1153,7 @@ respective mount-points." (file-name (user-partition-upper-file-name user-partition))) (mkdir-p target) + (syslog "mounting ~s on ~s~%" file-name target) (mount file-name target mount-type))) sorted-partitions))) @@ -1165,6 +1169,7 @@ respective mount-points." (target (string-append (%installer-target-dir) mount-point))) + (syslog "unmounting ~s~%" target) (umount target) (when crypt-label (luks-close user-partition)))) diff --git a/gnu/installer/steps.scm b/gnu/installer/steps.scm index 4e90f32f95..b2fc819d89 100644 --- a/gnu/installer/steps.scm +++ b/gnu/installer/steps.scm @@ -177,6 +177,7 @@ return the accumalated result so far." #:done-steps '()))))) ((installer-step-break? c) (reverse result))) + (syslog "running step '~a'~%" (installer-step-id step)) (let* ((id (installer-step-id step)) (compute (installer-step-compute step)) (res (compute result done-steps))) diff --git a/gnu/installer/utils.scm b/gnu/installer/utils.scm index ddb96bc338..842bd02ced 100644 --- a/gnu/installer/utils.scm +++ b/gnu/installer/utils.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com> -;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,12 +24,16 @@ #:use-module (srfi srfi-34) #:use-module (ice-9 rdelim) #:use-module (ice-9 regex) + #:use-module (ice-9 format) #:use-module (ice-9 textual-ports) #:export (read-lines read-all nearest-exact-integer read-percentage - run-shell-command)) + run-shell-command + + syslog-port + syslog)) (define* (read-lines #:optional (port (current-input-port))) "Read lines from PORT and return them as a list." @@ -85,9 +89,48 @@ COMMAND exited successfully, #f otherwise." (format (current-error-port) (G_ "Command failed with exit code ~a.~%") (invoke-error-exit-status c)) + (syslog "command ~s failed with exit code ~a" + command (invoke-error-exit-status c)) (pause) #f)) + (syslog "running command ~s~%" command) (invoke "bash" "--init-file" file) + (syslog "command ~s succeeded~%" command) (newline) (pause) #t)))) + + +;;; +;;; Logging. +;;; + +(define (open-syslog-port) + "Return an open port (a socket) to /dev/log or #f if that wasn't possible." + (let ((sock (socket AF_UNIX SOCK_DGRAM 0))) + (catch 'system-error + (lambda () + (connect sock AF_UNIX "/dev/log") + (setvbuf sock 'line) + sock) + (lambda args + (close-port sock) + #f)))) + +(define syslog-port + (let ((port #f)) + (lambda () + "Return an output port to syslog." + (unless port + (set! port (open-syslog-port))) + (or port (%make-void-port "w"))))) + +(define-syntax syslog + (lambda (s) + "Like 'format', but write to syslog." + (syntax-case s () + ((_ fmt args ...) + (string? (syntax->datum #'fmt)) + (with-syntax ((fmt (string-append "installer[~d]: " + (syntax->datum #'fmt)))) + #'(format (syslog-port) fmt (getpid) args ...)))))) diff --git a/gnu/local.mk b/gnu/local.mk index c6eccd7e4a..9b46ac5629 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -622,6 +622,7 @@ GNU_SYSTEM_MODULES = \ %D%/tests.scm \ %D%/tests/audio.scm \ %D%/tests/base.scm \ + %D%/tests/cups.scm \ %D%/tests/databases.scm \ %D%/tests/desktop.scm \ %D%/tests/dict.scm \ @@ -719,7 +720,6 @@ dist_patch_DATA = \ %D%/packages/patches/antiword-CVE-2014-8123.patch \ %D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \ %D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \ - %D%/packages/patches/appstream-glib-2020.patch \ %D%/packages/patches/apr-skip-getservbyname-test.patch \ %D%/packages/patches/arm-trusted-firmware-disable-hdcp.patch \ %D%/packages/patches/aspell-default-dict-dir.patch \ @@ -771,11 +771,8 @@ dist_patch_DATA = \ %D%/packages/patches/catdoc-CVE-2017-11110.patch \ %D%/packages/patches/cdparanoia-fpic.patch \ %D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \ - %D%/packages/patches/ceph-boost-compat.patch \ %D%/packages/patches/ceph-disable-cpu-optimizations.patch \ - %D%/packages/patches/ceph-volume-respect-PATH.patch \ %D%/packages/patches/chmlib-inttypes.patch \ - %D%/packages/patches/choqok-Fix-building-under-Qt-5.13.patch \ %D%/packages/patches/clamav-config-llvm-libs.patch \ %D%/packages/patches/clamav-system-tomsfastmath.patch \ %D%/packages/patches/clang-3.5-libc-search-path.patch \ @@ -783,6 +780,7 @@ dist_patch_DATA = \ %D%/packages/patches/clang-3.8-libc-search-path.patch \ %D%/packages/patches/clang-6.0-libc-search-path.patch \ %D%/packages/patches/clang-7.0-libc-search-path.patch \ + %D%/packages/patches/clang-9.0-libc-search-path.patch \ %D%/packages/patches/clang-runtime-asan-build-fixes.patch \ %D%/packages/patches/clang-runtime-esan-build-fixes.patch \ %D%/packages/patches/classpath-aarch64-support.patch \ @@ -795,6 +793,7 @@ dist_patch_DATA = \ %D%/packages/patches/coda-use-system-libs.patch \ %D%/packages/patches/combinatorial-blas-awpm.patch \ %D%/packages/patches/combinatorial-blas-io-fix.patch \ + %D%/packages/patches/containerd-test-with-go1.13.patch \ %D%/packages/patches/cpufrequtils-fix-aclocal.patch \ %D%/packages/patches/crawl-upgrade-saves.patch \ %D%/packages/patches/crda-optional-gcrypt.patch \ @@ -814,6 +813,8 @@ dist_patch_DATA = \ %D%/packages/patches/debops-constants-for-external-program-names.patch \ %D%/packages/patches/debops-debops-defaults-fall-back-to-less.patch \ %D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \ + %D%/packages/patches/desmume-gcc6-fixes.patch \ + %D%/packages/patches/desmume-gcc7-fixes.patch \ %D%/packages/patches/dfu-programmer-fix-libusb.patch \ %D%/packages/patches/diffutils-gets-undeclared.patch \ %D%/packages/patches/dkimproxy-add-ipv6-support.patch \ @@ -1102,7 +1103,6 @@ dist_patch_DATA = \ %D%/packages/patches/libexif-CVE-2018-20030.patch \ %D%/packages/patches/libextractor-exiv2.patch \ %D%/packages/patches/libgeotiff-adapt-test-script-for-proj-6.2.patch \ - %D%/packages/patches/libgit2-avoid-python.patch \ %D%/packages/patches/libgit2-mtime-0.patch \ %D%/packages/patches/libgnome-encoding.patch \ %D%/packages/patches/libgnomeui-utf8.patch \ @@ -1357,6 +1357,7 @@ dist_patch_DATA = \ %D%/packages/patches/qrcodegen-cpp-make-install.patch \ %D%/packages/patches/qt4-ldflags.patch \ %D%/packages/patches/qtbase-use-TZDIR.patch \ + %D%/packages/patches/qtbase-QTBUG-81715.patch \ %D%/packages/patches/qtscript-disable-tests.patch \ %D%/packages/patches/quagga-reproducible-build.patch \ %D%/packages/patches/quickswitch-fix-dmenu-check.patch \ @@ -1468,7 +1469,6 @@ dist_patch_DATA = \ %D%/packages/patches/ustr-fix-build-with-gcc-5.patch \ %D%/packages/patches/util-linux-tests.patch \ %D%/packages/patches/upower-builddir.patch \ - %D%/packages/patches/upx-fix-CVE-2017-15056.patch \ %D%/packages/patches/valgrind-enable-arm.patch \ %D%/packages/patches/vboot-utils-fix-format-load-address.patch \ %D%/packages/patches/vboot-utils-fix-tests-show-contents.patch \ @@ -1514,7 +1514,9 @@ dist_patch_DATA = \ %D%/packages/patches/xsane-fix-pdf-floats.patch \ %D%/packages/patches/xsane-fix-snprintf-buffer-length.patch \ %D%/packages/patches/xsane-support-ipv6.patch \ - %D%/packages/patches/xsane-tighten-default-umask.patch + %D%/packages/patches/xsane-tighten-default-umask.patch \ + %D%/packages/patches/zziplib-CVE-2018-16548.patch MISC_DISTRO_FILES = \ - %D%/packages/ld-wrapper.in + %D%/packages/ld-wrapper.in \ + %D%/packages/ld-wrapper-next.in diff --git a/gnu/packages/abduco.scm b/gnu/packages/abduco.scm index 3cb84f5fc8..37d2f37773 100644 --- a/gnu/packages/abduco.scm +++ b/gnu/packages/abduco.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name> +;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,7 +30,7 @@ (source (origin (method url-fetch) (uri (string-append - "http://www.brain-dump.org/projects/abduco/abduco-" + "https://www.brain-dump.org/projects/abduco/abduco-" version ".tar.gz")) (sha256 (base32 @@ -45,5 +46,5 @@ (description "abduco provides session management i.e. it allows programs to be run independently from their controlling terminal. That is, programs can be detached---run in the background---and then later reattached.") - (home-page "http://www.brain-dump.org/projects/abduco/") + (home-page "https://www.brain-dump.org/projects/abduco/") (license isc))) diff --git a/gnu/packages/acct.scm b/gnu/packages/acct.scm index a0aac153b0..585a3c2184 100644 --- a/gnu/packages/acct.scm +++ b/gnu/packages/acct.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> +;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -35,7 +36,7 @@ (base32 "0gv6m8giazshvgpvwbng98chpas09myyfw1zr2y7hqxib0mvy5ac")))) (build-system gnu-build-system) - (home-page "https://gnu.org/software/acct/") + (home-page "https://www.gnu.org/software/acct/") (synopsis "Standard login and process accounting utilities") (description "GNU acct provides a means for system administrators to determine diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 02fdb453b6..6fb342dfee 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2014, 2015, 2016, 2018, 2019 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2016, 2017, 2018 Eric Bavier <bavier@member.fsf.org> @@ -24,7 +24,7 @@ ;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> -;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> +;;; Copyright © 2019,2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.org> ;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> @@ -196,14 +196,14 @@ and provides a \"top-like\" mode (monitoring).") (define-public shepherd (package (name "shepherd") - (version "0.6.1") + (version "0.7.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/shepherd/shepherd-" version ".tar.gz")) (sha256 (base32 - "1xn6mb5bh8bpfgdrh09ja31jk0ln7bmxbbf0vjcqxkkixs2wl6sk")))) + "07j3vd0y8zab2nwbrwj0ahrfif1ldm5sjssn7m3dw4s307fsrfzx")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--localstatedir=/var"))) @@ -228,6 +228,16 @@ interface and is based on GNU Guile.") (license license:gpl3+) (home-page "https://www.gnu.org/software/shepherd/"))) +(define-public guile3.0-shepherd + (package + (inherit shepherd) + (name "guile3.0-shepherd") + (native-inputs + `(("pkg-config" ,pkg-config) + ("guile" ,guile-next))) + (inputs + `(("guile" ,guile-next))))) + (define-public cloud-utils (package (name "cloud-utils") @@ -405,7 +415,7 @@ application (for console or X terminals) and requires ncurses.") (("\"/bin/sh\"") (string-append "\"" bash "/bin/sh\""))) #t)))))) - (home-page "https://www.gnu.org/software/pies/") + (home-page "https://www.gnu.org.ua/software/pies/") (synopsis "Program invocation and execution supervisor") (description "GNU pies is a program that supervises the invocation and execution of @@ -1571,7 +1581,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") (define-public acpica (package (name "acpica") - (version "20200110") + (version "20200214") (source (origin (method url-fetch) (uri (string-append @@ -1579,7 +1589,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") version ".tar.gz")) (sha256 (base32 - "1hb4g6r7w8s4bhlkk36fmb4qxghnrwvad7f18cpn6zz0b4sjs7za")))) + "0jdasziq184l3iqyp5vhrsbi6g89n10wr0ssliiz0xi3dqwsxcqk")))) (build-system gnu-build-system) (native-inputs `(("flex" ,flex) ("bison" ,bison))) @@ -1774,7 +1784,7 @@ environment variable is set and output is to tty.") (string-append "SHELL=" bash "/bin/sh"))) #t)))))) - (home-page "https://www.gnu.org/software/direvent/") + (home-page "https://www.gnu.org.ua/software/direvent/") (synopsis "Daemon to monitor directories for events such as file removal") (description "A daemon that monitors directories for events, such as creating, @@ -1905,13 +1915,13 @@ of supported upstream metrics systems simultaneously.") (define-public ansible (package (name "ansible") - (version "2.8.5") + (version "2.9.5") (source (origin (method url-fetch) (uri (pypi-uri "ansible" version)) (sha256 - (base32 "11k94ifp42psivzx147xwbmq1ak7qnjdgkb6c1xz53nfapkh754f")))) + (base32 "19fav6rs58zdc3gfhh1lxhki36jn4252183rrd769sv46b9m1bji")))) (build-system python-build-system) (native-inputs `(("python-bcrypt" ,python-bcrypt) @@ -2230,7 +2240,7 @@ displays a table of current bandwidth usage by pairs of hosts.") (define-public munge (package (name "munge") - (version "0.5.13") + (version "0.5.14") (source (origin (method url-fetch) (uri (string-append "https://github.com/dun/munge/releases/" @@ -2238,20 +2248,45 @@ displays a table of current bandwidth usage by pairs of hosts.") version ".tar.xz")) (sha256 (base32 - "1nj486bbg1adfg298zck96vgx57kchcypc1zdz1n7w540vyksxcr")) + "0h06sghb4rqvv1ywyd6mzsmbcgh712v6ygrff0gzm440y4ca41k6")) (modules '((guix build utils))) (snippet '(begin ;; Don't insist on write access to /var. (substitute* "src/etc/Makefile.in" (("\\$\\(INSTALL\\)(.*)localstatedir" _ middle) - (string-append "-$(INSTALL)" middle "localstatedir"))) + (string-append "-$(INSTALL)" middle "localstatedir")) + (("\\$\\(MKDIR_P\\) .*(local|run)statedir.*") + "")) #t)))) (inputs `(("openssl" ,openssl) ("libgcrypt" ,libgcrypt))) (build-system gnu-build-system) - (arguments '(#:configure-flags '("--localstatedir=/var"))) + (arguments + '(#:configure-flags + (list "--localstatedir=/var" + (string-append "--with-pkgconfigdir=" + (assoc-ref %outputs "out") "/lib/pkgconfig")) + #:phases + (modify-phases %standard-phases + ;; XXX Many test series fail. Some might be fixable, others do no-no + ;; things like invoking ‘sudo’. + (add-after 'unpack 'skip-failing-tests + (lambda _ + (for-each (lambda (test) + (substitute* "t/Makefile.in" + (((string-append test "\\.t ")) ""))) + (list "0100-munged-lock" + "0010-basic" + "0011-munged-cmdline" + "0012-munge-cmdline" + "0013-unmunge-cmdline" + "0101-munged-security-socket" + "0102-munged-security-keyfile" + "0103-munged-security-logfile" + "0110-munged-origin-addr")) + #t))))) (home-page "https://dun.github.io/munge/") (synopsis "Cluster computing authentication service") (description @@ -2500,7 +2535,7 @@ a new command using the matched rule, and runs it.") (setenv "prefix" (assoc-ref outputs "out")) #t))) #:make-flags (list "--environment-overrides"))) - (home-page "https://www.gentoo.com/di/") + (home-page "https://gentoo.com/di/") (synopsis "Advanced df like disk information utility") (description "@code{di} is a disk information utility, displaying everything that your @@ -2840,14 +2875,14 @@ Intel DRM Driver.") (define-public fabric (package (name "fabric") - (version "1.14.0") + (version "1.14.1") (source (origin (method url-fetch) (uri (pypi-uri "Fabric" version)) (sha256 (base32 - "13r0b0hllgf8j9rh6x1knmbgvingbdmx046aazv6vck2ll120mw1")))) + "1a3ndlpdw6bhn8fcw1jgznl117a8pnr84az9rb5fwnrypf1ph2b6")))) (build-system python-build-system) (arguments `(#:python ,python-2 ; Python 2 only @@ -2871,7 +2906,7 @@ Intel DRM Driver.") ("python2-bcrypt" ,python2-bcrypt))) (propagated-inputs `(("python2-paramiko" ,python2-paramiko))) - (home-page "http://fabfile.org") + (home-page "https://www.fabfile.org/") (synopsis "Simple Pythonic remote execution and deployment tool") (description "Fabric is designed to upload files and run shell commands on a number of @@ -3320,14 +3355,14 @@ support forum. It runs with the @code{/exec} command in most IRC clients.") (define-public python-pyudev (package (name "python-pyudev") - (version "0.21.0") + (version "0.22.0") (source (origin (method url-fetch) (uri (pypi-uri "pyudev" version)) (sha256 (base32 - "0arz0dqp75sszsmgm6vhg92n1lsx91ihddx3m944f4ah0487ljq9")))) + "0xmj6l08iih2js9skjqpv4w7y0dhxyg91zmrs6v5aa65gbmipfv9")))) (build-system python-build-system) (arguments `(#:tests? #f ; Tests require /sys @@ -3353,7 +3388,7 @@ support forum. It runs with the @code{/exec} command in most IRC clients.") ("python-mock" ,python-mock) ("python-pytest" ,python-pytest) ("python-sphinx" ,python-sphinx))) - (home-page "http://pyudev.readthedocs.org/") + (home-page "https://pyudev.readthedocs.io/") (synopsis "Python udev binding") (description "This package provides @code{udev} bindings for Python.") (license license:lgpl2.1))) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 08d209ec58..f71909090e 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2016, 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2014, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> @@ -92,7 +92,7 @@ implement the floating point approach to complex multiplication are implemented. On the other hand, these comprise asymptotically fast multiplication routines such as Toom–Cook and the FFT.") (license license:lgpl3+) - (home-page "http://mpfrcx.multiprecision.org/"))) + (home-page "http://www.multiprecision.org/mpfrcx/"))) (define-public gf2x (package @@ -141,7 +141,7 @@ multiplication via floating point approximations. It consists of libraries that can be called from within a C program and of executable command line applications.") (license license:gpl3+) - (home-page "http://cm.multiprecision.org/"))) + (home-page "http://www.multiprecision.org/cm/"))) (define-public fplll (package @@ -346,19 +346,19 @@ precision.") (define-public giac (package (name "giac") - (version "1.5.0-85") - (source (origin - (method url-fetch) - ;; "~parisse/giac" is not used because the maintainer regularly - ;; overwrites the release tarball there, introducing a checksum - ;; mismatch every time. See - ;; <https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/README> - (uri (string-append "https://www-fourier.ujf-grenoble.fr/" - "~parisse/debian/dists/stable/main/" - "source/giac_" version ".tar.gz")) - (sha256 - (base32 - "03icgrfhb1xiy95cqmfgmcb1lw3775mr2ybnzandmyn44iycs6rh")))) + (version "1.5.0-87") + (source + (origin + (method url-fetch) + ;; "~parisse/giac" is not used because the maintainer regularly + ;; overwrites the release tarball there, introducing a checksum + ;; mismatch every time. See + ;; <https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/README> + (uri (string-append "https://www-fourier.ujf-grenoble.fr/" + "~parisse/debian/dists/stable/main/source/" + "giac_" version ".tar.gz")) + (sha256 + (base32 "1d0h1yb7qvh9x7wwv9yrzmcp712f49w1iljkxp4y6g9pzsmg1mmv")))) (build-system gnu-build-system) (arguments `(#:modules ((ice-9 ftw) @@ -1481,7 +1481,7 @@ cohomology ring of a Grassmann variety. The software package also includes a program that performs fast computation of the more general multiplicative structure constants of Schubert polynomials.") (license license:gpl2+) - (home-page "http://sites.math.rutgers.edu/~asbuch/lrcalc/"))) + (home-page "https://sites.math.rutgers.edu/~asbuch/lrcalc/"))) (define-public iml (package diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm index 62a5466ed0..68bcb72e69 100644 --- a/gnu/packages/android.scm +++ b/gnu/packages/android.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -716,7 +717,7 @@ to be passed to the @code{udev} service.") (define-public git-repo (package (name "git-repo") - (version "1.12.37") + (version "2.4.1") (source (origin (method git-fetch) @@ -725,61 +726,66 @@ to be passed to the @code{udev} service.") (commit (string-append "v" version)))) (file-name (string-append "git-repo-" version "-checkout")) (sha256 - (base32 "0qp7jqhblv7xblfgpcq4n18dyjdv8shz7r60c3vnjxx2fngkj2jd")))) + (base32 "0khg1731927gvin73dcbw1657kbfq4k7agla5rpzqcnwkk5agzg3")))) (build-system python-build-system) (arguments - `(#:python ,python-2 ; code says: "Python 3 support is … experimental." - #:phases + `(#:phases (modify-phases %standard-phases (add-before 'build 'set-executable-paths (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (git (assoc-ref inputs "git")) - (gpg (assoc-ref inputs "gnupg")) (ssh (assoc-ref inputs "ssh"))) (substitute* '("repo" "git_command.py") - (("^GIT = 'git' ") - (string-append "GIT = '" git "/bin/git' "))) - (substitute* "repo" - ((" cmd = \\['gpg',") - (string-append " cmd = ['" gpg "/bin/gpg',"))) + (("^GIT = 'git'") + (string-append "GIT = '" git "/bin/git'"))) (substitute* "git_config.py" ((" command_base = \\['ssh',") (string-append " command_base = ['" ssh "/bin/ssh',"))) #t))) - (add-before 'build 'do-not-clone-this-source + (add-before 'build 'do-not-self-update (lambda* (#:key outputs #:allow-other-keys) + ;; Setting the REPO_MAIN variable to an absolute file name is + ;; enough to have _FindRepo return the store main.py file. The + ;; self update mechanism is activated with the call to _Init() in + ;; main(), so we bypass it. + + ;; Ticket requesting upstream to provide a mean to disable the + ;; self update mechanism: + ;; https://bugs.chromium.org/p/gerrit/issues/detail?id=12407. (let* ((out (assoc-ref outputs "out")) - (repo-dir (string-append out "/share/" ,name))) + (repo-main (string-append out "/share/git-repo/main.py"))) (substitute* "repo" - (("^def _FindRepo\\(\\):.*") - (format #f " -def _FindRepo(): - '''Look for a repo installation, starting at the current directory.''' - # Use the installed version of git-repo. - repo_main = '~a/main.py' - curdir = os.getcwd() - olddir = None - while curdir != '/' and curdir != olddir: - dot_repo = os.path.join(curdir, repodir) - if os.path.isdir(dot_repo): - return (repo_main, dot_repo) - else: - olddir = curdir - curdir = os.path.dirname(curdir) - return None, '' - - # The remaining of this function is dead code. It was used to - # find a git-checked-out version in the local project.\n" repo-dir)) - ;; Neither clone, check out, nor verify the git repository - (("(^\\s+)_Clone\\(.*\\)") "") - (("(^\\s+)_Checkout\\(.*\\)") "") - ((" rev = _Verify\\(.*\\)") " rev = None")) - #t))) + (("^REPO_MAIN = .*") + (format #f "REPO_MAIN = ~s~%" repo-main)) + ((" _Init\\(args, gitc_init=\\(cmd ==.*" all) + (string-append "True #" all))) + ;; Prevent repo from trying to git describe its version from + ;; the (disabled) self updated copy. + (substitute* "git_command.py" + (("ver = getattr\\(RepoSourceVersion.*") + (format #f "ver = ~s~%" ,version))) + (substitute* "subcmds/version.py" + (("rp_ver = .*") + (format #f "rp_ver = ~s~%" ,version))) + ;; Prevent repo from adding its (disabled) self update copy to + ;; the list of projects to fetch when using 'repo sync'. + (substitute* "subcmds/sync.py" + (("to_fetch\\.extend\\(all_projects\\).*" all) + (string-append "#" all)) + (("self\\._Fetch\\(to_fetch") + "self._Fetch(all_projects") + (("_PostRepoFetch\\(rp, opt\\.repo_verify).*" all) + (string-append "#" all)))))) (delete 'build) ; nothing to build + (add-before 'check 'configure-git + (lambda _ + (setenv "HOME" (getcwd)) + (invoke "git" "config" "--global" "user.email" "you@example.com") + (invoke "git" "config" "--global" "user.name" "Your Name"))) (replace 'check (lambda _ - (invoke "python" "-m" "nose"))) + (invoke "./run_tests"))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -795,10 +801,9 @@ def _FindRepo(): (inputs ;; TODO: Add git-remote-persistent-https once it is available in guix `(("git" ,git) - ("gnupg" ,gnupg) ("ssh" ,openssh))) (native-inputs - `(("nose" ,python2-nose))) + `(("pytest" ,python-pytest))) (home-page "https://code.google.com/p/git-repo/") (synopsis "Helps to manage many Git repositories.") (description "Repo is a tool built on top of Git. Repo helps manage many diff --git a/gnu/packages/anthy.scm b/gnu/packages/anthy.scm index d543cd85fd..0d86347e88 100644 --- a/gnu/packages/anthy.scm +++ b/gnu/packages/anthy.scm @@ -49,7 +49,7 @@ (lambda _ (with-directory-excursion "test" (invoke "./anthy" "--all"))))))) - (home-page "http://anthy.osdn.jp/") + (home-page "https://anthy.osdn.jp/") (synopsis "Japanese input method") (description "Anthy is a Japanese input method for converting hiragana text to mixed kana and kanji. It is written in the C diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index 0b9f0de9de..fecc9a89ae 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -174,11 +174,10 @@ dictionaries, including personal ones.") (define-public aspell-dict-da (aspell-dictionary "da" "Danish" - #:version "1.4.42-1" - #:prefix "aspell5-" + #:version "1.6.36-11-0" #:sha256 (base32 - "1hfkmiyhgrx5lgrb2mffjbdn1hivrm73wcg7x0iid74p2yb0fjpp"))) + "1xz2haayvwlxgss9jf1x2311a1ixbk75q2vgfprjhibsmb7cpinv"))) (define-public aspell-dict-el (aspell-dictionary "el" "Greek" diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm index a96b169d15..1ad49baf8e 100644 --- a/gnu/packages/assembly.scm +++ b/gnu/packages/assembly.scm @@ -148,14 +148,14 @@ to the clients.") (define-public fasm (package (name "fasm") - (version "1.73.21") + (version "1.73.22") (source (origin (method url-fetch) (uri (string-append "https://flatassembler.net/fasm-" version ".tgz")) (sha256 - (base32 "143zh7x3q0r2kclshh8n5w4i5pw4lh60si7rspvc725xxjpjkvcv")))) + (base32 "1pb0rcfdsb0h89khjjrbikz5wjdllavj3ajim0rcyh7x12xr1hw5")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests exist @@ -232,7 +232,7 @@ assembler, a C compiler and a linker. The assembler uses Intel syntax (uri (git-reference (url "https://git.savannah.gnu.org/r/libjit.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0p6wklslkkp3s4aisj3w5a53bagqn5fy4m6088ppd4fcfxgqkrcd")))) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 78d29e1c68..d0f55a96b8 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -322,7 +322,7 @@ namespace ARDOUR { const char* revision = \"" version "\" ; }")) ("itstool" ,itstool) ("perl" ,perl) ("pkg-config" ,pkg-config))) - (home-page "http://ardour.org") + (home-page "https://ardour.org") (synopsis "Digital audio workstation") (description "Ardour is a multi-channel digital audio workstation, allowing users to @@ -1193,7 +1193,7 @@ follower.") (define-public fluidsynth (package (name "fluidsynth") - (version "2.1.0") + (version "2.1.1") (source (origin (method git-fetch) (uri (git-reference @@ -1202,7 +1202,7 @@ follower.") (file-name (git-file-name name version)) (sha256 (base32 - "0jhla1641rx77va4b6n4shn8srj87rpwvp170byj1bg8z8g89ji1")))) + "09jq04hrasidf6b5gkk4aba13fq55z3bmn7bq35rdaikz26xiij4")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no check target @@ -1812,14 +1812,14 @@ essential distortions.") (define-public liblo (package (name "liblo") - (version "0.30") + (version "0.31") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/liblo/liblo/" version "/liblo-" version ".tar.gz")) (sha256 (base32 - "06wdjzxjdshr6hyl4c94yvg3jixiylap8yjs8brdfpm297gck9rh")))) + "0l67rkdhfa8cffa0nynql3lh2xlbn1454h6qxhjddp1029p48krb")))) (build-system gnu-build-system) (arguments `(;; liblo test FAILED @@ -1988,7 +1988,7 @@ software.") (list (search-path-specification (variable "LV2_PATH") (files '("lib/lv2"))))) - (home-page "http://elephly.net/lv2/mdapiano.html") + (home-page "https://elephly.net/lv2/mdapiano.html") (synopsis "LV2 port of the mda Piano plugin") (description "An LV2 port of the mda Piano VSTi.") (license license:gpl3+))) @@ -2002,7 +2002,7 @@ software.") (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:tests? #f ; no check target #:phases (modify-phases %standard-phases (delete 'configure)))) - (home-page "http://elephly.net/lv2/mdaepiano.html") + (home-page "https://elephly.net/lv2/mdaepiano.html") (synopsis "LV2 port of the mda EPiano plugin") (description "An LV2 port of the mda EPiano VSTi."))) @@ -3391,7 +3391,7 @@ code, used in @code{libtoxcore}.") `(#:tests? #f)) ; tests require access to ALSA devices. (inputs `(("alsa-lib" ,alsa-lib))) - (home-page "http://larsimmisch.github.io/pyalsaaudio/") + (home-page "https://larsimmisch.github.io/pyalsaaudio/") (synopsis "ALSA wrappers for Python") (description "This package contains wrappers for accessing the ALSA API from Python. @@ -3516,7 +3516,7 @@ the Snd sources), Ruby, or Forth.") (define-public noise-repellent (package (name "noise-repellent") - (version "0.1.4") + (version "0.1.5") (source (origin (method git-fetch) (uri (git-reference @@ -3525,16 +3525,12 @@ the Snd sources), Ruby, or Forth.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0rd3dlmk3vivjmcr6x2x860y0j1d49c2j95j6ny50v184mwvn11j")))) - (build-system gnu-build-system) + "0hb89x9i2knzan46q4nwscf5zmnb2nwf4w13xl2c0y1mx1ls1mwl")))) + (build-system meson-build-system) (arguments - `(#:make-flags - (list "CC=gcc" - (string-append "PREFIX=" (assoc-ref %outputs "out"))) - #:tests? #f ; there are none - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + `(#:configure-flags + (list (string-append "--prefix=" (assoc-ref %outputs "out") + "/lib/lv2")))) (inputs `(("lv2" ,lv2) ("fftwf" ,fftwf))) diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index 98f31f6bca..a011d8ee3d 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -61,8 +61,7 @@ ;; XXX: testsuite: 209 and 279 failed. The latter is an impurity. It ;; should use our own "cpp" instead of "/lib/cpp". (arguments `(#:tests? #f)) - (home-page - "http://www.gnu.org/software/autoconf/") + (home-page "https://www.gnu.org/software/autoconf/") (synopsis "Create source code configuration scripts") (description "Autoconf offers the developer a robust set of M4 macros which expand diff --git a/gnu/packages/aux-files/emacs/guix-emacs.el b/gnu/packages/aux-files/emacs/guix-emacs.el index 05fc9709b6..25a87ee52d 100644 --- a/gnu/packages/aux-files/emacs/guix-emacs.el +++ b/gnu/packages/aux-files/emacs/guix-emacs.el @@ -35,8 +35,9 @@ "Return a list of Emacs 'autoloads' files in DIRECTORY. The files in the list do not have extensions (.el, .elc)." ;; `directory-files' doesn't honor group in regexp. - (mapcar #'file-name-sans-extension - (directory-files directory 'full-name guix-emacs-autoloads-regexp))) + (delete-dups (mapcar #'file-name-sans-extension + (directory-files directory 'full-name + guix-emacs-autoloads-regexp)))) ;;;###autoload (defun guix-emacs-autoload-packages () diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm index 1f99f636e0..608e487b93 100644 --- a/gnu/packages/avr.scm +++ b/gnu/packages/avr.scm @@ -63,7 +63,16 @@ `(delete "--disable-multilib" ,flags)))) (native-search-paths (list (search-path-specification - (variable "CROSS_CPATH") + (variable "CROSS_C_INCLUDE_PATH") + (files '("avr/include"))) + (search-path-specification + (variable "CROSS_CPLUS_INCLUDE_PATH") + (files '("avr/include"))) + (search-path-specification + (variable "CROSS_OBJC_INCLUDE_PATH") + (files '("avr/include"))) + (search-path-specification + (variable "CROSS_OBJCPLUS_INCLUDE_PATH") (files '("avr/include"))) (search-path-specification (variable "CROSS_LIBRARY_PATH") @@ -76,7 +85,10 @@ (package (inherit avr-gcc-4.9) (version (package-version gcc-5)) - (source (package-source gcc-5)))) + (source (origin + (inherit (package-source gcc-5)) + (patches (append (origin-patches (package-source gcc-5)) + (search-patches "gcc-cross-environment-variables.patch"))))))) (define (avr-libc avr-gcc) (package diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 5cdf3b9155..3e8161a63f 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -462,7 +462,7 @@ rdiff-backup is easy to use and settings have sensible defaults.") (inputs `(("perl" ,perl) ("rsync" ,rsync))) - (home-page "http://rsnapshot.org") + (home-page "https://rsnapshot.org") (synopsis "Deduplicating snapshot backup utility based on rsync") (description "rsnapshot is a file system snapshot utility based on rsync. rsnapshot makes it easy to make periodic snapshots of local machines, and diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm index cc492105d1..73b0c073d9 100644 --- a/gnu/packages/bdw-gc.scm +++ b/gnu/packages/bdw-gc.scm @@ -87,13 +87,13 @@ simple collector interface. Alternatively, the garbage collector may be used as a leak detector for C or C++ programs, though that is not its primary goal.") - (home-page "http://www.hboehm.info/gc/") + (home-page "https://www.hboehm.info/gc/") (license (x11-style (string-append home-page "license.txt"))))) (define-public libgc-8.0 - (package/inherit - libgc + (package + (inherit libgc) (version "8.0.4") (source (origin (method url-fetch) @@ -104,8 +104,8 @@ C or C++ programs, though that is not its primary goal.") "1798rp3mcfkgs38ynkbg2p47bq59pisrc6mn0l20pb5iczf0ssj3")))))) (define-public libgc/back-pointers - (package - (inherit libgc) + (package/inherit + libgc (name "libgc-back-pointers") (arguments `(#:make-flags diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm index 08478d3118..9ae30eefc8 100644 --- a/gnu/packages/benchmark.scm +++ b/gnu/packages/benchmark.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -35,6 +36,7 @@ #:use-module (gnu packages linux) #:use-module (gnu packages maths) #:use-module (gnu packages mpi) + #:use-module (gnu packages perl) #:use-module (gnu packages python) #:use-module (gnu packages python-science) #:use-module (gnu packages python-xyz) @@ -44,14 +46,14 @@ (define-public fio (package (name "fio") - (version "3.17") + (version "3.18") (source (origin (method url-fetch) (uri (string-append "https://brick.kernel.dk/snaps/" "fio-" version ".tar.bz2")) (sha256 (base32 - "1hvh8syjz6l0q9bm5p7rf0yrmpkfcx5zj5d47mf6335w1i0h5gqf")))) + "12wzi40hn0ylkdiqwjjljdjmiq78nhwsv3qqa0fad7h3x08w6w6b")))) (build-system gnu-build-system) (arguments '(#:test-target "test" @@ -231,3 +233,28 @@ This can give a much better understanding of the command's performance.") "Benchmark is a library to benchmark code snippets, similar to unit tests.") (license license:asl2.0))) + +(define-public bonnie++ + (package + (name "bonnie++") + (version "1.98") + (source (origin + (method url-fetch) + (uri (string-append "https://www.coker.com.au/bonnie++/bonnie++-" + version ".tgz")) + (sha256 + (base32 + "010bmlmi0nrlp3aq7p624sfaj5a65lswnyyxk3cnz1bqig0cn2vf")))) + (build-system gnu-build-system) + (native-inputs + `(("perl" ,perl))) + (arguments '(#:tests? #f)) ; there are no tests + (home-page "https://doc.coker.com.au/projects/bonnie/") + (synopsis "Hard drive and file system benchmark suite") + (description + "Bonnie++ is a benchmark suite that is aimed at performing a number of +simple tests of hard drive and file system performance. Bonnie++ allows you to +benchmark how your file systems perform with respect to data read and write +speed, the number of seeks that can be performed per second, and the number of +file metadata operations that can be performed per second.") + (license license:gpl2))) ;GPL 2 only, see copyright.txt diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index a6e0c5a1e6..63687036fc 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -224,6 +224,30 @@ Finder (TRF mask). Only the AGAPS and AMB masks are \"active\" by default.") 1000genomes phase2 reference genome sequence (hs37d5), based on NCBI GRCh37.") (license license:artistic2.0))) +(define-public r-bsgenome-hsapiens-ncbi-grch38 + (package + (name "r-bsgenome-hsapiens-ncbi-grch38") + (version "1.3.1000") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "BSgenome.Hsapiens.NCBI.GRCh38" + version 'annotation)) + (sha256 + (base32 + "0y75qdq578fh6420vbvsbwmdw8jvr3g06qli2h3vj3pxmjykh9c1")))) + (properties `((upstream-name . "BSgenome.Hsapiens.NCBI.GRCh38"))) + (build-system r-build-system) + (propagated-inputs `(("r-bsgenome" ,r-bsgenome))) + (home-page + "https://bioconductor.org/packages/release/data/annotation/html/\ +BSgenome.Hsapiens.NCBI.GRCh38.html") + (synopsis "Full genome sequences for Homo sapiens (GRCh38)") + (description + "This package provides full genome sequences for Homo sapiens (Human) as +provided by NCBI (GRCh38, 2013-12-17) and stored in Biostrings objects.") + (license license:artistic2.0))) + (define-public r-bsgenome-hsapiens-ucsc-hg19-masked (package (name "r-bsgenome-hsapiens-ucsc-hg19-masked") @@ -594,14 +618,14 @@ database is exposed as a @code{TxDb} object.") (define-public r-txdb-mmusculus-ucsc-mm10-knowngene (package (name "r-txdb-mmusculus-ucsc-mm10-knowngene") - (version "3.4.7") + (version "3.10.0") (source (origin (method url-fetch) (uri (bioconductor-uri "TxDb.Mmusculus.UCSC.mm10.knownGene" version 'annotation)) (sha256 (base32 - "04impkl8zh1gpwwrpbf19jqznsjrq2306yyhm6cmx6hr1401bd6b")))) + "0xs9npnhbwll7p62hibs02y4ac23jchdcr25i6a7qwq1kms82qk9")))) (properties `((upstream-name . "TxDb.Mmusculus.UCSC.mm10.knownGene"))) (build-system r-build-system) @@ -722,6 +746,49 @@ the weighted combination of published signatures that, when summed, most closely reconstructs the mutational profile.") (license license:gpl2+))) +;; This is a CRAN package, but it depends on Bioconductor packages. +(define-public r-nmf + (package + (name "r-nmf") + (version "0.22.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "NMF" version)) + (sha256 + (base32 + "0b2ls3x1nkrnam45hagpys624nzxj3v7kxnp0q216yakvx5h57cq")))) + (properties `((upstream-name . "NMF"))) + (build-system r-build-system) + (propagated-inputs + `(("r-cluster" ,r-cluster) + ("r-biobase" ,r-biobase) + ("r-biocmanager" ,r-biocmanager) + ("r-bigmemory" ,r-bigmemory) ; suggested + ("r-synchronicity" ,r-synchronicity) ; suggested + ("r-colorspace" ,r-colorspace) + ("r-digest" ,r-digest) + ("r-doparallel" ,r-doparallel) + ("r-foreach" ,r-foreach) + ("r-ggplot2" ,r-ggplot2) + ("r-gridbase" ,r-gridbase) + ("r-pkgmaker" ,r-pkgmaker) + ("r-rcolorbrewer" ,r-rcolorbrewer) + ("r-registry" ,r-registry) + ("r-reshape2" ,r-reshape2) + ("r-rngtools" ,r-rngtools) + ("r-stringr" ,r-stringr))) + (home-page "http://renozao.github.io/NMF") + (synopsis "Algorithms and framework for nonnegative matrix factorization") + (description + "This package provides a framework to perform Non-negative Matrix +Factorization (NMF). The package implements a set of already published +algorithms and seeding methods, and provides a framework to test, develop and +plug new or custom algorithms. Most of the built-in algorithms have been +optimized in C++, and the main interface function provides an easy way of +performing parallel computations on multicore machines.") + (license license:gpl2+))) + (define-public r-do-db (package (name "r-do-db") @@ -1526,6 +1593,30 @@ expressed genes in DNA microarray experiments.") "This package implements some simple graph handling capabilities for R.") (license license:artistic2.0))) +;; This is a CRAN package, but it depends on a Bioconductor package. +(define-public r-ggm + (package + (name "r-ggm") + (version "2.5") + (source + (origin + (method url-fetch) + (uri (cran-uri "ggm" version)) + (sha256 + (base32 + "11wc6k2kj2ydy0dyks5mbvbhxm1r43id87anl1jg6dn0yv4m78di")))) + (properties `((upstream-name . "ggm"))) + (build-system r-build-system) + (propagated-inputs + `(("r-graph" ,r-graph) + ("r-igraph" ,r-igraph))) + (home-page "https://cran.r-project.org/package=ggm") + (synopsis "Functions for graphical Markov models") + (description + "This package provides functions and datasets for maximum likelihood +fitting of some classes of graphical Markov models.") + (license license:gpl2+))) + (define-public r-codedepends (package (name "r-codedepends") @@ -1557,14 +1648,14 @@ determining dependencies between variables, code improvement suggestions.") (define-public r-chippeakanno (package (name "r-chippeakanno") - (version "3.20.0") + (version "3.20.1") (source (origin (method url-fetch) (uri (bioconductor-uri "ChIPpeakAnno" version)) (sha256 (base32 - "0hp3s3shnrb55cxvx9wrdl67wqw9f55gdgx7262s4mahpxjswfsa")))) + "0kmfha4vprbi0z6n7v9w28xfrqcx5qad7yfr0b316j5aj8v9f4hc")))) (properties `((upstream-name . "ChIPpeakAnno"))) (build-system r-build-system) (propagated-inputs @@ -1867,14 +1958,14 @@ experiments.") (define-public r-genomicinteractions (package (name "r-genomicinteractions") - (version "1.20.0") + (version "1.20.1") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomicInteractions" version)) (sha256 (base32 - "10kwb70c9aq0bfqpq48h186lsbwgrg18m14r9z8x6n8l7cds5azc")))) + "140bp7c8p079xh5wwxmrq3a73pm6mdc9czq5w2gzjml7dgrca38a")))) (properties `((upstream-name . "GenomicInteractions"))) (build-system r-build-system) @@ -2028,14 +2119,14 @@ genes or proteins in these datasets.") (define-public r-inspect (package (name "r-inspect") - (version "1.16.2") + (version "1.16.3") (source (origin (method url-fetch) (uri (bioconductor-uri "INSPEcT" version)) (sha256 (base32 - "1g8la7k4pnyr2hvk4yjd1bwvjy6nqbbb0fwxrrh2ifgqf4h21x2p")))) + "0y4gpvrbmcipdnyz9lz9ywn0317xnpcriiisqvxygin05vgcpilp")))) (properties `((upstream-name . "INSPEcT"))) (build-system r-build-system) (propagated-inputs @@ -2125,14 +2216,14 @@ samples.") (define-public r-biocneighbors (package (name "r-biocneighbors") - (version "1.4.1") + (version "1.4.2") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocNeighbors" version)) (sha256 (base32 - "05vi1cij37s8wgj92k3l6a3f3dwldj8jvijdp4695zczka6kypdf")))) + "1bx7i5pifj8w89fnhfgcfgcar2ik2ad8wqs2rix7yks90vz185i6")))) (properties `((upstream-name . "BiocNeighbors"))) (build-system r-build-system) (propagated-inputs @@ -2156,14 +2247,14 @@ achieved for all methods using the BiocParallel framework.") (define-public r-biocsingular (package (name "r-biocsingular") - (version "1.2.1") + (version "1.2.2") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocSingular" version)) (sha256 (base32 - "0fjfmmpda7pszsck2hm7bp4509pl3xaz02q2q03d5vla62h1h81k")))) + "1282fdwxrpga87y8xflr0sl8ajwawgn2i9i65my8mbg5vrixs407")))) (properties `((upstream-name . "BiocSingular"))) (build-system r-build-system) (propagated-inputs @@ -3130,27 +3221,20 @@ surface of a flowcell.") (define-public r-gkmsvm (package (name "r-gkmsvm") - (version "0.79.0") + (version "0.80.0") (source (origin (method url-fetch) (uri (cran-uri "gkmSVM" version)) (sha256 (base32 - "04dakbgfvfalz4rm4fvvybp506dn5fbj5g86ybfhrc6wywjllsz3")))) + "0ljcga246ad0ql8x3drvrdsyp0f20mgp3p6lnl79xb76qgfdnm0p")))) (properties `((upstream-name . "gkmSVM"))) (build-system r-build-system) (propagated-inputs - `(("r-biocgenerics" ,r-biocgenerics) - ("r-biostrings" ,r-biostrings) - ("r-genomeinfodb" ,r-genomeinfodb) - ("r-genomicranges" ,r-genomicranges) - ("r-iranges" ,r-iranges) - ("r-kernlab" ,r-kernlab) + `(("r-kernlab" ,r-kernlab) ("r-rcpp" ,r-rcpp) ("r-rocr" ,r-rocr) - ("r-rtracklayer" ,r-rtracklayer) - ("r-s4vectors" ,r-s4vectors) ("r-seqinr" ,r-seqinr))) (home-page "https://cran.r-project.org/web/packages/gkmSVM") (synopsis "Gapped-kmer support vector machine") @@ -3284,14 +3368,14 @@ gmapR.") (define-public r-heatplus (package (name "r-heatplus") - (version "2.32.0") + (version "2.32.1") (source (origin (method url-fetch) (uri (bioconductor-uri "Heatplus" version)) (sha256 (base32 - "0hx5gqgh4xrkx37ccprq7azj9jziff137bdk0gvrixcx52ws6h89")))) + "1ldxj2hasg6ysh70sc73mz2v4h3n8gf3lii09c3sqc4wmz5h7rp1")))) (properties `((upstream-name . "Heatplus"))) (build-system r-build-system) (propagated-inputs @@ -3521,14 +3605,14 @@ profiles (GO and KEGG) of gene and gene clusters.") (define-public r-mlinterfaces (package (name "r-mlinterfaces") - (version "1.66.2") + (version "1.66.4") (source (origin (method url-fetch) (uri (bioconductor-uri "MLInterfaces" version)) (sha256 (base32 - "1wc280iw9vllg6f58vsdj895yaqs8w42kl7jk8sgii009gwlaj8d")))) + "19hlicdndy2p45y7w91gnwi3wgq5s465a646z3qqk8gmn5sn614q")))) (properties `((upstream-name . "MLInterfaces"))) (build-system r-build-system) (propagated-inputs @@ -3942,14 +4026,14 @@ position-specific scores within R and Bioconductor.") (define-public r-atacseqqc (package (name "r-atacseqqc") - (version "1.10.1") + (version "1.10.2") (source (origin (method url-fetch) (uri (bioconductor-uri "ATACseqQC" version)) (sha256 (base32 - "12ix0bvwk50d48z85f3453k7szm1j27gk4qgw56az4fxra472rlh")))) + "0dzrizacy3br8fiy1vnsl5zf242lg1hqv9dyv5ayqh2n480is57f")))) (properties `((upstream-name . "ATACseqQC"))) (build-system r-build-system) (propagated-inputs @@ -5305,14 +5389,14 @@ annotations.") (define-public r-rsubread (package (name "r-rsubread") - (version "2.0.0") + (version "2.0.1") (source (origin (method url-fetch) (uri (bioconductor-uri "Rsubread" version)) (sha256 (base32 - "0l8q9y2a4m1di0w5nlxhq9jgliinhgr2fwjpm5ixnqx5j3iprlwd")))) + "0pdkx9mhvzw3a4ff725qvda9bxvs9vh2ppb29cc5jrivgjndv5cy")))) (properties `((upstream-name . "Rsubread"))) (build-system r-build-system) (inputs `(("zlib" ,zlib))) @@ -5817,14 +5901,14 @@ self-organizing map clustering and minimal spanning trees.") (define-public r-mixomics (package (name "r-mixomics") - (version "6.10.6") + (version "6.10.8") (source (origin (method url-fetch) (uri (bioconductor-uri "mixOmics" version)) (sha256 (base32 - "18jwrdyc4pnx917y1kskxz3fqvlrkyy4ny0xqrfcidz0j7p0b7wr")))) + "0307vhx9ck24rxqbvq15815ssxcc226sl2la060n204b51wi9jaa")))) (properties `((upstream-name . "mixOmics"))) (build-system r-build-system) (propagated-inputs @@ -5859,14 +5943,14 @@ delete entire rows with missing data.") (define-public r-depecher (package (name "r-depecher") - (version "1.2.0") + (version "1.2.1") (source (origin (method url-fetch) (uri (bioconductor-uri "DepecheR" version)) (sha256 (base32 - "1f6zbc0fq7xjflh3mkjx1n83mpppw663dj22rlpxzwp1kpmf6wm5")))) + "08ja6ayvbax9m3x9w3xzi72z97miiha2nbsild1gp77n6sgn5i35")))) (properties `((upstream-name . "DepecheR"))) (build-system r-build-system) (propagated-inputs @@ -5937,14 +6021,14 @@ genes in the gene-set that are ranked above the leading edge).") (define-public r-cicero (package (name "r-cicero") - (version "1.4.0") + (version "1.4.2") (source (origin (method url-fetch) (uri (bioconductor-uri "cicero" version)) (sha256 (base32 - "0mmm7vvzq50b5fayid0bw82b5lar3xm9fwl2ya30q0p4db2y6wnz")))) + "154djqd32w87814ycfmfz27ikp17bnampvmvw5hzi5p2x9l3h82r")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) @@ -5966,6 +6050,7 @@ genes in the gene-set that are ranked above the leading edge).") ("r-s4vectors" ,r-s4vectors) ("r-stringr" ,r-stringr) ("r-tibble" ,r-tibble) + ("r-tidyr" ,r-tidyr) ("r-vgam" ,r-vgam))) (home-page "https://bioconductor.org/packages/cicero/") (synopsis "Predict cis-co-accessibility from single-cell data") @@ -7205,14 +7290,14 @@ access.") (define-public r-multiassayexperiment (package (name "r-multiassayexperiment") - (version "1.12.2") + (version "1.12.3") (source (origin (method url-fetch) (uri (bioconductor-uri "MultiAssayExperiment" version)) (sha256 (base32 - "0722f3jl1xq8k8w7vrv986jd16bgysqp3n07pgmdn0hh1zh2mcqc")))) + "1vf6l88j3n6109j6sd08wfqxqpj2k20dvr8ll9zl1szsn18b4gny")))) (properties `((upstream-name . "MultiAssayExperiment"))) (build-system r-build-system) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 065555b37b..0c12e7c874 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -410,7 +410,7 @@ computational cluster.") (define-public bedtools (package (name "bedtools") - (version "2.27.1") + (version "2.29.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/arq5x/bedtools2/releases/" @@ -418,7 +418,7 @@ computational cluster.") "bedtools-" version ".tar.gz")) (sha256 (base32 - "1ndg5yknrxl4djx8ddzgk12rrbiidfpmkkg5z3f95jzryfxarhn8")))) + "0m3hk6548846w83a9s5drsczvy67n2azx41kj71n03klb2gbzwg3")))) (build-system gnu-build-system) (arguments '(#:test-target "test" @@ -427,7 +427,8 @@ computational cluster.") #:phases (modify-phases %standard-phases (delete 'configure)))) - (native-inputs `(("python" ,python-2))) + (native-inputs + `(("python" ,python-wrapper))) (inputs `(("samtools" ,samtools) ("zlib" ,zlib))) @@ -440,7 +441,7 @@ genome arithmetic: that is, set theory on the genome. For example, bedtools allows one to intersect, merge, count, complement, and shuffle genomic intervals from multiple files in widely-used genomic file formats such as BAM, BED, GFF/GTF, VCF.") - (license license:gpl2))) + (license license:expat))) ;; Later releases of bedtools produce files with more columns than ;; what Ribotaper expects. @@ -2272,23 +2273,23 @@ time.") (define-public crossmap (package (name "crossmap") - (version "0.2.9") + (version "0.3.8") (source (origin (method url-fetch) (uri (pypi-uri "CrossMap" version)) (sha256 (base32 - "1byhclrqnqpvc1rqkfh4jwj6yhn0x9y7jk47i0qcjlhk0pjkw92p")))) + "1sb2f2qbxya4fzw3yjl09vbrs8vfmw22zrygrvz004sf9gb1vkan")))) (build-system python-build-system) - (arguments `(#:python ,python-2)) (inputs - `(("python-bx-python" ,python2-bx-python) - ("python-numpy" ,python2-numpy) - ("python-pysam" ,python2-pysam) + `(("python-bx-python" ,python-bx-python) + ("python-numpy" ,python-numpy) + ("python-pybigwig" ,python-pybigwig) + ("python-pysam" ,python-pysam) ("zlib" ,zlib))) (native-inputs - `(("python-cython" ,python2-cython) - ("python-nose" ,python2-nose))) + `(("python-cython" ,python-cython) + ("python-nose" ,python-nose))) (home-page "http://crossmap.sourceforge.net/") (synopsis "Convert genome coordinates between assemblies") (description @@ -2578,7 +2579,7 @@ accurately delineate genomic rearrangements throughout the genome.") (define-public diamond (package (name "diamond") - (version "0.9.22") + (version "0.9.30") (source (origin (method git-fetch) (uri (git-reference @@ -2587,7 +2588,7 @@ accurately delineate genomic rearrangements throughout the genome.") (file-name (git-file-name name version)) (sha256 (base32 - "0bky78v79g3wmdpsd706cscckgw1v09fg8vdd0z8z0d5b97aj9zl")))) + "0k6f3kb6cniw11xw6763kkbs1sl0yack7xsy7q5fl5v170ssphq4")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no "check" target @@ -2744,7 +2745,7 @@ quantitative phenotypes.") (define-public edirect (package (name "edirect") - (version "12.1.20190819") + (version "12.1.20190829") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect" @@ -2752,7 +2753,7 @@ quantitative phenotypes.") "/edirect-" version ".tar.gz")) (sha256 (base32 - "1i9s9mppcfqd60pfywpm8vdyz5vpnyslw22nd7dv0bhykrdnkz9g")))) + "1xb330z28dgp7slrvp8r7rgncsasv9lpcpqim571yg728dq7xdik")))) (build-system perl-build-system) (arguments `(#:phases @@ -4274,19 +4275,30 @@ experiments.") (define-public macs (package (name "macs") - (version "2.1.1.20160309") + (version "2.2.6") (source (origin - (method url-fetch) - (uri (pypi-uri "MACS2" version)) + ;; The PyPi tarball does not contain tests. + (method git-fetch) + (uri (git-reference + (url "https://github.com/taoliu/MACS.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "09ixspd1vcqmz1c81ih70xs4m7qml2iy5vyx1y74zww3iy1vl210")))) + "1c5gxr0mk6hkd4vclf0k00wvyvzw2vrmk52c85338p7aqjwg6n15")))) (build-system python-build-system) (arguments - `(#:python ,python-2 ; only compatible with Python 2.7 - #:tests? #f)) ; no test target + `(#:phases + (modify-phases %standard-phases + (delete 'check) + (add-after 'install 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + (add-installed-pythonpath inputs outputs) + (invoke "pytest" "-v")))))) (inputs - `(("python-numpy" ,python2-numpy))) + `(("python-numpy" ,python-numpy))) + (native-inputs + `(("python-pytest" ,python-pytest))) (home-page "https://github.com/taoliu/MACS/") (synopsis "Model based analysis for ChIP-Seq data") (description @@ -4910,20 +4922,26 @@ predicts the locations of structural units in the sequences.") (define-public proteinortho (package (name "proteinortho") - (version "5.16b") - (source - (origin - (method url-fetch) - (uri - (string-append - "http://www.bioinf.uni-leipzig.de/Software/proteinortho/proteinortho_v" - version "_src.tar.gz")) - (sha256 - (base32 - "1wl0dawpssqwfjvr651r4wlww8hhjin8nba6xh71ks7sbypx886j")))) + (version "6.0.14") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/paulklemm_PHD/proteinortho.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0pmy617zy2z2w6hjqxjhf3rzikf5n3mpia80ysq8233vfr7wrzff")) + (modules '((guix build utils))) + (snippet + '(begin + ;; remove pre-built scripts + (delete-file-recursively "src/BUILD/") + #t)))) (build-system gnu-build-system) (arguments `(#:test-target "test" + #:make-flags '("CC=gcc") #:phases (modify-phases %standard-phases (replace 'configure @@ -4941,15 +4959,23 @@ predicts the locations of structural units in the sequences.") #t)) (add-after 'install 'wrap-programs (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((path (getenv "PATH")) - (out (assoc-ref outputs "out")) - (binary (string-append out "/bin/proteinortho5.pl"))) - (wrap-program binary `("PATH" ":" prefix (,path)))) + (let ((path (getenv "PATH")) + (out (assoc-ref outputs "out"))) + (for-each (lambda (script) + (wrap-script script `("PATH" ":" prefix (,path)))) + (cons (string-append out "/bin/proteinortho") + (find-files out "\\.(pl|py)$")))) #t))))) (inputs - `(("perl" ,perl) - ("python" ,python-2) - ("blast+" ,blast+))) + `(("guile" ,guile-3.0) ; for wrap-script + ("diamond" ,diamond) + ("perl" ,perl) + ("python" ,python-wrapper) + ("blast+" ,blast+) + ("lapack" ,lapack) + ("openblas" ,openblas))) + (native-inputs + `(("which" ,which))) (home-page "http://www.bioinf.uni-leipzig.de/Software/proteinortho") (synopsis "Detect orthologous genes across species") (description @@ -4957,7 +4983,7 @@ predicts the locations of structural units in the sequences.") species. For doing so, it compares similarities of given gene sequences and clusters them to find significant groups. The algorithm was designed to handle large-scale data and can be applied to hundreds of species at once.") - (license license:gpl2+))) + (license license:gpl3+))) (define-public pyicoteo (package @@ -5281,7 +5307,7 @@ BAM and Wiggle files in both transcript-coordinate and genomic-coordinate.") (define-public rseqc (package (name "rseqc") - (version "2.6.1") + (version "3.0.1") (source (origin (method url-fetch) @@ -5289,28 +5315,18 @@ BAM and Wiggle files in both transcript-coordinate and genomic-coordinate.") (string-append "mirror://sourceforge/rseqc/" "RSeQC-" version ".tar.gz")) (sha256 - (base32 "15ly0254yi032qzkdplg00q144qfdsd986gh62829rl5bkxhj330")) - (modules '((guix build utils))) - (snippet - '(begin - ;; remove bundled copy of pysam - (delete-file-recursively "lib/pysam") - (substitute* "setup.py" - ;; remove dependency on outdated "distribute" module - (("^from distribute_setup import use_setuptools") "") - (("^use_setuptools\\(\\)") "") - ;; do not use bundled copy of pysam - (("^have_pysam = False") "have_pysam = True")) - #t)))) + (base32 + "0gbb9iyb7swiv5455fm5rg98r7l6qn27v564yllqjd574hncpx6m")))) (build-system python-build-system) - (arguments `(#:python ,python-2)) (inputs - `(("python-cython" ,python2-cython) - ("python-pysam" ,python2-pysam) - ("python-numpy" ,python2-numpy) + `(("python-cython" ,python-cython) + ("python-bx-python" ,python-bx-python) + ("python-pybigwig" ,python-pybigwig) + ("python-pysam" ,python-pysam) + ("python-numpy" ,python-numpy) ("zlib" ,zlib))) (native-inputs - `(("python-nose" ,python2-nose))) + `(("python-nose" ,python-nose))) (home-page "http://rseqc.sourceforge.net/") (synopsis "RNA-seq quality control package") (description @@ -6556,7 +6572,7 @@ profiles, and associated taxonomic information.") (define-public vcftools (package (name "vcftools") - (version "0.1.15") + (version "0.1.16") (source (origin (method url-fetch) (uri (string-append @@ -6564,7 +6580,7 @@ profiles, and associated taxonomic information.") version "/vcftools-" version ".tar.gz")) (sha256 (base32 - "1qw30c45wihgy632rbz4rh3njnwj4msj46l1rsgdhyg6bgypmr1i")))) + "1qqlx7flfv7axrjwkaz6njkscsl1d0jw98ns8d8bh1n1hd1pgz6v")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no "check" target @@ -6592,17 +6608,18 @@ data in the form of VCF files.") (define-public infernal (package (name "infernal") - (version "1.1.2") + (version "1.1.3") (source (origin (method url-fetch) (uri (string-append "http://eddylab.org/software/infernal/" "infernal-" version ".tar.gz")) (sha256 (base32 - "0sr2hiz3qxfwqpz3whxr6n82p3x27336v3f34iqznp10hks2935c")))) + "0pm8bm3s6nfa0av4x6m6h27lsg12b3lz3jm0fyh1mc77l2isd61v")))) (build-system gnu-build-system) (native-inputs - `(("perl" ,perl))) ; for tests + `(("perl" ,perl) + ("python" ,python))) ; for tests (home-page "http://eddylab.org/infernal/") (synopsis "Inference of RNA alignments") (description "Infernal (\"INFERence of RNA ALignment\") is a tool for @@ -6613,7 +6630,7 @@ profile, but it scores a combination of sequence consensus and RNA secondary structure consensus, so in many cases, it is more capable of identifying RNA homologs that conserve their secondary structure more than their primary sequence.") - ;; Infernal 1.1.2 requires VMX or SSE capability for parallel instructions. + ;; Infernal 1.1.3 requires VMX or SSE capability for parallel instructions. (supported-systems '("i686-linux" "x86_64-linux")) (license license:bsd-3))) @@ -6935,14 +6952,14 @@ testing and other simple calculations.") (define-public r-shortread (package (name "r-shortread") - (version "1.44.1") + (version "1.44.3") (source (origin (method url-fetch) (uri (bioconductor-uri "ShortRead" version)) (sha256 (base32 - "1dh3q83hmi4l72vpif6dn51dzbi9ljrjgkq2zxg4sqy2jxv4vwza")))) + "0ykyrj4g6vc67d5s46sp4659qvar2iavflzhggm79w4p50hxia4s")))) (properties `((upstream-name . "ShortRead"))) (build-system r-build-system) (inputs @@ -7465,13 +7482,13 @@ names in their natural, rather than lexicographic, order.") (define-public r-edger (package (name "r-edger") - (version "3.28.0") + (version "3.28.1") (source (origin (method url-fetch) (uri (bioconductor-uri "edgeR" version)) (sha256 (base32 - "1m7l6fbyik1b79v0h9qkmpa39svij1yiw24gxahbdqjg7fzsavh3")))) + "07dv99kl7jfa62nzcq705r56gcpb1hq7p4px48j71y2ddi1rqmr6")))) (properties `((upstream-name . "edgeR"))) (build-system r-build-system) (propagated-inputs @@ -7532,13 +7549,13 @@ coding changes and predict coding outcomes.") (define-public r-limma (package (name "r-limma") - (version "3.42.0") + (version "3.42.2") (source (origin (method url-fetch) (uri (bioconductor-uri "limma" version)) (sha256 (base32 - "0cfynv6qbnar5rl7vjh5lvddd381g9wqx1zd6a7l130hf59mwswn")))) + "1nd01r7rd7jb5qz84vbgfnyrmgm9wiq7fsdji68537kjgvrzmm9z")))) (build-system r-build-system) (home-page "http://bioinf.wehi.edu.au/limma") (synopsis "Package for linear models for microarray and RNA-seq data") @@ -7751,13 +7768,13 @@ biological sequences or sets of sequences.") (define-public r-rsamtools (package (name "r-rsamtools") - (version "2.2.1") + (version "2.2.3") (source (origin (method url-fetch) (uri (bioconductor-uri "Rsamtools" version)) (sha256 (base32 - "0hpdc88prpq1gcja89n5s1ndcg81523qrkbkm9gbhm7rm8wmi8cl")))) + "1vj43acawqqkf9yval9fzxarpsf04fmn78m2hq4f083w1k0myhyr")))) (properties `((upstream-name . "Rsamtools"))) (build-system r-build-system) @@ -7939,13 +7956,13 @@ as well as query and modify the browser state, such as the current viewport.") (define-public r-genomicfeatures (package (name "r-genomicfeatures") - (version "1.38.1") + (version "1.38.2") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomicFeatures" version)) (sha256 (base32 - "1c1x29f447dv0i1wi88paji645lfsgmg4ckn19hyhlra72smhzqc")))) + "0dd226kgks50jdx5w35f3wmg95hy8aibi4kcn8p5kmqp5i8j580b")))) (properties `((upstream-name . "GenomicFeatures"))) (build-system r-build-system) @@ -8236,7 +8253,7 @@ throughput genetic sequencing data sets using regression methods.") (define-public r-qtl (package (name "r-qtl") - (version "1.44-9") + (version "1.45-11") (source (origin (method url-fetch) @@ -8244,7 +8261,7 @@ throughput genetic sequencing data sets using regression methods.") version ".tar.gz")) (sha256 (base32 - "03lmvydln8b7666b6w46qbryhf83vsd11d4y2v95rfgvqgq66l1i")))) + "1d6qgj602fm6zia3djl4hmca0ri4v57ffp3g93p2yc3cabx2hq90")))) (build-system r-build-system) (home-page "https://rqtl.org/") (synopsis "R package for analyzing QTL experiments in genetics") @@ -8332,14 +8349,14 @@ secondary structure and comparative analysis in R.") (define-public r-rhtslib (package (name "r-rhtslib") - (version "1.18.0") + (version "1.18.1") (source (origin (method url-fetch) (uri (bioconductor-uri "Rhtslib" version)) (sha256 (base32 - "04inkq44lxwymqv51mxgaphasqjcdc9rl5p58imnrdm0kszs8prm")))) + "0gkbrmrcg55c9s5166ifljlx0v25rv4ijdyp4wf4c292xd6chy2l")))) (properties `((upstream-name . "Rhtslib"))) (build-system r-build-system) ;; Without this a temporary directory ends up in the Rhtslib.so binary, @@ -9122,14 +9139,14 @@ unmodeled, or latent sources of noise.") (define-public r-seqminer (package (name "r-seqminer") - (version "7.1") + (version "8.0") (source (origin (method url-fetch) (uri (cran-uri "seqminer" version)) (sha256 (base32 - "1jydcpkw4rwfp983j83kipvsvr10as9pb49zzn3c2v09k1gh3ymy")))) + "00jzj8mwb0zaiwlifd41b26mrq9mzigj18nc29dydi0r42hxg16i")))) (build-system r-build-system) (inputs `(("zlib" ,zlib))) @@ -9504,13 +9521,13 @@ and irregular enzymatic cleavages, mass measurement accuracy, etc.") (define-public r-seurat (package (name "r-seurat") - (version "3.1.2") + (version "3.1.4") (source (origin (method url-fetch) (uri (cran-uri "Seurat" version)) (sha256 (base32 - "0m1qi39snbmkkv1p07bzg1r7snc9x6a1y0dghvpk1nzgcfpmnsj4")))) + "0lhjbjhv1hnx5i3gkx41k68i8ykay3f24708h30wx9xywww9lsvi")))) (properties `((upstream-name . "Seurat"))) (build-system r-build-system) (propagated-inputs @@ -9533,6 +9550,7 @@ and irregular enzymatic cleavages, mass measurement accuracy, etc.") ("r-mass" ,r-mass) ("r-matrix" ,r-matrix) ("r-metap" ,r-metap) + ("r-patchwork" ,r-patchwork) ("r-pbapply" ,r-pbapply) ("r-plotly" ,r-plotly) ("r-png" ,r-png) @@ -9549,7 +9567,6 @@ and irregular enzymatic cleavages, mass measurement accuracy, etc.") ("r-rtsne" ,r-rtsne) ("r-scales" ,r-scales) ("r-sctransform" ,r-sctransform) - ("r-sdmtools" ,r-sdmtools) ("r-tsne" ,r-tsne) ("r-uwot" ,r-uwot))) (home-page "http://www.satijalab.org/seurat") @@ -10326,14 +10343,14 @@ family of feature/genome hypotheses.") (define-public r-gviz (package (name "r-gviz") - (version "1.30.1") + (version "1.30.3") (source (origin (method url-fetch) (uri (bioconductor-uri "Gviz" version)) (sha256 (base32 - "03jj193fzmhvkjw8f5zk6wgflkvm3phny0q38scawcplfsyb8z64")))) + "0c9i26h5czm60n1bxzmdxxpywcj0sig6wcj913pb41mr83bbgra3")))) (properties `((upstream-name . "Gviz"))) (build-system r-build-system) (propagated-inputs @@ -10478,14 +10495,14 @@ provided.") (define-public r-hdf5array (package (name "r-hdf5array") - (version "1.14.1") + (version "1.14.3") (source (origin (method url-fetch) (uri (bioconductor-uri "HDF5Array" version)) (sha256 (base32 - "04hd02zd5jix5p2zg10asmwjg1fynqgmclbhbmk7fb6arx5hm11f")))) + "1z153a7nxmlml72pl1saasj2il9g5ahpynkpv3mkhhsvl5kbwbh6")))) (properties `((upstream-name . "HDF5Array"))) (build-system r-build-system) (inputs @@ -10675,14 +10692,14 @@ quality control.") (define-public r-scran (package (name "r-scran") - (version "1.14.5") + (version "1.14.6") (source (origin (method url-fetch) (uri (bioconductor-uri "scran" version)) (sha256 (base32 - "0ydy6gvpgpvrs4ryk1qvmmxp6cpaizs294jwg42jawxndkds1l3y")))) + "1y8wlgk5zbv7c7gcp0ahfpbh9lifab7y3zwf0093fzaw7vr1y6cr")))) (build-system r-build-system) (propagated-inputs `(("r-beachmat" ,r-beachmat) @@ -11072,8 +11089,8 @@ import matplotlib matplotlib.use('Agg') " line))) ;; Make sure GESS has all modules in its path - (wrap-program (string-append target "GESS.py") - `("PYTHONPATH" ":" prefix (,target ,(getenv "PYTHONPATH")))) + (wrap-script (string-append target "GESS.py") + `("PYTHONPATH" ":" = (,target ,(getenv "PYTHONPATH")))) (mkdir-p bin) (symlink (string-append target "GESS.py") (string-append bin "GESS.py")) @@ -11084,7 +11101,8 @@ matplotlib.use('Agg') ("python2-scipy" ,python2-scipy) ("python2-numpy" ,python2-numpy) ("python2-networkx" ,python2-networkx) - ("python2-biopython" ,python2-biopython))) + ("python2-biopython" ,python2-biopython) + ("guile" ,guile-3.0))) ; for the script wrapper (home-page "https://compbio.uthscsa.edu/GESS_Web/") (synopsis "Detect exon-skipping events from raw RNA-seq data") (description @@ -12011,23 +12029,6 @@ graphs. This library makes it easy to work with @file{.loom} files for single-cell RNA-seq data.") (license license:bsd-3))) -;; pigx-scrnaseq does not work with the latest version of loompy. -(define-public python-loompy-for-pigx-scrnaseq - (package (inherit python-loompy) - (name "python-loompy") - (version "2.0.3") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/linnarsson-lab/loompy.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0pjyl532pl8sbv71yci6h0agchn0naw2qjcwj50n6afrsahbsag3")))) - ;; There are none. - (arguments '(#:tests? #f)))) - ;; We cannot use the latest commit because it requires Java 9. (define-public java-forester (let ((commit "86b07efe302d5094b42deed9260f719a4c4ac2e6") @@ -12771,7 +12772,7 @@ methylation and segmentation.") (define-public pigx-scrnaseq (package (name "pigx-scrnaseq") - (version "0.0.8") + (version "1.1.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/BIMSBbioinfo/pigx_scrnaseq/" @@ -12779,27 +12780,21 @@ methylation and segmentation.") "/pigx_scrnaseq-" version ".tar.gz")) (sha256 (base32 - "0zv0sc5amivxhb95vx2gfx6l9bh7n80fh7h47dalnwxxnfvnzai4")))) + "0ga2jr4968qzwml6aycky4603q64lny3y7lzw6dmafch5pydl1qi")))) (build-system gnu-build-system) - (arguments - `(#:configure-flags - (list (string-append "PICARDJAR=" (assoc-ref %build-inputs "java-picard") - "/share/java/picard.jar") - (string-append "DROPSEQJAR=" (assoc-ref %build-inputs "dropseq-tools") - "/share/java/dropseq.jar")))) (inputs `(("coreutils" ,coreutils) ("perl" ,perl) - ("dropseq-tools" ,dropseq-tools) ("fastqc" ,fastqc) - ("java-picard" ,java-picard-2.10.3) ; same as for dropseq + ("flexbar" ,flexbar) ("java" ,icedtea-8) + ("jellyfish" ,jellyfish) ("python-wrapper" ,python-wrapper) ("python-pyyaml" ,python-pyyaml) ("python-pandas" ,python-pandas) ("python-magic" ,python-magic) ("python-numpy" ,python-numpy) - ("python-loompy" ,python-loompy-for-pigx-scrnaseq) + ("python-loompy" ,python-loompy) ("ghc-pandoc" ,ghc-pandoc) ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc) ("samtools" ,samtools) @@ -12826,6 +12821,7 @@ methylation and segmentation.") ("r-rtsne" ,r-rtsne) ("r-scater" ,r-scater) ("r-scran" ,r-scran) + ("r-seurat" ,r-seurat) ("r-singlecellexperiment" ,r-singlecellexperiment) ("r-stringr" ,r-stringr) ("r-yaml" ,r-yaml))) @@ -13883,7 +13879,7 @@ absolute GSEA.") (define-public jamm (package (name "jamm") - (version "1.0.7.5") + (version "1.0.7.6") (source (origin (method git-fetch) @@ -13893,7 +13889,7 @@ absolute GSEA.") (file-name (git-file-name name version)) (sha256 (base32 - "0ls889jcma1ch9h21jjhnkadgszgqj41842hhcjh6cg88f85qf3i")))) + "0bsa5mf9n9q5jz7mmacrra41l7r8rac5vgsn6wv1fb52ya58b970")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; there are none diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 045fbe65ab..fa63c49920 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -380,7 +380,7 @@ and will take advantage of multiple processor cores where possible.") (define-public libtorrent-rasterbar (package (name "libtorrent-rasterbar") - (version "1.1.13") + (version "1.1.14") (source (origin (method url-fetch) (uri @@ -390,7 +390,7 @@ and will take advantage of multiple processor cores where possible.") "/libtorrent-rasterbar-" version ".tar.gz")) (sha256 (base32 - "1mza92ljjqvlz9582pmls3n45srqhxvw3q348xihcg4fhlchf11h")))) + "0sn3ingmk1lk9p56f9ifgdwhjg0qizcfgv15wyc9s71nm5fya7sc")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index e3d27874e8..425c0d53c9 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -670,7 +670,20 @@ it fits within common partitioning schemes.") (make-u-boot-sunxi64-package "pine64-lts" "aarch64-linux-gnu")) (define-public u-boot-pinebook - (make-u-boot-sunxi64-package "pinebook" "aarch64-linux-gnu")) + (let ((base (make-u-boot-sunxi64-package "pinebook" "aarch64-linux-gnu"))) + (package + (inherit base) + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'patch-pinebook-config + ;; Fix regression with LCD video output introduced in 2020.01 + ;; https://patchwork.ozlabs.org/patch/1225130/ + (lambda _ + (substitute* "configs/pinebook_defconfig" + (("CONFIG_VIDEO_BRIDGE_ANALOGIX_ANX6345=y") "CONFIG_VIDEO_BRIDGE_ANALOGIX_ANX6345=y\nCONFIG_VIDEO_BPP32=y")) + #t))))))))) (define-public u-boot-bananapi-m2-ultra (make-u-boot-package "Bananapi_M2_Ultra" "arm-linux-gnueabihf")) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index cfbcc0f318..7fbd1c472d 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Corentin Bocquillon <corentin@nybble.fr> -;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> ;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> @@ -80,7 +80,7 @@ makes a few sacrifices to acquire fast full and incremental build times.") (define-public bear (package (name "bear") - (version "2.4.2") + (version "2.4.3") (source (origin (method git-fetch) (uri (git-reference @@ -89,7 +89,7 @@ makes a few sacrifices to acquire fast full and incremental build times.") (file-name (git-file-name name version)) (sha256 (base32 - "1w1kyjzvvy5lj16kn3yyf7iil2cqlfkszi8kvagql7f5h5l6w9b1")))) + "19fk4flfykbzhb89ppmzqf0zlrkbjm6ajl9fsayndj9km5ys0041")))) (build-system cmake-build-system) (inputs `(("python" ,python-wrapper))) diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index 921d473cd9..160f456f79 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> @@ -132,7 +132,7 @@ compiler while still keeping it small, simple, fast and understandable.") (define-public libbytesize (package (name "libbytesize") - (version "2.1") + (version "2.2") (source (origin (method url-fetch) (uri (string-append @@ -140,7 +140,7 @@ compiler while still keeping it small, simple, fast and understandable.") "download/" version "/libbytesize-" version ".tar.gz")) (sha256 (base32 - "1bpz9cpb8s47kqplkkiz6ryfahas2ma95g9rh2axnfjp6w1d9ixc")))) + "1aivwypmnqcaj2230pifvf3jcgl5chja8rspkxf0j3480asm8g5r")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) diff --git a/gnu/packages/cedille.scm b/gnu/packages/cedille.scm index 80ed7e9759..d3a6850f9f 100644 --- a/gnu/packages/cedille.scm +++ b/gnu/packages/cedille.scm @@ -30,7 +30,7 @@ (define-public cedille (package (name "cedille") - (version "1.1.1") + (version "1.1.2") (source (origin (method git-fetch) @@ -40,7 +40,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "07kv9wncyipfjf5w4ax8h2p35g70zb1qw6zc4afd7c225xia55wp")))) + "1h5s6ayh3s76z184jai3jidcs4cjk8s4nvkkv2am8dg4gfsybq22")))) (inputs `(("agda" ,agda) ("agda-ial" ,agda-ial) diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm index 864fe5def1..24831db5e6 100644 --- a/gnu/packages/certs.scm +++ b/gnu/packages/certs.scm @@ -185,7 +185,7 @@ taken from the NSS package and thus ultimately from the Mozilla project.") (uri "https://letsencrypt.org/certs/isrgrootx1.pem") (sha256 (base32 - "0zycy85ff9ga53z1q03df89ka9iihb9p8bjhw056rq2y4rn3b6ac")))) + "1la36n2f31j9s03v847ig6ny9lr875q3g7smnq33dcsmf2i5gd92")))) ;; "Let’s Encrypt Authority X3", the active Let's Encrypt intermediate ;; certificate. ("letsencryptauthorityx3.pem" @@ -194,7 +194,7 @@ taken from the NSS package and thus ultimately from the Mozilla project.") (uri "https://letsencrypt.org/certs/letsencryptauthorityx3.pem") (sha256 (base32 - "1kvac1dhm1d02bhrfj6l1cz1dpldz6ishb78zzvy8245zgvh7pdn")))) + "100lxxvqv4fj563bm03zzk5r36hq5jx9nnrajzs38g825c5k0cg2")))) ;; "Let’s Encrypt Authority X4", the backup Let's Encrypt intermediate ;; certificate. This will be used for disaster recovery and will only be ;; used should Let's Encrypt lose the ability to issue with "Let’s @@ -205,7 +205,7 @@ taken from the NSS package and thus ultimately from the Mozilla project.") (uri "https://letsencrypt.org/certs/letsencryptauthorityx4.pem") (sha256 (base32 - "0giiixknr0mls2ir6qqzb42mq7x9a7vz79gbn7fjszbf87pqhpzm")))))) + "0d5256gwf73drq6q6jala28rfzhrgbk5pjfq27vc40ly91pdyh8m")))))) (home-page "https://letsencrypt.org/certificates/") (synopsis "Let's Encrypt root and intermediate certificates") (description "This package provides a certificate store containing only the diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index e819ca72cd..692350cf5c 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -751,7 +751,7 @@ interfaces and processes.") (propagated-inputs `(("python-six" ,python-six) ("python-traceback2" ,python-traceback2))) - (home-page "http://pypi.python.org/pypi/unittest2") + (home-page "https://pypi.org/project/unittest2/") (synopsis "Python unit testing library") (description "Unittest2 is a replacement for the unittest module in the Python @@ -1590,7 +1590,7 @@ the last py.test invocation.") (synopsis "Py.test plugin to test server connections locally") (description "Pytest-localserver is a plugin for the pytest testing framework which enables you to test server connections locally.") - (home-page "https://pypi.python.org/pypi/pytest-localserver") + (home-page "https://pypi.org/project/pytest-localserver/") (license license:expat))) (define-public python-pytest-xprocess @@ -2052,7 +2052,7 @@ especially -cover-package.") (base32 "0y8d0zwiqar51kxj8lzmkvwc3b8kazb04gk5zcb4nzg5k68zmhq5")))) (build-system python-build-system) - (home-page "http://pypi.python.org/pypi/discover/") + (home-page "https://pypi.org/project/discover/") (synopsis "Python test discovery for unittest") (description diff --git a/gnu/packages/chicken.scm b/gnu/packages/chicken.scm index 2034ca942a..7b86a58012 100644 --- a/gnu/packages/chicken.scm +++ b/gnu/packages/chicken.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech> +;;; Copyright © 2020 Evan Hanson <evhan@foldling.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,14 +29,14 @@ (define-public chicken (package (name "chicken") - (version "5.1.0") + (version "5.2.0") (source (origin (method url-fetch) (uri (string-append "https://code.call-cc.org/releases/" version "/chicken-" version ".tar.gz")) (sha256 (base32 - "0jsbp3kp0134f318j3wpd1n85gf8qzh034fn198gvazsv2l024aw")))) + "1yl0hxm9cirgcp8jgxp6vv29lpswfvaw3zfkh6rsj0vkrv44k4c1")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) @@ -59,7 +60,7 @@ ;; Parallel builds are not supported, as noted in README. #:parallel-build? #f)) (propagated-inputs `(("gcc-toolchain", gcc-toolchain))) - (home-page "http://www.call-cc.org/") + (home-page "https://www.call-cc.org/") (synopsis "R5RS Scheme implementation that compiles native code via C") (description "CHICKEN is a compiler for the Scheme programming language. CHICKEN diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index 49ad8de84c..0b3d19a428 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -37,7 +37,6 @@ #:use-module (gnu packages curl) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) - #:use-module (gnu packages gcc) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages glib) @@ -49,6 +48,7 @@ #:use-module (gnu packages libevent) #:use-module (gnu packages libffi) #:use-module (gnu packages linux) + #:use-module (gnu packages llvm) #:use-module (gnu packages kerberos) #:use-module (gnu packages ninja) #:use-module (gnu packages node) @@ -70,7 +70,8 @@ #:use-module (gnu packages xml) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg) - #:use-module (ice-9 match)) + #:use-module (ice-9 match) + #:use-module (srfi srfi-1)) (define %preserved-third-party-files '("base/third_party/cityhash" ;Expat @@ -106,10 +107,6 @@ "third_party/blink" ;BSD-3, LGPL2+ "third_party/boringssl" ;OpenSSL/ISC (Google additions are ISC) "third_party/boringssl/src/third_party/fiat" ;Expat - "third_party/boringssl/src/third_party/sike" ;Expat - ;; XXX: these files are generated by fp-$arch.pl in the above directory. - "third_party/boringssl/linux-aarch64/crypto/third_party/sike/asm/fp-armv8.S" - "third_party/boringssl/linux-x86_64/crypto/third_party/sike/asm/fp-x86_64.S" "third_party/breakpad" ;BSD-3 "third_party/brotli" ;Expat "third_party/cacheinvalidation" ;ASL2.0 @@ -117,11 +114,14 @@ "third_party/catapult/common/py_vulcanize/third_party/rcssmin" ;ASL2.0 "third_party/catapult/common/py_vulcanize/third_party/rjsmin" ;ASL2.0 "third_party/catapult/third_party/polymer" ;BSD-3 + ;; XXX: This is a minified version of <https://d3js.org/>. "third_party/catapult/tracing/third_party/d3" ;BSD-3 "third_party/catapult/tracing/third_party/gl-matrix" ;Expat + ;; XXX: Minified version of <https://github.com/Stuk/jszip>. "third_party/catapult/tracing/third_party/jszip" ;Expat or GPL3 "third_party/catapult/tracing/third_party/mannwhitneyu" ;Expat "third_party/catapult/tracing/third_party/oboe" ;BSD-2 + ;; XXX: Minified version of <https://github.com/nodeca/pako>. "third_party/catapult/tracing/third_party/pako" ;Expat "third_party/ced" ;BSD-3 "third_party/cld_3" ;ASL2.0 @@ -134,6 +134,9 @@ "third_party/dav1d" ;BSD-2 "third_party/dawn" ;ASL2.0 "third_party/depot_tools/owners.py" ;BSD-3 + "third_party/devtools-frontend" ;BSD-3 + "third_party/devtools-frontend/src/third_party/axe-core" ;MPL2.0 + "third_party/devtools-frontend/src/third_party/pyjson5" ;ASL2.0 "third_party/dom_distiller_js" ;BSD-3 "third_party/emoji-segmenter" ;ASL2.0 "third_party/flatbuffers" ;ASL2.0 @@ -154,6 +157,7 @@ "third_party/libaom" ;BSD-2 or "Alliance for Open Media Patent License 1.0" "third_party/libaom/source/libaom/third_party/vector" ;Expat "third_party/libaom/source/libaom/third_party/x86inc" ;ISC + "third_party/libgifcodec" ;MPL1.1/GPL2+/LGPL2.1+, BSD-3, BSD-2 "third_party/libjingle_xmpp" ;BSD-3 "third_party/libphonenumber" ;ASL2.0 "third_party/libsecret" ;LGPL2.1+ @@ -181,6 +185,7 @@ "third_party/pdfium/third_party/bigint" ;Public domain, BSD-3 "third_party/pdfium/third_party/skia_shared" ;BSD-3 "third_party/pdfium/third_party/freetype/include/pstables.h" ;FreeType + "third_party/perfetto" ;ASL2.0 "third_party/pffft" ;the "FFTPACK" license, similar to BSD-3 "third_party/ply" ;BSD-3 "third_party/polymer" ;BSD-3 @@ -194,7 +199,6 @@ "third_party/sfntly" ;ASL2.0 "third_party/skia" ;BSD-3 "third_party/skia/include/third_party/skcms" ;BSD-3 - "third_party/skia/third_party/gif" ;MPL1.1/GPL2+/LGPL2.1+ "third_party/skia/third_party/skcms" ;BSD-3 "third_party/skia/third_party/vulkanmemoryallocator" ;BSD-3, Expat "third_party/smhasher" ;Expat, public domain @@ -243,9 +247,9 @@ from forcing GEXP-PROMISE." #:system system #:guile-for-build guile))) -(define %chromium-version "79.0.3945.130") -(define %ungoogled-revision "e2fae994d786b6716fb473a47b0c880bcfdc2497") -(define %debian-revision "debian/79.0.3945.130-2") +(define %chromium-version "80.0.3987.132") +(define %ungoogled-revision "7e68f18f1d16a132fe7d913a176daf79897eaa58") +(define %debian-revision "debian/80.0.3987.116-1") (define package-revision "0") (define %package-version (string-append %chromium-version "-" package-revision "." @@ -259,7 +263,7 @@ from forcing GEXP-PROMISE." %chromium-version ".tar.xz")) (sha256 (base32 - "183vz3lf1588cr9s5vlnj65qvbmz36s8cg8k7dvr64cxmcqk86an")))) + "00f2hpi2d0n15yw29dv3dli566cgi7qh55bfpziag9a6j02i401c")))) (define %ungoogled-origin (origin @@ -270,7 +274,7 @@ from forcing GEXP-PROMISE." (string-take %ungoogled-revision 7))) (sha256 (base32 - "15vmc07iba1zmzn4j7c5n2hyvyxzwwf9hc3kyym0m4jajlsyxr5f")))) + "196rr3nly42pzl2bap22vzw4d8x87yl3zy1wq2fla5z8iy4x8ym1")))) (define %debian-origin (origin @@ -284,7 +288,7 @@ from forcing GEXP-PROMISE." (_ (string-take %debian-revision 7))))) (sha256 (base32 - "1rbzxcwfp7v0c6rkvn9jl9by7p363cnbdyqazwiak1z03kmw3nkz")))) + "1cc5sp566dd8f2grgr770xwbxgxf58dk1w7q3s8pmv4js5h3pwq8")))) ;; This is a "computed" origin that does the following: ;; *) Runs the Ungoogled scripts on a pristine Chromium tarball. @@ -344,7 +348,7 @@ from forcing GEXP-PROMISE." (with-directory-excursion chromium-dir - (format #t "applying Debian patches...~%") + (format #t "Applying Debian patches...~%") (force-output) (let* ((debian #+debian-source) (patches (string-append debian "/debian/patches")) @@ -423,6 +427,18 @@ from forcing GEXP-PROMISE." `(cons "--enable-custom-modes" ,flags)))))) +;; Add a custom ld wrapper that supports quoted strings in response files. +;; To be merged with 'ld-wrapper' in a future rebuild cycle. +(define-public ld-wrapper-next + (let ((orig (car (assoc-ref (%final-inputs) "ld-wrapper")))) + (package + (inherit orig) + (name "ld-wrapper-next") + (inputs + `(("wrapper" ,(search-path %load-path + "gnu/packages/ld-wrapper-next.in")) + ,@(alist-delete "wrapper" (package-inputs orig))))))) + (define-public ungoogled-chromium (package (name "ungoogled-chromium") @@ -446,8 +462,10 @@ from forcing GEXP-PROMISE." ;; directory for an exhaustive list of supported flags. ;; (Note: The 'configure' phase will do that for you.) (list "is_debug=false" + "is_cfi=false" "use_gold=false" "use_lld=false" + "clang_use_chrome_plugins=false" "linux_use_bundled_binutils=false" "use_custom_libcxx=false" "use_sysroot=false" @@ -477,18 +495,6 @@ from forcing GEXP-PROMISE." ;; friends from the environment. "custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" "host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - ;; Don't assume it's clang. - "is_clang=false" - ;; Disable debugging features to save space. These are normally - ;; pulled in by "is_official_build", but that requires "is_clang". - "enable_iterator_debugging=false" - "exclude_unwind_tables=true" - ;; Optimize for building everything at once, as opposed to - ;; incrementally for development. See "docs/jumbo.md". - "use_jumbo_build=true" - ;; The default file merge limit of 50 requires huge amounts of RAM. - ;; Cap it to make sure the build succeeds on commodity hardware. - "jumbo_file_merge_limit=8" ;; Prefer system libraries. "use_system_freetype=true" @@ -584,6 +590,10 @@ from forcing GEXP-PROMISE." (substitute* "third_party/webrtc/rtc_base/strings/json.h" (("#include \"third_party/jsoncpp/") "#include \"json/")) + (substitute* "gpu/config/gpu_util.cc" + (("third_party/vulkan/include/") + "")) + (substitute* '("components/viz/common/gpu/vulkan_context_provider.h" "components/viz/common/resources/resource_format_utils.h") (("third_party/vulkan/include/") "")) @@ -636,14 +646,19 @@ from forcing GEXP-PROMISE." ;; Make sure the right build tools are used. (setenv "AR" "ar") (setenv "NM" "nm") - (setenv "CC" "gcc") (setenv "CXX" "g++") + (setenv "CC" "clang") (setenv "CXX" "clang++") - ;; Prevent GCC from optimizing away null pointer safety checks. + ;; Do not optimize away null pointer safety checks. (setenv "CXXFLAGS" "-fno-delete-null-pointer-checks") ;; TODO: pre-compile instead. Avoids a race condition. (setenv "PYTHONDONTWRITEBYTECODE" "1") + (substitute* + ;; From Debians 'system/node.patch'. + "third_party/devtools-frontend/src/scripts/devtools_paths.py" + (("/usr/bin/nodejs") (which "node"))) + ;; XXX: How portable is this. (mkdir-p "third_party/node/linux/node-linux-x64") (symlink (string-append (assoc-ref inputs "node") "/bin") @@ -748,9 +763,10 @@ from forcing GEXP-PROMISE." #t)))))) (native-inputs `(("bison" ,bison) - ("gcc" ,gcc-8) + ("clang" ,clang-9) ("gn" ,gn) ("gperf" ,gperf) + ("ld-wrapper" ,ld-wrapper-next) ("ninja" ,ninja) ("node" ,node) ("pkg-config" ,pkg-config) @@ -852,6 +868,16 @@ disabled in order to protect the users privacy.") ,@(package-inputs ungoogled-chromium))) (arguments (substitute-keyword-arguments (package-arguments ungoogled-chromium) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'add-ozone-patch + (lambda _ + ;; Add missing include statement required when using libstdc++, + ;; Clang and Ozone. Fixed in M81. + (substitute* "ui/base/cursor/ozone/bitmap_cursor_factory_ozone.cc" + (("#include \"base/logging\\.h" all) + (string-append "#include <algorithm>\n" all))) + #t)))) ((#:configure-flags flags) `(append (list "use_ozone=true" "ozone_platform_wayland=true" diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 37da33908f..1f76f9ac1e 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1580,6 +1580,7 @@ recreates the stored directory structure by default.") (package (name "zziplib") (version "0.13.69") + (replacement zziplib/fixed) (home-page "https://github.com/gdraheim/zziplib") (source (origin (method git-fetch) @@ -1617,21 +1618,29 @@ recreates the stored directory structure by default.") ;; files carry the Zlib license; see "docs/copying.html" for details. (license (list license:lgpl2.0+ license:mpl1.1)))) +(define zziplib/fixed + (package + (inherit zziplib) + (source (origin + (inherit (package-source zziplib)) + (patches (search-patches "zziplib-CVE-2018-16548.patch")))))) + (define-public libzip (package (name "libzip") - (version "1.5.2") + (version "1.6.1") (source (origin (method url-fetch) (uri (string-append "https://libzip.org/download/libzip-" version ".tar.xz")) (sha256 (base32 - "1d53shcy7nvls5db573bbdlm25lfz1iw2zshng5f00cssi5lvpmk")))) + "0h9nsgkw0dk4srsvmz6xy6f9l4h815xn07j8h40l8gqvcxxaqpbh")))) (native-inputs `(("perl" ,perl))) (inputs `(("gnutls" ,gnutls) + ("liblzma" ,xz) ("openssl" ,openssl) ("zlib" ,zlib))) (build-system cmake-build-system) @@ -1899,15 +1908,14 @@ decompression is a little bit slower.") (define-public upx (package (name "upx") - (version "3.94") + (version "3.96") (source (origin (method url-fetch) (uri (string-append "https://github.com/upx/upx/releases/download/v" - version "/" name "-" version "-src.tar.xz")) + version "/upx-" version "-src.tar.xz")) (sha256 (base32 - "08anybdliqsbsl6x835iwzljahnm9i7v26icdjkcv33xmk6p5vw1")) - (patches (search-patches "upx-fix-CVE-2017-15056.patch")))) + "051pk5jk8fcfg5mpgzj43z5p4cn7jy5jbyshyn78dwjqr7slsxs7")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) @@ -1916,36 +1924,25 @@ decompression is a little bit slower.") ("zlib" ,zlib))) (arguments `(#:make-flags - (list "all" - ;; CHECK_WHITESPACE does not seem to work. - ;; See https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/upx. - "CHECK_WHITESPACE=true") + (list "all") #:phases (modify-phases %standard-phases - (delete 'configure) - (delete 'check) - (delete 'install) + (delete 'configure) ; no configure script + (delete 'check) ; no test suite (add-before 'build 'patch-exec-bin-sh (lambda _ - (substitute* (find-files "Makefile") - (("/bin/sh") (which "sh"))) - (substitute* "src/Makefile" + (substitute* (list "Makefile" + "src/Makefile") (("/bin/sh") (which "sh"))) #t)) - (add-after 'build 'install-upx + (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin"))) + (bin (string-append out "/bin"))) (mkdir-p bin) (copy-file "src/upx.out" (string-append bin "/upx"))) - #t)) - ))) + #t))))) (home-page "https://upx.github.io/") - ;; CVE-2017-16869 is about Mach-O files which is not of a big concern for Guix. - ;; See https://github.com/upx/upx/issues/146 and - ;; https://nvd.nist.gov/vuln/detail?vulnId=CVE-2017-16869. - ;; The issue will be fixed after version 3.94. - (properties `((lint-hidden-cve . ("CVE-2017-16869")))) (synopsis "Compression tool for executables") (description "The Ultimate Packer for eXecutables (UPX) is an executable file diff --git a/gnu/packages/connman.scm b/gnu/packages/connman.scm index 0098cb8dc7..5f17a0ea95 100644 --- a/gnu/packages/connman.scm +++ b/gnu/packages/connman.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -44,14 +44,14 @@ (define-public connman (package (name "connman") - (version "1.37") + (version "1.38") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/network/connman/" "connman-" version ".tar.xz")) (sha256 - (base32 "05kfjiqhqfmbbwc4snnyvi5hc4zxanac62f6gcwaf5mvn0z9pqkc")))) + (base32 "0awkqigvhwwxiapw0x6yd4whl465ka8a4al0v2pcqy9ggjlsqc6b")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -74,6 +74,7 @@ ("glib" ,glib) ("gnutls" ,gnutls) ("iptables" ,iptables) + ("libmnl" ,libmnl) ("readline" ,readline) ;; These inputs are needed for connman to include the interface to ;; these technologies so IF they are installed they can be used. diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index ae1e3e3356..dba9ec75f6 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -6,6 +6,8 @@ ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> +;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz> +;;; Copyright © 2020 Roel Janssen <roel@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -410,3 +412,75 @@ SObjectizer supports not only the Actor Model but also the Publish-Subscribe Model and CSP-like channels. The goal of SObjectizer is to simplify development of concurrent and multithreaded applications in C++.") (license license:bsd-3))) + +(define-public tweeny + (package + (name "tweeny") + (version "3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mobius3/tweeny.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1adm4c17pi7xf3kf6sjyxibz5rdg1ka236p72xsm6js4j9gzlbp4")))) + (arguments + '(#:tests? #f)) ;no check target + (build-system cmake-build-system) + (home-page "https://mobius3.github.io/tweeny/") + (synopsis "Modern C++ tweening library") + (description "@code{Tweeny} is an inbetweening library designed for the +creation of complex animations for games and other beautiful interactive +software. It leverages features of modern @code{C++} to empower developers with +an intuitive API for declaring tweenings of any type of value, as long as they +support arithmetic operations. The goal of @code{Tweeny} is to provide means to +create fluid interpolations when animating position, scale, rotation, frames or +other values of screen objects, by setting their values as the tween starting +point and then, after each tween step, plugging back the result.") + (license license:expat))) + +(define-public abseil-cpp + (package + (name "abseil-cpp") + (version "20200225") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/abseil/abseil-cpp.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0wb04pszzrl39ny1pz9jvvq8lbbm355dd60jspcyqfwxnk6njgd1")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON" + "-DABSL_RUN_TESTS=ON" + ;; Needed, else we get errors like: + ;; + ;; ld: CMakeFiles/absl_periodic_sampler_test.dir/internal/periodic_sampler_test.cc.o: + ;; undefined reference to symbol '_ZN7testing4Mock16UnregisterLockedEPNS_8internal25UntypedFunctionMockerBaseE' + ;; ld: /gnu/store/bxapb1f1l8frjpbjckk3zdxhmcig3xzk-googletest-1.10.0/lib/libgmock.so: + ;; error adding symbols: DSO missing from command line + ;; collect2: error: ld returned 1 exit status + "-DCMAKE_EXE_LINKER_FLAGS=-lgtest -lpthread -lgmock") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'remove-gtest-check + ;; The CMakeLists fails to find our googletest for some reason, but + ;; it works nonetheless. + (lambda _ + (substitute* "CMakeLists.txt" + (("check_target\\(gtest\\)") "") + (("check_target\\(gtest_main\\)") "") + (("check_target\\(gmock\\)") ""))))))) + (native-inputs + `(("googletest" ,googletest))) + (home-page "https://abseil.io") + (synopsis "Augmented C++ standard library") + (description "Abseil is a collection of C++ library code designed to +augment the C++ standard library. The Abseil library code is collected from +Google's C++ code base.") + (license license:asl2.0))) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 5b3b5ae9f0..6ca47c8755 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -195,14 +195,14 @@ functions are simplified but can be faster or have other advantages.") (define-public r-matrix-utils (package (name "r-matrix-utils") - (version "0.9.7") + (version "0.9.8") (source (origin (method url-fetch) (uri (cran-uri "Matrix.utils" version)) (sha256 (base32 - "1x64r4aj3gy1dzjjysyrk1j9jq3qsnyrqws8i6bs7q8pf6gvr7va")))) + "0a5fq1scykqk0kc9j051j6fix6j2dqwz5wbgb0amaxsiywz9vigb")))) (properties `((upstream-name . "Matrix.utils"))) (build-system r-build-system) (propagated-inputs @@ -423,14 +423,14 @@ such as copy/paste from an R session.") (define-public r-callr (package (name "r-callr") - (version "3.4.1") + (version "3.4.2") (source (origin (method url-fetch) (uri (cran-uri "callr" version)) (sha256 (base32 - "0nyba0knzd44zz2xmr7zd9qh3rny0q8msysxf49843d9rlyv6y70")))) + "0bdlp0labwyfl36jqslj2g7zmw7zwr58v9gam435kiblhjimb8fc")))) (build-system r-build-system) (propagated-inputs `(("r-r6" ,r-r6) @@ -473,14 +473,14 @@ the embedded @code{RapidXML} C++ library.") (define-public r-modelr (package (name "r-modelr") - (version "0.1.5") + (version "0.1.6") (source (origin (method url-fetch) (uri (cran-uri "modelr" version)) (sha256 (base32 - "0nnfhlzz75ihs8azy963cc4cwg1kx81rybk4z3wm98bbghwfxfs5")))) + "1x2m34m4qirb401krmgc5wg3g7ndbcglfab2l0655rmky3fz7rfp")))) (build-system r-build-system) (propagated-inputs `(("r-broom" ,r-broom) @@ -489,7 +489,8 @@ the embedded @code{RapidXML} C++ library.") ("r-purrr" ,r-purrr) ("r-rlang" ,r-rlang) ("r-tibble" ,r-tibble) - ("r-tidyr" ,r-tidyr))) + ("r-tidyr" ,r-tidyr) + ("r-tidyselect" ,r-tidyselect))) (home-page "https://github.com/tidyverse/modelr") (synopsis "Helper functions for modelling in pipelines") (description @@ -529,13 +530,13 @@ particularly easy to create complete web applications using httpuv alone.") (define-public r-jsonlite (package (name "r-jsonlite") - (version "1.6") + (version "1.6.1") (source (origin (method url-fetch) (uri (cran-uri "jsonlite" version)) (sha256 (base32 - "0lyvhnr6n57h3a89bvipii7x17nvfaycm9j5j50bfrlr48jv9ic8")))) + "0xrki07wc17bkmhz0h7jay784j1sls2i9bf1mfpj6yl59791v4kl")))) (build-system r-build-system) (home-page "https://arxiv.org/abs/1403.2805") (synopsis "Robust, high performance JSON parser and generator for R") @@ -553,13 +554,13 @@ in systems and applications.") (define-public r-servr (package (name "r-servr") - (version "0.15") + (version "0.16") (source (origin (method url-fetch) (uri (cran-uri "servr" version)) (sha256 (base32 - "199k9aghwk9rf1rm8pjg60xacqww25cza259h5dfj1ixil0m6dxi")))) + "106skz04iq4dkblr17idxsxfcfqic6rcaz8mahydkwjjppnhp5fc")))) (build-system r-build-system) (propagated-inputs `(("r-httpuv" ,r-httpuv) @@ -1271,14 +1272,14 @@ Projection code and larger maps are in separate packages (@code{mapproj} and (define-public r-mapproj (package (name "r-mapproj") - (version "1.2.6") + (version "1.2.7") (source (origin (method url-fetch) (uri (cran-uri "mapproj" version)) (sha256 (base32 - "1rggww8cbwv0vzlj5afzhbsbngg4bzj5znbkz7wmxsbshfbsm9b2")))) + "0nscsfq8md6ri9258xz57c3dj81wdl6kdwf4a9qcrwwbn20i427h")))) (build-system r-build-system) (propagated-inputs `(("r-maps" ,r-maps))) (home-page "https://cran.r-project.org/web/packages/mapproj") @@ -1293,17 +1294,19 @@ coordinates.") (define-public r-rgooglemaps (package (name "r-rgooglemaps") - (version "1.4.5.2") + (version "1.4.5.3") (source (origin (method url-fetch) (uri (cran-uri "RgoogleMaps" version)) (sha256 (base32 - "1y2dinxmzx6mg6ynpk2q7f4k4rxjm66my185gafdcvpc4rl7svs7")))) + "02v8k0bw70q4qwx4lcdy8p25q7n3ql2ll46lfpqllxa1p26svmfi")))) (properties `((upstream-name . "RgoogleMaps"))) (build-system r-build-system) - (propagated-inputs `(("r-png" ,r-png))) + (propagated-inputs + `(("r-png" ,r-png) + ("r-sp" ,r-sp))) (home-page "https://cran.r-project.org/web/packages/RgoogleMaps") (synopsis "Use Google Maps in R") (description "This package serves two purposes: @@ -1615,13 +1618,13 @@ print, summary, plot, update, etc. (define-public r-ps (package (name "r-ps") - (version "1.3.0") + (version "1.3.2") (source (origin (method url-fetch) (uri (cran-uri "ps" version)) (sha256 - (base32 "1lcq7r0q4jb8x6k023zr2ydj2dg925bqqbkhx1phpnyjrk897498")))) + (base32 "0127q6pw9iw8hhcfp231gmdh29nahh2n5jzc38avrzy7yrm4bwl9")))) (build-system r-build-system) (home-page "https://ps.r-lib.org") (synopsis "List, query, and manipulate system processes") @@ -1914,14 +1917,14 @@ rows, dropping names) to see if the modified versions are identical.") (define-public r-dendextend (package (name "r-dendextend") - (version "1.13.2") + (version "1.13.4") (source (origin (method url-fetch) (uri (cran-uri "dendextend" version)) (sha256 (base32 - "1iclvd9cyckd4djpa87ynm05fk6zl4b4m735za1w4irimc130m3r")))) + "1pjbz6sb4pgh3d5pm53vmf3q8y6lq3hrgjd6547xxs3m63sb8mn4")))) (build-system r-build-system) (propagated-inputs `(("r-ggplot2" ,r-ggplot2) @@ -2155,13 +2158,13 @@ most popular ones.") (define-public r-sp (package (name "r-sp") - (version "1.3-2") + (version "1.4-1") (source (origin (method url-fetch) (uri (cran-uri "sp" version)) (sha256 - (base32 "0kpjsqh3lzqp1m0avsvm54lazlgwfx3hyf0av3mvbyslsanj42ll")))) + (base32 "0fbh865r4py89g6ln8bslig2vbxxwa642p5k5g02rskyhajg35lg")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice))) @@ -2382,14 +2385,14 @@ matrices, a special case of sparse matrices.") (define-public r-bbmle (package (name "r-bbmle") - (version "1.0.22") + (version "1.0.23.1") (source (origin (method url-fetch) (uri (cran-uri "bbmle" version)) (sha256 (base32 - "1idn55w5f3iw4r0ydyww8xyinninw07sxlwfqb565vmdrs87dwl4")))) + "0p3l9shbr2846qmw8n0fyzf4j7gmi08aypl82jml3dwh26q1whk0")))) (build-system r-build-system) (propagated-inputs `(("r-bdsmatrix" ,r-bdsmatrix) @@ -2410,22 +2413,21 @@ classes in the @code{stats4} package.") (define-public r-emdbook (package (name "r-emdbook") - (version "1.3.11") + (version "1.3.12") (source (origin (method url-fetch) (uri (cran-uri "emdbook" version)) (sha256 (base32 - "0a515jdzvg87npvrh7md7zp0v5nlz7c2jr7pba5dql6slb0d8j7q")))) + "0ls3zxxlwmdv7zn1v9i1y9zc2sn0hbgmyjvsj7zn3ajsw7wwlih6")))) (build-system r-build-system) (propagated-inputs `(("r-bbmle" ,r-bbmle) ("r-coda" ,r-coda) ("r-lattice" ,r-lattice) ("r-mass" ,r-mass) - ("r-plyr" ,r-plyr) - ("r-rcpp" ,r-rcpp))) + ("r-plyr" ,r-plyr))) (home-page "http://www.math.mcmaster.ca/bolker/emdbook") (synopsis "Support functions and data for \"Ecological Models and Data\"") (description @@ -2635,14 +2637,14 @@ contexts.") (define-public r-squarem (package (name "r-squarem") - (version "2020.1") + (version "2020.2") (source (origin (method url-fetch) (uri (cran-uri "SQUAREM" version)) (sha256 (base32 - "0v4ax1v8diw2w7fdhfzz1z0bwixkmcrc39ax3y116f399rc06qbs")))) + "1j6sa93xjvynnzx9jx79a3fysbykmbqyknknsqif5bcha6xp6cvf")))) (properties `((upstream-name . "SQUAREM"))) (build-system r-build-system) (home-page "https://coah.jhu.edu/people/Faculty_personal_Pages/Varadhan.html") @@ -2681,14 +2683,14 @@ variable models.") (define-public r-drr (package (name "r-drr") - (version "0.0.3") + (version "0.0.4") (source (origin (method url-fetch) (uri (cran-uri "DRR" version)) (sha256 (base32 - "1yd1fvllfkcrwg9v322n4wkk4q4q84nvy58y4vac9pdr3yf3i4vl")))) + "1y70si1gig4l7jx5jiqsqliyywfsvimkx53x3zh1lc3yj2j6bqwk")))) (properties `((upstream-name . "DRR"))) (build-system r-build-system) (propagated-inputs @@ -2798,14 +2800,14 @@ dimensioned arrays.") (define-public r-rmysql (package (name "r-rmysql") - (version "0.10.18") + (version "0.10.19") (source (origin (method url-fetch) (uri (cran-uri "RMySQL" version)) (sha256 (base32 - "0r4626sk78fhlgivr0c7mwg9mj29ayr0iz5x90rdl4d5nc2r6kq4")))) + "0269pfq791qvax69lrwvvzgllyzm3cy3sdp9sakwxzvw5pxk2vhv")))) (properties `((upstream-name . "RMySQL"))) (build-system r-build-system) (inputs @@ -3065,14 +3067,14 @@ by base R methods related to model fitting.") (define-public r-broom (package (name "r-broom") - (version "0.5.4") + (version "0.5.5") (source (origin (method url-fetch) (uri (cran-uri "broom" version)) (sha256 (base32 - "1w35v1qrg8d0bm7a4gsdqkmrl9nmymsvmamy48vc046a1axzgzq1")))) + "0n7zd64263kfavdi28rl2bxrsa00c3m4vjhhjdrfwvvmrcxj39fx")))) (build-system r-build-system) (propagated-inputs `(("r-backports" ,r-backports) @@ -3356,26 +3358,21 @@ analysis of multiply imputed data sets.") (define-public r-mice (package (name "r-mice") - (version "3.7.0") + (version "3.8.0") (source (origin (method url-fetch) (uri (cran-uri "mice" version)) (sha256 (base32 - "1wx1s1gc07iz63w4m8z0i1n5mc273f89grp5d3hfla7ypicjkasf")))) + "1ibybvigqkkla4xwhqs2w4m6c68alfcdsljx99nn4p92rzb1ig04")))) (build-system r-build-system) (propagated-inputs `(("r-broom" ,r-broom) ("r-dplyr" ,r-dplyr) ("r-lattice" ,r-lattice) - ("r-mass" ,r-mass) - ("r-mitml" ,r-mitml) - ("r-nnet" ,r-nnet) ("r-rcpp" ,r-rcpp) - ("r-rlang" ,r-rlang) - ("r-rpart" ,r-rpart) - ("r-survival" ,r-survival))) + ("r-tidyr" ,r-tidyr))) (home-page "https://cran.r-project.org/web/packages/mice/") (synopsis "Multivariate imputation by chained equations") (description @@ -3585,14 +3582,14 @@ simplifying cross-class interoperability.") (define-public r-performanceanalytics (package (name "r-performanceanalytics") - (version "1.5.3") + (version "2.0.4") (source (origin (method url-fetch) (uri (cran-uri "PerformanceAnalytics" version)) (sha256 (base32 - "0jhjldwyxwq7a47zmk5y1jjck7hvq92p8rlgjvdfy51hx2dmlqqd")))) + "0ci26hsj4wnw9g0mh4vrn0cg986cpcpx169rvw6v6rbnjxq718bq")))) (properties `((upstream-name . "PerformanceAnalytics"))) (build-system r-build-system) @@ -3615,14 +3612,14 @@ where possible.") (define-public r-laeken (package (name "r-laeken") - (version "0.5.0") + (version "0.5.1") (source (origin (method url-fetch) (uri (cran-uri "laeken" version)) (sha256 (base32 - "1g9r3y7b0gl91hijk9awa8rjk97mqpkxinzq2cgmx0m38ng9ylpa")))) + "199rjkhjjygpr6cjzab87as46acb5npi44m4yycvk7lnd0blma8s")))) (build-system r-build-system) (propagated-inputs `(("r-boot" ,r-boot) @@ -3717,7 +3714,7 @@ normalizations, minimum variance matching, and so on.") (properties `((upstream-name . "SDMTools"))) (build-system r-build-system) (propagated-inputs `(("r-r-utils" ,r-r-utils))) - (home-page "http://www.rforge.net/SDMTools/") + (home-page "https://www.rforge.net/SDMTools/") (synopsis "Species distribution modelling tools") (description "This package provides a set of tools for post processing the outcomes of species distribution modeling exercises. It includes novel @@ -3795,14 +3792,14 @@ plots in @code{ggplot2}.") (define-public r-cli (package (name "r-cli") - (version "2.0.1") + (version "2.0.2") (source (origin (method url-fetch) (uri (cran-uri "cli" version)) (sha256 (base32 - "0x28i7kj4qndk6mnn99qn9w2nfldv8csjnsn0n8phfnxq5hnmp5y")))) + "1dhkah6jvr96k4h4agcc2rfls75bpjb0j58fzaz3dc0fp3jk8229")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) @@ -3860,14 +3857,14 @@ constants, and control debugging of packages via environment variables.") (define-public r-processx (package (name "r-processx") - (version "3.4.1") + (version "3.4.2") (source (origin (method url-fetch) (uri (cran-uri "processx" version)) (sha256 (base32 - "1g6ipcaxg9y94lyrnbp7kkbqfkcdh1fyrqjjclbjp3x7iysdvazi")))) + "02awswxq6wh3rl99dncw5n6c1xmd0v81xcdp2dfyi6vm6b3gz84l")))) (build-system r-build-system) (propagated-inputs `(("r-ps" ,r-ps) @@ -3887,14 +3884,14 @@ timeout. It can also poll several processes at once.") (define-public r-tsp (package (name "r-tsp") - (version "1.1-8") + (version "1.1-9") (source (origin (method url-fetch) (uri (cran-uri "TSP" version)) (sha256 (base32 - "0g44f2a4m7rfx6y51cdbr6vcmmpbwgyzpvfjksq3lb7gcpbr7xrx")))) + "183m6crb0dv17llj86059n3hbgsahbhfcqlx0ijdzkssg11i1cy7")))) (properties `((upstream-name . "TSP"))) (build-system r-build-system) (propagated-inputs `(("r-foreach" ,r-foreach))) @@ -4067,14 +4064,14 @@ to variables on the left-hand side of the assignment.") (define-public r-vctrs (package (name "r-vctrs") - (version "0.2.2") + (version "0.2.3") (source (origin (method url-fetch) (uri (cran-uri "vctrs" version)) (sha256 (base32 - "008xjmlj5a5vm303wxac7bliamqwaj7mcj0jv6n9ibc8p8h93aqd")))) + "1pnjnxp1pwsr083qa6xp5akls6q0pnjz8pq2m9d7z3kc1886sw8w")))) (build-system r-build-system) (propagated-inputs `(("r-digest" ,r-digest) @@ -4131,14 +4128,14 @@ terminals.") (define-public r-uuid (package (name "r-uuid") - (version "0.1-2") + (version "0.1-4") (source (origin (method url-fetch) (uri (cran-uri "uuid" version)) (sha256 (base32 - "1gmisd630fc8ybg845hbg13wmm3pk3npaamrh5wqbc1nqd6p0wfx")))) + "0gm9ii7ncvllxbvyk6srsiinjmqyj7lmh84w43x4nhqpvafj9q4q")))) (build-system r-build-system) (home-page "http://www.rforge.net/uuid") (synopsis "Tools for generating and handling of UUIDs") @@ -4150,14 +4147,14 @@ terminals.") (define-public r-tinytex (package (name "r-tinytex") - (version "0.19") + (version "0.20") (source (origin (method url-fetch) (uri (cran-uri "tinytex" version)) (sha256 (base32 - "0jlcrvcqcbkimg7w40z5vhlnakb829vfgqpspm3pfl8karwzgqp6")))) + "0n8v8inpsc99r0snvqbjhqlc6nm9hxjsw120hrxc2mw03pa5fvkg")))) (build-system r-build-system) (propagated-inputs `(("r-xfun" ,r-xfun))) @@ -4714,14 +4711,14 @@ creation and manipulation of WAVE audio files.") (define-public r-np (package (name "r-np") - (version "0.60-9") + (version "0.60-10") (source (origin (method url-fetch) (uri (cran-uri "np" version)) (sha256 (base32 - "1z4jcpx8bbgwslv42wrphfd1qfq965qjn0kmfxm5f6hbbycahcgy")))) + "06h8k0kdv5s258jr6s08fabvlycrbs7iq34jk2f2hfmqm2y4nyx2")))) (build-system r-build-system) (propagated-inputs `(("r-boot" ,r-boot) @@ -5167,14 +5164,14 @@ specific S3-method.") (define-public r-vim (package (name "r-vim") - (version "4.8.0") + (version "5.1.0") (source (origin (method url-fetch) (uri (cran-uri "VIM" version)) (sha256 (base32 - "08x4a4yzgp8adgrv7a3666yma4b60n64mcsnvhzmwdy023f4ysrw")))) + "09600piny3qrxrmh8844iwrvgrhwan1c3nlh6irqy1vjha2w4gb3")))) (properties `((upstream-name . "VIM"))) (build-system r-build-system) (propagated-inputs @@ -5183,6 +5180,7 @@ specific S3-method.") ("r-data-table" ,r-data-table) ("r-e1071" ,r-e1071) ("r-laeken" ,r-laeken) + ("r-magrittr" ,r-magrittr) ("r-mass" ,r-mass) ("r-nnet" ,r-nnet) ("r-ranger" ,r-ranger) @@ -5646,14 +5644,14 @@ Python's @url{https://github.com/ActiveState/appdirs,Appdirs} to R.") (define-public r-renv (package (name "r-renv") - (version "0.9.2") + (version "0.9.3") (source (origin (method url-fetch) (uri (cran-uri "renv" version)) (sha256 (base32 - "1jwnabryn77s29ybwdfzlnd7c8m05xmi69kp5qbvdxy2gjwjzcdr")))) + "02ayfgbpw4b58148dcxz31anaxncwczmxs1zzkskwj0rzhb2x60r")))) (properties `((upstream-name . "renv"))) (build-system r-build-system) (home-page "https://rstudio.github.io/renv") @@ -5669,14 +5667,14 @@ reproducible.") (define-public r-learnr (package (name "r-learnr") - (version "0.10.0") + (version "0.10.1") (source (origin (method url-fetch) (uri (cran-uri "learnr" version)) (sha256 (base32 - "0278q9nbkc4nb0rp930kjrwyidf0v7y38d1s187m4f4bs7ha82k6")))) + "08xwmms6x58y3dsfbl9c6d03145hb4ij97nqr1cc9dxxilmr6x31")))) (build-system r-build-system) (propagated-inputs `(("r-checkmate" ,r-checkmate) @@ -5857,14 +5855,14 @@ and adds the annotation to the plot.") (define-public r-ggpubr (package (name "r-ggpubr") - (version "0.2.4") + (version "0.2.5") (source (origin (method url-fetch) (uri (cran-uri "ggpubr" version)) (sha256 (base32 - "0ln1gh3zlfx5s7zqcpvfdiksq74v1pma5kwkhc6r0riqnjjd19pf")))) + "0kb3hpmnhj4mkbx1kx0kv5y22himr8dijqx7ra0h8hi0pf2l2ha7")))) (build-system r-build-system) (propagated-inputs `(("r-cowplot" ,r-cowplot) @@ -5938,14 +5936,14 @@ clustering.") (define-public r-factominer (package (name "r-factominer") - (version "2.1") + (version "2.3") (source (origin (method url-fetch) (uri (cran-uri "FactoMineR" version)) (sha256 (base32 - "1b2jsv8vlaynknd7nlra6fdmr56n7678q5s28rqmagbadiqwvj4h")))) + "0ldgf3daksh6lpblhqys67m4mxqx3q9s9n5plfam6dwshfik0ky6")))) (properties `((upstream-name . "FactoMineR"))) (build-system r-build-system) (propagated-inputs @@ -6194,23 +6192,19 @@ references and Rd files.") (define-public r-officer (package (name "r-officer") - (version "0.3.6") + (version "0.3.7") (source (origin (method url-fetch) (uri (cran-uri "officer" version)) (sha256 (base32 - "1i6jmnbkx7gd0qyf6akhizmxp7y1dh3h7a886mcbmrzka9d60zh4")))) + "1zyrcf0xxm67bskynjac8dhil2as7rb0mmqaq30zp9lrgfwiycpz")))) (build-system r-build-system) (propagated-inputs - `(("r-base64enc" ,r-base64enc) - ("r-digest" ,r-digest) - ("r-htmltools" ,r-htmltools) + `(("r-digest" ,r-digest) ("r-magrittr" ,r-magrittr) ("r-r6" ,r-r6) - ("r-rcpp" ,r-rcpp) - ("r-rlang" ,r-rlang) ("r-uuid" ,r-uuid) ("r-xml2" ,r-xml2) ("r-zip" ,r-zip))) @@ -6381,14 +6375,14 @@ other add-on packages.") (define-public r-insight (package (name "r-insight") - (version "0.8.0") + (version "0.8.1") (source (origin (method url-fetch) (uri (cran-uri "insight" version)) (sha256 (base32 - "1bkcwvjpfy4q4k478x8x42yiqz6v0fk6z6hfp6fli3h63smlmck0")))) + "1y889bydmji3pcq2bdf6xl6ikmd45wbwl53ssvsk05b5ahkyxi76")))) (build-system r-build-system) (home-page "https://easystats.github.io/insight/") (synopsis "Easy access to model information for various model objects") @@ -6407,14 +6401,14 @@ information are missing.") (define-public r-sjlabelled (package (name "r-sjlabelled") - (version "1.1.2") + (version "1.1.3") (source (origin (method url-fetch) (uri (cran-uri "sjlabelled" version)) (sha256 (base32 - "1vnx067mxnvz4jzhmpiarda8ln6habzj02qikvkix5piiy85sqcw")))) + "1amq7i9sxf0pkxhskqc53xq5wvc9rdxm7cxyb4b6xh6qsskjnlsj")))) (build-system r-build-system) (propagated-inputs `(("r-haven" ,r-haven) @@ -6510,14 +6504,14 @@ functions.") (define-public r-flextable (package (name "r-flextable") - (version "0.5.6") + (version "0.5.8") (source (origin (method url-fetch) (uri (cran-uri "flextable" version)) (sha256 (base32 - "1f869f2dfqkzhf6yix7xcbs8rn1nwq3sg623h74zg6h1pl6px66w")))) + "1x24rz1r5xin122czg85d7nrkwpaabb60p50m3yrd3dh81vfp0hk")))) (build-system r-build-system) (propagated-inputs `(("r-base64enc" ,r-base64enc) @@ -6753,14 +6747,14 @@ the work.") (define-public r-doby (package (name "r-doby") - (version "4.6-3") + (version "4.6.5") (source (origin (method url-fetch) (uri (cran-uri "doBy" version)) (sha256 (base32 - "1d0d6pwai1g4i5jls0jm9va29ci5hy92n5957608f3fzi1jwy635")))) + "1ckazh701b4ilg8bj17ji903538jmb49d997gm49ah5j5jc1x0g7")))) (properties `((upstream-name . "doBy"))) (build-system r-build-system) (propagated-inputs @@ -6962,13 +6956,13 @@ based on index arrays and simple triplet representations, respectively.") (define-public r-manipulatewidget (package (name "r-manipulatewidget") - (version "0.10.0") + (version "0.10.1") (source (origin (method url-fetch) (uri (cran-uri "manipulateWidget" version)) (sha256 - (base32 "1zagrbwkn2d50zzw8i2vyb1hsq4cydmfsqiy1a2qlp6zrv8a6q9x")))) + (base32 "1vi71sjh7z1a880wffk8qqw7iysvk42q78giqxmm2sqz2a912qlx")))) (properties `((upstream-name . "manipulateWidget"))) (build-system r-build-system) @@ -7186,23 +7180,23 @@ and coverage methods to tune the choice of threshold.") (define-public r-ggformula (package (name "r-ggformula") - (version "0.9.2") + (version "0.9.4") (source (origin (method url-fetch) (uri (cran-uri "ggformula" version)) (sha256 - (base32 "16ycabhnp78fsiv1dc63ccgh9gmpsy2683vbmq0fdzl6w3pd87sr")))) + (base32 "04vdhg1bbc1psrx9ggaphz7cx4fw5xsmhkqpqfcg2w4ba2bjy46f")))) (build-system r-build-system) (propagated-inputs - `(("r-ggplot2" ,r-ggplot2) + `(("r-ggforce" ,r-ggforce) + ("r-ggplot2" ,r-ggplot2) ("r-ggstance" ,r-ggstance) ("r-magrittr" ,r-magrittr) ("r-mosaiccore" ,r-mosaiccore) ("r-rlang" ,r-rlang) ("r-stringr" ,r-stringr) - ("r-tibble" ,r-tibble) - ("r-tidyr" ,r-tidyr))) + ("r-tibble" ,r-tibble))) (home-page "https://github.com/ProjectMOSAIC/ggformula/") (synopsis "Formula interface for the @code{r-ggplot2}") (description @@ -7234,14 +7228,14 @@ used to teach mathematics, statistics, computation and modeling.") (define-public r-raster (package (name "r-raster") - (version "3.0-7") + (version "3.0-12") (source (origin (method url-fetch) (uri (cran-uri "raster" version)) (sha256 (base32 - "0faxv71hlxkblvbi3ps1vfzm3wwi0brwzmpsr5114bddcqyiqkvn")))) + "0rrbsigkqxsdic8fly6nrsc79zsliwvr1x2b4xqpl9d34vr50dvg")))) (build-system r-build-system) (propagated-inputs `(("r-rcpp" ,r-rcpp) @@ -8243,14 +8237,14 @@ Hothorn, Westfall, 2010, CRC Press).") (define-public r-emmeans (package (name "r-emmeans") - (version "1.4.3.01") + (version "1.4.5") (source (origin (method url-fetch) (uri (cran-uri "emmeans" version)) (sha256 (base32 - "16v5j31516nbqnj2zhgqvyp5yxd4zcs5zi0aspa5plr2qikvrkmg")))) + "10fmvmd6q4zjr6b18hhc85mwrzv778qzj6lwl9kbs2fsfvsgw7mm")))) (build-system r-build-system) (propagated-inputs `(("r-estimability" ,r-estimability) @@ -8401,13 +8395,13 @@ detection, parallelism through BLAS and parallel user templates.") (define-public r-sjstats (package (name "r-sjstats") - (version "0.17.8") + (version "0.17.9") (source (origin (method url-fetch) (uri (cran-uri "sjstats" version)) (sha256 - (base32 "0gagqbcmimlvxhpjkmd3s17mbrz5n937qksca1hvm6kj4rk37hzb")))) + (base32 "0938ac6ixvkif07azd2msa8g3qnn9rabj6jg17almbysl83kg4nm")))) (build-system r-build-system) (propagated-inputs `(("r-bayestestr" ,r-bayestestr) @@ -8444,14 +8438,14 @@ models.") (define-public r-glmmtmb (package (name "r-glmmtmb") - (version "0.2.3") + (version "1.0.0") (source (origin (method url-fetch) (uri (cran-uri "glmmTMB" version)) (sha256 (base32 - "035hkywa37bz555fv6znxd4hfcs5w884365wfnwk4jx5vann4vvb")))) + "1md4yw4kbng953rz1n9g1v2xffk3cxx1qmp0kvbdayg1s82l1rgx")))) (properties `((upstream-name . "glmmTMB"))) (build-system r-build-system) (propagated-inputs @@ -8476,14 +8470,14 @@ differentiation.") (define-public r-bayestestr (package (name "r-bayestestr") - (version "0.5.1") + (version "0.5.2") (source (origin (method url-fetch) (uri (cran-uri "bayestestR" version)) (sha256 (base32 - "01kqvky1ndd1q64rzmqh5yfzz36ci8yhy4w16gjnw4c257ikhvd8")))) + "1l0kqw793d8fnk0745fllmqwjwnj9srvqzv4baq5s05ls1gbi2mw")))) (properties `((upstream-name . "bayestestR"))) (build-system r-build-system) (propagated-inputs @@ -8501,14 +8495,14 @@ ROPE percentage and pd).") (define-public r-performance (package (name "r-performance") - (version "0.4.3") + (version "0.4.4") (source (origin (method url-fetch) (uri (cran-uri "performance" version)) (sha256 (base32 - "1164585ywbnrcy7an57kifh2gdb6g08z9pxw75ywqdcfyd51i3dz")))) + "18h9y66cpsb3k6xnaya87vnpv2s3chf4bzsc4ym3n5sxhh41j7la")))) (build-system r-build-system) (propagated-inputs `(("r-bayestestr" ,r-bayestestr) @@ -8528,22 +8522,19 @@ effects models and Bayesian models.") (define-public r-ggeffects (package (name "r-ggeffects") - (version "0.14.0") + (version "0.14.1") (source (origin (method url-fetch) (uri (cran-uri "ggeffects" version)) (sha256 (base32 - "1djz82xww86h8f33m2vm40lliicppgyhm6hyn3h6rzrqjrlrsmdw")))) + "07pvs18vlybp96zz1wjr7cwiwi1cvjwkb9ahxzq0vd6adnd6ya59")))) (build-system r-build-system) (propagated-inputs `(("r-insight" ,r-insight) - ("r-magrittr" ,r-magrittr) ("r-mass" ,r-mass) - ("r-purrr" ,r-purrr) - ("r-sjlabelled" ,r-sjlabelled) - ("r-sjmisc" ,r-sjmisc))) + ("r-sjlabelled" ,r-sjlabelled))) (home-page "https://github.com/strengejacke/ggeffects") (synopsis "Create tidy data frames of marginal effects for ggplot") (description @@ -8559,14 +8550,14 @@ results using @code{ggplot2}.") (define-public r-effectsize (package (name "r-effectsize") - (version "0.1.1") + (version "0.2.0") (source (origin (method url-fetch) (uri (cran-uri "effectsize" version)) (sha256 (base32 - "0dd7nbkg8kmash9zh2gg08m7hbpsqwpkvkdhinfqkbg5d0jinhq8")))) + "1liix8rf8xq3hzi7684bl0s20iflsq6g5mxr5k59wp2qwn1i6aww")))) (properties `((upstream-name . "effectsize"))) (build-system r-build-system) (propagated-inputs @@ -8776,14 +8767,14 @@ more information about packages, and where they were installed from.") (define-public r-remotes (package (name "r-remotes") - (version "2.1.0") + (version "2.1.1") (source (origin (method url-fetch) (uri (cran-uri "remotes" version)) (sha256 (base32 - "19v8dmnk9l4i9m64p7zgmj7y1vhnnwhi5kyn0k5d034zzkvchi49")))) + "12qinl7jv54f2524ri13gcrv6d523rg1harpi500j676zi30fnaf")))) (build-system r-build-system) (home-page "https://github.com/r-lib/remotes#readme") (synopsis "R package installation from remote repositories") @@ -8900,17 +8891,18 @@ ways.") (define-public r-summarytools (package (name "r-summarytools") - (version "0.9.4") + (version "0.9.6") (source (origin (method url-fetch) (uri (cran-uri "summarytools" version)) (sha256 (base32 - "1n695baz56mg4f13xjjadfq0xalw5xsn6xicil0yap5hgi8fsr3a")))) + "03pcb2ild1rb9f15yq8b68p9bg10z5wk2x7ahgyzkwdh5f81vbq2")))) (build-system r-build-system) (propagated-inputs - `(("r-checkmate" ,r-checkmate) + `(("r-base64enc" ,r-base64enc) + ("r-checkmate" ,r-checkmate) ("r-dplyr" ,r-dplyr) ("r-htmltools" ,r-htmltools) ("r-lubridate" ,r-lubridate) @@ -8919,7 +8911,6 @@ ways.") ("r-pander" ,r-pander) ("r-pryr" ,r-pryr) ("r-rapportools" ,r-rapportools) - ("r-rcurl" ,r-rcurl) ("r-tibble" ,r-tibble) ("r-tidyr" ,r-tidyr))) (home-page "https://github.com/dcomtois/summarytools") @@ -9052,14 +9043,14 @@ the interfaces between R and C++.") (define-public r-mvabund (package (name "r-mvabund") - (version "4.0.1") + (version "4.1.3") (source (origin (method url-fetch) (uri (cran-uri "mvabund" version)) (sha256 (base32 - "0la935gsiryfc0zixxr1dqj0av271x96pqxbi3bp6dksbw5gm68k")))) + "1z58h4dk3mc2hfnfvc7pghk471cbp7ah2s1z2ria5igw4s80962b")))) (build-system r-build-system) (propagated-inputs `(("r-mass" ,r-mass) @@ -9164,14 +9155,14 @@ al. (2016)).") (define-public r-weights (package (name "r-weights") - (version "1.0") + (version "1.0.1") (source (origin (method url-fetch) (uri (cran-uri "weights" version)) (sha256 (base32 - "0186bfpkhxngrshac6bpg37alp6slwhwd43inrm8hqg0vhpfgc4c")))) + "1ka2kvzg464vn80qziqy4mrciy9wwd3jfasgq0d33wbiblhmxkj5")))) (build-system r-build-system) (propagated-inputs `(("r-gdata" ,r-gdata) @@ -9192,14 +9183,14 @@ address a bug.") (define-public r-rcppannoy (package (name "r-rcppannoy") - (version "0.0.14") + (version "0.0.15") (source (origin (method url-fetch) (uri (cran-uri "RcppAnnoy" version)) (sha256 (base32 - "1wiigx5g5788j6lyc3f6bs1rsvc4alyc3052g35hxl1giinxmhn4")))) + "1rlw6npwwcp066midvkhnzf0xmmfkkdf6f581j3j1s2naqss3fvl")))) (properties `((upstream-name . "RcppAnnoy"))) (build-system r-build-system) (propagated-inputs @@ -9310,14 +9301,14 @@ Bioconductor packages.") (define-public r-rgl (package (name "r-rgl") - (version "0.100.30") + (version "0.100.50") (source (origin (method url-fetch) (uri (cran-uri "rgl" version)) (sha256 (base32 - "0rzqzskcwf2ah4yr62x5rjwf7yh90d43h39gk7jmfc5lc08zaxc5")))) + "165p932ml7dpjkm41zc47p5cdxar69il0m5yvg0avi8q01vr17ay")))) (build-system r-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -9393,13 +9384,13 @@ isosurfaces.") (define-public r-ks (package (name "r-ks") - (version "1.11.6") + (version "1.11.7") (source (origin (method url-fetch) (uri (cran-uri "ks" version)) (sha256 - (base32 "0hcccjfqnzdxkmnfzq8c5a7yhc138azwyl7rp29d1vl1jawwrwfq")))) + (base32 "1f6jvxy0hmngyvnvrknzbmhl42njk0vqyycvydm4qnp8cqirqvba")))) (build-system r-build-system) (propagated-inputs `(("r-fnn" ,r-fnn) @@ -9753,14 +9744,14 @@ Processing.") (define-public r-waveslim (package (name "r-waveslim") - (version "1.7.5.1") + (version "1.7.5.2") (source (origin (method url-fetch) (uri (cran-uri "waveslim" version)) (sha256 (base32 - "0mky0nb4xxp8rybp87mxw2f1q6k400wpxv01zr4injv7ja6028xk")))) + "166ai4q3mlh3v338si952z7fbgph80h0l4ws6bna8ig5jx81rnmz")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) @@ -9851,13 +9842,13 @@ manipulate tree data.") (define-public r-rvcheck (package (name "r-rvcheck") - (version "0.1.7") + (version "0.1.8") (source (origin (method url-fetch) (uri (cran-uri "rvcheck" version)) (sha256 - (base32 "1a3xlzi4n1rqiapfa180aif7n7nws8pbg8k3nk7ccaczvmni38aw")))) + (base32 "0627bc8qmhxmd63yh6f90qni3qw1zwdpxjln2qbychzmzd4am9ac")))) (build-system r-build-system) (propagated-inputs `(("r-biocmanager" ,r-biocmanager) @@ -10213,14 +10204,14 @@ Touzet and Varre (2007).") (define-public r-rnifti (package (name "r-rnifti") - (version "1.0.1") + (version "1.1.0") (source (origin (method url-fetch) (uri (cran-uri "RNifti" version)) (sha256 (base32 - "0hfid40pgfi1ykqka8y3v0m7h0iyd6fbvycvqlad3ibmbg621f0w")))) + "1z8ninp3aq18w0slcfn8r2fp48cdz8l0k0namsrnvgyp8lzcpqpn")))) (properties `((upstream-name . "RNifti"))) (build-system r-build-system) (propagated-inputs `(("r-rcpp" ,r-rcpp))) @@ -11176,13 +11167,13 @@ Differences with other sparse matrix packages are: (define-public r-fields (package (name "r-fields") - (version "10.0") + (version "10.3") (source (origin (method url-fetch) (uri (cran-uri "fields" version)) (sha256 - (base32 "173zm5vr236ydiq0v27qy0l3x7h9fc7jly38iakg77j26i0a01il")))) + (base32 "12k97vfjlz5h8vynirnvik1nyj1iw25n8xl7awmx9mpd6wvgy2s9")))) (build-system r-build-system) (propagated-inputs `(("r-maps" ,r-maps) @@ -11342,14 +11333,14 @@ dynamical correlation and dynamical covariance.") (define-public r-genenet (package (name "r-genenet") - (version "1.2.13") + (version "1.2.14") (source (origin (method url-fetch) (uri (cran-uri "GeneNet" version)) (sha256 (base32 - "0w52apk0nnr8nsskf26ff7ana8xiksr8wqmkjxzwhzgg7fncm61p")))) + "0cdhrj15rz0w0pyw3r8mikrzsdh95y5i1c0pa3cn0c2bjnjx3x3n")))) (properties `((upstream-name . "GeneNet"))) (build-system r-build-system) (propagated-inputs @@ -11391,14 +11382,14 @@ library.") (define-public r-protviz (package (name "r-protviz") - (version "0.5.1") + (version "0.6.3") (source (origin (method url-fetch) (uri (cran-uri "protViz" version)) (sha256 (base32 - "0cznzm1ijlq33yd5wsa61prav77y2vi698w0n2fx1xcv504c4bjv")))) + "1ldciqh3f43xr9663yyhd9r6qwrg4c4vmkprlcancbnd460wakg7")))) (properties `((upstream-name . "protViz"))) (build-system r-build-system) (propagated-inputs `(("r-rcpp" ,r-rcpp))) @@ -11441,14 +11432,14 @@ JASA, 94:496-509.") (define-public r-etm (package (name "r-etm") - (version "1.0.5") + (version "1.0.5.1") (source (origin (method url-fetch) (uri (cran-uri "etm" version)) (sha256 (base32 - "1yivbq8y0ijcl1m4nir4q9hp4pi6iphwxgjprygsdf7vp98wq677")))) + "0m41pm277sd50pharigcqzr1a2g92wnmdf6fcab6fx16ia2fzrm7")))) (build-system r-build-system) (propagated-inputs `(("r-data-table" ,r-data-table) @@ -11578,14 +11569,14 @@ lasso, adaptive lasso and Ridge regression based on cross-validation.") (define-public r-mcmc (package (name "r-mcmc") - (version "0.9-6") + (version "0.9-6.1") (source (origin (method url-fetch) (uri (cran-uri "mcmc" version)) (sha256 (base32 - "1fc6a6asn53lx7x7pnlb5mb716nv4pcmbp99f1i30y4hzygihfj4")))) + "1i1nhdapyijvm58zx38q28zk01ndmi6smjivxk5xs2cx9b6v2av9")))) (build-system r-build-system) (home-page "http://www.stat.umn.edu/geyer/mcmc/") (synopsis "Markov chain Monte Carlo") @@ -11709,14 +11700,14 @@ machine or distributed on a compute cluster.") (define-public r-rsvd (package (name "r-rsvd") - (version "1.0.2") + (version "1.0.3") (source (origin (method url-fetch) (uri (cran-uri "rsvd" version)) (sha256 (base32 - "0fia77y5fxnhwkcxlgp98ygb8fdfraky75x80hkf7kvvpwc5rzn8")))) + "1fvrw46fl5xb2akaa4mp8nja4h7nn4bdhnjdrk22fsdfqc7hwmhk")))) (build-system r-build-system) (propagated-inputs `(("r-matrix" ,r-matrix))) @@ -11816,20 +11807,17 @@ chosen parallel environment and associated foreach backend.") (define-public r-blockmodeling (package (name "r-blockmodeling") - (version "0.3.4") + (version "0.3.6") (source (origin (method url-fetch) (uri (cran-uri "blockmodeling" version)) (sha256 (base32 - "11v9903y9dwlzaqp8sx0fsibcg82phvappddy37r8lnxd4vchsd2")))) + "12paf76l3wlxad14bkxn37lw9rg6ka473m86wlcf3yhriw8kbaiz")))) (build-system r-build-system) (propagated-inputs - `(("r-doparallel" ,r-doparallel) - ("r-dorng" ,r-dorng) - ("r-foreach" ,r-foreach) - ("r-matrix" ,r-matrix))) + `(("r-matrix" ,r-matrix))) (native-inputs `(("gfortran" ,gfortran))) (home-page "https://cran.r-project.org/web/packages/blockmodeling") (synopsis "Generalized and classical blockmodeling of valued networks") @@ -11997,14 +11985,14 @@ users of rARPACK are advised to switch to the RSpectra package.") (define-public r-compositions (package (name "r-compositions") - (version "1.40-3") + (version "1.40-4") (source (origin (method url-fetch) (uri (cran-uri "compositions" version)) (sha256 (base32 - "103hbmibrf1n333pn4xpll1gqqsv4szms0n5gdq7zak31aar0bg4")))) + "0z40llyij3cc80ac1vzzrpykk6ysp89bn6dyyh40fbnc4anwx69a")))) (build-system r-build-system) (propagated-inputs `(("r-bayesm" ,r-bayesm) @@ -12068,13 +12056,13 @@ such software by imputing dropout events.") (define-public r-gamlss-dist (package (name "r-gamlss-dist") - (version "5.1-5") + (version "5.1-6") (source (origin (method url-fetch) (uri (cran-uri "gamlss.dist" version)) (sha256 - (base32 "1rl7hzdg5xpvaq3yyzwxhsaqzzs0qidi3ibv454fisijgv8l4vqw")))) + (base32 "1p904x0b07z4amaqdn2xhs7qzbq8lisr6lqc844s3pkxzmny7w1z")))) (properties `((upstream-name . "gamlss.dist"))) (build-system r-build-system) (propagated-inputs `(("r-mass" ,r-mass))) @@ -12495,14 +12483,14 @@ compatible with @code{rzmq} are also provided.") (define-public r-repr (package (name "r-repr") - (version "1.0.2") + (version "1.1.0") (source (origin (method url-fetch) (uri (cran-uri "repr" version)) (sha256 (base32 - "0wn9fdddqjgn0bdfl75x89rcxahbgqs324bhg0pfq6va5q2mlbbw")))) + "15jz780w4nd9qjd1g3gq8f5lkh60p2v3ig3hm5kl1rg3z4cf0gvl")))) (build-system r-build-system) (propagated-inputs `(("r-base64enc" ,r-base64enc) @@ -12690,14 +12678,14 @@ return the match results in tidy data frames.") (define-public r-picante (package (name "r-picante") - (version "1.8") + (version "1.8.1") (source (origin (method url-fetch) (uri (cran-uri "picante" version)) (sha256 (base32 - "1bcq2j7fs89c2jib68qq6la67rxyg9raryf162mwvjakpf6k19l1")))) + "1b16zm8zjjsl181b8krkdcrbcw347kf772c4w7y5332qmfi7jhz0")))) (build-system r-build-system) (propagated-inputs `(("r-ape" ,r-ape) @@ -13064,16 +13052,19 @@ univariate class intervals for mapping or other graphics purposes.") (define-public r-spdata (package (name "r-spdata") - (version "0.3.2") + (version "0.3.3") (source (origin (method url-fetch) (uri (cran-uri "spData" version)) (sha256 (base32 - "190msrrpn226x27pcnck4ac34f9k4xcn26cyz2apdri2nzkr6zbw")))) + "1v66qkvsx77hvv5c78v760yp0hknf7xzcjir2ri3ha456mz79yl5")))) (properties `((upstream-name . "spData"))) (build-system r-build-system) + (propagated-inputs + `(("r-raster" ,r-raster) + ("r-sp" ,r-sp))) (home-page "https://github.com/Nowosad/spData") (synopsis "Datasets for spatial analysis") (description @@ -13114,14 +13105,14 @@ sampling.") (define-public r-deldir (package (name "r-deldir") - (version "0.1-23") + (version "0.1-25") (source (origin (method url-fetch) (uri (cran-uri "deldir" version)) (sha256 (base32 - "0790dwxb2mz1ffz8gd5vwdr0if2q76dzy3vab5rsykf9kz72n4g0")))) + "0kdglv8rc1pb4ilcid4xc9wpv5kkj2y6x6wg7919k3hya7mz58ph")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) (home-page "https://cran.r-project.org/web/packages/deldir") @@ -13138,14 +13129,14 @@ tessellation.") (define-public r-sf (package (name "r-sf") - (version "0.8-0") + (version "0.8-1") (source (origin (method url-fetch) (uri (cran-uri "sf" version)) (sha256 (base32 - "05dyq0vcz2f1fl03hk3v1a4nz4s84yyqw4rc9w9cwfq71gvm9qwf")))) + "17wyv74m1ppc3s5jdv60r74jj23nidxpzl46vjhfclfhnpvm7sx9")))) (build-system r-build-system) (inputs `(("gdal" ,gdal) @@ -13271,14 +13262,14 @@ minimum spanning tree and network, and median-joining networks.") (define-public r-rmetasim (package (name "r-rmetasim") - (version "3.1.7") + (version "3.1.14") (source (origin (method url-fetch) (uri (cran-uri "rmetasim" version)) (sha256 (base32 - "0sz4mdprdi6sgkfwfdvh2hr9nxiwq17sw0vggq3cvs7lzb0i6m9r")))) + "0rdkhfgyr97r2d1kd9g8ipb2pn563qxm1y4m9z678q0kqan2ddl0")))) (build-system r-build-system) (propagated-inputs `(("r-ade4" ,r-ade4) @@ -13654,14 +13645,14 @@ that accept short and long options.") (define-public r-wgcna (package (name "r-wgcna") - (version "1.68") + (version "1.69") (source (origin (method url-fetch) (uri (cran-uri "WGCNA" version)) (sha256 (base32 - "1s7gy5vd7x67hpgli8r7ba2z99w3psiyv5hqmrh94zw141dg210a")))) + "022hkprnrafvggi8pkjffkvk1qlnibmbbxxrni00wkrdbga5589f")))) (properties `((upstream-name . "WGCNA"))) (build-system r-build-system) (propagated-inputs @@ -13674,7 +13665,6 @@ that accept short and long options.") ("r-hmisc" ,r-hmisc) ("r-impute" ,r-impute) ("r-rcpp" ,r-rcpp) - ("r-robust" ,r-robust) ("r-survival" ,r-survival) ("r-matrixstats" ,r-matrixstats) ("r-preprocesscore" ,r-preprocesscore))) @@ -14032,14 +14022,14 @@ yeast.") (define-public r-gridgraphics (package (name "r-gridgraphics") - (version "0.4-1") + (version "0.5-0") (source (origin (method url-fetch) (uri (cran-uri "gridGraphics" version)) (sha256 (base32 - "1kr3p54bkv2q7agxrva30y9bkwkiq1k2cfl5z1kvyjv6f5xi4w5p")))) + "0rlyc3xk8kfrfzbfd8n4javq3yxqd7lsfmi4q5n6s61srnrl6c1r")))) (properties `((upstream-name . "gridGraphics"))) (build-system r-build-system) (home-page "https://github.com/pmur002/gridgraphics") @@ -14274,14 +14264,14 @@ databases, including ENA, PDB or ChEMBL are also accessible.") (define-public r-ggraph (package (name "r-ggraph") - (version "2.0.0") + (version "2.0.1") (source (origin (method url-fetch) (uri (cran-uri "ggraph" version)) (sha256 (base32 - "0qj7w3af0pgmd9mil6y571jikfkln7b8csvzg6b08spwbglfy1s3")))) + "0q2yqsb981a2arf9j530kqs61vw38ixyxbhb6yvv7skgbck02r6y")))) (build-system r-build-system) (propagated-inputs `(("r-digest" ,r-digest) @@ -14872,14 +14862,14 @@ provides tools to compute this metric.") (define-public r-lintr (package (name "r-lintr") - (version "2.0.0") + (version "2.0.1") (source (origin (method url-fetch) (uri (cran-uri "lintr" version)) (sha256 (base32 - "09gbci4v5n4gsfzminly8332fw7faxdi1kkyvpa10dydx02sjcwb")))) + "14yfh641afg6griaadbdciyr3k94fl55s055qwzghgk5gdsj61zy")))) (properties `((upstream-name . "lintr"))) (build-system r-build-system) (propagated-inputs @@ -14892,7 +14882,6 @@ provides tools to compute this metric.") ("r-knitr" ,r-knitr) ("r-rex" ,r-rex) ("r-rstudioapi" ,r-rstudioapi) - ("r-stringdist" ,r-stringdist) ("r-testthat" ,r-testthat) ("r-xml2" ,r-xml2) ("r-xmlparsedata" ,r-xmlparsedata))) @@ -14937,20 +14926,21 @@ batch correction, and data correction.") (define-public r-styler (package (name "r-styler") - (version "1.2.0") + (version "1.3.2") (source (origin (method url-fetch) (uri (cran-uri "styler" version)) (sha256 (base32 - "0rdbz60x8bymis6r6188ia1y0ip3nhf5y363i4cmakr618irjab9")))) + "1waglhsy2c53qjgd2qhlzda3z0lbzbwx9fkrfhac41y6h91mgkrz")))) (build-system r-build-system) (propagated-inputs `(("r-backports" ,r-backports) ("r-cli" ,r-cli) ("r-magrittr" ,r-magrittr) ("r-purrr" ,r-purrr) + ("r-r-cache" ,r-r-cache) ("r-rematch2" ,r-rematch2) ("r-rlang" ,r-rlang) ("r-rprojroot" ,r-rprojroot) @@ -15142,14 +15132,14 @@ engine (Salmon et al., 2011) as provided by the package @code{sitmo}.") (define-public r-dalex (package (name "r-dalex") - (version "0.4.9") + (version "1.0.1") (source (origin (method url-fetch) (uri (cran-uri "DALEX" version)) (sha256 (base32 - "1zviaf7530v8w996lbma0vplabrapgwldi7h70pr0439sxaqd421")))) + "1jbyn57vn6d281a5y15h5d8ljin8cdb9lr7lbgggc950blyfv4g0")))) (properties `((upstream-name . "DALEX"))) (build-system r-build-system) (propagated-inputs `(("r-ggplot2" ,r-ggplot2))) @@ -15522,14 +15512,14 @@ computed using the L1 (Manhattan, taxicab) metric.") (define-public r-leiden (package (name "r-leiden") - (version "0.3.2") + (version "0.3.3") (source (origin (method url-fetch) (uri (cran-uri "leiden" version)) (sha256 (base32 - "0kf6fxqf5l5vilm9g7vspc18daw84cwhpafs5szb1skwd6vrfdzw")))) + "1hh6bmbz6cpqwl4i94gxylgv9x92zbqdg81r8r4ymfy8c70f3df2")))) (properties `((upstream-name . "leiden"))) (build-system r-build-system) (propagated-inputs @@ -15842,14 +15832,14 @@ cell RNA-seq experiments.") (define-public r-assertr (package (name "r-assertr") - (version "2.6") + (version "2.7") (source (origin (method url-fetch) (uri (cran-uri "assertr" version)) (sha256 (base32 - "0g4ii6vhp0155a29ljhs64a09x0nzy5ybvwwchhk4mkcgsvnvfkj")))) + "1x868pd4dac1c7b1q5390wqh2f6s50km8nqcpim3nxcj2l4qkqdb")))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) @@ -15869,14 +15859,14 @@ in pipelines.") (define-public r-parameters (package (name "r-parameters") - (version "0.4.1") + (version "0.5.0") (source (origin (method url-fetch) (uri (cran-uri "parameters" version)) (sha256 (base32 - "0xkdn1079sr6kgyhc1zmn9imca4bghnxs3f91h0z7vkzjj73qdbi")))) + "19cblrq079svp5j3wgikw5fsdbsp1w0f2llm7kcf1rg5w1aagjr7")))) (properties `((upstream-name . "parameters"))) (build-system r-build-system) (propagated-inputs @@ -16073,14 +16063,14 @@ porting.") (define-public r-subplex (package (name "r-subplex") - (version "1.5-4") + (version "1.6") (source (origin (method url-fetch) (uri (cran-uri "subplex" version)) (sha256 (base32 - "10cbgbx1bgsax5z7gz6716g360xpq4mvq19cf4qqrxv02mmwz57z")))) + "1yfbfjvpbhgky7vihw3f4jl41pxpqb39z4nc045d5z7z48bdl18d")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) @@ -16147,14 +16137,14 @@ structural data.") (define-public r-bios2cor (package (name "r-bios2cor") - (version "2.0") + (version "2.1") (source (origin (method url-fetch) (uri (cran-uri "Bios2cor" version)) (sha256 (base32 - "1rrz0vs6wbkwys3l5jv1rdnlhyb4r1q9pv7jlnmsx6c1b4f4vz5n")))) + "04wk1cjrrxhpv1kdhd67r1qvjv268xxi0z0r105wy912110z9m6x")))) (properties `((upstream-name . "Bios2cor"))) (build-system r-build-system) (propagated-inputs @@ -16401,14 +16391,14 @@ simulation.") (define-public r-abcrlda (package (name "r-abcrlda") - (version "1.0.1") + (version "1.0.2") (source (origin (method url-fetch) (uri (cran-uri "abcrlda" version)) (sha256 (base32 - "0j29ifsvmxfx2g6v4bpbb4s6miwfpf4vlkpbgj6f2q078s4clc85")))) + "0zjdrbg3zx0znqnh0dvmifs9c12b8vjhbaf3nbwab9xh25nsmg75")))) (properties `((upstream-name . "abcrlda"))) (build-system r-build-system) (home-page "https://ieeexplore.ieee.org/document/8720003/") @@ -16559,14 +16549,14 @@ package.") (define-public r-showtext (package (name "r-showtext") - (version "0.7") + (version "0.7-1") (source (origin (method url-fetch) (uri (cran-uri "showtext" version)) (sha256 (base32 - "1ihgqzfia36b0n9aa41p1w98wxxvs1lxh1zz0570hbfqmph1sk73")))) + "0a5gg72bfrc7wm0phj1aflj1wc08kfi81ac32na6ya9s2ivyimw5")))) (properties `((upstream-name . "showtext"))) (build-system r-build-system) (inputs @@ -16771,7 +16761,7 @@ experienced.") (inputs `(("tcl" ,tcl) ("tk" ,tk))) - (home-page "http://www.sciviews.org/SciViews-R") + (home-page "https://www.sciviews.org/SciViews-R") (synopsis "Tcl/Tk additions") (description "This package provides a series of additional Tcl commands and Tk widgets @@ -16980,14 +16970,14 @@ on Linear Recurrences Modulo 2'', ACM Transactions on Mathematical Software.") (define-public r-randtoolbox (package (name "r-randtoolbox") - (version "1.30.0") + (version "1.30.1") (source (origin (method url-fetch) (uri (cran-uri "randtoolbox" version)) (sha256 (base32 - "141p13ajgzmb2s89rlac7zrra92mi1izvpfrngb4kqzlf3igdsqd")))) + "0qg20ar6qns858jdzqhmfq7yji81czhr6cim257958gqpj66sn95")))) (properties `((upstream-name . "randtoolbox"))) (build-system r-build-system) (propagated-inputs @@ -17038,14 +17028,14 @@ Latin Hypercube Samples.") (define-public r-acebayes (package (name "r-acebayes") - (version "1.8") + (version "1.9") (source (origin (method url-fetch) (uri (cran-uri "acebayes" version)) (sha256 (base32 - "1xm6bw0qm2vlcrk274x0bawzb2lnacb1wsmzba5mg3i75a55pqln")))) + "1imfwm1vpbb24vfmfn1nljhmaz8429mwjihw34892p387s8h7xz2")))) (properties `((upstream-name . "acebayes"))) (build-system r-build-system) (propagated-inputs @@ -17145,14 +17135,14 @@ models.") (define-public r-gamlss (package (name "r-gamlss") - (version "5.1-5") + (version "5.1-6") (source (origin (method url-fetch) (uri (cran-uri "gamlss" version)) (sha256 (base32 - "0gcngfck0dk2rhjg0z1fnc61dqs0s049jy2rkywaf57531s2k8bc")))) + "16b7ick1khvldbvfmmpw9cjs1vznnrisvifq7717fxzd8c9s5jdr")))) (properties `((upstream-name . "gamlss"))) (build-system r-build-system) (propagated-inputs @@ -17871,14 +17861,14 @@ allowed.") (define-public r-gdina (package (name "r-gdina") - (version "2.7.8") + (version "2.7.9") (source (origin (method url-fetch) (uri (cran-uri "GDINA" version)) (sha256 (base32 - "1aj2ssd7vpszl7p22srkkkpx4a7gkc38vrv3bq7j1zr32096y4zj")))) + "13pmj069r04h38hg61ibyn1ab15zdy9m0qv60vi25ahgsmg6ccvx")))) (properties `((upstream-name . "GDINA"))) (build-system r-build-system) (propagated-inputs @@ -17962,14 +17952,14 @@ poverty measures. It provides both empirical and theoretical Lorenz curves.") (define-public r-actfrag (package (name "r-actfrag") - (version "0.1.0") + (version "0.1.1") (source (origin (method url-fetch) (uri (cran-uri "ActFrag" version)) (sha256 (base32 - "06l5a679j6289008ls57v420mnzpq9a4ln7svi5bh0vpvws7sr9d")))) + "08r3gwjz4fkyy85dxqix0ffm5xyq45032qv3snnzxnlqxslxbqn1")))) (properties `((upstream-name . "ActFrag"))) (build-system r-build-system) (propagated-inputs @@ -17989,14 +17979,14 @@ actigraphy-measured activity counts data.") (define-public r-fda (package (name "r-fda") - (version "2.4.8") + (version "2.4.8.1") (source (origin (method url-fetch) (uri (cran-uri "fda" version)) (sha256 (base32 - "0n39rzbhg1hipzn51rzmbchn2358qgapg08iv7lmiqj5y7i9qns2")))) + "0g50kj1dx7zarjv0lgwyzd2c7bv6di7nkndmywday5vjywgl8m7a")))) (properties `((upstream-name . "fda"))) (build-system r-build-system) (propagated-inputs @@ -18013,19 +18003,18 @@ examples.") (define-public r-actigraphy (package (name "r-actigraphy") - (version "1.3.2") + (version "1.4.0") (source (origin (method url-fetch) (uri (cran-uri "Actigraphy" version)) (sha256 (base32 - "0y0ccmxhdfhdmi4k6pbfvnqknkqbgvfsf2qf7z7rc4xpfgym6574")))) + "0bpmvszzv5fm72nar3wgnmfl5am7znqfajmlbv38ihkbi7jbwk20")))) (properties `((upstream-name . "Actigraphy"))) (build-system r-build-system) (propagated-inputs - `(("r-fda" ,r-fda) - ("r-sdmtools" ,r-sdmtools))) + `(("r-fda" ,r-fda))) (home-page "https://cran.r-project.org/web/packages/Actigraphy/") (synopsis "Actigraphy data analysis") (description @@ -18305,14 +18294,14 @@ number embedded in the file rather than the file extension.") (define-public r-imager (package (name "r-imager") - (version "0.41.2") + (version "0.42.1") (source (origin (method url-fetch) (uri (cran-uri "imager" version)) (sha256 (base32 - "19fqgjhg04garbipx20g72h9dd6k0jj4ac48nby6km4h665vrs4v")))) + "1d7a49lcna77wyfjf5q1b89jck3p3vnysnkgz4drb0qkpy6hz76b")))) (properties `((upstream-name . "imager"))) (build-system r-build-system) (inputs @@ -18321,12 +18310,10 @@ number embedded in the file rather than the file extension.") ("libx11" ,libx11) ("zlib" ,zlib))) (propagated-inputs - `(("r-cairo" ,r-cairo) - ("r-downloader" ,r-downloader) + `(("r-downloader" ,r-downloader) ("r-igraph" ,r-igraph) ("r-jpeg" ,r-jpeg) ("r-magrittr" ,r-magrittr) - ("r-plyr" ,r-plyr) ("r-png" ,r-png) ("r-purrr" ,r-purrr) ("r-rcpp" ,r-rcpp) @@ -18478,18 +18465,19 @@ used in outliers detection.") (define-public r-tolerance (package (name "r-tolerance") - (version "1.3.0") + (version "2.0.0") (source (origin (method url-fetch) (uri (cran-uri "tolerance" version)) (sha256 (base32 - "17qh4ad1f3fbcpwlxxqh8qr9bnwjcl4yxk0l3fkbr6b2l4rc5p86")))) + "001snzr2ipag3zprynydlbi9prkjzrllc054qh7m0qwkb3r19jjd")))) (properties `((upstream-name . "tolerance"))) (build-system r-build-system) (propagated-inputs - `(("r-rgl" ,r-rgl))) + `(("r-mass" ,r-mass) + ("r-rgl" ,r-rgl))) (home-page "https://cran.r-project.org/web/packages/tolerance/") (synopsis "Statistical tolerance intervals and regions") (description @@ -18558,14 +18546,14 @@ cluster stability.") (define-public r-biclust (package (name "r-biclust") - (version "2.0.1") + (version "2.0.2") (source (origin (method url-fetch) (uri (cran-uri "biclust" version)) (sha256 (base32 - "1y5n6wfa1lx88ck3x09rcg0dh3pw89225h85hmq2la1s1fpa48i0")))) + "1pk7mvwlg4hkc4cn4w6wr2c192qx03d1xfwlzclk5bw1nmcg483b")))) (properties `((upstream-name . "biclust"))) (build-system r-build-system) (propagated-inputs @@ -19259,3 +19247,1447 @@ are followed and which ones are not) from one package and use it to check another. This makes it easier to find and correct the most important problems first.") (license license:gpl3))) + +(define-public r-fracdiff + (package + (name "r-fracdiff") + (version "1.5-1") + (source + (origin + (method url-fetch) + (uri (cran-uri "fracdiff" version)) + (sha256 + (base32 + "1dhfjlhr9sb38qgpsx0sm73l9lgc13d0fk32l7fmjfnalhr3n45q")))) + (properties `((upstream-name . "fracdiff"))) + (build-system r-build-system) + (home-page "https://github.com/mmaechler/fracdiff") + (synopsis + "Fractionally differenced ARIMA aka ARFIMA(P,d,q) models") + (description + "This package provides tools for the maximum likelihood estimation of the +parameters of a fractionally differenced ARIMA(p,d,q) model (Haslett and +Raftery, Appl.Statistics, 1989); it includes inference and basic methods.") + (license license:gpl2+))) + +(define-public r-forecast + (package + (name "r-forecast") + (version "8.11") + (source + (origin + (method url-fetch) + (uri (cran-uri "forecast" version)) + (sha256 + (base32 + "0ayidhnk9cxav2qi83jrvqlg2jh4zlf4lki4xw48gdqsmjvih9x1")))) + (properties `((upstream-name . "forecast"))) + (build-system r-build-system) + (propagated-inputs + `(("r-colorspace" ,r-colorspace) + ("r-fracdiff" ,r-fracdiff) + ("r-ggplot2" ,r-ggplot2) + ("r-lmtest" ,r-lmtest) + ("r-magrittr" ,r-magrittr) + ("r-nnet" ,r-nnet) + ("r-rcpp" ,r-rcpp) + ("r-rcpparmadillo" ,r-rcpparmadillo) + ("r-timedate" ,r-timedate) + ("r-tseries" ,r-tseries) + ("r-urca" ,r-urca) + ("r-zoo" ,r-zoo))) + (native-inputs + `(("r-knitr" ,r-knitr))) ; needed for vignettes + (home-page "https://pkg.robjhyndman.com/forecast/") + (synopsis "Forecasting functions for time series and linear models") + (description + "This package provides methods and tools for displaying and analysing +univariate time series forecasts including exponential smoothing via state +space models and automatic ARIMA modelling.") + (license license:gpl3))) + +(define-public r-xmisc + (package + (name "r-xmisc") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "Xmisc" version)) + (sha256 + (base32 + "11gwlcyxhz1p50m68cnqrxmisdk99v8vrsbvyr7k67f0kvsznzs1")))) + (properties `((upstream-name . "Xmisc"))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/package=Xmisc") + (synopsis + "Xiaobei's miscellaneous classes and functions") + (description + "This package provides Xiaobei's miscellaneous classes and functions, +which are useful when developing R packages for @dfn{object oriented +programming} (OOP) using R Reference Class.") + (license license:gpl2+))) + +(define-public r-proxyc + (package + (name "r-proxyc") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (cran-uri "proxyC" version)) + (sha256 + (base32 + "159bc42x4shm6n3rh9fc8ziv3ivq0ipmpbasrh279hhn1prc8gg6")))) + (properties `((upstream-name . "proxyC"))) + (build-system r-build-system) + (propagated-inputs + `(("r-matrix" ,r-matrix) + ("r-rcpp" ,r-rcpp) + ("r-rcpparmadillo" ,r-rcpparmadillo) + ("r-rcppparallel" ,r-rcppparallel))) + (home-page "https://cran.r-project.org/package=proxyC") + (synopsis "Compute proximity in large sparse matrices") + (description + "This package provides efficient tools to compute the proximity between +rows or columns of large matrices. Functions are optimised for large sparse +matrices using the Armadillo and Intel TBB libraries. Among several built-in +similarity/distance measures, computation of correlation, cosine similarity +and Euclidean distance is particularly fast.") + (license license:gpl3))) + +(define-public r-isocodes + (package + (name "r-isocodes") + (version "2019.12.22") + (source + (origin + (method url-fetch) + (uri (cran-uri "ISOcodes" version)) + (sha256 + (base32 + "1k2f2258bwzs0b3nxma9kcw395qkljvk514a7047rx4dn0iwd874")))) + (properties `((upstream-name . "ISOcodes"))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/package=ISOcodes") + (synopsis "Selected ISO codes") + (description + "This package provides ISO language, territory, currency, script and +character codes. It provides ISO 639 language codes, ISO 3166 territory +codes, ISO 4217 currency codes, ISO 15924 script codes, and the ISO 8859 +character codes as well as the UN M.49 area codes.") + (license license:gpl2))) + +(define-public r-stopwords + (package + (name "r-stopwords") + (version "1.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "stopwords" version)) + (sha256 + (base32 + "1nmi0bpd0c238g5b8ch1v034m5ng9llhs519cgxdrj3sh9fplwlv")))) + (properties `((upstream-name . "stopwords"))) + (build-system r-build-system) + (propagated-inputs `(("r-isocodes" ,r-isocodes))) + (home-page "https://github.com/quanteda/stopwords") + (synopsis "Multilingual stopword lists") + (description + "This package provides multiple sources of stopwords, for use in text +analysis and natural language processing.") + (license license:expat))) + +(define-public r-spacyr + (package + (name "r-spacyr") + (version "1.2.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "spacyr" version)) + (sha256 + (base32 + "1b2ccgwsiqkvp7w37x8k7699c676q16vfrybkrfvyczyhki4s6nw")))) + (properties `((upstream-name . "spacyr"))) + (build-system r-build-system) + (propagated-inputs + `(("r-data-table" ,r-data-table) + ("r-reticulate" ,r-reticulate))) + (home-page "https://spacyr.quanteda.io") + (synopsis "R wrapper for the spaCy NLP library") + (description + "This package provides an R wrapper to the Python @dfn{natural language +processing} (NLP) library @code{spaCy}, from @url{http://spacy.io}.") + (license license:gpl3))) + +(define-public r-snowballc + (package + (name "r-snowballc") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "SnowballC" version)) + (sha256 + (base32 + "0b7pqdavf5jbf8si4ybnii5fff39p3b1rb5rym05j8s48hs7sqb1")))) + (properties `((upstream-name . "SnowballC"))) + (build-system r-build-system) + (home-page "https://r-forge.r-project.org/projects/r-temis/") + (synopsis "Snowball stemmers based on the C libstemmer UTF-8 library") + (description + "This package provides an R interface to the C @code{libstemmer} library +that implements Porter's word stemming algorithm for collapsing words to a +common root to aid comparison of vocabulary. Currently supported languages +are Danish, Dutch, English, Finnish, French, German, Hungarian, Italian, +Norwegian, Portuguese, Romanian, Russian, Spanish, Swedish and Turkish.") + (license license:bsd-3))) + +(define-public r-quanteda + (package + (name "r-quanteda") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "quanteda" version)) + (sha256 + (base32 + "0snr610vahbdqkmma0zy5mg5qbb6n1b8sgsclqb2sccn1gg38vyy")))) + (properties `((upstream-name . "quanteda"))) + (build-system r-build-system) + (propagated-inputs + `(("r-data-table" ,r-data-table) + ("r-extrafont" ,r-extrafont) + ("r-fastmatch" ,r-fastmatch) + ("r-ggplot2" ,r-ggplot2) + ("r-ggrepel" ,r-ggrepel) + ("r-jsonlite" ,r-jsonlite) + ("r-magrittr" ,r-magrittr) + ("r-matrix" ,r-matrix) + ("r-network" ,r-network) + ("r-proxyc" ,r-proxyc) + ("r-rcpp" ,r-rcpp) + ("r-rcpparmadillo" ,r-rcpparmadillo) + ("r-rcppparallel" ,r-rcppparallel) + ("r-sna" ,r-sna) + ("r-snowballc" ,r-snowballc) + ("r-stopwords" ,r-stopwords) + ("r-stringi" ,r-stringi) + ("r-xml2" ,r-xml2) + ("r-yaml" ,r-yaml))) + (home-page "https://quanteda.io") + (synopsis "Quantitative analysis of textual data") + (description + "This package provides a fast, flexible, and comprehensive framework for +quantitative text analysis in R. It provides functionality for corpus +management, creating and manipulating tokens and ngrams, exploring keywords in +context, forming and manipulating sparse matrices of documents by features and +feature co-occurrences, analyzing keywords, computing feature similarities and +distances, applying content dictionaries, applying supervised and unsupervised +machine learning, visually representing text and text analyses, and more.") + (license license:gpl3))) + +(define-public r-topicmodels + (package + (name "r-topicmodels") + (version "0.2-9") + (source + (origin + (method url-fetch) + (uri (cran-uri "topicmodels" version)) + (sha256 + (base32 + "1757r5x8bsl4dk106xg6481mvdkdz9vwg87n7rpbvdkavsvhyxs0")))) + (properties `((upstream-name . "topicmodels"))) + (build-system r-build-system) + (native-inputs + `(("gsl" ,gsl))) + (propagated-inputs + `(("r-modeltools" ,r-modeltools) + ("r-slam" ,r-slam) + ("r-tm" ,r-tm))) + (home-page "https://cran.r-project.org/package=topicmodels") + (synopsis "Topic models") + (description + "This package provides an interface to the C code for @dfn{Latent +Dirichlet Allocation} (LDA) models and @dfn{Correlated Topics Models} (CTM) by +David M. Blei and co-authors and the C++ code for fitting LDA models using +Gibbs sampling by Xuan-Hieu Phan and co-authors.") + (license license:gpl2))) + +(define-public r-stm + (package + (name "r-stm") + (version "1.3.5") + (source + (origin + (method url-fetch) + (uri (cran-uri "stm" version)) + (sha256 + (base32 + "1yyfxaxqc6yq0yq68zhdnhpwpvsyp71dlmivn7zxixfmp932s6cn")))) + (properties `((upstream-name . "stm"))) + (build-system r-build-system) + (propagated-inputs + `(("r-data-table" ,r-data-table) + ("r-glmnet" ,r-glmnet) + ("r-lda" ,r-lda) + ("r-matrix" ,r-matrix) + ("r-matrixstats" ,r-matrixstats) + ("r-quadprog" ,r-quadprog) + ("r-quanteda" ,r-quanteda) + ("r-rcpp" ,r-rcpp) + ("r-rcpparmadillo" ,r-rcpparmadillo) + ("r-slam" ,r-slam) + ("r-stringr" ,r-stringr))) + (home-page "http://www.structuraltopicmodel.com/") + (synopsis "Estimation of the Structural Topic Model") + (description + "The @dfn{Structural Topic Model} (STM) allows researchers to estimate +topic models with document-level covariates. The package also includes tools +for model selection, visualization, and estimation of topic-covariate +regressions.") + (license license:expat))) + +(define-public r-polycor + (package + (name "r-polycor") + (version "0.7-10") + (source + (origin + (method url-fetch) + (uri (cran-uri "polycor" version)) + (sha256 + (base32 + "0wzwzklflbhi8sv9m7ijwr16v9zmkk0j0v4pbcpf32f8lbn3psna")))) + (properties `((upstream-name . "polycor"))) + (build-system r-build-system) + (propagated-inputs + `(("r-matrix" ,r-matrix) + ("r-mvtnorm" ,r-mvtnorm))) + (home-page "https://r-forge.r-project.org/projects/polycor/") + (synopsis "Polychoric and polyserial correlations") + (description + "This package provides tools to compute polychoric and polyserial +correlations by quick \"two-step\" methods or ML, optionally with standard +errors; tetrachoric and biserial correlations are special cases.") + (license license:gpl2+))) + +(define-public r-msm + (package + (name "r-msm") + (version "1.6.8") + (source + (origin + (method url-fetch) + (uri (cran-uri "msm" version)) + (sha256 + (base32 + "1d32y8f0vb2dfv3999liigpns788j145nrvd1xpxb9i2lsg8mwgk")))) + (properties `((upstream-name . "msm"))) + (build-system r-build-system) + (propagated-inputs + `(("r-expm" ,r-expm) + ("r-mvtnorm" ,r-mvtnorm) + ("r-survival" ,r-survival))) + (home-page "https://github.com/chjackson/msm") + (synopsis "Multi-state Markov and hidden Markov models in continuous time") + (description + "This package provides functions for fitting continuous-time Markov and +hidden Markov multi-state models to longitudinal data. It was designed for +processes observed at arbitrary times in continuous time (panel data) but some +other observation schemes are supported. Both Markov transition rates and the +hidden Markov output process can be modelled in terms of covariates, which may +be constant or piecewise-constant in time.") + (license license:gpl2+))) + +(define-public r-ltm + (package + (name "r-ltm") + (version "1.1-1") + (source + (origin + (method url-fetch) + (uri (cran-uri "ltm" version)) + (sha256 + (base32 + "1qrgzwx5l58qf5rfp1knxc84r0g943q5sdr3ky74zzwpnmrf2vf7")))) + (properties `((upstream-name . "ltm"))) + (build-system r-build-system) + (propagated-inputs + `(("r-mass" ,r-mass) + ("r-msm" ,r-msm) + ("r-polycor" ,r-polycor))) + (home-page "https://github.com/drizopoulos/ltm") + (synopsis "Latent trait models under IRT") + (description + "This is a package supporting the analysis of multivariate dichotomous +and polytomous data using latent trait models under the Item Response Theory +approach. It includes the Rasch, the Two-Parameter Logistic, the Birnbaum's +Three-Parameter, the Graded Response, and the Generalized Partial Credit +Models.") + (license license:gpl2+))) + +(define-public r-mi + (package + (name "r-mi") + (version "1.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "mi" version)) + (sha256 + (base32 + "1h47k5mpbvhid83277dvvj2di493bgzz9iarpyv3r30y219l7x1l")))) + (properties `((upstream-name . "mi"))) + (build-system r-build-system) + (propagated-inputs + `(("r-arm" ,r-arm) + ("r-matrix" ,r-matrix))) + (home-page "http://www.stat.columbia.edu/~gelman/") + (synopsis "Missing data imputation and model checking") + (description + "This package provides functions for data manipulation, imputing missing +values in an approximate Bayesian framework, diagnostics of the models used to +generate the imputations, confidence-building mechanisms to validate some of +the assumptions of the imputation algorithm, and functions to analyze multiply +imputed data sets with the appropriate degree of sampling uncertainty.") + (license license:gpl2+))) + +(define-public r-matrixcalc + (package + (name "r-matrixcalc") + (version "1.0-3") + (source + (origin + (method url-fetch) + (uri (cran-uri "matrixcalc" version)) + (sha256 + (base32 + "1c4w9dhi5w98qj1wwh9bbpnfk39rhiwjbanalr8bi5nmxkpcmrhp")))) + (properties `((upstream-name . "matrixcalc"))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/matrixcalc/") + (synopsis "Collection of functions for matrix calculations") + (description + "This package provides a collection of functions to support matrix +calculations for probability, econometric and numerical analysis. There are +additional functions that are comparable to APL functions which are useful for +actuarial models such as pension mathematics.") + (license license:gpl2+))) + +(define-public r-sem + (package + (name "r-sem") + (version "3.1-9") + (source + (origin + (method url-fetch) + (uri (cran-uri "sem" version)) + (sha256 + (base32 + "1f9c6g6pfx66gd2pappcsqh484ah6a0x4z47hpd46rah0817hcsa")))) + (properties `((upstream-name . "sem"))) + (build-system r-build-system) + (propagated-inputs + `(("r-boot" ,r-boot) + ("r-mass" ,r-mass) + ("r-matrixcalc" ,r-matrixcalc) + ("r-mi" ,r-mi))) + (home-page "https://cran.r-project.org/package=sem") + (synopsis "Structural equation models") + (description + "This package provides functions for fitting general linear structural +equation models (with observed and latent variables) using the RAM approach, +and for fitting structural equations in observed-variable models by two-stage +least squares.") + (license license:gpl2+))) + +(define-public r-semtools + (package + (name "r-semtools") + (version "0.5-2") + (source + (origin + (method url-fetch) + (uri (cran-uri "semTools" version)) + (sha256 + (base32 + "1zj841pszfsikzp82cmh463qyc4xhdrqjqcnhc2r8mcflv12irv6")))) + (properties `((upstream-name . "semTools"))) + (build-system r-build-system) + (propagated-inputs + `(("r-lavaan" ,r-lavaan))) + (home-page "https://github.com/simsem/semTools/wiki") + (synopsis "Useful tools for structural equation modeling") + (description + "This package provides useful tools for structural equation modeling.") + (license license:gpl2+))) + +(define-public r-regsem + (package + (name "r-regsem") + (version "1.5.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "regsem" version)) + (sha256 + (base32 + "0ch057010xfsw0nqcsarzakdbiplvxaldyqlbbacspqs65ax1yk7")))) + (properties `((upstream-name . "regsem"))) + (build-system r-build-system) + (propagated-inputs + `(("r-lavaan" ,r-lavaan) + ("r-rcpp" ,r-rcpp) + ("r-rcpparmadillo" ,r-rcpparmadillo) + ("r-rsolnp" ,r-rsolnp))) + (home-page "https://cran.r-project.org/package=regsem") + (synopsis "Regularized structural equation modeling") + (description + "This package uses both ridge and lasso penalties (and extensions) to +penalize specific parameters in structural equation models. The package +offers additional cost functions, cross validation, and other extensions +beyond traditional structural equation models. It also contains a function to +perform @dfn{exploratory mediation} (XMed).") + (license license:gpl2+))) + +(define-public r-stanheaders + (package + (name "r-stanheaders") + (version "2.19.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "StanHeaders" version)) + (sha256 + (base32 + "0cmk0fzczx7dcywcw1dhm6gfq84qlsx77qrsk4z3bf3dhr4bznam")))) + (properties `((upstream-name . "StanHeaders"))) + (build-system r-build-system) + (inputs `(("pandoc" ,ghc-pandoc))) + (native-inputs + `(("gfortran" ,gfortran) + ("r-knitr" ,r-knitr))) ; for vignettes + (home-page "https://mc-stan.org/") + (synopsis "C++ header files for Stan") + (description + "The C++ header files of the Stan project are provided by this package. +There is a shared object containing part of the @code{CVODES} library, but it +is not accessible from R. @code{r-stanheaders} is only useful for developers +who want to utilize the @code{LinkingTo} directive of their package's +DESCRIPTION file to build on the Stan library without incurring unnecessary +dependencies. + +The Stan project develops a probabilistic programming language that implements +full or approximate Bayesian statistical inference via Markov Chain Monte +Carlo or variational methods and implements (optionally penalized) maximum +likelihood estimation via optimization. The Stan library includes an advanced +automatic differentiation scheme, templated statistical and linear algebra +functions that can handle the automatically differentiable scalar types (and +doubles, ints, etc.), and a parser for the Stan language. The @code{r-rstan} +package provides user-facing R functions to parse, compile, test, estimate, +and analyze Stan models.") + (license license:bsd-3))) + +(define-public r-rpf + (package + (name "r-rpf") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (cran-uri "rpf" version)) + (sha256 + (base32 + "1i2kqd7nx55nn35qnw89xmnqk23x9c8xhkh736c2xg7k2ai84ybl")))) + (properties `((upstream-name . "rpf"))) + (build-system r-build-system) + (propagated-inputs + `(("r-lifecycle" ,r-lifecycle) + ("r-mvtnorm" ,r-mvtnorm) + ("r-rcpp" ,r-rcpp) + ("r-rcppeigen" ,r-rcppeigen))) + (home-page "https://github.com/jpritikin/rpf") + (synopsis "Response probability functions") + (description + "The purpose of this package is to factor out logic and math common to +Item Factor Analysis fitting, diagnostics, and analysis. It is envisioned as +core support code suitable for more specialized IRT packages to build upon. +Complete access to optimized C functions is made available with +@code{R_RegisterCCallable()}.") + (license license:gpl3+))) + +(define-public r-openmx + (package + (name "r-openmx") + (version "2.17.3") + (source + (origin + (method url-fetch) + (uri (cran-uri "OpenMx" version)) + (sha256 + (base32 + "1s2pcg281ag3qz2wz8yi826f2d3kj3qg916js7zz0nsrljcyv5bc")))) + (properties `((upstream-name . "OpenMx"))) + (build-system r-build-system) + (propagated-inputs + `(("r-bh" ,r-bh) + ("r-digest" ,r-digest) + ("r-mass" ,r-mass) + ("r-matrix" ,r-matrix) + ("r-rcpp" ,r-rcpp) + ("r-rcppeigen" ,r-rcppeigen) + ("r-rpf" ,r-rpf) + ("r-stanheaders" ,r-stanheaders))) + (native-inputs `(("gfortran" ,gfortran))) + (home-page "http://openmx.ssri.psu.edu") + (synopsis "Extended structural equation modelling") + (description + "This package allows for the estimation of a wide variety of advanced +multivariate statistical models. It consists of a library of functions and +optimizers that allow you to quickly and flexibly define an SEM model and +estimate parameters given observed data.") + (license license:asl2.0))) + +(define-public r-kutils + (package + (name "r-kutils") + (version "1.69") + (source + (origin + (method url-fetch) + (uri (cran-uri "kutils" version)) + (sha256 + (base32 + "12pg26a85h0jxlfcyai68dbh4bq1gnq8v1ngi8k9qvafbrpc6gx8")))) + (properties `((upstream-name . "kutils"))) + (build-system r-build-system) + (propagated-inputs + `(("r-foreign" ,r-foreign) + ("r-lavaan" ,r-lavaan) + ("r-openxlsx" ,r-openxlsx) + ("r-plyr" ,r-plyr) + ("r-runit" ,r-runit) + ("r-xtable" ,r-xtable))) + (home-page "https://cran.r-project.org/package=kutils") + (synopsis "Project management tools") + (description + "This package provides tools for data importation, recoding, and +inspection. There are functions to create new project folders, R code +templates, create uniquely named output directories, and to quickly obtain a +visual summary for each variable in a data frame. The main feature here is +the systematic implementation of the \"variable key\" framework for data +importation and recoding.") + (license license:gpl2))) + +(define-public r-rockchalk + (package + (name "r-rockchalk") + (version "1.8.144") + (source + (origin + (method url-fetch) + (uri (cran-uri "rockchalk" version)) + (sha256 + (base32 + "07dp1n155b9gfvk8l30h6bhjbhbylsjxfzns08mryn4mxj3nqpnb")))) + (properties `((upstream-name . "rockchalk"))) + (build-system r-build-system) + (propagated-inputs + `(("r-cardata" ,r-cardata) + ("r-kutils" ,r-kutils) + ("r-lme4" ,r-lme4) + ("r-mass" ,r-mass))) + (home-page "https://cran.r-project.org/package=rockchalk") + (synopsis "Regression estimation and presentation") + (description + "This package provides a collection of functions for interpretation and +presentation of regression analysis. These functions are used to produce the +statistics lectures in @url{http://pj.freefaculty.org/guides}. The package +includes regression diagnostics, regression tables, and plots of interactions +and \"moderator\" variables. The emphasis is on \"mean-centered\" and +\"residual-centered\" predictors. The vignette @code{rockchalk} offers a +fairly comprehensive overview.") + (license license:gpl3+))) + +(define-public r-lisreltor + (package + (name "r-lisreltor") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (cran-uri "lisrelToR" version)) + (sha256 + (base32 + "0zicq0z3hhixan1p1apybnf3v5s6v6ysll4pcz8ivygwr2swv3p5")))) + (properties `((upstream-name . "lisrelToR"))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/package=lisrelToR") + (synopsis "Import output from LISREL into R") + (description + "This is an unofficial package aimed at automating the import of LISREL +output in R.") + (license license:gpl2))) + +(define-public r-bdgraph + (package + (name "r-bdgraph") + (version "2.62") + (source + (origin + (method url-fetch) + (uri (cran-uri "BDgraph" version)) + (sha256 + (base32 + "1b1vfar940swvn3pcil848qsp8ji50fjjll8jjzp6y2adx0f8pby")))) + (properties `((upstream-name . "BDgraph"))) + (build-system r-build-system) + (propagated-inputs + `(("r-igraph" ,r-igraph))) + (home-page "https://www.uva.nl/profile/a.mohammadi") + (synopsis "Bayesian structure learning in graphical models") + (description + "This package provides statistical tools for Bayesian structure learning +in undirected graphical models for continuous, discrete, and mixed data. It +uses a trans-dimensional @dfn{Markov Chain Monte Carlo} (MCMC) approach based +on a continuous-time birth-death process.") + (license license:gpl2+))) + +(define-public r-d3network + (package + (name "r-d3network") + (version "0.5.2.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "d3Network" version)) + (sha256 + (base32 + "1gh979z9wksyxxxdzlfzibn0ysvf6h1ij7vwpd55fvbwr308syaw")))) + (properties `((upstream-name . "d3Network"))) + (build-system r-build-system) + (propagated-inputs + `(("r-plyr" ,r-plyr) + ("r-rjson" ,r-rjson) + ("r-whisker" ,r-whisker))) + (home-page "http://christophergandrud.github.io/d3Network/") + (synopsis "Create D3 JavaScript network, tree, dendrogram, and Sankey graphs") + (description + "This packages is intended to make it easy to create D3 JavaScript +network, tree, dendrogram, and Sankey graphs from R using data frames.") + (license license:gpl3+))) + +(define-public r-qgraph + (package + (name "r-qgraph") + (version "1.6.5") + (source + (origin + (method url-fetch) + (uri (cran-uri "qgraph" version)) + (sha256 + (base32 + "0pwys9irxvp0ap158drplyypkplbmwqinv0fmlsblk7q875cr592")))) + (properties `((upstream-name . "qgraph"))) + (build-system r-build-system) + (propagated-inputs + `(("r-abind" ,r-abind) + ("r-bdgraph" ,r-bdgraph) + ("r-colorspace" ,r-colorspace) + ("r-corpcor" ,r-corpcor) + ("r-d3network" ,r-d3network) + ("r-dplyr" ,r-dplyr) + ("r-fdrtool" ,r-fdrtool) + ("r-ggplot2" ,r-ggplot2) + ("r-ggraph" ,r-ggraph) + ("r-glasso" ,r-glasso) + ("r-gtools" ,r-gtools) + ("r-hmisc" ,r-hmisc) + ("r-huge" ,r-huge) + ("r-igraph" ,r-igraph) + ("r-jpeg" ,r-jpeg) + ("r-lavaan" ,r-lavaan) + ("r-matrix" ,r-matrix) + ("r-pbapply" ,r-pbapply) + ("r-plyr" ,r-plyr) + ("r-png" ,r-png) + ("r-psych" ,r-psych) + ("r-rcpp" ,r-rcpp) + ("r-reshape2" ,r-reshape2) + ("r-tidygraph" ,r-tidygraph))) + (home-page "http://sachaepskamp.com/qgraph/") + (synopsis "Weighted network visualization and analysis") + (description + "This package implements tools for weighted network visualization and +analysis, as well as Gaussian graphical model computation. It contains graph +plotting methods, and tools for psychometric data visualization and graphical +model estimation. See Epskamp et al. (2012) +@url{doi:10.18637/jss.v048.i04}.") + (license license:gpl2))) + +(define-public r-semplot + (package + (name "r-semplot") + (version "1.1.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "semPlot" version)) + (sha256 + (base32 + "0l1v9yi1pv59iwfknw4dh9qskk5y8r347jq1vq13gnfd3bmd71xr")))) + (properties `((upstream-name . "semPlot"))) + (build-system r-build-system) + (propagated-inputs + `(("r-colorspace" ,r-colorspace) + ("r-corpcor" ,r-corpcor) + ("r-igraph" ,r-igraph) + ("r-lavaan" ,r-lavaan) + ("r-lisreltor" ,r-lisreltor) + ("r-openmx" ,r-openmx) + ("r-plyr" ,r-plyr) + ("r-qgraph" ,r-qgraph) + ("r-regsem" ,r-regsem) + ("r-rockchalk" ,r-rockchalk) + ("r-sem" ,r-sem) + ("r-xml" ,r-xml))) + (home-page "https://github.com/SachaEpskamp/semPlot") + (synopsis "Unified visualizations of structural equation models") + (description + "Structural equation modeling (SEM) has a long history of representing +models graphically as path diagrams. The semPlot package for R fills the gap +between advanced, but time-consuming, graphical software and the limited +graphics produced automatically by SEM software. In addition, semPlot offers +more functionality than drawing path diagrams: it can act as a common ground +for importing SEM results into R. Any result usable as input to semPlot can +also be represented in any of the three popular SEM frame-works, as well as +translated to input syntax for the R packages @code{sem} and @code{lavaan}.") + (license license:gpl2))) + +(define-public r-cdm + (package + (name "r-cdm") + (version "7.4-19") + (source + (origin + (method url-fetch) + (uri (cran-uri "CDM" version)) + (sha256 + (base32 + "1ln1r3rk004fmk55iy08bjh3vv4wnkb8zg2wj3r9rq7pi8jn8fv4")))) + (properties `((upstream-name . "CDM"))) + (build-system r-build-system) + (propagated-inputs + `(("r-mvtnorm" ,r-mvtnorm) + ("r-polycor" ,r-polycor) + ("r-rcpp" ,r-rcpp) + ("r-rcpparmadillo" ,r-rcpparmadillo))) + (home-page + "https://github.com/alexanderrobitzsch/CDM") + (synopsis "Cognitive diagnosis modeling") + (description + "This package provides functions for cognitive diagnosis modeling and +multidimensional item response modeling for dichotomous and polytomous item +responses. It enables the estimation of the DINA and DINO model, the multiple +group (polytomous) GDINA model, the multiple choice DINA model, the general +diagnostic model (GDM), the structured latent class model (SLCA), and +regularized latent class analysis. See George, Robitzsch, Kiefer, Gross, and +Uenlue (2017) @url{doi:10.18637/jss.v074.i02} for further details on +estimation and the package structure. For tutorials on how to use the CDM +package see George and Robitzsch (2015, @url{doi:10.20982/tqmp.11.3.p189}) as +well as Ravand and Robitzsch (2015).") + (license license:gpl2+))) + +(define-public r-tam + (package + (name "r-tam") + (version "3.3-10") + (source + (origin + (method url-fetch) + (uri (cran-uri "TAM" version)) + (sha256 + (base32 + "1rkjp5x6wrk1dfspp1imvfals0wvy4w1wb8a5mhfbnilc7vgnlbq")))) + (properties `((upstream-name . "TAM"))) + (build-system r-build-system) + (propagated-inputs + `(("r-cdm" ,r-cdm) + ("r-rcpp" ,r-rcpp) + ("r-rcpparmadillo" ,r-rcpparmadillo))) + (home-page "http://www.edmeasurementsurveys.com/TAM/Tutorials/") + (synopsis "Test analysis modules") + (description + "This package includes tools for marginal maximum likelihood estimation +and joint maximum likelihood estimation for unidimensional and +multidimensional item response models. The package functionality covers the +Rasch model, 2PL model, 3PL model, generalized partial credit model, +multi-faceted Rasch model, nominal item response model, structured latent +class model, mixture distribution IRT models, and located latent class models. +Latent regression models and plausible value imputation are also supported.") + (license license:gpl2+))) + +(define-public r-erm + (package + (name "r-erm") + (version "1.0-1") + (source + (origin + (method url-fetch) + (uri (cran-uri "eRm" version)) + (sha256 + (base32 + "0njqzznnhnkvalmhiq5yq1w7gwp2myki5cv61w42ydvd27hdyyg9")))) + (properties `((upstream-name . "eRm"))) + (build-system r-build-system) + (propagated-inputs + `(("r-colorspace" ,r-colorspace) + ("r-lattice" ,r-lattice) + ("r-mass" ,r-mass) + ("r-matrix" ,r-matrix) + ("r-psych" ,r-psych))) + (native-inputs `(("gfortran" ,gfortran))) + (home-page "https://cran.r-project.org/package=eRm") + (synopsis "Extended Rasch modeling") + (description + "This package provides tools to fit @dfn{Rasch models} (RM), @dfn{linear +logistic test models} (LLTM), @dfn{rating scale model} (RSM), @dfn{linear +rating scale models} (LRSM), @dfn{partial credit models} (PCM), and +@dfn{linear partial credit models} (LPCM). Missing values are allowed in the +data matrix. Additional features are the ML estimation of the person +parameters, Andersen's LR-test, item-specific Wald test, Martin-Loef-Test, +nonparametric Monte-Carlo Tests, itemfit and personfit statistics including +infit and outfit measures, ICC and other plots, automated stepwise item +elimination, and a simulation module for various binary data matrices.") + (license license:gpl3))) + +(define-public r-irtoys + (package + (name "r-irtoys") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "irtoys" version)) + (sha256 + (base32 + "0h6iiaxikhbxhbyksbjnb09qdxinlkwr2v9yzs5wslbni14paq5q")))) + (properties `((upstream-name . "irtoys"))) + (build-system r-build-system) + (propagated-inputs + `(("r-ltm" ,r-ltm) + ("r-sm" ,r-sm))) + (home-page "https://cran.r-project.org/package=irtoys") + (synopsis "Collection of functions related to Item Response Theory (IRT)") + (description + "This package provides a collection of functions useful in learning and +practicing @dfn{Item Response Theory} (IRT), which can be combined into larger +programs. It provides basic CTT analysis, a simple common interface to the +estimation of item parameters in IRT models for binary responses with three +different programs (ICL, BILOG-MG, and ltm), ability estimation (MLE, BME, +EAP, WLE, plausible values), item and person fit statistics, scaling +methods (MM, MS, Stocking-Lord, and the complete Hebaera method), and a rich +array of parametric and non-parametric (kernel) plots. It estimates and plots +Haberman's interaction model when all items are dichotomously scored.") + (license license:gpl2+))) + +(define-public r-iheatmapr + (package + (name "r-iheatmapr") + (version "0.4.12") + (source + (origin + (method url-fetch) + (uri (cran-uri "iheatmapr" version)) + (sha256 + (base32 + "0s479j9l35xiss599vablxgvg6i2j9zq9sxphsq4vdk3bafg84bw")))) + (properties `((upstream-name . "iheatmapr"))) + (build-system r-build-system) + (propagated-inputs + `(("r-fastcluster" ,r-fastcluster) + ("r-ggdendro" ,r-ggdendro) + ("r-htmlwidgets" ,r-htmlwidgets) + ("r-jsonlite" ,r-jsonlite) + ("r-knitr" ,r-knitr) + ("r-magrittr" ,r-magrittr) + ("r-plyr" ,r-plyr) + ("r-rcolorbrewer" ,r-rcolorbrewer) + ("r-s4vectors" ,r-s4vectors) + ("r-scales" ,r-scales))) + (home-page "https://docs.ropensci.org/iheatmapr") + (synopsis "Interactive, Complex Heatmaps") + (description + "iheatmapr is an R package for building complex, interactive heatmaps +using modular building blocks. \"Complex\" heatmaps are heatmaps in which +subplots along the rows or columns of the main heatmap add more information +about each row or column. For example, a one column additional heatmap may +indicate what group a particular row or column belongs to. Complex heatmaps +may also include multiple side by side heatmaps which show different types of +data for the same conditions. Interactivity can improve complex heatmaps by +providing tooltips with information about each cell and enabling zooming into +interesting features. iheatmapr uses the plotly library for interactivity.") + (license license:expat))) + +(define-public r-packrat + (package + (name "r-packrat") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "packrat" version)) + (sha256 + (base32 + "1xy5dd2hrpqa07jfl4s7dsrya05mf36ms74j833scdz0zf89586n")))) + (properties `((upstream-name . "packrat"))) + (build-system r-build-system) + (home-page "https://github.com/rstudio/packrat/") + (synopsis "Dependency management R projects") + (description + "This package provides a dependency manager for R projects that allows +you to manage the R packages your project depends on in an isolated, portable, +and reproducible way.") + (license license:gpl2))) + +(define-public r-rsconnect + (package + (name "r-rsconnect") + (version "0.8.16") + (source + (origin + (method url-fetch) + (uri (cran-uri "rsconnect" version)) + (sha256 + (base32 + "05ii0p0p7xpf8z0c1594s5q7wpwcs7lmlddrd67s5p2ka5m8qwiz")))) + (properties `((upstream-name . "rsconnect"))) + (build-system r-build-system) + (propagated-inputs + `(("r-curl" ,r-curl) + ("r-digest" ,r-digest) + ("r-jsonlite" ,r-jsonlite) + ("r-openssl" ,r-openssl) + ("r-packrat" ,r-packrat) + ("r-rstudioapi" ,r-rstudioapi) + ("r-yaml" ,r-yaml))) + (home-page "https://github.com/rstudio/rsconnect") + (synopsis "Deployment interface for R Markdown documents and Shiny applications") + (description + "This package provides a programmatic deployment interface for RPubs, +shinyapps.io, and RStudio Connect. Supported content types include R Markdown +documents, Shiny applications, Plumber APIs, plots, and static web content.") + (license license:gpl2))) + +;; This package includes minified JavaScript files. When upgrading please +;; check that there are no new minified JavaScript files. +(define-public r-dygraphs + (package + (name "r-dygraphs") + (version "1.1.1.6") + (source + (origin + (method url-fetch) + (uri (cran-uri "dygraphs" version)) + (sha256 + (base32 + "022j007mzfa9k2n31yg4aizcsf571vv3jip092h23rqj03rk3ly3")))) + (properties `((upstream-name . "dygraphs"))) + (build-system r-build-system) + (arguments + `(#:modules ((guix build utils) + (guix build r-build-system) + (srfi srfi-1) + (ice-9 popen)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'process-javascript + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "inst/htmlwidgets/lib/" + (call-with-values + (lambda () + (unzip2 + `(("dygraphs/dygraph-combined-dev.js" + "dygraph-combined.js") + (,(assoc-ref inputs "js-jquery") + "jquery/jquery.min.js") + (,(assoc-ref inputs "js-fquarter") + "fquarter/moment-fquarter.min.js")))) + (lambda (sources targets) + (for-each (lambda (source target) + (format #t "Processing ~a --> ~a~%" + source target) + (let ((minified (open-pipe* OPEN_READ "uglify-js" source))) + (call-with-output-file target + (lambda (port) + (dump-port minified port))))) + sources targets)))) + #t))))) + (native-inputs + `(("uglify-js" ,uglify-js) + ;; They actually use version 1.11.1, but this more recent version + ;; should be just fine. + ("js-jquery" + ,(origin + (method url-fetch) + (uri "https://code.jquery.com/jquery-1.12.4.js") + (sha256 + (base32 + "0x9mrc1668icvhpwzvgafm8xm11x9lfai9nwr66aw6pjnpwkc3s3")))) + ("js-fquarter" + ,(origin + (method url-fetch) + (uri (string-append "https://raw.githubusercontent.com/robgallen/" + "moment-fquarter/1.0.1/moment-fquarter.js")) + (sha256 + (base32 + "01mdnsaibm9jy2f1qpbn692hpv309lhj5si9nagib4dawmrkffij")))))) + (propagated-inputs + `(("r-htmltools" ,r-htmltools) + ("r-htmlwidgets" ,r-htmlwidgets) + ("r-magrittr" ,r-magrittr) + ("r-xts" ,r-xts) + ("r-zoo" ,r-zoo))) + (home-page "https://github.com/rstudio/dygraphs") + (synopsis "Interface to Dygraphs interactive time series charting library") + (description + "This package provides an R interface to the dygraphs JavaScript charting +library (a copy of which is included in the package). It provides rich +facilities for charting time-series data in R, including highly configurable +series- and axis-display and interactive features like zoom/pan and +series/point highlighting.") + (license license:expat))) + +(define-public r-shinystan + (package + (name "r-shinystan") + (version "2.5.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "shinystan" version)) + (sha256 + (base32 + "18alf5kiqw7y2l6m5nxxizwc2znsf9frxfsqhvgcad8hld9cbya5")))) + (properties `((upstream-name . "shinystan"))) + (build-system r-build-system) + (propagated-inputs + `(("r-bayesplot" ,r-bayesplot) + ("r-colourpicker" ,r-colourpicker) + ("r-dt" ,r-dt) + ("r-dygraphs" ,r-dygraphs) + ("r-ggplot2" ,r-ggplot2) + ("r-gridextra" ,r-gridextra) + ("r-gtools" ,r-gtools) + ("r-markdown" ,r-markdown) + ("r-reshape2" ,r-reshape2) + ("r-rsconnect" ,r-rsconnect) + ("r-rstan" ,r-rstan) + ("r-shiny" ,r-shiny) + ("r-shinyjs" ,r-shinyjs) + ("r-shinythemes" ,r-shinythemes) + ("r-threejs" ,r-threejs) + ("r-xtable" ,r-xtable) + ("r-xts" ,r-xts))) + (home-page "https://mc-stan.org/") + (synopsis "Interactive visual and numerical analysis for Bayesian models") + (description + "This package provides a graphical user interface for interactive +@dfn{Markov chain Monte Carlo} (MCMC) diagnostics and plots and tables helpful +for analyzing a posterior sample. The interface is powered by the Shiny web +application framework and works with the output of MCMC programs written in +any programming language (and has extended functionality for Stan models fit +using the @code{rstan} and @code{rstanarm} packages).") + (license license:gpl3+))) + +(define-public r-rstantools + (package + (name "r-rstantools") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "rstantools" version)) + (sha256 + (base32 + "1il0pn4ksbdkska5fmhvgaicvwnnc6cs08g6ags9fj1xkjiqmrsa")))) + (properties `((upstream-name . "rstantools"))) + (build-system r-build-system) + (inputs `(("pandoc" ,ghc-pandoc))) + (propagated-inputs + `(("r-desc" ,r-desc) + ("r-rcpp" ,r-rcpp))) + (home-page "https://mc-stan.org/rstantools/") + (synopsis "Tools for developing R packages interfacing with Stan") + (description + "This package provides various tools for developers of R packages +interfacing with @url{https://mc-stan.org, Stan}, including functions to set +up the required package structure, S3 generics and default methods to unify +function naming across Stan-based R packages, and vignettes with +recommendations for developers.") + (license license:gpl3+))) + +(define-public r-loo + (package + (name "r-loo") + (version "2.2.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "loo" version)) + (sha256 + (base32 + "1hq1zcj76x55z9kic6cwf7mfq9pzqfbr341jbc9wp7x8ac4zcva6")))) + (properties `((upstream-name . "loo"))) + (build-system r-build-system) + (inputs + `(("pandoc" ,ghc-pandoc) + ("pandoc-citeproc" ,ghc-pandoc-citeproc))) + (propagated-inputs + `(("r-checkmate" ,r-checkmate) + ("r-matrixstats" ,r-matrixstats))) + (home-page "https://mc-stan.org/loo/") + (synopsis "Leave-One-Out cross-validation and WAIC for Bayesian models") + (description + "This package provides an implementation of efficient approximate +@dfn{leave-one-out} (LOO) cross-validation for Bayesian models fit using +Markov chain Monte Carlo, as described in @url{doi:10.1007/s11222-016-9696-4}. +The approximation uses @dfn{Pareto smoothed importance sampling} (PSIS), a new +procedure for regularizing importance weights. As a byproduct of the +calculations, we also obtain approximate standard errors for estimated +predictive errors and for the comparison of predictive errors between models. +The package also provides methods for using stacking and other model weighting +techniques to average Bayesian predictive distributions.") + (license license:gpl3+))) + +(define-public r-rstan + (package + (name "r-rstan") + (version "2.19.3") + (source + (origin + (method url-fetch) + (uri (cran-uri "rstan" version)) + (sha256 + (base32 + "128ndwjrhf8b1qvvqz4bl13qlm8718z9qs5ryc6gsdr3vk65s0np")))) + (properties `((upstream-name . "rstan"))) + (build-system r-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'install 'set-timezone + ;; This package is picky about timezones. + (lambda* (#:key inputs #:allow-other-keys) + (setenv "TZ" "UTC+1") + (setenv "TZDIR" + (string-append (assoc-ref inputs "tzdata") + "/share/zoneinfo")) + #t))))) + (native-inputs + `(("tzdata" ,tzdata) + ("pandoc" ,ghc-pandoc))) + (propagated-inputs + `(("r-bh" ,r-bh) + ("r-ggplot2" ,r-ggplot2) + ("r-gridextra" ,r-gridextra) + ("r-inline" ,r-inline) + ("r-loo" ,r-loo) + ("r-pkgbuild" ,r-pkgbuild) + ("r-rcpp" ,r-rcpp) + ("r-rcppeigen" ,r-rcppeigen) + ("r-stanheaders" ,r-stanheaders))) + (home-page "https://discourse.mc-stan.org/") + (synopsis "R interface to Stan") + (description + "User-facing R functions are provided to parse, compile, test, estimate, +and analyze Stan models by accessing the header-only Stan library provided by +the StanHeaders package. The Stan project develops a probabilistic +programming language that implements full Bayesian statistical inference via +Markov Chain Monte Carlo, rough Bayesian inference via 'variational' +approximation, and (optionally penalized) maximum likelihood estimation via +optimization. In all three cases, automatic differentiation is used to +quickly and accurately evaluate gradients without burdening the user with the +need to derive the partial derivatives.") + (license license:gpl3+))) + +(define-public r-rstanarm + (package + (name "r-rstanarm") + (version "2.19.3") + (source + (origin + (method url-fetch) + (uri (cran-uri "rstanarm" version)) + (sha256 + (base32 + "0gxjq8bdlvdd8kn3dhp12xlymdab036r7n12lzmd3xlkl4cnxq3s")))) + (properties `((upstream-name . "rstanarm"))) + (build-system r-build-system) + (inputs + `(("pandoc" ,ghc-pandoc) + ("pandoc-citeproc" ,ghc-pandoc-citeproc))) + (propagated-inputs + `(("r-bayesplot" ,r-bayesplot) + ("r-bh" ,r-bh) + ("r-ggplot2" ,r-ggplot2) + ("r-lme4" ,r-lme4) + ("r-loo" ,r-loo) + ("r-matrix" ,r-matrix) + ("r-nlme" ,r-nlme) + ("r-rcpp" ,r-rcpp) + ("r-rcppeigen" ,r-rcppeigen) + ("r-rcppparallel" ,r-rcppparallel) + ("r-rstan" ,r-rstan) + ("r-rstantools" ,r-rstantools) + ("r-shinystan" ,r-shinystan) + ("r-stanheaders" ,r-stanheaders) + ("r-survival" ,r-survival))) + (home-page "https://mc-stan.org/rstanarm/") + (synopsis "Bayesian applied regression modeling via Stan") + (description + "This package estimates previously compiled regression models using the +@code{rstan} package, which provides the R interface to the Stan C++ library +for Bayesian estimation. Users specify models via the customary R syntax with +a formula and @code{data.frame} plus some additional arguments for priors.") + (license license:gpl3+))) + +(define-public r-kendall + (package + (name "r-kendall") + (version "2.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "Kendall" version)) + (sha256 + (base32 + "0z2yr3x2nvdm81w2imb61hxwcbmg14kfb2bxgh3wmkmv3wfjwkwn")))) + (properties `((upstream-name . "Kendall"))) + (build-system r-build-system) + (propagated-inputs + `(("r-boot" ,r-boot))) + (native-inputs + `(("gfortran" ,gfortran))) + (home-page "https://cran.r-project.org/web/packages/Kendall/") + (synopsis "Kendall rank correlation and Mann-Kendall trend test") + (description + "This package computes the Kendall rank correlation and Mann-Kendall +trend test.") + (license license:gpl2+))) + +(define-public r-zyp + (package + (name "r-zyp") + (version "0.10-1.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "zyp" version)) + (sha256 + (base32 + "03cxpkfbhrx1fy8l0dl9a13ghz93cqq6877wa8rig09ksdiivaw9")))) + (properties `((upstream-name . "zyp"))) + (build-system r-build-system) + (propagated-inputs + `(("r-kendall" ,r-kendall))) + (home-page "https://cran.r-project.org/web/packages/zyp/") + (synopsis "Zhang + Yue-Pilon Trends Package") + (description + "This package contains an efficient implementation of Sen's slope +method (Sen, 1968) plus implementation of Xuebin Zhang's (Zhang, 1999) and +Yue-Pilon's (Yue, 2002) pre-whitening approaches to determining trends in +climate data.") + (license license:lgpl2.1))) + +(define-public r-zvcv + (package + (name "r-zvcv") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "ZVCV" version)) + (sha256 + (base32 + "1npw836q2skx54843lgxvb0rfwafckjc8k8dljykm60ad3z7zak8")))) + (properties `((upstream-name . "ZVCV"))) + (build-system r-build-system) + (propagated-inputs + `(("r-abind" ,r-abind) + ("r-glmnet" ,r-glmnet) + ("r-mvtnorm" ,r-mvtnorm) + ("r-partitions" ,r-partitions) + ("r-rcpp" ,r-rcpp) + ("r-rcpparmadillo" ,r-rcpparmadillo))) + (home-page "https://cran.r-project.org/web/packages/ZVCV/") + (synopsis "Zero-Variance Control Variates") + (description + "@dfn{Zero-variance control variates} (ZV-CV) is a post-processing method +to reduce the variance of Monte Carlo estimators of expectations using the +derivatives of the log target. Once the derivatives are available, the only +additional computational effort is in solving a linear regression problem. +This method has been extended to higher dimensions using regularisation. This +package can be used to easily perform ZV-CV or regularised ZV-CV when a set of +samples, derivatives and function evaluations are available. Additional +functions for applying ZV-CV to two estimators for the normalising constant of +the posterior distribution in Bayesian statistics are also supplied.") + (license license:gpl2+))) + +(define-public r-ztype + (package + (name "r-ztype") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "ztype" version)) + (sha256 + (base32 + "0brbq2rgkl4mhjbb70kkfv47lzs66k9ppfs2klavcbripirxn5fx")))) + (properties `((upstream-name . "ztype"))) + (build-system r-build-system) + (propagated-inputs + `(("r-assertthat" ,r-assertthat) + ("r-dplyr" ,r-dplyr) + ("r-ggplot2" ,r-ggplot2) + ("r-lubridate" ,r-lubridate) + ("r-magrittr" ,r-magrittr) + ("r-rvest" ,r-rvest) + ("r-stringr" ,r-stringr))) + (home-page "https://cran.r-project.org/web/packages/ztype/") + (synopsis "Run a Ztype game loaded with R functions") + (description + "How fast can you type R functions on your keyboard? Find out by running +a @code{zty.pe} game: export R functions as instructions to type to destroy +opponents' vessels.") + (license license:gpl3))) + +(define-public r-zseq + (package + (name "r-zseq") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "Zseq" version)) + (sha256 + (base32 + "06dndi2b1q79bmxax11bv0l5ifcz1mhpvbn90y6a6xymrgcq0ivi")))) + (properties `((upstream-name . "Zseq"))) + (build-system r-build-system) + (propagated-inputs + `(("r-gmp" ,r-gmp))) + (home-page "https://cran.r-project.org/web/packages/Zseq/") + (synopsis "Integer sequence generator") + (description + "This package generates well-known integer sequences. The @code{gmp} +package is adopted for computing with arbitrarily large numbers. Every +function has a hyperlink to its corresponding item in the @dfn{On-Line +Encyclopedia of Integer Sequences} (OEIS) in the function help page.") + (license license:gpl3+))) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index f874a63f49..a5272156ab 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -29,6 +29,9 @@ #:use-module (guix packages) #:use-module (gnu packages) #:use-module (gnu packages compression) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages glib) #:use-module (gnu packages jemalloc) #:use-module (gnu packages llvm) #:use-module (gnu packages pcre) @@ -37,38 +40,13 @@ #:use-module (gnu packages ssh) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) + #:use-module (gnu packages xml) #:use-module (gnu packages xorg)) ;;; ;;; Please: Try to add new module packages in alphabetic order. ;;; -(define-public rust-adler32-1.0 - (package - (name "rust-adler32") - (version "1.0.4") - (source - (origin - (method url-fetch) - (uri (crate-uri "adler32" version)) - (file-name - (string-append name "-" version ".crate")) - (sha256 - (base32 - "1hnan4fgmnidgn2k84hh2i67c3wp2c5iwd5hs61yi7gwwx1p6bjx")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-development-inputs - (("rust-rand" ,rust-rand-0.4)))) - (home-page "https://github.com/remram44/adler32-rs") - (synopsis "Implementation of the Adler32 rolling hash algorithm") - (description - "This library is an implementation of the Adler32 rolling hash algorithm in -the Rust programming language.") - (license (list license:bsd-3 - license:zlib)))) - (define-public rust-addr2line-0.9 (package (name "rust-addr2line") @@ -107,6 +85,32 @@ the Rust programming language.") Rust, using gimli.") (license (list license:asl2.0 license:expat)))) +(define-public rust-adler32-1.0 + (package + (name "rust-adler32") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "adler32" version)) + (file-name + (string-append name "-" version ".crate")) + (sha256 + (base32 + "1hnan4fgmnidgn2k84hh2i67c3wp2c5iwd5hs61yi7gwwx1p6bjx")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-development-inputs + (("rust-rand" ,rust-rand-0.4)))) + (home-page "https://github.com/remram44/adler32-rs") + (synopsis "Implementation of the Adler32 rolling hash algorithm") + (description + "This library is an implementation of the Adler32 rolling hash algorithm in +the Rust programming language.") + (license (list license:bsd-3 + license:zlib)))) + (define-public rust-afl-0.4 (package (name "rust-afl") @@ -189,6 +193,64 @@ Rust, using gimli.") ("rust-serde" ,rust-serde-1.0) ("rust-serde-derive" ,rust-serde-derive-1.0)))))) +(define-public rust-aho-corasick-0.5 + (package + (inherit rust-aho-corasick-0.6) + (name "rust-aho-corasick") + (version "0.5.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "aho-corasick" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0rnvdmlajikq0i4zdy1p3pv699q6apvsxfc7av7byhppllp2r5ya")))) + (arguments + `(#:cargo-inputs + (("rust-memchr" ,rust-memchr-0.1)) + #:cargo-development-inputs + (("rust-csv" ,rust-csv-0.14) + ("rust-docopt" ,rust-docopt-0.6) + ("rust-memmap" ,rust-memmap-0.2) + ("rust-quickcheck" ,rust-quickcheck-0.2) + ("rust-rand" ,rust-rand-0.3) + ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)))))) + +(define-public rust-andrew-0.2 + (package + (name "rust-andrew") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "andrew" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0pmklwcwy8g1jras46fz8xcny779zfqpg4riksrbdhkjk3w0jzwv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-line-drawing" ,rust-line-drawing-0.7) + ("rust-rusttype" ,rust-rusttype-0.7) + ("rust-walkdir" ,rust-walkdir-2.2) + ("rust-xdg" ,rust-xdg-2.2) + ("rust-xml-rs" ,rust-xml-rs-0.8)) + #:cargo-development-inputs + (("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.4)))) + (inputs + `(("wayland" ,wayland))) + (home-page "https://github.com/trimental/andrew") + (synopsis "Provides convenient drawing of objects to buffers") + (description + "The @code{andrew} crate provides convenient drawing of objects such as +shapes, lines and text to buffers.") + (license license:expat))) + (define-public rust-android-glue-0.2 (package (name "rust-android-glue") @@ -267,7 +329,6 @@ text or blue underlined text, on ANSI terminals.") (base32 "19g2sw2qa2ibnh4x7j1snk46593jgx6y7rnvva496ynq61af5z9l")))) (build-system cargo-build-system) - (arguments '(#:skip-build? #t)) (home-page "https://github.com/sfackler/rust-antidote") (synopsis "Poison-free Mutex and RwLock types") (description @@ -276,6 +337,33 @@ text or blue underlined text, on ANSI terminals.") (license (list license:asl2.0 license:expat)))) +(define-public rust-anyhow-1.0 + (package + (name "rust-anyhow") + (version "1.0.26") + (source + (origin + (method url-fetch) + (uri (crate-uri "anyhow" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0g6mzcxyj88k8bv8rr3zx4yczgimqvvgr12n14a29sqj6s1zc9bq")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-development-inputs + (("rust-futures" ,rust-futures-0.3) + ("rust-rustversion" ,rust-rustversion-1.0) + ("rust-thiserror" ,rust-thiserror-1.0) + ("rust-trybuild" ,rust-trybuild-1.0)))) + (home-page "https://github.com/dtolnay/anyhow") + (synopsis "Flexible concrete Error type") + (description "This package provides a flexible concrete Error type built on +@code{std::error::Error}.") + (license (list license:expat license:asl2.0)))) + (define-public rust-approx-0.3 (package (name "rust-approx") @@ -318,8 +406,37 @@ text or blue underlined text, on ANSI terminals.") "153awzwywmb61xg857b80l63b1x6hifx2pha7lxf6fck9qxwraq8")))) (arguments '()))) +(define-public rust-arc-swap-0.4 + (package + (name "rust-arc-swap") + (version "0.4.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "arc-swap" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1zwswfi9n7n3hiq51w1xv34572k2diazx680rrxlc9w07c9akf6p")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6) + ("rust-itertools" ,rust-itertools-0.8) + ("rust-model" ,rust-model-0.1) + ("rust-num-cpus" ,rust-num-cpus-1.11) + ("rust-once-cell" ,rust-once-cell-1.2) + ("rust-proptest" ,rust-proptest-0.8) + ("rust-version-sync" ,rust-version-sync-0.8)))) + (home-page "https://github.com/vorner/arc-swap") + (synopsis "Atomically swappable Arc") + (description "This package provides an atomically swappable Arc.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-arc-swap-0.3 (package + (inherit rust-arc-swap-0.4) (name "rust-arc-swap") (version "0.3.11") (source @@ -331,7 +448,6 @@ text or blue underlined text, on ANSI terminals.") (sha256 (base32 "0ha8724dpki985v52ifq5sd98xvpa5q51hyma52di75dbqbn4imw")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-development-inputs @@ -343,11 +459,7 @@ text or blue underlined text, on ANSI terminals.") ("rust-num-cpus" ,rust-num-cpus-1.10) ("rust-parking-lot" ,rust-parking-lot-0.8) ("rust-proptest" ,rust-proptest-0.9) - ("rust-version-sync" ,rust-version-sync-0.8)))) - (home-page "https://github.com/vorner/arc-swap") - (synopsis "Atomically swappable Arc") - (description "This package provides an atomically swappable Arc.") - (license (list license:expat license:asl2.0)))) + ("rust-version-sync" ,rust-version-sync-0.8)))))) (define-public rust-argon2rs-0.2 (package @@ -501,6 +613,31 @@ ArrayVec and ArrayString.") "This package asserts that a value matches a pattern in Rust.") (license (list license:expat license:asl2.0)))) +(define-public rust-aster-0.41 + (package + (name "rust-aster") + (version "0.41.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "aster" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1q704kn23wnwnrxml7w1mxw6a3xb6386x5wgys6ibnyramrxzksc")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-clippy" ,rust-clippy-0.0) + ("rust-compiletest-rs" ,rust-compiletest-rs-0.2) + ("rust-syntex-syntax" ,rust-syntex-syntax-0.58)))) + (home-page "https://github.com/serde-rs/aster") + (synopsis "Libsyntax ast builder") + (description "This package provides a libsyntax ast builder.") + (license (list license:expat license:asl2.0)))) + (define-public rust-atty-0.2 (package (name "rust-atty") @@ -662,8 +799,34 @@ trace (backtrace) at runtime in a Rust program.") (license (list license:asl2.0 license:expat)))) +(define-public rust-base64-0.11 + (package + (name "rust-base64") + (version "0.11.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "base64" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1iqmims6yvr6vwzyy54qd672zw29ipjj17p8klcr578c9ajpw6xl")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-doc-comment" ,rust-doc-comment-0.3) + ("rust-rand" ,rust-rand-0.6)))) + (home-page "https://github.com/marshallpierce/rust-base64") + (synopsis "Encodes and decodes base64 as bytes or utf8") + (description + "This package encodes and decodes base64 as bytes or utf8.") + (license (list license:expat license:asl2.0)))) + (define-public rust-base64-0.10 (package + (inherit rust-base64-0.11) (name "rust-base64") (version "0.10.1") (source @@ -675,19 +838,12 @@ trace (backtrace) at runtime in a Rust program.") (sha256 (base32 "13k6bvd3n6dm7jqn9x918w65dd9xhx454bqphbnv0bkd6n9dj98b")))) - (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-byteorder" ,rust-byteorder-1.3)) #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.2) - ("rust-rand" ,rust-rand-0.4)))) - (home-page "https://github.com/marshallpierce/rust-base64") - (synopsis "Encodes and decodes base64 as bytes or utf8") - (description - "Encodes and decodes base64 as bytes or utf8.") - (license (list license:expat license:asl2.0)))) + ("rust-rand" ,rust-rand-0.4)))))) (define-public rust-base-x-0.2 (package @@ -726,7 +882,6 @@ trace (backtrace) at runtime in a Rust program.") (base32 "1x8p2xblgqssay8cdykp5pkfc0np0jk5bs5cx4f5av097aav9zbx")))) (build-system cargo-build-system) - (arguments '(#:skip-build? #t)) (home-page "https://github.com/bluss/bencher/") (synopsis "Port of the libtest benchmark runner to Rust stable") (description "This package provides a port of the libtest (unstable Rust) @@ -767,56 +922,6 @@ and no more (caveat: black_box is still missing!).") that uses Serde for transforming structs into bytes and vice versa!") (license license:expat))) -(define-public rust-bresenham-0.1 - (package - (name "rust-bresenham") - (version "0.1.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "bresenham" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1mvg3zcyll0m3z79jwbg183ha4kb7bw06rd286ijwvgn4mi13hdz")))) - (build-system cargo-build-system) - (home-page "https://github.com/mbr/bresenham-rs") - (synopsis - "Iterator-based integer-only implementation of Bresenham's line algorithm") - (description - "This package provides a fast, iterator-based integer-only implementation of -Bresenham's line algorithm.") - (license license:expat))) - -(define-public rust-generator-0.6 - (package - (name "rust-generator") - (version "0.6.18") - (source - (origin - (method url-fetch) - (uri (crate-uri "generator" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0p4iq1n53dy72dhma02wfjrazf2hq2745f9si9yi7jxviks7c8l7")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-libc" ,rust-libc-0.2) - ("rust-log" ,rust-log-0.4) - ("rust-winapi" ,rust-winapi-0.3)) - #:cargo-development-inputs - (("rust-cc" ,rust-cc-1.0) - ("rust-rustc-version" ,rust-rustc-version-0.2)))) - (home-page "https://github.com/Xudong-Huang/generator-rs") - (synopsis "Stackfull Generator Library in Rust") - (description "Stackfull Generator Library in Rust.") - (license (list license:asl2.0 license:expat)))) - (define-public rust-bindgen-0.50 (package (name "rust-bindgen") @@ -832,8 +937,7 @@ Bresenham's line algorithm.") "1k4n1d002vrfn1mlpww3ib7f275yn4rpxfwkqpr9bym27zg17ab5")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-cexpr" ,rust-cexpr-0.3) ("rust-cfg-if" ,rust-cfg-if-0.1) @@ -862,6 +966,39 @@ Bresenham's line algorithm.") libraries.") (license license:bsd-3))) +(define-public rust-bindgen-0.33 + (package + (inherit rust-bindgen-0.50) + (name "rust-bindgen") + (version "0.33.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "bindgen" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0vnw5fb74gl9pgnimgbrkac1xgwrjz86pqilx20rbkia77cdhgk0")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cexpr" ,rust-cexpr-0.2) + ("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-clang-sys" ,rust-clang-sys-0.22) + ("rust-clap" ,rust-clap-2) + ("rust-env-logger" ,rust-env-logger-0.5) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-log" ,rust-log-0.4) + ("rust-peeking-take-while" ,rust-peeking-take-while-0.1) + ("rust-quote" ,rust-quote-0.3) + ("rust-regex" ,rust-regex-0.2) + ("rust-which" ,rust-which-1.0)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-2) + ("rust-diff" ,rust-diff-0.1) + ("rust-shlex" ,rust-shlex-0.1)))))) + (define-public rust-bit-set-0.5 (package (name "rust-bit-set") @@ -927,7 +1064,6 @@ libraries.") (base32 "14qnd5nq8p2almk79m4m8ydqhd413yaxsyjp5xd19g3mikzf47fg")))) (build-system cargo-build-system) - (arguments '(#:skip-build? #t)) (home-page "https://github.com/bitflags/bitflags") (synopsis "Macro to generate structures which behave like bitflags") (description "This package provides a macro to generate structures which @@ -965,6 +1101,35 @@ behave like a set of bitflags.") (base32 "0v8hh6wdkpk9my8z8442g4hqrqf05h0qj53dsay6mv18lqvqklda")))))) +(define-public rust-blake2-0.8 + (package + (name "rust-blake2") + (version "0.8.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "blake2" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0c4k11j04kqhkci6i9b7lz6p13kpcv228pdqixgrawvavaq0gjwl")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-byte-tools" ,rust-byte-tools-0.3) + ("rust-crypto-mac" ,rust-crypto-mac-0.7) + ("rust-digest" ,rust-digest-0.8) + ("rust-opaque-debug" ,rust-opaque-debug-0.2)) + #:cargo-development-inputs + (("rust-crypto-mac" ,rust-crypto-mac-0.7) + ("rust-digest" ,rust-digest-0.8) + ("rust-hex-literal" ,rust-hex-literal-0.1)))) + (home-page "https://github.com/RustCrypto/hashes") + (synopsis "BLAKE2 hash functions") + (description "This package provides BLAKE2 hash functions in Rust.") + (license (list license:expat license:asl2.0)))) + (define-public rust-blake2-rfc-0.2 (package (name "rust-blake2-rfc") @@ -1071,6 +1236,30 @@ BLAKE2bp hash functions.") "Iterator over simple binary blob storage.") (license (list license:asl2.0 license:expat)))) +(define-public rust-block-0.1 + (package + (name "rust-block") + (version "0.1.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "block" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "16k9jgll25pzsq14f244q22cdv0zb4bqacldg3kx6h89d7piz30d")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-development-inputs + (("rust-objc-test-utils" ,rust-objc-test-utils-0.0)))) + (home-page "http://github.com/SSheldon/rust-block") + (synopsis "Rust interface for Apple's C language extension of blocks") + (description "This package provides a rust interface for Apple's C language +extension of blocks.") + (license license:expat))) + (define-public rust-block-buffer-0.7 (package (name "rust-block-buffer") @@ -1122,30 +1311,27 @@ BLAKE2bp hash functions.") "Padding and unpadding of messages divided into blocks.") (license (list license:asl1.1 license:expat)))) -(define-public rust-bumpalo-2.5 +(define-public rust-bresenham-0.1 (package - (name "rust-bumpalo") - (version "2.5.0") + (name "rust-bresenham") + (version "0.1.1") (source (origin (method url-fetch) - (uri (crate-uri "bumpalo" version)) + (uri (crate-uri "bresenham" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "018b5calz3895v04shk9bn7i73r4zf8yf7p1dqg92s3xya13vm1c")))) + "1mvg3zcyll0m3z79jwbg183ha4kb7bw06rd286ijwvgn4mi13hdz")))) (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-development-inputs - (("rust-criterion" ,rust-criterion-0.2) - ("rust-quickcheck" ,rust-quickcheck-0.8)))) - (home-page "https://github.com/fitzgen/bumpalo") - (synopsis "Fast bump allocation arena for Rust") + (home-page "https://github.com/mbr/bresenham-rs") + (synopsis + "Iterator-based integer-only implementation of Bresenham's line algorithm") (description - "This package provides a fast bump allocation arena for Rust.") - (license (list license:asl2.0 license:expat)))) + "This package provides a fast, iterator-based integer-only implementation of +Bresenham's line algorithm.") + (license license:expat))) (define-public rust-bstr-0.2 (package @@ -1195,6 +1381,51 @@ UTF-8.") (base32 "0nzi9vqhl56ws8gq39f3aj4qjrr4l3g5lbkkcj8xq1x4cb74wq2r")))))) +(define-public rust-bumpalo-3 + (package + (name "rust-bumpalo") + (version "3.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "bumpalo" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0hpp4wfcn04gnl1ji4a80b85xwknsci81xqyllq174gq9z0rsd8z")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; cargo_readme_up_to_date test fails + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-quickcheck" ,rust-quickcheck-0.9)))) + (home-page "https://github.com/fitzgen/bumpalo") + (synopsis "Fast bump allocation arena for Rust") + (description + "This package provides a fast bump allocation arena for Rust.") + (license (list license:asl2.0 license:expat)))) + +(define-public rust-bumpalo-2.5 + (package + (inherit rust-bumpalo-3) + (name "rust-bumpalo") + (version "2.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "bumpalo" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "018b5calz3895v04shk9bn7i73r4zf8yf7p1dqg92s3xya13vm1c")))) + (arguments + `(#:skip-build? #t + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.2) + ("rust-quickcheck" ,rust-quickcheck-0.8)))))) + (define-public rust-byte-tools-0.3 (package (name "rust-byte-tools") @@ -1247,7 +1478,7 @@ in a byte slice, fast.") (define-public rust-byteorder-1.3 (package (name "rust-byteorder") - (version "1.3.2") + (version "1.3.4") (source (origin (method url-fetch) @@ -1256,14 +1487,13 @@ in a byte slice, fast.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1xbwjlmq2ziqjmjvkqxdx1yh136xxhilxd40bky1w4d7hn4xvhx7")))) + "1pkjfhgjnq898g1d38ygcfi0msg3m6756cwv0sgysj1d26p8mi08")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-development-inputs + `(#:cargo-development-inputs (("rust-doc-comment" ,rust-doc-comment-0.3) ("rust-quickcheck" ,rust-quickcheck-0.8) - ("rust-rand" ,rust-rand-0.4)))) + ("rust-rand" ,rust-rand-0.6)))) (home-page "https://github.com/BurntSushi/byteorder") (synopsis @@ -1273,6 +1503,26 @@ in a byte slice, fast.") little-endian.") (license (list license:expat license:unlicense)))) +(define-public rust-byteorder-0.5 + (package + (inherit rust-byteorder-1.3) + (name "rust-byteorder") + (version "0.5.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "byteorder" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ma8pkyz1jbglr29m1yzlc9ghmv6672nvsrn7zd0yn5jqs60xh8g")))) + (arguments + `(#:tests? #f + #:cargo-development-inputs + (("rust-quickcheck" ,rust-quickcheck-0.2) + ("rust-rand" ,rust-rand-0.3)))))) + (define-public rust-bytes-0.4 (package (name "rust-bytes") @@ -1303,6 +1553,95 @@ little-endian.") "Types and traits for working with bytes.") (license license:expat))) +(define-public rust-bytes-0.3 + (package + (inherit rust-bytes-0.4) + (name "rust-bytes") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "bytes" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09vcp9kh12pva2xn2ir79k90v1a0id8f4sdv1abn5ifw2bqsyaf1")))) + (arguments + `(#:tests? #f ; Tests not distributed in crate. + #:cargo-development-inputs + (("rust-rand" ,rust-rand-0.3)))))) + +(define-public rust-bzip2-0.3 + (package + (name "rust-bzip2") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "bzip2" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fvfwanp42j1zpig880jhb5mc0na50bijmwd6211p77sy35w7ds2")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bzip2-sys" ,rust-bzip2-sys-0.1) + ("rust-futures" ,rust-futures-0.1) + ("rust-libc" ,rust-libc-0.2) + ("rust-tokio-io" ,rust-tokio-io-0.1)) + #:cargo-development-inputs + (("rust-partial-io" ,rust-partial-io-0.2) + ("rust-quickcheck" ,rust-quickcheck-0.4) + ("rust-rand" ,rust-rand-0.3) + ("rust-tokio-core" ,rust-tokio-core-0.1)))) + (home-page "https://github.com/alexcrichton/bzip2-rs") + (synopsis + "Rust bindings to libbzip2 for bzip2 compression and decompression") + (description + "Bindings to @code{libbzip2} for @code{bzip2} compression and decompression +exposed as Reader/Writer streams.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-bzip2-sys-0.1 + (package + (name "rust-bzip2-sys") + (version "0.1.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "bzip2-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0pz2mdhkk8yphiqdh2kghdxb60kqyd10lfrjym3r4k5dylvam135")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file-recursively "bzip2-1.0.6") + (delete-file "build.rs") + ;; Inspired by Debian's patch. + (with-output-to-file "build.rs" + (lambda _ + (format #t "fn main() {~@ + println!(\"cargo:rustc-link-lib=bz2\");~@ + }~%"))) + #t)))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-cc" ,rust-cc-1.0)))) + (home-page "https://github.com/alexcrichton/bzip2-rs") + (synopsis "Rust bindings to libbzip2") + (description + "Bindings to @code{libbzip2} for bzip2 compression and decompression +exposed as Reader/Writer streams.") + (license (list license:expat license:asl2.0)))) + (define-public rust-c2-chacha-0.2 (package (name "rust-c2-chacha") @@ -1332,6 +1671,39 @@ little-endian.") "The ChaCha family of stream ciphers.") (license (list license:asl2.0 license:expat)))) +(define-public rust-calloop-0.4 + (package + (name "rust-calloop") + (version "0.4.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "calloop" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0q6ic9lr0s86886mbyn4yncg68b2sykgwjf3iygdw01swmxhk8ks")) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* "Cargo.toml" + (("=1.0.0") "^1.0.0")) + #t)))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-mio" ,rust-mio-0.6) + ("rust-mio-extras" ,rust-mio-extras-2) + ("rust-nix" ,rust-nix-0.14)) + #:cargo-development-inputs + (("rust-lazycell" ,rust-lazycell-1.2)))) + (home-page "https://github.com/Smithay/calloop") + (synopsis "Callback-based event loop") + (description + "This package provides a callback-based event loop") + (license license:expat))) + (define-public rust-caps-0.3 (package (name "rust-caps") @@ -1485,40 +1857,36 @@ archive to be linked into Rustcode.") "This package provides a C expression parser and evaluator.") (license (list license:asl2.0 license:expat)))) -(define-public rust-chrono-0.4 +(define-public rust-cexpr-0.2 (package - (name "rust-chrono") - (version "0.4.7") + (inherit rust-cexpr-0.3) + (name "rust-cexpr") + (version "0.2.3") (source (origin (method url-fetch) - (uri (crate-uri "chrono" version)) + (uri (crate-uri "cexpr" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1glam3iqhshbamzgf0npn7hgghski92r31lm7gg8841hnxc1zn3p")))) + "0v1xa3758czmj8h97gh548mr8g0v13ixxvrlm1s79nb7jmgc9aj2")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-libc" ,rust-libc-0.2) - ("rust-num-integer" ,rust-num-integer-0.1) - ("rust-num-traits" ,rust-num-traits-0.2) - ("rust-rustc-serialize" ,rust-rustc-serialize-0.3) - ("rust-serde" ,rust-serde-1.0) - ("rust-time" ,rust-time-0.1)) + `(#:cargo-inputs + (("rust-nom" ,rust-nom-3)) #:cargo-development-inputs - (("rust-bincode" ,rust-bincode-1.1) - ("rust-doc-comment" ,rust-doc-comment-0.3) - ("rust-num-iter" ,rust-num-iter-0.1) - ("rust-serde-derive" ,rust-serde-derive-1.0) - ("rust-serde-json" ,rust-serde-json-1.0)))) - (home-page - "https://github.com/chronotope/chrono") - (synopsis "Date and time library for Rust") - (description "Date and time library for Rust.") - (license (list license:expat license:asl2.0)))) + (("rust-clang-sys" ,rust-clang-sys-0.11)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-environmental-variable + (lambda* (#:key inputs #:allow-other-keys) + (let ((clang (assoc-ref inputs "libclang"))) + (setenv "LIBCLANG_PATH" + (string-append clang "/lib"))) + #t))))) + (inputs + `(("libclang" ,clang))))) (define-public rust-cfg-if-0.1 (package @@ -1546,6 +1914,143 @@ depending on a large number of #[cfg] parameters. Structured like an (license (list license:asl2.0 license:expat)))) +(define-public rust-cgl-0.3 + (package + (name "rust-cgl") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "cgl" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1zs7skrsyrsm759vfy2cygkx52fx91b567a12bpaz1sf4d8hbv8c")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t ; only available on macOS + #:cargo-inputs (("rust-libc" ,rust-libc-0.2)))) + (home-page "https://github.com/servo/cgl-rs") + (synopsis "Rust bindings for CGL on Mac") + (description "Rust bindings for CGL on Mac.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-cgl-0.2 + (package + (inherit rust-cgl-0.3) + (name "rust-cgl") + (version "0.2.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "cgl" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0j8ayr8pbwvyv6l8r7m5z197rs3pqn97085w9j4rfn7yfh5yrrsm")))) + (arguments + `(#:skip-build? #t ; only available on macOS + #:cargo-inputs + (("rust-gleam" ,rust-gleam-0.6) + ("rust-libc" ,rust-libc-0.2)))))) + +(define-public rust-cgmath-0.17 + (package + (name "rust-cgmath") + (version "0.17.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "cgmath" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1rvgila6ivr0dh1bxza450a4yfwdi2pwj3h1vnwg0jy4xk6l8f98")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t ; Crate won't build without glium. + #:cargo-inputs + (("rust-approx" ,rust-approx-0.3) + ("rust-mint" ,rust-mint-0.5) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-rand" ,rust-rand-0.6) + ("rust-serde" ,rust-serde-1.0) + ("rust-simd" ,rust-simd-0.2)) + #:cargo-development-inputs + (;("rust-glium" ,rust-glium-0.23) + ("rust-serde-json" ,rust-serde-json-1.0)))) + (home-page "https://github.com/brendanzab/cgmath") + (synopsis "Linear algebra and mathematics library") + (description + "This package provides a linear algebra and mathematics library +for computer graphics.") + (license license:asl2.0))) + +(define-public rust-cgmath-0.16 + (package + (inherit rust-cgmath-0.17) + (name "rust-cgmath") + (version "0.16.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "cgmath" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "07754c03v3srzf64ghsl3fggrdi4kjy6l3vyq2d2wfjfixybb934")))) + (arguments + `(#:skip-build? #t ; Crate won't build without glium. + #:cargo-inputs + (("rust-approx" ,rust-approx-0.1) + ("rust-mint" ,rust-mint-0.5) + ("rust-num-traits" ,rust-num-traits-0.1) + ("rust-rand" ,rust-rand-0.4) + ("rust-serde" ,rust-serde-1.0) + ("rust-simd" ,rust-simd-0.2)) + #:cargo-development-inputs + (;("rust-glium" ,rust-glium-0.19) + ("rust-serde-json" ,rust-serde-json-1.0)))))) + +(define-public rust-chrono-0.4 + (package + (name "rust-chrono") + (version "0.4.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "chrono" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1glam3iqhshbamzgf0npn7hgghski92r31lm7gg8841hnxc1zn3p")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-num-integer" ,rust-num-integer-0.1) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-rustc-serialize" ,rust-rustc-serialize-0.3) + ("rust-serde" ,rust-serde-1.0) + ("rust-time" ,rust-time-0.1)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode-1.1) + ("rust-doc-comment" ,rust-doc-comment-0.3) + ("rust-num-iter" ,rust-num-iter-0.1) + ("rust-serde-derive" ,rust-serde-derive-1.0) + ("rust-serde-json" ,rust-serde-json-1.0)))) + (home-page + "https://github.com/chronotope/chrono") + (synopsis "Date and time library for Rust") + (description "Date and time library for Rust.") + (license (list license:expat license:asl2.0)))) + (define-public rust-ci-info-0.3 (package (name "rust-ci-info") @@ -1632,6 +2137,68 @@ depending on a large number of #[cfg] parameters. Structured like an (string-append clang "/lib"))) #t))))))) +(define-public rust-clang-sys-0.22 + (package + (inherit rust-clang-sys-0.26) + (name "rust-clang-sys") + (version "0.22.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "clang-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0f65dw1ydnzq4wrv894fql78n4ikb53jjp53xck0s4hb64s1m6lk")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-clippy" ,rust-clippy-0.0) + ("rust-glob" ,rust-glob-0.2) + ("rust-libc" ,rust-libc-0.2) + ("rust-libloading" ,rust-libloading-0.5)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-environmental-variable + (lambda* (#:key inputs #:allow-other-keys) + (let ((clang (assoc-ref inputs "libclang"))) + (setenv "LIBCLANG_PATH" + (string-append clang "/lib"))) + #t))))))) + +(define-public rust-clang-sys-0.11 + (package + (inherit rust-clang-sys-0.22) + (name "rust-clang-sys") + (version "0.11.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "clang-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17i47skqp1d9svil2m1wspnhz7ci1x0fipia70ns0qffciwiz48r")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-0.7) + ("rust-clippy" ,rust-clippy-0.0) + ("rust-glob" ,rust-glob-0.2) + ("rust-lazy-static" ,rust-lazy-static-0.2) + ("rust-libc" ,rust-libc-0.2) + ("rust-libloading" ,rust-libloading-0.3)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-environmental-variable + (lambda* (#:key inputs #:allow-other-keys) + (let ((clang (assoc-ref inputs "libclang"))) + (setenv "LIBCLANG_PATH" + (string-append clang "/lib"))) + #t))))))) + (define-public rust-clap-2 (package (name "rust-clap") @@ -1792,6 +2359,71 @@ CMAKE environmental variable is set.") (license (list license:asl2.0 license:expat)))) +(define-public rust-cocoa-0.19 + (package + (name "rust-cocoa") + (version "0.19.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "cocoa" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0034vahbfv574q4b63rj241b8rnka5cjiqsqc6wiggnin9l7g7zj")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t ; only for macOS + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-block" ,rust-block-0.1) + ("rust-core-foundation" ,rust-core-foundation-0.6) + ("rust-core-graphics" ,rust-core-graphics-0.17) + ("rust-foreign-types" ,rust-foreign-types-0.3) + ("rust-libc" ,rust-libc-0.2) + ("rust-objc" ,rust-objc-0.2)))) + (home-page "https://github.com/servo/core-foundation-rs") + (synopsis "Bindings to Cocoa for macOS") + (description "Bindings to Cocoa for macOS.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-cocoa-0.18 + (package + (inherit rust-cocoa-0.19) + (name "rust-cocoa") + (version "0.18.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "cocoa" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0m6fgdr4d2fp8jhkqvwr23hrqqqjv72g0j9vdgijc58k05j9j1hp")))))) + +(define-public rust-color-quant-1.0 + (package + (name "rust-color-quant") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "color-quant" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ga56jrafnjm80903nnqjkyii4bwd6a7visxh0g8hgi6cmrvbfqd")))) + (build-system cargo-build-system) + (home-page "https://github.com/PistonDevelopers/color_quant.git") + (synopsis + "Color quantization library to reduce n colors to 256 colors") + (description + "Color quantization library to reduce n colors to 256 colors.") + (license license:expat))) + ;; This package requires features which are unavailable ;; on the stable releases of Rust. (define-public rust-compiler-builtins-0.1 @@ -1960,6 +2592,31 @@ harness.") that logs panics to @code{console.error}.") (license (list license:expat license:asl2.0)))) +(define-public rust-console-log-0.1 + (package + (name "rust-console-log") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "console-log" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0j1wd2885m3245bhsb2qjvw08lzplbi1rgg2v3yv0hbljk972y0y")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-web-sys" ,rust-web-sys-0.3)))) + (home-page "https://github.com/iamcodemaker/console_log") + (synopsis "Route Rust log messages to the browser's console") + (description + "This package provides a logging facility that routes Rust log messages to +the browser's console.") + (license (list license:expat license:asl2.0)))) + (define-public rust-constant-time-eq-0.1 (package (name "rust-constant-time-eq") @@ -1973,7 +2630,6 @@ that logs panics to @code{console.error}.") (base32 "1g3vp04qzmk6cpzrd19yci6a95m7ap6wy7wkwgiy2pjklklrfl14")))) (build-system cargo-build-system) - (arguments '(#:skip-build? #t)) (home-page "https://github.com/cesarb/constant_time_eq") (synopsis "Compares two equal-sized byte strings in constant time") @@ -1994,11 +2650,15 @@ It is inspired by the Linux kernel's @code{crypto_memneq}.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "168j1npqrif1yqxbgbk0pdrx9shzhs5ylc5a4xw49b6hbxi11zvq")))) + "168j1npqrif1yqxbgbk0pdrx9shzhs5ylc5a4xw49b6hbxi11zvq")) + (modules '((guix build utils))) + (snippet + '(begin (substitute* "Cargo.toml" + (("0.2.21.*") "0.2.21\"\n")) + #t)))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t ; Package needs 'unicode' crate. - #:cargo-inputs + `(#:cargo-inputs (("rust-custom-derive" ,rust-custom-derive-0.1)) #:cargo-development-inputs (("rust-quickcheck" ,rust-quickcheck-0.2) @@ -2036,6 +2696,34 @@ semantics than those provided by @code{as} or @code{From}/@code{Into}.") intrinsics.") (license (list license:expat license:asl2.0)))) +(define-public rust-core-foundation-0.6 + (package + (name "rust-core-foundation") + (version "0.6.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "core-foundation" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0va97wf49c8dzm9c8pgyk1jn7z21rl0bj1syf2zz5m2z2hzy1f95")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t ; only for macOS + #:cargo-inputs + (("rust-chrono" ,rust-chrono-0.4) + ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6) + ("rust-libc" ,rust-libc-0.2) + ("rust-uuid" ,rust-uuid-0.5)))) + (home-page "https://github.com/servo/core-foundation-rs") + (synopsis + "Bindings to Core Foundation for macOS") + (description + "Bindings to Core Foundation for macOS.") + (license (list license:expat license:asl2.0)))) + (define-public rust-core-foundation-sys-0.6 (package (name "rust-core-foundation-sys") @@ -2057,6 +2745,119 @@ intrinsics.") (license (list license:asl2.0 license:expat)))) +(define-public rust-core-graphics-0.17 + (package + (name "rust-core-graphics") + (version "0.17.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "core-graphics" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1acm3vygngnilzlr6klym5ywh7kfzh2xxrh2l41152hwmdl0jyan")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t ; only for macOS + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-core-foundation" ,rust-core-foundation-0.6) + ("rust-foreign-types" ,rust-foreign-types-0.3) + ("rust-libc" ,rust-libc-0.2)))) + (home-page "https://github.com/servo/core-graphics-rs") + (synopsis "Bindings to Core Graphics for macOS") + (description + "Bindings to Core Graphics for macOS.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-core-text-13 + (package + (name "rust-core-text") + (version "13.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "core-text" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0v9lxn277p39cf81pb45r7k0lzf17pwgd5cpry1c04ajv556b16v")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t ; only for macOS + #:cargo-inputs + (("rust-core-foundation" ,rust-core-foundation-0.6) + ("rust-core-graphics" ,rust-core-graphics-0.17) + ("rust-foreign-types" ,rust-foreign-types-0.3) + ("rust-libc" ,rust-libc-0.2)))) + (home-page "https://github.com/servo/core-foundation-rs") + (synopsis "Bindings to the Core Text framework") + (description + "Bindings to the Core Text framework.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-core-video-sys-0.1 + (package + (name "rust-core-video-sys") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "core-video-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1l59cg88482hkl95ssb30ac9x65hpbdsmxz9s5r6y222jlhnbh4d")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t ; only for macOS + #:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6) + ("rust-core-graphics" ,rust-core-graphics-0.17) + ("rust-libc" ,rust-libc-0.2) + ("rust-metal" ,rust-metal-0.14) + ("rust-objc" ,rust-objc-0.2)))) + (home-page "https://github.com/luozijun/rust-core-video-sys") + (synopsis + "Bindings to CoreVideo.framework for macOS and iOS") + (description + "Bindings to CoreVideo.framework for macOS and iOS.") + (license license:expat))) + +(define-public rust-cpp-demangle-0.2 + (package + (name "rust-cpp-demangle") + (version "0.2.12") + (source + (origin + (method url-fetch) + (uri (crate-uri "cpp_demangle" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0a4hqsfc0sfdwy7pcr0rc1fjp2j47fxbkqfc2lfrbi4zlm5hq36k")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-afl" ,rust-afl-0.4) + ("rust-cfg-if" ,rust-cfg-if-0.1)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-2) + ("rust-diff" ,rust-diff-0.1) + ("rust-glob" ,rust-glob-0.3)))) + (home-page "https://github.com/gimli-rs/cpp_demangle") + (synopsis "Demangle C++ symbols") + (description + "This package provides a crate for demangling C++ symbols.") + (license (list license:expat license:asl2.0)))) + (define-public rust-crates-index-0.13 (package (name "rust-crates-index") @@ -2119,10 +2920,10 @@ intrinsics.") "Fast, SIMD-accelerated CRC32 (IEEE) checksum computation.") (license (list license:expat license:asl2.0)))) -(define-public rust-criterion-0.2 +(define-public rust-criterion-0.3 (package (name "rust-criterion") - (version "0.2.11") + (version "0.3.0") (source (origin (method url-fetch) @@ -2131,25 +2932,22 @@ intrinsics.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1543wlpc4p1kz7sqqa7ylr8bkdr8l4f34hy4bxj7krpkahwhaqq3")))) + "1iig7r9c6bkn5qb6axxkblc1amif6k49lix35rhqs728cphh71wk")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-atty" ,rust-atty-0.2) ("rust-cast" ,rust-cast-0.2) ("rust-clap" ,rust-clap-2) - ("rust-criterion-plot" ,rust-criterion-plot-0.3) + ("rust-criterion-plot" ,rust-criterion-plot-0.4) ("rust-csv" ,rust-csv-1.1) ("rust-itertools" ,rust-itertools-0.8) ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-libc" ,rust-libc-0.2) ("rust-num-traits" ,rust-num-traits-0.2) ("rust-rand-core" ,rust-rand-core-0.5) ("rust-rand-os" ,rust-rand-os-0.2) ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.3) ("rust-rayon" ,rust-rayon-1.1) - ("rust-rayon-core" ,rust-rayon-core-1.5) ("rust-serde" ,rust-serde-1.0) ("rust-serde-derive" ,rust-serde-derive-1.0) ("rust-serde-json" ,rust-serde-json-1.0) @@ -2157,17 +2955,86 @@ intrinsics.") ("rust-walkdir" ,rust-walkdir-2.2)) #:cargo-development-inputs (("rust-approx" ,rust-approx-0.3) - ("rust-quickcheck" ,rust-quickcheck-0.8) - ("rust-rand" ,rust-rand-0.4) + ("rust-quickcheck" ,rust-quickcheck-0.9) + ("rust-rand" ,rust-rand-0.7) ("rust-tempdir" ,rust-tempdir-0.3)))) (home-page "https://bheisler.github.io/criterion.rs/book/index.html") (synopsis "Statistics-driven micro-benchmarking library") (description - "Statistics-driven micro-benchmarking library.") + "This package provides a statistics-driven micro-benchmarking library.") + (license (list license:asl2.0 license:expat)))) + +(define-public rust-criterion-0.2 + (package + (inherit rust-criterion-0.3) + (name "rust-criterion") + (version "0.2.11") + (source + (origin + (method url-fetch) + (uri (crate-uri "criterion" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1543wlpc4p1kz7sqqa7ylr8bkdr8l4f34hy4bxj7krpkahwhaqq3")))) + (arguments + `(#:cargo-inputs + (("rust-atty" ,rust-atty-0.2) + ("rust-cast" ,rust-cast-0.2) + ("rust-clap" ,rust-clap-2) + ("rust-criterion-plot" ,rust-criterion-plot-0.3) + ("rust-csv" ,rust-csv-1.1) + ("rust-itertools" ,rust-itertools-0.8) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-rand-core" ,rust-rand-core-0.3) + ("rust-rand-os" ,rust-rand-os-0.1) + ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.1) + ("rust-rayon" ,rust-rayon-1.1) + ("rust-rayon-core" ,rust-rayon-core-1.5) + ("rust-serde" ,rust-serde-1.0) + ("rust-serde-derive" ,rust-serde-derive-1.0) + ("rust-serde-json" ,rust-serde-json-1.0) + ("rust-tinytemplate" ,rust-tinytemplate-1.0) + ("rust-walkdir" ,rust-walkdir-2.2)) + #:cargo-development-inputs + (("rust-approx" ,rust-approx-0.3) + ("rust-quickcheck" ,rust-quickcheck-0.8) + ("rust-rand" ,rust-rand-0.6) + ("rust-tempdir" ,rust-tempdir-0.3)))))) + +(define-public rust-criterion-plot-0.4 + (package + (name "rust-criterion-plot") + (version "0.4.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "criterion-plot" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0id5sfww0hjxlzvkzacdlgbls3lxza8iysqljr7j7s2qxbh1a7m0")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cast" ,rust-cast-0.2) + ("rust-itertools" ,rust-itertools-0.8)) + #:cargo-development-inputs + (("rust-itertools-num" ,rust-itertools-num-0.1) + ("rust-num-complex" ,rust-num-complex-0.2) + ("rust-rand" ,rust-rand-0.4)))) + (home-page "https://github.com/bheisler/criterion.rs") + (synopsis "Criterion's plotting library") + (description "This package provides criterion's plotting library.") (license (list license:expat license:asl2.0)))) (define-public rust-criterion-plot-0.3 (package + (inherit rust-criterion-plot-0.4) (name "rust-criterion-plot") (version "0.3.1") (source @@ -2179,21 +3046,15 @@ intrinsics.") (sha256 (base32 "13pv09z4ryp70qyzablkibwa2mh6c2852qq1sjr9wjigvwnj3ybn")))) - (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-byteorder" ,rust-byteorder-1.3) ("rust-cast" ,rust-cast-0.2) ("rust-itertools" ,rust-itertools-0.8)) #:cargo-development-inputs (("rust-itertools-num" ,rust-itertools-num-0.1) ("rust-num-complex" ,rust-num-complex-0.2) - ("rust-rand" ,rust-rand-0.4)))) - (home-page "https://github.com/bheisler/criterion.rs") - (synopsis "Criterion's plotting library") - (description "Criterion's plotting library.") - (license (list license:expat license:asl2.0)))) + ("rust-rand" ,rust-rand-0.4)))))) (define-public rust-crossbeam-0.7 (package @@ -2487,6 +3348,31 @@ intrinsics.") #:cargo-development-inputs (("rust-rand" ,rust-rand-0.4)))))) +(define-public rust-crypto-mac-0.7 + (package + (name "rust-crypto-mac") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "crypto-mac" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1rbrq6qy9dl0pj4ym2zy33miaaa8vpzdss60p9bdb58xy46l0d24")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-blobby" ,rust-blobby-0.1) + ("rust-generic-array" ,rust-generic-array-0.12) + ("rust-subtle" ,rust-subtle-1.0)))) + (home-page "https://github.com/RustCrypto/traits") + (synopsis "Trait for Message Authentication Code (MAC) algorithms") + (description "This package provides trait for @dfn{Message Authentication +Code} (MAC) algorithms.") + (license (list license:expat license:asl2.0)))) + (define-public rust-csv-1.1 (package (name "rust-csv") @@ -2517,6 +3403,27 @@ intrinsics.") "Fast CSV parsing with support for serde.") (license (list license:unlicense license:expat)))) +(define-public rust-csv-0.14 + (package + (inherit rust-csv-1.1) + (name "rust-csv") + (version "0.14.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "csv" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1g0qvr9fj25fq1fy0p758glrb30yz7x46h18hsysaqyaswaihv16")))) + (arguments + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder-0.5) + ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)) + #:cargo-development-inputs + (("rust-regex" ,rust-regex-0.1)))))) + (define-public rust-csv-core-0.1 (package (name "rust-csv-core") @@ -2532,8 +3439,7 @@ intrinsics.") "0k5zs0x0qmmn27pa5kcg86lg84s29491fw5sh3zswxswnavasp4v")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-memchr" ,rust-memchr-2.2)) #:cargo-development-inputs (("rust-arrayvec" ,rust-arrayvec-0.4)))) @@ -2666,8 +3572,7 @@ hexadecimal, base32, and base64.") "1fd74bq48xg8ki5yw1mr1pa5hd3j5lbk4iqc5r0kh3l62b0vci2w")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-iso8601" ,rust-iso8601-0.1) ("rust-kernel32-sys" ,rust-kernel32-sys-0.2) ("rust-libc" ,rust-libc-0.2) @@ -2677,7 +3582,7 @@ hexadecimal, base32, and base64.") ("rust-redox-syscall" ,rust-redox-syscall-0.1) ("rust-winapi" ,rust-winapi-0.2)) #:cargo-development-inputs - (;("rust-regex" ,rust-regex-0.1) + (("rust-regex" ,rust-regex-0.1) ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)))) (home-page "https://github.com/rust-datetime/datetime") (synopsis "Library for date and time formatting and arithmetic") @@ -2685,6 +3590,32 @@ hexadecimal, base32, and base64.") and arithmetic.") (license license:expat))) +(define-public rust-deflate-0.7 + (package + (name "rust-deflate") + (version "0.7.20") + (source + (origin + (method url-fetch) + (uri (crate-uri "deflate" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1d7d9fpmgjnznrksmd3vlv3dyw01wsrm11ifil6ag22871xnlyvh")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-adler32" ,rust-adler32-1.0) + ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-gzip-header" ,rust-gzip-header-0.3) + ("rust-flate2" ,rust-flate2-1.0)))) + (home-page "https://github.com/image-rs/deflate-rs") + (synopsis "DEFLATE, zlib and gzip encoder written in rust") + (description + "This package provides a DEFLATE, zlib and gzip encoder written in rust.") + (license (list license:expat license:asl2.0)))) + (define-public rust-defmac-0.2 (package (name "rust-defmac") @@ -2698,7 +3629,6 @@ and arithmetic.") (base32 "14cqfvc0f1pkd6gdhjxa2wv3iibqprc0n203ims8lvg96752ynfm")))) (build-system cargo-build-system) - (arguments '(#:skip-build? #t)) (home-page "https://github.com/bluss/defmac") (synopsis "Macro to define lambda-like macros inline") (description "A macro to define lambda-like macros inline.") @@ -2719,35 +3649,6 @@ and arithmetic.") (base32 "17giv0n0n1r64z0dahfvkjy3ys517jxyhs8sd9lmgvcljpjyryxa")))))) -(define-public rust-cpp-demangle-0.2 - (package - (name "rust-cpp-demangle") - (version "0.2.12") - (source - (origin - (method url-fetch) - (uri (crate-uri "cpp_demangle" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0a4hqsfc0sfdwy7pcr0rc1fjp2j47fxbkqfc2lfrbi4zlm5hq36k")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-afl" ,rust-afl-0.4) - ("rust-cfg-if" ,rust-cfg-if-0.1)) - #:cargo-development-inputs - (("rust-clap" ,rust-clap-2) - ("rust-diff" ,rust-diff-0.1) - ("rust-glob" ,rust-glob-0.3)))) - (home-page "https://github.com/gimli-rs/cpp_demangle") - (synopsis "Demangle C++ symbols") - (description - "This package provides a crate for demangling C++ symbols.") - (license (list license:expat license:asl2.0)))) - (define-public rust-demo-hack-0.0 (package (name "rust-demo-hack") @@ -2763,8 +3664,7 @@ and arithmetic.") "0m0114p1g0zzrdph5bg03i8m8p70vrwn3whs191jrbjcrmh5lmnp")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-demo-hack-impl" ,rust-demo-hack-impl-0.0) ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)))) (home-page "https://github.com/dtolnay/proc-macro-hack") @@ -2787,10 +3687,9 @@ and arithmetic.") "1f1fdl60xjas9wlmcl9v6f56vgm3mzwr019kcifav5464rx3w3ld")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5) - ("rust-quote" ,rust-quote-1.0) + ("rust-quote" ,rust-quote-0.6) ("rust-syn" ,rust-syn-0.15)))) (home-page "https://github.com/dtolnay/proc-macro-hack") (synopsis "Demo of proc-macro-hack") @@ -2800,7 +3699,7 @@ and arithmetic.") (define-public rust-diff-0.1 (package (name "rust-diff") - (version "0.1.11") + (version "0.1.12") (source (origin (method url-fetch) @@ -2809,12 +3708,12 @@ and arithmetic.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0fhavni46a2rib93ig5fgbqmm48ysms5sxzb3h9bp7vp2bwnjarw")))) + "16b40bhsa2qgvgvxs983l625pkxyp6m0mzmpwg2605cvj53yl98f")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-development-inputs - (("rust-quickcheck" ,rust-quickcheck-0.8) + (("rust-quickcheck" ,rust-quickcheck-0.9) ("rust-speculate" ,rust-speculate-0.1)))) (home-page "https://github.com/utkarshkukreti/diff.rs") (synopsis @@ -2994,6 +3893,51 @@ for intentionally leaking memory") Central Dispatch.") (license license:expat))) +(define-public rust-dissimilar-1.0 + (package + (name "rust-dissimilar") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "dissimilar" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "154ba92ifmh3js1k0hbmxz7pv95n8wmahlyvhdbnxggbs8f1dpir")))) + (build-system cargo-build-system) + (home-page "https://github.com/dtolnay/dissimilar") + (synopsis "Diff library with semantic cleanup") + (description + "This package provides a diff library with semantic cleanup, based on +Google's diff-match-patch.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-dlib-0.4 + (package + (name "rust-dlib") + (version "0.4.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "dlib" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0smp2cdvy12xfw26qyqms273w5anszfadv73g75s88yqm54i5rbp")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libloading" ,rust-libloading-0.5)))) + (home-page "https://github.com/vberger/dlib") + (synopsis "Helper macros for manually loading optional system libraries") + (description + "This package provides helper macros for handling manually loading optional +system libraries.") + (license license:expat))) + (define-public rust-doc-comment-0.3 (package (name "rust-doc-comment") @@ -3029,8 +3973,7 @@ from macros.") "0s9rcpmnnivs502q69lc1h1wrwapkq09ikgbfbgqf31idmc5llkz")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-1) ("rust-regex" ,rust-regex-1.1) ("rust-serde" ,rust-serde-1.0) @@ -3040,6 +3983,48 @@ from macros.") (description "Command line argument parsing.") (license (list license:expat license:unlicense)))) +(define-public rust-docopt-0.7 + (package + (inherit rust-docopt-1.1) + (name "rust-docopt") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "docopt" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1n6gbhsks2w9y0b4bwqyawh4ghbkka09w6pjcrq9i1sd51pflcmb")))) + (arguments + `(#:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static-0.2) + ("rust-regex" ,rust-regex-0.2) + ("rust-rustc-serialize" ,rust-rustc-serialize-0.3) + ("rust-strsim" ,rust-strsim-0.6)))))) + +(define-public rust-docopt-0.6 + (package + (inherit rust-docopt-0.7) + (name "rust-docopt") + (version "0.6.86") + (source + (origin + (method url-fetch) + (uri (crate-uri "docopt" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1nf4f4zf5yk0d0l4kl7hkii4na22fhn0l2hgfb46yzv08l2g6zja")))) + (arguments + `(#:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static-0.2) + ("rust-regex" ,rust-regex-0.1) + ("rust-rustc-serialize" ,rust-rustc-serialize-0.3) + ("rust-strsim" ,rust-strsim-0.5)))))) + (define-public rust-downcast-rs-1.1 (package (name "rust-downcast-rs") @@ -3181,6 +4166,32 @@ floating-point primitives to an @code{io::Write}.") @code{Right} is a general purpose sum type with two cases.") (license (list license:expat license:asl2.0)))) +(define-public rust-embed-resource-1.3 + (package + (name "rust-embed-resource") + (version "1.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "embed-resource" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0v1adsw9mq7gjjjhx4hcjhqppdf4vm0gbcgh7sxirbxh99la9axv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-vswhom" ,rust-vswhom-0.1) + ("rust-winreg" ,rust-winreg-0.6)))) + (home-page "https://github.com/nabijaczleweli/rust-embed-resource") + (synopsis + "Cargo library to handle compilation and inclusion of Windows resources") + (description + "This package provides a Cargo library to handle compilation and +inclusion of Windows resources in the most resilient fashion imaginable.") + (license license:expat))) + (define-public rust-encode-unicode-0.3 (package (name "rust-encode-unicode") @@ -3423,7 +4434,7 @@ Standard.") (define-public rust-encoding-rs-io-0.1 (package (name "rust-encoding-rs-io") - (version "0.1.6") + (version "0.1.7") (source (origin (method url-fetch) @@ -3432,11 +4443,10 @@ Standard.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0b7k9p7inkrcanh7h6q4m278y05gmcwi8p5r43h7grzl5dxfw6cn")))) + "10ra4l688cdadd8h1lsbahld1zbywnnqv68366mbhamn3xjwbhqw")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-encoding-rs" ,rust-encoding-rs-0.8)))) (home-page "https://github.com/BurntSushi/encoding_rs_io") (synopsis "Streaming transcoding for encoding_rs") @@ -3556,7 +4566,7 @@ is configured via an environment variable.") (arguments `(#:skip-build? #t ; Cannot find dependent crates. #:cargo-inputs - (;("rust-regex" ,rust-regex-0.1) + (("rust-regex" ,rust-regex-0.1) ("rust-log" ,rust-log-0.3)))))) (define-public rust-envmnt-0.6 @@ -3687,6 +4697,62 @@ is configured via an environment variable.") "Yet another error boilerplate library.") (license (list license:asl2.0 license:expat)))) +(define-public rust-euclid-0.20 + (package + (name "rust-euclid") + (version "0.20.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "euclid" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0pa8kxblvc0s9gia9n0966w7169aswpg7knw2pmwrqa204r2v19z")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-mint" ,rust-mint-0.5) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-serde" ,rust-serde-1.0)) + #:cargo-development-inputs + (("rust-serde-test" ,rust-serde-test-1.0)))) + (home-page "https://github.com/servo/euclid") + (synopsis "Geometry primitives") + (description "Geometry primitives written in Rust.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-expat-sys-2.1 + (package + (name "rust-expat-sys") + (version "2.1.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "expat-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1yj5pqynds776ay8wg9mhi3hvna4fv7vf244yr1864r0i5r1k3v5")) + (modules '((guix build utils))) + (snippet + '(begin (delete-file-recursively "expat") #t)))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cmake" ,rust-cmake-0.1) + ("rust-pkg-config" ,rust-pkg-config-0.3)))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("expat" ,expat))) + (home-page "http://www.libexpat.org/") + (synopsis "XML parser library written in C") + (description "XML parser library written in C") + (license license:expat))) + (define-public rust-fake-simd-0.1 (package (name "rust-fake-simd") @@ -3878,9 +4944,8 @@ cross platform API.") "0c5bmhyimzxch3pmh0w3z9n57saasgix4bmbbksr9vp1c5j71hhz")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-lazy-static" ,rust-lazy-static-1) + `(#:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static-0.2) ("rust-serde" ,rust-serde-1.0) ("rust-serde-derive" ,rust-serde-derive-1.0) ("rust-serde-json" ,rust-serde-json-1.0) @@ -3905,10 +4970,10 @@ cross platform API.") "1b2d7jx80f3p7hqpgdi7wksaiq18k9w23p0cs2sxf7jbx2jx3bgj")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:tests? #f ; Uses features not available in stable Rust release #:cargo-inputs (("rust-flame" ,rust-flame-0.2) - ("rust-quote" ,rust-quote-1.0) + ("rust-quote" ,rust-quote-0.6) ("rust-syn" ,rust-syn-0.15)))) (home-page "https://github.com/llogiq/flamer") (synopsis "Macro to insert @code{flame::start_guard(_)}") @@ -4000,8 +5065,33 @@ implementation that is more efficient for smaller hash keys.") (license (list license:asl2.0 license:expat)))) +(define-public rust-foreign-types-0.5 + (package + (name "rust-foreign-types") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "foreign-types" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0rfr2zfxnx9rz3292z5nyk8qs2iirznn5ff3rd4vgdwza6mdjdyp")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-foreign-types-macros" ,rust-foreign-types-macros-0.2) + ("rust-foreign-types-shared" ,rust-foreign-types-shared-0.3)))) + (home-page "https://github.com/sfackler/foreign-types") + (synopsis "Framework for Rust wrappers over C APIs") + (description + "This package provides a framework for Rust wrappers over C APIs.") + (license (list license:expat license:asl2.0)))) + (define-public rust-foreign-types-0.3 (package + (inherit rust-foreign-types-0.5) (name "rust-foreign-types") (version "0.3.2") (source @@ -4013,23 +5103,41 @@ implementation that is more efficient for smaller hash keys.") (sha256 (base32 "1cgk0vyd7r45cj769jym4a6s7vwshvd0z4bqrb92q1fwibmkkwzn")))) - (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-foreign-types-macros" ,rust-foreign-types-macros-0.1) - ("rust-foreign-types-shared" ,rust-foreign-types-shared-0.1)))) + ("rust-foreign-types-shared" ,rust-foreign-types-shared-0.1)))))) + +(define-public rust-foreign-types-macros-0.2 + (package + (name "rust-foreign-types-macros") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "foreign-types-macros" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0x71sdffjfb123l2jn5vhz0ni09b4rdq3h3gpczd1dj1g5qlr2yv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-quote" ,rust-quote-1.0) + ("rust-syn" ,rust-syn-1.0)))) (home-page "https://github.com/sfackler/foreign-types") - (synopsis "Framework for Rust wrappers over C APIs") + (synopsis "Internal crate used by foreign-types") (description - "This package provides a framework for Rust wrappers over C -APIs.") + "This package is an internal crate used by foreign-types.") (license (list license:expat license:asl2.0)))) (define-public rust-foreign-types-macros-0.1 (package + (inherit rust-foreign-types-macros-0.2) (name "rust-foreign-types-macros") - (version "0.1.0") + (version "0.1.1") (source (origin (method url-fetch) @@ -4038,14 +5146,22 @@ APIs.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "16yjigjcsklcwy2ad32l24k1nwm9n3bsnyhxc3z9whjbsrj60qk6")))) + "0bh6z5rwdhfm987idal8r0ha5svz1li7md5l1g2a5966gya1jns0")))))) + +(define-public rust-foreign-types-shared-0.3 + (package + (name "rust-foreign-types-shared") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "foreign-types-shared" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0mg85r21bxg2i97zl3q8l3cviqz4wcbwziz875wlja3zpcrwz13n")))) (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-proc-macro2" ,rust-proc-macro2-0.4) - ("rust-quote" ,rust-quote-1.0) - ("rust-syn" ,rust-syn-0.15)))) (home-page "https://github.com/sfackler/foreign-types") (synopsis "Internal crate used by foreign-types") (description @@ -4054,6 +5170,7 @@ APIs.") (define-public rust-foreign-types-shared-0.2 (package + (inherit rust-foreign-types-shared-0.3) (name "rust-foreign-types-shared") (version "0.2.0") (source @@ -4063,15 +5180,7 @@ APIs.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0kanxlif1vp0ffh2r9l610jqbkmb3183yqykxq1z5w1vay2rn7y6")))) - (build-system cargo-build-system) - (arguments `(#:skip-build? #t)) - (home-page "https://github.com/sfackler/foreign-types") - (synopsis "Internal crate used by foreign-types") - (description - "An internal crate used by foreign-types.") - (license (list license:asl2.0 - license:expat)))) + "0kanxlif1vp0ffh2r9l610jqbkmb3183yqykxq1z5w1vay2rn7y6")))))) (define-public rust-foreign-types-shared-0.1 (package @@ -4088,6 +5197,63 @@ APIs.") (base32 "0jxgzd04ra4imjv8jgkmdq59kj8fsz6w4zxsbmlai34h26225c00")))))) +(define-public rust-freetype-rs-0.23 + (package + (name "rust-freetype-rs") + (version "0.23.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "freetype-rs" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06yn6l44wad0h0i4nzs5jfq64zgf89xr01fy1w22i90j22ilnkmd")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-freetype-sys" ,rust-freetype-sys-0.9) + ("rust-libc" ,rust-libc-0.2)) + #:cargo-development-inputs + (("rust-unicode-normalization" ,rust-unicode-normalization-0.1)))) + (inputs + `(("freetype" ,freetype) + ("zlib" ,zlib))) + (home-page "https://github.com/PistonDevelopers/freetype-rs") + (synopsis "Bindings for FreeType font library") + (description "This package provides bindings for FreeType font library.") + (license license:expat))) + +(define-public rust-freetype-sys-0.9 + (package + (name "rust-freetype-sys") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "freetype-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1i309xc6gcsgdfiim3j5f0sk08imr4frlzfa185iaxqciysqgikx")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-libz-sys" ,rust-libz-sys-1.0) + ("rust-pkg-config" ,rust-pkg-config-0.3)))) + (inputs + `(("freetype" ,freetype) + ("zlib" ,zlib))) + (home-page "https://github.com/PistonDevelopers/freetype-sys") + (synopsis "Low level binding for FreeType font library") + (description + "This package provides low level binding for FreeType font library.") + (license license:expat))) + (define-public rust-fs-extra-1.1 (package (name "rust-fs-extra") @@ -4109,6 +5275,86 @@ APIs.") process and much more.") (license license:expat))) +(define-public rust-fs2-0.2 + (package + (name "rust-fs2") + (version "0.2.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "fs2" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1vsih93cvds3x6f3w9bc5rnkyv8haix1px4jpcqvjyd9l7ji9m5w")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f + #:cargo-inputs + (("rust-kernel32-sys" ,rust-kernel32-sys-0.2) + ("rust-libc" ,rust-libc-0.2) + ("rust-winapi" ,rust-winapi-0.2)) + #:cargo-development-inputs + (("rust-tempdir" ,rust-tempdir-0.3)))) + (home-page "https://github.com/danburkert/fs2-rs") + (synopsis "File locks and file duplication") + (description + "This package provides cross-platform file locks and file duplication.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-fsevent-0.4 + (package + (name "rust-fsevent") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "fsevent" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1djxnc2fmv265xqf1iyfz56smh13v9r1p0w9125wjg6k3fyx3dss")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t ; only available on macOS + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-fsevent-sys" ,rust-fsevent-sys-2)) + #:cargo-development-inputs + (("rust-tempdir" ,rust-tempdir-0.3) + ("rust-time" ,rust-time-0.1)))) + (home-page "https://github.com/octplane/fsevent-rust") + (synopsis "Rust bindings to the fsevent-sys macOS API") + (description + "This package provides Rust bindings to the @code{fsevent-sys} macOS API +for file changes notifications") + (license license:expat))) + +(define-public rust-fsevent-sys-2 + (package + (name "rust-fsevent-sys") + (version "2.0.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "fsevent-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "18246vxk7rqn52m0sfrhivxq802i34p2wqqx5zsa0pamjj5086zl")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t ; only available on macOS + #:cargo-inputs (("rust-libc" ,rust-libc-0.2)))) + (home-page "https://github.com/octplane/fsevent-rust/tree/master/fsevent-sys") + (synopsis "Rust bindings to the fsevent macOS API") + (description "This package provides Rust bindings to the @code{fsevent} +macOS API for file changes notifications") + (license license:expat))) + (define-public rust-fuchsia-cprng-0.1 (package (name "rust-fuchsia-cprng") @@ -4196,6 +5442,41 @@ pseudorandom number generator") (description "Handling fragments of UTF-8.") (license (list license:asl2.0 license:expat)))) +(define-public rust-futures-0.3 + (package + (name "rust-futures") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "futures" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "11srrbc0hp7pgz142qjfx2z07kfhc98rbfwqyrgm4mxvxib61wdn")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f + #:cargo-inputs + (("rust-futures-channel" ,rust-futures-channel-0.3) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-executor" ,rust-futures-executor-0.3) + ("rust-futures-io" ,rust-futures-io-0.3) + ("rust-futures-sink" ,rust-futures-sink-0.3) + ("rust-futures-task" ,rust-futures-task-0.3) + ("rust-futures-util" ,rust-futures-util-0.3)) + #:cargo-development-inputs + (("rust-assert-matches" ,rust-assert-matches-1.3) + ("rust-pin-utils" ,rust-pin-utils-0.1) + ("rust-tokio" ,rust-tokio-0.1)))) + (home-page "https://rust-lang-nursery.github.io/futures-rs") + (synopsis "Rust implementation of futures and streams") + (description + "A Rust implementation of futures and streams featuring zero allocations, +composability, and iterator-like interfaces.") + (license (list license:expat license:asl2.0)))) + (define-public rust-futures-0.1 (package (name "rust-futures") @@ -4301,11 +5582,11 @@ featuring zero allocations, composability, and iterator-like interfaces.") (base32 "1xaq8m609k6cz8xydwhwp8xxyxigabcw1w9ngycfy0bnkg7iq52b")))) (build-system cargo-build-system) + (arguments '(#:tests? #f)) (home-page "https://rust-lang-nursery.github.io/futures-rs/") (synopsis "Core traits and types in for the @code{futures} library.") (description "This crate provides the core traits and types in for the @code{futures} library.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) @@ -4334,6 +5615,34 @@ the computation on the threads themselves.") (license (list license:asl2.0 license:expat)))) +(define-public rust-futures-executor-0.3 + (package + (name "rust-futures-executor") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "futures-executor" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0cf24wbgxqh4kdjbb557vk1axzmbpmwb8s05ga1nls1zaqv4f9qy")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f + #:cargo-inputs + (("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-task" ,rust-futures-task-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-num-cpus" ,rust-num-cpus-1.11)))) + (home-page "https://rust-lang-nursery.github.io/futures-rs") + (synopsis "Executors for asynchronous tasks based on the futures-rs library") + (description + "This package provides executors for asynchronous tasks based on the +@code{futures-rs} library.") + (license (list license:expat license:asl2.0)))) + (define-public rust-futures-executor-preview-0.3 (package (name "rust-futures-executor-preview") @@ -4403,10 +5712,35 @@ for the futures-rs library.") (synopsis "Async read and write traits for the futures library") (description "This crate provides the @code{AsyncRead} and @code{AsyncWrite} traits for the @code{futures-rs} library.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) +(define-public rust-futures-macro-0.3 + (package + (name "rust-futures-macro") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "futures-macro" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0r3px32wgqfbmfyb1lrj9wplvjris5magdyhfr7xnyjk2mncbrsj")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5) + ("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-quote" ,rust-quote-1.0) + ("rust-syn" ,rust-syn-1.0)))) + (home-page "https://rust-lang-nursery.github.io/futures-rs") + (synopsis "Futures-rs procedural macro implementations") + (description + "This package provides the @code{futures-rs} procedural macro implementations.") + (license (list license:expat license:asl2.0)))) + (define-public rust-futures-select-macro-preview-0.3 (package (name "rust-futures-select-macro-preview") @@ -4422,11 +5756,10 @@ for the futures-rs library.") "1a90ivjzkgz7msiz5si05xzi8xwsk5gar1gkrbmrgqpgkliqd7a6")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5) ("rust-proc-macro2" ,rust-proc-macro2-0.4) - ("rust-quote" ,rust-quote-1.0) + ("rust-quote" ,rust-quote-0.6) ("rust-syn" ,rust-syn-0.15)))) (home-page "https://github.com/rust-lang/futures-rs") (synopsis @@ -4469,12 +5802,14 @@ the futures-rs library.") (base32 "1r4d0gy73hdxkh5g1lrhl1kjnwp6mywjgcj70v0z78b921da42a3")))) (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures-core-preview" ,rust-futures-core-preview-0.3)))) (home-page "https://rust-lang-nursery.github.io/futures-rs/") (synopsis "Asynchronous `Sink` trait for the futures-rs library") (description "This package provides the asynchronous @code{Sink} trait for the futures-rs library.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) @@ -4498,6 +5833,41 @@ futures-rs library.") (description "Tools for working with tasks.") (license (list license:expat license:asl2.0)))) +(define-public rust-futures-util-0.3 + (package + (name "rust-futures-util") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "futures-util" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0xlyqdn6lnpkw27lwxczihx91h64gbdd31n8c8y5v63nzds65mn0")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures" ,rust-futures-0.1) + ("rust-futures-channel" ,rust-futures-channel-0.3) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-io" ,rust-futures-io-0.3) + ("rust-futures-macro" ,rust-futures-macro-0.3) + ("rust-futures-sink" ,rust-futures-sink-0.3) + ("rust-futures-task" ,rust-futures-task-0.3) + ("rust-memchr" ,rust-memchr-2.2) + ("rust-pin-utils" ,rust-pin-utils-0.1) + ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5) + ("rust-proc-macro-nested" ,rust-proc-macro-nested-0.1) + ("rust-slab" ,rust-slab-0.4) + ("rust-tokio-io" ,rust-tokio-io-0.1)))) + (home-page "https://rust-lang-nursery.github.io/futures-rs") + (synopsis "Common utilities and extension traits for the futures-rs library") + (description "This package provides common utilities and extension traits +for the futures-rs library.") + (license (list license:expat license:asl2.0)))) + (define-public rust-futures-util-preview-0.3 (package (name "rust-futures-util-preview") @@ -4590,6 +5960,57 @@ archive to be linked into Rustcode.") (license (list license:asl2.0 license:expat)))) +(define-public rust-gdi32-sys-0.2 + (package + (name "rust-gdi32-sys") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "gdi32-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0605d4ngjsspghwjv4jicajich1gnl0aik9f880ajjzjixd524h9")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-winapi" ,rust-winapi-0.2) + ("rust-winapi-build" ,rust-winapi-build-0.1)))) + (home-page "https://github.com/retep998/winapi-rs") + (synopsis "Function definitions for the Windows API library gdi32") + (description "This package contains function definitions for the Windows +API library @code{gdi32}.") + (license license:expat))) + +(define-public rust-generator-0.6 + (package + (name "rust-generator") + (version "0.6.20") + (source + (origin + (method url-fetch) + (uri (crate-uri "generator" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0f07mwkarwrqrykhkzqpvfnd5crz20dd8l24psn01kiqzc71dana")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-cc" ,rust-cc-1.0) + ("rust-rustc-version" ,rust-rustc-version-0.2)))) + (home-page "https://github.com/Xudong-Huang/generator-rs") + (synopsis "Stackfull Generator Library in Rust") + (description "Stackfull Generator Library in Rust.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-generic-array-0.13 (package (name "rust-generic-array") @@ -4635,6 +6056,30 @@ archive to be linked into Rustcode.") (base32 "1v5jg7djicq34nbiv1dwaki71gkny002wyy9qfn3y0hfmrs053y6")))))) +(define-public rust-genmesh-0.6 + (package + (name "rust-genmesh") + (version "0.6.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "genmesh" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17qybydyblf3hjiw7mq181jpi4vrbb8dmsj0wi347r8k0m354g89")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cgmath" ,rust-cgmath-0.16) + ("rust-mint" ,rust-mint-0.5)))) + (home-page "https://github.com/gfx-rs/genmesh") + (synopsis "Package for generating 3D meshes") + (description + "This package provides a package for generating 3D meshes/") + (license license:asl2.0))) + (define-public rust-getopts-0.2 (package (name "rust-getopts") @@ -4691,6 +6136,33 @@ archive to be linked into Rustcode.") retrieving random data from system source.") (license (list license:expat license:asl2.0)))) +(define-public rust-gif-0.10 + (package + (name "rust-gif") + (version "0.10.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "gif" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1bw174f7civdfgryvc8pvyhicpr96hzdajnda4s3y8iv3ch907a7")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; tests not included in release + #:cargo-inputs + (("rust-color-quant" ,rust-color-quant-1.0) + ("rust-libc" ,rust-libc-0.2) + ("rust-lzw" ,rust-lzw-0.10)) + #:cargo-development-inputs + (("rust-glob" ,rust-glob-0.3)))) + (home-page "https://github.com/image-rs/image-gif") + (synopsis "GIF decoder and encoder") + (description "This package provides a GIF decoder and encoder in Rust.") + (license (list license:expat license:asl2.0)))) + (define-public rust-gimli-0.18 (package (name "rust-gimli") @@ -4730,6 +6202,37 @@ retrieving random data from system source.") DWARF debugging format.") (license (list license:asl2.0 license:expat)))) +(define-public rust-gio-sys-0.9 + (package + (name "rust-gio-sys") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "gio-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "049rafihxp3maxg3fwj6062ni9dcfilvhfq6ibnfgsmr89925bag")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Some test libraries not included in release. + #:cargo-inputs + (("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-gobject-sys" ,rust-gobject-sys-0.9) + ("rust-libc" ,rust-libc-0.2) + ("rust-pkg-config" ,rust-pkg-config-0.3)) + #:cargo-development-inputs + (("rust-shell-words" ,rust-shell-words-0.1) + ("rust-tempfile" ,rust-tempfile-3.1)))) + (inputs + `(("glib" ,glib))) + (home-page "http://gtk-rs.org/") + (synopsis "FFI bindings to libgio-2.0") + (description "This package provides FFI bindings to libgio-2.0.") + (license license:expat))) + (define-public rust-git2-0.11 (package (name "rust-git2") @@ -4805,6 +6308,151 @@ reading and writing git repositories.") ("rust-thread-id" ,rust-thread-id-3.3) ("rust-time" ,rust-time-0.1)))))) +(define-public rust-gl-generator-0.14 + (package + (name "rust-gl-generator") + (version "0.14.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "gl-generator" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0k8j1hmfnff312gy7x1aqjzcm8zxid7ij7dlb8prljib7b1dz58s")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-khronos-api" ,rust-khronos-api-3) + ("rust-log" ,rust-log-0.4) + ("rust-xml-rs" ,rust-xml-rs-0.8)))) + (home-page "https://github.com/brendanzab/gl-rs/") + (synopsis "Code generators for bindings to the Khronos OpenGL APIs") + (description + "Code generators for creating bindings to the Khronos OpenGL APIs.") + (license license:asl2.0))) + +(define-public rust-gl-generator-0.13 + (package + (inherit rust-gl-generator-0.14) + (name "rust-gl-generator") + (version "0.13.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "gl-generator" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jpqjqpyrl73sf8y20p5rv50qz8glnsvv9infg8h4vi52zgbp66a")))))) + +(define-public rust-gl-generator-0.11 + (package + (inherit rust-gl-generator-0.13) + (name "rust-gl-generator") + (version "0.11.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "gl-generator" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1gdchvay0k0g931b2ki33mkfixcw4radk5b8sqsm29rahxg3v8ir")))))) + +(define-public rust-gleam-0.6 + (package + (name "rust-gleam") + (version "0.6.19") + (source + (origin + (method url-fetch) + (uri (crate-uri "gleam" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1iazvk3kvw3620gm6x8hy2x1lz51k04acl78cr3ppryhk5y0vqfa")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-gl-generator" ,rust-gl-generator-0.13)))) + (home-page "https://github.com/servo/gleam") + (synopsis "Generated OpenGL bindings and wrapper for Servo") + (description + "Generated OpenGL bindings and wrapper for Servo.") + (license (list license:asl2.0 license:expat)))) + +(define-public rust-glib-sys-0.9 + (package + (name "rust-glib-sys") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "glib-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1qhnwfqqcp63mx4q9744rfkq78g6ky2j8ppsxxgw0ipl08w6z1cm")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Some test libraries not included in release. + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-pkg-config" ,rust-pkg-config-0.3)) + #:cargo-development-inputs + (("rust-shell-words" ,rust-shell-words-0.1) + ("rust-tempfile" ,rust-tempfile-3.1)))) + (inputs + `(("glib" ,glib))) + (home-page "http://gtk-rs.org/") + (synopsis "FFI bindings to libglib-2.0") + (description "This package provides FFI bindings to libglib-2.0.") + (license license:expat))) + +(define-public rust-glium-0.25 + (package + (name "rust-glium") + (version "0.25.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "glium" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0mhjly07x10lxg802ppg16wbxddhh4fdnlg10i99qwpfamvqhzbd")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-backtrace" ,rust-backtrace-0.3) + ("rust-fnv" ,rust-fnv-1.0) + ("rust-glutin" ,rust-glutin-0.21) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-smallvec" ,rust-smallvec-0.6) + ("rust-takeable-option" ,rust-takeable-option-0.4)) + #:cargo-development-inputs + (("rust-cgmath" ,rust-cgmath-0.17) + ("rust-genmesh" ,rust-genmesh-0.6) + ("rust-gl-generator" ,rust-gl-generator-0.11) + ("rust-image" ,rust-image-0.21) + ("rust-obj" ,rust-obj-0.9) + ("rust-rand" ,rust-rand-0.6)))) + (home-page "https://github.com/glium/glium") + (synopsis + "OpenGL wrapper") + (description + "Glium is an intermediate layer between OpenGL and your application. You +still need to manually handle the graphics pipeline, but without having to use +OpenGL's old and error-prone API.") + (license license:asl2.0))) + (define-public rust-glob-0.3 (package (name "rust-glob") @@ -4878,6 +6526,106 @@ the process of matching one or more glob patterns against a single candidate path simultaneously, and returning all of the globs that matched.") (license (list license:expat license:unlicense)))) +(define-public rust-glutin-0.22 + (package + (name "rust-glutin") + (version "0.22.0-alpha5") + (source + (origin + (method url-fetch) + (uri (crate-uri "glutin" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0lilr4f335m1fq1acmshd51zblfaglw1hha6lhalnc1fw3cg0aag")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-android-glue" ,rust-android-glue-0.2) + ("rust-cgl" ,rust-cgl-0.3) + ("rust-cocoa" ,rust-cocoa-0.19) + ("rust-core-foundation" ,rust-core-foundation-0.6) + ("rust-core-graphics" ,rust-core-graphics-0.17) + ("rust-glutin-egl-sys" ,rust-glutin-egl-sys-0.1) + ("rust-glutin-emscripten-sys" ,rust-glutin-emscripten-sys-0.1) + ("rust-glutin-gles2-sys" ,rust-glutin-gles2-sys-0.1) + ("rust-glutin-glx-sys" ,rust-glutin-glx-sys-0.1) + ("rust-glutin-wgl-sys" ,rust-glutin-wgl-sys-0.1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libloading" ,rust-libloading-0.5) + ("rust-log" ,rust-log-0.4) + ("rust-objc" ,rust-objc-0.2) + ("rust-osmesa-sys" ,rust-osmesa-sys-0.1) + ("rust-parking-lot" ,rust-parking-lot-0.9) + ("rust-wayland-client" ,rust-wayland-client-0.23) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-winit" ,rust-winit-0.20)))) + (home-page "https://github.com/tomaka/glutin") + (synopsis + "Cross-platform OpenGL context provider") + (description + "Cross-platform OpenGL context provider.") + (license license:asl2.0))) + +(define-public rust-glutin-0.21 + (package + (inherit rust-glutin-0.22) + (name "rust-glutin") + (version "0.21.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "glutin" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ggyyqn7dvz4yx5ygqfvnxwfb78wvdm5y6xqw5my1b4x61dv6wak")))) + (arguments + `(#:cargo-inputs + (("rust-android-glue" ,rust-android-glue-0.2) + ("rust-cgl" ,rust-cgl-0.2) + ("rust-cocoa" ,rust-cocoa-0.18) + ("rust-core-foundation" ,rust-core-foundation-0.6) + ("rust-core-graphics" ,rust-core-graphics-0.17) + ("rust-glutin-egl-sys" ,rust-glutin-egl-sys-0.1) + ("rust-glutin-emscripten-sys" ,rust-glutin-emscripten-sys-0.1) + ("rust-glutin-gles2-sys" ,rust-glutin-gles2-sys-0.1) + ("rust-glutin-glx-sys" ,rust-glutin-glx-sys-0.1) + ("rust-glutin-wgl-sys" ,rust-glutin-wgl-sys-0.1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libloading" ,rust-libloading-0.5) + ("rust-objc" ,rust-objc-0.2) + ("rust-osmesa-sys" ,rust-osmesa-sys-0.1) + ("rust-parking-lot" ,rust-parking-lot-0.9) + ("rust-wayland-client" ,rust-wayland-client-0.21) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-winit" ,rust-winit-0.19)))))) + +(define-public rust-glutin-egl-sys-0.1 + (package + (name "rust-glutin-egl-sys") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "glutin-egl-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0k1x1frdp4wp47qkai8zzmgqxzpfcn7780m29qgd92lbnbrxwbkp")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-winapi" ,rust-winapi-0.3) + ("rust-gl-generator" ,rust-gl-generator-0.13)))) + (home-page "https://github.com/rust-windowing/glutin") + (synopsis "Egl bindings for glutin") + (description "The egl bindings for glutin.") + (license license:asl2.0))) + (define-public rust-glutin-emscripten-sys-0.1 (package (name "rust-glutin-emscripten-sys") @@ -4897,6 +6645,104 @@ path simultaneously, and returning all of the globs that matched.") (description "The emscripten bindings for glutin.") (license license:asl2.0))) +(define-public rust-glutin-gles2-sys-0.1 + (package + (name "rust-glutin-gles2-sys") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "glutin_gles2_sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1pswvl5zyqmqwzjr674yzslj0al2xbqsp2ai9ggb9qbshlq6r6c9")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-objc" ,rust-objc-0.2) + ("rust-gl-generator" ,rust-gl-generator-0.11)))) + (home-page "https://github.com/tomaka/glutin") + (synopsis "The gles2 bindings for glutin") + (description "The gles2 bindings for glutin.") + (license license:asl2.0))) + +(define-public rust-glutin-glx-sys-0.1 + (package + (name "rust-glutin-glx-sys") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "glutin-glx-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0mxs3mil68xqqb49466n5rpwpcllj6fwqjgrcrzzmz26bv5ab40j")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-x11-dl" ,rust-x11-dl-2) + ("rust-gl-generator" ,rust-gl-generator-0.11)))) + (home-page "https://github.com/tomaka/glutin") + (synopsis "Glx bindings for glutin") + (description "The glx bindings for glutin.") + (license license:asl2.0))) + +(define-public rust-glutin-wgl-sys-0.1 + (package + (name "rust-glutin-wgl-sys") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "glutin-wgl-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "08chlfzpj59q36qm212i4k879gvjzha7i90q90fds8pw3v4vn0gq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-gl-generator" ,rust-gl-generator-0.11)))) + (home-page "https://github.com/tomaka/glutin") + (synopsis "Wgl bindings for glutin") + (description "The wgl bindings for glutin.") + (license license:asl2.0))) + +(define-public rust-gobject-sys-0.9 + (package + (name "rust-gobject-sys") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "gobject-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1nakflbp3gjaas4fw7sn3p1p32khyfpcq1h06z7yqd10yq2ail9i")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Some test libraries not included in release. + #:cargo-inputs + (("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-libc" ,rust-libc-0.2) + ("rust-pkg-config" ,rust-pkg-config-0.3)) + #:cargo-development-inputs + (("rust-shell-words" ,rust-shell-words-0.1) + ("rust-tempfile" ,rust-tempfile-3.1)))) + (inputs + `(("glib" ,glib))) + (home-page "http://gtk-rs.org/") + (synopsis "FFI bindings to libgobject-2.0") + (description "This package provides FFI bindings to libgobject-2.0.") + (license license:expat))) + (define-public rust-goblin-0.0 (package (name "rust-goblin") @@ -5140,6 +6986,30 @@ standard printing of search results, similar to grep itself.") "Fast line oriented regex searching as a library.") (license (list license:unlicense license:expat)))) +(define-public rust-gzip-header-0.3 + (package + (name "rust-gzip-header") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "gzip-header" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fg6vm8sgsm69szwqyz7abfbyziv6pv0jkcailimlamvsfrzwc81")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-crc32fast" ,rust-crc32fast-1.2)))) + (home-page "https://github.com/oyvindln/gzip-header") + (synopsis "Decoding and encoding the header part of gzip files") + (description + "This package provides a crate for decoding and encoding the header part +of gzip files based on the gzip header implementation in the @code{flate2} crate.") + (license (list license:expat license:asl2.0)))) + (define-public rust-half-1.3 (package (name "rust-half") @@ -5393,7 +7263,7 @@ hexadecimal representation.") (define-public rust-hex-literal-0.2 (package (name "rust-hex-literal") - (version "0.2.0") + (version "0.2.1") (source (origin (method url-fetch) @@ -5402,11 +7272,10 @@ hexadecimal representation.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0ni2nv3di0jpih2xnmlnr6s96zypkdr8xrw2cvk4f8fx5wb6inn3")))) + "1q36f0qq31ggh4ipcwb7a5g6jmci2010vn2v3qpaz4csxhhf47cn")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-hex-literal-impl" ,rust-hex-literal-impl-0.2) ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)))) (home-page "https://github.com/RustCrypto/utils") @@ -5417,10 +7286,29 @@ hexadecimal representation.") compile time.") (license (list license:asl2.0 license:expat)))) +(define-public rust-hex-literal-0.1 + (package + (inherit rust-hex-literal-0.2) + (name "rust-hex-literal") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "hex-literal" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ffnn5g9q5xhdmzj2ic5hk9y18kyqflbmqcssqcya9gixs5r5hnx")))) + (arguments + `(#:cargo-inputs + (("rust-hex-literal-impl" ,rust-hex-literal-impl-0.1) + ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.4)))))) + (define-public rust-hex-literal-impl-0.2 (package (name "rust-hex-literal-impl") - (version "0.2.0") + (version "0.2.1") (source (origin (method url-fetch) @@ -5429,11 +7317,10 @@ compile time.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "04m6d1k57a9h3hhdgn0vq1hkfwjv9hfkw6q73bqn0my0qw45s286")))) + "0bgldhp5gdwwnikfdxigmz9b64qpgwbjqk6mfgv0pvig9s25qk4x")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)))) (home-page "https://github.com/RustCrypto/utils") (synopsis "Internal implementation of the hex-literal crate") @@ -5441,6 +7328,48 @@ compile time.") "Internal implementation of the hex-literal crate.") (license (list license:asl2.0 license:expat)))) +(define-public rust-hex-literal-impl-0.1 + (package + (inherit rust-hex-literal-impl-0.2) + (name "rust-hex-literal-impl") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "hex-literal-impl" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1nnxqhyn9l998ma04ip79bmpqv1as6003s03g26ynhrr471p022j")))) + (arguments + `(#:cargo-inputs + (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.4)))))) + +(define-public rust-hostname-0.1 + (package + (name "rust-hostname") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "hostname" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "0kprf862qaa7lwdms6aw7f3275h0j2rwhs9nz5784pm8hdmb9ki1")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-winutil" ,rust-winutil-0.1)))) + (home-page "https://github.com/svartalf/hostname") + (synopsis "Get hostname for Rust") + (description + "Get hostname for Rust.") + (license license:expat))) + (define-public rust-html5ever-0.23 (package (name "rust-html5ever") @@ -5456,18 +7385,17 @@ compile time.") "1dx8k7synrmf3fl6gcfm5q1cybfglvhc9xnvly3s5xcc0b45mrjw")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-log" ,rust-log-0.4) ("rust-mac" ,rust-mac-0.1) - ("rust-markup5ever" ,rust-markup5ever-0.8)) + ("rust-markup5ever" ,rust-markup5ever-0.8) + ("rust-proc-macro2" ,rust-proc-macro2-0.4) + ("rust-quote" ,rust-quote-0.6) + ("rust-syn" ,rust-syn-0.15)) #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.2) - ("rust-proc-macro2" ,rust-proc-macro2-0.4) - ("rust-quote" ,rust-quote-1.0) ("rust-rustc-serialize" ,rust-rustc-serialize-0.3) ("rust-rustc-test" ,rust-rustc-test-0.3) - ("rust-syn" ,rust-syn-0.15) ("rust-typed-arena" ,rust-typed-arena-1.4)))) (home-page "https://github.com/servo/html5ever") (synopsis "High-performance browser-grade HTML5 parser") @@ -5509,6 +7437,33 @@ compile time.") requests and responses.") (license (list license:asl2.0 license:expat)))) +(define-public rust-http-req-0.5 + (package + (name "rust-http-req") + (version "0.5.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "http_req" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0qaw43nwvvxbnqddxhb9fh9316dn64nmkzj08pq8n49qdy51xrys")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + ;; Haven't packaged rustls and webpki because of license + (("rust-native-tls" ,rust-native-tls-0.2) + ("rust-unicase" ,rust-unicase-2.4)))) + (home-page "https://github.com/jayjamesjay/http_req") + (synopsis + "HTTP client with built-in HTTPS support") + (description + "Simple and lightweight HTTP client with built-in HTTPS support.") + (license license:expat))) + (define-public rust-httparse-1.3 (package (name "rust-httparse") @@ -5578,30 +7533,6 @@ SystemTime}}.") (base32 "057ilhy6vc9iqhhby5ymh45m051pgxwq2z437gwkbnqhw7rfb9rw")))))) -(define-public rust-hostname-0.1 - (package - (name "rust-hostname") - (version "0.1.5") - (source - (origin - (method url-fetch) - (uri (crate-uri "hostname" version)) - (file-name (string-append name "-" version ".crate")) - (sha256 - (base32 - "0kprf862qaa7lwdms6aw7f3275h0j2rwhs9nz5784pm8hdmb9ki1")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-libc" ,rust-libc-0.2) - ("rust-winutil" ,rust-winutil-0.1)))) - (home-page "https://github.com/svartalf/hostname") - (synopsis "Get hostname for Rust") - (description - "Get hostname for Rust.") - (license license:expat))) - (define-public rust-idna-0.2 (package (name "rust-idna") @@ -5679,7 +7610,8 @@ SystemTime}}.") ("rust-regex" ,rust-regex-1.1) ("rust-same-file" ,rust-same-file-1.0) ("rust-thread-local" ,rust-thread-local-1.0) - ("rust-walkdir" ,rust-walkdir-2.2)))) + ("rust-walkdir" ,rust-walkdir-2.2) + ("rust-winapi-util" ,rust-winapi-util-0.1)))) (home-page "https://github.com/BurntSushi/ripgrep/tree/master/ignore") (synopsis "Efficiently match ignore files such as .gitignore") (description @@ -5687,6 +7619,106 @@ SystemTime}}.") ignore files such as .gitignore against file paths.") (license (list license:unlicense license:expat)))) +(define-public rust-image-0.22 + (package + (name "rust-image") + (version "0.22.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "image" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jpbd0p1q7xx6395ba9ikz2k4cfp26qczisa8m2v15w3hzd2mv88")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Some test images are missing from the release. + #:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1.3) + ("rust-gif" ,rust-gif-0.10) + ("rust-jpeg-decoder" ,rust-jpeg-decoder-0.1) + ("rust-num-iter" ,rust-num-iter-0.1) + ("rust-num-rational" ,rust-num-rational-0.2) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-png" ,rust-png-0.15) + ("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1) + ("rust-tiff" ,rust-tiff-0.3)) + #:cargo-development-inputs + (("rust-crc32fast" ,rust-crc32fast-1.2) + ("rust-glob" ,rust-glob-0.3) + ("rust-num-complex" ,rust-num-complex-0.2) + ("rust-quickcheck" ,rust-quickcheck-0.9)))) + (home-page "https://github.com/image-rs/image") + (synopsis "Imaging library written in Rust") + (description + "Imaging library written in Rust. Provides basic filters and decoders +for the most common image formats.") + (license license:expat))) + +(define-public rust-image-0.21 + (package + (inherit rust-image-0.22) + (name "rust-image") + (version "0.21.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "image" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1sv534xp8yyn7jj0q6yn2bgng1350f962g81sv8v7c6pgi31wdrm")))) + (arguments + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1.3) + ("rust-gif" ,rust-gif-0.10) + ("rust-jpeg-decoder" ,rust-jpeg-decoder-0.1) + ("rust-lzw" ,rust-lzw-0.10) + ("rust-num-iter" ,rust-num-iter-0.1) + ("rust-num-rational" ,rust-num-rational-0.2) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-png" ,rust-png-0.14) + ("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1) + ("rust-tiff" ,rust-tiff-0.2)) + #:cargo-development-inputs + (("rust-glob" ,rust-glob-0.3) + ("rust-num-complex" ,rust-num-complex-0.2) + ("rust-quickcheck" ,rust-quickcheck-0.6)))))) + +(define-public rust-image-0.20 + (package + (inherit rust-image-0.21) + (name "rust-image") + (version "0.20.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "image" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "01058n0jcw25pq5shn7lkvywv8c28xsxb3nwwyb4r16ijm1mnrj4")))) + (arguments + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1.3) + ("rust-gif" ,rust-gif-0.10) + ("rust-jpeg-decoder" ,rust-jpeg-decoder-0.1) + ("rust-lzw" ,rust-lzw-0.10) + ("rust-num-iter" ,rust-num-iter-0.1) + ("rust-num-rational" ,rust-num-rational-0.2) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-png" ,rust-png-0.12) + ("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1) + ("rust-tiff" ,rust-tiff-0.2)) + #:cargo-development-inputs + (("rust-glob" ,rust-glob-0.2) + ("rust-num-complex" ,rust-num-complex-0.2) + ("rust-quickcheck" ,rust-quickcheck-0.6)))))) + (define-public rust-indexmap-1.0 (package (name "rust-indexmap") @@ -5729,6 +7761,80 @@ This crate was initially published under the name ordermap, but it was renamed to indexmap.") (license (list license:expat license:asl2.0)))) +(define-public rust-inflate-0.4 + (package + (name "rust-inflate") + (version "0.4.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "inflate" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1zxjdn8iwa0ssxrnjmywm3r1v284wryvzrf8vkc7nyf5ijbjknqw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-adler32" ,rust-adler32-1.0)))) + (home-page "https://github.com/PistonDevelopers/inflate.git") + (synopsis "DEFLATE decoding") + (description "This package provides DEFLATE decoding.") + (license license:expat))) + +(define-public rust-inotify-0.6 + (package + (name "rust-inotify") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "inotify" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0627k5aq44knjlrc09hl017nxap3svpl79przf26y3ciycwlbda0")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-futures" ,rust-futures-0.1) + ("rust-inotify-sys" ,rust-inotify-sys-0.1) + ("rust-libc" ,rust-libc-0.2) + ("rust-mio" ,rust-mio-0.6) + ("rust-tokio-io" ,rust-tokio-io-0.1) + ("rust-tokio-reactor" ,rust-tokio-reactor-0.1)) + #:cargo-development-inputs + (("rust-tempdir" ,rust-tempdir-0.3)))) + (home-page "https://github.com/inotify-rs/inotify") + (synopsis "Idiomatic wrapper for inotify") + (description "This package provides an idiomatic wrapper for inotify written +in Rust.") + (license license:isc))) + +(define-public rust-inotify-sys-0.1 + (package + (name "rust-inotify-sys") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "inotify-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1h2nwgajz80qddjm4mpma94zahxw84nscbycy9pgzbjrgjl1ljp7")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)))) + (home-page "https://github.com/inotify-rs/inotify-sys") + (synopsis "Inotify bindings for Rust") + (description + "This package provides inotify bindings for the Rust programming language.") + (license license:isc))) + (define-public rust-insta-0.8 (package (name "rust-insta") @@ -5765,6 +7871,36 @@ renamed to indexmap.") "This package provides a snapshot testing library for Rust.") (license license:asl2.0))) +(define-public rust-instant-0.1 + (package + (name "rust-instant") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "instant" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1bwca9fr29a1pyimfl94q6m6k2l57ljw1hhhvjafzs1zkqlnqd3c")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-stdweb" ,rust-stdweb-0.4) + ("rust-time" ,rust-time-0.1) + ("rust-web-sys" ,rust-web-sys-0.3)) + #:cargo-development-inputs + (("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2)))) + (home-page "https://github.com/sebcrozet/instant") + (synopsis + "Partial replacement for std::time::Instant that works on WASM too") + (description + "This package provides a partial replacement for @code{std::time::Instant} +that works on WASM too.") + (license license:bsd-3))) + (define-public rust-intervaltree-0.2 (package (name "rust-intervaltree") @@ -5965,65 +8101,6 @@ primitives to an @code{io::Write}.") (base32 "18g7p2hrb3dk84z3frfgmszfc9hjb4ps9vp99qlb1kmf9gm8hc5f")))))) -(define-public rust-jobserver-0.1 - (package - (name "rust-jobserver") - (version "0.1.19") - (source - (origin - (method url-fetch) - (uri (crate-uri "jobserver" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1q2w80v8p2pbfm8ayhjs6zi11a1hp4535z4ck8kg872z8ldnrc37")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-libc" ,rust-libc-0.2)) - #:cargo-development-inputs - (("rust-futures" ,rust-futures-0.1) - ("rust-num-cpus" ,rust-num-cpus-1.10) - ("rust-tempdir" ,rust-tempdir-0.3) - ("rust-tokio-core" ,rust-tokio-core-0.1) - ("rust-tokio-process" ,rust-tokio-process-0.2)))) - (home-page "https://github.com/alexcrichton/jobserver-rs") - (synopsis "GNU make jobserver for Rust") - (description - "An implementation of the GNU make jobserver for Rust.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-js-sys-0.3 - (package - (name "rust-js-sys") - (version "0.3.24") - (source - (origin - (method url-fetch) - (uri (crate-uri "js-sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "045fgafggkjdfg4f33vb87silyl9xpbifrhx1ciqi4wvm90nzhga")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)) - #:cargo-development-inputs - (("rust-futures" ,rust-futures-0.1) - ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.3) - ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2)))) - (home-page "https://rustwasm.github.io/wasm-bindgen/") - (synopsis "Bindings for all JS global objects and functions in WASM") - (description - "Bindings for all JS global objects and functions in all JS environments -like Node.js and browsers, built on @code{#[wasm_bindgen]} using the -wasm-bindgen crate.") - (license (list license:asl2.0 license:expat)))) - (define-public rust-jemalloc-sys-0.3 (package (name "rust-jemalloc-sys") @@ -6062,6 +8139,24 @@ wasm-bindgen crate.") (license (list license:asl2.0 license:expat)))) +(define-public rust-jemalloc-sys-0.1 + (package + (inherit rust-jemalloc-sys-0.3) + (name "rust-jemalloc-sys") + (version "0.1.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "jemalloc-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1bh07rlzgg39ys1lsgnpxgvjj6blagp2h17fx267d0g3a272rimz")) + (modules '((guix build utils))) + (snippet + '(begin (delete-file-recursively "jemalloc") #t)))))) + (define-public rust-jemallocator-0.3 (package (name "rust-jemallocator") @@ -6089,6 +8184,122 @@ wasm-bindgen crate.") "This package provides a Rust allocator backed by jemalloc.") (license (list license:expat license:asl2.0)))) +(define-public rust-jemallocator-0.1 + (package + (inherit rust-jemallocator-0.3) + (name "rust-jemallocator") + (version "0.1.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "jemallocator" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1csabk36p06nlh3qxxsg6nkf074b2jq2cld5zriq0xazqqmd834z")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-jemalloc-sys" ,rust-jemalloc-sys-0.1) + ("rust-libc" ,rust-libc-0.2)) + #:phases + (modify-phases %standard-phases + (add-after 'configure 'override-jemalloc + (lambda* (#:key inputs #:allow-other-keys) + (let ((jemalloc (assoc-ref inputs "jemalloc"))) + (setenv "JEMALLOC_OVERRIDE" + (string-append jemalloc "/lib/libjemalloc_pic.a"))) + #t))))) + (native-inputs + `(("jemalloc" ,jemalloc))))) + +(define-public rust-jobserver-0.1 + (package + (name "rust-jobserver") + (version "0.1.19") + (source + (origin + (method url-fetch) + (uri (crate-uri "jobserver" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1q2w80v8p2pbfm8ayhjs6zi11a1hp4535z4ck8kg872z8ldnrc37")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2)) + #:cargo-development-inputs + (("rust-futures" ,rust-futures-0.1) + ("rust-num-cpus" ,rust-num-cpus-1.10) + ("rust-tempdir" ,rust-tempdir-0.3) + ("rust-tokio-core" ,rust-tokio-core-0.1) + ("rust-tokio-process" ,rust-tokio-process-0.2)))) + (home-page "https://github.com/alexcrichton/jobserver-rs") + (synopsis "GNU make jobserver for Rust") + (description + "An implementation of the GNU make jobserver for Rust.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-jpeg-decoder-0.1 + (package + (name "rust-jpeg-decoder") + (version "0.1.18") + (source + (origin + (method url-fetch) + (uri (crate-uri "jpeg-decoder" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0lc428qgffh2a1agkq0p26mvf9rjaiswpywy5883j99mqypg0mh2")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Some test files missing. + #:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1.3) + ("rust-rayon" ,rust-rayon-1.1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-png" ,rust-png-0.14) + ("rust-walkdir" ,rust-walkdir-2.2)))) + (home-page "https://github.com/image-rs/jpeg-decoder") + (synopsis "JPEG decoder") + (description "JPEG decoder written in Rust.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-js-sys-0.3 + (package + (name "rust-js-sys") + (version "0.3.35") + (source + (origin + (method url-fetch) + (uri (crate-uri "js-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ybwazllkbif71i195dadgrsw64k6l04ggk5yimiy5c2cb1wg2bq")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)) + #:cargo-development-inputs + (("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4) + ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)))) + (home-page "https://rustwasm.github.io/wasm-bindgen/") + (synopsis "Bindings for all JS global objects and functions in WASM") + (description + "Bindings for all JS global objects and functions in all JS environments +like Node.js and browsers, built on @code{#[wasm_bindgen]} using the +wasm-bindgen crate.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-json-0.11 (package (name "rust-json") @@ -6228,6 +8439,42 @@ requires non-const function calls to be computed.") (arguments `(#:cargo-inputs (("rust-spin" ,rust-spin-0.5)))))) +(define-public rust-lazy-static-0.2 + (package + (inherit rust-lazy-static-1.4) + (name "rust-lazy-static") + (version "0.2.11") + (source + (origin + (method url-fetch) + (uri (crate-uri "lazy_static" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0wxy8vak7jsx6r8gx475pjqpx11p2bfq4wvw6idmqi31mp3k7w3n")))) + (arguments + `(#:tests? #f ; Tests fail to compile. + #:cargo-inputs + (("rust-compiletest-rs" ,rust-compiletest-rs-0.3) + ("rust-spin" ,rust-spin-0.4)))))) + +(define-public rust-lazy-static-0.1 + (package + (inherit rust-lazy-static-0.2) + (name "rust-lazy-static") + (version "0.1.16") + (source + (origin + (method url-fetch) + (uri (crate-uri "lazy_static" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "05vl1h4b0iv800grsdyc3fg2bq29p70wjav6zpjvxxd5i8d6s66g")))) + (arguments '()))) + (define-public rust-lazycell-1.2 (package (name "rust-lazycell") @@ -6421,6 +8668,29 @@ allows loading dynamic libraries (also known as shared libraries) as well as use functions and static variables these libraries contain.") (license license:isc))) +(define-public rust-libloading-0.3 + (package + (inherit rust-libloading-0.5) + (name "rust-libloading") + (version "0.3.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "libloading" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0risz19rllhdc0d7nkpwkf4pcbjjgg1iim0kkmzb6kkp874hl0ha")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Some test libraries not included in release. + #:cargo-inputs + (("rust-kernel32-sys" ,rust-kernel32-sys-0.2) + ("rust-lazy-static" ,rust-lazy-static-0.2) + ("rust-winapi" ,rust-winapi-0.2) + ("rust-target-build-utils" ,rust-target-build-utils-0.3)))))) + (define-public rust-libm-0.2 (package (name "rust-libm") @@ -6460,6 +8730,164 @@ functions and static variables these libraries contain.") (base32 "16pc0gx4gkg0q2s1ssq8268brn14j8344623vwhadmivc4lsmivz")))))) +(define-public rust-libnghttp2-sys-0.1 + (package + (name "rust-libnghttp2-sys") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "libnghttp2-sys" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "0qr4lyh7righx9n22c7amlcpk906rn1jnb2zd6gdfpa3yi24s982")))) + (build-system cargo-build-system) + ;(inputs + ; `(("nghttp2" ,nghttp2))) + (home-page "https://github.com/alexcrichton/nghttp2-rs") + (synopsis "FFI bindings for libnghttp2 (nghttp2)") + (description + "This package provides FFI bindings for libnghttp2 (nghttp2).") + (properties '((hidden? . #t))) + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-libz-sys-1.0 + (package + (name "rust-libz-sys") + (version "1.0.25") + (source + (origin + (method url-fetch) + (uri (crate-uri "libz-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1gjycyl2283525abks98bhxa4r259m617xfm5z52p3p3c8ry9d9f")) + (modules '((guix build utils))) + (snippet + '(begin (delete-file-recursively "src/zlib") #t)))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ;; Build dependencies: + ("rust-cc" ,rust-cc-1.0) + ("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-vcpkg" ,rust-vcpkg-0.2)))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("zlib" ,zlib))) + (home-page "https://github.com/rust-lang/libz-sys") + (synopsis "Bindings to the system libz library") + (description + "This package provides bindings to the system @code{libz} library (also +known as zlib).") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-line-drawing-0.7 + (package + (name "rust-line-drawing") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "line_drawing" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1fcna7hq1g1kkkqy07hydscx5d2zgb6gskz3vnsvsif8h8ysvisw")))) + (build-system cargo-build-system) + (arguments + ;; This version does not specify any versions on dependants. + `(#:tests? #f ; Cannot compile line_drawing for the test suite. + #:cargo-inputs + (("rust-num-traits" ,rust-num-traits-0.2)) + #:cargo-development-inputs + (("rust-bresenham" ,rust-bresenham-0.1) + ("rust-image" ,rust-image-0.22) ; 0.17? + ("rust-rand" ,rust-rand-0.6)))) + (home-page "https://github.com/expenses/line_drawing") + (synopsis "Collection of line-drawing algorithms") + (description + "This package provides a collection of line-drawing algorithms for use in +graphics and video games.") + (license license:expat))) + +(define-public rust-linked-hash-map-0.5 + (package + (name "rust-linked-hash-map") + (version "0.5.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "linked-hash-map" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10qgbvh00q36ql0jh00rxh2jlq6qvl11n6mig0cvkpf4xf5bd4df")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-clippy" ,rust-clippy-0.0) + ("rust-heapsize" ,rust-heapsize-0.4) + ("rust-serde" ,rust-serde-1.0) + ("rust-serde-test" ,rust-serde-test-1.0)))) + (home-page + "https://github.com/contain-rs/linked-hash-map") + (synopsis + "HashMap wrapper that holds key-value pairs in insertion order") + (description + "This package provides a HashMap wrapper that holds key-value +pairs in insertion order.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-linked-hash-map-0.4 + (package + (inherit rust-linked-hash-map-0.5) + (name "rust-linked-hash-map") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "linked-hash-map" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fd958y02ggwpa2246kmjky9xmnww7vxg0ik3rxgy23hgwlyqq3q")))) + (arguments + `(#:cargo-inputs + (("rust-clippy" ,rust-clippy-0.0) + ("rust-heapsize" ,rust-heapsize-0.3) + ("rust-serde" ,rust-serde-0.9) + ("rust-serde-test" ,rust-serde-test-0.9)))))) + +(define-public rust-linked-hash-map-0.3 + (package + (inherit rust-linked-hash-map-0.5) + (name "rust-linked-hash-map") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "linked-hash-map" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1kaf95grvfqchxn8pl0854g8ab0fzl56217hndhhhz5qqm2j09kd")))) + (arguments + `(#:cargo-inputs + (("rust-clippy" ,rust-clippy-0.0) + ("rust-serde" ,rust-serde-0.8) + ("rust-serde-test" ,rust-serde-test-0.8)))))) + (define-public rust-libssh2-sys-0.2 (package (name "rust-libssh2-sys") @@ -6526,6 +8954,34 @@ functions and static variables these libraries contain.") "This package provides a library for basic localisation.") (license license:expat))) +(define-public rust-locale-config-0.3 + (package + (name "rust-locale-config") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "locale_config" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0d399alr1i7h7yji4vydbdbzd8hp0xaykr7h4rn3yj7l2rdw7lh8")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static-1) + ("rust-objc" ,rust-objc-0.2) + ("rust-objc-foundation" ,rust-objc-foundation-0.1) + ("rust-regex" ,rust-regex-1.3) + ("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/rust-locale/locale_config/") + (synopsis "Maintains locale preferences for processes and threads") + (description + "Maintains locale preferences for process and thread and initialises them +by inspecting the system for user preference.") + (license license:expat))) + (define-public rust-lock-api-0.3 (package (name "rust-lock-api") @@ -6541,8 +8997,7 @@ functions and static variables these libraries contain.") "0yzlz7f5xl5sm129dq8jqsrcrkyv7jjnqwd4zr4ijsdlxjaxxckr")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-owning-ref" ,rust-owning-ref-0.4) ("rust-scopeguard" ,rust-scopeguard-1.0) ("rust-serde" ,rust-serde-1.0)))) @@ -6583,8 +9038,7 @@ functions and static variables these libraries contain.") (base32 "0b24q9mh258xa52ap636q1sxz0j5vrnp0hwbbh7ddjka3wwz3sv2")))) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-scopeguard" ,rust-scopeguard-0.3) ("rust-owning-ref" ,rust-owning-ref-0.4)))))) @@ -6643,12 +9097,11 @@ functions and static variables these libraries contain.") "1jmp5mffwwyqgp914cwz92ij2s6vk1hsnkvgndvzw74xrcfraibj")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-0.1) ("rust-futures" ,rust-futures-0.1) ("rust-generator" ,rust-generator-0.6) - ("rust-scoped-tls" ,rust-scoped-tls-1.0) + ("rust-scoped-tls" ,rust-scoped-tls-0.1) ("rust-serde" ,rust-serde-1.0) ("rust-serde-derive" ,rust-serde-derive-1.0) ("rust-serde-json" ,rust-serde-json-1.0)))) @@ -6657,6 +9110,31 @@ functions and static variables these libraries contain.") (description "Model checker for concurrent code.") (license license:expat))) +(define-public rust-lscolors-0.6 + (package + (name "rust-lscolors") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "lscolors" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jxsgkn378kxkiqdshdjdclw5wwp2xaz45cqd3yw85fhn8a38fza")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-ansi-term" ,rust-ansi-term-0.12)) + #:cargo-development-inputs + (("rust-tempfile" ,rust-tempfile-3.1)))) + (home-page "https://github.com/sharkdp/lscolors") + (synopsis "Colorize paths using the LS_COLORS environment variable") + (description + "Colorize paths using the LS_COLORS environment variable.") + (license (list license:expat license:asl2.0)))) + (define-public rust-lzma-sys-0.1 (package (name "rust-lzma-sys") @@ -6808,14 +9286,12 @@ platform-independently.") "08ayl9aqjnmf7ly1ipy6dk3wjvyfn4w51l40jzh1fh984ykldbzi")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-log" ,rust-log-0.4) ("rust-phf" ,rust-phf-0.7) ("rust-string-cache" ,rust-string-cache-0.7) - ("rust-tendril" ,rust-tendril-0.4)) - #:cargo-development-inputs - (("rust-phf-codegen" ,rust-phf-codegen-0.7) + ("rust-tendril" ,rust-tendril-0.4) + ("rust-phf-codegen" ,rust-phf-codegen-0.7) ("rust-serde" ,rust-serde-1.0) ("rust-serde-derive" ,rust-serde-derive-1.0) ("rust-serde-json" ,rust-serde-json-1.0) @@ -6943,8 +9419,7 @@ parallelize and optimize.") "13j6ji9x9ydpi9grbss106gqqr3xn3bcfp28aydqfa4751qrfmw8")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)) #:cargo-development-inputs (("rust-quickcheck" ,rust-quickcheck-0.8)))) @@ -6970,6 +9445,27 @@ for searching bytes.") (base32 "0yjyja34pzhipdl855q3m21w1lyih4lw79x2dp3czwdla4pap3ql")))))) +(define-public rust-memchr-0.1 + (package + (inherit rust-memchr-1.0) + (name "rust-memchr") + (version "0.1.11") + (source + (origin + (method url-fetch) + (uri (crate-uri "memchr" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "084d85hjfa3xf5kwdms2mhbkh78m1gl2254cp5swcxj3a7xjkdnq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2)) + #:cargo-development-inputs + (("rust-quickcheck" ,rust-quickcheck-0.2)))))) + (define-public rust-memmap-0.7 (package (name "rust-memmap") @@ -7012,6 +9508,29 @@ file IO.") (base32 "1zy6s0ni0lx9rjzq3gq2zz9r8zgjmbp02332g3gsj4fyhv4s5zz2")))))) +(define-public rust-memmap-0.2 + (package + (inherit rust-memmap-0.6) + (name "rust-memmap") + (version "0.2.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "memmap" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0li737lakqcbbgd87x7h8d4vp0r1fqcbn5lb5vi746i9jgnp43zj")))) + (arguments + `(#:cargo-inputs + (("rust-fs2" ,rust-fs2-0.2) + ("rust-kernel32-sys" ,rust-kernel32-sys-0.2) + ("rust-libc" ,rust-libc-0.2) + ("rust-winapi" ,rust-winapi-0.2)) + #:cargo-development-inputs + (("rust-tempdir" ,rust-tempdir-0.3)))))) + (define-public rust-memoffset-0.5 (package (name "rust-memoffset") @@ -7055,6 +9574,41 @@ for Rust structs.") "1cvm2z7dy138s302ii7wlzcxbka5a8yfl5pl5di7lbdnw9hw578g")))) (arguments `(#:skip-build? #t)))) +(define-public rust-metal-0.14 + (package + (name "rust-metal") + (version "0.14.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "metal" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0my1xwlv562i80y3jbk0nygayi383j5skdwk48clb286b7922gyd")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-block" ,rust-block-0.1) + ("rust-cocoa" ,rust-cocoa-0.18) + ("rust-core-graphics" ,rust-core-graphics-0.17) + ("rust-foreign-types" ,rust-foreign-types-0.3) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-objc" ,rust-objc-0.2) + ("rust-objc-foundation" ,rust-objc-foundation-0.1) + ("rust-objc-id" ,rust-objc-id-0.1)) + #:cargo-development-inputs + (("rust-sema" ,rust-sema-0.1) + ("rust-winit" ,rust-winit-0.19)))) ; 0.17? + (home-page "https://github.com/gfx-rs/metal-rs") + (synopsis "Rust bindings for Metal") + (description "Rust bindings for Metal.") + (license (list license:expat license:asl2.0)))) + (define-public rust-mime-0.3 (package (name "rust-mime") @@ -7191,7 +9745,7 @@ drop-in replacement for miniz.") (define-public rust-mio-0.6 (package (name "rust-mio") - (version "0.6.19") + (version "0.6.21") (source (origin (method url-fetch) @@ -7200,12 +9754,13 @@ drop-in replacement for miniz.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "08zzs227vrnyz5kvws6awzlgzb8zqpnihs71hkqlw07dlfb1kxc3")))) + "13q02a7cwc140aygf8amadpzpl5lyj3p2r4wnvgydfpnphifqb9h")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:tests? #f #:cargo-inputs - (("rust-fuchsia-zircon" ,rust-fuchsia-zircon-0.3) + (("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-fuchsia-zircon" ,rust-fuchsia-zircon-0.3) ("rust-fuchsia-zircon-sys" ,rust-fuchsia-zircon-sys-0.3) ("rust-iovec" ,rust-iovec-0.1) ("rust-kernel32-sys" ,rust-kernel32-sys-0.2) @@ -7214,16 +9769,68 @@ drop-in replacement for miniz.") ("rust-miow" ,rust-miow-0.2) ("rust-net2" ,rust-net2-0.2) ("rust-slab" ,rust-slab-0.4) - ("rust-winapi" ,rust-winapi-0.3)) + ("rust-winapi" ,rust-winapi-0.2)) #:cargo-development-inputs - (("rust-bytes" ,rust-bytes-0.4) - ("rust-env-logger" ,rust-env-logger-0.6) + (("rust-bytes" ,rust-bytes-0.3) + ("rust-env-logger" ,rust-env-logger-0.4) ("rust-tempdir" ,rust-tempdir-0.3)))) (home-page "https://github.com/tokio-rs/mio") (synopsis "Lightweight non-blocking IO") (description "Lightweight non-blocking IO.") (license license:expat))) +(define-public rust-mio-anonymous-pipes-0.1 + (package + (name "rust-mio-anonymous-pipes") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "mio-anonymous-pipes" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1bqs8wncd73q4pnbiwskhgds57hyr8g89vfpqmw1vk9dqp1p9hpq")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-mio" ,rust-mio-0.6) + ("rust-miow" ,rust-miow-0.3) + ("rust-spsc-buffer" ,rust-spsc-buffer-0.1) + ("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/davidhewitt/mio-anonymous-pipes") + (synopsis "Asynchronous wrapper for Windows synchronous pipes") + (description + "This package provides asynchronous wrapper for Windows synchronous pipes.") + (license license:expat))) + +(define-public rust-mio-extras-2 + (package + (name "rust-mio-extras") + (version "2.0.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "mio-extras" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "069gfhlv0wlwfx1k2sriwfws490kjp490rv2qivyfb01j3i3yh2j")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-lazycell" ,rust-lazycell-1.2) + ("rust-log" ,rust-log-0.4) + ("rust-mio" ,rust-mio-0.6) + ("rust-slab" ,rust-slab-0.4)))) + (home-page "https://github.com/dimbleby/mio-extras") + (synopsis "Extra components for use with Mio") + (description "Extra components for use with Mio.") + (license (list license:expat license:asl2.0)))) + (define-public rust-mio-named-pipes-0.1 (package (name "rust-mio-named-pipes") @@ -7379,6 +9986,75 @@ checking.") "Chaining APIs for both self -> Self and &mut self methods.") (license license:expat))) +(define-public rust-named-pipe-0.4 + (package + (name "rust-named-pipe") + (version "0.4.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "named-pipe" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0azby10wzmsrf66m1bysbil0sjfybnvhsa8py093xz4irqy4975d")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t ; Only builds on Windows. + #:cargo-inputs (("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/blackbeam/named_pipe") + (synopsis "Wrapper for overlapped (asyncronous) IO of Windows's named pipes") + (description "This package provides a wrapper for overlapped (asyncronous) +IO of Windows's named pipes.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-native-tls-0.2 + (package + (name "rust-native-tls") + (version "0.2.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "native-tls" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ki7cj4wzyd2nach4qdjly69sp7rs0yz3n3z2ii4mm1gqajg2bab")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; tests require network access + #:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-openssl" ,rust-openssl-0.10) + ("rust-openssl-probe" ,rust-openssl-probe-0.1) + ("rust-openssl-sys" ,rust-openssl-sys-0.9) + ("rust-schannel" ,rust-schannel-0.1) + ("rust-security-framework" ,rust-security-framework-0.3) + ("rust-security-framework-sys" ,rust-security-framework-sys-0.3) + ("rust-tempfile" ,rust-tempfile-3.1)) + #:cargo-development-inputs + (("rust-hex" ,rust-hex-0.3)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'find-openssl + (lambda* (#:key inputs #:allow-other-keys) + (let ((openssl (assoc-ref inputs "openssl"))) + (setenv "OPENSSL_DIR" openssl)) + #t))))) + (native-inputs + `(("openssl" ,openssl) + ("pkg-config" ,pkg-config))) + (home-page "https://github.com/sfackler/rust-native-tls") + (synopsis + "Wrapper over a platform's native TLS implementation") + (description + "This package provides a wrapper over a platform's native TLS implementation.") + (license (list license:expat license:asl2.0)))) + (define-public rust-natord-1.0 (package (name "rust-natord") @@ -7450,138 +10126,6 @@ types as proposed in RFC 1158.") (license (list license:asl2.0 license:expat)))) -(define-public rust-libnghttp2-sys-0.1 - (package - (name "rust-libnghttp2-sys") - (version "0.1.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "libnghttp2-sys" version)) - (file-name (string-append name "-" version ".crate")) - (sha256 - (base32 - "0qr4lyh7righx9n22c7amlcpk906rn1jnb2zd6gdfpa3yi24s982")))) - (build-system cargo-build-system) - ;(inputs - ; `(("nghttp2" ,nghttp2))) - (home-page "https://github.com/alexcrichton/nghttp2-rs") - (synopsis "FFI bindings for libnghttp2 (nghttp2)") - (description - "This package provides FFI bindings for libnghttp2 (nghttp2).") - (properties '((hidden? . #t))) - (license (list license:asl2.0 - license:expat)))) - -(define-public rust-libz-sys-1.0 - (package - (name "rust-libz-sys") - (version "1.0.25") - (source - (origin - (method url-fetch) - (uri (crate-uri "libz-sys" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1gjycyl2283525abks98bhxa4r259m617xfm5z52p3p3c8ry9d9f")) - (modules '((guix build utils))) - (snippet - '(begin (delete-file-recursively "src/zlib") #t)))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-libc" ,rust-libc-0.2) - ;; Build dependencies: - ("rust-cc" ,rust-cc-1.0) - ("rust-pkg-config" ,rust-pkg-config-0.3) - ("rust-vcpkg" ,rust-vcpkg-0.2)))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("zlib" ,zlib))) - (home-page "https://github.com/rust-lang/libz-sys") - (synopsis "Bindings to the system libz library") - (description - "This package provides bindings to the system @code{libz} library (also -known as zlib).") - (license (list license:asl2.0 - license:expat)))) - -(define-public rust-linked-hash-map-0.5 - (package - (name "rust-linked-hash-map") - (version "0.5.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "linked-hash-map" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "10qgbvh00q36ql0jh00rxh2jlq6qvl11n6mig0cvkpf4xf5bd4df")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-clippy" ,rust-clippy-0.0) - ("rust-heapsize" ,rust-heapsize-0.4) - ("rust-serde" ,rust-serde-1.0) - ("rust-serde-test" ,rust-serde-test-1.0)))) - (home-page - "https://github.com/contain-rs/linked-hash-map") - (synopsis - "HashMap wrapper that holds key-value pairs in insertion order") - (description - "This package provides a HashMap wrapper that holds key-value -pairs in insertion order.") - (license (list license:asl2.0 - license:expat)))) - -(define-public rust-linked-hash-map-0.3 - (package - (inherit rust-linked-hash-map-0.5) - (name "rust-linked-hash-map") - (version "0.3.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "linked-hash-map" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1kaf95grvfqchxn8pl0854g8ab0fzl56217hndhhhz5qqm2j09kd")))) - (arguments - `(#:cargo-inputs - (("rust-clippy" ,rust-clippy-0.0) - ("rust-serde" ,rust-serde-0.8) - ("rust-serde-test" ,rust-serde-test-0.8)))))) - -(define-public rust-lscolors-0.6 - (package - (name "rust-lscolors") - (version "0.6.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "lscolors" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0jxsgkn378kxkiqdshdjdclw5wwp2xaz45cqd3yw85fhn8a38fza")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-ansi-term" ,rust-ansi-term-0.12)) - #:cargo-development-inputs - (("rust-tempfile" ,rust-tempfile-3.1)))) - (home-page "https://github.com/sharkdp/lscolors") - (synopsis "Colorize paths using the LS_COLORS environment variable") - (description - "Colorize paths using the LS_COLORS environment variable.") - (license (list license:expat license:asl2.0)))) - (define-public rust-new-debug-unreachable-1.0 (package (name "rust-new-debug-unreachable") @@ -7621,19 +10165,19 @@ release (fork of debug_unreachable)") "0aa2l7wg9pzx24ks4p97gdy09a4hhs1sr9drxnm75v906d7hnbiv")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:tests? #f ; test suite hangs #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) + ("rust-cc" ,rust-cc-1.0) ("rust-cfg-if" ,rust-cfg-if-0.1) ("rust-libc" ,rust-libc-0.2) ("rust-void" ,rust-void-1.0)) #:cargo-development-inputs (("rust-bytes" ,rust-bytes-0.4) ("rust-caps" ,rust-caps-0.3) - ("rust-cc" ,rust-cc-1.0) ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-rand" ,rust-rand-0.4) - ("rust-sysctl" ,rust-sysctl-0.4) + ("rust-rand" ,rust-rand-0.6) + ("rust-sysctl" ,rust-sysctl-0.1) ("rust-tempfile" ,rust-tempfile-3.0)))) (home-page "https://github.com/nix-rust/nix") (synopsis "Rust friendly bindings to *nix APIs") @@ -7641,34 +10185,6 @@ release (fork of debug_unreachable)") "Rust friendly bindings to *nix APIs.") (license license:expat))) -(define-public rust-no-panic-0.1 - (package - (name "rust-no-panic") - (version "0.1.12") - (source - (origin - (method url-fetch) - (uri (crate-uri "no-panic" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0xan5v9ac1aklinc8aw16raq36pb4idjrl502np8gy32gfs6s751")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-proc-macro2" ,rust-proc-macro2-1.0) - ("rust-quote" ,rust-quote-1.0) - ("rust-syn" ,rust-syn-1.0)) - #:cargo-development-inputs - (("rust-tempfile" ,rust-tempfile-3.1)))) - (home-page "https://github.com/dtolnay/no-panic") - (synopsis "Prove a function can't ever panic") - (description - "This package provides a rust attribute macro to require that the compiler -prove a function can't ever panic.") - (license (list license:expat license:asl2.0)))) - (define-public rust-nix-0.14 (package (inherit rust-nix-0.15) @@ -7699,6 +10215,34 @@ prove a function can't ever panic.") ("rust-sysctl" ,rust-sysctl-0.1) ("rust-tempfile" ,rust-tempfile-3.0)))))) +(define-public rust-no-panic-0.1 + (package + (name "rust-no-panic") + (version "0.1.12") + (source + (origin + (method url-fetch) + (uri (crate-uri "no-panic" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0xan5v9ac1aklinc8aw16raq36pb4idjrl502np8gy32gfs6s751")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-quote" ,rust-quote-1.0) + ("rust-syn" ,rust-syn-1.0)) + #:cargo-development-inputs + (("rust-tempfile" ,rust-tempfile-3.1)))) + (home-page "https://github.com/dtolnay/no-panic") + (synopsis "Prove a function can't ever panic") + (description + "This package provides a rust attribute macro to require that the compiler +prove a function can't ever panic.") + (license (list license:expat license:asl2.0)))) + (define-public rust-nodrop-0.1 (package (name "rust-nodrop") @@ -7722,12 +10266,10 @@ prove a function can't ever panic.") (license (list license:asl2.0 license:expat)))) -;; This package requires features which are unavailable -;; on the stable releases of Rust. (define-public rust-nodrop-union-0.1 (package (name "rust-nodrop-union") - (version "0.1.10") + (version "0.1.11") (source (origin (method url-fetch) @@ -7735,14 +10277,14 @@ prove a function can't ever panic.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0jsnkdn9l8jlmb9h4wssi76sxnyxwnyi00p6y1p2gdq7c1gdw2b7")))) + "1h59pph19rxanyqcaid8pg73s7wmzdx3zhjv5snlim5qx606zxkc")))) (build-system cargo-build-system) + (arguments '(#:skip-build? #t)) ; depends on features not in stable Rust (home-page "https://github.com/bluss/arrayvec") (synopsis "Wrapper type to inhibit drop (destructor)") (description "This package provides a wrapper type to inhibit drop -(destructor). Implementation crate for nodrop, the untagged unions +(destructor). Implementation crate for @code{nodrop}, the untagged unions implementation (which is unstable / requires nightly).") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) @@ -7764,14 +10306,12 @@ implementation (which is unstable / requires nightly).") `(#:skip-build? #t #:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-1) - ("rust-lexical-core" ,rust-lexical-core-0.4) ("rust-memchr" ,rust-memchr-2.2) - ("rust-regex" ,rust-regex-1.1)) + ("rust-regex" ,rust-regex-1.1) + ("rust-version-check" ,rust-version-check-0.1)) #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.2) - ("rust-doc-comment" ,rust-doc-comment-0.3) - ("rust-jemallocator" ,rust-jemallocator-0.3) - ("rust-version-check" ,rust-version-check-0.9)))) + ("rust-jemallocator" ,rust-jemallocator-0.1)))) (home-page "https://github.com/Geal/nom") (synopsis "Byte-oriented, zero-copy, parser combinators library") @@ -7780,6 +10320,29 @@ implementation (which is unstable / requires nightly).") combinators library.") (license license:expat))) +(define-public rust-nom-3 + (package + (inherit rust-nom-4.2) + (name "rust-nom") + (version "3.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "nom" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0yr8fazcspgawl6s7wmx5llz61s68jl88cnrph18fa7xf06cbbh5")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; stream::tests::seeking_consumer fails + #:cargo-inputs + (("rust-compiler-error" ,rust-compiler-error-0.1) + ("rust-lazy-static" ,rust-lazy-static-0.2) + ("rust-memchr" ,rust-memchr-1.0) + ("rust-regex" ,rust-regex-0.2)))))) + (define-public rust-nom-1.2 (package (inherit rust-nom-4.2) @@ -7798,10 +10361,105 @@ combinators library.") ;; This is an ancient version and all inputs are optional. `(#:skip-build? #t)))) +(define-public rust-notify-4 + (package + (name "rust-notify") + (version "4.0.14") + (source + (origin + (method url-fetch) + (uri (crate-uri "notify" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "12vpbg8j49196rxkm01hw2xfr0mk005ljmx0p9kwf6xj6gy2i5hr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-filetime" ,rust-filetime-0.2) + ("rust-fsevent" ,rust-fsevent-0.4) + ("rust-fsevent-sys" ,rust-fsevent-sys-2) + ("rust-inotify" ,rust-inotify-0.6) + ("rust-kernel32-sys" ,rust-kernel32-sys-0.2) + ("rust-libc" ,rust-libc-0.2) + ("rust-mio" ,rust-mio-0.6) + ("rust-mio-extras" ,rust-mio-extras-2) + ("rust-walkdir" ,rust-walkdir-2.2) + ("rust-winapi" ,rust-winapi-0.3)) + #:cargo-development-inputs + (("rust-tempdir" ,rust-tempdir-0.3)))) + (home-page "https://github.com/passcod/notify") + (synopsis "Cross-platform filesystem notification library") + (description + "Cross-platform filesystem notification library.") + (license license:cc0))) + +(define-public rust-num-0.2 + (package + (name "rust-num") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "num" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0dhcvhprvvx1iaaq7sxlgxw5awmj8dibni8vhizi59zyz4q60lxq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-num-bigint" ,rust-num-bigint-0.2) + ("rust-num-complex" ,rust-num-complex-0.2) + ("rust-num-integer" ,rust-num-integer-0.1) + ("rust-num-iter" ,rust-num-iter-0.1) + ("rust-num-rational" ,rust-num-rational-0.2) + ("rust-num-traits" ,rust-num-traits-0.2)))) + (home-page "https://github.com/rust-num/num") + (synopsis "Collection of numeric types and traits for Rust") + (description + "This package provides a collection of numeric types and traits for Rust, +including bigint, complex, rational, range iterators, generic integers, and more.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-num-bigint-0.2 + (package + (name "rust-num-bigint") + (version "0.2.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "num-bigint" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "015k3wixdi4w698sappvy43pf8bvkw0f88xplmdgc3zfk2cpy309")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-num-integer" ,rust-num-integer-0.1) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-quickcheck" ,rust-quickcheck-0.8) + ("rust-quickcheck-macros" ,rust-quickcheck-macros-0.8) + ("rust-rand" ,rust-rand-0.5) + ("rust-serde" ,rust-serde-1.0) + ("rust-autocfg" ,rust-autocfg-1.0)) + #:cargo-development-inputs + (("rust-serde-test" ,rust-serde-test-1.0)))) + (home-page "https://github.com/rust-num/num-bigint") + (synopsis "Big integer implementation for Rust") + (description + "Big integer implementation for Rust.") + (license (list license:expat license:asl2.0)))) + (define-public rust-num-complex-0.2 (package (name "rust-num-complex") - (version "0.2.3") + (version "0.2.4") (source (origin (method url-fetch) @@ -7810,16 +10468,14 @@ combinators library.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1z6zjdzx1g1hj4y132ddy83d3p3zvw06igbf59npxxrzzcqwzc7w")))) + "15dwaksw729r3v14sgzc9723s3fnfixiir8jzwx7b7kim48r9cdn")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-num-traits" ,rust-num-traits-0.2) - ("rust-rand" ,rust-rand-0.4) - ("rust-serde" ,rust-serde-1.0)) - #:cargo-development-inputs - (("rust-autocfg" ,rust-autocfg-0.1)))) + ("rust-rand" ,rust-rand-0.5) + ("rust-serde" ,rust-serde-1.0) + ("rust-autocfg" ,rust-autocfg-1.0)))) (home-page "https://github.com/rust-num/num-complex") (synopsis @@ -7874,6 +10530,33 @@ combinators library.") #:cargo-development-inputs (("rust-doc-comment" ,rust-doc-comment-0.3)))))) +(define-public rust-num-derive-0.2 + (package + (name "rust-num-derive") + (version "0.2.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "num-derive" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1wnv7776fh4i40r3zfxcxcmm0dh029skx7gp4sjknz2kqm2hpzga")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-0.4) + ("rust-quote" ,rust-quote-0.6) + ("rust-syn" ,rust-syn-0.15)) + #:cargo-development-inputs + (("rust-num" ,rust-num-0.2) + ("rust-num-traits" ,rust-num-traits-0.2)))) + (home-page "https://github.com/rust-num/num-derive") + (synopsis "Numeric syntax extensions") + (description "Numeric syntax extensions in Rust.") + (license (list license:expat license:asl2.0)))) + (define-public rust-num-integer-0.1 (package (name "rust-num-integer") @@ -7924,6 +10607,33 @@ combinators library.") (license (list license:asl2.0 license:expat)))) +(define-public rust-num-rational-0.2 + (package + (name "rust-num-rational") + (version "0.2.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "num-rational" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "18q3vq3xldhaj0z3f92am8f59m1awywgdj28c7wvx0bcksgwfkfs")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-num-bigint" ,rust-num-bigint-0.2) + ("rust-num-integer" ,rust-num-integer-0.1) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-serde" ,rust-serde-1.0) + ("rust-autocfg" ,rust-autocfg-1.0)))) + (home-page "https://github.com/rust-num/num-rational") + (synopsis "Rational numbers implementation for Rust") + (description + "Rational numbers implementation for Rust.") + (license (list license:expat license:asl2.0)))) + (define-public rust-num-traits-0.2 (package (name "rust-num-traits") @@ -8006,6 +10716,28 @@ giga, kibi.") "This package can convert numbers into stack-allocated byte arrays.") (license (list license:expat license:asl2.0)))) +(define-public rust-obj-0.9 + (package + (name "rust-obj") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "obj" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10z1r2r0xyhr4j1n07135kz4bc0zhqy98vabs99vz0x171bi8gy0")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-genmesh" ,rust-genmesh-0.6)))) + (home-page "https://github.com/kvark/obj") + (synopsis "Package for loading Wavefront .obj files") + (description + "This package provides a package for loading Wavefront @code{.obj} files.") + (license license:asl2.0))) + (define-public rust-objc-0.2 (package (name "rust-objc") @@ -8056,6 +10788,32 @@ wrapper for Rust.") try/catch statements.") (license license:expat))) +(define-public rust-objc-foundation-0.1 + (package + (name "rust-objc-foundation") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "objc-foundation" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1y9bwb3m5fdq7w7i4bnds067dhm4qxv4m1mbg9y61j9nkrjipp8s")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t ; Only available on macOS. + #:cargo-inputs + (("rust-block" ,rust-block-0.1) + ("rust-objc" ,rust-objc-0.2) + ("rust-objc-id" ,rust-objc-id-0.1)))) + (home-page "http://github.com/SSheldon/rust-objc-foundation") + (synopsis "Rust wrapper for Objective-C's Foundation framework") + (description "This package provides a rust wrapper for Objective-C's +Foundation framework.") + (license license:expat))) + (define-public rust-objc-id-0.1 (package (name "rust-objc-id") @@ -8209,7 +10967,6 @@ Things in odds may move to more appropriate crates if we find them.") (base32 "02942l2gc7w5r4js7i9063x99szic5mzzk1055j83v4diqpbpxck")))) (build-system cargo-build-system) - (arguments `(#:skip-build? #t)) (home-page "https://github.com/RustCrypto/utils") (synopsis "Macro for opaque Debug trait implementation") (description @@ -8247,6 +11004,44 @@ Things in odds may move to more appropriate crates if we find them.") (description "OpenSSL bindings.") (license license:asl2.0))) +(define-public rust-openssl-0.7 + (package + (inherit rust-openssl-0.10) + (name "rust-openssl") + (version "0.7.14") + (source + (origin + (method url-fetch) + (uri (crate-uri "openssl" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0cw767rbasg4dbsfcsnxqm3q5ljkv6s1jq0a2p82xi5a8ii7n4f4")))) + (arguments + `(#:tests? #f ; Test directory not included in release + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-0.7) + ("rust-gcc" ,rust-gcc-0.3) + ("rust-lazy-static" ,rust-lazy-static-0.2) + ("rust-libc" ,rust-libc-0.2) + ("rust-openssl-sys" ,rust-openssl-sys-0.7) + ("rust-openssl-sys-extras" ,rust-openssl-sys-extras-0.7)) + #:cargo-development-inputs + (("rust-net2" ,rust-net2-0.2) + ("rust-rustc-serialize" ,rust-rustc-serialize-0.3) + ("rust-winapi" ,rust-winapi-0.2) + ("rust-ws2-32-sys" ,rust-ws2-32-sys-0.2)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-cargo-toml + (lambda _ + (substitute* "Cargo.toml" + ((", path =.*}") "}")) + #t))))) + (native-inputs + `(("openssl" ,openssl-1.0))))) ; for openssl-sys-extras + (define-public rust-openssl-probe-0.1 (package (name "rust-openssl-probe") @@ -8305,6 +11100,103 @@ system for OpenSSL.") "This package provides FFI bindings to OpenSSL for use in rust crates.") (license license:expat))) +(define-public rust-openssl-sys-0.7 + (package + (inherit rust-openssl-sys-0.9) + (name "rust-openssl-sys") + (version "0.7.17") + (source + (origin + (method url-fetch) + (uri (crate-uri "openssl-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0gswbbfkhhj8f9jifwvdssv3p2lpgyz69qzqvafylbim9klpxi49")) + (modules '((guix build utils))) + (snippet + '(begin + ;; rust-libressl-pnacl-sys vendors libressl. + (substitute* "Cargo.toml" + ((".*nacl.*") "")) + #t)))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-gdi32-sys" ,rust-gdi32-sys-0.2) + ("rust-libc" ,rust-libc-0.2) + ("rust-user32-sys" ,rust-user32-sys-0.2) + ("rust-pkg-config" ,rust-pkg-config-0.3)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'find-openssl + (lambda* (#:key inputs #:allow-other-keys) + (let ((openssl (assoc-ref inputs "openssl"))) + (setenv "OPENSSL_DIR" openssl)) + #t))))))) + +(define-public rust-openssl-sys-extras-0.7 + (package + (name "rust-openssl-sys-extras") + (version "0.7.14") + (source + (origin + (method url-fetch) + (uri (crate-uri "openssl-sys-extras" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ymrmfnknyjji74fflbnnq9r5ihx25h0vgs5y203vl6klzdy3i8i")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-openssl-sys" ,rust-openssl-sys-0.7) + ("rust-gcc" ,rust-gcc-0.3)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-cargo-toml + (lambda _ + (substitute* "Cargo.toml" + ((", path =.*}") "}")) + #t))))) + (native-inputs + `(("openssl" ,openssl-1.0))) ; openssl-1.0 specifically + (home-page "https://github.com/sfackler/rust-openssl") + (synopsis + "Extra FFI bindings to OpenSSL that require a C shim") + (description + "Extra FFI bindings to OpenSSL that require a C shim.") + (license license:expat))) + +(define-public rust-ordered-float-1.0 + (package + (name "rust-ordered-float") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "ordered-float" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0625x96987kspdxbikry5mb7hsf5pdc5bbanxd8wjwqlx0ar71hq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-num-traits" ,rust-num-traits-0.2) + ("rust-serde" ,rust-serde-1.0)) + #:cargo-development-inputs + (("rust-serde-test" ,rust-serde-test-1.0)))) + (home-page "https://github.com/reem/rust-ordered-float") + (synopsis "Wrappers for total ordering on floats") + (description + "This package provides wrappers for total ordering on floats in Rust.") + (license license:expat))) + (define-public rust-ordermap-0.3 (package (name "rust-ordermap") @@ -8365,6 +11257,28 @@ under its new name.") "A cross-platform library for opening OS pipes.") (license license:expat))) +(define-public rust-osmesa-sys-0.1 + (package + (name "rust-osmesa-sys") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "osmesa-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fq1q1zcgfb0qydrg9r2738jlwc4hqxgb9vj11z72bjxx7kfrkw8")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-shared-library" ,rust-shared-library-0.1)))) + (home-page "https://crates.io/crates/osmesa-sys") + (synopsis "OSMesa library bindings for Rust") + (description "This package provides OSMesa library bindings for Rust.") + (license license:cc0))) + (define-public rust-owning-ref-0.4 (package (name "rust-owning-ref") @@ -8378,13 +11292,15 @@ under its new name.") (base32 "04zgwy77lin8qz398s6g44467pd6kjhbrlqifkia5rkr47mbi929")))) (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-stable-deref-trait" ,rust-stable-deref-trait-1.1)))) (home-page "https://github.com/Kimundi/owning-ref-rs") (synopsis "Create references that carry their owner with them") (description "This package provides a library for creating references that carry their owner with them. This can sometimes be useful because Rust borrowing rules normally prevent moving a type that has been borrowed from.") - (properties '((hidden? . #t))) (license license:expat))) (define-public rust-packed-simd-0.3 @@ -8440,10 +11356,35 @@ normally prevent moving a type that has been borrowed from.") "This package provides a library for padding strings at runtime.") (license license:expat))) -(define-public rust-parking-lot-0.9 +(define-public rust-parity-wasm-0.40 + (package + (name "rust-parity-wasm") + (version "0.40.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "parity-wasm" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "03qycy21avz4970zc7aj8rj5h4wvi4qsrc90a6hpws1a56mglf8y")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f + #:cargo-development-inputs + (("rust-time" ,rust-time-0.1)))) + (home-page "https://github.com/paritytech/parity-wasm") + (synopsis "Low-level WebAssembly format library") + (description + "This package provides a WebAssembly binary format serialization, +deserialization, and interpreter in Rust.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-parking-lot-0.10 (package (name "rust-parking-lot") - (version "0.9.0") + (version "0.10.0") (source (origin (method url-fetch) @@ -8452,18 +11393,16 @@ normally prevent moving a type that has been borrowed from.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0lk2vq3hp88ygpgsrypdr3ss71fidnqbykva0csgxhmn5scb2hpq")))) + "1z0wgf2sd1266y768kxxs3313zjfzj9r3k7j4arfaz0bmd4qrscj")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-lock-api" ,rust-lock-api-0.3) - ("rust-parking-lot-core" ,rust-parking-lot-core-0.6)) + ("rust-parking-lot-core" ,rust-parking-lot-core-0.7)) #:cargo-development-inputs (("rust-bincode" ,rust-bincode-1.1) ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-rand" ,rust-rand-0.4) - ("rust-rustc-version" ,rust-rustc-version-0.2)))) + ("rust-rand" ,rust-rand-0.7)))) (home-page "https://github.com/Amanieu/parking_lot") (synopsis "Compact standard synchronization primitives") (description @@ -8471,6 +11410,31 @@ normally prevent moving a type that has been borrowed from.") synchronization primitives.") (license (list license:asl2.0 license:expat)))) +(define-public rust-parking-lot-0.9 + (package + (inherit rust-parking-lot-0.10) + (name "rust-parking-lot") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "parking_lot" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0lk2vq3hp88ygpgsrypdr3ss71fidnqbykva0csgxhmn5scb2hpq")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-lock-api" ,rust-lock-api-0.3) + ("rust-parking-lot-core" ,rust-parking-lot-core-0.6)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode-1.1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-rand" ,rust-rand-0.4) + ("rust-rustc-version" ,rust-rustc-version-0.2)))))) + (define-public rust-parking-lot-0.8 (package (inherit rust-parking-lot-0.9) @@ -8521,8 +11485,40 @@ synchronization primitives.") ("rust-rand" ,rust-rand-0.4) ("rust-rustc-version" ,rust-rustc-version-0.2)))))) +(define-public rust-parking-lot-core-0.7 + (package + (name "rust-parking-lot-core") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "parking_lot_core" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1wdbrvh35nn09ga570vl5062dpwfbrwgzyrlhhy78ifzhj2870km")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-backtrace" ,rust-backtrace-0.3) + ("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-cloudabi" ,rust-cloudabi-0.0) + ("rust-libc" ,rust-libc-0.2) + ("rust-petgraph" ,rust-petgraph-0.4) + ("rust-redox-syscall" ,rust-redox-syscall-0.1) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-thread-id" ,rust-thread-id-3.3) + ("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/Amanieu/parking_lot") + (synopsis "API for creating custom synchronization primitives") + (description + "An advanced API for creating custom synchronization primitives in Rust.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-parking-lot-core-0.6 (package + (inherit rust-parking-lot-core-0.7) (name "rust-parking-lot-core") (version "0.6.2") (source @@ -8534,7 +11530,6 @@ synchronization primitives.") (sha256 (base32 "0ay67dpnrn68ryyvp720m9i8hzp189fd4d6slrs1lvmcwywv2xmq")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -8549,13 +11544,7 @@ synchronization primitives.") ("rust-thread-id" ,rust-thread-id-3.3) ("rust-winapi" ,rust-winapi-0.3)) #:cargo-development-inputs - (("rust-rustc-version" ,rust-rustc-version-0.2)))) - (home-page "https://github.com/Amanieu/parking_lot") - (synopsis - "Advanced API for creating custom synchronization primitives") - (description - "An advanced API for creating custom synchronization primitives.") - (license (list license:asl2.0 license:expat)))) + (("rust-rustc-version" ,rust-rustc-version-0.2)))))) (define-public rust-parking-lot-core-0.5 (package @@ -8587,35 +11576,40 @@ synchronization primitives.") (base32 "1jcq8aq4wv9y5fip7jg12jdwjd5g5r3x857xdma8vcin769cgj4l")))))) -(define-public rust-parity-wasm-0.40 +(define-public rust-partial-io-0.2 (package - (name "rust-parity-wasm") - (version "0.40.3") + (name "rust-partial-io") + (version "0.2.5") (source - (origin - (method url-fetch) - (uri (crate-uri "parity-wasm" version)) - (file-name (string-append name "-" version ".crate")) - (sha256 - (base32 - "03qycy21avz4970zc7aj8rj5h4wvi4qsrc90a6hpws1a56mglf8y")))) + (origin + (method url-fetch) + (uri (crate-uri "partial-io" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "03iynvayh11a4mckhwflm5y1qmnkw5m3b20gzi1crpasndy3h8xx")))) (build-system cargo-build-system) (arguments - `(#:tests? #f + `(#:cargo-inputs + (("rust-futures" ,rust-futures-0.1) + ("rust-quickcheck" ,rust-quickcheck-0.4) + ("rust-tokio-io" ,rust-tokio-io-0.1)) #:cargo-development-inputs - (("rust-time" ,rust-time-0.1)))) - (home-page "https://github.com/paritytech/parity-wasm") - (synopsis "Low-level WebAssembly format library") + (("rust-lazy-static" ,rust-lazy-static-0.2) + ("rust-quickcheck" ,rust-quickcheck-0.4) + ("rust-tokio-core" ,rust-tokio-core-0.1)))) + (home-page "https://github.com/facebookincubator/rust-partial-io") + (synopsis + "Helpers to test partial, interrupted and would-block I/O operations") (description - "This package provides a WebAssembly binary format serialization, -deserialization, and interpreter in Rust.") - (license (list license:asl2.0 - license:expat)))) + "Helpers to test partial, interrupted and would-block I/O operations.") + (license license:bsd-3))) (define-public rust-paste-0.1 (package (name "rust-paste") - (version "0.1.5") + (version "0.1.7") (source (origin (method url-fetch) @@ -8624,11 +11618,10 @@ deserialization, and interpreter in Rust.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0ygs077hlq8qlx5y46sfgrmhlqqgkmvvhn4x3y10arawalf4ljhz")))) + "0in0dqar8s16w6gbwyzwvckm80ala02pq87innx1w6yp73kszqb3")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-paste-impl" ,rust-paste-impl-0.1) ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)))) (home-page "https://github.com/dtolnay/paste") @@ -8640,7 +11633,7 @@ deserialization, and interpreter in Rust.") (define-public rust-paste-impl-0.1 (package (name "rust-paste-impl") - (version "0.1.5") + (version "0.1.7") (source (origin (method url-fetch) @@ -8649,15 +11642,14 @@ deserialization, and interpreter in Rust.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1rkh8nixmb7r1y0mjnsz62p6r1bqah5ciri7bwhmgcmq4gk9drr6")))) + "1fwj11j5lhya5fjr4gfljxfm74ahlr09c8xbb8f22hzpyskw8kbd")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5) - ("rust-proc-macro2" ,rust-proc-macro2-0.4) + ("rust-proc-macro2" ,rust-proc-macro2-1.0) ("rust-quote" ,rust-quote-1.0) - ("rust-syn" ,rust-syn-0.15)))) + ("rust-syn" ,rust-syn-1.0)))) (home-page "https://github.com/dtolnay/paste") (synopsis "Implementation detail of the paste crate") (description @@ -8979,8 +11971,7 @@ algorithms.") "0zjiblicfm0nrmr2xxrs6pnf6zz2394wgch6dcbd8jijkq98agmh")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-phf-generator" ,rust-phf-generator-0.7) ("rust-phf-shared" ,rust-phf-shared-0.7)))) (home-page @@ -9004,10 +11995,9 @@ algorithms.") "0qi62gxk3x3whrmw5c4i71406icqk11qmpgln438p6qm7k4lqdh9")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-phf-shared" ,rust-phf-shared-0.7) - ("rust-rand" ,rust-rand-0.4)))) + ("rust-rand" ,rust-rand-0.6)))) (home-page "https://github.com/sfackler/rust-phf") (synopsis "PHF generation logic") (description "PHF generation logic") @@ -9028,12 +12018,12 @@ algorithms.") "0dzylcy14ksy60h265l433j9ra8xhg8xlq3pd5qk658m6f1mxd5x")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:tests? #f ; Depends on features not in Rust's stable release channel. #:cargo-inputs (("rust-phf-generator" ,rust-phf-generator-0.7) ("rust-phf-shared" ,rust-phf-shared-0.7) ("rust-proc-macro2" ,rust-proc-macro2-0.4) - ("rust-quote" ,rust-quote-1.0) + ("rust-quote" ,rust-quote-0.6) ("rust-syn" ,rust-syn-0.15)) #:cargo-development-inputs (("rust-compiletest-rs" ,rust-compiletest-rs-0.3)))) @@ -9060,10 +12050,9 @@ algorithms.") "18371fla0vsj7d6d5rlfb747xbr2in11ar9vgv5qna72bnhp2kr3")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-siphasher" ,rust-siphasher-0.2) - ("rust-unicase" ,rust-unicase-2.4)))) + ("rust-unicase" ,rust-unicase-1)))) (home-page "https://github.com/sfackler/rust-phf") (synopsis "Support code shared by PHF libraries") (description @@ -9179,6 +12168,122 @@ used in Cargo build scripts.") "Lazily evaluated, order-independent plugins for extensible types.") (license license:expat))) +(define-public rust-pnacl-build-helper-1.4 + (package + (name "rust-pnacl-build-helper") + (version "1.4.11") + (source + (origin + (method url-fetch) + (uri (crate-uri "pnacl-build-helper" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "145hxz3m3sg8mm9sfqqqaarnna43v65l6whwswrvcvy0fzp17gnz")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-tempdir" ,rust-tempdir-0.3) + ("rust-walkdir" ,rust-walkdir-1.0)))) + (home-page "https://github.com/DiamondLovesYou/cargo-pnacl-helper") + (synopsis + "Build script helper for building PNaCl/NaCl C/CXX libraries from source") + (description + "Build script helper for building PNaCl/NaCl C/CXX libraries from source") + (license license:mpl2.0))) + +(define-public rust-png-0.15 + (package + (name "rust-png") + (version "0.15.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "png" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10x2qkhyfnm3si5vgx77r2ik811gaap7ahi825wfxgsb0lirm1gg")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-crc32fast" ,rust-crc32fast-1.2) + ("rust-deflate" ,rust-deflate-0.7) + ("rust-inflate" ,rust-inflate-0.4)) + #:cargo-development-inputs + (("rust-getopts" ,rust-getopts-0.2) + ;; TODO: glium has many cyclic dependencies with other packages + ;;("rust-glium" ,rust-glium-0.24) + ("rust-glob" ,rust-glob-0.3) + ("rust-rand" ,rust-rand-0.7) + ("rust-term" ,rust-term-0.6)))) + (home-page "https://github.com/image-rs/image-png.git") + (synopsis "PNG decoding and encoding library in pure Rust") + (description + "PNG decoding and encoding library in pure Rust.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-png-0.14 + (package + (inherit rust-png-0.15) + (name "rust-png") + (version "0.14.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "png" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0nf3a8r9p9zrj4x30b48f7yv18dz9xkmrq9b3lnzmpnhzn0z9nk3")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-deflate" ,rust-deflate-0.7) + ("rust-inflate" ,rust-inflate-0.4) + ("rust-num-iter" ,rust-num-iter-0.1)) + #:cargo-development-inputs + (("rust-getopts" ,rust-getopts-0.2) + ;; TODO: glium has many cyclic dependencies with other packages + ;; ("rust-glium" ,rust-glium-0.22) + ("rust-glob" ,rust-glob-0.2) + ("rust-rand" ,rust-rand-0.5) + ("rust-term" ,rust-term-0.4)))))) + +(define-public rust-png-0.12 + (package + (inherit rust-png-0.14) + (name "rust-png") + (version "0.12.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "png" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0nqlc8lqf8ncv3kj0gzlxwli61dbbxcjlrp176kvilw4sl09cjzm")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-deflate" ,rust-deflate-0.7) + ("rust-inflate" ,rust-inflate-0.4) + ("rust-num-iter" ,rust-num-iter-0.1)) + #:cargo-development-inputs + (("rust-getopts" ,rust-getopts-0.2) + ;; TODO: gluum has many cyclic dependencies with other packages + ;; ("rust-glium" ,rust-glium-0.21) + ("rust-glob" ,rust-glob-0.2) + ("rust-term" ,rust-term-0.4)))))) + (define-public rust-pocket-resources-0.3 (package (name "rust-pocket-resources") @@ -9267,7 +12372,7 @@ dependency to expose a precomputed hash.") (define-public rust-proc-macro-hack-0.5 (package (name "rust-proc-macro-hack") - (version "0.5.7") + (version "0.5.11") (source (origin (method url-fetch) @@ -9276,14 +12381,13 @@ dependency to expose a precomputed hash.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1www5lrvsk7pq04clgfmjlnnrshikgs1h51l17vrc7qy58bx878c")))) + "1idz5vmnjjhvr51yvwyjb45mza18wa53fr05m1skqvbdyw15gm7c")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-proc-macro2" ,rust-proc-macro2-0.4) + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1.0) ("rust-quote" ,rust-quote-1.0) - ("rust-syn" ,rust-syn-0.15)) + ("rust-syn" ,rust-syn-1.0)) #:cargo-development-inputs (("rust-demo-hack" ,rust-demo-hack-0.0) ("rust-demo-hack-impl" ,rust-demo-hack-impl-0.0)))) @@ -9294,6 +12398,28 @@ dependency to expose a precomputed hash.") "Procedural macros in expression position.") (license (list license:expat license:asl2.0)))) +(define-public rust-proc-macro-hack-0.4 + (package + (inherit rust-proc-macro-hack-0.5) + (name "rust-proc-macro-hack") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "proc-macro-hack" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fxn3qfhw76c518dfal2qqjwj5dbf0a1f7z0r5c4wd0igygg4fs6")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-proc-macro-hack-impl" ,rust-proc-macro-hack-impl-0.4)) + #:cargo-development-inputs + (("rust-demo-hack" ,rust-demo-hack-0.0) + ("rust-demo-hack-impl" ,rust-demo-hack-impl-0.0)))))) + (define-public rust-proc-macro-hack-impl-0.4 (package (name "rust-proc-macro-hack-impl") @@ -9339,7 +12465,7 @@ dependency to expose a precomputed hash.") (define-public rust-proc-macro2-1.0 (package (name "rust-proc-macro2") - (version "1.0.6") + (version "1.0.8") (source (origin (method url-fetch) @@ -9347,11 +12473,10 @@ dependency to expose a precomputed hash.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "09rgb5ab0jgw39kyad0lgqs4nb9yaf7mwcrgxqnsxbn4il54g7lw")))) + "0j45p176fnw0d02dzcky9sxyr4fadiggq07skmblwspqdxy33jrs")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-unicode-xid" ,rust-unicode-xid-0.2)) #:cargo-development-inputs (("rust-quote" ,rust-quote-1.0)))) @@ -9420,6 +12545,37 @@ in terms of the upstream unstable API.") "Hypothesis-like property-based testing and shrinking.") (license (list license:asl2.0 license:expat)))) +(define-public rust-proptest-0.8 + (package + (inherit rust-proptest-0.9) + (name "rust-proptest") + (version "0.8.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "proptest" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "07qrxwsd72wr1cqs0b5b159lnagjffp0l4s4zriz8jak8w20cvcj")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; 1 doc test fails + #:cargo-inputs + (("rust-bit-set" ,rust-bit-set-0.5) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-quick-error" ,rust-quick-error-1.2) + ("rust-rand" ,rust-rand-0.5) + ("rust-regex-syntax" ,rust-regex-syntax-0.6) + ("rust-rusty-fork" ,rust-rusty-fork-0.2) + ("rust-tempfile" ,rust-tempfile-3.0)) + #:cargo-development-inputs + (("rust-regex" ,rust-regex-1.1)))))) + (define-public rust-psm-0.1 (package (name "rust-psm") @@ -9502,6 +12658,85 @@ stack pointer and inspect the properties of the stack.") "This package provides a collection of approximate quantile algorithms.") (license license:expat))) +(define-public rust-quasi-0.32 + (package + (name "rust-quasi") + (version "0.32.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "quasi" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1csqqgz3aw85q570ywmhb34r3sqgi1sprf8xadfwzlfnai45ri0q")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-clippy" ,rust-clippy-0.0) + ("rust-syntex-errors" ,rust-syntex-errors-0.58) + ("rust-syntex-syntax" ,rust-syntex-syntax-0.58)))) + (home-page "https://github.com/serde-rs/quasi") + (synopsis "Quasi-quoting macro system") + (description + "This package provides a quasi-quoting macro system.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-quasi-codegen-0.32 + (package + (name "rust-quasi-codegen") + (version "0.32.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "quasi_codegen" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1m3nwzn5ip8y86cyfk6hdnbhiinsk2faag7l0cc4q11wl9gy5fai")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-aster" ,rust-aster-0.41) + ("rust-clippy" ,rust-clippy-0.0) + ("rust-syntex" ,rust-syntex-0.58) + ("rust-syntex-errors" ,rust-syntex-errors-0.58) + ("rust-syntex-syntax" ,rust-syntex-syntax-0.58)))) + (home-page "https://github.com/serde-rs/quasi") + (synopsis "Quasi-quoting macro system") + (description "This package provides a quasi-quoting macro system.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-quasi-macros-0.32 + (package + (name "rust-quasi-macros") + (version "0.32.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "quasi_macros" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1p825s96wa9xcc01pm5f4nlb01nx0pah50qnwkbncrw1q9xwiki9")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-clippy" ,rust-clippy-0.0) + ("rust-quasi-codegen" ,rust-quasi-codegen-0.32)) + #:cargo-development-inputs + (("rust-aster" ,rust-aster-0.41) + ("rust-quasi" ,rust-quasi-0.32)))) + (home-page "https://github.com/serde-rs/quasi") + (synopsis "Quasi-quoting macro system") + (description "This package provides a quasi-quoting macro system.") + (license (list license:expat license:asl2.0)))) + (define-public rust-quick-error-1.2 (package (name "rust-quick-error") @@ -9523,10 +12758,37 @@ to write.") (license (list license:asl2.0 license:expat)))) -;; Many circular dependencies. -;; Dev dependencies are allowed to have them in crates.io. +(define-public rust-quickcheck-0.9 + (package + (name "rust-quickcheck") + (version "0.9.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "quickcheck" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0pwl7j21wmf843kpa9gr0byb40hg975ghjrwp0yxcym99bkq6j54")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-env-logger" ,rust-env-logger-0.7) + ("rust-log" ,rust-log-0.4) + ("rust-rand" ,rust-rand-0.7) + ("rust-rand-core" ,rust-rand-core-0.5)))) + (home-page "https://github.com/BurntSushi/quickcheck") + (synopsis "Automatic property based testing with shrinking") + (description + "QuickCheck is a way to do property based testing using randomly generated +input. This crate comes with the ability to randomly generate and shrink +integers, floats, tuples, booleans, lists, strings, options and results.") + (license (list license:unlicense license:expat)))) + (define-public rust-quickcheck-0.8 (package + (inherit rust-quickcheck-0.9) (name "rust-quickcheck") (version "0.8.5") (source @@ -9538,24 +12800,16 @@ to write.") (sha256 (base32 "0mkl4wnvvjk4m32aq3an4ayfyvnmbxnzcybfm7n3fbsndb1xjdcw")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-env-logger" ,rust-env-logger-0.6) ("rust-log" ,rust-log-0.4) ("rust-rand" ,rust-rand-0.6) - ("rust-rand-core" ,rust-rand-core-0.4)))) - (home-page - "https://github.com/BurntSushi/quickcheck") - (synopsis - "Automatic property based testing with shrinking") - (description - "Automatic property based testing with shrinking.") - (license (list license:expat license:unlicense)))) + ("rust-rand-core" ,rust-rand-core-0.4)))))) (define-public rust-quickcheck-0.7 (package - (inherit rust-quickcheck-0.8) + (inherit rust-quickcheck-0.9) (name "rust-quickcheck") (version "0.7.2") (source @@ -9568,8 +12822,7 @@ to write.") (base32 "05pqzja6fwdyrs1za5vmxb9ifb993knmpdsrs1fs2wyz9qz7slyl")))) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-env-logger" ,rust-env-logger-0.5) ("rust-log" ,rust-log-0.4) ("rust-rand" ,rust-rand-0.5) @@ -9577,7 +12830,7 @@ to write.") (define-public rust-quickcheck-0.6 (package - (inherit rust-quickcheck-0.8) + (inherit rust-quickcheck-0.9) (name "rust-quickcheck") (version "0.6.2") (source @@ -9590,15 +12843,14 @@ to write.") (base32 "1dyazm2fcq0v9fscq1a7597zsvdl9f0j8c2bfj1jm2nlzz2sn6y0")))) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-env-logger" ,rust-env-logger-0.5) ("rust-log" ,rust-log-0.4) ("rust-rand" ,rust-rand-0.4)))))) (define-public rust-quickcheck-0.5 (package - (inherit rust-quickcheck-0.8) + (inherit rust-quickcheck-0.9) (name "rust-quickcheck") (version "0.5.0") (source @@ -9610,15 +12862,34 @@ to write.") (base32 "1jzm1ygfbn4igaq14b9nipc8yvsn6c8panpgd1qiy5r2insjllyd")))) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-env-logger" ,rust-env-logger-0.4) ("rust-log" ,rust-log-0.3) ("rust-rand" ,rust-rand-0.3)))))) +(define-public rust-quickcheck-0.4 + (package + (inherit rust-quickcheck-0.5) + (name "rust-quickcheck") + (version "0.4.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "quickcheck" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "01hligcv1h4pvc8ykch65qjzi7jgcq2s462v69j27slc84fl3hh2")))) + (arguments + `(#:cargo-inputs + (("rust-env-logger" ,rust-env-logger-0.3) + ("rust-log" ,rust-log-0.3) + ("rust-rand" ,rust-rand-0.3)))))) + (define-public rust-quickcheck-0.2 (package - (inherit rust-quickcheck-0.8) + (inherit rust-quickcheck-0.4) (name "rust-quickcheck") (version "0.2.27") (source @@ -9628,13 +12899,34 @@ to write.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1vb4acppaavlnchzc1jmn5wlkgir9x9gmhgp97bavyxxqxgsg1nh")))) + "1vb4acppaavlnchzc1jmn5wlkgir9x9gmhgp97bavyxxqxgsg1nh")))))) + +(define-public rust-quickcheck-macros-0.8 + (package + (name "rust-quickcheck-macros") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "quickcheck_macros" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0b3mhn0xcrdd3fkbkx3rghhivwzwil8w991ngp6gaj70l72c3pyp")))) + (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-env-logger" ,rust-env-logger-0.3) - ("rust-log" ,rust-log-0.3) - ("rust-rand" ,rust-rand-0.3)) - #:skip-build? #t)))) ; Package needs 'unicode' crate. + (("rust-proc-macro2" ,rust-proc-macro2-0.4) + ("rust-quote" ,rust-quote-0.6) + ("rust-syn" ,rust-syn-0.15)) + #:cargo-development-inputs + (("rust-quickcheck" ,rust-quickcheck-0.8)))) + (home-page "https://github.com/BurntSushi/quickcheck") + (synopsis "Macro attribute for quickcheck") + (description + "This package provides a macro attribute for quickcheck.") + (license (list license:unlicense license:expat)))) (define-public rust-quote-1.0 (package @@ -9844,8 +13136,7 @@ useful types and distributions, and some randomness-related algorithms.") "0lv8imzzl4h2glm6sjj8mkvasgi8jym23ya48dakyln7m06sk8h3")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-c2-chacha" ,rust-c2-chacha-0.2) ("rust-rand-core" ,rust-rand-core-0.5)))) (home-page "https://crates.io/crates/rand-chacha") @@ -9867,8 +13158,7 @@ useful types and distributions, and some randomness-related algorithms.") (base32 "1vxwyzs4fy1ffjc8l00fsyygpiss135irjf7nyxgq2v0lqf3lvam")))) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-rand-core" ,rust-rand-core-0.3)) #:cargo-development-inputs (("rust-autocfg" ,rust-autocfg-0.1)))))) @@ -9888,8 +13178,7 @@ useful types and distributions, and some randomness-related algorithms.") "06bdvx08v3rkz451cm7z59xwwqn1rkfh6v9ay77b14f8dwlybgch")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-getrandom" ,rust-getrandom-0.1) ("rust-serde" ,rust-serde-1.0)))) (home-page "https://crates.io/crates/rand-core") @@ -9913,8 +13202,7 @@ useful types and distributions, and some randomness-related algorithms.") (base32 "1p09ynysrq1vcdlmcqnapq4qakl2yd1ng3kxh3qscpx09k2a6cww")))) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-serde" ,rust-serde-1.0) ("rust-serde-derive" ,rust-serde-derive-1.0)))))) @@ -9969,8 +13257,7 @@ useful types and distributions, and some randomness-related algorithms.") "0g31sqwpmsirdlwr0svnacr4dbqyz339im4ssl9738cjgfpjjcfa")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-rand-hc" ,rust-rand-core-0.5)))) (home-page "https://crates.io/crates/rand_hc") (synopsis "HC128 random number generator") @@ -9993,11 +13280,38 @@ generator that uses the HC-128 algorithm.") (base32 "1i0vl8q5ddvvy0x8hf1zxny393miyzxkwqnw31ifg6p0gdy6fh3v")))) (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-rand-core" ,rust-rand-core-0.3)))))) + `(#:cargo-inputs (("rust-rand-core" ,rust-rand-core-0.3)))))) + +(define-public rust-rand-isaac-0.2 + (package + (name "rust-rand-isaac") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_isaac" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0xlb9415x518ffkazxhvk8b04i9i548nva4i5l5s34crvjrv1xld")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-rand-core" ,rust-rand-core-0.5) + ("rust-serde" ,rust-serde-1.0)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode-1.1)))) + (home-page "https://crates.io/crates/rand_isaac") + (synopsis "ISAAC random number generator") + (description "This package implements the @code{ISAAC} and @code{ISAAC-64} +random number generators. ISAAC stands for \"Indirection, Shift, Accumulate, +Add, and Count\" which are the principal bitwise operations employed.") + (license (list license:expat license:asl2.0)))) (define-public rust-rand-isaac-0.1 (package + (inherit rust-rand-isaac-0.2) (name "rust-rand-isaac") (version "0.1.1") (source @@ -10008,21 +13322,13 @@ generator that uses the HC-128 algorithm.") (sha256 (base32 "027flpjr4znx2csxk7gxb7vrf9c7y5mydmvg5az2afgisp4rgnfy")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-rand-core" ,rust-rand-core-0.3) ("rust-serde" ,rust-serde-1.0) ("rust-serde-derive" ,rust-serde-derive-1.0)) #:cargo-development-inputs - (("rust-bincode" ,rust-bincode-1.1)))) - (home-page "https://crates.io/crates/rand_isaac") - (synopsis "ISAAC random number generator") - (description "This package implements the @code{ISAAC} and @code{ISAAC-64} -random number generators. ISAAC stands for \"Indirection, Shift, Accumulate, -Add, and Count\" which are the principal bitwise operations employed.") - (license (list license:asl2.0 - license:expat)))) + (("rust-bincode" ,rust-bincode-1.1)))))) (define-public rust-rand-jitter-0.1 (package @@ -10065,13 +13371,12 @@ generator based on timing jitter.") "06is69f8rfzs620g5b54k6cgy5yaycrsyqg55flyfrsf8g88733f")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-getrandom" ,rust-getrandom-0.1) ("rust-rand-core" ,rust-rand-core-0.5)))) (home-page "https://crates.io/crates/rand-os") (synopsis "OS backed Random Number Generator") - (description "OS backed Random Number Generator") + (description "OS backed Random Number Generator.") (license (list license:asl2.0 license:expat)))) @@ -10089,8 +13394,7 @@ generator based on timing jitter.") (base32 "0wahppm0s64gkr2vmhcgwc0lij37in1lgfxg5rbgqlz0l5vgcxbv")))) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-cloudabi" ,rust-cloudabi-0.0) ("rust-fuchsia-cprng" ,rust-fuchsia-cprng-0.1) ("rust-libc" ,rust-libc-0.2) @@ -10115,8 +13419,7 @@ generator based on timing jitter.") "0ab4h6s6x3py833jk61lwadq83qd1c8bih2hgi6yps9rnv0x1aqn")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-rand-core" ,rust-rand-core-0.5) ("rust-serde" ,rust-serde-1.0)) #:cargo-development-inputs @@ -10143,8 +13446,7 @@ generator based on timing jitter.") (base32 "0i0bdla18a8x4jn1w0fxsbs3jg7ajllz6azmch1zw33r06dv1ydb")))) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-autocfg" ,rust-autocfg-0.1) ("rust-rand-core" ,rust-rand-core-0.4) ("rust-serde" ,rust-serde-1.0) @@ -10206,8 +13508,35 @@ generator based on timing jitter.") (license (list license:asl2.0 license:expat)))) +(define-public rust-rand-xoshiro-0.4 + (package + (name "rust-rand-xoshiro") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand-xoshiro" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "013h45rikipv5bda2ixmwx5rwsk9wpc7mr0a77cz20hxi0pdvz59")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-rand-core" ,rust-rand-core-0.5) + ("rust-serde" ,rust-serde-1.0)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode-1.1)))) + (home-page "https://crates.io/crates/rand_xoshiro") + (synopsis "Xoshiro, xoroshiro and splitmix64 random number generators") + (description "This package provides the xoshiro, xoroshiro and splitmix64 +random number generators.") + (license (list license:expat license:asl2.0)))) + (define-public rust-rand-xoshiro-0.3 (package + (inherit rust-rand-xoshiro-0.4) (name "rust-rand-xoshiro") (version "0.3.0") (source @@ -10219,25 +13548,17 @@ generator based on timing jitter.") (sha256 (base32 "07w3qgrac8r356lz5vqff42rly6yd9vs3g5lx5pbn13rcmb05rqb")))) - (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-byteorder" ,rust-byteorder-1.3) ("rust-rand-core" ,rust-rand-core-0.5) ("rust-serde" ,rust-serde-1.0)) #:cargo-development-inputs - (("rust-bincode" ,rust-bincode-1.1)))) - (home-page "https://github.com/rust-random/rand") - (synopsis - "Xoshiro, xoroshiro and splitmix64 random number generators") - (description - "Xoshiro, xoroshiro and splitmix64 random number generators.") - (license (list license:expat license:asl2.0)))) + (("rust-bincode" ,rust-bincode-1.1)))))) (define-public rust-rand-xoshiro-0.1 (package - (inherit rust-rand-xoshiro-0.3) + (inherit rust-rand-xoshiro-0.4) (name "rust-rand-xoshiro") (version "0.1.0") (source @@ -10251,13 +13572,34 @@ generator based on timing jitter.") "0ac9ha6ll8b6l1930bd99k29jrjpsbpddvr6ycrnbi5rkwb1id03")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-byteorder" ,rust-byteorder-1.3) ("rust-rand-core" ,rust-rand-core-0.3)) #:cargo-development-inputs (("rust-rand" ,rust-rand-0.6)))))) +(define-public rust-raw-window-handle-0.3 + (package + (name "rust-raw-window-handle") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "raw-window-handle" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04c2wir7qq3g2b143yav52a1g5ack8ffqx2bpmrn9bc0dix1li0a")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)))) + (home-page "https://github.com/rust-windowing/raw-window-handle") + (synopsis "Interoperability library for Rust Windowing applications") + (description + "Interoperability library for Rust Windowing applications.") + (license license:expat))) + (define-public rust-rawpointer-0.1 (package (name "rust-rawpointer") @@ -10527,10 +13869,36 @@ system calls.") functionality.") (license license:expat))) +(define-public rust-ref-cast-1.0 + (package + (name "rust-ref-cast") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ref-cast" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1vy378bdzb4kcz13kh96c5n5qw1jinhfrya5j4bf9rxz65x1jzq7")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-ref-cast-impl" ,rust-ref-cast-impl-1.0)) + #:cargo-development-inputs + (("rust-rustversion" ,rust-rustversion-1.0) + ("rust-trybuild" ,rust-trybuild-1.0)))) + (home-page "https://github.com/dtolnay/ref-cast") + (synopsis "Safely cast &T to &U") + (description + "Safely cast &T to &U where the struct U contains a single field of type T.") + (license (list license:expat license:asl2.0)))) + (define-public rust-ref-cast-0.2 (package (name "rust-ref-cast") - (version "0.2.6") + (version "0.2.7") (source (origin (method url-fetch) @@ -10539,22 +13907,24 @@ functionality.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0jgj1zxaikqm030flpifbp517fy4z21lly6ysbwyciii39bkzcf1")))) + "1fcbpfb7xhr992qvyfg9hr5p63xqykjp48pm3f7a1q21vmhzksvv")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-ref-cast-impl" ,rust-ref-cast-impl-0.2)))) + `(#:cargo-inputs + (("rust-ref-cast-impl" ,rust-ref-cast-impl-0.2)) + #:cargo-development-inputs + (("rust-rustversion" ,rust-rustversion-0.1) + ("rust-trybuild" ,rust-trybuild-1.0)))) (home-page "https://github.com/dtolnay/ref-cast") (synopsis "Safely cast &T to &U") (description "Safely cast &T to &U where the struct U contains a single field of type T.") (license (list license:asl2.0 license:expat)))) -(define-public rust-ref-cast-impl-0.2 +(define-public rust-ref-cast-impl-1.0 (package (name "rust-ref-cast-impl") - (version "0.2.6") + (version "1.0.0") (source (origin (method url-fetch) @@ -10563,19 +13933,33 @@ functionality.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0hw0frpzna5rf5szix56zyzd0vackcb3svj94ndj629xi75dkb32")))) + "07rc752npmkyc5b8xcqk2ydbl3gxi1n4fzrq0wx9wz5qd4mvavn3")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-proc-macro2" ,rust-proc-macro2-0.4) + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1.0) ("rust-quote" ,rust-quote-1.0) - ("rust-syn" ,rust-syn-0.15)))) + ("rust-syn" ,rust-syn-1.0)))) (home-page "https://github.com/dtolnay/ref-cast") (synopsis "Derive implementation for @code{ref_cast::RefCast}") (description - "Derive implementation for ref_cast::RefCast.") - (license (list license:asl2.0 license:expat)))) + "Derive implementation for @code{ref_cast::RefCast}.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-ref-cast-impl-0.2 + (package + (inherit rust-ref-cast-impl-1.0) + (name "rust-ref-cast-impl") + (version "0.2.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "ref-cast-impl" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0av43xxjlinfqklb67rpj217cmaxfjsf8151gs0hbs4hnr5664ck")))))) (define-public rust-regex-1.3 (package @@ -10664,6 +14048,34 @@ uses finite automata and guarantees linear time matching on all inputs.") ("rust-quickcheck" ,rust-quickcheck-0.6) ("rust-rand" ,rust-rand-0.4)))))) +(define-public rust-regex-0.1 + (package + (inherit rust-regex-0.2) + (name "rust-regex") + (version "0.1.80") + (source + (origin + (method url-fetch) + (uri (crate-uri "regex" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0bs036h3vzc6pj5jj4vc909s9rppq7b808ic99qn0y6gm3karm2g")))) + (arguments + `(#:skip-build? #t ; Can't find dependent crates. + #:cargo-inputs + (("rust-aho-corasick" ,rust-aho-corasick-0.5) + ("rust-memchr" ,rust-memchr-0.1) + ("rust-regex-syntax" ,rust-regex-syntax-0.3) + ("rust-simd" ,rust-simd-0.2) ; 0.1? + ("rust-thread-local" ,rust-thread-local-0.2) + ("rust-utf8-ranges" ,rust-utf8-ranges-0.1)) + #:cargo-development-inputs + (("rust-lazy-static" ,rust-lazy-static-0.1) + ("rust-quickcheck" ,rust-quickcheck-0.2) + ("rust-rand" ,rust-rand-0.3)))))) + (define-public rust-regex-automata-0.1 (package (name "rust-regex-automata") @@ -10751,8 +14163,7 @@ uses finite automata and guarantees linear time matching on all inputs.") (base32 "0ms9hgdhhsxw9w920i7gipydvagf100bb56jbs192rz86ln01v7r")))) (arguments - `(#:skip-build? #t - #:cargo-development-inputs + `(#:cargo-development-inputs (("rust-quickcheck" ,rust-quickcheck-0.2) ("rust-rand" ,rust-rand-0.3)))))) @@ -11114,6 +14525,94 @@ rustc compiler.") "Automatically apply the suggestions made by rustc.") (license (list license:expat license:asl2.0)))) +(define-public rust-rusttype-0.8 + (package + (name "rust-rusttype") + (version "0.8.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "rusttype" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "12hwfg85iii7sbgsyyr23yw862dzp7f8zwn9xv5iqydm5w1i3a8l")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Artifacts for tests not included. + #:cargo-inputs + (("rust-approx" ,rust-approx-0.3) + ("rust-arrayvec" ,rust-arrayvec-0.5) + ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7) + ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7) + ("rust-libm" ,rust-libm-0.2) + ("rust-linked-hash-map" ,rust-linked-hash-map-0.5) + ("rust-num-cpus" ,rust-num-cpus-1.11) + ("rust-ordered-float" ,rust-ordered-float-1.0) + ("rust-rustc-hash" ,rust-rustc-hash-1.0) + ("rust-stb-truetype" ,rust-stb-truetype-0.3)))) + (home-page "https://gitlab.redox-os.org/redox-os/rusttype") + (synopsis "Pure Rust alternative to libraries like FreeType") + (description + "This package provides a pure Rust alternative to libraries like FreeType. +RustType provides an API for loading, querying and rasterising TrueType fonts. +It also provides an implementation of a dynamic GPU glyph cache for hardware +font rendering.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-rusttype-0.7 + (package + (inherit rust-rusttype-0.8) + (name "rust-rusttype") + (version "0.7.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "rusttype" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1m9ms4p94cgif74y1rzkj04rx8i1la193c0jgvnip61rd904429i")))) + (arguments + `(#:tests? #f ; Artifacts for tests not included. + #:cargo-inputs + (("rust-rusttype" ,rust-rusttype-0.8)) + #:cargo-development-inputs + (("rust-arrayvec" ,rust-arrayvec-0.4) + ("rust-blake2" ,rust-blake2-0.8) + ("rust-glium" ,rust-glium-0.25) + ("rust-image" ,rust-image-0.21) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-unicode-normalization" ,rust-unicode-normalization-0.1)))))) + +(define-public rust-rustversion-1.0 + (package + (name "rust-rustversion") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustversion" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xkr1g792w728py2qpg2zj0vfviv2xzmxkkd9w6035l9d5ss3fxk")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-quote" ,rust-quote-1.0) + ("rust-syn" ,rust-syn-1.0)))) + (home-page "https://github.com/dtolnay/rustversion") + (synopsis "Conditional compilation according to rustc compiler version") + (description + "This package provides conditional compilation according to the +@code{rustc} compiler version.") + (license (list license:expat license:asl2.0)))) + (define-public rust-rustversion-0.1 (package (name "rust-rustversion") @@ -11228,8 +14727,7 @@ quickly convert floating point numbers to decimal strings.") "00h5j1w87dmhnvbv9l8bic3y7xxsnjmssvifw2ayvgx9mb1ivz4k")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-winapi-util" ,rust-winapi-util-0.1)) #:cargo-development-inputs (("rust-doc-comment" ,rust-doc-comment-0.3)))) @@ -11241,6 +14739,28 @@ paths point to the same file.") (license (list license:unlicense license:expat)))) +(define-public rust-same-file-0.1 + (package + (inherit rust-same-file-1.0) + (name "rust-same-file") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "same-file" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "19qpl6j8s3ph9jm8rh1k0wp2nkyw5ah34xly00vqcfx4v97s8cfr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-kernel32-sys" ,rust-kernel32-sys-0.2) + ("rust-winapi" ,rust-winapi-0.2)) + #:cargo-development-inputs + (("rust-rand" ,rust-rand-0.3)))))) + (define-public rust-schannel-0.1 (package (name "rust-schannel") @@ -11387,11 +14907,11 @@ with one of the implemented strategies.") (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-scroll-derive" ,rust-scroll-derive-0.9)) + (("rust-scroll-derive" ,rust-scroll-derive-0.9) + ("rust-rustc-version" ,rust-rustc-version-0.2)) #:cargo-development-inputs (("rust-byteorder" ,rust-byteorder-1.3) - ("rust-rayon" ,rust-rayon-1.1) - ("rust-rustc-version" ,rust-rustc-version-0.2)))) + ("rust-rayon" ,rust-rayon-1.1)))) (home-page "https://github.com/m4b/scroll") (synopsis "Read/Write traits for byte buffers") (description @@ -11414,10 +14934,9 @@ endian-aware Read/Write traits for byte buffers.") "1jqg5mm8nvii6avl1z1rc89agzh2kwkppgpsnwfakxg78mnaj6lg")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-0.4) - ("rust-quote" ,rust-quote-1.0) + ("rust-quote" ,rust-quote-0.6) ("rust-syn" ,rust-syn-0.15)) #:cargo-development-inputs (("rust-scroll" ,rust-scroll-0.9)))) @@ -11431,7 +14950,7 @@ Pwrite traits from the scroll crate.") (define-public rust-seahash-3.0 (package (name "rust-seahash") - (version "3.0.6") + (version "3.0.7") (source (origin (method url-fetch) @@ -11440,9 +14959,8 @@ Pwrite traits from the scroll crate.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1pr8ijnxnp68ki4m4740yc5mr01zijf86yx07wbsqzwiyhghdmhq")))) + "0iqg12lxkn0ivsfa1gkylcwj5wmi6zl87mbizlrkg918s6hprxaq")))) (build-system cargo-build-system) - (arguments `(#:skip-build? #t)) (home-page "https://gitlab.redox-os.org/redox-os/seahash") (synopsis @@ -11452,10 +14970,41 @@ Pwrite traits from the scroll crate.") proven statistical guarantees.") (license license:expat))) +(define-public rust-security-framework-0.3 + (package + (name "rust-security-framework") + (version "0.3.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "security-framework" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1pqn79cl9njnnhsmjvvphkzx8is5jhfd8bhxpllgvrgggjfl5wlf")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Some test files not included in release. + #:cargo-inputs + (("rust-core-foundation" ,rust-core-foundation-0.6) + ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6) + ("rust-libc" ,rust-libc-0.2) + ("rust-security-framework-sys" ,rust-security-framework-sys-0.3)) + #:cargo-development-inputs + (("rust-hex" ,rust-hex-0.4) + ("rust-tempdir" ,rust-tempdir-0.3)))) + (home-page "https://lib.rs/crates/security_framework") + (synopsis + "Security.framework bindings for macOS and iOS") + (description + "Security.framework bindings for macOS and iOS.") + (license (list license:expat license:asl2.0)))) + (define-public rust-security-framework-sys-0.3 (package (name "rust-security-framework-sys") - (version "0.3.1") + (version "0.3.3") (source (origin (method url-fetch) @@ -11463,16 +15012,50 @@ proven statistical guarantees.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0mlsakq9kmqyc0fg2hcbgm6rjk55mb0rhjw2wid3hqdzkjcghdln")))) + "15gqhhi206lzynd0pcbswxhvqc4p9bmpl2h9qnwfnpb16zy96573")))) (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6)))) (home-page "https://lib.rs/crates/security-framework-sys") (synopsis "Apple `Security.framework` low-level FFI bindings") (description - "Apple `Security.framework` low-level FFI bindings.") - (properties '((hidden? . #t))) + "Apple @code{Security.framework} low-level FFI bindings.") (license (list license:asl2.0 license:expat)))) +(define-public rust-sema-0.1 + (package + (name "rust-sema") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "sema" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ckq33sg84785p195m54h03jcn7fai8w08hjnb94nzaakgzibbz3")) + (modules '((guix build utils))) + (snippet + '(begin (substitute* "Cargo.toml" + (("libc.*") "libc = \"0.2\"\n")) + #t)))) + (build-system cargo-build-system) + (arguments + `( #:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-rand" ,rust-rand-0.3) + ("rust-time" ,rust-time-0.1)) + #:cargo-development-inputs + (("rust-lazy-static" ,rust-lazy-static-1) + ("rust-nix" ,rust-nix-0.15)))) + (home-page "https://github.com/cpjreynolds/sema") + (synopsis "Rust semaphore library") + (description "Rust semaphore library.") + (license license:expat))) + (define-public rust-semver-0.9 (package (name "rust-semver") @@ -11562,6 +15145,33 @@ proven statistical guarantees.") "This package provides a generic serialization/deserialization framework.") (license (list license:expat license:asl2.0)))) +(define-public rust-serde-0.9 + (package + (inherit rust-serde-1.0) + (name "rust-serde") + (version "0.9.15") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1bsla8l5xr9pp5sirkal6mngxcq6q961km88jvf339j5ff8j7dil")))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-cargo-toml + (lambda _ + (substitute* "Cargo.toml" + ((", path =.*}") "}")) + #t))) + #:cargo-inputs + (("rust-serde-derive" ,rust-serde-derive-0.9)) + #:cargo-development-inputs + (("rust-serde-derive" ,rust-serde-derive-0.9)))))) + (define-public rust-serde-0.8 (package (inherit rust-serde-1.0) @@ -11580,6 +15190,24 @@ proven statistical guarantees.") (("rust-clippy" ,rust-clippy-0.0)) #:tests? #f)))) +(define-public rust-serde-0.4 + (package + (inherit rust-serde-0.9) + (name "rust-serde") + (version "0.4.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06s2ayx1p5zzj4q7bfld60c9iprsk1256pnh8qj6h794mjinw11b")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs (("rust-num" ,rust-num-0.2)))))) + (define-public rust-serde-big-array-0.1 (package (name "rust-serde-big-array") @@ -11634,8 +15262,34 @@ proven statistical guarantees.") "Optimized handling of @code{&[u8]} and @code{Vec<u8>} for Serde.") (license (list license:expat license:asl2.0)))) +(define-public rust-serde-cbor-0.11 + (package + (name "rust-serde-cbor") + (version "0.11.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde-cbor" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "08m62mfqjnpa543kd9r9cyxlqc6y73avhsl3n8svgs4h5zxaq60y")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-half" ,rust-half-1.3) + ("rust-serde" ,rust-serde-1.0)) + #:cargo-development-inputs + (("rust-serde-derive" ,rust-serde-derive-1.0)))) + (home-page "https://github.com/pyfisch/cbor") + (synopsis "CBOR support for serde") + (description "CBOR support for serde.") + (license (list license:expat license:asl2.0)))) + (define-public rust-serde-cbor-0.10 (package + (inherit rust-serde-cbor-0.11) (name "rust-serde-cbor") (version "0.10.2") (source @@ -11647,7 +15301,6 @@ proven statistical guarantees.") (sha256 (base32 "0kyizacjabsa78p9f7qvj31zirpnsgsr4zpfv1p6lwpcb3biw27p")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -11655,10 +15308,59 @@ proven statistical guarantees.") ("rust-half" ,rust-half-1.3) ("rust-serde" ,rust-serde-1.0)) #:cargo-development-inputs - (("rust-serde-derive" ,rust-serde-derive-1.0)))) - (home-page "https://github.com/pyfisch/cbor") - (synopsis "CBOR support for serde") - (description "CBOR support for serde.") + (("rust-serde-derive" ,rust-serde-derive-1.0)))))) + +(define-public rust-serde-codegen-0.4 + (package + (name "rust-serde-codegen") + (version "0.4.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde_codegen" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0167ghvqs0n8qin8fjx2ihn3gx92m55685qpv4nzihw48h4rq0vq")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-aster" ,rust-aster-0.41) + ("rust-quasi" ,rust-quasi-0.32) + ("rust-quasi-macros" ,rust-quasi-macros-0.32) + ("rust-syntex" ,rust-syntex-0.58) + ("rust-syntex-syntax" ,rust-syntex-syntax-0.58)) + #:cargo-development-inputs + (("rust-quasi-codegen" ,rust-quasi-codegen-0.32) + ("rust-syntex" ,rust-syntex-0.58)))) + (home-page "https://serde.rs") + (synopsis "Macros for the serde framework") + (description "This package provides macros to auto-generate implementations +for the serde framework.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-serde-codegen-internals-0.14 + (package + (name "rust-serde-codegen-internals") + (version "0.14.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde_codegen_internals" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0004s3wlc85vi6hq62hq84cv5b6qbbin1n6hdaqj095xhg98p25w")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-syn" ,rust-syn-0.11)))) + (home-page "https://serde.rs") + (synopsis "AST representation used by Serde codegen") + (description + "Unstable AST representation used by Serde codegen.") (license (list license:expat license:asl2.0)))) (define-public rust-serde-derive-1.0 @@ -11689,6 +15391,33 @@ proven statistical guarantees.") "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]") (license (list license:expat license:asl2.0)))) +(define-public rust-serde-derive-0.9 + (package + (inherit rust-serde-derive-1.0) + (name "rust-serde-derive") + (version "0.9.15") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde-derive" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1fkldf0lnl6pwxs00qpyp79m30qmfpi3bk0wm22211ylyikdi3wp")))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-cargo-toml + (lambda _ + (substitute* "Cargo.toml" + ((", path =.*}") "}")) + #t))) + #:cargo-inputs + (("rust-quote" ,rust-quote-0.3) + ("rust-serde-codegen-internals" ,rust-serde-codegen-internals-0.14) + ("rust-syn" ,rust-syn-0.11)))))) + (define-public rust-serde-json-1.0 (package (name "rust-serde-json") @@ -11719,6 +15448,67 @@ proven statistical guarantees.") "This package provides a JSON serialization file format.") (license (list license:expat license:asl2.0)))) +(define-public rust-serde-json-0.9 + (package + (inherit rust-serde-json-1.0) + (name "rust-serde-json") + (version "0.9.10") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde_json" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "188nbf56m7p6mnh3xd71rwqxd4g95lqh8gsl7mfy3lp7gd4cz2xd")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-dtoa" ,rust-dtoa-0.4) + ("rust-itoa" ,rust-itoa-0.3) + ("rust-linked-hash-map" ,rust-linked-hash-map-0.4) + ("rust-num-traits" ,rust-num-traits-0.1) + ("rust-serde" ,rust-serde-0.9)) + #:cargo-development-inputs + (("rust-serde-derive" ,rust-serde-derive-0.9)))))) + +(define-public rust-serde-macros-0.4 + (package + (name "rust-serde-macros") + (version "0.4.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde_macros" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1717rpncvvyvyrpb7hdjgxpiki9vdgygwv2r3d9aal5n8cm8xi8i")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-cargo-toml + (lambda _ + (substitute* "Cargo.toml" + ((", path =.*}") "}")) + #t))) + #:cargo-inputs + (("rust-serde-codegen" ,rust-serde-codegen-0.4)) + #:cargo-development-inputs + (("rust-num" ,rust-num-0.2) + ("rust-rustc-serialize" ,rust-rustc-serialize-0.3) + ("rust-serde" ,rust-serde-0.4)))) + (home-page "https://serde.rs") + (synopsis + "Macros to auto-generate implementations for the serde framework") + (description + "Macros to auto-generate implementations for the serde framework.") + (license (list license:expat license:asl2.0)))) + (define-public rust-serde-test-1.0 (package (name "rust-serde-test") @@ -11747,6 +15537,30 @@ proven statistical guarantees.") "Token De/Serializer for testing De/Serialize implementations.") (license (list license:expat license:asl2.0)))) +(define-public rust-serde-test-0.9 + (package + (inherit rust-serde-test-1.0) + (name "rust-serde-test") + (version "0.9.15") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde_test" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "193mf0qkhvjywd06x6hhmkixlqcyfbpfwfmr75dp2b8xwzpsvxwf")))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-cargo-toml + (lambda _ + (substitute* "Cargo.toml" + ((", path =.*}") "}")) + #t))) + #:cargo-inputs (("rust-serde" ,rust-serde-0.9)))))) + (define-public rust-serde-test-0.8 (package (inherit rust-serde-test-1.0) @@ -11800,6 +15614,99 @@ proven statistical guarantees.") (description "YAML support for Serde.") (license (list license:asl2.0 license:expat)))) +(define-public rust-servo-fontconfig-0.4 + (package + (name "rust-servo-fontconfig") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "servo-fontconfig" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1nach6s4hdf86jz5hlm4p5r7vin91cs7gg89mr533id5fpbzi250")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-servo-fontconfig-sys" ,rust-servo-fontconfig-sys-4)))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("fontconfig" ,fontconfig))) + (home-page "https://github.com/servo/rust-fontconfig/") + (synopsis "Rust bindings for fontconfig") + (description "This package provides Rust bindings for fontconfig.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-servo-fontconfig-sys-4 + (package + (name "rust-servo-fontconfig-sys") + (version "4.0.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "servo-fontconfig-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0v0mbicy74wd6cjd5jyqnm4nvrrr5lmg053cn16kylhg8mkf3cv2")) + (modules '((guix build utils))) + (snippet + '(begin + (for-each delete-file-recursively + (find-files "." "[^Cargo.toml,^build\\.rs]")) + #t)))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-expat-sys" ,rust-expat-sys-2.1) + ("rust-servo-freetype-sys" ,rust-servo-freetype-sys-4) + ("rust-pkg-config" ,rust-pkg-config-0.3)))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("fontconfig" ,fontconfig))) + (home-page "https://crates.io/crates/servo-fontconfig-sys") + (synopsis "Rust wrapper around Fontconfig") + (description + "This package provides a Rust wrapper around Fontxonfig.") + (license license:mpl2.0))) ; build.rs is mpl2.0 + +(define-public rust-servo-freetype-sys-4 + (package + (name "rust-servo-freetype-sys") + (version "4.0.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "servo-freetype-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1z0dvnakans4vn4vlpx4nxg984427lh8dskxxz9pglij1mnwnk1c")) + (modules '((guix build utils))) + (snippet + '(begin (delete-file-recursively "freetype2") #t)))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cmake" ,rust-cmake-0.1) + ("rust-pkg-config" ,rust-pkg-config-0.3)))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("freetype" ,freetype))) + (home-page "http://www.freetype.org/") + (synopsis "Rust wrapper around freetype") + (description + "This package provides a Rust wrapper around the FreeType library.") + (license license:mpl2.0))) ; build.rs is mpl2.0 + (define-public rust-sha-1-0.8 (package (name "rust-sha-1") @@ -11858,6 +15765,34 @@ proven statistical guarantees.") "Minimal implementation of SHA1 for Rust.") (license license:bsd-3))) +(define-public rust-sha1-0.2 + (package + (inherit rust-sha1-0.6) + (name "rust-sha1") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "sha1" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0p09zfhd27z6yr5in07gfjcx345010rw51ivlcf14364x3hv2c6c")))) + (arguments + `(#:cargo-development-inputs + (("rust-openssl" ,rust-openssl-0.7) + ("rust-rand" ,rust-rand-0.3)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-cargo-toml + (lambda _ + (substitute* "Cargo.toml" + ((", path =.*}") "}")) + #t))))) + (native-inputs + `(("openssl" ,openssl-1.0))))) ; for openssl-sys-extras + (define-public rust-sha1-asm-0.4 (package (name "rust-sha1-asm") @@ -11907,6 +15842,51 @@ proven statistical guarantees.") "A library for using child processes from multiple threads.") (license license:expat))) +(define-public rust-shared-library-0.1 + (package + (name "rust-shared-library") + (version "0.1.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "shared_library" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04fs37kdak051hm524a360978g58ayrcarjsbf54vqps5c7px7js")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2)))) + (home-page "https://github.com/tomaka/shared_library/") + (synopsis "Bind to and load shared libraries") + (description + "This package allows easy binding to, and loading of, shared libraries.") + (license (list license:asl2.0 license:expat)))) + +(define-public rust-shell-words-0.1 + (package + (name "rust-shell-words") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "shell-words" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jnrw3f174974fsi2hg48l0klpy24767ib28w0xcvi2ll5axxb1r")))) + (build-system cargo-build-system) + (home-page "https://github.com/tmiasko/shell-words") + (synopsis + "Process command line according to parsing rules of UNIX shell") + (description + "Process command line according to parsing rules of UNIX shell.") + (license (list license:expat license:asl2.0)))) + (define-public rust-shlex-0.1 (package (name "rust-shlex") @@ -11930,7 +15910,7 @@ words, like Python's shlex.") (define-public rust-signal-hook-0.1 (package (name "rust-signal-hook") - (version "0.1.9") + (version "0.1.13") (source (origin (method url-fetch) @@ -11939,16 +15919,15 @@ words, like Python's shlex.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0nlw1gwi58ppds5klyy8vp2ickx3majvdp1pcdz8adm4zpqmiavj")))) + "0b0yh6hlb5hs5kq6adyk0bn168y1ncymxvlizlygaabad2hz7f8h")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-futures" ,rust-futures-0.1) ("rust-libc" ,rust-libc-0.2) ("rust-mio" ,rust-mio-0.6) ("rust-mio-uds" ,rust-mio-uds-0.6) - ("rust-signal-hook-registry" ,rust-signal-hook-registry-1.0) + ("rust-signal-hook-registry" ,rust-signal-hook-registry-1.2) ("rust-tokio-reactor" ,rust-tokio-reactor-0.1)) #:cargo-development-inputs (("rust-tokio" ,rust-tokio-0.1) @@ -11958,10 +15937,10 @@ words, like Python's shlex.") (description "Unix signal handling.") (license (list license:asl2.0 license:expat)))) -(define-public rust-signal-hook-registry-1.0 +(define-public rust-signal-hook-registry-1.2 (package (name "rust-signal-hook-registry") - (version "1.0.1") + (version "1.2.0") (source (origin (method url-fetch) @@ -11970,12 +15949,11 @@ words, like Python's shlex.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1mw5v909fn99h5qb96ma4almlik80lr1c7xbakn24rql6bx4zvfd")))) + "0haz828bif1lbp3alx17zkcy5hwy15bbpmvks72j8iznx7npix4l")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-arc-swap" ,rust-arc-swap-0.3) + `(#:cargo-inputs + (("rust-arc-swap" ,rust-arc-swap-0.4) ("rust-libc" ,rust-libc-0.2)) #:cargo-development-inputs (("rust-signal-hook" ,rust-signal-hook-0.1) @@ -11983,8 +15961,83 @@ words, like Python's shlex.") (home-page "https://github.com/vorner/signal-hook") (synopsis "Backend crate for signal-hook") (description "Backend crate for signal-hook.") + (license (list license:asl2.0 license:expat)))) + +(define-public rust-signal-hook-registry-1.0 + (package + (inherit rust-signal-hook-registry-1.2) + (name "rust-signal-hook-registry") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "signal-hook-registry" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1mw5v909fn99h5qb96ma4almlik80lr1c7xbakn24rql6bx4zvfd")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-arc-swap" ,rust-arc-swap-0.3) + ("rust-libc" ,rust-libc-0.2)) + #:cargo-development-inputs + (("rust-signal-hook" ,rust-signal-hook-0.1) + ("rust-version-sync" ,rust-version-sync-0.8)))))) + +(define-public rust-simd-0.2 + (package + (name "rust-simd") + (version "0.2.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "simd" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dgpmfzd4favsckd5m0p6bna1dcgw19hjigkqcgwfhc4d05hxczj")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t ; Crate no longer builds on Rust 1.33+ + #:cargo-inputs + (("rust-serde" ,rust-serde-1.0) + ("rust-serde-derive" ,rust-serde-derive-1.0)) + #:cargo-development-inputs + (("rust-cfg-if" ,rust-cfg-if-0.1)))) + (home-page "https://github.com/hsivonen/simd") + (synopsis "Limited cross-platform access to SIMD instructions on CPUs") + (description + "@code{simd} offers limited cross-platform access to SIMD instructions on +CPUs, as well as raw interfaces to platform-specific instructions. +(To be obsoleted by the @code{std::simd} implementation RFC 2366.) +") (license (list license:expat license:asl2.0)))) +(define-public rust-simd-0.1 + (package + (inherit rust-simd-0.2) + (name "rust-simd") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "simd" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "08vhhz1w5m7amfp1d9lvfyyzl0jqjm82hrr7fb7afv3n5my89db3")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-serde" ,rust-serde-0.4) + ("rust-serde-macros" ,rust-serde-macros-0.4)) + #:cargo-development-inputs + (("rust-cfg-if" ,rust-cfg-if-0.1)))))) + (define-public rust-siphasher-0.2 (package (name "rust-siphasher") @@ -11999,7 +16052,6 @@ words, like Python's shlex.") (base32 "1b53m53l24lyhr505lwqzrpjyq5qfnic71mynrcfvm43rybf938b")))) (build-system cargo-build-system) - (arguments `(#:skip-build? #t)) (home-page "https://docs.rs/siphasher") (synopsis "SipHash functions from rust-core < 1.13") (description @@ -12081,10 +16133,10 @@ data type.") license:expat license:asl2.0)))) -(define-public rust-smallvec-0.6 +(define-public rust-smallvec-1 (package (name "rust-smallvec") - (version "0.6.10") + (version "1.2.0") (source (origin (method url-fetch) @@ -12093,11 +16145,10 @@ data type.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1dyl43rgzny79jjpgzi07y0ly2ggx1xwsn64csxj0j91bsf6lq5b")))) + "1z6f47i3qpg9pdjzzvb0g5i1vvdm2ymk3kqc1mdnl8fdkgnb4bsw")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-serde" ,rust-serde-1.0)) #:cargo-development-inputs (("rust-bincode" ,rust-bincode-1.1)))) @@ -12108,6 +16159,120 @@ data type.") stack.") (license (list license:expat license:asl2.0)))) +(define-public rust-smallvec-0.6 + (package + (inherit rust-smallvec-1) + (name "rust-smallvec") + (version "0.6.13") + (source + (origin + (method url-fetch) + (uri (crate-uri "smallvec" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dl219vnfkmsfx28lm3f83lyw24zap6fdsli6rg8nnp1aa67bc7p")))) + (arguments + `(#:cargo-inputs + (("rust-maybe-uninit" ,rust-maybe-uninit-2.0) + ("rust-serde" ,rust-serde-1.0)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode-1.1)))))) + +(define-public rust-smithay-client-toolkit-0.6 + (package + (name "rust-smithay-client-toolkit") + (version "0.6.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "smithay-client-toolkit" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0m20687zs36l6xak2s5k9s7qp78ly8xfjpbmrhacp7whfn4hx5lk")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-andrew" ,rust-andrew-0.2) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-dlib" ,rust-dlib-0.4) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-memmap" ,rust-memmap-0.7) + ("rust-nix" ,rust-nix-0.14) + ("rust-wayland-client" ,rust-wayland-client-0.23) + ("rust-wayland-protocols" ,rust-wayland-protocols-0.23)) + #:cargo-development-inputs + (("rust-byteorder" ,rust-byteorder-1.3) + ("rust-image" ,rust-image-0.21) + ("rust-wayland-client" ,rust-wayland-client-0.23)))) + (home-page "https://github.com/smithay/client-toolkit") + (synopsis "Toolkit for making client wayland applications") + (description + "Toolkit for making client wayland applications.") + (license license:expat))) + +(define-public rust-smithay-client-toolkit-0.4 + (package + (inherit rust-smithay-client-toolkit-0.6) + (name "rust-smithay-client-toolkit") + (version "0.4.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "smithay-client-toolkit" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1yj8yzd0lhqpsgq0x4iikl9a02q2hnkky81brk938alv0ibqrjrc")))) + (arguments + `(#:cargo-inputs + (("rust-andrew" ,rust-andrew-0.2) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-dlib" ,rust-dlib-0.4) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-memmap" ,rust-memmap-0.7) + ("rust-nix" ,rust-nix-0.14) + ("rust-wayland-client" ,rust-wayland-client-0.21) + ("rust-wayland-commons" ,rust-wayland-commons-0.21) + ("rust-wayland-protocols" ,rust-wayland-protocols-0.21)) + #:cargo-development-inputs + (("rust-byteorder" ,rust-byteorder-1.3) + ("rust-image" ,rust-image-0.20) + ("rust-wayland-client" ,rust-wayland-client-0.21)))))) + +(define-public rust-smithay-clipboard-0.3 + (package + (name "rust-smithay-clipboard") + (version "0.3.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "smithay-clipboard" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1h7qhcx44cgwncgpn5llky0c56vgsg9mqrkybb2z37vsxxia4rwn")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-nix" ,rust-nix-0.14) + ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.6)) + #:cargo-development-inputs + (("rust-andrew" ,rust-andrew-0.2)))) + (inputs + `(("wayland" ,wayland))) + (home-page "https://github.com/smithay/smithay-clipboard") + (synopsis + "Provides access to the wayland clipboard for client applications") + (description + "This package provides access to the wayland clipboard for client applications.") + (license license:expat))) + (define-public rust-socket2-0.3 (package (name "rust-socket2") @@ -12225,6 +16390,29 @@ initializers are available.") "07ywqn1vrpi3c43fmvsx7pawk9h3rb77yyqbnhap2micl454kb6f")))) (arguments '(#:skip-build? #t)))) +(define-public rust-spsc-buffer-0.1 + (package + (name "rust-spsc-buffer") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "spsc-buffer" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fsv5zpxkax2n46flxhyajq1yblgh8f33la39gp86hksqcwkyv5y")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.2)))) + (home-page "https://github.com/davidhewitt/spsc-buffer") + (synopsis "Single-producer single-consumer lock-free buffer") + (description + "This package provides a single-producer single-consumer lock-free buffer.") + (license license:expat))) + (define-public rust-stable-deref-trait-1.1 (package (name "rust-stable-deref-trait") @@ -12324,10 +16512,38 @@ deeply recursive algorithms that may accidentally blow the stack.") are met.") (license (list license:expat license:asl2.0)))) +(define-public rust-stb-truetype-0.3 + (package + (name "rust-stb-truetype") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "stb_truetype" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0lgvnh3ma6cz811bk8imj45djz76zs47b8327sgnmik2x03nnyzp")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; tests not included in release + #:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1.3) + ("rust-libm" ,rust-libm-0.2)) + #:cargo-development-inputs + (("rust-approx" ,rust-approx-0.3)))) + (home-page "https://gitlab.redox-os.org/redox-os/stb_truetype-rs") + (synopsis "Translation of the font loading code to Rust") + (description + "This package provides a straight translation of the font loading code +in @code{stb_truetype.h} from C to Rust.") + (license (list license:expat license:asl2.0)))) + (define-public rust-stdweb-0.4 (package (name "rust-stdweb") - (version "0.4.17") + (version "0.4.20") (source (origin (method url-fetch) @@ -12336,7 +16552,7 @@ are met.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "094giad1v81rxxs4izf88ijc9c6w3c7cr5a7cwwr86mc22xn4hy3")))) + "1md14n9rzxzdskz3hpgln8vxfwqsw2cswc0f5nslh4r82rmlj8nh")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -12368,7 +16584,7 @@ Web.") (define-public rust-stdweb-derive-0.5 (package (name "rust-stdweb-derive") - (version "0.5.1") + (version "0.5.3") (source (origin (method url-fetch) @@ -12377,26 +16593,27 @@ Web.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0c1rxx6rqcc4iic5hx320ki3vshpi8k58m5600iqzq4x2zcyn88f")))) + "1vsh7g0gaxn4kxqq3knhymdn02p2pfxmnd2j0vplpj6c1yj60yn8")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:tests? #f #:cargo-inputs - (("rust-proc-macro2" ,rust-proc-macro2-0.4) + (("rust-proc-macro2" ,rust-proc-macro2-1.0) ("rust-quote" ,rust-quote-1.0) ("rust-serde" ,rust-serde-1.0) ("rust-serde-derive" ,rust-serde-derive-1.0) - ("rust-syn" ,rust-syn-0.15)))) + ("rust-syn" ,rust-syn-1.0)))) (home-page "https://github.com/koute/stdweb") (synopsis "Derive macros for the stdweb crate") (description - "Derive macros for the @code{stdweb} crate.") + "This crate currently defines a derive macro for @code{stdweb} which allows +you to define custom reference types outside of the @code{stdweb} library.") (license (list license:expat license:asl2.0)))) (define-public rust-stdweb-internal-macros-0.2 (package (name "rust-stdweb-internal-macros") - (version "0.2.7") + (version "0.2.9") (source (origin (method url-fetch) @@ -12405,23 +16622,22 @@ Web.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1yjrmkc6sb1035avic383pa3avk2s9k3n17yjcza8yb9nw47v3z6")))) + "049fq8fl5ny9l5if2qv7kxwng7g6ns95h4fbm3zx360dmpv5zyjq")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-base-x" ,rust-base-x-0.2) - ("rust-proc-macro2" ,rust-proc-macro2-0.4) + ("rust-proc-macro2" ,rust-proc-macro2-1.0) ("rust-quote" ,rust-quote-1.0) ("rust-serde" ,rust-serde-1.0) ("rust-serde-derive" ,rust-serde-derive-1.0) ("rust-serde-json" ,rust-serde-json-1.0) ("rust-sha1" ,rust-sha1-0.6) - ("rust-syn" ,rust-syn-0.15)))) + ("rust-syn" ,rust-syn-1.0)))) (home-page "https://github.com/koute/stdweb") (synopsis "Internal procedural macros for the stdweb crate") (description - "Internal procedural macros for the stdweb crate.") + "Internal procedural macros for the @code{stdweb} crate.") (license (list license:expat license:asl2.0)))) (define-public rust-stdweb-internal-runtime-0.1 @@ -12518,7 +16734,7 @@ crate.") (define-public rust-string-cache-0.7 (package (name "rust-string-cache") - (version "0.7.3") + (version "0.7.5") (source (origin (method url-fetch) @@ -12527,11 +16743,10 @@ crate.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "08sly9s92l0g0ai1iyj9pawl05xbwm4m8kl3zqkv2wkijw4h3mr5")))) + "0rrdb822gc1fs3qq4camgj3kh4182bs79hpqxhdrpmlz5yl5ih49")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-1) ("rust-new-debug-unreachable" ,rust-new-debug-unreachable-1.0) @@ -12552,7 +16767,7 @@ developed as part of the Servo project.") (define-public rust-string-cache-codegen-0.4 (package (name "rust-string-cache-codegen") - (version "0.4.2") + (version "0.4.4") (source (origin (method url-fetch) @@ -12561,14 +16776,13 @@ developed as part of the Servo project.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1npl9zq9cd16d7irksblgk7l7g6qknnzsmr12hrhky2fcpp1xshy")))) + "1ik78h9gs874i24rkyh0myg6x4ni2a9cazbv5yzs9yavnv8mxx7h")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-phf-generator" ,rust-phf-generator-0.7) ("rust-phf-shared" ,rust-phf-shared-0.7) - ("rust-proc-macro2" ,rust-proc-macro2-0.4) + ("rust-proc-macro2" ,rust-proc-macro2-1.0) ("rust-quote" ,rust-quote-1.0) ("rust-string-cache-shared" ,rust-string-cache-shared-0.3)))) @@ -12593,7 +16807,6 @@ developed as part of the Servo project.") (base32 "1z7dpdix1m42x6ddshdcpjf91ml9mhvnskmiv5kd8hcpq0dlv25i")))) (build-system cargo-build-system) - (arguments `(#:skip-build? #t)) (home-page "https://github.com/servo/string-cache") (synopsis "Code share between string_cache and string_cache_codegen") (description @@ -12784,6 +16997,71 @@ cryptographic implementations.") ("rust-walkdir" ,rust-walkdir-2.2)))) (properties '()))) +(define-public rust-syn-0.11 + (package + (inherit rust-syn-0.15) + (name "rust-syn") + (version "0.11.11") + (source + (origin + (method url-fetch) + (uri (crate-uri "syn" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1b8x8jdsmj6r9ck7n1pg371526n1q90kx6rv6ivcb22w06wr3f6k")))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'build 'fixup-cargo-toml + (lambda _ + (substitute* "Cargo.toml" + ((", path =.*,") ",")) + #t))) + #:cargo-inputs + (("rust-quote" ,rust-quote-0.3) + ("rust-synom" ,rust-synom-0.11) + ("rust-unicode-xid" ,rust-unicode-xid-0.0)) + #:cargo-development-inputs + (("rust-syntex-pos" ,rust-syntex-pos-0.58) + ("rust-syntex-syntax" ,rust-syntex-syntax-0.58) + ("rust-tempdir" ,rust-tempdir-0.3) + ("rust-walkdir" ,rust-walkdir-1.0)))))) + +(define-public rust-synom-0.11 + (package + (name "rust-synom") + (version "0.11.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "synom" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dj536sh5xxhan2h0znxhv0sl6sb7lvzmsmrc3nvl3h1v5p0d4x3")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; doc tests fail + #:phases + (modify-phases %standard-phases + (add-before 'build 'fixup-cargo-toml + (lambda _ + (substitute* "Cargo.toml" + (("^path =.*") "")) + #t))) + #:cargo-inputs + (("rust-unicode-xid" ,rust-unicode-xid-0.0)) + #:cargo-development-inputs + (("rust-syn" ,rust-syn-0.11)))) + (home-page "https://github.com/dtolnay/syn") + (synopsis "Stripped-down Nom parser used by Syn") + (description + "Stripped-down Nom parser used by Syn.") + (license (list license:expat license:asl2.0)))) + (define-public rust-synstructure-0.10 (package (name "rust-synstructure") @@ -12799,10 +17077,9 @@ cryptographic implementations.") "0grirdkgh2wl4hf9a3nbiazpgccxgq54kn52ms0xrr6njvgkwd82")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-0.4) - ("rust-quote" ,rust-quote-1.0) + ("rust-quote" ,rust-quote-0.6) ("rust-syn" ,rust-syn-0.15) ("rust-unicode-xid" ,rust-unicode-xid-0.1)) #:cargo-development-inputs @@ -12830,9 +17107,111 @@ cryptographic implementations.") (synopsis "Helper test traits for synstructure doctests") (description "This package provides helper test traits for synstructure doctests.") - (properties '((hidden? . #t))) (license license:expat))) +(define-public rust-syntex-0.58 + (package + (name "rust-syntex") + (version "0.58.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "syntex" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "03lgd36cxhc6gzaab0wqvckbhml00s6s73lk34ymf6cklymf7xd8")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-syntex-errors" ,rust-syntex-errors-0.58) + ("rust-syntex-syntax" ,rust-syntex-syntax-0.58)))) + (home-page "https://github.com/erickt/rust-syntex") + (synopsis "Compile time syntax extension expansion") + (description + "This package provides a library that enables compile time +syntax extension expansion.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-syntex-errors-0.58 + (package + (name "rust-syntex-errors") + (version "0.58.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "syntex_errors" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "176vma7sjv6li17q7dsilryac66b76zyis9ampmff2hlsz1caz46")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-rustc-serialize" ,rust-rustc-serialize-0.3) + ("rust-syntex-pos" ,rust-syntex-pos-0.58) + ("rust-term" ,rust-term-0.4) + ("rust-unicode-xid" ,rust-unicode-xid-0.0)))) + (home-page "https://github.com/serde-rs/syntex") + (synopsis "Backport of librustc_errors") + (description "This package provides a backport of @code{librustc_errors}.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-syntex-pos-0.58 + (package + (name "rust-syntex-pos") + (version "0.58.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "syntex_pos" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0iqhircpr723da1g97xrrj8smqqz3gxw91cf03sckasjzri4gb8k")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-rustc-serialize" ,rust-rustc-serialize-0.3)))) + (home-page "https://github.com/serde-rs/syntex") + (synopsis "Backport of libsyntax_pos") + (description "This package provides a backport of @code{libsyntax_pos}.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-syntex-syntax-0.58 + (package + (name "rust-syntex-syntax") + (version "0.58.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "syntex_syntax" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "14f74l7yzwl6fr9i23k4j23k66qn0gakvhk4jjc9ipb3w6x4s3kf")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-0.8) + ("rust-log" ,rust-log-0.3) + ("rust-rustc-serialize" ,rust-rustc-serialize-0.3) + ("rust-syntex-errors" ,rust-syntex-errors-0.58) + ("rust-syntex-pos" ,rust-syntex-pos-0.58) + ("rust-unicode-xid" ,rust-unicode-xid-0.0)))) + (home-page "https://github.com/serde-rs/syntex") + (synopsis "Backport of libsyntax") + (description "This package provides a backport of libsyntax.") + (license (list license:expat license:asl2.0)))) + (define-public rust-sysctl-0.4 (package (name "rust-sysctl") @@ -12882,6 +17261,26 @@ cryptographic implementations.") ("rust-errno" ,rust-errno-0.2) ("rust-libc" ,rust-libc-0.2)))))) +(define-public rust-takeable-option-0.4 + (package + (name "rust-takeable-option") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "takeable-option" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0hvd6vk4ksgg2y99498jw52ric4lxm0i6ygpzqm95gdrhvsxyynp")))) + (build-system cargo-build-system) + (home-page "https://docs.rs/takeable-option/") + (synopsis "A small wrapper around option.") + (description + "This package provides a small wrapper around option.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-tar-0.4 (package (name "rust-tar") @@ -12895,6 +17294,15 @@ cryptographic implementations.") (base32 "1lr6v3cpkfxd2lk5ll2jd8wr1xdskwj35smnh5sfb8xvzzxnn6dk")))) (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Test tarballs not included in crate. + #:cargo-inputs + (("rust-filetime" ,rust-filetime-0.2) + ("rust-libc" ,rust-libc-0.2) + ("rust-redox-syscall" ,rust-redox-syscall-0.1) + ("rust-xattr" ,rust-xattr-0.2)) + #:cargo-development-inputs + (("rust-tempdir" ,rust-tempdir-0.3)))) (home-page "https://github.com/alexcrichton/tar-rs") (synopsis "Tar file reading/writing for Rust") (description @@ -12903,29 +17311,34 @@ writer. This library does not currently handle compression, but it is abstract over all I/O readers and writers. Additionally, great lengths are taken to ensure that the entire contents are never required to be entirely resident in memory all at once.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) -(define-public rust-takeable-option-0.4 +(define-public rust-target-build-utils-0.3 (package - (name "rust-takeable-option") - (version "0.4.0") + (name "rust-target-build-utils") + (version "0.3.1") (source (origin (method url-fetch) - (uri (crate-uri "takeable-option" version)) + (uri (crate-uri "target_build_utils" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0hvd6vk4ksgg2y99498jw52ric4lxm0i6ygpzqm95gdrhvsxyynp")))) + "0p7713x4bpbwi11l196z1mi8ym8qj1cdnab1mm2ffpm2wi516g81")))) (build-system cargo-build-system) - (home-page "https://docs.rs/takeable-option/") - (synopsis "A small wrapper around option.") - (description - "This package provides a small wrapper around option.") - (license (list license:asl2.0 license:expat)))) + (arguments + `(#:cargo-inputs + (("rust-phf" ,rust-phf-0.7) + ("rust-serde-json" ,rust-serde-json-0.9) + ("rust-phf-codegen" ,rust-phf-codegen-0.7)))) + (home-page "https://github.com/nagisa/target_build_utils.rs") + (synopsis "Rust utility to handle TARGET environment variable") + (description + "Utility crate to handle the @code{TARGET} environment variable passed into +@code{build.rs} scripts.") + (license (list license:isc license:asl2.0)))) (define-public rust-tempdir-0.3 (package @@ -12974,7 +17387,7 @@ deleting all contents when it's dropped.") ("rust-redox-syscall" ,rust-redox-syscall-0.1) ("rust-remove-dir-all" ,rust-remove-dir-all-0.5) ("rust-winapi" ,rust-winapi-0.3)))) - (home-page "http://stebalien.com/projects/tempfile-rs") + (home-page "https://stebalien.com/projects/tempfile-rs") (synopsis "Library for managing temporary files and directories") (description "This package provides a library for managing temporary files and @@ -13035,8 +17448,33 @@ directories.") "Compact buffer/string type for zero-copy parsing.") (license (list license:expat license:asl2.0)))) +(define-public rust-term-0.6 + (package + (name "rust-term") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "term" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ddqxq9hrk8zqq1f8pqhz72vrlfc8vh2xcza2gb623z78lrkm1n0")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-dirs" ,rust-dirs-2.0) + ("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/Stebalien/term") + (synopsis "Terminal formatting library") + (description + "This package provides a terminal formatting library.") + (license (list license:expat license:asl2.0)))) + (define-public rust-term-0.5 (package + (inherit rust-term-0.6) (name "rust-term") (version "0.5.2") (source @@ -13048,23 +17486,15 @@ directories.") (sha256 (base32 "0hkgjrfisj6zjwz525639pmsvzhlc48a0h65nw87qrdp6jihdlgd")))) - (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-byteorder" ,rust-byteorder-1.3) ("rust-dirs" ,rust-dirs-1.0) - ("rust-winapi" ,rust-winapi-0.3)))) - (home-page "https://github.com/Stebalien/term") - (synopsis "Terminal formatting library") - (description - "This package provides a terminal formatting library in rust.") - (license (list license:asl2.0 - license:expat)))) + ("rust-winapi" ,rust-winapi-0.3)))))) (define-public rust-term-0.4 (package - (inherit rust-term-0.5) + (inherit rust-term-0.6) (name "rust-term") (version "0.4.6") (source @@ -13076,8 +17506,7 @@ directories.") (base32 "1wbh8ngqkqr3f6wz902yplf60bd5yapnckvrkgmzp5nffi7n8qzs")))) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-kernel32-sys" ,rust-kernel32-sys-0.2) ("rust-winapi" ,rust-winapi-0.2)))))) @@ -13177,10 +17606,35 @@ writing colored text to a terminal.") (license (list license:unlicense license:expat)))) +(define-public rust-terminfo-0.6 + (package + (name "rust-terminfo") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "terminfo" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17k8vqvicd6yg0iqmkjnxjhz8h8pknv86r03nq3f3ayjmxdhclcf")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-fnv" ,rust-fnv-1.0) + ("rust-nom" ,rust-nom-4.2) + ("rust-phf" ,rust-phf-0.7) + ("rust-phf-codegen" ,rust-phf-codegen-0.7)))) + (home-page "https://github.com/meh/rust-terminfo") + (synopsis "Terminal information") + (description "Terminal capabilities with type-safe getters.") + (license license:wtfpl2))) + (define-public rust-termion-1.5 (package (name "rust-termion") - (version "1.5.3") + (version "1.5.5") (source (origin (method url-fetch) @@ -13188,13 +17642,19 @@ writing colored text to a terminal.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0c634rg520zjjfhwnxrc2jbfjz7db0rcpsjs1qici0nyghpv53va")))) + "01f9787d5nx445bqbj644v38bn0hl2swwjy9baz0dnbqi6fyqb62")))) (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Tests want a terminal. + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-numtoa" ,rust-numtoa-0.1) + ("rust-redox-syscall" ,rust-redox-syscall-0.1) + ("rust-redox-termios" ,rust-redox-termios-0.1)))) (home-page "https://gitlab.redox-os.org/redox-os/termion") (synopsis "Library for manipulating terminals") (description "This package provides a bindless library for manipulating terminals.") - (properties '((hidden? . #t))) (license license:expat))) (define-public rust-termios-0.3 @@ -13210,6 +17670,9 @@ writing colored text to a terminal.") (base32 "09any1p4jp4bphvb5ikagnvwjc3xn2djchy96nkpa782xb2j1dkj")))) (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2)))) (home-page "https://github.com/dcuddeback/termios-rs") (synopsis "Safe bindings for the termios library") (description @@ -13217,7 +17680,6 @@ writing colored text to a terminal.") to the terminal I/O interface implemented by Unix operating systems. The safe bindings are a small wrapper around the raw C functions, which converts integer return values to @code{std::io::Result} to indicate success or failure.") - (properties '((hidden? . #t))) (license license:expat))) (define-public rust-test-assembler-0.1 @@ -13297,6 +17759,60 @@ handle Unicode characters correctly.") (properties '((hidden? . #t))) (license license:expat))) +(define-public rust-thiserror-1.0 + (package + (name "rust-thiserror") + (version "1.0.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "thiserror" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0zlp3kzjssl1ndqmn7cipqnyggq4851ghhqj4bfc4fxk2hc7sdbg")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-thiserror-impl" ,rust-thiserror-impl-1.0)) + #:cargo-development-inputs + (("rust-anyhow" ,rust-anyhow-1.0) + ("rust-ref-cast" ,rust-ref-cast-1.0) + ("rust-rustversion" ,rust-rustversion-1.0) + ("rust-trybuild" ,rust-trybuild-1.0)))) + (home-page "https://github.com/dtolnay/thiserror") + (synopsis "derive(Error)") + (description "This package provides @code{derive(Error)} in Rust.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-thiserror-impl-1.0 + (package + (name "rust-thiserror-impl") + (version "1.0.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "thiserror-impl" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1vxzhb98pm5yrq9mmcz50bgpml35iyx7lwjgi4v89sq7ag92abpb")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-quote" ,rust-quote-1.0) + ("rust-syn" ,rust-syn-1.0)))) + (home-page "https://github.com/dtolnay/thiserror") + (synopsis "Implementation detail of the thiserror crate") + (description "This package provides an implementation detail of the +@code{thiserror} crate.") + (license (list license:expat license:asl2.0)))) + (define-public rust-thread-id-3.3 (package (name "rust-thread-id") @@ -13310,15 +17826,38 @@ handle Unicode characters correctly.") (base32 "1h90v19fjz3x9b25ywh68z5yf2zsmm6h5zb4rl302ckbsp4z9yy7")))) (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-redox-syscall" ,rust-redox-syscall-0.1) + ("rust-winapi" ,rust-winapi-0.3)))) (home-page "https://github.com/ruuda/thread-id") (synopsis "Get a unique ID for the current thread in Rust") (description "For diagnostics and debugging it can often be useful to get an ID that is different for every thread.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) +(define-public rust-thread-id-2.0 + (package + (inherit rust-thread-id-3.3) + (name "rust-thread-id") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "thread-id" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "00zzs2bx1xw8aqm5plqqgr7bc2zz6zkqrdxq8vpiqb8hc2srslx9")))) + (arguments + `(#:cargo-inputs + (("rust-kernel32-sys" ,rust-kernel32-sys-0.2) + ("rust-libc" ,rust-libc-0.2)))))) + (define-public rust-thread-local-1.0 (package (name "rust-thread-local") @@ -13358,6 +17897,24 @@ different for every thread.") `(#:skip-build? #t #:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-1)))))) +(define-public rust-thread-local-0.2 + (package + (inherit rust-thread-local-0.3) + (name "rust-thread-local") + (version "0.2.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "thread_local" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1mgxikqvhpsic6xk7pan95lvgsky1sdxzw2w5m2l35pgrazxnxl5")))) + (arguments + `(#:cargo-inputs + (("rust-thread-id" ,rust-thread-id-2.0)))))) + (define-public rust-threadpool-1.7 (package (name "rust-threadpool") @@ -13371,15 +17928,68 @@ different for every thread.") (base32 "0rd89n1q7vy47w4c32cnynibffv9kj3jy3dwr0536n9lbw5ckw72")))) (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-num-cpus" ,rust-num-cpus-1.11)))) (home-page "https://github.com/rust-threadpool/rust-threadpool") (synopsis "Thread pool for running jobs on a fixed set of worker threads") (description "This package provides a thread pool for running a number of jobs on a fixed set of worker threads.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) +(define-public rust-tiff-0.3 + (package + (name "rust-tiff") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "tiff" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0zgmbny2f8rssqmjdfvnysy0vqwcvlwl6q9f5yixhavlqk7w5dyp")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Tests images not included with release. + #:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1.3) + ("rust-lzw" ,rust-lzw-0.10) + ("rust-num-derive" ,rust-num-derive-0.2) + ("rust-num-traits" ,rust-num-traits-0.2)) + #:cargo-development-inputs + (("rust-tempfile" ,rust-tempfile-3.0)))) + (home-page "https://github.com/image-rs/image-tiff") + (synopsis + "TIFF decoding and encoding library in pure Rust") + (description + "TIFF decoding and encoding library in pure Rust.") + (license license:expat))) + +(define-public rust-tiff-0.2 + (package + (inherit rust-tiff-0.3) + (name "rust-tiff") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "tiff" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1kn7psgpacns337vvqh272rkqwnakmjd51rc7ygwnc03ibr38j0y")))) + (arguments + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1.3) + ("rust-lzw" ,rust-lzw-0.10) + ("rust-num-derive" ,rust-num-derive-0.2) + ("rust-num-traits" ,rust-num-traits-0.2)))))) + (define-public rust-time-0.1 (package (name "rust-time") @@ -13728,10 +18338,12 @@ futures efficiently") (base32 "1y7q83qfk9ljjfvs82b453pmz9x1v3d6kr4x55j8mal01s6790dw")))) (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures" ,rust-futures-0.1)))) (home-page "https://github.com/carllerche/tokio-mock-task") (synopsis "Mock a Tokio task") - (description "Mock a Tokio task") - (properties '((hidden? . #t))) + (description "Mock a Tokio task.") (license license:expat))) (define-public rust-tokio-process-0.2 @@ -14100,7 +18712,7 @@ serializing Rust structures.") (define-public rust-tracing-core-0.1 (package (name "rust-tracing-core") - (version "0.1.2") + (version "0.1.9") (source (origin (method url-fetch) @@ -14108,13 +18720,15 @@ serializing Rust structures.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "01fa73wzw2m5ybi3kkd52dgrw97mgc3i6inmhwys46ab28giwnxi")))) + "0y0rcvvqq89yaiz0qdx88byxgz8j6hsm9slq8d5vvf3jwc8nz90k")))) (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static-1)))) (home-page "https://tokio.rs") (synopsis "Core primitives for application-level tracing") (description "Core primitives for application-level tracing.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) @@ -14150,11 +18764,13 @@ serializing Rust structures.") (base32 "12wdd4ja7047sd3rx70hv2056hyc8gcdllcx3a41g1rnw64kng98")))) (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-0.1)))) (home-page "https://github.com/derekjw/try_from") (synopsis "TryFrom and TryInto traits for failable conversions") (description - "TryFrom and TryInto traits for failable conversions that return a Result.") - (properties '((hidden? . #t))) + "TryFrom and TryInto traits for failable conversions that return a Result.") (license license:expat))) (define-public rust-try-lock-0.2 @@ -14174,13 +18790,12 @@ serializing Rust structures.") (synopsis "Lightweight atomic lock") (description "This package provides a lightweight atomic lock.") - (properties '((hidden? . #t))) (license license:expat))) (define-public rust-trybuild-1.0 (package (name "rust-trybuild") - (version "1.0.9") + (version "1.0.23") (source (origin (method url-fetch) @@ -14189,12 +18804,12 @@ serializing Rust structures.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0df6ipayif05xn61iavdb0dcshm9y6wmcd140pp7dl91mirygs7j")))) + "080j808nv6nyr1mmw23vwdp4rkk7r38nmms850rih8lsclc1pzr6")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-glob" ,rust-glob-0.3) + `(#:cargo-inputs + (("rust-dissimilar" ,rust-dissimilar-1.0) + ("rust-glob" ,rust-glob-0.3) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-serde" ,rust-serde-1.0) ("rust-serde-json" ,rust-serde-json-1.0) @@ -14222,7 +18837,6 @@ serializing Rust structures.") (home-page "https://github.com/reem/rust-typeable") (synopsis "Exposes Typeable, for getting TypeIds at runtime") (description "Exposes Typeable, for getting TypeIds at runtime.") - (properties '((hidden? . #t))) (license license:expat))) (define-public rust-typed-arena-1.4 @@ -14287,7 +18901,6 @@ serializing Rust structures.") compile time. It currently supports bits, unsigned integers, and signed integers. It also provides a type-level array of type-level numbers, but its implementation is incomplete.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) @@ -14330,18 +18943,20 @@ Unicode character database.") (base32 "1hh6kyzh5xygwy96wfmsf8v8czlzhps2lgbcyhj1xzy1w1xys04g")))) (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-lazy-static" ,rust-lazy-static-1)))) (home-page "https://github.com/BurntSushi/ucd-generate") (synopsis "Trie for storing Unicode codepoint sets and maps") (description "This package provides a trie for storing Unicode codepoint sets and maps.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) (define-public rust-ucd-util-0.1 (package (name "rust-ucd-util") - (version "0.1.5") + (version "0.1.7") (source (origin (method url-fetch) @@ -14349,13 +18964,12 @@ Unicode character database.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0x088q5z0m09a2jqcfgsnq955y8syn1mgn35cl78qinkxm4kp6zs")))) + "13ng291mkc9b132jjf4laj76f5nqm5qd2447rm8bry3wxbdc5kaw")))) (build-system cargo-build-system) (home-page "https://github.com/BurntSushi/ucd-generate") (synopsis "library for working with the Unicode character database") (description "This package provides a small utility library for working with the Unicode character database.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) @@ -14402,6 +19016,26 @@ with the Unicode character database.") (license (list license:asl2.0 license:expat)))) +(define-public rust-unicase-1 + (package + (inherit rust-unicase-2.4) + (name "rust-unicase") + (version "1.4.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "unicase" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0cwazh4qsmm9msckjk86zc1z35xg7hjxjykrgjalzdv367w6aivz")))) + (arguments + `(#:cargo-inputs + (("rust-heapsize" ,rust-heapsize-0.3) + ("rust-heapsize-plugin" ,rust-heapsize-plugin-0.1) + ("rust-version-check" ,rust-version-check-0.1)))))) + (define-public rust-unicode-bidi-0.3 (package (name "rust-unicode-bidi") @@ -14500,7 +19134,7 @@ boundaries according to Unicode Standard Annex #29 rules.") (define-public rust-unicode-width-0.1 (package (name "rust-unicode-width") - (version "0.1.6") + (version "0.1.7") (source (origin (method url-fetch) @@ -14508,13 +19142,17 @@ boundaries according to Unicode Standard Annex #29 rules.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "082f9hv1r3gcd1xl33whjhrm18p0w9i77zhhhkiccb5r47adn1vh")))) + "0yflmxkxmm89ckrb3sz58whn491aycrj8cxra0hzzlb72x9rvana")))) (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0) + ("rust-rustc-std-workspace-std" ,rust-rustc-std-workspace-std-1.0)))) (home-page "https://github.com/unicode-rs/unicode-width") (synopsis "Determine displayed width according to Unicode rules") (description "This crate allows you to determine displayed width of @code{char} and @code{str} types according to Unicode Standard Annex #11 rules.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) @@ -14583,7 +19221,6 @@ or XID_Continue properties according to Unicode Standard Annex #31.") (synopsis "Remove a column of leading whitespace from a string") (description "This crate allows you to remove a column of leading whitespace from a string.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) @@ -14600,11 +19237,13 @@ whitespace from a string.") (base32 "0mps2il4xy2mjqc3appas27hhn2xmvixc3bzzhfrjj74gy3i0a1q")))) (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-void" ,rust-void-1.0)))) (home-page "https://github.com/reem/rust-unreachable") (synopsis "Unreachable code optimization hint in rust") (description "This package provides an unreachable code optimization hint in rust.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) @@ -14648,7 +19287,6 @@ whitespace from a string.") (description "Safe, fast, zero-panic, zero-crashing, zero-allocation parsing of untrusted inputs in Rust.") - (properties '((hidden? . #t))) (license license:isc))) (define-public rust-url-2.1 @@ -14712,6 +19350,58 @@ untrusted inputs in Rust.") ("rust-rustc-test" ,rust-rustc-test-0.3) ("rust-serde-json" ,rust-serde-json-1.0)))))) +(define-public rust-urlocator-0.1 + (package + (name "rust-urlocator") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "urlocator" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xzhwmqrqyk8p3s5npqpidrn0gjapqx5fshrx633fk56j7cm8qm1")))) + (build-system cargo-build-system) + (home-page "https://github.com/chrisduerr/urlocator.git") + (synopsis "Locate URLs in character streams") + (description "Locate URLs in character streams.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-user32-sys-0.2 + (package + (name "rust-user32-sys") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "user32-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ivxc7hmsxax9crdhxdd1nqwik4s9lhb2x59lc8b88bv20fp3x2f")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-winapi" ,rust-winapi-0.2)) + #:cargo-development-inputs + (("rust-winapi-build" ,rust-winapi-build-0.1)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-cargo-toml + (lambda _ + (substitute* "Cargo.toml" + ((", path =.*}") "}")) + #t))))) + (home-page "https://github.com/retep998/winapi-rs") + (synopsis "Function definitions for the Windows API library user32") + (description + "Contains function definitions for the Windows API library user32. +See winapi for types and constants.") + (license license:expat))) + (define-public rust-users-0.9 (package (name "rust-users") @@ -14782,6 +19472,24 @@ Unix users and groups.") "Convert ranges of Unicode codepoints to UTF-8 byte ranges.") (license (list license:expat license:unlicense)))) +(define-public rust-utf8-ranges-0.1 + (package + (inherit rust-utf8-ranges-1.0) + (name "rust-utf8-ranges") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "utf8-ranges" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "03xf604b2v51ag3jgzw92l97xnb10kw9zv948bhc7ja1ik017jm1")))) + (arguments + `(#:cargo-development-inputs + (("rust-quickcheck" ,rust-quickcheck-0.2)))))) + (define-public rust-utf8parse-0.1 (package (name "rust-utf8parse") @@ -14836,10 +19544,32 @@ Unix users and groups.") "This package provides a library to generate and parse UUIDs.") (license (list license:asl2.0 license:expat)))) +(define-public rust-uuid-0.5 + (package + (inherit rust-uuid-0.7) + (name "rust-uuid") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "uuid" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "08nw3famk1w1zf9ck32pmklk24wd4n4nqnr9wl46qvxak2wf7ixw")))) + (arguments + `(#:cargo-inputs + (("rust-md5" ,rust-md5-0.3) + ("rust-rand" ,rust-rand-0.3) + ("rust-rustc-serialize" ,rust-rustc-serialize-0.3) + ("rust-serde" ,rust-serde-1.0) + ("rust-sha1" ,rust-sha1-0.2)))))) + (define-public rust-vcpkg-0.2 (package (name "rust-vcpkg") - (version "0.2.7") + (version "0.2.8") (source (origin (method url-fetch) @@ -14847,14 +19577,18 @@ Unix users and groups.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "15dzk1b96q946v9aisbd1bbhi33n93wvgziwh1shmscn1xflbp9k")))) + "0s1ijdrsg6917imja2hb07l0z4vbx7ydm8m2i1n9g62fg7r3ki1z")))) (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Tests want mysql, harfbuzz, graphite2. + #:cargo-development-inputs + (("rust-lazy-static" ,rust-lazy-static-1) + ("rust-tempdir" ,rust-tempdir-0.3)))) (home-page "https://github.com/mcgoo/vcpkg-rs") (synopsis "Find native dependencies in a vcpkg tree at build time") (description "This package provides a library to find native dependencies in a @code{vcpkg} tree at build time in order to be used in Cargo build scripts.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) @@ -14871,11 +19605,13 @@ Unix users and groups.") (base32 "06n8hw4hlbcz328a3gbpvmy0ma46vg1lc0r5wf55900szf3qdiq5")))) (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde-1.0)))) (home-page "https://github.com/contain-rs/vec-map") (synopsis "Simple map based on a vector for small integer keys") (description "This package provides a simple map based on a vector for small integer keys.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) @@ -14900,7 +19636,6 @@ version requirements. The version is queried by calling the Rust compiler with @code{--version}. The path to the compiler is determined first via the @code{RUSTC} environment variable. If it is not set, then @code{rustc} is used. If that fails, no determination is made, and calls return None.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) @@ -14968,9 +19703,80 @@ updated when the crate version changes.") (synopsis "Void type for use in statically impossible cases") (description "The uninhabited void type for use in statically impossible cases.") - (properties '((hidden? . #t))) (license license:expat))) +(define-public rust-vswhom-0.1 + (package + (name "rust-vswhom") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "vswhom" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "12v0fjjzxdc3y5c0lcwycfhphz7zf2s06hl5krwhawah0xzrp5xy")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-vswhom-sys" ,rust-vswhom-sys-0.1)))) + (home-page "https://github.com/nabijaczleweli/vswhom.rs") + (synopsis "FFI to Jon Blow's VS discovery script") + (description + "This package provides a pure FFI to Jon Blow's VS discovery script.") + (license license:expat))) + +(define-public rust-vswhom-sys-0.1 + (package + (name "rust-vswhom-sys") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "vswhom-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0clm4dx4amwlhg5lkh52fmvvwq6c7s7b9xqljw39mryhsc158bzw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-cc" ,rust-cc-1.0)))) + (home-page "https://github.com/nabijaczleweli/vswhom-sys.rs") + (synopsis "Pure FFI to Jon Blow's VS discovery script") + (description + "This package provides a pure FFI to Jon Blow's VS discovery script.") + (license license:expat))) + +(define-public rust-vte-0.3 + (package + (name "rust-vte") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "vte" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1kz8svnqnxclllsgh0ck20rplw3qzp46b5v30yscnzrgw8vgahjg")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; tests not included in release + #:cargo-inputs + (("rust-utf8parse" ,rust-utf8parse-0.1)))) + (home-page "https://github.com/jwilm/vte") + (synopsis "Parser for implementing terminal emulators") + (description + "This package provides a parser for implementing terminal emulators.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-wait-timeout-0.2 (package (name "rust-wait-timeout") @@ -15021,6 +19827,31 @@ specified across Unix and Windows platforms.") (license (list license:unlicense license:expat)))) +(define-public rust-walkdir-1.0 + (package + (inherit rust-walkdir-2.2) + (name "rust-walkdir") + (version "1.0.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "walkdir" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1zw8safzqpsrvfn0256cngq2fr9d4lmwv5qb8ycn1f7sf3kgj25v")))) + (arguments + `(#:cargo-inputs + (("rust-kernel32-sys" ,rust-kernel32-sys-0.2) + ("rust-same-file" ,rust-same-file-0.1) + ("rust-winapi" ,rust-winapi-0.2)) + #:cargo-development-inputs + (("rust-docopt" ,rust-docopt-0.7) + ("rust-quickcheck" ,rust-quickcheck-0.4) + ("rust-rand" ,rust-rand-0.3) + ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)))))) + (define-public rust-wasi-0.5 (package (name "rust-wasi") @@ -15039,13 +19870,12 @@ specified across Unix and Windows platforms.") (synopsis "Experimental WASI API bindings for Rust") (description "This package contains experimental WASI API bindings in Rust.") - (properties '((hidden? . #t))) (license license:asl2.0))) (define-public rust-wasm-bindgen-0.2 (package (name "rust-wasm-bindgen") - (version "0.2.48") + (version "0.2.58") (source (origin (method url-fetch) @@ -15054,15 +19884,23 @@ in Rust.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0m8vq3jkhz04fn3wjvb7ii7xql60w32nlvr10jcskcbbh2hpzsad")))) + "0v31s91andxcj73w63g3fkbw3ld6cfsaa4135qcjna22vypyj1aj")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-serde" ,rust-serde-1.0) - ("rust-serde-json" ,rust-serde-json-1.0) - ("rust-wasm-bindgen-macro" - ,rust-wasm-bindgen-macro-0.2)))) + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-serde" ,rust-serde-1.0) + ("rust-serde-json" ,rust-serde-json-1.0) + ("rust-wasm-bindgen-macro" ,rust-wasm-bindgen-macro-0.2)) + #:cargo-development-inputs + (("rust-js-sys" ,rust-js-sys-0.3) + ("rust-serde-derive" ,rust-serde-derive-1.0) + ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4) + ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3) + ("rust-wasm-bindgen-test-crate-a" + ,rust-wasm-bindgen-test-crate-a-0.1) + ("rust-wasm-bindgen-test-crate-b" + ,rust-wasm-bindgen-test-crate-b-0.1)))) (home-page "https://rustwasm.github.io/") (synopsis "Easy support for interacting between JS and Rust") (description @@ -15072,7 +19910,7 @@ in Rust.") (define-public rust-wasm-bindgen-backend-0.2 (package (name "rust-wasm-bindgen-backend") - (version "0.2.48") + (version "0.2.58") (source (origin (method url-fetch) @@ -15081,17 +19919,16 @@ in Rust.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1qxqkbjkjg4pphhcr91nk95c0gizx77dyq24mmijqnwzxxqc30jx")))) + "0icskn0qlj30np6x6nbyl1i9dndckx0pczaq69dm42r92rcbkk8i")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-bumpalo" ,rust-bumpalo-2.5) + `(#:cargo-inputs + (("rust-bumpalo" ,rust-bumpalo-3) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-log" ,rust-log-0.4) - ("rust-proc-macro2" ,rust-proc-macro2-0.4) + ("rust-proc-macro2" ,rust-proc-macro2-1.0) ("rust-quote" ,rust-quote-1.0) - ("rust-syn" ,rust-syn-0.15) + ("rust-syn" ,rust-syn-1.0) ("rust-wasm-bindgen-shared" ,rust-wasm-bindgen-shared-0.2)))) (home-page "https://rustwasm.github.io/wasm-bindgen/") (synopsis "Backend code generation of the wasm-bindgen tool") @@ -15099,8 +19936,40 @@ in Rust.") "Backend code generation of the wasm-bindgen tool.") (license (list license:expat license:asl2.0)))) +(define-public rust-wasm-bindgen-futures-0.4 + (package + (name "rust-wasm-bindgen-futures") + (version "0.4.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "wasm-bindgen-futures" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1n9ma4kinr4w6r2sh4wm04my6p14k1vx3a4vdbn0vd187sgd9gcb")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-js-sys" ,rust-js-sys-0.3) + ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) + ("rust-web-sys" ,rust-web-sys-0.3)) + #:cargo-development-inputs + (("rust-futures-channel-preview" ,rust-futures-channel-preview-0.3) + ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)))) + (home-page "https://rustwasm.github.io/wasm-bindgen/") + (synopsis + "Bridging the gap between Rust Futures and JavaScript Promises") + (description + "Bridging the gap between Rust Futures and JavaScript Promises.") + (license (list license:expat license:asl2.0)))) + (define-public rust-wasm-bindgen-futures-0.3 (package + (inherit rust-wasm-bindgen-futures-0.4) (name "rust-wasm-bindgen-futures") (version "0.3.24") (source @@ -15112,7 +19981,6 @@ in Rust.") (sha256 (base32 "0bf9x6qfjczspc4zs605z1n4j15cdd8kk2z7rah0yggw8b6zl5nc")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -15124,18 +19992,12 @@ in Rust.") ("rust-lazy-static" ,rust-lazy-static-1) ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)) #:cargo-development-inputs - (("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2)))) - (home-page "https://rustwasm.github.io/wasm-bindgen/") - (synopsis - "Bridging the gap between Rust Futures and JavaScript Promises") - (description - "Bridging the gap between Rust Futures and JavaScript Promises.") - (license (list license:expat license:asl2.0)))) + (("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2)))))) (define-public rust-wasm-bindgen-macro-0.2 (package (name "rust-wasm-bindgen-macro") - (version "0.2.48") + (version "0.2.58") (source (origin (method url-fetch) @@ -15144,17 +20006,18 @@ in Rust.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "07fqzzlbncccmnxbbkg9v4n53qc1lps5g0bb9wq3i9zp9gvm0zgh")))) + "1hwxw0nhi2n4izhjn2fvnrrn59xqjxs3ybkgzdv1b4p65ivr8h2p")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:tests? #f ; 'Async blocks are unstable' #:cargo-inputs (("rust-quote" ,rust-quote-1.0) ("rust-wasm-bindgen-macro-support" ,rust-wasm-bindgen-macro-support-0.2)) #:cargo-development-inputs (("rust-trybuild" ,rust-trybuild-1.0) - ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)))) + ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) + ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4)))) (home-page "https://rustwasm.github.io/wasm-bindgen/") (synopsis "Definition of the @code{#[wasm_bindgen]} attribute") (description @@ -15165,7 +20028,7 @@ dependency.") (define-public rust-wasm-bindgen-macro-support-0.2 (package (name "rust-wasm-bindgen-macro-support") - (version "0.2.48") + (version "0.2.58") (source (origin (method url-fetch) @@ -15174,14 +20037,13 @@ dependency.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1mxi6rj11k67sks88pfqiqylnijxmb1s0gcgpj8mzfj5gvkqzkwm")))) + "0s3n7v741i4wkzib41m126li40qlhqyirnxpigkypsi59wsk2l78")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-proc-macro2" ,rust-proc-macro2-0.4) + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1.0) ("rust-quote" ,rust-quote-1.0) - ("rust-syn" ,rust-syn-0.15) + ("rust-syn" ,rust-syn-1.0) ("rust-wasm-bindgen-backend" ,rust-wasm-bindgen-backend-0.2) ("rust-wasm-bindgen-shared" ,rust-wasm-bindgen-shared-0.2)))) (home-page "https://rustwasm.github.io/wasm-bindgen/") @@ -15194,7 +20056,7 @@ attribute that is not in the shared backend crate.") (define-public rust-wasm-bindgen-shared-0.2 (package (name "rust-wasm-bindgen-shared") - (version "0.2.48") + (version "0.2.58") (source (origin (method url-fetch) @@ -15202,9 +20064,9 @@ attribute that is not in the shared backend crate.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "08rnfhjyk0f6liv8n4rdsvhx7r02glkhcbj2lp9lcbkbfpad9hnr")))) + "00cnbabf4k9bahb217vkilmjwqwzpwp112vlvgfw1x19r4gydrzm")))) (build-system cargo-build-system) - (arguments '(#:skip-build? #t)) + ;(arguments '(#:skip-build? #t)) (home-page "https://rustwasm.github.io/wasm-bindgen/") (synopsis "Shared support between wasm-bindgen and wasm-bindgen cli") (description "This package provides shared support between @@ -15212,8 +20074,39 @@ attribute that is not in the shared backend crate.") (license (list license:asl2.0 license:expat)))) +(define-public rust-wasm-bindgen-test-0.3 + (package + (name "rust-wasm-bindgen-test") + (version "0.3.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "wasm-bindgen-test" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0bn833hghwbcg9cqz1bx9biq271bc4jcbgn2nqk1fkf4ab1hxzcq")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-console-error-panic-hook" ,rust-console-error-panic-hook-0.1) + ("rust-js-sys" ,rust-js-sys-0.3) + ("rust-scoped-tls" ,rust-scoped-tls-1.0) + ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) + ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4) + ("rust-wasm-bindgen-test-macro" ,rust-wasm-bindgen-test-macro-0.3)))) + (home-page "https://github.com/rustwasm/wasm-bindgen") + (synopsis + "Internal testing crate for wasm-bindgen") + (description + "Internal testing crate for wasm-bindgen.") + (license (list license:expat license:asl2.0)))) + (define-public rust-wasm-bindgen-test-0.2 (package + (inherit rust-wasm-bindgen-test-0.3) (name "rust-wasm-bindgen-test") (version "0.2.48") (source @@ -15225,7 +20118,6 @@ attribute that is not in the shared backend crate.") (sha256 (base32 "0gwslc2sfkghzzb3r0gvd8i5rig2nlqgpl1rn43y2w4mr1ci494k")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -15235,17 +20127,85 @@ attribute that is not in the shared backend crate.") ("rust-scoped-tls" ,rust-scoped-tls-1.0) ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.3) - ("rust-wasm-bindgen-test-macro" ,rust-wasm-bindgen-test-macro-0.2)))) + ("rust-wasm-bindgen-test-macro" ,rust-wasm-bindgen-test-macro-0.2)))))) + +(define-public rust-wasm-bindgen-test-crate-a-0.1 + (package + (name "rust-wasm-bindgen-test-crate-a") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "wasm-bindgen-test-crate-a" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06l9rcxykg2vnp706a6axchjp6lh9ym1awwyyxzmbkv410kqwvsp")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)))) (home-page "https://github.com/rustwasm/wasm-bindgen") - (synopsis "Internal testing crate for wasm-bindgen") + (synopsis "Internal test crate for wasm-bindgen") (description - "Internal testing crate for wasm-bindgen.") + "Internal test crate for wasm-bindgen.") + (license license:expat))) + +(define-public rust-wasm-bindgen-test-crate-b-0.1 + (package + (name "rust-wasm-bindgen-test-crate-b") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "wasm-bindgen-test-crate-b" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "16p3gx9vhngdf236zxx2qijqx5sq0lid25j8wy6j522ybxs4vbh8")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)))) + (home-page "https://github.com/rustwasm/wasm-bindgen") + (synopsis "Internal test crate for wasm-bindgen") + (description + "Internal test crate for wasm-bindgen.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-wasm-bindgen-test-macro-0.3 + (package + (name "rust-wasm-bindgen-test-macro") + (version "0.3.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "wasm-bindgen-test-macro" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0kybf3shpp8ysz4v4j259d7vad9kw5bs4i4dlfrs895bhdp7m0wp")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-quote" ,rust-quote-1.0)))) + (home-page "https://github.com/rustwasm/wasm-bindgen") + (synopsis "Internal testing macro for wasm-bindgen") + (description + "This library contains the internal testing macro for wasm-bindgen.") (license (list license:expat license:asl2.0)))) (define-public rust-wasm-bindgen-test-macro-0.2 (package + (inherit rust-wasm-bindgen-test-macro-0.3) (name "rust-wasm-bindgen-test-macro") - (version "0.2.48") + (version "0.2.50") (source (origin (method url-fetch) @@ -15253,19 +20213,401 @@ attribute that is not in the shared backend crate.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0n28mr6vncf1k1qr2b5bvfxq4jvqkjdzq0z0ab6w2f5d6v8q3q3l")))) + "19bvmw8mqlwh6wkbzgs3cnlkywrv8q2kkqggz6y0p158930xm287")))) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-0.4) + ("rust-quote" ,rust-quote-0.6)))))) + +(define-public rust-wasm-bindgen-webidl-0.2 + (package + (name "rust-wasm-bindgen-webidl") + (version "0.2.58") + (source + (origin + (method url-fetch) + (uri (crate-uri "wasm-bindgen-webidl" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0pcpaw8w3xgfrg9y24ljrsl2bkidgdaaz3ka2bgk417wjc6jl0gg")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1.0) + ("rust-heck" ,rust-heck-0.3) + ("rust-log" ,rust-log-0.4) + ("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-quote" ,rust-quote-1.0) + ("rust-syn" ,rust-syn-1.0) + ("rust-wasm-bindgen-backend" ,rust-wasm-bindgen-backend-0.2) + ("rust-weedle" ,rust-weedle-0.10)))) + (home-page "https://rustwasm.github.io/wasm-bindgen/") + (synopsis "Support for parsing WebIDL specific to wasm-bindgen") + (description + "Support for parsing WebIDL specific to wasm-bindgen.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-wayland-client-0.23 + (package + (name "rust-wayland-client") + (version "0.23.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-client" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1nmw2kz70llc5mxwzg6bglnqy0qnyr9224zjmq9czazgw3mq045g")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-calloop" ,rust-calloop-0.4) + ("rust-downcast-rs" ,rust-downcast-rs-1.1) + ("rust-libc" ,rust-libc-0.2) + ("rust-mio" ,rust-mio-0.6) + ("rust-nix" ,rust-nix-0.14) + ("rust-wayland-commons" ,rust-wayland-commons-0.23) + ("rust-wayland-sys" ,rust-wayland-sys-0.23) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.23)) + #:cargo-development-inputs + (("rust-byteorder" ,rust-byteorder-1.3) + ("rust-tempfile" ,rust-tempfile-3.1)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis + "Rust bindings to the standard C implementation of the wayland protocol") + (description + "This package provides Rust bindings to the standard C implementation of +the wayland protocol, client side.") + (license license:expat))) + +(define-public rust-wayland-client-0.21 + (package + (inherit rust-wayland-client-0.23) + (name "rust-wayland-client") + (version "0.21.13") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-client" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04r7dy074hhdalsi1day482wvmczr40hg7qvrnzkgxpakrgkx5j9")))) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-calloop" ,rust-calloop-0.4) + ("rust-downcast-rs" ,rust-downcast-rs-1.1) + ("rust-libc" ,rust-libc-0.2) + ("rust-mio" ,rust-mio-0.6) + ("rust-nix" ,rust-nix-0.14) + ("rust-wayland-commons" ,rust-wayland-commons-0.21) + ("rust-wayland-sys" ,rust-wayland-sys-0.21) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.21)) + #:cargo-development-inputs + (("rust-byteorder" ,rust-byteorder-1.3) + ("rust-tempfile" ,rust-tempfile-3.1)))))) + +(define-public rust-wayland-commons-0.23 + (package + (name "rust-wayland-commons") + (version "0.23.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-commons" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1nyvcs6xxxzqgh0wvc7z0fgi89bf3h9p4qrbf77bnfbwlb8v0rmv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-nix" ,rust-nix-0.14) + ("rust-wayland-sys" ,rust-wayland-sys-0.23)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis + "Common types and structures used by wayland-client and wayland-server") + (description + "Common types and structures used by wayland-client and wayland-server.") + (license license:expat))) + +(define-public rust-wayland-commons-0.21 + (package + (inherit rust-wayland-commons-0.23) + (name "rust-wayland-commons") + (version "0.21.13") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-commons" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1v1jpcsnn6cwwy5ii5pdl58i6b9slmi8mn4my4fpwrlbfsb8ih20")))) + (arguments + `(#:cargo-inputs + (("rust-nix" ,rust-nix-0.14) + ("rust-wayland-sys" ,rust-wayland-sys-0.21)))))) + +(define-public rust-wayland-protocols-0.23 + (package + (name "rust-wayland-protocols") + (version "0.23.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-protocols" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ygwbzqlnks5xzafka3c8ag6k92g2h6ygj2xsmvjfx2n6rj8dhkc")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-wayland-client" ,rust-wayland-client-0.23) + ("rust-wayland-commons" ,rust-wayland-commons-0.23) + ("rust-wayland-server" ,rust-wayland-server-0.23) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.23)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis + "Generated API for the officials wayland protocol extensions") + (description + "Generated API for the officials wayland protocol extensions.") + (license license:expat))) + +(define-public rust-wayland-protocols-0.21 + (package + (inherit rust-wayland-protocols-0.23) + (name "rust-wayland-protocols") + (version "0.21.13") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-protocols" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0i91yh3nxk9llhly2ly3nvlfx0lbpvyq919cgmnyx3j25bmf5zaa")))) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-wayland-client" ,rust-wayland-client-0.21) + ("rust-wayland-commons" ,rust-wayland-commons-0.21) + ("rust-wayland-server" ,rust-wayland-server-0.21) + ("rust-wayland-sys" ,rust-wayland-sys-0.21) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.21)))))) + +(define-public rust-wayland-scanner-0.23 + (package + (name "rust-wayland-scanner") + (version "0.23.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-scanner" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0g8wcphykjrcpslznyi3qccx1pckw97rckq5b295nfbg6r3j5c4k")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-0.4) - ("rust-quote" ,rust-quote-0.6)))) - (home-page "https://github.com/rustwasm/wasm-bindgen") - (synopsis "Internal testing macro for wasm-bindgen") + ("rust-quote" ,rust-quote-0.6) + ("rust-xml-rs" ,rust-xml-rs-0.8)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis + "Wayland Scanner for generating rust APIs from XML wayland protocol files") (description - "This library contains the internal testing macro for wasm-bindgen.") - (license (list license:asl2.0 - license:expat)))) + "Wayland Scanner for generating rust APIs from XML wayland protocol files. +Intented for use with wayland-sys. You should only need this crate if +you are working on custom wayland protocol extensions. +Look at the crate wayland-client for usable bindings.") + (license license:expat))) + +(define-public rust-wayland-scanner-0.21 + (package + (inherit rust-wayland-scanner-0.23) + (name "rust-wayland-scanner") + (version "0.21.13") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-scanner" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17mp49v7w0p0x5ry628lj2llljnwkr9aj9g4bqqhfibid32jhf5z")))))) + +(define-public rust-wayland-server-0.23 + (package + (name "rust-wayland-server") + (version "0.23.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-server" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ccsalq6gnf07klnbjx2dxcbibhw03rqsgi578p913s3zsjlcg8a")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-calloop" ,rust-calloop-0.4) + ("rust-downcast-rs" ,rust-downcast-rs-1.1) + ("rust-libc" ,rust-libc-0.2) + ("rust-mio" ,rust-mio-0.6) + ("rust-nix" ,rust-nix-0.14) + ("rust-wayland-commons" ,rust-wayland-commons-0.23) + ("rust-wayland-sys" ,rust-wayland-sys-0.23) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.23)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis + "Bindings to the standard C implementation of the wayland protocol") + (description + "This package provides Rust bindings to the standard C implementation of +the wayland protocol, server side.") + (license license:expat))) + +(define-public rust-wayland-server-0.21 + (package + (inherit rust-wayland-server-0.23) + (name "rust-wayland-server") + (version "0.21.13") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-server" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ayn4wlrpg0fw04prri9awpkjvbzjil0d3l3a8zs9pdbnspvw6ah")))) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-calloop" ,rust-calloop-0.4) + ("rust-downcast-rs" ,rust-downcast-rs-1.1) + ("rust-libc" ,rust-libc-0.2) + ("rust-mio" ,rust-mio-0.6) + ("rust-nix" ,rust-nix-0.14) + ("rust-wayland-commons" ,rust-wayland-commons-0.21) + ("rust-wayland-sys" ,rust-wayland-sys-0.21) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.21)))))) + +(define-public rust-wayland-sys-0.23 + (package + (name "rust-wayland-sys") + (version "0.23.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1x2qafvj8hd2x5qfaan2dfpw9amg0f5g9sqrkdy7qvbddsl8jknr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-dlib" ,rust-dlib-0.4) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis "FFI bindings to the various libwayland-*.so libraries") + (description + "FFI bindings to the various libwayland-*.so libraries. +You should only need this crate if you are working on custom wayland +protocol extensions. Look at the crate wayland-client for usable bindings.") + (license license:expat))) + +(define-public rust-wayland-sys-0.21 + (package + (inherit rust-wayland-sys-0.23) + (name "rust-wayland-sys") + (version "0.21.13") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0a0ndgkg98pvmkv44yya4f7mxzjaxylknqh64bpa05w0azyv02jj")))))) + +(define-public rust-web-sys-0.3 + (package + (name "rust-web-sys") + (version "0.3.35") + (source + (origin + (method url-fetch) + (uri (crate-uri "web-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fzmxcyahy3ghl8lkjkchj9krmnr56shvbqgr7db3hm8dappryda")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-js-sys" ,rust-js-sys-0.3) + ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) + ("rust-anyhow" ,rust-anyhow-1.0) + ("rust-env-logger" ,rust-env-logger-0.7) + ("rust-sourcefile" ,rust-sourcefile-0.1) + ("rust-wasm-bindgen-webidl" ,rust-wasm-bindgen-webidl-0.2)) + #:cargo-development-inputs + (("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4) + ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)))) + (home-page "https://rustwasm.github.io/wasm-bindgen/web-sys/index.html") + (synopsis + "Bindings for all Web APIs, a procedurally generated crate from WebIDL") + (description + "Bindings for all Web APIs, a procedurally generated crate from WebIDL.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-weedle-0.10 + (package + (name "rust-weedle") + (version "0.10.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "weedle" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0r0i2kllvkn9jil6cjzxdi1zsc6p1gjyk751w8lyclaii1q3zd1v")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-nom" ,rust-nom-4.2)))) + (home-page "https://github.com/rustwasm/weedle") + (synopsis "WebIDL Parser") + (description + "This package provides a WebIDL Parser.") + (license license:expat))) (define-public rust-which-2.0 (package @@ -15295,6 +20637,27 @@ attribute that is not in the shared backend crate.") Locate installed executable in cross platforms.") (license license:expat))) +(define-public rust-which-1.0 + (package + (inherit rust-which-2.0) + (name "rust-which") + (version "1.0.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "which" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1cjwa57kzfgzs681a27m5pjmq580pv3hkcg23smf270bgqz60jp8")))) + (arguments + `(#:tests? #f + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2)) + #:cargo-development-inputs + (("rust-tempdir" ,rust-tempdir-0.3)))))) + (define-public rust-widestring-0.4 (package (name "rust-widestring") @@ -15336,8 +20699,7 @@ UTF-32 types are provided, including support for malformed encoding.") (build-system cargo-build-system) ;; This package depends unconditionally on these two crates. (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("winapi-i686-pc-windows-gnu" ,rust-winapi-i686-pc-windows-gnu-0.4) ("winapi-x86-64-pc-windows-gnu" ,rust-winapi-x86-64-pc-windows-gnu-0.4)))) (home-page "https://github.com/retep998/winapi-rs") @@ -15375,7 +20737,6 @@ UTF-32 types are provided, including support for malformed encoding.") (base32 "1g4rqsgjky0a7530qajn2bbfcrl2v0zb39idgdws9b1l7gp5wc9d")))) (build-system cargo-build-system) - (arguments '(#:skip-build? #t)) (home-page "https://github.com/retep998/winapi-rs") (synopsis "Common code for build.rs in WinAPI -sys crates") (description @@ -15400,7 +20761,6 @@ UTF-32 types are provided, including support for malformed encoding.") (description "This crate provides import libraries for the i686-pc-windows-gnu target. Please don't use this crate directly, depend on @code{winapi} instead.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) @@ -15418,8 +20778,7 @@ i686-pc-windows-gnu target. Please don't use this crate directly, depend on "1j839dc6y8vszvrsb7yk0qvs0w6asnahxzbyans37vnsw6vbls3i")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-winapi" ,rust-winapi-0.3)))) + `(#:cargo-inputs (("rust-winapi" ,rust-winapi-0.3)))) (home-page "https://github.com/BurntSushi/winapi-util") (synopsis "Dumping ground for high level safe wrappers over winapi") (description @@ -15446,7 +20805,6 @@ winapi.") (description "This package provides import libraries for the x86_64-pc-windows-gnu target. Please don't use this crate directly, depend on @code{winapi} instead.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) @@ -15464,8 +20822,7 @@ x86_64-pc-windows-gnu target. Please don't use this crate directly, depend on "1agaf3hcav113i86912ajnw6jxcy4rvkrgyf8gdj8kc031mh3xcn")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-winapi" ,rust-winapi-0.3) ("rust-winapi-util" ,rust-winapi-util-0.1)))) (home-page "https://github.com/BurntSushi/termcolor/tree/master/wincolor") @@ -15476,6 +20833,155 @@ color in a Windows console.") (license (list license:unlicense license:expat)))) +(define-public rust-winit-0.20 + (package + (name "rust-winit") + (version "0.20.0-alpha6") + (source + (origin + (method url-fetch) + (uri (crate-uri "winit" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1g5cchl97zcg525j6jdr77yby8cmhwv1qqwcd3sf4l4zl263195z")) + (patches + (list + (origin + (method url-fetch) + (uri "https://github.com/rust-windowing/winit/commit/d1c6506865c7bddbb5fb4d80a613e43ddc1370b5.patch") + (file-name (string-append name "-fix-bindings.patch")) + (sha256 + (base32 + "03q4bvdq86kii53d0vsywv08g8vqirf9h1lz2cl6rcc7gjfynpds"))))))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-android-glue" ,rust-android-glue-0.2) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-calloop" ,rust-calloop-0.4) + ("rust-cocoa" ,rust-cocoa-0.19) + ("rust-core-foundation" ,rust-core-foundation-0.6) + ("rust-core-graphics" ,rust-core-graphics-0.17) + ("rust-core-video-sys" ,rust-core-video-sys-0.1) + ("rust-dispatch" ,rust-dispatch-0.1) + ("rust-instant" ,rust-instant-0.1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-objc" ,rust-objc-0.2) + ("rust-parking-lot" ,rust-parking-lot-0.10) + ("rust-percent-encoding" ,rust-percent-encoding-2.1) + ("rust-raw-window-handle" ,rust-raw-window-handle-0.3) + ("rust-serde" ,rust-serde-1.0) + ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.6) + ("rust-stdweb" ,rust-stdweb-0.4) + ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) + ("rust-wayland-client" ,rust-wayland-client-0.23) + ("rust-web-sys" ,rust-web-sys-0.3) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-x11-dl" ,rust-x11-dl-2)) + #:cargo-development-inputs + (("rust-console-log" ,rust-console-log-0.1) + ("rust-env-logger" ,rust-env-logger-0.5) + ("rust-image" ,rust-image-0.21)))) + (home-page "https://github.com/rust-windowing/winit") + (synopsis + "Cross-platform window creation library") + (description + "Cross-platform window creation library.") + (license license:asl2.0))) + +(define-public rust-winit-0.19 + (package + (inherit rust-winit-0.20) + (name "rust-winit") + (version "0.19.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "winit" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1a4lnfyvlc4jabhs30wlmkgdjv7qhbplmyp833kl7ykjni5yp5hy")))) + (arguments + `(#:cargo-inputs + (("rust-android-glue" ,rust-android-glue-0.2) + ("rust-backtrace" ,rust-backtrace-0.3) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-cocoa" ,rust-cocoa-0.18) + ("rust-core-foundation" ,rust-core-foundation-0.6) + ("rust-core-graphics" ,rust-core-graphics-0.17) + ("rust-image" ,rust-image-0.21) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-objc" ,rust-objc-0.2) + ("rust-parking-lot" ,rust-parking-lot-0.9) + ("rust-percent-encoding" ,rust-percent-encoding-2.1) + ("rust-raw-window-handle" ,rust-raw-window-handle-0.3) + ("rust-serde" ,rust-serde-1.0) + ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.4) + ("rust-wayland-client" ,rust-wayland-client-0.21) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-x11-dl" ,rust-x11-dl-2)))))) + +(define-public rust-winpty-sys-0.4 + (package + (name "rust-winpty-sys") + (version "0.4.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "winpty-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0s5m2vvlw7wphc466s47zfmp08zk00wzj999l1w3ajqlxbnfgb9x")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bindgen" ,rust-bindgen-0.33) + ("rust-cc" ,rust-cc-1.0)))) + (home-page "https://github.com/rprichard/winpty") + (synopsis "Rust winpty bindings") + (description "Rust winpty bindings.") + (license license:expat))) + +(define-public rust-winreg-0.6 + (package + (name "rust-winreg") + (version "0.6.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "winreg" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1jdcqr6zmvwyrp87h48miasfdvv16gjsb60rc8dy2kqwb3mnv65j")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-chrono" ,rust-chrono-0.4) + ("rust-serde" ,rust-serde-1.0) + ("rust-winapi" ,rust-winapi-0.3)) + #:cargo-development-inputs + (("rust-rand" ,rust-rand-0.3) + ("rust-serde-derive" ,rust-serde-derive-1.0)))) + (home-page "https://github.com/gentoo90/winreg-rs") + (synopsis "Rust bindings to MS Windows Registry API") + (description + "This package provides Rust bindings to MS Windows Registry API.") + (license license:expat))) + (define-public rust-winutil-0.1 (package (name "rust-winutil") @@ -15670,7 +21176,6 @@ extended attributes.") (base32 "0mws8a0fr3cqk5nh7aq9lmkmhzghvasqy4mhw6nnza06l4d6i2fh")))) (build-system cargo-build-system) - (arguments '(#:skip-build? #t)) (home-page "https://github.com/whitequark/rust-xdg") (synopsis "Store and retrieve files according to XDG specification") (description @@ -15714,12 +21219,11 @@ to XDG Base Directory specification") "0ka3qhqc5lvk3hz14wmsj32jhmh44blcbfrx5hfxli2gg38kv4k5")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-linked-hash-map" ,rust-linked-hash-map-0.5)) #:cargo-development-inputs - (("rust-quickcheck" ,rust-quickcheck-0.8)))) - (home-page "http://chyh1990.github.io/yaml-rust/") + (("rust-quickcheck" ,rust-quickcheck-0.7)))) + (home-page "https://chyh1990.github.io/yaml-rust/") (synopsis "The missing YAML 1.2 parser for rust") (description "The missing YAML 1.2 parser for rust.") @@ -15743,6 +21247,38 @@ to XDG Base Directory specification") (("rust-clippy" ,rust-clippy-0.0) ("rust-linked-hash-map" ,rust-linked-hash-map-0.3)))))) +(define-public rust-zip-0.5 + (package + (name "rust-zip") + (version "0.5.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "zip" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1biv5kh4fl7wpjlsxfczvgrdjlybf0xjaw7s36didql8lxxz67z4")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bzip2" ,rust-bzip2-0.3) + ("rust-crc32fast" ,rust-crc32fast-1.2) + ("rust-flate2" ,rust-flate2-1.0) + ("rust-podio" ,rust-podio-0.1) + ("rust-time" ,rust-time-0.1)) + #:cargo-development-inputs + (("rust-bencher" ,rust-bencher-0.1) + ("rust-rand" ,rust-rand-0.4) + ("rust-walkdir" ,rust-walkdir-1.0)))) + (home-page "https://github.com/mvdnes/zip-rs.git") + (synopsis + "Library to support the reading and writing of zip files") + (description + "Library to support the reading and writing of zip files.") + (license license:expat))) + (define-public rust-zoneinfo-compiled-0.4 (package (name "rust-zoneinfo-compiled") diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index f2d0e9377d..bff9185260 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -71,6 +71,7 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system perl) + #:use-module (guix utils) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26)) @@ -601,7 +602,7 @@ data on your platform, so the seed itself will be as random as possible. (define-public crypto++ (package (name "crypto++") - (version "8.0.0") + (version "8.2.0") (source (origin (method url-fetch/zipbomb) (uri (string-append "https://cryptopp.com/cryptopp" @@ -609,7 +610,7 @@ data on your platform, so the seed itself will be as random as possible. ".zip")) (sha256 (base32 - "0b5qrsm4jhy4nzxgrm13nixhvbswr242plx1jw6r4sw492rqkzdv")))) + "0n40hlz5jkvlcp9vxrj0fsrcfp7dm0zmmv6h52dx3f8i5qjf5w03")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -627,19 +628,25 @@ data on your platform, so the seed itself will be as random as possible. ((" -march=native") "")) #t)) (delete 'configure) - (add-after 'build 'build-shared - (lambda _ - ;; By default, only the static library is built. - (invoke "make" "shared"))) + (replace 'build + ;; By default, only the static library is built. + (lambda* (#:key (make-flags '()) #:allow-other-keys) + (apply invoke "make" "shared" + "-j" (number->string (parallel-job-count)) + make-flags))) (add-after 'install 'install-shared-library-links ;; By default, only .so and .so.x.y.z are installed. ;; Create all the ‘intermediates’ expected by dependent packages. (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib"))) + (lib (string-append out "/lib")) + (prefix "libcryptopp.so.") + (target (string-append prefix ,version))) (with-directory-excursion lib - (symlink "libcryptopp.so.8.0.0" "libcryptopp.so.8.0") - (symlink "libcryptopp.so.8.0.0" "libcryptopp.so.8") + (symlink target + (string-append prefix ,(version-major+minor version))) + (symlink target + (string-append prefix ,(version-major version))) #t)))) (add-after 'install 'install-pkg-config (lambda* (#:key outputs #:allow-other-keys) @@ -657,7 +664,8 @@ data on your platform, so the seed itself will be as random as possible. "Description: Class library of cryptographic schemes" "Version: " ,version "\n" "Libs: -L${libdir} -lcryptopp\n" - "Cflags: -I${includedir}\n")))))))))) + "Cflags: -I${includedir}\n")) + #t)))))))) (native-inputs `(("unzip" ,unzip))) (home-page "https://cryptopp.com/") diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 9f72060385..a1ed48ecf3 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -19,7 +19,7 @@ ;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org> ;;; Copyright © 2016, 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2018 Julien Lepiller <julien@lepiller.eu> -;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> +;;; Copyright © 2017, 2020 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org> ;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com> ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> @@ -39,6 +39,7 @@ ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz> +;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1060,9 +1061,10 @@ Most public APIs are compatible with @command{mysqlclient} and MySQLdb.") "0gmpvhn02pkq280ffmn4da1g4mdr1xxz7l80b7y4n7km1mrzwrml")))) (build-system gnu-build-system) (arguments - `( #:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath=" - (assoc-ref %outputs "out") - "/lib")))) + `(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath=" + (assoc-ref %outputs "out") + "/lib")) + #:make-flags (list "CFLAGS=-fPIC"))) (home-page "http://fallabs.com/qdbm") (synopsis "Key-value database") (description "QDBM is a library of routines for managing a @@ -2105,6 +2107,35 @@ multiple cores. The size of each database is limited only by the size of the virtual address space — not physical RAM.") (license license:openldap2.8))) +(define-public lmdbxx + (package + (name "lmdbxx") + (version "0.9.14.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/drycpp/lmdbxx.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1jmb9wg2iqag6ps3z71bh72ymbcjrb6clwlkgrqf1sy80qwvlsn6")))) + (arguments + `(#:make-flags + (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (build-system gnu-build-system) + (inputs `(("lmdb" ,lmdb))) + (home-page "http://lmdbxx.sourceforge.net") + (synopsis "C++11 wrapper for the LMDB embedded B+ tree database library") + (description "@code{lmdbxx} is a comprehensive @code{C++} wrapper for the +@code{LMDB} embedded database library, offering both an error-checked +procedural interface and an object-oriented resource interface with RAII +semantics.") + (license license:unlicense))) + (define-public libpqxx (package (name "libpqxx") @@ -2248,13 +2279,13 @@ for ODBC.") (define-public python-pyodbc (package (name "python-pyodbc") - (version "4.0.27") + (version "4.0.30") (source (origin (method url-fetch) (uri (pypi-uri "pyodbc" version)) (sha256 - (base32 "1kd2i7hc1330cli72vawzby17c3039cqn1aba4i0zrjnpghjhmib")) + (base32 "0skjpraar6hcwsy82612bpj8nw016ncyvvq88j5syrikxgp5saw5")) (file-name (string-append name "-" version ".tar.gz")))) (build-system python-build-system) (inputs @@ -2721,7 +2752,7 @@ being idiomatic to Python.") (build-system python-build-system) (arguments `(#:python ,python-2)) - (home-page "http://py2neo.org") + (home-page "https://py2neo.org") (synopsis "Library and toolkit for working with Neo4j in Python") (description "This package provides a client library and toolkit for working with Neo4j from within Python applications and from the command @@ -2911,7 +2942,7 @@ reasonable substitute.") (propagated-inputs `(("python-click" ,python-click) ("python-redis" ,python-redis))) - (home-page "http://python-rq.org/") + (home-page "https://python-rq.org/") (synopsis "Simple job queues for Python") (description "RQ (Redis Queue) is a simple Python library for queueing jobs and diff --git a/gnu/packages/datamash.scm b/gnu/packages/datamash.scm index ac1b71e63b..a61ee96fec 100644 --- a/gnu/packages/datamash.scm +++ b/gnu/packages/datamash.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2018 Eric Bavier <bavier@member.fsf.org> -;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,7 +29,7 @@ (define-public datamash (package (name "datamash") - (version "1.5") + (version "1.6") (source (origin (method url-fetch) @@ -37,7 +37,7 @@ version ".tar.gz")) (sha256 (base32 - "1b91pbdarnfmbhid8aa2f50k0fln8n7pg62782b4y0jlzvaljqi2")))) + "1jvqxcyh0aghnqh3m2rk5av1x0038flcmfzd493vasv1k69vgfdr")))) (native-inputs `(("which" ,which) ;for tests ("perl" ,perl))) ;for help2man diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm index fb370fd716..5362d3505f 100644 --- a/gnu/packages/dav.scm +++ b/gnu/packages/dav.scm @@ -54,7 +54,7 @@ and edited by calendar and contact clients on mobile phones or computers. Radicale intentionally does not fully comply with the CalDAV and CardDAV RFCs. Instead, it supports the CalDAV and CardDAV implementations of popular clients.") - (home-page "http://radicale.org/") + (home-page "https://radicale.org/") (license gpl3+))) (define-public vdirsyncer diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm index f94f49c51b..db8c9695f4 100644 --- a/gnu/packages/debian.scm +++ b/gnu/packages/debian.scm @@ -117,7 +117,7 @@ contains the archive keys used for that.") (define-public debootstrap (package (name "debootstrap") - (version "1.0.114") + (version "1.0.119") (source (origin (method git-fetch) @@ -127,7 +127,7 @@ contains the archive keys used for that.") (file-name (git-file-name name version)) (sha256 (base32 - "147308flz9y8g6f972izi3szmsywf5f8xm64z2smy1cayd340i63")))) + "0p0p8qmlsbvpfa0r7ifghr67zrrc96d83r9qwahzaxyxkvnhr4x4")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm index cd0a5db93c..98b710ab6d 100644 --- a/gnu/packages/dictionaries.scm +++ b/gnu/packages/dictionaries.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> @@ -31,6 +31,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (guix build-system trivial) + #:use-module (guix build-system copy) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages base) @@ -109,25 +110,10 @@ acronyms distributed as an info document.") (sha256 (base32 "1n3bp91sik66z3ca7mjqbr9nck3hg5ck0c8g84xc0qnfpx5vznh2")))) - (build-system trivial-build-system) + (build-system copy-build-system) (arguments - '(#:builder (begin - (use-modules (guix build utils)) - (let* ((src (assoc-ref %build-inputs "source")) - (tar (assoc-ref %build-inputs "tar")) - (xz (assoc-ref %build-inputs "xz")) - (out (assoc-ref %outputs "out")) - (datadir (string-append out "/share/gcide"))) - (set-path-environment-variable "PATH" '("bin") - (list tar xz)) - (mkdir-p datadir) - (invoke "tar" "-C" datadir - "--strip-components=1" - "-xvf" src))) - #:modules ((guix build utils)))) - (native-inputs - `(("tar" ,tar) - ("xz" ,xz))) + '(#:install-plan + '(("." "share/gcide/" #:exclude ("COPYING"))))) (synopsis "GNU Collaborative International Dictionary of English") (description "GCIDE is a free dictionary based on a combination of sources. It can @@ -140,14 +126,14 @@ http://gcide.gnu.org.ua/") ;; Not quite a dictionary, not quite a spell checker either… (package (name "diction") - (version "1.11") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/diction/diction-" - version ".tar.gz")) - (sha256 - (base32 - "1xi4l1x1vvzmzmbhpx0ghmfnwwrhabjwizrpyylmy3fzinzz3him")))) + (version "1.14") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.moria.de/~michael/diction/diction-" + version ".tar.gz")) + (sha256 + (base32 "1z6p5x3l1a00h4v4s33qa82fznzc1jdqdnlc4dnmd9nblnrjy0fs")))) (build-system gnu-build-system) (synopsis "Identifies wordy and commonly misused phrases") (description @@ -312,7 +298,7 @@ translation engines from your terminal.") (define-public lttoolbox (package (name "lttoolbox") - (version "3.5.0") + (version "3.5.1") (source (origin (method url-fetch) @@ -320,14 +306,23 @@ translation engines from your terminal.") "https://github.com/apertium/lttoolbox/releases/download/v" version "/lttoolbox-" version ".tar.gz")) (sha256 - (base32 - "08y6pf1hl7prwygy1g8h6ndqww18pmb9f3r5988q0pcrp8w6xz6b")) - (file-name (string-append name "-" version ".tar.gz")))) + (base32 "14yyrkzyqlsrii3v3ggg4dyvwlrcqcqc0aprphz5781a44jsrcwz")))) (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'bootstrap + ;; The included ./autogen.sh unconditionally runs ./configure before + ;; its shebangs have been patched. + (lambda _ + (invoke "autoreconf" "-vfi")))))) (inputs `(("libxml2" ,libxml2))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) (home-page "http://wiki.apertium.org/wiki/Lttoolbox") (synopsis "Lexical processing toolbox") (description "Lttoolbox is a toolbox for lexical processing, morphological diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm index 3b3540b5b0..0e452d6df8 100644 --- a/gnu/packages/diffoscope.scm +++ b/gnu/packages/diffoscope.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2019 Vagrant Cascadian <vagrant@reproducible-builds.org> @@ -68,7 +68,7 @@ #:use-module (ice-9 match)) (define-public diffoscope - (let ((version "136")) + (let ((version "137")) (package (name "diffoscope") (version version) @@ -80,7 +80,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "1wp4fnmwcsgv17dmvk9xr3h63gp4nmmpysr248qvxs8s5qy5xlyk")))) + "11llnh2h2mx3xygj4482ld1rnjnhszk4828pmcbi75kanxfrqzq6")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index c6cfd50eae..1a1aff9e05 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015 Mathieu Lirzin <mthl@gnu.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com> @@ -163,15 +163,14 @@ tables, and it understands a variety of different formats.") (define-public gptfdisk (package (name "gptfdisk") - (version "1.0.4") + (version "1.0.5") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gptfdisk/gptfdisk/" - version "/" name "-" version ".tar.gz")) + version "/gptfdisk-" version ".tar.gz")) (sha256 - (base32 - "13d7gff4prl1nsdknjigmb7bbqhn79165n01v4y9mwbnd0d3jqxn")))) + (base32 "0bybgp30pqxb6x5krxazkq4drca0gz4inxj89fpyr204rn3kjz8f")))) (build-system gnu-build-system) (inputs `(("gettext" ,gettext-minimal) @@ -182,10 +181,14 @@ tables, and it understands a variety of different formats.") `(#:test-target "test" #:phases (modify-phases %standard-phases - ;; no configure script - (delete 'configure) - ;; no install target + (add-after 'unpack 'fix-include-directory + (lambda _ + (substitute* "gptcurses.cc" + (("ncursesw/ncurses.h") "ncurses.h")) + #t)) + (delete 'configure) ; no configure script (replace 'install + ;; There's no ‘make install’ target. (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin")) @@ -209,14 +212,14 @@ scheme.") (define-public ddrescue (package (name "ddrescue") - (version "1.24") + (version "1.25") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/ddrescue/ddrescue-" version ".tar.lz")) (sha256 - (base32 "11qh0bbzf00mfb4yq35gnv5m260k4d7q9ixklry6bqvhvvp3ypab")))) + (base32 "0qqh38izl5ppap9a5izf3hijh94k65s3zbfkczd4b7x04syqwlyf")))) (build-system gnu-build-system) (home-page "https://www.gnu.org/software/ddrescue/ddrescue.html") (synopsis "Data recovery utility") diff --git a/gnu/packages/distributed.scm b/gnu/packages/distributed.scm index 4a35094eba..c5207aace4 100644 --- a/gnu/packages/distributed.scm +++ b/gnu/packages/distributed.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Brant Gardner <brantcgardner@brantware.com> -;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -43,7 +43,7 @@ (define-public boinc-client (package (name "boinc-client") - (version "7.16.3") + (version "7.16.4") (source (origin (method git-fetch) (uri (git-reference @@ -54,7 +54,7 @@ (file-name (git-file-name "boinc" version)) (sha256 (base32 - "1l181s7wnx0xd7m62qjixdjw4ri87q47xi0x662m2jsh9lzb8khf")))) + "08xx2kzb7c46k1zb91w74kyig3b5kilxdw5ilfs67r8p55mxk0g1")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-server"))) (inputs `(("openssl" ,openssl) @@ -71,7 +71,7 @@ ("automake" ,automake) ("libtool" ,libtool) ("pkg-config" ,pkg-config))) - (synopsis "BOINC lets you help cutting-edge science research using your computer") + (synopsis "Help cutting-edge science research using your computer") (description "BOINC is a platform for high-throughput computing on a large scale (thousands or millions of computers). It can be used for volunteer computing (using consumer devices) or grid computing (using organizational diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index f0551d8269..0652ea15e6 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -42,13 +42,13 @@ (define-public python-django (package (name "python-django") - (version "1.11.25") + (version "1.11.28") (source (origin (method url-fetch) (uri (pypi-uri "Django" version)) (sha256 (base32 - "0rpgx212n8gh61nwizkyldvskna808xpcvawmavk5mc5c9cfh52k")))) + "1ss1jyip7mlbfjn27m0j6wx80s8h4ksg6g5annkgwigp8xgy6g5k")))) (build-system python-build-system) (arguments '(#:modules ((srfi srfi-1) @@ -248,7 +248,7 @@ with arguments to the field constructor.") ("python-setuptools-scm" ,python-setuptools-scm))) (propagated-inputs `(("python-pytest" ,python-pytest))) - (home-page "http://pytest-django.readthedocs.org/") + (home-page "https://pytest-django.readthedocs.org/") (synopsis "Django plugin for py.test") (description "Pytest-django is a plugin for py.test that provides a set of useful tools for testing Django applications and projects.") @@ -930,7 +930,7 @@ static files.") ("python2-pytest-catchlog" ,python2-pytest-catchlog) ("python2-pytest-cov" ,python2-pytest-cov) ("python2-factory-boy" ,python2-factory-boy))) - (home-page "http://pootle.translatehouse.org/") + (home-page "https://pootle.translatehouse.org/") (synopsis "Community localization server") (description "Pootle is an online translation and localization tool. It works to diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 652fc5968a..0e3b1f4faa 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -124,32 +124,32 @@ and BOOTP/TFTP for network booting of diskless machines.") (define-public isc-bind (package (name "bind") - (version "9.14.10") + (version "9.16.0") (source (origin (method url-fetch) (uri (string-append "https://ftp.isc.org/isc/bind9/" version - "/bind-" version ".tar.gz")) + "/bind-" version ".tar.xz")) (sha256 (base32 - "0nkkc2phkkzwgl922xg41gx5pc5f4safabqslaw3880hwdf8vfaa")))) + "0a1f1wrlbnmq79q6s15fny36ip81malg6wlr8acp7amimsyxjjxg")))) (build-system gnu-build-system) (outputs `("out" "utils")) (inputs ;; It would be nice to add GeoIP and gssapi once there are packages. `(("libcap" ,libcap) + ("libuv" ,libuv) ("libxml2" ,libxml2) ("openssl" ,openssl) ("p11-kit" ,p11-kit) ("python" ,python) ("python-ply" ,python-ply))) - (native-inputs `(("perl" ,perl) - ("net-tools" ,net-tools))) + (native-inputs + `(("perl" ,perl) + ("pkg-config" ,pkg-config))) (arguments `(#:configure-flags - (list (string-append "--with-openssl=" - (assoc-ref %build-inputs "openssl")) - (string-append "--with-pkcs11=" + (list (string-append "--with-pkcs11=" (assoc-ref %build-inputs "p11-kit"))) #:phases (modify-phases %standard-phases @@ -288,22 +288,18 @@ the two.") (define-public libasr (package (name "libasr") - (version "1.0.3") + (version "1.0.4") (source (origin (method url-fetch) (uri (string-append "https://www.opensmtpd.org/archives/" "libasr-" version ".tar.gz")) (sha256 - (base32 "13fn4sr4vlcx1xijpl26nmnxawyls4lr5q3mi11jdm76f80qxn4w")))) + (base32 "1d6s8njqhvayx2gp47409sp1fn8m608ws26hr1srfp6i23nnpyqr")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases - (replace 'bootstrap - ;; ‘GNU build system bootstrapping not needed’, the default lies. - (lambda _ - (invoke "sh" "./bootstrap"))) (add-after 'install 'install-documentation (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -400,14 +396,14 @@ to result in system-wide compromise.") (define-public unbound (package (name "unbound") - (version "1.9.5") + (version "1.9.6") (source (origin (method url-fetch) (uri (string-append "https://www.unbound.net/downloads/unbound-" version ".tar.gz")) (sha256 - (base32 "0myv8l886gmlh9nh4j3q5549idxnl51hf9cw20yxfqbwd47l13ca")))) + (base32 "1w5aylh2gfvfvqkgrq46aw427x9c0a3hwm0f985s55wim5pgr60x")))) (build-system gnu-build-system) (outputs '("out" "python")) (native-inputs @@ -592,7 +588,7 @@ served by AS112. Stub and forward zones are supported.") "--enable-nsec" "--enable-nsec3" "--enable-tsig"))) - (home-page "http://www.yadifa.eu/") + (home-page "https://www.yadifa.eu/") (synopsis "Authoritative DNS name server") (description "YADIFA is an authoritative name server for the @dfn{Domain Name System} (DNS). It aims for both higher performance and a smaller memory @@ -751,20 +747,20 @@ LuaJIT, both a resolver library and a daemon.") (define-public ddclient (package (name "ddclient") - (version "3.9.0") - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/ddclient/ddclient/ddclient-" - version "/ddclient-" version ".tar.gz")) - (sha256 - (base32 - "0fwyhab8yga2yi1kdfkbqxa83wxhwpagmj1w1mwkg2iffh1fjjlw")))) + (version "3.9.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ddclient/ddclient.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0hf377g4j9r9sac75xp17nk2h58mazswz4vkg4g2gl2yyhvzq91w")))) (build-system trivial-build-system) ; no Makefile.PL (native-inputs `(("bash" ,bash) - ("gzip" ,gzip) - ("perl" ,perl) - ("tar" ,tar))) + ("perl" ,perl))) (inputs `(("inetutils" ,inetutils) ; logger ("net-tools" ,net-tools) @@ -780,48 +776,46 @@ LuaJIT, both a resolver library and a daemon.") (use-modules (guix build utils) (ice-9 match) (srfi srfi-26)) - ;; bootstrap (setenv "PATH" (string-append (assoc-ref %build-inputs "bash") "/bin" ":" - (assoc-ref %build-inputs "tar") "/bin" ":" - (assoc-ref %build-inputs "gzip") "/bin" ":" (assoc-ref %build-inputs "perl") "/bin")) - ;; extract source - (invoke "tar" "xvf" (assoc-ref %build-inputs "source")) - ;; package - (with-directory-excursion (string-append ,name "-" ,version) - (let* ((out (assoc-ref %outputs "out")) - (bin (string-append out "/bin"))) - (let ((file "ddclient")) - (substitute* file - (("/usr/bin/perl") (which "perl")) - ;; Strictly use ‘/etc/ddclient/ddclient.conf’. - (("\\$\\{program\\}\\.conf") "/etc/ddclient/ddclient.conf") - (("\\$etc\\$program.conf") "/etc/ddclient/ddclient.conf") - ;; Strictly use ‘/var/cache/ddclient/ddclient.cache’ - (("\\$cachedir\\$program\\.cache") - "/var/cache/ddclient/ddclient.cache")) - (install-file file bin) - (wrap-program (string-append bin "/" file) - `("PATH" ":" = - ("$PATH" - ,@(map (lambda (input) - (match input - ((name . store) - (string-append store "/bin")))) - %build-inputs))) - `("PERL5LIB" ":" = - ,(delete - "" - (map (match-lambda - (((? (cut string-prefix? "perl-" <>) name) . dir) - (string-append dir "/lib/perl5/site_perl")) - (_ "")) - %build-inputs))))) - (for-each (cut install-file <> (string-append out - "/share/ddclient")) - (find-files "." "sample.*$"))))))) - (home-page "https://sourceforge.net/projects/ddclient/") + + ;; Copy the (read-only) source into the (writable) build directory. + (copy-recursively (assoc-ref %build-inputs "source") ".") + + ;; Install. + (let* ((out (assoc-ref %outputs "out")) + (bin (string-append out "/bin"))) + (let ((file "ddclient")) + (substitute* file + (("/usr/bin/perl") (which "perl")) + ;; Strictly use ‘/etc/ddclient/ddclient.conf’. + (("\\$\\{program\\}\\.conf") "/etc/ddclient/ddclient.conf") + (("\\$etc\\$program.conf") "/etc/ddclient/ddclient.conf") + ;; Strictly use ‘/var/cache/ddclient/ddclient.cache’ + (("\\$cachedir\\$program\\.cache") + "/var/cache/ddclient/ddclient.cache")) + (install-file file bin) + (wrap-program (string-append bin "/" file) + `("PATH" ":" = + ("$PATH" + ,@(map (lambda (input) + (match input + ((name . store) + (string-append store "/bin")))) + %build-inputs))) + `("PERL5LIB" ":" = + ,(delete + "" + (map (match-lambda + (((? (cut string-prefix? "perl-" <>) name) . dir) + (string-append dir "/lib/perl5/site_perl")) + (_ "")) + %build-inputs))))) + (for-each (cut install-file <> (string-append out + "/share/ddclient")) + (find-files "." "sample.*$")))))) + (home-page "https://ddclient.net/") (synopsis "Address updating utility for dynamic DNS services") (description "This package provides a client to update dynamic IP addresses with several dynamic DNS service providers, such as diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index 1f832a25e5..b23e067888 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -183,7 +183,9 @@ Python without keeping their credentials in a Docker configuration file.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0npbzixf3c0jvzm159vygvkydrr8h36c9sq50yv0mdinrys2bvg0")))) + (base32 "0npbzixf3c0jvzm159vygvkydrr8h36c9sq50yv0mdinrys2bvg0")) + (patches + (search-patches "containerd-test-with-go1.13.patch")))) (build-system go-build-system) (arguments `(#:import-path "github.com/containerd/containerd" @@ -236,7 +238,7 @@ Python without keeping their credentials in a Docker configuration file.") (description "This package provides the container daemon for Docker. It includes image transfer and storage, container execution and supervision, network attachments.") - (home-page "http://containerd.io/") + (home-page "https://containerd.io/") (license license:asl2.0))) ;;; Private package that shouldn't be used directly; its purposes is to be diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm index c4a8c0242d..dcacdb456f 100644 --- a/gnu/packages/documentation.scm +++ b/gnu/packages/documentation.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,7 @@ #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (gnu packages) @@ -122,6 +124,29 @@ the backend output markups (which can be almost any type of SGML/XML markup) can be customized and extended by the user.") (license gpl2+))) +(define-public asciidoc-py3 + (package (inherit asciidoc) + (name "asciidoc-py3") + (version "9.0.0rc1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/asciidoc/asciidoc-py3/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1v815dgab62970m9cr2crwbh4kvlzk6pv3hk4bzv6gfa4lbwfkfl")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf))) + (inputs + `(("python" ,python) + ("docbook-xml" ,docbook-xml) + ("docbook-xsl" ,docbook-xsl) + ("libxml2" ,libxml2) + ("libxslt" ,libxslt))))) + (define-public doxygen (package (name "doxygen") diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index 683be7927a..22b6c4ba12 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -227,7 +227,7 @@ (delete-file-recursively font-dest) (symlink font-src font-dest)) #t))))) - (home-page "http://calibre-ebook.com/") + (home-page "https://calibre-ebook.com/") (synopsis "E-book library management software") (description "Calibre is an e-book library manager. It can view, convert and catalog e-books in most of the major e-book formats. It can also talk diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 3ae1ec2192..b2501f2c7b 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net> ;;; @@ -132,7 +132,7 @@ of categories with some of the activities available in that category. (define-public gcompris-qt (package (name "gcompris-qt") - (version "0.97") + (version "0.98") (source (origin (method url-fetch) @@ -140,7 +140,7 @@ of categories with some of the activities available in that category. "https://gcompris.net/download/qt/src/gcompris-qt-" version ".tar.xz")) (sha256 - (base32 "0hl3a1jjnrpnbqkpx3rl3fl86yfv503lh48djb888hplvr4nf747")))) + (base32 "1jmjykn0lpk0v6hs2flmch8v4da5bgxl891nav7szxw9l7aqnf4y")))) (build-system cmake-build-system) (arguments `(#:phases @@ -602,14 +602,14 @@ Portuguese, Spanish and Italian.") (define-public fet (package (name "fet") - (version "5.42.3") + (version "5.43.2") (source (origin (method url-fetch) (uri (string-append "https://www.lalescu.ro/liviu/fet/download/" "fet-" version ".tar.bz2")) (sha256 - (base32 "0z31i8kwd59c3hlq35qll61qhc3x63w330ss92glhp12iy0aja1y")))) + (base32 "111ijwdpdnavi2jjp8jqnwkgi1b9n79svkfw68fmga0z7d3nd62g")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/efi.scm b/gnu/packages/efi.scm index 2bfebfdbc2..d986913243 100644 --- a/gnu/packages/efi.scm +++ b/gnu/packages/efi.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -64,7 +64,7 @@ environment presented by Intel's EFI.") (define-public sbsigntools (package (name "sbsigntools") - (version "0.9.2") + (version "0.9.3") (source (origin (method git-fetch) @@ -75,8 +75,7 @@ environment presented by Intel's EFI.") (recursive? #t))) (file-name (git-file-name name version)) (sha256 - (base32 - "116649ixr6gvw9fqiljfflxsv4293hgm73bmba5ilxrzn4kpbzvb")))) + (base32 "0gc3xmp73xl7z4nkwz4qy960rdflmx7k4ksgyblcnia9smvsir6y")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/elixir.scm b/gnu/packages/elixir.scm index 7420bc4963..a52b31f22d 100644 --- a/gnu/packages/elixir.scm +++ b/gnu/packages/elixir.scm @@ -33,7 +33,7 @@ (define-public elixir (package (name "elixir") - (version "1.9.4") + (version "1.10.2") (source (origin (method git-fetch) @@ -42,7 +42,7 @@ (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1l4318g35y4h0vi2w07ayc3jizw1xc3s7hdb47w6j3iw33y06g6b")) + (base32 "04yi1hljq7ii9flh6pmb5411z7q1bdq9f9sq8323k9hm1f5jwkx6")) (patches (search-patches "elixir-path-length.patch")))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 50cb6b4632..639a61ef58 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2015, 2016, 2018 Christopher Lemmer Webber <cwebber@dustycloud.org> ;;; Copyright © 2016 Adriano Peluso <catonano@gmail.com> -;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com> ;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org> @@ -16,7 +16,7 @@ ;;; Copyright © 2016, 2019 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com> -;;; Copyright © 2016, 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2017, 2018, 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017, 2018, 2019 Clément Lassieur <clement@lassieur.org> @@ -58,6 +58,8 @@ ;;; Copyright © 2019 Leo Prikler <leo.prikler@student.tugraz.at> ;;; Copyright © 2019 David Wilson <david@daviwil.com> ;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com> +;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net> +;;; Copyright © 2020 Evan Straw <evan.straw99@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -134,6 +136,7 @@ #:use-module (gnu packages package-management) #:use-module (gnu packages perl) #:use-module (gnu packages pdf) + #:use-module (gnu packages rust-apps) #:use-module (gnu packages scheme) #:use-module (gnu packages speech) #:use-module (gnu packages xiph) @@ -152,6 +155,7 @@ #:use-module (gnu packages video) #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages wordnet) + #:use-module (gnu packages photo) #:use-module (guix utils) #:use-module (srfi srfi-1) #:use-module (ice-9 match)) @@ -163,7 +167,7 @@ (define-public emacs-geiser (package (name "emacs-geiser") - (version "0.11") + (version "0.11.2") (source (origin (method git-fetch) (uri (git-reference @@ -172,7 +176,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0fb2h984hn7bnyiziplp7kgk29zdzc9yainsv0k1li436irlp9dd")))) + "1khi1bghsjx6cs5acizmlbw9z19s4qycnji9krdbn42cbpv0rysv")))) (build-system gnu-build-system) (arguments '(#:phases @@ -966,13 +970,13 @@ in certain cases. It also enables recursion for anonymous functions.") (define-public emacs-xr (package (name "emacs-xr") - (version "1.15") + (version "1.16") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/xr-" version ".tar")) (sha256 - (base32 "0pxzr6n0qa29ly8j3cl46rv9a65ajfcgahrhdylg4yfb9gh1x4ly")))) + (base32 "1s6pkbr7gkan0r9gfmix75m587d8cg6l11722v70zzgf2z9w2xg9")))) (build-system emacs-build-system) (home-page "https://elpa.gnu.org/packages/xr.html") (synopsis "Convert string regexp to rx notation") @@ -1070,14 +1074,14 @@ optional minor mode which can apply this command automatically on save.") (define-public emacs-relint (package (name "emacs-relint") - (version "1.13") + (version "1.14") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/relint-" version ".tar")) (sha256 - (base32 "1kzzlixhd6kp0mkmgn02b7pqv6m55g708xsys7vjskdxbfb6jjib")))) + (base32 "0hjzhxcygb2r2s3g2pk3z9x3appy1y8gkw8gpg9cpkl6lpwcsh2f")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-xr" ,emacs-xr))) (home-page "https://github.com/mattiase/relint") @@ -1659,9 +1663,24 @@ as a library for other Emacs packages.") (arguments `(#:emacs ,emacs #:include '("\\.el$" "^images/" "^latex/" "\\.info$") - #:exclude '("^tests/" "^latex/README"))) + #:exclude '("^tests/" "^latex/README") + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (etc-dir (string-append out "/share/" ,name "/" + ,version "/etc"))) + (with-directory-excursion "doc" + (setenv "HOME" (getenv "TMPDIR")) ; for mktextfm + (invoke "pdftex" "tex-ref") + (install-file "tex-ref.pdf" (string-append etc-dir + "/refcards"))) + #t)))))) (native-inputs `(("perl" ,perl))) + (inputs + `(("texlive" ,(texlive-union (list texlive-amsfonts))))) (home-page "https://www.gnu.org/software/auctex/") (synopsis "Integrated environment for TeX") (description @@ -2778,6 +2797,43 @@ column by drawing a thin line down the length of the editing window.") "This Emacs package allows managing multiple grep buffers.") (license license:gpl3+))) +(define-public emacs-rg + (package + (name "emacs-rg") + (version "1.8.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dajva/rg.el.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0k7x5z7mh9flwih35cqy8chs54rack3nswdcpw5wcpgv6xim227y")))) + (build-system emacs-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'hardcode-rg-path + ;; Hardcode the path to ripgrep. + (lambda _ + (let ((file "rg.el")) + (chmod file #o644) + (emacs-substitute-sexps file + ("(defcustom rg-executable" (which "rg"))))))))) + (propagated-inputs + `(("emacs-s" ,emacs-s) + ("emacs-wgrep" ,emacs-wgrep))) + (inputs + `(("ripgrep" ,ripgrep))) + (home-page "https://rgel.readthedocs.io/en/latest/") + (synopsis "Search tool based on @code{ripgrep}") + (description + "@code{rg} is an Emacs search package based on the @code{ripgrep} command +line tool. It allows one to interactively search based on the editing context +then refine or modify the search results.") + (license license:gpl3+))) + (define-public emacs-inf-ruby (package (name "emacs-inf-ruby") @@ -3394,9 +3450,7 @@ for Flow files.") (out (assoc-ref outputs "out")) (version ,(version-major+minor (package-version python)))) (with-directory-excursion - (string-append out - "/share/emacs/site-lisp/guix.d/" - "flycheck-grammalecte-" ,version) + (string-append out "/share/emacs/site-lisp") (symlink (string-append grammalecte "/lib/" "python" version "/site-packages/" "grammalecte") @@ -4671,6 +4725,47 @@ number.") @code{org-mode} to be rendered as UTF-8 characters.") (license license:gpl3+))) +(define-public emacs-org-superstar + (package + (name "emacs-org-superstar") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/integral-dw/org-superstar-mode.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0q6180qwjpha10zsiw0ni6lanyjwlj8141a6qivfcs8nwczz7nvz")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-org" ,emacs-org))) + (home-page "https://github.com/integral-dw/org-superstar-mode") + (synopsis "Prettify headings and plain lists in Org mode") + (description "This package prettifies headings and plain lists in +Org mode. It is a direct descendant of @code{org-bullets}, with most +of the code base completely rewritten. + +Currently, this package prettifies Org heading lines by: +@itemize +@item replacing trailing bullets by UTF-8 bullets, +@item hiding leading stars, customizing their look or removing them from vision, +@item applying a custom face to the header bullet, +@item applying a custom face to the leading bullets, +@item using double-bullets for inline tasks, +@item (optional) using special bullets for TODO keywords. +@end itemize + +It also prettifies Org plain list bullets by: +@itemize +@item replacing each bullet type (*, + and -) with UTF-8 bullets, +@item applying a custom face to item bullets. +@end itemize + +Features degrade gracefully when viewed from terminal.") + (license license:gpl3+))) + (define-public emacs-org-pomodoro ;; Last release version was from 2016. (let ((commit "aa07c11318f91219336197e62c47bc7a3d090479") @@ -4902,16 +4997,16 @@ variants.") (define-public emacs-solarized-theme (package (name "emacs-solarized-theme") - (version "1.2.2") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/bbatsov/solarized-emacs/") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0zcj9jf8nlsj9vms888z2vs76q54n8g8r9sh381xad3x8d6lrlb3")))) + (version "1.3.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bbatsov/solarized-emacs/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "15ql8xcixgm7mbs7rsbybwszanqibq057j5b5ds89a31dw7zxf1g")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash))) @@ -5258,6 +5353,28 @@ perspective only its buffers are available by default.") ;; the Expat license. (license license:gpl3+))) +(define-public emacs-persp-mode + (package + (name "emacs-persp-mode") + (version "2.9.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Bad-ptr/persp-mode.el.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0b4y7a6j70s9lvr37riyy9k5kh3yvmx0m6nd9c0c8572ji4ij65g")))) + (build-system emacs-build-system) + (home-page "https://github.com/Bad-ptr/persp-mode.el") + (synopsis "Switch between named \"perspectives\" shared among frames") + (description + "This package extends @code{perspective.el} to enable perspectives that +can be saved to and restored from a file.") + (license license:gpl2+))) + (define-public emacs-test-simple (package (name "emacs-test-simple") @@ -6308,7 +6425,7 @@ provides the following features: (base32 "1zm1j4w0f3h01bmmpsv4j4mh6i13nnl8fcqlj2hsa1ncy1lgi8q7")))) (build-system emacs-build-system) - (home-page "http://jblevins.org/projects/markdown-mode/") + (home-page "https://jblevins.org/projects/markdown-mode/") (synopsis "Emacs Major mode for Markdown files") (description "Markdown-mode is a major mode for editing Markdown-formatted text files @@ -7372,7 +7489,8 @@ xref, etc...) are still available, but with better integration.") #:phases ;; The package provides autoloads. (modify-phases %standard-phases - (delete 'make-autoloads)))) + (delete 'make-autoloads) + (delete 'enable-autoloads-compilation)))) (synopsis "Quicklisp support for SLY") (description "@command{sly-quicklisp} is an external contrib for SLY that provides a @@ -7429,7 +7547,10 @@ additional support for working with ASDF projects.") (propagated-inputs `(("emacs-sly" ,emacs-sly))) (arguments - '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include))) + '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include) + #:phases (modify-phases %standard-phases + ;; Byte compilation of the autoload file fails. + (delete 'enable-autoloads-compilation)))) (synopsis "Named-readtables support for SLY") (description "@command{sly-named-readtables} is an external contrib for SLY that @@ -7463,7 +7584,8 @@ file.") #:phases ;; The package provides autoloads. (modify-phases %standard-phases - (delete 'make-autoloads)))) + (delete 'make-autoloads) + (delete 'enable-autoloads-compilation)))) (synopsis "Expand Common Lisp macros inside source files with SLY") (description "@command{sly-macrostep} is a SLY contrib for expanding CL macros right @@ -7579,7 +7701,7 @@ extensions.") (license license:gpl3+))) (define-public emacs-evil-collection - (let ((commit "eb36c82a84d313e961777dc78fd4ff1d718efdf6") + (let ((commit "a478a95a8a3665e40bdae3bab2a0519db6c1f29c") (revision "13")) (package (name "emacs-evil-collection") @@ -7592,7 +7714,7 @@ extensions.") (file-name (git-file-name name version)) (sha256 (base32 - "0wi84x9176y4xjl7zpn882achfamx3a2ixlj4nvflxfh6q1qg7bz")))) + "15ii5lw6hs4yyl22yyzfwzagdma2sman4rm5gq4m9773g4ava515")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-evil" ,emacs-evil) @@ -8078,13 +8200,13 @@ passive voice.") (name "emacs-org") ;; emacs-org-contrib inherits from this package. Please update it as ;; well. - (version "9.3.3") + (version "9.3.6") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/org-" version ".tar")) (sha256 - (base32 "0yafckcx5ka2rpmv24x7ns6f3s1h216x2lbgaxsf1dmklbjcfvwv")))) + (base32 "0jwpgfzjvf1hd3mx582pw86hysdryaqzp69hk6azi9kmq4bzk87d")))) (build-system emacs-build-system) (home-page "https://orgmode.org/") (synopsis "Outline-based notes management and organizer") @@ -8098,14 +8220,14 @@ programming and reproducible research.") (package (inherit emacs-org) (name "emacs-org-contrib") - (version "20200206") + (version "20200213") (source (origin (method url-fetch) (uri (string-append "https://orgmode.org/elpa/" "org-plus-contrib-" version ".tar")) (sha256 - (base32 "1fdxh8zgjnb500wkcl0bc0fdzbsln6p044b4s4nz85wkfw0jkfs5")))) + (base32 "0g6rrrwplrifz4ip0jg638m4kvpvdg03hwnyghd813w0lm935mh5")))) (arguments `(#:modules ((guix build emacs-build-system) (guix build utils) @@ -9759,8 +9881,7 @@ and supports the use of a mouse.") (build-system gnu-build-system) (native-inputs `(("emacs" ,emacs-minimal))) (arguments - (let ((elisp-dir (string-append "/share/emacs/site-lisp/guix.d" - "/gnuplot-" version))) + (let ((elisp-dir "/share/emacs/site-lisp")) `(#:modules ((guix build gnu-build-system) (guix build utils) (guix build emacs-utils)) @@ -10953,8 +11074,8 @@ through them using @key{C-c C-SPC}.") (license license:gpl3+))) (define-public emacs-slack - (let ((commit "10fbb81f567b44647ad125a48ecd72df106fb624") - (revision "6")) + (let ((commit "b7b9eada0bf62d40dfe764b00f55913a2d3d742e") + (revision "7")) (package (name "emacs-slack") (version (git-version "0.0.2" revision commit)) @@ -10966,7 +11087,7 @@ through them using @key{C-c C-SPC}.") (file-name (git-file-name name commit)) (sha256 (base32 - "01ln9rbalgpxw6rbr4czhy6bd8wrrpyf0qgn2chcq3zmmrn4sy1z")))) + "0cqr7jnfxzb0z2wy79pdwpv9cvmawjif1kin3zbp8q7zhwrq09v0")))) (build-system emacs-build-system) (arguments `(#:phases @@ -11960,6 +12081,10 @@ match and total match information in the mode-line in various search modes.") (base32 "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq")))) (build-system emacs-build-system) + ;; Byte compilation of the autoload file fails. + (arguments + `(#:phases (modify-phases %standard-phases + (delete 'enable-autoloads-compilation)))) (home-page "https://elpa.gnu.org/packages/seq.html") (synopsis "Forward @code{cl-generic} compatibility for Emacs before version 25") @@ -14296,8 +14421,8 @@ perform regression test for packages that provide font-lock rules.") (license license:gpl3+)))) (define-public emacs-racket-mode - (let ((commit "2a9a102a097d04fbcd2a443fec84078036c2e277") - (revision "4")) + (let ((commit "5f396fa91fc22310f5c519aa658436a1a5251846") + (revision "5")) (package (name "emacs-racket-mode") (version (git-version "0.0.2" revision commit)) @@ -14310,15 +14435,15 @@ perform regression test for packages that provide font-lock rules.") (file-name (git-file-name name version)) (sha256 (base32 - "1n71dxxh62jixq20b5haapv651dxc0zyrxpl1d0yqsg8ncp726bl")))) + "1214y08i0c51d1vzw9jzyf79vyfqizdy6m0980qs13qbdwsj32v0")))) (build-system emacs-build-system) (arguments `(#:include '("\\.el$" "\\.rkt$"))) (propagated-inputs `(("emacs-faceup" ,emacs-faceup) ("emacs-s" ,emacs-s))) - (home-page "https://github.com/greghendershott/racket-mode") - (synopsis "Major mode for Racket language") + (home-page "https://www.racket-mode.com/") + (synopsis "Major mode for the Racket language") (description "@code{racket-mode} provides: @itemize @@ -14682,14 +14807,14 @@ modes of SLIME.") (define-public emacs-sml-mode (package (name "emacs-sml-mode") - (version "6.9") + (version "6.10") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/sml-mode-" version ".el")) (sha256 - (base32 "1bdg9ywpvj85hxqah9w1raxlcrhkyx67nw22jwd1bd5j0fhmgqij")))) + (base32 "01yf0s474r9xhj6nbs14ljn9ccxb5yy758i17c8nmgmqvm8fx7sb")))) (build-system emacs-build-system) (home-page "https://elpa.gnu.org/packages/sml-mode.html") (synopsis "Major mode for editing (Standard) ML") @@ -16052,7 +16177,7 @@ wiki.") (revision "1")) (package (name "emacs-recent-addresses") - (home-page "http://nschum.de/src/emacs/recent-addresses/") + (home-page "https://nschum.de/src/emacs/recent-addresses/") (version (git-version "0.1" revision commit)) (source (origin (method git-fetch) @@ -17301,8 +17426,7 @@ asynchronous communications, the RPC response is fairly good.") (lambda* (#:key inputs outputs #:allow-other-keys) (let ((perl (assoc-ref inputs "perl")) (dir (string-append (assoc-ref outputs "out") - "/share/emacs/site-lisp/guix.d/edbi-" - ,version))) + "/share/emacs/site-lisp"))) (substitute* (string-append dir "/edbi.el") (("\"perl\"") (string-append "\"" perl "/bin/perl\""))) (chmod (string-append dir "/edbi-bridge.pl") #o555) @@ -17717,25 +17841,26 @@ Later you can insert it into an Org buffer using the command (define-public emacs-amx (package (name "emacs-amx") - (version "3.2") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/DarwinAwardWinner/amx") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0bb8y1dmzyqkrb4mg6zndcsxppby3glridv2aap2pv05gv8kx7mj")))) + (version "3.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/DarwinAwardWinner/amx") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ikjzs119g57cwh2v3jmy63lggqc0ib99q5gsl93slkk4y2ihavw")))) (build-system emacs-build-system) - (propagated-inputs `(("emacs-s" ,emacs-s))) + (propagated-inputs + `(("emacs-s" ,emacs-s))) (home-page "https://github.com/DarwinAwardWinner/amx") - (synopsis "Alternative interface for M-x") + (synopsis "Alternative M-x interface for Emacs") (description "Amx is an alternative interface for M-x in Emacs. It provides several enhancements over the ordinary @code{execute-extended-command}, such as prioritizing your most-used commands in the completion list and showing keyboard shortcuts, and it supports several -completion systems for selecting commands, such as ido and ivy.") +completion systems for selecting commands, such as Ido and Ivy.") (license license:gpl3+))) (define-public emacs-lorem-ipsum @@ -19297,7 +19422,7 @@ with passwords for paths matching regexps.") `(("emacs-ivy" ,emacs-ivy))) (home-page "https://github.com/redguardtoo/eacl") (synopsis "Auto-complete lines by using @code{grep} on a project") - (description "This package provides auto-completion cammands for single + (description "This package provides auto-completion commands for single and multiple lines of code in a project.") (license license:gpl3+))) @@ -19468,7 +19593,7 @@ It is a fork of https://github.com/cofi/evil-numbers, which is unmaintained.") (base32 "1cgxv4aibkvv6lnssynn0438a615fz3zq8hg9sb0lhfgsr99pxln")))) (build-system emacs-build-system) - (home-page "http://nschum.de/src/emacs/rotate-text/") + (home-page "https://nschum.de/src/emacs/rotate-text/") (synopsis "Cycle through words, symbols and patterns in Emacs") (description "@code{rotate-text} allows you rotate to commonly interchanged text with a single keystroke. For example, you can toggle @@ -20240,7 +20365,7 @@ Emacs that integrate with major modes like Org-mode.") (define-public emacs-modus-themes (package (name "emacs-modus-themes") - (version "0.4.0") + (version "0.6.0") (source (origin (method git-fetch) @@ -20249,7 +20374,7 @@ Emacs that integrate with major modes like Org-mode.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0c4y3y9mjf6x2b9087fk6nkxvgvm9f5l1p2vdwqny80vp4krsb8r")))) + (base32 "15z6qq0b0npp7hscmh04i3mi10bynzdy52fv2b160nji264zvcwa")))) (build-system emacs-build-system) (home-page "https://gitlab.com/protesilaos/modus-themes") (synopsis "Emacs themes designed for colour-contrast accessibility") @@ -20287,6 +20412,31 @@ displayed against a dark background (Modus Vivendi).") color. Designed for 256-color terminals. Comes in light and dark!") (license license:gpl3+)))) +(define-public emacs-spacemacs-theme + (let ((commit "e088bff4f190495615c29de93079aaa823e2300c") + (revision "0")) + (package + (name "emacs-spacemacs-theme") + (version (git-version "0" revision commit)) ;no release yet + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nashamri/spacemacs-theme.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "09p5pzy3ibrl8dxmg10v8j16wxdn1fkdqpbi8l9pgfib2azmnvnc")))) + (build-system emacs-build-system) + (home-page "https://github.com/nashamri/spacemacs-theme") + (synopsis + "Light and dark theme for spacemacs that supports GUI and terminal") + (description + "Spacemacs theme is an Emacs color theme that started as +a theme for Spacemacs. The theme comes with dark and light variants +and it should work well with 256 color terminals.") + (license license:gpl3+)))) + (define-public emacs-elixir-mode (package (name "emacs-elixir-mode") @@ -20307,7 +20457,7 @@ color. Designed for 256-color terminals. Comes in light and dark!") "https://github.com/elixir-editors/emacs-elixir") (synopsis "Major mode for editing Elixir files") (description - "Elixir-Mode Provides font-locking, indentation and navigation support + "Elixir-Mode provides font-locking, indentation and navigation support for the Elixir programming language.") (license license:gpl3+))) @@ -20447,12 +20597,12 @@ commands that bear resemblance to the input command.") such as: @itemize -- switch to last buffer, -- toggle single window display, -- toggle between horizontal and vertical splits, -- move borders more naturally, -- swap windows à-la @code{windmove}. -@end itemize\n") +@item switch to last buffer, +@item toggle single window display, +@item toggle between horizontal and vertical splits, +@item move borders more naturally, +@item swap windows à-la @code{windmove}. +@end itemize") (license license:gpl3+))) (define-public emacs-flycheck-cpplint @@ -21452,3 +21602,128 @@ Flyspell's on-the-fly spell checking and extends these checks to also detect language. Auto-dictionary then sets @code{ispell-dictionary} to use the detected language.") (license license:gpl2+))) + +(define-public emacs-persist + (package + (name "emacs-persist") + (version "0.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "persist-" version ".tar")) + (sha256 + (base32 "0gpxy41qawzss2526j9a7lys60vqma1lvamn4bfabwza7gfhac0q")))) + (build-system emacs-build-system) + (home-page "http://elpa.gnu.org/packages/persist.html") + (synopsis "Persist variables between Emacs sessions") + (description + "This package provides variables which persist across sessions. +Values are stored in a directory in @code{user-emacs-directory}, using +one file per value. This makes it easy to delete or remove unused +variables.") + (license license:gpl3+))) + +(define-public emacs-company-emoji + (package + (name "emacs-company-emoji") + (version "2.5.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dunn/company-emoji/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0r9zcbm3nb3zw5cwrkl098v5b49jbga5404bj7j55g6k4rwkjar2")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-company" ,emacs-company))) + (home-page "https://github.com/dunn/company-emoji/") + (synopsis "Company completion back-end for emoji") + (description + "This library is a Company back-end providing auto-completion for +emoji.") + (license license:gpl3+))) + +(define-public emacs-exiftool + (package + (name "emacs-exiftool") + (version "0.3.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.systemreboot.net/exiftool.el/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0bv58is66cz21yhc0qqkp1z4nk13zfi2l7i6pjbhyi0g1n88qqyv")))) + (build-system emacs-build-system) + (arguments + `(#:tests? #t + #:test-command '("make" "-C" "tests") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'configure + (lambda* (#:key inputs #:allow-other-keys) + (make-file-writable "exiftool.el") + (emacs-substitute-variables "exiftool.el" + ("exiftool-executable" + (string-append (assoc-ref inputs "perl-image-exiftool") + "/bin/exiftool"))) + #t))))) + (inputs + `(("perl-image-exiftool" ,perl-image-exiftool))) + (home-page "https://git.systemreboot.net/exiftool.el/about/") + (synopsis "Elisp wrapper around ExifTool") + (description "@code{emacs-exiftool} is an Elisp wrapper around ExifTool. +ExifTool supports reading and writing metadata in various formats including +EXIF, XMP and IPTC.") + (license license:gpl3+))) + +(define-public emacs-password-generator + (package + (name "emacs-password-generator") + (version "1.01") + (home-page "https://github.com/zargener/emacs-password-genarator") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit "904cdb591a04305ba882ce19e1d117f5fa60f7d3"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1qgvn79qz1h8ykm5i1qv2fja4v2y0g2i0n5sf7byhnqhqlwn63nv")))) + (build-system emacs-build-system) + (synopsis "Generate passwords inside Emacs") + (description "@code{emacs-password-generator} provides simple functions to +generate random passwords and insert them into the current buffer. It also +supports generation of phonetic and numeric passwords.") + (license license:artistic2.0))) + +(define-public emacs-csv + (package + (name "emacs-csv") + (version "2.1") + (home-page "https://gitlab.com/u11/csv.el") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "V" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1vmazjrfcsa9aa9aw8bq5sazdhqvhxyj837dyw5lmh8gk7z0xdaa")))) + (build-system emacs-build-system) + (synopsis "Elisp functions for reading and parsing CSV files") + (description "@code{csv.el} provides functions for reading and parsing CSV (Comma +Separated Value) files. It follows the format as defined in RFC 4180 \"Common +Format and MIME Type for CSV Files\" (@url{http://tools.ietf.org/html/rfc4180}).") + (license license:gpl3+))) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index cfbcb83872..f6c57be42e 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -129,6 +129,11 @@ `(#:tests? #f ; no check target #:configure-flags (list "--with-modules" "--disable-build-details") + #:modules ((guix build emacs-utils) + (guix build glib-or-gtk-build-system) + (guix build utils)) + #:imported-modules ((guix build emacs-utils) + ,@%glib-or-gtk-build-system-modules) #:phases (modify-phases %standard-phases (add-before 'configure 'fix-/bin/pwd @@ -139,13 +144,12 @@ "pwd")) #t)) (add-after 'install 'install-site-start - ;; Use 'guix-emacs' in "site-start.el". This way, Emacs packages - ;; provided by Guix and installed in - ;; ~/.guix-profile/share/emacs/site-lisp/guix.d/PACKAGE-VERSION are - ;; automatically found. + ;; Use 'guix-emacs' in "site-start.el", which is used autoload the + ;; Elisp packages found in EMACSLOADPATH. (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (lisp-dir (string-append out "/share/emacs/site-lisp"))) + (lisp-dir (string-append out "/share/emacs/site-lisp")) + (emacs (string-append out "/bin/emacs"))) (copy-file (assoc-ref inputs "guix-emacs.el") (string-append lisp-dir "/guix-emacs.el")) (with-output-to-file (string-append lisp-dir "/site-start.el") @@ -158,6 +162,9 @@ ;; share/emacs/site-lisp union when added to EMACSLOADPATH, ;; which leads to conflicts. (delete-file (string-append lisp-dir "/subdirs.el")) + ;; Byte compile the site-start files. + (parameterize ((%emacs emacs)) + (emacs-byte-compile-directory lisp-dir)) #t)))))) (inputs `(("gnutls" ,gnutls) @@ -326,6 +333,12 @@ languages.") (build-system gnu-build-system) (arguments (substitute-keyword-arguments (package-arguments emacs) + ((#:modules _) + `((guix build emacs-utils) + ,@%gnu-build-system-modules)) + ((#:imported-modules _) + `((guix build emacs-utils) + ,@%gnu-build-system-modules)) ((#:phases phases) `(modify-phases ,phases (delete 'install-site-start))) @@ -345,6 +358,12 @@ editor (with xwidgets support)") (build-system gnu-build-system) (arguments (substitute-keyword-arguments (package-arguments emacs) + ((#:modules _) + `((guix build emacs-utils) + ,@%gnu-build-system-modules)) + ((#:imported-modules _) + `((guix build emacs-utils) + ,@%gnu-build-system-modules)) ((#:configure-flags flags ''()) `(cons "--with-xwidgets" ,flags)))) (inputs @@ -358,6 +377,14 @@ editor (with xwidgets support)") (synopsis "The extensible, customizable, self-documenting text editor (console only)") (build-system gnu-build-system) + (arguments + (substitute-keyword-arguments (package-arguments emacs) + ((#:modules _) + `((guix build emacs-utils) + ,@%gnu-build-system-modules)) + ((#:imported-modules _) + `((guix build emacs-utils) + ,@%gnu-build-system-modules)))) (inputs (fold alist-delete (package-inputs emacs) '("libx11" "gtk+" "libxft" "libtiff" "giflib" "libjpeg" @@ -376,9 +403,15 @@ editor (without an X toolkit)" ) (inputs (append `(("inotify-tools" ,inotify-tools)) (alist-delete "gtk+" (package-inputs emacs)))) (arguments - `(,@(substitute-keyword-arguments (package-arguments emacs) - ((#:configure-flags cf) - `(cons "--with-x-toolkit=no" ,cf))))))) + (substitute-keyword-arguments (package-arguments emacs) + ((#:modules _) + `((guix build emacs-utils) + ,@%gnu-build-system-modules)) + ((#:imported-modules _) + `((guix build emacs-utils) + ,@%gnu-build-system-modules)) + ((#:configure-flags cf) + `(cons "--with-x-toolkit=no" ,cf)))))) (define-public guile-emacs (let ((commit "41120e0f595b16387eebfbf731fff70481de1b4b") diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index 08c8533812..136add4e82 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -175,7 +175,7 @@ `(("xbinutils" ,(cross-binutils "arm-none-eabi")) ("xgcc" ,gcc-arm-none-eabi-4.9) ("texinfo" ,texinfo))) - (home-page "http://www.sourceware.org/newlib/") + (home-page "https://www.sourceware.org/newlib/") (synopsis "C library for use on embedded systems") (description "Newlib is a C library intended for use on embedded systems. It is a conglomeration of several library parts that are easily diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 284dc22039..7b82c91a58 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -102,7 +102,9 @@ version "/desmume-" version ".tar.gz")) (sha256 (base32 - "15l8wdw3q61fniy3h93d84dnm6s4pyadvh95a0j6d580rjk4pcrs")))) + "15l8wdw3q61fniy3h93d84dnm6s4pyadvh95a0j6d580rjk4pcrs")) + (patches (search-patches "desmume-gcc6-fixes.patch" + "desmume-gcc7-fixes.patch")))) (build-system gnu-build-system) (arguments ;; Enable support for WiFi and microphone. @@ -274,19 +276,21 @@ older games.") (license license:gpl2+))) (define-public emulation-station - (let ((commit "646bede3d9ec0acf0ae378415edac136774a66c5")) + ;; No release for a long time, new commits fix build issues + (let ((commit "9cc42adff67946175d2b7e25c6ae69cc374e98a0") + (revision "1")) (package (name "emulation-station") - (version "2.0.1") + (version (git-version "2.0.1" revision commit)) (source (origin (method git-fetch) ; no tarball available (uri (git-reference (url "https://github.com/Aloshi/EmulationStation.git") (commit commit))) ; no version tag - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 - "0cm0sq2wri2l9cvab1l0g02za59q7klj0h3p028vr96n6njj4w9v")))) + "1cva0ns650v17lfn8in095zci6lc43d23f1x3mlzc41qfqa6mbd1")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; no tests @@ -307,19 +311,27 @@ and a game metadata scraper.") (home-page "http://www.emulationstation.org") (license license:expat)))) +;; Note: higan v107 has been released, but as explained by the dialog that +;; appears after starting the new version, it's an experimental release. The +;; author recommends v106 for general use. +;; +;; When updating to v107 (or probably beyond), sdl will have to be replaced +;; with sdl2, and libxrandr will need to be added to inputs. The patch +;; `higan-remove-march-native-flag.patch' will not be necessary, since the flag +;; is now being added only for `platform=local', which is not the default. (define-public higan (package (name "higan") (version "106") (source (origin - (method url-fetch) - (uri (string-append - "https://gitlab.com/higan/higan/repository/archive.tar.gz?ref=v" - version)) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/byuu/higan/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "0y42pra0dxzlbkyzcp3r8a39pji2bj3p9fl40425f60af2igr4rw")) + (base32 "1mxivf8124vz4hl0b0xa1yqv0z9m3i12v9psmbpqkprrbq0wbgn1")) (patches (search-patches "higan-remove-march-native-flag.patch")))) (build-system gnu-build-system) (native-inputs @@ -344,15 +356,18 @@ and a game metadata scraper.") (delete 'configure) (add-before 'build 'chdir-to-higan (lambda _ - (chdir "higan"))) + (chdir "higan") + #t)) (add-before 'install 'create-/share/applications (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) ;; It seems the author forgot to do this in the Makefile. - (mkdir-p (string-append out "/share/applications"))))) + (mkdir-p (string-append out "/share/applications")) + #t))) (add-after 'install 'chdir-to-icarus (lambda _ - (chdir "../icarus"))) + (chdir "../icarus") + #t)) (add-after 'chdir-to-icarus 'build-icarus build-phase) (add-after 'build-icarus 'install-icarus install-phase) (add-after 'install-icarus 'wrap-higan-executable @@ -383,13 +398,14 @@ and a game metadata scraper.") (chmod higan #o555) ;; Second, make sure higan will find icarus in PATH. (wrap-program higan - `("PATH" ":" prefix (,bin)))))))) + `("PATH" ":" prefix (,bin))) + #t))))) #:make-flags (list "compiler=g++" (string-append "prefix=" (assoc-ref %outputs "out"))) ;; There is no test suite. #:tests? #f)) - (home-page "http://byuu.org/emulation/higan/") + (home-page "https://byuu.org/higan") (synopsis "Nintendo multi-system emulator") (description "higan (formerly bsnes) is an emulator for multiple Nintendo video game @@ -405,7 +421,7 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.") (define-public mgba (package (name "mgba") - (version "0.8.0") + (version "0.8.1") (source (origin (method git-fetch) @@ -414,7 +430,7 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0m3rgcdv32ms98j7rrmk2hphvn462bwsd6xfz2ssy05398pj4ljh")) + (base32 "1if82mfaak3696w5d5yshynpzywrxgvg3ifdfi2rwlpvq1gpd429")) (modules '((guix build utils))) (snippet ;; Make sure we don't use the bundled software. @@ -431,7 +447,8 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.") #:configure-flags (list "-DUSE_LZMA=OFF" ;do not use bundled LZMA "-DUSE_LIBZIP=OFF"))) ;use "zlib" instead - (native-inputs `(("pkg-config" ,pkg-config))) + (native-inputs `(("pkg-config" ,pkg-config) + ("qttools" ,qttools))) (inputs `(("ffmpeg" ,ffmpeg) ("imagemagick" ,imagemagick) ("libedit" ,libedit) @@ -443,7 +460,6 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.") ("ncurses" ,ncurses) ("qtbase" ,qtbase) ("qtmultimedia" ,qtmultimedia) - ("qttools" ,qttools) ("sdl2" ,sdl2) ("sqlite" ,sqlite) ("zlib" ,zlib))) @@ -454,9 +470,9 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.") faster and more accurate than many existing Game Boy Advance emulators, as well as adding features that other emulators lack. It also supports Game Boy and Game Boy Color games.") - ;; Code is mainly MPL 2.0. "blip_buf.c" is LGPL 2.1+ and "inih.c" is - ;; BSD-3. - (license (list license:mpl2.0 license:lgpl2.1+ license:bsd-3)))) + ;; Code is mainly MPL 2.0. "blip_buf.c" is LGPL 2.1+, "inih.c" is + ;; BSD-3, and "discord-rpc" is Expat. + (license (list license:mpl2.0 license:lgpl2.1+ license:bsd-3 license:expat)))) (define-public sameboy (package @@ -1264,7 +1280,7 @@ play them on systems for which they were never designed!") (define-public mame (package (name "mame") - (version "0.218") + (version "0.219") (source (origin (method git-fetch) @@ -1273,7 +1289,7 @@ play them on systems for which they were never designed!") (commit (apply string-append "mame" (string-split version #\.))))) (file-name (git-file-name name version)) (sha256 - (base32 "1c43hqfabc7spkyk5ma4bjdb0yqm93sdg5g13ka8mvi462snrfd7")) + (base32 "0s3nhkfa5c17ar1lzgvm20ndqain9llgqkab0ji5ycv2c85f06fl")) (modules '((guix build utils))) (snippet ;; Remove bundled libraries. @@ -1449,6 +1465,69 @@ functions. The source code to MAME serves as this documentation.") ;; keymaps, languages and samples are under CC0. (license (list license:gpl2+ license:expat license:cc0)))) +(define-public gnome-arcade + (package + (name "gnome-arcade") + (version "0.218.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/strippato/gnome-arcade") + (commit (string-append "v." version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1qc01a62p65qb6mwjfmxqsd6n3rglsfwrjhsp25nr7q54107n55l")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; No tests. + #:configure-flags (list + (string-append "-DMAME_BIN=\"" + (assoc-ref %build-inputs "mame") + "/bin/mame\"") + (string-append "-DAPP_RES=\"" + (assoc-ref %outputs "out") + "/share/gnome-arcade/\"")) + #:phases + (modify-phases %standard-phases + (add-before 'build 'fix-paths + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (pk 'cwd (getcwd)) + (substitute* "../source/src/config.c" + (("/usr/share") (string-append out "/share")))) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (rom (string-append out "/share/gnome-arcade/data/rom")) + (tile (string-append out "/share/gnome-arcade/data/tile"))) + (mkdir-p bin) + (install-file "../gnome-arcade" bin) + (copy-recursively "../source/res" + (string-append out "/share/gnome-arcade/res")) + (mkdir-p rom) + (install-file "../source/data/rom/ROM.TXT" rom) + (mkdir-p tile) + (install-file "../source/data/tile/TILE.TXT" tile)) + #t))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("mame" ,mame) + ("gtk" ,gtk+) + ("libevdev" ,libevdev) + ("libvlc" ,vlc) + ("libarchive" ,libarchive))) + (home-page "https://github.com/strippato/gnome-arcade") + (synopsis "Minimal MAME frontend") + (description + "A minimal GTK+ frontend for MAME, the multi-purpose arcade and console +emulator.") + (license license:gpl3+))) + (define-public pcsxr ;; No release since 2017. (let ((commit "6484236cb0281e8040ff6c8078c87899a3407534")) diff --git a/gnu/packages/enchant.scm b/gnu/packages/enchant.scm index 25825997bb..ff4fc03363 100644 --- a/gnu/packages/enchant.scm +++ b/gnu/packages/enchant.scm @@ -36,7 +36,7 @@ (define-public enchant (package (name "enchant") - (version "2.2.7") + (version "2.2.8") (source (origin (method url-fetch) (uri (string-append "https://github.com/AbiWord/enchant/releases" @@ -44,7 +44,7 @@ version ".tar.gz")) (sha256 (base32 - "029smcna98hllgkm2gy94qa7qphxs4xaa8cdbg5kaaw16mhrf8hv")))) + "0m9m564qqwbssvvf7y3dlz1yxzqsjiqy1yd2zsmb3l0d7y2y5df7")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static" diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 9dc8b7e9ce..fb96a4440c 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2019 Jovany Leandro G.C <bit4bit@riseup.net> ;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com> ;;; Copyright © 2019 John Soo <jsoo1@asu.edu> +;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; ;;; This file is part of GNU Guix. ;;; @@ -44,6 +45,7 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system python) + #:use-module (guix build-system qt) #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) @@ -792,138 +794,123 @@ language.") (define-public ao (deprecated-package "ao-cad" libfive)) +;; TODO Add doc https://gitlab.com/kicad/services/kicad-doc/-/tree/master (define-public kicad - (package - (name "kicad") - (version "5.1.5") - (source - (origin - (method url-fetch) - (file-name (string-append name "-" version ".tar.xz")) - (uri (string-append - "https://launchpad.net/kicad/" (version-major version) - ".0/" version "/+download/kicad-" version ".tar.xz")) - (sha256 - (base32 "0x3417f2pa7p65s9f7l49rqbnrzy8gz6i0n07mlbxqbnm0fmlql0")))) - (build-system cmake-build-system) - (arguments - `(#:out-of-source? #t - #:tests? #f ; no tests - #:build-type "Release" - #:configure-flags - (list "-DKICAD_SCRIPTING_PYTHON3=ON" - "-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON" - "-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE") - #:phases - (modify-phases %standard-phases - (add-after 'install 'wrap-program - ;; Ensure correct Python at runtime. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (python (assoc-ref inputs "python")) - (file (string-append out "/bin/kicad")) - (path (string-append - out - "/lib/python" - ,(version-major+minor - (package-version python)) - "/site-packages:" - (getenv "PYTHONPATH")))) - (wrap-program file - `("PYTHONPATH" ":" prefix (,path)) - `("PATH" ":" prefix - (,(string-append python "/bin:"))))) - #t))))) - (native-inputs - `(("boost" ,boost) - ("gettext" ,gnu-gettext) - ("pkg-config" ,pkg-config) - ("swig" ,swig) - ("zlib" ,zlib))) - (inputs - `(("cairo" ,cairo) - ("curl" ,curl) - ("desktop-file-utils" ,desktop-file-utils) - ("glew" ,glew) - ("glm" ,glm) - ("hicolor-icon-theme" ,hicolor-icon-theme) - ("libngspice" ,libngspice) - ("libsm" ,libsm) - ("mesa" ,mesa) - ("opencascade-oce" ,opencascade-oce) - ("openssl" ,openssl) - ("python" ,python) - ("wxwidgets" ,wxwidgets) - ("wxpython" ,python-wxpython))) - (home-page "https://kicad-pcb.org/") - (synopsis "Electronics Design Automation Suite") - (description "Kicad is a program for the formation of printed circuit + (package + (name "kicad") + (version "5.1.5") + (source + (origin + (method url-fetch) + (file-name (string-append name "-" version ".tar.xz")) + (uri (string-append + "https://launchpad.net/kicad/" (version-major version) + ".0/" version "/+download/kicad-" version ".tar.xz")) + (sha256 + (base32 "0x3417f2pa7p65s9f7l49rqbnrzy8gz6i0n07mlbxqbnm0fmlql0")))) + (build-system cmake-build-system) + (arguments + `(#:out-of-source? #t + #:tests? #f ; no tests + #:build-type "Release" + #:configure-flags + (list "-DKICAD_SCRIPTING_PYTHON3=ON" + "-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON" + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE") + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-translations + (lambda* (#:key inputs outputs #:allow-other-keys) + (copy-recursively (assoc-ref inputs "kicad-i18l") + (assoc-ref outputs "out")) + #t)) + (add-after 'install 'wrap-program + ;; Ensure correct Python at runtime. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (python (assoc-ref inputs "python")) + (file (string-append out "/bin/kicad")) + (path (string-append + out + "/lib/python" + ,(version-major+minor + (package-version python)) + "/site-packages:" + (getenv "PYTHONPATH")))) + (wrap-program file + `("PYTHONPATH" ":" prefix (,path)) + `("PATH" ":" prefix + (,(string-append python "/bin:"))))) + #t))))) + (native-search-paths + (list (search-path-specification + (variable "KICAD_TEMPLATE_DIR") + (files '("share/kicad/template"))) + (search-path-specification + (variable "KICAD_SYMBOL_DIR") ; symbol path + (files '("share/kicad/library"))) + (search-path-specification + (variable "KISYSMOD") ; footprint path + (files '("share/kicad/modules"))) + (search-path-specification + (variable "KISYS3DMOD") ; 3D model path + (files '("share/kicad/modules/packages3d"))))) + (native-inputs + `(("boost" ,boost) + ("desktop-file-utils" ,desktop-file-utils) + ("gettext" ,gnu-gettext) + ("kicad-i18l" ,kicad-i18l) + ("pkg-config" ,pkg-config) + ("swig" ,swig) + ("zlib" ,zlib))) + (inputs + `(("cairo" ,cairo) + ("curl" ,curl) + ("glew" ,glew) + ("glm" ,glm) + ("hicolor-icon-theme" ,hicolor-icon-theme) + ("libngspice" ,libngspice) + ("libsm" ,libsm) + ("mesa" ,mesa) + ("opencascade-oce" ,opencascade-oce) + ("openssl" ,openssl) + ("python" ,python-wrapper) + ("wxwidgets" ,wxwidgets) + ("wxpython" ,python-wxpython))) + (home-page "https://kicad-pcb.org/") + (synopsis "Electronics Design Automation Suite") + (description "Kicad is a program for the formation of printed circuit boards and electrical circuits. The software has a number of programs that perform specific functions, for example, pcbnew (Editing PCB), eeschema (editing electrical diagrams), gerbview (viewing Gerber files) and others.") - (license license:gpl3+))) + (license license:gpl3+))) -(define-public kicad-library - (let ((version "4.0.7")) - (package - (name "kicad-library") - (version version) - (source - (origin - (method url-fetch) - (uri (string-append - "https://kicad-downloads.s3.cern.ch/libraries/kicad-library-" - version ".tar.gz")) - (sha256 - (base32 "1azb7v1y3l6j329r9gg7f4zlg0wz8nh4s4i5i0l9s4yh9r6i9zmv")))) - (build-system cmake-build-system) - (arguments - `(#:out-of-source? #t - #:tests? #f ; no tests - #:phases - (modify-phases %standard-phases - (add-after 'install 'install-footprints ; from footprints tarball - (lambda* (#:key inputs outputs #:allow-other-keys) - (invoke "tar" "xvf" - (assoc-ref inputs "kicad-footprints") - "-C" (string-append (assoc-ref outputs "out") - "/share/kicad/modules") - "--strip-components=1"))) - ;; We change the default global footprint file, which is generated if - ;; it doesn't exist in user's home directory, from the one using the - ;; github plugin, to the one using the KISYSMOD environment path. - (add-after 'install-footprints 'use-pretty-footprint-table - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (template-dir (string-append out "/share/kicad/template")) - (fp-lib-table (string-append template-dir "/fp-lib-table"))) - (delete-file fp-lib-table) - (copy-file (string-append fp-lib-table ".for-pretty") - fp-lib-table)) - #t))))) - (native-search-paths - (list (search-path-specification - (variable "KISYSMOD") ; footprint path - (files '("share/kicad/modules"))) - (search-path-specification - (variable "KISYS3DMOD") ; 3D model path - (files '("share/kicad/modules/packages3d"))))) - ;; Kicad distributes footprints in a separate tarball. - (native-inputs - `(("kicad-footprints" - ,(origin - (method url-fetch) - (uri (string-append - "http://downloads.kicad-pcb.org/libraries/kicad-footprints-" - version ".tar.gz")) - (sha256 - (base32 - "08qrz5zzsb5127jlnv24j0sgiryd5nqwg3lfnwi8j9a25agqk13j")))))) - (home-page "https://kicad-pcb.org/") - (synopsis "Libraries for kicad") - (description "This package provides Kicad component, footprint and 3D -render model libraries.") - (license license:lgpl2.0+)))) +(define kicad-i18l + (package + (name "kicad-i18l") + (version "5.1.5") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/kicad/code/kicad-i18n.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1rfpifl8vky1gba2angizlb2n7mwmsiai3r6ip6qma60wdj8sbd3")))) + (build-system cmake-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'build) + (delete 'check)))) + (native-inputs + `(("gettext" ,gnu-gettext))) + (home-page "https://kicad-pcb.org/") + (synopsis "KiCad GUI translations") + (description "This package contains the po files that are used for the GUI +translations for KiCad.") + (license license:gpl3+))) (define-public kicad-symbols (package @@ -942,9 +929,9 @@ render model libraries.") (arguments `(#:tests? #f)) ; no tests exist (home-page "https://kicad-pcb.org/") - (synopsis "Official KiCad schematic symbol libraries for KiCad 5") + (synopsis "Official KiCad schematic symbol libraries") (description "This package contains the official KiCad schematic symbol -libraries for KiCad 5.") +libraries.") ;; TODO: Exception: "To the extent that the creation of electronic designs ;; that use 'Licensed Material' can be considered to be 'Adapted Material', ;; then the copyright holder waives article 3 of the license with respect to @@ -953,6 +940,58 @@ libraries for KiCad 5.") ;; See <https://github.com/KiCad/kicad-symbols/blob/master/LICENSE.md>. (license license:cc-by-sa4.0))) +(define-public kicad-footprints + (package + (inherit kicad-symbols) + (name "kicad-footprints") + (version "5.1.5") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/KiCad/kicad-footprints.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1c4whgn14qhz4yqkl46w13p6rpv1k0hsc9s9h9368fxfcz9knb2j")))) + (synopsis "Official KiCad footprint libraries") + (description "This package contains the official KiCad footprint libraries."))) + +(define-public kicad-packages3d + (package + (inherit kicad-symbols) + (name "kicad-packages3d") + (version "5.1.5") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/KiCad/kicad-packages3d.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0cff2ms1bsw530kqb1fr1m2pjixyxzwa81mxgac3qpbcf8fnpvaz")))) + (synopsis "Official KiCad 3D model libraries") + (description "This package contains the official KiCad 3D model libraries."))) + +(define-public kicad-templates + (package + (inherit kicad-symbols) + (name "kicad-templates") + (version "5.1.5") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/KiCad/kicad-templates.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0cs3bm3zb5ngw5ldn0lzw5bvqm4kvcidyrn76438alffwiz2b15g")))) + (synopsis "Official KiCad project and worksheet templates") + (description "This package contains the official KiCad project and +worksheet templates."))) + (define-public linsmith (package (name "linsmith") @@ -1310,12 +1349,20 @@ bindings for Python, Java, OCaml and more.") (native-inputs `(("pkg-config" ,pkg-config))) (home-page "https://radare.org/") - (synopsis "Portable reversing framework") + (synopsis "Reverse engineering framework") (description - "Radare project started as a forensics tool, a scriptable commandline -hexadecimal editor able to open disk files, but later support for analyzing -binaries, disassembling code, debugging programs, attaching to remote gdb -servers, ...") + "Radare2 is a complete framework for reverse-engineering, debugging, and +analyzing binaries. It is composed of a set of small utilities that can be +used together or independently from the command line. + +Radare2 is built around a scriptable disassembler and hexadecimal editor that +support a variety of executable formats for different processors and operating +systems, through multiple back ends for local and remote files and disk +images. + +It can also compare (@dfn{diff}) binaries with graphs and extract information +like relocation symbols. It is able to deal with malformed binaries, making +it suitable for security research and analysis.") (license license:lgpl3))) (define-public asco @@ -2248,7 +2295,7 @@ full programmatic control over your models.") (sha256 (base32 "170hk1kgrvsddrwykp24wyj0cha78zzmzbf50gn98x7ngqqs395s")))) - (build-system cmake-build-system) + (build-system qt-build-system) (native-inputs `(("doxygen" ,doxygen) ("graphviz" ,graphviz) @@ -2274,7 +2321,7 @@ full programmatic control over your models.") ("python-pyside-2-tools" ,python-pyside-2-tools) ("python-shiboken-2" ,python-shiboken-2) ("python-wrapper" ,python-wrapper) - ("qtbase" ,qtbase) + ("qtbase" ,qtbase-patched) ("qtsvg" ,qtsvg) ("qtx11extras" ,qtx11extras) ("qtxmlpatterns" ,qtxmlpatterns) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index 4e12bb4813..865895da78 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -40,7 +40,7 @@ (define-public erlang (package (name "erlang") - (version "21.0.5") + (version "21.3.8.13") (source (origin (method git-fetch) ;; The tarball from http://erlang.org/download contains many @@ -52,7 +52,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0gv83i5ybj1z3ykbbldjzf7dbfjszp84c0yzrpshj611b9wp0176")) + "1dj37vk712dx76y25g13na24wbpn7a5ddmlpf4n51gm10sib54wj")) (patches (search-patches "erlang-man-path.patch")))) (build-system gnu-build-system) (native-inputs @@ -68,7 +68,7 @@ (version-major+minor version) ".tar.gz")) (sha256 (base32 - "0cgv23q0215f6lvmhj4w9skx5m29khjs9mb890635s3yp520xgqh")))))) + "0wm1dg1psv1n3gpiwyms06yhsryrnr28p455fp0l1ak8hdf4nipm")))))) (inputs `(("ncurses" ,ncurses) ("openssl" ,openssl) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 990298ce3f..8e12f684e0 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -573,7 +573,11 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch ;; Only try tests that don't need access to network or system (replace 'check (lambda _ - (invoke "make" "ARGS=-R 'hash|core_tests' --verbose" "test"))) + ;; Core tests sometimes fail, at least on i686-linux. + ;; Let's disable them for now and just try hash tests + ;; and unit tests. + ;; (invoke "make" "ARGS=-R 'hash|core_tests' --verbose" "test"))) + (invoke "make" "ARGS=-R 'hash' --verbose" "test"))) (add-after 'check 'unit-tests (lambda _ (let ((excluded-unit-tests @@ -1122,7 +1126,7 @@ Grisbi can manage multiple accounts, currencies and users. It manages third party, expenditure and receipt categories, budgetary lines, financial years, budget estimates, bankcard management and other information.") - (home-page "http://grisbi.org") + (home-page "https://grisbi.org") (license license:gpl2+))) (define-public trezord diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index f9832161ea..93f01b9719 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -55,7 +55,7 @@ (sha256 (base32 "16jbj8avg5jkgvq5lxm0hdxxn4c3zn7fx8b4nxllvr024apk9w23")) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (patches (search-patches "ath9k-htc-firmware-objcopy.patch")))) (build-system gnu-build-system) (arguments @@ -112,7 +112,7 @@ Linux-libre.") (uri (git-reference (url "http://git.bues.ch/git/b43-tools.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1wgmj4d65izbhprwb5bcwimc2ryv19b9066lqzy4sa5m6wncm9cn")))) @@ -194,7 +194,7 @@ by the b43-open driver of Linux-libre.") (name (string-replace-substring (string-append "opensbi-" platform "-" variant) "_" "-")) - (version "0.5") + (version "0.6") (source (origin (method git-fetch) @@ -203,7 +203,7 @@ by the b43-open driver of Linux-libre.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0qc73xbiy79qqkwxmp4mg15q8n8k26njkyqb6n0jw5dyibd6hb85")))) + (base32 "129ypdga0fzn657n2f42g2a1vx3hf8x7sd78h06d35pgkry0jkl7")))) (build-system gnu-build-system) (native-inputs `(,@(if (and (not (string-prefix? "riscv64" (%current-system))) @@ -246,12 +246,14 @@ for platform-specific firmwares executing in M-mode.") (define-public opensbi-qemu-virt (make-opensbi-package "qemu" "virt")) -(define-public opensbi-qemu-sifive-u - (make-opensbi-package "qemu" "sifive_u")) - (define-public opensbi-sifive-fu540 (make-opensbi-package "sifive" "fu540")) +(define-public opensbi-qemu-sifive-u + ;; Dropped upstream, as all functionality is present in the sifive-fu540 + ;; target for recent versions of qemu, u-boot and linux. + (deprecated-package "opensbi-qemu-sifive-u" opensbi-sifive-fu540)) + (define-public seabios (package (name "seabios") diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm index eb92ae40f5..f993912838 100644 --- a/gnu/packages/flashing-tools.scm +++ b/gnu/packages/flashing-tools.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -48,7 +48,7 @@ (define-public flashrom (package (name "flashrom") - (version "1.1") + (version "1.2") (source (origin (method url-fetch) (uri (string-append @@ -56,7 +56,7 @@ version ".tar.bz2")) (sha256 (base32 - "06afq680n9p34hi3vrkn12vd1pfyq2062db9qqbi4hi21k3skbdf")))) + "0ax4kqnh7kd3z120ypgp73qy1knz47l6qxsqzrfkd97mh5cdky71")))) (build-system gnu-build-system) (inputs `(("dmidecode" ,dmidecode) ("pciutils" ,pciutils) @@ -447,7 +447,7 @@ ME as far as possible (it only edits ME firmware image files).") (define-public uefitool (package (name "uefitool") - (version "0.26.0") + (version "0.27.0") (source (origin (method git-fetch) (uri (git-reference @@ -455,7 +455,7 @@ ME as far as possible (it only edits ME firmware image files).") (commit version))) (sha256 (base32 - "1ka7i12swm9r5bmyz5vjr82abd2f3lj8p35f4208byalfbx51yq7")) + "1i1p823qld927p4f1wcphqcnivb9mq7fi5xmzibxc3g9zzgnyc2h")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/fltk.scm b/gnu/packages/fltk.scm index 204d2f8483..a214c531b3 100644 --- a/gnu/packages/fltk.scm +++ b/gnu/packages/fltk.scm @@ -109,7 +109,7 @@ UI builder called FLUID that can be used to create applications in minutes.") (sha256 (base32 "0j38mhnfqy6swcrnc5zxcwlqi8b1pgklyghxk6qs1lf4japv2zc0")) - (file-name (string-append name "-" version "-checkout")))) + (file-name (git-file-name name version)))) (build-system waf-build-system) (arguments `(#:tests? #f ;no "check" target diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 7297c277f1..186e1eecff 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -29,6 +29,7 @@ ;;; Copyright © 2019 Alva <alva@skogen.is> ;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org> ;;; Copyright © 2020 Damien Cassou <damien@cassou.me> +;;; Copyright © 2020 Amin Bandali <mab@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -780,7 +781,7 @@ It contains the following fonts and styles: (define-public font-fantasque-sans (package (name "font-fantasque-sans") - (version "1.7.2") + (version "1.8.0") (source (origin (method git-fetch) @@ -789,26 +790,27 @@ It contains the following fonts and styles: (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "1gjranq7qf20rfxnpxsckv1hl35nzsal0rjs475nhfbpqy5wmly6")))) + (base32 "17l18488qyl9gdj80r8pcym3gp3jkgsdikwalnrp5rgvwidqx507")))) (build-system gnu-build-system) (native-inputs `(("ttfautohint" ,ttfautohint) ("woff-tools" ,woff-tools) ("fontforge" ,fontforge) ("woff2" ,woff2) - ("ttf2eot" ,ttf2eot) ("zip" ,zip))) (arguments `(#:tests? #f ;test target intended for visual inspection #:phases (modify-phases %standard-phases (delete 'configure) ;no configuration - (add-before 'build 'xrange->range - ;; Rather than use a python2 fontforge, just replace the - ;; offending function. + (add-before 'build 'support-python@3 + ;; Rather than use a Python 2 fontforge, replace Python-2- + ;; specific code with a passable Python 3 equivalent. (lambda _ (substitute* "Scripts/fontbuilder.py" (("xrange") "range")) + (substitute* "Scripts/features.py" + (("f\\.write\\(fea_code\\)") + "f.write(str.encode(fea_code))")) #t)) (replace 'install ;; 'make install' wants to install to ~/.fonts, install to @@ -1221,7 +1223,7 @@ monospace, slab-serif fonts.") (base32 "17q5brcqyyc8gbjdgpv38p89s60cwxjlwy2ljnrvas5cj0s62np0")))) (build-system font-build-system) - (home-page "http://google.github.io/material-design-icons") + (home-page "https://google.github.io/material-design-icons") (synopsis "Icon font of Google Material Design icons") (description "Material design system icons are simple, modern, friendly, and sometimes @@ -1585,3 +1587,42 @@ This package provides the TrueType fonts.") Mono’s typeface forms are simple and free from unnecessary details. Rendered in small sizes, the text looks crisper.") (license license:asl2.0))) + +(define-public font-vazir + (package + (name "font-vazir") + (version "22.1.0") + (source + (origin + (method url-fetch/zipbomb) + (uri + (string-append "https://github.com/rastikerdar/vazir-font/" + "releases/download/v" version + "/vazir-font-v" version ".zip")) + (sha256 + (base32 + "0w3gwb5q33x5llw7cfs8qhaxr4ssg6rsx4b9day3993zn24xq031")))) + (build-system font-build-system) + (home-page "https://rastikerdar.github.io/vazir-font/") + (synopsis "Vazir Persian typeface") + (description + "Vazir is a beautiful and elegant Persian typeface originally based on +DejaVu, and comes in six variants: Thin, Light, Normal, Medium, Bold, and +Black. This package provides four versions of Vazir: + +@itemize +@item @code{Vazir}: The main version; includes Latin glyphs from Roboto. +@item @code{Vazir-FD}: Like @code{Vazir}, but (always) uses Farsi digit glyphs +instead of Latin ones. +@item @code{Vazir-WOL}: Like @code{Vazir}, but without Roboto's Latin glyphs. +@item @code{Vazir-FD-WOL}: Combination of @code{Vazir-FD} and @code{Vazir-WOL}: +always uses Farsi digits, and does not include Latin glyphs from Roboto. +@end itemize\n") + (license + ;; See https://github.com/rastikerdar/vazir-font/blob/master/LICENSE for + ;; details. + (list license:public-domain ; the Vazir modifications to DejaVu + ; and the DejaVu modifications to... + (license:x11-style ; ...the Bitstream Vera typeface + "file://LICENSE" "Bitstream Vera License") + license:asl2.0)))) ; Latin glyphs from Roboto diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 1d81938dec..71d7a19e1d 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2020 Roel Janssen <roel@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -698,7 +699,7 @@ files. UFO is a file format that stores fonts source files.") (propagated-inputs `(("python2-fonttools" ,python2-fonttools) ("python2-ufolib" ,python2-ufolib))) - (home-page "https://pypi.python.org/pypi/defcon") + (home-page "https://pypi.org/project/defcon/") (synopsis "Flexible objects for representing @acronym{UFO, unified font object} data") (description "Defcon is a set of @acronym{UFO, unified font object} based objects @@ -795,3 +796,64 @@ tools or editing configuration files by hand. While designed primarily with the GNOME Desktop Environment in mind, it should work well with other GTK+ desktop environments.") (license license:gpl3+))) + +(define-public fntsample + (package + (name "fntsample") + (version "5.3") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/eugmes/fntsample/archive/release/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0awp4dh1g40ivzvm5xqlvcpcdw1vplrx3drjmbylr62y185vbs74")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; There are no tests. + #:configure-flags + (list (string-append + "-DUNICODE_BLOCKS=" (assoc-ref %build-inputs "unicode-blocks"))) + #:phases + (modify-phases %standard-phases + (add-after 'install 'set-library-path + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (pdf-api2 (assoc-ref inputs "perl-pdf-api2")) + (intl (assoc-ref inputs "perl-libintl-perl")) + (perllib (string-append pdf-api2 + "/lib/perl5/site_perl/" + ,(package-version perl) + ":" intl + "/lib/perl5/site_perl/" + ,(package-version perl)))) + (wrap-program (string-append out "/bin/pdfoutline") + `("PERL5LIB" ":" prefix (,perllib))) + #t)))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("gettext" ,gettext-minimal))) + (inputs + `(("cairo" ,cairo) + ("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("glib" ,glib) + ("pango" ,pango) + ("perl-pdf-api2" ,perl-pdf-api2) + ("perl-libintl-perl" ,perl-libintl-perl) + ("unicode-blocks" + ,(origin + (method url-fetch) + (uri "https://unicode.org/Public/UNIDATA/Blocks.txt") + (file-name "unicode-blocks.txt") + (sha256 + (base32 + "1xs8fnhh48gs41wg004r7m4r2azh9khmyjjlnvyzy9c6zrd212x2")))))) + (home-page "https://github.com/eugmes/fntsample") + (synopsis "PDF and PostScript font samples generator") + (description "This package provides a tool that can be used to make font +samples that show coverage of the font and are similar in appearance to +Unicode Charts. It was developed for use with DejaVu Fonts project.") + (license license:gpl3+))) diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm index 46c917b0d5..dca67ad3ca 100644 --- a/gnu/packages/fpga.scm +++ b/gnu/packages/fpga.scm @@ -51,15 +51,15 @@ (revision "1")) (package (name "abc") - (version (string-append "0.0-" revision "-" (string-take commit 9))) + (version (git-version "0.0" revision commit)) (source (origin (method url-fetch) (uri (string-append "https://bitbucket.org/alanmi/abc/get/" commit ".zip")) (file-name (string-append name "-" version "-checkout.zip")) (sha256 - (base32 - "1syygi1x40rdryih3galr4q8yg1w5bvdzl75hd27v1xq0l5bz3d0")))) + (base32 + "1syygi1x40rdryih3galr4q8yg1w5bvdzl75hd27v1xq0l5bz3d0")))) (build-system gnu-build-system) (native-inputs `(("unzip" ,unzip))) @@ -75,7 +75,7 @@ (let* ((out (assoc-ref outputs "out")) (out-bin (string-append out "/bin"))) (install-file "abc" out-bin))))))) - (home-page "http://people.eecs.berkeley.edu/~alanmi/abc/") + (home-page "https://people.eecs.berkeley.edu/~alanmi/abc/") (synopsis "Sequential logic synthesis and formal verification") (description "ABC is a program for sequential logic synthesis and formal verification.") @@ -216,13 +216,13 @@ For synthesis, the compiler generates netlists in the desired format.") (revision "2")) (package (name "icestorm") - (version (string-append "0.0-" revision "-" (string-take commit 9))) + (version (git-version "0.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/cliffordwolf/icestorm.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0bqm0rpywm64yvbq75klpyzb1g9sdsp1kvdlyqg4hvm8jw9w8lya")))) @@ -267,7 +267,7 @@ Includes the actual FTDI connector.") (uri (git-reference (url "https://github.com/YosysHQ/arachne-pnr.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1dqvjvgvsridybishv4pnigw9gypxh7r7nrqp9z9qq92v7c5rxzl")))) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index e71065e270..0c4dde180f 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -8,15 +8,16 @@ ;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2017, 2018 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2017, 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017 Brendan Tildesley <mail@brendan.scot> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com> ;;; Copyright © 2019 Reza Alizadeh Majd <r.majd@pantherx.org> ;;; Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> +;;; Copyright © 2020 Rene Saavedra <pacoon@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -305,7 +306,6 @@ the freedesktop.org XDG Base Directory specification.") "-Dcgroup-controller=elogind" "-Dman=true" ;; Disable some tests. - "-Dtests=false" "-Dslow-tests=false")) #:phases (modify-phases %standard-phases @@ -323,6 +323,46 @@ the freedesktop.org XDG Base Directory specification.") (("=/run/dbus/system_bus_socket") "=/var/run/dbus/system_bus_socket")) #t)) + (add-after 'unpack 'adjust-tests + (lambda _ + ;; This test tries to copy some bytes from /usr/lib/os-release, + ;; which does not exist in the build container. Choose something + ;; more likely to be available. + (substitute* "src/test/test-copy.c" + (("/usr/lib/os-release") + "/etc/passwd")) + ;; Use a shebang that works in the build container. + (substitute* "src/test/test-exec-util.c" + (("#!/bin/sh") + (string-append "#!" (which "sh")))) + ;; Do not look for files or directories that do not exist. + (substitute* "src/test/test-fs-util.c" + (("usr") "etc") + (("/etc/machine-id") "/etc/passwd")) + ;; FIXME: Why is sd_id128_get_machine_app_specific failing. + ;; Disable for now by hooking into the kernel support check. + (substitute* "src/test/test-id128.c" + (("if \\(r == -EOPNOTSUPP\\)") + "if (1)")) + ;; This test expects that /sys is available. + (substitute* "src/test/test-mountpoint-util.c" + (("assert_se\\(path_is_mount_point\\(\"/sys.*") + "")) + ;; /bin/sh does not exist in the build container. + (substitute* "src/test/test-path-util.c" + (("/bin/sh") (which "sh"))) + ;; This test uses sd_device_new_from_syspath to allocate a + ;; loopback device, but that fails because /sys is unavailable. + (substitute* "src/libelogind/sd-device/test-sd-device-thread.c" + ((".*sd_device_new_from_syspath.*/sys/class/net/lo.*") + "return 77;")) + ;; Most of these tests require cgroups or an actual live + ;; logind system so that it can flicker the monitor, etc. + ;; Just skip it until a more narrow selection can be made. + (substitute* "src/libelogind/sd-login/test-login.c" + (("r = sd_pid_get_slice.*") + "return 77;")) + #t)) (add-after 'unpack 'change-pid-file-path (lambda _ (substitute* "src/login/elogind.c" @@ -505,7 +545,7 @@ with localed. This package is extracted from the broader systemd package.") (define-public packagekit (package (name "packagekit") - (version "1.1.12") + (version "1.1.13") (source (origin (method url-fetch) (uri (string-append @@ -514,7 +554,7 @@ with localed. This package is extracted from the broader systemd package.") "PackageKit-" version ".tar.xz")) (sha256 (base32 - "00css16dv3asaxrklvyxy9dyjzhw82wmfrqxqpca9w2xryz58i8z")))) + "1dr1laic65ld95abp2yxbwvijnngh0dwyb1x49x4wjm5rhq43dl8")))) (build-system gnu-build-system) (arguments `(#:tests? #f @@ -934,6 +974,11 @@ message bus.") "--enable-elogind") #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-/bin/cat + (lambda _ + (substitute* "src/user.c" + (("/bin/cat") (which "cat"))) + #t)) (add-before 'configure 'pre-configure (lambda* (#:key inputs #:allow-other-keys) @@ -1205,28 +1250,36 @@ wish to perform colour calibration.") (define-public libfprint (package (name "libfprint") - (version "0.6.0") - (source (origin - (method url-fetch) - (uri (string-append "https://people.freedesktop.org/~hadess/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "1giwh2z63mn45galsjb59rhyrvgwcy01hvvp4g01iaa2snvzr0r5")))) - (build-system gnu-build-system) + (version "1.90.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.freedesktop.org/libfprint/libfprint") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0fdaak7qjr9b4482g7fhhqpyfdqpxq5kpmyzkp7f5i7qq2ynb78a")))) + (build-system meson-build-system) (arguments - '(#:configure-flags (list (string-append "--with-udev-rules-dir=" - (assoc-ref %outputs "out") - "/lib/udev/rules.d")))) + '(#:configure-flags + (list (string-append "-Dudev_rules_dir=" (assoc-ref %outputs "out") + "/lib/udev/rules.d")))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("eudev" ,eudev) + ("glib:bin" ,glib "bin") ; for {glib-,}mkenums + ("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc) ; for 88 KiB of API documentation + ("pkg-config" ,pkg-config))) (inputs - `(("libusb" ,libusb) - ("nss" ,nss) - ("glib" ,glib) - ("eudev" ,eudev) + `(("glib" ,glib) + ("gusb" ,gusb) + ("nss" ,nss) ; for the URU4x00 driver + + ;; Replacing this with cairo works but just results in a reference + ;; (only) to pixman in the end. ("pixman" ,pixman))) - (home-page "https://www.freedesktop.org/wiki/Software/fprint/libfprint/") + (home-page "https://fprint.freedesktop.org/") (synopsis "Library to access fingerprint readers") (description "libfprint is a library designed to make it easy for application @@ -1237,37 +1290,90 @@ software.") (define-public fprintd (package (name "fprintd") - (version "0.7.0") - (source (origin - (method url-fetch) - (uri (string-append - "https://people.freedesktop.org/~hadess/fprintd-" - version ".tar.xz")) - (sha256 - (base32 - "05915i0bv7q62fqrs5diqwr8dz3pwqa1c1ivcgggkjyw0xk4ldp5")))) - (build-system gnu-build-system) + (version "1.90.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.freedesktop.org/libfprint/fprintd") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0mbzk263x7f58i9cxhs44mrngs7zw5wkm62j5r6xlcidhmfn03cg")))) + (build-system meson-build-system) (arguments - '(#:phases (modify-phases %standard-phases - (add-before 'build 'set-sysconfdir - (lambda* (#:key outputs #:allow-other-keys) - ;; Work around a bug whereby the 'SYSCONFDIR' macro - ;; expands literally to '${prefix}/etc'. - (let ((out (assoc-ref outputs "out"))) - (substitute* "src/main.c" - (("SYSCONFDIR, \"fprintd.conf\"") - (string-append "\"" out "/etc\", " - "\"fprintd.conf\""))) - #t)))))) + `(#:configure-flags + (list "-Dsystemd_system_unit_dir=/tmp" + (string-append "-Ddbus_service_dir=" (assoc-ref %outputs "out") + "/share/dbus-1/system-services") + (string-append "-Dpam_modules_dir=" (assoc-ref %outputs "out") + "/lib/security")) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'patch-output-directories + ;; Install files to our output, not that of the ‘owner’ package. + ;; These are not exposed as Meson options and must be patched. + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "meson.build" + (("(dbus_interfaces_dir = ).*" _ set) + (string-append set "'" out "/share/dbus-1/interfaces'\n")) + (("(polkit_policy_directory = ).*" _ set) + (string-append set "'" out "/share/polkit-1/actions/'\n")) + (("(dbus_data_dir = ).*" _ set) + (string-append set "get_option('prefix')" + " / get_option('datadir')\n"))) + #t))) + (add-before 'configure 'patch-mistake + (lambda _ + (substitute* "meson.build" + (("(storage_path = )(get_option\\('prefix'\\))(.*)" + _ set mistake value) + (string-append set "''" value "\n"))) + #t)) + (add-before 'configure 'patch-systemd-dependencies + (lambda _ + (substitute* "meson.build" + (("'(libsystemd|systemd)'") "'libelogind'")) + #t)) + (add-before 'configure 'ignore-test-dependencies + (lambda _ + (substitute* "meson.build" + (("pam_wrapper_dep .*") "") + ((".*'(cairo|dbus|dbusmock|gi|pypamtest)': .*,.*") "")) + #t)) + (add-before 'install 'no-polkit-magic + ;; Meson ‘magically’ invokes pkexec, which fails (not setuid). + (lambda _ + (setenv "PKEXEC_UID" "something") + #t))) + #:tests? #f)) ; XXX depend on unpackaged packages (native-inputs - `(("pkg-config" ,pkg-config) - ("intltool" ,intltool))) + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") ; for glib-genmarshal + ("libxslt" ,libxslt) ; for xsltproc + ("perl" ,perl) ; for pod2man + ("pkg-config" ,pkg-config))) + ;; For tests. + ;;("pam_wrapper" ,pam_wrapper) + ;;("python-pycairo" ,python-pycairo) + ;;("python-dbus" ,python-dbus) + ;;("python-dbusmock" ,python-dbusmock) + ;;("python-pygobject" ,python-pygobject) + ;;("python-pypamtest" ,python-pypamtest) (inputs - `(("libfprint" ,libfprint) - ("dbus-glib" ,dbus-glib) + `(("dbus-glib" ,dbus-glib) + ("elogind" ,elogind) + ("libfprint" ,libfprint) + ("linux-pam" ,linux-pam) ("polkit" ,polkit) - ("linux-pam" ,linux-pam))) ;for pam_fprintd - (home-page "https://www.freedesktop.org/wiki/Software/fprint/fprintd/") + + ;; XXX These are in libfprint's Requires.private. Meson refuses to grant + ;; the ‘libfprint-2’ dependency if they are not provided here. + ("gusb" ,gusb) + ("nss" ,nss) + ("pixman" ,pixman))) + (home-page "https://fprint.freedesktop.org/") (synopsis "D-Bus daemon that exposes fingerprint reader functionality") (description "fprintd is a D-Bus daemon that offers functionality of libfprint, a diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index f7e0bcfd92..ca046f5bab 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -19,6 +19,7 @@ ;;; Copyright © 2019 Jethro Cao <jethrocao@gmail.com> ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si> +;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -88,6 +89,7 @@ #:use-module (gnu packages sphinx) #:use-module (gnu packages stb) #:use-module (gnu packages texinfo) + #:use-module (gnu packages textutils) #:use-module (gnu packages tls) #:use-module (gnu packages video) #:use-module (gnu packages web) @@ -585,6 +587,34 @@ sounds from presets such as \"explosion\" or \"powerup\".") (home-page "http://www.drpetter.se/project_sfxr.html") (license license:expat))) +(define-public surgescript + (package + (name "surgescript") + (version "0.5.4.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alemart/surgescript.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "13q81439zg1bn7gskligskjgcfq0rdapp6f3llmrlk48vnyq49s0")))) + (build-system cmake-build-system) + (arguments + '(#:configure-flags + (let ((share (string-append (assoc-ref %outputs "out") "/share"))) + (list (string-append "-DICON_PATH=" share "/pixmaps") + (string-append "-DMETAINFO_PATH=" share "/metainfo"))) + #:tests? #f)) + (home-page "https://docs.opensurge2d.org") + (synopsis "Scripting language for games") + (description "@code{SurgeScript} is a dynamically typed object-oriented +scripting language designed for games. Each object is a state machine that +can be customized by attaching other objects. The language supports automatic +garbage collection and can be extended with plugins.") + (license license:asl2.0))) + (define-public physfs (package (name "physfs") @@ -2016,14 +2046,14 @@ a.k.a. XenoCollide) as described in Game Programming Gems 7.") (define-public ode (package (name "ode") - (version "0.16") + (version "0.16.1") (source (origin (method url-fetch) (uri (string-append "https://bitbucket.org/odedevs/ode/downloads/" "ode-" version ".tar.gz")) (sha256 - (base32 "09xzrarxwxcf6rdv5jsjfjh454jnn29dpcw3wh6ic50kkipvg8sb")) + (base32 "1flfdqgdbcn1bx8nrrd4qnp6cvsxrhvk8cdg7vaq2dzkh6nsqa5j")) (modules '((guix build utils))) (snippet '(begin @@ -2031,7 +2061,8 @@ a.k.a. XenoCollide) as described in Game Programming Gems 7.") #t)))) (build-system cmake-build-system) (arguments - ;; Tests fail on all systems but x86_64. + ;; Tests fail on all systems but x86_64. This is fixed upstream and can + ;; be removed in 0.16.2+. `(#:tests? ,(string-prefix? "x86_64-" (or (%current-target-system) (%current-system))) @@ -2086,3 +2117,75 @@ computer games, 3D authoring tools and simulation tools.") (description "Chipmunk is a simple, lightweight, fast and portable 2D rigid body physics library written in C.") (license license:expat))) + +(define-public libtcod + (package + (name "libtcod") + (version "1.15.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/libtcod/libtcod.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0pzr8ajmbqvh43ldjajx962xirj3rf8ayh344p6mqlrmb8gxrfr5")) + (modules '((guix build utils))) + (snippet '(begin + (delete-file-recursively "src/vendor/utf8proc") + (delete-file-recursively "src/vendor/zlib") + (delete-file "src/vendor/stb_truetype.h") + (delete-file "src/vendor/stb_sprintf.h") + (delete-file "src/vendor/lodepng.cpp") + (delete-file "src/vendor/lodepng.h") + + (substitute* "buildsys/autotools/sources.am" + (("\\.\\./\\.\\./src/vendor/lodepng\\.cpp \\\\\n") "") + (("\\.\\./\\.\\./src/vendor/stb\\.c \\\\") + "../../src/vendor/stb.c") + (("\\.\\./\\.\\./src/vendor/utf8proc/utf8proc\\.c") "")) + + (substitute* "src/libtcod/sys_sdl_img_png.cpp" + (("\\.\\./vendor/") "")) + + (substitute* '("src/libtcod/color/canvas.cpp" + "src/libtcod/sys_sdl_img_png.cpp" + "src/libtcod/tileset/truetype.cpp" + "src/libtcod/tileset/tilesheet.cpp") + (("\\.\\./\\.\\./vendor/") "")) + + (substitute* "src/libtcod/console/printing.cpp" + (("\\.\\./\\.\\./vendor/utf8proc/") "")) + #t)))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags '("--with-gnu-ld" + "LIBS=-lutf8proc -llodepng") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'change-to-build-dir + (lambda _ + (chdir "buildsys/autotools") + (patch-shebang "get_version.py") + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("python" ,python) + ("pkg-config" ,pkg-config) + ("stb-sprintf" ,stb-sprintf) + ("stb-truetype" ,stb-truetype))) + (inputs + `(("lodepng" ,lodepng) + ("sdl2" ,sdl2) + ("utf8proc" ,utf8proc) + ("zlib" ,zlib))) + (home-page "https://github.com/libtcod/libtcod") + (synopsis "Library specifically designed for writing roguelikes") + (description + "libtcod is a fast, portable and uncomplicated API for roguelike +developers providing an advanced true color console, input, and lots of other +utilities frequently used in roguelikes.") + (license license:bsd-3))) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 5427cd1fc7..d6fba8d44a 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -798,7 +798,7 @@ automata. The following features are available: (define-public julius (package (name "julius") - (version "1.2.0") + (version "1.3.0") (source (origin (method git-fetch) @@ -807,7 +807,7 @@ automata. The following features are available: (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0kgyzfjii4dhpy2h05977alwdmxyxb4jxznnrhlgb21m0ybncmvp")))) + (base32 "1ws5lmwdhla73676fj0w26v859n47s0wyxa0mgd0dmkx0x91qriy")))) (build-system cmake-build-system) (inputs `(("sdl2" ,sdl2) @@ -856,6 +856,74 @@ and much more stand between you and the exit. Record your moves and let your shadow mimic them to reach blocks you couldn't reach alone.") (license license:gpl3+))) +(define-public opensurge + (package + (name "opensurge") + (version "0.5.1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alemart/opensurge.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ih7hlqjnp9rv0m4lqf7c0s1ai532way5i4pk45jq1gqm8325dbv")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ;there are no tests + #:configure-flags + (let* ((out (assoc-ref %outputs "out")) + (share (string-append out "/share"))) + (list (string-append "-DCMAKE_INSTALL_PREFIX=" out "/bin") + (string-append "-DGAME_DATADIR=" share "/" ,name) + (string-append "-DDESKTOP_ENTRY_PATH=" share "/applications") + (string-append "-DDESKTOP_ICON_PATH=" share "/pixmaps") + (string-append "-DDESKTOP_METAINFO_PATH=" share "/metainfo"))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-xdg-open-path + (lambda* (#:key inputs #:allow-other-keys) + ;; Look for xdg-open in the store. + (substitute* "src/core/web.c" + (("/usr(/bin/xdg-open)" _ bin) + (string-append (assoc-ref inputs "xdg-utils") bin))) + #t)) + (add-after 'unpack 'unbundle-fonts + (lambda* (#:key inputs #:allow-other-keys) + ;; Replace bundled Roboto fonts with links to the store. + (with-directory-excursion "fonts" + (let ((roboto-dir (string-append + (assoc-ref inputs "font-google-roboto") + "/share/fonts/truetype/"))) + (for-each + (lambda (font) + (delete-file font) + (symlink (string-append roboto-dir font) font)) + '("Roboto-Black.ttf" "Roboto-Bold.ttf" "Roboto-Medium.ttf"))) + #t)))))) + (inputs + `(("allegro" ,allegro) + ("font-google-roboto" ,font-google-roboto) + ("surgescript" ,surgescript) + ("xdg-utils" ,xdg-utils))) + (home-page "https://opensurge2d.org") + (synopsis "2D retro side-scrolling game") + (description "@code{Open Surge} is a 2D retro side-scrolling platformer +inspired by the Sonic games. The player runs at high speeds through each +level while collecting items and avoiding obstacles. The game includes a +built-in level editor.") + (license + ;; Code is under GPL 3+, assets are under various licenses. + ;; See src/misc/credits.c for details. + (list license:gpl3+ + license:cc0 + license:cc-by3.0 + license:cc-by-sa3.0 + license:expat + license:public-domain + license:silofl1.1)))) + (define-public knights (package (name "knights") @@ -1050,7 +1118,7 @@ watch your CPU playing while enjoying a cup of tea!") (define-public nethack (package (name "nethack") - (version "3.6.4") + (version "3.6.5") (source (origin (method url-fetch) @@ -1058,7 +1126,7 @@ watch your CPU playing while enjoying a cup of tea!") (string-append "https://www.nethack.org/download/" version "/nethack-" (string-join (string-split version #\.) "") "-src.tgz")) (sha256 - (base32 "0ndxgnsprwgjnk0qb24iljkpijnfncgvfb3h3zb129h3cs2anc85")))) + (base32 "0xifs8pqfffnmkbpmrcd1xf14yakcj06nl2bbhy4dyacg8myysmv")))) (inputs `(("ncurses" ,ncurses) ("bison" ,bison) @@ -1320,7 +1388,7 @@ utilizing the art assets from the @code{SuperTux} project.") (define-public roguebox-adventures (package (name "roguebox-adventures") - (version "2.2.1") + (version "3.0.1") (source (origin (method url-fetch) @@ -1330,7 +1398,7 @@ utilizing the art assets from the @code{SuperTux} project.") (file-name (string-append name "-" version ".zip")) (sha256 (base32 - "0kmzdgnik8fsf3bg55546l77p3mfxn2awkzfzzdn20n82rd2babw")))) + "05zd03s5w9kcpklfgcggbaa6rwf59nm0q9vcj6gh9v2lh402k067")))) (build-system python-build-system) (arguments `(#:tests? #f ; no check target @@ -1356,6 +1424,9 @@ utilizing the art assets from the @code{SuperTux} project.") (string-append "'" data "'")) (("^basic_path.*$") (string-append "basic_path ='" data "'\n"))) + (substitute* "LIB/dialog.py" + (("d_path = os\\.path\\.dirname\\(.*\\)\\)") + (string-append "d_path = '" data "'"))) (substitute* "LIB/gra_files.py" (("basic_path = b_path\\.replace\\('/LIB',''\\)") (string-append "basic_path ='" data "'\n"))) @@ -2582,7 +2653,7 @@ falling, themeable graphics and sounds, and replays.") (define-public wesnoth (package (name "wesnoth") - (version "1.14.9") + (version "1.14.11") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/wesnoth/wesnoth-" @@ -2591,7 +2662,7 @@ falling, themeable graphics and sounds, and replays.") "wesnoth-" version ".tar.bz2")) (sha256 (base32 - "1mhdrlflxxyknf54lwdbvs7fazlc1scf7z6vxxa3j746fks533ga")))) + "1i8mz6gw3qar09bscczhki0g4scj8pl58v85rp0g55r4bcq41l5v")))) (build-system cmake-build-system) (arguments `(#:tests? #f ;no check target @@ -3535,7 +3606,7 @@ fullscreen, use F5 or Alt+Enter.") ("qtscript" ,qtscript) ("openssl" ,openssl) ("sdl2" ,sdl2))) - (home-page "http://wz2100.net") + (home-page "https://wz2100.net") (synopsis "3D Real-time strategy and real-time tactics game") (description "Warzone 2100 offers campaign, multi-player, and single-player skirmish @@ -4020,7 +4091,7 @@ colors, pictures, and sounds.") (inputs `(("bash" ,bash) ("love" ,love))) - (home-page "http://tangramgames.dk/games/mrrescue") + (home-page "https://tangramgames.dk/games/mrrescue") (synopsis "Arcade-style fire fighting game") (description "Mr. Rescue is an arcade styled 2d action game centered around evacuating @@ -4190,7 +4261,7 @@ for Un*x systems with X11.") (define-public freeciv (package (name "freeciv") - (version "2.6.1") + (version "2.6.2") (source (origin (method url-fetch) @@ -4202,7 +4273,7 @@ for Un*x systems with X11.") (version-major+minor version) "/" version "/freeciv-" version ".tar.bz2"))) (sha256 - (base32 "1qmrhrwm0ryvsh1zsxcxj128lhyvaxap7k39sam3hh8rl0fq9rnc")))) + (base32 "13vc2xg1cf19rhbnr7k38b56b2hdapqymq5vma1l69kn7hyyz0b1")))) (build-system gnu-build-system) (inputs `(("curl" ,curl) @@ -4723,10 +4794,10 @@ with the mouse isn’t always trivial.") (synopsis "Abstract puzzle game") (description "Chroma is an abstract puzzle game. A variety of colourful shapes are arranged in a series of increasingly complex patterns, forming - fiendish traps that must be disarmed and mysterious puzzles that must be - manipulated in order to give up their subtle secrets. Initially so - straightforward that anyone can pick it up and begin to play, yet gradually - becoming difficult enough to tax even the brightest of minds.") +fiendish traps that must be disarmed and mysterious puzzles that must be +manipulated in order to give up their subtle secrets. Initially so +straightforward that anyone can pick it up and begin to play, yet gradually +becoming difficult enough to tax even the brightest of minds.") (license license:gpl2+))) (define-public fillets-ng @@ -5207,7 +5278,7 @@ Crowther & Woods, its original authors, in 1995. It has been known as (define-public tome4 (package (name "tome4") - (version "1.6.6") + (version "1.6.7") (synopsis "Single-player, RPG roguelike game set in the world of Eyal") (source (origin @@ -5215,8 +5286,7 @@ Crowther & Woods, its original authors, in 1995. It has been known as (uri (string-append "https://te4.org/dl/t-engine/t-engine4-src-" version ".tar.bz2")) (sha256 - (base32 - "1amx0y49scy9hq71wjvkdzvgclwa2g54vkv4bf40mxyp4pl0bq7m")) + (base32 "0283hvms5hr29zr0grd6gq059k0hg8hcz3fsmwjmysiih8790i68")) (modules '((guix build utils))) (snippet '(begin @@ -5865,7 +5935,7 @@ affect gameplay).") (package (inherit chocolate-doom) (name "crispy-doom") - (version "5.6.4") + (version "5.7.1") (source (origin (method git-fetch) (uri (git-reference @@ -5873,7 +5943,7 @@ affect gameplay).") (commit (string-append "crispy-doom-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1ls4v2kpb7vi7xji5yqbmyc5lfkz497h1vvj9w86wkrw8k59hlg2")))) + (base32 "1gqivy4pxasy7phyznixsagylf9f70bk33b0knpfzzlks6cc6zzj")))) (native-inputs (append (package-native-inputs chocolate-doom) @@ -8136,23 +8206,15 @@ win.") (define-public freeorion (package (name "freeorion") - (version "0.4.8") + (version "0.4.9") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/freeorion/freeorion.git") - ;; Most recent stable release uses boost_signals (v1) which was - ;; later replaced with boost-signals2 and no longer exists. This - ;; commit builds and runs. - ;; - ;; TODO: Update this when the next stable release when it is - ;; available. - (commit "470d0711537804df3c2ca25532f674ab4bec58af"))) - (file-name (git-file-name name version)) + (method url-fetch) + (uri (string-append "https://github.com/freeorion/freeorion/releases/" + "download/v" version "/FreeOrion_v" version + "_2020-02-02.db53471_Source.tar.gz")) (sha256 - (base32 - "1wsw632l1cj17px6i88nqjzs0dngp5rsr67n6qkkjlfjfxi69j0f")) + (base32 "1qfnqkysagh8dw26plk229qh17mv4prjxs6qhfyczrmrrakb72an")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index f9d8b3e150..6f2883042d 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2016, 2017, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2020 Marius Bakke <mbakke@fastmail.com> @@ -505,14 +505,14 @@ It also includes runtime support libraries for these languages."))) (define-public gcc-8 (package (inherit gcc-7) - (version "8.3.0") + (version "8.4.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gcc/gcc-" version "/gcc-" version ".tar.xz")) (sha256 (base32 - "0b3xv411xhlnjmin2979nxcbnidgvzqdf4nbhix99x60dkzavfk4")) + "1m1d3gfix56w4aq8myazzfffkl8bqcrx4jhhapnjf7qfs596w2p3")) (patches (search-patches "gcc-8-strmov-store-file-names.patch" "gcc-8-libsanitizer-mode-size.patch" "gcc-5.0-libvtv-runpath.patch")))))) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 5f9037a89f..93b2e66714 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -393,7 +393,7 @@ functionality of proj in their own software.") #t))))) (inputs `(("glib" ,glib))) - (home-page "http://proj4.org/") + (home-page "https://proj.org/") (synopsis "Cartographic Projections Library") (description "Proj.4 is a library for converting coordinates between cartographic @@ -443,7 +443,7 @@ projections.") (list "CC=gcc" (string-append "PREFIX=" %output) (string-append "CUSTOM_LDFLAGS=-Wl,-rpath=" %output "/lib")))) - (home-page "http://mapnik.org/") + (home-page "https://mapnik.org/") (synopsis "Toolkit for developing mapping applications") (description "Mapnik is a toolkit for developing mapping applications. It is basically a collection of geographic objects like maps, layers, @@ -1092,7 +1092,7 @@ persisted. (define-public java-jmapviewer (package (name "java-jmapviewer") - (version "2.12") + (version "2.13") (source (origin (method url-fetch) (uri (string-append "https://svn.openstreetmap.org/applications/" @@ -1100,7 +1100,7 @@ persisted. "/JMapViewer-" version "-Source.zip")) (sha256 (base32 - "08hbqsbs859v4m5d90560fdifavd1apnpz9v9iry1v31dsvy5707")))) + "0sy6r5fkbb9bclw0is6gwnbzz627m7pjfnsqydxz58pbndakkhrv")))) (build-system ant-build-system) (native-inputs `(("unzip" ,unzip))) @@ -1127,7 +1127,7 @@ an independent project by the JOSM team.") (define-public josm (package (name "josm") - (version "15553") + (version "15937") (source (origin (method svn-fetch) (uri (svn-reference @@ -1136,7 +1136,7 @@ an independent project by the JOSM team.") (recursive? #f))) (sha256 (base32 - "091pbcn4fnmk42fmxplhis3nw5dbljf6ws8acyhx5dflyn49xzmx")) + "00b8sw0wgkcf7xknmdpn5s521ax8x2660figidcrry37sgq3x946")) (file-name (string-append name "-" version "-checkout")) (modules '((guix build utils))) (snippet diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index e610fe1dd7..b0e0a43761 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -268,7 +268,7 @@ also known as DXTn or DXTC) for Mesa.") ("libxvmc" ,libxvmc) ,@(match (%current-system) ((or "x86_64-linux" "i686-linux") - `(("llvm" ,llvm))) + `(("llvm" ,llvm-8))) (_ `())) ("makedepend" ,makedepend) @@ -453,7 +453,7 @@ from software emulation to complete hardware acceleration for modern GPUs.") `(("libclc" ,libclc) ,@(package-inputs mesa))) (native-inputs - `(("clang" ,clang) + `(("clang" ,clang-8) ,@(package-native-inputs mesa))))) (define-public mesa-opencl-icd diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index d25959b928..b430a4fa36 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -683,7 +683,7 @@ useful for C++.") (arguments `(#:tests? #f ;segfaults during tests #:configure-flags '("LIBS=-lcairo-gobject"))) - (home-page "https://pypi.python.org/pypi/PyGObject") + (home-page "https://pypi.org/project/PyGObject/") (synopsis "Python bindings for GObject") (description "Python bindings for GLib, GObject, and GIO.") @@ -894,16 +894,15 @@ programming language. It also contains the utility (define-public appstream-glib (package (name "appstream-glib") - (version "0.7.16") + (version "0.7.17") (source (origin (method url-fetch) (uri (string-append "https://people.freedesktop.org/~hughsient/" "appstream-glib/releases/" "appstream-glib-" version ".tar.xz")) - (patches (search-patches "appstream-glib-2020.patch")) (sha256 (base32 - "14jr1psx5kxywdprgbqn79w309yz8lrqlsq7288hfrf87gbr1wh4")))) + "0jg58m1p5xfrh8zkpqhhg00nqs727z5i1qy6sb0a3vyc98fyk9vw")))) (build-system meson-build-system) (native-inputs `(("gettext" ,gettext-minimal) diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm index 7f375fefc5..b8cd32db08 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -2,6 +2,8 @@ ;;; Copyright © 2019 Leo Prikler <leo.prikler@student.tugraz.at> ;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org> ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org> +;;; Copyright © 2020 Alex Griffin <a@ajgrf.com> +;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,15 +23,21 @@ (define-module (gnu packages gnome-xyz) #:use-module (guix build-system trivial) #:use-module (guix build-system gnu) + #:use-module (guix build-system copy) + #:use-module (guix build-system meson) #:use-module (guix git-download) #:use-module (guix packages) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages base) #:use-module (gnu packages bash) + #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages ssh) + #:use-module (gnu packages tls) #:use-module (gnu packages ruby) #:use-module (gnu packages xml)) @@ -82,7 +90,7 @@ like Gnome, Unity, Budgie, Pantheon, XFCE, Mate and others.") (define-public delft-icon-theme (package (name "delft-icon-theme") - (version "1.10") + (version "1.11") (source (origin (method git-fetch) @@ -91,21 +99,19 @@ like Gnome, Unity, Budgie, Pantheon, XFCE, Mate and others.") (commit (string-append "v" version)))) (sha256 (base32 - "0vw3yw9f9ygzfd2k3zrfih3r0vkzlhk1bmsk8sapvk7np24i1z9s")) + "1m3r4i4m3y3xsjb5f4bik0ylmi64amkfyr0y8pjbvv6gyj492mi6")) (file-name (git-file-name name version)))) - (build-system trivial-build-system) + (build-system copy-build-system) (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (copy-recursively (assoc-ref %build-inputs "source") "icons") - (substitute* "icons/Delft/index.theme" - (("gnome") "Adwaita")) - (delete-file "icons/README.md") - (delete-file "icons/LICENSE") - (delete-file "icons/logo.jpg") - (copy-recursively "icons" (string-append %output "/share/icons"))))) + `(#:install-plan + `(("." "share/icons" #:exclude ("README.md" "LICENSE" "logo.jpg"))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-index.theme + (lambda _ + (substitute* "Delft/index.theme" + (("gnome") "Adwaita")) + #t))))) (home-page "https://www.gnome-look.org/p/1199881/") (synopsis "Continuation of Faenza icon theme with up to date app icons") (description "Delft is a fork of the popular icon theme Faenza with up to @@ -128,19 +134,11 @@ the Obsidian icon theme.") (base32 "1fjhx23jqwv3d0smwhnjvc35gqhwk9p5f96ic22pfax653cn5vh8")) (file-name (git-file-name name version)))) - (build-system trivial-build-system) + (build-system copy-build-system) (arguments - '(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let* ((source (assoc-ref %build-inputs "source")) - (install-dir (string-append (assoc-ref %outputs "out") - "/share/gnome-shell/extensions" - "/appindicatorsupport@rgcjonas.gmail.com"))) - (mkdir-p install-dir) - (copy-recursively source install-dir) - #t)))) + `(#:install-plan + '(("." ,(string-append "share/gnome-shell/extensions/" + "appindicatorsupport@rgcjonas.gmail.com"))))) (synopsis "Adds KStatusNotifierItem support to GNOME Shell") (description "This extension integrates Ubuntu AppIndicators and KStatusNotifierItems (KDE's successor of the systray) into @@ -185,6 +183,100 @@ faster window switching.") (home-page "https://micheleg.github.io/dash-to-dock/") (license license:gpl2+))) +(define-public gnome-shell-extension-gsconnect + (package + (name "gnome-shell-extension-gsconnect") + ;; v28 is the last version to support GNOME 3.32 + (version "28") + (source (origin + (method git-fetch) + (uri (git-reference + (url (string-append "https://github.com/andyholmes" + "/gnome-shell-extension-gsconnect.git")) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0grqkzqm7mlkbzin4nx9w7bh5cgygph8pn0cvim4a4gg99nfcp5z")))) + (build-system meson-build-system) + (arguments + `(#:configure-flags + (let* ((out (assoc-ref %outputs "out")) + (name+version (strip-store-file-name out)) + (gschema-dir (string-append out + "/share/gsettings-schemas/" + name+version + "/glib-2.0/schemas")) + (gnome-shell (assoc-ref %build-inputs "gnome-shell")) + (openssh (assoc-ref %build-inputs "openssh")) + (openssl (assoc-ref %build-inputs "openssl"))) + (list + (string-append "-Dgnome_shell_libdir=" gnome-shell "/lib") + (string-append "-Dgsettings_schemadir=" gschema-dir) + (string-append "-Dopenssl_path=" openssl "/bin/openssl") + (string-append "-Dsshadd_path=" openssh "/bin/ssh-add") + (string-append "-Dsshkeygen_path=" openssh "/bin/ssh-keygen") + (string-append "-Dsession_bus_services_dir=" out "/share/dbus-1/services") + "-Dpost_install=true")) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (let* ((glib (assoc-ref inputs "glib:bin")) + (gapplication (string-append glib "/bin/gapplication")) + (gi-typelib-path (getenv "GI_TYPELIB_PATH"))) + (substitute* "data/org.gnome.Shell.Extensions.GSConnect.desktop" + (("gapplication") gapplication)) + (for-each + (lambda (file) + (substitute* file + (("'use strict';") + (string-append "'use strict';\n\n" + "'" gi-typelib-path "'.split(':').forEach(" + "path => imports.gi.GIRepository.Repository." + "prepend_search_path(path));")))) + '("src/extension.js" "src/prefs.js")) + #t))) + (add-after 'install 'wrap-daemons + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (service-dir + (string-append out "/share/gnome-shell/extensions" + "/gsconnect@andyholmes.github.io/service")) + (gi-typelib-path (getenv "GI_TYPELIB_PATH"))) + (wrap-program (string-append service-dir "/daemon.js") + `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))) + #t)))))) + (inputs + `(("at-spi2-core" ,at-spi2-core) + ("caribou" ,caribou) + ("evolution-data-server" ,evolution-data-server) + ("folks" ,folks) + ("gjs" ,gjs) + ("glib" ,glib) + ("glib:bin" ,glib "bin") + ("gsound" ,gsound) + ("gnome-shell" ,gnome-shell) + ("gtk+" ,gtk+) + ("nautilus" ,nautilus) + ("openssh" ,openssh) + ("openssl" ,openssl) + ("python-nautilus" ,python-nautilus) + ("python-pygobject" ,python-pygobject) + ("upower" ,upower))) + (native-inputs + `(("gettext" ,gettext-minimal) + ("gobject-introspection" ,gobject-introspection) + ("libxml2" ,libxml2) + ("pkg-config" ,pkg-config))) + (home-page "https://github.com/andyholmes/gnome-shell-extension-gsconnect/wiki") + (synopsis "Connect GNOME Shell with your Android phone") + (description "GSConnect is a complete implementation of KDE Connect +especially for GNOME Shell, allowing devices to securely share content, like +notifications or files, and other features like SMS messaging and remote +control.") + (license license:gpl2))) + (define-public gnome-shell-extension-hide-app-icon (let ((commit "4188aa5f4ba24901a053a0c3eb0d83baa8625eab") (revision "0")) @@ -286,24 +378,53 @@ into a single panel, similar to that found in KDE Plasma and Windows 7+.") (base32 "0fa8l3xlh8kbq07y4385wpb908zm6x53z81q16xlmin97dln32hh")) (file-name (git-file-name name version)))) - (build-system trivial-build-system) + (build-system copy-build-system) (arguments - '(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let ((dst (string-append - (assoc-ref %outputs "out") - "/share/gnome-shell/extensions/" - "noannoyance@daase.net"))) - (mkdir-p dst) - (copy-recursively (assoc-ref %build-inputs "source") dst))))) - (synopsis "Removes 'Window is ready' annotation") - (description "One of the many extensions, that remove this message. + '(#:install-plan + '(("." "share/gnome-shell/extensions/noannoyance@daase.net")))) + (synopsis "Remove 'Window is ready' annotation") + (description "One of the many extensions that remove this message. It uses ES6 syntax and claims to be more actively maintained than others.") (home-page "https://extensions.gnome.org/extension/2182/noannoyance/") (license license:gpl2))) +(define-public gnome-shell-extension-paperwm + (package + (name "gnome-shell-extension-paperwm") + (version "34.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/paperwm/PaperWM.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1qry75f696pgmd9yzqvwhq5h6cipin2fvk7h881g29cjcpxim37a")) + (snippet + '(begin (delete-file "schemas/gschemas.compiled"))))) + (build-system copy-build-system) + (arguments + '(#:install-plan + '(("." "share/gnome-shell/extensions/paperwm@hedning:matrix.org" + #:include-regexp ("\\.js(on)?$" "\\.css$" "\\.ui$" "\\.png$" + "\\.xml$" "\\.compiled$"))) + #:phases + (modify-phases %standard-phases + (add-before 'install 'compile-schemas + (lambda _ + (with-directory-excursion "schemas" + (invoke "make")) + #t))))) + (native-inputs + `(("glib:bin" ,glib "bin"))) ; for glib-compile-schemas + (home-page "https://github.com/paperwm/PaperWM") + (synopsis "Tiled scrollable window management for GNOME Shell") + (description "PaperWM is an experimental GNOME Shell extension providing +scrollable tiling of windows and per monitor workspaces. It's inspired by paper +notebooks and tiling window managers.") + (license license:gpl3))) + (define-public numix-theme (package (name "numix-theme") diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index d9a5e6fe5b..c77a17cff5 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2057,6 +2057,7 @@ dealing with different structured file formats.") (define-public librsvg (package + (replacement librsvg/fixed) (name "librsvg") (version "2.40.20") (source (origin @@ -2123,6 +2124,20 @@ dealing with different structured file formats.") library.") (license license:lgpl2.0+))) +(define librsvg/fixed + (package + (inherit librsvg) + (name "librsvg") + (version "2.40.21") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1fljkag2gr7c4k5mn798lgf9903xslz8h51bgvl89nnay42qjqpp")))))) + (define* (computed-origin-method gexp-promise hash-algo hash #:optional (name "source") #:key (system (%current-system)) @@ -2137,7 +2152,7 @@ from forcing GEXP-PROMISE." #:guile-for-build guile))) (define librsvg-next-source - (let* ((version "2.46.3") + (let* ((version "2.46.4") (upstream-source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/librsvg/" @@ -2145,7 +2160,7 @@ from forcing GEXP-PROMISE." "librsvg-" version ".tar.xz")) (sha256 (base32 - "1s3a96i7f4pynjwxxvhysp4b6r7kyi8nasdxfyi62hc7gm34d3kn"))))) + "0afc82nsxc6kw136xid4vcq9kmq4rmgzzk8bh2pvln2cnvirwnxl"))))) (origin (method computed-origin-method) (file-name (string-append "librsvg-" version ".tar.xz")) @@ -2166,7 +2181,15 @@ from forcing GEXP-PROMISE." ;; The following crate(s) are needed in addition to the ones replaced: (begin (invoke - "tar" "xvf" #+(package-source rust-autocfg-0.1) "-C" "vendor")) + "tar" "xvf" #+(package-source rust-autocfg-0.1) "-C" "vendor") + (invoke + "tar" "xvf" #+(package-source rust-proc-macro2-0.4) "-C" "vendor") + (invoke + "tar" "xvf" #+(package-source rust-quote-0.6) "-C" "vendor") + (invoke + "tar" "xvf" #+(package-source rust-unicode-xid-0.1) "-C" "vendor") + (invoke + "tar" "xvf" #+(package-source rust-maybe-uninit-2.0) "-C" "vendor")) (for-each (lambda (crate) (delete-file-recursively (string-append "vendor/" (car crate))) @@ -2217,10 +2240,10 @@ from forcing GEXP-PROMISE." ;; gdk-pixbuf-sys 0.9 ("generic-array" . #+(package-source rust-generic-array-0.12)) ;; gio 0.7 -;; gio-sys 0.9 + ("gio-sys" . #+(package-source rust-gio-sys-0.9)) ;; glib 0.8 -;; glib-sys 0.9 -;; gobject-sys 0.9 + ("glib-sys" . #+(package-source rust-glib-sys-0.9)) + ("gobject-sys" . #+(package-source rust-gobject-sys-0.9)) ("idna" . #+(package-source rust-idna-0.2)) ("itertools" . #+(package-source rust-itertools-0.8)) ("itoa" . #+(package-source rust-itoa-0.4)) @@ -2228,10 +2251,10 @@ from forcing GEXP-PROMISE." ("lazy_static" . #+(package-source rust-lazy-static-1)) ("libc" . #+(package-source rust-libc-0.2)) ("libm" . #+(package-source rust-libm-0.1)) -;; locale_config 0.3 + ("locale_config" . #+(package-source rust-locale-config-0.3)) ("log" . #+(package-source rust-log-0.4)) ("mac" . #+(package-source rust-mac-0.1)) -;; malloc_buf 0.0 + ("malloc_buf" . #+(package-source rust-malloc-buf-0.0)) ;; markup5ever 0.9 ("matches" . #+(package-source rust-matches-0.1)) ;; matrixmultiply 0.2 @@ -2242,12 +2265,12 @@ from forcing GEXP-PROMISE." ("nodrop" . #+(package-source rust-nodrop-0.1)) ("num-complex" . #+(package-source rust-num-complex-0.2)) ("num-integer" . #+(package-source rust-num-integer-0.1)) -;; num-rational 0.2 + ("num-rational" . #+(package-source rust-num-rational-0.2)) ("num-traits" . #+(package-source rust-num-traits-0.2)) ("num_cpus" . #+(package-source rust-num-cpus-1.10)) -;; objc 0.2 -;; objc-foundation 0.1 -;; objc_id 0.1 + ("objc" . #+(package-source rust-objc-0.2)) + ("objc-foundation" . #+(package-source rust-objc-foundation-0.1)) + ("objc_id" . #+(package-source rust-objc-id-0.1)) ;; pango 0.7 ;; pango-sys 0.9 ;; pangocairo 0.8 @@ -2293,7 +2316,7 @@ from forcing GEXP-PROMISE." ("siphasher" . #+(package-source rust-siphasher-0.2)) ("smallvec" . #+(package-source rust-smallvec-0.6)) ("string_cache" . #+(package-source rust-string-cache-0.7)) - ;("string_cache_codegen" . #+(package-source rust-string-cache-codegen-0.4)) + ("string_cache_codegen" . #+(package-source rust-string-cache-codegen-0.4)) ("string_cache_shared" . #+(package-source rust-string-cache-shared-0.3)) ("syn" . #+(package-source rust-syn-1.0)) ("tendril" . #+(package-source rust-tendril-0.4)) @@ -2312,8 +2335,7 @@ from forcing GEXP-PROMISE." ("winapi-i686-pc-windows-gnu" . #+(package-source rust-winapi-i686-pc-windows-gnu-0.4)) ("winapi-util" . #+(package-source rust-winapi-util-0.1)) ("winapi-x86_64-pc-windows-gnu" . #+(package-source rust-winapi-x86-64-pc-windows-gnu-0.4)) -;; xml-rs 0.8 - ))) + ("xml-rs" . #+(package-source rust-xml-rs-0.8))))) (format #t "Replacing vendored crates in the tarball and repacking ...~%") (force-output) (invoke "tar" "cfa" #$output @@ -2332,7 +2354,7 @@ from forcing GEXP-PROMISE." (define-public librsvg-next (package (name "librsvg") - (version "2.46.3") + (version "2.46.4") (source librsvg-next-source) (build-system gnu-build-system) (arguments @@ -2348,6 +2370,8 @@ from forcing GEXP-PROMISE." (use-modules (guix build cargo-utils)) (substitute* "librsvg/Cargo.toml" (("bitflags .*") "bitflags = \"1\"\n")) ; 1.2 is vendored + (substitute* "rsvg_internals/Cargo.toml" + (("\"=") "\"")) (generate-all-checksums "vendor") (delete-file "Cargo.lock") (invoke "cargo" "generate-lockfile"))) @@ -3629,7 +3653,7 @@ libxml to ease remote use of the RESTful API.") (define-public libsoup (package (name "libsoup") - (version "2.68.3") + (version "2.68.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libsoup/" @@ -3637,7 +3661,7 @@ libxml to ease remote use of the RESTful API.") "libsoup-" version ".tar.xz")) (sha256 (base32 - "1yxs0ax4rq3g0lgkbv7mz497rqj16iyyizddyc13gzxh6n7b0jsk")))) + "151j5dc84gbl6a917pxvd0b372lw5za48n63lyv6llfc48lv2l1d")))) (build-system meson-build-system) (outputs '("out" "doc")) (arguments @@ -4385,7 +4409,7 @@ which are easy to play with the aid of a mouse.") (define-public amtk (package (name "amtk") - (version "5.0.1") + (version "5.0.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/amtk/" @@ -4393,7 +4417,7 @@ which are easy to play with the aid of a mouse.") "amtk-" version ".tar.xz")) (sha256 (base32 - "09yy95w1s83c43mh9vha1jbb780yighf5pd2j0ygjmc68sjg871d")))) + "11jgz2i9wjzv4alrxl1qyxiapb52w7vs5ygfgsw0qgdap8gqkk3i")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--enable-gtk-doc"))) @@ -5312,7 +5336,7 @@ USB transfers with your high-level application or system daemon.") (define-public simple-scan (package (name "simple-scan") - (version "3.34.2") + (version "3.34.4") (source (origin (method url-fetch) @@ -5320,7 +5344,7 @@ USB transfers with your high-level application or system daemon.") (version-major+minor version) "/" "simple-scan-" version ".tar.xz")) (sha256 - (base32 "1fk3g4f9slckqfwm576jrjq1d1qihw0dlgzdf00ns7qbhzb0kxsp")))) + (base32 "0xvy672zyl6jsdlnxma8nc2aqsx9k92jhp6wfxs0msj9ppp1nd3z")))) (build-system meson-build-system) ;; TODO: Fix icons in home screen, About dialogue, and scan menu. (arguments @@ -5635,7 +5659,7 @@ wraps things up in a developer-friendly way.") (define-public libgee (package (name "libgee") - (version "0.20.2") + (version "0.20.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libgee/" @@ -5643,7 +5667,7 @@ wraps things up in a developer-friendly way.") "libgee-" version ".tar.xz")) (sha256 (base32 - "0g1mhl7nidg82v4cikkk8dakzc18hg7wv0dsf2pbyijzfm5mq0wy")))) + "1pm525wm11dhwz24m8bpcln9547lmrigl6cxf3qsbg4cr3pyvdfh")))) (build-system gnu-build-system) (arguments `(#:phases @@ -5704,7 +5728,7 @@ metadata in photo and video files of various formats.") (define-public shotwell (package (name "shotwell") - (version "0.30.7") + (version "0.30.8") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/shotwell/" @@ -5712,7 +5736,7 @@ metadata in photo and video files of various formats.") "shotwell-" version ".tar.xz")) (sha256 (base32 - "1m9i8r4gyd2hzlxjjwfyck4kz7gdg2vz2k6l6d0ga9hdfq2l4p9l")))) + "1f7m007g6w1sz8s60w6x81ghp2rrjmik8phd958b2hy8zz92wbbj")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -7881,7 +7905,29 @@ world.") ("yelp" ,yelp) ;; Others ("hicolor-icon-theme" ,hicolor-icon-theme) - ("gnome-online-accounts" ,gnome-online-accounts))) + ("gnome-online-accounts" ,gnome-online-accounts) + + ;; Packages not part of GNOME proper but that are needed for a good + ;; experience. See <https://bugs.gnu.org/39646>. + ;; XXX: Find out exactly which ones are needed and why. + ("font-cantarell" ,font-cantarell) + ("font-dejavu" ,font-dejavu) + ("at-spi2-core" ,at-spi2-core) + ("dbus" ,dbus) + ("dconf" ,dconf) + ("desktop-file-utils" ,desktop-file-utils) + ("gnome-default-applications" ,gnome-default-applications) + ("gnome-themes-standard" ,gnome-themes-standard) + ("gst-plugins-base" ,gst-plugins-base) + ("gst-plugins-good" ,gst-plugins-good) + ("gucharmap" ,gucharmap) + ("pinentry-gnome3" ,pinentry-gnome3) + ("pulseaudio" ,pulseaudio) + ("shared-mime-info" ,shared-mime-info) + ("system-config-printer" ,system-config-printer) + ("xdg-user-dirs" ,xdg-user-dirs) + ("yelp" ,yelp) + ("zenity" ,zenity))) (synopsis "The GNU desktop environment") (home-page "https://www.gnome.org/") (description diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 422c9bc1d7..775d1f520e 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016, 2017, 2018, 2019 ng0 <ng0@n0.is> -;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> ;;; @@ -150,14 +150,14 @@ tool to extract metadata from a file and print the results.") (define-public libmicrohttpd (package (name "libmicrohttpd") - (version "0.9.69") + (version "0.9.70") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-" version ".tar.gz")) (sha256 (base32 - "0zp34zgcahym5kp2r83gfb5wnr8yf643a26k6zk96x3qica6p6zv")))) + "01vkjy89b1ylmh22dy5yza2r414nfwcfixxh3v29nvzrjv9s7l4h")))) (build-system gnu-build-system) (inputs `(("curl" ,curl) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index f4478411e3..5d389d165c 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -470,7 +470,7 @@ gpgpme starting with version 1.7.") (sha256 (base32 "0n232iyayc46f7hywmjw0jr7pbmmz5h4b04jskhkzz9gxz0ci99c")) - (file-name (string-append name "-" version "-checkout")))) + (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments ;; When cross-compiling, the bash script libgcrypt-config provided by @@ -1115,15 +1115,17 @@ over.") (define-public jetring (package (name "jetring") - (version "0.27") + (version "0.29") (source (origin - (method url-fetch) - (uri (string-append "mirror://debian/pool/main/j/" name "/" - name "_" version ".tar.xz")) + (method git-fetch) + (uri (git-reference + (url "https://salsa.debian.org/debian/jetring") + (commit (string-append "debian/" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0jy0x5zj7v87xgyldlsx1knzp0mv10wzamblrw1b61i2m1ii4pxz")))) + "1acbx2vnbkms1c0wgcnh05d4g359sg5z0aiw541vx2qq9sgdhlv6")))) (build-system gnu-build-system) (arguments '(#:phases diff --git a/gnu/packages/gnustep.scm b/gnu/packages/gnustep.scm index ff2145a25e..ce68fc77ed 100644 --- a/gnu/packages/gnustep.scm +++ b/gnu/packages/gnustep.scm @@ -179,7 +179,7 @@ interface. It is fast, feature rich, easy to configure, and easy to use.") `(("autoconf" ,autoconf) ("automake" ,automake) ("pkg-config" ,pkg-config))) - (home-page "http://www.dockapps.net/wmbattery") + (home-page "https://www.dockapps.net/wmbattery") (synopsis "Display laptop battery info") (description "Wmbattery displays the status of your laptop's battery in a small icon. @@ -233,7 +233,7 @@ other compatible window managers.") ("libxpm" ,libxpm))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.dockapps.net/wmcpuload") + (home-page "https://www.dockapps.net/wmcpuload") (synopsis "Monitor CPU usage") (description "Wmcpuload displays the current CPU usage, expressed as a percentile and a @@ -265,7 +265,7 @@ on.") `(("autoconf" ,autoconf) ("automake" ,automake) ("pkg-config" ,pkg-config))) - (home-page "http://www.dockapps.net/wmclock") + (home-page "https://www.dockapps.net/wmclock") (synopsis "Display the date and time") (description "wmclock is an applet for Window Maker which displays the date and time in diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 863edb3b4e..fea50625b6 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -7,10 +7,11 @@ ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 ng0 <ng0@n0.is> -;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> +;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -115,6 +116,7 @@ `(;; XXX: parallel build fails, lacking: ;; mkdir -p "system_wrapper_js/" #:parallel-build? #f + #:make-flags '("CXXFLAGS=-fpermissive") #:phases (modify-phases %standard-phases (add-after 'unpack 'delete-timedout-test @@ -882,6 +884,7 @@ from forcing GEXP-PROMISE." #:modules ((ice-9 ftw) (ice-9 rdelim) + (ice-9 regex) (ice-9 match) (srfi srfi-34) (srfi srfi-35) @@ -1067,6 +1070,20 @@ from forcing GEXP-PROMISE." (force-output) (retry (- remaining-attempts 1)))) (apply build args))))))) + (add-after 'build 'neutralise-store-references + (lambda _ + ;; Mangle the store references to compilers & other build tools in + ;; about:buildconfig, reducing IceCat's closure by 1 GiB on x86-64. + (substitute* + "dist/bin/chrome/toolkit/content/global/buildconfig.html" + (((format #f "(~a/)([0-9a-df-np-sv-z]{32})" + (regexp-quote (%store-directory))) + _ store hash) + (string-append store + (string-take hash 8) + "<!-- Guix: not a runtime dependency -->" + (string-drop hash 8)))) + #t)) (add-before 'configure 'install-desktop-entry (lambda* (#:key outputs #:allow-other-keys) ;; Install the '.desktop' file. diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index d165ccf065..630984d3c1 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -221,7 +221,7 @@ in the style of communicating sequential processes (@dfn{CSP}).") (package (inherit go-1.4) (name "go") - (version "1.13.7") + (version "1.13.8") (source (origin (method url-fetch) @@ -229,7 +229,7 @@ in the style of communicating sequential processes (@dfn{CSP}).") name version ".src.tar.gz")) (sha256 (base32 - "1x21kfpzfkvmqd42pan6nl862m7jjl4niqxxpcgm46awbz645bg4")))) + "0d7cxffk72568h46srzswrxd0bsdip7amgkf499wzn6l6d3g0fxi")))) (arguments (substitute-keyword-arguments (package-arguments go-1.4) ((#:phases phases) diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm index 8f23be05e6..ac8deddad5 100644 --- a/gnu/packages/gps.scm +++ b/gnu/packages/gps.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,17 +25,23 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system gnu) + #:use-module (guix build-system scons) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages base) - #:use-module (gnu packages pkg-config) #:use-module (gnu packages compression) #:use-module (gnu packages docbook) - #:use-module (gnu packages image) - #:use-module (gnu packages xml) + #:use-module (gnu packages glib) #:use-module (gnu packages gtk) + #:use-module (gnu packages image) + #:use-module (gnu packages libusb) + #:use-module (gnu packages linux) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) #:use-module (gnu packages qt) - #:use-module (gnu packages sqlite)) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages xml)) (define-public gpsbabel (package @@ -204,3 +211,84 @@ coordinates as well as partial support for adjustments in global coordinate syst "GPXSee is a Qt-based GPS log file viewer and analyzer that supports all common GPS log file formats.") (license license:gpl3))) + +(define-public gpsd + (package + (name "gpsd") + (version "3.19") + (source + (origin + (method url-fetch) + (uri (string-append "https://download-mirror.savannah.gnu.org" + "/releases/gpsd/gpsd-" version ".tar.gz")) + (sha256 + (base32 "0faz2mvk82hi7ispxxih07lhpyz5dazs4gcknym9piiabga29p97")))) + (build-system scons-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("python" ,python))) + (inputs + `(("bluez" ,bluez) + ("dbus" ,dbus) + ("libcap" ,libcap) + ("libusb" ,libusb) + ("ncurses" ,ncurses))) + (arguments + `(#:scons-flags (list (string-append "prefix=" %output) + ;; TODO: Install python bindings. + "python=no") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((python3 (string-append (assoc-ref inputs "python") + "/bin/python3"))) + (substitute* '("contrib/gpsData.py" + "contrib/ntpshmviz" + "contrib/skyview2svg" + "contrib/webgps.py" + "devtools/ais.py" + "devtools/aivdmtable" + "devtools/cycle_analyzer" + "devtools/flocktest" + "devtools/identify_failing_build_options.py" + "devtools/regress-builder" + "devtools/regressdiff" + "devtools/sizes" + "devtools/striplog" + "devtools/tablegen.py" + "devtools/test_json_validity.py" + "devtools/uninstall_cleanup.py" + "gegps" + "gps/gps.py" + "gpscat" + "gpsfake" + "gpsprof" + "jsongen.py" + "leapsecond.py" + "maskaudit.py" + "test_maidenhead.py" + "test_misc.py" + "test_xgps_deps.py" + "ubxtool" + "valgrind-audit.py" + "xgps" + "xgpsspeed" + "zerk") + (("/usr/bin/python") python3) + (("/usr/bin/env python") python3))) + #t)) + (add-after 'fix-paths 'fix-build + (lambda _ + (substitute* "SConstruct" + (("'PATH'") + "'PATH','CPATH','LIBRARY_PATH'")) + #t))))) + (synopsis "GPS service daemon") + (description + "@code{gpsd} is a service daemon that monitors one or more GPSes or AIS +receivers attached to a host computer through serial or USB ports, making all +data on the location/course/velocity of the sensors available to be queried on +TCP port 2947 of the host computer.") + (home-page "https://gpsd.gitlab.io/gpsd/") + (license license:bsd-2))) diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm index 7b51a4fd90..ab2bf1daf0 100644 --- a/gnu/packages/graph.scm +++ b/gnu/packages/graph.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> @@ -56,15 +56,15 @@ (define-public igraph (package (name "igraph") - (version "0.7.1") + (version "0.8.0") (source (origin (method url-fetch) - (uri (string-append "http://igraph.org/nightly/get/c/igraph-" - version ".tar.gz")) + (uri (string-append "https://github.com/igraph/igraph/releases/" + "download/" version "/igraph-" version ".tar.gz")) (sha256 (base32 - "1pxh8sdlirgvbvsw8v65h6prn7hlm45bfsl1yfcgd6rn4w706y6r")))) + "0jcnfvahrlj08y46vnax5y5bb294v4b9n00qsy7pbx0cc0sp6qvj")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -90,21 +90,36 @@ more.") (define-public python-igraph (package (inherit igraph) (name "python-igraph") - (version "0.7.1.post6") + (version "0.8.0") (source (origin (method url-fetch) (uri (pypi-uri "python-igraph" version)) (sha256 (base32 - "0xp61zz710qlzhmzbfr65d5flvsi8zf2xy78s6rsszh719wl5sm5")))) + "13mbrlmnbgbzw6y8ws7wj0a3ly3in8j4l1ngi6yxvgvxxi4bprj7")))) (build-system python-build-system) - (arguments '()) + (arguments + '(#:configure-flags + (list "--use-pkg-config") + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda _ + (invoke "python" "./setup.py" "build" "--use-pkg-config"))) + (delete 'check) + (add-after 'install 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + (add-installed-pythonpath inputs outputs) + (invoke "pytest" "-v")))))) (inputs `(("igraph" ,igraph))) + (propagated-inputs + `(("python-texttable" ,python-texttable))) (native-inputs - `(("pkg-config" ,pkg-config))) - (home-page "http://pypi.python.org/pypi/python-igraph") + `(("pkg-config" ,pkg-config) + ("python-pytest" ,python-pytest))) + (home-page "https://pypi.org/project/python-igraph/") (synopsis "Python bindings for the igraph network analysis library"))) (define-public r-igraph diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index e09981dda0..7e3685482d 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -88,14 +88,14 @@ (define-public blender (package (name "blender") - (version "2.81a") + (version "2.82") (source (origin (method url-fetch) (uri (string-append "https://download.blender.org/source/" "blender-" version ".tar.xz")) (sha256 (base32 - "1zl0ar95qkxsrbqw9miz2hrjijlqjl06vg3clfk9rm7krr2l3b2j")))) + "0rgw8nilvn6k6r7p28y2l1rwpami1cc8xz473jaahn7wa4ndyah0")))) (build-system cmake-build-system) (arguments (let ((python-version (version-major+minor (package-version python)))) @@ -127,11 +127,11 @@ (modify-phases %standard-phases ;; XXX This file doesn't exist in the Git sources but will probably ;; exist in the eventual 2.80 source tarball. -; (add-after 'unpack 'fix-broken-import -; (lambda _ -; (substitute* "release/scripts/addons/io_scene_fbx/json2fbx.py" -; (("import encode_bin") "from . import encode_bin")) -; #t)) + (add-after 'unpack 'fix-broken-import + (lambda _ + (substitute* "release/scripts/addons/io_scene_fbx/json2fbx.py" + (("import encode_bin") "from . import encode_bin")) + #t)) (add-after 'set-paths 'add-ilmbase-include-path (lambda* (#:key inputs #:allow-other-keys) ;; OpenEXR propagates ilmbase, but its include files do not appear @@ -176,95 +176,6 @@ compositing and motion tracking, even video editing and game creation. The application can be customized via its API for Python scripting.") (license license:gpl2+))) -(define-public blender-2.79 - (package - (name "blender") - (version "2.79b") - (source (origin - (method url-fetch) - (uri (string-append "https://download.blender.org/source/" - "blender-" version ".tar.gz")) - (sha256 - (base32 - "1g4kcdqmf67srzhi3hkdnr4z1ph4h9sza1pahz38mrj998q4r52c")) - (patches (search-patches "blender-2.79-newer-ffmpeg.patch" - "blender-2.79-python-3.7-fix.patch")))) - (build-system cmake-build-system) - (arguments - (let ((python-version (version-major+minor (package-version python)))) - `(;; Test files are very large and not included in the release tarball. - #:tests? #f - #:configure-flags - (list "-DWITH_CODEC_FFMPEG=ON" - "-DWITH_CODEC_SNDFILE=ON" - "-DWITH_CYCLES=ON" - "-DWITH_DOC_MANPAGE=ON" - "-DWITH_FFTW3=ON" - "-DWITH_GAMEENGINE=ON" - "-DWITH_IMAGE_OPENJPEG=ON" - "-DWITH_INPUT_NDOF=ON" - "-DWITH_INSTALL_PORTABLE=OFF" - "-DWITH_JACK=ON" - "-DWITH_MOD_OCEANSIM=ON" - "-DWITH_PLAYER=ON" - "-DWITH_PYTHON_INSTALL=OFF" - "-DWITH_PYTHON_INSTALL=OFF" - "-DWITH_SYSTEM_OPENJPEG=ON" - (string-append "-DPYTHON_LIBRARY=python" ,python-version "m") - (string-append "-DPYTHON_LIBPATH=" (assoc-ref %build-inputs "python") - "/lib") - (string-append "-DPYTHON_INCLUDE_DIR=" (assoc-ref %build-inputs "python") - "/include/python" ,python-version "m") - (string-append "-DPYTHON_VERSION=" ,python-version)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-broken-import - (lambda _ - (substitute* "release/scripts/addons/io_scene_fbx/json2fbx.py" - (("import encode_bin") "from . import encode_bin")) - #t)) - (add-after 'set-paths 'add-ilmbase-include-path - (lambda* (#:key inputs #:allow-other-keys) - ;; OpenEXR propagates ilmbase, but its include files do not appear - ;; in the CPATH, so we need to add "$ilmbase/include/OpenEXR/" to - ;; the CPATH to satisfy the dependency on "half.h". - (setenv "CPATH" - (string-append (assoc-ref inputs "ilmbase") - "/include/OpenEXR" - ":" (or (getenv "CPATH") ""))) - #t)))))) - (inputs - `(("boost" ,boost) - ("jemalloc" ,jemalloc) - ("libx11" ,libx11) - ("openimageio" ,openimageio-1.7) - ("openexr" ,openexr) - ("ilmbase" ,ilmbase) - ("openjpeg" ,openjpeg-1) - ("libjpeg" ,libjpeg-turbo) - ("libpng" ,libpng) - ("libtiff" ,libtiff) - ("ffmpeg" ,ffmpeg) - ("fftw" ,fftw) - ("jack" ,jack-1) - ("libsndfile" ,libsndfile) - ("freetype" ,freetype) - ("glew" ,glew) - ("openal" ,openal) - ("python" ,python) - ("zlib" ,zlib))) - (home-page "https://blender.org/") - (synopsis "3D graphics creation suite") - (description - "Blender is a 3D graphics creation suite. It supports the entirety of -the 3D pipeline—modeling, rigging, animation, simulation, rendering, -compositing and motion tracking, even video editing and game creation. The -application can be customized via its API for Python scripting. - -NOTE: This older version of Blender is the last release that does not require -OpenGL 3. It is retained for use with older computers.") - (license license:gpl2+))) - (define-public assimp (package (name "assimp") @@ -530,7 +441,7 @@ visual effects work for film.") (define-public openscenegraph (package (name "openscenegraph") - (version "3.6.4") + (version "3.6.5") (source (origin (method git-fetch) @@ -538,14 +449,13 @@ visual effects work for film.") (url "https://github.com/openscenegraph/OpenSceneGraph") (commit (string-append "OpenSceneGraph-" version)))) (sha256 - (base32 - "0x8hdbzw0b71j91fzp9cwmy9a7ava8v8wwyj8nxijq942vdx1785")) + (base32 "00i14h82qg3xzcyd8p02wrarnmby3aiwmz0z43l50byc9f8i05n1")) (file-name (git-file-name name version)))) (properties `((upstream-name . "OpenSceneGraph"))) (build-system cmake-build-system) (arguments - `(#:tests? #f ; no test target available + `(#:tests? #f ; no test target available ;; Without this flag, 'rd' will be added to the name of the ;; library binaries and break linking with other programs. #:build-type "Release" @@ -558,15 +468,15 @@ visual effects work for film.") ("unzip" ,unzip))) (inputs `(("giflib" ,giflib) - ("libjpeg" ,libjpeg-turbo) ; Required for the JPEG texture plugin. + ("libjpeg" ,libjpeg-turbo) ; required for the JPEG texture plugin. ("jasper" ,jasper) ("librsvg" ,librsvg) ("libxrandr" ,libxrandr) ("ffmpeg" ,ffmpeg) ("mesa" ,mesa))) - (synopsis "High performance real-time graphics toolkit") + (synopsis "High-performance real-time graphics toolkit") (description - "The OpenSceneGraph is a high performance 3D graphics toolkit + "The OpenSceneGraph is a high-performance 3D graphics toolkit used by application developers in fields such as visual simulation, games, virtual reality, scientific visualization and modeling.") (home-page "http://www.openscenegraph.org") diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm index 406375b3d6..33ecfce89b 100644 --- a/gnu/packages/graphviz.scm +++ b/gnu/packages/graphviz.scm @@ -308,7 +308,7 @@ structure and layout algorithms.") ("gtk+" ,gtk+) ("python-pycairo" ,python-pycairo) ("python-pygobject" ,python-pygobject))) - (home-page "https://pypi.python.org/pypi/xdot") + (home-page "https://pypi.org/project/xdot/") (synopsis "Interactive viewer for graphviz dot files") (description "Xdot is an interactive viewer for graphs written in @code{graphviz}’s dot language. Internally, it uses the xdot output format as diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index e5064a72e7..243e9e5319 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2016 Patrick Hetu <patrick.hetu@auf.org> ;;; Copyright © 2016 ng0 <ng0@n0.is> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> -;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> @@ -1019,7 +1019,7 @@ images onto Cairo surfaces.") `(("guile-lib" ,guile-lib) ("guile-cairo" ,guile-cairo) ("guile-rsvg" ,guile-rsvg))) - (home-page "http://wingolog.org/software/guile-present/") + (home-page "https://wingolog.org/software/guile-present/") (synopsis "Create SVG or PDF presentations in Guile") (description "Guile-Present defines a declarative vocabulary for presentations, @@ -1491,7 +1491,7 @@ and routines to assist in editing internationalized text.") (define-public girara (package (name "girara") - (version "0.3.3") + (version "0.3.4") (source (origin (method git-fetch) @@ -1500,7 +1500,7 @@ and routines to assist in editing internationalized text.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0q0yfv2777s72p473lw0ll435n7vz4v204cmp9naq8am7a6i6avn")))) + (base32 "08rpw9hkaprm4r853xy1d35i2af1pji8c3mzzl01mmwmyr9p0x8k")))) (native-inputs `(("pkg-config" ,pkg-config) ("check" ,check) ("gettext" ,gettext-minimal) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index e015503372..1062456885 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -667,6 +667,14 @@ It has a nice, simple s-expression based syntax.") using Guile's foreign function interface.") (license license:lgpl3+)))) +(define-public guile3.0-squee + (package + (inherit guile-squee) + (name "guile3.0-squee") + (native-inputs `(("guile" ,guile-next) + ,@(alist-delete "guile" + (package-native-inputs guile-squee)))))) + (define-public guile-colorized (package (name "guile-colorized") @@ -970,20 +978,17 @@ using S-expressions.") (define-public guile-debbugs (package (name "guile-debbugs") - (version "0.0.2") + (version "0.0.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/guile-debbugs/guile-debbugs-" version ".tar.gz")) (sha256 (base32 - "16l8910p57im6s3j93xhdaqvgfy6ms5n97177mrch3y961z5hy0i")) - (modules '((guix build utils))) - (snippet - '(substitute* "Makefile.in" - (("^godir = (.*)/ccache" _ prefix) - (string-append "godir = " prefix "/site-ccache")))))) + "1cc63nw3xdfjrfk8c58r6d5lidmfq5cpqcy32yd5xp81yccprvn9")))) (build-system gnu-build-system) + (propagated-inputs + `(("guile-email" ,guile-email))) (native-inputs `(("guile" ,guile-2.2) ("pkg-config" ,pkg-config))) @@ -1023,30 +1028,12 @@ Extensions) compliant email messages and reading emails from the mbox format.") (license license:agpl3+))) -(define-public guile-debbugs-next - (let ((commit "fb0ae064037a38a0d526e08b4ad24c52e205edb9") - (revision "2")) - (package (inherit guile-debbugs) - (name "guile-debbugs") - (version (git-version "0.0.3" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://git.savannah.gnu.org/git/guile-debbugs.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "195sacx2xc1mzzfljj62nfpi8mxn0rc6dabxckizjksnhb5irfwy")))) - (build-system gnu-build-system) - (native-inputs - `(("pkg-config" ,pkg-config) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("texinfo" ,texinfo))) - (inputs - `(("guile" ,guile-2.2) - ("guile-email" ,guile-email)))))) +(define-public guile3.0-email + (package + (inherit guile-email) + (name "guile3.0-email") + (inputs `(("guile" ,guile-next) + ,@(alist-delete "guile" (package-inputs guile-email)))))) (define-public guile-newt (package @@ -2960,18 +2947,17 @@ tests being run, resulting clearer and more specific output.") (define-public guile-semver (package (name "guile-semver") - (version "0.1.0") + (version "0.1.1") (source (origin (method url-fetch) (uri (string-append "https://files.ngyro.com/guile-semver/" "guile-semver-" version ".tar.gz")) (sha256 (base32 - "06b66rj7nyhr6i3dpkwvfw1xb10w2pngrsw2hxfxkznwsbh9byfz")))) + "109p4n39ln44cxvwdccf9kgb96qx54makvd2ir521ssz6wchjyag")))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config) - ("srfi-64-driver" ,srfi-64-driver))) + `(("pkg-config" ,pkg-config))) (inputs `(("guile" ,guile-2.2))) (home-page "https://ngyro.com/software/guile-semver.html") @@ -3038,3 +3024,75 @@ SHA-512).") (name "guile3.0-hashing") (native-inputs `(("guile" ,guile-next))))) + +(define-public guile-webutils + (let ((commit "8541904f761066dc9c27b1153e9a838be9a55299") + (revision "0")) + (package + (name "guile-webutils") + (version (git-version "0.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://notabug.org/cwebber/guile-webutils.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1s9n3hbxd7lfpdi0x8wr0cfvlsf6g62ird9gbspxdrp5p05rbi64")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config) + ("texinfo" ,texinfo))) + (inputs + `(("guile" ,guile-2.2))) + (propagated-inputs + `(("guile-irregex" ,guile-irregex) + ("guile-gcrypt" ,guile-gcrypt))) + (home-page "https://notabug.org/cwebber/guile-webutils") + (synopsis "Web application authoring utilities for Guile") + (description + "This package provides tooling to write web applications in Guile, such +as signed sessions, multipart message support, etc.") + (license license:gpl3+)))) + +(define-public guile-lens + (let ((commit "14b15d07255f9d3f55d40a3b750d13c9ee3a154f") + (revision "0")) + (package + (name "guile-lens") + (version (git-version "0.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/a-sassmannshausen/guile-lens.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0w8jzqyla56yrgj7acsgd4nspyir6zgp3vgxid4xmwhg9wmf1ida")))) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'run-hall + (lambda _ + (setenv "HOME" "/tmp") ; for ~/.hall + (invoke "hall" "dist" "-x")))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("guile" ,guile-2.2) + ("guile-hall" ,guile-hall) + ("pkg-config" ,pkg-config) + ("texinfo" ,texinfo))) + (home-page "https://gitlab.com/a-sassmannshausen/guile-lens.git") + (synopsis "Composable lenses for data structures in Guile") + (description + "Guile-Lens is a library implementing lenses in Guile. The library is +currently a re-implementation of the lentes library for Clojure. Lenses +provide composable procedures, which can be used to focus, apply functions +over, or update a value in arbitrary data structures.") + (license license:gpl3+)))) diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index 767f0c7f99..662f084fad 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -113,8 +113,7 @@ installation of Haskell libraries and programs.") (uri (git-reference (url "https://github.com/jameysharp/corrode.git") (commit "b6699fb2fa552a07c6091276285a44133e5c9789"))) - (file-name - (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "02v0yyj6sk4gpg2222wzsdqjxn8w66scbnf6b20x0kbmc69qcz4r")))) (build-system haskell-build-system) @@ -270,14 +269,14 @@ unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}. (define-public git-annex (package (name "git-annex") - (version "7.20200202.7") + (version "8.20200226") (source (origin (method url-fetch) (uri (string-append "https://hackage.haskell.org/package/" "git-annex/git-annex-" version ".tar.gz")) (sha256 - (base32 "1dj1ss7kp82wa0ybilhl88q6w49rj70qh61k2q8qfyx4ghliiigh")))) + (base32 "09v80ni1w9z1im79lzrnpz7xlivwna44zqpwq4axwyd17cffqi9m")))) (build-system haskell-build-system) (arguments `(#:configure-flags @@ -442,7 +441,7 @@ used to keep a folder in sync between computers.") ("ghc-aeson" ,ghc-aeson) ("ghc-lib-parser" ,ghc-lib-parser) ("hscolour" ,hscolour))) - (home-page "http://community.haskell.org/~ndm/hlint/") + (home-page "https://github.com/ndmitchell/hlint") (synopsis "Suggest improvements for Haskell source code") (description "HLint reads Haskell programs and suggests changes that hopefully make them easier to read. HLint also makes it easy to disable diff --git a/gnu/packages/haskell-crypto.scm b/gnu/packages/haskell-crypto.scm index 6467e9bbca..4170ec82f0 100644 --- a/gnu/packages/haskell-crypto.scm +++ b/gnu/packages/haskell-crypto.scm @@ -827,7 +827,7 @@ implementation of SSL.") `(("ghc-hunit" ,ghc-hunit) ("ghc-test-framework" ,ghc-test-framework) ("ghc-test-framework-hunit" ,ghc-test-framework-hunit))) - (home-page "http://hackage.haskell.org/package/openssl-streams") + (home-page "https://hackage.haskell.org/package/openssl-streams") (synopsis "OpenSSL network support for io-streams") (description "This library contains io-streams routines for secure networking using OpenSSL (by way of HsOpenSSL).") diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm index e5ec572e1d..acdc1447a4 100644 --- a/gnu/packages/haskell-web.scm +++ b/gnu/packages/haskell-web.scm @@ -52,7 +52,7 @@ (build-system haskell-build-system) (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck))) - (home-page "http://community.haskell.org/~ndm/tagsoup/") + (home-page "https://github.com/ndmitchell/tagsoup") (synopsis "Parsing and extracting information from (possibly malformed) HTML/XML documents") @@ -620,7 +620,7 @@ based WAI (Web Application Interface in Haskell).") ("ghc-clock" ,ghc-clock) ("ghc-psqueues" ,ghc-psqueues) ("ghc-tls" ,ghc-tls))) - (home-page "http://hackage.haskell.org/package/tls-session-manager") + (home-page "https://hackage.haskell.org/package/tls-session-manager") (synopsis "In-memory TLS session manager") (description "This Haskell library provides a TLS session manager with limitation, automatic pruning, energy saving and replay resistance.") diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 7825963523..e368082c03 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -790,7 +790,7 @@ pragmas in your code.") (arguments `(#:cabal-revision ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp"))) - (home-page "http://hackage.haskell.org/package/base-compat-batteries") + (home-page "https://hackage.haskell.org/package/base-compat-batteries") (synopsis "base-compat with extra batteries") (description "This library provides functions available in later versions of @code{base} to a wider range of compilers, without requiring @@ -3577,7 +3577,7 @@ Double.") `(("ghc-quickcheck" ,ghc-quickcheck) ("ghc-hspec" ,ghc-hspec) ("hspec-discover" ,hspec-discover))) - (home-page "http://hackage.haskell.org/package/errorcall-eq-instance") + (home-page "https://hackage.haskell.org/package/errorcall-eq-instance") (synopsis "Orphan Eq instance for ErrorCall") (description "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}. @@ -3693,7 +3693,7 @@ generated SQL and optimize it for your backend.") ("ghc-silently" ,ghc-silently) ("ghc-filemanip" ,ghc-filemanip))) (home-page - "http://hackage.haskell.org/package/ghc-exactprint") + "https://hackage.haskell.org/package/ghc-exactprint") (synopsis "ExactPrint for GHC") (description "Using the API Annotations available from GHC 7.10.2, this library @@ -4018,7 +4018,7 @@ file contents, and more.") (build-system haskell-build-system) (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck))) - (home-page "http://hackage.haskell.org/package/filepath-bytestring") + (home-page "https://hackage.haskell.org/package/filepath-bytestring") (synopsis "Library for manipulating RawFilePaths in a cross-platform way") (description "This package provides a drop-in replacement for the standard @code{filepath} library, operating on @code{RawFilePath} values rather than @@ -5056,7 +5056,7 @@ a set of wrappers to use the hash tables in the IO monad.") (sha256 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq")))) (build-system haskell-build-system) - (home-page "http://hackage.haskell.org/package/haskell-lexer") + (home-page "https://hackage.haskell.org/package/haskell-lexer") (synopsis "Fully compliant Haskell 98 lexer") (description "This package provides a fully compliant Haskell 98 lexer.") @@ -5792,7 +5792,7 @@ for general types.") (base32 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa")))) (build-system haskell-build-system) - (home-page "http://hackage.haskell.org/package/IfElse") + (home-page "https://hackage.haskell.org/package/IfElse") (synopsis "Monadic control flow with anaphoric variants") (description "This library provides functions for control flow inside of monads with anaphoric variants on @code{if} and @code{when} and a C-like @@ -5845,7 +5845,7 @@ lines continued at an indented level below.") (native-inputs `(("ghc-hspec" ,ghc-hspec) ("hspec-discover" ,hspec-discover))) - (home-page "http://hackage.haskell.org/package/infer-license") + (home-page "https://hackage.haskell.org/package/infer-license") (synopsis "Infer software license from a given license file") (description "This library provides tools to infer a software license from a given license file.") @@ -5876,7 +5876,7 @@ license from a given license file.") ("ghc-hspec" ,ghc-hspec) ("ghc-raw-strings-qq" ,ghc-raw-strings-qq) ("ghc-regex-posix" ,ghc-regex-posix))) - (home-page "http://hackage.haskell.org/package/inline-c") + (home-page "https://hackage.haskell.org/package/inline-c") (synopsis "Write Haskell source files including C code inline") (description "inline-c lets you seamlessly call C libraries and embed high-performance @@ -6100,7 +6100,7 @@ functors). For more information, see Edward Kmett's article ("ghc-test-framework-hunit" ,ghc-test-framework-hunit) ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2) ("ghc-zlib" ,ghc-zlib))) - (home-page "http://hackage.haskell.org/package/io-streams") + (home-page "https://hackage.haskell.org/package/io-streams") (synopsis "Simple and composable stream I/O") (description "This library contains simple and easy-to-use primitives for I/O using streams.") @@ -6341,7 +6341,7 @@ and a large set of GNU extensions.") `(#:tests? #f #:cabal-revision ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5"))) - (home-page "http://hackage.haskell.org/package/language-glsl") + (home-page "https://hackage.haskell.org/package/language-glsl") (synopsis "GLSL abstract syntax tree, parser, and pretty-printer") (description "This package is a Haskell library for the representation, parsing, and pretty-printing of GLSL 1.50 code.") @@ -6445,7 +6445,7 @@ indexed variants.") (build-system haskell-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("libffi" ,libffi))) - (home-page "http://hackage.haskell.org/package/libffi") + (home-page "https://hackage.haskell.org/package/libffi") (synopsis "Haskell binding to libffi") (description "A binding to libffi, allowing C functions of types only known at runtime @@ -6899,7 +6899,7 @@ compression algorithm used in the @code{.xz} file format.") (base32 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j")))) (build-system haskell-build-system) - (home-page "http://hackage.haskell.org/package/magic") + (home-page "https://hackage.haskell.org/package/magic") (synopsis "Interface to C file/magic library") (description "This package provides a full-featured binding to the C libmagic library. @@ -7786,7 +7786,7 @@ network database (<netdb.h>) API.") (build-system haskell-build-system) (native-inputs `(("ghc-doctest" ,ghc-doctest))) - (home-page "http://hackage.haskell.org/package/network-byte-order") + (home-page "https://hackage.haskell.org/package/network-byte-order") (synopsis "Network byte order utilities") (description "This library provides peek and poke functions for network byte order.") @@ -8568,7 +8568,7 @@ the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s ("ghc-hspec" ,ghc-hspec) ("ghc-validity" ,ghc-validity))) (home-page - "http://hackage.haskell.org/package/path") + "https://hackage.haskell.org/package/path") (synopsis "Support for well-typed paths") (description "This package introduces a type for paths upholding useful invariants.") @@ -8851,7 +8851,7 @@ dependencies "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l")))) (build-system haskell-build-system) (home-page - "http://hackage.haskell.org/package/pointedlist") + "https://hackage.haskell.org/package/pointedlist") (synopsis "Zipper-like comonad which works as a list, tracking a position") (description @@ -8946,7 +8946,7 @@ reduce @code{UndecidableInstances}.") (base32 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5")))) (build-system haskell-build-system) - (home-page "http://hackage.haskell.org/package/prettyclass") + (home-page "https://hackage.haskell.org/package/prettyclass") (synopsis "Pretty printing class similar to Show") (description "This package provides a pretty printing class similar to @code{Show}, based on the HughesPJ pretty printing library. It @@ -9313,7 +9313,7 @@ containers and a general map/reduce framework for Haskell.") (base32 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a")))) (build-system haskell-build-system) - (home-page "http://hackage.haskell.org/package/refact") + (home-page "https://hackage.haskell.org/package/refact") (synopsis "Specify refactorings to perform with apply-refact") (description "This library provides a datatype which can be interpreted by @@ -9581,7 +9581,7 @@ inspired by libtre.") `(("ghc-regex-base" ,ghc-regex-base) ("ghc-regex-tdfa" ,ghc-regex-tdfa))) (home-page - "http://hackage.haskell.org/package/regex-tdfa-text") + "https://hackage.haskell.org/package/regex-tdfa-text") (synopsis "Text interface for regex-tdfa") (description "This provides an extra text interface for regex-tdfa.") @@ -10098,7 +10098,7 @@ programming.") ("sdl2-image" ,sdl2-image))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://hackage.haskell.org/package/sdl2-image") + (home-page "https://hackage.haskell.org/package/sdl2-image") (synopsis "Bindings to SDL2_image") (description "This package provides Haskell bindings to @code{SDL2_image}.") @@ -10126,7 +10126,7 @@ programming.") ("sdl2-mixer" ,sdl2-mixer))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://hackage.haskell.org/package/sdl2-mixer") + (home-page "https://hackage.haskell.org/package/sdl2-mixer") (synopsis "Bindings to SDL2 mixer") (description "This package provides Haskell bindings to @code{SDL2_mixer}.") @@ -10630,7 +10630,7 @@ automatically by SmallCheck.") (base32 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3")))) (build-system haskell-build-system) - (home-page "http://hackage.haskell.org/package/sop-core") + (home-page "https://hackage.haskell.org/package/sop-core") (synopsis "True Sums of Products") (description "This package provides an implementation of @math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP} @@ -10689,7 +10689,7 @@ mainstream languages.") ("ghc-base-compat-batteries" ,ghc-base-compat-batteries) ("ghc-tf-random" ,ghc-tf-random) ("ghc-vector" ,ghc-vector))) - (home-page "http://hackage.haskell.org/package/splitmix") + (home-page "https://hackage.haskell.org/package/splitmix") (synopsis "Fast and splittable pseudorandom number generator") (description "This package provides a Pure Haskell implementation of the SplitMix pseudorandom number generator. SplitMix is a \"splittable\" @@ -11084,7 +11084,7 @@ literals.") (build-system haskell-build-system) (native-inputs `(("ghc-hunit" ,ghc-hunit))) - (home-page "http://hackage.haskell.org/package/string-qq") + (home-page "https://hackage.haskell.org/package/string-qq") (synopsis "QuasiQuoter for non-interpolated strings, texts and bytestrings.") (description @@ -12213,7 +12213,7 @@ upon it.") #:cabal-revision ("1" "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6"))) - (home-page "http://hackage.haskell.org/package/unagi-chan") + (home-page "https://hackage.haskell.org/package/unagi-chan") (synopsis "Fast concurrent queues with a Chan-like API, and more") (description "This library provides implementations of concurrent FIFO queues (for @@ -13224,7 +13224,7 @@ parts.") (base32 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j")))) (build-system haskell-build-system) - (home-page "http://code.galois.com") + (home-page "https://github.com/GaloisInc/xml") (synopsis "Simple XML library for Haskell") (description "This package provides a simple XML library for Haskell.") (license license:bsd-3))) diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm index c0766c06bd..12a8d6758f 100644 --- a/gnu/packages/ibus.scm +++ b/gnu/packages/ibus.scm @@ -59,7 +59,7 @@ (define-public ibus (package (name "ibus") - (version "1.5.21") + (version "1.5.22") (source (origin (method url-fetch) (uri (string-append "https://github.com/ibus/ibus/" @@ -67,7 +67,7 @@ version "/ibus-" version ".tar.gz")) (sha256 (base32 - "1fd2d1jqpp1nn74x04zcilhhab0zar82n0kg614rma6n43kfbhdd")))) + "0jmy2w01phpmqnjnfnak7nvfna57mpgfnl87jwc4iai8ijjynw41")))) (build-system glib-or-gtk-build-system) (arguments `(#:tests? #f ; tests fail because there's no connection to dbus diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 2ac15a6cd9..ad5251fc0c 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2017 ng0 <ng0@n0.is> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 nee <nee-git@hidamari.blue> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com> @@ -215,7 +215,7 @@ It is the default image viewer on LXDE desktop environment.") (define-public sxiv (package (name "sxiv") - (version "25") + (version "26") (source (origin (method git-fetch) (uri (git-reference @@ -224,15 +224,15 @@ It is the default image viewer on LXDE desktop environment.") (file-name (git-file-name name version)) (sha256 (base32 - "13s1lfar142hq1j7xld0ri616p4bqs57b17yr4d0b9a9w7liz4hp")))) + "0xaawlfdy7b277m38mgg4423kd7p1ffn0dq4hciqs6ivbb3q9c4f")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target #:make-flags (list (string-append "PREFIX=" %output) "CC=gcc" - ;; Xft.h #includes <ft2build.h> (without ‘freetype2/’). The sxiv - ;; Makefile works around this by hard-coding /usr/include instead. + ;; Xft.h #includes <ft2build.h> without ‘freetype2/’. The Makefile + ;; works around this by hard-coding /usr/include & $PREFIX. (string-append "CPPFLAGS=-I" (assoc-ref %build-inputs "freetype") "/include/freetype2") diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index ecd1867af6..a6fa7319ff 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -7,14 +7,14 @@ ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015 Amirouche Boubekki <amirouche@hypermove.net> ;;; Copyright © 2014, 2017 John Darrington <jmd@gnu.org> -;;; Copyright © 2016, 2017, 2018 Leo Famulari <leo@famulari.name> +;;; Copyright © 2016, 2017, 2018, 2020 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2017 ng0 <ng0@n0.is> -;;; Copyright © 2017,2019 Hartmut Goebel <h.goebel@crazy-compilers.com> +;;; Copyright © 2017,2019,2020 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com> ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> @@ -23,6 +23,7 @@ ;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com> +;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -69,10 +70,12 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages qt) #:use-module (gnu packages sphinx) + #:use-module (gnu packages video) + #:use-module (gnu packages web) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) - #:use-module (gnu packages qt) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) @@ -1014,6 +1017,9 @@ graphics image formats like PNG, BMP, JPEG, TIFF and others.") (sha256 (base32 "1bqs8vx5i1bzamvv563i24gx2xxdidqyxh9iaj46mbznhc84wmm5")))) (build-system cmake-build-system) + ;; Otherwise it fails on <ci.guix.gnu.org> in the check phase after 3600 + ;; seconds of silence. + (properties '((max-silent-time . 7200))) (inputs `(("boost" ,boost) ("fftw" ,fftw) @@ -1855,3 +1861,134 @@ using only text tools. SNG is implemented by a compiler/decompiler called sng that losslessly translates between SNG and PNG.") (license license:zlib))) + +(define-public lodepng + ;; There are no tags in the repository, so we take the version as defined in + ;; lodepng.cpp. + (let ((commit "48e5364ef48ec2408f44c727657ac1b6703185f8") + (revision "1") + (version "20200215")) + (package + (name "lodepng") + (version (git-version version revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lvandeve/lodepng") + (commit commit))) + (sha256 + (base32 + "1a1x8ag2scanzb2066jm9hg2y9kaa3wmpgmz10l1x9bkpik612lw")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda _ + (setenv "CXXFLAGS" "-fPIC") + (invoke "make" "lodepng.o") + (invoke "make" "lodepng_util.o") + (invoke "g++" "-fPIC" "-O3" + "-o" "liblodepng.so" + "-shared" "lodepng.o" "lodepng_util.o") + #t)) + (replace 'check + (lambda _ + (invoke "make" "unittest") + (invoke "./unittest") + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc")) + (lib (string-append out "/lib")) + (include (string-append out "/include"))) + (install-file "lodepng.h" include) + (install-file "lodepng_util.h" include) + (install-file "liblodepng.so" lib) + (install-file "README.md" doc) + #t)))))) + (home-page "https://lodev.org/lodepng/") + (synopsis "PNG encoder and decoder in C and C++, without dependencies") + (description "LodePNG is a PNG image decoder and encoder, all in one, +no dependency or linkage required. It's made for C (ISO C90), and has a C++ +wrapper with a more convenient interface on top.") + (license license:zlib)))) + +(define-public icoutils + (package + (name "icoutils") + (version "0.32.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://savannah/icoutils/icoutils-" version ".tar.bz2")) + (sha256 + (base32 "1q66cksms4l62y0wizb8vfavhmf7kyfgcfkynil3n99s0hny1aqp")))) + (build-system gnu-build-system) + (inputs + `(("libpng" ,libpng) + ("perl" ,perl))) + (propagated-inputs + `(("perl-libwww" ,perl-libwww))) + (home-page "https://www.nongnu.org/icoutils/") + (synopsis "Extract and convert bitmaps from Windows icon and cursor files") + (description "Icoutils are a set of program for extracting and converting +bitmaps from Microsoft Windows icon and cursor files. These files usually +have the extension @code{.ico} or @code{.cur}, but they can also be embedded +in executables and libraries (@code{.dll}-files). (Such embedded files are +referred to as resources.) + +Conversion of these files to and from PNG images is done @command{icotool}. +@command{extresso} automates these tasks with the help of special resource +scripts. Resources such can be extracted from MS Windows executable and +library files with @command{wrestool}. + +This package can be used to create @code{favicon.ico} files for web sites.") + (license license:gpl3+))) + +(define-public libavif + (package + (name "libavif") + (version "0.5.6") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/AOMediaCodec/libavif") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "15g76j9vb88q1v3azscph8im8714zdl70bni0al4ww9v80vhqpkd")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags '("-DAVIF_CODEC_AOM=ON" "-DAVIF_CODEC_DAV1D=ON" + "-DAVIF_CODEC_RAV1E=OFF" ; not packaged yet + "-DAVIF_BUILD_TESTS=ON") + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-readme + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/libavif-" + ,version))) + (install-file "../source/README.md" doc))))) +;; The test suite runs tests for all supported codecs and fails because we don't +;; have rav1e yet. +;; (replace 'check +;; (lambda _ +;; (invoke "./aviftest" "../source/tests/data")))) + #:tests? #f)) + (inputs + `(("libaom" ,libaom) + ("dav1d" ,dav1d))) + (synopsis "Encode and decode AVIF files") + (description "Libavif is a C implementation of the AV1 Image File Format +(AVIF). It can encode and decode all YUV formats and bit depths supported by +AOM, including with alpha.") + (home-page "https://github.com/AOMediaCodec/libavif") + (license (list license:bsd-2 ; libavif itself + license:expat)))) ; cJSON in the test suite diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm index 49612425fb..9fa3f144de 100644 --- a/gnu/packages/ipfs.scm +++ b/gnu/packages/ipfs.scm @@ -212,7 +212,7 @@ written in Go.") (define-public go-ipfs (package (name "go-ipfs") - (version "0.4.22") + (version "0.4.23") (source (origin (method url-fetch/tarbomb) @@ -220,7 +220,7 @@ written in Go.") "https://dist.ipfs.io/go-ipfs/v" version "/go-ipfs-source.tar.gz")) (sha256 - (base32 "1gyz9yqb4y7p6vdjbcm66nvm6gjs4mdrjygdn79z3misv1pb5nkg")) + (base32 "191ir4h6c76xcnbwx9fj8j2lzzqyp10inmqd8sa393b5y0jmhi5a")) (file-name (string-append name "-" version "-source")))) (build-system go-build-system) (arguments diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index f39da03815..acaf25f745 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -2,10 +2,10 @@ ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2014 Kevin Lemonnier <lemonnierk@ulrar.net> ;;; Copyright © 2015, 2017 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 ng0 <ng0@n0.is> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> -;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; ;;; This file is part of GNU Guix. @@ -170,36 +170,40 @@ SILC and ICB protocols via plugins.") (define-public weechat (package (name "weechat") - (version "2.6") + (version "2.7.1") (source (origin (method url-fetch) (uri (string-append "https://weechat.org/files/src/weechat-" version ".tar.xz")) (sha256 (base32 - "0j2iflnfvv31q2l9r67r8aj3ipggqfm2r2dpy7pvdpxgwwq337ps")))) + "0haw0c35mf4r47j24issc9caq0da3fy7gjfq3454fm3ap3n2yxcx")))) (build-system cmake-build-system) (native-inputs `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config) ;; For tests. ("cpputest" ,cpputest))) - (inputs `(("ncurses" ,ncurses) - ("libgcrypt" ,libgcrypt "out") - ("zlib" ,zlib) - ("aspell" ,aspell) - ("curl" ,curl) - ("gnutls" ,gnutls) + (inputs + `(("aspell" ,aspell) + ("curl" ,curl) + ("gnutls" ,gnutls) + ("libgcrypt" ,libgcrypt "out") + ("ncurses" ,ncurses) + ("zlib" ,zlib) - ;; Scripting language plug-ins. - ("guile" ,guile-2.0) - ("lua" ,lua-5.1) - ("python" ,python) - ("perl" ,perl) - ("tcl" ,tcl))) + ;; Scripting language plug-ins. + ("guile" ,guile-2.2) + ("lua" ,lua-5.1) + ("perl" ,perl) + ("python" ,python) + ("tcl" ,tcl))) (arguments `(#:configure-flags - (list "-DENABLE_TESTS=ON") ; ‘make test’ fails otherwise + (list "-DENABLE_JAVASCRIPT=OFF" + "-DENABLE_PHP=OFF" + "-DENABLE_RUBY=OFF" + "-DENABLE_TESTS=ON") ; ‘make test’ fails otherwise ;; Tests hang indefinately on non-Intel platforms. #:tests? ,(if (any (cute string-prefix? <> (or (%current-target-system) (%current-system))) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 96d14c3988..769e454bbd 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3578,7 +3578,7 @@ cli/shell/BourneShell.java" (native-inputs `(("java-hamcrest-core" ,java-hamcrest-core) ("java-junit" ,java-junit))) - (home-page "http://codehaus-plexus.github.io/plexus-utils/") + (home-page "https://codehaus-plexus.github.io/plexus-utils/") (synopsis "Common utilities for the Plexus framework") (description "This package provides various Java utility classes for the Plexus framework to ease working with strings, files, command lines, XML and @@ -3604,7 +3604,7 @@ more.") (native-inputs `(("java-junit" ,java-junit) ("java-hamcrest-core" ,java-hamcrest-core))) - (home-page "http://codehaus-plexus.github.io/plexus-interpolation/") + (home-page "https://codehaus-plexus.github.io/plexus-interpolation/") (synopsis "Java components for interpolating ${} strings and the like") (description "Plexus interpolator is a modular, flexible interpolation framework for the expression language style commonly seen in Maven, Plexus, @@ -4757,7 +4757,7 @@ targeting the JVM.") `(("java-junit" ,java-junit) ("java-hamcrest-core" ,java-hamcrest-core) ("java-easymock" ,java-easymock))) - (home-page "http://commons.apache.org/collections/") + (home-page "https://commons.apache.org/collections/") (synopsis "Collections framework") (description "The Java Collections Framework is the recognised standard for collection handling in Java. Commons-Collections seek to build upon the @@ -4929,7 +4929,7 @@ file filters and endian classes.") (replace 'install (install-jars "target"))))) (native-inputs `(("java-junit" ,java-junit))) - (home-page "http://commons.apache.org/proper/commons-exec/") + (home-page "https://commons.apache.org/proper/commons-exec/") (synopsis "Common program execution related classes") (description "Commons-Exec simplifies executing external processes.") (license license:asl2.0))) @@ -6584,7 +6584,7 @@ logging framework for Java."))) (native-inputs `(("java-junit" ,java-junit) ("java-hamcrest-core" ,java-hamcrest-core))) - (home-page "http://commons.apache.org/cli/") + (home-page "https://commons.apache.org/cli/") (synopsis "Command line arguments and options parsing library") (description "The Apache Commons CLI library provides an API for parsing command line options passed to programs. It is also able to print help @@ -6634,7 +6634,7 @@ This is a part of the Apache Commons Project.") (native-inputs `(("java-junit" ,java-junit) ("java-hamcrest-core" ,java-hamcrest-core))) - (home-page "http://commons.apache.org/codec/") + (home-page "https://commons.apache.org/codec/") (synopsis "Common encoders and decoders such as Base64, Hex, Phonetic and URLs") (description "The codec package contains simple encoder and decoders for various formats such as Base64 and Hexadecimal. In addition to these widely @@ -6903,7 +6903,7 @@ tree walking, and translation.") (native-inputs `(("antlr" ,antlr2) ("java-junit" ,java-junit))) - (home-page "http://www.stringtemplate.org") + (home-page "https://www.stringtemplate.org") (synopsis "Template engine to generate formatted text output") (description "StringTemplate is a java template engine (with ports for C#, Objective-C, JavaScript, Scala) for generating source code, web pages, emails, @@ -11549,16 +11549,16 @@ the application using Java to Lisp integration APIs.") (define-public java-jsonp-api (package (name "java-jsonp-api") - (version "1.1.5") + (version "1.1.6") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/eclipse-ee4j/jsonp") - (commit (string-append version "-RELEASE")))) + (commit (string-append "1.1-" version "-RELEASE")))) (file-name (git-file-name name version)) (sha256 (base32 - "0nxq16lrx7i87hgyj5rzcwilvr67h0i299gygfn8f5vs4n7n59vy")))) + "0zrj03hkr3jdmqlb4ipjr37cqpp2q2814qpmxi7srlwpdqs0ibgc")))) (build-system ant-build-system) (arguments `(#:jar-name "jsonp-api.jar" @@ -11584,7 +11584,15 @@ and allows to build a Java object model for JSON text using API classes `(#:jar-name "jsonp-impl.jar" #:tests? #f #:source-dir "impl/src/main/java" - #:test-dir "impl/src/test")) + #:test-dir "impl/src/test" + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (copy-recursively + "impl/src/main/resources/" + "build/classes") + #t))))) (propagated-inputs `(("java-jsonp-api" ,java-jsonp-api))) (description "JSON Processing (JSON-P) is a Java API to process (e.g. diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm index 6868a37f86..467a7d0cb9 100644 --- a/gnu/packages/javascript.scm +++ b/gnu/packages/javascript.scm @@ -333,7 +333,7 @@ Worker, but it can be used in other JavaScript environments.") "15gichl8wi6yxag2ps723nxrgyan15976dzsnvw9h9py8sbyyzjn")))) (build-system minify-build-system) (arguments `(#:javascript-files '("src/selectize.js"))) - (home-page "http://selectize.github.io/selectize.js/") + (home-page "https://selectize.github.io/selectize.js/") (synopsis "Hybrid widget between a textbox and <select> box") (description "Selectize is the hybrid of a textbox and @code{<select>} box. It's jQuery based and it has autocomplete and native-feeling keyboard diff --git a/gnu/packages/kde-internet.scm b/gnu/packages/kde-internet.scm index 0d5b9788b8..12aa9fe53a 100644 --- a/gnu/packages/kde-internet.scm +++ b/gnu/packages/kde-internet.scm @@ -51,7 +51,7 @@ (define-public choqok (package (name "choqok") - (version "1.6.0") + (version "1.7.0") (source (origin (method url-fetch) @@ -59,8 +59,7 @@ (version-major+minor version) "/src/choqok-" version ".tar.xz")) (sha256 - (base32 "03ri4y1wzyqlixnhczsls5gmy7jzzm67bb5gz8bav51ngc32fxca")) - (patches (search-patches "choqok-Fix-building-under-Qt-5.13.patch")))) + (base32 "0zm4nkpmvd181xlkis7ydzx54p3vn0zgpdzgh54f1hsjy6ahsq16")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -86,9 +85,11 @@ ("kxmlgui" ,kxmlgui) ;; TODO: telepathy ("oxygen-icons" ,oxygen-icons) ; default icon set + ("purpose" ,purpose) ("qca" ,qca) ("qoauth" ,qoauth) ("qtbase" ,qtbase) + ("qtnetworkauth" ,qtnetworkauth) ("qtwebkit" ,qtwebkit) ("sonnet" ,sonnet))) (home-page "https://kde.org/applications/internet/org.kde.choqok") diff --git a/gnu/packages/key-mon.scm b/gnu/packages/key-mon.scm index 1482d07f7c..884bef042f 100644 --- a/gnu/packages/key-mon.scm +++ b/gnu/packages/key-mon.scm @@ -47,7 +47,7 @@ `(("python2-xlib" ,python2-xlib) ("python2-pygtk" ,python2-pygtk) ("python2-rsvg" ,python2-rsvg))) - (home-page "http://code.google.com/p/key-mon") + (home-page "https://code.google.com/p/key-mon") (synopsis "Show keyboard and mouse status") (description "The key-mon utility displays the current keyboard and mouse status. diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index c74d4e0532..81294f4859 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -269,7 +269,7 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.") (define-public kodi (package (name "kodi") - (version "18.4") + (version "18.6") (source (origin (method git-fetch) (uri (git-reference @@ -278,7 +278,7 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.") (file-name (git-file-name name version)) (sha256 (base32 - "1m0295czxabdcqyqf5m94av9d88pzhnzjvyfs1q07xqq82h313p7")) + "0rwymipn5hljy5xrslzmrljmj6f9wb191wi7gjw20wl6sv44d0bk")) (patches (search-patches "kodi-skip-test-449.patch" "kodi-increase-test-timeout.patch" "kodi-set-libcurl-ssl-parameters.patch")) diff --git a/gnu/packages/ld-wrapper-next.in b/gnu/packages/ld-wrapper-next.in new file mode 100644 index 0000000000..5d5756f6a3 --- /dev/null +++ b/gnu/packages/ld-wrapper-next.in @@ -0,0 +1,305 @@ +#!@BASH@ +# -*- mode: scheme; coding: utf-8; -*- + +# XXX: We have to go through Bash because there's no command-line switch to +# augment %load-compiled-path, and because of the silly 127-byte limit for +# the shebang line in Linux. +# Use `load-compiled' because `load' (and `-l') doesn't otherwise load our +# .go file (see <http://bugs.gnu.org/12519>). +# Unset 'GUILE_LOAD_COMPILED_PATH' to make sure we do not stumble upon +# incompatible .go files. See +# <https://lists.gnu.org/archive/html/guile-devel/2016-03/msg00000.html>. + +unset GUILE_LOAD_COMPILED_PATH +main="(@ (gnu build-support ld-wrapper) ld-wrapper)" +exec @GUILE@ -c "(load-compiled \"@SELF@.go\") (apply $main (cdr (command-line)))" "$@" +!# +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu build-support ld-wrapper) + #:use-module (srfi srfi-1) + #:use-module (ice-9 match) + #:autoload (ice-9 rdelim) (read-delimited) + #:export (ld-wrapper)) + +;;; Commentary: +;;; +;;; This is a wrapper for the linker. Its purpose is to inspect the -L and +;;; -l switches passed to the linker, add corresponding -rpath arguments, and +;;; invoke the actual linker with this new set of arguments. +;;; +;;; The alternatives to this hack would be: +;;; +;;; 1. Using $LD_RUN_PATH. However, that would tend to include more than +;;; needed in the RPATH; for instance, given a package with `libfoo' as +;;; an input, all its binaries would have libfoo in their RPATH, +;;; regardless of whether they actually NEED it. +;;; +;;; 2. Use a GCC "lib" spec string such as `%{L*:-rpath %*}', which adds a +;;; `-rpath LIBDIR' argument for each occurrence of `-L LIBDIR'. +;;; However, this doesn't work when $LIBRARY_PATH is used, because the +;;; additional `-L' switches are not matched by the above rule, because +;;; the rule only matches explicit user-provided switches. See +;;; <http://gcc.gnu.org/ml/gcc-help/2012-09/msg00110.html> for details. +;;; +;;; As a bonus, this wrapper checks for "impurities"--i.e., references to +;;; libraries outside the store. +;;; +;;; Code: + +(define %real-ld + ;; Name of the linker that we wrap. + "@LD@") + +(define %store-directory + ;; File name of the store. + (or (getenv "NIX_STORE") "/gnu/store")) + +(define %temporary-directory + ;; Temporary directory. + (or (getenv "TMPDIR") "/tmp")) + +(define %build-directory + ;; Top build directory when run from a builder. + (getenv "NIX_BUILD_TOP")) + +(define %allow-impurities? + ;; Whether to allow references to libraries outside the store. + ;; Allow them by default for convenience. + (let ((value (getenv "GUIX_LD_WRAPPER_ALLOW_IMPURITIES"))) + (or (not value) + (let ((value (string-downcase value))) + (cond ((member value '("yes" "y" "t" "true" "1")) + #t) + ((member value '("no" "n" "f" "false" "0")) + #f) + (else + (format (current-error-port) + "ld-wrapper: ~s: invalid value for \ +'GUIX_LD_WRAPPER_ALLOW_IMPURITIES'~%" + value))))))) + +(define %debug? + ;; Whether to emit debugging output. + (getenv "GUIX_LD_WRAPPER_DEBUG")) + +(define %disable-rpath? + ;; Whether to disable automatic '-rpath' addition. + (getenv "GUIX_LD_WRAPPER_DISABLE_RPATH")) + +(define (readlink* file) + ;; Call 'readlink' until the result is not a symlink. + (define %max-symlink-depth 50) + + (let loop ((file file) + (depth 0)) + (define (absolute target) + (if (absolute-file-name? target) + target + (string-append (dirname file) "/" target))) + + (if (>= depth %max-symlink-depth) + file + (call-with-values + (lambda () + (catch 'system-error + (lambda () + (values #t (readlink file))) + (lambda args + (let ((errno (system-error-errno args))) + (if (or (= errno EINVAL) (= errno ENOENT)) + (values #f file) + (apply throw args)))))) + (lambda (success? target) + (if success? + (loop (absolute target) (+ depth 1)) + file)))))) + +(define (pure-file-name? file) + ;; Return #t when FILE is the name of a file either within the store + ;; (possibly via a symlink) or within the build directory. + (let ((file (readlink* file))) + (or (not (string-prefix? "/" file)) + (string-prefix? %store-directory file) + (string-prefix? %temporary-directory file) + (and %build-directory + (string-prefix? %build-directory file))))) + +(define (store-file-name? file) + ;; Return #t when FILE is a store file, possibly indirectly. + (string-prefix? %store-directory (readlink* file))) + +(define (shared-library? file) + ;; Return #t when FILE denotes a shared library. + (or (string-suffix? ".so" file) + (let ((index (string-contains file ".so."))) + ;; Since we cannot use regexps during bootstrap, roll our own. + (and index + (string-every (char-set-union (char-set #\.) char-set:digit) + (string-drop file (+ index 3))))))) + +(define (library-search-path args) + ;; Return the library search path as a list of directory names. The GNU ld + ;; manual notes that "[a]ll `-L' options apply to all `-l' options, + ;; regardless of the order in which the options appear", so we must compute + ;; the search path independently of the -l options. + (let loop ((args args) + (path '())) + (match args + (() + (reverse path)) + (("-L" directory . rest) + (loop rest (cons directory path))) + ((argument . rest) + (if (string-prefix? "-L" argument) ;augment the search path + (loop rest + (cons (string-drop argument 2) path)) + (loop rest path)))))) + +(define (library-files-linked args library-path) + ;; Return the absolute file names of shared libraries explicitly linked + ;; against via `-l' or with an absolute file name in ARGS, looking them up + ;; in LIBRARY-PATH. + (define files+args + (fold (lambda (argument result) + (match result + ((library-files ((and flag + (or "-dynamic-linker" "-plugin")) + . rest)) + ;; When passed '-dynamic-linker ld.so', ignore 'ld.so'; when + ;; passed '-plugin liblto_plugin.so', ignore + ;; 'liblto_plugin.so'. See <http://bugs.gnu.org/20102>. + (list library-files + (cons* argument flag rest))) + ((library-files previous-args) + (cond ((string-prefix? "-l" argument) ;add library + (let* ((lib (string-append "lib" + (string-drop argument 2) + ".so")) + (full (search-path library-path lib))) + (list (if full + (cons full library-files) + library-files) + (cons argument previous-args)))) + ((and (string-prefix? %store-directory argument) + (shared-library? argument)) ;add library + (list (cons argument library-files) + (cons argument previous-args))) + (else + (list library-files + (cons argument previous-args))))))) + (list '() '()) + args)) + + (match files+args + ((files arguments) + (reverse files)))) + +(define (rpath-arguments library-files) + ;; Return the `-rpath' argument list for each of LIBRARY-FILES, a list of + ;; absolute file names. + (fold-right (lambda (file args) + ;; Add '-rpath' if and only if FILE is in the store; we don't + ;; want to add '-rpath' for files under %BUILD-DIRECTORY or + ;; %TEMPORARY-DIRECTORY because that could leak to installed + ;; files. + (cond ((and (not %disable-rpath?) + (store-file-name? file)) + (cons* "-rpath" (dirname file) args)) + ((or %allow-impurities? + (pure-file-name? file)) + args) + (else + (begin + (format (current-error-port) + "ld-wrapper: error: attempt to use \ +library outside of ~a: ~s~%" + %store-directory file) + (exit 1))))) + '() + library-files)) + +(define (expand-arguments args) + ;; Expand ARGS such that "response file" arguments, such as "@args.txt", are + ;; expanded (info "(gcc) Overall Options"). + (define (response-file-arguments file) + (define (tokenize port) + ;; Return a list of all strings found in PORT. Quote characters are removed, + ;; but whitespaces within quoted strings are preserved. + (let loop ((words '())) + (let* ((word (read-delimited " '\"" port 'split)) + (token (car word)) + (delim (cdr word))) + (if (eof-object? delim) + (reverse words) + (case delim + ((#\") (loop (cons (read-delimited "\"" port) words))) + ((#\') (loop (cons (read-delimited "'" port) words))) + ((#\ ) (if (> 0 (string-length token)) + (loop (cons token words)) + (loop words))) + (else (loop words))))))) + + (when %debug? + (format (current-error-port) + "ld-wrapper: attempting to read arguments from '~a'~%" file)) + + (call-with-input-file file tokenize)) + + (define result + (fold-right (lambda (arg result) + (if (string-prefix? "@" arg) + (let ((file (string-drop arg 1))) + (append (catch 'system-error + (lambda () + (response-file-arguments file)) + (lambda args + ;; FILE doesn't exist or cannot be read so + ;; leave ARG as is. + (list arg))) + result)) + (cons arg result))) + '() + args)) + + ;; If there are "@" arguments in RESULT *and* we can expand them (they don't + ;; refer to nonexistent files), then recurse. + (if (equal? result args) + result + (expand-arguments result))) + +(define (ld-wrapper . args) + ;; Invoke the real `ld' with ARGS, augmented with `-rpath' switches. + (let* ((args (expand-arguments args)) + (path (library-search-path args)) + (libs (library-files-linked args path)) + (args (append args (rpath-arguments libs)))) + (when %debug? + (format (current-error-port) + "ld-wrapper: library search path: ~s~%" path) + (format (current-error-port) + "ld-wrapper: libraries linked: ~s~%" libs) + (format (current-error-port) + "ld-wrapper: invoking `~a' with ~s~%" + %real-ld args) + (force-output (current-error-port))) + (apply execl %real-ld (basename %real-ld) args))) + +;;; ld-wrapper.scm ends here diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm index 4a0dc052d8..4e93f5cf01 100644 --- a/gnu/packages/libevent.scm +++ b/gnu/packages/libevent.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015, 2017 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> ;;; Copyright © 2016 David Thompson <davet@gnu.org> -;;; Copyright © 2017, 2019 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz> @@ -51,6 +51,7 @@ (base32 "0g988zqm45sj1hlhhz4il5z4dpi5dl74hzjwzl4md37a09iaqnx6")))) (build-system gnu-build-system) + (outputs '("out" "bin")) (arguments ;; This skips some of the tests which fail on armhf and aarch64. '(#:configure-flags '("--disable-libevent-regress"))) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index c91d5fe031..2af76d4007 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> -;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com> @@ -31,11 +31,12 @@ (define-module (gnu packages libreoffice) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) + #:use-module (guix build-system python) #:use-module (guix build-system trivial) #:use-module (guix download) #:use-module (guix git-download) #:use-module ((guix licenses) - #:select (gpl2+ lgpl2.1+ lgpl3+ mpl1.1 mpl2.0 + #:select (gpl2 gpl2+ lgpl2.1+ lgpl3+ mpl1.1 mpl2.0 non-copyleft x11-style bsd-3)) #:use-module (guix packages) #:use-module (guix utils) @@ -118,8 +119,8 @@ their dependencies automatically upon calculation.") (source (origin (method url-fetch) - (uri (string-append "http://kohei.us/files/" name "/src/lib" - name "-" version ".tar.xz")) + (uri (string-append "http://kohei.us/files/orcus/src/lib" + "orcus-" version ".tar.xz")) (sha256 (base32 "14gbnqsv5n2fm4sxa17014f440clrzls6p2w2ixk9wipg4950v9s")))) @@ -141,6 +142,63 @@ Plain Text, Gnumeric XML, Generic XML. It also includes low-level parsers for CSV, CSS and XML.") (license mpl2.0))) +(define-public unoconv + (package + (name "unoconv") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "unoconv" version)) + (sha256 + (base32 "0cb0bvyxib3xrj0jdgizhp6p057lr8kqnd3n921rin37ivcvz3ih")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'stop-hash-sniffing + ;; Fixes <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=39647#11>. + ;; Submitted upsteam: <https://github.com/unoconv/unoconv/pull/531>. + (lambda _ + (substitute* "unoconv" + (("sys.argv\\[0\\]\\.split\\('2'\\)") + "os.path.basename(sys.argv[0]).split('2')")) + #t)) + (add-after 'unpack 'patch-find_offices + ;; find_offices is a convoluted cross-platform treasure hunt. + ;; Keep things simple and return the correct paths immediately. + (lambda* (#:key inputs #:allow-other-keys) + (let* ((libreoffice (assoc-ref inputs "libreoffice"))) + (substitute* "unoconv" + (("def find_offices\\(\\):" match) + (string-append + match "\n" + " return [Office(" + "'" libreoffice "/lib/libreoffice', " + "'" libreoffice "/lib/libreoffice/program', " + "'" libreoffice "/lib/libreoffice/program', " + "'" libreoffice "/lib/libreoffice/program/pyuno.so', " + "'" libreoffice "/bin/soffice', " + "sys.executable, " + "None)]\n"))) + #t)))))) + (inputs + `(("libreoffice" ,libreoffice))) + (home-page "http://dag.wiee.rs/home-made/unoconv/") + (synopsis "Convert between any document format supported by LibreOffice") + (description + "Unoconv is a command-line utility to convert documents from any format +that LibreOffice can import, to any format it can export. It can be used for +batch processing and can apply custom style templates and filters. + +Unoconv converts between over a hundred formats, including Open Document +Format (@file{.odt}, @file{.ods}, @file{.odp})), Portable Document Format +(@file{.pdf}), HTML and XHTML, RTF, DocBook (@file{.xml}), @file{.doc} and +@file{.docx}), @file{.xls} and @file{.xlsx}). + +All required fonts must be installed on the converting system.") + (license gpl2))) + (define-public librevenge (package (name "librevenge") @@ -148,8 +206,8 @@ CSV, CSS and XML.") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/libwpd/" name "/" name "-" - version "/" name "-" version ".tar.xz")) + (uri (string-append "mirror://sourceforge/libwpd/librevenge/librevenge-" + version "/librevenge-" version ".tar.xz")) (sha256 (base32 "1cj76cz4mqcy2mgv9l5xlc95bypyk8zbq0ls9cswqrs2y0lhfgwk")))) (build-system gnu-build-system) @@ -428,22 +486,20 @@ Apple Keynote documents. It currently supports Keynote versions 2 to 5.") (define-public liblangtag (package (name "liblangtag") - (version "0.6.2") + (version "0.6.3") (source (origin (method url-fetch) (uri (string-append "https://bitbucket.org/tagoh/liblangtag/downloads/" - name "-" version ".tar.bz2")) + "liblangtag-" version ".tar.bz2")) (sha256 - (base32 - "0bnm4hllr8cfrybm8rw7b8n0nlhzhnv73bkg1bxk452g6a82f96n")))) + (base32 "1g9kwxx60q0hpwvs66ys1cb9qg54hfvbivadwli8sfpc085a44hz")))) (build-system gnu-build-system) (native-inputs `(("libtool" ,libtool) ("pkg-config" ,pkg-config))) (inputs `(("libxml2" ,libxml2))) - ;; As of December 2017, tagoh.bitbucket.org redirects to a hosting advert. (home-page "https://bitbucket.org/tagoh/liblangtag") (synopsis "Library to access tags for identifying languages") (description "Liblangtag implements an interface to work with tags @@ -1047,6 +1103,14 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.") "solenv/gbuild/platform/unxgcc.mk") (("/bin/sh") (which "sh"))) + ;; Use store references for strictly necessary commands, + ;; but not for optional tools like ‘gdb’ and ‘valgrind’. + (for-each (lambda (command) + (substitute* "desktop/scripts/soffice.sh" + (((format #f"~a " command)) + (format #f "~a " (which command))))) + (list "dirname" "grep" "uname")) + ;; GPGME++ headers are installed in a gpgme++ subdirectory, but ;; files in "xmlsecurity/source/gpg/" and elsewhere expect to ;; find them on the include path without a prefix. diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index b402b4920d..2fc4afacd3 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -39,6 +39,9 @@ ;;; Copyright © 2019 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> +;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz> +;;; Copyright © 2020 Chris Marusich <cmmarusich@gmail.com> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -190,31 +193,31 @@ defconfig. Return the appropriate make target if applicable, otherwise return (define deblob-scripts-5.4 (linux-libre-deblob-scripts - "5.4.14" + "5.4.19" (base32 "0ckxn7k5zgcqk30dq943bnamr6a6zjbw2aqjl3x30f4kvh5f6k25") - (base32 "121px6030s89jh975sw0whwq315al6px1s7ildz3asql97bjdgc8"))) + (base32 "1ajzwyy6vgmihxpz3sbshzfzd0w8yzj0fihv0d5rjpr4z3gm48bk"))) (define deblob-scripts-4.19 (linux-libre-deblob-scripts - "4.19.98" + "4.19.103" (base32 "02zs405awaxydbapka4nz8h6lmnc0dahgczqsrs5s2bmzjyyqkcy") (base32 "1w2wgxblpq09i33qmqgw5v3r5rm9vkkygr6m0sgv4zgczk9s29wr"))) (define deblob-scripts-4.14 (linux-libre-deblob-scripts - "4.14.167" + "4.14.170" (base32 "091jk9jkn9jf39bxpc7395bhcb7p96nkg3a8047380ki06lnfxh6") (base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky"))) (define deblob-scripts-4.9 (linux-libre-deblob-scripts - "4.9.211" + "4.9.213" (base32 "1wvldzlv7q2xdbadas87dh593nxr4a8p5n0f8zpm72lja6w18hmg") (base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2"))) (define deblob-scripts-4.4 (linux-libre-deblob-scripts - "4.4.211" + "4.4.213" (base32 "0x2j1i88am54ih2mk7gyl79g25l9zz4r08xhl482l3fvjj2irwbw") (base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf"))) @@ -358,42 +361,42 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." "linux-" version ".tar.xz")) (sha256 hash))) -(define-public linux-libre-5.4-version "5.4.19") +(define-public linux-libre-5.4-version "5.4.23") (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "1f3pzg8vai5qz19gy9gf3rxs2z4dsw78zjkkfnha8iiy2mqvk14m"))) + (hash (base32 "1jhyg2yc03fka92l7hwdajim6q5rk538hjdr1gwgvpfyyp6sla1z"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.103") +(define-public linux-libre-4.19-version "4.19.107") (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "0hxvqkjy63370sr9j4j0a1kzqwxxdn3i8i6wwc5c2gbzpmqlay5l"))) + (hash (base32 "0h02pxzzwc5w2kfqw686bpxc13a93yq449lyzxxkxq1qilcsqjv5"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.170") +(define-public linux-libre-4.14-version "4.14.172") (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "1hqp3spi4cqgkqkzx5g2nbp6isz0kdcsj56ilsp6siqiglj662ll"))) + (hash (base32 "0yi13cky6jdswca7nrjgcrdxk8rnqdbhblhy6mws103mjfms2613"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.213") +(define-public linux-libre-4.9-version "4.9.215") (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "0r7bqpvbpiiniwsm338b38mv6flfgm1r09avxqsakhkh8rvgz1dg"))) + (hash (base32 "0j4z2al318654z40w4f8zhh73zwpgn8igjr5k4mz401phm3jyvr3"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.213") +(define-public linux-libre-4.4-version "4.4.215") (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "1cmwn9zvz14jqjy6qkszglhs2p5h6yh82b2269cbzvibg8y3rxq0"))) + (hash (base32 "00zy6cxwb16pqziiqs25pz5llryx2v2nbk9vvzpzxa8x43ad7g18"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) @@ -910,6 +913,52 @@ It grants direct and undocumented access to your hardware that may cause damage and should be used with caution, especially on untested models.") (license license:gpl3+))) ; see README.md (no licence headers) +(define-public rtl8812au-aircrack-ng-linux-module + (let ((commit "945d6ed6505c32f0993b1dba576388e92e78101b") + (revision "0")) + (package + (name "rtl8812au-aircrack-ng-linux-module") + (version (git-version "5.6.4.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/aircrack-ng/rtl8812au.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1pjws7qb5l4z9k80vgz4zdxmqhbwxjjrmkpf0hijf821byyddvi7")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove bundled tarballs, APKs, word lists, speadsheets, + ;; and other unnecessary unlicenced things. + (for-each delete-file-recursively (list "android" + "docs" + "tools")) + #t)))) + (build-system linux-module-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'build + (lambda* (#:key inputs make-flags #:allow-other-keys) + (apply invoke "make" + (string-append "KSRC=" + (assoc-ref inputs "linux-module-builder") + "/lib/modules/build") + (or make-flags '()))))) + #:tests? #f)) ; no test suite + (supported-systems '("x86_64-linux" "i686-linux")) + (home-page "https://github.com/aircrack-ng/rtl8812au") + (synopsis "Linux driver for Realtek USB wireless network adapters") + (description + "This is Realtek's rtl8812au Linux driver for USB 802.11n wireless +network adapters, modified by the aircrack-ng project to support monitor mode +and frame injection. It provides a @code{88XXau} kernel module that supports +RTL8812AU, RTL8821AU, and RTL8814AU chips.") + (license license:gpl2+)))) + (define-public vhba-module (package (name "vhba-module") @@ -1236,6 +1285,62 @@ The Discordian calendar was made popular by the \"Illuminatus!\" trilogy by Robert Shea and Robert Anton Wilson.") (license license:public-domain))) +(define-public fbset + (package + (name "fbset") + (version "2.1") + (source + (origin + (method url-fetch) + (uri (string-append "http://users.telenet.be/geertu/Linux/fbdev/fbset-" + version ".tar.gz")) + (sha256 + (base32 "080wnisi0jq7dp0jcwdp83rq8q8s3kw41vc712516xbv4jq4mzs0")))) + (build-system gnu-build-system) + (arguments + '(#:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-26)) + #:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure script + (add-before 'install 'pre-install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "Makefile" + (("mknod ") "true ") + ;; The Makefile doesn't honour PREFIX or similar. + (("/usr") out)) + (mkdir out) + (with-directory-excursion out + (for-each mkdir-p (list "sbin" + "man/man5" + "man/man8"))) + #t))) + (add-after 'install 'install-fb.modes + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (etc (string-append out "/etc"))) + (for-each (cut install-file <> etc) + (find-files "etc" "^fb\\.modes")) + (symlink "fb.modes.ATI" + (string-append etc "/fb.modes")) + #t)))) + ;; Parallel building races to create modes.tab.c. + #:parallel-build? #f + #:tests? #f)) ; no test suite + (native-inputs + `(("bison" ,bison) + ("flex" ,flex))) + (home-page "http://users.telenet.be/geertu/Linux/fbdev/") + (synopsis "Show and modify Linux frame buffer settings") + (description + "The kernel Linux's @dfn{frame buffers} provide a simple interface to +different kinds of graphic displays. The @command{fbset} utility can query and +change various device settings such as depth, virtual resolution, and timing +parameters.") + (license license:gpl2))) + (define-public procps (package (name "procps") @@ -1752,54 +1857,45 @@ IPv6 packet filter. Both commands are targeted at system administrators.") (license license:gpl2+))) +(define-public lsscsi + (package + (name "lsscsi") + (version "0.31") + (source (origin + (method url-fetch) + (uri (string-append + "http://sg.danny.cz/scsi/lsscsi-" version ".tar.xz")) + (sha256 + (base32 + "1ry2y34xmpgxdbfbyvs8cjmbx0fn222yjdab87wj21q60nab5p75")))) + (build-system gnu-build-system) + (synopsis "Lists information about SCSI or NVMe devices in Linux") + (home-page "http://sg.danny.cz/scsi/lsscsi.html") + (description + "@command{lsscsi} lists SCSI logical units or SCSI targets. It can +also list NVMe namespaces or controllers and show the relationship between a +device's primary node name, its SCSI generic (sg) node name and its kernel +name.") + (license license:gpl2))) + (define-public ebtables (package (name "ebtables") - (version "2.0.10-4") + (version "2.0.11") (source (origin (method url-fetch) (uri (string-append - "mirror://netfilter.org/ebtables/ebtables-v" + "mirror://netfilter.org/ebtables/ebtables-" version ".tar.gz")) (sha256 (base32 - "0pa5ljlk970yfyhpf3iqwfpbc30j8mgn90fapw9cfz909x47nvyw")))) + "0apxgmkhsk3vxn9q3libxn3dgrdljrxyy4mli2gk49m7hi3na7xp")))) (build-system gnu-build-system) - (arguments - '(#:tests? #f ; no test suite - #:make-flags - (let* ((out (assoc-ref %outputs "out")) - (bin (string-append out "/sbin")) - (lib (string-append out "/lib")) - (man (string-append out "/share/man")) - (iptables (assoc-ref %build-inputs "iptables")) - (ethertypes (string-append iptables "/etc/ethertypes"))) - (list (string-append "LIBDIR=" lib) - (string-append "MANDIR=" man) - (string-append "BINDIR=" bin) - (string-append "ETHERTYPESFILE=" ethertypes) - ;; With the default CFLAGS, it falis with: - ;; communication.c:259:58: error: variable ‘ret’ set but not - ;; used [-Werror=unused-but-set-variable] - "CFLAGS=-Wall")) - #:phases - (modify-phases %standard-phases - (replace 'configure - ;; no configure script - (lambda _ - (substitute* "Makefile" - ;; Remove user and group options from install commands, - ;; otherwise it fails with: invalid user 'root'. - (("-o root -g root") "") - ;; Remove 'ethertypes' from the install target. - (("install: .*") - "install: $(MANDIR)/man8/ebtables.8 exec scripts\n")) - #t))))) (inputs `(("perl" ,perl) ("iptables" ,iptables))) (synopsis "Ethernet bridge frame table administration") - (home-page "http://ebtables.netfilter.org/") + (home-page "https://ebtables.netfilter.org/") (description "ebtables is an application program used to set up and maintain the tables of rules (inside the Linux kernel) that inspect Ethernet frames. It is @@ -2700,7 +2796,7 @@ from the module-init-tools project.") (define-public earlyoom (package (name "earlyoom") - (version "1.3") + (version "1.3.1") (source (origin (method git-fetch) (uri (git-reference @@ -2709,7 +2805,7 @@ from the module-init-tools project.") (file-name (git-file-name name version)) (sha256 (base32 - "0fwbx0y80nqgkxrc9kf9j3iwa0wbps2jmqir3pgqbc2cj0wjh0lr")))) + "06sd3jpkdrwqbphsf8jrgs5rxfi7j3xjmygjjvj4xjk4gncz7r2i")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -4091,7 +4187,7 @@ and copy/paste text in the console and in xterm.") (define-public btrfs-progs (package (name "btrfs-progs") - (version "5.4") + (version "5.4.1") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/kernel/" @@ -4099,12 +4195,19 @@ and copy/paste text in the console and in xterm.") "btrfs-progs-v" version ".tar.xz")) (sha256 (base32 - "1ykhasv0jc3qi3xrm5841mzkmlbkjw6rm70gl4aww90jj6ak55qg")))) + "0scxg9p6z0wss92gmv5a8yxdmr8x449kb5v3bfnvs26n92r7zq7k")))) (build-system gnu-build-system) (outputs '("out" "static")) ; static versions of the binaries in "out" (arguments '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-makefile + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Makefile" + (("\\$\\(DESTDIR\\)\\$\\(udevruledir\\)") + (string-append (assoc-ref outputs "out") + "/lib/udev/rules.d"))) + #t)) (add-after 'build 'build-static (lambda _ (invoke "make" "static"))) (add-after 'install 'install-bash-completion @@ -4125,7 +4228,7 @@ and copy/paste text in the console and in xterm.") #:tests? #f ; XXX: require the 'btrfs' kernel module. #:test-target "test" #:parallel-tests? #f)) ; tests fail when run in parallel - (inputs `(("e2fsprogs" ,e2fsprogs) + (inputs `(("e2fsprogs" ,e2fsprogs) ; for btrfs-convert ("lzo" ,lzo) ("util-linux:lib" ,util-linux "lib") ;for libblkid and libuuid ("util-linux:static" ,util-linux "static") ;ditto @@ -4143,6 +4246,8 @@ and copy/paste text in the console and in xterm.") ;; For tests. ("acl" ,acl) ("which" ,which) + ("dmsetup" ,lvm2) + ("udevadm" ,eudev) ;; The tests need 'grep' with perl regexp support. ("grep" ,grep))) (home-page "https://btrfs.wiki.kernel.org/index.php/Main_Page") @@ -4720,7 +4825,7 @@ cpufreq sub-system is enabled or not.") (define-public haveged (package (name "haveged") - (version "1.9.6") + (version "1.9.8") (source (origin (method git-fetch) @@ -4729,7 +4834,7 @@ cpufreq sub-system is enabled or not.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "11kr19n2f87izsj341lv5amhd1wc2ckfmqr9pq5fxix8pkbs94rh")))) + (base32 "1znr58fb3faq4nmrvc3c5whkc1f3chivm4vhicdwr9pdsyqqsd51")))) (build-system gnu-build-system) (home-page "https://www.issihosts.com/haveged") (synopsis "Entropy source for the Linux random number generator") @@ -5599,14 +5704,14 @@ available in the kernel Linux.") (define-public cpuid (package (name "cpuid") - (version "20200116") + (version "20200211") (source (origin (method url-fetch) (uri (string-append "http://www.etallen.com/cpuid/cpuid-" version ".src.tar.gz")) (sha256 (base32 - "1gxi4iwy6j366l6bkj1yyxhrk1rxmwfp498gikfxn8xwhij9dn0a")))) + "06sjbqqp80l7nhsp6khglkzdp9qy4vhbvjxbfilznhsmrqiwlw55")))) (build-system gnu-build-system) (arguments '(#:make-flags '("CC=gcc") @@ -6355,3 +6460,51 @@ the Linux kernel, C standard library, and libdl (for dynamic linking). While ELL is designed to be efficient and compact enough for use on embedded Linux platforms, it is not limited to resource-constrained systems.") (license license:lgpl2.1+))) + +(define-public lttng-ust + (package + (name "lttng-ust") + (version "2.11.0") + (source (origin + (method url-fetch) + (uri (string-append "https://lttng.org/files/lttng-ust/" + "lttng-ust-" version ".tar.bz2")) + (sha256 + (base32 + "1n646yz7882svf5a4ay3vqiiz3qjn3pgkkij9kk22871wp7q0ck8")))) + (build-system gnu-build-system) + (inputs + `(("liburcu" ,liburcu) + ("numactl" ,numactl))) + (native-inputs + `(("python" ,python-3))) + (home-page "https://lttng.org/") + (synopsis "LTTng userspace tracer libraries") + (description "The user space tracing library, liblttng-ust, is the LTTng +user space tracer. It receives commands from a session daemon, for example to +enable and disable specific instrumentation points, and writes event records +to ring buffers shared with a consumer daemon.") + (license license:lgpl2.1+))) + +(define-public kexec-tools + (package + (name "kexec-tools") + (version "2.0.20") + (source (origin + (method url-fetch) + (uri (string-append "mirror://kernel.org/linux/utils/kernel" + "/kexec/kexec-tools-" version ".tar.xz")) + (sha256 + (base32 + "1j7qlhxk1rbv9jbj8wd6hb7zl8p2mp29ymrmccgmsi0m0dzhgn6s")))) + (build-system gnu-build-system) + (arguments + ;; There are no automated tests. + '(#:tests? #f)) + (home-page "https://projects.horms.net/projects/kexec/") + (synopsis "Tools for booting directly into different kernels") + (description "This package provides the @code{kexec} program and ancillary +utilities. Using @code{kexec}, it is possible to boot directly into a new +kernel from the context of an already-running kernel, bypassing the normal +system boot process.") + (license license:gpl2))) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index dbb95ce387..924fb19805 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net> +;;; Copyright © 2020 Dimakis Dimakakos <me@bendersteed.tech> ;;; ;;; This file is part of GNU Guix. ;;; @@ -50,6 +51,7 @@ #:use-module (guix build-system trivial) #:use-module (gnu packages c) #:use-module (gnu packages compression) + #:use-module (gnu packages databases) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages imagemagick) @@ -57,6 +59,7 @@ #:use-module (gnu packages libffi) #:use-module (gnu packages lisp) #:use-module (gnu packages maths) + #:use-module (gnu packages networking) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) @@ -218,7 +221,7 @@ support.") ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most popular CL implementations implement it. This package provides an extremely thin compatibility layer for gray streams.") - (home-page "http://www.cliki.net/trivial-gray-streams") + (home-page "https://www.cliki.net/trivial-gray-streams") (license license:x11)))) (define-public cl-trivial-gray-streams @@ -602,7 +605,7 @@ files.") (build-system asdf-build-system/sbcl) (native-inputs `(("fiasco" ,sbcl-fiasco))) - (home-page "http://www.cliki.net/portable-clx") + (home-page "https://www.cliki.net/portable-clx") (synopsis "X11 client library for Common Lisp") (description "CLX is an X11 client library for Common Lisp. The code was originally taken from a CMUCL distribution, was modified somewhat in order to @@ -962,18 +965,15 @@ else @code{parse-number} signals an error of type @code{invalid-number}.") (define-public sbcl-iterate (package (name "sbcl-iterate") - ;; The latest official release (1.4.3) fails to build so we have to take - ;; the current darcs tarball from quicklisp. - (version "20160825") + (version "1.5") (source (origin (method url-fetch) - (uri (string-append "http://beta.quicklisp.org/archive/iterate/" - "2016-08-25/iterate-" - version "-darcs.tgz")) + (uri (string-append "https://common-lisp.net/project/iterate/releases/" + "iterate-" version ".tar.gz")) (sha256 (base32 - "0kvz16gnxnkdz0fy1x8y5yr28nfm7i2qpvix7mgwccdpjmsb4pgm")))) + "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn")))) (build-system asdf-build-system/sbcl) (native-inputs `(("rt" ,sbcl-rt))) @@ -1133,7 +1133,7 @@ utilities that make it even easier to manipulate text in Common Lisp. It has (base32 "0ccv7dqyrk55xga78i5vzlic7mdwp28in3g1a8fqhlk6626scsq9")))) (build-system asdf-build-system/sbcl) (arguments '(#:tests? #f)) - (home-page "http://cliki.net/trivial-features") + (home-page "https://cliki.net/trivial-features") (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp") (description "Trivial-features ensures that @code{*FEATURES*} is consistent across multiple Common Lisp implementations.") @@ -1599,23 +1599,26 @@ Common Lisp.") (sbcl-package->ecl-package sbcl-cl-fad)) (define-public sbcl-rt - (package - (name "sbcl-rt") - (version "1990.12.19") - (source - (origin - (method url-fetch) - (uri (string-append "http://beta.quicklisp.org/archive/rt/2010-10-06/rt-" - "20101006-git" ".tgz")) - (sha256 - (base32 - "1jncar0xwkqk8yrc2dln389ivvgzs7ijdhhs3zpfyi5d21f0qa1v")))) - (build-system asdf-build-system/sbcl) - (synopsis "MIT Regression Tester") - (description - "RT provides a framework for writing regression test suites.") - (home-page "https://github.com/sharplispers/nibbles") - (license license:unlicense))) + (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a") + (revision "1")) + (package + (name "sbcl-rt") + (version (git-version "1990.12.19" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "http://git.kpe.io/rt.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b")))) + (build-system asdf-build-system/sbcl) + (synopsis "MIT Regression Tester") + (description + "RT provides a framework for writing regression test suites.") + (home-page "https://www.cliki.net/rt") + (license license:expat)))) (define-public cl-rt (sbcl-package->cl-source-package sbcl-rt)) @@ -2298,27 +2301,27 @@ utilities that make it even easier to manipulate text in Common Lisp. It has (sbcl-package->ecl-package sbcl-cl-string-match)) (define-public sbcl-ptester - (package - (name "sbcl-ptester") - (version "20160929") - (source - (origin - (method url-fetch) - (uri (string-append "http://beta.quicklisp.org/archive/ptester/" - (date->string (string->date version "~Y~m~d") "~Y-~m-~d") - "/ptester-" - version - "-git.tgz")) - (sha256 - (base32 - "04rlq1zljhxc65pm31bah3sq3as24l0sdivz440s79qlnnyh13hz")))) - (build-system asdf-build-system/sbcl) - (home-page "http://quickdocs.org/ptester/") - (synopsis "Portable test harness package") - (description - "@command{ptester} is a portable testing framework based on Franz's + (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253") + (revision "1")) + (package + (name "sbcl-ptester") + (version (git-version "2.1.3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "http://git.kpe.io/ptester.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf")))) + (build-system asdf-build-system/sbcl) + (home-page "http://quickdocs.org/ptester/") + (synopsis "Portable test harness package") + (description + "@command{ptester} is a portable testing framework based on Franz's tester module.") - (license license:lgpl3+))) + (license license:llgpl)))) (define-public cl-ptester (sbcl-package->cl-source-package sbcl-ptester)) @@ -2327,30 +2330,29 @@ tester module.") (sbcl-package->ecl-package sbcl-ptester)) (define-public sbcl-puri - (package - (name "sbcl-puri") - (version "20180228") - (source - (origin - (method url-fetch) - (uri (string-append "http://beta.quicklisp.org/archive/puri/" - (date->string (string->date version "~Y~m~d") "~Y-~m-~d") - "/puri-" - version - "-git.tgz")) - (sha256 - (base32 - "1s4r5adrjy5asry45xbcbklxhdjydvf6n55z897nvyw33bigrnbz")))) - (build-system asdf-build-system/sbcl) - ;; REVIEW: Webiste down? - (native-inputs - `(("ptester" ,sbcl-ptester))) - (home-page "http://files.kpe.io/puri/") - (synopsis "Portable URI Library") - (description - "This is portable Universal Resource Identifier library for Common Lisp -programs. It parses URI according to the RFC 2396 specification") - (license license:lgpl3+))) + (let ((commit "ef5afb9e5286c8e952d4344f019c1a636a717b97") + (revision "1")) + (package + (name "sbcl-puri") + (version (git-version "1.5.7" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "http://git.kpe.io/puri.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1vm25pdl92laj72p5vyd538kf3cjy2655z6bdc99h20ana2p231s")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("ptester" ,sbcl-ptester))) + (home-page "http://quickdocs.org/puri/") + (synopsis "Portable URI Library") + (description + "This is a portable Universal Resource Identifier library for Common +Lisp programs. It parses URI according to the RFC 2396 specification.") + (license license:llgpl)))) (define-public cl-puri (sbcl-package->cl-source-package sbcl-puri)) @@ -2571,6 +2573,19 @@ package.") (define-public cl-cffi (sbcl-package->cl-source-package sbcl-cffi)) +(define-public sbcl-cffi-uffi-compat + (package + (inherit sbcl-cffi-toolchain) + (name "sbcl-cffi-uffi-compat") + (native-inputs + `(,@(package-inputs sbcl-cffi-bootstrap))) ; For fix-paths phase + (inputs + `(("cffi" ,sbcl-cffi))) + (synopsis "UFFI Compatibility Layer for CFFI"))) + +(define-public cl-cffi-uffi-compat + (sbcl-package->cl-source-package sbcl-cffi-uffi-compat)) + (define-public sbcl-cl-sqlite (let ((commit "c738e66d4266ef63a1debc4ef4a1b871a068c112")) (package @@ -4610,7 +4625,7 @@ performance and simplicity in mind.") `(("stefil" ,sbcl-hu.dwim.stefil))) (inputs `(("sbcl-cl-fad" ,sbcl-cl-fad))) - (home-page "http://shinmera.github.io/trivial-mimes/") + (home-page "https://shinmera.github.io/trivial-mimes/") (synopsis "Tiny Common Lisp library to detect mime types in files") (description "This is a teensy library that provides some functions to determine the @@ -4754,7 +4769,7 @@ performance and simplicity in mind.") ("sbcl-lack-component" ,sbcl-lack-component) ("sbcl-alexandria" ,sbcl-alexandria) ("sbcl-babel" ,sbcl-babel))) - (home-page "http://8arrow.org/ningle/") + (home-page "https://8arrow.org/ningle/") (synopsis "Super micro framework for Common Lisp") (description "Ningle is a lightweight web application framework for Common Lisp.") @@ -4882,7 +4897,7 @@ port within a range.") to be easy to use so that you can quickly start testing. CLUnit provides a rich set of features aimed at improving your unit testing experience.") - (home-page "http://tgutu.github.io/clunit/") + (home-page "https://tgutu.github.io/clunit/") ;; MIT License (license license:expat)))) @@ -4953,33 +4968,37 @@ the CFFI approach used by burgled-batteries, but has the same goal.") (sbcl-package->ecl-package sbcl-py4cl)) (define-public sbcl-parse-declarations - (package - (name "sbcl-parse-declarations") - (version "1.0.0") - (source - (origin - (method url-fetch) - (uri (string-append - "http://beta.quicklisp.org/archive/parse-declarations/" - "2010-10-06/parse-declarations-20101006-darcs.tgz")) - (sha256 - (base32 - "0r85b0jfacd28kr65kw9c13dx4i6id1dpmby68zjy63mqbnyawrd")))) - (build-system asdf-build-system/sbcl) - (arguments - `(#:asd-file "parse-declarations-1.0.asd" - #:asd-system-name "parse-declarations-1.0")) - (home-page "https://common-lisp.net/project/parse-declarations/") - (synopsis "Parse, filter, and build declarations") - (description - "Parse-Declarations is a Common Lisp library to help writing + (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2") + (revision "1")) + (package + (name "sbcl-parse-declarations") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url (string-append + "https://gitlab.common-lisp.net/parse-declarations/" + "parse-declarations.git")) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd")))) + (build-system asdf-build-system/sbcl) + (arguments + `(#:asd-file "parse-declarations-1.0.asd" + #:asd-system-name "parse-declarations-1.0")) + (home-page "https://common-lisp.net/project/parse-declarations/") + (synopsis "Parse, filter, and build declarations") + (description + "Parse-Declarations is a Common Lisp library to help writing macros which establish bindings. To be semantically correct, such macros must take user declarations into account, as these may affect the bindings they establish. Yet the ANSI standard of Common Lisp does not provide any operators to work with declarations in a convenient, high-level way. This library provides such operators.") - ;; MIT License - (license license:expat))) + ;; MIT License + (license license:expat)))) (define-public cl-parse-declarations (sbcl-package->cl-source-package sbcl-parse-declarations)) @@ -5889,41 +5908,44 @@ optimizing techniques widely used in the functional programming world.") (sbcl-package->cl-source-package sbcl-optima)) (define-public sbcl-fare-quasiquote - (package - (name "sbcl-fare-quasiquote") - (build-system asdf-build-system/sbcl) - (version "20171130") - (home-page "http://common-lisp.net/project/fare-quasiquote") - (source - (origin - (method url-fetch) - (uri (string-append "http://beta.quicklisp.org/archive/fare-quasiquote/" - (date->string (string->date version "~Y~m~d") "~Y-~m-~d") - "/fare-quasiquote-" - version - "-git.tgz")) - (sha256 - (base32 - "00brmh7ndsi0c97nibi8cy10j3l4gmkyrfrr5jr5lzkfb7ngyfqa")))) - (inputs - `(("fare-utils" ,sbcl-fare-utils))) - (arguments - ;; XXX: Circular dependencies: Tests depend on subsystems, which depend on the main systems. - `(#:tests? #f - #:phases - (modify-phases %standard-phases - ;; XXX: Require 1.0.0 version of fare-utils, and we package some - ;; commits after 1.0.0.5, but ASDF fails to read the - ;; "-REVISION-COMMIT" part generated by Guix. - (add-after 'unpack 'patch-requirement - (lambda _ - (substitute* "fare-quasiquote.asd" - (("\\(:version \"fare-utils\" \"1.0.0\"\\)") "\"fare-utils\""))))))) - (synopsis "Pattern-matching friendly implementation of quasiquote for Common Lisp") - (description "The main purpose of this n+2nd reimplementation of + (let ((commit "640d39a0451094071b3e093c97667b3947f43639") + (revision "1")) + (package + (name "sbcl-fare-quasiquote") + (build-system asdf-build-system/sbcl) + (version (git-version "1.0.1" revision commit)) + (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote") + (source + (origin + (method git-fetch) + (uri (git-reference + (url (string-append "https://gitlab.common-lisp.net/frideau/" + "fare-quasiquote.git")) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg")))) + (inputs + `(("fare-utils" ,sbcl-fare-utils))) + (arguments + ;; XXX: Circular dependencies: Tests depend on subsystems, + ;; which depend on the main systems. + `(#:tests? #f + #:phases + (modify-phases %standard-phases + ;; XXX: Require 1.0.0 version of fare-utils, and we package some + ;; commits after 1.0.0.5, but ASDF fails to read the + ;; "-REVISION-COMMIT" part generated by Guix. + (add-after 'unpack 'patch-requirement + (lambda _ + (substitute* "fare-quasiquote.asd" + (("\\(:version \"fare-utils\" \"1.0.0\"\\)") + "\"fare-utils\""))))))) + (synopsis "Pattern-matching friendly implementation of quasiquote") + (description "The main purpose of this n+2nd reimplementation of quasiquote is enable matching of quasiquoted patterns, using Optima or Trivia.") - (license license:expat))) + (license license:expat)))) (define-public cl-fare-quasiquote (sbcl-package->cl-source-package sbcl-fare-quasiquote)) @@ -5982,6 +6004,8 @@ This package uses fare-quasiquote with named-readtable."))) (lib (string-append out "/lib/" (%lisp-type)))) (mkdir-p lib) (install-file "fare-quasiquote-extras.asd" lib) + (make-file-writable + (string-append lib "/fare-quasiquote-extras.asd")) #t))) (add-after 'create-asd-file 'fix-asd-file (lambda* (#:key outputs #:allow-other-keys) @@ -9638,7 +9662,7 @@ Common Lisp. It uses the libuv library as backend.") (description "This is a standalone promise implementation for Common Lisp. It is the successor to the now-deprecated cl-async-future project.") - (home-page "http://orthecreedence.github.io/blackbird/") + (home-page "https://orthecreedence.github.io/blackbird/") (license license:expat)))) (define-public cl-blackbird @@ -9673,7 +9697,7 @@ the successor to the now-deprecated cl-async-future project.") (description "This is futures implementation for Common Lisp. It plugs in nicely to cl-async.") - (home-page "http://orthecreedence.github.io/cl-async/future") + (home-page "https://orthecreedence.github.io/cl-async/future") (license license:expat)))) (define-public cl-async-future @@ -10590,3 +10614,586 @@ and usefulness, not speed. Track the progress at (define-public cl-numcl (sbcl-package->cl-source-package sbcl-numcl)) + +(define-public sbcl-pzmq + (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826") + (revision "1")) + (package + (name "sbcl-pzmq") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/orivej/pzmq.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("bordeaux-threads" ,sbcl-bordeaux-threads) + ("fiveam" ,sbcl-fiveam) + ("let-plus" ,sbcl-let-plus))) + (inputs + `(("cffi" ,sbcl-cffi) + ("cffi-grovel" ,sbcl-cffi-grovel) + ("zeromq" ,zeromq))) + (arguments + `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "c-api.lisp" + (("\"libzmq") + (string-append "\"" + (assoc-ref inputs "zeromq") + "/lib/libzmq"))) + #t))))) + (synopsis "Common Lisp bindings for the ZeroMQ library") + (description "This Common Lisp library provides bindings for the ZeroMQ +lightweight messaging kernel.") + (home-page "https://github.com/orivej/pzmq") + (license license:unlicense)))) + +(define-public cl-pzmq + (sbcl-package->cl-source-package sbcl-pzmq)) + +(define-public ecl-pzmq + (sbcl-package->ecl-package sbcl-pzmq)) + +(define-public sbcl-clss + (let ((revision "1") + (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d")) + (package + (name "sbcl-clss") + (version (git-version "0.3.1" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/Shinmera/clss.git") + (commit commit))) + (sha256 + (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91")) + (file-name (git-file-name name version)))) + (inputs + `(("array-utils" ,sbcl-array-utils) + ("plump" ,sbcl-plump))) + (build-system asdf-build-system/sbcl) + (synopsis "DOM tree searching engine based on CSS selectors") + (description "CLSS is a DOM traversal engine based on CSS +selectors. It makes use of the Plump-DOM and is used by lQuery.") + (home-page "https://github.com/Shinmera/clss") + (license license:zlib)))) + +(define-public cl-clss + (sbcl-package->cl-source-package sbcl-clss)) + +(define-public ecl-clss + (sbcl-package->ecl-package sbcl-clss)) + +(define-public sbcl-lquery + (let ((revision "1") + (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d")) + (package + (name "sbcl-lquery") + (version (git-version "3.2.1" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/Shinmera/lquery.git") + (commit commit))) + (sha256 + (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w")) + (file-name (git-file-name name version)))) + (native-inputs + `(("fiveam" ,sbcl-fiveam))) + (inputs + `(("array-utils" ,sbcl-array-utils) + ("form-fiddle" ,sbcl-form-fiddle) + ("plump" ,sbcl-plump) + ("clss" ,sbcl-clss))) + (build-system asdf-build-system/sbcl) + (synopsis "Library to allow jQuery-like HTML/DOM manipulation") + (description "@code{lQuery} is a DOM manipulation library written in +Common Lisp, inspired by and based on the jQuery syntax and +functions. It uses Plump and CLSS as DOM and selector engines. The +main idea behind lQuery is to provide a simple interface for crawling +and modifying HTML sites, as well as to allow for an alternative +approach to templating.") + (home-page "https://github.com/Shinmera/lquery") + (license license:zlib)))) + +(define-public cl-lquery + (sbcl-package->cl-source-package sbcl-lquery)) + +(define-public ecl-lquery + (sbcl-package->ecl-package sbcl-lquery)) + +(define-public sbcl-cl-mysql + (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9") + (revision "1")) + (package + (name "sbcl-cl-mysql") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hackinghat/cl-mysql.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("stefil" ,sbcl-stefil))) + (inputs + `(("cffi" ,sbcl-cffi) + ("mariadb-lib" ,mariadb "lib"))) + (arguments + `(#:tests? #f ; TODO: Tests require a running server + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "system.lisp" + (("libmysqlclient_r" all) + (string-append (assoc-ref inputs "mariadb-lib") + "/lib/" + all))) + #t))))) + (synopsis "Common Lisp wrapper for MySQL") + (description + "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.") + (home-page "http://www.hackinghat.com/index.php/cl-mysql") + (license license:expat)))) + +(define-public cl-mysql + (sbcl-package->cl-source-package sbcl-cl-mysql)) + +(define-public sbcl-simple-date + (let ((commit "74469b25bbda990ec9b77e0d0eccdba0cd7e721a") + (revision "1")) + (package + (name "sbcl-simple-date") + (version (git-version "1.19" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/marijnh/Postmodern.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0im7ymnyxjhn2w74jfg76k5gpr0gl33n31akx33hl28722ljd0hd")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("fiveam" ,sbcl-fiveam))) + (synopsis "Basic date and time objects for Common Lisp") + (description + "@code{simple-date} is a very basic implementation of date and time +objects, used to support storing and retrieving time-related SQL types.") + (home-page "https://marijnhaverbeke.nl/postmodern/") + (license license:zlib)))) + +(define-public cl-simple-date + (sbcl-package->cl-source-package sbcl-simple-date)) + +(define-public ecl-simple-date + (sbcl-package->ecl-package sbcl-simple-date)) + +(define-public sbcl-cl-postgres + (package + (inherit sbcl-simple-date) + (name "sbcl-cl-postgres") + (native-inputs + `(("fiveam" ,sbcl-fiveam) + ("simple-date" ,sbcl-simple-date))) + (inputs + `(("md5" ,sbcl-md5) + ("split-sequence" ,sbcl-split-sequence) + ("usocket" ,sbcl-usocket))) + (arguments + `(#:tests? #f)) ; TODO: Break simple-date/postgres-glue circular dependency + (synopsis "Common Lisp interface for PostgreSQL") + (description + "@code{cl-postgres} is a low-level library used for interfacing with +a PostgreSQL server over a socket."))) + +(define-public cl-postgres + (sbcl-package->cl-source-package sbcl-cl-postgres)) + +(define-public sbcl-simple-date-postgres-glue + (package + (inherit sbcl-simple-date) + (name "sbcl-simple-date-postgres-glue") + (inputs + `(("cl-postgres" ,sbcl-cl-postgres) + ("simple-date" ,sbcl-simple-date))) + (arguments + `(#:asd-file "simple-date.asd" + #:asd-system-name "simple-date/postgres-glue")))) + +(define-public cl-simple-date-postgres-glue + (sbcl-package->cl-source-package sbcl-simple-date-postgres-glue)) + +(define-public sbcl-s-sql + (package + (inherit sbcl-simple-date) + (name "sbcl-s-sql") + (inputs + `(("alexandria" ,sbcl-alexandria) + ("cl-postgres" ,sbcl-cl-postgres))) + (arguments + `(#:tests? #f)) ; TODO: Break postmodern circular dependency + (synopsis "Lispy DSL for SQL") + (description + "@code{s-sql} is a Common Lisp library that can be used to compile +s-expressions to strings of SQL code, escaping any Lisp values inside, and +doing as much as possible of the work at compile time."))) + +(define-public cl-s-sql + (sbcl-package->cl-source-package sbcl-s-sql)) + +(define-public sbcl-postmodern + (package + (inherit sbcl-simple-date) + (name "sbcl-postmodern") + (native-inputs + `(("fiveam" ,sbcl-fiveam) + ("simple-date" ,sbcl-simple-date) + ("simple-date-postgres-glue" ,sbcl-simple-date-postgres-glue))) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("bordeaux-threads" ,sbcl-bordeaux-threads) + ("cl-postgres" ,sbcl-cl-postgres) + ("closer-mop" ,sbcl-closer-mop) + ("global-vars" ,sbcl-global-vars) + ("s-sql" ,sbcl-s-sql) + ("split-sequence" ,sbcl-split-sequence))) + (arguments + ;; TODO: Fix missing dependency errors for simple-date/postgres-glue, + ;; cl-postgres/tests and s-sql/tests. + `(#:tests? #f)) + (synopsis "Common Lisp library for interacting with PostgreSQL") + (description + "@code{postmodern} is a Common Lisp library for interacting with +PostgreSQL databases. It provides the following features: + +@itemize +@item Efficient communication with the database server without need for +foreign libraries. +@item Support for UTF-8 on Unicode-aware Lisp implementations. +@item A syntax for mixing SQL and Lisp code. +@item Convenient support for prepared statements and stored procedures. +@item A metaclass for simple database-access objects. +@end itemize\n"))) + +(define-public cl-postmodern + (sbcl-package->cl-source-package sbcl-postmodern)) + +(define-public sbcl-dbi + (package + (name "sbcl-dbi") + (version "0.9.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fukamachi/cl-dbi.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0m1fsravfaizamdak84adh3jxc4j91maqnrb4m08bfbmb04cdqhs")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("bordeaux-threads" ,sbcl-bordeaux-threads) + ("closer-mop" ,sbcl-closer-mop) + ("split-sequence" ,sbcl-split-sequence))) + (arguments + `(#:tests? #f)) ; TODO: Break circular dependency with dbd-* + (synopsis "Database independent interface for Common Lisp") + (description + "@code{dbi} is a Common Lisp library providing a database independent +interface for MySQL, PostgreSQL and SQLite.") + (home-page "https://github.com/fukamachi/cl-dbi") + (license license:llgpl))) + +(define-public cl-dbi + (sbcl-package->cl-source-package sbcl-dbi)) + +(define-public sbcl-dbd-mysql + (package + (inherit sbcl-dbi) + (name "sbcl-dbd-mysql") + (inputs + `(("cl-mysql" ,sbcl-cl-mysql) + ("dbi" ,sbcl-dbi))) + (synopsis "Database driver for MySQL"))) + +(define-public cl-dbd-mysql + (sbcl-package->cl-source-package sbcl-dbd-mysql)) + +(define-public sbcl-dbd-postgres + (package + (inherit sbcl-dbi) + (name "sbcl-dbd-postgres") + (inputs + `(("cl-postgres" ,sbcl-cl-postgres) + ("dbi" ,sbcl-dbi) + ("trivial-garbage" ,sbcl-trivial-garbage))) + (synopsis "Database driver for PostgreSQL"))) + +(define-public cl-dbd-postgres + (sbcl-package->cl-source-package sbcl-dbd-postgres)) + +(define-public sbcl-dbd-sqlite3 + (package + (inherit sbcl-dbi) + (name "sbcl-dbd-sqlite3") + (inputs + `(("cl-sqlite" ,sbcl-cl-sqlite) + ("dbi" ,sbcl-dbi) + ("trivial-garbage" ,sbcl-trivial-garbage))) + (synopsis "Database driver for SQLite3"))) + +(define-public cl-dbd-sqlite3 + (sbcl-package->cl-source-package sbcl-dbd-sqlite3)) + +(define-public sbcl-uffi + (package + (name "sbcl-uffi") + (version "2.1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "http://git.kpe.io/uffi.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry")))) + (build-system asdf-build-system/sbcl) + (arguments + `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-permissions + (lambda _ + (make-file-writable "doc/html.tar.gz") + #t))))) + (synopsis "Universal foreign function library for Common Lisp") + (description + "UFFI provides a universal foreign function interface (FFI) + for Common Lisp.") + (home-page "http://quickdocs.org/uffi/") + (license license:llgpl))) + +(define-public cl-uffi + (package + (inherit (sbcl-package->cl-source-package sbcl-uffi)) + (arguments + `(#:phases + ;; asdf-build-system/source has its own phases and does not inherit + ;; from asdf-build-system/sbcl phases. + (modify-phases %standard-phases/source + (add-after 'unpack 'fix-permissions + (lambda _ + (make-file-writable "doc/html.tar.gz") + #t))))))) + +(define-public sbcl-clsql + (package + (name "sbcl-clsql") + (version "6.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "http://git.kpe.io/clsql.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp")) + (snippet + '(begin + ;; Remove precompiled libraries. + (delete-file "db-mysql/clsql_mysql.dll") + (delete-file "uffi/clsql_uffi.dll") + (delete-file "uffi/clsql_uffi.lib") + #t)))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat) + ("rt" ,sbcl-rt) + ("uffi" ,sbcl-uffi))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-permissions + (lambda _ + (make-file-writable "doc/html.tar.gz") + #t)) + (add-after 'unpack 'fix-tests + (lambda _ + (substitute* "clsql.asd" + (("clsql-tests :force t") + "clsql-tests")) + #t))))) + (synopsis "Common Lisp SQL Interface library") + (description + "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the +Xanalys CommonSQL interface for Lispworks. It provides low-level database +interfaces as well as a functional and an object oriented interface.") + (home-page "http://clsql.kpe.io/") + (license license:llgpl))) + +(define-public cl-clsql + (package + (inherit (sbcl-package->cl-source-package sbcl-clsql)) + (native-inputs + `(("rt" ,cl-rt))) + (inputs + `(("mysql" ,mysql) + ("postgresql" ,postgresql) + ("sqlite" ,sqlite) + ("zlib" ,zlib))) + (propagated-inputs + `(("cl-postgres" ,cl-postgres) + ("cffi-uffi-compat" ,cl-cffi-uffi-compat) + ("md5" ,cl-md5) + ("uffi" ,cl-uffi))) + (arguments + `(#:phases + ;; asdf-build-system/source has its own phases and does not inherit + ;; from asdf-build-system/sbcl phases. + (modify-phases %standard-phases/source + (add-after 'unpack 'fix-permissions + (lambda _ + (make-file-writable "doc/html.tar.gz") + #t))))))) + +(define-public sbcl-clsql-uffi + (package + (inherit sbcl-clsql) + (name "sbcl-clsql-uffi") + (inputs + `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat) + ("clsql" ,sbcl-clsql) + ("uffi" ,sbcl-uffi))) + (synopsis "UFFI helper functions for Common Lisp SQL interface library"))) + +(define-public sbcl-clsql-sqlite3 + (package + (inherit sbcl-clsql) + (name "sbcl-clsql-sqlite3") + (inputs + `(("clsql" ,sbcl-clsql) + ("clsql-uffi" ,sbcl-clsql-uffi) + ("sqlite" ,sqlite))) + (arguments + (substitute-keyword-arguments (package-arguments sbcl-clsql) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "db-sqlite3/sqlite3-loader.lisp" + (("libsqlite3") + (string-append (assoc-ref inputs "sqlite") + "/lib/libsqlite3"))) + #t)))))) + (synopsis "SQLite3 driver for Common Lisp SQL interface library"))) + +(define-public sbcl-clsql-postgresql + (package + (inherit sbcl-clsql) + (name "sbcl-clsql-postgresql") + (inputs + `(("clsql" ,sbcl-clsql) + ("clsql-uffi" ,sbcl-clsql-uffi) + ("postgresql" ,postgresql))) + (arguments + (substitute-keyword-arguments (package-arguments sbcl-clsql) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "db-postgresql/postgresql-loader.lisp" + (("libpq") + (string-append (assoc-ref inputs "postgresql") + "/lib/libpq"))) + #t)))))) + (synopsis "PostgreSQL driver for Common Lisp SQL interface library"))) + +(define-public sbcl-clsql-postgresql-socket3 + (package + (inherit sbcl-clsql) + (name "sbcl-clsql-postgresql-socket3") + (inputs + `(("cl-postgres" ,sbcl-cl-postgres) + ("clsql" ,sbcl-clsql) + ("md5" ,sbcl-md5))) + (arguments + (substitute-keyword-arguments (package-arguments sbcl-clsql) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + (add-after 'create-asd-file 'fix-asd-file + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib/" (%lisp-type))) + (asd (string-append lib "/clsql-postgresql-socket3.asd"))) + (substitute* asd + (("CLSQL-POSTGRESQL-SOCKET-SYSTEM::") + ""))) + #t)))))) + (synopsis "PostgreSQL driver for Common Lisp SQL interface library"))) + +(define-public sbcl-clsql-mysql + (package + (inherit sbcl-clsql) + (name "sbcl-clsql-mysql") + (inputs + `(("mysql" ,mysql) + ("sbcl-clsql" ,sbcl-clsql) + ("sbcl-clsql-uffi" ,sbcl-clsql-uffi) + ("zlib" ,zlib))) + (arguments + (substitute-keyword-arguments (package-arguments sbcl-clsql) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((lib (string-append "#p\"" + (assoc-ref outputs "out") + "/lib/\""))) + (substitute* "clsql-mysql.asd" + (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"") + lib)) + (substitute* "db-mysql/mysql-loader.lisp" + (("libmysqlclient" all) + (string-append (assoc-ref inputs "mysql") "/lib/" all)) + (("clsql-mysql-system::\\*library-file-dir\\*") + lib))) + #t)) + (add-before 'build 'build-helper-library + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((mysql (assoc-ref inputs "mysql")) + (inc-dir (string-append mysql "/include/mysql")) + (lib-dir (string-append mysql "/lib")) + (shared-lib-dir (string-append (assoc-ref outputs "out") + "/lib")) + (shared-lib (string-append shared-lib-dir + "/clsql_mysql.so"))) + (mkdir-p shared-lib-dir) + (invoke "gcc" "-fPIC" "-shared" + "-I" inc-dir + "db-mysql/clsql_mysql.c" + "-Wl,-soname=clsql_mysql" + "-L" lib-dir "-lmysqlclient" "-lz" + "-o" shared-lib) + #t))))))) + (synopsis "MySQL driver for Common Lisp SQL interface library"))) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 369d4fc4ec..b5d8fd30f3 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -365,14 +365,14 @@ an interpreter, a compiler, a debugger, and much more.") (define-public sbcl (package (name "sbcl") - (version "2.0.0") + (version "2.0.2") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-" version "-source.tar.bz2")) (sha256 - (base32 "1krgd69cirp4ili2pfsh1a0mfvq722jbknlvmf17qhsxh1b94dlh")))) + (base32 "07pyzdjnhcpqwvr3rrk4i18maqdywbq1qj93fnpx1h4b7dp08r28")))) (build-system gnu-build-system) (outputs '("out" "doc")) (native-inputs diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index e333ab7638..bf32322df5 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com> -;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2016, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> ;;; Copyright © 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> @@ -48,6 +48,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages libffi) #:use-module (gnu packages mpi) + #:use-module (gnu packages onc-rpc) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -76,18 +77,24 @@ as \"x86_64-linux\"." ("x86_64" => "X86") ("i686" => "X86")))) -(define-public llvm-8 +(define (llvm-download-uri component version) + (if (version>=? version "9.0.1") + (string-append "https://github.com/llvm/llvm-project/releases/download" + "/llvmorg-" version "/" component "-" version ".src.tar.xz") + (string-append "https://releases.llvm.org/" version "/" component "-" + version ".src.tar.xz"))) + +(define-public llvm (package (name "llvm") - (version "8.0.0") + (version "9.0.1") (source (origin (method url-fetch) - (uri (string-append "https://llvm.org/releases/" - version "/llvm-" version ".src.tar.xz")) + (uri (llvm-download-uri "llvm" version)) (sha256 (base32 - "0k124sxkfhfi1rca6kzkdraf4axhx99x3cw2rk55056628dvwwl8")))) + "16hwp3qa54c3a3v7h8nlw0fh5criqh0hlr1skybyk0cz70gyx880")))) (build-system cmake-build-system) (outputs '("out" "opt-viewer")) (native-inputs @@ -137,9 +144,7 @@ languages. It currently supports compilation of C and C++ programs, using front-ends derived from GCC 4.0.1. A new front-end for the C family of languages is in development. The compiler infrastructure includes mirror sets of programming tools as well as libraries with equivalent functionality.") - (license license:ncsa))) - -(define-public llvm llvm-8) + (license license:asl2.0))) ;with LLVM exceptions, see LICENSE.txt (define* (clang-runtime-from-llvm llvm hash #:optional (patches '())) @@ -149,8 +154,7 @@ of programming tools as well as libraries with equivalent functionality.") (source (origin (method url-fetch) - (uri (string-append "https://llvm.org/releases/" - version "/compiler-rt-" version ".src.tar.xz")) + (uri (llvm-download-uri "compiler-rt" version)) (sha256 (base32 hash)) (patches (map search-patch patches)))) (build-system cmake-build-system) @@ -168,7 +172,7 @@ of programming tools as well as libraries with equivalent functionality.") functions for C and C++ programs. It also provides header files that allow C and C++ source code to interface with the \"sanitization\" passes of the clang compiler. In LLVM this library is called \"compiler-rt\".") - (license license:ncsa) + (license (package-license llvm)) ;; <https://compiler-rt.llvm.org/> doesn't list MIPS as supported. (supported-systems (delete "mips64el-linux" %supported-systems)))) @@ -181,8 +185,10 @@ compiler. In LLVM this library is called \"compiler-rt\".") (source (origin (method url-fetch) - (uri (string-append "https://llvm.org/releases/" - version "/cfe-" version ".src.tar.xz")) + (uri (llvm-download-uri (if (version>=? version "9.0.1") + "clang" + "cfe") + version)) (sha256 (base32 hash)) (patches (map search-patch patches)))) ;; Using cmake allows us to treat llvm as an external library. There @@ -214,64 +220,77 @@ compiler. In LLVM this library is called \"compiler-rt\".") #:build-type "Release" #:phases (modify-phases %standard-phases - (add-after - 'unpack 'set-glibc-file-names - (lambda* (#:key inputs #:allow-other-keys) - (let ((libc (assoc-ref inputs "libc")) - (compiler-rt (assoc-ref inputs "clang-runtime")) - (gcc (assoc-ref inputs "gcc")) - (version - (string->number - ,(version-major (package-version clang-runtime))))) - (cond - ((> version 3) - ;; Link to libclang_rt files from clang-runtime. - (substitute* "lib/Driver/ToolChain.cpp" - (("getDriver\\(\\)\\.ResourceDir") - (string-append "\"" compiler-rt "\""))) - - ;; Make "LibDir" refer to <glibc>/lib so that it - ;; uses the right dynamic linker file name. - (substitute* "lib/Driver/ToolChains/Linux.cpp" - (("(^[[:blank:]]+LibDir = ).*" _ declaration) - (string-append declaration "\"" libc "/lib\";\n")) - - ;; Make clang look for libstdc++ in the right - ;; location. - (("LibStdCXXIncludePathCandidates\\[\\] = \\{") - (string-append - "LibStdCXXIncludePathCandidates[] = { \"" gcc "/include/c++\",")) - - ;; Make sure libc's libdir is on the search path, to - ;; allow crt1.o & co. to be found. - (("@GLIBC_LIBDIR@") - (string-append libc "/lib")))) - (else - (substitute* "lib/Driver/Tools.cpp" - ;; Patch the 'getLinuxDynamicLinker' function so that - ;; it uses the right dynamic linker file name. - (("/lib64/ld-linux-x86-64.so.2") - (string-append libc - ,(glibc-dynamic-linker)))) - - ;; Link to libclang_rt files from clang-runtime. - ;; This substitution needed slight adjustment in 3.8. - (if (< 3.8 (string->number ,(version-major+minor - (package-version - clang-runtime)))) - (substitute* "lib/Driver/Tools.cpp" - (("TC\\.getDriver\\(\\)\\.ResourceDir") - (string-append "\"" compiler-rt "\""))) + (add-after 'unpack 'add-missing-triplets + (lambda _ + ;; Clang iterates through known triplets to search for + ;; GCC's headers, but does not recognize some of the + ;; triplets that are used in Guix. + (substitute* ,@(if (version>=? version "6.0") + '("lib/Driver/ToolChains/Gnu.cpp") + '("lib/Driver/ToolChains.cpp")) + (("\"aarch64-linux-gnu\"," all) + (string-append "\"aarch64-unknown-linux-gnu\", " + all)) + (("\"arm-linux-gnueabihf\"," all) + (string-append all + " \"arm-unknown-linux-gnueabihf\",")) + (("\"i686-pc-linux-gnu\"," all) + (string-append "\"i686-unknown-linux-gnu\", " + all))) + #t)) + (add-after 'unpack 'set-glibc-file-names + (lambda* (#:key inputs #:allow-other-keys) + (let ((libc (assoc-ref inputs "libc")) + (compiler-rt (assoc-ref inputs "clang-runtime")) + (gcc (assoc-ref inputs "gcc"))) + ,@(cond + ((version>=? version "6.0") + `(;; Link to libclang_rt files from clang-runtime. (substitute* "lib/Driver/ToolChain.cpp" (("getDriver\\(\\)\\.ResourceDir") - (string-append "\"" compiler-rt "\"")))) - - ;; Make sure libc's libdir is on the search path, to - ;; allow crt1.o & co. to be found. - (substitute* "lib/Driver/ToolChains.cpp" - (("@GLIBC_LIBDIR@") - (string-append libc "/lib"))))) - #t))) + (string-append "\"" compiler-rt "\""))) + + ;; Make "LibDir" refer to <glibc>/lib so that it + ;; uses the right dynamic linker file name. + (substitute* "lib/Driver/ToolChains/Linux.cpp" + (("(^[[:blank:]]+LibDir = ).*" _ declaration) + (string-append declaration "\"" libc "/lib\";\n")) + + ;; Make clang look for libstdc++ in the right + ;; location. + (("LibStdCXXIncludePathCandidates\\[\\] = \\{") + (string-append + "LibStdCXXIncludePathCandidates[] = { \"" gcc + "/include/c++\",")) + + ;; Make sure libc's libdir is on the search path, to + ;; allow crt1.o & co. to be found. + (("@GLIBC_LIBDIR@") + (string-append libc "/lib"))))) + (else + `((substitute* "lib/Driver/Tools.cpp" + ;; Patch the 'getLinuxDynamicLinker' function so that + ;; it uses the right dynamic linker file name. + (("/lib64/ld-linux-x86-64.so.2") + (string-append libc + ,(glibc-dynamic-linker)))) + + ;; Link to libclang_rt files from clang-runtime. + ;; This substitution needed slight adjustment in 3.8. + ,@(if (version>=? version "3.8") + '((substitute* "lib/Driver/Tools.cpp" + (("TC\\.getDriver\\(\\)\\.ResourceDir") + (string-append "\"" compiler-rt "\"")))) + '((substitute* "lib/Driver/ToolChain.cpp" + (("getDriver\\(\\)\\.ResourceDir") + (string-append "\"" compiler-rt "\""))))) + + ;; Make sure libc's libdir is on the search path, to + ;; allow crt1.o & co. to be found. + (substitute* "lib/Driver/ToolChains.cpp" + (("@GLIBC_LIBDIR@") + (string-append libc "/lib")))))) + #t))) (add-after 'install 'install-clean-up-/share/clang (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -312,7 +331,9 @@ compiler. In LLVM this library is called \"compiler-rt\".") Objective-C++ programming languages. It uses LLVM as its back end. The Clang project includes the Clang front end, the Clang static analyzer, and several code analysis tools.") - (license license:ncsa))) + (license (if (version>=? version "9.0") + license:asl2.0 ;with LLVM exceptions + license:ncsa)))) (define (make-clang-toolchain clang) (package @@ -359,151 +380,56 @@ output), and Binutils.") ("libc-debug" ,glibc "debug") ("libc-static" ,glibc "static"))))) -(define-public libcxx - (package - (name "libcxx") - (version (package-version llvm)) - (source - (origin - (method url-fetch) - (uri (string-append "http://llvm.org/releases/" - version "/libcxx-" version ".src.tar.xz")) - (sha256 - (base32 - "1qlx3wlxrnc5cwc1fcfc2vhfsl7j4294hi8y5kxj8hy8wxsjd462")))) - (build-system cmake-build-system) - (native-inputs - `(("clang" ,clang) - ("llvm" ,llvm))) - (home-page "https://libcxx.llvm.org") - (synopsis "C++ standard library") - (description - "This package provides an implementation of the C++ standard library for -use with Clang, targeting C++11, C++14 and above.") - (license license:expat))) - -(define-public libclc - (package - (name "libclc") - (version (package-version llvm)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/llvm/llvm-project.git") - (commit (string-append "llvmorg-" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "052h16wjcnqginzp7ki4il2xmm25v9nyk0wcz7cg03gbryhl7aqa")))) - (build-system cmake-build-system) - (arguments - `(#:configure-flags - (list (string-append "-DLLVM_CLANG=" - (assoc-ref %build-inputs "clang") - "/bin/clang") - (string-append "-DPYTHON=" - (assoc-ref %build-inputs "python") - "/bin/python3")) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'chdir - (lambda _ (chdir "libclc") #t))))) - (native-inputs - `(("clang" ,clang) - ("llvm" ,llvm) - ("python" ,python))) - (home-page "https://libclc.llvm.org") - (synopsis "Libraries for the OpenCL programming language") - (description - "This package provides an implementation of the OpenCL library -requirements according to version 1.1 of the OpenCL specification.") - ;; Apache license 2.0 with LLVM exception - (license license:asl2.0))) - -(define-public libomp - (package - (name "libomp") - (version (package-version llvm)) - (source (origin - (method url-fetch) - (uri (string-append "https://releases.llvm.org/" - version "/openmp-" version - ".src.tar.xz")) - (sha256 - (base32 - "1mf9cpgvix34xlpv0inkgl3qmdvgvp96f7sksqizri0n5xfp1cgp")) - (file-name (string-append "libomp-" version ".tar.xz")))) - (build-system cmake-build-system) - ;; XXX: Note this gets built with GCC because building with Clang itself - ;; fails (missing <atomic>, even when libcxx is added as an input.) - (arguments - '(#:configure-flags '("-DLIBOMP_USE_HWLOC=ON" - "-DOPENMP_TEST_C_COMPILER=clang" - "-DOPENMP_TEST_CXX_COMPILER=clang++") - #:test-target "check-libomp")) - (native-inputs - `(("clang" ,clang) - ("llvm" ,llvm) - ("perl" ,perl) - ("pkg-config" ,pkg-config))) - (inputs - `(("hwloc" ,hwloc "lib"))) - (home-page "https://openmp.llvm.org") - (synopsis "OpenMP run-time support library") - (description - "This package provides the run-time support library developed by the LLVM -project for the OpenMP multi-theaded programming extension. This package -notably provides @file{libgomp.so}, which is has a binary interface compatible -with that of libgomp, the GNU Offloading and Multi Processing Library.") - (license license:expat))) - (define-public clang-runtime (clang-runtime-from-llvm llvm - "1c919wsm17xnv7lr8bhpq2wkq8113lzlw6hzhfr737j59x3wfddl")) + "0xwh79g3zggdabxgnd0bphry75asm1qz7mv3hcqihqwqr6aspgy2")) (define-public clang (clang-from-llvm llvm clang-runtime - "0svk1f70hvpwrjp6x5i9kqwrqwxnmcrw5s7f4cxyd100mdd12k08" - #:patches '("clang-7.0-libc-search-path.patch"))) + "0ls2h3iv4finqyflyhry21qhc9cm9ga7g1zq21020p065qmm2y2p" + #:patches '("clang-9.0-libc-search-path.patch"))) (define-public clang-toolchain (make-clang-toolchain clang)) -(define-public llvm-9 +(define-public llvm-9 llvm) +(define-public clang-runtime-9 clang-runtime) +(define-public clang-9 clang) +(define-public clang-toolchain-9 clang-toolchain) + +(define-public llvm-8 (package (inherit llvm) - (version "9.0.0") + (version "8.0.0") (source (origin (method url-fetch) - (uri (string-append "https://llvm.org/releases/" - version "/llvm-" version ".src.tar.xz")) + (uri (llvm-download-uri "llvm" version)) (sha256 (base32 - "117ymdz1by2nkfq1c2p9m4050dp848kbjbiv6nsfj8hzy9f5d86n")))) - (license license:asl2.0))) + "0k124sxkfhfi1rca6kzkdraf4axhx99x3cw2rk55056628dvwwl8")))) + (license license:ncsa))) -(define-public clang-runtime-9 +(define-public clang-runtime-8 (clang-runtime-from-llvm - llvm-9 - "03ni43lbkp63lr3p6sc94dphqmvnz5av5mml0xmk930xvnbcvr2n")) + llvm-8 + "1c919wsm17xnv7lr8bhpq2wkq8113lzlw6hzhfr737j59x3wfddl")) -(define-public clang-9 - (clang-from-llvm llvm-9 clang-runtime-9 - "0426ma80i41qsgzm1qdz81mjskck426diygxi2k5vji2gkpixa3v")) +(define-public clang-8 + (clang-from-llvm llvm-8 clang-runtime-8 + "0svk1f70hvpwrjp6x5i9kqwrqwxnmcrw5s7f4cxyd100mdd12k08" + #:patches '("clang-7.0-libc-search-path.patch"))) -(define-public clang-toolchain-9 - (make-clang-toolchain clang-9)) +(define-public clang-toolchain-8 + (make-clang-toolchain clang-8)) (define-public llvm-7 (package - (inherit llvm) + (inherit llvm-8) (version "7.0.1") (source (origin (method url-fetch) - (uri (string-append "https://llvm.org/releases/" - version "/llvm-" version ".src.tar.xz")) + (uri (llvm-download-uri "llvm" version)) (sha256 (base32 "16s196wqzdw4pmri15hadzqgdi926zln3an2viwyq0kini6zr3d3")))))) @@ -514,7 +440,7 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") "065ybd8fsc4h2hikbdyricj6pyv4r7r7kpcikhb2y5zf370xybkq")) (define-public clang-7 - (clang-from-llvm llvm-7 clang-runtime + (clang-from-llvm llvm-7 clang-runtime-7 "067lwggnbg0w1dfrps790r5l6k8n5zwhlsw7zb6zvmfpwpfn4nx4" #:patches '("clang-7.0-libc-search-path.patch"))) @@ -523,12 +449,11 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") (define-public llvm-6 (package - (inherit llvm) + (inherit llvm-7) (version "6.0.1") (source (origin (method url-fetch) - (uri (string-append "https://llvm.org/releases/" - version "/llvm-" version ".src.tar.xz")) + (uri (llvm-download-uri "llvm" version)) (sha256 (base32 "1qpls3vk85lydi5b4axl0809fv932qgsqgdgrk098567z4jc7mmn")))))) @@ -539,39 +464,21 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") "1fcr3jn24yr8lh36nc0c4ikli4744i2q9m1ik67p1jymwwaixkgl")) (define-public clang-6 - (clang-from-llvm llvm-6 clang-runtime + (clang-from-llvm llvm-6 clang-runtime-6 "0rxn4rh7rrnsqbdgp4gzc8ishbkryhpl1kd3mpnxzpxxhla3y93w" #:patches '("clang-6.0-libc-search-path.patch"))) (define-public clang-toolchain-6 (make-clang-toolchain clang-6)) -;; Libcxx files specifically used by PySide2. -(define-public libcxx-6 - (package - (inherit libcxx) - (version (package-version llvm-6)) - (source - (origin - (inherit (package-source libcxx)) - (uri (string-append "http://llvm.org/releases/" - version "/libcxx-" version ".src.tar.xz")) - (sha256 - (base32 - "0rzw4qvxp6qx4l4h9amrq02gp7hbg8lw4m0sy3k60f50234gnm3n")))) - (native-inputs - `(("clang" ,clang-6) - ("llvm" ,llvm-6))))) - (define-public llvm-3.9.1 - (package (inherit llvm) + (package (inherit llvm-6) (name "llvm") (version "3.9.1") (source (origin (method url-fetch) - (uri (string-append "https://llvm.org/releases/" - version "/llvm-" version ".src.tar.xz")) + (uri (llvm-download-uri "llvm" version)) (sha256 (base32 "1vi9sf7rx1q04wj479rsvxayb6z740iaz3qniwp266fgp5a07n8z")))) @@ -602,8 +509,7 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") (source (origin (method url-fetch) - (uri (string-append "https://llvm.org/releases/" - version "/llvm-" version ".src.tar.xz")) + (uri (llvm-download-uri "llvm" version)) (sha256 (base32 "1ybmnid4pw2hxn12ax5qa5kl1ldfns0njg8533y3mzslvd5cx0kf")))))) @@ -621,13 +527,12 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") #:patches '("clang-3.8-libc-search-path.patch"))) (define-public llvm-3.7 - (package (inherit llvm-3.9.1) + (package (inherit llvm-3.8) (version "3.7.1") (source (origin (method url-fetch) - (uri (string-append "https://llvm.org/releases/" - version "/llvm-" version ".src.tar.xz")) + (uri (llvm-download-uri "llvm" version)) (sha256 (base32 "1masakdp9g2dan1yrazg7md5am2vacbkb3nahb3dchpc1knr8xxy")))))) @@ -645,13 +550,12 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") #:patches '("clang-3.5-libc-search-path.patch"))) (define-public llvm-3.6 - (package (inherit llvm-3.9.1) + (package (inherit llvm-3.7) (version "3.6.2") (source (origin (method url-fetch) - (uri (string-append "https://llvm.org/releases/" - version "/llvm-" version ".src.tar.xz")) + (uri (llvm-download-uri "llvm" version)) (sha256 (base32 "153vcvj8gvgwakzr4j0kndc0b7wn91c2g1vy2vg24s6spxcc23gn")))))) @@ -668,13 +572,12 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") #:patches '("clang-3.5-libc-search-path.patch"))) (define-public llvm-3.5 - (package (inherit llvm-3.9.1) + (package (inherit llvm-3.6) (version "3.5.2") (source (origin (method url-fetch) - (uri (string-append "https://llvm.org/releases/" - version "/llvm-" version ".src.tar.xz")) + (uri (llvm-download-uri "llvm" version)) (patches (search-patches "llvm-3.5-fix-clang-build-with-gcc5.patch")) (sha256 @@ -682,11 +585,33 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") "0xf5q17kkxsrm2gsi93h4pwlv663kji73r2g4asb97klsmb626a4")))))) (define-public clang-runtime-3.5 - (clang-runtime-from-llvm - llvm-3.5 - "1hsdnzzdr5kglz6fnv3lcsjs222zjsy14y8ax9dy6zqysanplbal" - '("clang-runtime-asan-build-fixes.patch" - "clang-3.5-libsanitizer-ustat-fix.patch"))) + (let ((runtime (clang-runtime-from-llvm + llvm-3.5 + "1hsdnzzdr5kglz6fnv3lcsjs222zjsy14y8ax9dy6zqysanplbal" + '("clang-runtime-asan-build-fixes.patch" + "clang-3.5-libsanitizer-ustat-fix.patch")))) + (package + (inherit runtime) + (arguments + (substitute-keyword-arguments (package-arguments runtime) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + ;; glibc no longer includes rpc/xdr.h, so we use the headers from + ;; libtirpc. + (add-after 'unpack 'find-rpc-includes + (lambda* (#:key inputs #:allow-other-keys) + (setenv "CPATH" + (string-append (assoc-ref inputs "libtirpc") + "/include/tirpc/:" + (or (getenv "CPATH") ""))) + (setenv "CPLUS_INCLUDE_PATH" + (string-append (assoc-ref inputs "libtirpc") + "/include/tirpc/:" + (or (getenv "CPLUS_INCLUDE_PATH") ""))) + #t)))))) + (inputs + `(("libtirpc" ,libtirpc) + ("llvm" ,llvm-3.5)))))) (define-public clang-3.5 (clang-from-llvm llvm-3.5 clang-runtime-3.5 @@ -703,6 +628,118 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") ;; Extempore refuses to build on architectures other than x86_64 (supported-systems '("x86_64-linux")))) +(define-public libcxx + (package + (name "libcxx") + (version "9.0.1") + (source + (origin + (method url-fetch) + (uri (llvm-download-uri "libcxx" version)) + (sha256 + (base32 + "0d2bj5i6mk4caq7skd5nsdmz8c2m5w5anximl5wz3x32p08zz089")))) + (build-system cmake-build-system) + (native-inputs + `(("clang" ,clang) + ("llvm" ,llvm))) + (home-page "https://libcxx.llvm.org") + (synopsis "C++ standard library") + (description + "This package provides an implementation of the C++ standard library for +use with Clang, targeting C++11, C++14 and above.") + (license license:expat))) + +;; Libcxx files specifically used by PySide2. +(define-public libcxx-6 + (package + (inherit libcxx) + (version (package-version llvm-6)) + (source + (origin + (inherit (package-source libcxx)) + (uri (llvm-download-uri "libcxx" version)) + (sha256 + (base32 + "0rzw4qvxp6qx4l4h9amrq02gp7hbg8lw4m0sy3k60f50234gnm3n")))) + (native-inputs + `(("clang" ,clang-6) + ("llvm" ,llvm-6))))) + +(define-public libclc + (package + (name "libclc") + (version "9.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/llvm/llvm-project.git") + (commit (string-append "llvmorg-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1d1qayvrvvc1di7s7jfxnjvxq2az4lwq1sw1b2gq2ic0nksvajz0")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + (list (string-append "-DLLVM_CLANG=" + (assoc-ref %build-inputs "clang") + "/bin/clang") + (string-append "-DPYTHON=" + (assoc-ref %build-inputs "python") + "/bin/python3")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ (chdir "libclc") #t))))) + (native-inputs + `(("clang" ,clang) + ("llvm" ,llvm) + ("python" ,python))) + (home-page "https://libclc.llvm.org") + (synopsis "Libraries for the OpenCL programming language") + (description + "This package provides an implementation of the OpenCL library +requirements according to version 1.1 of the OpenCL specification.") + ;; Apache license 2.0 with LLVM exception + (license license:asl2.0))) + +(define-public libomp + (package + (name "libomp") + (version "9.0.1") + (source (origin + (method url-fetch) + (uri (llvm-download-uri "openmp" version)) + (sha256 + (base32 + "1knafnpp0f7hylx8q20lkd6g1sf0flly572dayc5d5kghh7hd52w")) + (file-name (string-append "libomp-" version ".tar.xz")))) + (build-system cmake-build-system) + ;; XXX: Note this gets built with GCC because building with Clang itself + ;; fails (missing <atomic>, even when libcxx is added as an input.) + (arguments + '(#:configure-flags '("-DLIBOMP_USE_HWLOC=ON" + "-DOPENMP_TEST_C_COMPILER=clang" + "-DOPENMP_TEST_CXX_COMPILER=clang++") + #:test-target "check-libomp")) + (native-inputs + `(("clang" ,clang) + ("llvm" ,llvm) + ("perl" ,perl) + ("pkg-config" ,pkg-config))) + (inputs + `(("hwloc" ,hwloc "lib"))) + (home-page "https://openmp.llvm.org") + (synopsis "OpenMP run-time support library") + (description + "This package provides the run-time support library developed by the LLVM +project for the OpenMP multi-theaded programming extension. This package +notably provides @file{libgomp.so}, which is has a binary interface compatible +with that of libgomp, the GNU Offloading and Multi Processing Library.") + (license license:expat))) + (define-public python-llvmlite (package (name "python-llvmlite") diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 5ff328a08c..25f9c14b6f 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -144,7 +144,7 @@ sparsely connected networks.") "svm-predict" "svm-scale"))) #t))))) - (home-page "http://www.csie.ntu.edu.tw/~cjlin/libsvm/") + (home-page "https://www.csie.ntu.edu.tw/~cjlin/libsvm/") (synopsis "Library for Support Vector Machines") (description "LIBSVM is a machine learning library for support vector diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 9d6e3dba8b..7d69800f42 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -521,7 +521,7 @@ It adds a large amount of new and improved features to mutt.") (define-public gmime (package (name "gmime") - (version "3.2.5") + (version "3.2.6") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gmime/" @@ -529,7 +529,7 @@ It adds a large amount of new and improved features to mutt.") "/gmime-" version ".tar.xz")) (sha256 (base32 - "0ndsg1z1kq4w4caascydvialpyn4rfbjdn7xclzbzhw53x85cxgv")))) + "05s7qjrxbj010q016pmdqdq73gz8vl4hv29kwaign0j8gi61kzxb")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -781,7 +781,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.") (string-append (assoc-ref outputs "out") "/share/emacs/site-lisp")) #t))))) - (home-page "http://www.djcbsoftware.nl/code/mu/") + (home-page "https://www.djcbsoftware.nl/code/mu/") (synopsis "Quickly find emails") (description "Mu is a tool for dealing with e-mail messages stored in the @@ -793,14 +793,12 @@ attachments, create new maildirs, and so on.") (define mumimu ;; This is a fork of mu for use in Mumi that stores message bug IDs in its ;; database. It also renames the library to "mumimu" to avoid confusion. - (let ((commit "ad30b5e9c85f0465aeeeac461d8c32d95775d450") - (revision "1")) + (let ((commit "6b42431052c7cc9a2e147938e1b67f14a93e4ee5") + (revision "2")) (package (inherit mu) (name "mumimu") - ;; TODO The version here used to be (package-version guile-email), but - ;; that code caused problems - (version (git-version "0.2.2" revision commit)) + (version (git-version (package-version mu) revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -809,7 +807,7 @@ attachments, create new maildirs, and so on.") (file-name (git-file-name name version)) (sha256 (base32 - "1y8r8csvkyxncgpi469dir4n4sga4z9xdzc18qh5s8bk29qj689n")))) + "044scxmjrckidqx935yza3aqnjyzrmhyvgx2gs2jyf68hl2qzb89")))) (arguments (substitute-keyword-arguments (package-arguments mu) ((#:tests? anything '()) @@ -817,15 +815,7 @@ attachments, create new maildirs, and so on.") ((#:phases phases) `(modify-phases ,phases (replace 'patch-configure - (lambda _ - (delete-file "autogen.sh") - (substitute* "configure.ac" - ;; Use latest Guile - (("guile-2.0") "guile-2.2")) - (substitute* '("guile/Makefile.am" - "guile/mu/Makefile.am") - (("share/guile/site/2.0/") "share/guile/site/2.2/")) - #t)) + (lambda _ (delete-file "autogen.sh") #t)) (replace 'fix-ffi (lambda* (#:key outputs #:allow-other-keys) (substitute* "guile/mumimu.scm" @@ -951,7 +941,9 @@ invoking @command{notifymuch} from the post-new hook.") #:imported-modules (,@%gnu-build-system-modules (guix build emacs-build-system) (guix build emacs-utils)) - #:make-flags (list "V=1") ; verbose test output + #:make-flags + (list "V=1" ; verbose test output + "NOTMUCH_TEST_TIMEOUT=1h") ; don't fail on slow machines #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-notmuch-lib.el (lambda _ @@ -1382,7 +1374,7 @@ facilities for checking incoming mail.") (define-public dovecot (package (name "dovecot") - (version "2.3.9.2") + (version "2.3.9.3") (source (origin (method url-fetch) @@ -1390,7 +1382,7 @@ facilities for checking incoming mail.") (version-major+minor version) "/" "dovecot-" version ".tar.gz")) (sha256 - (base32 "1yc6hi4hqg4hcc4495sf4m5f1lnargphi6dawj43if21vncgp127")))) + (base32 "0lcnqib63nv32xr3nr4s3x8k77mbgrhc13swjl2xqnzw4fabd7zq")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -2300,22 +2292,20 @@ transfer protocols.") (define-public opensmtpd (package (name "opensmtpd") - (version "6.6.3p1") + (version "6.6.4p1") (source (origin (method url-fetch) (uri (string-append "https://www.opensmtpd.org/archives/" "opensmtpd-" version ".tar.gz")) (sha256 - (base32 "1dqysjlyl0x3qzdzc9sjrla0063vpmlyq735lzf88p7wgzmw1xwy")))) + (base32 "1kyph9ycq0j21dl9n1sq5fns9p4gckdi0fmnf8awrcwrdcm9dyg2")))) (build-system gnu-build-system) (inputs `(("bdb" ,bdb) ("libasr" ,libasr) ("libevent" ,libevent) - ;; XXX Upstream recommends LibreSSL, which doesn't support TLS 1.3 yet, - ;; and requires a development release (3.0.2). Use OpenSSL instead. - ("openssl" ,openssl) + ("libressl" ,libressl) ; recommended, and supports e.g. ECDSA ("linux-pam" ,linux-pam) ("zlib" ,zlib))) (native-inputs @@ -2964,8 +2954,8 @@ replacement for the @code{urlview} program.") (license gpl2+))) (define-public mumi - (let ((commit "8a57c87797ffb07baa88697130204184db643521") - (revision "5")) + (let ((commit "a933a62a4b8528b416319759b9985db80f3fce14") + (revision "6")) (package (name "mumi") (version (git-version "0.0.0" revision commit)) @@ -2977,29 +2967,7 @@ replacement for the @code{urlview} program.") (file-name (git-file-name name version)) (sha256 (base32 - "1575gn5p086sjxz5hvg6iyskq6cxf6vf50s9nsc4xgrbcqa3pv2c")) - (modules '((guix build utils))) - (snippet - '(begin - (substitute* "Makefile.am" - ;; Install .go files to $prefix/lib instead of - ;; $prefix/share. - (("^godir[[:space:]]*=.*") - "godir = \ -$(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n") - - ;; Install assets. - (("^assetsdir.*" _) - "\ -assetsdir = $(pkgdatadir)/assets -assetscssdir = $(assetsdir)/css -assetsimgdir = $(assetsdir)/img -assetsjsdir = $(assetsdir)/js - -assetscss_DATA = $(wildcard assets/css/*) -assetsimg_DATA = $(wildcard assets/img/*) -assetsjs_DATA = $(wildcard assets/js/*)\n")) - #t)))) + "0vlda7vjzpd942iz5vb471hj7ypml5gwl9s1am92klv6nk2vnvcx")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) @@ -3028,10 +2996,9 @@ assetsjs_DATA = $(wildcard assets/js/*)\n")) (,go ,(getenv "GUILE_LOAD_COMPILED_PATH")))) #t)))))) (inputs - `(("guile-debbugs" ,guile-debbugs-next) + `(("guile-debbugs" ,guile-debbugs) ("guile-email" ,guile-email) - ("guile-fibers" ,guile-fibers) - ("guile-json" ,guile-json-1) + ("guile-json" ,guile-json-3) ("guile-syntax-highlight" ,guile-syntax-highlight) ("gnutls" ,gnutls) ;needed to talk to https://debbugs.gnu.org ("guile" ,guile-2.2) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index a51855797f..0d11f4695e 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2019 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2013, 2014, 2015, 2016, 2019, 2020 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2014, 2016, 2017 John Darrington <jmd@gnu.org> ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net> @@ -33,6 +33,7 @@ ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com> ;;; Copyright © 2019 Robert Smith <robertsmith@posteo.net> +;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -522,6 +523,51 @@ in memory, so even problems with very large output sizes can sometimes be solved.") (license license:gpl2+))) +(define-public vinci + (package + (name "vinci") + (version "1.0.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.math.u-bordeaux.fr/~aenge/software/" + "vinci/vinci-" version ".tar.gz")) + (sha256 + (base32 + "1aq0qc1y27iw9grhgnyji3290wwfznsrk3sg6ynqpxwjdda53h4m")))) + (build-system gnu-build-system) + (inputs + `(("lrslib" ,lrslib))) + (arguments + `(#:tests? #f ; no check phase + #:phases + (modify-phases %standard-phases + (replace 'configure + ;; register the lrs location in the config file + (lambda* (#:key inputs #:allow-other-keys) + (let* ((lrs (assoc-ref inputs "lrslib")) + (lrsexec (string-append lrs "/bin/lrs"))) + (substitute* "vinci.h" + (("#define LRS_EXEC \"lrs\"") + (string-append "#define LRS_EXEC \"" lrsexec "\"")))) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (install-file "vinci" bin)) + #t))))) + (home-page + "https://www.math.u-bordeaux.fr/~aenge/?category=software&page=vinci") + (synopsis "Volume computation for polytopes") + (description + "Vinci implements a number of volume computation algorithms for convex +polytopes in arbitrary dimension. The polytopes can be given by their +V-representation (as the convex hull of a finite number of vertices), by +their H-representation (as the bounded intersection of a finite number of +halfspaces) or by their double description with both representations.") + (license license:gpl2+))) + (define-public arpack-ng (package (name "arpack-ng") @@ -4135,7 +4181,12 @@ as equations, scalars, vectors, and matrices.") "0hprcdwhhyjigmhhk6514m71bnmvqci9r8gglrqilgx424r6ff7q")))) (build-system gnu-build-system) (arguments - `(#:phases + `(#:imported-modules ((guix build python-build-system) + ,@%gnu-build-system-modules) + #:modules (((guix build python-build-system) #:select (site-packages)) + (guix build gnu-build-system) + (guix build utils)) + #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-compatability ;; Versions after 4.8.3 have immintrin.h IFDEFed for Windows only. @@ -4152,7 +4203,9 @@ as equations, scalars, vectors, and matrices.") (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (invoke "./configure" - (string-append "--prefix=" (assoc-ref outputs "out"))))) + "--python" + (string-append "--prefix=" (assoc-ref outputs "out")) + (string-append "--pypkgdir=" (site-packages inputs outputs))))) (add-after 'configure 'change-directory (lambda _ (chdir "build") diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 044f4dae1d..d7cdace2ee 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org> ;;; Copyright © 2019, 2020 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2019, 2020 Timotej Lazar <timotej.lazar@araneo.si> +;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; ;;; This file is part of GNU Guix. ;;; @@ -48,6 +49,7 @@ #:use-module (gnu packages boost) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages cpp) #:use-module (gnu packages crypto) #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) @@ -68,8 +70,10 @@ #:use-module (gnu packages libcanberra) #:use-module (gnu packages libidn) #:use-module (gnu packages linux) + #:use-module (gnu packages logging) #:use-module (gnu packages lua) #:use-module (gnu packages man) + #:use-module (gnu packages markup) #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) #:use-module (gnu packages pcre) @@ -1634,14 +1638,14 @@ are both supported).") (define-public profanity (package (name "profanity") - (version "0.7.1") + (version "0.8.1") (source (origin (method url-fetch) (uri (string-append "https://profanity-im.github.io/profanity-" version ".tar.gz")) (sha256 (base32 - "0nxh81j8ky0fzv47pip1jb7rs5rrin3jx0f3h632bvpjiya45r1z")))) + "15yrx2ir2bilxpjfaxpjb93yjpvpvcvh5r7wbsjx6kmmy7qg2zvb")))) (build-system gnu-build-system) (arguments '(#:configure-flags @@ -1787,6 +1791,130 @@ implementation. Quaternion and libqmatrixclient together form the QMatrixClient project.") (license license:lgpl2.1+))) +(define-public mtxclient + (package + (name "mtxclient") + (version "0.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Nheko-Reborn/mtxclient.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0pycznrvj57ff6gbwfn1xj943d2dr4vadl79hii1z16gn0nzxpmj")))) + (arguments + `(#:configure-flags + (list + ;; Disable example binaries (not installed) + "-DBUILD_LIB_EXAMPLES=OFF") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'disable-network-tests + (lambda _ + (substitute* "CMakeLists.txt" + (("add_test\\((BasicConnectivity|ClientAPI|MediaAPI|Encryption)") + "# add_test")) + #t)) + (add-before 'configure 'set-home + (lambda _ + ;; Tries to create package registry file + ;; So, set HOME. + (setenv "HOME" "/tmp") + #t))))) + (build-system cmake-build-system) + (inputs + `(("boost" ,boost) + ("json-modern-cxx" ,json-modern-cxx) + ("libolm" ,libolm) + ("libsodium" ,libsodium) + ("openssl" ,openssl) + ("spdlog" ,spdlog) + ("zlib" ,zlib))) + (native-inputs + `(("googletest" ,googletest) + ("pkg-config" ,pkg-config))) + (home-page "https://github.com/Nheko-Reborn/mtxclient") + (synopsis "Client API library for the Matrix protocol") + (description "@code{mtxclient} is a C++ library that implements client API +for the Matrix protocol. It is built on to of @code{Boost.Asio}.") + (license license:expat))) + +(define-public nheko + (package + (name "nheko") + (version "0.6.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Nheko-Reborn/nheko.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "19dkc98l1q4070v6mli4ybqn0ip0za607w39hjf0x8rqdxq45iwm")))) + (arguments + `(#:tests? #f ;no test target + #:configure-flags + (list + "-DCMAKE_BUILD_TYPE=Release" + "-DCMAKE_CXX_FLAGS=-fpermissive") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-Werror + (lambda _ + (substitute* "CMakeLists.txt" + (("-Werror") "")) + #t)) + (add-after 'unpack 'fix-determinism + (lambda _ + ;; Make Qt deterministic. + (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1") + #t))))) + (build-system qt-build-system) + (inputs + `(("boost" ,boost) + ("cmark" ,cmark) + ("json-modern-cxx" ,json-modern-cxx) + ("libolm" ,libolm) + ("lmdb" ,lmdb) + ("lmdbxx" ,lmdbxx) + ("mtxclient" ,mtxclient) + ("openssl" ,openssl) + ("qtbase" ,qtbase) + ("qtsvg" ,qtsvg) + ("qtmultimedia" ,qtmultimedia) + ("spdlog" ,spdlog) + ("tweeny" ,tweeny) + ("zlib" ,zlib))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("qtlinguist" ,qttools))) + (home-page "https://github.com/Nheko-Reborn/nheko") + (synopsis "Desktop client for Matrix using Qt and C++14") + (description "@code{Nheko} want to provide a native desktop app for the +Matrix protocol that feels more like a mainstream chat app and less like an IRC +client. + +There is support for: +@itemize +@item E2E encryption (text messages only: attachments are currently sent unencrypted). +@item User registration. +@item Creating, joining & leaving rooms. +@item Sending & receiving invites. +@item Sending & receiving files and emoji. +@item Typing notifications. +@item Username auto-completion. +@item Message & mention notifications. +@item Redacting messages. +@item Read receipts. +@item Basic communities support. +@item Room switcher (@key{ctrl-K}). +@item Light, Dark & System themes. +@end itemize") + (license license:gpl3+))) + (define-public quaternion (package (name "quaternion") diff --git a/gnu/packages/mono.scm b/gnu/packages/mono.scm index 17f90fe30a..a01b63f08a 100644 --- a/gnu/packages/mono.scm +++ b/gnu/packages/mono.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz> ;;; ;;; This file is part of GNU Guix. ;;; @@ -18,9 +19,14 @@ (define-module (gnu packages mono) #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages fontutils) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) + #:use-module (gnu packages gtk) + #:use-module (gnu packages image) #:use-module (gnu packages perl) + #:use-module (gnu packages photo) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages xml) #:use-module (gnu packages) @@ -124,3 +130,46 @@ C#, a C-style programming language from Microsoft that is very similar to Java.") (home-page "https://www.mono-project.com/") (license license:x11))) + +(define-public libgdiplus + (package + (name "libgdiplus") + (version "6.0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "http://download.mono-project.com/sources/libgdiplus/libgdiplus-" + version + ".tar.gz")) + (sha256 + (base32 + "0adz5813f881z65lpyf0g0w9hcn7d7qkai6sncpkwnsxfv4khp5p")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("glib" ,glib) + ("cairo" ,cairo) + ("fontconfig" ,fontconfig) + ("libtiff" ,libtiff) + ("libjpeg" ,libjpeg-turbo) + ("libexif" ,libexif) + ("libungif" ,libungif))) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; TODO: See with upstream why they fail. + ;; https://github.com/mono/mono/issues/18934 + (add-before 'configure 'remove-buggy-tests + (lambda _ + (substitute* "tests/Makefile.in" + (("testicocodec\\$\\(EXEEXT\\) ") " ") + (("testfont\\$\\(EXEEXT\\) ") " ")) + #t))))) + (home-page "https://www.mono-project.com/docs/gui/libgdiplus/") + (synopsis "Mono library that provides a GDI+-compatible API") + (description "Libgdiplus is the Mono library that provides a +GDI+-compatible API on non-Windows operating systems. The implementation uses +Cairo to do most of the heavy lifting.") + (license license:gpl3+))) diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index 2550c124b5..fe670f6aae 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -60,7 +60,7 @@ (define-public libmpdclient (package (name "libmpdclient") - (version "2.17") + (version "2.18") (source (origin (method url-fetch) (uri @@ -69,7 +69,7 @@ "/libmpdclient-" version ".tar.xz")) (sha256 (base32 - "0n9mrrmk20p4mfsz782jziax9z3bn7vxlm53327mrdlmgqf8z6zf")))) + "1yl123xr25gcd3vlsfmn6p7gbrq029pgnxa8m6n6j0byaqgixc2c")))) (build-system meson-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -92,7 +92,7 @@ interfacing MPD in the C, C++ & Objective C languages.") (define-public mpd (package (name "mpd") - (version "0.21.18") + (version "0.21.20") (source (origin (method url-fetch) (uri @@ -101,7 +101,7 @@ interfacing MPD in the C, C++ & Objective C languages.") "/mpd-" version ".tar.xz")) (sha256 (base32 - "0hllkq426hql1s80xxvy28ypvw3dbfrrclbjc0lckmmgsmnfd0l7")))) + "1q8hwl3i0a4qzdwfh44r0nh5zd2mm3rraqw5qvmz6qfrjslz0bj2")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Ddocumentation=true"))) ;the default is 'false'... @@ -183,7 +183,7 @@ player daemon.") (define-public ncmpc (package (name "ncmpc") - (version "0.36") + (version "0.37") (source (origin (method url-fetch) (uri @@ -192,7 +192,7 @@ player daemon.") "/ncmpc-" version ".tar.xz")) (sha256 (base32 - "0b1yg93is9057p9d7vfv5nz85d11p6jq94fw07jn3zlfzhyqfcj6")))) + "0p31jpv1vj01bqf1589mnfpv9618cfsv259rlnbqybg1yqkvg3kw")))) (build-system meson-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index 00e0d12eab..fc4950f519 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -26,14 +26,15 @@ (define-module (gnu packages mpi) #:use-module (guix packages) - #:use-module ((guix licenses) - #:hide (expat)) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix download) #:use-module (guix utils) #:use-module (guix deprecation) #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (gnu packages) + #:use-module (gnu packages base) + #:use-module (gnu packages compression) #:use-module (gnu packages fabric-management) #:use-module (gnu packages gcc) #:use-module (gnu packages java) @@ -128,7 +129,7 @@ exploit it accordingly and efficiently. hwloc may display the topology in multiple convenient formats. It also offers a powerful programming interface to gather information about the hardware, bind processes, and much more.") - (license bsd-3))) + (license license:bsd-3))) (define-public hwloc-2 ;; Note: 2.0 isn't the default yet, see above. @@ -273,7 +274,7 @@ from all across the High Performance Computing community in order to build the best MPI library available. Open MPI offers advantages for system and software vendors, application developers and computer science researchers.") ;; See file://LICENSE - (license bsd-2))) + (license license:bsd-2))) ;; TODO: javadoc files contain timestamps. (define-public java-openmpi @@ -392,4 +393,81 @@ object oriented interface which closely follows MPI-2 C++ bindings. It supports point-to-point and collective communications of any picklable Python object as well as optimized communications of Python objects (such as NumPy arrays) that expose a buffer interface.") - (license bsd-3))) + (license license:bsd-3))) + +(define-public mpich + (package + (name "mpich") + (version "3.3.2") + (source (origin + (method url-fetch) + (uri (string-append "http://www.mpich.org/static/downloads/" + version "/mpich-" version ".tar.gz")) + (sha256 + (base32 + "1farz5zfx4cd0c3a0wb9pgfypzw0xxql1j1294z1sxslga1ziyjb")))) + (build-system gnu-build-system) + (inputs + `(("zlib" ,zlib) + ("hwloc" ,hwloc-2 "lib") + ("slurm" ,slurm) + ,@(if (and (not (%current-target-system)) + (member (%current-system) (package-supported-systems ucx))) + `(("ucx" ,ucx)) + '()))) + (native-inputs + `(("perl" ,perl) + ("which" ,which) + ("gfortran" ,gfortran))) + (outputs '("out" "debug")) + (arguments + `(#:configure-flags + (list "--disable-silent-rules" ;let's see what's happening + "--enable-debuginfo" + ;; "--with-device=ch4:ucx" ; --with-device=ch4:ofi segfaults in tests + (string-append "--with-hwloc-prefix=" + (assoc-ref %build-inputs "hwloc")) + + ,@(if (assoc "ucx" (package-inputs this-package)) + `((string-append "--with-ucx=" + (assoc-ref %build-inputs "ucx"))) + '())) + + #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-sources + (lambda _ + (substitute* "./maint/gen_subcfg_m4" + (("/usr/bin/env") (which "env"))) + (substitute* "src/glue/romio/all_romio_symbols" + (("/usr/bin/env") (which "env"))) + (substitute* (find-files "." "buildiface") + (("/usr/bin/env") (which "env"))) + (substitute* "maint/extracterrmsgs" + (("/usr/bin/env") (which "env"))) + (substitute* (find-files "." "f77tof90") + (("/usr/bin/env") (which "env"))) + (substitute* (find-files "." "\\.sh$") + (("/bin/sh") (which "sh"))) + #t)) + (add-before 'configure 'fix-makefile + (lambda _ + ;; Remove "@hwloclib@" from 'pmpi_convenience_libs'. + ;; This fixes "No rule to make target '-lhwloc', needed + ;; by 'lib/libmpi.la'". + (substitute* "Makefile.in" + (("^pmpi_convenience_libs = (.*) @hwloclib@ (.*)$" _ + before after) + (string-append "pmpi_convenience_libs = " + before " " after))) + #t))))) + (home-page "https://www.mpich.org/") + (synopsis "Implementation of the Message Passing Interface (MPI)") + (description + "MPICH is a high-performance and portable implementation of the Message +Passing Interface (MPI) standard (MPI-1, MPI-2 and MPI-3). MPICH provides an +MPI implementation that efficiently supports different computation and +communication platforms including commodity clusters, high-speed networks (10 +Gigabit Ethernet, InfiniBand, Myrinet, Quadrics), and proprietary high-end +computing systems (Blue Gene, Cray). It enables research in MPI through a +modular framework for other derived implementations.") + (license license:bsd-2))) diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm index 4d8c3d3fdf..deafd87404 100644 --- a/gnu/packages/multiprecision.scm +++ b/gnu/packages/multiprecision.scm @@ -131,7 +131,7 @@ correct rounding.") for performing arithmetic on complex numbers. It supports arbitrarily high precision and correctly rounds the results.") (license lgpl3+) - (home-page "http://multiprecision.org/mpc/"))) + (home-page "http://www.multiprecision.org/mpc/"))) (define-public mpfi (package diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 2787ff0b00..e26d3deaff 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2017, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2017, 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> -;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 nee <nee.git@hidamari.blue> ;;; Copyright © 2018 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> @@ -876,11 +876,6 @@ interface. It is implemented as a frontend to @code{klick}.") (build-system cmake-build-system) (arguments '(#:tests? #f)) ; no check target - (native-inputs - `(;; Use gcc-4.9 to work around an internal compiler error that happens - ;; when using gcc-5.5.0. FIXME: Try removing this when the default - ;; compiler is no longer gcc-5.5.0. - ("gcc" ,gcc-4.9))) (home-page "https://bitbucket.org/mpyne/game-music-emu") (synopsis "Video game music file playback library") (description @@ -1568,7 +1563,7 @@ special variant of additive synthesis.") (native-inputs `(("pkg-config" ,pkg-config) ("intltool" ,intltool))) - (home-page "http://amsynth.github.io") + (home-page "https://amsynth.github.io") (synopsis "Analog modeling synthesizer") (description "amsynth is an easy-to-use software synthesizer with a classic @@ -2284,7 +2279,7 @@ improves on support for JACK features, such as JACK MIDI.") ("libsndfile" ,libsndfile))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://linuxsampler.org/libgig/") + (home-page "https://linuxsampler.org/libgig/") (synopsis "C++ library for working with Gigasampler (.gig) files") (description "Libgig is a C++ library for loading, modifying existing and creating new @@ -2621,7 +2616,7 @@ tune-in sender list from @url{http://opml.radiotime.com}.") (define-public pianobar (package (name "pianobar") - (version "2016.06.02") + (version "2019.02.14") (source (origin (method git-fetch) (uri (git-reference @@ -2630,10 +2625,10 @@ tune-in sender list from @url{http://opml.radiotime.com}.") (file-name (git-file-name name version)) (sha256 (base32 - "058fbdxp7n35hxwy3b8slfy4pb4n63cb173vfmywqa06wh1dv6f6")))) + "1bfabkj3m9kmhxl64w4azmi0xf7w52fmqfbw2ag28hbb5yy01k1m")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; no tests + `(#:tests? #f ; no tests #:make-flags (list "CC=gcc" "CFLAGS=-std=c99" (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases @@ -2643,10 +2638,10 @@ tune-in sender list from @url{http://opml.radiotime.com}.") ("curl" ,curl) ("libgcrypt" ,libgcrypt) ("json-c" ,json-c) - ("ffmpeg" ,ffmpeg-3.4))) + ("ffmpeg" ,ffmpeg))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://6xq.net/projects/pianobar/") + (home-page "https://6xq.net/pianobar/") (synopsis "Console-based pandora.com player") (description "pianobar is a console-based music player for the personalized online radio pandora.com. It has configurable keys for playing @@ -3996,7 +3991,7 @@ sample library.") (native-inputs `(("pkg-config" ,pkg-config) ("qttools" ,qttools))) - (home-page "http://muse-sequencer.org") + (home-page "https://muse-sequencer.github.io/") (synopsis "MIDI/Audio sequencer") (description "MusE is a MIDI/Audio sequencer with recording and editing capabilities. Its audio sequencer supports the LADSPA, DSSI, and LV2 audio @@ -5143,7 +5138,7 @@ and as an LV2 plugin.") (define-public zrythm (package (name "zrythm") - (version "0.7.474") + (version "0.7.573") (source (origin (method url-fetch) @@ -5151,7 +5146,7 @@ and as an LV2 plugin.") version ".tar.xz")) (sha256 (base32 - "0qq9v8y27zhamcb7nq7pl76874ws8x8cxhp5r685b8binvl9p0az")))) + "075gq478xbzz5ql4fsrgfzhgxi7z26k6034lhlkmm0klfcb8j9mg")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -5169,24 +5164,25 @@ and as an LV2 plugin.") (inputs `(("alsa-lib" ,alsa-lib) ("jack" ,jack-1) - ("font-dseg", font-dseg) - ("ffmpeg", ffmpeg) - ("fftw", fftw) - ("fftwf", fftwf) - ("gettext", gettext-minimal) - ("glibc", glibc) - ("gtk+", gtk+) + ("font-dseg" ,font-dseg) + ("ffmpeg" ,ffmpeg) + ("fftw" ,fftw) + ("fftwf" ,fftwf) + ("gettext" ,gettext-minimal) + ("glibc" ,glibc) + ("gtk+" ,gtk+) + ("libcyaml" ,libcyaml) ("libsamplerate" ,libsamplerate) ("libsndfile" ,libsndfile) ("libyaml" ,libyaml) - ("lilv", lilv) - ("xdg-utils", xdg-utils) - ("rubberband", rubberband))) + ("lilv" ,lilv) + ("xdg-utils" ,xdg-utils) + ("rubberband" ,rubberband))) (native-inputs - `(("pkg-config", pkg-config) - ("help2man", help2man) + `(("pkg-config" ,pkg-config) + ("help2man" ,help2man) ("libaudec" ,libaudec) - ("lv2", lv2) + ("lv2" ,lv2) ("glib" ,glib "bin"))) ;for 'glib-compile-resources' (synopsis "Digital audio workstation focusing on usability") (description "Zrythm is a digital audio workstation designed to be diff --git a/gnu/packages/musl.scm b/gnu/packages/musl.scm index 7e4e27d00d..44c39750d6 100644 --- a/gnu/packages/musl.scm +++ b/gnu/packages/musl.scm @@ -28,14 +28,14 @@ (define-public musl (package (name "musl") - (version "1.1.24") + (version "1.2.0") (source (origin (method url-fetch) (uri (string-append "https://www.musl-libc.org/releases/" "musl-" version ".tar.gz")) (sha256 (base32 - "18r2a00k82hz0mqdvgm7crzc7305l36109c0j9yjmkxj2alcjw0k")))) + "1s6lix02k1ijm4nmhzpmwzk5w6xfkhn70nvvk8zjs51r24cpppn6")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; musl has no tests diff --git a/gnu/packages/ncdu.scm b/gnu/packages/ncdu.scm index 62fe84ca07..720b8a7858 100644 --- a/gnu/packages/ncdu.scm +++ b/gnu/packages/ncdu.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 John Darrington <jmd@gnu.org> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,14 +28,14 @@ (define-public ncdu (package (name "ncdu") - (version "1.14.1") + (version "1.14.2") (source (origin (method url-fetch) (uri (string-append "https://dev.yorhel.nl/download/ncdu-" version ".tar.gz")) (sha256 (base32 - "0gp1aszzrh8b6fhv8fspvkmr0qwc55z6z4w6l7r8j09sq7lf0cdy")))) + "1cf6a9qw7ljaw09b0g7c5i252dl7wb2mnkrbwwwf7m0c3mf7yyll")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses))) (synopsis "Ncurses based disk usage analyzer") diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 4a48355163..67feb1f3d2 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -178,7 +178,7 @@ residing in IPv4-only networks, even when they are behind a NAT device.") (define-public socat (package (name "socat") - (version "1.7.3.3") + (version "1.7.3.4") (source (origin (method url-fetch) (uri (string-append @@ -186,9 +186,9 @@ residing in IPv4-only networks, even when they are behind a NAT device.") version ".tar.bz2")) (sha256 (base32 - "0jnhjijyq74g3wa4ph0am83z6vq7qna7ac0xqjma8s4197z3zmhd")))) + "1z7xgnwiqpcv1j6aghhj9nqbx7cg3gpc4n9j7vi9hm7nhv5788wp")))) (build-system gnu-build-system) - (arguments '(#:tests? #f)) ;no 'check' phase + (arguments '(#:tests? #f)) ; no test suite (inputs `(("openssl" ,openssl))) (home-page "http://www.dest-unreach.org/socat/") (synopsis @@ -562,14 +562,14 @@ and up to 1 Mbit/s downstream.") (define-public whois (package (name "whois") - (version "5.5.5") + (version "5.5.6") (source (origin (method url-fetch) (uri (string-append "mirror://debian/pool/main/w/whois/" "whois_" version ".tar.xz")) (sha256 - (base32 "03akwma24gzfnsmwpjxmkzmcaxzg6fc68hmyaz0xmsl28i28l3n3")))) + (base32 "0kpi981zjczvdcxfcq455c529vlaxa73x8kbm530z5b01h0fk8fb")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no test suite @@ -604,14 +604,14 @@ of the same name.") (define-public wireshark (package (name "wireshark") - (version "3.2.1") + (version "3.2.2") (source (origin (method url-fetch) (uri (string-append "https://www.wireshark.org/download/src/wireshark-" version ".tar.xz")) (sha256 - (base32 "0nz84zyhs4177ljxmv34vgc9kgg7ssxhxa4mssxqwh6nb00697sq")))) + (base32 "0ygdxpz0i4jxp55fg9x4xcan093wycjb66yas073gviz9kpj6naz")))) (build-system cmake-build-system) (arguments `(#:phases diff --git a/gnu/packages/nfs.scm b/gnu/packages/nfs.scm index 7efee9360a..ecf092125a 100644 --- a/gnu/packages/nfs.scm +++ b/gnu/packages/nfs.scm @@ -118,7 +118,7 @@ ("libtirpc" ,libtirpc))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.kernel.org/pub/linux/utils/nfs-utils/") + (home-page "https://www.kernel.org/pub/linux/utils/nfs-utils/") (synopsis "Tools for loading and managing Linux NFS mounts") (description "The Network File System (NFS) was developed to allow machines to mount a disk partition on a remote machine as if it were a local diff --git a/gnu/packages/nim.scm b/gnu/packages/nim.scm index 22dac0b58a..374a533c30 100644 --- a/gnu/packages/nim.scm +++ b/gnu/packages/nim.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.org> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,7 +28,7 @@ (define-public nim (package (name "nim") - (version "0.17.2") + (version "1.0.6") (source (origin (method url-fetch) @@ -35,7 +36,7 @@ name "-" version ".tar.xz")) (sha256 (base32 - "1gc2xk3ygmz9y4pm75pligssgw995a7gvnfpy445fjpw4d81pzxa")))) + "1cv6bxc7w21455c0pv0r2h64ljyzw266jsk1fsgiiyk2rx8mfkhk")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; No tests. diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 033a55a3d4..a3cf3c9199 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,14 +45,14 @@ (define-public node (package (name "node") - (version "10.17.0") + (version "10.19.0") (source (origin (method url-fetch) (uri (string-append "https://nodejs.org/dist/v" version "/node-v" version ".tar.xz")) (sha256 (base32 - "13n5cvb340ba7vwm8il7bjrmpz89h6cibhk9rc3kq9ymdgbnf9j1")) + "0sginvcsf7lrlzsnpahj4bj1f673wfvby8kaxgvzlrbb7sy229v2")) (modules '((guix build utils))) (snippet `(begin @@ -74,8 +74,7 @@ #t)))) (build-system gnu-build-system) (arguments - ;; TODO: Purge the bundled copies from the source. - '(#:configure-flags '("--shared-cares" + `(#:configure-flags '("--shared-cares" "--shared-http-parser" "--shared-libuv" "--shared-nghttp2" @@ -121,6 +120,20 @@ ;; https://github.com/nodejs/node/issues/31213 (delete-file "test/parallel/test-net-listen-after-destroying-stdin.js") + ;; FIXME: These tests fail on armhf-linux: + ;; https://github.com/nodejs/node/issues/31970 + ,@(if (string-prefix? "arm" (%current-system)) + '((for-each delete-file + '("test/parallel/test-zlib.js" + "test/parallel/test-zlib-brotli.js" + "test/parallel/test-zlib-brotli-flush.js" + "test/parallel/test-zlib-brotli-from-brotli.js" + "test/parallel/test-zlib-brotli-from-string.js" + "test/parallel/test-zlib-convenience-methods.js" + "test/parallel/test-zlib-random-byte-pipes.js" + "test/parallel/test-zlib-write-after-flush.js"))) + '()) + ;; These tests have an expiry date: they depend on the validity of ;; TLS certificates that are bundled with the source. We want this ;; package to be reproducible forever, so remove those. @@ -182,4 +195,5 @@ perfect for data-intensive real-time applications that run across distributed devices.") (home-page "https://nodejs.org/") (license expat) - (properties '((timeout . 3600))))) ; 1 h + (properties '((max-silent-time . 7200) ;2h, needed on ARM + (timeout . 21600))))) ;6h diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 32b03359d8..35701039ad 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2016, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016-2020 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com> -;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Peter Kreye <kreyepr@gmail.com> ;;; Copyright © 2018, 2019 Gabriel Hondet <gabrielhondet@gmail.com> ;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net> @@ -340,7 +340,7 @@ Software distribution.") "1i0hhkrqi7rqlainlg5pc4hibbx6b5dp3x99gmav8c3sbfvlk9mc")))) (build-system dune-build-system) (propagated-inputs `(("ocaml-cudf" ,ocaml-cudf))) - (home-page "http://www.i3s.unice.fr/~cpjm/misc/") + (home-page "https://www.i3s.unice.fr/~cpjm/misc/") (synopsis "Upgrade path problem solver") (description "Mccs (Multi Criteria CUDF Solver) is a CUDF problem solver. Mccs take as input a CUDF problem and computes the best solution according to @@ -528,7 +528,7 @@ Git-friendly development workflow.") (define-public camlp5 (package (name "camlp5") - (version "7.10") + (version "7.11") (source (origin (method git-fetch) @@ -537,7 +537,7 @@ Git-friendly development workflow.") (commit (string-append "rel" (string-delete #\. version))))) (file-name (git-file-name name version)) (sha256 - (base32 "1a1lgsc8350afdwmsznsys7m0c0cks4nw6irqz2f92g8g4vkk9b7")))) + (base32 "1s1f9i0r0czxlbnsaz4kvs2ahknmqxcm5ypl75g7scjcbl0an2x4")))) (build-system gnu-build-system) (inputs `(("ocaml" ,ocaml))) @@ -582,21 +582,21 @@ concrete syntax of the language (Quotations, Syntax Extensions).") (define-public hevea (package (name "hevea") - (version "2.32") + (version "2.33") (source (origin (method url-fetch) (uri (string-append "http://hevea.inria.fr/old/" - name "-" version ".tar.gz")) + "hevea-" version ".tar.gz")) (sha256 (base32 - "1s4yqphfcr1pf5mcj5c84mvmd107k525iiym5jdwsxz0ka0ccmfy")))) + "0115bn6n6hhb08rmj0m508wjcsn1mggiagqly6s941pq811wxymb")))) (build-system gnu-build-system) (inputs `(("ocaml" ,ocaml))) (native-inputs `(("ocamlbuild" ,ocamlbuild))) (arguments - `(#:tests? #f ; no test suite + `(#:tests? #f ; no test suite #:make-flags (list (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases (delete 'configure) diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm index 04b3cb0524..32eb360e04 100644 --- a/gnu/packages/opencl.scm +++ b/gnu/packages/opencl.scm @@ -315,7 +315,7 @@ back-end for the LLVM compiler framework.") (inputs `(("clang" ,clang) ("hwloc" ,hwloc-2 "lib") - ("llvm" ,llvm-8) + ("llvm" ,llvm) ("ocl-icd" ,ocl-icd))) (arguments `(#:configure-flags diff --git a/gnu/packages/opencog.scm b/gnu/packages/opencog.scm index 6484c10dce..84e387f85d 100644 --- a/gnu/packages/opencog.scm +++ b/gnu/packages/opencog.scm @@ -114,8 +114,8 @@ features not otherwise available.") (define-public cogserver ;; There are no releases. - (let ((commit "c8ad85fef446819e6bd711f0791887a5aa6a41f9") - (revision "1")) + (let ((commit "ec5f3b9590db0f6a085b5d0320f5d3710e0f1635") + (revision "2")) (package (name "cogserver") (version (git-version "0" revision commit)) @@ -127,11 +127,10 @@ features not otherwise available.") (file-name (git-file-name name version)) (sha256 (base32 - "0flwl2cbmnj7kjcx8vwk7rbhsp2si0a51ci0hx88a3xx1f76cp3f")))) + "1h0vcxb6n5dc654xqinqcxc7dxwcs6bsywgir8rhrqiykk760mzl")))) (build-system cmake-build-system) (arguments - `(#:tests? #f ; See https://github.com/opencog/cogserver/issues/24 - #:test-target "tests" + `(#:test-target "tests" #:configure-flags (list (string-append "-DGUILE_INCLUDE_DIR=" (assoc-ref %build-inputs "guile") diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm index 0d87691cd7..3b6ec6b44f 100644 --- a/gnu/packages/openstack.scm +++ b/gnu/packages/openstack.scm @@ -599,7 +599,7 @@ in transmittable and storable formats, such as JSON and MessagePack.") ("python-sphinx" ,python-sphinx) ("gnupg" ,gnupg) ("git" ,git-minimal))) - (home-page "http://docs.openstack.org/developer/reno/") + (home-page "https://docs.openstack.org/reno/latest/") (synopsis "Release notes manager") (description "Reno is a tool for storing release notes in a git repository and building documentation from them.") diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 1e28973541..c872a563fe 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2017, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com> ;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> @@ -110,8 +110,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "1.0.1") - (commit "50299ade040e934fa5533768aacb081eb340af3f") - (revision 13)) + (commit "c2f9ea2b502a617bb69227d5f858eee9d4288a6a") + (revision 14)) (package (name "guix") @@ -127,7 +127,7 @@ (commit commit))) (sha256 (base32 - "0rbnyy0vqmsl7z350cdazm5xzx74cdia3nxp0msk8xalyb76hff4")) + "0hg6yrqlzqiv4gmk9liqar6m9qhhn66q75jsmh86awjwq4qmvyab")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -788,29 +788,46 @@ written entirely in Python."))) (define-public gwl (package (name "gwl") - (version "0.1.1") + (version "0.2.1") (source (origin (method url-fetch) - (uri (string-append "https://www.guixwl.org/releases/gwl-" - version ".tar.gz")) + (uri (string-append "mirror://gnu/gwl/gwl-" version ".tar.gz")) (sha256 (base32 - "06pm967mq1wyggx7l0nfapw5s0k5qc5r9lawk2v3db868br779a7")))) + "1ji5jvzni8aml9fmimlr11g3k8isrnlvnbzhmwgdjh72hils0alc")))) (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'build 'fix-tests + (lambda _ + ;; Avoid cross-device link. + (substitute* "tests/cache.scm" + (("/tmp/gwl-test-input-XXXXXX") + (string-append (getcwd) "/gwl-test-input-XXXXXX"))) + #t))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) - ("pkg-config" ,pkg-config))) + ("pkg-config" ,pkg-config) + ("texinfo" ,texinfo) + ("graphviz" ,graphviz))) (inputs - `(("guile" ,guile-2.2))) + `(("guile" ,guile-3.0))) (propagated-inputs - `(("guix" ,guix) - ("guile-commonmark" ,guile-commonmark))) - (home-page "https://www.guixwl.org") + `(("guix" ,guile3.0-guix) + ("guile-commonmark" ,guile3.0-commonmark) + ("guile-gcrypt" ,guile3.0-gcrypt) + ("guile-pfds" ,guile3.0-pfds) + ("guile-syntax-highlight" ,guile3.0-syntax-highlight) + ("guile-wisp" ,guile3.0-wisp))) + (home-page "https://workflows.guix.info") (synopsis "Workflow management extension for GNU Guix") - (description "This project provides two subcommands to GNU Guix and -introduces two record types that provide a workflow management extension built -on top of GNU Guix.") + (description "The @dfn{Guix Workflow Language} (GWL) provides an +extension to GNU Guix's declarative language for package management to +automate the execution of programs in scientific workflows. The GWL +can use process engines to integrate with various computing +environments.") ;; The Scheme modules in guix/ and gnu/ are licensed GPL3+, ;; the web interface modules in gwl/ are licensed AGPL3+, ;; and the fonts included in this package are licensed OFL1.1. @@ -966,7 +983,7 @@ for packaging and deployment of cross-compiled Windows applications.") (define-public libostree (package (name "libostree") - (version "2019.3") + (version "2020.1") (source (origin (method url-fetch) (uri (string-append @@ -974,7 +991,7 @@ for packaging and deployment of cross-compiled Windows applications.") (version-major+minor version) "/libostree-" version ".tar.xz")) (sha256 (base32 - "1r07yqbc9iiq0lzv1pryppd35fv695ym8r040msbfc93pmiy77y0")))) + "0sgx81w6skiivbr2gfhljf9nvnqfwwnwfgpqqa10fjdkjrqwvpk8")))) (build-system gnu-build-system) (arguments '(#:phases diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index a8c165e15d..ea15378780 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -319,7 +319,7 @@ dependencies, it is suited for installing on desktop and server systems alike. The text based user interface allows you to run YAPET easily in a Secure Shell session. Two companion utilities enable users to convert CSV files to YAPET and vice versa.") - (home-page "http://www.guengel.ch/myapps/yapet/") + (home-page "https://yapet.guengel.ch/") (license license:gpl3+))) (define-public cracklib diff --git a/gnu/packages/patches/appstream-glib-2020.patch b/gnu/packages/patches/appstream-glib-2020.patch deleted file mode 100644 index ab8a4bbdee..0000000000 --- a/gnu/packages/patches/appstream-glib-2020.patch +++ /dev/null @@ -1,31 +0,0 @@ -2020 is no longer the future. - -Taken from upstream: -https://github.com/hughsie/appstream-glib/commit/953c8e529d7291e60a95e580967ed79ce2c9ccf0 - -diff --git a/data/tests/broken.appdata.xml b/data/tests/broken.appdata.xml -index f7a5386e..cf80f5b4 100644 ---- a/data/tests/broken.appdata.xml -+++ b/data/tests/broken.appdata.xml -@@ -40,7 +40,7 @@ - <p>This is a duplicate release on the same day!</p> - </description> - </release> -- <release date="2020-01-01" version="0.6.2"> -+ <release date="2050-01-01" version="0.6.2"> - <description> - <p>This is a release in the future!</p> - </description> -diff --git a/libappstream-glib/as-app-validate.c b/libappstream-glib/as-app-validate.c -index c1103ace..f50e4e41 100644 ---- a/libappstream-glib/as-app-validate.c -+++ b/libappstream-glib/as-app-validate.c -@@ -864,7 +864,7 @@ as_app_validate_release (AsApp *app, - AS_PROBLEM_KIND_ATTRIBUTE_MISSING, - "<release> has no timestamp"); - } -- if (timestamp > 20120101 && timestamp < 20251231) { -+ if (timestamp > 20120101 && timestamp < 20351231) { - ai_app_validate_add (helper, - AS_PROBLEM_KIND_ATTRIBUTE_INVALID, - "<release> timestamp should be a UNIX time"); diff --git a/gnu/packages/patches/ceph-boost-compat.patch b/gnu/packages/patches/ceph-boost-compat.patch deleted file mode 100644 index b3df659d6b..0000000000 --- a/gnu/packages/patches/ceph-boost-compat.patch +++ /dev/null @@ -1,81 +0,0 @@ -Fix compatibility with Boost 1.70. - -Adapted for 14.2.5 from these upstream commits: -https://github.com/ceph/ceph/commit/064f142746ae97f54865069cdacf5aae2b1b14f6 -https://github.com/ceph/ceph/commit/f1651b8c509d60787d10c4115e29fecfd2da237c - -diff --git a/src/rgw/rgw_asio_frontend.cc b/src/rgw/rgw_asio_frontend.cc ---- a/src/rgw/rgw_asio_frontend.cc -+++ b/src/rgw/rgw_asio_frontend.cc -@@ -83,7 +83,8 @@ - using SharedMutex = ceph::async::SharedMutex<boost::asio::io_context::executor_type>; - - template <typename Stream> --void handle_connection(RGWProcessEnv& env, Stream& stream, -+void handle_connection(boost::asio::io_context& context, -+ RGWProcessEnv& env, Stream& stream, - parse_buffer& buffer, bool is_ssl, - SharedMutex& pause_mutex, - rgw::dmclock::Scheduler *scheduler, -@@ -160,7 +161,7 @@ - rgw::io::add_conlen_controlling( - &real_client)))); - RGWRestfulIO client(cct, &real_client_io); -- auto y = optional_yield{socket.get_io_context(), yield}; -+ auto y = optional_yield{context, yield}; - process_request(env.store, env.rest, &req, env.uri_prefix, - *env.auth_registry, &client, env.olog, y, scheduler); - } -@@ -604,7 +605,7 @@ - return; - } - buffer->consume(bytes); -- handle_connection(env, stream, *buffer, true, pause_mutex, -+ handle_connection(context, env, stream, *buffer, true, pause_mutex, - scheduler.get(), ec, yield); - if (!ec) { - // ssl shutdown (ignoring errors) -@@ -622,7 +623,7 @@ - auto c = connections.add(conn); - auto buffer = std::make_unique<parse_buffer>(); - boost::system::error_code ec; -- handle_connection(env, s, *buffer, false, pause_mutex, -+ handle_connection(context, env, s, *buffer, false, pause_mutex, - scheduler.get(), ec, yield); - s.shutdown(tcp::socket::shutdown_both, ec); - }); -diff --git a/src/rgw/rgw_dmclock_async_scheduler.h b/src/rgw/rgw_dmclock_async_scheduler.h ---- a/src/rgw/rgw_dmclock_async_scheduler.h -+++ b/src/rgw/rgw_dmclock_async_scheduler.h -@@ -82,7 +82,12 @@ class AsyncScheduler : public md_config_obs_t, public Scheduler { - using Completion = async::Completion<Signature, async::AsBase<Request>>; - - using Clock = ceph::coarse_real_clock; -+#if BOOST_VERSION < 107000 - using Timer = boost::asio::basic_waitable_timer<Clock>; -+#else -+ using Timer = boost::asio::basic_waitable_timer<Clock, -+ boost::asio::wait_traits<Clock>, executor_type>; -+#endif - Timer timer; //< timer for the next scheduled request - - CephContext *const cct; -diff --git a/src/rgw/rgw_reshard.h b/src/rgw/rgw_reshard.h ---- a/src/rgw/rgw_reshard.h -+++ b/src/rgw/rgw_reshard.h -@@ -183,7 +183,14 @@ class RGWReshardWait { - ceph::condition_variable cond; - - struct Waiter : boost::intrusive::list_base_hook<> { -- boost::asio::basic_waitable_timer<Clock> timer; -+#if BOOST_VERSION < 107000 -+ using Timer = boost::asio::basic_waitable_timer<Clock>; -+#else -+ using Executor = boost::asio::io_context::executor_type; -+ using Timer = boost::asio::basic_waitable_timer<Clock, -+ boost::asio::wait_traits<Clock>, Executor>; -+#endif -+ Timer timer; - explicit Waiter(boost::asio::io_context& ioc) : timer(ioc) {} - }; - boost::intrusive::list<Waiter> waiters; diff --git a/gnu/packages/patches/ceph-volume-respect-PATH.patch b/gnu/packages/patches/ceph-volume-respect-PATH.patch deleted file mode 100644 index 08a9a15ddd..0000000000 --- a/gnu/packages/patches/ceph-volume-respect-PATH.patch +++ /dev/null @@ -1,22 +0,0 @@ -Look for required tools in $PATH instead of just a handful locations. - -diff --git a/src/ceph-volume/ceph_volume/util/system.py b/src/ceph-volume/ceph_volume/util/system.py -index b637f023a4..14516e1c65 100644 ---- a/src/ceph-volume/ceph_volume/util/system.py -+++ b/src/ceph-volume/ceph_volume/util/system.py -@@ -33,14 +33,7 @@ def generate_uuid(): - - def which(executable): - """find the location of an executable""" -- locations = ( -- '/usr/local/bin', -- '/bin', -- '/usr/bin', -- '/usr/local/sbin', -- '/usr/sbin', -- '/sbin', -- ) -+ locations = os.getenv('PATH').split(':') - - for location in locations: - executable_path = os.path.join(location, executable) diff --git a/gnu/packages/patches/choqok-Fix-building-under-Qt-5.13.patch b/gnu/packages/patches/choqok-Fix-building-under-Qt-5.13.patch deleted file mode 100644 index 4250106a19..0000000000 --- a/gnu/packages/patches/choqok-Fix-building-under-Qt-5.13.patch +++ /dev/null @@ -1,89 +0,0 @@ -Add QMap include to fix building under Qt 5.13 - -This combines several patches which all add the same missing include: -- e13ab06f65a4e8b6259bccda1401abb9c1c9fdca -- 546ede9ef712bb1b156a55ce30df81c3203dde61 -- 08fb06b63a78888e6703de6ac1a4fd6a0e2791eb -- bef6784596bf0b41287ebad81f138e1c8c2a6be2 - -Include is no longer added transitively. ---- - ---- a/plugins/betternotify/notify.h -+++ b/plugins/betternotify/notify.h -@@ -23,6 +23,7 @@ - #ifndef NOTIFY_H - #define NOTIFY_H - -+#include <QMap> - #include <QQueue> - #include <QPoint> - #include <QPointer> ---- a/plugins/untiny/untiny.h -+++ b/plugins/untiny/untiny.h -@@ -27,6 +27,7 @@ - - #include "plugin.h" - -+#include <QMap> - #include <QQueue> - #include <QUrl> - #include <QPointer> ---- a/plugins/uploaders/flickr/flickr.h -+++ b/plugins/uploaders/flickr/flickr.h -@@ -26,6 +26,8 @@ - - #include "uploader.h" - -+#include <QMap> -+ - /** - @author Andrey Esin \<gmlastik@gmail.com\> - */ -diff --git a/plugins/uploaders/imageshack/imageshack.h b/plugins/uploaders/imageshack/imageshack.h -index d9ddc88..63d0e3f 100644 ---- a/plugins/uploaders/imageshack/imageshack.h -+++ b/plugins/uploaders/imageshack/imageshack.h -@@ -26,6 +26,8 @@ - - #include "uploader.h" - -+#include <QMap> -+ - /** - @author Mehrdad Momeny \<mehrdad.momeny@gmail.com\> - */ ---- a/plugins/uploaders/mobypicture/mobypicture.h -+++ b/plugins/uploaders/mobypicture/mobypicture.h -@@ -26,6 +26,8 @@ - - #include "uploader.h" - -+#include <QMap> -+ - class KJob; - - class Mobypicture : public Choqok::Uploader ---- a/plugins/uploaders/posterous/posterous.h -+++ b/plugins/uploaders/posterous/posterous.h -@@ -26,6 +26,8 @@ - - #include "uploader.h" - -+#include <QMap> -+ - class KJob; - - class Posterous : public Choqok::Uploader ---- a/plugins/uploaders/twitgoo/twitgoo.h -+++ b/plugins/uploaders/twitgoo/twitgoo.h -@@ -26,6 +26,8 @@ - - #include "uploader.h" - -+#include <QMap> -+ - class KJob; - - class Twitgoo : public Choqok::Uploader --- diff --git a/gnu/packages/patches/clang-9.0-libc-search-path.patch b/gnu/packages/patches/clang-9.0-libc-search-path.patch new file mode 100644 index 0000000000..be34344842 --- /dev/null +++ b/gnu/packages/patches/clang-9.0-libc-search-path.patch @@ -0,0 +1,83 @@ +Clang attempts to guess file names based on the OS and distro (yes!), +but unfortunately, that doesn't work for us. + +This patch makes it easy to insert libc's $libdir so that Clang passes the +correct absolute file name of crt1.o etc. to 'ld'. It also disables all +the distro-specific stuff and removes the hard-coded FHS directory names +to make sure Clang also works on non-GuixSD systems. + +diff --git a/lib/Driver/ToolChains/Linux.cpp b/lib/Driver/ToolChains/Linux.cpp +--- a/lib/Driver/ToolChains/Linux.cpp ++++ b/lib/Driver/ToolChains/Linux.cpp +@@ -240,6 +240,9 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + .str()); + } + ++// Comment out the distro-specific tweaks so that they don't bite when ++// using Guix on a foreign distro. ++#if 0 + Distro Distro(D.getVFS()); + + if (Distro.IsAlpineLinux() || Triple.isAndroid()) { +@@ -306,6 +309,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + + if (IsAndroid || Distro.IsOpenSUSE()) + ExtraOpts.push_back("--enable-new-dtags"); ++#endif + + // The selection of paths to try here is designed to match the patterns which + // the GCC driver itself uses, as this is part of the GCC-compatible driver. +@@ -363,7 +367,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + // the cross. Note that GCC does include some of these directories in some + // configurations but this seems somewhere between questionable and simply + // a bug. +- if (StringRef(LibPath).startswith(SysRoot)) { ++ if (0) { + addPathIfExists(D, LibPath + "/" + MultiarchTriple, Paths); + addPathIfExists(D, LibPath + "/../" + OSLibDir, Paths); + } +@@ -382,6 +386,8 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + addPathIfExists(D, SysRoot + "/lib/" + MultiarchTriple, Paths); + addPathIfExists(D, SysRoot + "/lib/../" + OSLibDir, Paths); + ++// This requires the commented distro tweaks above. ++#if 0 + if (IsAndroid) { + // Android sysroots contain a library directory for each supported OS + // version as well as some unversioned libraries in the usual multiarch +@@ -410,10 +416,15 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + addPathIfExists(D, SysRoot + "/" + OSLibDir + "/" + ABIName, Paths); + addPathIfExists(D, SysRoot + "/usr/" + OSLibDir + "/" + ABIName, Paths); + } ++#endif + + // Try walking via the GCC triple path in case of biarch or multiarch GCC + // installations with strange symlinks. + if (GCCInstallation.isValid()) { ++ ++// The following code would end up adding things like ++// "/usr/lib/x86_64-unknown-linux-gnu/../../lib64" to the search path. ++#if 0 + addPathIfExists(D, + SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() + + "/../../" + OSLibDir, +@@ -426,6 +437,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + BiarchSibling.gccSuffix(), + Paths); + } ++#endif + + // See comments above on the multilib variant for details of why this is + // included even from outside the sysroot. +@@ -450,8 +462,9 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + if (StringRef(D.Dir).startswith(SysRoot)) + addPathIfExists(D, D.Dir + "/../lib", Paths); + +- addPathIfExists(D, SysRoot + "/lib", Paths); +- addPathIfExists(D, SysRoot + "/usr/lib", Paths); ++ // Add libc's lib/ directory to the search path, so that crt1.o, crti.o, ++ // and friends can be found. ++ addPathIfExists(D, "@GLIBC_LIBDIR@", Paths); + } + + ToolChain::CXXStdlibType Linux::GetDefaultCXXStdlibType() const { diff --git a/gnu/packages/patches/containerd-test-with-go1.13.patch b/gnu/packages/patches/containerd-test-with-go1.13.patch new file mode 100644 index 0000000000..964adee9e6 --- /dev/null +++ b/gnu/packages/patches/containerd-test-with-go1.13.patch @@ -0,0 +1,21 @@ +Compatibility fix for go 1.13, flag.Parse() shouldn't be called during +package initialization. +https://golang.org/doc/go1.13#testing +--- a/client_test.go 2020-02-12 14:50:28.991245371 -0500 ++++ b/client_test.go 2020-02-12 15:12:37.383523980 -0500 +@@ -49,7 +49,6 @@ + flag.StringVar(&address, "address", defaultAddress, "The address to the containerd socket for use in the tests") + flag.BoolVar(&noDaemon, "no-daemon", false, "Do not start a dedicated daemon for the tests") + flag.BoolVar(&noCriu, "no-criu", false, "Do not run the checkpoint tests") +- flag.Parse() + } + + func testContext() (context.Context, context.CancelFunc) { +@@ -59,6 +58,7 @@ + } + + func TestMain(m *testing.M) { ++ flag.Parse() + if testing.Short() { + os.Exit(m.Run()) + } diff --git a/gnu/packages/patches/desmume-gcc6-fixes.patch b/gnu/packages/patches/desmume-gcc6-fixes.patch new file mode 100644 index 0000000000..6eb9576f64 --- /dev/null +++ b/gnu/packages/patches/desmume-gcc6-fixes.patch @@ -0,0 +1,59 @@ +From: zeromus +Origin: upstream, https://sourceforge.net/p/desmume/code/5514, https://sourceforge.net/p/desmume/code/5517, https://sourceforge.net/p/desmume/code/5430 +Subject: fix GCC6 issues +Bug: https://sourceforge.net/p/desmume/bugs/1570/ +Bug-Debian: http://bugs.debian.org/811691 + +Index: desmume/src/MMU_timing.h +=================================================================== +--- desmume/src/MMU_timing.h (revision 5513) ++++ desmume/src/MMU_timing.h (revision 5517) +@@ -155,8 +155,8 @@ + enum { ASSOCIATIVITY = 1 << ASSOCIATIVESHIFT }; + enum { BLOCKSIZE = 1 << BLOCKSIZESHIFT }; + enum { TAGSHIFT = SIZESHIFT - ASSOCIATIVESHIFT }; +- enum { TAGMASK = (u32)(~0 << TAGSHIFT) }; +- enum { BLOCKMASK = ((u32)~0 >> (32 - TAGSHIFT)) & (u32)(~0 << BLOCKSIZESHIFT) }; ++ enum { TAGMASK = (u32)(~0U << TAGSHIFT) }; ++ enum { BLOCKMASK = ((u32)~0U >> (32 - TAGSHIFT)) & (u32)(~0U << BLOCKSIZESHIFT) }; + enum { WORDSIZE = sizeof(u32) }; + enum { WORDSPERBLOCK = (1 << BLOCKSIZESHIFT) / WORDSIZE }; + enum { DATAPERWORD = WORDSIZE * ASSOCIATIVITY }; +Index: desmume/src/ctrlssdl.cpp +=================================================================== +--- desmume/src/ctrlssdl.cpp (revision 5513) ++++ desmume/src/ctrlssdl.cpp (revision 5517) +@@ -200,7 +200,7 @@ + break; + case SDL_JOYAXISMOTION: + /* Dead zone of 50% */ +- if( (abs(event.jaxis.value) >> 14) != 0 ) ++ if( ((u32)abs(event.jaxis.value) >> 14) != 0 ) + { + key = ((event.jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event.jaxis.axis & 127) << 1); + if (event.jaxis.value > 0) { +@@ -370,7 +370,7 @@ + Note: button constants have a 1bit offset. */ + case SDL_JOYAXISMOTION: + key_code = ((event->jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event->jaxis.axis & 127) << 1); +- if( (abs(event->jaxis.value) >> 14) != 0 ) ++ if( ((u32)abs(event->jaxis.value) >> 14) != 0 ) + { + if (event->jaxis.value > 0) + key_code |= 1; +Index: desmume/src/wifi.cpp +=================================================================== +--- desmume/src/wifi.cpp (revision 5429) ++++ desmume/src/wifi.cpp (revision 5430) +@@ -320,9 +320,9 @@ + + #if (WIFI_LOGGING_LEVEL >= 1) + #if WIFI_LOG_USE_LOGC +- #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: "__VA_ARGS__); ++ #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: " __VA_ARGS__); + #else +- #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: "__VA_ARGS__); ++ #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: " __VA_ARGS__); + #endif + #else + #define WIFI_LOG(level, ...) {} diff --git a/gnu/packages/patches/desmume-gcc7-fixes.patch b/gnu/packages/patches/desmume-gcc7-fixes.patch new file mode 100644 index 0000000000..a4934ff6e6 --- /dev/null +++ b/gnu/packages/patches/desmume-gcc7-fixes.patch @@ -0,0 +1,18 @@ +From e1f7039f1b06add4fb75b2f8774000b8f05574af Mon Sep 17 00:00:00 2001 +From: rogerman <rogerman@users.sf.net> +Date: Mon, 17 Aug 2015 21:15:04 +0000 +Subject: Fix bug with libfat string handling. + +diff --git a/src/utils/libfat/directory.cpp b/src/utils/libfat/directory.cpp +index 765d7ae5..b6d7f01f 100644 +--- a/src/utils/libfat/directory.cpp ++++ b/src/utils/libfat/directory.cpp +@@ -139,7 +139,7 @@ static size_t _FAT_directory_mbstoucs2 (ucs2_t* dst, const char* src, size_t len + int bytes; + size_t count = 0; + +- while (count < len-1 && src != '\0') { ++ while (count < len-1 && *src != '\0') { + bytes = mbrtowc (&tempChar, src, MB_CUR_MAX, &ps); + if (bytes > 0) { + *dst = (ucs2_t)tempChar; diff --git a/gnu/packages/patches/elixir-path-length.patch b/gnu/packages/patches/elixir-path-length.patch index aa8bf38829..ab99595cff 100644 --- a/gnu/packages/patches/elixir-path-length.patch +++ b/gnu/packages/patches/elixir-path-length.patch @@ -5,11 +5,11 @@ after the substitution is made. --- a/Makefile +++ b/Makefile -@@ -213,6 +213,7 @@ - TEST_ERLS = $(addprefix $(TEST_EBIN)/, $(addsuffix .beam, $(basename $(notdir $(wildcard $(TEST_ERL)/*.erl))))) +@@ -265,6 +265,7 @@ format: compile + $(call FORMAT) test_formatted: compile -+ bin/elixir bin/mix format lib/mix/lib/mix/scm/git.ex - bin/elixir bin/mix format --check-formatted ++ $(call FORMAT,lib/mix/lib/mix/scm/git.ex) + $(call FORMAT,--check-formatted) test_erlang: compile $(TEST_ERLS) diff --git a/gnu/packages/patches/libgit2-avoid-python.patch b/gnu/packages/patches/libgit2-avoid-python.patch deleted file mode 100644 index b2e5141563..0000000000 --- a/gnu/packages/patches/libgit2-avoid-python.patch +++ /dev/null @@ -1,322 +0,0 @@ -This provides a Guile reimplementation of clar's "generate.py". -It makes it possible for us to remove Python from libgit2's build-time -dependencies. -libgit2 is used in order to fetch a lot of sources for guix packages. -Both Python2 and Python3 builds acted up in the past. -Hence this patch which makes the number of libgit2 dependencies very -small. -The reimplementation tries to keep as close as possible to the original -in both structure and runtime effect. Some things are thus overly -convoluted just to make them the same as in the original. - -Both implementations basically do: - -grep -r 'test_.*__.*' . > clar.suite - -It is important that the directory traversal order of the original and -the reimplementation stay the same. - -diff -ruN orig/libgit2-0.27.7/tests/CMakeLists.txt libgit2-0.27.7/tests/CMakeLists.txt ---- orig/libgit2-0.27.7/tests/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ libgit2-0.27.7/tests/CMakeLists.txt 2019-03-04 11:13:06.640118979 +0100 -@@ -1,10 +1,3 @@ --FIND_PACKAGE(PythonInterp) -- --IF(NOT PYTHONINTERP_FOUND) -- MESSAGE(FATAL_ERROR "Could not find a python interpeter, which is needed to build the tests. " -- "Make sure python is available, or pass -DBUILD_CLAR=OFF to skip building the tests") --ENDIF() -- - SET(CLAR_FIXTURES "${CMAKE_CURRENT_SOURCE_DIR}/resources/") - SET(CLAR_PATH "${CMAKE_CURRENT_SOURCE_DIR}") - ADD_DEFINITIONS(-DCLAR_FIXTURE_PATH=\"${CLAR_FIXTURES}\") -@@ -21,7 +14,7 @@ - - ADD_CUSTOM_COMMAND( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/clar.suite -- COMMAND ${PYTHON_EXECUTABLE} generate.py -o "${CMAKE_CURRENT_BINARY_DIR}" -f -xonline -xstress -xperf . -+ COMMAND guile generate.scm -o "${CMAKE_CURRENT_BINARY_DIR}" -f -x online -x stress -x perf . - DEPENDS ${SRC_TEST} - WORKING_DIRECTORY ${CLAR_PATH} - ) -diff -ruN orig/libgit2-0.27.7/tests/generate.scm libgit2-0.27.7/tests/generate.scm ---- orig/libgit2-0.27.7/tests/generate.scm 1970-01-01 01:00:00.000000000 +0100 -+++ libgit2-0.27.7/tests/generate.scm 2019-03-04 12:18:00.688040975 +0100 -@@ -0,0 +1,277 @@ -+;; -*- geiser-scheme-implementation: guile -*- -+ -+;;; Implementation: Danny Milosavljevic <dannym@scratchpost.org> -+;;; Based on: Implementation in Python by Vicent Marti. -+;;; License: ISC, like the original generate.py in clar. -+ -+(use-modules (ice-9 ftw)) -+(use-modules (ice-9 regex)) -+(use-modules (ice-9 getopt-long)) -+(use-modules (ice-9 rdelim)) -+(use-modules (ice-9 match)) -+(use-modules (ice-9 textual-ports)) -+(use-modules (srfi srfi-1)) -+ -+(define (render-callback cb) -+ (if cb -+ (string-append " { \"" (assoc-ref cb "short-name") "\", &" -+ (assoc-ref cb "symbol") " }") -+ " { NULL, NULL }")) -+ -+(define (replace needle replacement haystack) -+ "Replace all occurences of NEEDLE in HAYSTACK by REPLACEMENT. -+NEEDLE is a regular expression." -+ (regexp-substitute/global #f needle haystack 'pre replacement 'post)) -+ -+(define (skip-comments* text) -+ (call-with-input-string -+ text -+ (lambda (port) -+ (let loop ((result '()) -+ (section #f)) -+ (define (consume-char) -+ (cons (read-char port) result)) -+ (define (skip-char) -+ (read-char port) -+ result) -+ (match section -+ (#f -+ (match (peek-char port) -+ (#\/ (loop (consume-char) 'almost-in-block-comment)) -+ (#\" (loop (consume-char) 'in-string-literal)) -+ (#\' (loop (consume-char) 'in-character-literal)) -+ ((? eof-object?) result) -+ (_ (loop (consume-char) section)))) -+ ('almost-in-block-comment -+ (match (peek-char port) -+ (#\* (loop (consume-char) 'in-block-comment)) -+ (#\/ (loop (consume-char) 'in-line-comment)) -+ ((? eof-object?) result) -+ (_ (loop (consume-char) #f)))) -+ ('in-line-comment -+ (match (peek-char port) -+ (#\newline (loop (consume-char) #f)) -+ ((? eof-object?) result) -+ (_ (loop (skip-char) section)))) -+ ('in-block-comment -+ (match (peek-char port) -+ (#\* (loop (skip-char) 'almost-out-of-block-comment)) -+ ((? eof-object?) result) -+ (_ (loop (skip-char) section)))) -+ ('almost-out-of-block-comment -+ (match (peek-char port) -+ (#\/ (loop (cons (read-char port) (cons #\* result)) #f)) -+ (#\* (loop (skip-char) 'almost-out-of-block-comment)) -+ ((? eof-object?) result) -+ (_ (loop (skip-char) 'in-block-comment)))) -+ ('in-string-literal -+ (match (peek-char port) -+ (#\\ (loop (consume-char) 'in-string-literal-escape)) -+ (#\" (loop (consume-char) #f)) -+ ((? eof-object?) result) -+ (_ (loop (consume-char) section)))) -+ ('in-string-literal-escape -+ (match (peek-char port) -+ ((? eof-object?) result) -+ (_ (loop (consume-char) 'in-string-literal)))) -+ ('in-character-literal -+ (match (peek-char port) -+ (#\\ (loop (consume-char) 'in-character-literal-escape)) -+ (#\' (loop (consume-char) #f)) -+ ((? eof-object?) result) -+ (_ (loop (consume-char) section)))) -+ ('in-character-literal-escape -+ (match (peek-char port) -+ ((? eof-object?) result) -+ (_ (loop (consume-char) 'in-character-literal))))))))) -+ -+(define (skip-comments text) -+ (list->string (reverse (skip-comments* text)))) -+ -+(define (maybe-only items) -+ (match items -+ ((a) a) -+ (_ #f))) -+ -+(define (Module name path excludes) -+ (let* ((clean-name (replace "_" "::" name)) -+ (enabled (not (any (lambda (exclude) -+ (string-prefix? exclude clean-name)) -+ excludes)))) -+ (define (parse contents) -+ (define (cons-match match prev) -+ (cons -+ `(("declaration" . ,(match:substring match 1)) -+ ("symbol" . ,(match:substring match 2)) -+ ("short-name" . ,(match:substring match 3))) -+ prev)) -+ (let* ((contents (skip-comments contents)) -+ (entries (fold-matches (make-regexp -+ (string-append "^(void\\s+(test_" -+ name -+ "__(\\w+))\\s*\\(\\s*void\\s*\\))\\s*\\{") -+ regexp/newline) -+ contents -+ '() -+ cons-match)) -+ (entries (reverse entries)) -+ (callbacks (filter (lambda (entry) -+ (match (assoc-ref entry "short-name") -+ ("initialize" #f) -+ ("cleanup" #f) -+ (_ #t))) -+ entries))) -+ (if (> (length callbacks) 0) -+ `(("name" . ,name) -+ ("enabled" . ,(if enabled "1" "0")) -+ ("clean-name" . ,clean-name) -+ ("initialize" . ,(maybe-only (filter-map (lambda (entry) -+ (match (assoc-ref entry "short-name") -+ ("initialize" entry) -+ (_ #f))) -+ entries))) -+ ("cleanup" . ,(maybe-only (filter-map (lambda (entry) -+ (match (assoc-ref entry "short-name") -+ ("cleanup" entry) -+ (_ #f))) -+ entries))) -+ ("callbacks" . ,callbacks)) -+ #f))) -+ -+ (define (refresh path) -+ (and (file-exists? path) -+ (parse (call-with-input-file path get-string-all)))) -+ (refresh path))) -+ -+(define (generate-TestSuite path output excludes) -+ (define (load) -+ (define enter? (const #t)) -+ (define (leaf file stat result) -+ (let* ((module-root (string-drop (dirname file) -+ (string-length path))) -+ (module-root (filter-map (match-lambda -+ ("" #f) -+ (a a)) -+ (string-split module-root #\/)))) -+ (define (make-module path) -+ (let* ((name (string-join (append module-root (list (string-drop-right (basename path) (string-length ".c")))) "_")) -+ (name (replace "-" "_" name))) -+ (Module name path excludes))) -+ (if (string-suffix? ".c" file) -+ (let ((module (make-module file))) -+ (if module -+ (cons module result) -+ result)) -+ result))) -+ (define (down dir stat result) -+ result) -+ (define (up file state result) -+ result) -+ (define skip (const #f)) -+ (file-system-fold enter? leaf down up skip error '() path)) -+ -+ (define (CallbacksTemplate module) -+ (string-append "static const struct clar_func _clar_cb_" -+ (assoc-ref module "name") "[] = {\n" -+ (string-join (map render-callback -+ (assoc-ref module "callbacks")) -+ ",\n") -+ "\n};\n")) -+ -+ (define (DeclarationTemplate module) -+ (string-append (string-join (map (lambda (cb) -+ (string-append "extern " -+ (assoc-ref cb "declaration") -+ ";")) -+ (assoc-ref module "callbacks")) -+ "\n") -+ "\n" -+ (if (assoc-ref module "initialize") -+ (string-append "extern " (assoc-ref (assoc-ref module "initialize") "declaration") ";\n") -+ "") -+ (if (assoc-ref module "cleanup") -+ (string-append "extern " (assoc-ref (assoc-ref module "cleanup") "declaration") ";\n") -+ ""))) -+ -+ (define (InfoTemplate module) -+ (string-append " -+ { -+ \"" (assoc-ref module "clean-name") "\", -+ " (render-callback (assoc-ref module "initialize")) ", -+ " (render-callback (assoc-ref module "cleanup")) ", -+ _clar_cb_" (assoc-ref module "name") ", " -+ (number->string (length (assoc-ref module "callbacks"))) -+ ", " (assoc-ref module "enabled") " -+ }")) -+ -+ (define (Write data) -+ (define (name< module-a module-b) -+ (string<? (assoc-ref module-a "name") -+ (assoc-ref module-b "name"))) -+ (define modules (sort (load) name<)) -+ -+ (define (suite-count) -+ (length modules)) -+ -+ (define (callback-count) -+ (fold + 0 (map (lambda (entry) -+ (length (assoc-ref entry "callbacks"))) -+ modules))) -+ -+ (define (display-x value) -+ (display value data)) -+ -+ (for-each (compose display-x DeclarationTemplate) modules) -+ (for-each (compose display-x CallbacksTemplate) modules) -+ -+ (display-x "static struct clar_suite _clar_suites[] = {") -+ (display-x (string-join (map InfoTemplate modules) ",")) -+ (display-x "\n};\n") -+ -+ (let ((suite-count-str (number->string (suite-count))) -+ (callback-count-str (number->string (callback-count)))) -+ (display-x "static const size_t _clar_suite_count = ") -+ (display-x suite-count-str) -+ (display-x ";\n") -+ -+ (display-x "static const size_t _clar_callback_count = ") -+ (display-x callback-count-str) -+ (display-x ";\n") -+ -+ (display (string-append "Written `clar.suite` (" -+ callback-count-str -+ " tests in " -+ suite-count-str -+ " suites)")) -+ (newline)) -+ #t) -+ -+ (call-with-output-file (string-append output "/clar.suite") Write)) -+ -+;;; main -+ -+(define (main) -+ (define option-spec -+ '((force (single-char #\f) (value #f)) -+ (exclude (single-char #\x) (value #t)) -+ (output (single-char #\o) (value #t)) -+ (help (single-char #\h) (value #f)))) -+ -+ (define options (getopt-long (command-line) option-spec #:stop-at-first-non-option #t)) -+ (define args (reverse (option-ref options '() '()))) -+ (when (> (length args) 1) -+ (display "More than one path given\n") -+ (exit 1)) -+ -+ (if (< (length args) 1) -+ (set! args '("."))) -+ -+ (let* ((path (car args)) -+ (output (option-ref options 'output path)) -+ (excluded (filter-map (match-lambda -+ (('exclude . value) value) -+ (_ #f)) -+ options))) -+ (generate-TestSuite path output excluded))) -+ -+(main) diff --git a/gnu/packages/patches/mumps-shared-libseq.patch b/gnu/packages/patches/mumps-shared-libseq.patch index feafcf123b..eccf528f7a 100644 --- a/gnu/packages/patches/mumps-shared-libseq.patch +++ b/gnu/packages/patches/mumps-shared-libseq.patch @@ -17,7 +17,7 @@ Index: mumps/libseq/Makefile + $(AR) $@ mpi.o mpic.o elapse.o $(RANLIB) $@ +libmpiseq$(PLAT).so: mpi.o mpic.o elapse.o -+ $(FC) -shared $^ -Wl,-soname,libmpiseq$(PLAT)-5.1.2.so -o libmpiseq$(PLAT)-5.1.2.so -Wl,-z,defs ++ $(FC) -shared $^ -Wl,-soname,libmpiseq$(PLAT)-5.2.1.so -o libmpiseq$(PLAT)-5.2.1.so -Wl,-z,defs .f.o: - $(FC) $(OPTF) -c $*.f $(OUTF)$*.o + $(FC) $(OPTF) -fPIC -c $*.f $(OUTF)$*.o diff --git a/gnu/packages/patches/mumps-shared-mumps.patch b/gnu/packages/patches/mumps-shared-mumps.patch index 9e2491f300..d94ccf6ce9 100644 --- a/gnu/packages/patches/mumps-shared-mumps.patch +++ b/gnu/packages/patches/mumps-shared-mumps.patch @@ -30,16 +30,16 @@ Index: mumps/src/Makefile -$(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT): $(OBJS_MOD) $(OBJS_OTHER) - $(AR)$@ $? +$(libdir)/libmumps_common$(PLAT).so: $(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER) -+ $(FC) -shared $^ -Wl,-soname,libmumps_common$(PLAT)-5.1.2.so -L$(libdir) $(LORDERINGS) -lpthread $(MPIFLIB) $(MPICLIB) $(LEXTRAS) -o $(libdir)/libmumps_common$(PLAT)-5.1.2.so -Wl,-z,defs -+ ln -s libmumps_common$(PLAT)-5.1.2.so $@ ++ $(FC) -shared $^ -Wl,-soname,libmumps_common$(PLAT)-5.2.1.so -L$(libdir) $(LORDERINGS) -lpthread $(MPIFLIB) $(MPICLIB) $(LEXTRAS) -o $(libdir)/libmumps_common$(PLAT)-5.2.1.so -Wl,-z,defs ++ ln -s libmumps_common$(PLAT)-5.2.1.so $@ + +$(libdir)/lib$(ARITH)mumps$(PLAT).a: $(OBJS_MOD) $(OBJS_OTHER) + $(AR) $@ $? $(RANLIB) $@ +$(libdir)/lib$(ARITH)mumps$(PLAT).so: $(OBJS_MOD) $(OBJS_OTHER) -+ $(FC) -shared $^ -Wl,-soname,lib$(ARITH)mumps$(PLAT)-5.1.2.so -L$(libdir) -lmumps_common$(PLAT) $(LORDERINGS) $(MPIFLIB) $(LEXTRAS) $(LIBBLAS) $(SCALAP) $(LAPACK) -o $(libdir)/lib$(ARITH)mumps$(PLAT)-5.1.2.so -Wl,-z,defs -+ ln -s lib$(ARITH)mumps$(PLAT)-5.1.2.so $@ ++ $(FC) -shared $^ -Wl,-soname,lib$(ARITH)mumps$(PLAT)-5.2.1.so -L$(libdir) -lmumps_common$(PLAT) $(LORDERINGS) $(MPIFLIB) $(LEXTRAS) $(LIBBLAS) $(SCALAP) $(LAPACK) -o $(libdir)/lib$(ARITH)mumps$(PLAT)-5.2.1.so -Wl,-z,defs ++ ln -s lib$(ARITH)mumps$(PLAT)-5.2.1.so $@ + # Dependencies between modules: $(ARITH)mumps_load.o: $(ARITH)mumps_comm_buffer.o \ diff --git a/gnu/packages/patches/mumps-shared-pord.patch b/gnu/packages/patches/mumps-shared-pord.patch index 48062d4f89..d3915b0ad9 100644 --- a/gnu/packages/patches/mumps-shared-pord.patch +++ b/gnu/packages/patches/mumps-shared-pord.patch @@ -24,8 +24,8 @@ Index: mumps/PORD/lib/Makefile $(RANLIB) $@ +libpord$(PLAT).so: $(OBJS) -+ $(CC) -shared $(OBJS) -Wl,-soname,libpord$(PLAT)-5.1.2.so -o libpord$(PLAT)-5.1.2.so -Wl,-z,defs -+ ln -s libpord$(PLAT)-5.1.2.so $@ ++ $(CC) -shared $(OBJS) -Wl,-soname,libpord$(PLAT)-5.2.1.so -o libpord$(PLAT)-5.2.1.so -Wl,-z,defs ++ ln -s libpord$(PLAT)-5.2.1.so $@ + clean: rm -f *.o diff --git a/gnu/packages/patches/qtbase-QTBUG-81715.patch b/gnu/packages/patches/qtbase-QTBUG-81715.patch new file mode 100644 index 0000000000..70b83b97d2 --- /dev/null +++ b/gnu/packages/patches/qtbase-QTBUG-81715.patch @@ -0,0 +1,40 @@ +From 8a3fde00bf53d99e9e4853e8ab97b0e1bcf74915 Mon Sep 17 00:00:00 2001 +From: Joerg Bornemann <joerg.bornemann@qt.io> +Date: Wed, 29 Jan 2020 11:06:35 +0100 +Subject: [PATCH] Fix qt5_make_output_file macro for paths containing dots + +Commit 89bd5a7e broke CMake projects that use dots in their build +paths, because the used regular expression matches the directory part +of the path as well. + +The regex wants to achieve the same as get_filename_component(... +NAME_WLE) which is available since CMake 3.14. Re-implement the +NAME_WLE functionality for older CMake versions by using multiple +get_filename_component calls. + +Fixes: QTBUG-81715 +Task-number: QTBUG-80295 +Change-Id: I2ef053300948f6e1b2c0c5eafac35105f193d4e6 +Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> +--- + +diff --git a/src/corelib/Qt5CoreMacros.cmake b/src/corelib/Qt5CoreMacros.cmake +index 7735e51..b3da640 100644 +--- a/src/corelib/Qt5CoreMacros.cmake ++++ b/src/corelib/Qt5CoreMacros.cmake +@@ -59,7 +59,14 @@ + set(_outfile "${CMAKE_CURRENT_BINARY_DIR}/${rel}") + string(REPLACE ".." "__" _outfile ${_outfile}) + get_filename_component(outpath ${_outfile} PATH) +- string(REGEX REPLACE "\\.[^.]*$" "" _outfile ${_outfile}) ++ if(CMAKE_VERSION VERSION_LESS "3.14") ++ get_filename_component(_outfile_ext ${_outfile} EXT) ++ get_filename_component(_outfile_ext ${_outfile_ext} NAME_WE) ++ get_filename_component(_outfile ${_outfile} NAME_WE) ++ string(APPEND _outfile ${_outfile_ext}) ++ else() ++ get_filename_component(_outfile ${_outfile} NAME_WLE) ++ endif() + file(MAKE_DIRECTORY ${outpath}) + set(${outfile} ${outpath}/${prefix}${_outfile}.${ext}) + endmacro() diff --git a/gnu/packages/patches/racket-store-checksum-override.patch b/gnu/packages/patches/racket-store-checksum-override.patch index 236c843de1..6c4ebcf022 100644 --- a/gnu/packages/patches/racket-store-checksum-override.patch +++ b/gnu/packages/patches/racket-store-checksum-override.patch @@ -11,26 +11,15 @@ See <https://debbugs.gnu.org/30680> for details. --- --- a/collects/compiler/private/cm-minimal.rkt +++ b/collects/compiler/private/cm-minimal.rkt -@@ -7,6 +7,7 @@ +@@ -6,6 +6,7 @@ racket/list racket/path racket/promise + racket/string file/sha1 - setup/collects setup/cross-system -@@ -940,6 +941,10 @@ - #f - (list src-hash recorded-hash))) - -+(define (store-reference? path) -+ (let ([store-prefix (or (getenv "NIX_STORE") "/gnu/store")]) -+ (string-prefix? (path->string path) store-prefix))) -+ - (define (rkt->ss p) - (if (path-has-extension? p #".rkt") - (path-replace-extension p #".ss") -@@ -1015,6 +1020,7 @@ + compiler/compilation-path +@@ -268,7 +269,8 @@ (trace-printf "newer src... ~a > ~a" path-time path-zo-time) (maybe-compile-zo deps path->mode roots path orig-path read-src-syntax up-to-date collection-cache new-seen #:trying-sha1? sha1-only?)] @@ -39,4 +28,15 @@ See <https://debbugs.gnu.org/30680> for details. + (different-source-sha1-and-dep-recorded path deps)) => (lambda (difference) (trace-printf "different src hash ~a for ~a..." difference path) - (maybe-compile-zo deps path->mode roots path orig-path read-src-syntax up-to-date collection-cache new-seen \ No newline at end of file + (maybe-compile-zo deps path->mode roots path orig-path read-src-syntax up-to-date collection-cache new-seen +@@ -1012,5 +1014,9 @@ + #f + (list src-hash recorded-hash))) + ++(define (store-reference? path) ++ (let ([store-prefix (or (getenv "NIX_STORE") "/gnu/store")]) ++ (string-prefix? (path->string path) store-prefix))) ++ + ;; Make sure `recompile-from` is machine-independent so that + ;; recompilation makes sense. + ;; The compilation lock must is held for the source of `recompile-from`. \ No newline at end of file diff --git a/gnu/packages/patches/upx-fix-CVE-2017-15056.patch b/gnu/packages/patches/upx-fix-CVE-2017-15056.patch deleted file mode 100644 index 525980e73e..0000000000 --- a/gnu/packages/patches/upx-fix-CVE-2017-15056.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 3e0c2966dffb5dadb512a476ef4be3d0cc51c2be Mon Sep 17 00:00:00 2001 -From: Pierre Neidhardt <ambrevar@gmail.com> -Date: Sat, 16 Jun 2018 16:35:00 +0200 -Subject: [PATCH] Protect against bad crafted input - -Also check for wrap-around when checking oversize involving e_shoff and e_shnum. - -raised by https://github.com/upx/upx/pull/190 - modified: p_lx_elf.cpp ---- - src/p_lx_elf.cpp | 30 ++++++++++++++++++++++++++++++ - 1 file changed, 30 insertions(+) - -diff --git a/src/p_lx_elf.cpp b/src/p_lx_elf.cpp -index 822a7652..41e805ee 100644 ---- a/src/p_lx_elf.cpp -+++ b/src/p_lx_elf.cpp -@@ -235,8 +235,17 @@ PackLinuxElf32::PackLinuxElf32help1(InputFile *f) - sz_phdrs = 0; - return; - } -+ if (0==e_phnum) throwCantUnpack("0==e_phnum"); - e_phoff = get_te32(&ehdri.e_phoff); -+ unsigned const last_Phdr = e_phoff + e_phnum * sizeof(Elf32_Phdr); -+ if (last_Phdr < e_phoff || (unsigned long)file_size < last_Phdr) { -+ throwCantUnpack("bad e_phoff"); -+ } - e_shoff = get_te32(&ehdri.e_shoff); -+ unsigned const last_Shdr = e_shoff + e_shnum * sizeof(Elf32_Shdr); -+ if (last_Shdr < e_shoff || (unsigned long)file_size < last_Shdr) { -+ throwCantUnpack("bad e_shoff"); -+ } - sz_phdrs = e_phnum * e_phentsize; - - if (f && Elf32_Ehdr::ET_DYN!=e_type) { -@@ -599,8 +608,17 @@ PackLinuxElf64::PackLinuxElf64help1(InputFile *f) - sz_phdrs = 0; - return; - } -+ if (0==e_phnum) throwCantUnpack("0==e_phnum"); - e_phoff = get_te64(&ehdri.e_phoff); -+ upx_uint64_t const last_Phdr = e_phoff + e_phnum * sizeof(Elf64_Phdr); -+ if (last_Phdr < e_phoff || (unsigned long)file_size < last_Phdr) { -+ throwCantUnpack("bad e_phoff"); -+ } - e_shoff = get_te64(&ehdri.e_shoff); -+ upx_uint64_t const last_Shdr = e_shoff + e_shnum * sizeof(Elf64_Shdr); -+ if (last_Shdr < e_shoff || (unsigned long)file_size < last_Shdr) { -+ throwCantUnpack("bad e_shoff"); -+ } - sz_phdrs = e_phnum * e_phentsize; - - if (f && Elf64_Ehdr::ET_DYN!=e_type) { -@@ -3763,6 +3781,9 @@ void PackLinuxElf64::pack4(OutputFile *fo, Filter &ft) - - void PackLinuxElf64::unpack(OutputFile *fo) - { -+ if (e_phoff != sizeof(Elf64_Ehdr)) {// Phdrs not contiguous with Ehdr -+ throwCantUnpack("bad e_phoff"); -+ } - unsigned const c_phnum = get_te16(&ehdri.e_phnum); - upx_uint64_t old_data_off = 0; - upx_uint64_t old_data_len = 0; -@@ -3828,6 +3849,9 @@ void PackLinuxElf64::unpack(OutputFile *fo) - unsigned total_out = 0; - unsigned c_adler = upx_adler32(NULL, 0); - unsigned u_adler = upx_adler32(NULL, 0); -+ if ((MAX_ELF_HDR - sizeof(Elf64_Ehdr))/sizeof(Elf64_Phdr) < u_phnum) { -+ throwCantUnpack("bad compressed e_phnum"); -+ } - - // Packed ET_EXE has no PT_DYNAMIC. - // Packed ET_DYN has original PT_DYNAMIC for info needed by rtld. -@@ -4383,6 +4407,9 @@ Elf64_Sym const *PackLinuxElf64::elf_lookup(char const *name) const - - void PackLinuxElf32::unpack(OutputFile *fo) - { -+ if (e_phoff != sizeof(Elf32_Ehdr)) {// Phdrs not contiguous with Ehdr -+ throwCantUnpack("bad e_phoff"); -+ } - unsigned const c_phnum = get_te16(&ehdri.e_phnum); - unsigned old_data_off = 0; - unsigned old_data_len = 0; -@@ -4449,6 +4476,9 @@ void PackLinuxElf32::unpack(OutputFile *fo) - unsigned total_out = 0; - unsigned c_adler = upx_adler32(NULL, 0); - unsigned u_adler = upx_adler32(NULL, 0); -+ if ((MAX_ELF_HDR - sizeof(Elf32_Ehdr))/sizeof(Elf32_Phdr) < u_phnum) { -+ throwCantUnpack("bad compressed e_phnum"); -+ } - - // Packed ET_EXE has no PT_DYNAMIC. - // Packed ET_DYN has original PT_DYNAMIC for info needed by rtld. --- -2.17.0 - diff --git a/gnu/packages/patches/zziplib-CVE-2018-16548.patch b/gnu/packages/patches/zziplib-CVE-2018-16548.patch new file mode 100644 index 0000000000..a17c6a9768 --- /dev/null +++ b/gnu/packages/patches/zziplib-CVE-2018-16548.patch @@ -0,0 +1,49 @@ +The following 3 patches applied to 0.13.69 in this order, combined: +https://github.com/gdraheim/zziplib/commit/9411bde3e4a70a81ff3ffd256b71927b2d90dcbb.patch +https://github.com/gdraheim/zziplib/commit/d2e5d5c53212e54a97ad64b793a4389193fec687.patch +https://github.com/gdraheim/zziplib/commit/0e1dadb05c1473b9df2d7b8f298dab801778ef99.patch + +diff --git a/test/test.zip b/test/test.zip +index 2c992ea..952d475 100644 +Binary files a/test/test.zip and b/test/test.zip differ +diff --git a/zzip/zip.c b/zzip/zip.c +index 14e2e06..f97a40a 100644 +--- a/zzip/zip.c ++++ b/zzip/zip.c +@@ -472,9 +472,15 @@ __zzip_parse_root_directory(int fd, + } else + { + if (io->fd.seeks(fd, zz_rootseek + zz_offset, SEEK_SET) < 0) ++ { ++ free(hdr0); + return ZZIP_DIR_SEEK; ++ } + if (io->fd.read(fd, &dirent, sizeof(dirent)) < __sizeof(dirent)) ++ { ++ free(hdr0); + return ZZIP_DIR_READ; ++ } + d = &dirent; + } + +@@ -574,11 +580,18 @@ __zzip_parse_root_directory(int fd, + + if (hdr_return) + *hdr_return = hdr0; ++ else ++ { ++ /* If it is not assigned to *hdr_return, it will never be free()'d */ ++ free(hdr0); ++ } + } /* else zero (sane) entries */ ++ else ++ free(hdr0); + # ifndef ZZIP_ALLOW_MODULO_ENTRIES +- return (entries != zz_entries ? ZZIP_CORRUPTED : 0); ++ return (entries != zz_entries) ? ZZIP_CORRUPTED : 0; + # else +- return ((entries & (unsigned)0xFFFF) != zz_entries ? ZZIP_CORRUPTED : 0); ++ return ((entries & (unsigned)0xFFFF) != zz_entries) ? ZZIP_CORRUPTED : 0; + # endif + } + diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm index e32e6c7b12..e01ebe72ec 100644 --- a/gnu/packages/patchutils.scm +++ b/gnu/packages/patchutils.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015, 2018 Leo Famulari <leo@famulari.name> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Christopher Baines <mail@cbaines.net> ;;; ;;; This file is part of GNU Guix. @@ -247,7 +247,7 @@ GiB).") (define-public meld (package (name "meld") - (version "3.20.1") + (version "3.20.2") (source (origin (method url-fetch) @@ -255,7 +255,7 @@ GiB).") (version-major+minor version) "/meld-" version ".tar.xz")) (sha256 - (base32 "0jdj7kd6vj1mdc16gvrj1kar88b2j5875ajq18fx7cbc9ny46j55")))) + (base32 "0a0x156zr3w2yg0rnhwy39giy3xnfm6sqcfa4xcw4i6ahvwqa2dc")))) (build-system python-build-system) (native-inputs `(("intltool" ,intltool) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index f1d3b56221..891367b1c2 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -226,7 +226,7 @@ When present, Poppler is able to correctly render CJK and Cyrillic text.") ("python-pyqt" ,python-pyqt) ("poppler-qt5" ,poppler-qt5) ("qtbase" ,qtbase))) - (home-page "https://pypi.python.org/pypi/python-poppler-qt5") + (home-page "https://pypi.org/project/python-poppler-qt5/") (synopsis "Python bindings for Poppler-Qt5") (description "This package provides Python bindings for the Qt5 interface of the @@ -272,13 +272,14 @@ reading and editing of existing PDF files.") (define-public xpdf (package (name "xpdf") - (version "3.04") - (source (origin - (method url-fetch) - (uri (string-append "ftp://ftp.foolabs.com/pub/xpdf/xpdf-" - version ".tar.gz")) - (sha256 (base32 - "1rbp54mr3z2x3a3a1qmz8byzygzi223vckfam9ib5g1sfds0qf8i")))) + (version "4.02") + (source + (origin + (method url-fetch) + (uri (string-append "https://xpdfreader-dl.s3.amazonaws.com/xpdf-" + version "4.02.tar.gz")) + (sha256 + (base32 "1rbp54mr3z2x3a3a1qmz8byzygzi223vckfam9ib5g1sfds0qf8i")))) (build-system gnu-build-system) (inputs `(("freetype" ,freetype) ("gs-fonts" ,gs-fonts) @@ -292,8 +293,8 @@ reading and editing of existing PDF files.") ("libpng" ,libpng) ("zlib" ,zlib))) (arguments - `(#:tests? #f ; there is no check target - #:parallel-build? #f ; build fails randomly on 8-way machines + `(#:tests? #f ; there is no check target + #:parallel-build? #f ; build fails randomly on 8-way machines #:configure-flags (list (string-append "--with-freetype2-includes=" (assoc-ref %build-inputs "freetype") @@ -315,8 +316,8 @@ reading and editing of existing PDF files.") (synopsis "Viewer for PDF files based on the Motif toolkit") (description "Xpdf is a viewer for Portable Document Format (PDF) files.") - (license license:gpl3) ; or gpl2, but not gpl2+ - (home-page "http://www.foolabs.com/xpdf/"))) + (license license:gpl3) ; or gpl2, but not gpl2+ + (home-page "https://www.xpdfreader.com/"))) (define-public zathura-cb (package @@ -391,7 +392,7 @@ using libspectre.") (define-public zathura-djvu (package (name "zathura-djvu") - (version "0.2.8") + (version "0.2.9") (source (origin (method url-fetch) (uri @@ -399,7 +400,7 @@ using libspectre.") version ".tar.xz")) (sha256 (base32 - "0axkv1crdxn0z44whaqp2ibkdqcykhjnxk7qzms0dp1b67an9rnh")))) + "0062n236414db7q7pnn3ccg5111ghxj3407pn9ri08skxskgirln")))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("djvulibre" ,djvulibre) @@ -471,7 +472,7 @@ by using the @code{mupdf} rendering library.") (define-public zathura-pdf-poppler (package (name "zathura-pdf-poppler") - (version "0.2.9") + (version "0.3.0") (source (origin (method url-fetch) (uri @@ -479,7 +480,7 @@ by using the @code{mupdf} rendering library.") version ".tar.xz")) (sha256 (base32 - "1p4jcny0jniygns78mcf0nlm298dszh49qpmjmackrm6dq8hc25y")))) + "1vfl4vkyy3rf39r1sqaa7y8113bgkh2bkfq3nn2inis9mrykmk6m")))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("poppler" ,poppler) @@ -507,7 +508,7 @@ by using the poppler rendering engine.") (define-public zathura (package (name "zathura") - (version "0.4.3") + (version "0.4.5") (source (origin (method url-fetch) (uri @@ -515,7 +516,7 @@ by using the poppler rendering engine.") version ".tar.xz")) (sha256 (base32 - "0hgx5x09i6d0z45llzdmh4l348fxh1y102sb1w76f2fp4r21j4ky")))) + "0b3nrcvykkpv2vm99kijnic2gpfzva520bsjlihaxandzfm9ff8c")))) (native-inputs `(("pkg-config" ,pkg-config) ("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") @@ -1281,13 +1282,13 @@ manipulating PDF documents from the command line. It supports (define-public weasyprint (package (name "weasyprint") - (version "50") + (version "51") (source (origin (method url-fetch) (uri (pypi-uri "WeasyPrint" version)) (sha256 - (base32 "0invs96zvmcr6wh5klj52jrcnr9qg150v9wpmbhcsf3vv1d1hbcw")) + (base32 "0skdzwq7cd715dnnds6abx0k0xmmnmsqp0vb1r1w20sg7abp3sdk")) (patches (search-patches "weasyprint-library-paths.patch")))) (build-system python-build-system) (arguments @@ -1315,11 +1316,11 @@ manipulating PDF documents from the command line. It supports (lambda _ (substitute* "setup.cfg" ;; flake8 and isort syntax checks fail, which is not our - ;; business + ;; business. (("addopts = --flake8 --isort") "")))) (replace 'check (lambda _ - ;; run pytest, excluding one failing test + ;; Run pytest, excluding one failing test. (invoke "pytest" "-k" "not test_flex_column_wrap_reverse")))))) (inputs `(("fontconfig" ,fontconfig) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 078aa95c34..6b29e8ce59 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -7238,6 +7238,30 @@ file names.") with file paths.") (license asl2.0))) +(define-public perl-pdf-api2 + (package + (name "perl-pdf-api2") + (version "2.036") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/S/SS/SSIMMS/PDF-API2-" + version ".tar.gz")) + (sha256 + (base32 + "0x0pa75wpb87pcshl92y5nh8pzikjp46ljlr2pqvdgpqzvll8107")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-exception" ,perl-test-exception) + ("perl-test-memory-cycle" ,perl-test-memory-cycle))) + (propagated-inputs + `(("perl-font-ttf" ,perl-font-ttf))) + (home-page "https://metacpan.org/release/PDF-API2") + (synopsis "Facilitates the creation and modification of PDF files") + (description "This Perl module facilitates the creation and modification +of PDF files.") + (license lgpl2.1))) + (define-public perl-perlio-utf8_strict (package (name "perl-perlio-utf8-strict") diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 0dfc442883..b0d35441b3 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -133,14 +133,14 @@ data as produced by digital cameras.") (define-public libgphoto2 (package (name "libgphoto2") - (version "2.5.23") + (version "2.5.24") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gphoto/libgphoto/" version "/libgphoto2-" version ".tar.bz2")) (sha256 (base32 - "0bc5x2bkqbfi4hbkz8ab5xc0bkks9vvks1vygxhdh3x498v27byq")))) + "0cgvsk06c4kcfj16plc27nm7g16r9ci0y4k83sf3iyphd63mfg7x")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs @@ -211,7 +211,7 @@ MTP, and much more.") (define-public perl-image-exiftool (package (name "perl-image-exiftool") - (version "11.30") + (version "11.85") (source (origin (method url-fetch) @@ -222,7 +222,8 @@ MTP, and much more.") (string-append "https://www.sno.phy.queensu.ca/~phil/exiftool/" "Image-ExifTool-" version ".tar.gz"))) (sha256 - (base32 "0vkjb2c1a3jdlq8rx1jywx4p3f1bmgjn7rzfwx6dxgij2lx76lrs")))) + (base32 + "15zqm0ly2b3paqg0ym44ib2mvh6k18a9q5rvdirwipqa127al2lb")))) (build-system perl-build-system) (arguments '(#:phases @@ -498,14 +499,14 @@ a complete panorama and stitch any series of overlapping pictures.") (define-public rawtherapee (package (name "rawtherapee") - (version "5.6") + (version "5.8") (source (origin (method url-fetch) (uri (string-append "http://rawtherapee.com/shared/source/" "rawtherapee-" version ".tar.xz")) (sha256 (base32 - "0x0dcfp6f3j08gr11wq5ah4prp790xy4iadbgsm9kgc0jlalpspr")))) + "0lq8qi7g0a28h3rab7bk5bbbd4gvfma42bvlz1dfn8p9mah2h19n")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no test suite diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index ac0f991206..2551028e49 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -60,7 +60,7 @@ (define-public php (package (name "php") - (version "7.4.2") + (version "7.4.3") (home-page "https://www.php.net/") (source (origin (method url-fetch) @@ -68,7 +68,7 @@ "php-" version ".tar.xz")) (sha256 (base32 - "04yz9f7klh642syfh49rmribzwd1k5ssxv0pc510vnhpq3m4sa4q")) + "0alqqs5hn4jmz1adrbysbw92n55nkw6f9vfivqj829kwhxnqa7yg")) (modules '((guix build utils))) (snippet '(with-directory-excursion "ext" @@ -253,7 +253,6 @@ ;; differs: expected 114x115, got 117x117". "ext/gd/tests/bug79068.phpt" - ;; XXX: These iconv tests have the expected outcome, ;; but with different error messages. ;; Expects "illegal character", instead gets "unknown error (84)". diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm index fc98478d4c..e6560696f5 100644 --- a/gnu/packages/pretty-print.scm +++ b/gnu/packages/pretty-print.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net> +;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,7 +41,8 @@ #:use-module (gnu packages lua) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) - #:use-module (gnu packages compression)) + #:use-module (gnu packages compression) + #:use-module (gnu packages swig)) (define-public a2ps (package @@ -270,12 +272,29 @@ seen in a terminal.") (string-append assignment "lua-" ,(version-major+minor (package-version lua)) "\n"))) - #t))))) + (substitute* "extras/swig/makefile" + (("lua") (string-append "lua-" ,(version-major+minor + (package-version lua))))) + #t)) + (add-after 'install 'install-perl-bindings + (lambda* (#:key outputs #:allow-other-keys) + (let* ((perldir (string-append (assoc-ref outputs "out") + "/lib/perl5/site_perl/" + ,(package-version perl))) + (autodir (string-append perldir "/auto/highlight"))) + (with-directory-excursion "extras/swig" + (invoke "make" "perl") + (invoke "perl" "-I" "." "testmod.pl") + (install-file "highlight.pm" perldir) + (install-file "highlight.so" autodir)) + #t)))))) (inputs `(("lua" ,lua) - ("boost" ,boost))) + ("boost" ,boost) + ("perl" ,perl))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("swig" ,swig))) (home-page "http://www.andre-simon.de/doku/highlight/en/highlight.php") (synopsis "Convert code to documents with syntax highlighting") (description "Highlight converts source code to HTML, XHTML, RTF, LaTeX, diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index f35540686c..9eee75cbfb 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -291,7 +291,7 @@ making them easy to handle and incorporate into other protocols.") (add-before 'build 'set-build-env ;; pycrypto runs an autoconf configure script behind the scenes (lambda _ (setenv "CONFIG_SHELL" (which "bash")) #t))))) - (home-page "http://www.pycrypto.org/") + (home-page "https://www.dlitz.net/software/pycrypto/") (synopsis "Cryptographic modules for Python") (description "Pycrypto is a collection of both secure hash functions (such as SHA256 diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index b4241362ba..8dcc6e77e6 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -189,7 +189,7 @@ routines such as routines for numerical integration and optimization.") ("python-six" ,python-six))) (native-inputs `(("python-cython" ,python-cython))) - (home-page "http://scikit-image.org/") + (home-page "https://scikit-image.org/") (synopsis "Image processing in Python") (description "Scikit-image is a collection of algorithms for image processing.") diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index f9981454fb..08d75525be 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -32,6 +32,7 @@ ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> +;;; Copyright © 2020 Evan Straw <evan.straw99@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -971,7 +972,7 @@ object to help create WSGI responses.") (base32 "1ksbc726av9xacml6jhcfyn828hlhb9xlddpx6fcvnlvmpmpvhk9")))) (build-system python-build-system) - (home-page "https://pypi.python.org/pypi/zope.event") + (home-page "https://pypi.org/project/zope.event/") (synopsis "Event publishing system for Python") (description "Zope.event provides an event publishing API, intended for use by applications which are unaware of any subscribers to their events. It @@ -1020,10 +1021,10 @@ conforming to a given API or contract.") "0zwxaaa66sqxg5k7zcrvs0fbg9ym1njnxnr28dfmchzhwjvwnfzl")))) (build-system python-build-system) (arguments - '(#:tests? #f)) ; circular dependency with zope.testrunner + '(#:tests? #f)) ; circular dependency with zope.testrunner (propagated-inputs `(("python-zope-interface" ,python-zope-interface))) - (home-page "http://cheeseshop.python.org/pypi/zope.exceptions") + (home-page "https://pypi.org/project/zope.exceptions/") (synopsis "Zope exceptions") (description "Zope.exceptions provides general-purpose exception types that have uses outside of the Zope framework.") @@ -1050,7 +1051,7 @@ that have uses outside of the Zope framework.") (for-each delete-file (find-files "." "(\\.pyc|~)$")) #t)))) (build-system python-build-system) - (home-page "https://pypi.python.org/pypi/zope.testing") + (home-page "https://pypi.org/project/zope.testing/") (synopsis "Zope testing helpers") (description "Zope.testing provides a number of testing utilities for HTML forms, HTTP servers, regular expressions, and more.") @@ -1081,7 +1082,7 @@ forms, HTTP servers, regular expressions, and more.") ("unzip" ,unzip))) (propagated-inputs `(("python-zope-interface" ,python-zope-interface))) - (home-page "https://pypi.python.org/pypi/zope.testrunner") + (home-page "https://pypi.org/project/zope.testrunner/") (synopsis "Zope testrunner script") (description "Zope.testrunner provides a script for running Python tests.") @@ -1108,7 +1109,7 @@ tests.") (base32 "1rslyph0klk58dmjjy4j0jxy21k03azksixc3x2xhqbkv97cmzml")))) (build-system python-build-system) - (home-page "https://pypi.python.org/pypi/zope.i18nmessageid") + (home-page "https://pypi.org/project/zope.i18nmessageid/") (synopsis "Message identifiers for internationalization") (description "Zope.i18nmessageid provides facilities for declaring internationalized messages within program source text.") @@ -1139,7 +1140,7 @@ internationalized messages within program source text.") `(("python-zope-testing" ,python-zope-testing) ("python-coverage" ,python-coverage) ("python-nose" ,python-nose))) - (home-page "https://pypi.python.org/pypi/zope.schema") + (home-page "https://pypi.org/project/zope.schema/") (synopsis "Zope data schemas") (description "Zope.scheme provides extensions to zope.interface for defining data schemas.") @@ -1164,7 +1165,7 @@ defining data schemas.") (propagated-inputs `(("python-zope-i18nmessageid" ,python-zope-i18nmessageid) ("python-zope-schema" ,python-zope-schema))) - (home-page "https://pypi.python.org/pypi/zope.configuration") + (home-page "https://pypi.org/project/zope.configuration/") (synopsis "Zope Configuration Markup Language") (description "Zope.configuration implements ZCML, the Zope Configuration Markup Language.") @@ -1189,7 +1190,7 @@ Markup Language.") '(#:tests? #f)) ; FIXME: Tests can't find zope.interface. (propagated-inputs `(("python-zope-interface" ,python-zope-interface))) - (home-page "https://pypi.python.org/pypi/zope.proxy") + (home-page "https://pypi.org/project/zope.proxy/") (synopsis "Generic, transparent proxies") (description "Zope.proxy provides generic, transparent proxies for Python. Proxies are special objects which serve as mostly-transparent wrappers around @@ -1218,7 +1219,7 @@ brokering, etc.) for which the proxy is responsible.") (propagated-inputs `(("python-zope-proxy" ,python-zope-proxy) ("python-zope-schema" ,python-zope-schema))) - (home-page "https://pypi.python.org/pypi/zope.location/") + (home-page "https://pypi.org/project/zope.location/") (synopsis "Zope location library") (description "Zope.location implements the concept of \"locations\" in Zope3, which are are special objects that have a structural location.") @@ -1252,7 +1253,7 @@ Zope3, which are are special objects that have a structural location.") ("python-zope-location" ,python-zope-location) ("python-zope-testrunner" ,python-zope-testrunner) ("python-zope-testing" ,python-zope-testing))) - (home-page "https://pypi.python.org/pypi/zope.security") + (home-page "https://pypi.org/project/zope.security/") (synopsis "Zope security framework") (description "Zope.security provides a generic mechanism to implement security policies on Python objects.") @@ -1600,43 +1601,43 @@ supports url redirection and retries, and also gzip and deflate decoding.") (define-public awscli (package - (name "awscli") - (version "1.14.41") - (source - (origin - (method url-fetch) - (uri (pypi-uri name version)) - (sha256 - (base32 - "0sispclx263lybbk19zp1n9yhg8xxx4jddypzgi24vpjaqnsbwlc")))) - (build-system python-build-system) - (arguments - ;; FIXME: The 'pypi' release does not contain tests. - '(#:tests? #f - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-reference-to-groff - (lambda _ - (substitute* "awscli/help.py" - (("if not self._exists_on_path\\('groff'\\):") "") - (("raise ExecutableNotFoundError\\('groff'\\)") "") - (("cmdline = \\['groff'") - (string-append "cmdline = ['" (which "groff") "'"))) - #t))))) - (propagated-inputs - `(("python-colorama" ,python-colorama) - ("python-botocore" ,python-botocore) - ("python-s3transfer" ,python-s3transfer) - ("python-docutils" ,python-docutils) - ("python-pyyaml" ,python-pyyaml) - ("python-rsa" ,python-rsa))) - (inputs - `(("groff" ,groff))) - (home-page "https://aws.amazon.com/cli/") - (synopsis "Command line client for AWS") - (description "AWS CLI provides a unified command line interface to the + (name "awscli") + (version "1.18.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri name version)) + (sha256 + (base32 + "0p479mfs9r0m82a217pap8156ijwvhv6r3kqa4k267gd05wgvygm")))) + (build-system python-build-system) + (arguments + ;; FIXME: The 'pypi' release does not contain tests. + '(#:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-reference-to-groff + (lambda _ + (substitute* "awscli/help.py" + (("if not self._exists_on_path\\('groff'\\):") "") + (("raise ExecutableNotFoundError\\('groff'\\)") "") + (("cmdline = \\['groff'") + (string-append "cmdline = ['" (which "groff") "'"))) + #t))))) + (propagated-inputs + `(("python-colorama" ,python-colorama) + ("python-botocore" ,python-botocore) + ("python-s3transfer" ,python-s3transfer) + ("python-docutils" ,python-docutils) + ("python-pyyaml" ,python-pyyaml) + ("python-rsa" ,python-rsa))) + (native-inputs + `(("groff" ,groff))) + (home-page "https://aws.amazon.com/cli/") + (synopsis "Command line client for AWS") + (description "AWS CLI provides a unified command line interface to the Amazon Web Services (AWS) API.") - (license license:asl2.0))) + (license license:asl2.0))) (define-public python-wsgiproxy2 (package @@ -2671,7 +2672,7 @@ textual content for output generation on the web.") (native-inputs `(("python-flask" ,python-flask) ("python-nose" ,python-nose))) - (home-page "http://packages.python.org/Flask-Principal/") + (home-page "https://pythonhosted.org/Flask-Principal/") (synopsis "Identity management for Flask") (description "@code{flask_principal} is a identity management library for Flask. It supports managing both authentication and authorization data in a diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index dc48800afb..de48d36748 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2015 Omar Radwan <toxemicsquire4@gmail.com> ;;; Copyright © 2015 Pierre-Antoine Rault <par@rigelk.eu> -;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> ;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org> @@ -54,7 +54,7 @@ ;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org> -;;; Copyright © 2018, 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2018, 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2018 Luther Thompson <lutheroto@gmail.com> ;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org> ;;; Copyright © 2019, 2020 Brett Gilio <brettg@gnu.org> @@ -70,6 +70,7 @@ ;;; Copyright © 2019 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de> ;;; Copyright © 2020 Riku Viitanen <riku.viitanen@protonmail.com> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> +;;; Copyright © 2020 sirgazil <sirgazil@zoho.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -508,7 +509,7 @@ NetCDF files can also be read and modified. Python-HDF4 is a fork of (native-inputs `(("python-cython" ,python-cython) ("python-pkgconfig" ,python-pkgconfig))) - (home-page "http://www.h5py.org/") + (home-page "https://www.h5py.org/") (synopsis "Read and write HDF5 files from Python") (description "The h5py package provides both a high- and low-level interface to the @@ -748,7 +749,7 @@ other machines, such as over the network.") ;; One could bootstrap with an internal untested setuptools. (arguments `(#:tests? #f)) - (home-page "https://pypi.python.org/pypi/setuptools") + (home-page "https://pypi.org/project/setuptools/") (synopsis "Library designed to facilitate packaging Python projects") (description @@ -1110,7 +1111,7 @@ from the Python interpreter, or as a small part of a larger application.") (invoke "py.test" "-v")))))) (native-inputs `(("python-pytest" ,python-pytest-bootstrap))) - (home-page "https://pypi.python.org/pypi/six/") + (home-page "https://pypi.org/project/six/") (synopsis "Python 2 and 3 compatibility utilities") (description "Six is a Python 2 and 3 compatibility library. It provides utility @@ -1281,7 +1282,7 @@ Python 3.3+.") (arguments `(#:python ,python-2 #:tests? #f)) ; invalid command "test" ;; Currently no offical homepage. - (home-page "https://pypi.python.org/pypi/dogtail/") + (home-page "https://pypi.org/project/dogtail/") (synopsis "GUI test tool and automation framework written in Python") (description "Dogtail is a GUI test tool and automation framework written in Python. @@ -1392,7 +1393,7 @@ bug tracker.") (build-system python-build-system) (arguments `(#:python ,python-2)) - (home-page "http://pypi.python.org/pypi/enum/") + (home-page "https://pypi.org/project/enum/") (synopsis "Robust enumerated type support in Python") (description "This provides a module for robust enumerations in Python. It has @@ -1413,7 +1414,7 @@ compatibility.") (base32 "1cgm5ng2gcfrkrm3hc22brl6chdmv67b9zvva9sfs7gn7dwc9n4a")))) (build-system python-build-system) - (home-page "https://pypi.python.org/pypi/enum34") + (home-page "https://pypi.org/project/enum34/") (synopsis "Backported Python 3.4 Enum") (description "Enum34 is the new Python stdlib enum module available in Python 3.4 @@ -1558,7 +1559,7 @@ and is not compatible with JSON.") (invoke "python" "bootstrap.py" "build/scons" "DEVELOPER=guix") (chdir "build/scons") #t))))) - (home-page "http://scons.org/") + (home-page "https://scons.org/") (synopsis "Software construction tool written in Python") (description "SCons is a software construction tool. Think of SCons as an improved, @@ -1756,7 +1757,7 @@ code introspection, and logging.") (build-system python-build-system) (arguments `(#:tests? #f)) - (home-page "http://docs.openstack.org/developer/pbr/") + (home-page "https://docs.openstack.org/pbr/latest/") (synopsis "Minimal build of python-pbr used for bootstrapping") (description "Used only for bootstrapping python2-pbr, you should not need this.") @@ -2157,7 +2158,7 @@ cutting and pasting that code over and over.") (base32 "1s6cp2lv4m0f00hjckjz8p6m7d3n3v16jvg353llf5ia1iqsnsib")))) (build-system python-build-system) - (home-page "https://pypi.python.org/pypi/Unidecode") + (home-page "https://pypi.org/project/Unidecode/") (synopsis "ASCII transliterations of Unicode text") (description "Unidecode provides ASCII transliterations of Unicode text. Unidecode is @@ -2325,18 +2326,18 @@ environments and back.") (define-public python-pyyaml (package (name "python-pyyaml") - (version "3.13") + (version "5.3") (source (origin (method url-fetch) (uri (pypi-uri "PyYAML" version)) (sha256 (base32 - "1gx603g484z46cb74j9rzr6sjlh2vndxayicvlyhxdz98lhhkwry")))) + "058nd4p8f25wwzy2aiwh18wcrdm6663cqbfdkgjp8y9cp7ampx79")))) (build-system python-build-system) (inputs `(("libyaml" ,libyaml))) - (home-page "http://pyyaml.org/wiki/PyYAML") + (home-page "https://pyyaml.org") (synopsis "YAML parser and emitter for Python") (description "PyYAML is a YAML parser and emitter for Python. PyYAML features a @@ -3200,7 +3201,7 @@ feature-set for programming Python effectively.") (base32 "1dpq0vb01p36jjwbhhd08ylvrnyvcc82yxx3mwjx6awrycjyw6j7")))) (build-system python-build-system) - (home-page "http://pythonhosted.org/blinker/") + (home-page "https://pythonhosted.org/blinker/") (synopsis "Fast, simple object-to-object and broadcast signaling") (description "Blinker provides a fast dispatching system that allows any number of @@ -3463,7 +3464,7 @@ include_dirs = ~a/include (with-directory-excursion "/tmp" (invoke "python" "-c" "import numpy; numpy.test(verbose=2)"))))))) - (home-page "http://www.numpy.org/") + (home-page "https://numpy.org") (synopsis "Fundamental package for scientific computing with Python") (description "NumPy is the fundamental package for scientific computing with Python. It contains among other things: a powerful N-dimensional array @@ -3826,7 +3827,7 @@ that client code uses to construct the grammar directly in Python code.") `(("python-sphinx" ,python-sphinx))) (native-inputs `(("python-nose" ,python-nose))) - (home-page "https://pypi.python.org/pypi/numpydoc") + (home-page "https://pypi.org/project/numpydoc/") (synopsis "Numpy's Sphinx extensions") (description @@ -4776,7 +4777,7 @@ PNG, PostScript, PDF, and SVG file output.") (sha256 (base32 "0308djallnh00v112y5b7nadl657ysmkp6vc8xn51d6yzc9zm7n3")))) (build-system python-build-system) - (home-page "https://pypi.python.org/pypi/decorator/") + (home-page "https://pypi.org/project/decorator/") (synopsis "Python module to simplify usage of decorators") (description "The aim of the decorator module is to simplify the usage of decorators @@ -4805,7 +4806,7 @@ etc. The core of this module is a decorator factory.") (arguments '(#:tests? #f)) (native-inputs `(("python-nose" ,python-nose))) - (home-page "https://pypi.python.org/pypi/drmaa") + (home-page "https://pypi.org/project/drmaa/") (synopsis "Python bindings for the DRMAA library") (description "A Python package for Distributed Resource Management (DRM) job @@ -5008,7 +5009,7 @@ them as the version argument or in a SCM managed file.") (propagated-inputs `(("python-scandir" ,python-scandir) ("python-six" ,python-six))) - (home-page "https://pypi.python.org/pypi/pathlib2/") + (home-page "https://pypi.org/project/pathlib2/") (synopsis "Object-oriented file system paths") (description "The goal of pathlib2 is to provide a backport of the standard @code{pathlib} module which tracks the standard library module, so @@ -6155,7 +6156,7 @@ SVG, EPS, PNG and terminal output.") (native-inputs `(("python-pytest" ,python-pytest) ("xorg-server" ,xorg-server-for-tests))) - (home-page "http://stanford.edu/~mwaskom/software/seaborn/") + (home-page "https://seaborn.pydata.org/") (synopsis "Statistical data visualization") (description "Seaborn is a library for making attractive and informative statistical @@ -6245,7 +6246,7 @@ multiprecision arithmetic.") #t))))) (propagated-inputs `(("python-mpmath" ,python-mpmath))) - (home-page "http://www.sympy.org/") + (home-page "https://www.sympy.org/") (synopsis "Python library for symbolic mathematics") (description "SymPy is a Python library for symbolic mathematics. It aims to become a @@ -6330,7 +6331,7 @@ It is written entirely in Python.") (native-inputs `(("python-six" ,python-six))) ; required for conversion, not at run-time (home-page - "http://docs.python.org/3/library/functools.html#functools.singledispatch") + "https://docs.python.org/3/library/functools.html#functools.singledispatch") (synopsis "Backport of singledispatch feature from Python 3.4") (description "This library brings functools.singledispatch from Python 3.4 to Python @@ -6759,14 +6760,14 @@ Python.") (define-public python-markdown (package (name "python-markdown") - (version "3.2") + (version "3.2.1") (source (origin (method url-fetch) (uri (pypi-uri "Markdown" version)) (sha256 (base32 - "1gwqrhrp0n9xllgmjc8n1p260968kr0dd2jncjkj4r617q61imss")))) + "00k91gwhxnm8jdnm2v5xjz9irj6dbi7afywz2hpakqdbxs1ydzlh")))) (build-system python-build-system) (native-inputs `(("python-nose" ,python-nose) @@ -6965,7 +6966,7 @@ from an XML-based format.") (description "This package provides a Python library to parse, manipulate or create documents in LilyPond format. A command line program ly is also provided that can be used to do various manipulations with LilyPond files.") - (home-page "https://pypi.python.org/pypi/python-ly") + (home-page "https://pypi.org/project/python-ly/") (license license:gpl2+))) (define-public python-appdirs @@ -7070,7 +7071,7 @@ should be stored on various operating systems.") (description "MessagePack is a fast, compact binary serialization format, suitable for similar data to JSON. This package provides CPython bindings for reading and writing MessagePack data.") - (home-page "https://pypi.python.org/pypi/msgpack/") + (home-page "https://pypi.org/project/msgpack/") (license license:asl2.0))) ;; This msgpack library's name changed from "python-msgpack" to "msgpack" with @@ -7223,7 +7224,7 @@ Unicode-aware. It is not intended as an end-user tool.") (base32 "0diwsicwmiq2cpzpxri7cyl5fmsvicafw6nfqf6p6p322dji2g45")))) (build-system python-build-system) - (home-page "http://code.google.com/p/prettytable/") + (home-page "https://code.google.com/archive/p/prettytable/") (synopsis "Display tabular data in an ASCII table format") (description "A library designed to represent tabular data in visually appealing ASCII @@ -7563,7 +7564,7 @@ a hash value.") (arguments ;; There are no tests. `(#:tests? #f)) - (home-page "https://pypi.python.org/pypi/termcolor") + (home-page "https://pypi.org/project/termcolor/") (synopsis "ANSII Color formatting for terminal output") (description "This package provides ANSII Color formatting for output in terminals.") @@ -7575,13 +7576,13 @@ a hash value.") (define-public python-libarchive-c (package (name "python-libarchive-c") - (version "2.8") + (version "2.9") (source (origin (method url-fetch) (uri (pypi-uri "libarchive-c" version)) (sha256 (base32 - "0qg0v1s9c1xdk9philhnv8k6c6nicvnvfwlc0j9srg90jmdlvm06")))) + "0q7g6a97110bk0j5x81555kajyxh4sybaabab6v5sgr0xi6386cr")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -7723,14 +7724,14 @@ Jupyter Notebook format and Python APIs for working with notebooks.") (define-public python-bleach (package (name "python-bleach") - (version "3.1.0") + (version "3.1.1") (source (origin (method url-fetch) (uri (pypi-uri "bleach" version)) (sha256 (base32 - "1yhrgrhkln8bd6gn3imj69g1h4xqah9gaz9q26crqr6gmmvpzprz")))) + "0j4xlnw99m1xy0s7wxz9fk5f3c1n8r296fh75jn5p5j61w6qg2xa")))) (build-system python-build-system) (propagated-inputs `(("python-webencodings" ,python-webencodings) @@ -8349,7 +8350,7 @@ be set via config files and/or environment variables.") (base32 "0j6ad6lwwyc9kv71skj098v5l7x5biyj2hs4lc5x1kcixqcr97sh")))) (build-system python-build-system) - (home-page "http://contextlib2.readthedocs.org/") + (home-page "https://contextlib2.readthedocs.org/") (synopsis "Tools for decorators and context managers") (description "This module is primarily a backport of the Python 3.2 contextlib to earlier Python versions. Like contextlib, it @@ -8388,21 +8389,27 @@ the standard library.") (define-public python-texttable (package (name "python-texttable") - (version "0.9.1") + (version "1.6.2") (source (origin (method url-fetch) (uri (pypi-uri "texttable" version)) (sha256 (base32 - "0yawv64c0zbawwv6zz84whb32fnb2n9jylwjcfsrcdgh7xvl340i")))) + "1x5l77akfc20x52jma9573qp8l8r07q103pm4l0pbizvh4vp1wzg")))) (build-system python-build-system) - (arguments '(#:tests? #f)) ; no tests + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ (invoke "pytest" "tests.py")))))) + (native-inputs + `(("python-pytest" ,python-pytest))) (home-page "https://github.com/foutaise/texttable/") (synopsis "Python module for creating simple ASCII tables") (description "Texttable is a Python module for creating simple ASCII tables.") - (license license:lgpl2.1+))) + (license license:expat))) (define-public python2-texttable (package-with-python2 python-texttable)) @@ -8811,19 +8818,19 @@ for the module to work under Python 3.3.") (define-public python-colorama (package (name "python-colorama") - (version "0.3.9") + (version "0.4.3") (source (origin (method url-fetch) (uri (pypi-uri "colorama" version)) (sha256 (base32 - "1wd1szk0z3073ghx26ynw43gnc140ibln1safgsis6s6z3s25ss8")))) + "189n8hpijy14jfan4ha9f5n06mnl33cxz7ay92wjqgkr639s0vg9")))) (build-system python-build-system) (synopsis "Colored terminal text rendering for Python") (description "Colorama is a Python library for rendering colored terminal text.") - (home-page "https://pypi.python.org/pypi/colorama") + (home-page "https://pypi.org/project/colorama/") (license license:bsd-3))) (define-public python2-colorama @@ -8871,7 +8878,7 @@ library as well as on the command line.") (synopsis "Plugin and hook calling mechanism for Python") (description "Pluggy is an extraction of the plugin manager as used by Pytest but stripped of Pytest specific details.") - (home-page "https://pypi.python.org/pypi/pluggy") + (home-page "https://pypi.org/project/pluggy/") (properties `((python2-variant . ,(delay python2-pluggy)))) (license license:expat))) @@ -9484,7 +9491,7 @@ parsing and generating vCard and vCalendar files. Currently, iCalendar files are supported and well tested. vCard 3.0 files are supported, and all data should be imported, but only a few components are understood in a sophisticated way.") - (home-page "http://eventable.github.io/vobject/") + (home-page "https://eventable.github.io/vobject/") (license license:asl2.0))) (define-public python2-vobject @@ -9503,7 +9510,7 @@ way.") (build-system python-build-system) (arguments '(#:tests? #f)) ; no test suite - (home-page "http://software.clapper.org/munkres/") + (home-page "https://software.clapper.org/munkres/") (synopsis "Implementation of the Munkres algorithm") (description "The Munkres module provides an implementation of the Munkres algorithm (also called the Hungarian algorithm or the Kuhn-Munkres algorithm), @@ -9599,7 +9606,7 @@ anymore.") (propagated-inputs `(("python2-scandir" ,python2-scandir) ("python2-six" ,python2-six))) - (home-page "https://pypi.python.org/pypi/pathlib2/") + (home-page "https://pypi.org/project/pathlib2/") (synopsis "Object-oriented file system paths - backport of standard pathlib module") (description "The goal of pathlib2 is to provide a backport of standard @@ -11257,40 +11264,39 @@ binary or text.") ,@(package-propagated-inputs base)))))) (define-public python-binwalk - (let ((commit "64201acfb5b0a9cdd9faa58c40a36dcff8612e29") - (revision "0")) - (package - (name "python-binwalk") - (version (git-version "2.1.1" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ReFirmLabs/binwalk") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1z7ca6rfp887hw5jc3sb45mm4fa0xid4lsp2z8g4r590dr7k7w15")))) - (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'check 'set-pythonpath - (lambda _ - (setenv "PYTHONPATH" - (string-append - (getcwd) "/src/" - ":" (getenv "PYTHONPATH"))) - (setenv "HOME" "") - #t))))) - (native-inputs - `(("python-coverage" ,python-coverage) - ("python-nose" ,python-nose))) - (home-page "https://github.com/ReFirmLabs/binwalk") - (synopsis "Firmware analysis tool") - (description "Binwalk is a tool for analyzing, reverse engineering, and extracting firmware images") - (license license:expat)))) + (package + (name "python-binwalk") + (version "2.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ReFirmLabs/binwalk") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1bxgj569fzwv6jhcbl864nmlsi9x1k1r20aywjxc8b9b1zgqrlvc")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'set-pythonpath + (lambda _ + (setenv "PYTHONPATH" + (string-append + (getcwd) "/src/" + ":" (getenv "PYTHONPATH"))) + (setenv "HOME" "") + #t))))) + (native-inputs + `(("python-coverage" ,python-coverage) + ("python-nose" ,python-nose))) + (home-page "https://github.com/ReFirmLabs/binwalk") + (synopsis "Firmware analysis tool") + (description "Binwalk is a tool for analyzing, reverse engineering, and +extracting firmware images") + (license license:expat))) (define-public python-nltk (package @@ -11618,7 +11624,7 @@ from Facebook.") ("python-six" ,python-six))) (arguments `(#:tests? #f)) ; no tests/ in the PyPI tarball - (home-page "http://graphene-python.org/") + (home-page "https://graphene-python.org/") (synopsis "GraphQL Framework for Python") (description "Graphene is a Python library for building GraphQL schemas/types. @@ -12393,7 +12399,7 @@ projects.") (define-public python-invoke (package (name "python-invoke") - (home-page "http://www.pyinvoke.org/") + (home-page "https://www.pyinvoke.org/") (version "1.3.0") (source (origin (method url-fetch) @@ -13300,14 +13306,14 @@ for more filetypes can be easily added by creating plugins for them.") (define-public python-radon (package (name "python-radon") - (version "2.2.0") + (version "4.1.0") (source (origin (method url-fetch) (uri (pypi-uri "radon" version)) (sha256 (base32 - "07gq5hq4nrffxnlnksws9hrx7fd001gam63j62i82gyfr23gvdym")))) + "0vfxxzbnz5lxfvp0yxp35g6c8qqnnbhi4dm7shkm1d3d4192q22n")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -13580,7 +13586,7 @@ which adds support for zone identifiers to IPv6 addresses.") (base32 "192pclzs2y0yaywqkrlvd0x73740q310kvqvm6jldhi619mq59wi")))) (build-system python-build-system) - (home-page "https://pypi.python.org/pypi/rfc3987") + (home-page "https://pypi.org/project/rfc3987/") (synopsis "Parsing and validation of URIs (RFC 3986) and IRIs (RFC 3987)") (description "@code{rfc3987} provides routines for parsing and validation of URIs (see RFC 3986) and IRIs (see RFC 3987).") @@ -13839,27 +13845,33 @@ many of the popular cloud service providers using a unified API.") (define-public python2-apache-libcloud (package-with-python2 python-apache-libcloud)) -(define-public python-smmap2 +(define-public python-smmap (package - (name "python-smmap2") - (version "2.0.5") + (name "python-smmap") + (version "3.0.1") (source (origin (method url-fetch) - (uri (pypi-uri "smmap2" version)) + (uri (pypi-uri "smmap" version)) (sha256 - (base32 "16k03pcnxd3lgzwgbd7nl4jwzm1wmahirvd09kljnzvy96hgza99")))) + (base32 "0ijlnv60y8f41py1wnn5n1a1i81cxd9dfpdhr0k3cgkrcbz8850p")))) (build-system python-build-system) (native-inputs `(("python-nosexcover" ,python-nosexcover))) (home-page "https://github.com/Byron/smmap") (synopsis "Python sliding window memory map manager") - (description "@code{smmap2} is a pure Python implementation of a sliding + (description "@code{smmap} is a pure Python implementation of a sliding window memory map manager.") (license license:bsd-3))) +(define-public python-smmap2 + (deprecated-package "python-smmap2" python-smmap)) + +(define-public python2-smmap + (package-with-python2 python-smmap)) + (define-public python2-smmap2 - (package-with-python2 python-smmap2)) + (deprecated-package "python2-smmap2" python2-smmap)) (define-public python-regex (package @@ -13962,14 +13974,14 @@ pure Python module.") (define-public python-xenon (package (name "python-xenon") - (version "0.5.4") + (version "0.7.0") (source (origin (method url-fetch) (uri (pypi-uri "xenon" version)) (sha256 (base32 - "029cbhysg2vr5n4jz8gpg2793f8wkwnqpr1qgv6c1dn685vy31mc")))) + "0nv207ql2wmh9q62503np056c4vf1c1hlsi5cvv5p5kx574k6r2y")))) (build-system python-build-system) (native-inputs `(("python-pyyaml" ,python-pyyaml) @@ -13978,7 +13990,8 @@ pure Python module.") ("python-flake8" ,python-flake8) ("python-tox" ,python-tox))) (arguments - `(#:phases + `(#:tests? #f ;test suite not shipped with the PyPI archive + #:phases (modify-phases %standard-phases (add-before 'build 'patch-test-requirements (lambda _ @@ -14467,7 +14480,7 @@ particularly convenient for use in tests.") ("python-nose" ,python-nose))) (propagated-inputs `(("python-h5py" ,python-h5py))) - (home-page "http://www.activepapers.org/") + (home-page "https://www.activepapers.org/") (synopsis "Executable papers for scientific computing") (description "ActivePapers is a tool for working with executable papers, which @@ -15420,7 +15433,7 @@ Glob2 currently based on the glob code from Python 3.3.1.") `(("unzip" ,unzip))) (propagated-inputs `(("python-gevent" ,python-gevent))) - (home-page "http://gehrcke.de/gipc") + (home-page "https://gehrcke.de/gipc/") (synopsis "Child process management in the context of gevent") (description "Usage of Python's multiprocessing package in a gevent-powered application may raise problems. With @code{gipc}, @@ -16466,14 +16479,14 @@ class in a @acronym{DRY, Don't Repeat Yourself} way.") (define-public python-construct (package (name "python-construct") - (version "2.9.45") + (version "2.10.56") (source (origin (method url-fetch) (uri (pypi-uri "construct" version)) (sha256 (base32 - "130iy05awzigm2xah2yvlmb08mac5bi4gzr5m3g7k1krs3ps0w92")))) + "0q86jjzsvy835h3c8pjj4619vbp7ihfg8njmyw86ym4qrpni7flp")))) (build-system python-build-system) (arguments `(#:tests? #f)) ; No tests exist. @@ -16482,7 +16495,7 @@ class in a @acronym{DRY, Don't Repeat Yourself} way.") ("python-arrow" ,python-arrow) ("python-numpy" ,python-numpy) ("python-ruamel.yaml" ,python-ruamel.yaml))) - (home-page "http://construct.readthedocs.io") + (home-page "https://construct.readthedocs.io") (synopsis "Declarative and symmetrical parser and builder for binary data") (description "This package provides both simple, atomic constructs (such as @@ -17576,6 +17589,25 @@ such as a file modification and trigger an action. This is similar to inotify, but portable.") (license license:asl2.0))) +(define-public python-wget + (package + (name "python-wget") + (version "3.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "wget" version ".zip")) + (sha256 + (base32 + "0qb0y7ipby42m4m7h0ipazpdyc3bn9xi46lvifcwwl5albn31rim")))) + (build-system python-build-system) + (native-inputs `(("unzip" ,unzip))) + (home-page "https://bitbucket.org/techtonik/python-wget/") + (synopsis "Pure Python download utility") + (description "The python-wget library provides an API to download files +with features similar to the @command{wget} utility.") + (license license:unlicense))) + (define-public offlate (package (name "offlate") @@ -17648,3 +17680,31 @@ extensive support of PNG features. It can also read and write Netpbm PAM files, with a focus on its use as an intermediate format for implementing custom PNG processing.") (license license:expat))) + +(define-public python-fuzzywuzzy + (package + (name "python-fuzzywuzzy") + (version "0.18.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "fuzzywuzzy" version)) + (sha256 + (base32 + "1s00zn75y2dkxgnbw8kl8dw4p1mc77cv78fwfa4yb0274s96w0a5")))) + (build-system python-build-system) + (native-inputs + `(("python-hypothesis" ,python-hypothesis) + ("python-pycodestyle" ,python-pycodestyle) + ("python-pytest" ,python-pytest))) + (propagated-inputs + `(("python-levenshtein" ,python-levenshtein))) + (home-page "https://github.com/seatgeek/fuzzywuzzy") + (synopsis "Fuzzy string matching in Python") + (description "Approximate string matching using +@emph{Levenshtein Distance} to calculate the differences between +sequences.") + (license license:gpl2))) + +(define-public python2-fuzzywuzzy + (package-with-python2 python-fuzzywuzzy)) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index ad99132400..d5fcf5d520 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -598,6 +598,19 @@ developers using C++ or QML, a CSS & JavaScript like language.") developers using C++ or QML, a CSS & JavaScript like language.") (license (list license:lgpl2.1 license:lgpl3)))) +;; This variant fixes a problem with the CMake macros shipped by qtbase. See +;; discussion at <https://lists.gnu.org/archive/html/guix-devel/2020-02/msg00308.html>. +(define-public qtbase-patched + (let ((src (package-source qtbase))) + (hidden-package + (package + (inherit qtbase) + (source + (origin + (inherit src) + (patches + (append (search-patches "qtbase-QTBUG-81715.patch") + (origin-patches src))))))))) ;; qt used to refer to the monolithic Qt 5.x package (define-deprecated qt qtbase) diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index c69e9cb892..96965530d3 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015, 2016, 2018 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu> ;;; ;;; This file is part of GNU Guix. @@ -265,14 +265,14 @@ and triple stores.") (define-public serd (package (name "serd") - (version "0.30.0") + (version "0.30.2") (source (origin (method url-fetch) (uri (string-append "https://download.drobilla.net/serd-" version ".tar.bz2")) (sha256 (base32 - "1yyfyvc6kwagi5w43ljp1bbjdvdpmgpds74lmjxycm91bkx0xyvf")))) + "00kjjgs5a8r72khgpya14scvl3n58wqwl5927y14z03j25q04ccx")))) (build-system waf-build-system) (arguments `(#:tests? #f ; no check target diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm index ef0d5d854b..5654104bcf 100644 --- a/gnu/packages/regex.scm +++ b/gnu/packages/regex.scm @@ -30,7 +30,7 @@ (define-public re2 (package (name "re2") - (version "2020-01-01") + (version "2020-03-03") (home-page "https://github.com/google/re2") (source (origin (method git-fetch) @@ -38,7 +38,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0gcli7y2ax3karx7m1q1r9qm49danaxbgxslywjwmya5nmr7x3p4")))) + "0f1fncvg41dg9k06jiqbd7k51ljihk7rjb0kvxkbrlvgbzlpb860")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 018b75feeb..34fee29887 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -2557,7 +2557,7 @@ It allows writing tests, checking results and automated testing in Ruby.") "Markaby allows writing HTML packages in pure Ruby. This is similar to the functionality provided by @acronym{ERB, Embedded Ruby}, but without the mixture of HTML and additional ERB syntax.") - (home-page "http://markaby.github.io/") + (home-page "https://markaby.github.io/") (license license:expat))) (define-public ruby-maruku @@ -8781,7 +8781,7 @@ minimal effort.") and stability, @item Rack, a minimal interface between webservers and Ruby frameworks. @end itemize\n") - (home-page "http://code.macournoyer.com/thin/") + (home-page "https://github.com/macournoyer/thin") (license license:ruby))) (define-public ruby-skinny diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index ac50f9591a..72c982f23c 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -270,7 +270,7 @@ gitignore rules.") (define-public rust-cbindgen (package (name "rust-cbindgen") - (version "0.13.0") + (version "0.13.1") (source (origin (method url-fetch) @@ -278,7 +278,7 @@ gitignore rules.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "1kywaz62cglg8fv0p7mp1m946gwmrf62s8ffndd5zpf1mz21j472")))) + "0w70bnwwqyf9fr6z3rcs7m7ad791fmfmhxy828va0dkfwvamp59c")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm index 2cc50f7b6a..47bf9a9c88 100644 --- a/gnu/packages/sagemath.scm +++ b/gnu/packages/sagemath.scm @@ -331,7 +331,7 @@ coefficients of which are modular integers.") (define-public brial (package (name "brial") - (version "1.2.6") + (version "1.2.7") (source (origin (method git-fetch) @@ -340,7 +340,7 @@ coefficients of which are modular integers.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1mc1zjr3mxcx6bg0js5k9jx65japg7644b0aj1al75m4nwh2ygab")))) + (base32 "1s0wmbb42sq6a5kxgzsz5srphclmfa4cvxdx2h9kzp0da2zcp3cm")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 182e0250ad..d292d1eeea 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com> ;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com> +;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz> ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,7 +32,7 @@ #:use-module (gnu packages) #:use-module ((guix licenses) #:select (gpl2+ lgpl2.0+ lgpl2.1+ lgpl3+ asl2.0 bsd-3 - cc-by-sa4.0 non-copyleft)) + cc-by-sa4.0 non-copyleft expat)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) @@ -394,7 +395,7 @@ implementation techniques and as an expository tool.") (define-public racket (package (name "racket") - (version "7.3") + (version "7.6") (source (origin (method url-fetch) (uri (list (string-append "http://mirror.racket-lang.org/installers/" @@ -404,29 +405,22 @@ implementation techniques and as an expository tool.") version "/racket-" version "-src.tgz"))) (sha256 (base32 - "0h6072njhb87rkz4arijvahxgjzn8r14s4wns0ijvxm89bg136yl")) + "0yagy7qrnz96gwafnj3whh2vs54788k1ci3vkm100h68gsw638b8")) (patches (search-patches "racket-store-checksum-override.patch")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases - (add-before 'configure 'pre-configure + (add-before 'configure 'pre-configure-minimal (lambda* (#:key inputs #:allow-other-keys) ;; Patch dynamically loaded libraries with their absolute paths. - (let* ((library-path (search-path-as-string->list - (getenv "LIBRARY_PATH"))) - (find-so (lambda (soname) - (search-path - library-path - (format #f "~a.so" soname)))) - (patch-ffi-libs (lambda (file libs) - (for-each - (lambda (lib) - (substitute* file - (((format #f "\"~a\"" lib)) - (format #f "\"~a\"" (find-so lib))))) - libs)))) + (let* ((library-path (search-path-as-string->list + (getenv "LIBRARY_PATH"))) + (find-so (lambda (soname) + (search-path + library-path + (format #f "~a.so" soname))))) (substitute* "collects/db/private/sqlite3/ffi.rkt" (("ffi-lib sqlite-so") (format #f "ffi-lib \"~a\"" (find-so "libsqlite3")))) @@ -435,7 +429,25 @@ implementation techniques and as an expository tool.") (format #f "ffi-lib \"~a\"" (find-so "libssl")))) (substitute* "collects/openssl/libcrypto.rkt" (("ffi-lib libcrypto-so") - (format #f "ffi-lib \"~a\"" (find-so "libcrypto")))) + (format #f "ffi-lib \"~a\"" (find-so "libcrypto"))))) + (chdir "src") + #t)) + (add-before 'pre-configure-minimal 'pre-configure + (lambda* (#:key inputs #:allow-other-keys) + ;; Patch dynamically loaded libraries with their absolute paths. + (let* ((library-path (search-path-as-string->list + (getenv "LIBRARY_PATH"))) + (find-so (lambda (soname) + (search-path + library-path + (format #f "~a.so" soname)))) + (patch-ffi-libs (lambda (file libs) + (for-each + (lambda (lib) + (substitute* file + (((format #f "\"~a\"" lib)) + (format #f "\"~a\"" (find-so lib))))) + libs)))) (substitute* "share/pkgs/math-lib/math/private/bigfloat/gmp.rkt" (("ffi-lib libgmp-so") (format #f "ffi-lib \"~a\"" (find-so "libgmp")))) @@ -473,15 +485,14 @@ implementation techniques and as an expository tool.") ("libGL")) ("share/pkgs/sgl/gl.rkt" ("libGL" "libGLU"))))) - (chdir "src") #t)) (add-after 'unpack 'patch-/bin/sh (lambda _ (substitute* "collects/racket/system.rkt" (("/bin/sh") (which "sh"))) #t))) - #:tests? #f ; XXX: how to run them? - )) + ;; XXX: how to run them? + #:tests? #f)) (inputs `(("libffi" ,libffi) ;; Hardcode dynamically loaded libraries for better functionality. @@ -502,14 +513,53 @@ implementation techniques and as an expository tool.") ("sqlite" ,sqlite) ("unixodbc" ,unixodbc) ("libedit" ,libedit))) - (home-page "http://racket-lang.org") + (home-page "https://racket-lang.org") (synopsis "Implementation of Scheme and related languages") (description "Racket is an implementation of the Scheme programming language (R5RS and R6RS) and related languages, such as Typed Racket. It features a compiler and a virtual machine with just-in-time native compilation, as well as a large set of libraries.") - (license lgpl2.0+))) + ;; https://download.racket-lang.org/license.html + (license (list lgpl3+ asl2.0 expat)))) + +(define-public racket-minimal + (package + (inherit racket) + (name "racket-minimal") + (version (package-version racket)) + (source (origin + (method url-fetch) + (uri (list (string-append "http://mirror.racket-lang.org/installers/" + version "/racket-minimal-" version "-src.tgz") + (string-append + "http://mirror.informatik.uni-tuebingen.de/mirror/racket/" + version "/racket-minimal-" version "-src.tgz"))) + (sha256 + (base32 + "0id094q9024hj2n3907l7dblp3iix1v5289xzskmh5c26xfygp9y")) + (patches (search-patches + "racket-store-checksum-override.patch")))) + (synopsis "Racket without bundled packages such as Dr. Racket") + (arguments + (substitute-keyword-arguments (package-arguments racket) + ((#:phases phases) + `(modify-phases ,phases + ;; Delete fix that applies to files not included in the minimal package. + (delete 'pre-configure))))) + (inputs + `(("libffi" ,libffi) + ("openssl" ,openssl) + ("sqlite" ,sqlite))) + (description + "Racket is an implementation of the Scheme programming language (R5RS and +R6RS) and related languages, such as Typed Racket. It features a compiler and +a virtual machine with just-in-time native compilation, as well as a large set +of libraries. + +In this minimal package, the essential package racket-libs is included, as +well as libraries that live in collections. In particular, @command{raco} and +the @code{pkg} library are still bundled."))) (define-public gambit-c (package @@ -694,7 +744,7 @@ regular-expression notation.") (assoc-ref outputs "out")))))))) (native-inputs `(("unzip" ,unzip) ("texinfo" ,texinfo))) - (home-page "http://people.csail.mit.edu/jaffer/SLIB.html") + (home-page "https://people.csail.mit.edu/jaffer/SLIB.html") (synopsis "Compatibility and utility library for Scheme") (description "SLIB is a portable Scheme library providing compatibility and utility functions for all standard Scheme implementations.") diff --git a/gnu/packages/scsi.scm b/gnu/packages/scsi.scm index f8c5d5ef60..803f49931e 100644 --- a/gnu/packages/scsi.scm +++ b/gnu/packages/scsi.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,14 +27,14 @@ (define-public sg3-utils (package (name "sg3-utils") - (version "1.44") + (version "1.45") (source (origin (method url-fetch) (uri (string-append "http://sg.danny.cz/sg/p/sg3_utils-" version ".tar.xz")) (sha256 (base32 - "01avlgrbxlij8spish4i69ji1m49biz4mbayzzc2qx0hcl8ar56a")))) + "1vmjb17y33a73sv7jg8fzs6bhr7yh2k9sba81sjiyf1pvi3vbnn7")))) (build-system gnu-build-system) (home-page "http://sg.danny.cz/sg/sg3_utils.html") (synopsis "SCSI device utilities") diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm index 5410263d5b..e8a72fa935 100644 --- a/gnu/packages/search.scm +++ b/gnu/packages/search.scm @@ -49,14 +49,14 @@ (define-public xapian (package (name "xapian") - (version "1.4.14") + (version "1.4.15") ;; Note: When updating Xapian, remember to update xapian-bindings below. (source (origin (method url-fetch) (uri (string-append "https://oligarchy.co.uk/xapian/" version "/xapian-core-" version ".tar.xz")) (sha256 - (base32 "0ja95vn0lkf6qkjhg2blkx306i10hg4fr8wlrhalmly93307lnlp")))) + (base32 "1sjhz6vgql801rdgl6vrsjj0vy1mwlkcxjx6nr7h27m031cyjs5i")))) (build-system gnu-build-system) (inputs `(("zlib" ,zlib) ("util-linux" ,util-linux "lib"))) @@ -94,7 +94,7 @@ rich set of boolean query operators.") "/xapian-bindings-" version ".tar.xz")) (sha256 (base32 - "0qb17cw8n0g5gcg8dq5b3hs6i16w74rgxcryd0ja9n2h0rlda2an")))) + "0364nalvh13c7wzx52mz4gaf8wg1rm17lw75cs8a813rv091ci38")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-python3") diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 80ef90e111..791468c94f 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014, 2015 David Thompson <davet@gnu.org> ;;; Copyright © 2014 Kevin Lemonnier <lemonnierk@ulrar.net> ;;; Copyright © 2015 Jeff Mickey <j@codemac.net> -;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2018 ng0 <ng0@n0.is> @@ -102,7 +102,7 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).") (method url-fetch) (uri (string-append "https://github.com/fish-shell/fish-shell/" "releases/download/" version "/" - name "-" version ".tar.gz")) + "fish-" version ".tar.gz")) (sha256 (base32 "03j3jl9jzlnhq4p86zj8wqsh5sx45j1d1fvfa80ks1cfdg68qwhl")))) (build-system gnu-build-system) @@ -404,7 +404,7 @@ history mechanism, job control and a C-like syntax.") (define-public zsh (package (name "zsh") - (version "5.7.1") + (version "5.8") (source (origin (method url-fetch) (uri (list (string-append @@ -415,7 +415,7 @@ history mechanism, job control and a C-like syntax.") ".tar.xz"))) (sha256 (base32 - "1s3yww0mzgvpc48kp0x868mm3gbna42sbgzya0nknj0x5hn2jq3j")))) + "09yyaadq738zlrnlh1hd3ycj1mv3q5hh4xl1ank70mjnqm6bbi6w")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-tcsetpgrp" "--enable-pcre" "--enable-maildir-support") @@ -759,14 +759,14 @@ Shell (pdksh).") (define-public oil-shell (package (name "oil-shell") - (version "0.6.0") + (version "0.7.0") (source (origin (method url-fetch) (uri (string-append "https://www.oilshell.org/download/oil-" version ".tar.xz")) (sha256 (base32 - "1dw4mgnlmaxlfygasfihgvbj32d3m9w6k5j7azb9d9lp35f3l7hl")))) + "12c9s462879adb6mwd3fqafk0dnqsm16s18rhym6cmzfzy8v8zm3")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; the tests are not distributed in the tarballs diff --git a/gnu/packages/speech.scm b/gnu/packages/speech.scm index 21ad6f8928..5fdf2cdbd8 100644 --- a/gnu/packages/speech.scm +++ b/gnu/packages/speech.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 David Thompson <davet@gnu.org> -;;; Copyright © 2016, 2019 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2016, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> @@ -31,6 +31,7 @@ #:use-module (gnu packages) #:use-module (gnu packages audio) #:use-module (gnu packages autotools) + #:use-module (gnu packages base) ;for 'which' #:use-module (gnu packages compression) #:use-module (gnu packages emacs) #:use-module (gnu packages gcc) @@ -101,14 +102,18 @@ based on human speech recordings.") (define-public espeak-ng (package (name "espeak-ng") - (version "1.49.2") + (version "1.50") (home-page "https://github.com/espeak-ng/espeak-ng") + ;; Note: eSpeak NG publishes release tarballs, but the 1.50 tarball is + ;; broken: <https://github.com/espeak-ng/espeak-ng/issues/683>. + ;; Download the raw repository to work around it; remove 'native-inputs' + ;; below when switching back to the release tarball. (source (origin - (method url-fetch) - (uri (string-append home-page "/releases/download/" version - "/espeak-ng-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference (url home-page) (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "1d10x9rbvqi2zwcz65fxh04k0x0scnk7732l37laz6xra1ldhzng")))) + (base32 "0jkqhf2h94vbqq7mg7mmm23bq372fa7mdk941my18c3vkldcir1b")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-static") @@ -116,6 +121,11 @@ based on human speech recordings.") #:parallel-build? #f ;; XXX: Some tests require an audio device. #:tests? #f)) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("which" ,which))) (inputs `(("libcap" ,libcap) ("pcaudiolib" ,pcaudiolib))) diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm index 4e4abccb04..1940b36a33 100644 --- a/gnu/packages/sphinx.scm +++ b/gnu/packages/sphinx.scm @@ -93,7 +93,7 @@ ("python-mock" ,python-mock) ("python-nose" ,python-nose) ("python-pytest" ,python-pytest))) - (home-page "http://www.sphinx-doc.org") + (home-page "https://www.sphinx-doc.org") (synopsis "Python documentation generator") (description "Sphinx is a tool that makes it easy to create documentation for Python projects or other documents consisting of multiple reStructuredText diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 2efc6ed7a5..4d062bbb18 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -90,7 +90,8 @@ ;; TODO: Add 'CMockery' and '-DWITH_TESTING=ON' for the test suite. #:tests? #f)) (inputs `(("zlib" ,zlib) - ("libgcrypt" ,libgcrypt))) + ("libgcrypt" ,libgcrypt) + ("mit-krb5" ,mit-krb5))) (synopsis "SSH client library") (description "libssh is a C library implementing the SSHv2 and SSHv1 protocol for client @@ -130,14 +131,14 @@ a server that supports the SSH-2 protocol.") (define-public openssh (package (name "openssh") - (version "8.0p1") + (version "8.2p1") (source (origin (method url-fetch) (uri (string-append "mirror://openbsd/OpenSSH/portable/" - name "-" version ".tar.gz")) + "openssh-" version ".tar.gz")) (sha256 (base32 - "0s7xh4s0qcipnjh9ls5blxcpvhyd116z9dxn3q1yi64lwrwki55x")))) + "0wg6ckzvvklbzznijxkk28fb8dnwyjd0w30ra0afwv6gwr8m34j3")))) (build-system gnu-build-system) (native-inputs `(("groff" ,groff) ("pkg-config" ,pkg-config))) @@ -146,7 +147,7 @@ a server that supports the SSH-2 protocol.") ("pam" ,linux-pam) ("mit-krb5" ,mit-krb5) ("zlib" ,zlib) - ("xauth" ,xauth))) ;for 'ssh -X' and 'ssh -Y' + ("xauth" ,xauth))) ; for 'ssh -X' and 'ssh -Y' (arguments `(#:test-target "tests" ;; Otherwise, the test scripts try to use a nonexistent directory and @@ -157,12 +158,12 @@ a server that supports the SSH-2 protocol.") ;; Default value of 'PATH' used by sshd. "--with-default-path=/run/current-system/profile/bin" - ;; configure needs to find krb5-config + ;; configure needs to find krb5-config. ,(string-append "--with-kerberos5=" (assoc-ref %build-inputs "mit-krb5") "/bin") - ;; libedit needed for sftp completion + ;; libedit is needed for sftp completion. "--with-libedit" ;; Enable PAM support in sshd. @@ -187,14 +188,18 @@ a server that supports the SSH-2 protocol.") #t))) (add-before 'check 'patch-tests (lambda _ - ;; remove 't-exec' regress target which requires user 'sshd' - (substitute* "regress/Makefile" - (("^(REGRESS_TARGETS=.*) t-exec(.*)" all pre post) + (substitute* "regress/test-exec.sh" + (("/bin/sh") (which "sh"))) + + ;; Remove 't-exec' regress target which requires user 'sshd'. + (substitute* (list "Makefile" + "regress/Makefile") + (("^(tests:.*) t-exec(.*)" all pre post) (string-append pre post))) #t)) (replace 'install (lambda* (#:key outputs (make-flags '()) #:allow-other-keys) - ;; install without host keys and system configuration files + ;; Install without host keys and system configuration files. (apply invoke "make" "install-nosysconf" make-flags) (install-file "contrib/ssh-copy-id" (string-append (assoc-ref outputs "out") @@ -749,23 +754,24 @@ of existing remote shell facilities such as SSH.") (define-public endlessh (package (name "endlessh") - (version "1.0") + (version "1.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/skeeto/endlessh/releases/" - "download/" version "/endlessh-" version ".tar.xz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/skeeto/endlessh.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0hhsr65hzrcb7ylskmxyr92svzndhks8hqzn8hvg7f7j89rkvq5k")))) + (base32 "0ziwr8j1frsp3dajr8h5glkm1dn5cci404kazz5w1jfrp0736x68")))) (build-system gnu-build-system) (arguments '(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) "CC=gcc") - #:tests? #f ; no test target + #:tests? #f ; no test target #:phases (modify-phases %standard-phases - (delete 'configure)))) ; no configure script + (delete 'configure)))) ; no configure script (home-page "https://github.com/skeeto/endlessh") (synopsis "SSH tarpit that slowly sends an endless banner") (description diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index c4b1f525e3..0fc6a912ca 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -183,7 +183,7 @@ This package also provides @command{xls2csv} to export Excel files to CSV.") (define r-with-tests (package (name "r-with-tests") - (version "3.6.2") + (version "3.6.3") (source (origin (method url-fetch) (uri (string-append "mirror://cran/src/base/R-" @@ -191,7 +191,7 @@ This package also provides @command{xls2csv} to export Excel files to CSV.") version ".tar.gz")) (sha256 (base32 - "0m69pfi0nxyriyb2yz74xfzaxwfkinnf9kpvf1rz727vvmfa8rdx")))) + "13xaxwfbzj0bd6rn2n27z0n04lb93mcyq991w4vdbbg8v282jc49")))) (build-system gnu-build-system) (arguments `(#:disallowed-references (,tzdata-for-tests) @@ -504,14 +504,14 @@ code for possible problems.") (define-public r-foreign (package (name "r-foreign") - (version "0.8-75") + (version "0.8-76") (source (origin (method url-fetch) (uri (cran-uri "foreign" version)) (sha256 (base32 - "0g4mi101srjbl17ydb2hl3854m3xj0llj6861lfr30sp08nkqavl")))) + "1z6x2x1z12wnv0z4p74d91r5wfaq30sdz4ynwx0lncz1q45mhbh5")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/foreign") (synopsis "Read data stored by other statistics software") @@ -548,13 +548,13 @@ estimation) corresponding to the book: Wand, M.P. and Jones, M.C. (1995) (define-public r-lattice (package (name "r-lattice") - (version "0.20-38") + (version "0.20-40") (source (origin (method url-fetch) (uri (cran-uri "lattice" version)) (sha256 (base32 - "0b8abkz7syscq883mrgv63pkwaqkcpwfx8rgbqy9vgfva0z5xszx")))) + "1w53sfzdy9zsifv44dqf9pl46fk14lnx3fha1k1p660h51lyv56m")))) (build-system r-build-system) (home-page "http://lattice.r-forge.r-project.org/") (synopsis "High-level data visualization system") @@ -590,13 +590,13 @@ and operations on them using LAPACK and SuiteSparse.") (define-public r-nlme (package (name "r-nlme") - (version "3.1-143") + (version "3.1-145") (source (origin (method url-fetch) (uri (cran-uri "nlme" version)) (sha256 - (base32 "13iixbs2ibldc75rl7rav5n5kx33zwm33xnfw1yvlkpcqf38bd22")))) + (base32 "1i9a3afdmn2ziks0imz0j09ay9n0zb9mhrymy9mg97vvlz5diwrh")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice))) @@ -635,14 +635,14 @@ distributions beyond the exponential family.") (define-public r-nnet (package (name "r-nnet") - (version "7.3-12") + (version "7.3-13") (source (origin (method url-fetch) (uri (cran-uri "nnet" version)) (sha256 (base32 - "17amqnw9dpap2w8ivx53hxha2xrm0drwfnj32li0xk41hlz548r7")))) + "1z0rj5cm4ycw1y0gd5wwwg8c2298v90iybgqdqh17967jbi2125f")))) (build-system r-build-system) (home-page "http://www.stats.ox.ac.uk/pub/MASS4/") (synopsis "Feed-forward neural networks and multinomial log-linear models") @@ -739,14 +739,14 @@ curves, Cox models, and parametric accelerated failure time models.") (define-public r-bit (package (name "r-bit") - (version "1.1-15.1") + (version "1.1-15.2") (source (origin (method url-fetch) (uri (cran-uri "bit" version)) (sha256 (base32 - "0y351ajlrn9ywbiai46mjpwmw5pqc9ik2z24rf0bnbdcvaxdr7r8")))) + "12xjkkkmflkz8s435by4r23b57cz7z67z84907f6qg99hn1yg0qb")))) (build-system r-build-system) (home-page "http://ff.r-forge.r-project.org") (synopsis "Class for vectors of 1-bit booleans") @@ -804,13 +804,13 @@ effects of different types of color-blindness.") (define-public r-digest (package (name "r-digest") - (version "0.6.23") + (version "0.6.25") (source (origin (method url-fetch) (uri (cran-uri "digest" version)) (sha256 - (base32 "18h5s8vkdcz2vhpsx6g3ig00zalrihr03skn95zw3lr2y56pafmp")))) + (base32 "1r9dkq0kxkps54gkmgcdngsd068p054va2vhnqhs5jmwp2vsvk0m")))) (build-system r-build-system) ;; Vignettes require r-knitr, which requires r-digest, so we have to ;; disable them and the tests. @@ -933,13 +933,13 @@ in which the whole-plots or split-plots or both can be freely exchangeable.") (define-public r-plyr (package (name "r-plyr") - (version "1.8.5") + (version "1.8.6") (source (origin (method url-fetch) (uri (cran-uri "plyr" version)) (sha256 - (base32 "0x4mbb3rgv1ayxqidw0p9i10khbg51fz5r62vw4il8d7licqq07a")))) + (base32 "11sjjdn146w95s1vsfmmgdls082cbnm1slv98xvyjhsl2mpx4mga")))) (build-system r-build-system) (propagated-inputs `(("r-rcpp" ,r-rcpp))) (home-page "http://had.co.nz/plyr") @@ -1015,14 +1015,14 @@ solution for sending email, including attachments, from within R.") (define-public r-stringi (package (name "r-stringi") - (version "1.4.5") + (version "1.4.6") (source (origin (method url-fetch) (uri (cran-uri "stringi" version)) (sha256 (base32 - "0gdmdf4i3ik8rcs7af1vlsfnilcmw3z28jx4278rpq2asigps89k")))) + "1mkgxzf000zdgbbbvg2vf4md4l501n5lfksffq8vdg6pbgd6fgv3")))) (build-system r-build-system) (inputs `(("icu4c" ,icu4c))) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1177,14 +1177,14 @@ and to generate base64 encoded string from raster matrix.") (define-public r-svglite (package (name "r-svglite") - (version "1.2.2") + (version "1.2.3") (source (origin (method url-fetch) (uri (cran-uri "svglite" version)) (sha256 (base32 - "1gwv51wqp6pgm2f9gavsiq65njs77fr49n8y6y9ax60k3a4vvg14")))) + "1zivykbi1pxdxhrkc1if1ihdn5p27j0nai2q0abca1dwry3wg2yl")))) (build-system r-build-system) (propagated-inputs `(("r-bh" ,r-bh) @@ -1337,13 +1337,13 @@ supported via Andre Simon's highlight package.") (define-public r-mime (package (name "r-mime") - (version "0.8") + (version "0.9") (source (origin (method url-fetch) (uri (cran-uri "mime" version)) (sha256 (base32 - "18w98prfbivvygiyamsf9yg090kzbnvw2fn9b27823gmis4d08ny")))) + "107sqarmyhxlch5nrg796i5z03p9mshskisiq2fm628ajk99gkrc")))) (build-system r-build-system) (home-page "https://github.com/yihui/mime") (synopsis "R package to map filenames to MIME types") @@ -1382,13 +1382,13 @@ syntax that can be converted to XHTML or other formats.") (define-public r-yaml (package (name "r-yaml") - (version "2.2.0") + (version "2.2.1") (source (origin (method url-fetch) (uri (cran-uri "yaml" version)) (sha256 (base32 - "0in562nd0i23cg91a8kdbqgim656fgscykwi0icsnq53xj3srg2m")))) + "10r7g26x73am45niigm3k466030nymnr3v3fjljafzrr5aybf58i")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/yaml/") (synopsis "Methods to convert R data to YAML and back") @@ -1400,13 +1400,13 @@ emitter (http://pyyaml.org/wiki/LibYAML) for R.") (define-public r-knitr (package (name "r-knitr") - (version "1.27") + (version "1.28") (source (origin (method url-fetch) (uri (cran-uri "knitr" version)) (sha256 (base32 - "02nysgnx6xv0kd351s1d59yx4g0drsd9lmcgxs0rsw5f1jiycgdg")))) + "0ai382fmpz25qrhdgchs3vph2cdvyd73xyryg4jby5fp67d03vh5")))) (build-system r-build-system) (propagated-inputs `(("r-evaluate" ,r-evaluate) @@ -1555,13 +1555,13 @@ R packages that praise their users.") (define-public r-testthat (package (name "r-testthat") - (version "2.3.1") + (version "2.3.2") (source (origin (method url-fetch) (uri (cran-uri "testthat" version)) (sha256 (base32 - "0m8xchdpgn9iwj6gb2qw46zr85v9zf1gkbr9nnahmy5sp1s9bbky")))) + "0v70v2fs0f2ir962z9csbjlj8snrq9mbjfyhhb9dhz3zy26qs9hs")))) (build-system r-build-system) (propagated-inputs `(("r-cli" ,r-cli) @@ -1607,13 +1607,13 @@ defined in different packages.") (define-public r-rlang (package (name "r-rlang") - (version "0.4.3") + (version "0.4.5") (source (origin (method url-fetch) (uri (cran-uri "rlang" version)) (sha256 (base32 - "0qsqfikbsj55x5brghnkzzp7pz0japr4xnzm993f668mlls3f6i4")))) + "1a0h3dr519p3jj6aygbhwi9f2zwlan6d07f1gkh2db56y5vaq7yd")))) (build-system r-build-system) (home-page "http://rlang.tidyverse.org") (synopsis "Functions for base types, core R and Tidyverse features") @@ -1651,17 +1651,18 @@ and printing capabilities than traditional data frames.") (define-public r-dplyr (package (name "r-dplyr") - (version "0.8.3") + (version "0.8.4") (source (origin (method url-fetch) (uri (cran-uri "dplyr" version)) (sha256 (base32 - "032c89wa04g9rih9shyvwl3il0bsrv3xk489x6867sk9bb3amd38")))) + "1nd0mmvqjbzbknawa520f64p9zlj9lwdlq0hh7c1mciyy7ah6641")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) ("r-bh" ,r-bh) + ("r-ellipsis" ,r-ellipsis) ("r-glue" ,r-glue) ("r-magrittr" ,r-magrittr) ("r-pkgconfig" ,r-pkgconfig) @@ -1781,13 +1782,13 @@ and density estimation.") (define-public r-chron (package (name "r-chron") - (version "2.3-54") + (version "2.3-55") (source (origin (method url-fetch) (uri (cran-uri "chron" version)) (sha256 (base32 - "0vc7dxqwx0jqzwszax6di3091npsxnhnbvr7sy7rlip0jqzarwqd")))) + "09gbs7c1ynlg0kl1m6nkbn75ysk16g13r17snnaws64qwywiywqg")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/chron") (synopsis "Chronological R objects which can handle dates and times") @@ -1958,17 +1959,19 @@ chain.") (define-public r-ade4 (package (name "r-ade4") - (version "1.7-13") + (version "1.7-15") (source (origin (method url-fetch) (uri (cran-uri "ade4" version)) (sha256 (base32 - "16z9jk4qj35ghsk4lwmq241dgc770y8a70dlmp9q4gz6d8ssgl7m")))) + "1xpxznlqm8wb4d5z2dcrl0wi3jjciq2hr5rcx2b5aaipiiyzm1ij")))) (build-system r-build-system) (propagated-inputs - `(("r-mass" ,r-mass))) + `(("r-mass" ,r-mass) + ("r-pixmap" ,r-pixmap) + ("r-sp" ,r-sp))) (home-page "http://pbil.univ-lyon1.fr/ADE-4") (synopsis "Multivariate data analysis and graphical display") (description @@ -2094,14 +2097,14 @@ R version.") (define-public r-checkmate (package (name "r-checkmate") - (version "1.9.4") + (version "2.0.0") (source (origin (method url-fetch) (uri (cran-uri "checkmate" version)) (sha256 (base32 - "08ddpgs4mv5d5y4j054pm8drmxkn7yvhfpbghwxlizjpnxa5g8ps")))) + "193gkifr9spp0x0rwnjq1spdhjkfkh4mv27iklskcj604075phhd")))) (build-system r-build-system) (propagated-inputs `(("r-backports" ,r-backports))) @@ -2375,13 +2378,13 @@ pure C implementation of the Git core methods.") (define-public r-rstudioapi (package (name "r-rstudioapi") - (version "0.10") + (version "0.11") (source (origin (method url-fetch) (uri (cran-uri "rstudioapi" version)) (sha256 (base32 - "15mbw607ncdf53mgga76n3va5zzdcjqz14nb0jcn9axwccqamic0")))) + "0srh0m4mw4k6s7spwb84l4cx4xnn04cp5cjxi0fwza7bwavpzq0k")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/rstudioapi") (synopsis "Safely access the RStudio API") @@ -2393,13 +2396,13 @@ informative error messages when it's not available.") (define-public r-devtools (package (name "r-devtools") - (version "2.2.1") + (version "2.2.2") (source (origin (method url-fetch) (uri (cran-uri "devtools" version)) (sha256 (base32 - "0i2f549hxkn0j1x1avkhwy68c9r48v9284j7x9cak2q6dfsqz61f")))) + "1bhb2j8ilpdzwd0c678mcgfpdw88vncsjma79afcikxmzcsz9279")))) (build-system r-build-system) (propagated-inputs `(("r-callr" ,r-callr) @@ -2565,13 +2568,13 @@ well as additional utilities such as panel and axis annotation functions.") (define-public r-rcpparmadillo (package (name "r-rcpparmadillo") - (version "0.9.800.4.0") + (version "0.9.850.1.0") (source (origin (method url-fetch) (uri (cran-uri "RcppArmadillo" version)) (sha256 (base32 - "1csh54v4d0ccwmk4bqj4rca1d5rqpafvb4459x3q6k9sys0charx")))) + "0q9clhmbwwph47hrhx5827m7njrcl2klihyqbkf0ihwlbqrjijwz")))) (properties `((upstream-name . "RcppArmadillo"))) (build-system r-build-system) ;; All needed for vignettes @@ -3056,14 +3059,14 @@ data.") (define-public r-foreach (package (name "r-foreach") - (version "1.4.7") + (version "1.4.8") (source (origin (method url-fetch) (uri (cran-uri "foreach" version)) (sha256 (base32 - "0q7iyniw5iri4hl57bhil3r69s5wnaijzn0q0x4h3z42245jqqwm")))) + "1xwf5l2fw62w80ji3dvgcc6m9m4s6zygkhi84ypb0gv0ppjffg5c")))) (build-system r-build-system) (propagated-inputs `(("r-codetools" ,r-codetools) @@ -3130,13 +3133,13 @@ using the multicore functionality of the parallel package.") (define-public r-dt (package (name "r-dt") - (version "0.11") + (version "0.12") (source (origin (method url-fetch) (uri (cran-uri "DT" version)) (sha256 (base32 - "09k9s07aah1apc308sj1abvr27mky6fkpl9j6lxl2x55n4immvkg")))) + "0089288ma1cj9nf4jscmpbagyqlg4r90mw8bwl4zv1d4hjl0d693")))) (properties `((upstream-name . "DT"))) (build-system r-build-system) @@ -3420,56 +3423,16 @@ memory-mapped files.") ;; Users can choose either LGPLv3 or ASL2.0. (license (list license:lgpl3 license:asl2.0)))) -(define-public r-nmf - (package - (name "r-nmf") - (version "0.21.0") - (source - (origin - (method url-fetch) - (uri (cran-uri "NMF" version)) - (sha256 - (base32 - "1qq25n3k5sgh3srlshb3ic6q92s12c1ilqf5cd5anvq6cqfchc1v")))) - (properties `((upstream-name . "NMF"))) - (build-system r-build-system) - (propagated-inputs - `(("r-cluster" ,r-cluster) - ("r-bigmemory" ,r-bigmemory) ; suggested - ("r-synchronicity" ,r-synchronicity) ; suggested - ("r-colorspace" ,r-colorspace) - ("r-digest" ,r-digest) - ("r-doparallel" ,r-doparallel) - ("r-foreach" ,r-foreach) - ("r-ggplot2" ,r-ggplot2) - ("r-gridbase" ,r-gridbase) - ("r-pkgmaker" ,r-pkgmaker) - ("r-rcolorbrewer" ,r-rcolorbrewer) - ("r-registry" ,r-registry) - ("r-reshape2" ,r-reshape2) - ("r-rngtools" ,r-rngtools) - ("r-stringr" ,r-stringr))) - (home-page "http://renozao.github.io/NMF") - (synopsis "Algorithms and framework for nonnegative matrix factorization") - (description - "This package provides a framework to perform Non-negative Matrix -Factorization (NMF). The package implements a set of already published -algorithms and seeding methods, and provides a framework to test, develop and -plug new or custom algorithms. Most of the built-in algorithms have been -optimized in C++, and the main interface function provides an easy way of -performing parallel computations on multicore machines.") - (license license:gpl2+))) - (define-public r-r-methodss3 (package (name "r-r-methodss3") - (version "1.7.1") + (version "1.8.0") (source (origin (method url-fetch) (uri (cran-uri "R.methodsS3" version)) (sha256 (base32 - "11z6v2i7jl647wxi9p5z66yvfnnqv6s7fxqmz7w2gkb6j8wl1f24")))) + "19c5870v7b59fs6xk58bh3rfkmhfralmgsax86zzpdmz47pga1g0")))) (properties `((upstream-name . "R.methodsS3"))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/R.methodsS3") @@ -3590,13 +3553,13 @@ vignettes.") (define-public r-mvtnorm (package (name "r-mvtnorm") - (version "1.0-12") + (version "1.1-0") (source (origin (method url-fetch) (uri (cran-uri "mvtnorm" version)) (sha256 (base32 - "03rfmii9j8x8fjv7hp8qd28z0svl4w0x54k2f4jpwv4qa7079i24")))) + "0pfb6qk4yb6xaya8i1wvx6dnc3jj4s2g94sq2kzv4p8zn4pf24l1")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) @@ -3686,20 +3649,21 @@ more complete @code{viridis} package.") (define-public r-tidyselect (package (name "r-tidyselect") - (version "0.2.5") + (version "1.0.0") (source (origin (method url-fetch) (uri (cran-uri "tidyselect" version)) (sha256 (base32 - "0x3cp36byhfjajikr1lwffjm85ayw3bcs7d7kb0cydgs61ifiqjw")))) + "1bwwsljkg1bxh7xnqxv7n0n1s9y8x407i6lsv826vy1ss1k1fxpy")))) (build-system r-build-system) (propagated-inputs - `(("r-glue" ,r-glue) + `(("r-ellipsis" ,r-ellipsis) + ("r-glue" ,r-glue) ("r-purrr" ,r-purrr) - ("r-rcpp" ,r-rcpp) - ("r-rlang" ,r-rlang))) + ("r-rlang" ,r-rlang) + ("r-vctrs" ,r-vctrs))) (home-page "https://cran.r-project.org/web/packages/tidyselect") (synopsis "Select from a set of strings") (description @@ -3748,19 +3712,20 @@ and tidyr provides no margins or aggregation.") (define-public r-hexbin (package (name "r-hexbin") - (version "1.28.0") + (version "1.28.1") (source (origin (method url-fetch) (uri (cran-uri "hexbin" version)) (sha256 (base32 - "0b58jb1kz39wzrnkv077cfzns889xly7psvhxnm3xmnx6yvd986d")))) + "1ry6jm3lqz3mj0s5rzbs6mpkz2hxpnvbw8c1vwc4pj7b173r5l22")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice))) (native-inputs - `(("gfortran" ,gfortran))) + `(("gfortran" ,gfortran) + ("r-knitr" ,r-knitr))) ; for vignettes (home-page "https://github.com/edzer/hexbin") (synopsis "Hexagonal binning routines") (description @@ -3793,13 +3758,13 @@ features present in other programming languages.") (define-public r-plotly (package (name "r-plotly") - (version "4.9.1") + (version "4.9.2") (source (origin (method url-fetch) (uri (cran-uri "plotly" version)) (sha256 (base32 - "0gadam4qw81q9gpjp7sqrpd7ikmcdsc78d8vjn39g0xzs5j8r845")))) + "19zw3qnhfgqdxlvma8xyikir46aiqhfcwxf072z9xgq0hknpblm5")))) (build-system r-build-system) (propagated-inputs `(("r-base64enc" ,r-base64enc) @@ -3996,13 +3961,13 @@ package instead.") (define-public r-hmisc (package (name "r-hmisc") - (version "4.3-0") + (version "4.3-1") (source (origin (method url-fetch) (uri (cran-uri "Hmisc" version)) (sha256 - (base32 "0rb1m6138lqzb46nss9ggvhghipd10vdnwsy6iq2wzynrynzkwkz")))) + (base32 "02ni7719acdmc8pcbx07b7x2nqsjrwq4smnx9qlzqjmx4pmp3cwc")))) (properties `((upstream-name . "Hmisc"))) (build-system r-build-system) (native-inputs @@ -4125,14 +4090,14 @@ existing packages provide.") (define-public r-sfsmisc (package (name "r-sfsmisc") - (version "1.1-4") + (version "1.1-5") (source (origin (method url-fetch) (uri (cran-uri "sfsmisc" version)) (sha256 (base32 - "0zaw617zarmwir8l60riky0z6r1j3mwfnm1f32vqcbljb74akdj4")))) + "173qgm2bn84x544fc3x9gc2rv995sbsvji9lnn2drx8drvzyy8lf")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/sfsmisc") (synopsis "Utilities from \"Seminar fuer Statistik\" ETH Zurich") @@ -4214,14 +4179,14 @@ including: (define-public r-gplots (package (name "r-gplots") - (version "3.0.1.2") + (version "3.0.3") (source (origin (method url-fetch) (uri (cran-uri "gplots" version)) (sha256 (base32 - "0vrm7wqrmqsmfrc070r9chpzb0vv60pay2lyar9qxfry6bsrvx86")))) + "0hs6mk48i9yd43rg9wfjc2nxsjjwrnpifxqvxkv8ah18kvpd6xnp")))) (build-system r-build-system) (propagated-inputs `(("r-catools" ,r-catools) @@ -4266,7 +4231,7 @@ including: (build-system r-build-system) (propagated-inputs `(("r-gplots" ,r-gplots))) - (home-page "http://rocr.bioinf.mpi-sb.mpg.de/") + (home-page "https://rocr.bioinf.mpi-sb.mpg.de/") (synopsis "Visualizing the performance of scoring classifiers") (description "ROCR is a flexible tool for creating cutoff-parameterized 2D performance @@ -4440,13 +4405,13 @@ Wall Street Journal, among others. This package also provides (define-public r-statmod (package (name "r-statmod") - (version "1.4.33") + (version "1.4.34") (source (origin (method url-fetch) (uri (cran-uri "statmod" version)) (sha256 (base32 - "1fbi5m4c0lingm2vvi0g6jf8f2mg1h01xwyz5rnymrq7gs0ibiks")))) + "0yklg64aw5y8kfq5piafnrj1v3jv563iwzzl75g3kllrw23c508s")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/statmod") (native-inputs @@ -4560,17 +4525,18 @@ letters, as is often required for scientific publications.") (define-public r-mixtools (package (name "r-mixtools") - (version "1.1.0") + (version "1.2.0") (source (origin (method url-fetch) (uri (cran-uri "mixtools" version)) (sha256 (base32 - "13wdm0xs5bakhpa8ypg6lvhjaqkxyabwz4glxdwn0jwdvkcdhgsl")))) + "08whic8hmmzi55b7azwj11l2x5r9s5qbyrv7s9jr08156vqkw0zg")))) (build-system r-build-system) (propagated-inputs `(("r-mass" ,r-mass) + ("r-kernlab" ,r-kernlab) ("r-segmented" ,r-segmented) ("r-survival" ,r-survival))) (home-page "https://cran.r-project.org/web/packages/mixtools") @@ -4915,14 +4881,14 @@ multivariate analysis.") (define-public r-trimcluster (package (name "r-trimcluster") - (version "0.1-2.1") + (version "0.1-5") (source (origin (method url-fetch) (uri (cran-uri "trimcluster" version)) (sha256 (base32 - "0013bpyq6mkvjn38qsmwnsxfiwxgwngnqxycxvgpgmiadhm8fjmn")))) + "12siv8yx8dcavsz8jk96lwscbj257ar8jpaxksl2zb06987g4fcj")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/trimcluster") (synopsis "Cluster analysis with trimming") @@ -4936,14 +4902,14 @@ of the points.") (define-public r-fpc (package (name "r-fpc") - (version "2.2-4") + (version "2.2-5") (source (origin (method url-fetch) (uri (cran-uri "fpc" version)) (sha256 (base32 - "1gsnl5sbdg86b2wdrsy6wq83xj6mrziiq7rxa8cqksgljc7gp6yf")))) + "10504hzivbn89ip0cd5bcxd36ivbgin1lw1xhyh3xfckcm25v1a5")))) (build-system r-build-system) (propagated-inputs `(("r-class" ,r-class) @@ -5132,14 +5098,14 @@ expected shortfall risk are also included.") (define-public r-nloptr (package (name "r-nloptr") - (version "1.2.1") + (version "1.2.2") (source (origin (method url-fetch) (uri (cran-uri "nloptr" version)) (sha256 (base32 - "15yz60kljxwnhm2m3gryjzxl3ynhkhd5jiwc179b1hz6rlzf71hz")))) + "19k7nd3a7cg35k5i1cwj1lhgfs02jb7bc2gwlammpq6j41rh4vr7")))) (build-system r-build-system) (native-inputs `(("r-knitr" ,r-knitr) ; for building vignettes @@ -5191,17 +5157,18 @@ C++ library for numerical linear algebra and RcppEigen glue.") (define-public r-pbkrtest (package (name "r-pbkrtest") - (version "0.4-7") + (version "0.4-8.6") (source (origin (method url-fetch) (uri (cran-uri "pbkrtest" version)) (sha256 (base32 - "1si3bhi59xc51a0pgjjglccq3h4aljyhw2k1b8574s145fnh7fsw")))) + "0s5xhhrhv5i9680lw6af9lj2x4jc3fygmzzk0jjpxnb8g4b3p1jz")))) (build-system r-build-system) (propagated-inputs `(("r-lme4" ,r-lme4) + ("r-magrittr" ,r-magrittr) ("r-mass" ,r-mass) ("r-matrix" ,r-matrix))) (home-page "http://people.math.aau.dk/~sorenh/software/pbkrtest/") @@ -5264,19 +5231,16 @@ to Applied regression, Second Edition, Sage, 2011.") (define-public r-rcppprogress (package (name "r-rcppprogress") - (version "0.4.1") + (version "0.4.2") (source (origin (method url-fetch) (uri (cran-uri "RcppProgress" version)) (sha256 (base32 - "0yk01hfv961zyp569682k9igvhnwqyg5j0n5fm63sxigj82l2xhi")))) + "0j2b37gwjpgmrnr00srdzm751hzlpsjb54ph63xxmcdfnwhlnqmi")))) (properties `((upstream-name . "RcppProgress"))) (build-system r-build-system) - (propagated-inputs - `(("r-devtools" ,r-devtools) - ("r-rcpp" ,r-rcpp))) (home-page "https://github.com/kforner/rcpp_progress") (synopsis "Interruptible progress bar for C++ in R packages") (description @@ -5288,14 +5252,14 @@ even in multithreaded code, typically using OpenMP.") (define-public r-mnormt (package (name "r-mnormt") - (version "1.5-5") + (version "1.5-6") (source (origin (method url-fetch) (uri (cran-uri "mnormt" version)) (sha256 (base32 - "1b34xxrnf35khsx82mhvmk96sgfr2flyasaah7qkb2976pwxay7z")))) + "0k8y08gj6z525yvc7y3dl2kzgnafbj3i7lvpamypsmqxf74zql99")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) @@ -5331,14 +5295,14 @@ first and second order derivatives.") (define-public r-sn (package (name "r-sn") - (version "1.5-4") + (version "1.5-5") (source (origin (method url-fetch) (uri (cran-uri "sn" version)) (sha256 (base32 - "0x46gxkplxbnhaqbpiav1r4xlv4ib7n57kxmca7scqwj22y7wrs6")))) + "0ymyyc0di1g2b11wzljiih05z3rxck48wn74bygg3fiby973z49f")))) (build-system r-build-system) (propagated-inputs `(("r-mnormt" ,r-mnormt) @@ -5516,14 +5480,14 @@ and the corresponding decision threshold.") (define-public r-forcats (package (name "r-forcats") - (version "0.4.0") + (version "0.5.0") (source (origin (method url-fetch) (uri (cran-uri "forcats" version)) (sha256 (base32 - "1cnjh23z59fhbjmy7y95425hcq3m5wrwqvahsxwi7zm6d9bwp0vw")))) + "1i4hblsjgwkrcwgvgsb5yj33pw1hwdj3lr9dvxymkv1kjdw0x5lg")))) (build-system r-build-system) (propagated-inputs `(("r-ellipsis" ,r-ellipsis) @@ -5603,14 +5567,14 @@ parameters.") (define-public r-directlabels (package (name "r-directlabels") - (version "2018.05.22") + (version "2020.1.31") (source (origin (method url-fetch) (uri (cran-uri "directlabels" version)) (sha256 (base32 - "0xcpc56ssb9430b0xcdhayk3qaak2qcakyss2pz14y5w2027hblv")))) + "08s1gnwp4bn8xahwjaq0f1qzhwh2dvybzhq3z7xyzn8cnyzmis6c")))) (build-system r-build-system) (propagated-inputs `(("r-quadprog" ,r-quadprog))) diff --git a/gnu/packages/storage.scm b/gnu/packages/storage.scm index 875d105110..d3a3deabca 100644 --- a/gnu/packages/storage.scm +++ b/gnu/packages/storage.scm @@ -53,18 +53,16 @@ (define-public ceph (package (name "ceph") - (version "14.2.7") + (version "14.2.8") (source (origin (method url-fetch) (uri (string-append "https://download.ceph.com/tarballs/ceph-" version ".tar.gz")) (sha256 (base32 - "0qiqhm6hvz299q54k3i4crnb5dhpq6xnn2yqih9pxn9van0dq1ln")) + "0p7pjycqhxqg1mmix8ykx3xqq01d560p54iiidxps0rcvwfkyyki")) (patches - (search-patches "ceph-boost-compat.patch" - "ceph-volume-respect-PATH.patch" - "ceph-disable-cpu-optimizations.patch")) + (search-patches "ceph-disable-cpu-optimizations.patch")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 2357b08f87..afa32e99b4 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -136,7 +136,7 @@ (utils (assoc-ref outputs "utils"))) (with-directory-excursion "src/github.com/syncthing/syncthing" (install-file "syncthing" (string-append out "/bin")) - (for-each (cut install-file <> utils) + (for-each (cut install-file <> (string-append utils "/bin/")) '("stcli" "stcompdirs" "stcrashreceiver" "stdisco" "stdiscosrv" "stevents" "stfileinfo" "stfinddevice" "stfindignored" "stgenfiles" diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index cffaea24a0..186daefb49 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Mckinley Olsen <mck.olsen@gmail.com> ;;; Copyright © 2016, 2017, 2019 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2016 David Craven <david@craven.ch> @@ -18,6 +18,7 @@ ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> +;;; Copyright © 2020 Valentin Ignatev <valentignatev@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,6 +37,7 @@ (define-module (gnu packages terminals) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system cargo) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system glib-or-gtk) @@ -47,7 +49,9 @@ #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages check) + #:use-module (gnu packages cmake) #:use-module (gnu packages compression) + #:use-module (gnu packages crates-io) #:use-module (gnu packages crypto) #:use-module (gnu packages docbook) #:use-module (gnu packages fontutils) @@ -85,7 +89,7 @@ (define-public tilda (package (name "tilda") - (version "1.4.1") + (version "1.5.0") (source (origin (method git-fetch) (uri (git-reference @@ -94,7 +98,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "154rsldqjv2m1bddisb930qicb0y35kx7bxq392n2hn68jr2pxkj")))) + "13djibj3s7ig13c57ywy38pxy3qfmqihii2c0g15fy2h9q8xp1gx")))) (build-system glib-or-gtk-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -1131,3 +1135,181 @@ while also supporting native scrolling and @command{tmux} control mode an st fork using wld. st is a simple terminal emulator for X originally made by suckless.") (license license:x11))) + +(define-public alacritty + (package + (name "alacritty") + (version "0.4.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jwilm/alacritty.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "05jcg33ifngpzw2hdhgb614j87ihhhlqgar0kky183rywg0dxikg")) + (modules '((guix build utils))) + (snippet + ;; Don't use a custom location for winit-0.20-alpha6. + '(begin (substitute* "Cargo.toml" + (("winit .*") "")) + #t)))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-clap" ,rust-clap-2) + ("rust-log" ,rust-log-0.4) + ("rust-time" ,rust-time-0.1) + ("rust-env-logger" ,rust-env-logger-0.7) + ("rust-serde" ,rust-serde-1.0) + ("rust-serde-yaml" ,rust-serde-yaml-0.8) + ("rust-serde-json" ,rust-serde-json-1.0) + ("rust-glutin" ,rust-glutin-0.22) ; adjust 'patch-glutin-libgl-path as needed + ("rust-notify" ,rust-notify-4) + ("rust-libc" ,rust-libc-0.2) + ("rust-unicode-width" ,rust-unicode-width-0.1) + ("rust-parking-lot" ,rust-parking-lot-0.9) + ("rust-urlocator" ,rust-urlocator-0.1) + ("rust-xdg" ,rust-xdg-2.2) + ("rust-image" ,rust-image-0.22) + ("rust-dirs" ,rust-dirs-2.0) + ("rust-x11-dl" ,rust-x11-dl-2) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-base64" ,rust-base64-0.11) + ("rust-bigflags" ,rust-bitflags-1) + ("rust-fnv" ,rust-fnv-1.0) + ("rust-mio" ,rust-mio-0.6) + ("rust-mio-extras" ,rust-mio-extras-2) + ("rust-terminfo" ,rust-terminfo-0.6) + ("rust-url" ,rust-url-2.1) + ("rust-vte" ,rust-vte-0.3) + ("rust-nix" ,rust-nix-0.15) + ("rust-miow" ,rust-miow-0.3) + ("rust-mio-anonymous-pipes" ,rust-mio-anonymous-pipes-0.1) + ("rust-mio-named-pipes" ,rust-mio-named-pipes-0.1) + ("rust-signal-hook" ,rust-signal-hook-0.1) + ("rust-clipboard-win" ,rust-clipboard-win-2.1) + ("rust-objc" ,rust-objc-0.2) + ("rust-objc-id" ,rust-objc-id-0.1) + ("rust-objc-foundation" ,rust-objc-foundation-0.1) + ("rust-x11-clipboard" ,rust-x11-clipboard-0.4) + ("rust-smithay-clipboard" ,rust-smithay-clipboard-0.3) + ("rust-wayland-client" ,rust-wayland-client-0.23) + ("rust-euclid" ,rust-euclid-0.20) + ("rust-foreign-types" ,rust-foreign-types-0.5) + ("rust-servo-fontconfig" ,rust-servo-fontconfig-0.4) + ("rust-freetype-rs" ,rust-freetype-rs-0.23) + ("rust-core-foundation" ,rust-core-foundation-0.6) + ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6) + ("rust-core-text" ,rust-core-text-13) + ("rust-core-graphics" ,rust-core-graphics-0.17) + ("rust-dwrote" ,rust-dwrote-0.9) + ("rust-winpty-sys" ,rust-winpty-sys-0.4)) + #:cargo-development-inputs + (("rust-rustc-tools-util" ,rust-rustc-tools-util-0.2) + ("rust-gl-generator" ,rust-gl-generator-0.14) + ("rust-andrew" ,rust-andrew-0.2) + ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.6) + ("rust-embed-resource" ,rust-embed-resource-1.3) + ("rust-http-req" ,rust-http-req-0.5) + ("rust-zip" ,rust-zip-0.5) + ("rust-tempfile" ,rust-tempfile-3.1) + ("rust-named-pipe" ,rust-named-pipe-0.4) + ("rust-winapi" ,rust-winapi-0.3)) + #:phases + (modify-phases %standard-phases + (add-after 'configure 'patch-glutin-libgl-path + (lambda* (#:key inputs cargo-inputs vendor-dir #:allow-other-keys) + (let* ((glutin-name ,(package-name rust-glutin-0.22)) + (glutin-version ,(package-version rust-glutin-0.22)) + (src-api + (string-append + glutin-name "-" glutin-version ".tar.gz/src/api/")) + (mesa (assoc-ref inputs "mesa"))) + (substitute* (string-append vendor-dir "/" src-api "glx/mod.rs") + (("libGL.so") (string-append mesa "/lib/libGL.so"))) + (substitute* (string-append vendor-dir "/" src-api "egl/mod.rs") + (("libEGL.so") (string-append mesa "/lib/libEGL.so"))) + #t))) + (add-after 'configure 'remove-alacritty-vendor + (lambda* (#:key vendor-dir #:allow-other-keys) + ;; We don't want Alacritty to be a dependency of itself + ;; If we don't delete it from guix-vendor then build will fail + ;; because Alacritty has a virtual workspace Cargo.toml. + (delete-file-recursively + (string-append vendor-dir "/alacritty-" ,version ".tar.xz")) + #t)) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share")) + (icons (string-append share "/icons/hicolor/scalable/apps")) + (tic (string-append (assoc-ref inputs "ncurses") "/bin/tic")) + (man (string-append share "/man/man1")) + (alacritty-bin "target/release/alacritty")) + + ;; Install binary + (install-file alacritty-bin (string-append out "/bin")) + + ;; Install man pages + (mkdir-p man) + (copy-file "extra/alacritty.man" + (string-append man "/alacritty.1")) + + ;; Install desktop file + (install-file "extra/linux/alacritty.desktop" + (string-append share "/applications")) + + ;; Install icon + (mkdir-p icons) + (copy-file "extra/logo/alacritty-term.svg" + (string-append icons "/Alacritty.svg")) + + ;; Install terminfo + (mkdir-p (string-append share "/terminfo")) + ;; We don't compile alacritty-common entry because + ;; it's being used only for inheritance. + (invoke tic "-x" "-e" "alacritty,alacritty-direct" + "-o" (string-append share "/terminfo/") + "extra/alacritty.info") + + ;; Install completions + (install-file + "extra/completions/alacritty.bash" + (string-append out "/etc/bash_completion.d")) + (install-file + "extra/completions/_alacritty" + (string-append share "/zsh/site-functions")) + (install-file + "extra/completions/alacritty.fish" + (string-append share "/fish/vendor_completions.d")) + #t)))))) + (inputs + `(("expat" ,expat) + ("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("libx11" ,libx11) + ("libxcb" ,libxcb) + ("libxcursor" ,libxcursor) + ("libxi" ,libxi) + ("libxkbcommon" ,libxkbcommon) + ("libxrandr" ,libxrandr) + ("libxxf86vm" ,libxxf86vm) + ("wayland" ,wayland) + ("mesa" ,mesa))) + (native-inputs + `(("cmake" ,cmake) + ("ncurses" ,ncurses) + ("pkg-config" ,pkg-config) + ("python3" ,python))) + (home-page "https://github.com/alacritty/alacritty") + (synopsis "GPU-accelerated terminal emulator") + (description + "Alacritty is a GPU-accelerated terminal emulator with a strong focus on +simplicity and performance. With such a strong focus on performance, included +features are carefully considered and you can always expect Alacritty to be +blazingly fast. By making sane choices for defaults, Alacritty requires no +additional setup. However, it does allow configuration of many aspects of the +terminal. Note that you need support for OpenGL 3.2 or higher.") + (license license:asl2.0))) diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index cc38ee25f1..1be7c69154 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com> ;;; Copyright © 2019 Yoshinori Arai <kumagusu08@gmail.com> ;;; Copyright © 2019 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de> +;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1016,3 +1017,33 @@ instance one can add new syntax elements to markdown, etc. This package provides Python bindings.") (license license:bsd-3))) + +(define-public aha + (package + (name "aha") + (version "0.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/theZiz/aha") + (commit version))) + (sha256 + (base32 + "0byml4rmpiaalwx69jcixl3yvpvwmwiss1jzgsqwshilb2p4qnmz")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (delete 'configure)) + #:make-flags (list "CC=gcc" + (string-append "PREFIX=" + (assoc-ref %outputs "out"))) + ;; no check target + #:tests? #f)) + (home-page "https://github.com/theZiz/aha") + (synopsis "Converts terminal escape sequences to HTML") + (description "@command{aha} (Ansi Html Adapter) converts ANSI escape sequences +of a Unix terminal to HTML code.") + (license (list license:lgpl2.0+ license:mpl1.1)))) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index e498909047..61bbe424e2 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -495,14 +495,14 @@ required structures.") (define-public libressl (package (name "libressl") - (version "2.7.4") + (version "3.0.2") (source (origin (method url-fetch) (uri (string-append "mirror://openbsd/LibreSSL/" "libressl-" version ".tar.gz")) (sha256 (base32 - "19kxa5i97q7p6rrps9qm0nd8zqhdjvzx02j72400c73cl2nryfhy")))) + "13ir2lpxz8y1m151k7lrx306498nzfhwlvgkgv97v5cvywmifyyz")))) (build-system gnu-build-system) (arguments ;; Do as if 'getentropy' was missing since older Linux kernels lack it @@ -537,13 +537,13 @@ netcat implementation that supports TLS.") (package (name "python-acme") ;; Remember to update the hash of certbot when updating python-acme. - (version "1.0.0") + (version "1.2.0") (source (origin (method url-fetch) (uri (pypi-uri "acme" version)) (sha256 (base32 - "1hl62dnh8zsipa5azzpy5kwgjgb5vflinhna1fsn7rcchhpz223a")))) + "1ar6mjax7cyvq3zgh64yrg485l02dy6zqddxjxg99nlvsi0cfc06")))) (build-system python-build-system) (arguments `(#:phases @@ -594,7 +594,7 @@ netcat implementation that supports TLS.") (uri (pypi-uri "certbot" version)) (sha256 (base32 - "0aih7sir5byy8ah9lrgzwcaga7hjw98qj8bb1pxzzzqrvcqjvf46")))) + "0g1p4nkaid6davjm5qz8lsln92dhjhlv3rrg8hcfpr7qhphbmp4m")))) (build-system python-build-system) (arguments `(,@(substitute-keyword-arguments (package-arguments python-acme) @@ -842,7 +842,7 @@ then ported to the GNU / Linux environment.") (define-public mbedtls-apache (package (name "mbedtls-apache") - (version "2.16.4") + (version "2.16.5") (source (origin (method url-fetch) @@ -852,7 +852,7 @@ then ported to the GNU / Linux environment.") version "-apache.tgz")) (sha256 (base32 - "1yxj5wahaj87xhdi89zbk78ig77b166h464yrj5gb3lwv8mz6h9l")))) + "0kdhwy241xsk4isbadqx6z80m8sf76da5sbmqv8qy11yr37cdd35")))) (build-system cmake-build-system) (arguments `(#:configure-flags @@ -895,35 +895,46 @@ coding footprint.") (source (origin (method url-fetch) (uri (string-append - "https://github.com/lukas2511/dehydrated/releases/download/" + "https://github.com/dehydrated-io/dehydrated/releases/download/" "v" version "/dehydrated-" version ".tar.gz")) (sha256 (base32 "0dgskgbdd95p13jx6s13p77y15wngb5cm6p4305cf2s54w0bvahh")))) (build-system trivial-build-system) (arguments - `(#:modules ((guix build utils)) + `(#:modules ((guix build utils) + (srfi srfi-26)) #:builder (begin - (use-modules (guix build utils)) + (use-modules (guix build utils) + (srfi srfi-26)) (let* ((source (assoc-ref %build-inputs "source")) (tar (assoc-ref %build-inputs "tar")) (gz (assoc-ref %build-inputs "gzip")) (out (assoc-ref %outputs "out")) (bin (string-append out "/bin")) - (doc (string-append out "/share/doc/")) + (doc (string-append out "/share/doc/" ,name "-" ,version)) + (man (string-append out "/share/man")) (bash (in-vicinity (assoc-ref %build-inputs "bash") "bin"))) (setenv "PATH" (string-append gz "/bin")) (invoke (string-append tar "/bin/tar") "xvf" source) (chdir (string-append ,name "-" ,version)) + (copy-recursively "docs" doc) + (install-file "LICENSE" doc) + + (mkdir-p man) + (rename-file (string-append doc "/man") + (string-append man "/man1")) + (for-each (cut invoke "gzip" "-9" <>) + (find-files man ".*")) + (install-file "dehydrated" bin) - (install-file "LICENSE" (string-append doc ,name "-" ,version)) (with-directory-excursion bin (patch-shebang "dehydrated" (list bash)) - ;; Do not try to write in the store. + ;; Do not try to write to the store. (substitute* "dehydrated" (("SCRIPTDIR=\"\\$.*\"") "SCRIPTDIR=~/.dehydrated")) diff --git a/gnu/packages/uml.scm b/gnu/packages/uml.scm index 41fb66c3b9..b3b4505938 100644 --- a/gnu/packages/uml.scm +++ b/gnu/packages/uml.scm @@ -30,14 +30,14 @@ (define-public plantuml (package (name "plantuml") - (version "1.2019.3") + (version "1.2020.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/plantuml/" version "/plantuml-" version ".tar.gz")) (sha256 (base32 - "0p2mqav0qfc6kmkhb2n1vjysffnvpsx4yal68nl0yrh5vd3bnmza")))) + "1mywv4m6v1y2wpfz9vqriw6cdq1d2md5k2vf244ldbd9s6j45467")))) (build-system ant-build-system) (arguments `(#:tests? #f ; no tests @@ -49,7 +49,7 @@ (substitute* "build.xml" (("1.6") "1.7") (("<attribute name=\"Class-Path\"") "<!--") - (("j2v8_macosx_x86_64-3.1.7.jar\" />") "-->")) + (("ditaa0_9.jar\" />") "-->")) #t)) (add-after 'delete-extra-from-classpath 'patch-usr-bin-dot (lambda* (#:key inputs #:allow-other-keys) diff --git a/gnu/packages/unicode.scm b/gnu/packages/unicode.scm index 3b34096fe5..d6fe93c2e0 100644 --- a/gnu/packages/unicode.scm +++ b/gnu/packages/unicode.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at> +;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,6 +22,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) + #:use-module (guix build-system copy) #:use-module (guix build-system trivial)) (define-public ucd @@ -35,15 +37,10 @@ (sha256 (base32 "1ighy39cjkmqnv1797wrxjz76mv1fdw7zp5j04q55bkwxsdkvrmh")))) - (build-system trivial-build-system) + (build-system copy-build-system) (arguments - `(#:modules ((guix build utils)) - #:builder - (let ((out (string-append %output "/share/ucd"))) - (use-modules (guix build utils)) - (mkdir-p out) - (copy-recursively (assoc-ref %build-inputs "source") out) - #t))) + '(#:install-plan + '(("." "share/ucd/")))) (home-page "https://www.unicode.org") (synopsis "Unicode Character Database") (description @@ -123,17 +120,10 @@ Unicode Technological Standard #51.") (sha256 (base32 "0hxsc3j5zb32hmiaj0r3ajchmklx6zng6zlh1ca6s9plq5b9w9q7")))) - (build-system trivial-build-system) + (build-system copy-build-system) (arguments - `(#:modules ((guix build utils)) - #:builder - (let ((out (string-append %output "/share/unicode/cldr/common"))) - (use-modules (guix build utils)) - (mkdir-p out) - (copy-recursively (string-append (assoc-ref %build-inputs "source") - "/common") - out) - #t))) + '(#:install-plan + '(("common" "share/unicode/cldr/")))) (home-page "https://www.unicode.org") (synopsis "Locale data repository") (description diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index e90b8b8da2..567e5e3818 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2014, 2016, 2019 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2018 Kyle Meyer <kyle@kyleam.com> -;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017, 2018 ng0 <ng0@n0.is> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> @@ -153,14 +153,14 @@ as well as the classic centralized workflow.") (name "git") ;; XXX When updating Git, check if the special 'git-source' input to cgit ;; needs to be updated as well. - (version "2.25.0") + (version "2.25.1") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/scm/git/git-" version ".tar.xz")) (sha256 (base32 - "1l58v42aazj0x9276gk8r9mwyl9pgp9w99aakz4xfhzv7wd2jq60")))) + "09lzwa183nblr6l8ib35g2xrjf9wm9yhk3szfvyzkwivdv69c9r2")))) (build-system gnu-build-system) (native-inputs `(("native-perl" ,perl) @@ -177,9 +177,9 @@ as well as the classic centralized workflow.") version ".tar.xz")) (sha256 (base32 - "1gf8b1k6i4dlwskwq7dd2vz9bzc3m1qnknj9daq2vp39vmxpg5nk")))) + "15pfm7j4wq8ryp9n9d81h8v0arl15yq9i6cigw45walnq5r6721h")))) ;; For subtree documentation. - ("asciidoc" ,asciidoc) + ("asciidoc" ,asciidoc-py3) ("docbook-xsl" ,docbook-xsl) ("xmlto" ,xmlto))) (inputs @@ -187,7 +187,7 @@ as well as the classic centralized workflow.") ("expat" ,expat) ("openssl" ,openssl) ("perl" ,perl) - ("python" ,python-2) ; CAVEAT: incompatible with python-3 according to INSTALL + ("python" ,python) ; for git-p4 ("zlib" ,zlib) ;; For PCRE support in git grep (USE_LIBPCRE2). @@ -278,7 +278,7 @@ as well as the classic centralized workflow.") (lambda _ (substitute* "Makefile" (("/usr/bin/perl") (which "perl")) - (("/usr/bin/python") (which "python"))) + (("/usr/bin/python") (which "python3"))) #t)) (add-after 'configure 'add-PM.stamp (lambda _ @@ -554,7 +554,7 @@ everything from small to very large projects with speed and efficiency.") (define-public libgit2 (package (name "libgit2") - (version "0.28.4") + (version "0.99.0") (source (origin (method git-fetch) (uri (git-reference @@ -563,20 +563,28 @@ everything from small to very large projects with speed and efficiency.") (file-name (git-file-name name version)) (sha256 (base32 - "171b25aym4q88bidc4c76y4l6jmdwifm3q9zjqsll0wjhlkycfy1")) - (patches (search-patches "libgit2-avoid-python.patch" - "libgit2-mtime-0.patch")) + "0qxzv49ip378g1n7hrbifb9c6pys2kj1hnxcafmbb94gj3pgd9kg")) + (patches (search-patches "libgit2-mtime-0.patch")) - ;; Remove bundled software. + ;; Remove bundled software. Keep "http-parser" because it + ;; contains patches that are not available in the system version. (snippet '(begin - (delete-file-recursively "deps") + (with-directory-excursion "deps" + (for-each (lambda (dir) + (delete-file-recursively dir)) + (lset-difference equal? + (scandir ".") + '("." ".." "http-parser")))) #t)) - (modules '((guix build utils))))) + (modules '((guix build utils) + (srfi srfi-1) + (ice-9 ftw))))) (build-system cmake-build-system) (outputs '("out" "debug")) (arguments `(#:configure-flags - (list "-DUSE_SHA1DC=ON" ; SHA-1 collision detection + (list "-DUSE_NTLMCLIENT=OFF" ;TODO: package this + "-DREGEX_BACKEND=pcre2" ,@(if (%current-target-system) `((string-append "-DPKG_CONFIG_EXECUTABLE=" @@ -585,6 +593,14 @@ everything from small to very large projects with speed and efficiency.") '())) #:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-pcre2-reference + (lambda _ + ;; Use PCRE2 with 8-bit character support, as there is no "libpcre2.pc". + ;; See <https://github.com/libgit2/libgit2/issues/5438>. + (substitute* "src/CMakeLists.txt" + (("\"libpcre2\"") + "\"libpcre2-8\"")) + #t)) (add-after 'unpack 'fix-hardcoded-paths (lambda _ (substitute* "tests/repo/init.c" @@ -605,14 +621,14 @@ everything from small to very large projects with speed and efficiency.") ;; Tests may be disabled if cross-compiling. (format #t "Test suite not run.~%"))))))) (inputs - `(("libssh2" ,libssh2) - ("http-parser" ,http-parser))) + `(("libssh2" ,libssh2))) (native-inputs - `(("guile" ,guile-2.2) - ("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("python" ,python))) (propagated-inputs - ;; These two libraries are in 'Requires.private' in libgit2.pc. + ;; These libraries are in 'Requires.private' in libgit2.pc. `(("openssl" ,openssl) + ("pcre2" ,pcre2) ("zlib" ,zlib))) (home-page "https://libgit2.github.com/") (synopsis "Library providing Git core methods") @@ -911,13 +927,13 @@ default) of the repository.") (define-public python-gitdb (package (name "python-gitdb") - (version "2.0.4") + (version "4.0.2") (source (origin (method url-fetch) - (uri (pypi-uri "gitdb2" version)) + (uri (pypi-uri "gitdb" version)) (sha256 (base32 - "0i608q9c47rdsmyac1cn6s0hzwwj7cb957y8fc9wacc5lnw8ak5v")))) + "0l113fphn6msjl3cl3kyf332b6lal7daxdd0nfma0x9ipfb013jr")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -949,7 +965,7 @@ default) of the repository.") (setenv "TRAVIS" "1") (invoke "nosetests" "-v")))))) (propagated-inputs - `(("python-smmap2" ,python-smmap2))) + `(("python-smmap" ,python-smmap))) (native-inputs `(("git" ,git) ("python-nose" ,python-nose))) @@ -968,13 +984,13 @@ allowing to handle large objects with a small memory footprint.") (define-public python-gitpython (package (name "python-gitpython") - (version "2.1.11") + (version "3.1.0") (source (origin (method url-fetch) (uri (pypi-uri "GitPython" version)) (sha256 (base32 - "1a357c28dnhgvq3saia7v29r71ynp48l2qp5xsmnc4vgzmdxqdw2")))) + "1jzllsy9lwc9yibccgv7h9naxisazx2n3zmpy21c8n5xhysw69p4")))) (build-system python-build-system) (arguments `(#:tests? #f ;XXX: Tests can only be run within the GitPython repository. @@ -1463,6 +1479,7 @@ following features: (arguments '(#:parallel-tests? #f ; TODO Seems to cause test failures on ; i686-linux + #:configure-flags '("--enable-static=no") #:phases (modify-phases %standard-phases (add-after 'configure 'patch-libtool-wrapper-ls @@ -1595,34 +1612,30 @@ RCS, PRCS, and Aegis packages.") (define-public cvs-fast-export (package (name "cvs-fast-export") - (version "1.45") + (version "1.51") (source (origin (method url-fetch) (uri (string-append "http://www.catb.org/~esr/cvs-fast-export/" "cvs-fast-export-" version ".tar.gz")) (sha256 (base32 - "19pxg6p0pcgyd2fbnh3wy1kazv6vcfi5lzc2whhdi1w9kj4r9c4z")))) + "0nn5cf8syb5nbjvkn8w561pk25clv187h4hs9pnc700g9w56chzf")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases - (delete 'configure) ; no configure script - (add-after 'unpack 'remove-optimizations - (lambda _ - ;; Don't optimize for a specific processor architecture. - (substitute* "Makefile" - (("CFLAGS \\+= -march=native") "")) - #t))) - #:parallel-build? #f ; parallel a2x commands fail spectacularly + (delete 'configure)) ; no configure script + #:parallel-build? #f ; parallel a2x commands fail spectacularly #:make-flags (list "CC=gcc" (string-append "prefix?=" (assoc-ref %outputs "out"))))) - (inputs `(("git" ,git))) - (native-inputs `(("asciidoc" ,asciidoc) - ;; These are needed for the tests. - ("cvs" ,cvs) - ("python" ,python-2) - ("rcs" ,rcs))) + (inputs + `(("git" ,git) + ("python" ,python-wrapper))) + (native-inputs + `(("asciidoc" ,asciidoc) + ;; These are needed for the tests. + ("cvs" ,cvs) + ("rcs" ,rcs))) (home-page "http://www.catb.org/esr/cvs-fast-export/") (synopsis "Export an RCS or CVS history as a fast-import stream") (description "This program analyzes a collection of RCS files in a CVS diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index cf767f43bf..74a9b948ad 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -272,41 +272,37 @@ television and DVD. It is also known as AC-3.") (license license:gpl2+))) (define-public libaom - ;; The 1.0.0-errata1 release installs a broken pkg-config .pc file. This - ;; is fixed in libaom commit 0ddc150, but we use an even later commit. - (let ((commit "22b150bf040608028a56d8bf39e72f771383d836") - (revision "0")) - (package - (name "libaom") - (version (git-version "1.0.0-errata1" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://aomedia.googlesource.com/aom/") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1pdd5h3n42607n6qmggz4yv8izhjr2kl6knb3kh7gh4v0vy47h1r")))) - (build-system cmake-build-system) - (native-inputs - `(("perl" ,perl) - ("pkg-config" ,pkg-config) - ("python" ,python))) ; to detect the version - (arguments - `(#:tests? #f ;no check target - #:configure-flags - ;; build dynamic library - (list "-DBUILD_SHARED_LIBS=YES" - "-DENABLE_PIC=TRUE" - "-DAOM_TARGET_CPU=generic" - (string-append "-DCMAKE_INSTALL_PREFIX=" - (assoc-ref %outputs "out"))))) - (home-page "https://aomedia.googlesource.com/aom/") - (synopsis "AV1 video codec") - (description "Libaom is the reference implementation of AV1. It includes -a shared library and encoder and decoder command-line executables.") - (license license:bsd-2)))) + (package + (name "libaom") + (version "1.0.0-errata1-avif") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://aomedia.googlesource.com/aom/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "169yfgh7zigc21h71qclfyr7s4wwp2i9vbr4z6pkabypvass4v7m")))) + (build-system cmake-build-system) + (native-inputs + `(("perl" ,perl) + ("pkg-config" ,pkg-config) + ("python" ,python))) ; to detect the version + (arguments + `(#:tests? #f ;no check target + #:configure-flags + ;; build dynamic library + (list "-DBUILD_SHARED_LIBS=YES" + "-DENABLE_PIC=TRUE" + "-DAOM_TARGET_CPU=generic" + (string-append "-DCMAKE_INSTALL_PREFIX=" + (assoc-ref %outputs "out"))))) + (home-page "https://aomedia.googlesource.com/aom/") + (synopsis "AV1 video codec") + (description "Libaom is the reference implementation of AV1. It includes a +shared library and encoder and decoder command-line executables.") + (license license:bsd-2))) (define-public libmpeg2 (package @@ -1264,7 +1260,7 @@ streaming protocols.") (define-public mplayer (package (name "mplayer") - (version "1.3.0") + (version "1.4") (source (origin (method url-fetch) (uri (string-append @@ -1272,7 +1268,7 @@ streaming protocols.") version ".tar.xz")) (sha256 (base32 - "0hwqn04bdknb2ic88xd75smffxx63scvz0zvwvjb56nqj9n89l1s")))) + "0j5mflr0wnklxsvnpmxvk704hscyn2785hvvihj2i3a7b3anwnc2")))) (build-system gnu-build-system) ;; FIXME: Add additional inputs once available. (native-inputs @@ -1281,17 +1277,18 @@ streaming protocols.") (inputs `(("alsa-lib" ,alsa-lib) ("cdparanoia" ,cdparanoia) - ("ffmpeg" ,ffmpeg-3.4) + ("ffmpeg" ,ffmpeg) ("fontconfig" ,fontconfig) ("freetype" ,freetype) -;; ("giflib" ,giflib) ; uses QuantizeBuffer, requires version >= 5 + ("giflib" ,giflib) ("lame" ,lame) ("libass" ,libass) ("libdvdcss" ,libdvdcss) - ("libdvdnav" ,libdvdnav) + ("libdvdnav" ,libdvdnav) ; ignored without libdvdread + ("libdvdread" ,libdvdread) ; ignored without libdvdnav ("libjpeg" ,libjpeg-turbo) ("libmpeg2" ,libmpeg2) - ("libmpg123" ,mpg123) ; audio codec for MP3 + ("libmpg123" ,mpg123) ; audio codec for MP3 ("libpng" ,libpng) ("libtheora" ,libtheora) ("libvdpau" ,libvdpau) @@ -1310,7 +1307,7 @@ streaming protocols.") ("speex" ,speex) ("zlib" ,zlib))) (arguments - `(#:tests? #f ; no test target + `(#:tests? #f ; no test target #:phases (modify-phases %standard-phases (replace 'configure @@ -1346,7 +1343,7 @@ streaming protocols.") (nix-system->gnu-triplet (%current-system))))))) "--disable-iwmmxt"))))))) - (home-page "https://www.mplayerhq.hu/design7/news.html") + (home-page "https://www.mplayerhq.hu") (synopsis "Audio and video player") (description "MPlayer is a movie player. It plays most MPEG/VOB, AVI, Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, RealMedia, Matroska, NUT, @@ -1551,7 +1548,7 @@ To load this plugin, specify the following option when starting mpv: (define-public youtube-dl (package (name "youtube-dl") - (version "2020.01.24") + (version "2020.02.16") (source (origin (method url-fetch) (uri (string-append "https://github.com/ytdl-org/youtube-dl/" @@ -1559,7 +1556,7 @@ To load this plugin, specify the following option when starting mpv: version ".tar.gz")) (sha256 (base32 - "1zrnbjnwv315f9a83lk5c0gl4ianvp6q2kinxvqlv604sabcq78b")))) + "1ip0p7gifwmkls8ppfvz89j1lh82dg60zmvabj8njnhj170ikkdb")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion @@ -1690,7 +1687,7 @@ other site that youtube-dl supports.") (define-public you-get (package (name "you-get") - (version "0.4.1355") + (version "0.4.1403") (source (origin (method git-fetch) (uri (git-reference @@ -1699,7 +1696,7 @@ other site that youtube-dl supports.") (file-name (git-file-name name version)) (sha256 (base32 - "0xq7z04hvw3b3npiahlpzhbxsjvam9n9dynplyrkn84dx6k9ajbj")))) + "04viy19x4g9dngml82nf9j94ys3p47bs62c2q2cn1barkybaa3as")))) (build-system python-build-system) (inputs `(("ffmpeg" ,ffmpeg))) ; for multi-part and >=1080p videos @@ -2149,7 +2146,7 @@ format changes.") (define-public xvid (package (name "xvid") - (version "1.3.6") + (version "1.3.7") (source (origin (method url-fetch) (uri (string-append @@ -2157,21 +2154,19 @@ format changes.") version ".tar.bz2")) (sha256 (base32 - "0zppakvcgq5a42mhqqsbliclpg2jrhbmbfgrzalyfzr47jqmhssy")))) + "1xyg3amgg27zf7188kss7y248s0xhh1vv8rrk0j9bcsd5nasxsmf")))) (build-system gnu-build-system) (native-inputs `(("yasm" ,yasm))) (arguments '(#:phases (modify-phases %standard-phases - (add-before - 'configure 'pre-configure + (add-before 'configure 'pre-configure (lambda _ (chdir "build/generic") (substitute* "configure" (("#! /bin/sh") (string-append "#!" (which "sh")))) #t))) - ;; No 'check' target. - #:tests? #f)) + #:tests? #f)) ; no test suite (home-page "https://www.xvid.com/") (synopsis "MPEG-4 Part 2 Advanced Simple Profile video codec") (description "Xvid is an MPEG-4 Part 2 Advanced Simple Profile (ASP) video @@ -2883,7 +2878,7 @@ post-processing of video formats like MPEG2, H.264/AVC, and VC-1.") #:phases (modify-phases %standard-phases ;; no configure script (delete 'configure)))) - (home-page "http://www.openh264.org/") + (home-page "https://www.openh264.org/") (synopsis "H264 decoder library") (description "Openh264 is a library which can decode H264 video streams.") diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 1d4a7a3f94..b468347380 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2019 HiPhish <hiphish@posteo.de> ;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2019, 2020 Jakub Kądziołka <kuba@kadziolka.net> +;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,6 +32,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (gnu packages) @@ -68,7 +70,7 @@ (define-public vim (package (name "vim") - (version "8.2.0236") + (version "8.2.0343") (source (origin (method git-fetch) (uri (git-reference @@ -77,7 +79,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0ixwr7kkxc1cj837v1bbgghkd68gbynfn7pc4rb87ah9sm6bgaz3")))) + "063i52h8v7f87zamrw2ph057f0x2nzwf1s0izrm2psy41cyf4wa3")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -131,6 +133,8 @@ ("tzdata" ,tzdata-for-tests))) (home-page "https://www.vim.org/") (synopsis "Text editor based on vi") + ;; The description shares language with the vim-full package. When making + ;; changes, check if the other description also needs to be updated. (description "Vim is a highly configurable text editor built to enable efficient text editing. It is an improved version of the vi editor distributed with most UNIX @@ -254,7 +258,21 @@ with the editor vim."))) ("python-3" ,python) ("ruby" ,ruby) ("tcl" ,tcl) - ,@(package-inputs vim))))) + ,@(package-inputs vim))) + ;; The description shares language with the vim package. When making + ;; changes, check if the other description also needs to be updated. + (description "Vim is a highly configurable text editor built to enable efficient text +editing. It is an improved version of the vi editor distributed with most UNIX +systems. + +Vim is often called a \"programmer's editor,\" and so useful for programming +that many consider it an entire IDE. It's not just for programmers, though. +Vim is perfect for all kinds of text editing, from composing email to editing +configuration files. + +This package provides a version of Vim with many optional features enabled. +It includes a graphical interface, @command{gvim}, and support for plugins +written in the Python 3, Perl, Ruby, Tcl, and Lua programming languages."))) (define-public vim-neocomplete (package @@ -270,24 +288,12 @@ with the editor vim."))) (sha256 (base32 "1h6sci5mhdfg6sjsjpi8l5li02hg858zcayiwl60y9j2gqnd18lv")))) - (build-system gnu-build-system) + (build-system copy-build-system) (arguments - `(#:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (vimfiles (string-append out "/share/vim/vimfiles")) - (autoload (string-append vimfiles "/autoload")) - (doc (string-append vimfiles "/doc")) - (plugin (string-append vimfiles "/plugin"))) - (copy-recursively "autoload" autoload) - (copy-recursively "doc" doc) - (copy-recursively "plugin" plugin) - #t)))))) + '(#:install-plan + '(("autoload" "share/vim/vimfiles/") + ("doc" "share/vim/vimfiles/") + ("plugin" "share/vim/vimfiles/")))) (synopsis "Next generation completion framework for Vim") (description "@code{neocomplete}, an abbreviation of 'neo-completion with cache', @@ -315,20 +321,10 @@ features than Vim's built-in completion.") (sha256 (base32 "151wpvbj6jb9jdkbhj3b77f5sq7y328spvwfbqyj1y32rg4ifmc6")))) - (build-system gnu-build-system) + (build-system copy-build-system) (arguments - `(#:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (vimfiles (string-append out "/share/vim/vimfiles"))) - (copy-recursively "neosnippets" - (string-append vimfiles "/neosnippets")) - #t)))))) + '(#:install-plan + '(("neosnippets" "share/vim/vimfiles/")))) (synopsis "Snippets for neosnippet") (description "@code{neosnippet-snippets} provides standard snippets for the Vim plugin @@ -354,34 +350,17 @@ you can fill in on the fly.") (sha256 (base32 "0k80syscmpnj38ks1fq02ds59g0r4jlg9ll7z4qc048mgi35alw5")))) - (build-system gnu-build-system) + (build-system copy-build-system) (arguments - `(#:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (vimfiles (string-append out "/share/vim/vimfiles")) - (autoload (string-append vimfiles "/autoload")) - (doc (string-append vimfiles "/doc")) - (ftdetect (string-append vimfiles "/ftdetect")) - (ftplugin (string-append vimfiles "/ftplugin")) - (indent (string-append vimfiles "/indent")) - (plugin (string-append vimfiles "/plugin")) - (rplugin (string-append vimfiles "/rplugin")) - (syntax (string-append vimfiles "/syntax"))) - (copy-recursively "autoload" autoload) - (copy-recursively "doc" doc) - (copy-recursively "ftdetect" ftdetect) - (copy-recursively "ftplugin" ftplugin) - (copy-recursively "indent" indent) - (copy-recursively "plugin" plugin) - (copy-recursively "rplugin" rplugin) - (copy-recursively "syntax" syntax) - #t)))))) + '(#:install-plan + '(("autoload" "share/vim/vimfiles/") + ("doc" "share/vim/vimfiles/") + ("ftdetect" "share/vim/vimfiles/") + ("ftplugin" "share/vim/vimfiles/") + ("indent" "share/vim/vimfiles/") + ("plugin" "share/vim/vimfiles/") + ("rplugin" "share/vim/vimfiles/") + ("syntax" "share/vim/vimfiles/")))) (synopsis "Snippet support for Vim") (description "@code{neosnippet}, is a plugin for Vim which adds snippet support to Vim. @@ -410,24 +389,12 @@ trouble using them, because you do not have to remember each snippet name.") (sha256 (base32 "1ynjr1109dxgj0lz261gmzz3wf5ap1m6j6hnvl3lcyv66a4y8pjv")))) - (build-system gnu-build-system) + (build-system copy-build-system) (arguments - `(#:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (vimfiles (string-append out "/share/vim/vimfiles")) - (after (string-append vimfiles "/after")) - (syntax (string-append vimfiles "/syntax")) - (ftplugin (string-append vimfiles "/ftplugin"))) - (copy-recursively "after" after) - (copy-recursively "ftplugin" ftplugin) - (copy-recursively "syntax" syntax) - #t)))))) + '(#:install-plan + '(("after" "share/vim/vimfiles/") + ("ftplugin" "share/vim/vimfiles/") + ("syntax" "share/vim/vimfiles/")))) (synopsis "Scheme syntax for Vim") (description "@code{vim-scheme} provides Scheme support for Vim (R7RS and CHICKEN).") @@ -450,20 +417,10 @@ trouble using them, because you do not have to remember each snippet name.") (sha256 (base32 "0ka3qbhsh8lix1vyj4678j7dnchkd8khhirrnn3aylxxf8fpqyg8")))) - (build-system gnu-build-system) + (build-system copy-build-system) (arguments - `(#:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (vimfiles (string-append out "/share/vim/vimfiles")) - (colors (string-append vimfiles "/colors"))) - (copy-recursively "colors" colors) - #t)))))) + '(#:install-plan + '(("colors" "share/vim/vimfiles/")))) (synopsis "Dark color theme for Vim") (description "@code{vim-luna} is a dark color theme for Vim.") @@ -487,22 +444,11 @@ trouble using them, because you do not have to remember each snippet name.") (sha256 (base32 "0alvrfhmd91zkd9h83s8wvgyq4iakcf6rybsyjd369qbgpcqky89")))) - (build-system gnu-build-system) + (build-system copy-build-system) (arguments - `(#:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (vimfiles (string-append out "/share/vim/vimfiles")) - (doc (string-append vimfiles "/doc")) - (autoload (string-append vimfiles "/autoload"))) - (copy-recursively "doc" doc) - (copy-recursively "autoload" autoload) - #t)))))) + '(#:install-plan + '(("doc" "share/vim/vimfiles/") + ("autoload" "share/vim/vimfiles/")))) (synopsis "Context filetype library for Vim") (description "@code{vim-context-filetype} is context filetype library for Vim script.") @@ -523,28 +469,14 @@ trouble using them, because you do not have to remember each snippet name.") (sha256 (base32 "1jbn5jxadccmcz01j94d0i1bp74cixr0fpxxf1h0aqdf1ljk3d7n")))) - (build-system gnu-build-system) + (build-system copy-build-system) (arguments - '(#:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (vimfiles (string-append out "/share/vim/vimfiles")) - (autoload (string-append vimfiles "/autoload")) - (doc (string-append vimfiles "/doc")) - (ftdetect (string-append vimfiles "/ftdetect")) - (plugin (string-append vimfiles "/plugin")) - (syntax (string-append vimfiles "/syntax"))) - (copy-recursively "autoload" autoload) - (copy-recursively "doc" doc) - (copy-recursively "ftdetect" ftdetect) - (copy-recursively "plugin" plugin) - (copy-recursively "syntax" syntax) - #t)))))) + '(#:install-plan + '(("autoload" "share/vim/vimfiles/") + ("doc" "share/vim/vimfiles/") + ("ftdetect" "share/vim/vimfiles/") + ("plugin" "share/vim/vimfiles/") + ("syntax" "share/vim/vimfiles/")))) (home-page "https://github.com/tpope/vim-fugitive") (synopsis "Vim plugin to work with Git") (description "Vim-fugitive is a wrapper for Vim that complements the @@ -566,26 +498,13 @@ commit or run any Git arbitrary command.") (sha256 (base32 "1aksmr73648pvyc75pfdz28k2d4ky52rn7xiwcv7lz87q3vqld7k")))) - (build-system gnu-build-system) + (build-system copy-build-system) (arguments - `(#:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (vimfiles (string-append out "/share/vim/vimfiles")) - (autoload (string-append vimfiles "/autoload")) - (doc (string-append vimfiles "/doc")) - (t (string-append vimfiles "/t")) - (plugin (string-append vimfiles "/plugin"))) - (copy-recursively "autoload" autoload) - (copy-recursively "doc" doc) - (copy-recursively "plugin" plugin) - (copy-recursively "t" t) - #t)))))) + '(#:install-plan + '(("autoload" "share/vim/vimfiles/") + ("doc" "share/vim/vimfiles/") + ("plugin" "share/vim/vimfiles/") + ("t" "share/vim/vimfiles/")))) (synopsis "Statusline for Vim") (description "@code{vim-airline} is an extensible statusline for Vim. @@ -611,24 +530,12 @@ and powerline symbols, etc.") (sha256 (base32 "1sb7nb7j7bz0pv1c9bgdy0smhr0jk2b1vbdv9yzghg5lrknpsbr6")))) - (build-system gnu-build-system) + (build-system copy-build-system) (arguments - `(#:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (vimfiles (string-append out "/share/vim/vimfiles")) - (doc (string-append vimfiles "/doc")) - (plugin (string-append vimfiles "/plugin")) - (autoload (string-append vimfiles "/autoload"))) - (copy-recursively "doc" doc) - (copy-recursively "autoload" autoload) - (copy-recursively "plugin" plugin) - #t)))))) + '(#:install-plan + '(("autoload" "share/vim/vimfiles/") + ("doc" "share/vim/vimfiles/") + ("plugin" "share/vim/vimfiles/")))) (synopsis "Collection of themes for Vim-airline") (description "@code{vim-airline-themes} is a collection of themes for @code{vim-airline}.") @@ -648,26 +555,13 @@ and powerline symbols, etc.") (file-name (git-file-name name version)) (sha256 (base32 "0j91f72jaz1s6aw1hpjiz30vk2ds2aqd9gisk91grsldy6nz6hhz")))) - (build-system gnu-build-system) + (build-system copy-build-system) (arguments - `(#:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (vimfiles (string-append out "/share/vim/vimfiles")) - (doc (string-append vimfiles "/doc")) - (plugin (string-append vimfiles "/plugin")) - (autoload (string-append vimfiles "/autoload")) - (syntax-checkers (string-append vimfiles "/syntax_checkers"))) - (copy-recursively "doc" doc) - (copy-recursively "autoload" autoload) - (copy-recursively "plugin" plugin) - (copy-recursively "syntax_checkers" syntax-checkers) - #t)))))) + '(#:install-plan + '(("autoload" "share/vim/vimfiles/") + ("doc" "share/vim/vimfiles/") + ("plugin" "share/vim/vimfiles/") + ("syntax_checkers" "share/vim/vimfiles/")))) (synopsis "Syntax checking plugin for Vim") (description "Vim-syntastic is a syntax checking plugin for Vim. It runs files through @@ -695,30 +589,20 @@ are detected, the user is notified.") (snippet '(begin (delete-file-recursively "plugin/editorconfig-core-py") #t)))) - (build-system gnu-build-system) + (build-system copy-build-system) (arguments - '(#:tests? #f ; tests require ruby and plugin-test repository - #:phases + '(#:phases (modify-phases %standard-phases - (delete 'configure) - (delete 'build) (add-after 'unpack 'patch-editorconfig-path (lambda* (#:key inputs #:allow-other-keys) (let ((editorconfig (assoc-ref inputs "editorconfig-core"))) (substitute* "plugin/editorconfig.vim" (("/opt") editorconfig)) - #t))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (vimfiles (string-append out "/share/vim/vimfiles")) - (doc (string-append vimfiles "/doc")) - (plugin (string-append vimfiles "/plugin")) - (autoload (string-append vimfiles "/autoload"))) - (copy-recursively "doc" doc) - (copy-recursively "autoload" autoload) - (copy-recursively "plugin" plugin) - #t)))))) + #t)))) + #:install-plan + '(("autoload" "share/vim/vimfiles/") + ("doc" "share/vim/vimfiles/") + ("plugin" "share/vim/vimfiles/")))) (inputs `(("editorconfig-core" ,editorconfig-core-c))) (home-page "https://editorconfig.org/") @@ -735,24 +619,11 @@ editors.") (inherit vim-syntastic) (name "neovim-syntastic") (arguments - `(#:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (vimfiles (string-append out "/share/nvim/site")) - (doc (string-append vimfiles "/doc")) - (plugin (string-append vimfiles "/plugin")) - (autoload (string-append vimfiles "/autoload")) - (syntax-checkers (string-append vimfiles "/syntax_checkers"))) - (copy-recursively "doc" doc) - (copy-recursively "autoload" autoload) - (copy-recursively "plugin" plugin) - (copy-recursively "syntax_checkers" syntax-checkers) - #t)))))) + '(#:install-plan + '(("autoload" "share/nvim/site/") + ("doc" "share/nvim/site/") + ("plugin" "share/nvim/site/") + ("syntax_checkers" "share/nvim/site/")))) (synopsis "Syntax checking plugin for Neovim") (description "Vim-syntastic is a syntax checking plugin for Neovim. It runs files through @@ -963,22 +834,15 @@ through its msgpack-rpc API.") (sha256 (base32 "1f8h8m96fqh3f9hy87spgh9kdqzyxl11n9s3rywvyq5xhn489bnk")))) - (build-system gnu-build-system) + (build-system copy-build-system) (arguments - '(#:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (vimfiles (string-append out "/share/vim/vimfiles"))) - (for-each - (lambda (dir) - (copy-recursively dir (string-append vimfiles "/" dir))) - '("compiler" "doc" "indent" "ftdetect" "ftplugin" "syntax")) - #t)))))) + '(#:install-plan + '(("compiler" "share/vim/vimfiles/") + ("doc" "share/vim/vimfiles/") + ("indent" "share/vim/vimfiles/") + ("ftdetect" "share/vim/vimfiles/") + ("ftplugin" "share/vim/vimfiles/") + ("syntax" "share/vim/vimfiles/")))) (home-page "https://gitlab.com/Efraim/guix.vim") (synopsis "Guix integration in Vim") (description "This package provides support for GNU Guix in Vim.") diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index e16405fc9c..256cfa87d2 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -11,6 +11,8 @@ ;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org> ;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com> +;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> +;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,6 +35,7 @@ #:use-module (gnu packages assembly) #:use-module (gnu packages attr) #:use-module (gnu packages autotools) + #:use-module (gnu packages backup) #:use-module (gnu packages bison) #:use-module (gnu packages check) #:use-module (gnu packages cmake) @@ -90,6 +93,7 @@ #:use-module (guix build-system go) #:use-module (guix build-system meson) #:use-module (guix build-system python) + #:use-module (guix build-system trivial) #:use-module (guix download) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) @@ -299,10 +303,10 @@ server and embedded PowerPC, and S390 guests.") (search-patches "qemu-glibc-2.27.patch")))) ;; qemu-minimal-2.10 needs Python 2. Remove below once no longer necessary. (native-inputs `(("python-2" ,python-2) - ,@(fold alist-delete (package-native-inputs qemu) + ,@(fold alist-delete (package-native-inputs qemu-minimal) '("python-wrapper" "python-sphinx")))) (inputs - (fold alist-delete (package-inputs qemu) + (fold alist-delete (package-inputs qemu-minimal) ;; Disable seccomp support, because it's not required for the GRUB ;; test suite, and because it fails with libseccomp 2.4.2 and later. '("libseccomp")))))) @@ -325,14 +329,24 @@ server and embedded PowerPC, and S390 guests.") (list (string-append "-Dwith-usb-ids-path=" (assoc-ref %build-inputs "usb.ids")) (string-append "-Dwith-pci-ids-path=" - (assoc-ref %build-inputs "pci.ids"))))) + (assoc-ref %build-inputs "pci.ids"))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-osinfo-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "osinfo/osinfo_loader.c" + (("path = DATA_DIR.*") + (string-append "path = \"" (assoc-ref inputs "osinfo-db") + "/share/osinfo\";"))) + #t))))) (inputs `(("libsoup" ,libsoup) ("libxml2" ,libxml2) ("libxslt" ,libxslt) - ("gobject-introspection" ,gobject-introspection))) + ("osinfo-db" ,osinfo-db))) (native-inputs `(("glib" ,glib "bin") ; glib-mkenums, etc. + ("gobject-introspection" ,gobject-introspection) ("gtk-doc" ,gtk-doc) ("vala" ,vala) ("intltool" ,intltool) @@ -461,8 +475,8 @@ manage system or application containers.") (add-before 'configure 'disable-broken-tests (lambda _ (let ((tests (list "commandtest" ; hangs idly - "qemuxml2argvtest" ; fails - "qemuhotplugtest" ; fails + "qemuxml2argvtest" ; fails + "qemuhotplugtest" ; fails "virnetsockettest" ; tries to network "virshtest"))) ; fails (substitute* "tests/Makefile.in" @@ -629,8 +643,8 @@ virtualization library.") (add-after 'unpack 'fix-qemu-img-reference (lambda* (#:key inputs #:allow-other-keys) (substitute* "virtconv/formats.py" - (("/usr(/bin/qemu-img)" _ suffix) - (string-append (assoc-ref inputs "qemu") suffix))) + (("/usr(/bin/qemu-img)" _ suffix) + (string-append (assoc-ref inputs "qemu") suffix))) #t)) (add-after 'unpack 'fix-default-uri (lambda* (#:key inputs #:allow-other-keys) @@ -671,7 +685,6 @@ virtualization library.") ("libvirt-glib" ,libvirt-glib) ("libosinfo" ,libosinfo) ("vte" ,vte) - ("gobject-introspection" ,gobject-introspection) ("python-libvirt" ,python-libvirt) ("python-requests" ,python-requests) ("python-ipaddress" ,python-ipaddress) @@ -684,6 +697,7 @@ virtualization library.") `(("qemu" ,qemu))) (native-inputs `(("glib" ,glib "bin") ; glib-compile-schemas + ("gobject-introspection" ,gobject-introspection) ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache ("perl" ,perl) ; pod2man ("intltool" ,intltool))) @@ -1382,3 +1396,73 @@ which is a hypervisor.") ;; TODO: Some files are licensed differently. List those. (license license:gpl2) (supported-systems '("i686-linux" "x86_64-linux" "armhf-linux")))) + +(define-public osinfo-db-tools + (package + (name "osinfo-db-tools") + (version "1.7.0") + (source (origin + (method url-fetch) + (uri (string-append "https://releases.pagure.org/libosinfo/osinfo-db-tools-" + version ".tar.xz")) + + (sha256 + (base32 + "08x8mrafphyll0d35xdc143rip3ahrz6bmzhc85nwhq7yk2vxpab")))) + (build-system meson-build-system) + (inputs + `(("libsoup" ,libsoup) + ("libxml2" ,libxml2) + ("libxslt" ,libxslt) + ("json-glib" ,json-glib) + ("libarchive" ,libarchive))) + (native-inputs + `(("perl" ,perl) + ("gobject-introspection" ,gobject-introspection) + ("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config) + ;; Tests + ("python" ,python) + ("pytest" ,python-pytest) + ("requests" ,python-requests))) + (home-page "https://gitlab.com/libosinfo/osinfo-db-tools") + (synopsis "Tools for managing the osinfo database") + (description "This package contains a set of tools to assist +administrators and developers in managing the database.") + (license license:lgpl2.0+))) + +(define-public osinfo-db + (package + (name "osinfo-db") + (version "20200203") + (source (origin + (method url-fetch) + (uri (string-append "https://releases.pagure.org/libosinfo/osinfo-db-" + version ".tar.xz")) + (sha256 + (base32 + "1zjq1dhlci00j17dij7s3l30hybzmaykpk5b6bd5xbllp745njn5")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (osinfo-dir (string-append out "/share/osinfo")) + (source (assoc-ref %build-inputs "source")) + (osinfo-db-import + (string-append (assoc-ref %build-inputs "osinfo-db-tools") + "/bin/osinfo-db-import"))) + (mkdir-p osinfo-dir) + (invoke osinfo-db-import "--dir" osinfo-dir source) + #t)))) + (native-inputs + `(("intltool" ,intltool) + ("osinfo-db-tools" ,osinfo-db-tools))) + (home-page "https://gitlab.com/libosinfo/osinfo-db") + (synopsis "Database of information about operating systems") + (description "Osinfo-db provides the database files for use with the +libosinfo library. It provides information about guest operating systems for +use with virtualization provisioning tools") + (license license:lgpl2.0+))) diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index e29c1e7d03..becc505b34 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com> -;;; Copyright © 2019 Leo Famulari <leo@famulari.name> +;;; Copyright © 2019, 2020 Leo Famulari <leo@famulari.name> ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> ;;; @@ -471,6 +471,7 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers `(#:tests? #f ; No tests available. #:make-flags (list "CC=gcc" + "--directory=src/tools" "WITH_BASHCOMPLETION=yes" ;; Build and install the helper script wg-quick(8). "WITH_WGQUICK=yes" @@ -498,17 +499,7 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers (call-with-output-file output (lambda (port) (format port "~a" str)))) - #t)) - (add-after 'make-patch 'chdir - (lambda _ - (chdir "src/tools") - #t)) - ;; Otherwise the 'install-license-file' phase installs nothing. - ;; <https://bugs.gnu.org/34703> - (add-after 'install 'reset-cwd - (lambda _ - (chdir "../..") - #t))))) + #t))))) (inputs `(("libmnl" ,libmnl))) (home-page "https://www.wireguard.com/") @@ -519,6 +510,52 @@ that can be applied to a Linux kernel source tree in order to build it with WireGuard support.") (license license:gpl2))) +(define-public wireguard-tools + (package + (name "wireguard-tools") + (version "1.0.20200206") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.zx2c4.com/wireguard-tools.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ivc08lds5w39a6f2xdfih9wlk5g724hl3kpdvxvh5yff4l84qb7")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list "CC=gcc" + "--directory=src" + "WITH_BASHCOMPLETION=yes" + ;; Install the ‘simple and dirty’ helper script wg-quick(8). + "WITH_WGQUICK=yes" + (string-append "PREFIX=" (assoc-ref %outputs "out")) + ;; Currently used only to create an empty /etc/wireguard directory. + (string-append "SYSCONFDIR=no-thanks")) + ;; The test suite is meant to be run interactively. It runs Clang's + ;; scan-build static analyzer and then starts a web server to display the + ;; results. + #:tests? #f + #:phases + (modify-phases %standard-phases + ;; No configure script + (delete 'configure)))) + (home-page "https://www.wireguard.com/") + (synopsis "Tools for configuring WireGuard tunnels") + (description + "This package provides the user-space command-line tools for using and +configuring WireGuard tunnels. + +WireGuard is a simple and fast general-purpose @acronym{VPN, Virtual Private +Network} that securely encapsulates IP packets over UDP. It aims to be as easy +to configure and deploy as SSH. VPN connections are made simply by exchanging +public keys and can roam across IP addresses.") + (license + (list license:lgpl2.1+ ; src/netlink.h & contrib/embeddable-wg-library + license:gpl2)))) ; everything else + (define-public xl2tpd (package (name "xl2tpd") diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 8778e5e17a..88b74f6cd7 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -392,7 +392,7 @@ driven and does not detract you from your daily work.") (define next-gtk-webkit (package (name "next-gtk-webkit") - (version "1.4.0") + (version "1.5.0") (source (origin (method git-fetch) @@ -403,7 +403,7 @@ driven and does not detract you from your daily work.") (commit version))) (sha256 (base32 - "1gkmr746rqqg94698a051gv79fblc8n9dq0zg04llba44adhpmjl")) + "1gqkp185wcwaxr8py90hqk44nqjblrrdwvig19gizrbzr2gx2zhy")) (file-name (git-file-name "next" version)))) (build-system glib-or-gtk-build-system) (arguments @@ -424,11 +424,10 @@ driven and does not detract you from your daily work.") (native-inputs `(("pkg-config" ,pkg-config))) (home-page "https://next.atlas.engineer") - (synopsis "Infinitely extensible web-browser (user interface only)") + (synopsis "Extensible web-browser in Common Lisp") (description "Next is a keyboard-oriented, extensible web-browser -inspired by Emacs and designed for power users. The application has familiar -key-bindings, is fully configurable and extensible in Lisp, and has powerful -features for productive professionals.") +designed for power users. The application has familiar Emacs and VI +key-bindings and is fully configurable and extensible in Common Lisp.") (license license:bsd-3))) (define sbcl-next-download-manager @@ -450,7 +449,7 @@ features for productive professionals.") (native-inputs `(("trivial-features" ,sbcl-trivial-features) ("prove-asdf" ,sbcl-prove-asdf))) - (synopsis "Infinitely extensible web-browser (download manager)"))) + (synopsis "Extensible web-browser in Common Lisp (download manager)"))) (define sbcl-next-ring (package @@ -464,7 +463,7 @@ features for productive professionals.") (native-inputs `(("trivial-features" ,sbcl-trivial-features) ("prove-asdf" ,sbcl-prove-asdf))) - (synopsis "Infinitely extensible web-browser (ring)"))) + (synopsis "Extensible web-browser in Common Lisp (ring)"))) (define sbcl-next-history-tree (package @@ -478,7 +477,7 @@ features for productive professionals.") (native-inputs `(("trivial-features" ,sbcl-trivial-features) ("prove-asdf" ,sbcl-prove-asdf))) - (synopsis "Infinitely extensible web-browser (history-tree)"))) + (synopsis "Extensible web-browser in Common Lisp (history-tree)"))) (define sbcl-next-password-manager (package @@ -498,7 +497,7 @@ features for productive professionals.") (native-inputs `(("trivial-features" ,sbcl-trivial-features) ("prove-asdf" ,sbcl-prove-asdf))) - (synopsis "Infinitely extensible web-browser (password manager)"))) + (synopsis "Extensible web-browser in Common Lisp (password manager)"))) (define sbcl-next-hooks (package @@ -617,7 +616,7 @@ features for productive professionals.") `(("trivial-features" ,sbcl-trivial-features) ("trivial-types" ,sbcl-trivial-types) ("prove-asdf" ,sbcl-prove-asdf))) - (synopsis "Infinitely extensible web-browser (with Lisp development files)")))) + (synopsis "Extensible web-browser in Common Lisp")))) (define-public sbcl-next (deprecated-package "sbcl-next" next)) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 0b1a3a6135..6d8054da1b 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de> ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Raoul Jean Pierre Bonnal <ilpuccio.febo@gmail.com> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net> @@ -19,7 +19,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016 Bake Timmons <b3timmons@speedymail.org> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> -;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2017, 2018, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2017 Petter <petter@mykolab.ch> ;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com> @@ -116,12 +116,14 @@ #:use-module (gnu packages libevent) #:use-module (gnu packages libidn) #:use-module (gnu packages libunistring) + #:use-module (gnu packages libunwind) #:use-module (gnu packages linux) #:use-module (gnu packages lisp-xyz) #:use-module (gnu packages lua) #:use-module (gnu packages markup) #:use-module (gnu packages ncurses) #:use-module (gnu packages nss) + #:use-module (gnu packages openldap) #:use-module (gnu packages openstack) #:use-module (gnu packages base) #:use-module (gnu packages package-management) @@ -221,14 +223,14 @@ Interface} specification.") ;; ’stable’ and recommends that “in general you deploy the NGINX mainline ;; branch at all times” (https://www.nginx.com/blog/nginx-1-6-1-7-released/) ;; Consider updating the nginx-documentation package together with this one. - (version "1.17.7") + (version "1.17.8") (source (origin (method url-fetch) (uri (string-append "https://nginx.org/download/nginx-" version ".tar.gz")) (sha256 (base32 - "1zwiqljhzf0ym6r3hrg6k2qfb2mxi7i0lpafg4xnkr875225c9xn")))) + "0nwn4md8sxhks2j77qq1nvk5pfz3yykfhh2b507b6l2idp7kxllp")))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl) ("pcre" ,pcre) @@ -550,6 +552,67 @@ supported at your website.") ;; binary: (package-license nginx))))))) +(define-public lighttpd + (package + (name "lighttpd") + (version "1.4.55") + (source (origin + (method url-fetch) + (uri (string-append "https://download.lighttpd.net/lighttpd/" + "releases-" (version-major+minor version) ".x/" + "lighttpd-" version ".tar.xz")) + (sha256 + (base32 + "09z947730yjh438wrqb3z1c5hr1dbb11a8sr92g3vk6mr7lm02va")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "--with-krb5" + "--with-ldap" + "--with-libev" + "--with-libunwind" + "--with-openssl" + "--with-pam" + "--with-sasl") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'embed-/bin/sh-reference + (lambda _ + (substitute* "src/mod_ssi.c" + (("/bin/sh") (which "sh"))) + #t)) + (add-after 'unpack 'fix-tests + (lambda _ + (setenv "SHELL" (which "sh")) + ;; gethostbyaddr fails + (substitute* "tests/LightyTest.pm" + (("\\{HOSTNAME\\} = \\$name;") + "{HOSTNAME} = \"127.0.0.1\";")) + #t))))) + (inputs + `(("cyrus-sasl" ,cyrus-sasl) + ("libev" ,libev) + ("libunwind" ,libunwind) + ("linux-pam" ,linux-pam) + ("mit-krb5" ,mit-krb5) + ("openldap" ,openldap) + ("openssl" ,openssl) + ("pcre" ,pcre) + ("pcre:bin" ,pcre "bin") + ("zlib" ,zlib))) + (native-inputs + `(("perl" ,perl) ; for tests + ("pkg-config" ,pkg-config) + ("which" ,which))) + (home-page "https://www.lighttpd.net/") + (synopsis "Lightweight HTTP and reverse proxy server") + (description + "Lighttpd is a secure, fast, compliant, and very flexible web-server that +has been optimized for high-performance environments. It has a very low +memory footprint compared to other webservers. Its features include FastCGI, +CGI, authentication, output compression, URL rewriting and many more.") + (license license:bsd-3))) + (define-public fcgi (package (name "fcgi") @@ -1097,16 +1160,21 @@ for efficient socket-like bidirectional reliable communication channels.") (description "WABT (pronounced: wabbit) is a suite of tools for WebAssembly, including: -* wat2wasm: translate from WebAssembly text format to the WebAssembly binary - format -* wasm2wat: the inverse of wat2wasm, translate from the binary format back - to the text format (also known as a .wat) -* wasm-objdump: print information about a wasm binary. Similar to objdump. -* wasm-interp: decode and run a WebAssembly binary file using a stack-based - interpreter -* wat-desugar: parse .wat text form as supported by the spec interpreter - (s-expressions, flat syntax, or mixed) and print canonical flat format -* wasm2c: convert a WebAssembly binary file to a C source and header +@enumerate +@item @command{wat2wasm} translates from WebAssembly text format to the +WebAssembly binary format +@item @command{wasm2wat} is the inverse; it translates from the binary format +back to the text format (also known as a .wat) +@item @command{wasm-objdump} prints information about a wasm binary, similarly +to @command{objdump}. +@item @command{wasm-interp} decodes ands run a WebAssembly binary file using a +stack-based interpreter +@item @command{wat-desugar} parses .wat text form as supported by the spec +interpreter (s-expressions, flat syntax, or mixed) and prints the canonical +flat format +@item @command{wasm2c} converts a WebAssembly binary file to a C source and +header file. +@end enumerate These tools are intended for use in (or for development of) toolchains or other systems that want to manipulate WebAssembly files.") @@ -1160,10 +1228,13 @@ high performance.") (sha256 (base32 "0ak9a6hsanhys40yhv7c2gqkfghpm6jx36j1pnml8ajvgaky5q98")))) (build-system gnu-build-system) + (arguments + ;; Parallel builds don't reliably succeed. + `(#:parallel-build? #f)) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) - ("cunit" ,cunit) ; For tests. + ("cunit" ,cunit) ; for tests ("libtool" ,libtool) ("pkg-config" ,pkg-config) ("python-sphinx" ,python-sphinx))) diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index e138817fb6..790d2fa83a 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -93,14 +93,14 @@ backend which implements them.") (define-public wpebackend-fdo (package (name "wpebackend-fdo") - (version "1.4.1") + (version "1.4.2") (source (origin (method url-fetch) (uri (string-append "https://wpewebkit.org/releases/" "wpebackend-fdo-" version ".tar.xz")) (sha256 (base32 - "1799vf6wc78z15l39sfh39l5rrvlqpi29ynjm0324rpsrfvs0jb2")))) + "07wd736d4nhd2vpxnjzv9pb8firvbn11jmdbnhpkhjxbxa1k86pw")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ;no tests diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 23850e2df8..4a6a88f471 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -76,21 +76,26 @@ (define-public wine (package (name "wine") - (version "5.0") + (version "5.3") (source (origin (method url-fetch) - (uri (string-append "https://dl.winehq.org/wine/source/" - (version-major+minor version) - "/wine-" version ".tar.xz")) + (uri (let ((dir (string-append + (version-major version) + (if (string-suffix? ".0" (version-major+minor version)) + ".0/" + ".x/")))) + (string-append "https://dl.winehq.org/wine/source/" dir + "wine-" version ".tar.xz"))) (sha256 - (base32 "1d0kcy338radq07hrnzcpc9lc9j2fvzjh37q673002x8d6x5058q")))) + (base32 "1pkzj3656ad0vmc7ciwfzn45lb2kxwbyymfwnqaa105dicicf6wv")))) (build-system gnu-build-system) - (native-inputs `(("pkg-config" ,pkg-config) - ("gettext" ,gettext-minimal) - ("flex" ,flex) - ("bison" ,bison) - ("perl" ,perl))) + (native-inputs + `(("bison" ,bison) + ("flex" ,flex) + ("gettext" ,gettext-minimal) + ("perl" ,perl) + ("pkg-config" ,pkg-config))) (inputs `(("alsa-lib" ,alsa-lib) ("dbus" ,dbus) @@ -323,7 +328,7 @@ integrate Windows applications into your desktop.") (define-public wine-staging-patchset-data (package (name "wine-staging-patchset-data") - (version "5.0") + (version "5.3") (source (origin (method git-fetch) @@ -332,7 +337,7 @@ integrate Windows applications into your desktop.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "054m2glvav29qnlgr3p36kahyv3kbxzba82djzqpc7cmsrin0d3f")))) + (base32 "1mvhrvshyrj7lgjgka735z6j8idwd6j58bpg5nz1slgmlh1llrs6")))) (build-system trivial-build-system) (native-inputs `(("bash" ,bash) @@ -382,7 +387,7 @@ integrate Windows applications into your desktop.") "/wine-" version ".tar.xz"))) (file-name (string-append name "-" version ".tar.xz")) (sha256 - (base32 "1d0kcy338radq07hrnzcpc9lc9j2fvzjh37q673002x8d6x5058q")))) + (base32 "1pkzj3656ad0vmc7ciwfzn45lb2kxwbyymfwnqaa105dicicf6wv")))) (inputs `(("autoconf" ,autoconf) ; for autoreconf ("ffmpeg" ,ffmpeg) ("gtk+" ,gtk+) @@ -554,7 +559,7 @@ version)") ;; This package provides 32-bit dxvk libraries on 64-bit systems. (package (name "dxvk32") - (version "1.5.4") + (version "1.5.5") (home-page "https://github.com/doitsujin/dxvk/") (source (origin (method git-fetch) @@ -564,7 +569,7 @@ version)") (file-name (git-file-name name version)) (sha256 (base32 - "0yhxd5rnn5mcvcb2n062z9wqqwxjq5c0rzfbjz1z9ppznj8gn37i")))) + "1inl0qswgvbp0fs76md86ilqf9mbshkpjm8ga81khn9zd6v3fvan")))) (build-system meson-build-system) (arguments `(#:system "i686-linux" @@ -607,7 +612,8 @@ Use @command{setup_dxvk} to install the required libraries to a Wine prefix.") (dxvk32 (assoc-ref inputs "dxvk32"))) (mkdir-p (string-append out "/lib32")) (copy-recursively (string-append dxvk32 "/lib") - (string-append out "/lib32")))))) + (string-append out "/lib32")) + #t)))) '()) (add-after 'install 'install-setup (lambda* (#:key inputs outputs #:allow-other-keys) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index d79af78db2..8193975555 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -267,14 +267,14 @@ commands would.") (define-public i3-wm (package (name "i3-wm") - (version "4.17.1") + (version "4.18") (source (origin (method url-fetch) (uri (string-append "https://i3wm.org/downloads/i3-" version ".tar.bz2")) (sha256 (base32 - "0iazv2i2rgmakzh95pgj6iapyzn7bdpcbcd35a79mhlml4ry33qy")))) + "0dv5g8ycfmijxfjyw8hzsxaf80v09lb73zh7x2vszy78h3amifqz")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/wordnet.scm b/gnu/packages/wordnet.scm index abec2f0e50..03dadd431e 100644 --- a/gnu/packages/wordnet.scm +++ b/gnu/packages/wordnet.scm @@ -88,7 +88,7 @@ (inputs `(("tk" ,tk) ("tcl" ,tcl))) - (home-page "http://wordnet.princeton.edu/") + (home-page "https://wordnet.princeton.edu/") (synopsis "Lexical database for the English language") (description "WordNet is a large lexical database of English. Nouns, verbs, diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm index c2eedad5cb..69257a6e59 100644 --- a/gnu/packages/wxwidgets.scm +++ b/gnu/packages/wxwidgets.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> -;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2016, 2018, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org> @@ -126,7 +126,14 @@ and many other languages.") (list (string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out") "/lib")) ;; No 'check' target. - #:tests? #f)))) + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'ignore-narrowing-errors + (lambda _ + (substitute* "configure" + (("-Wall") "-Wall -Wno-narrowing")) + #t))))))) (define-public wxwidgets-gtk2 (package (inherit wxwidgets) @@ -296,7 +303,7 @@ provide a 100% native look and feel for the application.") ("wxwidgets" ,wxwidgets-gtk2))) (synopsis "Python 2 Bindings for wxWidgets") (description "@code{wxpython} provides Python 2 bindings for wxWidgets.") - (home-page "http://wxpython.org/") + (home-page "https://wxpython.org/") (license (package-license wxwidgets)))) (define-public wxsvg diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index af10d97bf6..4fcc4c8b5c 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -342,21 +342,32 @@ X11 (yet).") (define-public libfakekey (package (name "libfakekey") - (version "0.1") + (version "0.3") (source (origin - (method url-fetch) - (uri (string-append "https://downloads.yoctoproject.org/releases" - "/matchbox/libfakekey/" version "/libfakekey-" - version ".tar.bz2")) + (method git-fetch) + (uri (git-reference + (url "https://git.yoctoproject.org/git/libfakekey") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1501l0bflcrhqbf12n7a7cqilvr0w4xawxw0vw75p2940nkl4464")))) + (base32 "1jw1d4wc1ysiijirc7apnz3sryrxbl9akgb92mh06dvfkz2nblj0")))) (build-system gnu-build-system) (arguments - `(#:make-flags (list "AM_LDFLAGS=-lX11"))) + `(#:make-flags (list "AM_LDFLAGS=-lX11") + #:phases + (modify-phases %standard-phases + (replace 'bootstrap + ;; ./autogen.sh calls ./configure before shebangs have been patched. + (lambda _ + (invoke "autoreconf" "-vfi")))))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + + ;; For bootstrapping from git. + ("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) (inputs `(("libxtst" ,libxtst) ("libx11" ,libx11))) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index ff3d6c9ece..6140e9e5c7 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -267,7 +267,7 @@ merging features essential for loading menus modified with menu editors.") (define-public tumbler (package (name "tumbler") - (version "0.2.7") + (version "0.2.8") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -275,7 +275,7 @@ merging features essential for loading menus modified with menu editors.") "tumbler-" version ".tar.bz2")) (sha256 (base32 - "1r0l0ghcrj71ax7yil1m4p7yjrfqm3icx0s8r7ivwv3i2rgw617p")))) + "15iyx4xk6v3vk8272c848y8rj4sq43khlqxndnai0w5mvsivk689")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -645,7 +645,7 @@ like appearance, display, keyboard and mouse settings.") (define-public thunar (package (name "thunar") - (version "1.8.11") + (version "1.8.12") (source (origin (method url-fetch) (uri (string-append "http://archive.xfce.org/src/xfce/" @@ -653,7 +653,7 @@ like appearance, display, keyboard and mouse settings.") "thunar-" version ".tar.bz2")) (sha256 (base32 - "0f5jw61z1dbvyyf1nks5dagnbs6sxxw7spybgwvpb3hfljrlvphq")))) + "1y1548jrx93c9v8ks60mkd9sx5xl69fmwh1pbr9gsnqz1gp5na99")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index b93ca0077b..c3e271dda3 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -2098,7 +2098,7 @@ libxml2 and libxslt.") (define-public python-xmlschema (package (name "python-xmlschema") - (version "1.1.0") + (version "1.1.1") (source (origin ;; Unit tests are not distributed with the PyPI archive. (method git-fetch) @@ -2108,7 +2108,7 @@ libxml2 and libxslt.") (file-name (git-file-name name version)) (sha256 (base32 - "1h8321jb6q3dhlh3608y3f3sbbzfd3jg1psyirxkrm4w5xs3lbvy")))) + "0nqhqbvp0kpd1bz11b6gpkc0mkg068mqs56ww4k5ang1cl9d8gd6")))) (build-system python-build-system) (arguments '(#:phases diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 3fb2cf8d0f..b57fa29466 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -6390,7 +6390,7 @@ opacity of X11 windows. This patched version of X.Org's @command{transset} adds functionality, including: selecting window by clicking (as transset), selecting windows by pointing select actual focused X11 window, selecting by window name or id, forcing toggle, increase or decrease opacity.") - (home-page "http://forchheimer.se/transset-df/") + (home-page "https://forchheimer.se/transset-df/") (license license:x11))) (define-public bdfresize diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 6988edc249..f1844fb422 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 John Soo <jsoo1@asu.edu> ;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -2037,11 +2038,6 @@ item of @var{packages}." (setenv "LINUX_MODULE_DIRECTORY" "/run/booted-system/kernel/lib/modules") - ;; The first one is for udev, the second one for eudev. - (setenv "UDEV_CONFIG_FILE" #$udev.conf) - (setenv "EUDEV_RULES_DIRECTORY" - #$(file-append rules "/lib/udev/rules.d")) - (let* ((kernel-release (utsname:release (uname))) (linux-module-directory @@ -2058,7 +2054,18 @@ item of @var{packages}." (make-static-device-nodes directory)) (umask old-umask)) - (let ((pid (fork+exec-command (list udevd)))) + (let ((pid (fork+exec-command (list udevd) + #:environment-variables + (cons* + ;; The first one is for udev, the second one for + ;; eudev. + (string-append "UDEV_CONFIG_FILE=" #$udev.conf) + (string-append "EUDEV_RULES_DIRECTORY=" + #$(file-append + rules "/lib/udev/rules.d")) + (string-append "LINUX_MODULE_DIRECTORY=" + (getenv "LINUX_MODULE_DIRECTORY")) + (default-environment-variables))))) ;; Wait until udevd is up and running. This appears to ;; be needed so that the events triggered below are ;; actually handled. diff --git a/gnu/services/herd.scm b/gnu/services/herd.scm index 112a7dc104..35d69376d0 100644 --- a/gnu/services/herd.scm +++ b/gnu/services/herd.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -55,7 +55,8 @@ load-services load-services/safe start-service - stop-service)) + stop-service + restart-service)) ;;; Commentary: ;;; @@ -272,6 +273,10 @@ when passed a service with an already-registered name." (with-shepherd-action name ('stop) result result)) +(define (restart-service name) + (with-shepherd-action name ('restart) result + result)) + ;; Local Variables: ;; eval: (put 'alist-let* 'scheme-indent-function 2) ;; eval: (put 'with-shepherd 'scheme-indent-function 1) diff --git a/gnu/services/sddm.scm b/gnu/services/sddm.scm index ac8c9a8403..1921afce95 100644 --- a/gnu/services/sddm.scm +++ b/gnu/services/sddm.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com> +;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -56,7 +57,7 @@ (default (file-append shepherd "/sbin/reboot"))) ;; [Theme] - ;; valid values are elarun or maldives + ;; valid values are elarun, maldives or maya (theme sddm-configuration-theme (default "maldives")) (themes-directory sddm-configuration-themes-directory @@ -306,25 +307,26 @@ Relogin=" (if (sddm-configuration-relogin? config) (compose list sddm-configuration-sddm)) (define sddm-service-type - (service-type (name 'sddm) - (extensions - (list (service-extension shepherd-root-service-type - sddm-shepherd-service) - (service-extension etc-service-type - sddm-etc-service) - (service-extension pam-root-service-type - sddm-pam-services) - (service-extension account-service-type - (const %sddm-accounts)) - (service-extension profile-service-type - sddm-profile-service))) - (default-value (sddm-configuration)) - (description - "Run SDDM, a display and log-in manager for X11 and -Wayland."))) + (handle-xorg-configuration sddm-configuration + (service-type (name 'sddm) + (extensions + (list (service-extension shepherd-root-service-type + sddm-shepherd-service) + (service-extension etc-service-type + sddm-etc-service) + (service-extension pam-root-service-type + sddm-pam-services) + (service-extension account-service-type + (const %sddm-accounts)) + (service-extension profile-service-type + sddm-profile-service))) + (default-value (sddm-configuration)) + (description + "Run SDDM, a display and log-in manager for X11 and +Wayland.")))) (define-deprecated (sddm-service #:optional (config (sddm-configuration))) sddm-service-type - "Run the @uref{https://github.com/sddm/sddm,SSDM display manager} + "Run the @uref{https://github.com/sddm/sddm,SDDM display manager} with the given @var{config}, a @code{<sddm-configuration>} object." (service sddm-service-type config)) diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm index 08bb33039c..d483ff1a15 100644 --- a/gnu/services/shepherd.scm +++ b/gnu/services/shepherd.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2018 Carlo Zancanaro <carlo@zancanaro.id.au> ;;; @@ -281,6 +281,12 @@ and return the resulting '.go' file." (use-modules (srfi srfi-34) (system repl error-handling)) + ;; Specify the default environment visible to all the services. + ;; Without this statement, all the environment variables of PID 1 + ;; are inherited by child services. + (default-environment-variables + '("PATH=/run/current-system/profile/bin")) + ;; Arrange to spawn a REPL if something goes wrong. This is better ;; than a kernel panic. (call-with-error-handling @@ -288,10 +294,6 @@ and return the resulting '.go' file." (apply register-services (map load-compiled '#$(map scm->go files))))) - ;; guix-daemon 0.6 aborts if 'PATH' is undefined, so work around - ;; it. - (setenv "PATH" "/run/current-system/profile/bin") - (format #t "starting services...~%") (for-each (lambda (service) ;; In the Shepherd 0.3 the 'start' method can raise diff --git a/gnu/services/vpn.scm b/gnu/services/vpn.scm index cbb4a79a7b..658d5c3e88 100644 --- a/gnu/services/vpn.scm +++ b/gnu/services/vpn.scm @@ -59,9 +59,10 @@ (format #t "") (format #t "~a ~a\n" (uglify-field-name field-name) val))) (define serialize-string serialize-field) +(define-maybe string) (define (serialize-boolean field-name val) (if val - (serialize-field field-name val) + (serialize-field field-name "") (format #t ""))) (define (ip-mask? val) @@ -298,6 +299,11 @@ certificate is @code{cert}.") "Don't close and reopen TUN/TAP device or run up/down scripts across SIGUSR1 or --ping-restart restarts.") + (fast-io? + (boolean #f) + "(Experimental) Optimize TUN/TAP/UDP I/O writes by avoiding a call to +poll/epoll/select prior to the write operation.") + (verbosity (number 3) "Verbosity level.")) @@ -307,6 +313,12 @@ SIGUSR1 or --ping-restart restarts.") "Add an additional layer of HMAC authentication on top of the TLS control channel to protect against DoS attacks.") + (auth-user-pass + (maybe-string 'disabled) + "Authenticate with server using username/password. The option is a file +containing username/password on 2 lines. Do not use a file-like object as it +would be added to the store and readable by any user.") + (verify-key-usage? (key-usage #t) "Whether to check the server certificate has server usage extension.") diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index 881521cccf..a6dbec6957 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -5,6 +5,8 @@ ;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com> ;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de> +;;; Copyright © 2020 shtwzrd <shtwzrd@protonmail.com> +;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -102,6 +104,8 @@ gdm-configuration gdm-service-type gdm-service + + handle-xorg-configuration set-xorg-configuration)) ;;; Commentary: @@ -152,7 +156,12 @@ xorg-configuration make-xorg-configuration xorg-configuration? (modules xorg-configuration-modules ;list of packages - (default %default-xorg-modules)) + ; filter out modules not supported on current system + (default (filter + (lambda (p) + (member (%current-system) + (package-supported-systems p))) + %default-xorg-modules))) (fonts xorg-configuration-fonts ;list of packges (default %default-xorg-fonts)) (drivers xorg-configuration-drivers ;list of strings @@ -453,6 +462,25 @@ desktop session from the system or user profile will be used." (program-file "xinitrc" builder)) +(define-syntax handle-xorg-configuration + (syntax-rules () + "Generate the `compose' and `extend' entries of a login manager +`service-type' to handle specifying the `xorg-configuration' through +a `service-extension', as used by `set-xorg-configuration'." + ((_ configuration-record service-type-definition) + (service-type + (inherit service-type-definition) + (compose (lambda (extensions) + (match extensions + (() #f) + ((config . _) config)))) + (extend (lambda (config xorg-configuration) + (if xorg-configuration + (configuration-record + (inherit config) + (xorg-configuration xorg-configuration)) + config))))))) + ;;; ;;; SLiM log-in manager. @@ -578,18 +606,20 @@ reboot_cmd " shepherd "/sbin/reboot\n" (respawn? #t))))) (define slim-service-type - (service-type (name 'slim) - (extensions - (list (service-extension shepherd-root-service-type - slim-shepherd-service) - (service-extension pam-root-service-type - slim-pam-service) + (handle-xorg-configuration slim-configuration + (service-type (name 'slim) + (extensions + (list (service-extension shepherd-root-service-type + slim-shepherd-service) + (service-extension pam-root-service-type + slim-pam-service) - ;; Unconditionally add xterm to the system profile, to - ;; avoid bad surprises. - (service-extension profile-service-type - (const (list xterm))))) - (default-value (slim-configuration)))) + ;; Unconditionally add xterm to the system profile, to + ;; avoid bad surprises. + (service-extension profile-service-type + (const (list xterm))))) + + (default-value (slim-configuration))))) (define-deprecated (slim-service #:key (slim slim) (allow-empty-passwords? #t) auto-login? @@ -940,44 +970,30 @@ the GNOME desktop environment.") (respawn? #t)))) (define gdm-service-type - (service-type (name 'gdm) - (extensions - (list (service-extension shepherd-root-service-type - gdm-shepherd-service) - (service-extension activation-service-type - (const %gdm-activation)) - (service-extension account-service-type - (const %gdm-accounts)) - (service-extension pam-root-service-type - gdm-pam-service) - (service-extension profile-service-type - gdm-configuration-gnome-shell-assets) - (service-extension dbus-root-service-type - (compose list - gdm-configuration-gdm)) - (service-extension localed-service-type - (compose - xorg-configuration-keyboard-layout - gdm-configuration-xorg)))) - - ;; For convenience, this service can be extended with an - ;; <xorg-configuration> record. Take the first one that - ;; comes. - (compose (lambda (extensions) - (match extensions - (() #f) - ((config . _) config)))) - (extend (lambda (config xorg-configuration) - (if xorg-configuration - (gdm-configuration - (inherit config) - (xorg-configuration xorg-configuration)) - config))) - - (default-value (gdm-configuration)) - (description - "Run the GNOME Desktop Manager (GDM), a program that allows -you to log in in a graphical session, whether or not you use GNOME."))) + (handle-xorg-configuration gdm-configuration + (service-type (name 'gdm) + (extensions + (list (service-extension shepherd-root-service-type + gdm-shepherd-service) + (service-extension activation-service-type + (const %gdm-activation)) + (service-extension account-service-type + (const %gdm-accounts)) + (service-extension pam-root-service-type + gdm-pam-service) + (service-extension profile-service-type + gdm-configuration-gnome-shell-assets) + (service-extension dbus-root-service-type + (compose list + gdm-configuration-gdm)) + (service-extension localed-service-type + (compose + xorg-configuration-keyboard-layout + gdm-configuration-xorg)))) + (default-value (gdm-configuration)) + (description + "Run the GNOME Desktop Manager (GDM), a program that allows +you to log in in a graphical session, whether or not you use GNOME.")))) (define-deprecated (gdm-service #:key (gdm gdm) (allow-empty-passwords? #t) diff --git a/gnu/system.scm b/gnu/system.scm index d3f2b82519..42c0cd6f17 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -142,16 +142,11 @@ (define (bootable-kernel-arguments system root-device) "Return a list of kernel arguments (gexps) to boot SYSTEM from ROOT-DEVICE." (list (string-append "--root=" - (cond ((uuid? root-device) - - ;; Note: Always use the DCE format because that's - ;; what (gnu build linux-boot) expects for the - ;; '--root' kernel command-line option. - (uuid->string (uuid-bytevector root-device) - 'dce)) - ((file-system-label? root-device) - (file-system-label->string root-device)) - (else root-device))) + ;; Note: Always use the DCE format because that's what + ;; (gnu build linux-boot) expects for the '--root' + ;; kernel command-line option. + (file-system-device->string root-device + #:uuid-type 'dce)) #~(string-append "--system=" #$system) #~(string-append "--load=" #$system "/boot"))) diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index d47a514b66..3b599efa8e 100644 --- a/gnu/system/file-systems.scm +++ b/gnu/system/file-systems.scm @@ -30,6 +30,7 @@ #:export (file-system file-system? file-system-device + file-system-device->string file-system-title ;deprecated file-system-mount-point file-system-type @@ -235,6 +236,20 @@ where both FILE1 and FILE2 are absolute file name. For example: (() #f))))))) +(define* (file-system-device->string device #:key uuid-type) + "Return the string representations of the DEVICE field of a <file-system> +record. When the device is a UUID, its representation is chosen depending on +UUID-TYPE, a symbol such as 'dce or 'iso9660." + (match device + ((? file-system-label?) + (file-system-label->string device)) + ((? uuid?) + (if uuid-type + (uuid->string (uuid-bytevector device) uuid-type) + (uuid->string device))) + ((? string?) + device))) + (define (file-system-needed-for-boot? fs) "Return true if FS has the 'needed-for-boot?' flag set, or if it holds the store--e.g., if FS is the root file system." diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 81b2e06ba2..03a511cdde 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -609,13 +609,7 @@ TYPE (one of 'iso9660 or 'dce). Return a UUID object." (let ((device (file-system-device fs))) (list (file-system-mount-point fs) (file-system-type fs) - (cond ((file-system-label? device) - (file-system-label->string device)) - ((uuid? device) - (uuid->string device)) - ((string? device) - device) - (else #f)) + (file-system-device->string device) (file-system-options fs)))) (if (eq? type 'iso9660) diff --git a/gnu/tests/cups.scm b/gnu/tests/cups.scm new file mode 100644 index 0000000000..4e922e5023 --- /dev/null +++ b/gnu/tests/cups.scm @@ -0,0 +1,119 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu tests cups) + #:use-module (gnu tests) + #:use-module (gnu system) + #:use-module (gnu system vm) + #:use-module (gnu services) + #:use-module (gnu services cups) + #:use-module (gnu services networking) + #:use-module (guix gexp) + #:use-module (guix store) + #:use-module (guix monads) + #:export (%test-cups)) + +;;; +;;; Test the Common Unix Printing System. +;;; + +(define* (run-cups-test os-configuration #:optional (cups-port 631)) + (define os + (marionette-operating-system os-configuration + #:imported-modules '((gnu services herd)))) + + (define forwarded-port 8080) + + (define vm + (virtual-machine + (operating-system os) + (port-forwardings `((,forwarded-port . ,cups-port))))) + + (define test + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (gnu build marionette) + (srfi srfi-11) (srfi srfi-64) + (web client) (web response)) + + (define marionette + (make-marionette (list #$vm))) + + (mkdir #$output) + (chdir #$output) + + (test-begin "cups") + + ;; Wait for the web interface to become ready. + (wait-for-tcp-port #$cups-port marionette) + + (test-equal "http-get default page" + 200 + (let-values + (((response text) + (http-get #$(simple-format + #f "http://localhost:~A/" forwarded-port) + #:decode-body? #t))) + (response-code response))) + + (test-equal "http-get admin page" + 200 + (let-values + (((response text) + (http-get #$(simple-format + #f "http://localhost:~A/admin" forwarded-port) + #:decode-body? #t))) + (response-code response))) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + + (gexp->derivation "cups-test" test)) + +(define %cups-os + (simple-operating-system + (service dhcp-client-service-type) + (service cups-service-type + (cups-configuration + (web-interface? #t) + ;; Listen on all interfaces instead of just localhost so we + ;; can access the web interface "remotely". + (listen '("*:631" "/var/run/cups/cups.sock")) + ;; Add access controls for the Qemu-managed network. + (location-access-controls + (list (location-access-control + (path "/") + (access-controls '("Order allow,deny" + "Allow from 10.0.0.0/8"))) + (location-access-control + (path "/admin") + (access-controls '("Order allow,deny" + "Allow from 10.0.0.0/8"))) + (location-access-control + (path "/admin/conf") + (access-controls '("Order allow,deny" + "AuthType Basic" + "Require user @SYSTEM" + "Allow localhost"))))))))) + +(define %test-cups + (system-test + (name "cups") + (description "Test the CUPS print server") + (value (run-cups-test %cups-os)))) + diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index d475bda2c7..335efbd468 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -651,9 +651,13 @@ by 'mdadm'.") (guix combinators))))) %base-services)))) +(define %luks-passphrase + ;; LUKS encryption passphrase used in tests. + "thepassphrase") + (define %encrypted-root-installation-script ;; Shell script of a simple installation. - "\ + (string-append "\ . /etc/profile set -e -x guix --version @@ -665,9 +669,9 @@ parted --script /dev/vdb mklabel gpt \\ mkpart primary ext2 3M 1.4G \\ set 1 boot on \\ set 1 bios_grub on -echo -n thepassphrase | \\ +echo -n " %luks-passphrase " | \\ cryptsetup luksFormat --uuid=12345678-1234-1234-1234-123456789abc -q /dev/vdb2 - -echo -n thepassphrase | \\ +echo -n " %luks-passphrase " | \\ cryptsetup open --type luks --key-file - /dev/vdb2 the-root-device mkfs.ext4 -L my-root /dev/mapper/the-root-device mount LABEL=my-root /mnt @@ -677,7 +681,7 @@ cp /etc/target-config.scm /mnt/etc/config.scm guix system build /mnt/etc/config.scm guix system init /mnt/etc/config.scm /mnt --no-substitutes sync -reboot\n") +reboot\n")) (define (enter-luks-passphrase marionette) "Return a gexp to be inserted in the basic system test running on MARIONETTE @@ -698,7 +702,8 @@ to enter the LUKS passphrase." ;; when the passphrase should be entered. (wait-for-screen-text #$marionette passphrase-prompt? #:ocrad #$ocrad) - (marionette-type "thepassphrase\n" #$marionette) + (marionette-type #$(string-append %luks-passphrase "\n") + #$marionette) ;; Now wait until we leave the boot screen. This is necessary so ;; we can then be sure we match the "Enter passphrase" prompt from @@ -714,7 +719,8 @@ to enter the LUKS passphrase." (wait-for-screen-text #$marionette passphrase-prompt? #:ocrad #$ocrad #:timeout 60) - (marionette-type "thepassphrase\n" #$marionette) + (marionette-type #$(string-append %luks-passphrase "\n") + #$marionette) ;; Take a screenshot for debugging purposes. (marionette-control (string-append "screendump " #$output diff --git a/guix/build-system/copy.scm b/guix/build-system/copy.scm new file mode 100644 index 0000000000..d1bf8fb654 --- /dev/null +++ b/guix/build-system/copy.scm @@ -0,0 +1,143 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu> +;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (guix build-system copy) + #:use-module (guix store) + #:use-module (guix utils) + #:use-module (guix derivations) + #:use-module (guix search-paths) + #:use-module (guix build-system) + #:use-module (guix build-system gnu) + #:use-module (guix packages) + #:use-module (ice-9 match) + #:use-module (srfi srfi-1) + #:export (%copy-build-system-modules + default-glibc + lower + copy-build + copy-build-system)) + +;; Commentary: +;; +;; Standard build procedure for simple packages that don't require much +;; compilation, mostly just copying files around. This is implemented as an +;; extension of `gnu-build-system'. +;; +;; Code: + +(define %copy-build-system-modules + ;; Build-side modules imported by default. + `((guix build copy-build-system) + ,@%gnu-build-system-modules)) + +(define (default-glibc) + "Return the default glibc package." + ;; Do not use `@' to avoid introducing circular dependencies. + (let ((module (resolve-interface '(gnu packages base)))) + (module-ref module 'glibc))) + +(define* (lower name + #:key source inputs native-inputs outputs system target + (glibc (default-glibc)) + #:allow-other-keys + #:rest arguments) + "Return a bag for NAME from the given arguments." + (define private-keywords + '(#:source #:target #:inputs #:native-inputs)) + + (bag + (name name) + (system system) + (host-inputs `(,@(if source + `(("source" ,source)) + '()) + ,@inputs + ;; Keep the standard inputs of 'gnu-build-system'. + ,@(standard-packages))) + (build-inputs native-inputs) + (outputs outputs) + (build copy-build) + (arguments (strip-keyword-arguments private-keywords arguments)))) + +(define* (copy-build store name inputs + #:key (guile #f) + (outputs '("out")) + (install-plan ''(("." "./"))) + (search-paths '()) + (out-of-source? #t) + (validate-runpath? #t) + (patch-shebangs? #t) + (strip-binaries? #t) + (strip-flags ''("--strip-debug")) + (strip-directories ''("lib" "lib64" "libexec" + "bin" "sbin")) + (phases '(@ (guix build copy-build-system) + %standard-phases)) + (system (%current-system)) + (imported-modules %copy-build-system-modules) + (modules '((guix build copy-build-system) + (guix build utils)))) + "Build SOURCE using INSTALL-PLAN, and with INPUTS." + (define builder + `(begin + (use-modules ,@modules) + (copy-build #:source ,(match (assoc-ref inputs "source") + (((? derivation? source)) + (derivation->output-path source)) + ((source) + source) + (source + source)) + #:system ,system + #:outputs %outputs + #:inputs %build-inputs + #:install-plan ,install-plan + #:search-paths ',(map search-path-specification->sexp + search-paths) + #:phases ,phases + #:out-of-source? ,out-of-source? + #:validate-runpath? ,validate-runpath? + #:patch-shebangs? ,patch-shebangs? + #:strip-binaries? ,strip-binaries? + #:strip-flags ,strip-flags + #:strip-directories ,strip-directories))) + + (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 inputs + #:modules imported-modules + #:outputs outputs + #:guile-for-build guile-for-build)) + +(define copy-build-system + (build-system + (name 'copy) + (description "The standard copy build system") + (lower lower))) + +;;; copy.scm ends here diff --git a/guix/build/copy-build-system.scm b/guix/build/copy-build-system.scm new file mode 100644 index 0000000000..a86f0cde29 --- /dev/null +++ b/guix/build/copy-build-system.scm @@ -0,0 +1,171 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu> +;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (guix build copy-build-system) + #:use-module ((guix build gnu-build-system) #:prefix gnu:) + #:use-module (guix build utils) + #:use-module (ice-9 match) + #:use-module (ice-9 ftw) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) + #:export (%standard-phases + copy-build)) + +;; Commentary: +;; +;; System for building packages that don't require much compilation, mostly +;; only to copy files around. +;; +;; Code: + +(define* (install #:key install-plan outputs #:allow-other-keys) + "Copy files from the \"source\" build input to the \"out\" output according to INSTALL-PLAN. + +An install plan is a list of plans in the form: + + (SOURCE TARGET [FILTERS]) + +In the above, FILTERS are optional. + +- When SOURCE matches a file or directory without trailing slash, install it to + TARGET. + - If TARGET has a trailing slash, install SOURCE basename beneath TARGET. + - Otherwise install SOURCE as TARGET. + +- When SOURCE is a directory with a trailing slash, or when FILTERS are used, + the trailing slash of TARGET is implied. + - Without FILTERS, install the full SOURCE _content_ to TARGET. + The paths relative to SOURCE are preserved within TARGET. + - With FILTERS among `#:include`, `#:include-regexp`, `#:exclude`, + `#:exclude-regexp`: + - With `#:include`, install only the paths which suffix exactly matches + one of the elements in the list. + - With `#:include-regexp`, install subpaths matching the regexps in the list. + - The `#:exclude*` FILTERS work similarly. Without `#:include*` flags, + install every subpath but the files matching the `#:exlude*` filters. + If both `#:include*` and `#:exclude*` are specified, the exclusion is done + on the inclusion list. + +Examples: + +- `(\"foo/bar\" \"share/my-app/\")`: Install bar to \"share/my-app/bar\". +- `(\"foo/bar\" \"share/my-app/baz\")`: Install bar to \"share/my-app/baz\". +- `(\"foo/\" \"share/my-app\")`: Install the content of foo inside \"share/my-app\", + e.g. install \"foo/sub/file\" to \"share/my-app/sub/file\". +- `(\"foo/\" \"share/my-app\" #:include (\"sub/file\"))`: Install only \"foo/sub/file\" to +\"share/my-app/sub/file\". +- `(\"foo/sub\" \"share/my-app\" #:include (\"file\"))`: Install \"foo/sub/file\" to +\"share/my-app/file\"." + (define (install-simple source target) + "Install SOURCE to TARGET. +TARGET must point to a store location. +SOURCE may be a file or a directory. +If a directory, the directory itself is installed, not its content. +if TARGET ends with a '/', the source is installed underneath." + (let ((target (if (string-suffix? "/" target) + (string-append target (basename source)) + target))) + (mkdir-p (dirname target)) + (copy-recursively source target))) + + (define (install-file file target) + (let ((dest (string-append target + (if (string-suffix? "/" target) + (string-append "/" file) + file)))) + (format (current-output-port) "`~a' -> `~a'~%" file dest) + (mkdir-p (dirname dest)) + (let ((stat (lstat file))) + (case (stat:type stat) + ((symlink) + (let ((target (readlink file))) + (symlink target dest))) + (else + (copy-file file dest)))))) + + (define* (make-file-predicate suffixes matches-regexp #:optional (default-value #t)) + "Return a predicate that returns #t if its file argument matches the +SUFFIXES or the MATCHES-REGEXP. If neither SUFFIXES nor MATCHES-REGEXP is +given, then the predicate always returns DEFAULT-VALUE." + (if (or suffixes matches-regexp) + (let* ((suffixes (or suffixes '())) + (regexps (map make-regexp (or matches-regexp '()))) + (predicates (append + (map (lambda (str) + (cut string-suffix? str <>)) + suffixes) + (map (lambda (regexp) + (cut regexp-exec regexp <>)) + regexps)))) + (lambda (file) + (any (cut <> file) predicates))) + (const default-value))) + + (define* (install-file-list source target #:key include exclude include-regexp exclude-regexp) + ;; We must use switch current directory to source so that `find-files' + ;; returns file paths relative to source. + (with-directory-excursion source + (let* ((exclusion-pred (negate (make-file-predicate exclude exclude-regexp #f))) + (inclusion-pred (make-file-predicate include include-regexp)) + (file-list + (filter! exclusion-pred + (find-files "." (lambda (file _stat) + (inclusion-pred file)))))) + (map (cut install-file <> (if (string-suffix? "/" target) + target + (string-append target "/"))) + file-list)))) + + (define* (install source target #:key include exclude include-regexp exclude-regexp) + (set! target (string-append (assoc-ref outputs "out") "/" target)) + (let ((filters? (or include exclude include-regexp exclude-regexp))) + (when (and (not (file-is-directory? source)) + filters?) + (error "Cannot use filters when SOURCE is a file.")) + (let ((multi-files-in-source? + (or (string-suffix? "/" source) + (and (file-is-directory? source) + filters?)))) + (if multi-files-in-source? + (install-file-list source target + #:include include + #:exclude exclude + #:include-regexp include-regexp + #:exclude-regexp exclude-regexp) + (install-simple source target))))) + + (for-each (lambda (plan) (apply install plan)) install-plan) + #t) + +(define %standard-phases + ;; Everything is as with the GNU Build System except for the `configure' + ;; , `build', `check' and `install' phases. + (modify-phases gnu:%standard-phases + (delete 'bootstrap) + (delete 'configure) + (delete 'build) + (delete 'check) + (replace 'install install))) + +(define* (copy-build #:key inputs (phases %standard-phases) + #:allow-other-keys #:rest args) + "Build the given package, applying all of PHASES in order." + (apply gnu:gnu-build #:inputs inputs #:phases phases args)) + +;;; copy-build-system.scm ends here diff --git a/guix/build/emacs-build-system.scm b/guix/build/emacs-build-system.scm index 09de244993..219310cf08 100644 --- a/guix/build/emacs-build-system.scm +++ b/guix/build/emacs-build-system.scm @@ -225,6 +225,21 @@ parallel. PARALLEL-TESTS? is ignored when using a non-make TEST-COMMAND." (parameterize ((%emacs emacs)) (emacs-generate-autoloads elpa-name site-lisp)))) +(define* (enable-autoloads-compilation #:key outputs #:allow-other-keys) + "Remove the NO-BYTE-COMPILATION local variable embedded in the generated +autoload files." + (let* ((out (assoc-ref outputs "out")) + (autoloads (find-files out "-autoloads.el$"))) + (substitute* autoloads + ((";; no-byte-compile.*") "")) + #t)) + +(define* (validate-compiled-autoloads #:key outputs #:allow-other-keys) + "Verify whether the byte compiled autoloads load fine." + (let* ((out (assoc-ref outputs "out")) + (autoloads (find-files out "-autoloads.elc$"))) + (emacs-batch-eval (format #f "(mapc #'load '~s)" autoloads)))) + (define (emacs-package? name) "Check if NAME correspond to the name of an Emacs package." (string-prefix? "emacs-" name)) @@ -253,10 +268,13 @@ second hyphen. This corresponds to 'name-version' as used in ELPA packages." (replace 'check check) (replace 'install install) (add-after 'install 'make-autoloads make-autoloads) - (add-after 'make-autoloads 'patch-el-files patch-el-files) + (add-after 'make-autoloads 'enable-autoloads-compilation + enable-autoloads-compilation) + (add-after 'enable-autoloads-compilation 'patch-el-files patch-el-files) ;; The .el files are byte compiled directly in the store. (add-after 'patch-el-files 'build build) - (add-after 'build 'move-doc move-doc))) + (add-after 'build 'validate-compiled-autoloads validate-compiled-autoloads) + (add-after 'validate-compiled-autoloads 'move-doc move-doc))) (define* (emacs-build #:key inputs (phases %standard-phases) #:allow-other-keys #:rest args) diff --git a/guix/build/emacs-utils.scm b/guix/build/emacs-utils.scm index 885fd0a217..ab64e3714c 100644 --- a/guix/build/emacs-utils.scm +++ b/guix/build/emacs-utils.scm @@ -41,16 +41,22 @@ ;; The `emacs' command. (make-parameter "emacs")) +(define (expr->string expr) + "Converts EXPR, an expression, into a string." + (if (string? expr) + expr + (format #f "~s" expr))) + (define (emacs-batch-eval expr) "Run Emacs in batch mode, and execute the elisp code EXPR." (invoke (%emacs) "--quick" "--batch" - (format #f "--eval=~S" expr))) + (string-append "--eval=" (expr->string expr)))) (define (emacs-batch-edit-file file expr) "Load FILE in Emacs using batch mode, and execute the elisp code EXPR." (invoke (%emacs) "--quick" "--batch" (string-append "--visit=" file) - (format #f "--eval=~S" expr))) + (string-append "--eval=" (expr->string expr)))) (define (emacs-batch-disable-compilation file) (emacs-batch-edit-file file diff --git a/guix/build/linux-module-build-system.scm b/guix/build/linux-module-build-system.scm index cd76df2de7..8145d5a724 100644 --- a/guix/build/linux-module-build-system.scm +++ b/guix/build/linux-module-build-system.scm @@ -60,15 +60,18 @@ ;; part. (define* (install #:key inputs native-inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (moddir (string-append out "/lib/modules")) - (kmod (assoc-ref (or native-inputs inputs) "kmod"))) + (moddir (string-append out "/lib/modules"))) ;; Install kernel modules (mkdir-p moddir) (invoke "make" "-C" (string-append (assoc-ref inputs "linux-module-builder") "/lib/modules/build") (string-append "M=" (getcwd)) - (string-append "DEPMOD=" kmod "/bin/depmod") + ;; Disable depmod because the Guix system's module directory + ;; is an union of potentially multiple packages. It is not + ;; possible to use depmod to usefully calculate a dependency + ;; graph while building only one of those packages. + "DEPMOD=true" (string-append "MODULE_DIR=" moddir) (string-append "INSTALL_PATH=" out) (string-append "INSTALL_MOD_PATH=" out) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index 3c0ac2a12b..7799f03595 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -133,10 +133,7 @@ the @file{bin} directory." (symlink (string-append target "/node_modules/" modulename "/" value) (string-append binaries "/" key)))))) - binary-configuration)) - (else - (symlink (string-append target "/node_modules/" modulename "/bin") - binaries))) + binary-configuration))) (when dependencies (mkdir-p (string-append target "/node_modules/" modulename "/node_modules")) diff --git a/guix/colors.scm b/guix/colors.scm index b63ac37027..3031f54799 100644 --- a/guix/colors.scm +++ b/guix/colors.scm @@ -131,8 +131,7 @@ that subsequent output will not have any colors in effect." (define (color-output? port) "Return true if we should write colored output to PORT." - (and (not (getenv "INSIDE_EMACS")) - (not (getenv "NO_COLOR")) + (and (not (getenv "NO_COLOR")) (isatty?* port))) (define (coloring-procedure color) diff --git a/guix/import/github.scm b/guix/import/github.scm index df5f6ff32f..7136e7a34f 100644 --- a/guix/import/github.scm +++ b/guix/import/github.scm @@ -154,18 +154,16 @@ empty list." ;; Ask for version 3 of the API as suggested at ;; <https://developer.github.com/v3/>. `((Accept . "application/vnd.github.v3+json") - (user-agent . "GNU Guile"))) + (user-agent . "GNU Guile") + ,@(if (%github-token) + `((Authorization . ,(string-append "token " (%github-token)))) + '()))) - (define (decorate url) - (if (%github-token) - (string-append url "?access_token=" (%github-token)) - url)) - - (match (json-fetch (decorate release-url) #:headers headers) + (match (json-fetch release-url #:headers headers) (#() ;; We got the empty list, presumably because the user didn't use GitHub's ;; "release" mechanism, but hopefully they did use Git tags. - (json-fetch (decorate tag-url) #:headers headers)) + (json-fetch tag-url #:headers headers)) (x x))) (define (latest-released-version url package-name) diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm index 6897f42be3..10450155a0 100644 --- a/guix/import/pypi.scm +++ b/guix/import/pypi.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> +;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -439,10 +440,12 @@ VERSION, SOURCE-URL, HOME-PAGE, SYNOPSIS, DESCRIPTION, and LICENSE." (match str ("GNU LGPL" license:lgpl2.0) ("GPL" license:gpl3) - ((or "BSD" "BSD License") license:bsd-3) - ((or "MIT" "MIT license" "Expat license") license:expat) + ((or "BSD" "BSD-3" "BSD License") license:bsd-3) + ("BSD-2-Clause" license:bsd-2) + ((or "MIT" "MIT license" "MIT License" "Expat license") license:expat) ("Public domain" license:public-domain) ((or "Apache License, Version 2.0" "Apache 2.0") license:asl2.0) + ("MPL 2.0" license:mpl2.0) (_ #f))) (define (pypi-package? package) diff --git a/guix/scripts.scm b/guix/scripts.scm index 77cbf12350..e235c8d4c3 100644 --- a/guix/scripts.scm +++ b/guix/scripts.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Deck Pickard <deck.r.pickard@gmail.com> ;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com> ;;; @@ -181,32 +181,71 @@ Show what and how will/would be built." (newline (guix-warning-port)))) (define %disk-space-warning - ;; The fraction (between 0 and 1) of free disk space below which a warning - ;; is emitted. - (make-parameter (match (and=> (getenv "GUIX_DISK_SPACE_WARNING") - string->number) - (#f .05) ;5% - (threshold (/ threshold 100.))))) + ;; Return a pair of absolute threshold (number of bytes) and relative + ;; threshold (fraction between 0 and 1) for the free disk space below which + ;; a warning is emitted. + ;; GUIX_DISK_SPACE_WARNING can contain both thresholds. A value in [0;100) + ;; is a relative threshold, otherwise it's absolute. The following + ;; example values are valid: + ;; - 1GiB;10% ;1 GiB absolute, and 10% relative. + ;; - 15G ;15 GiB absolute, and default relative. + ;; - 99% ;99% relative, and default absolute. + ;; - 99 ;Same. + ;; - 100 ;100 absolute, and default relative. + (let* ((default-absolute-threshold (size->number "5GiB")) + (default-relative-threshold 0.05) + (percentage->float (lambda (percentage) + (or (and=> (string->number + (car (string-split percentage #\%))) + (lambda (n) (/ n 100.0))) + default-relative-threshold))) + (size->number* (lambda (size) + (or (false-if-exception (size->number size)) + default-absolute-threshold))) + (absolute? (lambda (size) + (not (or (string-suffix? "%" size) + (false-if-exception (< (size->number size) 100))))))) + (make-parameter + (match (getenv "GUIX_DISK_SPACE_WARNING") + (#f (list default-absolute-threshold + default-relative-threshold)) + (env-string (match (string-split env-string #\;) + ((threshold) + (if (absolute? threshold) + (list (size->number* threshold) + default-relative-threshold) + (list default-absolute-threshold + (percentage->float threshold)))) + ((threshold1 threshold2) + (if (absolute? threshold1) + (list (size->number* threshold1) + (percentage->float threshold2)) + (list (size->number* threshold2) + (percentage->float threshold1)))))))))) (define* (warn-about-disk-space #:optional profile #:key - (threshold (%disk-space-warning))) + (thresholds (%disk-space-warning))) "Display a hint about 'guix gc' if less than THRESHOLD of /gnu/store is -available." +available. +THRESHOLDS is a pair (ABSOLUTE-THRESHOLD . RELATIVE-THRESHOLD)." + (define GiB (expt 2 30)) + (let* ((stats (statfs (%store-prefix))) (block-size (file-system-block-size stats)) (available (* block-size (file-system-blocks-available stats))) (total (* block-size (file-system-block-count stats))) - (ratio (/ available total 1.))) - (when (< ratio threshold) - (warning (G_ "only ~,1f% of free space available on ~a~%") - (* ratio 100) (%store-prefix)) + (relative-threshold-in-bytes (* total (cadr thresholds))) + (absolute-threshold-in-bytes (car thresholds))) + (when (< available (max relative-threshold-in-bytes + absolute-threshold-in-bytes)) + (warning (G_ "only ~,1f GiB of free space available on ~a~%") + (/ available 1. GiB) (%store-prefix)) (display-hint (format #f (G_ "Consider deleting old profile generations and collecting garbage, along these lines: @example guix gc --delete-generations=1m -@end example\n") - profile))))) +@end example\n")))))) ;;; scripts.scm ends here diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index 1cb0d382bf..d2f4f1ccd3 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -81,12 +81,15 @@ "Ensure the default profile symlink and directory exist and are writable." (ensure-profile-directory) - ;; Create ~/.guix-profile if it doesn't exist yet. + ;; Try to create ~/.guix-profile if it doesn't exist yet. (when (and %user-profile-directory %current-profile (not (false-if-exception (lstat %user-profile-directory)))) - (symlink %current-profile %user-profile-directory))) + (catch 'system-error + (lambda () + (symlink %current-profile %user-profile-directory)) + (const #t)))) (define (delete-generations store profile generations) "Delete GENERATIONS from PROFILE. diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index e69a3b6c97..ac2475c551 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -517,12 +517,7 @@ list of services." (cond ((uuid? root-device) 0) ((file-system-label? root-device) 1) (else 2)) - (cond ((uuid? root-device) - (uuid->string root-device)) - ((file-system-label? root-device) - (file-system-label->string root-device)) - (else - root-device))) + (file-system-device->string root-device)) (format #t (G_ " kernel: ~a~%") kernel) @@ -571,6 +566,8 @@ any, are available. Raise an error if they're not." (and (file-system-mount? fs) (not (member (file-system-type fs) %pseudo-file-system-types)) + ;; Don't try to validate network file systems. + (not (string-prefix? "nfs" (file-system-type fs))) (not (memq 'bind-mount (file-system-flags fs))))) file-systems)) diff --git a/guix/ssh.scm b/guix/ssh.scm index 291ce20b61..56b49b177f 100644 --- a/guix/ssh.scm +++ b/guix/ssh.scm @@ -157,11 +157,16 @@ server at '~a': ~a") (session-set! session 'timeout timeout) session) (x - (disconnect! session) - (raise (condition - (&message - (message (format #f (G_ "SSH authentication failed for '~a': ~a~%") - host (get-error session))))))))) + (match (userauth-gssapi! session) + ('success + (session-set! session 'timeout timeout) + session) + (x + (disconnect! session) + (raise (condition + (&message + (message (format #f (G_ "SSH authentication failed for '~a': ~a~%") + host (get-error session))))))))))) (x ;; Connection failed or timeout expired. (raise (condition diff --git a/guix/store/deduplication.scm b/guix/store/deduplication.scm index d42c40932c..80868692c0 100644 --- a/guix/store/deduplication.scm +++ b/guix/store/deduplication.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Caleb Ristvedt <caleb.ristvedt@cune.org> -;;; Copyright © 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,7 +23,7 @@ (define-module (guix store deduplication) #:use-module (gcrypt hash) #:use-module (guix build utils) - #:use-module (guix base16) + #:use-module (guix base32) #:use-module (srfi srfi-11) #:use-module (rnrs io ports) #:use-module (ice-9 ftw) @@ -140,7 +140,7 @@ PATH so that future duplicates can hardlink to it. PATH is assumed to be under STORE." (let* ((links-directory (string-append store "/.links")) (link-file (string-append links-directory "/" - (bytevector->base16-string hash)))) + (bytevector->nix-base32-string hash)))) (mkdir-p links-directory) (if (eq? 'directory (stat:type (lstat path))) ;; Can't hardlink directories, so hardlink their atoms. diff --git a/guix/swh.scm b/guix/swh.scm index 8bdf9965f6..ec744fed2f 100644 --- a/guix/swh.scm +++ b/guix/swh.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -126,9 +127,16 @@ (make-parameter "https://archive.softwareheritage.org")) (define (swh-url path . rest) + ;; URLs returned by the API may be relative or absolute. This has changed + ;; without notice before. Handle both cases by detecting whether the path + ;; starts with a domain. + (define root + (if (string-prefix? "/" path) + (string-append (%swh-base-url) path) + path)) + (define url - (string-append (%swh-base-url) path - (string-join rest "/" 'prefix))) + (string-append root (string-join rest "/" 'prefix))) ;; Ensure there's a trailing slash or we get a redirect. (if (string-suffix? "/" url) diff --git a/guix/ui.scm b/guix/ui.scm index dce97fb7b9..fbe2b70485 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -591,7 +591,8 @@ nicely." \"1MiB\", to a number of bytes. Raise an error if STR could not be interpreted." (define unit-pos - (string-rindex str char-set:digit)) + (string-rindex str + (char-set-union (char-set #\.) char-set:digit))) (define unit (and unit-pos (substring str (+ 1 unit-pos)))) @@ -1472,7 +1473,8 @@ them. If PORT is a terminal, print at most a full screen of results." #:hyperlinks? links? #:extra-fields `((relevance . ,score))))))) - (if (and max-rows + (if (and (not (getenv "INSIDE_EMACS")) + max-rows (> (port-line port) first-line) ;print at least one result (> (+ 4 (line-count text) (port-line port)) max-rows)) diff --git a/m4/guix.m4 b/m4/guix.m4 index 8be7cca54f..961ce838ac 100644 --- a/m4/guix.m4 +++ b/m4/guix.m4 @@ -142,13 +142,14 @@ dnl GUIX_CHECK_GUILE_SSH dnl dnl Check whether a recent-enough Guile-SSH is available. AC_DEFUN([GUIX_CHECK_GUILE_SSH], [ - dnl Check whether 'channel-send-eof' (introduced in 0.10.2) is present. + dnl Check whether 'userauth-gssapi!' (introduced in 0.12.0) is present. AC_CACHE_CHECK([whether Guile-SSH is available and recent enough], [guix_cv_have_recent_guile_ssh], [GUILE_CHECK([retval], [(and (@ (ssh channel) channel-send-eof) (@ (ssh popen) open-remote-pipe) - (@ (ssh dist node) node-eval))]) + (@ (ssh dist node) node-eval) + (@ (ssh auth) userauth-gssapi!))]) if test "$retval" = 0; then guix_cv_have_recent_guile_ssh="yes" else diff --git a/nix/libstore/gc.cc b/nix/libstore/gc.cc index 77d7fa2dc7..8bc4e01eb0 100644 --- a/nix/libstore/gc.cc +++ b/nix/libstore/gc.cc @@ -581,15 +581,27 @@ void LocalStore::removeUnusedLinks(const GCState & state) #ifdef HAVE_STATX # define st_size stx_size # define st_nlink stx_nlink + static int statx_flags = AT_SYMLINK_NOFOLLOW | AT_STATX_DONT_SYNC; struct statx st; - if (statx(AT_FDCWD, path.c_str(), - AT_SYMLINK_NOFOLLOW | AT_STATX_DONT_SYNC, - STATX_SIZE | STATX_NLINK, &st) == -1) + + if (statx(AT_FDCWD, path.c_str(), statx_flags, + STATX_SIZE | STATX_NLINK, &st) == -1) { + if (errno == EINVAL) { + /* Old 3.10 kernels (CentOS 7) don't support + AT_STATX_DONT_SYNC, so try again without it. */ + statx_flags &= ~AT_STATX_DONT_SYNC; + if (statx(AT_FDCWD, path.c_str(), statx_flags, + STATX_SIZE | STATX_NLINK, &st) == -1) + throw SysError(format("statting `%1%'") % path); + } else { + throw SysError(format("statting `%1%'") % path); + } + } #else struct stat st; if (lstat(path.c_str(), &st) == -1) -#endif throw SysError(format("statting `%1%'") % path); +#endif if (st.st_nlink != 1) { actualSize += st.st_size; diff --git a/po/doc/guix-cookbook.de.po b/po/doc/guix-cookbook.de.po new file mode 100644 index 0000000000..4bb57d980c --- /dev/null +++ b/po/doc/guix-cookbook.de.po @@ -0,0 +1,3395 @@ +# German translations for the Guix Cookbook. +# Copyright (C) 2020 Ludovic Courtès +# This file is distributed under the same license as the guix package. +# Florian Pelz <pelzflorian@pelzflorian.de>, 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: guix 1.0.1.4876-09145-dirty\n" +"Report-Msgid-Bugs-To: ludo@gnu.org\n" +"POT-Creation-Date: 2020-02-14 08:04+0100\n" +"PO-Revision-Date: 2020-02-17 06:51+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:7 +msgid "@documentencoding UTF-8" +msgstr "" +"@documentencoding UTF-8\n" +"@documentlanguage de\n" +"@frenchspacing on" + +#. type: top +#: doc/guix-cookbook.texi:7 doc/guix-cookbook.texi:29 doc/guix-cookbook.texi:43 +#, no-wrap +msgid "GNU Guix Cookbook" +msgstr "GNU-Guix-Kochbuch" + +#. type: copying +#: doc/guix-cookbook.texi:14 +msgid "Copyright @copyright{} 2019 Ricardo Wurmus@* Copyright @copyright{} 2019 Efraim Flashner@* Copyright @copyright{} 2019 Pierre Neidhardt@*" +msgstr "Copyright @copyright{} 2019 Ricardo Wurmus@* Copyright @copyright{} 2019 Efraim Flashner@* Copyright @copyright{} 2019 Pierre Neidhardt@*" + +#. type: copying +#: doc/guix-cookbook.texi:21 +msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''." +msgstr "Es ist Ihnen gestattet, dieses Dokument zu vervielfältigen, weiterzugeben und/oder zu verändern, unter den Bedingungen der GNU Free Documentation License, entweder gemäß Version 1.3 der Lizenz oder (nach Ihrer Option) einer späteren Version, die von der Free Software Foundation veröffentlicht wurde, ohne unveränderliche Abschnitte, ohne vorderen Umschlagtext und ohne hinteren Umschlagtext. Eine Kopie der Lizenz finden Sie im Abschnitt mit dem Titel „GNU Free Documentation License“." + +#. type: dircategory +#: doc/guix-cookbook.texi:23 +#, no-wrap +msgid "System administration" +msgstr "Systemadministration" + +#. type: menuentry +#: doc/guix-cookbook.texi:26 +msgid "Guix cookbook: (guix-cookbook)" +msgstr "Guix-Kochbuch: (guix-cookbook.de)" + +#. type: menuentry +#: doc/guix-cookbook.texi:26 +msgid "Tutorials and examples for GNU Guix." +msgstr "Anleitungen und Beispiele für GNU Guix." + +#. type: subtitle +#: doc/guix-cookbook.texi:30 +#, no-wrap +msgid "Tutorials and examples for using the GNU Guix Functional Package Manager" +msgstr "Anleitungen und Beispiele, wie man den funktionalen Paketmanager GNU Guix benutzt" + +#. type: author +#: doc/guix-cookbook.texi:31 +#, no-wrap +msgid "The GNU Guix Developers" +msgstr "Die Entwickler von GNU Guix" + +#. type: node +#: doc/guix-cookbook.texi:42 +#, no-wrap +msgid "Top" +msgstr "Top" + +#. type: Plain text +#: doc/guix-cookbook.texi:49 +msgid "This document presents tutorials and detailed examples for GNU@tie{}Guix, a functional package management tool written for the GNU system. Please @pxref{Top,,, guix, GNU Guix reference manual} for details about the system, its API, and related concepts." +msgstr "Dieses Dokument stellt Anleitungen und detaillierte Beispiele vor, wie man GNU@tie{}Guix benutzt, ein Werkzeug zur funktionalen Paketverwaltung, das für das GNU-System geschrieben wurde. Bitte lesen Sie Details zum System, seinen Programmierschnittstellen und ähnlichen Konzepten im @ref{Top,,, guix.de, Referenzhandbuch zu GNU Guix} nach." + +#. type: Plain text +#: doc/guix-cookbook.texi:56 +msgid "If you would like to translate this document in your native language, consider joining the @uref{https://translationproject.org/domain/guix-cookbook.html, Translation Project}." +msgstr "Wenn Sie dieses Dokument in Ihre eigene Sprache übersetzen möchten, dann sind Sie beim @uref{https://translationproject.org/domain/guix-cookbook.html, Translation Project} herzlich willkommen." + +#. type: chapter +#: doc/guix-cookbook.texi:62 doc/guix-cookbook.texi:71 +#: doc/guix-cookbook.texi:87 doc/guix-cookbook.texi:88 +#, no-wrap +msgid "Scheme tutorials" +msgstr "Anleitungen zu Scheme" + +#. type: menuentry +#: doc/guix-cookbook.texi:62 +msgid "Meet your new favorite language!" +msgstr "Lernen Sie Ihre neue Lieblingssprache kennen!" + +#. type: chapter +#: doc/guix-cookbook.texi:62 doc/guix-cookbook.texi:75 +#: doc/guix-cookbook.texi:291 doc/guix-cookbook.texi:292 +#, no-wrap +msgid "Packaging" +msgstr "Paketerstellung" + +#. type: menuentry +#: doc/guix-cookbook.texi:62 +msgid "Packaging tutorials" +msgstr "Anleitungen, wie man Pakete erstellt." + +#. type: chapter +#: doc/guix-cookbook.texi:62 doc/guix-cookbook.texi:79 +#: doc/guix-cookbook.texi:1311 doc/guix-cookbook.texi:1312 +#, no-wrap +msgid "System Configuration" +msgstr "Systemkonfiguration" + +#. type: menuentry +#: doc/guix-cookbook.texi:62 +msgid "Customizing the GNU System" +msgstr "Das GNU-System anpassen." + +#. type: chapter +#: doc/guix-cookbook.texi:62 doc/guix-cookbook.texi:1566 +#: doc/guix-cookbook.texi:1567 +#, no-wrap +msgid "Advanced package management" +msgstr "Fortgeschrittene Paketverwaltung" + +# angelehnt an Alle Macht dem Volke in Übersetzung von Die Mutter +#. type: menuentry +#: doc/guix-cookbook.texi:62 +msgid "Power to the users!" +msgstr "Alle Macht den Nutzern!" + +#. type: chapter +#: doc/guix-cookbook.texi:66 doc/guix-cookbook.texi:1964 +#: doc/guix-cookbook.texi:1965 +#, no-wrap +msgid "Acknowledgments" +msgstr "Danksagungen" + +#. type: menuentry +#: doc/guix-cookbook.texi:66 +msgid "Thanks!" +msgstr "Danke!" + +#. type: appendix +#: doc/guix-cookbook.texi:66 doc/guix-cookbook.texi:1989 +#: doc/guix-cookbook.texi:1990 +#, no-wrap +msgid "GNU Free Documentation License" +msgstr "GNU-Lizenz für freie Dokumentation" + +#. type: menuentry +#: doc/guix-cookbook.texi:66 +msgid "The license of this document." +msgstr "Die Lizenz dieses Dokuments." + +#. type: unnumbered +#: doc/guix-cookbook.texi:66 doc/guix-cookbook.texi:1995 +#: doc/guix-cookbook.texi:1996 +#, no-wrap +msgid "Concept Index" +msgstr "Konzeptverzeichnis" + +#. type: menuentry +#: doc/guix-cookbook.texi:66 +msgid "Concepts." +msgstr "Konzepte." + +#. type: menuentry +#: doc/guix-cookbook.texi:69 +msgid "--- The Detailed Node Listing ---" +msgstr "--- Detaillierte Liste der Knoten ---" + +#. type: section +#: doc/guix-cookbook.texi:73 doc/guix-cookbook.texi:101 +#: doc/guix-cookbook.texi:102 +#, no-wrap +msgid "A Scheme Crash Course" +msgstr "Ein Schnellkurs in Scheme" + +#. type: menuentry +#: doc/guix-cookbook.texi:73 +msgid "Learn the basics of Scheme" +msgstr "Die Grundzüge von Scheme erlernen." + +#. type: section +#: doc/guix-cookbook.texi:77 doc/guix-cookbook.texi:303 +#: doc/guix-cookbook.texi:305 doc/guix-cookbook.texi:306 +#, no-wrap +msgid "Packaging Tutorial" +msgstr "Anleitung zum Paketeschreiben" + +#. type: menuentry +#: doc/guix-cookbook.texi:77 +msgid "Let's add a package to Guix!" +msgstr "Lasst uns ein Paket zu Guix beitragen!" + +#. type: section +#: doc/guix-cookbook.texi:81 doc/guix-cookbook.texi:1323 +#: doc/guix-cookbook.texi:1325 doc/guix-cookbook.texi:1326 +#, no-wrap +msgid "Customizing the Kernel" +msgstr "Den Kernel anpassen" + +#. type: menuentry +#: doc/guix-cookbook.texi:81 +msgid "Creating and using a custom Linux kernel" +msgstr "Einen eigenen Linux-Kernel benutzen" + +#. type: Plain text +#: doc/guix-cookbook.texi:94 +msgid "GNU@tie{}Guix is written in the general purpose programming language Scheme, and many of its features can be accessed and manipulated programmatically. You can use Scheme to generate package definitions, to modify them, to build them, to deploy whole operating systems, etc." +msgstr "GNU@tie{}Guix ist in Scheme geschrieben, einer für alle Anwendungszwecke geeigneten Programmiersprache, und viele Funktionalitäten von Guix können programmatisch angesteuert und verändert werden. Sie können Scheme benutzen, um Paketdefinitionen zu erzeugen, abzuändern, ganze Betriebssysteme einzuspielen etc." + +#. type: Plain text +#: doc/guix-cookbook.texi:98 +msgid "Knowing the basics of how to program in Scheme will unlock many of the advanced features Guix provides --- and you don't even need to be an experienced programmer to use them!" +msgstr "Wenn man die Grundzüge kennt, wie man in Scheme programmiert, bekommt man Zugang zu vielen der fortgeschrittenen Funktionen von Guix — und Sie müssen dazu nicht einmal ein erfahrener Programmierer sein!" + +#. type: Plain text +#: doc/guix-cookbook.texi:100 +msgid "Let's get started!" +msgstr "Legen wir los!" + +#. type: cindex +#: doc/guix-cookbook.texi:104 +#, no-wrap +msgid "Scheme, crash course" +msgstr "Scheme, Schnellkurs" + +#. type: Plain text +#: doc/guix-cookbook.texi:110 +msgid "Guix uses the Guile implementation of Scheme. To start playing with the language, install it with @code{guix install guile} and start a @uref{https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop, REPL} by running @code{guile} from the command line." +msgstr "Die von Guix benutzte Scheme-Implementierung nennt sich Guile. Um mit der Sprache herumspielen zu können, installieren Sie Guile mit @code{guix install guile} und starten eine interaktive Programmierumgebung (englisch @uref{https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop, REPL}), indem Sie @code{guile} auf der Befehlszeile ausführen." + +#. type: Plain text +#: doc/guix-cookbook.texi:113 +msgid "Alternatively you can also run @code{guix environment --ad-hoc guile -- guile} if you'd rather not have Guile installed in your user profile." +msgstr "Alternativ können Sie auch den Befehl @code{guix environment --ad-hoc guile -- guile} ausführen, wenn Sie Guile lieber @emph{nicht} in Ihr Nutzerprofil installieren wollen." + +#. type: Plain text +#: doc/guix-cookbook.texi:119 +msgid "In the following examples, lines show what you would type at the REPL; lines starting with ``@result{}'' show evaluation results, while lines starting with ``@print{}'' show things that get printed. @xref{Using Guile Interactively,,, guile, GNU Guile Reference Manual}), for more details on the REPL." +msgstr "In den folgenden Beispielen stehen die Zeilen dafür, was Sie auf der REPL eintippen; wenn eine Zeile mit „@result{}“ beginnt, zeigt sie das Ergebnis einer Auswertung, während Zeilen, die mit „@print{}“ beginnen, für eine angezeigte Ausgabe stehen. Siehe @ref{Using Guile Interactively,,, guile, GNU Guile Reference Manual} für mehr Details zur REPL." + +#. type: itemize +#: doc/guix-cookbook.texi:126 +msgid "Scheme syntax boils down to a tree of expressions (or @emph{s-expression} in Lisp lingo). An expression can be a literal such as numbers and strings, or a compound which is a parenthesized list of compounds and literals. @code{#t} and @code{#f} stand for the Booleans ``true'' and ``false'', respectively." +msgstr "Die Scheme-Syntax ist an sich ein Baum von Ausdrücken (Lisp-Programmierer nennen sie @emph{symbolische Ausdrücke}, kurz @emph{S-Ausdrücke} bzw.@: englisch @emph{s-expression}). Ein solcher Ausdruck kann ein Literal sein, wie z.B.@: Zahlen oder Zeichenketten, oder er kann ein zusammengesetzter Ausdruck sein, d.h.@: eine geklammerte Liste von zusammengesetzten und literalen Ausdrücken. Dabei stehen @code{#t} und @code{#f} jeweils für die Booleschen Werte „wahr“ und „falsch“." + +#. type: itemize +#: doc/guix-cookbook.texi:128 +msgid "Examples of valid expressions:" +msgstr "Beispiele für gültige Ausdrücke" + +#. type: lisp +#: doc/guix-cookbook.texi:132 +#, no-wrap +msgid "" +"\"Hello World!\"\n" +"@result{} \"Hello World!\"\n" +"\n" +msgstr "" +"\"Hallo Welt!\"\n" +"@result{} \"Hallo Welt!\"\n" +"\n" + +#. type: lisp +#: doc/guix-cookbook.texi:135 +#, no-wrap +msgid "" +"17\n" +"@result{} 17\n" +"\n" +msgstr "" +"17\n" +"@result{} 17\n" +"\n" + +#. type: lisp +#: doc/guix-cookbook.texi:139 +#, no-wrap +msgid "" +"(display (string-append \"Hello \" \"Guix\" \"\\n\"))\n" +"@print{} Hello Guix!\n" +"@result{} #<unspecified>\n" +msgstr "" +"(display (string-append \"Hallo \" \"Guix\" \"\\n\"))\n" +"@print{} Hallo Guix!\n" +"@result{} #<unspecified>\n" + +#. type: itemize +#: doc/guix-cookbook.texi:146 +msgid "This last example is a function call nested in another function call. When a parenthesized expression is evaluated, the first term is the function and the rest are the arguments passed to the function. Every function returns the last evaluated expression as its return value." +msgstr "Das letzte Beispiel eben ist der Aufruf einer Funktion innerhalb eines anderen Funktionsaufrufs. Wenn ein geklammerter Ausdruck ausgewertet wird, ist der erste Term die Funktion und der Rest sind die Argumente, die an die Funktion übergeben werden. Jede Funktion liefert ihren zuletzt ausgewerteten Ausdruck als ihren Rückgabewert." + +#. type: itemize +#: doc/guix-cookbook.texi:149 +msgid "Anonymous functions are declared with the @code{lambda} term:" +msgstr "Anonyme Funktionen werden mit dem @code{lambda}-Term deklariert:" + +#. type: lisp +#: doc/guix-cookbook.texi:153 +#, no-wrap +msgid "" +"(lambda (x) (* x x))\n" +"@result{} #<procedure 120e348 at <unknown port>:24:0 (x)>\n" +msgstr "" +"(lambda (x) (* x x))\n" +"@result{} #<procedure 120e348 at <unknown port>:24:0 (x)>\n" + +#. type: itemize +#: doc/guix-cookbook.texi:158 +msgid "The above procedure returns the square of its argument. Since everything is an expression, the @code{lambda} expression returns an anonymous procedure, which can in turn be applied to an argument:" +msgstr "Die obige Prozedur liefert das Quadrat ihres Arguments. Weil alles ein Ausdruck ist, liefert der Ausdruck @code{lambda} eine anonyme Prozedur, die wiederum auf ein Argument angewandt werden kann:" + +#. type: lisp +#: doc/guix-cookbook.texi:162 +#, no-wrap +msgid "" +"((lambda (x) (* x x)) 3)\n" +"@result{} 9\n" +msgstr "" +"((lambda (x) (* x x)) 3)\n" +"@result{} 9\n" + +#. type: itemize +#: doc/guix-cookbook.texi:166 +msgid "Anything can be assigned a global name with @code{define}:" +msgstr "Allem kann mit @code{define} ein globaler Name zugewiesen werden:" + +#. type: lisp +#: doc/guix-cookbook.texi:172 +#, no-wrap +msgid "" +"(define a 3)\n" +"(define square (lambda (x) (* x x)))\n" +"(square a)\n" +"@result{} 9\n" +msgstr "" +"(define a 3)\n" +"(define quadrat (lambda (x) (* x x)))\n" +"(quadrat a)\n" +"@result{} 9\n" + +#. type: itemize +#: doc/guix-cookbook.texi:176 +msgid "Procedures can be defined more concisely with the following syntax:" +msgstr "Prozeduren können auch kürzer mit der folgenden Syntax definiert werden:" + +#. type: lisp +#: doc/guix-cookbook.texi:179 +#, no-wrap +msgid "(define (square x) (* x x))\n" +msgstr "(define (quadrat x) (* x x))\n" + +#. type: itemize +#: doc/guix-cookbook.texi:183 +msgid "A list structure can be created with the @code{list} procedure:" +msgstr "Eine Listenstruktur kann mit der @code{list}-Prozedur erzeugt werden:" + +#. type: lisp +#: doc/guix-cookbook.texi:187 +#, no-wrap +msgid "" +"(list 2 a 5 7)\n" +"@result{} (2 3 5 7)\n" +msgstr "" +"(list 2 a 5 7)\n" +"@result{} (2 3 5 7)\n" + +#. type: itemize +#: doc/guix-cookbook.texi:194 +msgid "The @dfn{quote} disables evaluation of a parenthesized expression: the first term is not called over the other terms (@pxref{Expression Syntax, quote,, guile, GNU Guile Reference Manual}). Thus it effectively returns a list of terms." +msgstr "Mit dem @dfn{quote}-Zeichen wird das Auswerten eines geklammerten Ausdrucks abgeschaltet: Der erste Term wird @emph{nicht} auf den anderen Termen aufgerufen (siehe @ref{Expression Syntax, quote,, guile, GNU Guile Reference Manual}). Folglich liefert es quasi eine Liste von Termen." + +#. type: lisp +#: doc/guix-cookbook.texi:198 +#, no-wrap +msgid "" +"'(display (string-append \"Hello \" \"Guix\" \"\\n\"))\n" +"@result{} (display (string-append \"Hello \" \"Guix\" \"\\n\"))\n" +"\n" +msgstr "" +"'(display (string-append \"Hello \" \"Guix\" \"\\n\"))\n" +"@result{} (display (string-append \"Hello \" \"Guix\" \"\\n\"))\n" +"\n" + +#. type: lisp +#: doc/guix-cookbook.texi:201 +#, no-wrap +msgid "" +"'(2 a 5 7)\n" +"@result{} (2 a 5 7)\n" +msgstr "" +"'(2 a 5 7)\n" +"@result{} (2 a 5 7)\n" + +#. type: itemize +#: doc/guix-cookbook.texi:207 +msgid "The @dfn{quasiquote} disables evaluation of a parenthesized expression until @dfn{unquote} (a comma) re-enables it. Thus it provides us with fine-grained control over what is evaluated and what is not." +msgstr "Mit einem @dfn{quasiquote}-Zeichen wird die Auswertung eines geklammerten Ausdrucks so lange abgeschaltet, bis ein @dfn{unquote} (ein Komma) sie wieder aktiviert. Wir können damit genau steuern, was ausgewertet wird und was nicht." + +#. type: lisp +#: doc/guix-cookbook.texi:211 +#, no-wrap +msgid "" +"`(2 a 5 7 (2 ,a 5 ,(+ a 4)))\n" +"@result{} (2 a 5 7 (2 3 5 7))\n" +msgstr "" +"`(2 a 5 7 (2 ,a 5 ,(+ a 4)))\n" +"@result{} (2 a 5 7 (2 3 5 7))\n" + +#. type: itemize +#: doc/guix-cookbook.texi:215 +msgid "Note that the above result is a list of mixed elements: numbers, symbols (here @code{a}) and the last element is a list itself." +msgstr "Beachten Sie, dass obiges Ergenis eine Liste verschiedenartiger Elemente ist: Zahlen, Symbole (in diesem Fall @code{a}) und als letztes Element selbst wieder eine Liste." + +#. type: itemize +#: doc/guix-cookbook.texi:219 +msgid "Multiple variables can be named locally with @code{let} (@pxref{Local Bindings,,, guile, GNU Guile Reference Manual}):" +msgstr "Mehrere Variable können in einer lokalen Umgebung mit Bezeichnern versehen werden, indem Sie @code{let} benutzen (siehe @ref{Local Bindings,,, guile, GNU Guile Reference Manual}):" + +#. type: lisp +#: doc/guix-cookbook.texi:226 +#, no-wrap +msgid "" +"(define x 10)\n" +"(let ((x 2)\n" +" (y 3))\n" +" (list x y))\n" +"@result{} (2 3)\n" +"\n" +msgstr "" +"(define x 10)\n" +"(let ((x 2)\n" +" (y 3))\n" +" (list x y))\n" +"@result{} (2 3)\n" +"\n" + +#. type: lisp +#: doc/guix-cookbook.texi:229 +#, no-wrap +msgid "" +"x\n" +"@result{} 10\n" +"\n" +msgstr "" +"x\n" +"@result{} 10\n" +"\n" + +#. type: lisp +#: doc/guix-cookbook.texi:232 +#, no-wrap +msgid "" +"y\n" +"@error{} In procedure module-lookup: Unbound variable: y\n" +msgstr "" +"y\n" +"@error{} In procedure module-lookup: Unbound variable: y\n" + +#. type: itemize +#: doc/guix-cookbook.texi:236 +msgid "Use @code{let*} to allow later variable declarations to refer to earlier definitions." +msgstr "Benutzen Sie @code{let*}, damit spätere Variablendeklarationen auf frühere verweisen können." + +#. type: lisp +#: doc/guix-cookbook.texi:242 +#, no-wrap +msgid "" +"(let* ((x 2)\n" +" (y (* x 3)))\n" +" (list x y))\n" +"@result{} (2 6)\n" +msgstr "" +"(let* ((x 2)\n" +" (y (* x 3)))\n" +" (list x y))\n" +"@result{} (2 6)\n" + +#. type: itemize +#: doc/guix-cookbook.texi:247 +msgid "The keyword syntax is @code{#:}; it is used to create unique identifiers. @pxref{Keywords,,, guile, GNU Guile Reference Manual}." +msgstr "Die Syntax für Schlüsselwörter ist @code{#:}. Wir benutzen sie, um eindeutige Bezeichnungen zu erzeugen. Siehe @ref{Keywords,,, guile, GNU Guile Reference Manual}." + +#. type: itemize +#: doc/guix-cookbook.texi:252 +msgid "The percentage @code{%} is typically used for read-only global variables in the build stage. Note that it is merely a convention, like @code{_} in C. Scheme treats @code{%} exactly the same as any other letter." +msgstr "Das Prozentzeichen @code{%} wird in der Regel für globale Variable auf Erstellungsebene benutzt, auf die nur lesend zugegriffen werden soll. Beachten Sie, dass es sich dabei nur um eine Konvention handelt, ähnlich wie @code{_} in C. Scheme behandelt @code{%} genau wie jedes andere Zeichen." + +#. type: itemize +#: doc/guix-cookbook.texi:256 +msgid "Modules are created with @code{define-module} (@pxref{Creating Guile Modules,,, guile, GNU Guile Reference Manual}). For instance" +msgstr "Module werden mit Hilfe von @code{define-module} erzeugt (siehe @ref{Creating Guile Modules,,, guile, GNU Guile Reference Manual}). Zum Beispiel definiert man mit" + +#. type: lisp +#: doc/guix-cookbook.texi:262 +#, no-wrap +msgid "" +"(define-module (guix build-system ruby)\n" +" #:use-module (guix store)\n" +" #:export (ruby-build\n" +" ruby-build-system))\n" +msgstr "" +"(define-module (guix build-system ruby)\n" +" #:use-module (guix store)\n" +" #:export (ruby-build\n" +" ruby-build-system))\n" + +#. type: itemize +#: doc/guix-cookbook.texi:268 +msgid "defines the module @code{guix build-system ruby} which must be located in @file{guix/build-system/ruby.scm} somewhere in the Guile load path. It depends on the @code{(guix store)} module and it exports two variables, @code{ruby-build} and @code{ruby-build-system}." +msgstr "das Modul @code{guix build-system ruby}, das sich unter dem Pfad @file{guix/build-system/ruby.scm} innerhalb irgendeines Verzeichnisses im Guile-Ladepfad befinden muss. Es hat eine Abhängigkeit auf das Modul @code{(guix store)} und exportiert zwei seiner Variablen, @code{ruby-build} und @code{ruby-build-system}." + +#. type: Plain text +#: doc/guix-cookbook.texi:273 +msgid "For a more detailed introduction, check out @uref{http://www.troubleshooters.com/codecorn/scheme_guile/hello.htm, Scheme at a Glance}, by Steve Litt." +msgstr "Für eine detailliertere Einführung können Sie einen Blick auf Steve Litts @uref{http://www.troubleshooters.com/codecorn/scheme_guile/hello.htm, Scheme at a Glance} werfen." + +#. type: Plain text +#: doc/guix-cookbook.texi:285 +msgid "One of the reference Scheme books is the seminal ``Structure and Interpretation of Computer Programs'', by Harold Abelson and Gerald Jay Sussman, with Julie Sussman. You'll find a @uref{https://mitpress.mit.edu/sites/default/files/sicp/index.html, free copy online}, together with @uref{https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/video-lectures/, videos of the lectures by the authors}. The book is available in Texinfo format as the @code{sicp} Guix package. Go ahead, run @code{guix install sicp} and start reading with @code{info sicp} (@pxref{,,, sicp, Structure and Interpretation of Computer Programs}). An @uref{https://sarabander.github.io/sicp/, unofficial ebook is also available}." +msgstr "Eines der Referenzbücher zu Scheme ist das einflussreiche „Structure and Interpretation of Computer Programs“, von Harold Abelson und Gerald Jay Sussman, mit Julie Sussman. Eine deutsche Übersetzung „Struktur und Interpretation von Computerprogrammen“ hat Susanne Daniels-Herold verfasst. Vom englischen Original finden Sie eine @uref{https://mitpress.mit.edu/sites/default/files/sicp/index.html, kostenlose Ausgabe online} zusammen mit @uref{https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/video-lectures/, Videos der von den Autoren gehaltenen Vorlesungen}. Das Buch können Sie im Texinfo-Format über das @code{sicp}-Guix-Paket beziehen. Probieren Sie es aus: Führen Sie @code{guix install sicp} aus und fangen Sie mit dem Lesen an, indem Sie @code{info sicp} eintippen (siehe @ref{,,, sicp, Structure and Interpretation of Computer Programs}). Es gibt auch ein @uref{https://sarabander.github.io/sicp/, inoffizielles E-Book}." + +#. type: Plain text +#: doc/guix-cookbook.texi:288 +msgid "You'll find more books, tutorials and other resources at @url{https://schemers.org/}." +msgstr "Sie finden noch mehr Bücher, Anleitungen und andere Ressourcen auf @url{https://schemers.org/}." + +#. type: cindex +#: doc/guix-cookbook.texi:294 +#, no-wrap +msgid "packaging" +msgstr "Pakete schreiben" + +#. type: Plain text +#: doc/guix-cookbook.texi:300 +msgid "This chapter is dedicated to teaching you how to add packages to the collection of packages that come with GNU Guix. This involves writing package definitions in Guile Scheme, organizing them in package modules, and building them." +msgstr "In diesem Kapitel bringen wir Ihnen bei, wie Sie Pakete zur mit GNU Guix ausgelieferten Paketsammlung beitragen. Dazu gehört, Paketdefinitionen in Guile Scheme zu schreiben, sie in Paketmodulen zu organisieren und sie zu erstellen." + +#. type: menuentry +#: doc/guix-cookbook.texi:303 +msgid "A tutorial on how to add packages to Guix." +msgstr "Eine Anleitung, wie Sie Pakete zu Guix hinzufügen." + +#. type: Plain text +#: doc/guix-cookbook.texi:314 +msgid "GNU Guix stands out as the @emph{hackable} package manager, mostly because it uses @uref{https://www.gnu.org/software/guile/, GNU Guile}, a powerful high-level programming language, one of the @uref{https://en.wikipedia.org/wiki/Scheme_%28programming_language%29, Scheme} dialects from the @uref{https://en.wikipedia.org/wiki/Lisp_%28programming_language%29, Lisp family}." +msgstr "GNU Guix zeichnet sich in erster Linie deswegen als das @emph{hackbare} Paketverwaltungswerkzeug aus, weil es mit @uref{https://www.gnu.org/software/guile/, GNU Guile} arbeitet, einer mächtigen, hochsprachlichen Programmiersprache, die einen der Dialekte von @uref{https://de.wikipedia.org/wiki/Scheme, Scheme} darstellt. Scheme wiederum gehört zur @uref{https://de.wikipedia.org/wiki/Lisp, Lisp-Familie von Programmiersprachen}." + +#. type: Plain text +#: doc/guix-cookbook.texi:318 +msgid "Package definitions are also written in Scheme, which empowers Guix in some very unique ways, unlike most other package managers that use shell scripts or simple languages." +msgstr "Paketdefinitionen werden ebenso in Scheme geschrieben, wodurch Guix auf sehr einzigartige Weise mächtiger wird als die meisten anderen Paketverwaltungssysteme, die Shell-Skripte oder einfache Sprachen benutzen." + +#. type: itemize +#: doc/guix-cookbook.texi:323 +msgid "Use functions, structures, macros and all of Scheme expressiveness for your package definitions." +msgstr "Sie können sich Funktionen, Strukturen, Makros und all die Ausdrucksstärke von Scheme für Ihre Paketdefinitionen zu Nutze machen." + +#. type: itemize +#: doc/guix-cookbook.texi:327 +msgid "Inheritance makes it easy to customize a package by inheriting from it and modifying only what is needed." +msgstr "Durch Vererbung können Sie ohne viel Aufwand ein Paket anpassen, indem Sie von ihm erben lassen und nur das Nötige abändern." + +#. type: itemize +#: doc/guix-cookbook.texi:337 +msgid "Batch processing: the whole package collection can be parsed, filtered and processed. Building a headless server with all graphical interfaces stripped out? It's possible. Want to rebuild everything from source using specific compiler optimization flags? Pass the @code{#:make-flags \"...\"} argument to the list of packages. It wouldn't be a stretch to think @uref{https://wiki.gentoo.org/wiki/USE_flag, Gentoo USE flags} here, but this goes even further: the changes don't have to be thought out beforehand by the packager, they can be @emph{programmed} by the user!" +msgstr "Stapelverarbeitung („batch mode“) wird möglich; die ganze Paketsammlung kann analysiert, gefiltert und verarbeitet werden. Versuchen Sie, ein Serversystem ohne Bildschirm („headless“) auch tatsächlich von allen Grafikschnittstellen zu befreien? Das ist möglich. Möchten Sie alles von Neuem aus seinem Quellcode erstellen, aber mit eingeschalteten besonderen Compileroptimierungen? Übergeben Sie einfach das passende @code{#:make-flags \"...\"}-Argument an die Paketliste. Es wäre nicht übertrieben, hier an die @uref{https://wiki.gentoo.org/wiki/USE_flag, USE-Optionen von Gentoo} zu denken, aber das hier übertrifft sie: Der Paketautor muss vorher gar nicht darüber nachgedacht haben, der Nutzer kann sie selbst @emph{programmieren}!" + +#. type: Plain text +#: doc/guix-cookbook.texi:343 +msgid "The following tutorial covers all the basics around package creation with Guix. It does not assume much knowledge of the Guix system nor of the Lisp language. The reader is only expected to be familiar with the command line and to have some basic programming knowledge." +msgstr "Die folgende Anleitung erklärt alles Grundlegende über das Schreiben von Paketen mit Guix. Dabei setzen wir kein großes Wissen über das Guix-System oder die Lisp-Sprache voraus. Vom Leser wird nur erwartet, dass er mit der Befehlszeile vertraut ist und über grundlegende Programmierkenntnisse verfügt." + +#. type: subsection +#: doc/guix-cookbook.texi:344 doc/guix-cookbook.texi:345 +#, no-wrap +msgid "A ``Hello World'' package" +msgstr "Ein Hallo-Welt-Paket" + +#. type: Plain text +#: doc/guix-cookbook.texi:350 +msgid "The ``Defining Packages'' section of the manual introduces the basics of Guix packaging (@pxref{Defining Packages,,, guix, GNU Guix Reference Manual}). In the following section, we will partly go over those basics again." +msgstr "Der Abschnitt „Pakete definieren“ im Handbuch führt in die Grundlagen des Paketschreibens für Guix ein (siehe @ref{Pakete definieren,,, guix.de, Referenzhandbuch zu GNU Guix}). Im folgenden Abschnitt werden wir diese Grundlagen teilweise rekapitulieren." + +#. type: Plain text +#: doc/guix-cookbook.texi:356 +msgid "GNU@tie{}Hello is a dummy project that serves as an idiomatic example for packaging. It uses the GNU build system (@code{./configure && make && make install}). Guix already provides a package definition which is a perfect example to start with. You can look up its declaration with @code{guix edit hello} from the command line. Let's see how it looks:" +msgstr "GNU@tie{}Hello ist ein Projekt, das uns als Stellvertreter für „richtige“ Projekte und allgemeines Beispiel für das Schreiben von Paketen dient. Es verwendet das GNU-Erstellungssystem (@code{./configure && make && make install}). Guix stellt uns schon eine Paketdefinition zur Verfügung, die uns einen perfekten Ausgangspunkt bietet. Sie können sich ihre Deklaration anschauen, indem Sie @code{guix edit hello} von der Befehlszeile ausführen. Schauen wir sie uns an:" + +#. type: lisp +#: doc/guix-cookbook.texi:377 +#, no-wrap +msgid "" +"(define-public hello\n" +" (package\n" +" (name \"hello\")\n" +" (version \"2.10\")\n" +" (source (origin\n" +" (method url-fetch)\n" +" (uri (string-append \"mirror://gnu/hello/hello-\" version\n" +" \".tar.gz\"))\n" +" (sha256\n" +" (base32\n" +" \"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\"))))\n" +" (build-system gnu-build-system)\n" +" (synopsis \"Hello, GNU world: An example GNU package\")\n" +" (description\n" +" \"GNU Hello prints the message \\\"Hello, world!\\\" and then exits. It\n" +"serves as an example of standard GNU coding practices. As such, it supports\n" +"command-line arguments, multiple languages, and so on.\")\n" +" (home-page \"https://www.gnu.org/software/hello/\")\n" +" (license gpl3+)))\n" +msgstr "" +"(define-public hello\n" +" (package\n" +" (name \"hello\")\n" +" (version \"2.10\")\n" +" (source (origin\n" +" (method url-fetch)\n" +" (uri (string-append \"mirror://gnu/hello/hello-\" version\n" +" \".tar.gz\"))\n" +" (sha256\n" +" (base32\n" +" \"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\"))))\n" +" (build-system gnu-build-system)\n" +" (synopsis \"Hello, GNU world: An example GNU package\")\n" +" (description\n" +" \"GNU Hello prints the message \\\"Hello, world!\\\" and then exits. It\n" +"serves as an example of standard GNU coding practices. As such, it supports\n" +"command-line arguments, multiple languages, and so on.\")\n" +" (home-page \"https://www.gnu.org/software/hello/\")\n" +" (license gpl3+)))\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:381 +msgid "As you can see, most of it is rather straightforward. But let's review the fields together:" +msgstr "Wie Sie sehen können, ist das meiste klar strukturiert. Aber sehen wir uns die Felder zusammen an:" + +#. type: item +#: doc/guix-cookbook.texi:383 +#, no-wrap +msgid "name" +msgstr "name" + +#. type: table +#: doc/guix-cookbook.texi:386 +msgid "The project name. Using Scheme conventions, we prefer to keep it lower case, without underscore and using dash-separated words." +msgstr "Der Name des Projekts. Wir halten uns an die Konventionen von Scheme und bevorzugen deshalb Kleinschreibung ohne Unterstriche, sondern mit Bindestrichen zwischen den Wörtern." + +#. type: item +#: doc/guix-cookbook.texi:387 +#, no-wrap +msgid "source" +msgstr "source" + +#. type: table +#: doc/guix-cookbook.texi:390 +msgid "This field contains a description of the source code origin. The @code{origin} record contains these fields:" +msgstr "Dieses Feld enthält eine Beschreibung, was der Ursprung des Quellcodes ist. Das @code{origin}-Verbundsobjekt enthält diese Felder:" + +#. type: item +#: doc/guix-cookbook.texi:392 +#, no-wrap +msgid "The method, here @code{url-fetch} to download via HTTP/FTP, but other methods" +msgstr "Die Methode. Wir verwenden hier @code{url-fetch}, um über HTTP/FTP herunterzuladen," + +#. type: enumerate +#: doc/guix-cookbook.texi:394 +msgid "exist, such as @code{git-fetch} for Git repositories." +msgstr "aber es gibt auch andere Methoden wie @code{git-fetch} für Git-Repositorys." + +#. type: item +#: doc/guix-cookbook.texi:394 +#, no-wrap +msgid "The URI, which is typically some @code{https://} location for @code{url-fetch}. Here" +msgstr "Die URI, welche bei @code{url-fetch} normalerweise eine Ortsangabe mit @code{https://} ist." + +#. type: enumerate +#: doc/guix-cookbook.texi:397 +msgid "the special `mirror://gnu` refers to a set of well known locations, all of which can be used by Guix to fetch the source, should some of them fail." +msgstr "In diesem Fall verweist die besondere URI ‚mirror://gnu‘ auf eine von mehreren wohlbekannten Ortsangaben, von denen Guix jede durchprobieren kann, um den Quellcode herunterzuladen, wenn es bei manchen davon nicht klappt." + +#. type: item +#: doc/guix-cookbook.texi:397 +#, no-wrap +msgid "The @code{sha256} checksum of the requested file. This is essential to ensure" +msgstr "Die @code{sha256}-Prüfsumme der angefragten Datei." + +#. type: enumerate +#: doc/guix-cookbook.texi:400 +msgid "the source is not corrupted. Note that Guix works with base32 strings, hence the call to the @code{base32} function." +msgstr "Sie ist notwendig, damit sichergestellt werden kann, dass der Quellcode nicht beschädigt ist. Beachten Sie, dass Guix mit Zeichenketten in Base32-Kodierung arbeitet, weshalb wir die @code{base32}-Funktion aufrufen." + +#. type: item +#: doc/guix-cookbook.texi:402 +#, no-wrap +msgid "build-system" +msgstr "build-system" + +#. type: table +#: doc/guix-cookbook.texi:411 +msgid "This is where the power of abstraction provided by the Scheme language really shines: in this case, the @code{gnu-build-system} abstracts away the famous @code{./configure && make && make install} shell invocations. Other build systems include the @code{trivial-build-system} which does not do anything and requires from the packager to program all the build steps, the @code{python-build-system}, the @code{emacs-build-system}, and many more (@pxref{Build Systems,,, guix, GNU Guix Reference Manual})." +msgstr "Hier glänzt Schemes Fähigkeit zur Abstraktion: In diesem Fall abstrahiert @code{gnu-build-system} die berühmten Schritte @code{./configure && make && make install}, die sonst in der Shell aufgerufen würden. Zu den anderen Erstellungssystemen gehören das @code{trivial-build-system}, das nichts tut und dem Paketautoren das Schreiben sämtlicher Erstellungsschritte abverlangt, das @code{python-build-system}, das @code{emacs-build-system}, und viele mehr (siehe @ref{Erstellungssysteme,,, guix.de, Referenzhandbuch zu GNU Guix})." + +#. type: item +#: doc/guix-cookbook.texi:412 +#, no-wrap +msgid "synopsis" +msgstr "synopsis" + +#. type: table +#: doc/guix-cookbook.texi:415 +msgid "It should be a concise summary of what the package does. For many packages a tagline from the project's home page can be used as the synopsis." +msgstr "Die Zusammenfassung. Sie sollte eine knappe Beschreibung sein, was das Paket tut. Für viele Pakete findet sich auf der Homepage ein Einzeiler, der als Zusammenfassung benutzt werden kann." + +#. type: item +#: doc/guix-cookbook.texi:416 +#, no-wrap +msgid "description" +msgstr "description" + +#. type: table +#: doc/guix-cookbook.texi:419 +msgid "Same as for the synopsis, it's fine to re-use the project description from the homepage. Note that Guix uses Texinfo syntax." +msgstr "Genau wie bei der Zusammenfassung ist es in Ordnung, die Beschreibung des Projekts für das Paket wiederzuverwenden. Beachten Sie, dass Guix dafür Texinfo-Syntax verlangt." + +#. type: item +#: doc/guix-cookbook.texi:420 +#, no-wrap +msgid "home-page" +msgstr "home-page" + +#. type: table +#: doc/guix-cookbook.texi:422 +msgid "Use HTTPS if available." +msgstr "Hier soll möglichst HTTPS benutzt werden." + +#. type: item +#: doc/guix-cookbook.texi:423 +#, no-wrap +msgid "license" +msgstr "license" + +#. type: table +#: doc/guix-cookbook.texi:426 +msgid "See @code{guix/licenses.scm} in the project source for a full list of available licenses." +msgstr "Siehe die vollständige Liste verfügbarer Lizenzen in @code{guix/licenses.scm} im Guix-Quellcode." + +#. type: Plain text +#: doc/guix-cookbook.texi:430 +msgid "Time to build our first package! Nothing fancy here for now: we will stick to a dummy @code{my-hello}, a copy of the above declaration." +msgstr "Es wird Zeit, unser erstes Paket zu schreiben! Aber noch nichts tolles, wir bleiben bei einem Paket @code{my-hello} stelltvertretend für „richtige“ Software; es ist eine Kopie obiger Deklaration." + +#. type: Plain text +#: doc/guix-cookbook.texi:434 +msgid "As with the ritualistic ``Hello World'' taught with most programming languages, this will possibly be the most ``manual'' approach. We will work out an ideal setup later; for now we will go the simplest route." +msgstr "Genau wie beim Ritual, Neulinge in Programmiersprachen „Hallo Welt“ schreiben zu lassen, fangen wir mit der vielleicht „arbeitsintensivsten“ Herangehensweise ans Paketeschreiben an. Wir kümmern uns später darum, wie man am besten an Paketen arbeitet; erst einmal nehmen wir den einfachsten Weg." + +#. type: Plain text +#: doc/guix-cookbook.texi:436 +msgid "Save the following to a file @file{my-hello.scm}." +msgstr "Speichern Sie den folgenden Code in eine Datei @file{my-hello.scm}." + +#. type: lisp +#: doc/guix-cookbook.texi:442 +#, no-wrap +msgid "" +"(use-modules (guix packages)\n" +" (guix download)\n" +" (guix build-system gnu)\n" +" (guix licenses))\n" +"\n" +msgstr "" +"(use-modules (guix packages)\n" +" (guix download)\n" +" (guix build-system gnu)\n" +" (guix licenses))\n" +"\n" + +#. type: lisp +#: doc/guix-cookbook.texi:461 +#, no-wrap +msgid "" +"(package\n" +" (name \"my-hello\")\n" +" (version \"2.10\")\n" +" (source (origin\n" +" (method url-fetch)\n" +" (uri (string-append \"mirror://gnu/hello/hello-\" version\n" +" \".tar.gz\"))\n" +" (sha256\n" +" (base32\n" +" \"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\"))))\n" +" (build-system gnu-build-system)\n" +" (synopsis \"Hello, Guix world: An example custom Guix package\")\n" +" (description\n" +" \"GNU Hello prints the message \\\"Hello, world!\\\" and then exits. It\n" +"serves as an example of standard GNU coding practices. As such, it supports\n" +"command-line arguments, multiple languages, and so on.\")\n" +" (home-page \"https://www.gnu.org/software/hello/\")\n" +" (license gpl3+))\n" +msgstr "" +"(package\n" +" (name \"my-hello\")\n" +" (version \"2.10\")\n" +" (source (origin\n" +" (method url-fetch)\n" +" (uri (string-append \"mirror://gnu/hello/hello-\" version\n" +" \".tar.gz\"))\n" +" (sha256\n" +" (base32\n" +" \"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\"))))\n" +" (build-system gnu-build-system)\n" +" (synopsis \"Hello, Guix world: An example custom Guix package\")\n" +" (description\n" +" \"GNU Hello prints the message \\\"Hello, world!\\\" and then exits. It\n" +"serves as an example of standard GNU coding practices. As such, it supports\n" +"command-line arguments, multiple languages, and so on.\")\n" +" (home-page \"https://www.gnu.org/software/hello/\")\n" +" (license gpl3+))\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:464 +msgid "We will explain the extra code in a moment." +msgstr "Wir erklären den zusätzlichen Code in Kürze." + +#. type: Plain text +#: doc/guix-cookbook.texi:471 +msgid "Feel free to play with the different values of the various fields. If you change the source, you'll need to update the checksum. Indeed, Guix refuses to build anything if the given checksum does not match the computed checksum of the source code. To obtain the correct checksum of the package declaration, we need to download the source, compute the sha256 checksum and convert it to base32." +msgstr "Spielen Sie ruhig mit unterschiedlichen Werten für die verschiedenen Felder herum. Wenn Sie den Quellort (die „source“) ändern, müssen Sie die Prüfsumme aktualisieren. Tatsächlich weigert sich Guix, etwas zu erstellen, wenn die angegebene Prüfsumme nicht zu der berechneten Prüfsumme des Quellcodes passt. Um die richtige Prüfsumme für die Paketdeklaration zu finden, müssen wir den Quellcode herunterladen, die SHA256-Summe davon berechnen und sie in Base32 umwandeln." + +#. type: Plain text +#: doc/guix-cookbook.texi:474 +msgid "Thankfully, Guix can automate this task for us; all we need is to provide the URI:" +msgstr "Glücklicherweise kann Guix diese Aufgabe automatisieren; wir müssen lediglich die URI übergeben." + +#. type: example +#: doc/guix-cookbook.texi:478 +#, no-wrap +msgid "" +"$ guix download mirror://gnu/hello/hello-2.10.tar.gz\n" +"\n" +msgstr "" +"$ guix download mirror://gnu/hello/hello-2.10.tar.gz\n" +"\n" + +#. type: example +#: doc/guix-cookbook.texi:485 +#, no-wrap +msgid "" +"Starting download of /tmp/guix-file.JLYgL7\n" +"From https://ftpmirror.gnu.org/gnu/hello/hello-2.10.tar.gz...\n" +"following redirection to `https://mirror.ibcp.fr/pub/gnu/hello/hello-2.10.tar.gz'...\n" +" …10.tar.gz 709KiB 2.5MiB/s 00:00 [##################] 100.0%\n" +"/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz\n" +"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\n" +msgstr "" +"Starting download of /tmp/guix-file.JLYgL7\n" +"From https://ftpmirror.gnu.org/gnu/hello/hello-2.10.tar.gz...\n" +"following redirection to `https://mirror.ibcp.fr/pub/gnu/hello/hello-2.10.tar.gz'...\n" +" …10.tar.gz 709KiB 2.5MiB/s 00:00 [##################] 100.0%\n" +"/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz\n" +"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:490 +msgid "In this specific case the output tells us which mirror was chosen. If the result of the above command is not the same as in the above snippet, update your @code{my-hello} declaration accordingly." +msgstr "In diesem speziellen Fall sagt uns die Ausgabe, welcher Spiegelserver ausgewählt wurde. Wenn das Ergebnis des obigen Befehls nicht dasselbe ist wie im Codeschnipsel, dann aktualisieren Sie Ihre @code{my-hello}-Deklaration entsprechend." + +#. type: Plain text +#: doc/guix-cookbook.texi:494 +msgid "Note that GNU package tarballs come with an OpenPGP signature, so you should definitely check the signature of this tarball with `gpg` to authenticate it before going further:" +msgstr "Beachten Sie, dass Tarball-Archive von GNU-Paketen mit einer OpenPGP-Signatur ausgeliefert werden, deshalb sollten Sie mit Sicherheit die Signatur dieses Tarballs mit „gpg“ überprüfen, um ihn zu authentifizieren, bevor Sie weitermachen." + +#. type: example +#: doc/guix-cookbook.texi:498 +#, no-wrap +msgid "" +"$ guix download mirror://gnu/hello/hello-2.10.tar.gz.sig\n" +"\n" +msgstr "" +"$ guix download mirror://gnu/hello/hello-2.10.tar.gz.sig\n" +"\n" + +#. type: example +#: doc/guix-cookbook.texi:513 +#, no-wrap +msgid "" +"Starting download of /tmp/guix-file.03tFfb\n" +"From https://ftpmirror.gnu.org/gnu/hello/hello-2.10.tar.gz.sig...\n" +"following redirection to `https://ftp.igh.cnrs.fr/pub/gnu/hello/hello-2.10.tar.gz.sig'...\n" +" ….tar.gz.sig 819B 1.2MiB/s 00:00 [##################] 100.0%\n" +"/gnu/store/rzs8wba9ka7grrmgcpfyxvs58mly0sx6-hello-2.10.tar.gz.sig\n" +"0q0v86n3y38z17rl146gdakw9xc4mcscpk8dscs412j22glrv9jf\n" +"$ gpg --verify /gnu/store/rzs8wba9ka7grrmgcpfyxvs58mly0sx6-hello-2.10.tar.gz.sig /gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz\n" +"gpg: Signature made Sun 16 Nov 2014 01:08:37 PM CET\n" +"gpg: using RSA key A9553245FDE9B739\n" +"gpg: Good signature from \"Sami Kerola <kerolasa@@iki.fi>\" [unknown]\n" +"gpg: aka \"Sami Kerola (http://www.iki.fi/kerolasa/) <kerolasa@@iki.fi>\" [unknown]\n" +"gpg: WARNING: This key is not certified with a trusted signature!\n" +"gpg: There is no indication that the signature belongs to the owner.\n" +"Primary key fingerprint: 8ED3 96E3 7E38 D471 A005 30D3 A955 3245 FDE9 B739\n" +msgstr "" +"Starting download of /tmp/guix-file.03tFfb\n" +"From https://ftpmirror.gnu.org/gnu/hello/hello-2.10.tar.gz.sig...\n" +"following redirection to `https://ftp.igh.cnrs.fr/pub/gnu/hello/hello-2.10.tar.gz.sig'...\n" +" ….tar.gz.sig 819B 1.2MiB/s 00:00 [##################] 100.0%\n" +"/gnu/store/rzs8wba9ka7grrmgcpfyxvs58mly0sx6-hello-2.10.tar.gz.sig\n" +"0q0v86n3y38z17rl146gdakw9xc4mcscpk8dscs412j22glrv9jf\n" +"$ gpg --verify /gnu/store/rzs8wba9ka7grrmgcpfyxvs58mly0sx6-hello-2.10.tar.gz.sig /gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz\n" +"gpg: Signatur vom So 16 Nov 2014 13:08:37 CET\n" +"gpg: mittels RSA-Schlüssel A9553245FDE9B739\n" +"gpg: Korrekte Signatur von \"Sami Kerola (https://www.iki.fi/kerolasa/) <kerolasa@@iki.fi>\" [unbekannt]\n" +"gpg: WARNUNG: Dieser Schlüssel trägt keine vertrauenswürdige Signatur!\n" +"gpg: Es gibt keinen Hinweis, daß die Signatur wirklich dem vorgeblichen Besitzer gehört.\n" +"Haupt-Fingerabdruck = 8ED3 96E3 7E38 D471 A005 30D3 A955 3245 FDE9 B739\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:516 +msgid "You can then happily run" +msgstr "Sie können dann unbesorgt das hier ausführen:" + +#. type: example +#: doc/guix-cookbook.texi:520 +#, no-wrap +msgid "$ guix package --install-from-file=my-hello.scm\n" +msgstr "$ guix package --install-from-file=my-hello.scm\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:523 +msgid "You should now have @code{my-hello} in your profile!" +msgstr "Nun sollte @code{my-hello} in Ihrem Profil enthalten sein!" + +#. type: example +#: doc/guix-cookbook.texi:529 +#, no-wrap +msgid "" +"$ guix package --list-installed=my-hello\n" +"my-hello\t2.10\tout\n" +"/gnu/store/f1db2mfm8syb8qvc357c53slbvf1g9m9-my-hello-2.10\n" +msgstr "" +"$ guix package --list-installed=my-hello\n" +"my-hello\t2.10\tout\n" +"/gnu/store/f1db2mfm8syb8qvc357c53slbvf1g9m9-my-hello-2.10\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:534 +msgid "We've gone as far as we could without any knowledge of Scheme. Before moving on to more complex packages, now is the right time to brush up on your Scheme knowledge. @pxref{A Scheme Crash Course} to get up to speed." +msgstr "Wir sind so weit gekommen, wie es ohne Scheme-Kenntnisse möglich ist. Bevor wir mit komplexeren Paketen weitermachen, ist jetzt der Zeitpunkt gekommen, Ihr Wissen über Scheme zu entstauben. Siehe @ref{Ein Schnellkurs in Scheme} für eine Auffrischung." + +#. type: subsection +#: doc/guix-cookbook.texi:535 doc/guix-cookbook.texi:536 +#, no-wrap +msgid "Setup" +msgstr "Herangehensweisen" + +#. type: Plain text +#: doc/guix-cookbook.texi:541 +msgid "In the rest of this chapter we will rely on some basic Scheme programming knowledge. Now let's detail the different possible setups for working on Guix packages." +msgstr "Im Rest dieses Kapitels setzen wir ein paar grundlegende Scheme-Programmierkenntnisse voraus. Wir wollen uns nun verschiedene mögliche Herangehensweisen anschauen, wie man an Guix-Paketen arbeiten kann." + +#. type: Plain text +#: doc/guix-cookbook.texi:543 +msgid "There are several ways to set up a Guix packaging environment." +msgstr "Es gibt mehrere Arten, eine Umgebung zum Paketeschreiben aufzusetzen." + +#. type: Plain text +#: doc/guix-cookbook.texi:546 +msgid "We recommend you work directly on the Guix source checkout since it makes it easier for everyone to contribute to the project." +msgstr "Unsere Empfehlung ist, dass Sie direkt am Checkout des Guix-Quellcodes arbeiten, weil es dann für alle einfacher ist, zu Guix beizutragen." + +#. type: Plain text +#: doc/guix-cookbook.texi:548 +msgid "But first, let's look at other possibilities." +msgstr "Werfen wir aber zunächst einen Blick auf andere Möglichkeiten." + +#. type: subsubsection +#: doc/guix-cookbook.texi:549 doc/guix-cookbook.texi:550 +#, no-wrap +msgid "Local file" +msgstr "Lokale Datei" + +#. type: Plain text +#: doc/guix-cookbook.texi:555 +msgid "This is what we previously did with @samp{my-hello}. With the Scheme basics we've covered, we are now able to explain the leading chunks. As stated in @code{guix package --help}:" +msgstr "Diese Methode haben wir zuletzt für @samp{my-hello} benutzt. Jetzt nachdem wir uns mit den Scheme-Grundlagen befasst haben, können wir uns den Code am Anfang erklären. @code{guix package --help} sagt uns:" + +#. type: example +#: doc/guix-cookbook.texi:560 +#, no-wrap +msgid "" +" -f, --install-from-file=FILE\n" +" install the package that the code within FILE\n" +" evaluates to\n" +msgstr "" +" -f, --install-from-file=DATEI\n" +" das Paket installieren, zu dem der Code in der DATEI\n" +" ausgewertet wird\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:564 +msgid "Thus the last expression @emph{must} return a package, which is the case in our earlier example." +msgstr "Daher @emph{muss} der letzte Ausdruck ein Paket liefern, was im vorherigen Beispiel der Fall ist." + +#. type: Plain text +#: doc/guix-cookbook.texi:568 +msgid "The @code{use-modules} expression tells which of the modules we need in the file. Modules are a collection of values and procedures. They are commonly called ``libraries'' or ``packages'' in other programming languages." +msgstr "Der Ausdruck @code{use-modules} sagt aus, welche Module in der Datei gebraucht werden. Module sind eine Sammlung aus Werten und Prozeduren. In anderen Programmiersprachen werden sie oft „Bibliotheken“ oder „Pakete“ genannt." + +#. type: node +#: doc/guix-cookbook.texi:569 +#, no-wrap +msgid "@samp{GUIX_PACKAGE_PATH}" +msgstr "@samp{GUIX_PACKAGE_PATH}" + +#. type: samp{#1} +#: doc/guix-cookbook.texi:570 +#, no-wrap +msgid "GUIX_PACKAGE_PATH" +msgstr "GUIX_PACKAGE_PATH" + +#. type: emph{#1} +#: doc/guix-cookbook.texi:574 +msgid "Note: Starting from Guix 0.16, the more flexible Guix @dfn{channels} are the preferred way and supersede @samp{GUIX_PACKAGE_PATH}. See next section." +msgstr "Anmerkung: Seit Guix 0.16 sind die vielseitigeren @dfn{Kanäle} von Guix die bevorzugte Wahl und sie lösen den @samp{GUIX_PACKAGE_PATH} ab. Siehe den nächsten Abschnitt." + +#. type: Plain text +#: doc/guix-cookbook.texi:578 +msgid "It can be tedious to specify the file from the command line instead of simply calling @code{guix package --install my-hello} as you would do with the official packages." +msgstr "Es kann mühsam sein, die Datei auf der Befehlszeile anzugeben, statt einfach @code{guix package --install my-hello} aufzurufen, wie man es bei den offiziellen Paketen tun würde." + +#. type: Plain text +#: doc/guix-cookbook.texi:581 +msgid "Guix makes it possible to streamline the process by adding as many ``package declaration directories'' as you want." +msgstr "Guix ermöglicht es, den Prozess zu optimieren, indem man so viele „Paketdeklarationsverzeichnisse“, wie man will, hinzufügt." + +#. type: Plain text +#: doc/guix-cookbook.texi:584 +msgid "Create a directory, say @samp{~./guix-packages} and add it to the @samp{GUIX_PACKAGE_PATH} environment variable:" +msgstr "Erzeugen Sie ein Verzeichnis, beispielsweise @samp{~./guix-packages}, und fügen Sie es zur Umgebungsvariablen @samp{GUIX_PACKAGE_PATH} hinzu:" + +#. type: example +#: doc/guix-cookbook.texi:588 +#, no-wrap +msgid "" +"$ mkdir ~/guix-packages\n" +"$ export GUIX_PACKAGE_PATH=~/guix-packages\n" +msgstr "" +"$ mkdir ~/guix-packages\n" +"$ export GUIX_PACKAGE_PATH=~/guix-packages\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:591 +msgid "To add several directories, separate them with a colon (@code{:})." +msgstr "Um mehrere Verzeichnisse hinzuzufügen, trennen Sie diese ab durch einen Doppelpunkt (@code{:})." + +#. type: Plain text +#: doc/guix-cookbook.texi:593 +msgid "Our previous @samp{my-hello} needs some adjustments though:" +msgstr "Unser @samp{my-hello} von vorher braucht zudem ein paar Anpassungen:" + +#. type: lisp +#: doc/guix-cookbook.texi:600 +#, no-wrap +msgid "" +"(define-module (my-hello)\n" +" #:use-module (guix licenses)\n" +" #:use-module (guix packages)\n" +" #:use-module (guix build-system gnu)\n" +" #:use-module (guix download))\n" +"\n" +msgstr "" +"(define-module (my-hello)\n" +" #:use-module (guix licenses)\n" +" #:use-module (guix packages)\n" +" #:use-module (guix build-system gnu)\n" +" #:use-module (guix download))\n" +"\n" + +#. type: lisp +#: doc/guix-cookbook.texi:620 +#, no-wrap +msgid "" +"(define-public my-hello\n" +" (package\n" +" (name \"my-hello\")\n" +" (version \"2.10\")\n" +" (source (origin\n" +" (method url-fetch)\n" +" (uri (string-append \"mirror://gnu/hello/hello-\" version\n" +" \".tar.gz\"))\n" +" (sha256\n" +" (base32\n" +" \"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\"))))\n" +" (build-system gnu-build-system)\n" +" (synopsis \"Hello, Guix world: An example custom Guix package\")\n" +" (description\n" +" \"GNU Hello prints the message \\\"Hello, world!\\\" and then exits. It\n" +"serves as an example of standard GNU coding practices. As such, it supports\n" +"command-line arguments, multiple languages, and so on.\")\n" +" (home-page \"https://www.gnu.org/software/hello/\")\n" +" (license gpl3+)))\n" +msgstr "" +"(define-public my-hello\n" +" (package\n" +" (name \"my-hello\")\n" +" (version \"2.10\")\n" +" (source (origin\n" +" (method url-fetch)\n" +" (uri (string-append \"mirror://gnu/hello/hello-\" version\n" +" \".tar.gz\"))\n" +" (sha256\n" +" (base32\n" +" \"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\"))))\n" +" (build-system gnu-build-system)\n" +" (synopsis \"Hello, Guix world: An example custom Guix package\")\n" +" (description\n" +" \"GNU Hello prints the message \\\"Hello, world!\\\" and then exits. It\n" +"serves as an example of standard GNU coding practices. As such, it supports\n" +"command-line arguments, multiple languages, and so on.\")\n" +" (home-page \"https://www.gnu.org/software/hello/\")\n" +" (license gpl3+)))\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:626 +msgid "Note that we have assigned the package value to an exported variable name with @code{define-public}. This is effectively assigning the package to the @code{my-hello} variable so that it can be referenced, among other as dependency of other packages." +msgstr "Beachten Sie, dass wir den Paketwert einer exportierten Variablen mit @code{define-public} zugewiesen haben. Das bedeutet, das Paket wird einer Variablen @code{my-hello} zugewiesen, damit darauf verwiesen werden kann. Unter anderem kann es dadurch als Abhängigkeit anderer Pakete verwendet werden." + +#. type: Plain text +#: doc/guix-cookbook.texi:631 +msgid "If you use @code{guix package --install-from-file=my-hello.scm} on the above file, it will fail because the last expression, @code{define-public}, does not return a package. If you want to use @code{define-public} in this use-case nonetheless, make sure the file ends with an evaluation of @code{my-hello}:" +msgstr "Wenn Sie @code{guix package --install-from-file=my-hello.scm} auf der obigen Datei aufrufen, geht es schief, weil der letzte Ausdruck, @code{define-public}, kein Paket zurückliefert. Wenn Sie trotzdem @code{define-public} für jene Herangehensweise verwenden möchten, stellen Sie sicher, dass am Ende der Datei eine Auswertung von @code{my-hello} steht:" + +#. type: lisp +#: doc/guix-cookbook.texi:637 +#, no-wrap +msgid "" +"; ...\n" +"(define-public my-hello\n" +" ; ...\n" +" )\n" +"\n" +msgstr "" +"; …\n" +"(define-public my-hello\n" +" ; …\n" +" )\n" +"\n" + +#. type: lisp +#: doc/guix-cookbook.texi:639 +#, no-wrap +msgid "my-hello\n" +msgstr "my-hello\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:642 +msgid "This last example is not very typical." +msgstr "Meistens tut man das aber nicht." + +#. type: Plain text +#: doc/guix-cookbook.texi:645 +msgid "Now @samp{my-hello} should be part of the package collection like all other official packages. You can verify this with:" +msgstr "@samp{my-hello} sollte nun Teil der Paketsammlung sein, genau wie all die anderen, offiziellen Pakete. Sie können das so ausprobieren:" + +#. type: example +#: doc/guix-cookbook.texi:648 +#, no-wrap +msgid "$ guix package --show=my-hello\n" +msgstr "$ guix package --show=my-hello\n" + +#. type: subsubsection +#: doc/guix-cookbook.texi:650 doc/guix-cookbook.texi:651 +#, no-wrap +msgid "Guix channels" +msgstr "Guix-Kanäle" + +#. type: Plain text +#: doc/guix-cookbook.texi:657 +msgid "Guix 0.16 features channels, which is very similar to @samp{GUIX_PACKAGE_PATH} but provides better integration and provenance tracking. Channels are not necessarily local, they can be maintained as a public Git repository for instance. Of course, several channels can be used at the same time." +msgstr "Guix 0.16 hat Kanäle eingeführt, die sehr ähnlich zu @samp{GUIX_PACKAGE_PATH} sind, sich aber besser integrieren und Provenienzverfolgung ermöglichen. Kanäle befinden sich nicht unbedingt auf einem lokalen Rechner, sie können zum Beispiel auch anderen als öffentliches Git-Repository angeboten werden. Natürlich können zur selben Zeit mehrere Kanäle benutzt werden." + +#. type: Plain text +#: doc/guix-cookbook.texi:659 +msgid "@xref{Channels,,, guix, GNU Guix Reference Manual} for setup details." +msgstr "Siehe @ref{Kanäle,,, guix.de, Referenzhandbuch zu GNU Guix} für Details zu deren Einrichtung." + +#. type: subsubsection +#: doc/guix-cookbook.texi:660 doc/guix-cookbook.texi:661 +#, no-wrap +msgid "Direct checkout hacking" +msgstr "Direkt am Checkout hacken" + +#. type: Plain text +#: doc/guix-cookbook.texi:666 +msgid "Working directly on the Guix project is recommended: it reduces the friction when the time comes to submit your changes upstream to let the community benefit from your hard work!" +msgstr "Es wird empfohlen, direkt am Code des Guix-Projekts zu arbeiten, weil Ihre Änderungen dann später mit weniger Schwierigkeiten bei uns eingereicht werden können, damit Ihre harte Arbeit der Gemeinschaft nützt!" + +#. type: Plain text +#: doc/guix-cookbook.texi:672 +msgid "Unlike most software distributions, the Guix repository holds in one place both the tooling (including the package manager) and the package definitions. This choice was made so that it would give developers the flexibility to modify the API without breakage by updating all packages at the same time. This reduces development inertia." +msgstr "Anders als die meisten Software-Distributionen werden bei Guix sowohl Werkzeuge (einschließlich des Paketverwaltungsprogramms) als auch die Paketdefinitionen in einem Repository gespeichert. Der Grund für diese Entscheidung war, dass Entwickler die Freiheit haben sollten, die Programmierschnittstelle (API) zu ändern, ohne Inkompatibilitäten einzuführen, indem alle Pakete gleichzeitig mit der API aktualisiert werden. Dadurch wird die Entwicklung weniger träge." + +#. type: Plain text +#: doc/guix-cookbook.texi:674 +msgid "Check out the official @uref{https://git-scm.com/, Git} repository:" +msgstr "Legen Sie ein Checkout des offiziellen @uref{https://git-scm.com/, Git-Repositorys} an:" + +#. type: example +#: doc/guix-cookbook.texi:677 +#, no-wrap +msgid "$ git clone https://git.savannah.gnu.org/git/guix.git\n" +msgstr "$ git clone https://git.savannah.gnu.org/git/guix.git\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:681 +msgid "In the rest of this article, we use @samp{$GUIX_CHECKOUT} to refer to the location of the checkout." +msgstr "Im Rest dieses Artikels schreiben wir @samp{$GUIX_CHECKOUT}, wenn wir den Ort meinen, an dem das Checkout gespeichert ist." + +#. type: Plain text +#: doc/guix-cookbook.texi:685 +msgid "Follow the instructions in the manual (@pxref{Contributing,,, guix, GNU Guix Reference Manual}) to set up the repository environment." +msgstr "Folgen Sie den Anweisungen im Handbuch (siehe (@ref{Mitwirken,,, guix.de, Referenzhandbuch zu GNU Guix}), um die nötige Umgebung für die Nutzung des Repositorys herzustellen." + +#. type: Plain text +#: doc/guix-cookbook.texi:688 +msgid "Once ready, you should be able to use the package definitions from the repository environment." +msgstr "Sobald sie hergestellt wurde, sollten Sie die Paketdefinitionen aus der Repository-Umgebung benutzen können." + +#. type: Plain text +#: doc/guix-cookbook.texi:690 +msgid "Feel free to edit package definitions found in @samp{$GUIX_CHECKOUT/gnu/packages}." +msgstr "Versuchen Sie sich ruhig daran, die Paketdefinitionen zu editieren, die Sie in @samp{$GUIX_CHECKOUT/gnu/packages} finden." + +#. type: Plain text +#: doc/guix-cookbook.texi:694 +msgid "The @samp{$GUIX_CHECKOUT/pre-inst-env} script lets you use @samp{guix} over the package collection of the repository (@pxref{Running Guix Before It Is Installed,,, guix, GNU Guix Reference Manual})." +msgstr "Das Skript @samp{$GUIX_CHECKOUT/pre-inst-env} ermöglicht es Ihnen, @samp{guix} auf der Paketsammlung des Repositorys aufzurufen (siehe @ref{Guix vor der Installation ausführen,,, guix.de, Referenzhandbuch zu GNU Guix})." + +#. type: itemize +#: doc/guix-cookbook.texi:698 +msgid "Search packages, such as Ruby:" +msgstr "So suchen Sie Pakete, z.B.@: Ruby:" + +#. type: example +#: doc/guix-cookbook.texi:705 +#, no-wrap +msgid "" +" $ cd $GUIX_CHECKOUT\n" +" $ ./pre-inst-env guix package --list-available=ruby\n" +" ruby 1.8.7-p374 out gnu/packages/ruby.scm:119:2\n" +" ruby 2.1.6 out gnu/packages/ruby.scm:91:2\n" +" ruby 2.2.2 out gnu/packages/ruby.scm:39:2\n" +msgstr "" +" $ cd $GUIX_CHECKOUT\n" +" $ ./pre-inst-env guix package --list-available=ruby\n" +" ruby 1.8.7-p374 out gnu/packages/ruby.scm:119:2\n" +" ruby 2.1.6 out gnu/packages/ruby.scm:91:2\n" +" ruby 2.2.2 out gnu/packages/ruby.scm:39:2\n" + +#. type: itemize +#: doc/guix-cookbook.texi:709 +msgid "Build a package, here Ruby version 2.1:" +msgstr "Erstellen Sie ein Paket, z.B.@: Ruby in Version 2.1:" + +#. type: example +#: doc/guix-cookbook.texi:713 +#, no-wrap +msgid "" +" $ ./pre-inst-env guix build --keep-failed ruby@@2.1\n" +" /gnu/store/c13v73jxmj2nir2xjqaz5259zywsa9zi-ruby-2.1.6\n" +msgstr "" +" $ ./pre-inst-env guix build --keep-failed ruby@@2.1\n" +" /gnu/store/c13v73jxmj2nir2xjqaz5259zywsa9zi-ruby-2.1.6\n" + +#. type: itemize +#: doc/guix-cookbook.texi:717 +msgid "Install it to your user profile:" +msgstr "Installieren Sie es in Ihr Profil:" + +#. type: example +#: doc/guix-cookbook.texi:720 +#, no-wrap +msgid " $ ./pre-inst-env guix package --install ruby@@2.1\n" +msgstr " $ ./pre-inst-env guix package --install ruby@@2.1\n" + +#. type: itemize +#: doc/guix-cookbook.texi:724 +msgid "Check for common mistakes:" +msgstr "Prüfen Sie auf häufige Fehler:" + +#. type: example +#: doc/guix-cookbook.texi:727 +#, no-wrap +msgid " $ ./pre-inst-env guix lint ruby@@2.1\n" +msgstr " $ ./pre-inst-env guix lint ruby@@2.1\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:732 +msgid "Guix strives at maintaining a high packaging standard; when contributing to the Guix project, remember to" +msgstr "Guix ist bestrebt, einen hohen Standard an seine Pakete anzusetzen. Wenn Sie Beiträge zum Guix-Projekt leisten," + +#. type: itemize +#: doc/guix-cookbook.texi:736 +msgid "follow the coding style (@pxref{Coding Style,,, guix, GNU Guix Reference Manual})," +msgstr "schreiben Sie Ihren Code im Stil von Guix (siehe @ref{Programmierstil,,, guix.de, Referenzhandbuch zu GNU Guix})" + +#. type: itemize +#: doc/guix-cookbook.texi:738 +msgid "and review the check list from the manual (@pxref{Submitting Patches,,, guix, GNU Guix Reference Manual})." +msgstr "und schauen Sie sich die Kontrollliste aus dem Handbuch (siehe @ref{Einreichen von Patches,,, guix.de, Referenzhandbuch zu GNU Guix}) noch einmal an." + +#. type: Plain text +#: doc/guix-cookbook.texi:742 +msgid "Once you are happy with the result, you are welcome to send your contribution to make it part of Guix. This process is also detailed in the manual. (@pxref{Contributing,,, guix, GNU Guix Reference Manual})" +msgstr "Sobald Sie mit dem Ergebnis zufrieden sind, freuen wir uns, wenn Sie Ihren Beitrag an uns schicken, damit wir ihn in Guix aufnehmen. Dieser Prozess wird auch im Handbuch beschrieben (siehe @ref{Mitwirken,,, guix.de, Referenzhandbuch zu GNU Guix})<." + +#. type: Plain text +#: doc/guix-cookbook.texi:745 +msgid "It's a community effort so the more join in, the better Guix becomes!" +msgstr "Es handelt sich um eine gemeinschaftliche Arbeit, je mehr also mitmachen, desto besser wird Guix!" + +#. type: subsection +#: doc/guix-cookbook.texi:746 doc/guix-cookbook.texi:747 +#, no-wrap +msgid "Extended example" +msgstr "Erweitertes Beispiel" + +#. type: Plain text +#: doc/guix-cookbook.texi:752 +msgid "The above ``Hello World'' example is as simple as it goes. Packages can be more complex than that and Guix can handle more advanced scenarios. Let's look at another, more sophisticated package (slightly modified from the source):" +msgstr "Einfacher als obiges Hallo-Welt-Beispiel wird es nicht. Pakete können auch komplexer als das sein und Guix eignet sich für fortgeschrittenere Szenarien. Schauen wir uns ein anderes, umfangreicheres Paket an (leicht modifiziert gegenüber Guix’ Quellcode):" + +#. type: lisp +#: doc/guix-cookbook.texi:766 +#, no-wrap +msgid "" +"(define-module (gnu packages version-control)\n" +" #:use-module ((guix licenses) #:prefix license:)\n" +" #:use-module (guix utils)\n" +" #:use-module (guix packages)\n" +" #:use-module (guix git-download)\n" +" #:use-module (guix build-system cmake)\n" +" #:use-module (gnu packages ssh)\n" +" #:use-module (gnu packages web)\n" +" #:use-module (gnu packages pkg-config)\n" +" #:use-module (gnu packages python)\n" +" #:use-module (gnu packages compression)\n" +" #:use-module (gnu packages tls))\n" +"\n" +msgstr "" +"(define-module (gnu packages version-control)\n" +" #:use-module ((guix licenses) #:prefix license:)\n" +" #:use-module (guix utils)\n" +" #:use-module (guix packages)\n" +" #:use-module (guix git-download)\n" +" #:use-module (guix build-system cmake)\n" +" #:use-module (gnu packages ssh)\n" +" #:use-module (gnu packages web)\n" +" #:use-module (gnu packages pkg-config)\n" +" #:use-module (gnu packages python)\n" +" #:use-module (gnu packages compression)\n" +" #:use-module (gnu packages tls))\n" +"\n" + +#. type: lisp +#: doc/guix-cookbook.texi:826 +#, no-wrap +msgid "" +"(define-public my-libgit2\n" +" (let ((commit \"e98d0a37c93574d2c6107bf7f31140b548c6a7bf\")\n" +" (revision \"1\"))\n" +" (package\n" +" (name \"my-libgit2\")\n" +" (version (git-version \"0.26.6\" revision commit))\n" +" (source (origin\n" +" (method git-fetch)\n" +" (uri (git-reference\n" +" (url \"https://github.com/libgit2/libgit2/\")\n" +" (commit commit)))\n" +" (file-name (git-file-name name version))\n" +" (sha256\n" +" (base32\n" +" \"17pjvprmdrx4h6bb1hhc98w9qi6ki7yl57f090n9kbhswxqfs7s3\"))\n" +" (patches (search-patches \"libgit2-mtime-0.patch\"))\n" +" (modules '((guix build utils)))\n" +" (snippet '(begin\n" +" ;; Remove bundled software.\n" +" (delete-file-recursively \"deps\")\n" +" #t))))\n" +" (build-system cmake-build-system)\n" +" (outputs '(\"out\" \"debug\"))\n" +" (arguments\n" +" `(#:tests? #t ; Run the test suite (this is the default)\n" +" #:configure-flags '(\"-DUSE_SHA1DC=ON\") ; SHA-1 collision detection\n" +" #:phases\n" +" (modify-phases %standard-phases\n" +" (add-after 'unpack 'fix-hardcoded-paths\n" +" (lambda _\n" +" (substitute* \"tests/repo/init.c\"\n" +" ((\"#!/bin/sh\") (string-append \"#!\" (which \"sh\"))))\n" +" (substitute* \"tests/clar/fs.h\"\n" +" ((\"/bin/cp\") (which \"cp\"))\n" +" ((\"/bin/rm\") (which \"rm\")))\n" +" #t))\n" +" ;; Run checks more verbosely.\n" +" (replace 'check\n" +" (lambda _ (invoke \"./libgit2_clar\" \"-v\" \"-Q\")))\n" +" (add-after 'unpack 'make-files-writable-for-tests\n" +" (lambda _ (for-each make-file-writable (find-files \".\" \".*\")))))))\n" +" (inputs\n" +" `((\"libssh2\" ,libssh2)\n" +" (\"http-parser\" ,http-parser)\n" +" (\"python\" ,python-wrapper)))\n" +" (native-inputs\n" +" `((\"pkg-config\" ,pkg-config)))\n" +" (propagated-inputs\n" +" ;; These two libraries are in 'Requires.private' in libgit2.pc.\n" +" `((\"openssl\" ,openssl)\n" +" (\"zlib\" ,zlib)))\n" +" (home-page \"https://libgit2.github.com/\")\n" +" (synopsis \"Library providing Git core methods\")\n" +" (description\n" +" \"Libgit2 is a portable, pure C implementation of the Git core methods\n" +"provided as a re-entrant linkable library with a solid API, allowing you to\n" +"write native speed custom Git applications in any language with bindings.\")\n" +" ;; GPLv2 with linking exception\n" +" (license license:gpl2))))\n" +msgstr "" +"(define-public my-libgit2\n" +" (let ((commit \"e98d0a37c93574d2c6107bf7f31140b548c6a7bf\")\n" +" (revision \"1\"))\n" +" (package\n" +" (name \"my-libgit2\")\n" +" (version (git-version \"0.26.6\" revision commit))\n" +" (source (origin\n" +" (method git-fetch)\n" +" (uri (git-reference\n" +" (url \"https://github.com/libgit2/libgit2/\")\n" +" (commit commit)))\n" +" (file-name (git-file-name name version))\n" +" (sha256\n" +" (base32\n" +" \"17pjvprmdrx4h6bb1hhc98w9qi6ki7yl57f090n9kbhswxqfs7s3\"))\n" +" (patches (search-patches \"libgit2-mtime-0.patch\"))\n" +" (modules '((guix build utils)))\n" +" (snippet '(begin\n" +" ;; Remove bundled software.\n" +" (delete-file-recursively \"deps\")\n" +" #t))))\n" +" (build-system cmake-build-system)\n" +" (outputs '(\"out\" \"debug\"))\n" +" (arguments\n" +" `(#:tests? #t ; Run the test suite (this is the default)\n" +" #:configure-flags '(\"-DUSE_SHA1DC=ON\") ; SHA-1 collision detection\n" +" #:phases\n" +" (modify-phases %standard-phases\n" +" (add-after 'unpack 'fix-hardcoded-paths\n" +" (lambda _\n" +" (substitute* \"tests/repo/init.c\"\n" +" ((\"#!/bin/sh\") (string-append \"#!\" (which \"sh\"))))\n" +" (substitute* \"tests/clar/fs.h\"\n" +" ((\"/bin/cp\") (which \"cp\"))\n" +" ((\"/bin/rm\") (which \"rm\")))\n" +" #t))\n" +" ;; Run checks more verbosely.\n" +" (replace 'check\n" +" (lambda _ (invoke \"./libgit2_clar\" \"-v\" \"-Q\")))\n" +" (add-after 'unpack 'make-files-writable-for-tests\n" +" (lambda _ (for-each make-file-writable (find-files \".\" \".*\")))))))\n" +" (inputs\n" +" `((\"libssh2\" ,libssh2)\n" +" (\"http-parser\" ,http-parser)\n" +" (\"python\" ,python-wrapper)))\n" +" (native-inputs\n" +" `((\"pkg-config\" ,pkg-config)))\n" +" (propagated-inputs\n" +" ;; These two libraries are in 'Requires.private' in libgit2.pc.\n" +" `((\"openssl\" ,openssl)\n" +" (\"zlib\" ,zlib)))\n" +" (home-page \"https://libgit2.github.com/\")\n" +" (synopsis \"Library providing Git core methods\")\n" +" (description\n" +" \"Libgit2 is a portable, pure C implementation of the Git core methods\n" +"provided as a re-entrant linkable library with a solid API, allowing you to\n" +"write native speed custom Git applications in any language with bindings.\")\n" +" ;; GPLv2 with linking exception\n" +" (license license:gpl2))))\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:831 +msgid "(In those cases were you only want to tweak a few fields from a package definition, you should rely on inheritance instead of copy-pasting everything. See below.)" +msgstr "(In solchen Fällen, wo Sie nur ein paar wenige Felder einer Paketdefinition abändern wollen, wäre es wirklich besser, wenn Sie Vererbung einsetzen würden, statt alles abzuschreiben. Siehe unten.)" + +#. type: Plain text +#: doc/guix-cookbook.texi:833 +msgid "Let's discuss those fields in depth." +msgstr "Reden wir über diese Felder im Detail." + +#. type: subsubsection +#: doc/guix-cookbook.texi:834 +#, no-wrap +msgid "@code{git-fetch} method" +msgstr "@code{git-fetch}-Methode" + +#. type: Plain text +#: doc/guix-cookbook.texi:841 +msgid "Unlike the @code{url-fetch} method, @code{git-fetch} expects a @code{git-reference} which takes a Git repository and a commit. The commit can be any Git reference such as tags, so if the @code{version} is tagged, then it can be used directly. Sometimes the tag is prefixed with a @code{v}, in which case you'd use @code{(commit (string-append \"v\" version))}." +msgstr "Anders als die @code{url-fetch}-Methode erwartet @code{git-fetch} eine @code{git-reference}, welche ein Git-Repository und einen Commit entgegennimmt. Der Commit kann eine beliebige Art von Git-Referenz sein, z.B.@: ein Tag. Wenn die @code{version} also mit einem Tag versehen ist, kann sie einfach benutzt werden. Manchmal ist dem Tag ein Präfix @code{v} vorangestellt. In diesem Fall würden Sie @code{(commit (string-append \"v\" version))} schreiben." + +#. type: Plain text +#: doc/guix-cookbook.texi:845 +msgid "To ensure that the source code from the Git repository is stored in a unique directory with a readable name we use @code{(file-name (git-file-name name version))}." +msgstr "Um sicherzustellen, dass der Quellcode aus dem Git-Repository in einem nachvollziehbaren Verzeichnis mit lesbarem Namen landet, schreiben wir @code{(file-name (git-file-name name version))}." + +#. type: Plain text +#: doc/guix-cookbook.texi:848 +msgid "Note that there is also a @code{git-version} procedure that can be used to derive the version when packaging programs for a specific commit." +msgstr "Beachten Sie, dass auch eine Prozedur @code{git-version} existiert, mit der die Version beim Paketieren eines bestimmten Commits eines Programms abgeleitet werden kann." + +#. type: subsubsection +#: doc/guix-cookbook.texi:849 +#, no-wrap +msgid "Snippets" +msgstr "Schnipsel" + +#. type: Plain text +#: doc/guix-cookbook.texi:855 +msgid "Snippets are quoted (i.e. non-evaluated) Scheme code that are a means of patching the source. They are a Guix-y alternative to the traditional @samp{.patch} files. Because of the quote, the code in only evaluated when passed to the Guix daemon for building. There can be as many snippets as needed." +msgstr "„Snippets“, deutsch Schnipsel, sind mit z.B.@: @code{quote}-Zeichen maskierte, also nicht ausgewertete, Stücke Scheme-Code, mit denen der Quellcode gepatcht wird. Sie sind eine guixige Alternative zu traditionellen @samp{.patch}-Dateien. Wegen der Maskierung werden sie erst dann ausgewertet, wenn sie an den Guix-Daemon zum Erstellen übergeben werden. Es kann so viele Schnipsel geben wie nötig." + +#. type: Plain text +#: doc/guix-cookbook.texi:858 +msgid "Snippets might need additional Guile modules which can be imported from the @code{modules} field." +msgstr "In Schnipseln könnten zusätzliche Guile-Module benötigt werden. Diese können importiert werden, indem man sie im Feld @code{modules} angibt." + +#. type: subsubsection +#: doc/guix-cookbook.texi:859 +#, no-wrap +msgid "Inputs" +msgstr "Eingaben" + +#. type: Plain text +#: doc/guix-cookbook.texi:862 +msgid "First, a syntactic comment: See the quasi-quote / comma syntax?" +msgstr "Zunächst ein syntaktischer Kommentar: Sehen Sie die Syntax mit @code{quasiquote} und Komma?" + +#. type: lisp +#: doc/guix-cookbook.texi:866 +#, no-wrap +msgid "" +" (native-inputs\n" +" `((\"pkg-config\" ,pkg-config)))\n" +msgstr "" +" (native-inputs\n" +" `((\"pkg-config\" ,pkg-config)))\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:869 +msgid "is equivalent to" +msgstr "ist das Gleiche wie" + +#. type: lisp +#: doc/guix-cookbook.texi:873 +#, no-wrap +msgid "" +" (native-inputs\n" +" (list (list \"pkg-config\" pkg-config)))\n" +msgstr "" +" (native-inputs\n" +" (list (list \"pkg-config\" pkg-config)))\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:876 +msgid "You'll mostly see the former because it's shorter." +msgstr "Sie werden hauptsächlich erstere Variante sehen, weil sie kürzer ist." + +#. type: Plain text +#: doc/guix-cookbook.texi:878 +msgid "There are 3 different input types. In short:" +msgstr "Es gibt 3 verschiedene Arten von Eingaben. Kurz gefasst:" + +#. type: item +#: doc/guix-cookbook.texi:880 +#, no-wrap +msgid "native-inputs" +msgstr "native-inputs" + +#. type: table +#: doc/guix-cookbook.texi:883 +msgid "Required for building but not runtime -- installing a package through a substitute won't install these inputs." +msgstr "Sie werden zum Erstellen gebraucht, aber @emph{nicht} zur Laufzeit — wenn Sie ein Paket als Substitut installieren, werden diese Eingaben nirgendwo installiert." + +#. type: item +#: doc/guix-cookbook.texi:883 +#, no-wrap +msgid "inputs" +msgstr "inputs" + +#. type: table +#: doc/guix-cookbook.texi:886 +msgid "Installed in the store but not in the profile, as well as being present at build time." +msgstr "Sie werden in den Store installiert, aber nicht in das Profil, und sie stehen beim Erstellen zur Verfügung." + +#. type: item +#: doc/guix-cookbook.texi:886 +#, no-wrap +msgid "propagated-inputs" +msgstr "propagated-inputs" + +#. type: table +#: doc/guix-cookbook.texi:889 +msgid "Installed in the store and in the profile, as well as being present at build time." +msgstr "Sie werden sowohl in den Store als auch ins Profil installiert und sind auch beim Erstellen verfügbar." + +#. type: Plain text +#: doc/guix-cookbook.texi:892 +msgid "@xref{Package Reference,,, guix, GNU Guix Reference Manual} for more details." +msgstr "Siehe @ref{„package“-Referenz,,, guix.de, Referenzhandbuch zu GNU Guix} für mehr Details." + +#. type: Plain text +#: doc/guix-cookbook.texi:896 +msgid "The distinction between the various inputs is important: if a dependency can be handled as an @emph{input} instead of a @emph{propagated input}, it should be done so, or else it ``pollutes'' the user profile for no good reason." +msgstr "Der Unterschied zwischen den verschiedenen Eingaben ist wichtig: Wenn eine Abhängigkeit als @code{input} statt als @code{propagated-input} ausreicht, dann sollte sie auch so eingeordnet werden, sonst „verschmutzt“ sie das Profil des Benutzers ohne guten Grund." + +#. type: Plain text +#: doc/guix-cookbook.texi:903 +msgid "For instance, a user installing a graphical program that depends on a command line tool might only be interested in the graphical part, so there is no need to force the command line tool into the user profile. The dependency is a concern to the package, not to the user. @emph{Inputs} make it possible to handle dependencies without bugging the user by adding undesired executable files (or libraries) to their profile." +msgstr "Wenn eine Nutzerin beispielsweise ein grafisches Programm installiert, das von einem Befehlszeilenwerkzeug abhängt, sie sich aber nur für den grafischen Teil interessiert, dann sollten wir sie nicht zur Installation des Befehlszeilenwerkzeugs in ihr Benutzerprofil zwingen. Um die Abhängigkeit sollte sich das Paket kümmern, nicht seine Benutzerin. Mit @emph{Inputs} können wir Abhängigkeiten verwenden, wo sie gebraucht werden, ohne Nutzer zu belästigen, indem wir ausführbare Dateien (oder Bibliotheken) in deren Profil installieren." + +#. type: Plain text +#: doc/guix-cookbook.texi:909 +msgid "Same goes for @emph{native-inputs}: once the program is installed, build-time dependencies can be safely garbage-collected. It also matters when a substitute is available, in which case only the @emph{inputs} and @emph{propagated inputs} will be fetched: the @emph{native inputs} are not required to install a package from a substitute." +msgstr "Das Gleiche gilt für @emph{native-inputs}: Wenn das Programm einmal installiert ist, können Abhängigkeiten zur Erstellungszeit gefahrlos dem Müllsammler anvertraut werden. Sie sind auch besser, wenn ein Substitut verfügbar ist, so dass nur die @code{inputs} und @code{propagated-inputs} heruntergeladen werden; @code{native-inputs} braucht niemand, der das Paket aus einem Substitut heraus installiert." + +#. type: subsubsection +#: doc/guix-cookbook.texi:910 +#, no-wrap +msgid "Outputs" +msgstr "Ausgaben" + +#. type: Plain text +#: doc/guix-cookbook.texi:914 +msgid "Just like how a package can have multiple inputs, it can also produce multiple outputs." +msgstr "Genau wie ein Paket mehrere Eingaben haben kann, kann es auch mehrere Ausgaben haben." + +#. type: Plain text +#: doc/guix-cookbook.texi:916 +msgid "Each output corresponds to a separate directory in the store." +msgstr "Jede Ausgabe entspricht einem anderen Verzeichnis im Store." + +#. type: Plain text +#: doc/guix-cookbook.texi:919 +msgid "The user can choose which output to install; this is useful to save space or to avoid polluting the user profile with unwanted executables or libraries." +msgstr "Die Benutzerin kann sich entscheiden, welche Ausgabe sie installieren will; so spart sie Platz auf dem Datenträger und verschmutzt ihr Benutzerprofil nicht mit unerwünschten ausführbaren Dateien oder Bibliotheken." + +#. type: Plain text +#: doc/guix-cookbook.texi:922 +msgid "Output separation is optional. When the @code{outputs} field is left out, the default and only output (the complete package) is referred to as @code{\"out\"}." +msgstr "Nach Ausgaben zu trennen ist optional. Wenn Sie kein @code{outputs}-Feld schreiben, heißt die standardmäßige und einzige Ausgabe (also das ganze Paket) schlicht @code{\"out\"}." + +#. type: Plain text +#: doc/guix-cookbook.texi:924 +msgid "Typical separate output names include @code{debug} and @code{doc}." +msgstr "Typische Namen für getrennte Ausgaben sind @code{debug} und @code{doc}." + +#. type: Plain text +#: doc/guix-cookbook.texi:928 +msgid "It's advised to separate outputs only when you've shown it's worth it: if the output size is significant (compare with @code{guix size}) or in case the package is modular." +msgstr "Es wird empfohlen, getrennte Ausgaben nur dann anzubieten, wenn Sie gezeigt haben, dass es sich lohnt, d.h.@: wenn die Ausgabengröße signifikant ist (vergleichen Sie sie mittels @code{guix size}) oder das Paket modular aufgebaut ist." + +#. type: subsubsection +#: doc/guix-cookbook.texi:929 +#, no-wrap +msgid "Build system arguments" +msgstr "Argumente ans Erstellungssystem" + +#. type: Plain text +#: doc/guix-cookbook.texi:932 +msgid "The @code{arguments} is a keyword-value list used to configure the build process." +msgstr "@code{arguments} ist eine Liste aus Schlüsselwort-Wert-Paaren (eine „keyword-value list“), mit denen der Erstellungsprozess konfiguriert wird." + +#. type: Plain text +#: doc/guix-cookbook.texi:937 +msgid "The simplest argument @code{#:tests?} can be used to disable the test suite when building the package. This is mostly useful when the package does not feature any test suite. It's strongly recommended to keep the test suite on if there is one." +msgstr "Das einfachste Argument @code{#:tests?} kann man benutzen, um den Testkatalog bei der Erstellung des Pakets nicht zu prüfen. Das braucht man meistens dann, wenn das Paket überhaupt keinen Testkatalog hat. Wir empfehlen sehr, den Testkatalog zu benutzen, wenn es einen gibt." + +#. type: Plain text +#: doc/guix-cookbook.texi:941 +msgid "Another common argument is @code{:make-flags}, which specifies a list of flags to append when running make, as you would from the command line. For instance, the following flags" +msgstr "Ein anderes häufiges Argument ist @code{:make-flags}, was eine Liste an den @code{make}-Aufruf anzuhängender Befehlszeilenargumente festlegt, so wie Sie sie auf der Befehlszeile angeben würden. Zum Beispiel werden die folgenden @code{:make-flags}" + +#. type: lisp +#: doc/guix-cookbook.texi:945 +#, no-wrap +msgid "" +"#:make-flags (list (string-append \"prefix=\" (assoc-ref %outputs \"out\"))\n" +" \"CC=gcc\")\n" +msgstr "" +"#:make-flags (list (string-append \"prefix=\" (assoc-ref %outputs \"out\"))\n" +" \"CC=gcc\")\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:948 +msgid "translate into" +msgstr "übersetzt zu" + +#. type: example +#: doc/guix-cookbook.texi:951 +#, no-wrap +msgid "$ make CC=gcc prefix=/gnu/store/...-<out>\n" +msgstr "$ make CC=gcc prefix=/gnu/store/...-<out>\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:957 +msgid "This sets the C compiler to @code{gcc} and the @code{prefix} variable (the installation directory in Make parlance) to @code{(assoc-ref %outputs \"out\")}, which is a build-stage global variable pointing to the destination directory in the store (something like @samp{/gnu/store/...-my-libgit2-20180408})." +msgstr "Dadurch wird als C-Compiler @code{gcc} verwendet und als @code{prefix}-Variable (das Installationsverzeichnis in der Sprechweise von Make) wird @code{(assoc-ref %outputs \"out\")} verwendet, also eine globale Variable der Erstellungsschicht, die auf das Zielverzeichnis im Store verweist (so etwas wie @samp{/gnu/store/...-my-libgit2-20180408})." + +#. type: Plain text +#: doc/guix-cookbook.texi:959 +msgid "Similarly, it's possible to set the configure flags:" +msgstr "Auf gleiche Art kann man auch die Befehlszeilenoptionen für configure festlegen:" + +#. type: lisp +#: doc/guix-cookbook.texi:962 +#, no-wrap +msgid "#:configure-flags '(\"-DUSE_SHA1DC=ON\")\n" +msgstr "#:configure-flags '(\"-DUSE_SHA1DC=ON\")\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:966 +msgid "The @code{%build-inputs} variable is also generated in scope. It's an association table that maps the input names to their store directories." +msgstr "Die Variable @code{%build-inputs} wird auch in diesem Sichtbarkeitsbereich erzeugt. Es handelt sich um eine assoziative Liste, die von den Namen der Eingaben auf ihre Verzeichnisse im Store abbildet." + +#. type: Plain text +#: doc/guix-cookbook.texi:971 +msgid "The @code{phases} keyword lists the sequential steps of the build system. Typically phases include @code{unpack}, @code{configure}, @code{build}, @code{install} and @code{check}. To know more about those phases, you need to work out the appropriate build system definition in @samp{$GUIX_CHECKOUT/guix/build/gnu-build-system.scm}:" +msgstr "Das @code{phases}-Schlüsselwort listet der Reihe nach die vom Erstellungssystem durchgeführten Schritte auf. Zu den üblichen Phasen gehören @code{unpack}, @code{configure}, @code{build}, @code{install} und @code{check}. Um mehr über diese Phasen zu lernen, müssen Sie sich die Definition des zugehörigen Erstellungssystems in @samp{$GUIX_CHECKOUT/guix/build/gnu-build-system.scm} anschauen:" + +#. type: lisp +#: doc/guix-cookbook.texi:990 +#, no-wrap +msgid "" +"(define %standard-phases\n" +" ;; Standard build phases, as a list of symbol/procedure pairs.\n" +" (let-syntax ((phases (syntax-rules ()\n" +" ((_ p ...) `((p . ,p) ...)))))\n" +" (phases set-SOURCE-DATE-EPOCH set-paths install-locale unpack\n" +" bootstrap\n" +" patch-usr-bin-file\n" +" patch-source-shebangs configure patch-generated-file-shebangs\n" +" build check install\n" +" patch-shebangs strip\n" +" validate-runpath\n" +" validate-documentation-location\n" +" delete-info-dir-file\n" +" patch-dot-desktop-files\n" +" install-license-files\n" +" reset-gzip-timestamps\n" +" compress-documentation)))\n" +msgstr "" +"(define %standard-phases\n" +" ;; Standard build phases, as a list of symbol/procedure pairs.\n" +" (let-syntax ((phases (syntax-rules ()\n" +" ((_ p ...) `((p . ,p) ...)))))\n" +" (phases set-SOURCE-DATE-EPOCH set-paths install-locale unpack\n" +" bootstrap\n" +" patch-usr-bin-file\n" +" patch-source-shebangs configure patch-generated-file-shebangs\n" +" build check install\n" +" patch-shebangs strip\n" +" validate-runpath\n" +" validate-documentation-location\n" +" delete-info-dir-file\n" +" patch-dot-desktop-files\n" +" install-license-files\n" +" reset-gzip-timestamps\n" +" compress-documentation)))\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:993 +msgid "Or from the REPL:" +msgstr "Alternativ auf einer REPL:" + +#. type: lisp +#: doc/guix-cookbook.texi:999 +#, no-wrap +msgid "" +"(add-to-load-path \"/path/to/guix/checkout\")\n" +",use (guix build gnu-build-system)\n" +"(map first %standard-phases)\n" +"@result{} (set-SOURCE-DATE-EPOCH set-paths install-locale unpack bootstrap patch-usr-bin-file patch-source-shebangs configure patch-generated-file-shebangs build check install patch-shebangs strip validate-runpath validate-documentation-location delete-info-dir-file patch-dot-desktop-files install-license-files reset-gzip-timestamps compress-documentation)\n" +msgstr "" +"(add-to-load-path \"/path/to/guix/checkout\")\n" +",use (guix build gnu-build-system)\n" +"(map first %standard-phases)\n" +"@result{} (set-SOURCE-DATE-EPOCH set-paths install-locale unpack bootstrap patch-usr-bin-file patch-source-shebangs configure patch-generated-file-shebangs build check install patch-shebangs strip validate-runpath validate-documentation-location delete-info-dir-file patch-dot-desktop-files install-license-files reset-gzip-timestamps compress-documentation)\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1003 +msgid "If you want to know more about what happens during those phases, consult the associated procedures." +msgstr "Wenn Sie mehr darüber wissen wollen, was in diesen Phasen passiert, schauen Sie in den jeweiligen Prozeduren." + +#. type: Plain text +#: doc/guix-cookbook.texi:1006 +msgid "For instance, as of this writing the definition of @code{unpack} for the GNU build system is" +msgstr "Beispielsweise sieht momentan, als dies hier geschrieben wurde, die Definition von @code{unpack} für das GNU-Erstellungssystem so aus:" + +#. type: lisp +#: doc/guix-cookbook.texi:1016 +#, no-wrap +msgid "" +"(define* (unpack #:key source #:allow-other-keys)\n" +" \"Unpack SOURCE in the working directory, and change directory within the\n" +"source. When SOURCE is a directory, copy it in a sub-directory of the current\n" +"working directory.\"\n" +" (if (file-is-directory? source)\n" +" (begin\n" +" (mkdir \"source\")\n" +" (chdir \"source\")\n" +"\n" +msgstr "" +"(define* (unpack #:key source #:allow-other-keys)\n" +" \"Unpack SOURCE in the working directory, and change directory within the\n" +"source. When SOURCE is a directory, copy it in a sub-directory of the current\n" +"working directory.\"\n" +" (if (file-is-directory? source)\n" +" (begin\n" +" (mkdir \"source\")\n" +" (chdir \"source\")\n" +"\n" + +#. type: lisp +#: doc/guix-cookbook.texi:1027 +#, no-wrap +msgid "" +" ;; Preserve timestamps (set to the Epoch) on the copied tree so that\n" +" ;; things work deterministically.\n" +" (copy-recursively source \".\"\n" +" #:keep-mtime? #t))\n" +" (begin\n" +" (if (string-suffix? \".zip\" source)\n" +" (invoke \"unzip\" source)\n" +" (invoke \"tar\" \"xvf\" source))\n" +" (chdir (first-subdirectory \".\"))))\n" +" #t)\n" +msgstr "" +" ;; Preserve timestamps (set to the Epoch) on the copied tree so that\n" +" ;; things work deterministically.\n" +" (copy-recursively source \".\"\n" +" #:keep-mtime? #t))\n" +" (begin\n" +" (if (string-suffix? \".zip\" source)\n" +" (invoke \"unzip\" source)\n" +" (invoke \"tar\" \"xvf\" source))\n" +" (chdir (first-subdirectory \".\"))))\n" +" #t)\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1035 +msgid "Note the @code{chdir} call: it changes the working directory to where the source was unpacked. Thus every phase following the @code{unpack} will use the source as a working directory, which is why we can directly work on the source files. That is to say, unless a later phase changes the working directory to something else." +msgstr "Beachten Sie den Aufruf von @code{chdir}: Damit wird das Arbeitsverzeichnis zu demjenigen gewechselt, wohin die Quelldateien entpackt wurden. In jeder Phase nach @code{unpack} dient also das Verzeichnis mit den Quelldateien als Arbeitsverzeichnis. Deswegen können wir direkt mit den Quelldateien arbeiten, zumindest solange keine spätere Phase das Arbeitsverzeichnis woandershin wechselt." + +#. type: Plain text +#: doc/guix-cookbook.texi:1039 +msgid "We modify the list of @code{%standard-phases} of the build system with the @code{modify-phases} macro as per the list of specified modifications, which may have the following forms:" +msgstr "Die Liste der @code{%standard-phases} des Erstellungssystems ändern wir mit Hilfe des @code{modify-phases}-Makros über eine Liste von Änderungen. Sie kann folgende Formen haben:" + +#. type: itemize +#: doc/guix-cookbook.texi:1043 +msgid "@code{(add-before PHASE NEW-PHASE PROCEDURE)}: Run @code{PROCEDURE} named @code{NEW-PHASE} before @code{PHASE}." +msgstr "@code{(add-before PHASE NEUE-PHASE PROZEDUR)}: Die @code{PROZEDUR} namens @code{NEUE-PHASE} vor @code{PHASE} ausführen." + +#. type: itemize +#: doc/guix-cookbook.texi:1045 +msgid "@code{(add-after PHASE NEW-PHASE PROCEDURE)}: Same, but afterwards." +msgstr "@code{(add-after PHASE NEUE-PHASE PROZEDUR)}: Genauso, aber danach." + +#. type: itemize +#: doc/guix-cookbook.texi:1047 +msgid "@code{(replace PHASE PROCEDURE)}." +msgstr "@code{(replace PHASE PROZEDUR)}." + +#. type: itemize +#: doc/guix-cookbook.texi:1049 +msgid "@code{(delete PHASE)}." +msgstr "@code{(delete PHASE)}." + +#. type: Plain text +#: doc/guix-cookbook.texi:1056 +msgid "The @code{PROCEDURE} supports the keyword arguments @code{inputs} and @code{outputs}. Each input (whether @emph{native}, @emph{propagated} or not) and output directory is referenced by their name in those variables. Thus @code{(assoc-ref outputs \"out\")} is the store directory of the main output of the package. A phase procedure may look like this:" +msgstr "Die @code{PROZEDUR} unterstützt die Schlüsselwortargumente @code{inputs} und @code{outputs}. Jede Eingabe (ob sie @emph{native}, @emph{propagated} oder nichts davon ist) und jedes Ausgabeverzeichnis ist in diesen Variablen mit dem jeweiligen Namen assoziiert. @code{(assoc-ref outputs \"out\")} ist also das Store-Verzeichnis der Hauptausgabe des Pakets. Eine Phasenprozedur kann so aussehen:" + +#. type: lisp +#: doc/guix-cookbook.texi:1064 +#, no-wrap +msgid "" +"(lambda* (#:key inputs outputs #:allow-other-keys)\n" +" (let (((bash-directory (assoc-ref inputs \"bash\"))\n" +" (output-directory (assoc-ref outputs \"out\"))\n" +" (doc-directory (assoc-ref outputs \"doc\"))\n" +" ; ...\n" +" #t)\n" +msgstr "" +"(lambda* (#:key inputs outputs #:allow-other-keys)\n" +" (let (((bash-directory (assoc-ref inputs \"bash\"))\n" +" (output-directory (assoc-ref outputs \"out\"))\n" +" (doc-directory (assoc-ref outputs \"doc\"))\n" +" ; ...\n" +" #t)\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1070 +msgid "The procedure must return @code{#t} on success. It's brittle to rely on the return value of the last expression used to tweak the phase because there is no guarantee it would be a @code{#t}. Hence the trailing @code{#t} to ensure the right value is returned on success." +msgstr "Die Prozedur muss bei Erfolg @code{#t} zurückliefern. Auf den Rückgabewert des letzten Ausdrucks, mit dem die Phase angepasst wurde, kann man sich nicht verlassen, weil es keine Garantie gibt, dass der Rückgabewert @code{#t} sein wird. Deswegen schreiben wir dahinter @code{#t}, damit bei erfolgreicher Ausführung der richtige Wert geliefert wird." + +#. type: subsubsection +#: doc/guix-cookbook.texi:1071 +#, no-wrap +msgid "Code staging" +msgstr "Code-Staging" + +#. type: Plain text +#: doc/guix-cookbook.texi:1077 +msgid "The astute reader may have noticed the quasi-quote and comma syntax in the argument field. Indeed, the build code in the package declaration should not be evaluated on the client side, but only when passed to the Guix daemon. This mechanism of passing code around two running processes is called @uref{https://arxiv.org/abs/1709.00833, code staging}." +msgstr "Aufmerksame Leser könnten die Syntax mit @code{quasiquote} und Komma im Argumentefeld bemerkt haben. Tatsächlich sollte der Erstellungscode in der Paketdeklaration @emph{nicht} auf Client-Seite ausgeführt werden, sondern erst, wenn er an den Guix-Daemon übergeben worden ist. Der Mechanismus, über den Code zwischen zwei laufenden Prozessen weitergegeben wird, nennen wir @uref{https://arxiv.org/abs/1709.00833, Code-Staging}." + +#. type: subsubsection +#: doc/guix-cookbook.texi:1078 +#, no-wrap +msgid "Utility functions" +msgstr "Hilfsfunktionen" + +#. type: Plain text +#: doc/guix-cookbook.texi:1083 +msgid "When customizing @code{phases}, we often need to write code that mimics the equivalent system invocations (@code{make}, @code{mkdir}, @code{cp}, etc.) commonly used during regular ``Unix-style'' installations." +msgstr "Beim Anpassen der @code{phases} müssen wir oft Code schreiben, der analog zu den äquivalenten Systemaufrufen funktioniert (@code{make}, @code{mkdir}, @code{cp}, etc.), welche in regulären „Unix-artigen“ Installationen oft benutzt werden." + +#. type: Plain text +#: doc/guix-cookbook.texi:1086 +msgid "Some like @code{chmod} are native to Guile. @xref{,,, guile, Guile reference manual} for a complete list." +msgstr "Manche, wie @code{chmod}, sind Teil von Guile. Siehe das @ref{,,, guile, Referenzhandbuch zu Guile} für eine vollständige Liste." + +#. type: Plain text +#: doc/guix-cookbook.texi:1089 +msgid "Guix provides additional helper functions which prove especially handy in the context of package management." +msgstr "Guix stellt zusätzliche Hilfsfunktionen zur Verfügung, die bei der Paketverwaltung besonders praktisch sind." + +#. type: Plain text +#: doc/guix-cookbook.texi:1093 +msgid "Some of those functions can be found in @samp{$GUIX_CHECKOUT/guix/guix/build/utils.scm}. Most of them mirror the behaviour of the traditional Unix system commands:" +msgstr "Manche dieser Funktionalitäten finden Sie in @samp{$GUIX_CHECKOUT/guix/guix/build/utils.scm}. Die meisten spiegeln das Verhalten traditioneller Unix-Systembefehle wider:" + +#. type: item +#: doc/guix-cookbook.texi:1095 +#, no-wrap +msgid "which" +msgstr "which" + +#. type: table +#: doc/guix-cookbook.texi:1097 +msgid "Like the @samp{which} system command." +msgstr "Das Gleiche wie der @samp{which}-Systembefehl." + +#. type: item +#: doc/guix-cookbook.texi:1097 +#, no-wrap +msgid "find-files" +msgstr "find-files" + +#. type: table +#: doc/guix-cookbook.texi:1099 +msgid "Akin to the @samp{find} system command." +msgstr "Wie der @samp{find} Systembefehl." + +#. type: item +#: doc/guix-cookbook.texi:1099 +#, no-wrap +msgid "mkdir-p" +msgstr "mkdir-p" + +#. type: table +#: doc/guix-cookbook.texi:1101 +msgid "Like @samp{mkdir -p}, which creates all parents as needed." +msgstr "Wie @samp{mkdir -p}, das Elternverzeichnisse erzeugt, wenn nötig." + +#. type: item +#: doc/guix-cookbook.texi:1101 +#, no-wrap +msgid "install-file" +msgstr "install-file" + +#. type: table +#: doc/guix-cookbook.texi:1105 +msgid "Similar to @samp{install} when installing a file to a (possibly non-existing) directory. Guile has @code{copy-file} which works like @samp{cp}." +msgstr "Ähnlich wie @samp{install} beim Installieren einer Datei in ein (nicht unbedingt existierendes) Verzeichnis. Guile kennt @code{copy-file}, das wie @samp{cp} funktioniert." + +#. type: item +#: doc/guix-cookbook.texi:1105 +#, no-wrap +msgid "copy-recursively" +msgstr "copy-recursively" + +#. type: table +#: doc/guix-cookbook.texi:1107 +msgid "Like @samp{cp -r}." +msgstr "Wie @samp{cp -r}." + +#. type: item +#: doc/guix-cookbook.texi:1107 +#, no-wrap +msgid "delete-file-recursively" +msgstr "delete-file-recursively" + +#. type: table +#: doc/guix-cookbook.texi:1109 +msgid "Like @samp{rm -rf}." +msgstr "Wie @samp{rm -rf}." + +#. type: item +#: doc/guix-cookbook.texi:1109 +#, no-wrap +msgid "invoke" +msgstr "invoke" + +#. type: table +#: doc/guix-cookbook.texi:1111 +msgid "Run an executable. This should be used instead of @code{system*}." +msgstr "Eine ausführbare Datei ausführen. Man sollte es benutzen und nicht @code{system*}." + +#. type: item +#: doc/guix-cookbook.texi:1111 +#, no-wrap +msgid "with-directory-excursion" +msgstr "with-directory-excursion" + +#. type: table +#: doc/guix-cookbook.texi:1114 +msgid "Run the body in a different working directory, then restore the previous working directory." +msgstr "Den Rumpf in einem anderen Arbeitsverzeichnis ausführen und danach wieder in das vorherige Arbeitsverzeichnis wechseln." + +#. type: item +#: doc/guix-cookbook.texi:1114 +#, no-wrap +msgid "substitute*" +msgstr "substitute*" + +#. type: table +#: doc/guix-cookbook.texi:1116 +msgid "A ``@command{sed}-like'' function." +msgstr "Eine „@command{sed}-artige“ Funktion." + +#. type: subsubsection +#: doc/guix-cookbook.texi:1118 +#, no-wrap +msgid "Module prefix" +msgstr "Modulpräfix" + +#. type: Plain text +#: doc/guix-cookbook.texi:1128 +msgid "The license in our last example needs a prefix: this is because of how the @code{license} module was imported in the package, as @code{#:use-module ((guix licenses) #:prefix license:)}. The Guile module import mechanism (@pxref{Using Guile Modules,,, guile, Guile reference manual}) gives the user full control over namespacing: this is needed to avoid clashes between, say, the @samp{zlib} variable from @samp{licenses.scm} (a @emph{license} value) and the @samp{zlib} variable from @samp{compression.scm} (a @emph{package} value)." +msgstr "Die Lizenz in unserem letzten Beispiel braucht ein Präfix. Der Grund liegt darin, wie das @code{license}-Modul importiert worden ist, nämlich @code{#:use-module ((guix licenses) #:prefix license:)}. Der Importmechanismus von Guile-Modulen (siehe @ref{Using Guile Modules,,, guile, Referenzhandbuch zu Guile}) gibt Benutzern die volle Kontrolle über Namensräume. Man braucht sie, um Konflikte zu lösen, z.B.@ zwischen der @samp{zlib}-Variablen aus @samp{licenses.scm} (dieser Wert repräsentiert eine @emph{Softwarelizenz}) und der @samp{zlib}-Variablen aus @samp{compression.scm} (ein Wert, der für ein @emph{Paket} steht)." + +#. type: subsection +#: doc/guix-cookbook.texi:1129 doc/guix-cookbook.texi:1130 +#, no-wrap +msgid "Other build systems" +msgstr "Andere Erstellungssysteme" + +#. type: Plain text +#: doc/guix-cookbook.texi:1137 +msgid "What we've seen so far covers the majority of packages using a build system other than the @code{trivial-build-system}. The latter does not automate anything and leaves you to build everything manually. This can be more demanding and we won't cover it here for now, but thankfully it is rarely necessary to fall back on this system." +msgstr "Was wir bisher gesehen haben reicht für die meisten Pakete aus, die als Erstellungssystem etwas anderes als @code{trivial-build-system} verwenden. Letzteres automatisiert gar nichts und überlässt es Ihnen, alles zur Erstellung manuell festzulegen. Das kann einen noch mehr beanspruchen und wir beschreiben es hier zur Zeit nicht, aber glücklicherweise braucht man dieses System auch nur in seltenen Fällen." + +#. type: Plain text +#: doc/guix-cookbook.texi:1141 +msgid "For the other build systems, such as ASDF, Emacs, Perl, Ruby and many more, the process is very similar to the GNU build system except for a few specialized arguments." +msgstr "Bei anderen Erstellungssystemen wie ASDF, Emacs, Perl, Ruby und vielen anderen ist der Prozess sehr ähnlich zum GNU-Erstellungssystem abgesehen von ein paar speziellen Argumenten." + +#. type: Plain text +#: doc/guix-cookbook.texi:1146 +msgid "@xref{Build Systems,,, guix, GNU Guix Reference Manual}, for more information on build systems, or check the source code in the @samp{$GUIX_CHECKOUT/guix/build} and @samp{$GUIX_CHECKOUT/guix/build-system} directories." +msgstr "Siehe @ref{Erstellungssysteme,,, guix.de, Referenzhandbuch zu GNU Guix}, für mehr Informationen über Erstellungssysteme, oder den Quellcode in den Verzeichnissen @samp{$GUIX_CHECKOUT/guix/build} und @samp{$GUIX_CHECKOUT/guix/build-system}." + +#. type: subsection +#: doc/guix-cookbook.texi:1147 doc/guix-cookbook.texi:1148 +#, no-wrap +msgid "Programmable and automated package definition" +msgstr "Programmierbare und automatisierte Paketdefinition" + +#. type: Plain text +#: doc/guix-cookbook.texi:1152 +msgid "We can't repeat it enough: having a full-fledged programming language at hand empowers us in ways that reach far beyond traditional package management." +msgstr "Wir können es nicht oft genug wiederholen: Eine Allzweck-Programmiersprache zur Hand zu haben macht Dinge möglich, die traditionelle Paketverwaltung weit übersteigen." + +#. type: Plain text +#: doc/guix-cookbook.texi:1154 +msgid "Let's illustrate this with some awesome features of Guix!" +msgstr "Wir können uns das anhand Guix’ großartiger Funktionalitäten klarmachen!" + +#. type: subsubsection +#: doc/guix-cookbook.texi:1155 doc/guix-cookbook.texi:1156 +#, no-wrap +msgid "Recursive importers" +msgstr "Rekursive Importer" + +#. type: Plain text +#: doc/guix-cookbook.texi:1163 +msgid "You might find some build systems good enough that there is little to do at all to write a package, to the point that it becomes repetitive and tedious after a while. A @emph{raison d'être} of computers is to replace human beings at those boring tasks. So let's tell Guix to do this for us and create the package definition of an R package from CRAN (the output is trimmed for conciseness):" +msgstr "Sie könnten feststellen, dass manche Erstellungssysteme gut genug sind und nichts weiter zu tun bleibt, um ein Paket zu verfassen. Das Paketeschreiben kann so monoton werden und man wird dessen bald überdrüssig. Eine Daseinsberechtigung von Rechnern ist, Menschen bei solch langweiligen Aufgaben zu ersetzen. Lasst uns also Guix die Sache erledigen: Wir lassen uns die Paketdefinition eines R-Pakets mit den Informationen aus CRAN holen (was zu anderen ausgegeben wird, haben wir im Folgenden weggelassen):" + +#. type: example +#: doc/guix-cookbook.texi:1166 +#, no-wrap +msgid "" +"$ guix import cran --recursive walrus\n" +"\n" +msgstr "" +"$ guix import cran --recursive walrus\n" +"\n" + +#. type: example +#: doc/guix-cookbook.texi:1170 +#, no-wrap +msgid "" +"(define-public r-mc2d\n" +" ; ...\n" +" (license gpl2+)))\n" +"\n" +msgstr "" +"(define-public r-mc2d\n" +" ; …\n" +" (license gpl2+)))\n" +"\n" + +#. type: example +#: doc/guix-cookbook.texi:1174 +#, no-wrap +msgid "" +"(define-public r-jmvcore\n" +" ; ...\n" +" (license gpl2+)))\n" +"\n" +msgstr "" +"(define-public r-jmvcore\n" +" ; …\n" +" (license gpl2+)))\n" +"\n" + +#. type: example +#: doc/guix-cookbook.texi:1178 +#, no-wrap +msgid "" +"(define-public r-wrs2\n" +" ; ...\n" +" (license gpl3)))\n" +"\n" +msgstr "" +"(define-public r-wrs2\n" +" ; …\n" +" (license gpl3)))\n" +"\n" + +#. type: example +#: doc/guix-cookbook.texi:1207 +#, no-wrap +msgid "" +"(define-public r-walrus\n" +" (package\n" +" (name \"r-walrus\")\n" +" (version \"1.0.3\")\n" +" (source\n" +" (origin\n" +" (method url-fetch)\n" +" (uri (cran-uri \"walrus\" version))\n" +" (sha256\n" +" (base32\n" +" \"1nk2glcvy4hyksl5ipq2mz8jy4fss90hx6cq98m3w96kzjni6jjj\"))))\n" +" (build-system r-build-system)\n" +" (propagated-inputs\n" +" `((\"r-ggplot2\" ,r-ggplot2)\n" +" (\"r-jmvcore\" ,r-jmvcore)\n" +" (\"r-r6\" ,r-r6)\n" +" (\"r-wrs2\" ,r-wrs2)))\n" +" (home-page \"https://github.com/jamovi/walrus\")\n" +" (synopsis \"Robust Statistical Methods\")\n" +" (description\n" +" \"This package provides a toolbox of common robust statistical\n" +"tests, including robust descriptives, robust t-tests, and robust ANOVA.\n" +"It is also available as a module for 'jamovi' (see\n" +"<https://www.jamovi.org> for more information). Walrus is based on the\n" +"WRS2 package by Patrick Mair, which is in turn based on the scripts and\n" +"work of Rand Wilcox. These analyses are described in depth in the book\n" +"'Introduction to Robust Estimation & Hypothesis Testing'.\")\n" +" (license gpl3)))\n" +msgstr "" +"(define-public r-walrus\n" +" (package\n" +" (name \"r-walrus\")\n" +" (version \"1.0.3\")\n" +" (source\n" +" (origin\n" +" (method url-fetch)\n" +" (uri (cran-uri \"walrus\" version))\n" +" (sha256\n" +" (base32\n" +" \"1nk2glcvy4hyksl5ipq2mz8jy4fss90hx6cq98m3w96kzjni6jjj\"))))\n" +" (build-system r-build-system)\n" +" (propagated-inputs\n" +" `((\"r-ggplot2\" ,r-ggplot2)\n" +" (\"r-jmvcore\" ,r-jmvcore)\n" +" (\"r-r6\" ,r-r6)\n" +" (\"r-wrs2\" ,r-wrs2)))\n" +" (home-page \"https://github.com/jamovi/walrus\")\n" +" (synopsis \"Robust Statistical Methods\")\n" +" (description\n" +" \"This package provides a toolbox of common robust statistical\n" +"tests, including robust descriptives, robust t-tests, and robust ANOVA.\n" +"It is also available as a module for 'jamovi' (see\n" +"<https://www.jamovi.org> for more information). Walrus is based on the\n" +"WRS2 package by Patrick Mair, which is in turn based on the scripts and\n" +"work of Rand Wilcox. These analyses are described in depth in the book\n" +"'Introduction to Robust Estimation & Hypothesis Testing'.\")\n" +" (license gpl3)))\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1211 +msgid "The recursive importer won't import packages for which Guix already has package definitions, except for the very first." +msgstr "Der rekursive Importer wird keine Pakete importieren, für die es in Guix bereits eine Paketdefinition gibt, außer dem Paket, mit dem er anfängt." + +#. type: Plain text +#: doc/guix-cookbook.texi:1216 +msgid "Not all applications can be packaged this way, only those relying on a select number of supported systems. Read about the full list of importers in the guix import section of the manual (@pxref{Invoking guix import,,, guix, GNU Guix Reference Manual})." +msgstr "Nicht für alle Anwendungen können auf diesem Weg Pakete erzeugt werden, nur für jene, die auf ausgewählten Systemen aufbauen. Im Handbuch können Sie Informationen über die vollständige Liste aller Importer bekommen (siehe @ref{Aufruf von guix import,,, guix.de, Referenzhandbuch zu GNU Guix})." + +#. type: subsubsection +#: doc/guix-cookbook.texi:1217 doc/guix-cookbook.texi:1218 +#, no-wrap +msgid "Automatic update" +msgstr "Automatisch aktualisieren" + +#. type: Plain text +#: doc/guix-cookbook.texi:1222 +msgid "Guix can be smart enough to check for updates on systems it knows. It can report outdated package definitions with" +msgstr "Guix ist klug genug, um verfügbare Aktualisierungen auf bekannten Systemen zu erkennen. Es kann über veraltete Paketdefinitionen Bericht erstatten, wenn man dies eingibt:" + +#. type: example +#: doc/guix-cookbook.texi:1225 +#, no-wrap +msgid "$ guix refresh hello\n" +msgstr "$ guix refresh hello\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1230 +msgid "In most cases, updating a package to a newer version requires little more than changing the version number and the checksum. Guix can do that automatically as well:" +msgstr "In den meisten Fällen muss man zur Aktualisierung auf eine neuere Version wenig mehr tun, als die Versionsnummer und die Prüfsumme ändern. Auch das kann mit Guix automatisiert werden:" + +#. type: example +#: doc/guix-cookbook.texi:1233 +#, no-wrap +msgid "$ guix refresh hello --update\n" +msgstr "$ guix refresh hello --update\n" + +#. type: subsubsection +#: doc/guix-cookbook.texi:1235 doc/guix-cookbook.texi:1236 +#, no-wrap +msgid "Inheritance" +msgstr "Vererbung" + +#. type: Plain text +#: doc/guix-cookbook.texi:1240 +msgid "If you've started browsing the existing package definitions, you might have noticed that a significant number of them have a @code{inherit} field:" +msgstr "Wenn Sie anfangen, bestehende Paketdefinitionen anzuschauen, könnte es Ihnen auffallen, dass viele von ihnen über ein @code{inherit}-Feld verfügen." + +#. type: lisp +#: doc/guix-cookbook.texi:1256 +#, no-wrap +msgid "" +"(define-public adwaita-icon-theme\n" +" (package (inherit gnome-icon-theme)\n" +" (name \"adwaita-icon-theme\")\n" +" (version \"3.26.1\")\n" +" (source (origin\n" +" (method url-fetch)\n" +" (uri (string-append \"mirror://gnome/sources/\" name \"/\"\n" +" (version-major+minor version) \"/\"\n" +" name \"-\" version \".tar.xz\"))\n" +" (sha256\n" +" (base32\n" +" \"17fpahgh5dyckgz7rwqvzgnhx53cx9kr2xw0szprc6bnqy977fi8\"))))\n" +" (native-inputs\n" +" `((\"gtk-encode-symbolic-svg\" ,gtk+ \"bin\")))))\n" +msgstr "" +"(define-public adwaita-icon-theme\n" +" (package (inherit gnome-icon-theme)\n" +" (name \"adwaita-icon-theme\")\n" +" (version \"3.26.1\")\n" +" (source (origin\n" +" (method url-fetch)\n" +" (uri (string-append \"mirror://gnome/sources/\" name \"/\"\n" +" (version-major+minor version) \"/\"\n" +" name \"-\" version \".tar.xz\"))\n" +" (sha256\n" +" (base32\n" +" \"17fpahgh5dyckgz7rwqvzgnhx53cx9kr2xw0szprc6bnqy977fi8\"))))\n" +" (native-inputs\n" +" `((\"gtk-encode-symbolic-svg\" ,gtk+ \"bin\")))))\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1261 +msgid "All unspecified fields are inherited from the parent package. This is very convenient to create alternative packages, for instance with different source, version or compilation options." +msgstr "Alle @emph{nicht} aufgeführten Felder werden vom Elternpaket geerbt. Das ist ziemlich praktisch, um alternative Pakete zu erzeugen, zum Beispiel solche mit geänderten Quellorten, Versionen oder Kompilierungsoptionen." + +#. type: subsection +#: doc/guix-cookbook.texi:1262 doc/guix-cookbook.texi:1263 +#, no-wrap +msgid "Getting help" +msgstr "Hilfe bekommen" + +#. type: Plain text +#: doc/guix-cookbook.texi:1269 +msgid "Sadly, some applications can be tough to package. Sometimes they need a patch to work with the non-standard filesystem hierarchy enforced by the store. Sometimes the tests won't run properly. (They can be skipped but this is not recommended.) Other times the resulting package won't be reproducible." +msgstr "Leider ist es für manche Anwendungen schwierig, Pakete zu schreiben. Manchmal brauchen sie einen Patch, um mit vom Standard abweichenden Dateisystemhierarchien klarzukommen, wie sie der Store erforderlich macht. Manchmal funktionieren die Tests nicht richtig. (Man kann sie überspringen, aber man sollte nicht.) Ein andermal ist das sich ergebende Paket nicht reproduzierbar." + +#. type: Plain text +#: doc/guix-cookbook.texi:1272 +msgid "Should you be stuck, unable to figure out how to fix any sort of packaging issue, don't hesitate to ask the community for help." +msgstr "Wenn Sie nicht weiterkommen, weil Sie nicht wissen, wie Sie ein Problem beim Paketschreiben lösen können, dann zögern Sie nicht, die Gemeinde um Hilfe zu bitten." + +#. type: Plain text +#: doc/guix-cookbook.texi:1274 +msgid "See the @uref{https://www.gnu.org/software/guix/contact/, Guix homepage} for information on the mailing lists, IRC, etc." +msgstr "Siehe die @uref{https://www.gnu.org/software/guix/contact/, Homepage von Guix} für Informationen, welche Mailing-Listen, IRC-Kanäle etc.@: bereitstehen." + +#. type: subsection +#: doc/guix-cookbook.texi:1275 doc/guix-cookbook.texi:1276 +#, no-wrap +msgid "Conclusion" +msgstr "Schlusswort" + +#. type: Plain text +#: doc/guix-cookbook.texi:1282 +msgid "This tutorial was a showcase of the sophisticated package management that Guix boasts. At this point we have mostly restricted this introduction to the @code{gnu-build-system} which is a core abstraction layer on which more advanced abstractions are based." +msgstr "Diese Anleitung hat einen Überblick über die fortgeschrittene Paketverwaltung gegeben, die Guix vorweist. Zu diesem Zeitpunkt haben wir diese Einführung größtenteils auf das @code{gnu-build-system} eingeschränkt, was eine zentrale Abstraktionsschicht darstellt, auf der weitere Abstraktionen aufbauen." + +#. type: Plain text +#: doc/guix-cookbook.texi:1287 +msgid "Where do we go from here? Next we ought to dissect the innards of the build system by removing all abstractions, using the @code{trivial-build-system}: this should give us a thorough understanding of the process before investigating some more advanced packaging techniques and edge cases." +msgstr "Wie geht es nun weiter? Als Nächstes müssten wir das Erstellungssystem in seine Bestandteile zerlegen, um einen Einblick ganz ohne Abstraktionen zu bekommen. Das bedeutet, wir müssten das @code{trivial-build-system} analysieren. Dadurch sollte ein gründliches Verständnis des Prozesses vermittelt werden, bevor wir höher entwickelte Paketierungstechniken und Randfälle untersuchen." + +#. type: Plain text +#: doc/guix-cookbook.texi:1290 +msgid "Other features worth exploring are the interactive editing and debugging capabilities of Guix provided by the Guile REPL@." +msgstr "Andere Funktionalitäten, die es wert sind, erkundet zu werden, sind Guix’ Funktionalitäten zum interaktiven Editieren und zur Fehlersuche, die die REPL von Guile darbietet." + +#. type: Plain text +#: doc/guix-cookbook.texi:1295 +msgid "Those fancy features are completely optional and can wait; now is a good time to take a well-deserved break. With what we've introduced here you should be well armed to package lots of programs. You can get started right away and hopefully we will see your contributions soon!" +msgstr "Diese eindrucksvollen Funktionalitäten sind völlig optional und können warten; jetzt ist die Zeit für eine wohlverdiente Pause. Mit dem Wissen, in das wir hier eingeführt haben, sollten Sie für das Paketieren vieler Programme gut gerüstet sein. Sie können gleich anfangen und hoffentlich bekommen wir bald Ihre Beiträge zu sehen!" + +#. type: subsection +#: doc/guix-cookbook.texi:1296 doc/guix-cookbook.texi:1297 +#, no-wrap +msgid "References" +msgstr "Literaturverzeichnis" + +#. type: itemize +#: doc/guix-cookbook.texi:1302 +msgid "The @uref{https://www.gnu.org/software/guix/manual/en/html_node/Defining-Packages.html, package reference in the manual}" +msgstr "Die @uref{https://guix.gnu.org/manual/de/html_node/Pakete-definieren.html, Paketreferenz im Handbuch}" + +#. type: itemize +#: doc/guix-cookbook.texi:1305 +msgid "@uref{https://gitlab.com/pjotrp/guix-notes/blob/master/HACKING.org, Pjotr’s hacking guide to GNU Guix}" +msgstr "@uref{https://gitlab.com/pjotrp/guix-notes/blob/master/HACKING.org, Pjotr’s Hacking-Leitfaden für GNU Guix}" + +#. type: itemize +#: doc/guix-cookbook.texi:1308 +msgid "@uref{https://www.gnu.org/software/guix/guix-ghm-andreas-20130823.pdf, ``GNU Guix: Package without a scheme!''}, by Andreas Enge" +msgstr "@uref{https://www.gnu.org/software/guix/guix-ghm-andreas-20130823.pdf, „GNU Guix: Package without a scheme!“} von Andreas Enge" + +#. type: Plain text +#: doc/guix-cookbook.texi:1317 +msgid "Guix offers a flexible language for declaratively configuring your Guix System. This flexibility can at times be overwhelming. The purpose of this chapter is to demonstrate some advanced configuration concepts." +msgstr "Guix stellt eine flexible Sprache bereit, um Ihr „Guix System“ auf deklarative Weise zu konfigurieren. Diese Flexibilität kann einen manchmal überwältigen. Dieses Kapitel hat den Zweck, einige fortgeschrittene Konfigurationskonzepte vorzuzeigen." + +#. type: Plain text +#: doc/guix-cookbook.texi:1320 +msgid "@pxref{System Configuration,,, guix, GNU Guix Reference Manual} for a complete reference." +msgstr "Siehe @ref{Systemkonfiguration,,, guix.de, Referenzhandbuch zu GNU Guix} für eine vollständige Referenz." + +#. type: menuentry +#: doc/guix-cookbook.texi:1323 +msgid "Creating and using a custom Linux kernel on Guix System." +msgstr "Einen eigenen Linux-Kernel auf Guix System erzeugen und benutzen." + +#. type: Plain text +#: doc/guix-cookbook.texi:1335 +msgid "Guix is, at its core, a source based distribution with substitutes (@pxref{Substitutes,,, guix, GNU Guix Reference Manual}), and as such building packages from their source code is an expected part of regular package installations and upgrades. Given this starting point, it makes sense that efforts are made to reduce the amount of time spent compiling packages, and recent changes and upgrades to the building and distribution of substitutes continues to be a topic of discussion within Guix." +msgstr "Im Kern ist Guix eine quellcodebasierte Distribution mit Substituten (siehe @ref{Substitute,,, guix.de, Referenzhandbuch zu GNU Guix}), daher ist das Erstellen von Paketen aus ihrem Quellcode heraus genauso vorgesehen wie die normale Installation und Aktualisierung von Paketen. Von diesem Standpunkt ist es sinnvoll, zu versuchen, den Zeitaufwand für das Kompilieren von Paketen zu senken, und kürzliche Neuerungen sowie Verbesserungen beim Erstellen und Verteilen von Substituten bleiben ein Diskussionsthema innerhalb von Guix." + +#. type: Plain text +#: doc/guix-cookbook.texi:1341 +msgid "The kernel, while not requiring an overabundance of RAM to build, does take a rather long time on an average machine. The official kernel configuration, as is the case with many GNU/Linux distributions, errs on the side of inclusiveness, and this is really what causes the build to take such a long time when the kernel is built from source." +msgstr "Der Kernel braucht zwar keine übermäßigen Mengen an Arbeitsspeicher beim Erstellen, jedoch jede Menge Zeit auf einer durchschnittlichen Maschine. Die offizielle Konfiguration des Kernels umfasst, wie bei anderen GNU/Linux-Distributionen auch, besser zu viel als zu wenig. Das ist der eigentliche Grund, warum seine Erstellung so lange dauert, wenn man den Kernel aus dem Quellcode heraus erstellt." + +#. type: Plain text +#: doc/guix-cookbook.texi:1346 +msgid "The Linux kernel, however, can also just be described as a regular old package, and as such can be customized just like any other package. The procedure is a little bit different, although this is primarily due to the nature of how the package definition is written." +msgstr "Man kann den Linux-Kernel jedoch auch als ganz normales Paket beschreiben, das genau wie jedes andere Paket angepasst werden kann. Der Vorgang ist ein klein wenig anders, aber das liegt hauptsächlich an der Art, wie die Paketdefinition geschrieben ist." + +#. type: Plain text +#: doc/guix-cookbook.texi:1349 +msgid "The @code{linux-libre} kernel package definition is actually a procedure which creates a package." +msgstr "Die @code{linux-libre}-Kernelpaketdefinition ist tatsächlich eine Prozedur, die ein Paket liefert." + +#. type: lisp +#: doc/guix-cookbook.texi:1361 +#, no-wrap +msgid "" +"(define* (make-linux-libre version hash supported-systems\n" +" #:key\n" +" ;; A function that takes an arch and a variant.\n" +" ;; See kernel-config for an example.\n" +" (extra-version #f)\n" +" (configuration-file #f)\n" +" (defconfig \"defconfig\")\n" +" (extra-options %default-extra-linux-options)\n" +" (patches (list %boot-logo-patch)))\n" +" ...)\n" +msgstr "" +"(define* (make-linux-libre version hash supported-systems\n" +" #:key\n" +" ;; A function that takes an arch and a variant.\n" +" ;; See kernel-config for an example.\n" +" (extra-version #f)\n" +" (configuration-file #f)\n" +" (defconfig \"defconfig\")\n" +" (extra-options %default-extra-linux-options)\n" +" (patches (list %boot-logo-patch)))\n" +" ...)\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1365 +msgid "The current @code{linux-libre} package is for the 5.1.x series, and is declared like this:" +msgstr "Das momentane @code{linux-libre}-Paket zielt ab auf die 5.1.x-Serie und ist wie folgt deklariert:" + +#. type: lisp +#: doc/guix-cookbook.texi:1373 +#, no-wrap +msgid "" +"(define-public linux-libre\n" +" (make-linux-libre %linux-libre-version\n" +" %linux-libre-hash\n" +" '(\"x86_64-linux\" \"i686-linux\" \"armhf-linux\" \"aarch64-linux\")\n" +" #:patches %linux-libre-5.1-patches\n" +" #:configuration-file kernel-config))\n" +msgstr "" +"(define-public linux-libre\n" +" (make-linux-libre %linux-libre-version\n" +" %linux-libre-hash\n" +" '(\"x86_64-linux\" \"i686-linux\" \"armhf-linux\" \"aarch64-linux\")\n" +" #:patches %linux-libre-5.1-patches\n" +" #:configuration-file kernel-config))\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1382 +msgid "Any keys which are not assigned values inherit their default value from the @code{make-linux-libre} definition. When comparing the two snippets above, you may notice that the code comment in the first doesn't actually refer to the @code{#:extra-version} keyword; it is actually for @code{#:configuration-file}. Because of this, it is not actually easy to include a custom kernel configuration from the definition, but don't worry, there are other ways to work with what we do have." +msgstr "Alle Schlüssel, denen kein Wert zugewiesen wird, erben ihren Vorgabewert von der Definition von @code{make-linux-libre}. Wenn Sie die beiden Schnipsel oben vergleichen, könnte Ihnen auffallen, dass sich der Code-Kommentar in ersterem tatsächlich @emph{nicht} auf das @code{#:extra-version}-Schlüsselwort bezieht, sondern auf @code{#:configuration-file}. Deswegen ist es nicht so leicht, aus der Definition heraus eine eigene Kernel-Konfiguration anhand der Definition zu schreiben, aber keine Sorge, es gibt andere Möglichkeiten, um mit dem zu arbeiten, was uns gegeben wurde." + +#. type: Plain text +#: doc/guix-cookbook.texi:1388 +msgid "There are two ways to create a kernel with a custom kernel configuration. The first is to provide a standard @file{.config} file during the build process by including an actual @file{.config} file as a native input to our custom kernel. The following is a snippet from the custom @code{'configure} phase of the @code{make-linux-libre} package definition:" +msgstr "Es gibt zwei Möglichkeiten, einen Kernel mit eigener Kernel-Konfiguration zu erzeugen. Die erste ist, eine normale @file{.config}-Datei als native Eingabe zu unserem angepassten Kernel hinzuzufügen. Im Folgenden sehen Sie ein Schnipsel aus der angepassten @code{'configure}-Phase der @code{make-linux-libre}-Paketdefinition:" + +#. type: lisp +#: doc/guix-cookbook.texi:1392 +#, no-wrap +msgid "" +"(let ((build (assoc-ref %standard-phases 'build))\n" +" (config (assoc-ref (or native-inputs inputs) \"kconfig\")))\n" +"\n" +msgstr "" +"(let ((build (assoc-ref %standard-phases 'build))\n" +" (config (assoc-ref (or native-inputs inputs) \"kconfig\")))\n" +"\n" + +#. type: lisp +#: doc/guix-cookbook.texi:1400 +#, no-wrap +msgid "" +" ;; Use a custom kernel configuration file or a default\n" +" ;; configuration file.\n" +" (if config\n" +" (begin\n" +" (copy-file config \".config\")\n" +" (chmod \".config\" #o666))\n" +" (invoke \"make\" ,defconfig))\n" +msgstr "" +" ;; Use a custom kernel configuration file or a default\n" +" ;; configuration file.\n" +" (if config\n" +" (begin\n" +" (copy-file config \".config\")\n" +" (chmod \".config\" #o666))\n" +" (invoke \"make\" ,defconfig))\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1405 +msgid "Below is a sample kernel package. The @code{linux-libre} package is nothing special and can be inherited from and have its fields overridden like any other package:" +msgstr "Nun folgt ein Beispiel-Kernel-Paket. Das @code{linux-libre}-Paket ist nicht anders als andere Pakete und man kann von ihm erben und seine Felder ersetzen wie bei jedem anderen Paket." + +#. type: lisp +#: doc/guix-cookbook.texi:1414 +#, no-wrap +msgid "" +"(define-public linux-libre/E2140\n" +" (package\n" +" (inherit linux-libre)\n" +" (native-inputs\n" +" `((\"kconfig\" ,(local-file \"E2140.config\"))\n" +" ,@@(alist-delete \"kconfig\"\n" +" (package-native-inputs linux-libre))))))\n" +msgstr "" +"(define-public linux-libre/E2140\n" +" (package\n" +" (inherit linux-libre)\n" +" (native-inputs\n" +" `((\"kconfig\" ,(local-file \"E2140.config\"))\n" +" ,@@(alist-delete \"kconfig\"\n" +" (package-native-inputs linux-libre))))))\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1421 +msgid "In the same directory as the file defining @code{linux-libre-E2140} is a file named @file{E2140.config}, which is an actual kernel configuration file. The @code{defconfig} keyword of @code{make-linux-libre} is left blank here, so the only kernel configuration in the package is the one which was included in the @code{native-inputs} field." +msgstr "Im selben Verzeichnis wie die Datei, die @code{linux-libre-E2140} definiert, befindet sich noch eine Datei namens @file{E2140.config}, bei der es sich um eine richtige Kernel-Konfigurationsdatei handelt. Das Schlüsselwort @code{defconfig} von @code{make-linux-libre} wird hier leer gelassen, so dass die einzige Kernel-Konfiguration im Paket die im @code{native-inputs}-Feld ist." + +#. type: Plain text +#: doc/guix-cookbook.texi:1426 +msgid "The second way to create a custom kernel is to pass a new value to the @code{extra-options} keyword of the @code{make-linux-libre} procedure. The @code{extra-options} keyword works with another function defined right below it:" +msgstr "Die zweite Möglichkeit, einen eigenen Kernel zu erzeugen, ist, einen neuen Wert an das @code{extra-options}-Schlüsselwort der @code{make-linux-libre}-Prozedur zu übergeben. Das @code{extra-options}-Schlüsselwort wird zusammen mit einer anderen, direkt darunter definierten Funktion benutzt:" + +#. type: lisp +#: doc/guix-cookbook.texi:1442 +#, no-wrap +msgid "" +"(define %default-extra-linux-options\n" +" `(;; https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00039.html\n" +" (\"CONFIG_DEVPTS_MULTIPLE_INSTANCES\" . #t)\n" +" ;; Modules required for initrd:\n" +" (\"CONFIG_NET_9P\" . m)\n" +" (\"CONFIG_NET_9P_VIRTIO\" . m)\n" +" (\"CONFIG_VIRTIO_BLK\" . m)\n" +" (\"CONFIG_VIRTIO_NET\" . m)\n" +" (\"CONFIG_VIRTIO_PCI\" . m)\n" +" (\"CONFIG_VIRTIO_BALLOON\" . m)\n" +" (\"CONFIG_VIRTIO_MMIO\" . m)\n" +" (\"CONFIG_FUSE_FS\" . m)\n" +" (\"CONFIG_CIFS\" . m)\n" +" (\"CONFIG_9P_FS\" . m)))\n" +"\n" +msgstr "" +"(define %default-extra-linux-options\n" +" `(;; https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00039.html\n" +" (\"CONFIG_DEVPTS_MULTIPLE_INSTANCES\" . #t)\n" +" ;; Modules required for initrd:\n" +" (\"CONFIG_NET_9P\" . m)\n" +" (\"CONFIG_NET_9P_VIRTIO\" . m)\n" +" (\"CONFIG_VIRTIO_BLK\" . m)\n" +" (\"CONFIG_VIRTIO_NET\" . m)\n" +" (\"CONFIG_VIRTIO_PCI\" . m)\n" +" (\"CONFIG_VIRTIO_BALLOON\" . m)\n" +" (\"CONFIG_VIRTIO_MMIO\" . m)\n" +" (\"CONFIG_FUSE_FS\" . m)\n" +" (\"CONFIG_CIFS\" . m)\n" +" (\"CONFIG_9P_FS\" . m)))\n" +"\n" + +#. type: lisp +#: doc/guix-cookbook.texi:1453 +#, no-wrap +msgid "" +"(define (config->string options)\n" +" (string-join (map (match-lambda\n" +" ((option . 'm)\n" +" (string-append option \"=m\"))\n" +" ((option . #t)\n" +" (string-append option \"=y\"))\n" +" ((option . #f)\n" +" (string-append option \"=n\")))\n" +" options)\n" +" \"\\n\"))\n" +msgstr "" +"(define (config->string options)\n" +" (string-join (map (match-lambda\n" +" ((option . 'm)\n" +" (string-append option \"=m\"))\n" +" ((option . #t)\n" +" (string-append option \"=y\"))\n" +" ((option . #f)\n" +" (string-append option \"=n\")))\n" +" options)\n" +" \"\\n\"))\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1456 +msgid "And in the custom configure script from the `make-linux-libre` package:" +msgstr "Und im eigenen configure-Skript des „make-linux-libre“-Pakets:" + +#. type: lisp +#: doc/guix-cookbook.texi:1464 +#, no-wrap +msgid "" +";; Appending works even when the option wasn't in the\n" +";; file. The last one prevails if duplicated.\n" +"(let ((port (open-file \".config\" \"a\"))\n" +" (extra-configuration ,(config->string extra-options)))\n" +" (display extra-configuration port)\n" +" (close-port port))\n" +"\n" +msgstr "" +";; Appending works even when the option wasn't in the\n" +";; file. The last one prevails if duplicated.\n" +"(let ((port (open-file \".config\" \"a\"))\n" +" (extra-configuration ,(config->string extra-options)))\n" +" (display extra-configuration port)\n" +" (close-port port))\n" +"\n" + +#. type: lisp +#: doc/guix-cookbook.texi:1466 +#, no-wrap +msgid "(invoke \"make\" \"oldconfig\"))))\n" +msgstr "(invoke \"make\" \"oldconfig\"))))\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1471 +msgid "So by not providing a configuration-file the @file{.config} starts blank, and then we write into it the collection of flags that we want. Here's another custom kernel:" +msgstr "Indem wir also kein „configuration-file“ mitgeben, ist @file{.config} anfangs leer und danach schreiben wir dort die Sammlung der gewünschten Optionen („Flags“) hinein. Hier ist noch ein eigener Kernel:" + +#. type: lisp +#: doc/guix-cookbook.texi:1479 +#, no-wrap +msgid "" +"(define %macbook41-full-config\n" +" (append %macbook41-config-options\n" +" %filesystems\n" +" %efi-support\n" +" %emulation\n" +" (@@@@ (gnu packages linux) %default-extra-linux-options)))\n" +"\n" +msgstr "" +"(define %macbook41-full-config\n" +" (append %macbook41-config-options\n" +" %filesystems\n" +" %efi-support\n" +" %emulation\n" +" (@@@@ (gnu packages linux) %default-extra-linux-options)))\n" +"\n" + +#. type: lisp +#: doc/guix-cookbook.texi:1489 +#, no-wrap +msgid "" +"(define-public linux-libre-macbook41\n" +" ;; XXX: Access the internal 'make-linux-libre' procedure, which is\n" +" ;; private and unexported, and is liable to change in the future.\n" +" ((@@@@ (gnu packages linux) make-linux-libre) (@@@@ (gnu packages linux) %linux-libre-version)\n" +" (@@@@ (gnu packages linux) %linux-libre-hash)\n" +" '(\"x86_64-linux\")\n" +" #:extra-version \"macbook41\"\n" +" #:patches (@@@@ (gnu packages linux) %linux-libre-5.1-patches)\n" +" #:extra-options %macbook41-config-options))\n" +msgstr "" +"(define-public linux-libre-macbook41\n" +" ;; XXX: Auf die interne 'make-linux-libre'-Prozedur zugreifen, welche privat\n" +" ;; ist und nicht exportiert, desweiteren kann sie sich in Zukunft ändern.\n" +" ((@@@@ (gnu packages linux) make-linux-libre) (@@@@ (gnu packages linux) %linux-libre-version)\n" +" (@@@@ (gnu packages linux) %linux-libre-hash)\n" +" '(\"x86_64-linux\")\n" +" #:extra-version \"macbook41\"\n" +" #:patches (@@@@ (gnu packages linux) %linux-libre-5.1-patches)\n" +" #:extra-options %macbook41-config-options))\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1496 +msgid "In the above example @code{%filesystems} is a collection of flags enabling different filesystem support, @code{%efi-support} enables EFI support and @code{%emulation} enables a x86_64-linux machine to act in 32-bit mode also. @code{%default-extra-linux-options} are the ones quoted above, which had to be added in since they were replaced in the @code{extra-options} keyword." +msgstr "Im obigen Beispiel ist @code{%filesystems} eine Sammlung solcher „Flags“, mit denen Unterstützung für verschiedene Dateisysteme aktiviert wird, @code{%efi-support} aktiviert Unterstützung für EFI und @code{%emulation} ermöglicht es einer x86_64-linux-Maschine, auch im 32-Bit-Modus zu arbeiten. Die @code{%default-extra-linux-options} sind die oben zitierten, die wieder hinzugefügt werden mussten, weil sie durch das @code{extra-options}-Schlüsselwort ersetzt worden waren." + +#. type: Plain text +#: doc/guix-cookbook.texi:1505 +msgid "This all sounds like it should be doable, but how does one even know which modules are required for a particular system? Two places that can be helpful in trying to answer this question is the @uref{https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Kernel, Gentoo Handbook} and the @uref{https://www.kernel.org/doc/html/latest/admin-guide/README.html?highlight=localmodconfig, documentation from the kernel itself}. From the kernel documentation, it seems that @code{make localmodconfig} is the command we want." +msgstr "All das klingt machbar, aber woher weiß man überhaupt, welche Module für ein bestimmtes System nötig sind? Es gibt zwei hilfreiche Anlaufstellen, zum einen das @uref{https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Kernel, Gentoo-Handbuch}, zum anderen die @uref{https://www.kernel.org/doc/html/latest/admin-guide/README.html?highlight=localmodconfig, Dokumentation des Kernels selbst}. Aus der Kernel-Dokumentation erfahren wir, dass @code{make localmodconfig} der Befehl sein könnte, den wir wollen." + +#. type: Plain text +#: doc/guix-cookbook.texi:1508 +msgid "In order to actually run @code{make localmodconfig} we first need to get and unpack the kernel source code:" +msgstr "Um @code{make localmodconfig} auch tatsächlich ausführen zu können, müssen wir zunächst den Quellcode des Kernels holen und entpacken:" + +#. type: example +#: doc/guix-cookbook.texi:1511 +#, no-wrap +msgid "tar xf $(guix build linux-libre --source)\n" +msgstr "tar xf $(guix build linux-libre --source)\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1518 +msgid "Once inside the directory containing the source code run @code{touch .config} to create an initial, empty @file{.config} to start with. @code{make localmodconfig} works by seeing what you already have in @file{.config} and letting you know what you're missing. If the file is blank then you're missing everything. The next step is to run:" +msgstr "Sobald wir im Verzeichnis mit dem Quellcode sind, führen Sie @code{touch .config} aus, um mit einer ersten, leeren @file{.config} anzufangen. @code{make localmodconfig} funktioniert so, dass angeschaut wird, was bereits in Ihrer @file{.config} steht, und Ihnen mitgeteilt wird, was Ihnen noch fehlt. Wenn die Datei leer bleibt, fehlt eben alles. Der nächste Schritt ist, das hier auszuführen:" + +#. type: example +#: doc/guix-cookbook.texi:1521 +#, no-wrap +msgid "guix environment linux-libre -- make localmodconfig\n" +msgstr "guix environment linux-libre -- make localmodconfig\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1526 +msgid "and note the output. Do note that the @file{.config} file is still empty. The output generally contains two types of warnings. The first start with \"WARNING\" and can actually be ignored in our case. The second read:" +msgstr "und uns die Ausgabe davon anzuschauen. Beachten Sie, dass die @file{.config}-Datei noch immer leer ist. Die Ausgabe enthält im Allgemeinen zwei Arten von Warnungen. Am Anfang der ersten steht „WARNING“ und in unserem Fall können wir sie tatsächlich ignorieren. Bei der zweiten heißt es:" + +#. type: example +#: doc/guix-cookbook.texi:1529 +#, no-wrap +msgid "module pcspkr did not have configs CONFIG_INPUT_PCSPKR\n" +msgstr "module pcspkr did not have configs CONFIG_INPUT_PCSPKR\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1534 +msgid "For each of these lines, copy the @code{CONFIG_XXXX_XXXX} portion into the @file{.config} in the directory, and append @code{=m}, so in the end it looks like this:" +msgstr "Für jede solche Zeile kopieren Sie den @code{CONFIG_XXXX_XXXX}-Teil in die @file{.config} im selben Verzeichnis und hängen @code{=m} an, damit es am Ende so aussieht:" + +#. type: example +#: doc/guix-cookbook.texi:1538 +#, no-wrap +msgid "" +"CONFIG_INPUT_PCSPKR=m\n" +"CONFIG_VIRTIO=m\n" +msgstr "" +"CONFIG_INPUT_PCSPKR=m\n" +"CONFIG_VIRTIO=m\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1547 +msgid "After copying all the configuration options, run @code{make localmodconfig} again to make sure that you don't have any output starting with ``module''. After all of these machine specific modules there are a couple more left that are also needed. @code{CONFIG_MODULES} is necessary so that you can build and load modules separately and not have everything built into the kernel. @code{CONFIG_BLK_DEV_SD} is required for reading from hard drives. It is possible that there are other modules which you will need." +msgstr "Nachdem Sie alle Konfigurationsoptionen kopiert haben, führen Sie noch einmal @code{make localmodconfig} aus, um sicherzugehen, dass es keine Ausgaben mehr gibt, deren erstes Wort „module“ ist. Zusätzlich zu diesen maschinenspezifischen Modulen gibt es noch ein paar mehr, die Sie auch brauchen. @code{CONFIG_MODULES} brauchen Sie, damit Sie Module getrennt erstellen und laden können und nicht alles im Kernel eingebaut sein muss. Sie brauchen auch @code{CONFIG_BLK_DEV_SD}, um von Festplatten lesen zu können. Möglicherweise gibt es auch sonst noch Module, die Sie brauchen werden." + +#. type: Plain text +#: doc/guix-cookbook.texi:1551 +msgid "This post does not aim to be a guide to configuring your own kernel however, so if you do decide to build a custom kernel you'll have to seek out other guides to create a kernel which is just right for your needs." +msgstr "Die Absicht hinter dem hier Niedergeschriebenen ist @emph{nicht}, eine Anleitung zum Konfigurieren eines eigenen Kernels zu sein. Wenn Sie also vorhaben, den Kernel an Ihre ganz eigenen Bedürfnisse anzupassen, werden Sie in anderen Anleitungen fündig." + +#. type: Plain text +#: doc/guix-cookbook.texi:1559 +msgid "The second way to setup the kernel configuration makes more use of Guix's features and allows you to share configuration segments between different kernels. For example, all machines using EFI to boot have a number of EFI configuration flags that they need. It is likely that all the kernels will share a list of filesystems to support. By using variables it is easier to see at a glance what features are enabled and to make sure you don't have features in one kernel but missing in another." +msgstr "Die zweite Möglichkeit, die Kernel-Konfiguration einzurichten, benutzt mehr von Guix’ Funktionalitäten und sie ermöglicht es Ihnen, Gemeinsamkeiten von Konfigurationen zwischen verschiedenen Kernels zu teilen. Zum Beispiel wird eine Reihe von EFI-Konfigurationsoptionen von allen Maschinen, die EFI benutzen, benötigt. Wahrscheinlich haben all diese Kernel eine Schnittmenge zu unterstützender Dateisysteme. Indem Sie Variable benutzen, können Sie leicht auf einen Schlag sehen, welche Funktionalitäten aktiviert sind, und gleichzeitig sicherstellen, dass Ihnen nicht Funktionalitäten des einen Kernels im anderen fehlen." + +#. type: Plain text +#: doc/guix-cookbook.texi:1564 +msgid "Left undiscussed however, is Guix's initrd and its customization. It is likely that you'll need to modify the initrd on a machine using a custom kernel, since certain modules which are expected to be built may not be available for inclusion into the initrd." +msgstr "Was wir hierbei nicht erläutert haben, ist, wie Guix’ initrd und dessen Anpassung funktioniert. Wahrscheinlich werden Sie auf einer Maschine mit eigenem Kernel die initrd verändern müssen, weil sonst versucht wird, bestimmte Module in die initrd einzubinden, die Sie gar nicht erstellen haben lassen." + +#. type: Plain text +#: doc/guix-cookbook.texi:1574 +msgid "Guix is a functional package manager that offers many features beyond what more traditional package managers can do. To the uninitiated, those features might not have obvious use cases at first. The purpose of this chapter is to demonstrate some advanced package management concepts." +msgstr "Guix ist ein funktionales Paketverwaltungsprogramm, das weit mehr Funktionalitäten als traditionelle Paketverwalter anbietet. Für nicht Eingeweihte sind deren Anwendungsfälle nicht sofort ersichtlich. Dieses Kapitel ist dazu da, manche fortgeschrittenen Paketverwaltungskonzepte zu demonstrieren." + +#. type: Plain text +#: doc/guix-cookbook.texi:1577 +msgid "@pxref{Package Management,,, guix, GNU Guix Reference Manual} for a complete reference." +msgstr "Siehe @ref{Paketverwaltung,,, guix.de, Referenzhandbuch zu GNU Guix} für eine vollständige Referenz." + +#. type: section +#: doc/guix-cookbook.texi:1580 doc/guix-cookbook.texi:1582 +#: doc/guix-cookbook.texi:1583 +#, no-wrap +msgid "Guix Profiles in Practice" +msgstr "Guix-Profile in der Praxis" + +#. type: menuentry +#: doc/guix-cookbook.texi:1580 +msgid "Strategies for multiple profiles and manifests." +msgstr "Strategien für mehrere Profile und Manifeste." + +#. type: Plain text +#: doc/guix-cookbook.texi:1588 +msgid "Guix provides a very useful feature that may be quite foreign to newcomers: @emph{profiles}. They are a way to group package installations together and all users on the same system are free to use as many profiles as they want." +msgstr "Guix gibt uns eine sehr nützliche Funktionalität, die Neuankömmlingen sehr fremd sein dürfte: @emph{Profile}. Mit ihnen kann man Paketinstallationen zusammenfassen und jeder Benutzer desselben Systems kann so viele davon anlegen, wie sie oder er möchte." + +#. type: Plain text +#: doc/guix-cookbook.texi:1593 +msgid "Whether you're a developer or not, you may find that multiple profiles bring you great power and flexibility. While they shift the paradigm somewhat compared to @emph{traditional package managers}, they are very convenient to use once you've understood how to set them up." +msgstr "Ob Sie ein Entwickler sind oder nicht, Sie dürften feststellen, dass mehrere Profile ein mächtiges Werkzeug sind, das Sie flexibler macht. Zwar ist es ein gewisser Paradigmenwechsel verglichen mit @emph{traditioneller Paketverwaltung}, doch sind sie sehr praktisch, sobald man im Umgang mit ihnen den Dreh ’raushat." + +#. type: Plain text +#: doc/guix-cookbook.texi:1599 +msgid "If you are familiar with Python's @samp{virtualenv}, you can think of a profile as a kind of universal @samp{virtualenv} that can hold any kind of software whatsoever, not just Python software. Furthermore, profiles are self-sufficient: they capture all the runtime dependencies which guarantees that all programs within a profile will always work at any point in time." +msgstr "Wenn Ihnen Pythons @samp{virtualenv} vertraut ist, können Sie sich ein Profil als eine Art universelles @samp{virtualenv} vorstellen, das jede Art von Software enthalten kann und nicht nur Python-Software. Desweiteren sind Profile selbstversorgend: Sie schließen alle Laufzeitabhängigkeiten ein und garantieren somit, dass alle Programme innerhalb eines Profils stets zu jeder Zeit funktionieren werden." + +#. type: Plain text +#: doc/guix-cookbook.texi:1601 +msgid "Multiple profiles have many benefits:" +msgstr "Mehrere Profile bieten viele Vorteile:" + +#. type: itemize +#: doc/guix-cookbook.texi:1605 +msgid "Clean semantic separation of the various packages a user needs for different contexts." +msgstr "Klare semantische Trennung der verschiedenen Pakete, die ein Nutzer für verschiedene Kontexte braucht." + +#. type: itemize +#: doc/guix-cookbook.texi:1609 +msgid "Multiple profiles can be made available into the environment either on login or within a dedicated shell." +msgstr "Mehrere Profile können in der Umgebung verfügbar gemacht werden, entweder beim Anmelden oder in einer eigenen Shell." + +#. type: itemize +#: doc/guix-cookbook.texi:1613 +msgid "Profiles can be loaded on demand. For instance, the user can use multiple shells, each of them running different profiles." +msgstr "Profile können bei Bedarf geladen werden. Zum Beispiel kann der Nutzer mehrere Unter-Shells benutzen, von denen jede ein anderes Profil ausführt." + +#. type: itemize +#: doc/guix-cookbook.texi:1618 +msgid "Isolation: Programs from one profile will not use programs from the other, and the user can even install different versions of the same programs to the two profiles without conflict." +msgstr "Isolierung: Programme aus dem einen Profil werden keine Programme aus dem anderen benutzen, und der Nutzer kann sogar verschiedene Versionen desselben Programms in die zwei Profile installieren, ohne dass es zu Konflikten kommt." + +#. type: itemize +#: doc/guix-cookbook.texi:1622 +msgid "Deduplication: Profiles share dependencies that happens to be the exact same. This makes multiple profiles storage-efficient." +msgstr "Deduplizierung: Profile teilen sich Abhängigkeiten, wenn sie genau gleich sind. Dadurch sind mehrere Profile speichereffizient." + +#. type: itemize +#: doc/guix-cookbook.texi:1630 +msgid "Reproducible: when used with declarative manifests, a profile can be fully specified by the Guix commit that was active when it was set up. This means that the exact same profile can be @uref{https://guix.gnu.org/blog/2018/multi-dimensional-transactions-and-rollbacks-oh-my/, set up anywhere and anytime}, with just the commit information. See the section on @ref{Reproducible profiles}." +msgstr "Reproduzierbar: Wenn man dafür deklarative Manifeste benutzt, kann ein Profil allein durch den bei dessen Einrichtung aktiven Guix-Commit eindeutig spezifiziert werden. Das bedeutet, dass man genau dasselbe Profil @uref{https://guix.gnu.org/blog/2018/multi-dimensional-transactions-and-rollbacks-oh-my/, jederzeit und überall einrichten kann} und man dafür nur die Commit-Informationen braucht. Siehe den Abschnitt über @ref{Reproduzierbare Profile}." + +#. type: itemize +#: doc/guix-cookbook.texi:1634 +msgid "Easier upgrades and maintenance: Multiple profiles make it easy to keep package listings at hand and make upgrades completely friction-less." +msgstr "Leichtere Aktualisierung und Wartung: Mit mehreren Profilen ist es ein Leichtes, eine Liste von Paketen zur Hand zu haben und Aktualisierungen völlig reibungslos ablaufen zu lassen." + +#. type: Plain text +#: doc/guix-cookbook.texi:1637 +msgid "Concretely, here follows some typical profiles:" +msgstr "Konkret wären diese hier typische Profile:" + +#. type: itemize +#: doc/guix-cookbook.texi:1641 +msgid "The dependencies of a project you are working on." +msgstr "Die Abhängigkeiten des Projekts, an dem Sie arbeiten." + +#. type: itemize +#: doc/guix-cookbook.texi:1644 +msgid "Your favourite programming language libraries." +msgstr "Die Bibliotheken Ihrer Lieblingsprogrammiersprache." + +#. type: itemize +#: doc/guix-cookbook.texi:1647 +msgid "Laptop-specific programs (like @samp{powertop}) that you don't need on a desktop." +msgstr "Programme nur für Laptops (wie @samp{powertop}), für die Sie auf einem „Desktop“-Rechner keine Verwendung haben." + +#. type: itemize +#: doc/guix-cookbook.texi:1651 +msgid "@TeX{}live (this one can be really useful when you need to install just one package for this one document you've just received over email)." +msgstr "@TeX{}live (das kann wirklich praktisch sein, wenn Sie nur ein einziges Paket für dieses eine Dokument installieren müssen, das Ihnen jemand in einer E-Mail geschickt hat)." + +#. type: itemize +#: doc/guix-cookbook.texi:1654 +msgid "Games." +msgstr "Spiele." + +#. type: Plain text +#: doc/guix-cookbook.texi:1657 +msgid "Let's dive in the set up!" +msgstr "Tauchen wir ein in deren Einrichtung!" + +#. type: subsection +#: doc/guix-cookbook.texi:1658 doc/guix-cookbook.texi:1659 +#, no-wrap +msgid "Basic setup with manifests" +msgstr "Grundlegende Einrichtung über Manifeste" + +#. type: Plain text +#: doc/guix-cookbook.texi:1663 +msgid "A Guix profile can be set up @emph{via} a so-called @emph{manifest specification} that looks like this:" +msgstr "Ein Guix-Profil kann über eine sogenannte @emph{Manifest-Spezifikation} eingerichtet werden. Das sieht etwa so aus:" + +#. type: lisp +#: doc/guix-cookbook.texi:1673 +#, no-wrap +msgid "" +"(specifications->manifest\n" +" '(\"package-1\"\n" +" ;; Version 1.3 of package-2.\n" +" \"package-2@@1.3\"\n" +" ;; The \"lib\" output of package-3.\n" +" \"package-3:lib\"\n" +" ; ...\n" +" \"package-N\"))\n" +msgstr "" +"(specifications->manifest\n" +" '(\"paket-1\"\n" +" ;; Version 1.3 von paket-2.\n" +" \"paket-2@@1.3\"\n" +" ;; Die \"lib\"-Ausgabe von paket-3.\n" +" \"paket-3:lib\"\n" +" ; …\n" +" \"paket-N\"))\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1677 +msgid "@pxref{Invoking guix package,,, guix, GNU Guix Reference Manual}, for the syntax details." +msgstr "Siehe @ref{Aufruf von guix package,,, guix.de, Referenzhandbuch zu GNU Guix}, für Details zur Syntax." + +#. type: Plain text +#: doc/guix-cookbook.texi:1679 +msgid "We can create a manifest specification per profile and install them this way:" +msgstr "Wir können eine Manifestspezifikation für jedes Profil schreiben und es auf diese Weise installieren:" + +#. type: example +#: doc/guix-cookbook.texi:1684 +#, no-wrap +msgid "" +"GUIX_EXTRA_PROFILES=$HOME/.guix-extra-profiles\n" +"mkdir -p \"$GUIX_EXTRA_PROFILES\"/my-project # if it does not exist yet\n" +"guix package --manifest=/path/to/guix-my-project-manifest.scm --profile=\"$GUIX_EXTRA_PROFILES\"/my-project/my-project\n" +msgstr "" +"GUIX_EXTRA_PROFILES=$HOME/.guix-extra-profiles\n" +"mkdir -p \"$GUIX_EXTRA_PROFILES\"/my-project # wenn es noch nicht existiert\n" +"guix package --manifest=/pfad/zu/guix-my-project-manifest.scm --profile=\"$GUIX_EXTRA_PROFILES\"/my-project/my-project\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1688 +msgid "Here we set an arbitrary variable @samp{GUIX_EXTRA_PROFILES} to point to the directory where we will store our profiles in the rest of this article." +msgstr "Hierbei haben wir eine beliebig benannte Variable @samp{GUIX_EXTRA_PROFILES} eingerichtet, die auf das Verzeichnis verweist, wo wir unsere Profile für den Rest dieses Artikels speichern wollen." + +#. type: Plain text +#: doc/guix-cookbook.texi:1694 +msgid "Placing all your profiles in a single directory, with each profile getting its own sub-directory, is somewhat cleaner. This way, each sub-directory will contain all the symlinks for precisely one profile. Besides, \"looping over profiles\" becomes obvious from any programming language (e.g. a shell script) by simply looping over the sub-directories of @samp{$GUIX_EXTRA_PROFILES}." +msgstr "Wenn Sie all Ihre Profile in ein einzelnes Verzeichnis legen und jedes Profil ein Unterverzeichnis darin bekommt, ist die Organisation etwas verständlicher. Dadurch wird jedes Unterverzeichnis all die symbolischen Verknüpfungen für genau ein Profil enthalten. Außerdem wird es von jeder Programmiersprache aus einfach, eine „Schleife über die Profile“ zu schreiben (z.B.@: in einem Shell-Skript), indem Sie es einfach die Unterverzeichnisse von @samp{$GUIX_EXTRA_PROFILES} in einer Schleife durchlaufen lassen." + +#. type: Plain text +#: doc/guix-cookbook.texi:1696 +msgid "Note that it's also possible to loop over the output of" +msgstr "Beachten Sie, dass man auch eine Schleife über die Ausgabe von" + +#. type: example +#: doc/guix-cookbook.texi:1699 +#, no-wrap +msgid "guix package --list-profiles\n" +msgstr "guix package --list-profiles\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1702 +msgid "although you'll probably have to filter out @samp{~/.config/guix/current}." +msgstr "schreiben kann, obwohl Sie dabei wahrscheinlich @samp{~/.config/guix/current} herausfiltern wollen würden." + +#. type: Plain text +#: doc/guix-cookbook.texi:1704 +msgid "To enable all profiles on login, add this to your @samp{~/.bash_profile} (or similar):" +msgstr "Um bei der Anmeldung alle Profile zu aktivieren, fügen Sie dies in Ihre @samp{~/.bash_profile} ein (oder etwas Entsprechendes):" + +#. type: example +#: doc/guix-cookbook.texi:1714 +#, no-wrap +msgid "" +"for i in $GUIX_EXTRA_PROFILES/*; do\n" +" profile=$i/$(basename \"$i\")\n" +" if [ -f \"$profile\"/etc/profile ]; then\n" +" GUIX_PROFILE=\"$profile\"\n" +" . \"$GUIX_PROFILE\"/etc/profile\n" +" fi\n" +" unset profile\n" +"done\n" +msgstr "" +"for i in $GUIX_EXTRA_PROFILES/*; do\n" +" profile=$i/$(basename \"$i\")\n" +" if [ -f \"$profile\"/etc/profile ]; then\n" +" GUIX_PROFILE=\"$profile\"\n" +" . \"$GUIX_PROFILE\"/etc/profile\n" +" fi\n" +" unset profile\n" +"done\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1719 +msgid "Note to Guix System users: the above reflects how your default profile @samp{~/.guix-profile} is activated from @samp{/etc/profile}, that latter being loaded by @samp{~/.bashrc} by default." +msgstr "Eine Anmerkung für Nutzer von „Guix System“: Obiger Code entspricht dem, wie Ihr voreingestelltes Profil @samp{~/.guix-profile} durch @samp{/etc/profile} aktiviert wird, was nach Vorgabe durch @samp{~/.bashrc} geladen wird." + +#. type: Plain text +#: doc/guix-cookbook.texi:1721 +msgid "You can obviously choose to only enable a subset of them:" +msgstr "Selbstverständlich können Sie sich auch dafür entscheiden, nur eine Teilmenge zu aktivieren:" + +#. type: example +#: doc/guix-cookbook.texi:1731 +#, no-wrap +msgid "" +"for i in \"$GUIX_EXTRA_PROFILES\"/my-project-1 \"$GUIX_EXTRA_PROFILES\"/my-project-2; do\n" +" profile=$i/$(basename \"$i\")\n" +" if [ -f \"$profile\"/etc/profile ]; then\n" +" GUIX_PROFILE=\"$profile\"\n" +" . \"$GUIX_PROFILE\"/etc/profile\n" +" fi\n" +" unset profile\n" +"done\n" +msgstr "" +"for i in \"$GUIX_EXTRA_PROFILES\"/my-project-1 \"$GUIX_EXTRA_PROFILES\"/my-project-2; do\n" +" profile=$i/$(basename \"$i\")\n" +" if [ -f \"$profile\"/etc/profile ]; then\n" +" GUIX_PROFILE=\"$profile\"\n" +" . \"$GUIX_PROFILE\"/etc/profile\n" +" fi\n" +" unset profile\n" +"done\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1735 +msgid "When a profile is off, it's straightforward to enable it for an individual shell without \"polluting\" the rest of the user session:" +msgstr "Wenn ein Profil abgeschaltet ist, lässt es sich mit Leichtigkeit für eine bestimmte Shell aktivieren, ohne die restliche Benutzersitzung zu „verschmutzen“:" + +#. type: example +#: doc/guix-cookbook.texi:1738 +#, no-wrap +msgid "GUIX_PROFILE=\"path/to/my-project\" ; . \"$GUIX_PROFILE\"/etc/profile\n" +msgstr "GUIX_PROFILE=\"pfad/zu/my-project\" ; . \"$GUIX_PROFILE\"/etc/profile\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1745 +msgid "The key to enabling a profile is to @emph{source} its @samp{etc/profile} file. This file contains shell code that exports the right environment variables necessary to activate the software contained in the profile. It is built automatically by Guix and meant to be sourced. It contains the same variables you would get if you ran:" +msgstr "Der Schlüssel dazu, wie man ein Profil aktiviert, ist dessen @samp{etc/profile}-Datei mit @command{source} zu laden. Diese Datei enthält einige Shell-Befehle, um die für das Aktivieren der Software im Profil nötigen Umgebungsvariablen zu exportieren. Die Datei wird durch Guix automatisch erzeugt, um mit @command{source} eingelesen zu werden. Sie enthält dieselben Variablen, die Sie nach Ausführung dieses Befehls bekämen:" + +#. type: example +#: doc/guix-cookbook.texi:1748 +#, no-wrap +msgid "guix package --search-paths=prefix --profile=$my_profile\"\n" +msgstr "guix package --search-paths=prefix --profile=$my_profile\"\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1752 +msgid "Once again, see (@pxref{Invoking guix package,,, guix, GNU Guix Reference Manual}) for the command line options." +msgstr "Siehe auch hier das @ref{Aufruf von guix package,,, guix.de, Referenzhandbuch zu GNU Guix} für die Befehlszeilenoptionen." + +#. type: Plain text +#: doc/guix-cookbook.texi:1754 +msgid "To upgrade a profile, simply install the manifest again:" +msgstr "Um ein Profil zu aktualisieren, installieren Sie das Manifest einfach nochmal:" + +#. type: example +#: doc/guix-cookbook.texi:1757 +#, no-wrap +msgid "guix package -m /path/to/guix-my-project-manifest.scm -p \"$GUIX_EXTRA_PROFILES\"/my-project/my-project\n" +msgstr "guix package -m /pfad/zu/guix-my-project-manifest.scm -p \"$GUIX_EXTRA_PROFILES\"/my-project/my-project\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1763 +msgid "To upgrade all profiles, it's easy enough to loop over them. For instance, assuming your manifest specifications are stored in @samp{~/.guix-manifests/guix-$profile-manifest.scm}, with @samp{$profile} being the name of the profile (e.g. \"project1\"), you could do the following in Bourne shell:" +msgstr "Um alle Profile zu aktualisieren, genügt es, sie in einer Schleife durchlaufen zu lassen. Nehmen wir zum Beispiel an, Ihre Manifestspezifikationen befinden sich in @samp{~/.guix-manifests/guix-$profile-manifest.scm}, wobei @samp{$profile} der Name des Profils ist (z.B.@: „projekt1“), dann könnten Sie in der Bourne-Shell Folgendes tun:" + +#. type: example +#: doc/guix-cookbook.texi:1768 +#, no-wrap +msgid "" +"for profile in \"$GUIX_EXTRA_PROFILES\"/*; do\n" +" guix package --profile=\"$profile\" --manifest=\"$HOME/.guix-manifests/guix-$profile-manifest.scm\"\n" +"done\n" +msgstr "" +"for profile in \"$GUIX_EXTRA_PROFILES\"/*; do\n" +" guix package --profile=\"$profile\" --manifest=\"$HOME/.guix-manifests/guix-$profile-manifest.scm\"\n" +"done\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1771 +msgid "Each profile has its own generations:" +msgstr "Jedes Profil verfügt über seine eigenen Generationen:" + +#. type: example +#: doc/guix-cookbook.texi:1774 +#, no-wrap +msgid "guix package -p \"$GUIX_EXTRA_PROFILES\"/my-project/my-project --list-generations\n" +msgstr "guix package -p \"$GUIX_EXTRA_PROFILES\"/my-project/my-project --list-generations\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1777 +msgid "You can roll-back to any generation of a given profile:" +msgstr "Sie können es auf jede Generation zurücksetzen:" + +#. type: example +#: doc/guix-cookbook.texi:1780 +#, no-wrap +msgid "guix package -p \"$GUIX_EXTRA_PROFILES\"/my-project/my-project --switch-generations=17\n" +msgstr "guix package -p \"$GUIX_EXTRA_PROFILES\"/my-project/my-project --switch-generations=17\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1784 +msgid "Finally, if you want to switch to a profile without inheriting from the current environment, you can activate it from an empty shell:" +msgstr "Zu guter Letzt ist es möglich, zu einem Profil zu wechseln ohne die aktuelle Umgebung zu erben, indem Sie es aus einer leeren Shell heraus aktivieren:" + +#. type: example +#: doc/guix-cookbook.texi:1788 +#, no-wrap +msgid "" +"env -i $(which bash) --login --noprofile --norc\n" +". my-project/etc/profile\n" +msgstr "" +"env -i $(which bash) --login --noprofile --norc\n" +". my-project/etc/profile\n" + +#. type: subsection +#: doc/guix-cookbook.texi:1790 doc/guix-cookbook.texi:1791 +#, no-wrap +msgid "Required packages" +msgstr "Die nötigen Pakete" + +#. type: Plain text +#: doc/guix-cookbook.texi:1796 +msgid "Activating a profile essentially boils down to exporting a bunch of environmental variables. This is the role of the @samp{etc/profile} within the profile." +msgstr "Das Aktivieren eines Profils bedeutet im Grunde, dass eine Menge Umgebungsvariabler exportiert wird. Diese Rolle fällt der @samp{etc/profile}-Datei innerhalb des Profils zu." + +#. type: emph{#1} +#: doc/guix-cookbook.texi:1799 +msgid "Note: Only the environmental variables of the packages that consume them will be set." +msgstr "Anmerkung: Nur diejenigen Umgebungsvariablen der sie gebrauchenden Pakete werden gesetzt." + +#. type: Plain text +#: doc/guix-cookbook.texi:1803 +msgid "For instance, @samp{MANPATH} won't be set if there is no consumer application for man pages within the profile. So if you need to transparently access man pages once the profile is loaded, you've got two options:" +msgstr "Zum Beispiel wird kein @samp{MANPATH} gesetzt sein, wenn keine Anwendung im Profil diese „Man-Pages“ (Handbuchseiten) gebraucht. Wenn Sie also transparenten Zugriff auf Handbuchseiten brauchen, nachdem das Profil geladen wurde, dann gibt es zwei Möglichkeiten:" + +#. type: itemize +#: doc/guix-cookbook.texi:1807 +msgid "Either export the variable manually, e.g." +msgstr "Entweder Sie exportieren die Variablen von Hand, z.B." + +#. type: example +#: doc/guix-cookbook.texi:1809 +#, no-wrap +msgid "export MANPATH=/path/to/profile$@{MANPATH:+:@}$MANPATH\n" +msgstr "export MANPATH=/path/to/profile$@{MANPATH:+:@}$MANPATH\n" + +#. type: itemize +#: doc/guix-cookbook.texi:1813 +msgid "Or include @samp{man-db} to the profile manifest." +msgstr "Oder Sie schreiben @samp{man-db} in das Profilmanifest hinein." + +#. type: Plain text +#: doc/guix-cookbook.texi:1817 +msgid "The same is true for @samp{INFOPATH} (you can install @samp{info-reader}), @samp{PKG_CONFIG_PATH} (install @samp{pkg-config}), etc." +msgstr "Das Gleiche gilt für @samp{INFOPATH} (Sie können @samp{info-reader} installieren), @samp{PKG_CONFIG_PATH} (installieren Sie @samp{pkg-config}), etc." + +#. type: subsection +#: doc/guix-cookbook.texi:1818 doc/guix-cookbook.texi:1819 +#, no-wrap +msgid "Default profile" +msgstr "Vorgabeprofil" + +#. type: Plain text +#: doc/guix-cookbook.texi:1822 +msgid "What about the default profile that Guix keeps in @samp{~/.guix-profile}?" +msgstr "Was ist mit dem Standardprofil, das Guix in @samp{~/.guix-profile} aufbewahrt?" + +#. type: Plain text +#: doc/guix-cookbook.texi:1825 +msgid "You can assign it the role you want. Typically you would install the manifest of the packages you want to use all the time." +msgstr "Sie können ihm die Rolle zuweisen, die Sie wollen. Normalerweise würden Sie das Manifest derjenigen Pakete installieren, die Sie ständig benutzen möchten." + +#. type: Plain text +#: doc/guix-cookbook.texi:1829 +msgid "Alternatively, you could keep it \"manifest-less\" for throw-away packages that you would just use for a couple of days. This way makes it convenient to run" +msgstr "Alternativ können Sie es ohne Manifest für Wegwerfpakete benutzen, die Sie nur ein paar Tage lang benutzen wollen. Das macht es leicht," + +#. type: example +#: doc/guix-cookbook.texi:1833 +#, no-wrap +msgid "" +"guix install package-foo\n" +"guix upgrade package-bar\n" +msgstr "" +"guix install paket-foo\n" +"guix upgrade paket-bar\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1836 +msgid "without having to specify the path to a profile." +msgstr "auszuführen ohne den Pfad zu einem Profil festzulegen." + +#. type: subsection +#: doc/guix-cookbook.texi:1837 doc/guix-cookbook.texi:1838 +#, no-wrap +msgid "The benefits of manifests" +msgstr "Der Vorteil von Manifesten" + +#. type: Plain text +#: doc/guix-cookbook.texi:1842 +msgid "Manifests are a convenient way to keep your package lists around and, say, to synchronize them across multiple machines using a version control system." +msgstr "Manifeste sind eine bequeme Art, Ihre Paketlisten zur Hand zu haben und diese z.B.@: über mehrere Maschinen hinweg in einem Versionskontrollsystem zu synchronisieren." + +#. type: Plain text +#: doc/guix-cookbook.texi:1846 +msgid "A common complaint about manifests is that they can be slow to install when they contain large number of packages. This is especially cumbersome when you just want get an upgrade for one package within a big manifest." +msgstr "Eine oft gehörte Beschwerde über Manifeste ist, dass es lange dauert, sie zu installieren, wenn sie viele Pakete enthalten. Das ist besonders hinderlich, wenn Sie nur ein einziges Paket in ein großes Manifest installieren möchten." + +#. type: Plain text +#: doc/guix-cookbook.texi:1851 +msgid "This is one more reason to use multiple profiles, which happen to be just perfect to break down manifests into multiple sets of semantically connected packages. Using multiple, small profiles provides more flexibility and usability." +msgstr "Das ist ein weiteres Argument dafür, mehrere Profile zu benutzen, denn es stellt sich heraus, dass dieses Vorgehen perfekt für das Aufbrechen von Manifesten in mehrere Mengen semantisch verbundener Pakete geeignet ist. Mit mehreren, kleinen Profilen haben Sie mehr Flexibilität und Benutzerfreundlichkeit." + +#. type: Plain text +#: doc/guix-cookbook.texi:1853 +msgid "Manifests come with multiple benefits. In particular, they ease maintenance:" +msgstr "Manifeste haben mehrere Vorteile. Insbesondere erleichtern sie die Wartung." + +#. type: itemize +#: doc/guix-cookbook.texi:1861 +msgid "When a profile is set up from a manifest, the manifest itself is self-sufficient to keep a \"package listing\" around and reinstall the profile later or on a different system. For ad-hoc profiles, we would need to generate a manifest specification manually and maintain the package versions for the packages that don't use the default version." +msgstr "Wenn ein Profil aus einem Manifest heraus eingerichtet wird, ist das Manifest selbst genug, um eine Liste der Pakete zur Verfügung zu haben und das Profil später auf einem anderen System zu installieren. Bei @i{ad-hoc}-Profilen müssten wir hingegen eine Manifestspezifikation von Hand schreiben und uns um die Paketversionen derjenigen Pakete kümmern, die nicht die vorgegebene Version verwenden." + +#. type: itemize +#: doc/guix-cookbook.texi:1866 +msgid "@code{guix package --upgrade} always tries to update the packages that have propagated inputs, even if there is nothing to do. Guix manifests remove this problem." +msgstr "Bei @code{guix package --upgrade} wird immer versucht, die Pakete zu aktualisieren, die propagierte Eingaben haben, selbst wenn es nichts zu tun gibt. Mit Guix-Manifesten fällt dieses Problem weg." + +#. type: itemize +#: doc/guix-cookbook.texi:1872 +msgid "When partially upgrading a profile, conflicts may arise (due to diverging dependencies between the updated and the non-updated packages) and they can be annoying to resolve manually. Manifests remove this problem altogether since all packages are always upgraded at once." +msgstr "Wenn man nur Teile eines Profils aktualisiert, kann es zu Konflikten kommen (weil die Abhängigkeiten zwischen aktualisierten und nicht aktualisierten Paketen voneinander abweichen), und es kann mühsam sein, diese Konflikte von Hand aufzulösen. Manifeste haben kein solches Problem, weil alle Pakete immer gleichzeitig aktualisiert werden." + +#. type: itemize +#: doc/guix-cookbook.texi:1878 +msgid "As mentioned above, manifests allow for reproducible profiles, while the imperative @code{guix install}, @code{guix upgrade}, etc. do not, since they produce different profiles every time even when they hold the same packages. See @uref{https://issues.guix.gnu.org/issue/33285, the related discussion on the matter}." +msgstr "Wie zuvor erwähnt, gewähren einem Manifeste reproduzierbare Profile, während die imperativen @code{guix install}, @code{guix upgrade}, etc.@: das nicht tun, weil sie jedes Mal ein anderes Profil ergeben, obwohl sie dieselben Pakete enthalten. Siehe die @uref{https://issues.guix.gnu.org/issue/33285, dieses Thema betreffende Diskussion}." + +#. type: itemize +#: doc/guix-cookbook.texi:1886 +msgid "Manifest specifications are usable by other @samp{guix} commands. For example, you can run @code{guix weather -m manifest.scm} to see how many substitutes are available, which can help you decide whether you want to try upgrading today or wait a while. Another example: you can run @code{guix pack -m manifest.scm} to create a pack containing all the packages in the manifest (and their transitive references)." +msgstr "Manifestspezifikationen können von anderen @samp{guix}-Befehlen benutzt werden. Zum Beispiel können Sie @code{guix weather -m manifest.scm} ausführen, um zu sehen, wieviele Substitute verfügbar sind, was Ihnen bei der Entscheidung helfen kann, ob Sie heute schon eine Aktualisierung durchführen oder lieber noch eine Weile warten möchten. Ein anderes Beispiel: Sie können mit @code{guix pack -m manifest.scm} ein Bündel erzeugen, das alle Pakete im Manifest enthält (mitsamt derer transitiven Referenzen)." + +#. type: itemize +#: doc/guix-cookbook.texi:1890 +msgid "Finally, manifests have a Scheme representation, the @samp{<manifest>} record type. They can be manipulated in Scheme and passed to the various Guix @uref{https://en.wikipedia.org/wiki/Api, APIs}." +msgstr "Zuletzt haben Manifeste auch eine Repräsentation in Scheme, nämlich den @samp{<manifest>}-Verbundstyp. Sie können in Scheme verarbeitet werden und an die verschiedenen @uref{https://de.wikipedia.org/wiki/Programmierschnittstelle, Guix-Programmierschnittstellen (APIs)} übergeben werden." + +#. type: Plain text +#: doc/guix-cookbook.texi:1898 +msgid "It's important to understand that while manifests can be used to declare profiles, they are not strictly equivalent: profiles have the side effect that they \"pin\" packages in the store, which prevents them from being garbage-collected (@pxref{Invoking guix gc,,, guix, GNU Guix Reference Manual}) and ensures that they will still be available at any point in the future." +msgstr "Es ist wichtig, dass Sie verstehen, dass Manifeste zwar benutzt werden können, um Profile zu deklarieren, sie aber nicht ganz dasselbe wie Profile sind: Profile haben Nebenwirkungen. Sie setzen Pakete im Store fest, so dass sie nicht vom Müllsammler geholt werden (siehe @ref{Aufruf von guix gc,,, guix.de, Referenzhandbuch zu GNU Guix}) und stellen sicher, dass sie auch in Zukunft jederzeit verfügbar sein werden." + +#. type: Plain text +#: doc/guix-cookbook.texi:1900 +msgid "Let's take an example:" +msgstr "Schauen wir uns ein Beispiel an:" + +#. type: enumerate +#: doc/guix-cookbook.texi:1906 +msgid "We have an environment for hacking on a project for which there isn't a Guix package yet. We build the environment using a manifest, and then run @code{guix environment -m manifest.scm}. So far so good." +msgstr "Wir haben eine Umgebung, in der wir an einem Projekt hacken können, für das es noch kein Guix-Paket gibt. Wir richten die Umgebung mit einem Manifest ein und führen dann @code{guix environment -m manifest.scm} aus. So weit so gut." + +#. type: enumerate +#: doc/guix-cookbook.texi:1912 +msgid "Many weeks pass and we have run a couple of @code{guix pull} in the mean time. Maybe a dependency from our manifest has been updated; or we may have run @code{guix gc} and some packages needed by our manifest have been garbage-collected." +msgstr "Nach vielen Wochen haben wir in der Zwischenzeit schon ein paarmal @code{guix pull} laufen lassen. Vielleicht wurde eine Abhängigkeit aus unserem Manifest aktualisiert oder wir könnten @code{guix gc} ausgeführt haben, so dass manche Pakete, die von unserem Manifest gebraucht würden, vom Müllsammler geholt worden sind." + +#. type: enumerate +#: doc/guix-cookbook.texi:1917 +msgid "Eventually, we set to work on that project again, so we run @code{guix environment -m manifest.scm}. But now we have to wait for Guix to build and install stuff!" +msgstr "Schließlich fangen wir wieder an, an dem Projekt zu arbeiten, also fÜhren wir @code{guix environment -m manifest.scm} aus. Aber jetzt müssen wir warten, bis Guix lauter Dinge erstellt und installiert hat!" + +#. type: Plain text +#: doc/guix-cookbook.texi:1923 +msgid "Ideally, we could spare the rebuild time. And indeed we can, all we need is to install the manifest to a profile and use @code{GUIX_PROFILE=/the/profile; . \"$GUIX_PROFILE\"/etc/profile} as explained above: this guarantees that our hacking environment will be available at all times." +msgstr "Ideal wäre es, wenn wir uns die Zeit für die Neuerstellung sparen könnten. Und das können wir auch: Alles, was wir brauchen, ist, das Manifest in ein Profil zu installieren und @code{GUIX_PROFILE=/das/profil; . \"$GUIX_PROFILE\"/etc/profile} aufzurufen, wie oben erklärt. Dadurch haben wir die Garantie, dass unsere Hacking-Umgebung jederzeit zur Verfügung steht." + +#. type: Plain text +#: doc/guix-cookbook.texi:1926 +msgid "@emph{Security warning:} While keeping old profiles around can be convenient, keep in mind that outdated packages may not have received the latest security fixes." +msgstr "@emph{Sicherheitswarnung:} Obwohl es angenehm sein kann, alte Profile zu behalten, sollten Sie daran denken, dass veraltete Pakete @emph{nicht} über die neuesten Sicherheitsbehebungen verfügen." + +#. type: subsection +#: doc/guix-cookbook.texi:1927 doc/guix-cookbook.texi:1928 +#, no-wrap +msgid "Reproducible profiles" +msgstr "Reproduzierbare Profile" + +#. type: Plain text +#: doc/guix-cookbook.texi:1931 +msgid "To reproduce a profile bit-for-bit, we need two pieces of information:" +msgstr "Um ein Profil Bit für Bit nachzubilden, brauchen wir zweierlei Informationen:" + +#. type: itemize +#: doc/guix-cookbook.texi:1935 +msgid "a manifest," +msgstr "ein Manifest und" + +#. type: itemize +#: doc/guix-cookbook.texi:1937 +msgid "a Guix channel specification." +msgstr "eine Kanalspezifikation für Guix." + +#. type: Plain text +#: doc/guix-cookbook.texi:1941 +msgid "Indeed, manifests alone might not be enough: different Guix versions (or different channels) can produce different outputs for a given manifest." +msgstr "Tatsächlich kann es vorkommen, dass ein Manifest allein nicht genug ist: Verschiedene Versionen von Guix (oder andere Kanäle) können beim selben Manifest zu verschiedenen Ausgaben führen." + +#. type: Plain text +#: doc/guix-cookbook.texi:1945 +msgid "You can output the Guix channel specification with @samp{guix describe --format=channels}. Save this to a file, say @samp{channel-specs.scm}." +msgstr "Sie können sich die Guix-Kanalspezifikationen mit @samp{guix describe --format=channels} ausgeben lassen. Speichern Sie sie in eine Datei ab, sagen wir @samp{channel-specs.scm}." + +#. type: Plain text +#: doc/guix-cookbook.texi:1948 +msgid "On another computer, you can use the channel specification file and the manifest to reproduce the exact same profile:" +msgstr "Auf einem anderen Rechner können Sie die Kanalspezifikationsdatei und das Manifest benutzen, um genau dasselbe Profil zu reproduzieren:" + +#. type: example +#: doc/guix-cookbook.texi:1952 +#, no-wrap +msgid "" +"GUIX_EXTRA_PROFILES=$HOME/.guix-extra-profiles\n" +"GUIX_EXTRA=$HOME/.guix-extra\n" +"\n" +msgstr "" +"GUIX_EXTRA_PROFILES=$HOME/.guix-extra-profiles\n" +"GUIX_EXTRA=$HOME/.guix-extra\n" +"\n" + +#. type: example +#: doc/guix-cookbook.texi:1955 +#, no-wrap +msgid "" +"mkdir \"$GUIX_EXTRA\"/my-project\n" +"guix pull --channels=channel-specs.scm --profile \"$GUIX_EXTRA/my-project/guix\"\n" +"\n" +msgstr "" +"mkdir \"$GUIX_EXTRA\"/my-project\n" +"guix pull --channels=channel-specs.scm --profile \"$GUIX_EXTRA/my-project/guix\"\n" +"\n" + +#. type: example +#: doc/guix-cookbook.texi:1958 +#, no-wrap +msgid "" +"mkdir -p \"$GUIX_EXTRA_PROFILES/my-project\"\n" +"\"$GUIX_EXTRA\"/my-project/guix/bin/guix package --manifest=/path/to/guix-my-project-manifest.scm --profile=\"$GUIX_EXTRA_PROFILES\"/my-project/my-project\n" +msgstr "" +"mkdir -p \"$GUIX_EXTRA_PROFILES/my-project\"\n" +"\"$GUIX_EXTRA\"/my-project/guix/bin/guix package --manifest=/path/to/guix-my-project-manifest.scm --profile=\"$GUIX_EXTRA_PROFILES\"/my-project/my-project\n" + +#. type: Plain text +#: doc/guix-cookbook.texi:1962 +msgid "It's safe to delete the Guix channel profile you've just installed with the channel specification, the project profile does not depend on it." +msgstr "Es kann nichts Schlimmes passieren, wenn Sie das Guix-Kanalprofil, das Sie eben aus der Kanalspezifikation erstellt haben, löschen, denn das Projektprofil hängt davon nicht ab." + +#. type: Plain text +#: doc/guix-cookbook.texi:1974 +msgid "Guix is based on the @uref{https://nixos.org/nix/, Nix package manager}, which was designed and implemented by Eelco Dolstra, with contributions from other people (see the @file{nix/AUTHORS} file in Guix.) Nix pioneered functional package management, and promoted unprecedented features, such as transactional package upgrades and rollbacks, per-user profiles, and referentially transparent build processes. Without this work, Guix would not exist." +msgstr "Guix baut auf dem @uref{https://nixos.org/nix/, Nix-Paketverwaltungsprogramm} auf, das von Eelco Dolstra entworfen und entwickelt wurde, mit Beiträgen von anderen Leuten (siehe die Datei @file{nix/AUTHORS} in Guix). Nix hat für die funktionale Paketverwaltung die Pionierarbeit geleistet und noch nie dagewesene Funktionalitäten vorangetrieben wie transaktionsbasierte Paketaktualisierungen und die Rücksetzbarkeit selbiger, eigene Paketprofile für jeden Nutzer und referenziell transparente Erstellungsprozesse. Ohne diese Arbeit gäbe es Guix nicht.<" + +#. type: Plain text +#: doc/guix-cookbook.texi:1977 +msgid "The Nix-based software distributions, Nixpkgs and NixOS, have also been an inspiration for Guix." +msgstr "Die Nix-basierten Software-Distributionen Nixpkgs und NixOS waren auch eine Inspiration für Guix." + +#. type: Plain text +#: doc/guix-cookbook.texi:1983 +msgid "GNU@tie{}Guix itself is a collective work with contributions from a number of people. See the @file{AUTHORS} file in Guix for more information on these fine people. The @file{THANKS} file lists people who have helped by reporting bugs, taking care of the infrastructure, providing artwork and themes, making suggestions, and more---thank you!" +msgstr "GNU@tie{}Guix ist selbst das Produkt kollektiver Arbeit mit Beiträgen durch eine Vielzahl von Leuten. Siehe die Datei @file{AUTHORS} in Guix für mehr Informationen, wer diese wunderbaren Menschen sind. In der Datei @file{THANKS} finden Sie eine Liste der Leute, die uns geholfen haben, indem Sie Fehler gemeldet, sich um unsere Infrastruktur gekümmert, künstlerische Arbeit und schön gestaltete Themen beigesteuert, Vorschläge gemacht und noch vieles mehr getan haben — vielen Dank!" + +#. type: Plain text +#: doc/guix-cookbook.texi:1986 +msgid "This document includes adapted sections from articles that have previously been published on the Guix blog at @uref{https://guix.gnu.org/blog}." +msgstr "Dieses Dokument enthält angepasste Abschnitte aus Einträgen, die zuvor auf dem Blog von Guix unter @uref{https://guix.gnu.org/blog} veröffentlicht wurden." + +#. type: cindex +#: doc/guix-cookbook.texi:1991 +#, no-wrap +msgid "license, GNU Free Documentation License" +msgstr "Lizenz, GNU-Lizenz für freie Dokumentation" + +#. type: include +#: doc/guix-cookbook.texi:1992 +#, no-wrap +msgid "fdl-1.3.texi" +msgstr "fdl-1.3.texi" + +#~ msgid "Learn more about build systems in" +#~ msgstr "Sie erfahren mehr über Erstellungssysteme in" + +#~ msgid "@uref{https://www.gnu.org/software/guix/manual/en/html_node/Build-Systems.html#Build-Systems, the manual, section 4.2 Build systems}," +#~ msgstr "@uref{https://guix.gnu.org/manual/de/html_node/Erstellungssysteme.html#Erstellungssysteme, dem Handbuch, Abschnitt 6.3 Erstellungssysteme}," diff --git a/po/doc/local.mk b/po/doc/local.mk index f1a52615c1..27b9e1f3b5 100644 --- a/po/doc/local.mk +++ b/po/doc/local.mk @@ -23,7 +23,8 @@ DOC_PO_FILES= \ %D%/guix-manual.ru.po \ %D%/guix-manual.zh_CN.po -DOC_COOKBOOK_PO_FILES= +DOC_COOKBOOK_PO_FILES= \ + %D%/guix-manual.de.po EXTRA_DIST = \ %D%/guix-manual.pot \ diff --git a/tests/swh.scm b/tests/swh.scm index e36c54e5fb..aef68acbe7 100644 --- a/tests/swh.scm +++ b/tests/swh.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,8 +25,7 @@ ;; Test the JSON mapping machinery used in (guix swh). (define %origin - "{ \"id\": 42, - \"visits_url\": \"/visits/42\", + "{ \"visits_url\": \"/visits/42\", \"type\": \"git\", \"url\": \"http://example.org/guix.git\" }") @@ -48,11 +47,10 @@ (test-begin "swh") (test-equal "lookup-origin" - (list 42 "git" "http://example.org/guix.git") + (list "git" "http://example.org/guix.git") (with-json-result %origin (let ((origin (lookup-origin "http://example.org/guix.git"))) - (list (origin-id origin) - (origin-type origin) + (list (origin-type origin) (origin-url origin))))) (test-equal "lookup-origin, not found" diff --git a/tests/ui.scm b/tests/ui.scm index d8573e88d8..05eace6721 100644 --- a/tests/ui.scm +++ b/tests/ui.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -227,6 +227,10 @@ Second line" 24)) (expt 2 40) (size->number "1T")) +(test-equal "size->number, 1.M" + (expt 2 20) + (size->number "1.M")) + (test-assert "size->number, invalid unit" (catch 'quit (lambda () |