Merge branch 'master' into staging
This commit is contained in:
		
						commit
						b60d2bfff9
					
				
					 91 changed files with 4372 additions and 1529 deletions
				
			
		|  | @ -35,6 +35,7 @@ | |||
|    (eval . (put 'modify-services 'scheme-indent-function 1)) | ||||
|    (eval . (put 'with-directory-excursion 'scheme-indent-function 1)) | ||||
|    (eval . (put 'with-file-lock 'scheme-indent-function 1)) | ||||
|    (eval . (put 'with-file-lock/no-wait 'scheme-indent-function 1)) | ||||
| 
 | ||||
|    (eval . (put 'package 'scheme-indent-function 0)) | ||||
|    (eval . (put 'origin 'scheme-indent-function 0)) | ||||
|  |  | |||
|  | @ -278,6 +278,7 @@ MODULES =					\ | |||
|   guix/scripts/container.scm			\ | ||||
|   guix/scripts/container/exec.scm		\ | ||||
|   guix/scripts/deploy.scm			\ | ||||
|   guix/scripts/time-machine.scm			\ | ||||
|   guix.scm					\ | ||||
|   $(GNU_SYSTEM_MODULES) | ||||
| 
 | ||||
|  |  | |||
|  | @ -198,6 +198,7 @@ Package Management | |||
| * Invoking guix gc::            Running the garbage collector. | ||||
| * Invoking guix pull::          Fetching the latest Guix and distribution. | ||||
| * Channels::                    Customizing the package collection. | ||||
| * Invoking guix time-machine::  Running an older revision of Guix. | ||||
| * Inferiors::                   Interacting with another revision of Guix. | ||||
| * Invoking guix describe::      Display information about your Guix revision. | ||||
| * Invoking guix archive::       Exporting and importing store files. | ||||
|  | @ -2550,6 +2551,7 @@ guix install emacs-guix | |||
| * Invoking guix gc::            Running the garbage collector. | ||||
| * Invoking guix pull::          Fetching the latest Guix and distribution. | ||||
| * Channels::                    Customizing the package collection. | ||||
| * Invoking guix time-machine::  Running an older revision of Guix. | ||||
| * Inferiors::                   Interacting with another revision of Guix. | ||||
| * Invoking guix describe::      Display information about your Guix revision. | ||||
| * Invoking guix archive::       Exporting and importing store files. | ||||
|  | @ -4152,7 +4154,10 @@ say, on another machine, by providing a channel specification in | |||
| @end lisp | ||||
| 
 | ||||
| The @command{guix describe --format=channels} command can even generate this | ||||
| list of channels directly (@pxref{Invoking guix describe}). | ||||
| list of channels directly (@pxref{Invoking guix describe}).  The resulting | ||||
| file can be used with the -C options of @command{guix pull} | ||||
| (@pxref{Invoking guix pull}) or @command{guix time-machine} | ||||
| (@pxref{Invoking guix time-machine}). | ||||
| 
 | ||||
| At this point the two machines run the @emph{exact same Guix}, with access to | ||||
| the @emph{exact same packages}.  The output of @command{guix build gimp} on | ||||
|  | @ -4166,6 +4171,61 @@ artifacts with very fine grain, and to reproduce software environments at | |||
| will---some sort of ``meta reproducibility'' capabilities, if you will. | ||||
| @xref{Inferiors}, for another way to take advantage of these super powers. | ||||
| 
 | ||||
| @node Invoking guix time-machine | ||||
| @section Invoking @command{guix time-machine} | ||||
| 
 | ||||
| @cindex @command{guix time-machine} | ||||
| @cindex pinning, channels | ||||
| @cindex replicating Guix | ||||
| @cindex reproducibility, of Guix | ||||
| 
 | ||||
| The @command{guix time-machine} command provides access to other | ||||
| revisions of Guix, for example to install older versions of packages, | ||||
| or to reproduce a computation in an identical environment.  The revision | ||||
| of Guix to be used is defined by a commit or by a channel | ||||
| description file created by @command{guix describe} | ||||
| (@pxref{Invoking guix describe}). | ||||
| 
 | ||||
| The general syntax is: | ||||
| 
 | ||||
| @example | ||||
| guix time-machine @var{options}@dots{} -- @var{command} @var {arg}@dots{} | ||||
| @end example | ||||
| 
 | ||||
| where @var{command} and @var{arg}@dots{} are passed unmodified to the | ||||
| @command{guix} command if the specified revision.  The @var{options} that define | ||||
| this revision are the same as for @command{guix pull} (@pxref{Invoking guix pull}): | ||||
| 
 | ||||
| @table @code | ||||
| @item --url=@var{url} | ||||
| @itemx --commit=@var{commit} | ||||
| @itemx --branch=@var{branch} | ||||
| Use the @code{guix} channel from the specified @var{url}, at the | ||||
| given @var{commit} (a valid Git commit ID represented as a hexadecimal | ||||
| string), or @var{branch}. | ||||
| 
 | ||||
| @item --channels=@var{file} | ||||
| @itemx -C @var{file} | ||||
| Read the list of channels from @var{file}.  @var{file} must contain | ||||
| Scheme code that evaluates to a list of channel objects. | ||||
| @xref{Channels} for more information. | ||||
| @end table | ||||
| 
 | ||||
| As for @command{guix pull}, the absence of any options means that the | ||||
| the latest commit on the master branch will be used. The command | ||||
| 
 | ||||
| @example | ||||
| 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. | ||||
| Time travel works in both directions! | ||||
| 
 | ||||
| Note that @command{guix time-machine} can trigger builds of channels and | ||||
| their dependencies, and these are controlled by the standard build | ||||
| options (@pxref{Common Build Options}). | ||||
| 
 | ||||
| @node Inferiors | ||||
| @section Inferiors | ||||
| 
 | ||||
|  | @ -5193,6 +5253,10 @@ added to it or removed from it after extraction of the pack. | |||
| One use case for this is the Guix self-contained binary tarball | ||||
| (@pxref{Binary Installation}). | ||||
| 
 | ||||
| @item --derivation | ||||
| @itemx -d | ||||
| Print the name of the derivation that builds the pack. | ||||
| 
 | ||||
| @item --bootstrap | ||||
| Use the bootstrap binaries to build the pack.  This option is only | ||||
| useful to Guix developers. | ||||
|  | @ -10589,7 +10653,6 @@ ClientPID: 19419 | |||
| ClientCommand: cuirass --cache-directory /var/cache/cuirass @dots{} | ||||
| @end example | ||||
| 
 | ||||
| 
 | ||||
| @node System Configuration | ||||
| @chapter System Configuration | ||||
| 
 | ||||
|  | @ -20243,7 +20306,7 @@ the corresponding user and/or group is present on the system. | |||
| It is possible to configure a FastCGI-backed web service to pass HTTP | ||||
| authentication information from the front-end to the back-end, and to | ||||
| allow @code{fcgiwrap} to run the back-end process as a corresponding | ||||
| local user.  To enable this capability on the back-end., run | ||||
| local user.  To enable this capability on the back-end, run | ||||
| @code{fcgiwrap} as the @code{root} user and group.  Note that this | ||||
| capability also has to be configured on the front-end as well. | ||||
| @end table | ||||
|  | @ -20305,7 +20368,7 @@ once the service has started. | |||
| Log for the php-fpm master process. | ||||
| @item @code{process-manager} (default: @code{(php-fpm-dynamic-process-manager-configuration)}) | ||||
| Detailed settings for the php-fpm process manager. | ||||
| Must be either: | ||||
| Must be one of: | ||||
| @table @asis | ||||
| @item @code{<php-fpm-dynamic-process-manager-configuration>} | ||||
| @item @code{<php-fpm-static-process-manager-configuration>} | ||||
|  | @ -20383,7 +20446,7 @@ A simple services setup for nginx with php can look like this: | |||
|                            (server-name '("example.com")) | ||||
|                            (root "/srv/http/") | ||||
|                            (locations | ||||
|                             (list (nginx-php-location))) | ||||
|                             (list (nginx-php-fpm-location))) | ||||
|                            (listen '("80")) | ||||
|                            (ssl-certificate #f) | ||||
|                            (ssl-certificate-key #f))) | ||||
|  | @ -26223,8 +26286,8 @@ with an @code{environment} of @code{managed-host-environment-type}. | |||
| @item @code{build-locally?} (default: @code{#t}) | ||||
| If false, system derivations will be built on the machine being deployed to. | ||||
| @item @code{system} | ||||
| The Nix system type describing the architecture of the machine being deployed | ||||
| to. This should look something like ``x86_64-linux''. | ||||
| The system type describing the architecture of the machine being deployed | ||||
| to---e.g., @code{"x86_64-linux"}. | ||||
| @item @code{authorize?} (default: @code{#t}) | ||||
| If true, the coordinator's signing key will be added to the remote's ACL | ||||
| keyring. | ||||
|  |  | |||
							
								
								
									
										18
									
								
								etc/news.scm
									
										
									
									
									
								
							
							
						
						
									
										18
									
								
								etc/news.scm
									
										
									
									
									
								
							|  | @ -9,6 +9,24 @@ | |||
| (channel-news | ||||
|  (version 0) | ||||
| 
 | ||||
|  (entry (commit "f675f8dec73d02e319e607559ed2316c299ae8c7") | ||||
|         (title (en "New command @command{guix time-machine}") | ||||
|                (de "Neuer Befehl @command{guix time-machine}") | ||||
|                (fr "Nouvelle commande @command{guix time-machine}")) | ||||
|         (body (en "The new command @command{guix time-machine} facilitates | ||||
| access to older or newer revisions of Guix than the one that is installed. | ||||
| It can be used to install different versions of packages, and to | ||||
| re-create computational environments exactly as used in the past.") | ||||
|               (de "Der neue Befehl @command{guix time-machine} vereinfacht | ||||
| den Zugriff auf ältere oder neuere Guix-Versionen als die installierte. | ||||
| Er kann zur Installation bestimmter Paketversionen verwendet werden, aber | ||||
| auch zur Wiederherstellung von Entwicklungsumgebungen, wie sie in der | ||||
| Vergangenheit verwendet wurden.") | ||||
|               (fr "La nouvelle commande @command{guix time-machine} | ||||
| facilite l'accès à des versions antérieures ou postérieures par rapport | ||||
| à la version installée.  Elle sert à installer des versions spécifiques | ||||
| de paquets, ainsi à la restauration d'environnements dans un état | ||||
| historique."))) | ||||
|  (entry (commit "3e962e59d849e4300e447d94487684102d9d412e") | ||||
|         (title (en "@command{guix graph} now supports package | ||||
| transformations") | ||||
|  |  | |||
|  | @ -581,11 +581,7 @@ corresponds to the symbols listed in FLAGS." | |||
|        0)))) | ||||
| 
 | ||||
| (define* (mount-file-system fs #:key (root "/root")) | ||||
|   "Mount the file system described by FS, a <file-system> object, under ROOT. | ||||
| 
 | ||||
| DEVICE, MOUNT-POINT, and TYPE must be strings; OPTIONS can be a string or #f; | ||||
| FLAGS must be a list of symbols.  CHECK? is a Boolean indicating whether to | ||||
| run a file system check." | ||||
|   "Mount the file system described by FS, a <file-system> object, under ROOT." | ||||
| 
 | ||||
|   (define (mount-nfs source mount-point type flags options) | ||||
|     (let* ((idx (string-rindex source #\:)) | ||||
|  |  | |||
|  | @ -1,6 +1,7 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> | ||||
| ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -357,15 +358,16 @@ the last argument of `mknod'." | |||
|           (filter-map string->number (scandir "/proc"))))) | ||||
| 
 | ||||
| (define* (mount-root-file-system root type | ||||
|                                  #:key volatile-root?) | ||||
|                                  #:key volatile-root? options) | ||||
|   "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." | ||||
| using the kernel built-in overlayfs.  OPTIONS indicates the options to use | ||||
| to mount ROOT." | ||||
| 
 | ||||
|   (if volatile-root? | ||||
|       (begin | ||||
|         (mkdir-p "/real-root") | ||||
|         (mount root "/real-root" type MS_RDONLY) | ||||
|         (mount root "/real-root" type MS_RDONLY options) | ||||
|         (mkdir-p "/rw-root") | ||||
|         (mount "none" "/rw-root" "tmpfs") | ||||
| 
 | ||||
|  | @ -382,7 +384,7 @@ using the kernel built-in overlayfs." | |||
|                "lowerdir=/real-root,upperdir=/rw-root/upper,workdir=/rw-root/work")) | ||||
|       (begin | ||||
|         (check-file-system root type) | ||||
|         (mount root "/root" type))) | ||||
|         (mount root "/root" type 0 options))) | ||||
| 
 | ||||
|   ;; Make sure /root/etc/mtab is a symlink to /proc/self/mounts. | ||||
|   (false-if-exception | ||||
|  | @ -472,83 +474,90 @@ upon error." | |||
|              mounts) | ||||
|         "ext4")) | ||||
| 
 | ||||
|   (define root-fs-options | ||||
|     (any (lambda (fs) | ||||
|            (and (root-mount-point? fs) | ||||
|                 (file-system-options fs))) | ||||
|          mounts)) | ||||
| 
 | ||||
|   (display "Welcome, this is GNU's early boot Guile.\n") | ||||
|   (display "Use '--repl' for an initrd REPL.\n\n") | ||||
| 
 | ||||
|   (call-with-error-handling | ||||
|    (lambda () | ||||
|      (mount-essential-file-systems) | ||||
|      (let* ((args    (linux-command-line)) | ||||
|             (to-load (find-long-option "--load" args)) | ||||
|             (root    (find-long-option "--root" args))) | ||||
|     (lambda () | ||||
|       (mount-essential-file-systems) | ||||
|       (let* ((args    (linux-command-line)) | ||||
|              (to-load (find-long-option "--load" args)) | ||||
|              (root    (find-long-option "--root" args))) | ||||
| 
 | ||||
|        (when (member "--repl" args) | ||||
|          (start-repl)) | ||||
|         (when (member "--repl" args) | ||||
|           (start-repl)) | ||||
| 
 | ||||
|        (display "loading kernel modules...\n") | ||||
|        (load-linux-modules-from-directory linux-modules | ||||
|                                           linux-module-directory) | ||||
|         (display "loading kernel modules...\n") | ||||
|         (load-linux-modules-from-directory linux-modules | ||||
|                                            linux-module-directory) | ||||
| 
 | ||||
|        (when keymap-file | ||||
|          (let ((status (system* "loadkeys" keymap-file))) | ||||
|            (unless (zero? status) | ||||
|              ;; Emit a warning rather than abort when we cannot load | ||||
|              ;; KEYMAP-FILE. | ||||
|              (format (current-error-port) | ||||
|                      "warning: 'loadkeys' exited with status ~a~%" | ||||
|                      status)))) | ||||
|         (when keymap-file | ||||
|           (let ((status (system* "loadkeys" keymap-file))) | ||||
|             (unless (zero? status) | ||||
|               ;; Emit a warning rather than abort when we cannot load | ||||
|               ;; KEYMAP-FILE. | ||||
|               (format (current-error-port) | ||||
|                       "warning: 'loadkeys' exited with status ~a~%" | ||||
|                       status)))) | ||||
| 
 | ||||
|        (when qemu-guest-networking? | ||||
|          (unless (configure-qemu-networking) | ||||
|            (display "network interface is DOWN\n"))) | ||||
|         (when qemu-guest-networking? | ||||
|           (unless (configure-qemu-networking) | ||||
|             (display "network interface is DOWN\n"))) | ||||
| 
 | ||||
|        ;; Prepare the real root file system under /root. | ||||
|        (unless (file-exists? "/root") | ||||
|          (mkdir "/root")) | ||||
|         ;; Prepare the real root file system under /root. | ||||
|         (unless (file-exists? "/root") | ||||
|           (mkdir "/root")) | ||||
| 
 | ||||
|        (when (procedure? pre-mount) | ||||
|          ;; Do whatever actions are needed before mounting the root file | ||||
|          ;; system--e.g., installing device mappings.  Error out when the | ||||
|          ;; return value is false. | ||||
|          (unless (pre-mount) | ||||
|            (error "pre-mount actions failed"))) | ||||
|         (when (procedure? pre-mount) | ||||
|           ;; Do whatever actions are needed before mounting the root file | ||||
|           ;; system--e.g., installing device mappings.  Error out when the | ||||
|           ;; return value is false. | ||||
|           (unless (pre-mount) | ||||
|             (error "pre-mount actions failed"))) | ||||
| 
 | ||||
|        (setenv "EXT2FS_NO_MTAB_OK" "1") | ||||
|         (setenv "EXT2FS_NO_MTAB_OK" "1") | ||||
| 
 | ||||
|        (if root | ||||
|            ;; The "--root=SPEC" kernel command-line option always provides a | ||||
|            ;; string, but the string can represent a device, a UUID, or a | ||||
|            ;; label.  So check for all three. | ||||
|            (let ((root (cond ((string-prefix? "/" root) root) | ||||
|                              ((uuid root) => identity) | ||||
|                              (else (file-system-label root))))) | ||||
|              (mount-root-file-system (canonicalize-device-spec root) | ||||
|                                      root-fs-type | ||||
|                                      #:volatile-root? volatile-root?)) | ||||
|            (mount "none" "/root" "tmpfs")) | ||||
|         (if root | ||||
|             ;; The "--root=SPEC" kernel command-line option always provides a | ||||
|             ;; string, but the string can represent a device, a UUID, or a | ||||
|             ;; label.  So check for all three. | ||||
|             (let ((root (cond ((string-prefix? "/" root) root) | ||||
|                               ((uuid root) => identity) | ||||
|                               (else (file-system-label root))))) | ||||
|               (mount-root-file-system (canonicalize-device-spec root) | ||||
|                                       root-fs-type | ||||
|                                       #:volatile-root? volatile-root? | ||||
|                                       #:options root-fs-options)) | ||||
|             (mount "none" "/root" "tmpfs")) | ||||
| 
 | ||||
|        ;; Mount the specified file systems. | ||||
|        (for-each mount-file-system | ||||
|                  (remove root-mount-point? mounts)) | ||||
|         ;; Mount the specified file systems. | ||||
|         (for-each mount-file-system | ||||
|                   (remove root-mount-point? mounts)) | ||||
| 
 | ||||
|        (setenv "EXT2FS_NO_MTAB_OK" #f) | ||||
|         (setenv "EXT2FS_NO_MTAB_OK" #f) | ||||
| 
 | ||||
|        (if to-load | ||||
|            (begin | ||||
|              (switch-root "/root") | ||||
|              (format #t "loading '~a'...\n" to-load) | ||||
|         (if to-load | ||||
|             (begin | ||||
|               (switch-root "/root") | ||||
|               (format #t "loading '~a'...\n" to-load) | ||||
| 
 | ||||
|              (primitive-load to-load) | ||||
|               (primitive-load to-load) | ||||
| 
 | ||||
|              (format (current-error-port) | ||||
|                      "boot program '~a' terminated, rebooting~%" | ||||
|                      to-load) | ||||
|              (sleep 2) | ||||
|              (reboot)) | ||||
|            (begin | ||||
|              (display "no boot file passed via '--load'\n") | ||||
|              (display "entering a warm and cozy REPL\n") | ||||
|              (start-repl))))) | ||||
|    #:on-error on-error)) | ||||
|               (format (current-error-port) | ||||
|                       "boot program '~a' terminated, rebooting~%" | ||||
|                       to-load) | ||||
|               (sleep 2) | ||||
|               (reboot)) | ||||
|             (begin | ||||
|               (display "no boot file passed via '--load'\n") | ||||
|               (display "entering a warm and cozy REPL\n") | ||||
|               (start-repl))))) | ||||
|     #:on-error on-error)) | ||||
| 
 | ||||
| ;;; linux-initrd.scm ends here | ||||
|  |  | |||
							
								
								
									
										16
									
								
								gnu/local.mk
									
										
									
									
									
								
							
							
						
						
									
										16
									
								
								gnu/local.mk
									
										
									
									
									
								
							|  | @ -796,7 +796,6 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/elixir-path-length.patch			\
 | ||||
|   %D%/packages/patches/elm-compiler-disable-reactor.patch	\
 | ||||
|   %D%/packages/patches/elm-compiler-fix-map-key.patch		\
 | ||||
|   %D%/packages/patches/elm-compiler-relax-glsl-bound.patch	\
 | ||||
|   %D%/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch   \
 | ||||
|   %D%/packages/patches/emacs-exec-path.patch			\
 | ||||
|   %D%/packages/patches/emacs-fix-scheme-indent-function.patch	\
 | ||||
|  | @ -878,8 +877,14 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/gd-freetype-test-failure.patch		\
 | ||||
|   %D%/packages/patches/geoclue-config.patch			\
 | ||||
|   %D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \
 | ||||
|   %D%/packages/patches/ghc-diff-swap-cover-args.patch           \
 | ||||
|   %D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch	\
 | ||||
|   %D%/packages/patches/ghc-haddock-library-unbundle.patch		\
 | ||||
|   %D%/packages/patches/ghc-haddock-api-fix-haddock.patch	\
 | ||||
|   %D%/packages/patches/ghc-hpack-fix-tests.patch		\
 | ||||
|   %D%/packages/patches/ghc-microlens-aeson-fix-tests.patch	\
 | ||||
|   %D%/packages/patches/ghc-monad-par-fix-tests.patch		\
 | ||||
|   %D%/packages/patches/ghc-pandoc-fix-html-tests.patch		\
 | ||||
|   %D%/packages/patches/ghc-pandoc-fix-latex-test.patch		\
 | ||||
|   %D%/packages/patches/ghostscript-no-header-id.patch		\
 | ||||
|   %D%/packages/patches/ghostscript-no-header-uuid.patch		\
 | ||||
|   %D%/packages/patches/ghostscript-no-header-creationdate.patch \
 | ||||
|  | @ -972,6 +977,7 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/hdf-eos5-remove-gctp.patch		\
 | ||||
|   %D%/packages/patches/hdf-eos5-fix-szip.patch			\
 | ||||
|   %D%/packages/patches/hdf-eos5-fortrantests.patch		\
 | ||||
|   %D%/packages/patches/hexchat-crash-exit.patch			\
 | ||||
|   %D%/packages/patches/higan-remove-march-native-flag.patch	\
 | ||||
|   %D%/packages/patches/hubbub-sort-entities.patch		\
 | ||||
|   %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch        \
 | ||||
|  | @ -1133,6 +1139,8 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/metabat-fix-compilation.patch		\
 | ||||
|   %D%/packages/patches/mhash-keygen-test-segfault.patch		\
 | ||||
|   %D%/packages/patches/mingw-w64-6.0.0-gcc.patch		\
 | ||||
|   %D%/packages/patches/minisat-friend-declaration.patch		\
 | ||||
|   %D%/packages/patches/minisat-install.patch			\
 | ||||
|   %D%/packages/patches/mpc123-initialize-ao.patch		\
 | ||||
|   %D%/packages/patches/module-init-tools-moduledir.patch	\
 | ||||
|   %D%/packages/patches/monero-use-system-miniupnpc.patch			\
 | ||||
|  | @ -1269,6 +1277,8 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/python-3-deterministic-build-info.patch	\
 | ||||
|   %D%/packages/patches/python-3-search-paths.patch		\
 | ||||
|   %D%/packages/patches/python-3-fix-tests.patch			\
 | ||||
|   %D%/packages/patches/python-3.8-search-paths.patch		\
 | ||||
|   %D%/packages/patches/python-3.8-fix-tests.patch		\
 | ||||
|   %D%/packages/patches/python-CVE-2018-14647.patch		\
 | ||||
|   %D%/packages/patches/python-axolotl-AES-fix.patch		\
 | ||||
|   %D%/packages/patches/python-cairocffi-dlopen-path.patch	\
 | ||||
|  | @ -1390,11 +1400,13 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/tk-find-library.patch			\
 | ||||
|   %D%/packages/patches/ttf2eot-cstddef.patch			\
 | ||||
|   %D%/packages/patches/ttfautohint-source-date-epoch.patch	\
 | ||||
|   %D%/packages/patches/tomb-fix-errors-on-open.patch		\
 | ||||
|   %D%/packages/patches/totem-meson-compat.patch			\
 | ||||
|   %D%/packages/patches/totem-meson-easy-codec.patch		\
 | ||||
|   %D%/packages/patches/tuxpaint-stamps-path.patch		\
 | ||||
|   %D%/packages/patches/txr-shell.patch				\
 | ||||
|   %D%/packages/patches/u-boot-fix-mkimage-header-verification.patch	\
 | ||||
|   %D%/packages/patches/ucx-tcp-iface-ioctl.patch		\
 | ||||
|   %D%/packages/patches/udiskie-no-appindicator.patch		\
 | ||||
|   %D%/packages/patches/unzip-CVE-2014-8139.patch		\
 | ||||
|   %D%/packages/patches/unzip-CVE-2014-8140.patch		\
 | ||||
|  |  | |||
|  | @ -689,7 +689,7 @@ connection alive.") | |||
| (define-public isc-dhcp | ||||
|   (let* ((bind-major-version "9") | ||||
|          (bind-minor-version "11") | ||||
|          (bind-patch-version "11") | ||||
|          (bind-patch-version "13") | ||||
|          (bind-release-type "")         ; for patch release, use "-P" | ||||
|          (bind-release-version "")      ; for patch release, e.g. "6" | ||||
|          (bind-version (string-append bind-major-version | ||||
|  | @ -830,7 +830,7 @@ connection alive.") | |||
|                                         "/bind-" bind-version ".tar.gz")) | ||||
|                     (sha256 | ||||
|                      (base32 | ||||
|                       "0swavslyli3vcrkcm2ip11s6p58g3k7r4gjs2b899r25cqrk0lk1")))) | ||||
|                       "0z8g81xinqx8j3y2fclxa31dq7zsi9cj9srmvd9agnpwzk4kqgzx")))) | ||||
| 
 | ||||
|                 ;; When cross-compiling, we need the cross Coreutils and sed. | ||||
|                 ;; Otherwise just use those from %FINAL-INPUTS. | ||||
|  |  | |||
|  | @ -37,7 +37,7 @@ | |||
| (define-public agda | ||||
|   (package | ||||
|     (name "agda") | ||||
|     (version "2.5.4.2") | ||||
|     (version "2.6.0.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -46,10 +46,11 @@ | |||
|              version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "07wvawpfjhx3gw2w53v27ncv1bl0kkx08wkm6wzxldbslkcasign")))) | ||||
|          "1s600ry1qwizr3ynyj05rvlx7jdcw9a1viyc0ycjamm5sjf8mf3v")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-alex" ,ghc-alex) | ||||
|      `(("ghc-aeson" ,ghc-aeson) | ||||
|        ("ghc-alex" ,ghc-alex) | ||||
|        ("ghc-async" ,ghc-async) | ||||
|        ("ghc-blaze-html" ,ghc-blaze-html) | ||||
|        ("ghc-boxes" ,ghc-boxes) | ||||
|  | @ -57,6 +58,7 @@ | |||
|        ("ghc-edisoncore" ,ghc-edisoncore) | ||||
|        ("ghc-edit-distance" ,ghc-edit-distance) | ||||
|        ("ghc-equivalence" ,ghc-equivalence) | ||||
|        ("ghc-exceptions" ,ghc-exceptions) | ||||
|        ("ghc-filemanip" ,ghc-filemanip) | ||||
|        ("ghc-geniplate-mirror" ,ghc-geniplate-mirror) | ||||
|        ("ghc-gitrev" ,ghc-gitrev) | ||||
|  | @ -66,7 +68,6 @@ | |||
|        ("ghc-ieee754" ,ghc-ieee754) | ||||
|        ("ghc-murmur-hash" ,ghc-murmur-hash) | ||||
|        ("ghc-uri-encode" ,ghc-uri-encode) | ||||
|        ("ghc-parallel" ,ghc-parallel) | ||||
|        ("ghc-regex-tdfa" ,ghc-regex-tdfa) | ||||
|        ("ghc-strict" ,ghc-strict) | ||||
|        ("ghc-unordered-containers" ,ghc-unordered-containers) | ||||
|  |  | |||
|  | @ -24,6 +24,7 @@ | |||
| ;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net> | ||||
| ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> | ||||
| ;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org> | ||||
| ;;; Copyright © 2019 Christopher Lemmer Webber <cwebber@dustycloud.org> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -3811,3 +3812,102 @@ therefore satisfying any requirements they may have to be self contained, | |||
| as is the case with audio plugins.") | ||||
|     (home-page "https://gitlab.com/geontime/redkite") | ||||
|     (license license:gpl3+))) | ||||
| 
 | ||||
| (define-public carla | ||||
|   (package | ||||
|     (name "carla") | ||||
|     (version "2.0.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri | ||||
|         (git-reference | ||||
|          (url "https://github.com/falkTX/Carla.git") | ||||
|          (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0fqgncqlr86n38yy7pa118mswfacmfczj7w9xx6c6k0jav3wk29k")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f                      ; no "check" target | ||||
|        #:make-flags | ||||
|        (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-before 'build 'set-CC-variable-and-show-features | ||||
|            (lambda _ | ||||
|              (setenv "CC" "gcc") | ||||
|              (invoke "make" "features"))) | ||||
|          (delete 'configure)))) | ||||
|     (inputs | ||||
|      `(("alsa-lib" ,alsa-lib) | ||||
|        ("ffmpeg" ,ffmpeg) | ||||
|        ("fluidsynth" ,fluidsynth) | ||||
|        ("file" ,file) | ||||
|        ("liblo" ,liblo) | ||||
|        ("libsndfile" ,libsndfile) | ||||
|        ("gtk+" ,gtk+) | ||||
|        ("python-pyliblo" ,python-pyliblo) | ||||
|        ("python-pyqt" ,python-pyqt) | ||||
|        ("python-rdflib" ,python-rdflib) | ||||
|        ;; python-pyqt shows the following error without python-wrapper: | ||||
|        ;; Error while finding module specification for 'PyQt5.uic.pyuic' | ||||
|        ;; (ModuleNotFoundError: No module named 'PyQt5') | ||||
|        ("python-wrapper" ,python-wrapper) | ||||
|        ("libx11" ,libx11) | ||||
|        ("qtbase" ,qtbase) | ||||
|        ("zlib" ,zlib))) | ||||
|     (native-inputs | ||||
|      `(("pkg-config" ,pkg-config))) | ||||
|     (home-page "https://kx.studio/Applications:Carla") | ||||
|     (synopsis "Audio plugin host") | ||||
|     (description "Carla is a modular audio plugin host, with features like | ||||
| transport control, automation of parameters via MIDI CC and remote control | ||||
| over OSC.  Carla currently supports LADSPA (including LRDF), DSSI, LV2, VST2, | ||||
| and VST3 plugin formats, plus SF2 and SFZ file support.  It uses JACK as the | ||||
| default and preferred audio driver but also supports native drivers like ALSA.") | ||||
|     (license license:gpl2+))) | ||||
| 
 | ||||
| (define-public ecasound | ||||
|   (package | ||||
|     (name "ecasound") | ||||
|     (version "2.9.2") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "http://nosignal.fi/download/ecasound-" | ||||
|                                   version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 "15rcs28fq2wfvfs66p5na7adq88b55qszbhshpizgdbyqzgr2jf1")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs `(("pkg-config" ,pkg-config))) | ||||
|     ;; would be nice to add mikmod to inputs if that gets packaged | ||||
|     ;; eventually | ||||
|     (inputs `(("alsa-lib" ,alsa-lib) | ||||
|               ("jack" ,jack-1) | ||||
|               ("mpg123" ,mpg123) | ||||
|               ("lame" ,lame) | ||||
|               ("vorbis-tools" ,vorbis-tools) | ||||
|               ("faad2" ,faad2) | ||||
|               ("flac" ,flac) | ||||
|               ("timidity++" ,timidity++) | ||||
|               ("libsndfile" ,libsndfile) | ||||
|               ("libsamplerate" ,libsamplerate) | ||||
|               ("ncurses" ,ncurses) | ||||
|               ("ladspa" ,ladspa) | ||||
|               ("lilv" ,lilv))) | ||||
|     (home-page "http://nosignal.fi/ecasound/index.php") | ||||
|     (synopsis "Multitrack audio processing") | ||||
|     (description "Ecasound is a software package designed for multitrack audio | ||||
| processing. It can be used for simple tasks like audio playback, recording and | ||||
| format conversions, as well as for multitrack effect processing, mixing, | ||||
| recording and signal recycling. Ecasound supports a wide range of audio inputs, | ||||
| outputs and effect algorithms. Effects and audio objects can be combined in | ||||
| various ways, and their parameters can be controlled by operator objects like | ||||
| oscillators and MIDI-CCs. A versatile console mode user-interface is included | ||||
| in the package.") | ||||
|     ;; As an exception to the above, the C, C++ and python implementations  | ||||
|     ;; of the Ecasound Control Interface (ECI) are licensed under the LGPL  | ||||
|     ;; (see the file 'COPYING.LGPL'). This allows writing ECI applications  | ||||
|     ;; that are not licensed under GPL. | ||||
|     (license (list license:gpl2 license:lgpl2.1)))) | ||||
|  |  | |||
|  | @ -2,6 +2,7 @@ | |||
| 
 | ||||
| ;; Copyright © 2014, 2015, 2016, 2017 Alex Kost <alezost@gmail.com> | ||||
| ;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com> | ||||
| ;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| 
 | ||||
| ;; This file is part of GNU Guix. | ||||
| 
 | ||||
|  | @ -24,91 +25,40 @@ | |||
| ;; installed with Guix. | ||||
| 
 | ||||
| ;;; Code: | ||||
| 
 | ||||
| (require 'cl-lib) | ||||
| 
 | ||||
| (defvar guix-user-profile (expand-file-name "~/.guix-profile")) | ||||
| 
 | ||||
| (defvar guix-emacs-autoloads nil | ||||
|   "List of the last loaded Emacs autoloads.") | ||||
| (require 'seq) | ||||
| 
 | ||||
| (defvar guix-emacs-autoloads-regexp | ||||
|   (rx (group (* any) "-autoloads") | ||||
|       ".el" (zero-or-one "c") string-end) | ||||
|   (rx (* any) "-autoloads.el" (zero-or-one "c") string-end) | ||||
|   "Regexp to match Emacs 'autoloads' file.") | ||||
| 
 | ||||
| (defun guix-emacs-directory (&optional profile) | ||||
|   "Return directory with Emacs packages installed in PROFILE. | ||||
| If PROFILE is nil, use `guix-user-profile'." | ||||
|   (expand-file-name "share/emacs/site-lisp" | ||||
|                     (or profile guix-user-profile))) | ||||
| 
 | ||||
| (defun guix-emacs-find-autoloads (directory) | ||||
|   "Return a list of Emacs 'autoloads' files in DIRECTORY. | ||||
| The files in the list do not have extensions (.el, .elc)." | ||||
|   (cl-remove-duplicates | ||||
|    (delq nil | ||||
|         (mapcar (lambda (file) | ||||
|                   (when (string-match guix-emacs-autoloads-regexp file) | ||||
|                     (match-string 1 file))) | ||||
|                 (directory-files directory 'full-name nil 'no-sort))) | ||||
|    :test #'string=)) | ||||
| 
 | ||||
| (defun guix-emacs-subdirs (directory) | ||||
|   "Return list of DIRECTORY subdirectories." | ||||
|   (cl-remove-if (lambda (file) | ||||
|                   (or (string-match-p (rx "/." string-end) file) | ||||
|                       (string-match-p (rx "/.." string-end) file) | ||||
|                       (not (file-directory-p file)))) | ||||
|                 (directory-files directory 'full-name nil 'no-sort))) | ||||
| 
 | ||||
| (defun guix-emacs-directories (&optional profile) | ||||
|   "Return the list of directories under PROFILE that contain Emacs packages. | ||||
| This includes both `share/emacs/site-lisp/guix.d/PACKAGE' | ||||
| sub-directories and `share/emacs/site-lisp' itself. | ||||
| 
 | ||||
| If PROFILE is nil, use `guix-user-profile'. | ||||
| Return nil, if Emacs packages are not installed in PROFILE." | ||||
|   (let ((root-dir (guix-emacs-directory (or profile guix-user-profile)))) | ||||
|     (when (file-directory-p root-dir) | ||||
|       (let* ((pkgs-dir  (expand-file-name "guix.d" root-dir)) | ||||
|              (pkgs-dirs (when (file-directory-p pkgs-dir) | ||||
|                           (guix-emacs-subdirs pkgs-dir)))) | ||||
|         (cons root-dir pkgs-dirs))))) | ||||
|   ;; `directory-files' doesn't honor group in regexp. | ||||
|   (mapcar #'file-name-sans-extension | ||||
|           (directory-files directory 'full-name guix-emacs-autoloads-regexp))) | ||||
| 
 | ||||
| ;;;###autoload | ||||
| (defun guix-emacs-autoload-packages (&rest profiles) | ||||
|   "Autoload Emacs packages installed in PROFILES. | ||||
| If PROFILES are not specified, use a default user and system | ||||
| profiles. | ||||
| (defun guix-emacs-autoload-packages () | ||||
|   "Autoload Emacs packages found in EMACSLOADPATH. | ||||
| 
 | ||||
| 'Autoload' means add directories with Emacs packages to | ||||
| `load-path' and load 'autoloads' files matching | ||||
| 'Autoload' means to load the 'autoloads' files matching | ||||
| `guix-emacs-autoloads-regexp'." | ||||
|   (interactive (list (if (fboundp 'guix-read-package-profile) | ||||
|                          (funcall 'guix-read-package-profile) | ||||
|                        guix-user-profile))) | ||||
|   (let* ((env      (getenv "GUIX_ENVIRONMENT")) | ||||
|          (profiles (or profiles | ||||
|                        (append (list "/run/current-system/profile" | ||||
|                                      guix-user-profile) | ||||
|                                (and env (list env)))))) | ||||
|     (dolist (profile profiles) | ||||
|       (let ((dirs (guix-emacs-directories profile))) | ||||
|         (when dirs | ||||
|           (let* ((autoloads     (cl-mapcan #'guix-emacs-find-autoloads | ||||
|                                            dirs)) | ||||
|                  (new-autoloads (cl-nset-difference autoloads | ||||
|                                                     guix-emacs-autoloads | ||||
|                                                     :test #'string=))) | ||||
|             (dolist (dir dirs) | ||||
|               (cl-pushnew (directory-file-name dir) | ||||
|                           load-path | ||||
|                           :test #'string=)) | ||||
|             (dolist (file new-autoloads) | ||||
|               (load file 'noerror)) | ||||
|             (setq guix-emacs-autoloads | ||||
|                   (append new-autoloads guix-emacs-autoloads)))))))) | ||||
|   ;; FIXME: The autoloads generated by the emacs-build-system are not byte | ||||
|   ;; compiled. | ||||
|   (interactive) | ||||
|   (let* ((emacs-load-path (getenv "EMACSLOADPATH")) | ||||
|          (emacs-non-core-load-path-directories | ||||
|           ;; Filter out core Elisp directories, which are already autoloaded | ||||
|           ;; by Emacs. | ||||
|           (seq-filter (lambda (dir) | ||||
|                         (string-match-p "/share/emacs/site-lisp" dir)) | ||||
|                       (split-string emacs-load-path ":"))) | ||||
|           (autoloads (mapcan #'guix-emacs-find-autoloads | ||||
|                              emacs-non-core-load-path-directories))) | ||||
|     (mapc (lambda (f) | ||||
|             (load f 'noerror)) | ||||
|           autoloads))) | ||||
| 
 | ||||
| (provide 'guix-emacs) | ||||
| 
 | ||||
|  |  | |||
|  | @ -13891,7 +13891,7 @@ datasets.") | |||
| (define-public ngless | ||||
|   (package | ||||
|     (name "ngless") | ||||
|     (version "0.9.1") | ||||
|     (version "1.0.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -13901,7 +13901,7 @@ datasets.") | |||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0mc2gi7h4lx74zylvyp76mvc0w6706j858ii9vlgzqsw6acpr117")))) | ||||
|          "06ygv8q2zjqsnrid1302yrlhhvb8ik48nq6n0higk3i1mdc8r0dg")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (arguments | ||||
|      `(#:haddock? #f ; The haddock phase fails with: NGLess/CmdArgs.hs:20:1: | ||||
|  | @ -13909,7 +13909,24 @@ datasets.") | |||
|                      ; import Options.Applicative | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'create-cabal-file | ||||
|          (add-after 'unpack 'create-Versions.hs | ||||
|            (lambda _ | ||||
|              (substitute* "Makefile" | ||||
|                (("BWA_VERSION = .*") | ||||
|                 (string-append "BWA_VERSION = " | ||||
|                                ,(package-version bwa) "\n")) | ||||
|                (("SAM_VERSION = .*") | ||||
|                 (string-append "SAM_VERSION = " | ||||
|                                ,(package-version samtools) "\n")) | ||||
|                (("PRODIGAL_VERSION = .*") | ||||
|                 (string-append "PRODIGAL_VERSION = " | ||||
|                                ,(package-version prodigal) "\n")) | ||||
|                (("MINIMAP2_VERSION = .*") | ||||
|                 (string-append "MINIMAP2_VERSION = " | ||||
|                                ,(package-version minimap2) "\n"))) | ||||
|              (invoke "make" "NGLess/Dependencies/Versions.hs") | ||||
|              #t)) | ||||
|          (add-after 'create-Versions.hs 'create-cabal-file | ||||
|            (lambda _ (invoke "hpack") #t)) | ||||
|          ;; These tools are expected to be installed alongside ngless. | ||||
|          (add-after 'install 'link-tools | ||||
|  | @ -13938,15 +13955,15 @@ datasets.") | |||
|        ("ghc-async" ,ghc-async) | ||||
|        ("ghc-atomic-write" ,ghc-atomic-write) | ||||
|        ("ghc-bytestring-lexing" ,ghc-bytestring-lexing) | ||||
|        ("ghc-chart" ,ghc-chart) | ||||
|        ("ghc-chart-cairo" ,ghc-chart-cairo) | ||||
|        ("ghc-conduit" ,ghc-conduit) | ||||
|        ("ghc-conduit-algorithms" ,ghc-conduit-algorithms) | ||||
|        ("ghc-conduit-combinators" ,ghc-conduit-combinators) | ||||
|        ("ghc-conduit-extra" ,ghc-conduit-extra) | ||||
|        ("ghc-configurator" ,ghc-configurator) | ||||
|        ("ghc-convertible" ,ghc-convertible) | ||||
|        ("ghc-data-default" ,ghc-data-default) | ||||
|        ("ghc-diagrams-core" ,ghc-diagrams-core) | ||||
|        ("ghc-diagrams-lib" ,ghc-diagrams-lib) | ||||
|        ("ghc-diagrams-svg" ,ghc-diagrams-svg) | ||||
|        ("ghc-double-conversion" ,ghc-double-conversion) | ||||
|        ("ghc-edit-distance" ,ghc-edit-distance) | ||||
|        ("ghc-either" ,ghc-either) | ||||
|  | @ -13967,6 +13984,7 @@ datasets.") | |||
|        ("ghc-safeio" ,ghc-safeio) | ||||
|        ("ghc-strict" ,ghc-strict) | ||||
|        ("ghc-tar" ,ghc-tar) | ||||
|        ("ghc-tar-conduit" ,ghc-tar-conduit) | ||||
|        ("ghc-unliftio" ,ghc-unliftio) | ||||
|        ("ghc-unliftio-core" ,ghc-unliftio-core) | ||||
|        ("ghc-vector" ,ghc-vector) | ||||
|  |  | |||
|  | @ -44,7 +44,7 @@ | |||
|     (inputs | ||||
|      `(("agda" ,agda) | ||||
|        ("agda-ial" ,agda-ial) | ||||
|        ("ghc" ,ghc-8.4) | ||||
|        ("ghc" ,ghc) | ||||
|        ("ghc-alex" ,ghc-alex) | ||||
|        ("ghc-happy" ,ghc-happy))) | ||||
|     (build-system emacs-build-system) | ||||
|  |  | |||
|  | @ -243,13 +243,14 @@ analogy is that InChI is the bar-code for chemistry and chemical structures.") | |||
|     (version "3.0.11") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://bitbucket.org/khinsen/" | ||||
|                            "nmoldyn3/downloads/nMOLDYN-" | ||||
|                            version ".tar.gz")) | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/khinsen/nMOLDYN3") | ||||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1mvmz3lkr217kdrd8cvdr1d82y58wp1403c9rnd943mijgq8xb5a")))) | ||||
|          "016h4bqg419p6s7bcx55q5iik91gqmk26hbnfgj2j6zl0j36w51r")))) | ||||
|     (build-system python-build-system) | ||||
|     (inputs | ||||
|      `(("python-matplotlib" ,(with-numpy-1.8 python2-matplotlib)) | ||||
|  |  | |||
|  | @ -242,8 +242,8 @@ from forcing GEXP-PROMISE." | |||
|                       #:system system | ||||
|                       #:guile-for-build guile))) | ||||
| 
 | ||||
| (define %chromium-version "78.0.3904.97") | ||||
| (define %ungoogled-revision "acaf16383f264d8a2f24142ad054c9b4355771d3") | ||||
| (define %chromium-version "78.0.3904.108") | ||||
| (define %ungoogled-revision "8f065138317a6152b20decc224027a5192ba76b1") | ||||
| (define %debian-revision "e43d74632091324774a5049668782dba7b09cf72") | ||||
| (define package-revision "0") | ||||
| (define %package-version (string-append %chromium-version "-" | ||||
|  | @ -258,7 +258,7 @@ from forcing GEXP-PROMISE." | |||
|                         %chromium-version ".tar.xz")) | ||||
|     (sha256 | ||||
|      (base32 | ||||
|       "01wx5bi397d80za0sdfwgfbjj6n2ad2i31zmcrhm6wzryjwrmx6i")))) | ||||
|       "03jvfz68nvmmrplygf96sh0l347p4h03c8vpw8yrglh6ycwkiigr")))) | ||||
| 
 | ||||
| (define %ungoogled-origin | ||||
|   (origin | ||||
|  | @ -269,7 +269,7 @@ from forcing GEXP-PROMISE." | |||
|                               (string-take %ungoogled-revision 7))) | ||||
|     (sha256 | ||||
|      (base32 | ||||
|       "1gqbch6dnww3c3vn1i4nb07iz1f78mws9dsxscj3rsrkcgwhsdz8")))) | ||||
|       "0zix90jz82hpym9jmyf99yw19swaf13ps6szi60wccmz1gccv77g")))) | ||||
| 
 | ||||
| (define %debian-origin | ||||
|   (origin | ||||
|  | @ -660,8 +660,8 @@ from forcing GEXP-PROMISE." | |||
|                ;; their current status for convenience. | ||||
|                (format #t "Dumping configure flags...\n") | ||||
|                (invoke "gn" "args" "out/Release" "--list")))) | ||||
|          (replace 'build | ||||
|            (lambda* (#:key (parallel-build? #t) #:allow-other-keys) | ||||
|          (add-before 'build 'increase-resource-limits | ||||
|            (lambda _ | ||||
|              ;; XXX: Chromiums linking step requires a lot of simultaneous file | ||||
|              ;; accesses.  Having a too low ulimit will result in bogus linker | ||||
|              ;; errors such as "foo.a: error adding symbols: malformed archive". | ||||
|  | @ -677,7 +677,9 @@ from forcing GEXP-PROMISE." | |||
|                    (format #t | ||||
|                            "increased maximum number of open files from ~d to ~d~%" | ||||
|                            soft (if hard (min hard 4096) 4096))))) | ||||
| 
 | ||||
|              #t)) | ||||
|          (replace 'build | ||||
|            (lambda* (#:key (parallel-build? #t) #:allow-other-keys) | ||||
|              (invoke "ninja" "-C" "out/Release" | ||||
|                      "-j" (if parallel-build? | ||||
|                               (number->string (parallel-job-count)) | ||||
|  |  | |||
|  | @ -1655,7 +1655,9 @@ recreates the stored directory structure by default.") | |||
|     (native-inputs | ||||
|      `(("perl" ,perl))) | ||||
|     (inputs | ||||
|      `(("zlib" ,zlib))) | ||||
|      `(("gnutls" ,gnutls) | ||||
|        ("openssl" ,openssl) | ||||
|        ("zlib" ,zlib))) | ||||
|     (build-system cmake-build-system) | ||||
|     (home-page "https://libzip.org") | ||||
|     (synopsis "C library for reading, creating, and modifying zip archives") | ||||
|  |  | |||
|  | @ -209,7 +209,7 @@ as ordering relation.") | |||
| (define-public json-modern-cxx | ||||
|   (package | ||||
|     (name "json-modern-cxx") | ||||
|     (version "3.7.0") | ||||
|     (version "3.7.3") | ||||
|     (home-page "https://github.com/nlohmann/json") | ||||
|     (source | ||||
|      (origin | ||||
|  | @ -218,7 +218,7 @@ as ordering relation.") | |||
|                            (commit (string-append "v" version)))) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0v7xih4zjixxxfvkfbs7a8j9qcvpwlsv4vrkbyns3hc7b44nb8ap")) | ||||
|          "04rry1xzis71z5gj1ylcj8b4li5q18zxhcwaviwvi3hx0frzxl9w")) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (modules '((guix build utils))) | ||||
|        (snippet | ||||
|  |  | |||
|  | @ -47,6 +47,7 @@ | |||
|   #:use-module (gnu packages libbsd) | ||||
|   #:use-module (gnu packages libffi) | ||||
|   #:use-module (gnu packages linux) | ||||
|   #:use-module (gnu packages lsof) | ||||
|   #:use-module (gnu packages nettle) | ||||
|   #:use-module (gnu packages password-utils) | ||||
|   #:use-module (gnu packages perl) | ||||
|  | @ -339,14 +340,15 @@ no man page, refer to the home page for usage details.") | |||
| (define-public tomb | ||||
|   (package | ||||
|     (name "tomb") | ||||
|     (version "2.6") | ||||
|     (version "2.7") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://files.dyne.org/tomb/" | ||||
|                                   "Tomb-" version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1sr3jcn96mciyn8xd0amd1jzamxxzpybakf8an7laf26gjim1dh2")))) | ||||
|                 "0x3al02796vx1cvy6y6h685c367qx70dwv471g0hmks2gr10f0cn")) | ||||
|               (patches (search-patches "tomb-fix-errors-on-open.patch")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs `(("sudo" ,sudo)))   ;presence needed for 'check' phase | ||||
|     (inputs | ||||
|  | @ -355,6 +357,7 @@ no man page, refer to the home page for usage details.") | |||
|        ("cryptsetup" ,cryptsetup) | ||||
|        ("e2fsprogs" ,e2fsprogs)         ;for mkfs.ext4 | ||||
|        ("gettext" ,gettext-minimal)     ;used at runtime | ||||
|        ("lsof" ,lsof) | ||||
|        ("mlocate" ,mlocate) | ||||
|        ("pinentry" ,pinentry) | ||||
|        ("qrencode" ,qrencode) | ||||
|  | @ -362,6 +365,10 @@ no man page, refer to the home page for usage details.") | |||
|        ("util-linux" ,util-linux))) | ||||
|     (arguments | ||||
|      `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) | ||||
|        ;; The "sudo" input is needed only to satisfy dependency checks in the | ||||
|        ;; 'check' phase.  The "sudo" used at runtime should come from the | ||||
|        ;; system's setuid-programs, so ensure no reference is kept. | ||||
|        #:disallowed-references (,sudo) | ||||
|        ;; TODO: Build and install gtk and qt trays | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|  | @ -380,8 +387,8 @@ no man page, refer to the home page for usage details.") | |||
|                     ,@(map (lambda (program) | ||||
|                              (or (and=> (which program) dirname) | ||||
|                                  (error "program not found:" program))) | ||||
|                            '("seq" "mkfs.ext4" "pinentry" "sudo" | ||||
|                              "gpg" "cryptsetup" "gettext" | ||||
|                            '("seq" "mkfs.ext4" "pinentry" | ||||
|                              "gpg" "cryptsetup" "gettext" "lsof" | ||||
|                              "qrencode" "steghide" "findmnt"))))) | ||||
|                #t))) | ||||
|          (delete 'check) | ||||
|  |  | |||
|  | @ -114,7 +114,7 @@ and BOOTP/TFTP for network booting of diskless machines.") | |||
| (define-public isc-bind | ||||
|   (package | ||||
|     (name "bind") | ||||
|     (version "9.14.7") | ||||
|     (version "9.14.8") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|  | @ -122,7 +122,7 @@ and BOOTP/TFTP for network booting of diskless machines.") | |||
|                     "/bind-" version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "07998nx0yv3xy8c62b1ira9qygsgvpljwcgb47ypzxq8b57gb86f")))) | ||||
|                 "0xm0xrpgxq6gk6r6aa2w0lygnq02y1p614dmyjdmlsfnrrsslig5")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (outputs `("out" "utils")) | ||||
|     (inputs | ||||
|  |  | |||
|  | @ -33,7 +33,7 @@ | |||
| (define-public elixir | ||||
|   (package | ||||
|     (name "elixir") | ||||
|     (version "1.8.2") | ||||
|     (version "1.9.4") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -42,7 +42,7 @@ | |||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "1n77cpcl2b773gmj3m9s24akvj9gph9byqbmj2pvlsmby4aqwckq")) | ||||
|         (base32 "1l4318g35y4h0vi2w07ayc3jizw1xc3s7hdb47w6j3iw33y06g6b")) | ||||
|        (patches (search-patches "elixir-path-length.patch")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|  | @ -63,9 +63,21 @@ | |||
|                               "lib/mix/lib/mix/scm/git.ex") | ||||
|                  (("(cmd\\(['\"])git" _ prefix) | ||||
|                   (string-append prefix (which "git")))) | ||||
|                (substitute* '("lib/mix/lib/mix/release.ex" | ||||
|                               "lib/mix/lib/mix/tasks/release.init.ex") | ||||
|                  (("#!/bin/sh") | ||||
|                   (string-append "#!" (which "sh")))) | ||||
|                (substitute* "bin/elixir" | ||||
|                  (("ERL_EXEC=\"erl\"") | ||||
|                   (string-append "ERL_EXEC=" (which "erl")))) | ||||
|                  (("ERTS_BIN=") | ||||
|                   (string-append | ||||
|                     "ERTS_BIN=" | ||||
|                     ;; Elixir Releases will prepend to ERTS_BIN the path of a copy of erl. | ||||
|                     ;; We detect if a release is being generated by checking the initial ERTS_BIN | ||||
|                     ;; value: if it's empty, we are not in release mode and can point to the actual | ||||
|                     ;; erl binary in Guix store. | ||||
|                     "\nif [ -z \"$ERTS_BIN\" ]; then ERTS_BIN=" | ||||
|                     (string-drop-right (which "erl") 3) | ||||
|                     "; fi"))) | ||||
|                (substitute* "bin/mix" | ||||
|                  (("#!/usr/bin/env elixir") | ||||
|                   (string-append "#!" out "/bin/elixir")))) | ||||
|  |  | |||
|  | @ -47,9 +47,25 @@ | |||
|         (base32 "0s93z9vr0vp5w894ghc5s34nsq09sg1msf59zfiba87sid5vgjqy")) | ||||
|        (patches | ||||
|         (search-patches "elm-compiler-disable-reactor.patch" | ||||
|                         "elm-compiler-relax-glsl-bound.patch" | ||||
|                         "elm-compiler-fix-map-key.patch")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'update-constraints | ||||
|            (lambda _ | ||||
|              (substitute* "elm.cabal" | ||||
|                (("ansi-terminal >= 0\\.8 && < 0\\.9,") | ||||
|                 "ansi-terminal >= 0.8 && < 0.10,") | ||||
|                (("containers >= 0\\.5\\.8\\.2 && < 0\\.6,") | ||||
|                 "containers >= 0.5.8.2 && < 0.7,") | ||||
|                (("http-client >= 0\\.5 && < 0\\.6,") | ||||
|                 "http-client >= 0.5 && < 0.7,") | ||||
|                (("language-glsl >= 0\\.0\\.2 && < 0\\.3,") | ||||
|                 "language-glsl >= 0.0.2 && < 0.4,") | ||||
|                (("network >= 2\\.4 && < 2\\.7,") | ||||
|                 "network >= 2.4 && < 2.9,")) | ||||
|              #t))))) | ||||
|     (inputs | ||||
|      `(("ghc-ansi-terminal" ,ghc-ansi-terminal) | ||||
|        ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint) | ||||
|  |  | |||
|  | @ -79,6 +79,7 @@ | |||
|   #:use-module (guix cvs-download) | ||||
|   #:use-module (guix download) | ||||
|   #:use-module (guix git-download) | ||||
|   #:use-module (guix hg-download) | ||||
|   #:use-module (guix build-system gnu) | ||||
|   #:use-module (guix build-system cmake) | ||||
|   #:use-module (guix build-system emacs) | ||||
|  | @ -1005,6 +1006,30 @@ skip set strings, which are arguments to @code{skip-chars-forward} and | |||
| and reused.") | ||||
|       (license license:gpl3+)))) | ||||
| 
 | ||||
| (define-public emacs-ample-theme | ||||
|   (let ((commit "536966adf882446165a1f756830028faa792c7a9") | ||||
|         (revision "1")) | ||||
|     (package | ||||
|       (name "emacs-ample-theme") | ||||
|       (version (git-version "0.0.0" revision commit)) | ||||
|       (source (origin | ||||
|                 (method git-fetch) | ||||
|                 (uri (git-reference | ||||
|                       (url "https://github.com/jordonbiondo/ample-theme") | ||||
|                       (commit commit))) | ||||
|                 (file-name (git-file-name name version)) | ||||
|                 (sha256 | ||||
|                  (base32 | ||||
|                   "07bpv8dag40qjnm5000pgzpazj4whfxf93x2vprz26sg3mjfx0nf")))) | ||||
|       (build-system emacs-build-system) | ||||
|       (home-page "https://github.com/jordonbiondo/ample-theme") | ||||
|       (synopsis "Theme for Emacs providing dark, light, and flat versions") | ||||
|       (description "Ample themes is a collection of three themes sharing a | ||||
| similar pallet with a light, dark and flat versions with a focus on being easy | ||||
| on the eyes during night and day.  They only support GUI and 256 colour | ||||
| terminals.") | ||||
|       (license license:gpl3+)))) | ||||
| 
 | ||||
| (define-public emacs-reformatter | ||||
|   (package | ||||
|     (name "emacs-reformatter") | ||||
|  | @ -1974,9 +1999,9 @@ filters, new key bindings and faces.  It can be enabled by | |||
|              ;; upgrading" that pdf-tools tries to perform. | ||||
|              (emacs-substitute-variables "pdf-tools.el" | ||||
|                ("pdf-tools-handle-upgrades" '())))) | ||||
|          (add-after 'emacs-patch-variables 'emacs-set-emacs-load-path | ||||
|            (assoc-ref emacs:%standard-phases 'set-emacs-load-path)) | ||||
|          (add-after 'emacs-set-emacs-load-path 'emacs-install | ||||
|          (add-after 'emacs-patch-variables 'emacs-add-source-to-load-path | ||||
|            (assoc-ref emacs:%standard-phases 'add-source-to-load-path)) | ||||
|          (add-after 'emacs-add-source-to-load-path 'emacs-install | ||||
|            (assoc-ref emacs:%standard-phases 'install)) | ||||
|          (add-after 'emacs-install 'emacs-build | ||||
|            (assoc-ref emacs:%standard-phases 'build)) | ||||
|  | @ -2049,14 +2074,14 @@ type, for example: packages, buffers, files, etc.") | |||
| (define-public emacs-guix | ||||
|   (package | ||||
|     (name "emacs-guix") | ||||
|     (version "0.5.1.1") | ||||
|     (version "0.5.2") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://emacs-guix.gitlab.io/website/" | ||||
|                                   "releases/emacs-guix-" version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1gxg7lan3njc2yg2d02b2zij0d2cm2pv2q08nqz86s85jk3b6m03")))) | ||||
|                 "0yz64c0z4ygi2k4af18k4r1ncgys18jb8icywkp2g5pgmpn5l7ps")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags | ||||
|  | @ -4096,7 +4121,7 @@ to a key in your preferred mode.") | |||
|                ((assoc-ref cmake:%standard-phases 'configure) | ||||
|                 #:outputs outputs | ||||
|                 #:configure-flags '("-DSC_EL_BYTECOMPILE=OFF")))) | ||||
|            (add-after 'set-emacs-load-path 'add-el-dir-to-emacs-load-path | ||||
|            (add-after 'add-source-to-load-path 'add-el-dir-to-emacs-load-path | ||||
|              (lambda _ | ||||
|                (setenv "EMACSLOADPATH" | ||||
|                        (string-append (getcwd) "/el:" (getenv "EMACSLOADPATH"))) | ||||
|  | @ -5225,7 +5250,7 @@ after buffer changes.") | |||
|      `(#:tests? #t | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'set-emacs-load-path 'fix-autogen-script | ||||
|          (add-after 'unpack 'fix-autogen-script | ||||
|            (lambda _ | ||||
|              (substitute* "autogen.sh" | ||||
|                (("./configure") "sh configure")))) | ||||
|  | @ -10226,6 +10251,30 @@ list of commands is displayed in a handy popup.") | |||
| characters from end of lines.") | ||||
|     (license license:gpl3+))) | ||||
| 
 | ||||
| (define-public emacs-openwith | ||||
|   (let ((changeset "aeb78782ec87680ea9f082a3f20a3675b3770cf9") | ||||
|         (revision "0")) | ||||
|     (package | ||||
|       (name "emacs-openwith") | ||||
|       (home-page "https://bitbucket.org/jpkotta/openwith") | ||||
|       (version (git-version "0.0.1" revision changeset)) | ||||
|       (source (origin | ||||
|                 (method hg-fetch) | ||||
|                 (uri (hg-reference (url home-page) (changeset changeset))) | ||||
|                 (file-name (git-file-name name version)) | ||||
|                 (sha256 | ||||
|                  (base32 | ||||
|                   "1wl6gnxsyhaad4cl9bxjc0qbc5jzvlwbwjbajs0n1s6qr07d6r01")))) | ||||
|       (build-system emacs-build-system) | ||||
|       (synopsis "Open external applications for files with Emacs") | ||||
|       (description | ||||
|        "This package enables you to associate file name patterns with external | ||||
| applications that are automatically invoked when you use commands like | ||||
| @code{find-file}.  For example, you can have it open @code{png} files with | ||||
| @code{feh} and @code{mp4} files with @code{mpv}.  This is especially useful | ||||
| when browsing files with Dired.") | ||||
|       (license license:gpl2+)))) | ||||
| 
 | ||||
| (define-public emacs-org-edit-latex | ||||
|   (package | ||||
|     (name "emacs-org-edit-latex") | ||||
|  | @ -14809,7 +14858,7 @@ appropriate directory if no @code{eshell} session is active.") | |||
| (define-public emacs-eshell-z | ||||
|   (package | ||||
|     (name "emacs-eshell-z") | ||||
|     (version "0.3.2") | ||||
|     (version "0.4") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -14819,7 +14868,7 @@ appropriate directory if no @code{eshell} session is active.") | |||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1aac4m814jgxwpz7lbyx5r4z5dmawp4sk7pwbx0zqpnbcsaq5wwc")))) | ||||
|          "13dwaq8q23rwmrkpy3gvf7aswrkk6b9ak5221xl7n0bld4wdhq3j")))) | ||||
|     (build-system emacs-build-system) | ||||
|     (home-page "https://github.com/xuchunyang/eshell-z") | ||||
|     (synopsis "Quick navigation to frequently visited directories") | ||||
|  | @ -14861,7 +14910,7 @@ autosuggestions with: | |||
| (define-public emacs-desktop-environment | ||||
|   (package | ||||
|     (name "emacs-desktop-environment") | ||||
|     (version "0.2.2") | ||||
|     (version "0.3.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -14871,7 +14920,7 @@ autosuggestions with: | |||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "14ija2rrz3zjhjbzxg84j5fq6xph4ah7w9bkqnq37by040cydvhw")))) | ||||
|          "195n99xvxyh4cfxjpfa1h1maalqrxf7nyi0bh3lqa1z6z5bdb6x2")))) | ||||
|     (build-system emacs-build-system) | ||||
|     (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment") | ||||
|     (synopsis "Control your GNU/Linux desktop environment from Emacs") | ||||
|  | @ -15824,7 +15873,8 @@ Pandoc, the document-conversion tool.") | |||
|            "1qgfxc5d1hb32ks1fxpx7agpw7dvnkz99wydlflc9fqq75g8v142")))) | ||||
|       (build-system emacs-build-system) | ||||
|       (propagated-inputs | ||||
|        `(("emacs-dash" ,emacs-dash) | ||||
|        `(("ccls" ,ccls) | ||||
|          ("emacs-dash" ,emacs-dash) | ||||
|          ("emacs-projectile" ,emacs-projectile) | ||||
|          ("emacs-lsp-mode" ,emacs-lsp-mode))) | ||||
|       (home-page "https://github.com/MaskRay/emacs-ccls") | ||||
|  | @ -17821,9 +17871,7 @@ a suffix) we prefer to call it just a \"transient\".") | |||
|              (lambda _ | ||||
|                (substitute* "./Makefile" | ||||
|                  (("lisp docs") "lisp")))) | ||||
|            (add-after 'delete-doc-targets 'emacs-set-emacs-load-path | ||||
|              (assoc-ref emacs:%standard-phases 'set-emacs-load-path)) | ||||
|            (add-after 'emacs-set-emacs-load-path 'chdir-lisp | ||||
|            (add-after 'delete-doc-targets 'chdir-lisp | ||||
|              (lambda _ | ||||
|                (chdir "lisp"))) | ||||
|            (add-after 'chdir-lisp 'emacs-install | ||||
|  |  | |||
|  | @ -9,7 +9,7 @@ | |||
| ;;; Copyright © 2016 David Thompson <dthompson2@worcester.edu> | ||||
| ;;; Copyright © 2016 ng0 <ng0@n0.is> | ||||
| ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> | ||||
| ;;; Copyright © 2017 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;;; Copyright © 2017, 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com> | ||||
| ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org> | ||||
|  | @ -185,6 +185,13 @@ | |||
| 
 | ||||
|     (native-search-paths | ||||
|      (list (search-path-specification | ||||
|             (variable "EMACSLOADPATH") | ||||
|             ;; The versioned entries are for the Emacs' builtin libraries. | ||||
|             (files (list (string-append "share/emacs/" version "/site-lisp") | ||||
|                          (string-append "share/emacs/" version "/lisp") | ||||
|                          "share/emacs/site-lisp")) | ||||
|             (file-pattern ".*"))        ;recursively add any sub directory | ||||
|            (search-path-specification | ||||
|             (variable "INFOPATH") | ||||
|             (files '("share/info"))))) | ||||
| 
 | ||||
|  |  | |||
|  | @ -1213,6 +1213,8 @@ play them on systems for which they were never designed!") | |||
|     (arguments | ||||
|      `(#:make-flags | ||||
|        (cons* | ||||
|         ;; A 'strict-overflow' error pops up on i686 so disable '-Werror'. | ||||
|         "NOWERROR=1" | ||||
|         (string-append "QT_HOME=" (assoc-ref %build-inputs "qtbase")) | ||||
|         (string-append "SDL_INI_PATH=" | ||||
|                        (assoc-ref %outputs "out") | ||||
|  |  | |||
|  | @ -223,7 +223,7 @@ built-in support for concurrency, distribution and fault tolerance.") | |||
|     (arguments | ||||
|      `(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-before 'set-emacs-load-path 'change-working-directory | ||||
|          (add-before 'add-source-to-load-path 'change-working-directory | ||||
|            (lambda _ (chdir "lib/tools/emacs") #t))))) | ||||
|     (home-page "https://www.erlang.org/") | ||||
|     (synopsis "Erlang major mode for Emacs") | ||||
|  |  | |||
|  | @ -190,7 +190,8 @@ testing InfiniBand networks.") | |||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0x3clvy716i7va4m4adgx6ihjsfnzrkdizhxz5v52944dkglpc8n")))) | ||||
|                 "0x3clvy716i7va4m4adgx6ihjsfnzrkdizhxz5v52944dkglpc8n")) | ||||
|               (patches (search-patches "ucx-tcp-iface-ioctl.patch")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      '( ;; These are some of the flags found in 'contrib/configure-release'. | ||||
|  |  | |||
|  | @ -482,7 +482,7 @@ other machines/servers.  Electroncash does not download the Bitcoin Cash blockch | |||
|   ;; the system's dynamically linked library. | ||||
|   (package | ||||
|     (name "monero") | ||||
|     (version "0.15.0.0") | ||||
|     (version "0.15.0.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -503,7 +503,7 @@ other machines/servers.  Electroncash does not download the Bitcoin Cash blockch | |||
|            #t)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "19y4kcj4agws7swfa3draysb1y18c3xb13r8cg0faxx1dlm0zbnr")))) | ||||
|          "0sypa235lf2bbib4b71xpaw39h9304slgsvnsz8wmy9fq1zx009m")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (native-inputs | ||||
|      `(("doxygen" ,doxygen) | ||||
|  | @ -597,7 +597,7 @@ the Monero command line client and daemon.") | |||
| (define-public monero-gui | ||||
|   (package | ||||
|     (name "monero-gui") | ||||
|     (version "0.15.0.0") | ||||
|     (version "0.15.0.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -607,7 +607,7 @@ the Monero command line client and daemon.") | |||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1shpnly2dym5jhvk8zk10p69mz062dihx979djg74q6hgkhhhqsh")))) | ||||
|          "08j8kkncdn57xql0bhmlzjpjkdfhqbpda1p07r797q8qi0nl4w8n")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|      `(("pkg-config" ,pkg-config) | ||||
|  |  | |||
|  | @ -211,14 +211,15 @@ firmware from it.") | |||
|   (let ((commit "f289b7a2e5627464044249f0e5742830e052e360")) | ||||
|     (package | ||||
|       (name "teensy-loader-cli") | ||||
|       (version (string-append "2.1-1." (string-take commit 7))) | ||||
|       (version (git-version "2.1" "1" commit)) | ||||
|       (source | ||||
|        (origin | ||||
|          (method url-fetch) | ||||
|          (uri (string-append "https://github.com/PaulStoffregen/" | ||||
|                              "teensy_loader_cli/archive/" commit ".tar.gz")) | ||||
|          (sha256 (base32 "17wqc2q4fa473cy7f5m2yiyb9nq0qw7xal2kzrxzaikgm9rabsw8")) | ||||
|          (file-name (string-append "teensy-loader-cli-" version ".tar.gz" )) | ||||
|          (method git-fetch) | ||||
|          (uri (git-reference | ||||
|                 (url "https://github.com/PaulStoffregen/teensy_loader_cli.git") | ||||
|                 (commit commit))) | ||||
|          (sha256 (base32 "0sssim56pwsxp5cp5dlf6mi9h5fx2592m6j1g7abnm0s09b0lpdx")) | ||||
|          (file-name (git-file-name name version)) | ||||
|          (modules '((guix build utils))) | ||||
|          (snippet | ||||
|           `(begin | ||||
|  | @ -294,13 +295,14 @@ RK3036, RK3066, RK312X, RK3168, RK3188, RK3288, RK3368.") | |||
|     (name "heimdall") | ||||
|     (version "1.4.2") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://github.com/Benjamin-Dobell/Heimdall" | ||||
|                                   "/archive/v" version ".tar.gz")) | ||||
|               (file-name (string-append name "-" version ".tar.gz")) | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                      (url "https://gitlab.com/BenjaminDobell/Heimdall.git") | ||||
|                      (commit (string-append "v" version)))) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1y7gwg3lipyp2zcysm2vid1qg5nwin9bxbvgzs28lz2rya4fz6sq")))) | ||||
|                 "1ygn4snvcmi98rgldgxf5hwm7zzi1zcsihfvm6awf9s6mpcjzbqz")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      `(#:build-type "Release" | ||||
|  | @ -327,7 +329,7 @@ RK3036, RK3066, RK312X, RK3168, RK3188, RK3288, RK3368.") | |||
|      `(("libusb" ,libusb) | ||||
|        ("qtbase" ,qtbase) | ||||
|        ("zlib" ,zlib))) | ||||
|     (home-page "http://glassechidna.com.au/heimdall/") | ||||
|     (home-page "https://glassechidna.com.au/heimdall/") | ||||
|     (synopsis "Flash firmware onto Samsung mobile devices") | ||||
|     (description "@command{heimdall} is a tool suite used to flash firmware (aka | ||||
| ROMs) onto Samsung mobile devices.  Heimdall connects to a mobile device over | ||||
|  | @ -415,13 +417,14 @@ Management Engine (ME).  You need to @code{sudo rmmod mei_me} and | |||
|     (name "me-cleaner") | ||||
|     (version "1.2") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://github.com/corna/me_cleaner/" | ||||
|                                   "archive/v" version ".tar.gz")) | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                      (url "https://github.com/corna/me_cleaner.git") | ||||
|                      (commit (string-append "v" version)))) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0hdnay1ai0r6l69z63jkiz6yfwdsqc2mrfyj77hgadv7xxxqm6na")) | ||||
|               (file-name (string-append name "-" version ".tar.gz")))) | ||||
|                 "1bdj2clm13ir441vn7sv860xsc5gh71ja5lc2wn0gggnff0adxj4")) | ||||
|               (file-name (git-file-name name version)))) | ||||
|     (build-system python-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|  | @ -444,15 +447,16 @@ ME as far as possible (it only edits ME firmware image files).") | |||
| (define-public uefitool | ||||
|   (package | ||||
|     (name "uefitool") | ||||
|     (version "0.22.4") | ||||
|     (version "0.26.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://github.com/LongSoft/UEFITool/archive/" | ||||
|                                   version ".tar.gz")) | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                      (url "https://github.com/LongSoft/UEFITool.git") | ||||
|                      (commit version))) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "05jmhv7jpq08kqbd1477y1lgyjvcic3njrd0bmzdy7v7b7lnhl82")) | ||||
|               (file-name (string-append name "-" version ".tar.gz")))) | ||||
|                 "1ka7i12swm9r5bmyz5vjr82abd2f3lj8p35f4208byalfbx51yq7")) | ||||
|               (file-name (git-file-name name version)))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|  |  | |||
|  | @ -27,6 +27,7 @@ | |||
| ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr> | ||||
| ;;; Copyright © 2019 Baptiste Strazzulla <bstrazzull@hotmail.fr> | ||||
| ;;; Copyright © 2019 Alva <alva@skogen.is> | ||||
| ;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -1524,3 +1525,43 @@ Symbols stand out from common text.  Dots and commas are easily seen, and | |||
| operators are clear even when not surrounded by spaces.  Similar characters | ||||
| have been designed to be very distinguishable from each other.") | ||||
|     (license license:silofl1.1))) | ||||
| 
 | ||||
| (define-public font-dseg | ||||
|   (package | ||||
|     (name "font-dseg") | ||||
|     (version "0.45") | ||||
|     (source | ||||
|       (origin | ||||
|         (method url-fetch/zipbomb) | ||||
|         (uri | ||||
|           (string-append "https://github.com/keshikan/DSEG/" | ||||
|                          "releases/download/v" version | ||||
|                          "/fonts-DSEG_v" | ||||
|                          (string-concatenate (string-split version #\.)) | ||||
|                          ".zip")) | ||||
|         (sha256 | ||||
|           (base32 | ||||
|             "0v8sghh4vl286faf8pvi74znz07pyf0qii8z4wjllisqwc35sx72")))) | ||||
|     (build-system font-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (replace 'install | ||||
|            (lambda* (#:key outputs #:allow-other-keys) | ||||
|              (let* ((out (assoc-ref outputs "out")) | ||||
|                     (font-dir (string-append out "/share/fonts")) | ||||
|                     (truetype-dir (string-append font-dir "/truetype"))) | ||||
|                (with-directory-excursion | ||||
|                  (string-append "fonts-DSEG_v" | ||||
|                                 (apply string-append (string-split ,version | ||||
|                                                                    #\.))) | ||||
|                  (for-each (lambda (f) (install-file f truetype-dir)) | ||||
|                            (find-files "." "\\.ttf$")) | ||||
|                #t))))))) | ||||
|     (home-page "https://www.keshikan.net/fonts-e.html") | ||||
|     (synopsis "DSEG: 7-segment and 14-segment fonts") | ||||
|     (description | ||||
|      "DSEG is a font family that imitates seven- and fourteen-segment LCD | ||||
| displays (7SEG, 14SEG).  DSEG includes the roman alphabet and symbol glyphs. | ||||
| This package provides the TrueType fonts.") | ||||
|     (license license:silofl1.1))) | ||||
|  |  | |||
|  | @ -463,13 +463,14 @@ want what you have.") | |||
|     (name "cowsay") | ||||
|     (version "3.04") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://github.com/tnalpgge/" | ||||
|                                   "rank-amateur-cowsay/archive/" | ||||
|                                   "cowsay-" version ".tar.gz")) | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                      (url "https://github.com/tnalpgge/rank-amateur-cowsay.git") | ||||
|                      (commit (string-append name "-" version)))) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "12w7apbf6a9qffk92r32b16w22na2fjcqbl32rn0n7zw5hrp3f6q")))) | ||||
|                 "06455kq37hvq1xb7adyiwrx0djs50arsxvjgixyxks16lm1rlc7n")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|  | @ -1880,30 +1881,38 @@ match, cannon keep, and grave-itation pit.") | |||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                      (url "https://github.com/minetest/minetest") | ||||
|                      (commit version))) | ||||
|                     (url "https://github.com/minetest/minetest") | ||||
|                     (commit version))) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "184n9gxfa7yr0j85z2x736maaymsnppd5jzm326wlqri3c0qqy3z")) | ||||
|               (modules '((guix build utils))) | ||||
|               (snippet | ||||
|                 '(begin | ||||
|                    (delete-file-recursively "lib") #t)))) | ||||
|                '(begin | ||||
|                   ;; Mimic upstream commit 706b6aad06, for compatibility with | ||||
|                   ;; newer jsoncpp.  Remove this for > 5.1.0. | ||||
|                   (substitute* "cmake/Modules/FindJson.cmake" | ||||
|                     (("features\\.h") | ||||
|                      "allocator.h")) | ||||
| 
 | ||||
|                   ;; Delete bundled libraries. | ||||
|                   (delete-file-recursively "lib") | ||||
|                   #t)))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      '(#:configure-flags | ||||
|          (list "-DRUN_IN_PLACE=0" | ||||
|                "-DENABLE_FREETYPE=1" | ||||
|                "-DENABLE_GETTEXT=1" | ||||
|                "-DENABLE_SYSTEM_JSONCPP=TRUE" | ||||
|                (string-append "-DIRRLICHT_INCLUDE_DIR=" | ||||
|                               (assoc-ref %build-inputs "irrlicht") | ||||
|                               "/include/irrlicht") | ||||
|                (string-append "-DCURL_INCLUDE_DIR=" | ||||
|                               (assoc-ref %build-inputs "curl") | ||||
|                               "/include/curl")) | ||||
|        #:tests? #f)) ; no check target | ||||
|        (list "-DRUN_IN_PLACE=0" | ||||
|              "-DENABLE_FREETYPE=1" | ||||
|              "-DENABLE_GETTEXT=1" | ||||
|              "-DENABLE_SYSTEM_JSONCPP=TRUE" | ||||
|              (string-append "-DIRRLICHT_INCLUDE_DIR=" | ||||
|                             (assoc-ref %build-inputs "irrlicht") | ||||
|                             "/include/irrlicht") | ||||
|              (string-append "-DCURL_INCLUDE_DIR=" | ||||
|                             (assoc-ref %build-inputs "curl") | ||||
|                             "/include/curl")) | ||||
|        #:tests? #f))                    ;no check target | ||||
|     (native-search-paths | ||||
|      (list (search-path-specification | ||||
|             (variable "MINETEST_SUBGAME_PATH") | ||||
|  | @ -3787,13 +3796,14 @@ Linux / Mac OS X servers, and an auto mapper with a VT100 map display.") | |||
|     (name "laby") | ||||
|     (version "0.6.4") | ||||
|     (source | ||||
|      (origin (method url-fetch) | ||||
|              (uri (string-append | ||||
|                    "https://github.com/sgimenez/laby/archive/" | ||||
|                    "laby-" version ".tar.gz")) | ||||
|      (origin (method git-fetch) | ||||
|              (uri (git-reference | ||||
|                     (url "https://github.com/sgimenez/laby.git") | ||||
|                     (commit (string-append name "-" version)))) | ||||
|              (file-name (git-file-name name version)) | ||||
|              (sha256 | ||||
|               (base32 | ||||
|                "0gyrfa95l1qka7gbjf7l6mk7mbfvph00l0c995ia272qdw7rjhyf")) | ||||
|                "12fq9hhrxpzgfinmj9ra9ckss9yficwdlrmgjvvsq7agvh3sgyl1")) | ||||
|              (patches (search-patches "laby-make-install.patch")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (inputs | ||||
|  | @ -3943,7 +3953,7 @@ throwing people around in pseudo-randomly generated buildings.") | |||
| (define-public hyperrogue | ||||
|   (package | ||||
|     (name "hyperrogue") | ||||
|     (version "10.5d") | ||||
|     (version "11.2d") | ||||
|     ;; When updating this package, be sure to update the "hyperrogue-data" | ||||
|     ;; origin in native-inputs. | ||||
|     (source (origin | ||||
|  | @ -3954,7 +3964,7 @@ throwing people around in pseudo-randomly generated buildings.") | |||
|                     "-src.tgz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1ls055v4pv2xmn2a8lav7wl370zn0wsd91q41bk0amxd168kcndy")))) | ||||
|                 "1b532s94zv1jsni7bvh848m42arxcclsr0x3n7c689iamwqzrxmn")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f ; no check target | ||||
|  | @ -4032,7 +4042,7 @@ throwing people around in pseudo-randomly generated buildings.") | |||
|              "-win.zip")) | ||||
|            (sha256 | ||||
|             (base32 | ||||
|              "13n9hcvf9yv7kjghm5jhjpwq1kh94i4bgvcczky9kvdvw1y9278n")))) | ||||
|              "0vq4l1xaqpjj3hmxn1vn2b3bbkn1hrag42ck9f30blinv347bwhf")))) | ||||
|        ("unzip" ,unzip))) | ||||
|     (inputs | ||||
|      `(("font-dejavu" ,font-dejavu) | ||||
|  | @ -5136,7 +5146,7 @@ Crowther & Woods, its original authors, in 1995.  It has been known as | |||
| (define-public tome4 | ||||
|   (package | ||||
|     (name "tome4") | ||||
|     (version "1.6.0") | ||||
|     (version "1.6.1") | ||||
|     (synopsis "Single-player, RPG roguelike game set in the world of Eyal") | ||||
|     (source | ||||
|      (origin | ||||
|  | @ -5145,7 +5155,7 @@ Crowther & Woods, its original authors, in 1995.  It has been known as | |||
|                            version ".tar.bz2")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1z1w4ycgl5wbm0sv7577vcdfwwf4k7vaf2njzyb21rvqjizpbkwr")) | ||||
|          "0c5a2bdyfccwkqnb6yqvzggyi2nk032v01kfc00zlgpdfzljcb9i")) | ||||
|        (modules '((guix build utils))) | ||||
|        (snippet | ||||
|         '(begin | ||||
|  | @ -5442,14 +5452,14 @@ making Yamagi Quake II one of the most solid Quake II implementations available. | |||
|     (version "0.9.3.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append | ||||
|              "https://github.com/the-butterfly-effect/tbe/archive/" | ||||
|              "v" version ".tar.gz")) | ||||
|        (file-name (string-append name "-" version ".tar.gz")) | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|               (url "https://github.com/the-butterfly-effect/tbe.git") | ||||
|               (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "18qkp7fgdvyl3haqqa693mgyic7afsznsxgz98z9wn4csaqxsnby")))) | ||||
|          "1ag2cp346f9bz9qy6za6q54id44d2ypvkyhvnjha14qzzapwaysj")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|  | @ -5793,7 +5803,7 @@ affect gameplay).") | |||
|   (package | ||||
|     (inherit chocolate-doom) | ||||
|     (name "crispy-doom") | ||||
|     (version "5.5.2") | ||||
|     (version "5.6.3") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|  | @ -5801,7 +5811,7 @@ affect gameplay).") | |||
|                     (commit (string-append "crispy-doom-" version)))) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 "1a60ns0blhvml6gzj9qx18c18pbf02rq7vypaajd6nqy5h4fz3cn")))) | ||||
|                (base32 "0f319979wqfgm4pvsa6y5clg30p55l441kmrr8db0p5smyv3x2s4")))) | ||||
|     (native-inputs | ||||
|      (append | ||||
|       (package-native-inputs chocolate-doom) | ||||
|  | @ -7337,14 +7347,14 @@ play with up to four players simultaneously.  It has network support.") | |||
| (define-public hedgewars | ||||
|   (package | ||||
|     (name "hedgewars") | ||||
|     (version "0.9.25") | ||||
|     (version "1.0.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://www.hedgewars.org/download/releases/" | ||||
|                                   "hedgewars-src-" version ".tar.bz2")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "08x7fqpy0hpnbfq2k06g522xayi7s53bca819zfhalvqnqs76pdk")))) | ||||
|                 "0nqm9w02m0xkndlsj6ys3wr0ik8zc14zgilq7k6fwjrf3zk385i1")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      ;; XXX: Engine is built as Pascal source code, requiring Free Pascal | ||||
|  | @ -7353,32 +7363,8 @@ play with up to four players simultaneously.  It has network support.") | |||
|      `(#:configure-flags (list "-DBUILD_ENGINE_C=ON") | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'remove-failing-test | ||||
|            ;; XXX: Remove single failing test.  Note: it is marked | ||||
|            ;; a "non-critical" test. | ||||
|            (lambda _ | ||||
|              (delete-file-recursively "tests/lua_noncritical") | ||||
|              #t)) | ||||
|          (add-after 'unpack 'fix-compiler | ||||
|            ;; XXX: Flag BUILD_ENGINE_C, as set above, implies using Clang to | ||||
|            ;; compile files.  However, using `clang' globally leads to the | ||||
|            ;; error: qtbase-5.11.3/include/qt5/QtCore/qglobal.h:45:12: fatal | ||||
|            ;; error: 'type_traits' file not found. | ||||
|            ;; | ||||
|            ;; Therefore, we make sure to use `c++' everywhere but in the | ||||
|            ;; engine. | ||||
|            (lambda _ | ||||
|              (substitute* "project_files/hwc/CMakeLists.txt" | ||||
|                (("find_package\\(SDL2_ttf 2 REQUIRED\\)" all) | ||||
|                 (string-append all "\n" | ||||
|                                "set(CMAKE_C_COMPILER ${CLANG_EXECUTABLE})\n" | ||||
|                                "set(CMAKE_CXX_COMPILER ${CLANG_EXECUTABLE})"))) | ||||
|              (substitute* "CMakeLists.txt" | ||||
|                (("set\\(CMAKE_C(XX)?_COMPILER" all) (string-append "#" all))) | ||||
|              #t)) | ||||
|          (replace 'check | ||||
|            (lambda _ | ||||
|              (invoke "ctest")))))) | ||||
|            (lambda _ (invoke "ctest")))))) | ||||
|     (inputs | ||||
|      `(("ffmpeg" ,ffmpeg) | ||||
|        ("freeglut" ,freeglut) | ||||
|  |  | |||
|  | @ -861,8 +861,21 @@ on the GNOME Desktop with a single simple application.") | |||
|        (base32 | ||||
|         "0bshwm49cd01ighsxqlbqn10q0ch71ff99gcrx8pr2gyky2ad3pq")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      '(#:phases (modify-phases %standard-phases | ||||
|                   (add-after 'unpack 'set-adwaita-theme-file-name | ||||
|                     (lambda* (#:key inputs #:allow-other-keys) | ||||
|                       ;; Provide the correct file name of the default GNOME | ||||
|                       ;; background, 'adwaita-timed.xml'. | ||||
|                       (let ((theme (assoc-ref inputs "gnome-backgrounds"))) | ||||
|                         (substitute* (find-files "schemas" | ||||
|                                                  "\\.gschema\\.xml\\.in$") | ||||
|                           (("@datadir@/backgrounds/gnome") | ||||
|                            (string-append theme "/share/backgrounds/gnome"))) | ||||
|                         #t)))))) | ||||
|     (inputs | ||||
|      `(("glib" ,glib))) | ||||
|      `(("glib" ,glib) | ||||
|        ("gnome-backgrounds" ,gnome-backgrounds))) | ||||
|     (native-inputs | ||||
|      `(("intltool" ,intltool) | ||||
|        ("glib" ,glib "bin")                       ; glib-compile-schemas, etc. | ||||
|  | @ -1406,15 +1419,15 @@ library.") | |||
| (define-public librsvg-next | ||||
|   (package | ||||
|     (name "librsvg") | ||||
|     (version "2.46.0") | ||||
|     (version "2.46.3") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "mirror://gnome/sources/" name "/" | ||||
|               (uri (string-append "mirror://gnome/sources/librsvg/" | ||||
|                                   (version-major+minor version)  "/" | ||||
|                                   name "-" version ".tar.xz")) | ||||
|                                   "librsvg-" version ".tar.xz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1la3az2af2ccm6rp86b6wh0kq7kxzl4n8pli5qxhyic1rd91xj4n")))) | ||||
|                 "1s3a96i7f4pynjwxxvhysp4b6r7kyi8nasdxfyi62hc7gm34d3kn")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags | ||||
|  | @ -1492,7 +1505,7 @@ library.") | |||
|     (description | ||||
|      "Librsvg is a C library to render SVG files using the Cairo 2D graphics | ||||
| library.") | ||||
|     (license license:lgpl2.0+))) | ||||
|     (license license:lgpl2.1+))) | ||||
| 
 | ||||
| (define-public libidl | ||||
|   (package | ||||
|  |  | |||
|  | @ -1921,17 +1921,22 @@ is no support for parsing block and inline level HTML.") | |||
| (define-public mcron | ||||
|   (package | ||||
|     (name "mcron") | ||||
|     (version "1.1.2") | ||||
|     (version "1.1.3") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "mirror://gnu/mcron/mcron-" | ||||
|                                   version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "069m3ri7nc8lgy3h9ka7gj3v3anqj69x9jw4l3cfq65nqkxsch4g")))) | ||||
|                 "00kv7fgllzjpis0g1m9csycp4f6l11774m09dqy255cvmim2g743")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      '(#:phases (modify-phases %standard-phases | ||||
|                   (add-after 'unpack 'fix-finding-guile | ||||
|                     (lambda _ | ||||
|                       (substitute* "configure" | ||||
|                         (("2\\.0") "2.2 2.0")) | ||||
|                       #t)) | ||||
|                   (add-before 'check 'adjust-tests | ||||
|                     (lambda _ | ||||
|                       (substitute* "tests/job-specifier.scm" | ||||
|  | @ -1948,11 +1953,7 @@ is no support for parsing block and inline level HTML.") | |||
|                         (("\\(test-equal \"next-year\"" all) | ||||
|                          (string-append "(test-skip 4)\n" all))) | ||||
|                       #t))))) | ||||
|     (native-inputs `(("autoconf" ,autoconf) | ||||
|                      ("automake" ,automake) | ||||
|                      ("help2man" ,help2man) | ||||
|                      ("pkg-config" ,pkg-config) | ||||
|                      ("texinfo" ,texinfo) | ||||
|     (native-inputs `(("pkg-config" ,pkg-config) | ||||
|                      ("tzdata" ,tzdata-for-tests))) | ||||
|     (inputs `(("guile" ,guile-2.2))) | ||||
|     (home-page "https://www.gnu.org/software/mcron/") | ||||
|  |  | |||
|  | @ -49,10 +49,14 @@ | |||
|   #:use-module (gnu packages rsync) | ||||
|   #:use-module (gnu packages version-control)) | ||||
| 
 | ||||
| ;; In Stackage LTS 14, this package is at 2.4.1.0.  However, that | ||||
| ;; version requires version 2.4.1.0 of the 'Cabal' package, which is | ||||
| ;; provided by GHC 8.6.5 at version 2.4.0.1.  Hence, we use an older | ||||
| ;; version to match the compiler's library. | ||||
| (define-public cabal-install | ||||
|  (package | ||||
|   (name "cabal-install") | ||||
|    (version "2.2.0.0") | ||||
|    (version "2.4.0.0") | ||||
|    (source | ||||
|     (origin | ||||
|      (method url-fetch) | ||||
|  | @ -61,9 +65,19 @@ | |||
|             version | ||||
|             ".tar.gz")) | ||||
|       (sha256 | ||||
|        (base32 "1nd3ch7qr4dpfxhgkcq2lnhvszx2kjgnn1kwb44vk9y5jgfs4mn8")))) | ||||
|    (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing. | ||||
|        (base32 "1xmyl0x8wqfrnray6ky5wy0g0samv4264fbdlzxhqsvk9dbfja8k")))) | ||||
|    (build-system haskell-build-system) | ||||
|    (arguments | ||||
|     `(#:cabal-revision | ||||
|       ("2" "1xil5pim6j1ckqj61zz6l7xpfxxr3rkw2hvpws2f7pr9shk645dl") | ||||
|       #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-before 'configure 'update-constraints | ||||
|            (lambda _ | ||||
|              (substitute* "cabal-install.cabal" | ||||
|                (("zip-archive >= 0\\.3\\.2\\.5 && < 0\\.4,") | ||||
|                 "zip-archive >= 0.3.2.5 && <= 0.4.1,")) | ||||
|              #t))))) | ||||
|    (inputs | ||||
|     `(("ghc-async" ,ghc-async) | ||||
|       ("ghc-base16-bytestring" ,ghc-base16-bytestring) | ||||
|  | @ -78,6 +92,7 @@ | |||
|       ("ghc-random" ,ghc-random) | ||||
|       ("ghc-resolv" ,ghc-resolv) | ||||
|       ("ghc-tar" ,ghc-tar) | ||||
|       ("ghc-zip-archive" ,ghc-zip-archive) | ||||
|       ("ghc-zlib" ,ghc-zlib))) | ||||
|    (home-page "https://www.haskell.org/cabal/") | ||||
|    (synopsis "Command-line interface for Cabal and Hackage") | ||||
|  | @ -172,7 +187,9 @@ unlit literate code files; and an option to turn off macro-expansion.") | |||
|            #t)))) | ||||
|     (build-system haskell-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags '("-fpkgconfig" "-fcurl" "-flibiconv" "-fthreaded" | ||||
|      `(#:cabal-revision | ||||
|        ("1" "0xl7j5cm704pbl2ms0dkydh7jvrz0ym76d725ifpg4h902m1zkhg") | ||||
|        #:configure-flags '("-fpkgconfig" "-fcurl" "-flibiconv" "-fthreaded" | ||||
|                            "-fnetwork-uri" "-fhttp" "--flag=executable" | ||||
|                            "--flag=library") | ||||
|        #:phases | ||||
|  | @ -181,6 +198,12 @@ unlit literate code files; and an option to turn off macro-expansion.") | |||
|            (lambda _ | ||||
|              (substitute* "tests/issue538.sh" | ||||
|                (("/bin/sh") (which "sh"))) | ||||
|              #t)) | ||||
|          (add-before 'configure 'update-constraints | ||||
|            (lambda _ | ||||
|              (substitute* "darcs.cabal" | ||||
|                (("QuickCheck   >= 2\\.8\\.2 && < 2\\.13,") | ||||
|                 "QuickCheck   >= 2.8.2 && < 2.14,")) | ||||
|              #t))))) | ||||
|     (inputs | ||||
|      `(("ghc-cmdargs" ,ghc-cmdargs) | ||||
|  | @ -391,7 +414,7 @@ used to keep a folder in sync between computers.") | |||
| (define-public hlint | ||||
|   (package | ||||
|     (name "hlint") | ||||
|     (version "2.1.10") | ||||
|     (version "2.1.26") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -400,7 +423,7 @@ used to keep a folder in sync between computers.") | |||
|              "/" name "-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "19as2m9g75cr6n1agzvsij0cvqhb0wbjlk31w4y5d5mns87dki0w")))) | ||||
|          "16zkkpbfrd69853cdqf597fva969lirfc86b039i9zd7ghlrcayc")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("cpphs" ,cpphs) | ||||
|  | @ -416,6 +439,7 @@ used to keep a folder in sync between computers.") | |||
|        ("ghc-extra" ,ghc-extra) | ||||
|        ("ghc-refact" ,ghc-refact) | ||||
|        ("ghc-aeson" ,ghc-aeson) | ||||
|        ("ghc-lib-parser" ,ghc-lib-parser) | ||||
|        ("hscolour" ,hscolour))) | ||||
|     (home-page "http://community.haskell.org/~ndm/hlint/") | ||||
|     (synopsis "Suggest improvements for Haskell source code") | ||||
|  | @ -427,7 +451,7 @@ unwanted suggestions, and to add your own custom suggestions.") | |||
| (define-public hoogle | ||||
|   (package | ||||
|     (name "hoogle") | ||||
|     (version "5.0.17.3") | ||||
|     (version "5.0.17.11") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -437,18 +461,19 @@ unwanted suggestions, and to add your own custom suggestions.") | |||
|          version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "174gp41v0krzj37m75pnr3aawyhkbk2wq4q6zk2z3zh0avvvmgk6")))) | ||||
|          "1svp8z9pad8z2j386pr0dda0ds8ddxab0salnz4gm51q877w93p1")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-network-uri" ,ghc-network-uri) | ||||
|        ("ghc-network" ,ghc-network) | ||||
|        ("ghc-quickcheck" ,ghc-quickcheck) | ||||
|      `(("ghc-quickcheck" ,ghc-quickcheck) | ||||
|        ("ghc-aeson" ,ghc-aeson) | ||||
|        ("ghc-blaze-html" ,ghc-blaze-html) | ||||
|        ("ghc-blaze-markup" ,ghc-blaze-markup) | ||||
|        ("ghc-cmdargs" ,ghc-cmdargs) | ||||
|        ("ghc-conduit" ,ghc-conduit) | ||||
|        ("ghc-conduit-extra" ,ghc-conduit-extra) | ||||
|        ("ghc-connection" ,ghc-connection) | ||||
|        ("ghc-extra" ,ghc-extra) | ||||
|        ("ghc-foundation" ,ghc-foundation) | ||||
|        ("ghc-old-locale" ,ghc-old-locale) | ||||
|        ("ghc-haskell-src-exts" ,ghc-haskell-src-exts) | ||||
|        ("ghc-http-conduit" ,ghc-http-conduit) | ||||
|  | @ -502,16 +527,16 @@ and mIRC chat codes.") | |||
| (define-public kmonad | ||||
|   (package | ||||
|     (name "kmonad") | ||||
|     (version "0.2.0") | ||||
|     (version "0.3.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/david-janssen/kmonad.git") | ||||
|              (commit "06d7b8c709efa695be35df9bde91275cbb2ba099"))) | ||||
|              (commit version))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "1rjr4h5yq63x3kad6yn4p8v26389sd9dgr5n2w73s1chafapzwwd")))) | ||||
|         (base32 "1g40nkpldih6h1rlxjx5yf9iavr3qs1f2b6j0gd8135p5hkg8d8n")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|  | @ -543,7 +568,7 @@ and mIRC chat codes.") | |||
|        ("ghc-exceptions" ,ghc-exceptions) | ||||
|        ("ghc-hashable" ,ghc-hashable) | ||||
|        ("ghc-lens" ,ghc-lens) | ||||
|        ("ghc-megaparsec" ,ghc-megaparsec-7) | ||||
|        ("ghc-megaparsec" ,ghc-megaparsec) | ||||
|        ("ghc-optparse-applicative" ,ghc-optparse-applicative) | ||||
|        ("ghc-unagi-chan" ,ghc-unagi-chan) | ||||
|        ("ghc-unliftio" ,ghc-unliftio) | ||||
|  |  | |||
|  | @ -10,6 +10,7 @@ | |||
| ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2018 Tonton <tonton@riseup.net> | ||||
| ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> | ||||
| ;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -39,7 +40,7 @@ | |||
| (define-public ghc-tasty-ant-xml | ||||
|   (package | ||||
|     (name "ghc-tasty-ant-xml") | ||||
|     (version "1.1.4") | ||||
|     (version "1.1.6") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -49,7 +50,7 @@ | |||
|              ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0v0gsb90kh6hwlgxbclzawsskywc6yf7n8xhiifia97l4y0yx2m8")))) | ||||
|          "13qqpl1prr9dda87dp45mqybay24n8rhxxgvpc9j34kh72g8j5qw")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-generic-deriving" ,ghc-generic-deriving) | ||||
|  | @ -95,7 +96,7 @@ Haskell test framework.") | |||
| (define-public ghc-tasty-quickcheck | ||||
|   (package | ||||
|     (name "ghc-tasty-quickcheck") | ||||
|     (version "0.10") | ||||
|     (version "0.10.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -104,7 +105,7 @@ Haskell test framework.") | |||
|              "tasty-quickcheck-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0vr6szbbz3s5461i0zr8zpq347zfvidfzv5gf3xwxhm0yk731z8h")))) | ||||
|          "0k4vvd5vmrncv1s6gdf03l4xijwlk428sb9jfx8n1zaz02971msh")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-quickcheck" ,ghc-quickcheck) | ||||
|  | @ -156,7 +157,7 @@ contains the correct result for the test.") | |||
| (define-public ghc-tasty | ||||
|   (package | ||||
|     (name "ghc-tasty") | ||||
|     (version "1.1.0.3") | ||||
|     (version "1.2.3") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -166,7 +167,7 @@ contains the correct result for the test.") | |||
|              ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "14riid753hjqr6lca1kgxpnvq0wykf0k3qc5jpag42hh8bszav22")))) | ||||
|          "0qpn0avpw4w1qq5r2gwh2piipj0llqq6ylagr3xnqiraq6mhg8cc")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-tagged" ,ghc-tagged) | ||||
|  | @ -184,10 +185,40 @@ you combine your unit tests, golden tests, QuickCheck/SmallCheck properties, | |||
| and any other types of tests into a single test suite.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public ghc-tasty-hedgehog | ||||
|   (package | ||||
|     (name "ghc-tasty-hedgehog") | ||||
|     (version "1.0.0.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://hackage.haskell.org/package/" | ||||
|                            "tasty-hedgehog/tasty-hedgehog-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1mbg5q0c0xfrk4npfj60pi693igb7r5l78x6xf9fk2jglw0nmxhz")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-tagged" ,ghc-tagged) | ||||
|        ("ghc-tasty" ,ghc-tasty) | ||||
|        ("ghc-hedgehog" ,ghc-hedgehog))) | ||||
|     (native-inputs | ||||
|      `(("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure))) | ||||
|     (arguments | ||||
|      `(#:cabal-revision | ||||
|        ("1" "1n6797fm8swyrk8cw7zxz593gq82wx8dayvm204rmgcz75bslcpn"))) | ||||
|     (home-page "https://github.com/qfpl/tasty-hedgehog") | ||||
|     (synopsis "Integration for tasty and hedgehog") | ||||
|     (description "This package provides the means for integrating the | ||||
| @url{https://hackage.haskell.org/package/hedgehog, hedgehog testing library} | ||||
| with the @url{https://hackage.haskell.org/package/tasty, tasty testing | ||||
| framework}.") | ||||
|     (license license:bsd-3))) | ||||
| 
 | ||||
| (define-public ghc-tasty-hunit | ||||
|   (package | ||||
|     (name "ghc-tasty-hunit") | ||||
|     (version "0.10.0.1") | ||||
|     (version "0.10.0.2") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -197,7 +228,7 @@ and any other types of tests into a single test suite.") | |||
|              ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0j3hgga6c3s8h5snzivb8a75h96207ia2rlbxzj07xbf4zpkp44g")))) | ||||
|          "1xvf5xs0r8xqkcg354klz4wyzwyzvinalyl6f4fnxwqmzrgch8s8")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-call-stack" ,ghc-call-stack-boot) | ||||
|  | @ -231,6 +262,31 @@ test framework.") | |||
| tasty.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public ghc-tasty-lua | ||||
|   (package | ||||
|     (name "ghc-tasty-lua") | ||||
|     (version "0.2.0.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://hackage.haskell.org/package/" | ||||
|                            "tasty-lua/tasty-lua-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0xlj36rrhkx312h7smx6ay20rhlhxvw2ma2ckdnzv1pvmdn6p5qx")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-file-embed" ,ghc-file-embed) | ||||
|        ("ghc-hslua" ,ghc-hslua) | ||||
|        ("ghc-tasty" ,ghc-tasty))) | ||||
|     (native-inputs | ||||
|      `(("ghc-tasty-hunit" ,ghc-tasty-hunit))) | ||||
|     (home-page "https://github.com/hslua/tasty-lua") | ||||
|     (synopsis "Write tests in Lua, integrate into tasty") | ||||
|     (description "This package gives users the ability to define tasty tests | ||||
| from Lua.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public ghc-tasty-th | ||||
|   (package | ||||
|     (name "ghc-tasty-th") | ||||
|  | @ -261,7 +317,7 @@ test-framework.") | |||
| (define-public ghc-tasty-rerun | ||||
|   (package | ||||
|     (name "ghc-tasty-rerun") | ||||
|     (version "1.1.12") | ||||
|     (version "1.1.14") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|  | @ -269,7 +325,7 @@ test-framework.") | |||
|                     "tasty-rerun-" version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "05lp4zy6lwd916snq6hs43848n62j9vdfl3s8sfivqydrax0vvd8")))) | ||||
|                 "0s0zj8ds4g1w2cjzm2lh25ivg962jigqdrbj08v3dbz64lx4mlzr")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-optparse-applicative" ,ghc-optparse-applicative) | ||||
|  | @ -288,7 +344,7 @@ been added since previous test run.") | |||
| (define-public ghc-tasty-expected-failure | ||||
|   (package | ||||
|     (name "ghc-tasty-expected-failure") | ||||
|     (version "0.11.1.1") | ||||
|     (version "0.11.1.2") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -297,7 +353,7 @@ been added since previous test run.") | |||
|                            version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1i2s809m644b7hgiblqay9j364r3fjj1rwbrahsn1pgr5q6mr6ji")))) | ||||
|          "175gdk1mkslcwjxajkbl4zmaigzf8h4svzd7va5qb519y0dxk28n")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-tagged" ,ghc-tagged) | ||||
|  | @ -314,7 +370,7 @@ development.") | |||
| (define-public ghc-quickcheck-instances | ||||
|   (package | ||||
|     (name "ghc-quickcheck-instances") | ||||
|     (version "0.3.18") | ||||
|     (version "0.3.22") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -324,11 +380,11 @@ development.") | |||
|              version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1bh1pzz5fdcqvzdcirqxna6fnjms02min5md716299g5niz46w55")))) | ||||
|          "14asr9r7da3w7p4hjj51w2yb002nz8x0np8hdz9z4yjvi60vyrax")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (arguments | ||||
|      `(#:cabal-revision | ||||
|        ("1" "1sngfq3v71bvgjsl8cj5kh65m3fziwy8dkvwjzs0kxfrzr87faly"))) | ||||
|        ("2" "1ia5fjhpg7rz793552v88gv2iqx7hl9mi2g09m0llasy1cpzc9jr"))) | ||||
|     (inputs | ||||
|      `(("ghc-quickcheck" ,ghc-quickcheck) | ||||
|        ("ghc-base-compat" ,ghc-base-compat) | ||||
|  | @ -337,6 +393,7 @@ development.") | |||
|        ("ghc-old-time" ,ghc-old-time) | ||||
|        ("ghc-scientific" ,ghc-scientific) | ||||
|        ("ghc-tagged" ,ghc-tagged) | ||||
|        ("ghc-time-compat" ,ghc-time-compat) | ||||
|        ("ghc-transformers-compat" ,ghc-transformers-compat) | ||||
|        ("ghc-unordered-containers" ,ghc-unordered-containers) | ||||
|        ("ghc-uuid-types" ,ghc-uuid-types) | ||||
|  | @ -397,7 +454,7 @@ use HUnit assertions as QuickCheck properties.") | |||
| (define-public ghc-quickcheck | ||||
|   (package | ||||
|     (name "ghc-quickcheck") | ||||
|     (version "2.11.3") | ||||
|     (version "2.13.2") | ||||
|     (outputs '("out" "doc")) | ||||
|     (source | ||||
|      (origin | ||||
|  | @ -408,12 +465,13 @@ use HUnit assertions as QuickCheck properties.") | |||
|              ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0xhqk35fkzlbjcqbabg6962jkv8d688nzmz7ng4bm84x2d95d328")))) | ||||
|          "0426j43af8v3qmdjjqxivazsvr3a2brac8yw09vpgpjkb2m0nmkv")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f))  ; FIXME: currently missing libraries used for tests. | ||||
|     (inputs | ||||
|      `(("ghc-random" ,ghc-random) | ||||
|        ("ghc-splitmix" ,ghc-splitmix-bootstrap) | ||||
|        ("ghc-tf-random" ,ghc-tf-random))) | ||||
|     (home-page "https://github.com/nick8325/quickcheck") | ||||
|     (synopsis "Automatic testing of Haskell programs") | ||||
|  | @ -440,13 +498,8 @@ expressed in Haskell, using combinators defined in the QuickCheck library.") | |||
|     (build-system haskell-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f  ; FIXME: Tests do not build. | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-before 'configure 'update-constraints | ||||
|            (lambda _ | ||||
|              (substitute* "test-framework.cabal" | ||||
|                (("QuickCheck     >= 2\\.3 && < 2\\.10") | ||||
|                 "QuickCheck     >= 2.3 && < 2.12"))))))) | ||||
|        #:cabal-revision | ||||
|        ("5" "18g92ajx3ghznd6k3ihj22ln29n676ailzwx3k0f1kj3bmpilnh6"))) | ||||
|     (native-inputs | ||||
|      `(("ghc-hunit" ,ghc-hunit) | ||||
|        ("ghc-quickcheck" ,ghc-quickcheck))) | ||||
|  | @ -500,7 +553,7 @@ reporting and test statistics output.") | |||
| (define-public ghc-test-framework-quickcheck2 | ||||
|   (package | ||||
|     (name "ghc-test-framework-quickcheck2") | ||||
|     (version "0.3.0.4") | ||||
|     (version "0.3.0.5") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -509,11 +562,11 @@ reporting and test statistics output.") | |||
|                            "test-framework-quickcheck2-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0vj834337r6jzr3258cv68ly2sv5999mklpsrfngyk51kywsyqyp")))) | ||||
|          "0ngf9vvby4nrdf1i7dxf5m9jn0g2pkq32w48xdr92n9hxka7ixn9")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (arguments | ||||
|      `(#:cabal-revision | ||||
|        ("1" "147ngmfdkskyg7mwsp5w73a4dbx3rp5s38bci3z03kn1m093lxff"))) | ||||
|        ("1" "1vmpk70h1594h9s216d3ngkb399fpny1d3sh4gg0vrc75p4as68d"))) | ||||
|     (inputs | ||||
|      `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions) | ||||
|        ("ghc-quickcheck" ,ghc-quickcheck) | ||||
|  | @ -588,7 +641,7 @@ JUnit tool for Java.") | |||
| (define-public hspec-discover | ||||
|   (package | ||||
|     (name "hspec-discover") | ||||
|     (version "2.5.5") | ||||
|     (version "2.7.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -597,7 +650,7 @@ JUnit tool for Java.") | |||
|                            version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "04aidzi91ccr9bygmfkjzshz34z9vh8wvqj4zinx2clxq6r7gqfz")))) | ||||
|          "0r47fm94wa6qrhp8cc1zzkjrxc32rnagfn9m9ga4dm6p6ydw4c8b")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (native-inputs | ||||
|      `(("ghc-quickcheck" ,ghc-quickcheck) | ||||
|  | @ -611,7 +664,7 @@ runs Hspec tests.") | |||
| (define-public ghc-hspec-core | ||||
|   (package | ||||
|     (name "ghc-hspec-core") | ||||
|     (version "2.5.5") | ||||
|     (version "2.7.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -619,19 +672,19 @@ runs Hspec tests.") | |||
|                            "hspec-core-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1vfrqlpn32s9wiykmkxbnrnd5p56yznw20pf8fwzw78ar4wpz55x")))) | ||||
|          "08vk8588lap00hsln8zl64dazbb28lzk4b4h5vnm7xvhg7r21k1c")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing. | ||||
|     (inputs | ||||
|      `(("ghc-setenv" ,ghc-setenv) | ||||
|        ("ghc-ansi-terminal" ,ghc-ansi-terminal) | ||||
|        ("ghc-async" ,ghc-async) | ||||
|        ("ghc-clock" ,ghc-clock) | ||||
|        ("ghc-quickcheck-io" ,ghc-quickcheck-io) | ||||
|        ("ghc-hunit" ,ghc-hunit) | ||||
|        ("ghc-quickcheck" ,ghc-quickcheck) | ||||
|        ("ghc-hspec-expectations" ,ghc-hspec-expectations) | ||||
|        ("ghc-silently" ,ghc-silently))) | ||||
|        ("ghc-silently" ,ghc-silently) | ||||
|        ("ghc-tf-random" ,ghc-tf-random))) | ||||
|     (home-page "https://hspec.github.io/") | ||||
|     (synopsis "Testing framework for Haskell") | ||||
|     (description "This library exposes internal types and functions that can | ||||
|  | @ -641,7 +694,7 @@ be used to extend Hspec's functionality.") | |||
| (define-public ghc-hspec-meta | ||||
|   (package | ||||
|     (name "ghc-hspec-meta") | ||||
|     (version "2.4.6") | ||||
|     (version "2.6.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -649,13 +702,13 @@ be used to extend Hspec's functionality.") | |||
|                            "hspec-meta-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0qmvk01n79j6skn79r6zalg2pd0x0nqqn9qn8mhg0pgyzcdnfc9b")))) | ||||
|          "1n1a4633wfivylglji8920f67mx7qz8j4q58n8p7dxk6yg4h3mz6")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-quickcheck" ,ghc-quickcheck) | ||||
|        ("ghc-hunit" ,ghc-hunit) | ||||
|        ("ghc-ansi-terminal" ,ghc-ansi-terminal) | ||||
|        ("ghc-async" ,ghc-async) | ||||
|        ("ghc-clock" ,ghc-clock) | ||||
|        ("ghc-hspec-expectations" ,ghc-hspec-expectations) | ||||
|        ("ghc-setenv" ,ghc-setenv) | ||||
|        ("ghc-random" ,ghc-random) | ||||
|  | @ -669,7 +722,7 @@ used to test the in-development version of Hspec.") | |||
| (define-public ghc-hspec | ||||
|   (package | ||||
|     (name "ghc-hspec") | ||||
|     (version "2.5.5") | ||||
|     (version "2.7.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -677,7 +730,7 @@ used to test the in-development version of Hspec.") | |||
|                            "hspec-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1yv4k5b5kkig2q3waj28587sq28wms7wfav5a3lq4dra6jybimfm")))) | ||||
|          "1x8rcr7j1azcaw0fg1xzp8j0gr4ias36z09aj24i4xp8pnyfp341")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-hspec-core" ,ghc-hspec-core) | ||||
|  | @ -696,7 +749,7 @@ Haskell, inspired by the Ruby library RSpec.") | |||
| (define-public ghc-hspec-contrib | ||||
|   (package | ||||
|     (name "ghc-hspec-contrib") | ||||
|     (version "0.5.0") | ||||
|     (version "0.5.1") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://hackage.haskell.org/package/" | ||||
|  | @ -704,7 +757,7 @@ Haskell, inspired by the Ruby library RSpec.") | |||
|                                   version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "13579xdqwbsy8k0vxdcvgy932d4p76mij1rzkzbpqbspfn7399yv")))) | ||||
|                 "0hhzxaa3fxz5mk5qcsrnfr98a7bn3szx2ydgr0x9mbqmm1jg06rc")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-hspec-core" ,ghc-hspec-core) | ||||
|  | @ -798,7 +851,7 @@ implementations of cryptographic ciphers.") | |||
| (define-public ghc-hedgehog | ||||
|   (package | ||||
|     (name "ghc-hedgehog") | ||||
|     (version "0.6.1") | ||||
|     (version "1.0.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -808,13 +861,14 @@ implementations of cryptographic ciphers.") | |||
|              ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0xz10ycdm5vk9nrcym1fi83k19frfwqz18bz8bnpzwvaj0j41yfj")))) | ||||
|          "1qc7hkqbnsk3f5r26wc35r3qiy941nmcxhfqgcq9027kw4gs0bi0")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-ansi-terminal" ,ghc-ansi-terminal) | ||||
|        ("ghc-async" ,ghc-async) | ||||
|        ("ghc-concurrent-output" ,ghc-concurrent-output) | ||||
|        ("ghc-exceptions" ,ghc-exceptions) | ||||
|        ("ghc-fail" ,ghc-fail) | ||||
|        ("ghc-lifted-async" ,ghc-lifted-async) | ||||
|        ("ghc-mmorph" ,ghc-mmorph) | ||||
|        ("ghc-monad-control" ,ghc-monad-control) | ||||
|  | @ -841,7 +895,7 @@ To get started quickly, see the examples: | |||
| (define-public cabal-doctest | ||||
|   (package | ||||
|     (name "cabal-doctest") | ||||
|     (version "1.0.6") | ||||
|     (version "1.0.8") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -850,11 +904,8 @@ To get started quickly, see the examples: | |||
|                            version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0bgd4jdmzxq5y465r4sf4jv2ix73yvblnr4c9wyazazafddamjny")))) | ||||
|          "03if74imlhhk7m56nci5f1wclniwqdmwl4hl177040j1gnlac9i0")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (arguments | ||||
|      `(#:cabal-revision | ||||
|        ("1" "1bk85avgc93yvcggwbk01fy8nvg6753wgmaanhkry0hz55h7mpld"))) | ||||
|     (home-page "https://github.com/phadej/cabal-doctest") | ||||
|     (synopsis "Setup.hs helper for running doctests") | ||||
|     (description | ||||
|  | @ -862,3 +913,53 @@ To get started quickly, see the examples: | |||
| configuration.  This library provides the common bits for writing custom | ||||
| @file{Setup.hs} files.") | ||||
|     (license license:bsd-3))) | ||||
| 
 | ||||
| (define-public ghc-testing-type-modifiers | ||||
|   (package | ||||
|     (name "ghc-testing-type-modifiers") | ||||
|     (version "0.1.0.1") | ||||
|     (source | ||||
|       (origin | ||||
|         (method url-fetch) | ||||
|         (uri (string-append "https://hackage.haskell.org/package/" | ||||
|                             "testing-type-modifiers/testing-type-modifiers-" | ||||
|                             version ".tar.gz")) | ||||
|         (sha256 | ||||
|           (base32 | ||||
|             "1wh2n95n39ivv6kbqn42vbzrj8zagsmk6f2al2qj40bg5kgdl2q5")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (home-page "https://hackage.haskell.org/package/testing-type-modifiers") | ||||
|     (synopsis "Data type modifiers for property based testing") | ||||
|     (description "Property based testing libraries such as QuickCheck tend to | ||||
| include type modifiers.  Most of them are used to quantify over subsets of a | ||||
| type.  This library is intended to supply these modifiers to be used by | ||||
| testing libraries, in an effort to make properties more portable between | ||||
| testing frameworks.") | ||||
|     (license license:unlicense))) | ||||
| 
 | ||||
| (define-public ghc-testing-feat | ||||
|   (package | ||||
|     (name "ghc-testing-feat") | ||||
|     (version "1.1.0.0") | ||||
|     (source | ||||
|       (origin | ||||
|         (method url-fetch) | ||||
|         (uri (string-append "https://hackage.haskell.org/package/" | ||||
|                             "testing-feat/testing-feat-" version ".tar.gz")) | ||||
|         (sha256 | ||||
|           (base32 | ||||
|             "1v2qzzpf1s008g7q6q67glf7vbm1pkpq4rc3ii74f4g6vhfx610r")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|       `(("ghc-quickcheck" ,ghc-quickcheck) | ||||
|         ("ghc-size-based" ,ghc-size-based) | ||||
|         ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers) | ||||
|         ("ghc-semigroups" ,ghc-semigroups))) | ||||
|     (home-page "https://github.com/JonasDuregard/testing-feat") | ||||
|     (synopsis "Functional Enumeration of Algebraic Types") | ||||
|     (description "Feat (Functional Enumeration of Algebraic Types) | ||||
| provides enumerations as functions from natural numbers to | ||||
| values (similar to @code{toEnum} but for any algebraic data type).  This | ||||
| can be used for SmallCheck-style systematic testing, QuickCheck-style | ||||
| random testing, and hybrids of the two.") | ||||
|     (license license:bsd-3))) | ||||
|  |  | |||
|  | @ -36,7 +36,7 @@ | |||
| (define-public ghc-asn1-types | ||||
|   (package | ||||
|     (name "ghc-asn1-types") | ||||
|     (version "0.3.2") | ||||
|     (version "0.3.3") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://hackage.haskell.org/package/" | ||||
|  | @ -44,7 +44,7 @@ | |||
|                                   version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "05vjchyqiy9n275cygffhn0ma7fz7jx52j0dcdm9qm8h9bziymqc")))) | ||||
|                 "162lacdl9jr42pdhaj9hxqlba6hjxm6g866anna74q6v3cvw5ssp")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-memory" ,ghc-memory) | ||||
|  | @ -59,7 +59,7 @@ format.") | |||
| (define-public ghc-asn1-encoding | ||||
|   (package | ||||
|     (name "ghc-asn1-encoding") | ||||
|     (version "0.9.5") | ||||
|     (version "0.9.6") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://hackage.haskell.org/package/" | ||||
|  | @ -67,7 +67,7 @@ format.") | |||
|                                   version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0adgbamyq0mj1l1hdq4zyyllay714bac1wl0rih3fv1z6vykp1hy")))) | ||||
|                 "02nsr30h5yic1mk7znf0q4z3n560ip017n60hg7ya25rsfmxxy6r")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-hourglass" ,ghc-hourglass) | ||||
|  | @ -85,7 +85,7 @@ supports for high level forms of ASN1 (BER, and DER).") | |||
| (define-public ghc-asn1-parse | ||||
|   (package | ||||
|     (name "ghc-asn1-parse") | ||||
|     (version "0.9.4") | ||||
|     (version "0.9.5") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://hackage.haskell.org/package/" | ||||
|  | @ -93,7 +93,7 @@ supports for high level forms of ASN1 (BER, and DER).") | |||
|                                   version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "025prsihk5g6rdv9xlfmj0zpa0wa3qjzj5i4ilzvg7f6f3sji8y6")))) | ||||
|                 "17pk8y3nwv9b9i5j15qlmwi7fmq9ab2z4kfpjk2rvcrh9lsf27wg")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-asn1-types" ,ghc-asn1-types) | ||||
|  | @ -212,7 +212,7 @@ that hides the C implementation.") | |||
|     (build-system haskell-build-system) | ||||
|     (arguments | ||||
|      `(#:cabal-revision | ||||
|        ("2" "0vyb9cfvpfxpslxvvhd48gw37i9g8ry5x63xwxd9q7xfiqhs7p3a") | ||||
|        ("4" "0gzaibjkipijwj9m9l6wrhfk5s3kdvfbhdl7cl1373cjfs41v0m3") | ||||
|        #:tests? #f)) ; tests require old version of ghc-hunit (0.9) | ||||
|     (native-inputs `(("ghc-base16-bytestring" ,ghc-base16-bytestring) | ||||
|                      ("ghc-puremd5" ,ghc-puremd5) | ||||
|  | @ -240,7 +240,7 @@ that hides the C implementation.") | |||
|     (build-system haskell-build-system) | ||||
|     (arguments | ||||
|      `(#:cabal-revision | ||||
|        ("2" "0xas0nbq9bfdzlj6k565ibizv1cqvzfzsdj6q9pdiiwyxqblqc3m") | ||||
|        ("4" "0qb2wasfc4dpf6f9ahvhlv8njb3p3p9iwblg4032ssi95cg85718") | ||||
|        #:tests? #f)) ; tests require old version of ghc-hunit (0.9) | ||||
|     (native-inputs `(("ghc-base16-bytestring" ,ghc-base16-bytestring) | ||||
|                      ("ghc-sha" ,ghc-sha) | ||||
|  | @ -274,7 +274,7 @@ the C implementation.") | |||
|     (build-system haskell-build-system) | ||||
|     (arguments | ||||
|      `(#:cabal-revision | ||||
|        ("1" "19birnmwga1yh82l4jqc3fygqkqcf5y8dlldnxfswngkzc3rvwp3") | ||||
|        ("3" "1arhz4y792kx439s2zv9x291gvvl2zxcfx9sq0nxsjlz7c3hpyp1") | ||||
|        #:tests? #f)) ; tests require old version of ghc-hunit (0.9) | ||||
|     (inputs | ||||
|      `(("ghc-base16-bytestring" ,ghc-base16-bytestring))) | ||||
|  | @ -358,7 +358,7 @@ are implemented as FFI bindings to efficient code from zlib.") | |||
| (define-public ghc-entropy | ||||
|   (package | ||||
|     (name "ghc-entropy") | ||||
|     (version "0.4.1.4") | ||||
|     (version "0.4.1.5") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -366,7 +366,7 @@ are implemented as FFI bindings to efficient code from zlib.") | |||
|                            "entropy-" version "/" | ||||
|                            "entropy-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "1fgf47l9klwn1xssbcbq6by651vikd8hlfxhiwd5bqzxr1jnlgrf")))) | ||||
|         (base32 "0szf8hi1pi8g0kxnkcymh65gk1b0niyl1nnkckzdqyar87qal0jm")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (home-page "https://github.com/TomMD/entropy") | ||||
|     (synopsis "Provides platform independent entropy source for Haskell") | ||||
|  | @ -780,7 +780,7 @@ extensions.") | |||
| (define-public ghc-hsopenssl | ||||
|   (package | ||||
|     (name "ghc-hsopenssl") | ||||
|     (version "0.11.4.15") | ||||
|     (version "0.11.4.17") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -788,14 +788,11 @@ extensions.") | |||
|                            "HsOpenSSL/HsOpenSSL-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0idmak6d8mpbxphyq9hkxkmby2wnzhc1phywlgm0zw6q47pwxgff")))) | ||||
|          "0qivl9clmybfglwxqp2sq308rv4ia4rhwshcsc8b029bvpp0mpsi")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-network" ,ghc-network) | ||||
|        ("openssl" ,openssl))) | ||||
|     (arguments | ||||
|      `(#:cabal-revision | ||||
|        ("1" "0bkcw2pjfgv1bhgkrpncvwq9czfr7cr4ak14n0v8c2y33i33wk5z"))) | ||||
|     (home-page "https://github.com/vshabanov/HsOpenSSL") | ||||
|     (synopsis "Partial OpenSSL binding for Haskell") | ||||
|     (description "HsOpenSSL is an OpenSSL binding for Haskell.  It can | ||||
|  | @ -811,7 +808,7 @@ implementation of SSL.") | |||
| (define-public ghc-openssl-streams | ||||
|   (package | ||||
|     (name "ghc-openssl-streams") | ||||
|     (version "1.2.1.3") | ||||
|     (version "1.2.2.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -820,7 +817,7 @@ implementation of SSL.") | |||
|                            version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0pwghr7ygv59k572xsj1j97rilkbjz66qaiyj0ra2wfg6pl70wfw")))) | ||||
|          "0rplym6ayydkpr7x9mw3l13p0vzzfzzxw244d7sd3jcvaxpv0rmr")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-hsopenssl" ,ghc-hsopenssl) | ||||
|  | @ -830,9 +827,6 @@ implementation of SSL.") | |||
|      `(("ghc-hunit" ,ghc-hunit) | ||||
|        ("ghc-test-framework" ,ghc-test-framework) | ||||
|        ("ghc-test-framework-hunit" ,ghc-test-framework-hunit))) | ||||
|     (arguments | ||||
|      `(#:cabal-revision | ||||
|        ("2" "1004kgdryflpkp19dv4ikilhcn0xbfc5dsp6v3ib34580pcfj7wy"))) | ||||
|     (home-page "http://hackage.haskell.org/package/openssl-streams") | ||||
|     (synopsis "OpenSSL network support for io-streams") | ||||
|     (description "This library contains io-streams routines for secure | ||||
|  |  | |||
|  | @ -39,7 +39,7 @@ | |||
| (define-public ghc-tagsoup | ||||
|   (package | ||||
|     (name "ghc-tagsoup") | ||||
|     (version "0.14.6") | ||||
|     (version "0.14.8") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -47,7 +47,7 @@ | |||
|                            "tagsoup-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1yv3dbyb0i1yqm796jgc4jj5kxkla1sxb3b2klw5ks182kdx8kjb")))) | ||||
|          "1m9sx6gr9y9yxvkmcap8xsks8cnhznvma1mrfl39zljkv005azms")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (native-inputs | ||||
|      `(("ghc-quickcheck" ,ghc-quickcheck))) | ||||
|  | @ -95,7 +95,7 @@ for screen-scraping.") | |||
| (define-public ghc-httpd-shed | ||||
|   (package | ||||
|     (name "ghc-httpd-shed") | ||||
|     (version "0.4.0.3") | ||||
|     (version "0.4.1.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -103,10 +103,11 @@ for screen-scraping.") | |||
|                            "httpd-shed-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "064jy1mqhnf1hvq6s04wlhmp916rd522x58djb9qixv13vc8gzxh")))) | ||||
|          "19dgdimpzr7pxk7pqvyin6j87gmvnf0rm35gzhmna8qr835wy3sr")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-network-uri" ,ghc-network-uri) | ||||
|      `(("ghc-network-bsd" ,ghc-network-bsd) | ||||
|        ("ghc-network-uri" ,ghc-network-uri) | ||||
|        ("ghc-network" ,ghc-network))) | ||||
|     (home-page "https://hackage.haskell.org/package/httpd-shed") | ||||
|     (synopsis "Simple web-server with an interact style API") | ||||
|  | @ -146,7 +147,7 @@ both client and server code).") | |||
| (define-public ghc-http | ||||
|   (package | ||||
|     (name "ghc-http") | ||||
|     (version "4000.3.12") | ||||
|     (version "4000.3.14") | ||||
|     (outputs '("out" "doc")) | ||||
|     (source | ||||
|      (origin | ||||
|  | @ -155,7 +156,7 @@ both client and server code).") | |||
|                            "HTTP-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "140r6qy1ay25piv0z3hih11zhigyi08nkwc32097j43pjff6mzx3")))) | ||||
|          "0yv8mbjicpl7l2017c4dhm49117lblgwpy1llv368wci1vrxf0m6")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (native-inputs | ||||
|      `(("ghc-httpd-shed" ,ghc-httpd-shed) | ||||
|  | @ -185,7 +186,7 @@ responses coming back.") | |||
| (define-public ghc-http-client | ||||
|   (package | ||||
|     (name "ghc-http-client") | ||||
|     (version "0.5.13.1") | ||||
|     (version "0.6.4") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://hackage.haskell.org/package/" | ||||
|  | @ -193,7 +194,7 @@ responses coming back.") | |||
|                                   version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0szwbgvkkdz56lgi91armkagmb7nnfwbpp4j7cm9zhmffv3ba8g1")))) | ||||
|                 "1n9rnbp8lwkd4whi2anniywi4y1bn9kx6nzfigfvz28d7pn7i4in")))) | ||||
|     (build-system haskell-build-system) | ||||
|     ;; Tests require access to the web. | ||||
|     (arguments `(#:tests? #f)) | ||||
|  | @ -285,7 +286,7 @@ Date in Haskell.") | |||
| (define-public ghc-http2 | ||||
|   (package | ||||
|     (name "ghc-http2") | ||||
|     (version "1.6.3") | ||||
|     (version "1.6.5") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -294,14 +295,14 @@ Date in Haskell.") | |||
|                            "http2-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0hww0rfsv6lqx62qzycbcqy5q6rh9k09qkyjkdm5m1sp1z50wqk1")))) | ||||
|          "1vlmy8vnp6ml2n2pr11aa5fzigldsscgzmibrni64ykgfvpd3sqn")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-bytestring-builder" ,ghc-bytestring-builder) | ||||
|        ("ghc-case-insensitive" ,ghc-case-insensitive) | ||||
|      `(("ghc-case-insensitive" ,ghc-case-insensitive) | ||||
|        ("ghc-network-byte-order" ,ghc-network-byte-order) | ||||
|        ("ghc-aeson" ,ghc-aeson) | ||||
|        ("ghc-aeson-pretty" ,ghc-aeson-pretty) | ||||
|        ("ghc-hex" ,ghc-hex) | ||||
|        ("ghc-base16-bytestring" ,ghc-base16-bytestring) | ||||
|        ("ghc-unordered-containers" ,ghc-unordered-containers) | ||||
|        ("ghc-vector" ,ghc-vector) | ||||
|        ("ghc-word8" ,ghc-word8) | ||||
|  | @ -320,7 +321,7 @@ and HPACK.  Currently HTTP/2 16 framing and HPACK 10 is supported.") | |||
| (define-public ghc-http-conduit | ||||
|   (package | ||||
|     (name  "ghc-http-conduit") | ||||
|     (version "2.3.2") | ||||
|     (version "2.3.7.3") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -329,7 +330,7 @@ and HPACK.  Currently HTTP/2 16 framing and HPACK 10 is supported.") | |||
|                            version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1iay4hr0mj8brkxvgkv1liqa8irl9axfc3qhn8qsvcyq4n1l95km")))) | ||||
|          "00rshi1y0h8y4rvsnnad0bppxgpvp40sk7lw1kxmdwy8pi8xrvbs")))) | ||||
|     (build-system haskell-build-system) | ||||
|     ;; FIXME: `httpLbs TLS` in test-suite `test` fails with | ||||
|     ;; ConnectionFailure getProtocolByName: does not exist (no such protocol | ||||
|  | @ -379,7 +380,7 @@ which allow you to avoid direct usage of conduits.") | |||
| (define-public ghc-wai | ||||
|   (package | ||||
|     (name "ghc-wai") | ||||
|     (version "3.2.1.2") | ||||
|     (version "3.2.2.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -389,7 +390,7 @@ which allow you to avoid direct usage of conduits.") | |||
|              ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0jr3b2789wa4m6mxkz12ynz4lfsqmgbrcy0am8karyqr3x3528r8")))) | ||||
|          "058871axlq6r0gcqxbjw37w57df9xbv81dmz99b1zq59wf329xzy")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-bytestring-builder" ,ghc-bytestring-builder) | ||||
|  | @ -413,7 +414,7 @@ communication between web applications and web servers.") | |||
| (define-public ghc-wai-logger | ||||
|   (package | ||||
|     (name "ghc-wai-logger") | ||||
|     (version "2.3.2") | ||||
|     (version "2.3.5") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -423,7 +424,7 @@ communication between web applications and web servers.") | |||
|              ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0w5ldq4gplc16zzk5ikmbbjw79imaqvw8p6lylaw3hlsbn3zzm4d")))) | ||||
|          "05gbipyw0672irynsc3wqvvgzqixhmq69ay2mxh2phb734r8bcmm")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (arguments `(#:tests? #f)) ; FIXME: Tests cannot find libraries exported | ||||
|                                ; by propagated-inputs. | ||||
|  | @ -446,7 +447,7 @@ communication between web applications and web servers.") | |||
| (define-public ghc-wai-extra | ||||
|   (package | ||||
|     (name "ghc-wai-extra") | ||||
|     (version "3.0.24.2") | ||||
|     (version "3.0.28") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -456,13 +457,12 @@ communication between web applications and web servers.") | |||
|              ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "07gcgq59dki5drkjci9ka34xjsy3bqilbsx0lsc4905w9jlyfbci")))) | ||||
|          "0iky7k4kirngvk1p2nz19zgzffb5hppfaxdjan80v06ikc8w1wm7")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-ansi-terminal" ,ghc-ansi-terminal) | ||||
|        ("ghc-base64-bytestring" ,ghc-base64-bytestring) | ||||
|        ("ghc-cookie" ,ghc-cookie) | ||||
|        ("ghc-blaze-builder" ,ghc-blaze-builder) | ||||
|        ("ghc-network" ,ghc-network) | ||||
|        ("ghc-lifted-base" ,ghc-lifted-base) | ||||
|        ("ghc-streaming-commons" ,ghc-streaming-commons) | ||||
|  | @ -476,6 +476,7 @@ communication between web applications and web servers.") | |||
|        ("ghc-void" ,ghc-void) | ||||
|        ("ghc-wai" ,ghc-wai) | ||||
|        ("ghc-http-types" ,ghc-http-types) | ||||
|        ("ghc-http2" ,ghc-http2) | ||||
|        ("ghc-case-insensitive" ,ghc-case-insensitive) | ||||
|        ("ghc-data-default-class" ,ghc-data-default-class) | ||||
|        ("ghc-unix-compat" ,ghc-unix-compat) | ||||
|  | @ -519,7 +520,7 @@ Haskell's Web Application Interface (WAI).") | |||
| (define-public ghc-bsb-http-chunked | ||||
|   (package | ||||
|     (name "ghc-bsb-http-chunked") | ||||
|     (version "0.0.0.2") | ||||
|     (version "0.0.0.4") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -529,10 +530,21 @@ Haskell's Web Application Interface (WAI).") | |||
|              version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1x6m6xkrcw6jiaig1bb2wb5pqyw31x8xr9k9pxgq2g3ng44pbjr8")))) | ||||
|          "0z0f18yc6zlwh29c6175ivfcin325lvi4irpvv0n3cmq7vi0k0ql")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-bytestring-builder" ,ghc-bytestring-builder))) | ||||
|     (arguments | ||||
|      `(;; XXX: As of 0.0.4, one property test ("Identical output as Blaze") | ||||
|        ;; fails on i686-linux. | ||||
|        #:tests? ,(not (string-prefix? "i686" (or (%current-target-system) | ||||
|                                                  (%current-system)))))) | ||||
|     (native-inputs | ||||
|      `(("ghc-attoparsec" ,ghc-attoparsec) | ||||
|        ("ghc-blaze-builder" ,ghc-blaze-builder) | ||||
|        ("ghc-hedgehog" ,ghc-hedgehog) | ||||
|        ("ghc-tasty" ,ghc-tasty) | ||||
|        ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog) | ||||
|        ("ghc-tasty-hunit" ,ghc-tasty-hunit) | ||||
|        ("ghc-doctest" ,ghc-doctest))) | ||||
|     (home-page "http://github.com/sjakobi/bsb-http-chunked") | ||||
|     (synopsis "Chunked HTTP transfer encoding for bytestring builders") | ||||
|     (description "This Haskell library contains functions for encoding | ||||
|  | @ -543,7 +555,7 @@ transfers.") | |||
| (define-public ghc-warp | ||||
|   (package | ||||
|     (name "ghc-warp") | ||||
|     (version "3.2.27") | ||||
|     (version "3.2.28") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -551,7 +563,7 @@ transfers.") | |||
|                            "warp-" version "/" "warp-" version | ||||
|                            ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "0p2w88q0zd55ms20qylipbi0qzbf324i9r8b9qqxyds5yc1anq76")))) | ||||
|         (base32 "0w2w3aiccpb2f8zssqiszcxzqdysihqi5xply23lwif5arz4saw7")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-async" ,ghc-async) | ||||
|  | @ -563,6 +575,7 @@ transfers.") | |||
|        ("ghc-iproute" ,ghc-iproute) | ||||
|        ("ghc-network" ,ghc-network) | ||||
|        ("ghc-streaming-commons" ,ghc-streaming-commons) | ||||
|        ("ghc-time-manager" ,ghc-time-manager) | ||||
|        ("ghc-unix-compat" ,ghc-unix-compat) | ||||
|        ("ghc-vault" ,ghc-vault) | ||||
|        ("ghc-wai" ,ghc-wai) | ||||
|  | @ -589,7 +602,7 @@ based WAI (Web Application Interface in Haskell).") | |||
| (define-public ghc-tls-session-manager | ||||
|   (package | ||||
|   (name "ghc-tls-session-manager") | ||||
|   (version "0.0.0.2") | ||||
|   (version "0.0.3") | ||||
|   (source | ||||
|     (origin | ||||
|       (method url-fetch) | ||||
|  | @ -599,7 +612,7 @@ based WAI (Web Application Interface in Haskell).") | |||
|              version ".tar.gz")) | ||||
|       (sha256 | ||||
|         (base32 | ||||
|           "0rvmln545vghsx8zhxp44f0f6pzma8cylarmfhhysy55ipywr1n5")))) | ||||
|           "0k57flqp2b4bipafiyfipnqmdqv04ky39yr4s4s9sx577zz2j2yi")))) | ||||
|   (build-system haskell-build-system) | ||||
|   (inputs | ||||
|     `(("ghc-auto-update" ,ghc-auto-update) | ||||
|  | @ -615,7 +628,7 @@ limitation, automatic pruning, energy saving and replay resistance.") | |||
| (define-public ghc-warp-tls | ||||
|   (package | ||||
|     (name "ghc-warp-tls") | ||||
|     (version "3.2.4.3") | ||||
|     (version "3.2.8") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -624,7 +637,7 @@ limitation, automatic pruning, energy saving and replay resistance.") | |||
|                            "warp-tls-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "17gj295fr98l7mkz2gdz6kahdnmja0sql3kvy2zab6q168g53kc4")))) | ||||
|          "1z5jzl40x1gp249fk8h51gkw6m3hzxchm2bp3kbpqdgmw8r5im8y")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-cryptonite" ,ghc-cryptonite) | ||||
|  | @ -699,7 +712,7 @@ Haskell.") | |||
| (define-public ghc-mime-types | ||||
|   (package | ||||
|     (name "ghc-mime-types") | ||||
|     (version "0.1.0.8") | ||||
|     (version "0.1.0.9") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://hackage.haskell.org/package/" | ||||
|  | @ -707,7 +720,7 @@ Haskell.") | |||
|                                   version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "14ccl2842ya17zyj0bpc7vzklbyqvvydpbypn69h2fmhgji192x8")))) | ||||
|                 "1lkipa4v73z3l5lqs6sdhl898iq41kyxv2jb9agsajzgd58l6cha")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (home-page "https://github.com/yesodweb/wai") | ||||
|     (synopsis "Basic MIME type handling types and functions") | ||||
|  | @ -741,7 +754,7 @@ documents.") | |||
| (define-public ghc-blaze-html | ||||
|   (package | ||||
|     (name "ghc-blaze-html") | ||||
|     (version "0.9.1.1") | ||||
|     (version "0.9.1.2") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -750,7 +763,7 @@ documents.") | |||
|                            version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "06xv8fqhclfjj61z74cgggn4lmx1s7diakxg84mnkgfvk11983pa")))) | ||||
|          "0k1r1hddjgqighazcazxrx6xfhvy2gm8il8l82ainv3cai13yl30")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-blaze-builder" ,ghc-blaze-builder) | ||||
|  | @ -769,7 +782,7 @@ documents.") | |||
| (define-public ghc-aeson | ||||
|   (package | ||||
|     (name "ghc-aeson") | ||||
|     (version "1.3.1.1") | ||||
|     (version "1.4.5.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -779,7 +792,7 @@ documents.") | |||
|              ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1i1ig840fvsb1lnklcv32zsc0zscirc301lw1mpfxhc6h4pk0gw4")))) | ||||
|          "1jhabz1lbbv6yqxqiybifi86cb5xlsadrn368n5dd0wzzc7ja4iz")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing. | ||||
|     (inputs | ||||
|  | @ -815,7 +828,7 @@ naming: in Greek mythology, Aeson was the father of Jason.)") | |||
| (define-public ghc-aeson-pretty | ||||
|   (package | ||||
|     (name "ghc-aeson-pretty") | ||||
|     (version "0.8.7") | ||||
|     (version "0.8.8") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|  | @ -823,7 +836,7 @@ naming: in Greek mythology, Aeson was the father of Jason.)") | |||
|                     version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1m977gs0s9gf3lwzlbs5y7bl6ansc5pywmn2qjk09l5bwg2yrhf1")))) | ||||
|                 "09n7gs91y1fbw6gjszrd2na3isnvk3y5rsi90lzjrwywnqfadkl1")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-aeson" ,ghc-aeson) | ||||
|  | @ -1011,7 +1024,7 @@ avoid any issues with characters.") | |||
| (define-public ghc-yesod-core | ||||
|   (package | ||||
|     (name "ghc-yesod-core") | ||||
|     (version "1.6.6") | ||||
|     (version "1.6.16.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -1020,7 +1033,7 @@ avoid any issues with characters.") | |||
|                            "yesod-core-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0xahf6m5c7mkl74p0gimy4wb5w4s3lh92wwxmk517fbq666c92kb")))) | ||||
|          "0a0yv7wkwvb0n6iia532y9nzrirgnm09pjc8hpm0lx4ff609pgd2")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs `(("ghc-wai" ,ghc-wai) | ||||
|               ("ghc-extra" ,ghc-extra) | ||||
|  | @ -1080,7 +1093,7 @@ functions, widgets, etc.") | |||
| (define-public ghc-yesod-persistent | ||||
|   (package | ||||
|     (name "ghc-yesod-persistent") | ||||
|     (version "1.6.0") | ||||
|     (version "1.6.0.2") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -1089,7 +1102,7 @@ functions, widgets, etc.") | |||
|                            "yesod-persistent-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1gd59xf7b6v3cald58mzwnfbdzjr49cz60rm4wc5w9pvfx12pgj2")))) | ||||
|          "17adw0aaj29ia7ii3jka301442860b5wvfrms079q973gzahz5fd")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (arguments `(#:tests? #f)) ; FIXME: hspec-discover not available in PATH. | ||||
|     (inputs `(("ghc-yesod-core" ,ghc-yesod-core) | ||||
|  | @ -1112,7 +1125,7 @@ from Yesod.") | |||
| (define-public ghc-yesod-form | ||||
|     (package | ||||
|     (name "ghc-yesod-form") | ||||
|     (version "1.6.2") | ||||
|     (version "1.6.7") | ||||
|     (source | ||||
|       (origin | ||||
|         (method url-fetch) | ||||
|  | @ -1122,7 +1135,7 @@ from Yesod.") | |||
|                ".tar.gz")) | ||||
|         (sha256 | ||||
|           (base32 | ||||
|             "1p1x1hffvarplc82ykdk7rm6p5isqgqf78bvxzpfhncxs4kwx057")))) | ||||
|             "0mny71dyp6cp5akyp5wvmrhmip5rkqi8ibdn3lipvmajx9h58r5d")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|       `(("ghc-yesod-core" ,ghc-yesod-core) | ||||
|  | @ -1198,7 +1211,7 @@ whereas most of the core code lives in @code{ghc-yesod-core}.") | |||
| (define-public ghc-hxt-charproperties | ||||
|   (package | ||||
|     (name "ghc-hxt-charproperties") | ||||
|     (version "9.2.0.1") | ||||
|     (version "9.4.0.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -1207,7 +1220,7 @@ whereas most of the core code lives in @code{ghc-yesod-core}.") | |||
|                            version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1mml8wglvagqq891rchgli6r8rnkwrqhgsxfl6kb5403pzb18rp4")))) | ||||
|          "1bk88hj2pqlvcnyfncqyb9j7w9vvdxcq3cgr0w2l09c0abas23pm")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (home-page "https://github.com/UweSchmidt/hxt") | ||||
|     (synopsis "Character properties and classes for XML and Unicode") | ||||
|  | @ -1273,7 +1286,7 @@ derivations of regular expressions.") | |||
| (define-public ghc-hxt | ||||
|   (package | ||||
|     (name "ghc-hxt") | ||||
|     (version "9.3.1.16") | ||||
|     (version "9.3.1.18") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -1283,7 +1296,7 @@ derivations of regular expressions.") | |||
|              ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1qq3ykgn355rx242xjcbqqksgvwr6k2fdj5phw4iv28qqxff6m8d")))) | ||||
|          "0836k65px3w9c5h1h2bmzq5a7mp6ajxwvfg3pfr2kbxwkgc0j63j")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-hxt-charproperties" ,ghc-hxt-charproperties) | ||||
|  | @ -1364,7 +1377,7 @@ deal with the result.") | |||
| (define-public ghc-snap-core | ||||
|   (package | ||||
|     (name "ghc-snap-core") | ||||
|     (version "1.0.3.2") | ||||
|     (version "1.0.4.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -1372,7 +1385,7 @@ deal with the result.") | |||
|                            "snap-core/snap-core-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "136q7l4hd5yn5hb507q1ziqx124ma1lkzh5dx0n150p8dx3rhhsc")))) | ||||
|          "0dklxgrbqhnb6bc4ic358g4fyj11ywmjrkxxhqcjmci2hhpn00mr")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-old-locale" ,ghc-old-locale) | ||||
|  | @ -1400,9 +1413,6 @@ deal with the result.") | |||
|        ("ghc-test-framework-hunit" ,ghc-test-framework-hunit) | ||||
|        ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2) | ||||
|        ("ghc-zlib" ,ghc-zlib))) | ||||
|     (arguments | ||||
|      `(#:cabal-revision | ||||
|        ("3" "0wlhn33r7c9g7j23y006ddq9d87lkmianvvfrbl8jd8mvjvj2gfa"))) | ||||
|     (home-page "http://snapframework.com/") | ||||
|     (synopsis "Haskell Web Framework (core interfaces and types)") | ||||
|     (description "Snap is a simple and fast web development framework | ||||
|  | @ -1414,7 +1424,7 @@ contains the core definitions and types for the Snap framework.") | |||
| (define-public ghc-snap-server | ||||
|   (package | ||||
|     (name "ghc-snap-server") | ||||
|     (version "1.1.0.0") | ||||
|     (version "1.1.1.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -1422,7 +1432,7 @@ contains the core definitions and types for the Snap framework.") | |||
|                            "snap-server/snap-server-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0vvw9n8xs272qdlrf3dxhnva41zh3awi7pf022rrjj75lj8a77i4")))) | ||||
|          "0lw475wp0lnrbgc3jcfif3qjjc3pmrh2k74d8cgpnc1304g6a2s5")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (inputs | ||||
|      `(("ghc-attoparsec" ,ghc-attoparsec) | ||||
|  | @ -1453,7 +1463,7 @@ contains the core definitions and types for the Snap framework.") | |||
|        ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2))) | ||||
|     (arguments | ||||
|      `(#:cabal-revision | ||||
|        ("3" "0a9d3nqb5rvgm25nak68lp6yj9m6cwhbgdbg5l7ib5i2czcg7yjh"))) | ||||
|        ("1" "094b7ll47lxd4lvr6kd59jyw0vz686gw5cx16w758d6fli0cy3x3"))) | ||||
|     (home-page "http://snapframework.com/") | ||||
|     (synopsis "Web server for the Snap Framework") | ||||
|     (description "Snap is a simple and fast web development framework | ||||
|  |  | |||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							|  | @ -604,7 +604,7 @@ interactive environment for the functional language Haskell.") | |||
|                                 (file-pattern ".*\\.conf\\.d$") | ||||
|                                 (file-type 'directory)))))) | ||||
| 
 | ||||
| (define-public ghc-8 ghc-8.4) | ||||
| (define-public ghc-8 ghc-8.6) | ||||
| 
 | ||||
| (define-public ghc ghc-8) | ||||
| 
 | ||||
|  |  | |||
|  | @ -70,8 +70,8 @@ | |||
|        ("ghc-fsnotify" ,ghc-fsnotify) | ||||
|        ("ghc-ieee754" ,ghc-ieee754) | ||||
|        ("ghc-libffi" ,ghc-libffi) | ||||
|        ("ghc-megaparsec" ,ghc-megaparsec-7) | ||||
|        ("ghc-network" ,ghc-network-2.8) | ||||
|        ("ghc-megaparsec" ,ghc-megaparsec) | ||||
|        ("ghc-network" ,ghc-network) | ||||
|        ("ghc-optparse-applicative" ,ghc-optparse-applicative) | ||||
|        ("ghc-regex-tdfa" ,ghc-regex-tdfa) | ||||
|        ("ghc-safe" ,ghc-safe) | ||||
|  | @ -90,6 +90,11 @@ | |||
|              "-fFFI" "-fGMP") | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'update-constraints | ||||
|            (lambda _ | ||||
|              (substitute* "idris.cabal" | ||||
|                (("ansi-terminal < 0\\.9") "ansi-terminal < 0.10")) | ||||
|              #t)) | ||||
|          (add-before 'configure 'set-cc-command | ||||
|            (lambda _ | ||||
|              (setenv "CC" "gcc") | ||||
|  |  | |||
|  | @ -184,31 +184,31 @@ defconfig.  Return the appropriate make target if applicable, otherwise return | |||
| 
 | ||||
| (define deblob-scripts-5.3 | ||||
|   (linux-libre-deblob-scripts | ||||
|    "5.3.6" | ||||
|    "5.3.11" | ||||
|    (base32 "15n09zq38d69y1wl28s3nasf3377qp2yil5b887zpqrm00dif7i4") | ||||
|    (base32 "0nrimraf46nf6y1hwkg29fyl0a83wnj0mwq54ggxvffn9gk5h9pa"))) | ||||
|    (base32 "1xk3gzgnl9m29avka32zkggl36sdxyvps40hr12hjy42l1ysfshm"))) | ||||
| 
 | ||||
| (define deblob-scripts-4.19 | ||||
|   (linux-libre-deblob-scripts | ||||
|    "4.19.79" | ||||
|    "4.19.84" | ||||
|    (base32 "02zs405awaxydbapka4nz8h6lmnc0dahgczqsrs5s2bmzjyyqkcy") | ||||
|    (base32 "1fyacg28aym6virxyn7wk99qil2fjbks3iwm7p3hxy51pccn34za"))) | ||||
|    (base32 "1s89hmy4ihd65by2p1xxkxj476f6c9s5g9r9yvqncb50xlhilk50"))) | ||||
| 
 | ||||
| (define deblob-scripts-4.14 | ||||
|   (linux-libre-deblob-scripts | ||||
|    "4.14.149" | ||||
|    "4.14.154" | ||||
|    (base32 "091jk9jkn9jf39bxpc7395bhcb7p96nkg3a8047380ki06lnfxh6") | ||||
|    (base32 "0x9nd3hnyrm753cbgdqmy92mbnyw86w64g4hvyibnkpq5n7s3z9n"))) | ||||
|    (base32 "1pcsfzpcv3bs30iyhwpk1x64r0gyv7wi22spnq6avzj1ayva10kw"))) | ||||
| 
 | ||||
| (define deblob-scripts-4.9 | ||||
|   (linux-libre-deblob-scripts | ||||
|    "4.9.196" | ||||
|    "4.9.201" | ||||
|    (base32 "1wvldzlv7q2xdbadas87dh593nxr4a8p5n0f8zpm72lja6w18hmg") | ||||
|    (base32 "0is8gn4qdd7h5l6lacvhqdch26lmrbgxfm8ab7fx8n85ha7y358w"))) | ||||
| 
 | ||||
| (define deblob-scripts-4.4 | ||||
|   (linux-libre-deblob-scripts | ||||
|    "4.4.196" | ||||
|    "4.4.201" | ||||
|    (base32 "0x2j1i88am54ih2mk7gyl79g25l9zz4r08xhl482l3fvjj2irwbw") | ||||
|    (base32 "12ac4g3ky8yma8sylmxvvysqvd4hnaqjiwmxrxb6wlxggfd7zkbx"))) | ||||
| 
 | ||||
|  | @ -352,42 +352,42 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." | |||
|                         "linux-" version ".tar.xz")) | ||||
|     (sha256 hash))) | ||||
| 
 | ||||
| (define-public linux-libre-5.3-version "5.3.11") | ||||
| (define-public linux-libre-5.3-version "5.3.12") | ||||
| (define-public linux-libre-5.3-pristine-source | ||||
|   (let ((version linux-libre-5.3-version) | ||||
|         (hash (base32 "1dxfh0l4inpjd17pyxfsskjsphs43r8lg6nhhr3y4whxdna5cwbf"))) | ||||
|         (hash (base32 "184pmjyqh4bkrc3vj65zn6xnljzv9d1x7c1z0hlgj6fakpwgdgsk"))) | ||||
|    (make-linux-libre-source version | ||||
|                             (%upstream-linux-source version hash) | ||||
|                             deblob-scripts-5.3))) | ||||
| 
 | ||||
| (define-public linux-libre-4.19-version "4.19.84") | ||||
| (define-public linux-libre-4.19-version "4.19.85") | ||||
| (define-public linux-libre-4.19-pristine-source | ||||
|   (let ((version linux-libre-4.19-version) | ||||
|         (hash (base32 "0q06mhz170x1lkx6c6qdh82rcnsj03q6f2m28aqhmc4wc694m2w6"))) | ||||
|         (hash (base32 "1dsgbys73jga5h0a9icgif6qbi31g84315zlcdid9bzf1abkbx3v"))) | ||||
|     (make-linux-libre-source version | ||||
|                              (%upstream-linux-source version hash) | ||||
|                              deblob-scripts-4.19))) | ||||
| 
 | ||||
| (define-public linux-libre-4.14-version "4.14.154") | ||||
| (define-public linux-libre-4.14-version "4.14.155") | ||||
| (define-public linux-libre-4.14-pristine-source | ||||
|   (let ((version linux-libre-4.14-version) | ||||
|         (hash (base32 "00q662s8mgnzqfgk5gkzqfv9ws3vryf28blbq1zxcy4s6wj4mpl6"))) | ||||
|         (hash (base32 "10g4493ldc398qza304z5yz8qdp93w7a2bs5h5dwk0bbamwikmkp"))) | ||||
|     (make-linux-libre-source version | ||||
|                              (%upstream-linux-source version hash) | ||||
|                              deblob-scripts-4.14))) | ||||
| 
 | ||||
| (define-public linux-libre-4.9-version "4.9.201") | ||||
| (define-public linux-libre-4.9-version "4.9.202") | ||||
| (define-public linux-libre-4.9-pristine-source | ||||
|   (let ((version linux-libre-4.9-version) | ||||
|         (hash (base32 "125xmh5h1zmfniidpjljny53qkl4phpxaali69i66lajscxx8grq"))) | ||||
|         (hash (base32 "1gsfbvsswpwj6r56ynb6mmx7dc8hp9yhi7sfr0hhii0gs4ffq241"))) | ||||
|     (make-linux-libre-source version | ||||
|                              (%upstream-linux-source version hash) | ||||
|                              deblob-scripts-4.9))) | ||||
| 
 | ||||
| (define-public linux-libre-4.4-version "4.4.201") | ||||
| (define-public linux-libre-4.4-version "4.4.202") | ||||
| (define-public linux-libre-4.4-pristine-source | ||||
|   (let ((version linux-libre-4.4-version) | ||||
|         (hash (base32 "120kci4kmc48zcw16lhxmh71kaxm9ac5qxik36q3a20czg28b2m7"))) | ||||
|         (hash (base32 "0adrmps7izfqy0yn4440isxvigslwzk1a375r9kh86idwbmcxb7x"))) | ||||
|     (make-linux-libre-source version | ||||
|                              (%upstream-linux-source version hash) | ||||
|                              deblob-scripts-4.4))) | ||||
|  | @ -679,23 +679,26 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." | |||
|              #t)) | ||||
|          (replace 'configure | ||||
|            (lambda* (#:key inputs native-inputs target #:allow-other-keys) | ||||
|              ;; Unset CROSS_CPATH to make sure that cross-libc is not | ||||
|              ;; found. Otherwise, some of its header would conflict with the | ||||
|              ;; one from linux (stdint.h and linux/types.h) | ||||
|              ,@(if (%current-target-system) | ||||
|                    '((unsetenv "CROSS_CPATH")) | ||||
|                    '()) | ||||
| 
 | ||||
|              ;; On AArch64 (at least), we need to remove glibc headers from CPATH | ||||
|              ;; (they are still available as "system headers"), so that the kernel | ||||
|              ;; can override uint64_t.  See <https://bugs.gnu.org/37593>. | ||||
|              (setenv "CPATH" | ||||
|                      (string-join | ||||
|                       (remove (cut string-prefix? (assoc-ref inputs "libc") <>) | ||||
|                               (string-split (getenv "CPATH") #\:)) | ||||
|                       ":")) | ||||
|              (format #t "environment variable `CPATH' changed to `~a'~%" | ||||
|                      (getenv "CPATH")) | ||||
|              ;; On AArch64 (at least), we need to remove glibc headers from | ||||
|              ;; CPATH (they are still available as "system headers"), so that | ||||
|              ;; the kernel can override uint64_t.  See | ||||
|              ;; <https://bugs.gnu.org/37593>. This is also true when | ||||
|              ;; cross-compiling, except in that case, cross-libc must be | ||||
|              ;; removed from CROSS_CPATH. | ||||
|              (let ((var ,(if (%current-target-system) | ||||
|                              "CROSS_CPATH" | ||||
|                              "CPATH")) | ||||
|                    (libc ,(if (%current-target-system) | ||||
|                               "cross-libc" | ||||
|                               "libc"))) | ||||
|                (setenv var | ||||
|                        (string-join | ||||
|                         (remove | ||||
|                          (cut string-prefix? (assoc-ref inputs libc) <>) | ||||
|                          (string-split (getenv var) #\:)) | ||||
|                         ":")) | ||||
|                (format #t "environment variable `~a' changed to `~a'~%" | ||||
|                        var (getenv var))) | ||||
| 
 | ||||
|              ;; Avoid introducing timestamps | ||||
|              (setenv "KCONFIG_NOTIMESTAMP" "1") | ||||
|  | @ -4783,7 +4786,7 @@ of flash storage.") | |||
| (define-public libseccomp | ||||
|   (package | ||||
|     (name "libseccomp") | ||||
|     (version "2.4.1") | ||||
|     (version "2.4.2") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://github.com/seccomp/libseccomp/" | ||||
|  | @ -4791,7 +4794,7 @@ of flash storage.") | |||
|                                   "/libseccomp-" version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1s06h2cgk0xxwmhwj72z33bllafc1xqnxzk2yyra2rmg959778qw")))) | ||||
|                 "0nsq81acrbkdr8zairxbwa33bj2a6126npp76b4srjl472sjfkxm")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|      `(("which" ,which))) | ||||
|  |  | |||
|  | @ -11,6 +11,8 @@ | |||
| ;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de> | ||||
| ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> | ||||
| ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com> | ||||
| ;;; Copyright © 2019 Arm Ltd <David.Truby@arm.com> | ||||
| ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -37,7 +39,9 @@ | |||
|   #:use-module (guix build-system cmake) | ||||
|   #:use-module (guix build-system emacs) | ||||
|   #:use-module (guix build-system python) | ||||
|   #:use-module (guix build-system trivial) | ||||
|   #:use-module (gnu packages) | ||||
|   #:use-module (gnu packages base) | ||||
|   #:use-module (gnu packages gcc) | ||||
|   #:use-module (gnu packages bootstrap)           ;glibc-dynamic-linker | ||||
|   #:use-module (gnu packages compression) | ||||
|  | @ -202,6 +206,7 @@ compiler.  In LLVM this library is called \"compiler-rt\".") | |||
|                    (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))))) | ||||
|  | @ -218,6 +223,12 @@ compiler.  In LLVM this library is called \"compiler-rt\".") | |||
|                             (("(^[[: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@") | ||||
|  | @ -290,6 +301,51 @@ project includes the Clang front end, the Clang static analyzer, and several | |||
| code analysis tools.") | ||||
|     (license license:ncsa))) | ||||
| 
 | ||||
| (define (make-clang-toolchain clang) | ||||
|   (package | ||||
|     (name (string-append (package-name clang) "-toolchain")) | ||||
|     (version (package-version clang)) | ||||
|     (source #f) | ||||
|     (build-system trivial-build-system) | ||||
|     (arguments | ||||
|      '(#:modules ((guix build union)) | ||||
|        #:builder (begin | ||||
|                    (use-modules (ice-9 match) | ||||
|                                 (srfi srfi-26) | ||||
|                                 (guix build union)) | ||||
| 
 | ||||
|                    (let ((out (assoc-ref %outputs "out"))) | ||||
| 
 | ||||
|                      (match %build-inputs | ||||
|                        (((names . directories) ...) | ||||
|                         (union-build out directories))) | ||||
| 
 | ||||
|                      (union-build (assoc-ref %outputs "debug") | ||||
|                                   (list (assoc-ref %build-inputs | ||||
|                                                    "libc-debug"))) | ||||
|                      (union-build (assoc-ref %outputs "static") | ||||
|                                   (list (assoc-ref %build-inputs | ||||
|                                                    "libc-static"))) | ||||
|                      #t)))) | ||||
| 
 | ||||
|     (native-search-paths (package-native-search-paths clang)) | ||||
|     (search-paths (package-search-paths clang)) | ||||
| 
 | ||||
|     (license (package-license clang)) | ||||
|     (home-page "https://clang.llvm.org") | ||||
|     (synopsis "Complete Clang toolchain for C/C++ development") | ||||
|     (description "This package provides a complete Clang toolchain for C/C++ | ||||
| development to be installed in user profiles.  This includes Clang, as well as | ||||
| libc (headers and binaries, plus debugging symbols in the @code{debug} | ||||
| output), and Binutils.") | ||||
|     (outputs '("out" "debug" "static")) | ||||
|     (inputs `(("clang" ,clang) | ||||
|               ("ld-wrapper" ,(car (assoc-ref (%final-inputs) "ld-wrapper"))) | ||||
|               ("binutils" ,binutils) | ||||
|               ("libc" ,glibc) | ||||
|               ("libc-debug" ,glibc "debug") | ||||
|               ("libc-static" ,glibc "static"))))) | ||||
| 
 | ||||
| (define-public libcxx | ||||
|   (package | ||||
|     (name "libcxx") | ||||
|  | @ -399,6 +455,34 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") | |||
|                    "0svk1f70hvpwrjp6x5i9kqwrqwxnmcrw5s7f4cxyd100mdd12k08" | ||||
|                    #:patches '("clang-7.0-libc-search-path.patch"))) | ||||
| 
 | ||||
| (define-public clang-toolchain | ||||
|   (make-clang-toolchain clang)) | ||||
| 
 | ||||
| (define-public llvm-9 | ||||
|   (package | ||||
|     (inherit llvm) | ||||
|     (version "9.0.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://llvm.org/releases/" | ||||
|                                   version "/llvm-" version ".src.tar.xz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "117ymdz1by2nkfq1c2p9m4050dp848kbjbiv6nsfj8hzy9f5d86n")))) | ||||
|     (license license:asl2.0))) | ||||
| 
 | ||||
| (define-public clang-runtime-9 | ||||
|   (clang-runtime-from-llvm | ||||
|    llvm-9 | ||||
|    "03ni43lbkp63lr3p6sc94dphqmvnz5av5mml0xmk930xvnbcvr2n")) | ||||
| 
 | ||||
| (define-public clang-9 | ||||
|   (clang-from-llvm llvm-9 clang-runtime-9 | ||||
|                    "0426ma80i41qsgzm1qdz81mjskck426diygxi2k5vji2gkpixa3v")) | ||||
| 
 | ||||
| (define-public clang-toolchain-9 | ||||
|   (make-clang-toolchain clang-9)) | ||||
| 
 | ||||
| (define-public llvm-7 | ||||
|   (package | ||||
|     (inherit llvm) | ||||
|  | @ -421,6 +505,9 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") | |||
|                    "067lwggnbg0w1dfrps790r5l6k8n5zwhlsw7zb6zvmfpwpfn4nx4" | ||||
|                    #:patches '("clang-7.0-libc-search-path.patch"))) | ||||
| 
 | ||||
| (define-public clang-toolchain-7 | ||||
|   (make-clang-toolchain clang-7)) | ||||
| 
 | ||||
| (define-public llvm-6 | ||||
|   (package | ||||
|     (inherit llvm) | ||||
|  | @ -443,6 +530,9 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") | |||
|                    "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 | ||||
|  |  | |||
|  | @ -1,7 +1,7 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org> | ||||
| ;;; Copyright © 2015 David Thompson <davet@gnu.org> | ||||
| ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2017 ng0 <ng0@n0.is> | ||||
| ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; | ||||
|  | @ -40,13 +40,14 @@ | |||
|     (name "hoedown") | ||||
|     (version "3.0.7") | ||||
|     (source (origin | ||||
|              (method url-fetch) | ||||
|              (uri (string-append "https://github.com/hoedown/hoedown/archive/" | ||||
|                                  version ".tar.gz")) | ||||
|              (file-name (string-append name "-" version ".tar.gz")) | ||||
|              (method git-fetch) | ||||
|              (uri (git-reference | ||||
|                     (url "https://github.com/hoedown/hoedown.git") | ||||
|                     (commit version))) | ||||
|              (file-name (git-file-name name version)) | ||||
|              (sha256 | ||||
|               (base32 | ||||
|                "0859dc2xjasd6kgkshi8mb20kbyw5sql1ln0hw3bfaf33qdh5dh1")))) | ||||
|                "1kr3hxjg2dgmwy9738qgj3sh3f5cygx0zxskkfhrg7x19bq9yd26")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      '(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output)) | ||||
|  | @ -195,15 +196,16 @@ implementation. | |||
| (define-public cmark | ||||
|   (package | ||||
|     (name "cmark") | ||||
|     (version "0.28.3") | ||||
|     (version "0.29.0") | ||||
|     (source (origin | ||||
|              (method url-fetch) | ||||
|              (uri (string-append "https://github.com/jgm/cmark/archive/" | ||||
|                                  version ".tar.gz")) | ||||
|              (file-name (string-append name "-" version ".tar.gz")) | ||||
|              (method git-fetch) | ||||
|              (uri (git-reference | ||||
|                     (url "https://github.com/jgm/cmark.git") | ||||
|                     (commit version))) | ||||
|              (file-name (git-file-name name version)) | ||||
|              (sha256 | ||||
|               (base32 | ||||
|                "1z71pacl3ni1286c206pl8lazbcd32ackivsg3zibdf1sf2qdjdc")))) | ||||
|                "0r7jpqhgnssq444i8pwji2g36058vfzwkl70wbiwj13h4w5rfc8f")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      '(#:test-target "test")) | ||||
|  |  | |||
|  | @ -32,6 +32,7 @@ | |||
| ;;; Copyright © 2018 Amin Bandali <bandali@gnu.org> | ||||
| ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr> | ||||
| ;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com> | ||||
| ;;; Copyright © 2019 Robert Smith <robertsmith@posteo.net> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -5227,3 +5228,42 @@ fields of knowledge.") | |||
|     (home-page "http://speedcrunch.org/") | ||||
|     (license license:gpl2+))) | ||||
| 
 | ||||
| (define-public minisat | ||||
|   ;; This is the last commit which is available upstream, no | ||||
|   ;; release happened since 2010. | ||||
|   (let ((commit "37dc6c67e2af26379d88ce349eb9c4c6160e8543") | ||||
|         (revision "1")) | ||||
|     (package | ||||
|       (name "minisat") | ||||
|       (version (string-append "2.2.0-" revision "." (string-take commit 7))) | ||||
|       (source | ||||
|        (origin | ||||
|          (method git-fetch) | ||||
|          (uri (git-reference | ||||
|                (url "https://github.com/niklasso/minisat.git") | ||||
|                (commit commit))) | ||||
|          (file-name (string-append name "-" version "-checkout")) | ||||
|          (sha256 | ||||
|           (base32 | ||||
|            "091hf3qkm197s5r7xcr3m07xsdwyz2rqk1hc9kj0hn13imz09irq")) | ||||
|          (patches | ||||
|           (search-patches "minisat-friend-declaration.patch" | ||||
|                           "minisat-install.patch")))) | ||||
|       (build-system gnu-build-system) | ||||
|       (arguments | ||||
|        '(#:make-flags (list (string-append "prefix=" %output)) | ||||
|          #:tests? #f ;no check target | ||||
|          #:phases | ||||
|          (modify-phases %standard-phases | ||||
|            (delete 'configure)))) | ||||
|       (inputs | ||||
|        `(("zlib:static" ,zlib "static") | ||||
|          ("zlib" ,zlib))) | ||||
|       (synopsis | ||||
|        "Small, yet efficient, SAT solver") | ||||
|       (description | ||||
|        "MiniSat is a minimalistic, open-source SAT solver, developed to help | ||||
| researchers and developers alike to get started on SAT.") | ||||
|       (home-page | ||||
|        "http://minisat.se/MiniSat.html") | ||||
|       (license license:expat)))) | ||||
|  |  | |||
|  | @ -263,7 +263,8 @@ access to servers running the Discord protocol.") | |||
|                                   version ".tar.xz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "064nq151nzsljv97dmkifyl162d2738vbgvm1phx7yv04pjvk4kp")))) | ||||
|                 "064nq151nzsljv97dmkifyl162d2738vbgvm1phx7yv04pjvk4kp")) | ||||
|               (patches (search-patches "hexchat-crash-exit.patch")))) | ||||
|     (build-system meson-build-system) | ||||
|     (native-inputs `(("gettext" ,gettext-minimal) | ||||
|                      ("perl" ,perl) | ||||
|  |  | |||
|  | @ -52,7 +52,7 @@ | |||
|   #:use-module (srfi srfi-1) | ||||
|   #:use-module (ice-9 match)) | ||||
| 
 | ||||
| (define-public hwloc | ||||
| (define-public hwloc-1 | ||||
|   ;; Note: For now we keep 1.x as the default because many packages have yet | ||||
|   ;; to migrate to 2.0. | ||||
|   (package | ||||
|  | @ -134,7 +134,7 @@ bind processes, and much more.") | |||
| (define-public hwloc-2 | ||||
|   ;; Note: 2.0 isn't the default yet, see above. | ||||
|   (package | ||||
|     (inherit hwloc) | ||||
|     (inherit hwloc-1) | ||||
|     (version "2.1.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|  | @ -146,9 +146,9 @@ bind processes, and much more.") | |||
|                 "0qh8s7pphz0m5cwb7liqmc17xzfs23xhz5wn24r6ikvjyx99fhhr")))) | ||||
| 
 | ||||
|     ;; libnuma is no longer needed. | ||||
|     (inputs (alist-delete "numactl" (package-inputs hwloc))) | ||||
|     (inputs (alist-delete "numactl" (package-inputs hwloc-1))) | ||||
|     (arguments | ||||
|      (substitute-keyword-arguments (package-arguments hwloc) | ||||
|      (substitute-keyword-arguments (package-arguments hwloc-1) | ||||
|        ((#:phases phases) | ||||
|         `(modify-phases ,phases | ||||
|            (replace 'skip-linux-libnuma-test | ||||
|  | @ -163,6 +163,10 @@ bind processes, and much more.") | |||
| (define-deprecated hwloc-2.0 'hwloc-2 | ||||
|   hwloc-2) | ||||
| 
 | ||||
| (define-public hwloc | ||||
|   ;; The latest stable series of hwloc. | ||||
|   hwloc-2) | ||||
| 
 | ||||
| (define-public openmpi | ||||
|   (package | ||||
|     (name "openmpi") | ||||
|  | @ -192,7 +196,7 @@ bind processes, and much more.") | |||
|              `(("psm2" ,psm2)) | ||||
|              '()) | ||||
|        ,@(if (and (not (%current-target-system)) | ||||
|                   (member (%current-system) (package-supported-systems psm2))) | ||||
|                   (member (%current-system) (package-supported-systems ucx))) | ||||
|              `(("ucx" ,ucx)) | ||||
|              '()) | ||||
|        ("rdma-core" ,rdma-core) | ||||
|  | @ -210,12 +214,6 @@ bind processes, and much more.") | |||
|                            "--with-hwloc=external" | ||||
|                            "--with-libevent" | ||||
| 
 | ||||
|                            ;; Make sure ./configure fails if one of these is | ||||
|                            ;; missing. | ||||
|                            "--with-ucx" | ||||
|                            "--with-psm" | ||||
|                            "--with-psm2" | ||||
| 
 | ||||
|                            ;; InfiniBand support | ||||
|                            "--enable-openib-control-hdr-padding" | ||||
|                            "--enable-openib-dynamic-sl" | ||||
|  | @ -348,6 +346,15 @@ only provides @code{MPI_THREAD_FUNNELED}."))) | |||
|      ;; Allow oversubscription in case there are less physical cores available | ||||
|      ;; in the build environment than the package wants while testing. | ||||
|      (setenv "OMPI_MCA_rmaps_base_mapping_policy" "core:OVERSUBSCRIBE") | ||||
| 
 | ||||
|      ;; UCX sometimes outputs uninteresting warnings such as: | ||||
|      ;; | ||||
|      ;;   mpool.c:38   UCX  WARN  object 0x7ffff44fffc0 was not returned to mpool ucp_am_bufs | ||||
|      ;; | ||||
|      ;; These in turn leads to failures of test suites that capture and | ||||
|      ;; compare stdout, such as that of 'hdf5-parallel-openmpi'.  Thus, tell | ||||
|      ;; UCX to not emit those warnings. | ||||
|      (setenv "UCX_LOG_LEVEL" "error") | ||||
|      #t)) | ||||
| 
 | ||||
| (define-public intel-mpi-benchmarks | ||||
|  |  | |||
|  | @ -3804,7 +3804,7 @@ audio samples and various soft sythesizers.  It can receive input from a MIDI ke | |||
| (define-public musescore | ||||
|   (package | ||||
|     (name "musescore") | ||||
|     (version "3.3") | ||||
|     (version "3.3.2") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|  | @ -3813,7 +3813,7 @@ audio samples and various soft sythesizers.  It can receive input from a MIDI ke | |||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "15ckjwvp3xigjkzmp1ddzvlm4d0vlk9i1axyfxg3hr2sia84yxvi")) | ||||
|                 "0r2xhhwv09v8ykgvh38fgpmpcmkra7lvhv7714xp7vb0wpcnh8l3")) | ||||
|               (modules '((guix build utils))) | ||||
|               (snippet | ||||
|                ;; Un-bundle OpenSSL and remove unused libraries. | ||||
|  |  | |||
|  | @ -32,6 +32,7 @@ | |||
|   #:use-module (guix build-system gnu) | ||||
|   #:use-module (guix build-system python) | ||||
|   #:use-module ((guix licenses) #:prefix license:) | ||||
|   #:use-module ((guix utils) #:select (target-64bit?)) | ||||
|   #:use-module (guix packages) | ||||
|   #:use-module (gnu packages) | ||||
|   #:use-module (gnu packages admin) | ||||
|  | @ -158,7 +159,11 @@ and they are executed on lists of files, hosts, users or other items.") | |||
|             (string-append "--with-freeipmi=" (assoc-ref %build-inputs "freeipmi")) | ||||
|             (string-append "--with-hwloc=" (assoc-ref %build-inputs "hwloc")) | ||||
|             (string-append "--with-json=" (assoc-ref %build-inputs "json-c")) | ||||
|             (string-append "--with-munge=" (assoc-ref %build-inputs "munge"))) | ||||
|             (string-append "--with-munge=" (assoc-ref %build-inputs "munge")) | ||||
| 
 | ||||
|             ;; 32-bit support is marked as deprecated and needs to be | ||||
|             ;; explicitly enabled. | ||||
|             ,@(if (target-64bit?) '() '("--enable-deprecated"))) | ||||
|       #:phases | ||||
|       (modify-phases %standard-phases | ||||
|         (add-after 'unpack 'autoconf | ||||
|  |  | |||
|  | @ -114,7 +114,7 @@ human.") | |||
| (define-public keepassxc | ||||
|   (package | ||||
|     (name "keepassxc") | ||||
|     (version "2.5.0") | ||||
|     (version "2.5.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -123,7 +123,7 @@ human.") | |||
|                            version "-src.tar.xz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "10bq2934xqpjpr99wbjg2vwmi73fcq0419cb3v78n2kj5fbwwnb3")))) | ||||
|          "0c5g5hn2cr2m00xgpxg884ihy8gnn09kc487y1m9jywshn5jaczg")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      '(#:configure-flags '("-DWITH_XC_ALL=YES" | ||||
|  |  | |||
|  | @ -1,19 +0,0 @@ | |||
| commit 4c649a5a270aba15cc6a3913c3ad51a293047f40 | ||||
| Author: Rémi Lefèvre <rlefevre@gmail.com> | ||||
| Date:   Mon Sep 3 19:18:54 2018 +0200 | ||||
| 
 | ||||
|     update language-glsl maximum version | ||||
| 
 | ||||
| diff --git a/elm.cabal b/elm.cabal
 | ||||
| index 48aa84f0..464fe9d5 100644
 | ||||
| --- a/elm.cabal
 | ||||
| +++ b/elm.cabal
 | ||||
| @@ -246,7 +246,7 @@ Executable elm
 | ||||
|          http-client >= 0.5 && < 0.6, | ||||
|          http-client-tls >= 0.3 && < 0.4, | ||||
|          http-types >= 0.9 && < 1.0, | ||||
| -        language-glsl >= 0.0.2 && < 0.3,
 | ||||
| +        language-glsl >= 0.0.2 && < 0.4,
 | ||||
|          logict, | ||||
|          mtl >= 2.2.1 && < 3, | ||||
|          network >= 2.4 && < 2.7, | ||||
							
								
								
									
										20
									
								
								gnu/packages/patches/ghc-diff-swap-cover-args.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								gnu/packages/patches/ghc-diff-swap-cover-args.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,20 @@ | |||
| The QuickCheck library swapped the order of the arguments of the 'cover' | ||||
| function in version 2.12.  Version 0.3.4 of the Diff library still uses | ||||
| the old argument order.  Swapping the argument order makes Diff work | ||||
| with newer versions of QuickCheck. | ||||
| 
 | ||||
| See <https://github.com/commercialhaskell/stackage/issues/4289> for the | ||||
| upstream bug report. | ||||
| 
 | ||||
| diff -ruN a/test/Test.hs b/test/Test.hs
 | ||||
| --- a/test/Test.hs	2016-04-23 01:21:45.000000000 -0400
 | ||||
| +++ b/test/Test.hs	2019-11-01 19:13:04.590770903 -0400
 | ||||
| @@ -134,7 +134,7 @@
 | ||||
|  prop_ppDiffR (DiffInput le ri) = | ||||
|      let haskDiff=ppDiff $ getGroupedDiff le ri | ||||
|          utilDiff= unsafePerformIO (runDiff (unlines le) (unlines ri)) | ||||
| -    in  cover (haskDiff == utilDiff) 90 "exact match" $
 | ||||
| +    in  cover 90 (haskDiff == utilDiff) "exact match" $
 | ||||
|                  classify (haskDiff == utilDiff) "exact match" | ||||
|                          (div ((length haskDiff)*100) (length utilDiff) < 110) -- less than 10% bigger | ||||
|      where | ||||
							
								
								
									
										54
									
								
								gnu/packages/patches/ghc-haddock-api-fix-haddock.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								gnu/packages/patches/ghc-haddock-api-fix-haddock.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,54 @@ | |||
| This patch is taken from upstream.  It fixes documentation generation. | ||||
| The patch has been lightly adapted to apply to the release tarball, but | ||||
| the commit message was left untouched, so it refers to some changes not | ||||
| included in the patch. | ||||
| 
 | ||||
| From 0d9a81e20238a6b72f9f5c005f1f7e9cf05f6fb9 Mon Sep 17 00:00:00 2001 | ||||
| From: Alec Theriault <alec.theriault@gmail.com> | ||||
| Date: Sat, 27 Oct 2018 10:05:04 -0700 | ||||
| Subject: [PATCH] Fix documentation in `haddock-api` (#957) | ||||
| 
 | ||||
| * Fix misplaced Haddocks in Haddock itself | ||||
| 
 | ||||
| Haddock should be able to generate documentation for 'haddock-api' | ||||
| again. | ||||
| 
 | ||||
| * Make CI check that documentation can be built. | ||||
| 
 | ||||
| * Add back a doc that is OK | ||||
| ---
 | ||||
|  .travis.yml                               |  3 +++ | ||||
|  haddock-api/src/Haddock/Backends/LaTeX.hs | 10 +++++----- | ||||
|  2 files changed, 8 insertions(+), 5 deletions(-) | ||||
| 
 | ||||
| diff --git a/src/Haddock/Backends/LaTeX.hs b/src/Haddock/Backends/LaTeX.hs
 | ||||
| index 4e0e6eba..613c6deb 100644
 | ||||
| --- a/src/Haddock/Backends/LaTeX.hs
 | ||||
| +++ b/src/Haddock/Backends/LaTeX.hs
 | ||||
| @@ -243,8 +243,8 @@ ppDocGroup lev doc = sec lev <> braces doc
 | ||||
|   | ||||
|  -- | Given a declaration, extract out the names being declared | ||||
|  declNames :: LHsDecl DocNameI | ||||
| -          -> ( LaTeX           -- ^ to print before each name in an export list
 | ||||
| -             , [DocName]       -- ^ names being declared
 | ||||
| +          -> ( LaTeX           --   to print before each name in an export list
 | ||||
| +             , [DocName]       --   names being declared
 | ||||
|               ) | ||||
|  declNames (L _ decl) = case decl of | ||||
|    TyClD _ d  -> (empty, [tcdName d]) | ||||
| @@ -444,9 +444,9 @@ ppLPatSig doc docnames ty unicode
 | ||||
|  -- arguments as needed. | ||||
|  ppTypeOrFunSig :: HsType DocNameI | ||||
|                 -> DocForDecl DocName  -- ^ documentation | ||||
| -               -> ( LaTeX             -- ^ first-line (no-argument docs only)
 | ||||
| -                  , LaTeX             -- ^ first-line (argument docs only)
 | ||||
| -                  , LaTeX             -- ^ type prefix (argument docs only)
 | ||||
| +               -> ( LaTeX             --   first-line (no-argument docs only)
 | ||||
| +                  , LaTeX             --   first-line (argument docs only)
 | ||||
| +                  , LaTeX             --   type prefix (argument docs only)
 | ||||
|                    ) | ||||
|                 -> Bool                -- ^ unicode | ||||
|                 -> LaTeX | ||||
| -- 
 | ||||
| 2.23.0 | ||||
| 
 | ||||
|  | @ -1,86 +0,0 @@ | |||
| This patch (inspired by Debian) allows ghc-haddock-library to use our | ||||
| ghc-attoparsec package instead of using a bundled version. | ||||
| 
 | ||||
| --- a/haddock-library.cabal	2018-09-01 01:22:18.676855884 -0400
 | ||||
| +++ b/haddock-library.cabal	2018-09-01 01:25:10.501150260 -0400
 | ||||
| @@ -10,7 +10,6 @@
 | ||||
|                        itself, see the ‘haddock’ package. | ||||
|  license:              BSD3 | ||||
|  license-files:        LICENSE | ||||
| -                      vendor/attoparsec-0.13.1.0/LICENSE
 | ||||
|  maintainer:           Alex Biehl <alexbiehl@gmail.com>, Simon Hengel <sol@typeful.net>, Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk> | ||||
|  homepage:             http://www.haskell.org/haddock/ | ||||
|  bug-reports:          https://github.com/haskell/haddock/issues | ||||
| @@ -28,7 +27,6 @@
 | ||||
|      , containers   >= 0.4.2.1 && < 0.6 | ||||
|      , transformers >= 0.3.0   && < 0.6 | ||||
|   | ||||
| -  -- internal sub-lib
 | ||||
|    build-depends:        attoparsec | ||||
|   | ||||
|    hs-source-dirs:       src | ||||
| @@ -49,42 +47,6 @@
 | ||||
|    if impl(ghc >= 8.0) | ||||
|      ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances | ||||
|   | ||||
| -library attoparsec
 | ||||
| -  default-language:     Haskell2010
 | ||||
| -
 | ||||
| -  build-depends:
 | ||||
| -      base         >= 4.5     && < 4.12
 | ||||
| -    , bytestring   >= 0.9.2.1 && < 0.11
 | ||||
| -    , deepseq      >= 1.3     && < 1.5
 | ||||
| -
 | ||||
| -  hs-source-dirs:       vendor/attoparsec-0.13.1.0
 | ||||
| -
 | ||||
| -  -- NB: haddock-library needs only small part of lib:attoparsec
 | ||||
| -  --     internally, so we only bundle that subset here
 | ||||
| -  exposed-modules:
 | ||||
| -    Data.Attoparsec.ByteString
 | ||||
| -    Data.Attoparsec.ByteString.Char8
 | ||||
| -    Data.Attoparsec.Combinator
 | ||||
| -
 | ||||
| -  other-modules:
 | ||||
| -    Data.Attoparsec
 | ||||
| -    Data.Attoparsec.ByteString.Buffer
 | ||||
| -    Data.Attoparsec.ByteString.FastSet
 | ||||
| -    Data.Attoparsec.ByteString.Internal
 | ||||
| -    Data.Attoparsec.Internal
 | ||||
| -    Data.Attoparsec.Internal.Fhthagn
 | ||||
| -    Data.Attoparsec.Internal.Types
 | ||||
| -    Data.Attoparsec.Number
 | ||||
| -
 | ||||
| -  ghc-options:          -funbox-strict-fields -Wall -fwarn-tabs -O2
 | ||||
| -
 | ||||
| -  ghc-options: -Wall
 | ||||
| -  if impl(ghc >= 8.0)
 | ||||
| -    ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances
 | ||||
| -  else
 | ||||
| -    build-depends: semigroups ^>= 0.18.3, fail ^>= 4.9.0.0
 | ||||
| -
 | ||||
| -
 | ||||
|  test-suite spec | ||||
|    type:             exitcode-stdio-1.0 | ||||
|    default-language: Haskell2010 | ||||
| @@ -115,11 +77,10 @@
 | ||||
|      , hspec         ^>= 2.4.4 | ||||
|      , QuickCheck    ^>= 2.11 | ||||
|   | ||||
| -  -- internal sub-lib
 | ||||
|    build-depends: attoparsec | ||||
|   | ||||
|    -- Versions for the dependencies below are transitively pinned by | ||||
| -  -- dependency on haddock-library:lib:attoparsec
 | ||||
| +  -- dependency on attoparsec
 | ||||
|    build-depends: | ||||
|        base | ||||
|      , bytestring | ||||
| @@ -146,7 +107,7 @@
 | ||||
|      haddock-library | ||||
|   | ||||
|    -- Versions for the dependencies below are transitively pinned by | ||||
| -  -- dependency on haddock-library:lib:attoparsec
 | ||||
| +  -- dependency on attoparsec
 | ||||
|    build-depends: | ||||
|        base | ||||
|   | ||||
							
								
								
									
										193
									
								
								gnu/packages/patches/ghc-hpack-fix-tests.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								gnu/packages/patches/ghc-hpack-fix-tests.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,193 @@ | |||
| This patch is taken and adapted from upstream.  It landed shortly after | ||||
| the release of 0.31.2, and fixes eleven tests.  The patch has been | ||||
| lightly adapted to apply to the release tarball, but the commit message | ||||
| was left untouched, so it refers to some changes not included in the | ||||
| patch. | ||||
| 
 | ||||
| From a8d9362d4b686074f698c04c20beea88587511a1 Mon Sep 17 00:00:00 2001 | ||||
| From: quasicomputational <quasicomputational@gmail.com> | ||||
| Date: Sat, 1 Jun 2019 15:11:31 +0100 | ||||
| Subject: [PATCH] Make CI green (#345) | ||||
| 
 | ||||
| * AppVeyor workaround for TMP issue | ||||
| 
 | ||||
| https://github.com/commercialhaskell/stack/issues/3944 | ||||
| 
 | ||||
| * Bump resolver to nightly-2018-12-12. | ||||
| 
 | ||||
| This has the primary benefit of moving to GHC 8.6.3 and should fix | ||||
| AppVeyor. | ||||
| 
 | ||||
| * Add clock 0.8 as an extra-dep. | ||||
| 
 | ||||
| * Adapt expected output to aeson 1.4.3.0. | ||||
| ---
 | ||||
|  appveyor.yml                            |  3 +++ | ||||
|  hpack.cabal                             | 10 +++++----- | ||||
|  package.yaml                            |  2 +- | ||||
|  stack.yaml                              |  5 +++-- | ||||
|  test/Data/Aeson/Config/FromValueSpec.hs |  2 +- | ||||
|  test/Data/Aeson/Config/TypesSpec.hs     |  2 +- | ||||
|  test/EndToEndSpec.hs                    |  8 ++++---- | ||||
|  test/Hpack/ConfigSpec.hs                |  2 +- | ||||
|  test/Hpack/Syntax/DefaultsSpec.hs       |  2 +- | ||||
|  test/Hpack/Syntax/DependenciesSpec.hs   |  4 ++-- | ||||
|  10 files changed, 22 insertions(+), 18 deletions(-) | ||||
| 
 | ||||
| diff --git a/hpack.cabal b/hpack.cabal
 | ||||
| index fedb9a8..4db3014 100644
 | ||||
| --- a/hpack.cabal
 | ||||
| +++ b/hpack.cabal
 | ||||
| @@ -1,10 +1,10 @@
 | ||||
|  cabal-version: 1.12 | ||||
|   | ||||
| --- This file has been generated from package.yaml by hpack version 0.31.0.
 | ||||
| +-- This file has been generated from package.yaml by hpack version 0.31.2.
 | ||||
|  -- | ||||
|  -- see: https://github.com/sol/hpack | ||||
|  -- | ||||
| --- hash: 3d060180293c32b8d0c25b710d0f419e96a6cc6ec3f95ac5e70bb77f44cbafc3
 | ||||
| +-- hash: bd5dd178c7e9f7f7a3456d79b592ea336c41ef43c9892354c001f06659e8b901
 | ||||
|   | ||||
|  name:           hpack | ||||
|  version:        0.31.2 | ||||
| @@ -31,7 +31,7 @@ library
 | ||||
|    build-depends: | ||||
|        Cabal >=2.2 | ||||
|      , Glob >=0.9.0 | ||||
| -    , aeson >=1.2.1.0
 | ||||
| +    , aeson >=1.4.3.0
 | ||||
|      , base >=4.9 && <5 | ||||
|      , bifunctors | ||||
|      , bytestring | ||||
| @@ -87,7 +87,7 @@ executable hpack
 | ||||
|    build-depends: | ||||
|        Cabal >=2.2 | ||||
|      , Glob >=0.9.0 | ||||
| -    , aeson >=1.2.1.0
 | ||||
| +    , aeson >=1.4.3.0
 | ||||
|      , base >=4.9 && <5 | ||||
|      , bifunctors | ||||
|      , bytestring | ||||
| @@ -125,7 +125,7 @@ test-suite spec
 | ||||
|      , Glob >=0.9.0 | ||||
|      , HUnit >=1.6.0.0 | ||||
|      , QuickCheck | ||||
| -    , aeson >=1.2.1.0
 | ||||
| +    , aeson >=1.4.3.0
 | ||||
|      , base >=4.9 && <5 | ||||
|      , bifunctors | ||||
|      , bytestring | ||||
| diff --git a/test/Data/Aeson/Config/FromValueSpec.hs b/test/Data/Aeson/Config/FromValueSpec.hs
 | ||||
| index 33de8b7..06b3eb9 100644
 | ||||
| --- a/test/Data/Aeson/Config/FromValueSpec.hs
 | ||||
| +++ b/test/Data/Aeson/Config/FromValueSpec.hs
 | ||||
| @@ -85,7 +85,7 @@ spec = do
 | ||||
|          [yaml| | ||||
|          name: "Joe" | ||||
|          age: "23" | ||||
| -        |] `shouldDecodeTo` left "Error while parsing $.age - expected Int, encountered String"
 | ||||
| +        |] `shouldDecodeTo` left "Error while parsing $.age - parsing Int failed, expected Number, but encountered String"
 | ||||
|   | ||||
|      context "with (,)" $ do | ||||
|        it "captures unrecognized fields" $ do | ||||
| diff --git a/test/Data/Aeson/Config/TypesSpec.hs b/test/Data/Aeson/Config/TypesSpec.hs
 | ||||
| index c954534..472aa42 100644
 | ||||
| --- a/test/Data/Aeson/Config/TypesSpec.hs
 | ||||
| +++ b/test/Data/Aeson/Config/TypesSpec.hs
 | ||||
| @@ -13,7 +13,7 @@ spec = do
 | ||||
|      context "List" $ do | ||||
|        let | ||||
|          parseError :: String -> Result (List Int) | ||||
| -        parseError prefix = Left (prefix ++ " - expected Int, encountered String")
 | ||||
| +        parseError prefix = Left (prefix ++ " - parsing Int failed, expected Number, but encountered String")
 | ||||
|   | ||||
|        context "when parsing single values" $ do | ||||
|          it "returns the value in a singleton list" $ do | ||||
| diff --git a/test/EndToEndSpec.hs b/test/EndToEndSpec.hs
 | ||||
| index 283c72c..46389ea 100644
 | ||||
| --- a/test/EndToEndSpec.hs
 | ||||
| +++ b/test/EndToEndSpec.hs
 | ||||
| @@ -285,7 +285,7 @@ spec = around_ (inTempDirectoryNamed "foo") $ do
 | ||||
|            path: defaults.yaml | ||||
|            ref: "2017" | ||||
|          library: {} | ||||
| -        |] `shouldFailWith` (file ++ ": Error while parsing $ - expected Object, encountered Array")
 | ||||
| +        |] `shouldFailWith` (file ++ ": Error while parsing $ - expected Object, but encountered Array")
 | ||||
|   | ||||
|        it "warns on unknown fields" $ do | ||||
|          let file = joinPath ["defaults", "sol", "hpack-template", "2017", "defaults.yaml"] | ||||
| @@ -340,7 +340,7 @@ spec = around_ (inTempDirectoryNamed "foo") $ do
 | ||||
|        it "rejects other values" $ do | ||||
|          [i| | ||||
|          version: {} | ||||
| -        |] `shouldFailWith` "package.yaml: Error while parsing $.version - expected Number or String, encountered Object"
 | ||||
| +        |] `shouldFailWith` "package.yaml: Error while parsing $.version - expected Number or String, but encountered Object"
 | ||||
|   | ||||
|      describe "license" $ do | ||||
|        it "accepts cabal-style licenses" $ do | ||||
| @@ -1363,14 +1363,14 @@ spec = around_ (inTempDirectoryNamed "foo") $ do
 | ||||
|              then: | ||||
|                dependencies: Win32 | ||||
|              else: null | ||||
| -          |] `shouldFailWith` "package.yaml: Error while parsing $.when.else - expected Object, encountered Null"
 | ||||
| +          |] `shouldFailWith` "package.yaml: Error while parsing $.when.else - expected Object, but encountered Null"
 | ||||
|   | ||||
|          it "rejects invalid conditionals" $ do | ||||
|            [i| | ||||
|              dependencies: | ||||
|                - foo | ||||
|                - 23 | ||||
| -          |] `shouldFailWith` "package.yaml: Error while parsing $.dependencies[1] - expected Object or String, encountered Number"
 | ||||
| +          |] `shouldFailWith` "package.yaml: Error while parsing $.dependencies[1] - expected Object or String, but encountered Number"
 | ||||
|   | ||||
|          it "warns on unknown fields" $ do | ||||
|            [i| | ||||
| diff --git a/test/Hpack/ConfigSpec.hs b/test/Hpack/ConfigSpec.hs
 | ||||
| index 9f4b279..69cbea1 100644
 | ||||
| --- a/test/Hpack/ConfigSpec.hs
 | ||||
| +++ b/test/Hpack/ConfigSpec.hs
 | ||||
| @@ -675,7 +675,7 @@ spec = do
 | ||||
|        it "rejects other values" $ do | ||||
|          [yaml| | ||||
|          23 | ||||
| -        |] `shouldDecodeTo` (Left "Error while parsing $ - expected Boolean or String, encountered Number" :: Result Cond)
 | ||||
| +        |] `shouldDecodeTo` (Left "Error while parsing $ - expected Boolean or String, but encountered Number" :: Result Cond)
 | ||||
|   | ||||
|    describe "formatOrList" $ do | ||||
|      it "formats a singleton list" $ do | ||||
| diff --git a/test/Hpack/Syntax/DefaultsSpec.hs b/test/Hpack/Syntax/DefaultsSpec.hs
 | ||||
| index 5875413..5438b7a 100644
 | ||||
| --- a/test/Hpack/Syntax/DefaultsSpec.hs
 | ||||
| +++ b/test/Hpack/Syntax/DefaultsSpec.hs
 | ||||
| @@ -151,4 +151,4 @@ spec = do
 | ||||
|          it "fails" $ do | ||||
|            [yaml| | ||||
|            10 | ||||
| -          |] `shouldDecodeTo` left "Error while parsing $ - expected Object or String, encountered Number"
 | ||||
| +          |] `shouldDecodeTo` left "Error while parsing $ - expected Object or String, but encountered Number"
 | ||||
| diff --git a/test/Hpack/Syntax/DependenciesSpec.hs b/test/Hpack/Syntax/DependenciesSpec.hs
 | ||||
| index 1a83732..d95044f 100644
 | ||||
| --- a/test/Hpack/Syntax/DependenciesSpec.hs
 | ||||
| +++ b/test/Hpack/Syntax/DependenciesSpec.hs
 | ||||
| @@ -125,7 +125,7 @@ spec = do
 | ||||
|          it "rejects invalid values" $ do | ||||
|            [yaml| | ||||
|              hpack: [] | ||||
| -          |] `shouldDecodeTo` left "Error while parsing $.hpack - expected Null, Object, Number, or String, encountered Array"
 | ||||
| +          |] `shouldDecodeTo` left "Error while parsing $.hpack - expected Null, Object, Number, or String, but encountered Array"
 | ||||
|   | ||||
|          context "when the constraint is a Number" $ do | ||||
|            it "accepts 1" $ do | ||||
| @@ -213,7 +213,7 @@ spec = do
 | ||||
|                [yaml| | ||||
|                  foo: | ||||
|                    version: {} | ||||
| -              |] `shouldDecodeTo` left "Error while parsing $.foo.version - expected Null, Number, or String, encountered Object"
 | ||||
| +              |] `shouldDecodeTo` left "Error while parsing $.foo.version - expected Null, Number, or String, but encountered Object"
 | ||||
|   | ||||
|              it "accepts a string" $ do | ||||
|                [yaml| | ||||
| -- 
 | ||||
| 2.23.0 | ||||
| 
 | ||||
							
								
								
									
										27
									
								
								gnu/packages/patches/ghc-microlens-aeson-fix-tests.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								gnu/packages/patches/ghc-microlens-aeson-fix-tests.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,27 @@ | |||
| This patch fixes the test suite to allow any order when listing the | ||||
| members of a JSON object.  Aeson (being true to the JSON specification) | ||||
| does not specify an order for objects.  In practice, the order depends | ||||
| on your processor architecture. | ||||
| 
 | ||||
| See <https://github.com/bos/aeson/issues/568> for a discussion resulting | ||||
| in a similar patch fixing the Aeson tests. | ||||
| 
 | ||||
| See <https://github.com/fosskers/microlens-aeson/issues/1> for the | ||||
| upstream bug report. | ||||
| 
 | ||||
| diff -ruN a/test/Test.hs b/test/Test.hs
 | ||||
| --- a/test/Test.hs	2018-12-31 15:10:50.000000000 -0500
 | ||||
| +++ b/test/Test.hs	2019-11-08 01:34:07.419706831 -0500
 | ||||
| @@ -48,8 +48,10 @@
 | ||||
|      , testCase "" $ ("{\"a\": {}, \"b\": null}" ^? key (T.pack "b") . _Object) @?= Nothing | ||||
|      , testCase "" $ ("{\"a\": 100, \"b\": 200}" ^? key (T.pack "a")) @?= Just (Number 100.0) | ||||
|      , testCase "" $ ("[1,2,3]" ^? key (T.pack "a")) @?= Nothing | ||||
| -    , testCase "" $ ("{\"a\": 4, \"b\": 7}" ^.. members) @?= [Number 4.0,Number 7.0]
 | ||||
| -    , testCase "" $ ("{\"a\": 4, \"b\": 7}" & members . _Number %~ (* 10)) @?= "{\"a\":40,\"b\":70}"
 | ||||
| +    , testCase "" $ assertBool "" (let x = ("{\"a\": 4, \"b\": 7}" ^.. members)
 | ||||
| +                                   in x == [Number 4.0,Number 7.0] || x == [Number 7.0,Number 4.0])
 | ||||
| +    , testCase "" $ assertBool "" (let x = ("{\"a\": 4, \"b\": 7}" & members . _Number %~ (* 10))
 | ||||
| +                                   in x == "{\"a\":40,\"b\":70}" || x == "{\"b\":70,\"a\":40}")
 | ||||
|      , testCase "" $ ("[1,2,3]" ^? nth 1) @?= Just (Number 2.0) | ||||
|      , testCase "" $ ("{\"a\": 100, \"b\": 200}" ^? nth 1) @?= Nothing | ||||
|      , testCase "" $ ("[1,2,3]" & nth 1 .~ Number 20) @?= "[1,20,3]" | ||||
							
								
								
									
										45
									
								
								gnu/packages/patches/ghc-monad-par-fix-tests.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								gnu/packages/patches/ghc-monad-par-fix-tests.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,45 @@ | |||
| This patch is taken from upstream.  It fixes a test to work with GHC 8.6. | ||||
| The paths have been slightly altered to work with the release tarball. | ||||
| 
 | ||||
| See <https://github.com/simonmar/monad-par/issues/66>. | ||||
| 
 | ||||
| From e20f81c8060208e4fb038e8f0e0668b41d72a6fb Mon Sep 17 00:00:00 2001 | ||||
| From: Clint Adams <clint@debian.org> | ||||
| Date: Sat, 31 Aug 2019 14:12:34 -0400 | ||||
| Subject: [PATCH] Use a case statement instead of pattern-matching in | ||||
|  case_test_diamond | ||||
| 
 | ||||
| This avoids the need for a MonadFail instance.  Closes #66 | ||||
| ---
 | ||||
|  monad-par/tests/ParTests_shared.hs | 15 +++++++++------ | ||||
|  1 file changed, 9 insertions(+), 6 deletions(-) | ||||
| 
 | ||||
| diff --git a/tests/ParTests_shared.hs b/tests/ParTests_shared.hs
 | ||||
| index 31f438d..b2de50c 100644
 | ||||
| --- a/tests/ParTests_shared.hs
 | ||||
| +++ b/tests/ParTests_shared.hs
 | ||||
| @@ -109,12 +109,15 @@ case_test_diamond :: Assertion
 | ||||
|  case_test_diamond = 9 @=? (m :: Int) | ||||
|   where  | ||||
|    m = runPar $ do | ||||
| -      [a,b,c,d] <- sequence [new,new,new,new]
 | ||||
| -      fork $ do x <- get a; put b (x+1)
 | ||||
| -      fork $ do x <- get a; put c (x+2)
 | ||||
| -      fork $ do x <- get b; y <- get c; put d (x+y)
 | ||||
| -      fork $ do put a 3
 | ||||
| -      get d
 | ||||
| +      abcd <- sequence [new,new,new,new]
 | ||||
| +      case abcd of
 | ||||
| +          [a,b,c,d] -> do
 | ||||
| +              fork $ do x <- get a; put b (x+1)
 | ||||
| +              fork $ do x <- get a; put c (x+2)
 | ||||
| +              fork $ do x <- get b; y <- get c; put d (x+y)
 | ||||
| +              fork $ do put a 3
 | ||||
| +              get d
 | ||||
| +          _ -> error "Oops"
 | ||||
|   | ||||
|  -- | Violate IVar single-assignment: | ||||
|  -- | ||||
| -- 
 | ||||
| 2.23.0 | ||||
| 
 | ||||
							
								
								
									
										92
									
								
								gnu/packages/patches/ghc-pandoc-fix-html-tests.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										92
									
								
								gnu/packages/patches/ghc-pandoc-fix-html-tests.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,92 @@ | |||
| This patch is taken from upstream.  It fixes two HTML tests that are broken | ||||
| due to using a Skylighting version greater than or equal to 0.8.2. | ||||
| 
 | ||||
| From 968d2046a3cb6db661673be580660ac402753c34 Mon Sep 17 00:00:00 2001 | ||||
| From: John MacFarlane <jgm@berkeley.edu> | ||||
| Date: Sun, 14 Jul 2019 10:48:14 -0700 | ||||
| Subject: [PATCH] Update test for new skylighting. | ||||
| 
 | ||||
| ---
 | ||||
|  test/lhs-test.html     | 13 ++++++------- | ||||
|  test/lhs-test.html+lhs | 13 ++++++------- | ||||
|  2 files changed, 12 insertions(+), 14 deletions(-) | ||||
| 
 | ||||
| diff --git a/test/lhs-test.html b/test/lhs-test.html
 | ||||
| index 6685555f4..446dd3d95 100644
 | ||||
| --- a/test/lhs-test.html
 | ||||
| +++ b/test/lhs-test.html
 | ||||
| @@ -12,19 +12,18 @@
 | ||||
|        div.column{display: inline-block; vertical-align: top; width: 50%;} | ||||
|    </style> | ||||
|    <style> | ||||
| -code.sourceCode > span { display: inline-block; line-height: 1.25; }
 | ||||
| +pre > code.sourceCode { white-space: pre; position: relative; }
 | ||||
| +pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
 | ||||
| +pre > code.sourceCode > span:empty { height: 1.2em; }
 | ||||
|  code.sourceCode > span { color: inherit; text-decoration: inherit; } | ||||
| -code.sourceCode > span:empty { height: 1.2em; }
 | ||||
| -.sourceCode { overflow: visible; }
 | ||||
| -code.sourceCode { white-space: pre; position: relative; }
 | ||||
|  div.sourceCode { margin: 1em 0; } | ||||
|  pre.sourceCode { margin: 0; } | ||||
|  @media screen { | ||||
|  div.sourceCode { overflow: auto; } | ||||
|  } | ||||
|  @media print { | ||||
| -code.sourceCode { white-space: pre-wrap; }
 | ||||
| -code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
 | ||||
| +pre > code.sourceCode { white-space: pre-wrap; }
 | ||||
| +pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
 | ||||
|  } | ||||
|  pre.numberSource code | ||||
|    { counter-reset: source-line 0; } | ||||
| @@ -44,7 +43,7 @@ pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa;  padding-le
 | ||||
|  div.sourceCode | ||||
|    {   } | ||||
|  @media screen { | ||||
| -code.sourceCode > span > a:first-child::before { text-decoration: underline; }
 | ||||
| +pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
 | ||||
|  } | ||||
|  code span.al { color: #ff0000; font-weight: bold; } /* Alert */ | ||||
|  code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */ | ||||
| diff --git a/test/lhs-test.html+lhs b/test/lhs-test.html+lhs
 | ||||
| index e57dfc105..a5cdb0245 100644
 | ||||
| --- a/test/lhs-test.html+lhs
 | ||||
| +++ b/test/lhs-test.html+lhs
 | ||||
| @@ -12,19 +12,18 @@
 | ||||
|        div.column{display: inline-block; vertical-align: top; width: 50%;} | ||||
|    </style> | ||||
|    <style> | ||||
| -code.sourceCode > span { display: inline-block; line-height: 1.25; }
 | ||||
| +pre > code.sourceCode { white-space: pre; position: relative; }
 | ||||
| +pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
 | ||||
| +pre > code.sourceCode > span:empty { height: 1.2em; }
 | ||||
|  code.sourceCode > span { color: inherit; text-decoration: inherit; } | ||||
| -code.sourceCode > span:empty { height: 1.2em; }
 | ||||
| -.sourceCode { overflow: visible; }
 | ||||
| -code.sourceCode { white-space: pre; position: relative; }
 | ||||
|  div.sourceCode { margin: 1em 0; } | ||||
|  pre.sourceCode { margin: 0; } | ||||
|  @media screen { | ||||
|  div.sourceCode { overflow: auto; } | ||||
|  } | ||||
|  @media print { | ||||
| -code.sourceCode { white-space: pre-wrap; }
 | ||||
| -code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
 | ||||
| +pre > code.sourceCode { white-space: pre-wrap; }
 | ||||
| +pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
 | ||||
|  } | ||||
|  pre.numberSource code | ||||
|    { counter-reset: source-line 0; } | ||||
| @@ -44,7 +43,7 @@ pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa;  padding-le
 | ||||
|  div.sourceCode | ||||
|    {   } | ||||
|  @media screen { | ||||
| -code.sourceCode > span > a:first-child::before { text-decoration: underline; }
 | ||||
| +pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
 | ||||
|  } | ||||
|  code span.al { color: #ff0000; font-weight: bold; } /* Alert */ | ||||
|  code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */ | ||||
| -- 
 | ||||
| 2.23.0 | ||||
| 
 | ||||
							
								
								
									
										31
									
								
								gnu/packages/patches/ghc-pandoc-fix-latex-test.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								gnu/packages/patches/ghc-pandoc-fix-latex-test.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,31 @@ | |||
| This patch is taken from upstream.  It fixes a LaTeX test that is broken due | ||||
| to using a Skylighting version greater than or equal to 0.8.1.1. | ||||
| 
 | ||||
| From 2cd1c7b30f200d18f1f1bdef1671369e1ad303ed Mon Sep 17 00:00:00 2001 | ||||
| From: John MacFarlane <jgm@berkeley.edu> | ||||
| Date: Thu, 13 Jun 2019 19:33:52 -0700 | ||||
| Subject: [PATCH] Update test for skylighting 0.8.1.1. | ||||
| 
 | ||||
| ---
 | ||||
|  test/lhs-test.latex | 4 ++-- | ||||
|  1 file changed, 2 insertions(+), 2 deletions(-) | ||||
| 
 | ||||
| diff --git a/test/lhs-test.latex b/test/lhs-test.latex
 | ||||
| index 0442db5ca..a456995a3 100644
 | ||||
| --- a/test/lhs-test.latex
 | ||||
| +++ b/test/lhs-test.latex
 | ||||
| @@ -94,9 +94,9 @@ return a single value:
 | ||||
|   | ||||
|  \begin{Shaded} | ||||
|  \begin{Highlighting}[] | ||||
| -\OtherTok{unsplit ::}\NormalTok{ (}\DataTypeTok{Arrow}\NormalTok{ a) }\OtherTok{=>}\NormalTok{ (b }\OtherTok{->}\NormalTok{ c }\OtherTok{->}\NormalTok{ d) }\OtherTok{->}\NormalTok{ a (b, c) d}
 | ||||
| +\OtherTok{unsplit ::}\NormalTok{ (}\DataTypeTok{Arrow}\NormalTok{ a) }\OtherTok{=>}\NormalTok{ (b }\OtherTok{{-}>}\NormalTok{ c }\OtherTok{{-}>}\NormalTok{ d) }\OtherTok{{-}>}\NormalTok{ a (b, c) d}
 | ||||
|  \NormalTok{unsplit }\OtherTok{=}\NormalTok{ arr }\OperatorTok{.} \FunctionTok{uncurry} | ||||
| -          \CommentTok{-- arr (\textbackslash{}op (x,y) -> x `op` y)}
 | ||||
| +          \CommentTok{{-}{-} arr (\textbackslash{}op (x,y) {-}> x \textasciigrave{}op\textasciigrave{} y)}
 | ||||
|  \end{Highlighting} | ||||
|  \end{Shaded} | ||||
|   | ||||
| -- 
 | ||||
| 2.23.0 | ||||
| 
 | ||||
							
								
								
									
										31
									
								
								gnu/packages/patches/hexchat-crash-exit.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								gnu/packages/patches/hexchat-crash-exit.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,31 @@ | |||
| From d9c637ae8a1137d3ca512d2c560589903a4bd79d Mon Sep 17 00:00:00 2001 | ||||
| From: Adam Williamson <awilliam@redhat.com> | ||||
| Date: Tue, 30 Apr 2019 11:16:01 -0700 | ||||
| Subject: [PATCH] Python plugin: Call EndInterpreter when deinit'ing the plugin | ||||
| 
 | ||||
| This fixes https://github.com/hexchat/hexchat/issues/2237 , a | ||||
| commonly-encountered bug when using Hexchat 2.14 on Python 3.7. | ||||
| Thanks to @ncoghlan for the fix. | ||||
| 
 | ||||
| Signed-off-by: Adam Williamson <awilliam@redhat.com> | ||||
| ---
 | ||||
|  plugins/python/python.c | 3 +++ | ||||
|  1 file changed, 3 insertions(+) | ||||
| 
 | ||||
| diff --git a/plugins/python/python.c b/plugins/python/python.c
 | ||||
| index 4403474d..475756ba 100644
 | ||||
| --- a/plugins/python/python.c
 | ||||
| +++ b/plugins/python/python.c
 | ||||
| @@ -2806,6 +2806,9 @@ hexchat_plugin_deinit(void)
 | ||||
|  	xchatout_buffer = NULL; | ||||
|   | ||||
|  	if (interp_plugin) { | ||||
| +		PyThreadState *tstate = ((PluginObject*)interp_plugin)->tstate;
 | ||||
| +		PyThreadState_Swap(tstate);
 | ||||
| +		Py_EndInterpreter(tstate);
 | ||||
|  		Py_DECREF(interp_plugin); | ||||
|  		interp_plugin = NULL; | ||||
|  	} | ||||
| -- 
 | ||||
| 2.21.0 | ||||
| 
 | ||||
							
								
								
									
										25
									
								
								gnu/packages/patches/minisat-friend-declaration.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								gnu/packages/patches/minisat-friend-declaration.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,25 @@ | |||
| See https://groups.google.com/forum/#!topic/minisat/FCocZsC8oMQ | ||||
| This seems to only be a problem with newer versions of g++, and | ||||
| upstream development seems to have stopped in 2013. | ||||
| 
 | ||||
| diff -rupN minisat-2.2.0/core/SolverTypes.h minisat-2.2.0.patched/core/SolverTypes.h
 | ||||
| --- a/minisat/core/SolverTypes.h	2010-07-10 17:07:36.000000000 +0100
 | ||||
| +++ b/minisat/core/SolverTypes.h	2014-03-29 11:57:49.000000000 +0000
 | ||||
| @@ -47,7 +47,7 @@ struct Lit {
 | ||||
|      int     x; | ||||
| 
 | ||||
|      // Use this as a constructor: | ||||
| -    friend Lit mkLit(Var var, bool sign = false);
 | ||||
| +    //friend Lit mkLit(Var var, bool sign = false);
 | ||||
| 
 | ||||
|      bool operator == (Lit p) const { return x == p.x; } | ||||
|      bool operator != (Lit p) const { return x != p.x; } | ||||
| @@ -55,7 +55,7 @@ struct Lit {
 | ||||
|  }; | ||||
| 
 | ||||
| 
 | ||||
| -inline  Lit  mkLit     (Var var, bool sign) { Lit p; p.x = var + var + (int)sign; return p; }
 | ||||
| +inline  Lit  mkLit     (Var var, bool sign = false) { Lit p; p.x = var + var + (int)sign; return p; }
 | ||||
|  inline  Lit  operator ~(Lit p)              { Lit q; q.x = p.x ^ 1; return q; } | ||||
|  inline  Lit  operator ^(Lit p, bool b)      { Lit q; q.x = p.x ^ (unsigned int)b; return q; } | ||||
|  inline  bool sign      (Lit p)              { return p.x & 1; } | ||||
							
								
								
									
										19
									
								
								gnu/packages/patches/minisat-install.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								gnu/packages/patches/minisat-install.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,19 @@ | |||
| Avoid the default dynamic executable, which depends on minisat.so | ||||
| Instead install the release version, which is statically linked. | ||||
| 
 | ||||
| diff --git a/Makefile b/Makefile
 | ||||
| index ceb9d77..7b91906 100644
 | ||||
| --- a/Makefile
 | ||||
| +++ b/Makefile
 | ||||
| @@ -191,9 +191,9 @@ install-lib: $(BUILD_DIR)/release/lib/$(MINISAT_SLIB) $(BUILD_DIR)/dynamic/lib/$
 | ||||
|  	ln -sf $(MINISAT_DLIB).$(SOMAJOR) $(DESTDIR)$(libdir)/$(MINISAT_DLIB) | ||||
|  	$(INSTALL) -m 644 $(BUILD_DIR)/release/lib/$(MINISAT_SLIB) $(DESTDIR)$(libdir) | ||||
|   | ||||
| -install-bin: $(BUILD_DIR)/dynamic/bin/$(MINISAT)
 | ||||
| +install-bin: $(BUILD_DIR)/release/bin/$(MINISAT)
 | ||||
|  	$(INSTALL) -d $(DESTDIR)$(bindir) | ||||
| -	$(INSTALL) -m 755 $(BUILD_DIR)/dynamic/bin/$(MINISAT) $(DESTDIR)$(bindir)
 | ||||
| +	$(INSTALL) -m 755 $(BUILD_DIR)/release/bin/$(MINISAT) $(DESTDIR)$(bindir)
 | ||||
|   | ||||
|  clean: | ||||
|  	rm -f $(foreach t, release debug profile dynamic, $(foreach o, $(SRCS:.cc=.o), $(BUILD_DIR)/$t/$o)) \ | ||||
							
								
								
									
										42
									
								
								gnu/packages/patches/python-3.8-fix-tests.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								gnu/packages/patches/python-3.8-fix-tests.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,42 @@ | |||
| diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py
 | ||||
| index 1474624..887f8ee 100644
 | ||||
| --- a/Lib/test/_test_multiprocessing.py
 | ||||
| +++ b/Lib/test/_test_multiprocessing.py
 | ||||
| @@ -3801,6 +3801,7 @@ class _TestSharedMemory(BaseTestCase):
 | ||||
|          sms.close() | ||||
| 
 | ||||
|      @unittest.skipIf(os.name != "posix", "not feasible in non-posix platforms") | ||||
| +    @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
 | ||||
|      def test_shared_memory_SharedMemoryServer_ignores_sigint(self): | ||||
|          # bpo-36368: protect SharedMemoryManager server process from | ||||
|          # KeyboardInterrupt signals. | ||||
| diff --git a/Lib/test/test_signal.py b/Lib/test/test_signal.py
 | ||||
| index d41e94b..a1c15e7 100644
 | ||||
| --- a/Lib/test/test_signal.py
 | ||||
| +++ b/Lib/test/test_signal.py
 | ||||
| @@ -78,6 +78,7 @@ class PosixTests(unittest.TestCase):
 | ||||
|          self.assertLess(len(s), signal.NSIG) | ||||
| 
 | ||||
|      @unittest.skipUnless(sys.executable, "sys.executable required.") | ||||
| +    @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
 | ||||
|      def test_keyboard_interrupt_exit_code(self): | ||||
|          """KeyboardInterrupt triggers exit via SIGINT.""" | ||||
|          process = subprocess.run( | ||||
| @@ -128,6 +129,7 @@ class WindowsSignalTests(unittest.TestCase):
 | ||||
|              signal.signal(7, handler) | ||||
| 
 | ||||
|      @unittest.skipUnless(sys.executable, "sys.executable required.") | ||||
| +    @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
 | ||||
|      def test_keyboard_interrupt_exit_code(self): | ||||
|          """KeyboardInterrupt triggers an exit using STATUS_CONTROL_C_EXIT.""" | ||||
|          # We don't test via os.kill(os.getpid(), signal.CTRL_C_EVENT) here | ||||
| @@ -1245,6 +1247,7 @@ class StressTest(unittest.TestCase):
 | ||||
| 
 | ||||
|  class RaiseSignalTest(unittest.TestCase): | ||||
| 
 | ||||
| +    @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
 | ||||
|      def test_sigint(self): | ||||
|          with self.assertRaises(KeyboardInterrupt): | ||||
|              signal.raise_signal(signal.SIGINT) | ||||
| --
 | ||||
| 2.23.0 | ||||
							
								
								
									
										17
									
								
								gnu/packages/patches/python-3.8-search-paths.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								gnu/packages/patches/python-3.8-search-paths.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,17 @@ | |||
| diff --git a/setup.py b/setup.py
 | ||||
| index 20d7f35..5751083 100644
 | ||||
| --- a/setup.py
 | ||||
| +++ b/setup.py
 | ||||
| @@ -676,8 +676,8 @@ class PyBuildExt(build_ext):
 | ||||
|          # if a file is found in one of those directories, it can | ||||
|          # be assumed that no additional -I,-L directives are needed. | ||||
|          if not CROSS_COMPILING: | ||||
| -            self.lib_dirs = self.compiler.library_dirs + system_lib_dirs
 | ||||
| -            self.inc_dirs = self.compiler.include_dirs + system_include_dirs
 | ||||
| +            self.lib_dirs = os.getenv('LIBRARY_PATH', '').split(os.pathsep)
 | ||||
| +            self.inc_dirs = os.getenv('CPATH', '').split(os.pathsep)
 | ||||
|          else: | ||||
|              # Add the sysroot paths. 'sysroot' is a compiler option used to | ||||
|              # set the logical path of the standard system headers and | ||||
| --
 | ||||
| 2.23.0 | ||||
							
								
								
									
										25
									
								
								gnu/packages/patches/tomb-fix-errors-on-open.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								gnu/packages/patches/tomb-fix-errors-on-open.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,25 @@ | |||
| Description: Avoid error messages when opening a new tomb | ||||
|  Make sure control file exists and has user ownership before user writes to it. | ||||
| Author: Sven Geuer <debmaint@g-e-u-e-r.de> | ||||
| Bug: https://github.com/dyne/Tomb/issues/369 | ||||
| Last-Update: 2019-11-04 | ||||
| --- a/tomb
 | ||||
| +++ b/tomb
 | ||||
| @@ -2197,14 +2197,15 @@
 | ||||
|  # {{{ Open | ||||
|   | ||||
|  _update_control_file() { | ||||
| -	# replaces a control file with new contents and gives it user ownership
 | ||||
| +	# make sure a control file exists, gives it user ownership
 | ||||
| +	# and replaces it with new contents
 | ||||
|  	# stdin = contents | ||||
|  	# $1 = path to control file | ||||
|  	# $2 = contents | ||||
|  	[[ "$2" = "" ]] && return 1 | ||||
|  	_sudo touch "$1" | ||||
| -	print "$2" > "$1"
 | ||||
|  	_sudo chown ${_UID}:${_GID} "$1" | ||||
| +	print "$2" > "$1"
 | ||||
|  	_verbose "updated control file $1 = $2" | ||||
|  } | ||||
|   | ||||
							
								
								
									
										109
									
								
								gnu/packages/patches/ucx-tcp-iface-ioctl.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										109
									
								
								gnu/packages/patches/ucx-tcp-iface-ioctl.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,109 @@ | |||
| Since /sys is unavailable in build environments, the list of available | ||||
| TCP network interfaces cannot be obtained via /sys/class/net.  This patch | ||||
| provides alternative code that uses the SIOCGIFCONF ioctl to get the | ||||
| names of the available TCP network interfaces. | ||||
| 
 | ||||
| diff --git a/src/uct/tcp/tcp_iface.c b/src/uct/tcp/tcp_iface.c
 | ||||
| index 81ad459..10024a6 100644
 | ||||
| --- a/src/uct/tcp/tcp_iface.c
 | ||||
| +++ b/src/uct/tcp/tcp_iface.c
 | ||||
| @@ -12,6 +12,8 @@
 | ||||
|  #include <sys/poll.h> | ||||
|  #include <netinet/tcp.h> | ||||
|  #include <dirent.h> | ||||
| +#include <net/if.h>
 | ||||
| +#include <sys/ioctl.h>
 | ||||
|   | ||||
|  static ucs_config_field_t uct_tcp_iface_config_table[] = { | ||||
|    {"", "MAX_SHORT=8k", NULL, | ||||
| @@ -483,6 +485,70 @@ static UCS_CLASS_DEFINE_NEW_FUNC(uct_tcp_iface_t, uct_iface_t, uct_md_h,
 | ||||
|                                   uct_worker_h, const uct_iface_params_t*, | ||||
|                                   const uct_iface_config_t*); | ||||
|   | ||||
| +/* Fetch information about available network devices through an ioctl.  */
 | ||||
| +static ucs_status_t query_devices_ioctl(uct_md_h md,
 | ||||
| +					uct_tl_resource_desc_t **resource_p,
 | ||||
| +					unsigned *num_resources_p)
 | ||||
| +{
 | ||||
| +    int sock, err, i;
 | ||||
| +    uct_tl_resource_desc_t *resources, *tmp;
 | ||||
| +    unsigned num_resources;
 | ||||
| +    ucs_status_t status;
 | ||||
| +    struct ifconf conf;
 | ||||
| +    struct ifreq reqs[10];
 | ||||
| +
 | ||||
| +    conf.ifc_len = sizeof reqs;
 | ||||
| +    conf.ifc_req = reqs;
 | ||||
| +
 | ||||
| +    sock = socket(SOCK_STREAM, AF_INET, 0);
 | ||||
| +    if (sock < 0) {
 | ||||
| +	ucs_error("socket(2) failed: %m");
 | ||||
| +	status = UCS_ERR_IO_ERROR;
 | ||||
| +	goto out;
 | ||||
| +    }
 | ||||
| +
 | ||||
| +    err = ioctl(sock, SIOCGIFCONF, &conf);
 | ||||
| +    if (err < 0) {
 | ||||
| +	ucs_error("SIOCGIFCONF ioctl failed: %m");
 | ||||
| +	status = UCS_ERR_IO_ERROR;
 | ||||
| +	goto out;
 | ||||
| +    }
 | ||||
| +
 | ||||
| +    resources     = NULL;
 | ||||
| +    num_resources = 0;
 | ||||
| +    for (i = 0; i < conf.ifc_len / sizeof(struct ifreq); i++) {
 | ||||
| +	const char *name = reqs[i].ifr_name;
 | ||||
| +
 | ||||
| +        if (!ucs_netif_is_active(name)) {
 | ||||
| +            continue;
 | ||||
| +        }
 | ||||
| +
 | ||||
| +        tmp = ucs_realloc(resources, sizeof(*resources) * (num_resources + 1),
 | ||||
| +                          "tcp resources");
 | ||||
| +        if (tmp == NULL) {
 | ||||
| +            ucs_free(resources);
 | ||||
| +            status = UCS_ERR_NO_MEMORY;
 | ||||
| +            goto out;
 | ||||
| +        }
 | ||||
| +        resources = tmp;
 | ||||
| +
 | ||||
| +        ucs_snprintf_zero(resources[i].tl_name, sizeof(resources[i].tl_name),
 | ||||
| +                          "%s", UCT_TCP_NAME);
 | ||||
| +        ucs_snprintf_zero(resources[i].dev_name, sizeof(resources[i].dev_name),
 | ||||
| +                          "%s", name);
 | ||||
| +        resources[i].dev_type = UCT_DEVICE_TYPE_NET;
 | ||||
| +        ++num_resources;
 | ||||
| +    }
 | ||||
| +
 | ||||
| +    *num_resources_p = num_resources;
 | ||||
| +    *resource_p      = resources;
 | ||||
| +    status           = UCS_OK;
 | ||||
| +
 | ||||
| +out:
 | ||||
| +    if (sock >= 0) close(sock);
 | ||||
| +    return status;
 | ||||
| +}
 | ||||
| +
 | ||||
|  static ucs_status_t uct_tcp_query_tl_resources(uct_md_h md, | ||||
|                                                 uct_tl_resource_desc_t **resource_p, | ||||
|                                                 unsigned *num_resources_p) | ||||
| @@ -496,9 +562,9 @@ static ucs_status_t uct_tcp_query_tl_resources(uct_md_h md,
 | ||||
|   | ||||
|      dir = opendir(netdev_dir); | ||||
|      if (dir == NULL) { | ||||
| -        ucs_error("opendir(%s) failed: %m", netdev_dir);
 | ||||
| -        status = UCS_ERR_IO_ERROR;
 | ||||
| -        goto out;
 | ||||
| +	/* When /sys is unavailable, as can be the case in a container,
 | ||||
| +	 * resort to a good old 'ioctl'.  */
 | ||||
| +	return query_devices_ioctl(md, resource_p, num_resources_p);
 | ||||
|      } | ||||
|   | ||||
|      resources     = NULL; | ||||
| @@ -543,6 +609,5 @@ static ucs_status_t uct_tcp_query_tl_resources(uct_md_h md,
 | ||||
|   | ||||
|  out_closedir: | ||||
|      closedir(dir); | ||||
| -out:
 | ||||
|      return status; | ||||
|  } | ||||
|  | @ -36,6 +36,7 @@ | |||
|   #:use-module (gnu packages gettext) | ||||
|   #:use-module (gnu packages glib) | ||||
|   #:use-module (gnu packages gnupg) | ||||
|   #:use-module (gnu packages icu4c) | ||||
|   #:use-module (gnu packages image) | ||||
|   #:use-module (gnu packages linux) | ||||
|   #:use-module (gnu packages multiprecision) | ||||
|  | @ -101,7 +102,7 @@ | |||
|                (with "--with-jpeg-dir" "libjpeg") | ||||
|                (with "--with-ldap" "openldap") | ||||
|                (with "--with-ldap-sasl" "cyrus-sasl") | ||||
|                (with "--with-libzip" "zip") | ||||
|                (with "--with-libzip" "libzip") | ||||
|                (with "--with-libxml-dir" "libxml2") | ||||
|                (with "--with-onig" "oniguruma") | ||||
|                (with "--with-pcre-dir" "pcre") | ||||
|  | @ -136,9 +137,11 @@ | |||
|                "--enable-fpm" | ||||
|                "--enable-ftp" | ||||
|                "--enable-inifile" | ||||
|                "--enable-intl" | ||||
|                "--enable-mbstring" | ||||
|                "--enable-pcntl" | ||||
|                "--enable-sockets")) | ||||
|                "--enable-sockets" | ||||
|                "--enable-zip")) | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'do-not-record-build-flags | ||||
|  | @ -356,6 +359,7 @@ | |||
|        ("glibc" ,glibc) | ||||
|        ("gmp" ,gmp) | ||||
|        ("gnutls" ,gnutls) | ||||
|        ("icu4c" ,icu4c) | ||||
|        ("libgcrypt" ,libgcrypt) | ||||
|        ("libjpeg" ,libjpeg) | ||||
|        ("libpng" ,libpng) | ||||
|  | @ -364,6 +368,7 @@ | |||
|        ("libxpm" ,libxpm) | ||||
|        ("libxslt" ,libxslt) | ||||
|        ("libx11" ,libx11) | ||||
|        ("libzip" ,libzip) | ||||
|        ("oniguruma" ,oniguruma) | ||||
|        ("openldap" ,openldap) | ||||
|        ("openssl" ,openssl) | ||||
|  | @ -372,7 +377,6 @@ | |||
|        ("readline" ,readline) | ||||
|        ("sqlite" ,sqlite) | ||||
|        ("tidy" ,tidy) | ||||
|        ("zip" ,zip) | ||||
|        ("zlib" ,zlib))) | ||||
|     (native-inputs | ||||
|      `(("pkg-config" ,pkg-config) | ||||
|  |  | |||
|  | @ -75,52 +75,66 @@ with Graphtec and Sihouette plotting cutters using an SVG file as its input.") | |||
|     (license license:gpl3+))) | ||||
| 
 | ||||
| (define-public brlaser | ||||
|   (let ((commit "779f71e80fcc583f4537c844de141cf8e6a738fe") | ||||
|         (revision "1")) | ||||
|     (package | ||||
|       (name "brlaser") | ||||
|       (version (git-version "4" revision commit)) | ||||
|       (source (origin | ||||
|                 (method git-fetch) | ||||
|                 (uri (git-reference | ||||
|                       (url "https://github.com/pdewacht/brlaser.git") | ||||
|                       (commit commit))) | ||||
|                 (file-name (git-file-name name version)) | ||||
|                 (sha256 | ||||
|                  (base32 | ||||
|                   "0yrz9706660hdfi2y0ndp254r0vw9y665hwmxbbzfnz4ai13vj50")))) | ||||
|       (build-system cmake-build-system) | ||||
|       (arguments | ||||
|        `(#:configure-flags | ||||
|          (list (string-append "-DCUPS_DATA_DIR=" | ||||
|                               (assoc-ref %outputs "out") | ||||
|                               "/share/cups") | ||||
|                (string-append "-DCUPS_SERVER_BIN=" | ||||
|                               (assoc-ref %outputs "out") | ||||
|                               "/lib/cups")))) | ||||
|       (inputs | ||||
|        `(("ghostscript" ,ghostscript) | ||||
|          ("cups" ,cups) | ||||
|          ("zlib" ,zlib))) | ||||
|       (home-page "https://github.com/pdewacht/brlaser") | ||||
|       (synopsis "Brother laser printer driver") | ||||
|       (description "Brlaser is a CUPS driver for Brother laser printers.  This | ||||
|   (package | ||||
|     (name "brlaser") | ||||
|     (version "6") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                     (url "https://github.com/pdewacht/brlaser.git") | ||||
|                     (commit (string-append "v" version)))) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1995s69ksq1fz0vb34v0ndiqncrinbrlpmp70rkl6az7kag99s80")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags | ||||
|        (list (string-append "-DCUPS_DATA_DIR=" | ||||
|                             (assoc-ref %outputs "out") | ||||
|                             "/share/cups") | ||||
|              (string-append "-DCUPS_SERVER_BIN=" | ||||
|                             (assoc-ref %outputs "out") | ||||
|                             "/lib/cups")))) | ||||
|     (inputs | ||||
|      `(("ghostscript" ,ghostscript) | ||||
|        ("cups" ,cups) | ||||
|        ("zlib" ,zlib))) | ||||
|     (home-page "https://github.com/pdewacht/brlaser") | ||||
|     (synopsis "Brother laser printer driver") | ||||
|     (description "Brlaser is a CUPS driver for Brother laser printers.  This | ||||
| driver is known to work with these printers: | ||||
| 
 | ||||
| @enumerate | ||||
| @item Brother DCP-1510 | ||||
| @item Brother DCP-1510 series | ||||
| @item Brother DCP-1600 series | ||||
| @item Brother DCP-7030 | ||||
| @item Brother DCP-7040 | ||||
| @item Brother DCP-7055 | ||||
| @item Brother DCP-7055W | ||||
| @item Brother DCP-7060D | ||||
| @item Brother DCP-7065DN | ||||
| @item Brother DCP-7080 | ||||
| @item Brother DCP-L2500D series | ||||
| @item Brother DCP-L2520D series | ||||
| @item Brother DCP-L2540DW series | ||||
| @item Brother HL-1110 series | ||||
| @item Brother HL-1200 series | ||||
| @item Brother HL-2030 series | ||||
| @item Brother HL-2140 series | ||||
| @item Brother HL-2220 series | ||||
| @item Brother HL-2270DW series | ||||
| @item Brother HL-5030 series | ||||
| @item Brother HL-L2300D series | ||||
| @item Brother HL-L2320D series | ||||
| @item Brother HL-L2340D series | ||||
| @item Brother HL-L2360D series | ||||
| @item Brother MFC-1910W | ||||
| @item Brother MFC-7240 | ||||
| @item Brother MFC-7360N | ||||
| @end enumerate | ||||
| 
 | ||||
| It partially works with printers from the Brother HL-L2300D series.") | ||||
|       (license license:gpl2+)))) | ||||
| @item Brother MFC-7365DN | ||||
| @item Brother MFC-7840W | ||||
| @item Brother MFC-L2710DW series | ||||
| @item Lenovo M7605D | ||||
| @end enumerate") | ||||
|     (license license:gpl2+))) | ||||
|  |  | |||
|  | @ -246,7 +246,7 @@ mechanism for serializing structured data.") | |||
|     (arguments | ||||
|      `(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-before 'set-emacs-load-path 'change-working-directory | ||||
|          (add-before 'add-source-to-load-path 'change-working-directory | ||||
|            (lambda _ (chdir "editors") #t))))) | ||||
|     (home-page "https://github.com/protocolbuffers/protobuf") | ||||
|     (synopsis "Protocol buffers major mode for Emacs") | ||||
|  |  | |||
|  | @ -20,6 +20,7 @@ | |||
| ;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org> | ||||
| ;;; Copyright © 2018 Nam Nguyen <namn@berkeley.edu> | ||||
| ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> | ||||
| ;;; Copyright © 2019 Clément Lassieur <clement@lassieur.org> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -1090,3 +1091,41 @@ with state-tracking and configuration abstractions.") | |||
| that leverages the infrastructure provided by the Linux kernel for safely | ||||
| storing and retrieving sensitive information in your programs.") | ||||
|     (license license:asl2.0))) | ||||
| 
 | ||||
| (define-public python-mcuboot-imgtool | ||||
|   (package | ||||
|     (name "python-mcuboot-imgtool") | ||||
|     (version "1.4.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/JuulLabs-OSS/mcuboot") | ||||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1m1csyvzq4jx81zg635ssy1n7sc0z539z0myh872ll3nwqx7wa0q")))) | ||||
|     (build-system python-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'fix-broken-test | ||||
|            (lambda _ | ||||
|              (substitute* "scripts/imgtool/keys/ed25519_test.py" | ||||
|                (("raw_sign") "sign_digest")) | ||||
|              #t)) | ||||
|          (add-before 'build 'change-directory | ||||
|            (lambda _ | ||||
|              (chdir "scripts") | ||||
|              #t))))) | ||||
|     (propagated-inputs | ||||
|      `(("python-click" ,python-click) | ||||
|        ("python-intelhex" ,python-intelhex) | ||||
|        ("python-cryptography" ,python-cryptography))) | ||||
|     (home-page "https://mcuboot.com") | ||||
|     (synopsis "Tool to securely sign firmware images for booting by MCUboot") | ||||
|     (description "MCUboot is a secure bootloader for 32-bit MCUs.  This | ||||
| package provides a tool to securely sign firmware images for booting by | ||||
| MCUboot.") | ||||
|     (license license:expat))) | ||||
|  |  | |||
|  | @ -53,7 +53,7 @@ | |||
| ;;; Copyright © 2016, 2018 Tomáš Čech <sleep_walker@gnu.org> | ||||
| ;;; Copyright © 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr> | ||||
| ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> | ||||
| ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> | ||||
| ;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org> | ||||
| ;;; Copyright © 2018, 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;;; Copyright © 2018 Luther Thompson <lutheroto@gmail.com> | ||||
| ;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org> | ||||
|  | @ -8745,6 +8745,9 @@ with a new public API, and RPython support.") | |||
|     (arguments | ||||
|      '(#:phases | ||||
|        (modify-phases %standard-phases | ||||
| 	 (add-before 'install 'set-HOME | ||||
| 	   (lambda _ | ||||
| 	     (setenv "HOME" "/tmp"))) | ||||
|          (replace 'check | ||||
|            (lambda _ | ||||
|              ;; Tests require write access to HOME. | ||||
|  | @ -14617,14 +14620,14 @@ is the new Pyro version that is actively developed.") | |||
|     (version "2.9.4") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://bitbucket.org/khinsen/" | ||||
|                            "scientificpython/downloads/ScientificPython-" | ||||
|                            version ".tar.gz")) | ||||
|        (file-name (string-append "ScientificPython-" version ".tar.gz")) | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/khinsen/ScientificPython") | ||||
|              (commit (string-append "rel" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0fc69zhlsn9d2jvbzyjl9ah53vj598h84nkq230c83ahfvgzx5y3")))) | ||||
|          "16l48aj9fps9r7jyk8gpxppwrv0fqvlc13sayxskz28r5s6sjwbl")))) | ||||
|     (build-system python-build-system) | ||||
|     (inputs | ||||
|      `(("netcdf" ,netcdf))) | ||||
|  | @ -14642,7 +14645,7 @@ is the new Pyro version that is actively developed.") | |||
|              (invoke "python" "setup.py" "build" | ||||
|                      (string-append "--netcdf_prefix=" | ||||
|                                     (assoc-ref inputs "netcdf")))))))) | ||||
|     (home-page "https://bitbucket.org/khinsen/scientificpython") | ||||
|     (home-page "http://dirac.cnrs-orleans.fr/ScientificPython") | ||||
|     (synopsis "Python modules for scientific computing") | ||||
|     (description "ScientificPython is a collection of Python modules that are | ||||
| useful for scientific computing.  Most modules are rather general (Geometry, | ||||
|  | @ -14654,16 +14657,17 @@ not actively maintained and works only with Python 2 and NumPy < 1.9.") | |||
| (define-public python2-mmtk | ||||
|   (package | ||||
|     (name "python2-mmtk") | ||||
|     (version "2.7.11") | ||||
|     (version "2.7.12") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://bitbucket.org/khinsen/" | ||||
|                            "mmtk/downloads/MMTK-" version ".tar.gz")) | ||||
|        (file-name (string-append "MMTK-" version ".tar.gz")) | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/khinsen/MMTK") | ||||
|              (commit (string-append "rel" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1d0nnjx4lwsvh8f99vv1r6gi50d93yba0adkz8b4zgv4za4c5862")))) | ||||
|          "1fqwh3ba9jd42nigvn5shndgwb1zy7kh9520ncvqci7n8ffjr6p1")))) | ||||
|     (build-system python-build-system) | ||||
|     (native-inputs | ||||
|      `(("netcdf" ,netcdf))) | ||||
|  | @ -16884,3 +16888,27 @@ qvarious formats: PDF, PostScript, PNG and even SVG.") | |||
|     (description "Pyphen is a pure Python module to hyphenate text using | ||||
| existing Hunspell hyphenation dictionaries.") | ||||
|     (license (list license:gpl2 license:lgpl2.1 license:mpl1.1)))) | ||||
| 
 | ||||
| (define-public python-intelhex | ||||
|   (package | ||||
|     (name "python-intelhex") | ||||
|     (version "2.2.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "intelhex" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0ckqjbxd8gwcg98gfzpn4vq1qxzfvq3rdbrr1hikj1nmw08qb780")))) | ||||
|     (build-system python-build-system) | ||||
|     (arguments '(#:tests? #f))          ;issue with version | ||||
|     (home-page "https://pypi.org/project/IntelHex/") | ||||
|     (synopsis "Python library for Intel HEX files manipulations") | ||||
|     (description "The Intel HEX file format is widely used in microprocessors | ||||
| and microcontrollers area (embedded systems etc.) as the de facto standard for | ||||
| representation of code to be programmed into microelectronic devices.  This | ||||
| package provides an intelhex Python library to read, write, create from | ||||
| scratch and manipulate data from Intel HEX file format.  It also includes | ||||
| several convenience Python scripts, including \"classic\" hex2bin and bin2hex | ||||
| converters and more, those based on the library itself.") | ||||
|     (license license:bsd-3))) | ||||
|  |  | |||
|  | @ -57,6 +57,7 @@ | |||
| ;;; Copyright © 2018, 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;;; Copyright © 2018 Luther Thompson <lutheroto@gmail.com> | ||||
| ;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org> | ||||
| ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -408,6 +409,31 @@ data types.") | |||
|                                         (version-major+minor version) | ||||
|                                         "/site-packages")))))))) | ||||
| 
 | ||||
| (define-public python-3.8 | ||||
|   (package | ||||
|     (inherit python-3.7) | ||||
|     (name "python-next") | ||||
|     (version "3.8.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (inherit (package-source python-3.7)) | ||||
|        (uri (string-append "https://www.python.org/ftp/python/" | ||||
|                            version "/Python-" version ".tar.xz")) | ||||
|        (sha256 (base32 "110d0did9rxn7rg85kf2fwli5hqq44xv2d8bi7d92m7v2d728mmk")) | ||||
|        (patches (search-patches | ||||
|                  "python-3.8-search-paths.patch" | ||||
|                  "python-3-fix-tests.patch" | ||||
|                  "python-3.8-fix-tests.patch" | ||||
|                  "python-3-deterministic-build-info.patch")) | ||||
|        (snippet | ||||
|         '(begin | ||||
|            ;; Delete the bundled copy of libexpat. | ||||
|            (delete-file-recursively "Modules/expat") | ||||
|            (substitute* "Modules/Setup" | ||||
|              ;; Link Expat instead of embedding the bundled one. | ||||
|              (("^#pyexpat.*") "pyexpat pyexpat.c -lexpat\n")) | ||||
|            #t)))))) | ||||
| 
 | ||||
| ;; Current 3.x version. | ||||
| (define-public python-3 python-3.7) | ||||
| 
 | ||||
|  |  | |||
|  | @ -283,7 +283,7 @@ that implements both the msgpack and msgpack-rpc specifications.") | |||
| (define-public jsoncpp | ||||
|   (package | ||||
|     (name "jsoncpp") | ||||
|     (version "1.9.1") | ||||
|     (version "1.9.2") | ||||
|     (home-page "https://github.com/open-source-parsers/jsoncpp") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|  | @ -291,7 +291,7 @@ that implements both the msgpack and msgpack-rpc specifications.") | |||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "00g356iv3kcp0gadj7gbyzf9jn9avvx9vxbxc7c2i5nnry8z72wj")))) | ||||
|                 "037d1b1qdmn3rksmn1j71j26bv4hkjv7sn7da261k853xb5899sg")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags '("-DBUILD_SHARED_LIBS:BOOL=YES"))) | ||||
|  |  | |||
|  | @ -157,12 +157,14 @@ which allows users to view a desktop computing environment.") | |||
|     (native-inputs | ||||
|       `(("glib:bin" ,glib "bin") | ||||
|         ("intltool" ,intltool) | ||||
|         ("pkg-config" ,pkg-config))) | ||||
|         ("pkg-config" ,pkg-config) | ||||
|         ("vala" ,vala))) | ||||
|     (arguments | ||||
|       `(#:configure-flags | ||||
|         '("--enable-gstaudio" | ||||
|           "--enable-gstvideo" | ||||
|           "--enable-pulse" | ||||
|           "--enable-vala" | ||||
|           "--enable-introspection") | ||||
|         #:phases | ||||
|          (modify-phases %standard-phases | ||||
|  |  | |||
|  | @ -107,23 +107,14 @@ | |||
| (define-public qemu | ||||
|   (package | ||||
|     (name "qemu") | ||||
|     (version "4.1.0") | ||||
|     (version "4.1.1") | ||||
|     (source (origin | ||||
|              (method url-fetch) | ||||
|              (uri (string-append "https://download.qemu.org/qemu-" | ||||
|                                  version ".tar.xz")) | ||||
|              (sha256 | ||||
|               (base32 | ||||
|                "1ih9v6gxgild3m4g80ld4dr3wp9db3bpy203k73fxgc9hqhn0vk5")) | ||||
|              (patches | ||||
|               (list | ||||
|                ;; Fix an ordering issue with recent kernels, see | ||||
|                ;; <https://bugs.gnu.org/37860>. | ||||
|                (qemu-patch | ||||
|                 "bf9e0313c27d8e6ecd7f7de3d63e1cb25d8f6311" | ||||
|                 "qemu-tests-make-filemonitor-test-more-robust.patch" | ||||
|                 (base32 | ||||
|                  "1242wqpr8id3cn88pzbig3sqh4znml0g0h2mwdmdyhp81blq7s7n")))))) | ||||
|                "1lm1jndfpc5sydwrxyiz5sms414zkcg9jdl0zx318qbjsayxnvzd")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      '(;; Running tests in parallel can occasionally lead to failures, like: | ||||
|  | @ -300,7 +291,12 @@ server and embedded PowerPC, and S390 guests.") | |||
|     ;; 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) | ||||
|                              '("python-wrapper"))))))) | ||||
|                              '("python-wrapper")))) | ||||
|     (inputs | ||||
|      (fold alist-delete (package-inputs qemu) | ||||
|            ;; 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")))))) | ||||
| 
 | ||||
| (define-public libosinfo | ||||
|   (package | ||||
|  | @ -385,6 +381,12 @@ all common programming languages.  Vala bindings are also provided.") | |||
|                             "/share/doc/" ,name "-" ,version) | ||||
|              "--sysconfdir=/etc" | ||||
|              "--localstatedir=/var") | ||||
|        #:make-flags | ||||
|        ;; Treat the kernel headers as system headers to silence | ||||
|        ;; compiler warnings from those. | ||||
|        (list (string-append "C_INCLUDE_PATH=" | ||||
|                             (assoc-ref %build-inputs "kernel-headers") | ||||
|                             "/include")) | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (replace 'install | ||||
|  |  | |||
|  | @ -214,14 +214,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.5") | ||||
|     (version "1.17.6") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://nginx.org/download/nginx-" | ||||
|                                   version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1hqhziic4csci8xs4q8vbzpmj2qjkhmmx68zza7h5bvmbbhkbvk3")))) | ||||
|                 "1dipq90h3n1xdslwbijwlhbk84r7q0bswlbvi970may09lqsbd1w")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (inputs `(("openssl" ,openssl) | ||||
|               ("pcre" ,pcre) | ||||
|  | @ -1341,6 +1341,20 @@ hash/signatures.") | |||
|      "LibYAML is a YAML 1.1 parser and emitter written in C.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public libyaml-2.1 | ||||
|   (package | ||||
|     (inherit libyaml) | ||||
|     (version "0.2.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append | ||||
|              "http://pyyaml.org/download/libyaml/yaml-" | ||||
|              version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1karpcfgacgppa82wm2drcfn2kb6q2wqfykf5nrhy20sci2i2a3q")))))) | ||||
| 
 | ||||
| (define-public libquvi-scripts | ||||
|   (package | ||||
|     (name "libquvi-scripts") | ||||
|  | @ -4176,8 +4190,8 @@ CDF, Atom 0.3, and Atom 1.0 feeds.") | |||
|   (package-with-python2 python-feedparser)) | ||||
| 
 | ||||
| (define-public guix-data-service | ||||
|   (let ((commit "5e2bc7c6e920e1542ab8fde39dbddca443a7cbc8") | ||||
|         (revision "4")) | ||||
|   (let ((commit "23f60a6bbb923a9510d95250b4a1626cb8a84b7f") | ||||
|         (revision "5")) | ||||
|     (package | ||||
|       (name "guix-data-service") | ||||
|       (version (string-append "0.0.1-" revision "." (string-take commit 7))) | ||||
|  | @ -4189,7 +4203,7 @@ CDF, Atom 0.3, and Atom 1.0 feeds.") | |||
|                 (file-name (git-file-name name version)) | ||||
|                 (sha256 | ||||
|                  (base32 | ||||
|                   "0awfvps7k9bpg3gpgc93y401g7pjabx7mr9960vigad8vddhixqi")))) | ||||
|                   "08v6wdj5ia139krplc7y74s4rm1iblqf91713z69yhh5zbkvyxg8")))) | ||||
|       (build-system gnu-build-system) | ||||
|       (arguments | ||||
|        '(#:modules ((guix build utils) | ||||
|  | @ -4199,12 +4213,6 @@ CDF, Atom 0.3, and Atom 1.0 feeds.") | |||
|          #:test-target "check-with-tmp-database" | ||||
|          #:phases | ||||
|          (modify-phases %standard-phases | ||||
|            (add-after 'set-paths 'set-GUIX_ENVIRONMENT | ||||
|              (lambda* (#:key inputs #:allow-other-keys) | ||||
|                ;; This means guix.el finds the Emacs modules | ||||
|                (setenv "GUIX_ENVIRONMENT" | ||||
|                        (assoc-ref inputs "emacs-with-modules")) | ||||
|                #t)) | ||||
|            (add-before 'build 'set-GUILE_AUTO_COMPILE | ||||
|              (lambda _ | ||||
|                ;; To avoid errors relating to guild | ||||
|  | @ -4255,10 +4263,8 @@ CDF, Atom 0.3, and Atom 1.0 feeds.") | |||
|          ("autoconf" ,autoconf) | ||||
|          ("automake" ,automake) | ||||
|          ("ephemeralpg" ,ephemeralpg) | ||||
|          ("emacs-with-modules" ,(directory-union | ||||
|                                  "emacs-union" | ||||
|                                  (list emacs-no-x | ||||
|                                        emacs-htmlize))) | ||||
|          ("emacs-minimal" ,emacs-minimal) | ||||
|          ("emacs-htmlize" ,emacs-htmlize) | ||||
|          ("pkg-config" ,pkg-config))) | ||||
|       (synopsis "Store and provide data about GNU Guix") | ||||
|       (description | ||||
|  |  | |||
|  | @ -24,6 +24,7 @@ | |||
| ;;; Copyright © 2019 Kyle Andrews <kyle.c.andrews@gmail.com> | ||||
| ;;; Copyright © 2019 Ingo Ruhnke <grumbel@gmail.com> | ||||
| ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org> | ||||
| ;;; Copyright © 2019 John Soo <jsoo1@asu.edu> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -649,36 +650,45 @@ tiled on several screens.") | |||
| (define-public xmobar | ||||
|   (package | ||||
|     (name "xmobar") | ||||
|     (version "0.28") | ||||
|     (version "0.31") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "mirror://hackage/package/xmobar/" | ||||
|                                   "xmobar-" version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1xh87asg8y35srvp7d3gyyy4bkxsw122liihxgzgm8pqv2z3h4zd")))) | ||||
|                 "1sbxva4zaj060bigmxivpn4zlz0q1qbq2np8gljdqkjvysjzpbka")))) | ||||
|     (build-system haskell-build-system) | ||||
|     (native-inputs | ||||
|      `(("ghc-hspec" ,ghc-hspec) | ||||
|        ("hspec-discover" ,hspec-discover))) | ||||
|     (inputs | ||||
|      `(("ghc-hinotify" ,ghc-hinotify) | ||||
|      `(("ghc-alsa-core" ,ghc-alsa-core) | ||||
|        ("ghc-alsa-mixer" ,ghc-alsa-mixer) | ||||
|        ("ghc-dbus" ,ghc-dbus) | ||||
|        ("ghc-hinotify" ,ghc-hinotify) | ||||
|        ("ghc-http" ,ghc-http) | ||||
|        ("ghc-http-conduit" ,ghc-http-conduit) | ||||
|        ("ghc-http-types" ,ghc-http-types) | ||||
|        ("ghc-iwlib" ,ghc-iwlib) | ||||
|        ("ghc-libmpd" ,ghc-libmpd) | ||||
|        ("ghc-old-locale" ,ghc-old-locale) | ||||
|        ("ghc-parsec-numbers" ,ghc-parsec-numbers) | ||||
|        ("ghc-regex-compat" ,ghc-regex-compat) | ||||
|        ("ghc-temporary" ,ghc-temporary) | ||||
|        ("ghc-timezone-olson" ,ghc-timezone-olson) | ||||
|        ("ghc-x11" ,ghc-x11) | ||||
|        ("ghc-x11-xft" ,ghc-x11-xft) | ||||
|        ("libxpm" ,libxpm))) | ||||
|     (arguments | ||||
|      `(#:configure-flags | ||||
|        (list (string-append "--flags=" | ||||
|                             (string-join (list "with_inotify" | ||||
|                                                "with_iwlib" | ||||
|                                                "with_utf8" | ||||
|                                                "with_weather" | ||||
|                                                "with_xft" | ||||
|                                                "with_xpm") | ||||
|                                          " "))))) | ||||
|      `(#:configure-flags (list "--flags=all_extensions") | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-before 'build 'patch-test-shebang | ||||
|            (lambda* (#:key inputs #:allow-other-keys) | ||||
|              (substitute* "test/Xmobar/Plugins/Monitors/AlsaSpec.hs" | ||||
|                (("/bin/bash") (which "bash"))) | ||||
|              #t))))) | ||||
|     (home-page "http://xmobar.org") | ||||
|     (synopsis "Minimalistic text based status bar") | ||||
|     (description | ||||
|  |  | |||
|  | @ -1108,6 +1108,49 @@ night to daytime temperature to allow your eyes to slowly adapt.  At night the | |||
| color temperature should be set to match the lamps in your room.") | ||||
|     (license license:gpl3+))) | ||||
| 
 | ||||
| (define-public redshift-wayland | ||||
|   (let ((commit "7da875d34854a6a34612d5ce4bd8718c32bec804") | ||||
|         (revision "1")) | ||||
|     (package | ||||
|       (name "redshift-wayland") | ||||
|       (version (string-append "1.12-" | ||||
|                               revision "." (string-take commit 7))) | ||||
|       (source (origin | ||||
|                 (method git-fetch) | ||||
|                 (uri (git-reference | ||||
|                       (url "https://github.com/minus7/redshift.git") | ||||
|                       (commit commit))) | ||||
|                 (file-name (string-append name "-" version)) | ||||
|                 (sha256 | ||||
|                  (base32 | ||||
|                   "0nbkcw3avmzjg1jr1g9yfpm80kzisy55idl09b6wvzv2sz27n957")))) | ||||
|       (build-system gnu-build-system) | ||||
|       (native-inputs | ||||
|        `(("autoconf" ,autoconf) | ||||
|          ("automake" ,automake) | ||||
|          ("libtool" ,libtool) | ||||
|          ("pkg-config" ,pkg-config) | ||||
|          ("intltool" ,intltool))) | ||||
|       (inputs | ||||
|        `(("libdrm" ,libdrm) | ||||
|          ("libx11" ,libx11) | ||||
|          ("libxcb" ,libxcb) | ||||
|          ("libxxf86vm" ,libxxf86vm) | ||||
|          ("glib" ,glib)                 ; for Geoclue2 support | ||||
|          ("wayland" ,wayland))) | ||||
|       (home-page "https://github.com/minus7/redshift") | ||||
|       (synopsis "Adjust the color temperature of your screen (with Wayland support)") | ||||
|       (description | ||||
|        "Redshift adjusts the color temperature according to the position of the | ||||
| sun.  A different color temperature is set during night and daytime.  During | ||||
| twilight and early morning, the color temperature transitions smoothly from | ||||
| night to daytime temperature to allow your eyes to slowly adapt.  At night the | ||||
| color temperature should be set to match the lamps in your room. | ||||
| 
 | ||||
| This is a fork with added support for Wayland using the wlr-gamma-control | ||||
| protocol.") | ||||
|       (license license:gpl3+)))) | ||||
| 
 | ||||
| (define-public xscreensaver | ||||
|   (package | ||||
|     (name "xscreensaver") | ||||
|  |  | |||
|  | @ -59,8 +59,7 @@ | |||
|         (provision '(sysctl)) | ||||
|         (start #~(lambda _ | ||||
|                    (zero? (system* #$sysctl "--load" #$sysctl.conf)))) | ||||
|         (stop #~(const #t)) | ||||
|         (respawn? #f)))))) | ||||
|         (one-shot? #t)))))) | ||||
| 
 | ||||
| (define sysctl-service-type | ||||
|   (service-type | ||||
|  |  | |||
|  | @ -678,7 +678,7 @@ to USB sticks meant to be read-only." | |||
|                (initrd (lambda (file-systems . rest) | ||||
|                          (apply (operating-system-initrd os) | ||||
|                                 file-systems | ||||
|                                 #:volatile-root? #t | ||||
|                                 #:volatile-root? volatile? | ||||
|                                 rest))) | ||||
| 
 | ||||
|                (bootloader (if (string=? "iso9660" file-system-type) | ||||
|  |  | |||
|  | @ -267,7 +267,7 @@ packages defined in installation-os." | |||
| 
 | ||||
| (define* (qemu-command/writable-image image #:key (memory-size 256)) | ||||
|   "Return as a monadic value the command to run QEMU on a writable copy of | ||||
| IMAGE, a disk image.  The QEMU VM is has access to MEMORY-SIZE MiB of RAM." | ||||
| IMAGE, a disk image.  The QEMU VM has access to MEMORY-SIZE MiB of RAM." | ||||
|   (mlet %store-monad ((system (current-system))) | ||||
|     (return #~(let ((image #$image)) | ||||
|                 ;; First we need a writable copy of the image. | ||||
|  |  | |||
|  | @ -187,10 +187,13 @@ name decoding bug described at | |||
| DIRECTORY.  Those authority certificates are checked when | ||||
| 'peer-certificate-status' is later called." | ||||
|   (let ((cred  (make-certificate-credentials)) | ||||
|         (files (or (scandir directory | ||||
|                             (lambda (file) | ||||
|                               (string-suffix? ".pem" file))) | ||||
|                    '()))) | ||||
|         (files (match (scandir directory (cut string-suffix? ".pem" <>)) | ||||
|                  ((or #f ()) | ||||
|                   ;; Some distros provide nothing but bundles (*.crt) under | ||||
|                   ;; /etc/ssl/certs, so look for them. | ||||
|                   (or (scandir directory (cut string-suffix? ".crt" <>)) | ||||
|                       '())) | ||||
|                  (pem pem)))) | ||||
|     (for-each (lambda (file) | ||||
|                 (let ((file (string-append directory "/" file))) | ||||
|                   ;; Protect against dangling symlinks. | ||||
|  | @ -198,7 +201,7 @@ DIRECTORY.  Those authority certificates are checked when | |||
|                     (set-certificate-credentials-x509-trust-file!* | ||||
|                      cred file | ||||
|                      x509-certificate-format/pem)))) | ||||
|               (or files '())) | ||||
|               files) | ||||
|     cred)) | ||||
| 
 | ||||
| (define (peer-certificate session) | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> | ||||
| ;;; Copyright © 2016 David Thompson <davet@gnu.org> | ||||
| ;;; Copyright © 2016 Alex Kost <alezost@gmail.com> | ||||
| ;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;;; Copyright © 2018, 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -74,40 +74,14 @@ archive, a directory, or an Emacs Lisp file." | |||
|         #t) | ||||
|       (gnu:unpack #:source source))) | ||||
| 
 | ||||
| (define* (set-emacs-load-path #:key source inputs #:allow-other-keys) | ||||
|   (define (inputs->directories inputs) | ||||
|     "Extract the directory part from INPUTS." | ||||
|     (match inputs | ||||
|       (((names . directories) ...) directories))) | ||||
| 
 | ||||
|   (define (input-directory->el-directory input-directory) | ||||
|     "Return the correct Emacs Lisp directory in INPUT-DIRECTORY or #f, if there | ||||
| is no Emacs Lisp directory." | ||||
|     (let ((legacy-elisp-directory (string-append input-directory %legacy-install-suffix)) | ||||
|           (guix-elisp-directory | ||||
|            (string-append | ||||
|             input-directory %install-suffix "/" | ||||
|             (store-directory->elpa-name-version input-directory)))) | ||||
|       (cond | ||||
|        ((file-exists? guix-elisp-directory) guix-elisp-directory) | ||||
|        ((file-exists? legacy-elisp-directory) legacy-elisp-directory) | ||||
|        (else #f)))) | ||||
| 
 | ||||
|   (define (input-directories->el-directories input-directories) | ||||
|     "Return the list of Emacs Lisp directories in INPUT-DIRECTORIES." | ||||
|     (filter-map input-directory->el-directory input-directories)) | ||||
| 
 | ||||
|   "Set the EMACSLOADPATH environment variable so that dependencies are found." | ||||
| (define* (add-source-to-load-path #:key dummy #:allow-other-keys) | ||||
|   "Augment the EMACSLOADPATH environment variable with the source directory." | ||||
|   (let* ((source-directory (getcwd)) | ||||
|          (input-elisp-directories (input-directories->el-directories | ||||
|                                    (inputs->directories inputs))) | ||||
|          (emacs-load-path-value | ||||
|           (string-join | ||||
|            (append input-elisp-directories (list source-directory)) | ||||
|            ":" 'suffix))) | ||||
|          (emacs-load-path-value (string-append (getenv "EMACSLOADPATH") ":" | ||||
|                                                source-directory))) | ||||
|     (setenv "EMACSLOADPATH" emacs-load-path-value) | ||||
|     (format #t "environment variable `EMACSLOADPATH' set to ~a\n" | ||||
|             emacs-load-path-value))) | ||||
|     (format #t "source directory ~s appended to the `EMACSLOADPATH' \ | ||||
| environment variable\n" source-directory))) | ||||
| 
 | ||||
| (define* (build #:key outputs inputs #:allow-other-keys) | ||||
|   "Compile .el files." | ||||
|  | @ -269,7 +243,7 @@ second hyphen.  This corresponds to 'name-version' as used in ELPA packages." | |||
| (define %standard-phases | ||||
|   (modify-phases gnu:%standard-phases | ||||
|     (replace 'unpack unpack) | ||||
|     (add-after 'unpack 'set-emacs-load-path set-emacs-load-path) | ||||
|     (add-after 'unpack 'add-source-to-load-path add-source-to-load-path) | ||||
|     (delete 'bootstrap) | ||||
|     (delete 'configure) | ||||
|     ;; Move the build phase after install: the .el files are byte compiled | ||||
|  |  | |||
|  | @ -52,8 +52,8 @@ | |||
|             hackage-package?)) | ||||
| 
 | ||||
| (define ghc-standard-libraries | ||||
|   ;; List of libraries distributed with ghc (8.4.3). | ||||
|   ;; Contents of ...-ghc-8.4.3/lib/ghc-8.4.3. | ||||
|   ;; List of libraries distributed with ghc (8.6.5). | ||||
|   ;; Contents of ...-ghc-8.6.5/lib/ghc-8.6.5. | ||||
|   '("ghc" | ||||
|     "cabal" ;; in the output of `ghc-pkg list` Cabal is uppercased, but | ||||
|             ;; hackage-name->package-name takes this into account. | ||||
|  | @ -70,11 +70,13 @@ | |||
|     "ghc-boot" | ||||
|     "ghc-boot-th" | ||||
|     "ghc-compact" | ||||
|     "ghc-heap" | ||||
|     "ghc-prim" | ||||
|     "ghci" | ||||
|     "haskeline" | ||||
|     "hpc" | ||||
|     "integer-gmp" | ||||
|     "libiserv" | ||||
|     "mtl" | ||||
|     "parsec" | ||||
|     "pretty" | ||||
|  |  | |||
|  | @ -89,6 +89,7 @@ | |||
|             gexp->derivation-in-inferior | ||||
| 
 | ||||
|             %inferior-cache-directory | ||||
|             cached-channel-instance | ||||
|             inferior-for-channels)) | ||||
| 
 | ||||
| ;;; Commentary: | ||||
|  | @ -635,6 +636,58 @@ failing when GUIX is too old and lacks the 'guix repl' command." | |||
|   (make-parameter (string-append (cache-directory #:ensure? #f) | ||||
|                                  "/inferiors"))) | ||||
| 
 | ||||
| (define* (cached-channel-instance store | ||||
|                                   channels | ||||
|                                   #:key | ||||
|                                   (cache-directory (%inferior-cache-directory)) | ||||
|                                   (ttl (* 3600 24 30))) | ||||
|   "Return a directory containing a guix filetree defined by CHANNELS, a list of channels. | ||||
| The directory is a subdirectory of CACHE-DIRECTORY, where entries can be reclaimed after TTL seconds. | ||||
| This procedure opens a new connection to the build daemon." | ||||
|   (define instances | ||||
|     (latest-channel-instances store channels)) | ||||
| 
 | ||||
|   (define key | ||||
|     (bytevector->base32-string | ||||
|      (sha256 | ||||
|       (string->utf8 | ||||
|        (string-concatenate (map channel-instance-commit instances)))))) | ||||
| 
 | ||||
|   (define cached | ||||
|     (string-append cache-directory "/" key)) | ||||
| 
 | ||||
|   (define (base32-encoded-sha256? str) | ||||
|     (= (string-length str) 52)) | ||||
| 
 | ||||
|   (define (cache-entries directory) | ||||
|     (map (lambda (file) | ||||
|            (string-append directory "/" file)) | ||||
|          (scandir directory base32-encoded-sha256?))) | ||||
| 
 | ||||
|   (define symlink* | ||||
|     (lift2 symlink %store-monad)) | ||||
| 
 | ||||
|   (define add-indirect-root* | ||||
|     (store-lift add-indirect-root)) | ||||
| 
 | ||||
|   (mkdir-p cache-directory) | ||||
|   (maybe-remove-expired-cache-entries cache-directory | ||||
|                                       cache-entries | ||||
|                                       #:entry-expiration | ||||
|                                       (file-expiration-time ttl)) | ||||
| 
 | ||||
|   (if (file-exists? cached) | ||||
|       cached | ||||
|       (run-with-store store | ||||
|         (mlet %store-monad ((profile | ||||
|                              (channel-instances->derivation instances))) | ||||
|           (mbegin %store-monad | ||||
|             (show-what-to-build* (list profile)) | ||||
|             (built-derivations (list profile)) | ||||
|             (symlink* (derivation->output-path profile) cached) | ||||
|             (add-indirect-root* cached) | ||||
|             (return cached)))))) | ||||
| 
 | ||||
| (define* (inferior-for-channels channels | ||||
|                                 #:key | ||||
|                                 (cache-directory (%inferior-cache-directory)) | ||||
|  | @ -645,48 +698,10 @@ procedure opens a new connection to the build daemon. | |||
| 
 | ||||
| This is a convenience procedure that people may use in manifests passed to | ||||
| 'guix package -m', for instance." | ||||
|   (with-store store | ||||
|     (let () | ||||
|       (define instances | ||||
|         (latest-channel-instances store channels)) | ||||
| 
 | ||||
|       (define key | ||||
|         (bytevector->base32-string | ||||
|          (sha256 | ||||
|           (string->utf8 | ||||
|            (string-concatenate (map channel-instance-commit instances)))))) | ||||
| 
 | ||||
|       (define cached | ||||
|         (string-append cache-directory "/" key)) | ||||
| 
 | ||||
|       (define (base32-encoded-sha256? str) | ||||
|         (= (string-length str) 52)) | ||||
| 
 | ||||
|       (define (cache-entries directory) | ||||
|         (map (lambda (file) | ||||
|                (string-append directory "/" file)) | ||||
|              (scandir directory base32-encoded-sha256?))) | ||||
| 
 | ||||
|       (define symlink* | ||||
|         (lift2 symlink %store-monad)) | ||||
| 
 | ||||
|       (define add-indirect-root* | ||||
|         (store-lift add-indirect-root)) | ||||
| 
 | ||||
|       (mkdir-p cache-directory) | ||||
|       (maybe-remove-expired-cache-entries cache-directory | ||||
|                                           cache-entries | ||||
|                                           #:entry-expiration | ||||
|                                           (file-expiration-time ttl)) | ||||
| 
 | ||||
|       (if (file-exists? cached) | ||||
|           (open-inferior cached) | ||||
|           (run-with-store store | ||||
|             (mlet %store-monad ((profile | ||||
|                                  (channel-instances->derivation instances))) | ||||
|               (mbegin %store-monad | ||||
|                 (show-what-to-build* (list profile)) | ||||
|                 (built-derivations (list profile)) | ||||
|                 (symlink* (derivation->output-path profile) cached) | ||||
|                 (add-indirect-root* cached) | ||||
|                 (return (open-inferior cached))))))))) | ||||
|   (define cached | ||||
|     (with-store store | ||||
|       (cached-channel-instance store | ||||
|                                channels | ||||
|                                #:cache-directory cache-directory | ||||
|                                #:ttl ttl))) | ||||
|   (open-inferior cached)) | ||||
|  |  | |||
|  | @ -802,7 +802,15 @@ build---packages, gexps, derivations, and so on." | |||
|   (append-map (match-lambda | ||||
|                 (('argument . (? string? spec)) | ||||
|                  (cond ((derivation-path? spec) | ||||
|                         (list (read-derivation-from-file spec))) | ||||
|                         (catch 'system-error | ||||
|                           (lambda () | ||||
|                             (list (read-derivation-from-file spec))) | ||||
|                           (lambda args | ||||
|                             ;; Non-existent .drv files can be substituted down | ||||
|                             ;; the road, so don't error out. | ||||
|                             (if (= ENOENT (system-error-errno args)) | ||||
|                                 '() | ||||
|                                 (apply throw args))))) | ||||
|                        ((store-path? spec) | ||||
|                         ;; Nothing to do; maybe for --log-file. | ||||
|                         '()) | ||||
|  | @ -934,7 +942,11 @@ needed." | |||
|                                    '()))) | ||||
|                    (items (filter-map (match-lambda | ||||
|                                         (('argument . (? store-path? file)) | ||||
|                                          (and (not (derivation-path? file)) | ||||
|                                          ;; If FILE is a .drv that's not in | ||||
|                                          ;; store, keep it so that it can be | ||||
|                                          ;; substituted. | ||||
|                                          (and (or (not (derivation-path? file)) | ||||
|                                                   (not (file-exists? file))) | ||||
|                                               file)) | ||||
|                                         (_ #f)) | ||||
|                                       opts)) | ||||
|  | @ -965,7 +977,8 @@ needed." | |||
|                                (map (compose list derivation-file-name) drv) | ||||
|                                roots)) | ||||
|                     ((not (assoc-ref opts 'dry-run?)) | ||||
|                      (and (build-derivations store drv mode) | ||||
|                      (and (build-derivations store (append drv items) | ||||
|                                              mode) | ||||
|                           (for-each show-derivation-outputs drv) | ||||
|                           (for-each (cut register-root store <> <>) | ||||
|                                     (map (lambda (drv) | ||||
|  |  | |||
|  | @ -62,6 +62,10 @@ Perform the deployment specified by FILE.\n")) | |||
|                  (lambda args | ||||
|                    (show-help) | ||||
|                    (exit 0))) | ||||
|          (option '(#\V "version") #f #f | ||||
|                  (lambda args | ||||
|                    (show-version-and-exit "guix deploy"))) | ||||
| 
 | ||||
|          (option '(#\s "system") #t #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (alist-cons 'system arg | ||||
|  |  | |||
|  | @ -800,6 +800,10 @@ last resort for relocation." | |||
|          (option '(#\n "dry-run") #f #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (alist-cons 'dry-run? #t (alist-cons 'graft? #f result)))) | ||||
|          (option '(#\d "derivation") #f #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (alist-cons 'derivation-only? #t result))) | ||||
| 
 | ||||
|          (option '(#\f "format") #t #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (alist-cons 'format (string->symbol arg) result))) | ||||
|  | @ -918,6 +922,8 @@ Create a bundle of PACKAGE.\n")) | |||
|   -r, --root=FILE        make FILE a symlink to the result, and register it | ||||
|                          as a garbage collector root")) | ||||
|   (display (G_ " | ||||
|   -d, --derivation       return the derivation of the pack")) | ||||
|   (display (G_ " | ||||
|   -v, --verbosity=LEVEL  use the given verbosity LEVEL")) | ||||
|   (display (G_ " | ||||
|       --bootstrap        use the bootstrap binaries to build the pack")) | ||||
|  | @ -1002,6 +1008,7 @@ Create a bundle of PACKAGE.\n")) | |||
|                                           (assoc-ref opts 'system) | ||||
|                                           #:graft? (assoc-ref opts 'graft?)))) | ||||
|           (let* ((dry-run?    (assoc-ref opts 'dry-run?)) | ||||
|                  (derivation? (assoc-ref opts 'derivation-only?)) | ||||
|                  (relocatable? (assoc-ref opts 'relocatable?)) | ||||
|                  (proot?      (eq? relocatable? 'proot)) | ||||
|                  (manifest    (let ((manifest (manifest-from-args store opts))) | ||||
|  | @ -1070,11 +1077,15 @@ Create a bundle of PACKAGE.\n")) | |||
|                                                      #:archiver | ||||
|                                                      archiver))) | ||||
|                 (mbegin %store-monad | ||||
|                   (show-what-to-build* (list drv) | ||||
|                                        #:use-substitutes? | ||||
|                                        (assoc-ref opts 'substitutes?) | ||||
|                                        #:dry-run? dry-run?) | ||||
|                   (munless dry-run? | ||||
|                   (munless derivation? | ||||
|                     (show-what-to-build* (list drv) | ||||
|                                          #:use-substitutes? | ||||
|                                          (assoc-ref opts 'substitutes?) | ||||
|                                          #:dry-run? dry-run?)) | ||||
|                   (mwhen derivation? | ||||
|                     (return (format #t "~a~%" | ||||
|                                     (derivation-file-name drv)))) | ||||
|                   (munless (or derivation? dry-run?) | ||||
|                     (built-derivations (list drv)) | ||||
|                     (mwhen gc-root | ||||
|                       (register-root* (match (derivation->output-paths drv) | ||||
|  |  | |||
|  | @ -36,6 +36,8 @@ | |||
|   #:autoload   (guix inferior) (open-inferior) | ||||
|   #:use-module (guix scripts build) | ||||
|   #:autoload   (guix build utils) (which) | ||||
|   #:use-module ((guix build syscalls) | ||||
|                 #:select (with-file-lock/no-wait)) | ||||
|   #:use-module (guix git) | ||||
|   #:use-module (git) | ||||
|   #:use-module (gnu packages) | ||||
|  | @ -56,6 +58,8 @@ | |||
|   #:use-module (ice-9 vlist) | ||||
|   #:use-module (ice-9 format) | ||||
|   #:export (display-profile-content | ||||
|             channel-list | ||||
|             with-git-error-handling | ||||
|             guix-pull)) | ||||
| 
 | ||||
|  | ||||
|  | @ -78,8 +82,6 @@ | |||
| (define (show-help) | ||||
|   (display (G_ "Usage: guix pull [OPTION]... | ||||
| Download and deploy the latest version of Guix.\n")) | ||||
|   (display (G_ " | ||||
|       --verbose          produce verbose output")) | ||||
|   (display (G_ " | ||||
|   -C, --channels=FILE    deploy the channels defined in FILE")) | ||||
|   (display (G_ " | ||||
|  | @ -120,10 +122,7 @@ Download and deploy the latest version of Guix.\n")) | |||
| 
 | ||||
| (define %options | ||||
|   ;; Specifications of the command-line options. | ||||
|   (cons* (option '("verbose") #f #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (alist-cons 'verbose? #t result))) | ||||
|          (option '(#\C "channels") #t #f | ||||
|   (cons* (option '(#\C "channels") #t #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (alist-cons 'channel-file arg result))) | ||||
|          (option '(#\l "list-generations") #f #t | ||||
|  | @ -382,7 +381,7 @@ previous generation.  Return true if there are news to display." | |||
|   (display-channel-news profile)) | ||||
| 
 | ||||
| (define* (build-and-install instances profile | ||||
|                             #:key use-substitutes? verbose? dry-run?) | ||||
|                             #:key use-substitutes? dry-run?) | ||||
|   "Build the tool from SOURCE, and install it in PROFILE.  When DRY-RUN? is | ||||
| true, display what would be built without actually building it." | ||||
|   (define update-profile | ||||
|  | @ -818,13 +817,16 @@ Use '~/.config/guix/channels.scm' instead.")) | |||
|                                        (if (assoc-ref opts 'bootstrap?) | ||||
|                                            %bootstrap-guile | ||||
|                                            (canonical-package guile-2.2))))) | ||||
|                         (run-with-store store | ||||
|                           (build-and-install instances profile | ||||
|                                              #:dry-run? | ||||
|                                              (assoc-ref opts 'dry-run?) | ||||
|                                              #:use-substitutes? | ||||
|                                              (assoc-ref opts 'substitutes?) | ||||
|                                              #:verbose? | ||||
|                                              (assoc-ref opts 'verbose?)))))))))))))) | ||||
|                         (with-file-lock/no-wait (string-append profile ".lock") | ||||
|                           (lambda (key . args) | ||||
|                             (leave (G_ "profile ~a is locked by another process~%") | ||||
|                                    profile)) | ||||
| 
 | ||||
|                           (run-with-store store | ||||
|                             (build-and-install instances profile | ||||
|                                                #:dry-run? | ||||
|                                                (assoc-ref opts 'dry-run?) | ||||
|                                                #:use-substitutes? | ||||
|                                                (assoc-ref opts 'substitutes?))))))))))))))) | ||||
| 
 | ||||
| ;;; pull.scm ends here | ||||
|  |  | |||
							
								
								
									
										135
									
								
								guix/scripts/time-machine.scm
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										135
									
								
								guix/scripts/time-machine.scm
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,135 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2019 Konrad Hinsen <konrad.hinsen@fastmail.net> | ||||
| ;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
| ;;; GNU Guix is free software; you can redistribute it and/or modify it | ||||
| ;;; under the terms of the GNU General Public License as published by | ||||
| ;;; the Free Software Foundation; either version 3 of the License, or (at | ||||
| ;;; your option) any later version. | ||||
| ;;; | ||||
| ;;; GNU Guix is distributed in the hope that it will be useful, but | ||||
| ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| ;;; GNU General Public License for more details. | ||||
| ;;; | ||||
| ;;; You should have received a copy of the GNU General Public License | ||||
| ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>. | ||||
| 
 | ||||
| (define-module (guix scripts time-machine) | ||||
|   #:use-module (guix ui) | ||||
|   #:use-module (guix scripts) | ||||
|   #:use-module (guix inferior) | ||||
|   #:use-module (guix channels) | ||||
|   #:use-module (guix store) | ||||
|   #:use-module (guix status) | ||||
|   #:use-module ((guix utils) | ||||
|                 #:select (%current-system)) | ||||
|   #:use-module ((guix scripts pull) | ||||
|                 #:select (with-git-error-handling channel-list)) | ||||
|   #:use-module ((guix scripts build) | ||||
|                 #:select (%standard-build-options | ||||
|                           show-build-options-help | ||||
|                           set-build-options-from-command-line)) | ||||
|   #:use-module (ice-9 match) | ||||
|   #:use-module (srfi srfi-1) | ||||
|   #:use-module (srfi srfi-11) | ||||
|   #:use-module (srfi srfi-26) | ||||
|   #:use-module (srfi srfi-37) | ||||
|   #:export (guix-time-machine)) | ||||
| 
 | ||||
|  | ||||
| ;;; | ||||
| ;;; Command-line options. | ||||
| ;;; | ||||
| 
 | ||||
| (define (show-help) | ||||
|   (display (G_ "Usage: guix time-machine [OPTION] -- COMMAND ARGS... | ||||
| Execute COMMAND ARGS... in an older version of Guix.\n")) | ||||
|   (display (G_ " | ||||
|   -C, --channels=FILE    deploy the channels defined in FILE")) | ||||
|   (display (G_ " | ||||
|       --url=URL          use the Git repository at URL")) | ||||
|   (display (G_ " | ||||
|       --commit=COMMIT    use the specified COMMIT")) | ||||
|   (display (G_ " | ||||
|       --branch=BRANCH    use the tip of the specified BRANCH")) | ||||
|   (newline) | ||||
|   (show-build-options-help) | ||||
|   (newline) | ||||
|   (display (G_ " | ||||
|   -h, --help             display this help and exit")) | ||||
|   (display (G_ " | ||||
|   -V, --version          display version information and exit")) | ||||
|   (newline) | ||||
|   (show-bug-report-information)) | ||||
| 
 | ||||
| (define %options | ||||
|   ;; Specifications of the command-line options. | ||||
|   (cons* (option '(#\C "channels") #t #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (alist-cons 'channel-file arg result))) | ||||
|          (option '("url") #t #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (alist-cons 'repository-url arg | ||||
|                                (alist-delete 'repository-url result)))) | ||||
|          (option '("commit") #t #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (alist-cons 'ref `(commit . ,arg) result))) | ||||
|          (option '("branch") #t #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (alist-cons 'ref `(branch . ,arg) result))) | ||||
|          (option '(#\h "help") #f #f | ||||
|                  (lambda args | ||||
|                    (show-help) | ||||
|                    (exit 0))) | ||||
|          (option '(#\V "version") #f #f | ||||
|                  (lambda args | ||||
|                    (show-version-and-exit "guix time-machine"))) | ||||
| 
 | ||||
|          %standard-build-options)) | ||||
| 
 | ||||
| (define %default-options | ||||
|   ;; Alist of default option values. | ||||
|   `((system . ,(%current-system)) | ||||
|     (substitutes? . #t) | ||||
|     (build-hook? . #t) | ||||
|     (print-build-trace? . #t) | ||||
|     (print-extended-build-trace? . #t) | ||||
|     (multiplexed-build-output? . #t) | ||||
|     (graft? . #t) | ||||
|     (debug . 0) | ||||
|     (verbosity . 1))) | ||||
| 
 | ||||
| (define (parse-args args) | ||||
|   "Parse the list of command line arguments ARGS." | ||||
|   ;; The '--' token is used to separate the command to run from the rest of | ||||
|   ;; the operands. | ||||
|   (let-values (((args command) (break (cut string=? "--" <>) args))) | ||||
|     (let ((opts (parse-command-line args %options | ||||
|                                     (list %default-options)))) | ||||
|       (match command | ||||
|         (() opts) | ||||
|         (("--") opts) | ||||
|         (("--" command ...) (alist-cons 'exec command opts)))))) | ||||
| 
 | ||||
|  | ||||
| ;;; | ||||
| ;;; Entry point. | ||||
| ;;; | ||||
| 
 | ||||
| (define (guix-time-machine . args) | ||||
|   (with-error-handling | ||||
|     (with-git-error-handling | ||||
|      (let* ((opts         (parse-args args)) | ||||
|             (channels     (channel-list opts)) | ||||
|             (command-line (assoc-ref opts 'exec))) | ||||
|        (when command-line | ||||
|          (let* ((directory | ||||
|                  (with-store store | ||||
|                    (with-status-verbosity (assoc-ref opts 'verbosity) | ||||
|                      (set-build-options-from-command-line store opts) | ||||
|                      (cached-channel-instance store channels)))) | ||||
|                 (executable (string-append directory "/bin/guix"))) | ||||
|            (apply execl (cons* executable executable command-line)))))))) | ||||
|  | @ -782,13 +782,11 @@ be determined." | |||
|           ;; the absolute file name by looking at %LOAD-PATH; doing this at | ||||
|           ;; run time rather than expansion time is necessary to allow files | ||||
|           ;; to be moved on the file system. | ||||
|           (cond ((not file-name) | ||||
|                  #f)                ;raising an error would upset Geiser users | ||||
|                 ((string-prefix? "/" file-name) | ||||
|                  (dirname file-name)) | ||||
|                 (else | ||||
|                  #`(absolute-dirname #,file-name)))) | ||||
|          (#f | ||||
|           (if (string-prefix? "/" file-name) | ||||
|               (dirname file-name) | ||||
|               #`(absolute-dirname #,file-name))) | ||||
|          ((or ('filename . #f) #f) | ||||
|           ;; raising an error would upset Geiser users | ||||
|           #f)))))) | ||||
| 
 | ||||
| ;; A source location. | ||||
|  |  | |||
|  | @ -36,6 +36,19 @@ guix build -e '(@@ (gnu packages bootstrap) %bootstrap-guile)' |	\ | |||
| guix build hello -d |				\ | ||||
|     grep -e '-hello-[0-9\.]\+\.drv$' | ||||
| 
 | ||||
| # Passing a .drv. | ||||
| drv="`guix build -e '(@@ (gnu packages bootstrap) %bootstrap-guile)' -d`" | ||||
| out="`guix build "$drv"`" | ||||
| out2="`guix build -e '(@@ (gnu packages bootstrap) %bootstrap-guile)'`" | ||||
| test "$out" = "$out2" | ||||
| 
 | ||||
| # Passing the name of a .drv that doesn't exist.  The daemon should try to | ||||
| # substitute the .drv.  Here we just look for the "cannot build missing | ||||
| # derivation" error that indicates that the daemon did try to substitute the | ||||
| # .drv. | ||||
| guix build "$NIX_STORE_DIR/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-foo.drv" 2>&1 \ | ||||
|     | grep "missing derivation" | ||||
| 
 | ||||
| # Passing a URI. | ||||
| GUIX_DAEMON_SOCKET="file://$GUIX_STATE_DIRECTORY/daemon-socket/socket"	\ | ||||
| guix build -e '(@@ (gnu packages bootstrap) %bootstrap-guile)' | ||||
|  |  | |||
|  | @ -36,6 +36,10 @@ export GUIX_BUILD_OPTIONS | |||
| test_directory="`mktemp -d`" | ||||
| trap 'chmod -Rf +w "$test_directory"; rm -rf "$test_directory"' EXIT | ||||
| 
 | ||||
| # Compute the derivation of a pack. | ||||
| drv="`guix pack coreutils -d --no-grafts`" | ||||
| guix gc -R "$drv" | grep "`guix build coreutils -d --no-grafts`" | ||||
| 
 | ||||
| # Build a tarball with no compression. | ||||
| guix pack --compression=none --bootstrap guile-bootstrap | ||||
| 
 | ||||
|  |  | |||
		Reference in a new issue