From 0f21557ce8c8df8b53f3e943b84f40f68ae0d593 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 15 Oct 2015 17:21:08 -0500 Subject: [PATCH 001/194] gnu: Add xlsfonts. * gnu/packages/xorg.scm (xlsfonts): New variable. --- gnu/packages/xorg.scm | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index efef1eadc2..92f82f29b2 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014 Andreas Enge ;;; Copyright © 2014, 2015 Mark H Weaver -;;; Copyright © 2014 Eric Bavier +;;; Copyright © 2014, 2015 Eric Bavier ;;; Copyright © 2015 Ludovic Courtès ;;; Copyright © 2015 Eric Dvorsak ;;; @@ -3826,6 +3826,34 @@ running on X server.") (license license:x11))) +(define-public xlsfonts + (package + (name "xlsfonts") + (version "1.0.5") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/app/xlsfonts-" + version + ".tar.bz2")) + (sha256 + (base32 + "1yi774g6r1kafsbnxbkrwyndd3i60362ck1fps9ywz076pn5naa0")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) + ("libx11" ,libx11))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://www.x.org/wiki/") + (synopsis "List fonts available from an X server") + (description + "xlsfonts lists fonts available from an X server via the X11 core +protocol.") + (license license:x11))) + + (define-public xmodmap (package (name "xmodmap") From bf9655f57d2442d56661594b80f6d0031ca0ae73 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 19 Oct 2015 06:44:23 -0500 Subject: [PATCH 002/194] font-alias: Install dummy fonts.dir files. * gnu/packages/xorg.scm (font-alias)[arguments]: New 'install-fonts-dir' phase. --- gnu/packages/xorg.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 92f82f29b2..b39bbd436f 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -413,6 +413,23 @@ provided.") "16ic8wfwwr3jicaml7b5a0sk6plcgc1kg84w02881yhwmqm3nicb")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) + (arguments + `(#:phases (modify-phases %standard-phases + (add-after + 'install 'install-fonts-dir + ;; The X font server will not add directories to the font + ;; path unless they contain a "fonts.dir" file, so add some + ;; dummy files. + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (for-each (lambda (d) + (call-with-output-file + (string-append out "/share/fonts/X11" + "/" d "/fonts.dir") + (lambda (p) + (format p "0~%")))) + '("75dpi" "100dpi" "misc" "cyrillic")) + #t)))))) (home-page "http://www.x.org/wiki/") (synopsis "Xorg font aliases") (description From d1ccd094f95ffb014275b7136c4c28f481d6bbb4 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 19 Oct 2015 06:45:31 -0500 Subject: [PATCH 003/194] services: xorg: Include font-alias in default FontPath. * gnu/services/xorg.scm (xorg-configuration-file): Add font-alias directories to xserver.conf FontPath. --- gnu/services/xorg.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index 812cb3f725..3a57891a96 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -89,6 +89,10 @@ EndSection")) (apply mixed-text-file "xserver.conf" " Section \"Files\" + FontPath \"" font-alias "/share/fonts/X11/75dpi\" + FontPath \"" font-alias "/share/fonts/X11/100dpi\" + FontPath \"" font-alias "/share/fonts/X11/misc\" + FontPath \"" font-alias "/share/fonts/X11/cyrillic\" FontPath \"" font-adobe75dpi "/share/fonts/X11/75dpi\" ModulePath \"" xf86-video-vesa "/lib/xorg/modules/drivers\" ModulePath \"" xf86-video-fbdev "/lib/xorg/modules/drivers\" From 45e1096896700dab949770a4e136448ee06bf510 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 15 Oct 2015 17:34:26 -0500 Subject: [PATCH 004/194] gnu: Add evilwm. * gnu/packages/wm.scm (evilwm): New variable. --- gnu/packages/wm.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index e0859ccf30..7f614e18c8 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -256,3 +256,45 @@ tiled on several screens.") "Third party tiling algorithms, configurations, and scripts to Xmonad, a tiling window manager for X.") (license bsd-3))) + +(define-public evilwm + (package + (name "evilwm") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.6809.org.uk/evilwm/evilwm-" + version ".tar.gz")) + (sha256 + (base32 + "0ak0yajzk3v4dg5wmaghv6acf7v02a4iw8qxmq5yw5ard8lrqn3r")))) + (build-system gnu-build-system) + (inputs + `(("libx11" ,libx11) + ("libxext" ,libxext) + ("libxrandr" ,libxrandr))) + (arguments + `(#:modules ((srfi srfi-26) + (guix build utils) + (guix build gnu-build-system)) + #:make-flags (let ((inputs (map (cut assoc-ref %build-inputs <>) + '("libx11" "libxext" "libxrandr"))) + (join (lambda (proc strs) + (string-join (map proc strs) " "))) + (dash-I (cut string-append "-I" <> "/include")) + (dash-L (cut string-append "-L" <> "/lib"))) + `("desktopfilesdir=$(prefix)/share/xsessions" + ,(string-append "prefix=" (assoc-ref %outputs "out")) + ,(string-append "CPPFLAGS=" (join dash-I inputs)) + ,(string-append "LDFLAGS=" (join dash-L inputs)))) + #:tests? #f ;no tests + #:phases (modify-phases %standard-phases + (delete 'configure)))) ;no configure script + (home-page "http://www.6809.org.uk/evilwm/") + (synopsis "Minimalist window manager for the X Window System") + (description + "evilwm is a minimalist window manager based on aewm, extended to feature +many keyboard controls with repositioning and maximize toggles, solid window +drags, snap-to-border support, and virtual desktops.") + (license (x11-style "file:///README")))) From cbaf0f11ddbe4228ddd3c81af18702ac86ae361c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 21 Oct 2015 11:48:45 +0200 Subject: [PATCH 005/194] http-client: '%http-cache-ttl' is really a parameter. Fixes a typo in commit 739ab68 that made it a procedure returning a parameter. * guix/http-client.scm (%http-cache-ttl): Turn into a parameter. --- guix/http-client.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/http-client.scm b/guix/http-client.scm index 8d1cc9b8f3..bee8cdc834 100644 --- a/guix/http-client.scm +++ b/guix/http-client.scm @@ -241,7 +241,7 @@ Raise an '&http-get-error' condition if downloading fails." ;;; Caching. ;;; -(define (%http-cache-ttl) +(define %http-cache-ttl ;; Time-to-live in seconds of the HTTP cache of in ~/.cache/guix. (make-parameter (* 3600 (or (and=> (getenv "GUIX_HTTP_CACHE_TTL") From 0a7c5a09fe74d93c473b0f07ee096c2e6896910e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 21 Oct 2015 11:11:25 +0200 Subject: [PATCH 006/194] gnu-maintenance: Generalize, leading to (guix upstream). * guix/gnu-maintenance.scm (): Remove. (coalesce-releases): Move to upstream.scm. Rename to 'coalesce-sources'; adjust callers. (releases, latest-release): Return objects instead of objects. (latest-release*, non-emacs-gnu-package?): New procedures. (gnu-release-archive-types): Remove. (%gnu-updater): New variable. (package-update-path, download-tarball, package-update, update-package-source): Move to... * guix/upstream.scm: ... here. New file. * Makefile.am (MODULES): Add it. * po/guix/POTFILES.in: Replace gnu-maintenance.scm with upstream.scm. * guix/scripts/refresh.scm (%updaters): New variable. (update-package): Adjust to new 'package-update' interface. (guix-refresh): Adjust to new 'package-update-path'. Remove 'false-if-exception' around it. --- Makefile.am | 1 + guix/gnu-maintenance.scm | 253 +++++++++----------------------------- guix/scripts/refresh.scm | 27 ++-- guix/upstream.scm | 259 +++++++++++++++++++++++++++++++++++++++ po/guix/POTFILES.in | 2 +- 5 files changed, 340 insertions(+), 202 deletions(-) create mode 100644 guix/upstream.scm diff --git a/Makefile.am b/Makefile.am index 6f785e7083..1427203fb2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -48,6 +48,7 @@ MODULES = \ guix/nar.scm \ guix/derivations.scm \ guix/gnu-maintenance.scm \ + guix/upstream.scm \ guix/licenses.scm \ guix/build-system.scm \ guix/build-system/cmake.scm \ diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm index e09df4b3ef..5af1b884ce 100644 --- a/guix/gnu-maintenance.scm +++ b/guix/gnu-maintenance.scm @@ -29,16 +29,10 @@ #:use-module (system foreign) #:use-module (guix http-client) #:use-module (guix ftp-client) - #:use-module (guix ui) #:use-module (guix utils) #:use-module (guix records) + #:use-module (guix upstream) #:use-module (guix packages) - #:use-module ((guix download) #:select (download-to-store)) - #:use-module (guix gnupg) - #:use-module (rnrs io ports) - #:use-module (guix base32) - #:use-module ((guix build utils) - #:select (substitute)) #:export (gnu-package-name gnu-package-mundane-name gnu-package-copyright-holder @@ -56,21 +50,12 @@ find-packages gnu-package? - gnu-release? - gnu-release-package - gnu-release-version - gnu-release-directory - gnu-release-files - releases latest-release gnu-release-archive-types gnu-package-name->name+version - download-tarball - package-update-path - package-update - update-package-source)) + %gnu-updater)) ;;; Commentary: ;;; @@ -218,13 +203,6 @@ network to check in GNU's database." ;;; Latest release. ;;; -(define-record-type* gnu-release make-gnu-release - gnu-release? - (package gnu-release-package) - (version gnu-release-version) - (directory gnu-release-directory) - (files gnu-release-files)) - (define (ftp-server/directory project) "Return the FTP server and directory where PROJECT's tarball are stored." @@ -284,29 +262,6 @@ true." (gnu-package-name->name+version (sans-extension tarball)))) version)) -(define (coalesce-releases releases) - "Coalesce the elements of RELEASES that correspond to the same version." - (define (same-version? r1 r2) - (string=? (gnu-release-version r1) (gnu-release-version r2))) - - (define (release>? r1 r2) - (version>? (gnu-release-version r1) (gnu-release-version r2))) - - (fold (lambda (release result) - (match result - ((head . tail) - (if (same-version? release head) - (cons (gnu-release - (inherit release) - (files (append (gnu-release-files release) - (gnu-release-files head)))) - tail) - (cons release result))) - (() - (list release)))) - '() - (sort releases release>?))) - (define (releases project) "Return the list of releases of PROJECT as a list of release name/directory pairs. Example: (\"mit-scheme-9.0.1\" . \"/gnu/mit-scheme/stable.pkg/9.0.1\"). " @@ -319,13 +274,24 @@ pairs. Example: (\"mit-scheme-9.0.1\" . \"/gnu/mit-scheme/stable.pkg/9.0.1\"). (match directories (() (ftp-close conn) - (coalesce-releases result)) + (coalesce-sources result)) ((directory rest ...) (let* ((files (ftp-list conn directory)) (subdirs (filter-map (match-lambda - ((name 'directory . _) name) - (_ #f)) + ((name 'directory . _) name) + (_ #f)) files))) + (define (file->url file) + (string-append "ftp://" server directory "/" file)) + + (define (file->source file) + (let ((url (file->url file))) + (upstream-source + (package project) + (version (tarball->version file)) + (urls (list url)) + (signature-urls (list (string-append url ".sig")))))) + (loop (append (map (cut string-append directory "/" <>) subdirs) rest) @@ -335,15 +301,10 @@ pairs. Example: (\"mit-scheme-9.0.1\" . \"/gnu/mit-scheme/stable.pkg/9.0.1\"). ;; in /gnu/guile, filter out guile-oops and ;; guile-www; in mit-scheme, filter out binaries. (filter-map (match-lambda - ((file 'file . _) - (if (release-file? project file) - (gnu-release - (package project) - (version (tarball->version file)) - (directory directory) - (files (list file))) - #f)) - (_ #f)) + ((file 'file . _) + (and (release-file? project file) + (file->source file))) + (_ #f)) files) result)))))))) @@ -355,7 +316,7 @@ open (resp. close) FTP connections; this can be useful to reuse connections." (if (version>? a b) a b)) (define (latest-release a b) - (if (version>? (gnu-release-version a) (gnu-release-version b)) + (if (version>? (upstream-source-version a) (upstream-source-version b)) a b)) (define contains-digit? @@ -368,6 +329,17 @@ open (resp. close) FTP connections; this can be useful to reuse connections." (let-values (((server directory) (ftp-server/directory project))) (define conn (ftp-open server)) + (define (file->url file) + (string-append "ftp://" server directory "/" file)) + + (define (file->source file) + (let ((url (file->url file))) + (upstream-source + (package project) + (version (tarball->version file)) + (urls (list url)) + (signature-urls (list (string-append url ".sig")))))) + (let loop ((directory directory) (result #f)) (let* ((entries (ftp-list conn directory)) @@ -375,12 +347,12 @@ open (resp. close) FTP connections; this can be useful to reuse connections." ;; Filter out sub-directories that do not contain digits---e.g., ;; /gnuzilla/lang and /gnupg/patches. (subdirs (filter-map (match-lambda - (((? patch-directory-name? dir) - 'directory . _) - #f) - (((? contains-digit? dir) 'directory . _) - dir) - (_ #f)) + (((? patch-directory-name? dir) + 'directory . _) + #f) + (((? contains-digit? dir) 'directory . _) + dir) + (_ #f)) entries)) ;; Whether or not SUBDIRS is empty, compute the latest releases @@ -390,19 +362,14 @@ open (resp. close) FTP connections; this can be useful to reuse connections." (releases (filter-map (match-lambda ((file 'file . _) (and (release-file? project file) - (gnu-release - (package project) - (version - (tarball->version file)) - (directory directory) - (files (list file))))) + (file->source file))) (_ #f)) entries))) ;; Assume that SUBDIRS correspond to versions, and jump into the ;; one with the highest version number. (let* ((release (reduce latest-release #f - (coalesce-releases releases))) + (coalesce-sources releases))) (result (if (and result release) (latest-release release result) (or release result))) @@ -414,10 +381,18 @@ open (resp. close) FTP connections; this can be useful to reuse connections." (ftp-close conn) result))))))) -(define (gnu-release-archive-types release) - "Return the available types of archives for RELEASE---a list of strings such -as \"gz\" or \"xz\"." - (map file-extension (gnu-release-files release))) +(define (latest-release* package) + "Like 'latest-release', but ignore FTP errors that might occur when PACKAGE +is not actually a GNU package, or not hosted on ftp.gnu.org, or not under that +name (this is the case for \"emacs-auctex\", for instance.)" + (catch 'ftp-error + (lambda () + (latest-release package)) + (lambda (key port . rest) + (if (ftp-connection? port) + (ftp-close port) + (close-port port)) + #f))) (define %package-name-rx ;; Regexp for a package name, e.g., "foo-X.Y". Since TeXmacs uses @@ -431,121 +406,15 @@ as \"gz\" or \"xz\"." (values name+version #f) (values (match:substring match 1) (match:substring match 2))))) - -;;; -;;; Auto-update. -;;; +(define (non-emacs-gnu-package? package) + "Return true if PACKAGE is a non-Emacs GNU package. This excludes AucTeX, +for instance, whose releases are now uploaded to elpa.gnu.org." + (and (not (string-prefix? "emacs-" (package-name package))) + (gnu-package? package))) -(define (package-update-path package) - "Return an update path for PACKAGE, or #f if no update is needed." - (and (gnu-package? package) - (match (latest-release (package-name package)) - (($ name version directory) - (and (version>? version (package-version package)) - `(,version . ,directory))) - (_ #f)))) - -(define* (download-tarball store project directory version - #:key (archive-type "gz") - (key-download 'interactive)) - "Download PROJECT's tarball over FTP and check its OpenPGP signature. On -success, return the tarball file name. KEY-DOWNLOAD specifies a download -policy for missing OpenPGP keys; allowed values: 'interactive' (default), -'always', and 'never'." - (let* ((server (ftp-server/directory project)) - (base (string-append project "-" version ".tar." archive-type)) - (url (string-append "ftp://" server "/" directory "/" base)) - (sig-url (string-append url ".sig")) - (tarball (download-to-store store url)) - (sig (download-to-store store sig-url))) - (let ((ret (gnupg-verify* sig tarball #:key-download key-download))) - (if ret - tarball - (begin - (warning (_ "signature verification failed for `~a'~%") - base) - (warning (_ "(could be because the public key is not in your keyring)~%")) - #f))))) - -(define* (package-update store package #:key (key-download 'interactive)) - "Return the new version and the file name of the new version tarball for -PACKAGE, or #f and #f when PACKAGE is up-to-date. KEY-DOWNLOAD specifies a -download policy for missing OpenPGP keys; allowed values: 'always', 'never', -and 'interactive' (default)." - (match (package-update-path package) - ((version . directory) - (let-values (((name) - (package-name package)) - ((archive-type) - (let ((source (package-source package))) - (or (and (origin? source) - (file-extension (origin-uri source))) - "gz")))) - (let ((tarball (download-tarball store name directory version - #:archive-type archive-type - #:key-download key-download))) - (values version tarball)))) - (_ - (values #f #f)))) - -(define (update-package-source package version hash) - "Modify the source file that defines PACKAGE to refer to VERSION, -whose tarball has SHA256 HASH (a bytevector). Return the new version string -if an update was made, and #f otherwise." - (define (new-line line matches replacement) - ;; Iterate over MATCHES and return the modified line based on LINE. - ;; Replace each match with REPLACEMENT. - (let loop ((m* matches) ; matches - (o 0) ; offset in L - (r '())) ; result - (match m* - (() - (let ((r (cons (substring line o) r))) - (string-concatenate-reverse r))) - ((m . rest) - (loop rest - (match:end m) - (cons* replacement - (substring line o (match:start m)) - r)))))) - - (define (update-source file old-version version - old-hash hash) - ;; Update source file FILE, replacing occurrences OLD-VERSION by VERSION - ;; and occurrences of OLD-HASH by HASH (base32 representation thereof). - - ;; TODO: Currently this is a bit of a sledgehammer: if VERSION occurs in - ;; different unrelated places, we may modify it more than needed, for - ;; instance. We should try to make changes only within the sexp that - ;; corresponds to the definition of PACKAGE. - (let ((old-hash (bytevector->nix-base32-string old-hash)) - (hash (bytevector->nix-base32-string hash))) - (substitute file - `((,(regexp-quote old-version) - . ,(cut new-line <> <> version)) - (,(regexp-quote old-hash) - . ,(cut new-line <> <> hash)))) - version)) - - (let ((name (package-name package)) - (loc (package-field-location package 'version))) - (if loc - (let ((old-version (package-version package)) - (old-hash (origin-sha256 (package-source package))) - (file (and=> (location-file loc) - (cut search-path %load-path <>)))) - (if file - (update-source file - old-version version - old-hash hash) - (begin - (warning (_ "~a: could not locate source file") - (location-file loc)) - #f))) - (begin - (format (current-error-port) - (_ "~a: ~a: no `version' field in source; skipping~%") - (location->string (package-location package)) - name))))) +(define %gnu-updater + (upstream-updater 'gnu + non-emacs-gnu-package? + latest-release*)) ;;; gnu-maintenance.scm ends here diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm index 097059e372..8d4f26e3b0 100644 --- a/guix/scripts/refresh.scm +++ b/guix/scripts/refresh.scm @@ -25,7 +25,8 @@ #:use-module (guix store) #:use-module (guix utils) #:use-module (guix packages) - #:use-module (guix gnu-maintenance) + #:use-module (guix upstream) + #:use-module ((guix gnu-maintenance) #:select (%gnu-updater)) #:use-module (guix gnupg) #:use-module (gnu packages) #:use-module ((gnu packages commencement) #:select (%final-inputs)) @@ -124,6 +125,15 @@ specified with `--select'.\n")) (newline) (show-bug-report-information)) + +;;; +;;; Updates. +;;; + +(define %updaters + ;; List of "updaters" used by default. + (list %gnu-updater)) + (define* (update-package store package #:key (key-download 'interactive)) "Update the source file that defines PACKAGE with the new version. KEY-DOWNLOAD specifies a download policy for missing OpenPGP keys; allowed @@ -131,12 +141,12 @@ values: 'interactive' (default), 'always', and 'never'." (let-values (((version tarball) (catch #t (lambda () - (package-update store package #:key-download key-download)) + (package-update store package %updaters + #:key-download key-download)) (lambda _ (values #f #f)))) ((loc) - (or (package-field-location package - 'version) + (or (package-field-location package 'version) (package-location package)))) (when version (if (and=> tarball file-exists?) @@ -153,7 +163,6 @@ values: 'interactive' (default), 'always', and 'never'." downloaded and authenticated; not updating~%") (package-name package) version))))) - ;;; ;;; Entry point. @@ -262,14 +271,14 @@ dependent packages are rebuilt: ~{~a~^ ~}~%" packages)))) (else (for-each (lambda (package) - (match (false-if-exception (package-update-path package)) - ((new-version . directory) + (match (package-update-path package %updaters) + ((? upstream-source? source) (let ((loc (or (package-field-location package 'version) (package-location package)))) (format (current-error-port) (_ "~a: ~a would be upgraded from ~a to ~a~%") (location->string loc) (package-name package) (package-version package) - new-version))) - (_ #f))) + (upstream-source-version source)))) + (#f #f))) packages)))))) diff --git a/guix/upstream.scm b/guix/upstream.scm new file mode 100644 index 0000000000..9300113ac6 --- /dev/null +++ b/guix/upstream.scm @@ -0,0 +1,259 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015 Ludovic Courtès +;;; +;;; 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 . + +(define-module (guix upstream) + #:use-module (guix records) + #:use-module (guix utils) + #:use-module ((guix download) + #:select (download-to-store)) + #:use-module ((guix build utils) + #:select (substitute)) + #:use-module (guix gnupg) + #:use-module (guix packages) + #:use-module (guix ui) + #:use-module (guix base32) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-9) + #:use-module (srfi srfi-11) + #:use-module (srfi srfi-26) + #:use-module (ice-9 match) + #:use-module (ice-9 regex) + #:export (upstream-source + upstream-source? + upstream-source-package + upstream-source-version + upstream-source-urls + upstream-source-signature-urls + + coalesce-sources + + upstream-updater + upstream-updater? + upstream-updater-name + upstream-updater-predicate + upstream-updater-latest + + download-tarball + package-update-path + package-update + update-package-source)) + +;;; Commentary: +;;; +;;; This module provides tools to represent and manipulate a upstream source +;;; code, and to auto-update package recipes. +;;; +;;; Code: + +;; Representation of upstream's source. There can be several URLs--e.g., +;; tar.gz, tar.gz, etc. There can be correspond signature URLs, one per +;; source URL. +(define-record-type* + upstream-source make-upstream-source + upstream-source? + (package upstream-source-package) ;string + (version upstream-source-version) ;string + (urls upstream-source-urls) ;list of strings + (signature-urls upstream-source-signature-urls ;#f | list of strings + (default #f))) + +(define (upstream-source-archive-types release) + "Return the available types of archives for RELEASE---a list of strings such +as \"gz\" or \"xz\"." + (map file-extension (upstream-source-urls release))) + +(define (coalesce-sources sources) + "Coalesce the elements of SOURCES, a list of , that +correspond to the same version." + (define (same-version? r1 r2) + (string=? (upstream-source-version r1) (upstream-source-version r2))) + + (define (release>? r1 r2) + (version>? (upstream-source-version r1) (upstream-source-version r2))) + + (fold (lambda (release result) + (match result + ((head . tail) + (if (same-version? release head) + (cons (upstream-source + (inherit release) + (urls (append (upstream-source-urls release) + (upstream-source-urls head))) + (signature-urls + (append (upstream-source-signature-urls release) + (upstream-source-signature-urls head)))) + tail) + (cons release result))) + (() + (list release)))) + '() + (sort sources release>?))) + + +;;; +;;; Auto-update. +;;; + +(define-record-type + (upstream-updater name pred latest) + upstream-updater? + (name upstream-updater-name) + (pred upstream-updater-predicate) + (latest upstream-updater-latest)) + +(define (lookup-updater package updaters) + "Return an updater among UPDATERS that matches PACKAGE, or #f if none of +them matches." + (any (match-lambda + (($ _ pred latest) + (and (pred package) latest))) + updaters)) + +(define (package-update-path package updaters) + "Return an upstream source to update PACKAGE to, or #f if no update is +needed or known." + (match (lookup-updater package updaters) + ((? procedure? latest-release) + (match (latest-release (package-name package)) + ((and source ($ name version)) + (and (version>? version (package-version package)) + source)) + (_ #f))) + (#f #f))) + +(define* (download-tarball store url signature-url + #:key (key-download 'interactive)) + "Download the tarball at URL to the store; check its OpenPGP signature at +SIGNATURE-URL, unless SIGNATURE-URL is false. On success, return the tarball +file name. KEY-DOWNLOAD specifies a download policy for missing OpenPGP keys; +allowed values: 'interactive' (default), 'always', and 'never'." + (let ((tarball (download-to-store store url))) + (if (not signature-url) + tarball + (let* ((sig (download-to-store store signature-url)) + (ret (gnupg-verify* sig tarball #:key-download key-download))) + (if ret + tarball + (begin + (warning (_ "signature verification failed for `~a'~%") + url) + (warning (_ "(could be because the public key is not in your keyring)~%")) + #f)))))) + +(define (find2 pred lst1 lst2) + "Like 'find', but operate on items from both LST1 and LST2. Return two +values: the item from LST1 and the item from LST2 that match PRED." + (let loop ((lst1 lst1) (lst2 lst2)) + (match lst1 + ((head1 . tail1) + (match lst2 + ((head2 . tail2) + (if (pred head1 head2) + (values head1 head2) + (loop tail1 tail2))))) + (() + (values #f #f))))) + +(define* (package-update store package updaters + #:key (key-download 'interactive)) + "Return the new version and the file name of the new version tarball for +PACKAGE, or #f and #f when PACKAGE is up-to-date. KEY-DOWNLOAD specifies a +download policy for missing OpenPGP keys; allowed values: 'always', 'never', +and 'interactive' (default)." + (match (package-update-path package updaters) + (($ _ version urls signature-urls) + (let*-values (((name) + (package-name package)) + ((archive-type) + (match (and=> (package-source package) origin-uri) + ((? string? uri) + (or (file-extension uri) "gz")) + (_ + "gz"))) + ((url signature-url) + (find2 (lambda (url sig-url) + (string-suffix? archive-type url)) + urls + (or signature-urls (circular-list #f))))) + (let ((tarball (download-tarball store url signature-url + #:key-download key-download))) + (values version tarball)))) + (#f + (values #f #f)))) + +(define (update-package-source package version hash) + "Modify the source file that defines PACKAGE to refer to VERSION, +whose tarball has SHA256 HASH (a bytevector). Return the new version string +if an update was made, and #f otherwise." + (define (new-line line matches replacement) + ;; Iterate over MATCHES and return the modified line based on LINE. + ;; Replace each match with REPLACEMENT. + (let loop ((m* matches) ; matches + (o 0) ; offset in L + (r '())) ; result + (match m* + (() + (let ((r (cons (substring line o) r))) + (string-concatenate-reverse r))) + ((m . rest) + (loop rest + (match:end m) + (cons* replacement + (substring line o (match:start m)) + r)))))) + + (define (update-source file old-version version + old-hash hash) + ;; Update source file FILE, replacing occurrences OLD-VERSION by VERSION + ;; and occurrences of OLD-HASH by HASH (base32 representation thereof). + + ;; TODO: Currently this is a bit of a sledgehammer: if VERSION occurs in + ;; different unrelated places, we may modify it more than needed, for + ;; instance. We should try to make changes only within the sexp that + ;; corresponds to the definition of PACKAGE. + (let ((old-hash (bytevector->nix-base32-string old-hash)) + (hash (bytevector->nix-base32-string hash))) + (substitute file + `((,(regexp-quote old-version) + . ,(cut new-line <> <> version)) + (,(regexp-quote old-hash) + . ,(cut new-line <> <> hash)))) + version)) + + (let ((name (package-name package)) + (loc (package-field-location package 'version))) + (if loc + (let ((old-version (package-version package)) + (old-hash (origin-sha256 (package-source package))) + (file (and=> (location-file loc) + (cut search-path %load-path <>)))) + (if file + (update-source file + old-version version + old-hash hash) + (begin + (warning (_ "~a: could not locate source file") + (location-file loc)) + #f))) + (begin + (format (current-error-port) + (_ "~a: ~a: no `version' field in source; skipping~%") + (location->string (package-location package)) + name))))) + +;;; upstream.scm ends here diff --git a/po/guix/POTFILES.in b/po/guix/POTFILES.in index d9fc04495d..0c4e4f8443 100644 --- a/po/guix/POTFILES.in +++ b/po/guix/POTFILES.in @@ -23,7 +23,7 @@ guix/scripts/edit.scm guix/scripts/size.scm guix/scripts/graph.scm guix/scripts/challenge.scm -guix/gnu-maintenance.scm +guix/upstream.scm guix/ui.scm guix/http-client.scm guix/nar.scm From 218622a73794c3b0d0d81db9176a59125c58df41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 21 Oct 2015 12:12:59 +0200 Subject: [PATCH 007/194] import: elpa: Use 'http-fetch/cached' to retrieve the archive. * guix/import/elpa.scm (elpa-fetch-archive): Set %HTTP-CACHE-TTL to 6 hours. (call-with-downloaded-file): Use 'http-fetch/cached' instead of 'url-fetch'. --- guix/import/elpa.scm | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/guix/import/elpa.scm b/guix/import/elpa.scm index b3a3a963a6..d327925c19 100644 --- a/guix/import/elpa.scm +++ b/guix/import/elpa.scm @@ -19,6 +19,7 @@ (define-module (guix import elpa) #:use-module (ice-9 match) #:use-module (ice-9 rdelim) + #:use-module (web uri) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) #:use-module (srfi srfi-9 gnu) @@ -26,6 +27,7 @@ #:use-module (srfi srfi-26) #:use-module ((guix download) #:select (download-to-store)) #:use-module (guix import utils) + #:use-module (guix http-client) #:use-module (guix store) #:use-module (guix ui) #:use-module (guix hash) @@ -74,20 +76,16 @@ NAMES (strings)." (let ((url (and=> (elpa-url repo) (cut string-append <> "/archive-contents")))) (if url - (call-with-downloaded-file url read) + ;; Use a relatively small TTL for the archive itself. + (parameterize ((%http-cache-ttl (* 6 3600))) + (call-with-downloaded-file url read)) (leave (_ "~A: currently not supported~%") repo)))) (define* (call-with-downloaded-file url proc #:optional (error-thunk #f)) "Fetch URL, store the content in a temporary file and call PROC with that file. Returns the value returned by PROC. On error call ERROR-THUNK and return its value or leave if it's false." - (call-with-temporary-output-file - (lambda (temp port) - (or (and (url-fetch url temp) - (call-with-input-file temp proc)) - (if error-thunk - (error-thunk) - (leave (_ "~A: download failed~%") url)))))) + (proc (http-fetch/cached (string->uri url)))) (define (is-elpa-package? name elpa-pkg-spec) "Return true if the string NAME corresponds to the name of the package From a7aac936253b7def133b935a434e692b00eccab5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 21 Oct 2015 12:25:06 +0200 Subject: [PATCH 008/194] import: elpa: Add updater. * guix/import/elpa.scm (latest-release, package-from-gnu.org?): New procedures. (%elpa-updater): New variable. * guix/scripts/refresh.scm (%updaters): Add %ELPA-UPDATER. --- guix/import/elpa.scm | 49 +++++++++++++++++++++++++++++++++++++++- guix/scripts/refresh.scm | 6 +++-- 2 files changed, 52 insertions(+), 3 deletions(-) diff --git a/guix/import/elpa.scm b/guix/import/elpa.scm index d327925c19..37fc2b80fe 100644 --- a/guix/import/elpa.scm +++ b/guix/import/elpa.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Federico Beffa +;;; Copyright © 2015 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,9 +33,12 @@ #:use-module (guix ui) #:use-module (guix hash) #:use-module (guix base32) + #:use-module (guix upstream) + #:use-module (guix packages) #:use-module ((guix utils) #:select (call-with-temporary-output-file memoize)) - #:export (elpa->guix-package)) + #:export (elpa->guix-package + %elpa-updater)) (define (elpa-dependencies->names deps) "Convert DEPS, a list of symbol/version pairs à la ELPA, to a list of @@ -229,4 +233,47 @@ type ''." (let ((pkg (fetch-elpa-package name repo))) (and=> pkg elpa-package->sexp))) + +;;; +;;; Updates. +;;; + +(define (latest-release package) + "Return an for the latest release of PACKAGE. PACKAGE +may be a Guix package name such as \"emacs-debbugs\" or an upstream name such +as \"debbugs\"." + (define name + (if (string-prefix? "emacs-" package) + (string-drop package 6) + package)) + + (let* ((repo 'gnu) + (info (elpa-package-info name repo)) + (version (match info + ((name raw-version . _) + (elpa-version->string raw-version)))) + (url (match info + ((_ raw-version reqs synopsis kind . rest) + (package-source-url kind name version repo))))) + (upstream-source + (package package) + (version version) + (urls (list url)) + (signature-urls (list (string-append url ".sig")))))) + +(define (package-from-gnu.org? package) + "Return true if PACKAGE is from elpa.gnu.org." + (match (and=> (package-source package) origin-uri) + ((? string? uri) + (let ((uri (string->uri uri))) + (and uri (string=? (uri-host uri) "elpa.gnu.org")))) + (_ #f))) + +(define %elpa-updater + ;; The ELPA updater. We restrict it to packages hosted on elpa.gnu.org + ;; because for other repositories, we typically grab the source elsewhere. + (upstream-updater 'elpa + package-from-gnu.org? + latest-release)) + ;;; elpa.scm ends here diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm index 8d4f26e3b0..8e461ce380 100644 --- a/guix/scripts/refresh.scm +++ b/guix/scripts/refresh.scm @@ -27,6 +27,7 @@ #:use-module (guix packages) #:use-module (guix upstream) #:use-module ((guix gnu-maintenance) #:select (%gnu-updater)) + #:use-module (guix import elpa) #:use-module (guix gnupg) #:use-module (gnu packages) #:use-module ((gnu packages commencement) #:select (%final-inputs)) @@ -131,8 +132,9 @@ specified with `--select'.\n")) ;;; (define %updaters - ;; List of "updaters" used by default. - (list %gnu-updater)) + ;; List of "updaters" used by default. They are consulted in this order. + (list %gnu-updater + %elpa-updater)) (define* (update-package store package #:key (key-download 'interactive)) "Update the source file that defines PACKAGE with the new version. From bcb571cba499c29556d36f17554253d285d4d578 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 21 Oct 2015 13:04:34 +0200 Subject: [PATCH 009/194] refresh: Add '--type' option. * guix/scripts/refresh.scm (%options, show-help): Add --type. (lookup-updater): New procedure. (update-package): Add 'updaters' parameter and honor it. (guix-refresh)[options->updaters]: New procedure. Use it, and honor --type. --- doc/guix.texi | 28 ++++++++++++++++-- guix/scripts/refresh.scm | 63 ++++++++++++++++++++++++++++------------ 2 files changed, 71 insertions(+), 20 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 3222a64085..6f26568a7a 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -4211,8 +4211,12 @@ gnu/packages/glib.scm:77:12: glib would be upgraded from 2.34.3 to 2.37.0 @end example It does so by browsing each package's FTP directory and determining the -highest version number of the source tarballs -therein@footnote{Currently, this only works for GNU packages.}. +highest version number of the source tarballs therein. The command +knows how to update specific types of packages: GNU packages, ELPA +packages, etc.---see the documentation for @option{--type} below. The +are many packages, though, for which it lacks a method to determine +whether a new upstream release is available. However, the mechanism is +extensible, so feel free to get in touch with us to add a new method! When passed @code{--update}, it modifies distribution source files to update the version numbers and source tarball hashes of those packages' @@ -4257,6 +4261,26 @@ The @code{non-core} subset refers to the remaining packages. It is typically useful in cases where an update of the core packages would be inconvenient. +@item --type=@var{updater} +@itemx -t @var{updater} +Select only packages handled by @var{updater}. Currently, @var{updater} +may be one of: + +@table @code +@item gnu +the updater for GNU packages; +@item elpa +the updater for @uref{http://elpa.gnu.org/, ELPA} packages. +@end table + +For instance, the following commands only checks for updates of Emacs +packages hosted at @code{elpa.gnu.org}: + +@example +$ guix refresh -t elpa +gnu/packages/emacs.scm:856:13: emacs-auctex would be upgraded from 11.88.6 to 11.88.9 +@end example + @end table In addition, @command{guix refresh} can be passed one or more package diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm index 8e461ce380..bbfdf240d0 100644 --- a/guix/scripts/refresh.scm +++ b/guix/scripts/refresh.scm @@ -65,6 +65,9 @@ (x (leave (_ "~a: invalid selection; expected `core' or `non-core'~%") arg))))) + (option '(#\t "type") #t #f + (lambda (opt name arg result) + (alist-cons 'updater (string->symbol arg) result))) (option '(#\l "list-dependent") #f #f (lambda (opt name arg result) (alist-cons 'list-dependent? #t result))) @@ -106,6 +109,8 @@ specified with `--select'.\n")) -s, --select=SUBSET select all the packages in SUBSET, one of `core' or `non-core'")) (display (_ " + -t, --type=UPDATER restrict to updates from UPDATER--e.g., 'gnu'")) + (display (_ " -l, --list-dependent list top-level dependent packages that would need to be rebuilt as a result of upgrading PACKAGE...")) (newline) @@ -136,14 +141,21 @@ specified with `--select'.\n")) (list %gnu-updater %elpa-updater)) -(define* (update-package store package #:key (key-download 'interactive)) +(define (lookup-updater name) + "Return the updater called NAME." + (find (lambda (updater) + (eq? name (upstream-updater-name updater))) + %updaters)) + +(define* (update-package store package updaters + #:key (key-download 'interactive)) "Update the source file that defines PACKAGE with the new version. KEY-DOWNLOAD specifies a download policy for missing OpenPGP keys; allowed values: 'interactive' (default), 'always', and 'never'." (let-values (((version tarball) (catch #t (lambda () - (package-update store package %updaters + (package-update store package updaters #:key-download key-download)) (lambda _ (values #f #f)))) @@ -180,6 +192,19 @@ downloaded and authenticated; not updating~%") (alist-cons 'argument arg result)) %default-options)) + (define (options->updaters opts) + ;; Return the list of updaters to use. + (match (filter-map (match-lambda + (('updater . name) + (lookup-updater name)) + (_ #f)) + opts) + (() + ;; Use the default updaters. + %updaters) + (lst + lst))) + (define (keep-newest package lst) ;; If a newer version of PACKAGE is already in LST, return LST; otherwise ;; return LST minus the other version of PACKAGE in it, plus PACKAGE. @@ -196,8 +221,8 @@ downloaded and authenticated; not updating~%") (define core-package? (let* ((input->package (match-lambda - ((name (? package? package) _ ...) package) - (_ #f))) + ((name (? package? package) _ ...) package) + (_ #f))) (final-inputs (map input->package %final-inputs)) (core (append final-inputs (append-map (compose (cut filter-map input->package <>) @@ -216,6 +241,7 @@ update would trigger a complete rebuild." (let* ((opts (parse-options)) (update? (assoc-ref opts 'update?)) + (updaters (options->updaters opts)) (list-dependent? (assoc-ref opts 'list-dependent?)) (key-download (assoc-ref opts 'key-download)) (packages @@ -226,18 +252,18 @@ update would trigger a complete rebuild." (specification->package spec)) (_ #f)) opts) - (() ; default to all packages - (let ((select? (match (assoc-ref opts 'select) - ('core core-package?) - ('non-core (negate core-package?)) - (_ (const #t))))) - (fold-packages (lambda (package result) - (if (select? package) - (keep-newest package result) - result)) - '()))) - (some ; user-specified packages - some)))) + (() ; default to all packages + (let ((select? (match (assoc-ref opts 'select) + ('core core-package?) + ('non-core (negate core-package?)) + (_ (const #t))))) + (fold-packages (lambda (package result) + (if (select? package) + (keep-newest package result) + result)) + '()))) + (some ; user-specified packages + some)))) (with-error-handling (cond (list-dependent? @@ -269,11 +295,12 @@ dependent packages are rebuilt: ~{~a~^ ~}~%" (or (assoc-ref opts 'gpg-command) (%gpg-command)))) (for-each - (cut update-package store <> #:key-download key-download) + (cut update-package store <> updaters + #:key-download key-download) packages)))) (else (for-each (lambda (package) - (match (package-update-path package %updaters) + (match (package-update-path package updaters) ((? upstream-source? source) (let ((loc (or (package-field-location package 'version) (package-location package)))) From 577e75058066579bc66037c4ac08f3870520b79a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 21 Oct 2015 14:34:57 +0200 Subject: [PATCH 010/194] refresh: Remove exception catch-all. * guix/scripts/refresh.scm (update-package): Remove 'catch #t'. --- guix/scripts/refresh.scm | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm index bbfdf240d0..99fdc2ca65 100644 --- a/guix/scripts/refresh.scm +++ b/guix/scripts/refresh.scm @@ -153,12 +153,8 @@ specified with `--select'.\n")) KEY-DOWNLOAD specifies a download policy for missing OpenPGP keys; allowed values: 'interactive' (default), 'always', and 'never'." (let-values (((version tarball) - (catch #t - (lambda () - (package-update store package updaters - #:key-download key-download)) - (lambda _ - (values #f #f)))) + (package-update store package updaters + #:key-download key-download)) ((loc) (or (package-field-location package 'version) (package-location package)))) From d882c235d9878b8f61376bd4b4f21be885489818 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 21 Oct 2015 14:36:14 +0200 Subject: [PATCH 011/194] import: cran: Add updater. * guix/import/cran.scm (downloads->url, nodes->text): New procedures. (cran-sxml->sexp): Use them. Remove equivalent local code. (latest-release, cran-package?): New procedures. (%cran-updater): New variable. * guix/scripts/refresh.scm (%updaters): Add %CRAN-UPDATER. * doc/guix.texi (Invoking guix refresh): Mention CRAN. --- doc/guix.texi | 9 +++-- guix/import/cran.scm | 82 +++++++++++++++++++++++++++++++++------- guix/scripts/refresh.scm | 4 +- 3 files changed, 77 insertions(+), 18 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 6f26568a7a..99c10d8dc7 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -4270,14 +4270,17 @@ may be one of: @item gnu the updater for GNU packages; @item elpa -the updater for @uref{http://elpa.gnu.org/, ELPA} packages. +the updater for @uref{http://elpa.gnu.org/, ELPA} packages; +@item cran +the updater fro @uref{http://cran.r-project.org/, CRAN} packages. @end table For instance, the following commands only checks for updates of Emacs -packages hosted at @code{elpa.gnu.org}: +packages hosted at @code{elpa.gnu.org} and updates of CRAN packages: @example -$ guix refresh -t elpa +$ guix refresh -t elpa -t cran +gnu/packages/statistics.scm:819:13: r-testthat would be upgraded from 0.10.0 to 0.11.0 gnu/packages/emacs.scm:856:13: emacs-auctex would be upgraded from 11.88.6 to 11.88.9 @end example diff --git a/guix/import/cran.scm b/guix/import/cran.scm index 585cb9fec2..218d55787a 100644 --- a/guix/import/cran.scm +++ b/guix/import/cran.scm @@ -20,6 +20,7 @@ #:use-module (ice-9 match) #:use-module (ice-9 regex) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) #:use-module (sxml simple) #:use-module (sxml match) #:use-module (sxml xpath) @@ -29,7 +30,10 @@ #:use-module (guix base32) #:use-module ((guix download) #:select (download-to-store)) #:use-module (guix import utils) - #:export (cran->guix-package)) + #:use-module (guix upstream) + #:use-module (guix packages) + #:export (cran->guix-package + %cran-updater)) ;;; Commentary: ;;; @@ -108,12 +112,25 @@ or #f on failure. NAME is case-sensitive." name) (symbol->string name)))))))) +(define (downloads->url downloads) + "Extract from DOWNLOADS, the downloads item of the CRAN sxml tree, the +download URL." + (string-append "mirror://cran/" + ;; Remove double dots, because we want an + ;; absolute path. + (regexp-substitute/global + #f "\\.\\./" + (string-join ((sxpath '((xhtml:a 1) @ href *text*)) + (table-datum downloads " Package source: "))) + 'pre 'post))) + +(define (nodes->text nodeset) + "Return the concatenation of the text nodes among NODESET." + (string-join ((sxpath '(// *text*)) nodeset) " ")) + (define (cran-sxml->sexp sxml) "Return the `package' s-expression for a CRAN package from the SXML representation of the package page." - (define (nodes->text nodeset) - (string-join ((sxpath '(// *text*)) nodeset) " ")) - (define (guix-name name) (if (string-prefix? "r-" name) (string-downcase name) @@ -136,16 +153,7 @@ representation of the package page." (table-datum summary "License:"))) (home-page (nodes->text ((sxpath '((xhtml:a 1))) (table-datum summary "URL:")))) - (source-url (string-append "mirror://cran/" - ;; Remove double dots, because we want an - ;; absolute path. - (regexp-substitute/global - #f "\\.\\./" - (string-join - ((sxpath '((xhtml:a 1) @ href *text*)) - (table-datum downloads - " Package source: "))) - 'pre 'post))) + (source-url (downloads->url downloads)) (tarball (with-store store (download-to-store store source-url))) (sysdepends (map match:substring (list-matches @@ -186,3 +194,49 @@ representation of the package page." `package' s-expression corresponding to that package, or #f on failure." (let ((module-meta (cran-fetch package-name))) (and=> module-meta cran-sxml->sexp))) + + +;;; +;;; Updater. +;;; + +(define (latest-release package) + "Return an for the latest release of PACKAGE." + (define name + (if (string-prefix? "r-" package) + (string-drop package 2) + package)) + + (define sxml + (cran-fetch name)) + + (and sxml + (sxml-match-let* + (((*TOP* (xhtml:html + ,head + (xhtml:body + (xhtml:h2 ,name-and-synopsis) + (xhtml:p ,description) + ,summary + (xhtml:h4 "Downloads:") ,downloads + . ,rest))) + sxml)) + (let ((version (nodes->text (table-datum summary "Version:"))) + (url (downloads->url downloads))) + ;; CRAN does not provide signatures. + (upstream-source + (package package) + (version version) + (urls (list url))))))) + +(define (cran-package? package) + "Return true if PACKAGE is an R package from CRAN." + ;; Assume all R packages are available on CRAN. + (string-prefix? "r-" (package-name package))) + +(define %cran-updater + (upstream-updater 'cran + cran-package? + latest-release)) + +;;; cran.scm ends here diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm index 99fdc2ca65..6f7ca4a41b 100644 --- a/guix/scripts/refresh.scm +++ b/guix/scripts/refresh.scm @@ -28,6 +28,7 @@ #:use-module (guix upstream) #:use-module ((guix gnu-maintenance) #:select (%gnu-updater)) #:use-module (guix import elpa) + #:use-module (guix import cran) #:use-module (guix gnupg) #:use-module (gnu packages) #:use-module ((gnu packages commencement) #:select (%final-inputs)) @@ -139,7 +140,8 @@ specified with `--select'.\n")) (define %updaters ;; List of "updaters" used by default. They are consulted in this order. (list %gnu-updater - %elpa-updater)) + %elpa-updater + %cran-updater)) (define (lookup-updater name) "Return the updater called NAME." From 053cfdb3d6a692e32e504f6993ef3e54bc68e754 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 21 Oct 2015 14:40:39 +0200 Subject: [PATCH 012/194] import: cran: Avoid HTTP redirect. * guix/import/cran.scm (cran-fetch): Add trailing slash in URL to avoid HTTP redirect. --- guix/import/cran.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/import/cran.scm b/guix/import/cran.scm index 218d55787a..1491ca14e3 100644 --- a/guix/import/cran.scm +++ b/guix/import/cran.scm @@ -93,7 +93,7 @@ first cell of a table row is considered a label cell." "Return an sxml representation of the CRAN page for the R package NAME, or #f on failure. NAME is case-sensitive." ;; This API always returns the latest release of the module. - (let ((cran-url (string-append %cran-url name))) + (let ((cran-url (string-append %cran-url name "/"))) (false-if-exception (xml->sxml (http-fetch cran-url) #:trim-whitespace? #t From 102eac2a0acf7a6d546793793fdc5fa6c4ac326a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 21 Oct 2015 14:51:30 +0200 Subject: [PATCH 013/194] import: cran: Add copyright notice. Add notice for commit d882c23. --- guix/import/cran.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/guix/import/cran.scm b/guix/import/cran.scm index 1491ca14e3..6284c9eef3 100644 --- a/guix/import/cran.scm +++ b/guix/import/cran.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Ricardo Wurmus +;;; Copyright © 2015 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; From 641dd73dc847e2643727ffc0501de5d1a0946291 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 21 Oct 2015 18:00:23 +0200 Subject: [PATCH 014/194] gnu: freeipmi: Update to 1.4.10. * gnu/packages/freeipmi.scm (freeipmi): Update to 1.4.10. --- gnu/packages/freeipmi.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/freeipmi.scm b/gnu/packages/freeipmi.scm index e25d113dd2..badecc60ba 100644 --- a/gnu/packages/freeipmi.scm +++ b/gnu/packages/freeipmi.scm @@ -27,14 +27,14 @@ (define-public freeipmi (package (name "freeipmi") - (version "1.4.9") + (version "1.4.10") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/freeipmi/freeipmi-" version ".tar.gz")) (sha256 (base32 - "0v2xfwik2mv6z8066raiypc4xymjvr8pb0mv3mc3g4ym4km132qp")))) + "1l98l8g8lha85q1d288wr7dyx00x36smh9g5wza15n4wm35c9wqs")))) (build-system gnu-build-system) (inputs `(("readline" ,readline) ("libgcrypt" ,libgcrypt))) From ee53a14417753cbc18b72374cd16ba777fd2bfc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 21 Oct 2015 18:00:59 +0200 Subject: [PATCH 015/194] gnu: less: Update to 481. * gnu/packages/less.scm (less): Update to 481. --- gnu/packages/less.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/less.scm b/gnu/packages/less.scm index a1914b6953..efdf8ab0c4 100644 --- a/gnu/packages/less.scm +++ b/gnu/packages/less.scm @@ -26,7 +26,7 @@ (define-public less (package (name "less") - (version "451") + (version "481") (source (origin (method url-fetch) @@ -34,7 +34,7 @@ version ".tar.gz")) (sha256 (base32 - "0mszdd9m1dsbg59pav62swg9f87xmjpfspcw2jsazzksciy2is4z")))) + "19fxj0h10y5bhr3a1xa7kqvnwl44db3sdypz8jxl1q79yln8z8rz")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses))) (home-page "https://www.gnu.org/software/less/") From 74dc959cb037655e0a2e52fa9062777d4da41602 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 21 Oct 2015 18:01:17 +0200 Subject: [PATCH 016/194] gnu: help2man: Update to 1.47.2. * gnu/packages/man.scm (help2man): Update to 1.47.2. --- gnu/packages/man.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index 31598d0168..46b7d8b9b0 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -162,7 +162,7 @@ Linux kernel and C library interfaces employed by user-space programs.") (define-public help2man (package (name "help2man") - (version "1.47.1") + (version "1.47.2") (source (origin (method url-fetch) @@ -170,7 +170,7 @@ Linux kernel and C library interfaces employed by user-space programs.") version ".tar.xz")) (sha256 (base32 - "01ib718afwc28bmh1n0p5h7245vs3rrfm7bj1sq4avmh1kv2d6y5")))) + "0z1zgw6k1fba59fii6ksfi1g2gci6i4ysa3kdfh3j475fdkn1if4")))) (build-system gnu-build-system) (arguments `(;; There's no `check' target. #:tests? #f)) From 1a1553db7e8823b5b82f715058a227b3f703f7d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 21 Oct 2015 18:01:38 +0200 Subject: [PATCH 017/194] gnu: gnu-pw-mgr: Update to 1.6. * gnu/packages/gnu-pw-mgr.scm (gnu-pw-mgr): Update to 1.6. --- gnu/packages/gnu-pw-mgr.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnu-pw-mgr.scm b/gnu/packages/gnu-pw-mgr.scm index e7b93f024e..76329e8084 100644 --- a/gnu/packages/gnu-pw-mgr.scm +++ b/gnu/packages/gnu-pw-mgr.scm @@ -29,7 +29,7 @@ (define-public gnu-pw-mgr (package (name "gnu-pw-mgr") - (version "1.5") + (version "1.6") (source (origin (method url-fetch) @@ -37,7 +37,7 @@ version ".tar.xz")) (sha256 (base32 - "1winmckl4h8lypg57hd3nd7jscpdr7f1v8zi432k5h648izkf2dg")))) + "141wfm4w420ygrl7qvrc84drzv34jym0d2bxqcgi7n1vimql0slp")))) (build-system gnu-build-system) (native-inputs `(("which" ,which) From 861be0cc1d1b2fc50be61b4815189e0d3b2075ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 21 Oct 2015 18:28:14 +0200 Subject: [PATCH 018/194] packages: Update 'check-package-freshness' to use (guix upstream). This is a followup to 0a7c5a0. Reported by Efraim Flashner . * gnu/packages.scm (check-package-freshness): Update to the new (guix upstream) interface. --- gnu/packages.scm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gnu/packages.scm b/gnu/packages.scm index 6e46a890bb..fb277389c7 100644 --- a/gnu/packages.scm +++ b/gnu/packages.scm @@ -24,6 +24,7 @@ #:use-module (guix utils) #:use-module ((guix ftp-client) #:select (ftp-open)) #:use-module (guix gnu-maintenance) + #:use-module (guix upstream) #:use-module (ice-9 ftw) #:use-module (ice-9 vlist) #:use-module (ice-9 match) @@ -377,14 +378,18 @@ it." (when (false-if-exception (gnu-package? package)) (let ((name (package-name package)) (full-name (package-full-name package))) + ;; XXX: This could work with non-GNU packages as well. However, + ;; GNU's FTP-based updater would be too slow if it weren't memoized, + ;; and the generic interface in (guix upstream) doesn't support + ;; that. (match (waiting (latest-release name #:ftp-open ftp-open* #:ftp-close (const #f)) (_ "looking for the latest release of GNU ~a...") name) - ((? gnu-release? release) + ((? upstream-source? source) (let ((latest-version - (string-append (gnu-release-package release) "-" - (gnu-release-version release)))) + (string-append (upstream-source-package source) "-" + (upstream-source-version source)))) (when (version>? latest-version full-name) (format (current-error-port) (_ "~a: note: using ~a \ From c3c239e615371c2edd9c34589ea91bdfb8ff94d8 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Mon, 19 Oct 2015 13:05:30 +0200 Subject: [PATCH 019/194] gnu: Add opusfile. * gnu/packages/xiph.scm (opusfile): New variable. --- gnu/packages/xiph.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index c4db640d0f..31251ca3a5 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2013 David Thompson ;;; Copyright © 2014 Sree Harsha Totakura ;;; Copyright © 2014 Mark H Weaver +;;; Copyright © 2015 Paul van der Walt ;;; ;;; This file is part of GNU Guix. ;;; @@ -46,6 +47,7 @@ libkate vorbis-tools opus + opusfile opus-tools)) (define libogg @@ -341,6 +343,34 @@ decoding .opus files.") (license license:bsd-3) (home-page "http://www.opus-codec.org"))) +(define opusfile + (package + (name "opusfile") + (version "0.6") + (source (origin + (method url-fetch) + (uri (string-append + "http://downloads.xiph.org/releases/opus/opusfile-" version + ".tar.gz")) + (sha256 + (base32 + "19iys2kld75k0210b807i4illrdmj3cmmnrgxlc9y4vf6mxp2a14")))) + (build-system gnu-build-system) + (propagated-inputs + `(("opus" ,opus))) + `(native-inputs + ("pkg-config" ,pkg-config)) + (inputs + `(("libogg" ,libogg) + ("openssl" ,openssl))) + (synopsis "Versatile audio codec") + (description + "The opusfile library provides seeking, decode, and playback of Opus +streams in the Ogg container (.opus files) including over http(s) on posix and +windows systems.") + (license license:bsd-3) + (home-page "http://www.opus-codec.org"))) + (define-public icecast (package (name "icecast") From fab7428881f76f8f3d6bed6475970f45d454d9b0 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Mon, 19 Oct 2015 13:12:51 +0200 Subject: [PATCH 020/194] gnu: Add libcue. * gnu/packages/cdrom.scm (libcue): New variable. --- gnu/packages/cdrom.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 62a6040280..884ba8bfa6 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès ;;; Copyright © 2013, 2014 Andreas Enge ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer +;;; Copyright © 2015 Paul van der Walt ;;; ;;; This file is part of GNU Guix. ;;; @@ -231,6 +232,25 @@ depend on the file system of the medium. The maximum error correction capacity is user-selectable.") (license gpl2+))) +(define-public libcue + (package + (name "libcue") + (version "1.4.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/libcue/libcue-" + version ".tar.bz2")) + (sha256 + (base32 + "17kjd7rjz1bvfn44n3n2bjb7a1ywd0yc0g4sqp5ihf9b5bn7cwlb")))) + (build-system gnu-build-system) + (home-page "http://libcue.sourceforge.net/") + (synopsis "C library to parse cue sheets") + (description "Libcue is a C library to parse so-called @dfn{cue sheets} +which contain meta-data for CD/DVD tracks. It provides an API to manipulate +the data.") + (license gpl2+))) + (define-public cd-discid (package (name "cd-discid") From 845b4f5b7b57ce947f13745c2556e141b434f6a6 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 21 Oct 2015 21:48:52 +0200 Subject: [PATCH 021/194] Revert "gnu: Add opusfile." This reverts commit c3c239e615371c2edd9c34589ea91bdfb8ff94d8. --- gnu/packages/xiph.scm | 30 ------------------------------ 1 file changed, 30 deletions(-) diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index 31251ca3a5..c4db640d0f 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -4,7 +4,6 @@ ;;; Copyright © 2013 David Thompson ;;; Copyright © 2014 Sree Harsha Totakura ;;; Copyright © 2014 Mark H Weaver -;;; Copyright © 2015 Paul van der Walt ;;; ;;; This file is part of GNU Guix. ;;; @@ -47,7 +46,6 @@ libkate vorbis-tools opus - opusfile opus-tools)) (define libogg @@ -343,34 +341,6 @@ decoding .opus files.") (license license:bsd-3) (home-page "http://www.opus-codec.org"))) -(define opusfile - (package - (name "opusfile") - (version "0.6") - (source (origin - (method url-fetch) - (uri (string-append - "http://downloads.xiph.org/releases/opus/opusfile-" version - ".tar.gz")) - (sha256 - (base32 - "19iys2kld75k0210b807i4illrdmj3cmmnrgxlc9y4vf6mxp2a14")))) - (build-system gnu-build-system) - (propagated-inputs - `(("opus" ,opus))) - `(native-inputs - ("pkg-config" ,pkg-config)) - (inputs - `(("libogg" ,libogg) - ("openssl" ,openssl))) - (synopsis "Versatile audio codec") - (description - "The opusfile library provides seeking, decode, and playback of Opus -streams in the Ogg container (.opus files) including over http(s) on posix and -windows systems.") - (license license:bsd-3) - (home-page "http://www.opus-codec.org"))) - (define-public icecast (package (name "icecast") From a7aa4e2a64f53eff0c1d97a27e88e93fb83aedf0 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 21 Oct 2015 21:56:38 +0200 Subject: [PATCH 022/194] gnu: Add opusfile. * gnu/packages/xiph.scm (opusfile): New variable. --- gnu/packages/xiph.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index c4db640d0f..705ebe1d73 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2013 David Thompson ;;; Copyright © 2014 Sree Harsha Totakura ;;; Copyright © 2014 Mark H Weaver +;;; Copyright © 2015 Paul van der Walt ;;; ;;; This file is part of GNU Guix. ;;; @@ -46,6 +47,7 @@ libkate vorbis-tools opus + opusfile opus-tools)) (define libogg @@ -341,6 +343,34 @@ decoding .opus files.") (license license:bsd-3) (home-page "http://www.opus-codec.org"))) +(define opusfile + (package + (name "opusfile") + (version "0.6") + (source (origin + (method url-fetch) + (uri (string-append + "http://downloads.xiph.org/releases/opus/opusfile-" version + ".tar.gz")) + (sha256 + (base32 + "19iys2kld75k0210b807i4illrdmj3cmmnrgxlc9y4vf6mxp2a14")))) + (build-system gnu-build-system) + (propagated-inputs + `(("opus" ,opus))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libogg" ,libogg) + ("openssl" ,openssl))) + (synopsis "Versatile audio codec") + (description + "The opusfile library provides seeking, decode, and playback of Opus +streams in the Ogg container (.opus files) including over http(s) on posix and +windows systems.") + (license license:bsd-3) + (home-page "http://www.opus-codec.org"))) + (define-public icecast (package (name "icecast") From e8069d012f63979867a15b56b5490d56ef345d6c Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Mon, 19 Oct 2015 13:18:09 +0200 Subject: [PATCH 023/194] gnu: Add cmus. * gnu/packages/music.scm (cmus): New variable. --- gnu/packages/music.scm | 64 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index a72f7543dd..7970d17978 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Ricardo Wurmus +;;; Copyright © 2015 Paul van der Walt ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,6 +34,7 @@ #:use-module (gnu packages base) ;libbdf #:use-module (gnu packages boost) #:use-module (gnu packages bison) + #:use-module (gnu packages cdrom) #:use-module (gnu packages code) #:use-module (gnu packages check) #:use-module (gnu packages compression) @@ -55,6 +57,7 @@ #:use-module (gnu packages linux) ; for alsa-utils #:use-module (gnu packages man) #:use-module (gnu packages mp3) + #:use-module (gnu packages ncurses) #:use-module (gnu packages netpbm) #:use-module (gnu packages pdf) #:use-module (gnu packages perl) @@ -67,6 +70,7 @@ #:use-module (gnu packages tcl) #:use-module (gnu packages texinfo) #:use-module (gnu packages texlive) + #:use-module (gnu packages video) #:use-module (gnu packages web) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) @@ -74,6 +78,66 @@ #:use-module (gnu packages zip) #:use-module ((srfi srfi-1) #:select (last))) +(define-public cmus + (package + (name "cmus") + (version "2.7.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/" name "/" name "/archive/v" + version ".tar.gz")) + (sha256 + (base32 + "0raixgjavkm7hxppzsc5zqbfbh2bhjcmbiplhnsxsmyj8flafyc1")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; cmus does not include tests + #:phases + (modify-phases %standard-phases + (replace + 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + + ;; It's an idiosyncratic configure script that doesn't + ;; understand --prefix=..; it wants prefix=.. instead. + (zero? + (system* "./configure" + (string-append "prefix=" out))))))))) + ;; TODO: cmus optionally supports the following formats, which haven't yet + ;; been added to Guix: + ;; + ;; - Roar, libroar + ;; + ;; - DISCID_LIBS, apparently different from cd-discid which is included in + ;; Guix. See + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("ao" ,ao) + ("ffmpeg" ,ffmpeg) + ("flac" ,flac) + ("jack" ,jack-1) + ("libcddb" ,libcddb) + ("libcdio-paranoia" ,libcdio-paranoia) + ("libcue" ,libcue) + ("libmad" ,libmad) + ("libmodplug" ,libmodplug) + ("libmpcdec" ,libmpcdec) + ("libsamplerate" ,libsamplerate) + ("libvorbis" ,libvorbis) + ("ncurses" ,ncurses) + ("opusfile" ,opusfile) + ("pulseaudio" ,pulseaudio) + ("wavpack" ,wavpack))) + (home-page "https://cmus.github.io/") + (synopsis "Small console music player") + (description "Cmus is a small and fast console music player. It supports +many input formats and provides a customisable Vi-style user interface.") + (license license:gpl2+))) + (define-public hydrogen (package (name "hydrogen") From e11b27520412ea046834eb425f32f7592f7fe094 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Mon, 19 Oct 2015 15:24:45 +0200 Subject: [PATCH 024/194] gnu: Add dosbox x86 emulator. * gnu/packages/games.scm (dosbox): New variable. --- gnu/packages/games.scm | 44 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 3023794218..6552729087 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2015 Christopher Allan Webber ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2015 Alex Kost +;;; Copyright © 2015 Paul van der Walt ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,7 +35,9 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix svn-download) #:use-module (gnu packages) + #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages admin) #:use-module (gnu packages audio) @@ -1048,6 +1051,47 @@ experience and advance levels, and are carried over from one scenario to the next campaign.") (license license:gpl2+))) +(define-public dosbox + (package + (name "dosbox") + (version "0.74.svn3947") + (source (origin + (method svn-fetch) + (uri (svn-reference + (url "http://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk/") + (revision 3947))) + ;; Use SVN head, since the last release (2010) is incompatible + ;; with GCC 4.8+ (see + ;; ). + (sha256 + (base32 + "1p918j6090d1nkvgq7ifvmn506zrdmyi32y7p3ms40d5ssqjg8fj")))) + (build-system gnu-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (add-before + 'configure 'autogen.sh + (lambda _ + (zero? (system* "sh" "autogen.sh"))))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake))) + (inputs + `(("sdl" ,sdl) + ("libpng" ,libpng) + ("zlib" ,zlib) + ("alsa-lib" ,alsa-lib) + ("glu" ,glu) + ("mesa" ,mesa))) + (home-page "http://www.dosbox.com") + (synopsis "x86 emulator with CGA/EGA/VGA/etc. graphics and sound") + (description "DOSBox is a DOS-emulator that uses the SDL library. DOSBox +also emulates CPU:286/386 realmode/protected mode, Directory +FileSystem/XMS/EMS, Tandy/Hercules/CGA/EGA/VGA/VESA graphics, a +SoundBlaster/Gravis Ultra Sound card for excellent sound compatibility with +older games.") + (license license:gpl2+))) + (define-public gamine (package (name "gamine") From e0a7d364589578a9b75943f827b05e74e7b63dea Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 21 Oct 2015 18:37:53 -0400 Subject: [PATCH 025/194] gnu: dosbox: Put the 'autogen.sh' phase after 'unpack'. * gnu/packages/games.scm (dosbox)[arguments]: Put the 'autogen.sh' phase after 'unpack', instead of before 'configure'. --- gnu/packages/games.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 6552729087..9d2058af43 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2014 Sylvain Beucler ;;; Copyright © 2014, 2015 Ludovic Courtès ;;; Copyright © 2014, 2015 Sou Bunnbu -;;; Copyright © 2014 Mark H Weaver +;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2015 David Hashe ;;; Copyright © 2015 Christopher Allan Webber @@ -1069,8 +1069,8 @@ next campaign.") (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases - (add-before - 'configure 'autogen.sh + (add-after + 'unpack 'autogen.sh (lambda _ (zero? (system* "sh" "autogen.sh"))))))) (native-inputs From 1e656049b01bdeb2370229641ef8e0def92b4f89 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 13 Oct 2015 14:56:15 +0200 Subject: [PATCH 026/194] gnu: Add python-numexpr. * gnu/packages/python.scm (python-numexpr, python2-numexpr): New variables. --- gnu/packages/python.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index c972b62500..9721343235 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -3060,6 +3060,43 @@ that client code uses to construct the grammar directly in Python code.") (define-public python2-numpydoc (package-with-python2 python-numpydoc)) +(define-public python-numexpr + (package + (name "python-numexpr") + (version "2.4.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/" + "n/numexpr/numexpr-" version ".tar.gz")) + (sha256 + (base32 + "0nsnff5312fm38w6dm34bw7ghfqqy8vl9gig0al963h4mz8zm8nz")))) + (build-system python-build-system) + (arguments `(#:tests? #f)) ; no tests included + (propagated-inputs + `(("python-numpy" ,python-numpy))) + (home-page "https://github.com/pydata/numexpr") + (synopsis "Fast numerical expression evaluator for NumPy") + (description + "Numexpr is a fast numerical expression evaluator for NumPy. With it, +expressions that operate on arrays are accelerated and use less memory than +doing the same calculation in Python. In addition, its multi-threaded +capabilities can make use of all your cores, which may accelerate +computations, most specially if they are not memory-bounded (e.g. those using +transcendental functions).") + (license license:expat))) + +(define-public python2-numexpr + (let ((numexpr (package-with-python2 python-numexpr))) + (package (inherit numexpr) + ;; Make sure to use special packages for Python 2 instead + ;; of those automatically rewritten by package-with-python2. + (propagated-inputs + `(("python2-numpy" ,python2-numpy) + ,@(alist-delete "python-numpy" + (package-propagated-inputs numexpr))))))) + (define-public python-matplotlib (package (name "python-matplotlib") From fe4c37c244c0fb786c135e2da62306dc90df5638 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 16 Oct 2015 17:41:07 +0200 Subject: [PATCH 027/194] gnu: Add MOSAIK. * gnu/packages/bioinformatics.scm (mosaik): New variable. --- gnu/packages/bioinformatics.scm | 46 +++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 51e3df6d81..48edd56854 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2149,6 +2149,52 @@ viewer.") (string-append bin "/samtools"))))) (delete 'patch-tests))))))) +(define-public mosaik + (let ((commit "5c25216d")) + (package + (name "mosaik") + (version "2.2.30") + (source (origin + ;; There are no release tarballs nor tags. + (method git-fetch) + (uri (git-reference + (url "https://github.com/wanpinglee/MOSAIK.git") + (commit commit))) + (file-name (string-append name "-" version)) + (sha256 + (base32 + "17gj3s07cm77r41z92awh0bim7w7q7fbn0sf5nkqmcm1vw052qgw")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no tests + #:make-flags (list "CC=gcc") + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda _ (chdir "src") #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") + "/bin"))) + (mkdir-p bin) + (copy-recursively "../bin" bin) + #t)))))) + (inputs + `(("perl" ,perl) + ("zlib" ,zlib))) + (home-page "https://code.google.com/p/mosaik-aligner/") + (synopsis "Map nucleotide sequence reads to reference genomes") + (description + "MOSAIK is a program for mapping second and third-generation sequencing +reads to a reference genome. MOSAIK can align reads generated by all the +major sequencing technologies, including Illumina, Applied Biosystems SOLiD, +Roche 454, Ion Torrent and Pacific BioSciences SMRT.") + ;; MOSAIK is released under the GPLv2+ with the exception of third-party + ;; code released into the public domain: + ;; 1. fastlz by Ariya Hidayat - http://www.fastlz.org/ + ;; 2. MD5 implementation - RSA Data Security, RFC 1321 + (license (list license:gpl2+ license:public-domain))))) + (define-public ngs-sdk (package (name "ngs-sdk") From 1a6566724004af32c2016092d9bc6dfc2c28a933 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 21 Oct 2015 16:29:54 -0500 Subject: [PATCH 028/194] gnu: conkeror: Upgrade to 1.0pre1.20150730. * gnu/packages/conkeror.scm (conkeror): Upgrade to 1.0pre1.20150730. [arguments]: Adjust #:make-flags and #:phases for new Makefile, and use modify-phases. --- gnu/packages/conkeror.scm | 54 ++++++++++++++++++--------------------- 1 file changed, 25 insertions(+), 29 deletions(-) diff --git a/gnu/packages/conkeror.scm b/gnu/packages/conkeror.scm index 51bb1a260a..d91fe9e78b 100644 --- a/gnu/packages/conkeror.scm +++ b/gnu/packages/conkeror.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Cyrill Schenkel -;;; Copyright © 2014 Eric Bavier +;;; Copyright © 2014, 2015 Eric Bavier ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,46 +28,42 @@ (define-public conkeror (package (name "conkeror") - (version "1.0pre1") + (version "1.0pre1.20150730") (source (origin (method url-fetch) (uri (string-append "http://repo.or.cz/w/conkeror.git/snapshot/" - "8a26fff5896a3360549e2adfbf06b1d57e909266" - ".tar.gz")) ; tag: debian-1.0--pre-1+git140616-1 + "a1f7e879b129df5cf14ea4ce80a9c1407380ed58" + ".tar.gz")) ; tag: debian-1.0--pre-1+git150730-1 (sha256 (base32 - "1cgjzi7g3g22zcx6bpfnid4i12sb45w6icmxdzjn8d3c0m8qsyp1")))) + "1q45hc30733gz3ca2ixvw0rzzcbi7rlay7gx7kvzjv17a030nyk0")))) (build-system gnu-build-system) (inputs `(("icecat" ,icecat))) (arguments `(#:tests? #f ;no tests - #:make-flags '("CC=gcc") + #:make-flags `("CC=gcc" + ,(string-append "PREFIX=" (assoc-ref %outputs "out"))) #:phases - (alist-delete - 'configure - (alist-replace - 'install - (lambda _ - (begin - (use-modules (guix build utils)) - (let* ((datadir (string-append %output "/share/conkeror")) - (bindir (string-append %output "/bin")) - (launcher (string-append bindir "/conkeror")) - (spawn (string-append bindir "/conkeror-spawn-helper"))) - (copy-recursively "." datadir) - (mkdir-p bindir) - (copy-file "conkeror-spawn-helper" spawn) - (call-with-output-file launcher - (lambda (p) - (format p "#!~a/bin/bash + (modify-phases %standard-phases + (delete 'configure) + (add-after + 'install 'install-app-launcher + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; This overwrites the installed launcher, which execs xulrunner, + ;; with one that execs 'icecat --app' + (let* ((out (assoc-ref outputs "out")) + (datadir (string-append out "/share/conkeror")) + (launcher (string-append out "/bin/conkeror"))) + (call-with-output-file launcher + (lambda (p) + (format p "#!~a/bin/bash exec ~a/bin/icecat --app ~a \"$@\"~%" - (assoc-ref %build-inputs "bash") ;implicit input - (assoc-ref %build-inputs "icecat") - (string-append datadir - "/application.ini")))) - (chmod launcher #o555)))) - %standard-phases)))) + (assoc-ref inputs "bash") ;implicit input + (assoc-ref inputs "icecat") + (string-append datadir + "/application.ini")))) + (chmod launcher #o555))))))) (synopsis "Keyboard focused web browser with Emacs look and feel") (description "Conkeror is a highly-programmable web browser based on Mozilla XULRunner which is the base of all Mozilla products including Firefox. From 566fc7fa139218d216671135e03f3339dc76e610 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 11:21:51 +0200 Subject: [PATCH 029/194] gnu: cmus: Add file-name property. * gnu/packages/music.scm (cmus): Add file-name, since the downloaded tar.gz only contains version number. --- gnu/packages/music.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 7970d17978..c693f0faf0 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -87,6 +87,7 @@ (uri (string-append "https://github.com/" name "/" name "/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0raixgjavkm7hxppzsc5zqbfbh2bhjcmbiplhnsxsmyj8flafyc1")))) From ff9a5f7e97622058940260c89b75122daa64d4f5 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 11:22:36 +0200 Subject: [PATCH 030/194] gnu: dosbox: Add file-name property. * gnu/packages/games.scm (dosbox): Add file-name property, since the package is built from an SVN checkout. --- gnu/packages/games.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 9d2058af43..9c44bbe3e0 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1060,6 +1060,7 @@ next campaign.") (uri (svn-reference (url "http://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk/") (revision 3947))) + (file-name (string-append name "-" version "-checkout")) ;; Use SVN head, since the last release (2010) is incompatible ;; with GCC 4.8+ (see ;; ). From 5d47eab0242d6f89a6837123141acdae68745328 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 22 Oct 2015 13:12:07 +0300 Subject: [PATCH 031/194] gnu: Add pbzip2. * gnu/packages/compression.scm (pbzip2): New variable. --- gnu/packages/compression.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 941844b870..0bb3919cee 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2015 Leo Famulari ;;; Copyright © 2015 Jeff Mickey +;;; Copyright © 2015 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -225,6 +226,38 @@ decompression.") "See LICENSE in the distribution.")) (home-page "http://www.bzip.org/")))) +(define-public pbzip2 + (package + (name "pbzip2") + (version "1.1.12") + (source (origin + (method url-fetch) + (uri (string-append "https://launchpad.net/pbzip2/1.1/" version + "/+download/" name "-" version ".tar.gz")) + (sha256 + (base32 + "1vk6065dv3a47p86vmp8hv3n1ygd9hraz0gq89gvzlx7lmcb6fsp")))) + (build-system gnu-build-system) + (inputs + `(("bzip2", bzip2))) + (arguments + `(#:tests? #f ; no tests + #:phases (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Makefile" + (("/usr") (assoc-ref outputs "out"))) + #t))))) + (home-page "http://compression.ca/pbzip2/") + (synopsis "Parallel bzip2 implementation") + (description + "Pbzip2 is a parallel implementation of the bzip2 block-sorting file +compressor that uses pthreads and achieves near-linear speedup on SMP machines. +The output of this version is fully compatible with bzip2 v1.0.2 (ie: anything +compressed with pbzip2 can be decompressed with bzip2).") + (license (license:non-copyleft "file://COPYING" + "See COPYING in the distribution.")))) + (define-public xz (package (name "xz") From 9bc08aa0cb65ef0689f06fed7b0859f9fe542ae1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 12 Oct 2015 17:41:58 +0200 Subject: [PATCH 032/194] gnu: Add python-patsy. * gnu/packages/statistics.scm (python-patsy, python2-patsy): New variables. --- gnu/packages/statistics.scm | 58 ++++++++++++++++++++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index f854a44d96..14920944c5 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -24,6 +24,7 @@ #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system r) + #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages gcc) @@ -35,11 +36,14 @@ #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) #:use-module (gnu packages readline) #:use-module (gnu packages texlive) #:use-module (gnu packages texinfo) #:use-module (gnu packages base) - #:use-module (gnu packages xorg)) + #:use-module (gnu packages xorg) + #:use-module (gnu packages zip) + #:use-module (srfi srfi-1)) (define-public r (package @@ -933,3 +937,55 @@ times.") large data (e.g. 100GB in RAM), fast ordered joins, fast add/modify/delete of columns by group, column listing and fast file reading.") (license license:gpl2+))) + +(define-public python-patsy + (package + (name "python-patsy") + (version "0.4.0") + (source (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/" + "p/patsy/patsy-" version ".zip")) + (sha256 + (base32 + "1kbs996xc2haxalmhd19rr1wh5fa4gbbxf81czkf5w4kam7h7wz4")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check (lambda _ (zero? (system* "nosetests" "-v")))) + (add-after 'unpack 'prevent-generation-of-egg-archive + (lambda _ + (substitute* "setup.py" + (("from setuptools import setup") + "from distutils.core import setup")) + #t))))) + (propagated-inputs + `(("python-numpy" ,python-numpy) + ("python-scipy" ,python-scipy) + ("python-six" ,python-six))) + (native-inputs + `(("python-nose" ,python-nose) + ("unzip" ,unzip))) + (home-page "https://github.com/pydata/patsy") + (synopsis "Describe statistical models and build design matrices") + (description + "Patsy is a Python package for describing statistical models and for +building design matrices.") + ;; The majority of the code is distributed under BSD-2. The module + ;; patsy.compat contains code derived from the Python standard library, + ;; and is covered by the PSFL. + (license (list license:bsd-2 license:psfl)))) + +(define-public python2-patsy + (let ((patsy (package-with-python2 python-patsy))) + (package (inherit patsy) + (native-inputs + `(("python2-setuptools" ,python2-setuptools) + ,@(package-native-inputs patsy))) + (propagated-inputs + `(("python2-numpy" ,python2-numpy) + ("python2-scipy" ,python2-scipy) + ,@(alist-delete "python-numpy" + (alist-delete "python-scipy" + (package-propagated-inputs patsy)))))))) From 37fdba7e0ba3d3bd8b3e58f55fa982aec05dc163 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 13 Oct 2015 13:28:58 +0200 Subject: [PATCH 033/194] gnu: Add python-statsmodels. * gnu/packages/statistics.scm (python-statsmodels, python2-statsmodels): New variables. --- gnu/packages/statistics.scm | 64 +++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 14920944c5..0c0464c2b9 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -989,3 +989,67 @@ building design matrices.") ,@(alist-delete "python-numpy" (alist-delete "python-scipy" (package-propagated-inputs patsy)))))))) + +(define-public python-statsmodels + (package + (name "python-statsmodels") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/" + "s/statsmodels/statsmodels-" version ".tar.gz")) + (sha256 + (base32 + "0xn67sqr0cc1lmlhzm71352hrb4hw7g318p5ff5q97pc98vl8kmy")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; tests must be run after installation + (delete 'check) + (add-after 'unpack 'set-matplotlib-backend-to-agg + (lambda _ + ;; Set the matplotlib backend to Agg to avoid problems using the + ;; GTK backend without a display. + (substitute* (find-files "statsmodels/graphics/tests" "\\.py") + (("import matplotlib\\.pyplot as plt" line) + (string-append "import matplotlib;matplotlib.use('Agg');" + line))) + #t)) + (add-after 'install 'check + (lambda _ + (with-directory-excursion "/tmp" + (zero? (system* "nosetests" + "--stop" + "-v" "statsmodels")))))))) + (propagated-inputs + `(("python-numpy" ,python-numpy) + ("python-scipy" ,python-scipy) + ("python-pandas" ,python-pandas) + ("python-patsy" ,python-patsy) + ("python-matplotlib" ,python-matplotlib))) + (native-inputs + `(("python-cython" ,python-cython) + ("python-nose" ,python-nose) + ("python-sphinx" ,python-sphinx))) + (home-page "http://statsmodels.sourceforge.net/") + (synopsis "Statistical modeling and econometrics in Python") + (description + "Statsmodels is a Python package that provides a complement to scipy for +statistical computations including descriptive statistics and estimation and +inference for statistical models.") + (license license:bsd-3))) + +(define-public python2-statsmodels + (let ((stats (package-with-python2 python-statsmodels))) + (package (inherit stats) + (propagated-inputs + `(("python2-numpy" ,python2-numpy) + ("python2-scipy" ,python2-scipy) + ("python2-pandas" ,python2-pandas) + ("python2-patsy" ,python2-patsy) + ("python2-matplotlib" ,python2-matplotlib))) + (native-inputs + `(("python2-setuptools" ,python2-setuptools) + ,@(package-native-inputs stats)))))) From dddb11b506ee9c7feca26be852d9995faf587099 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 22 Oct 2015 14:30:01 -0400 Subject: [PATCH 034/194] gnu: ntp: Update to 4.2.8p4. * gnu/packages/ntp.scm (ntp): Update to 4.2.8p4. --- gnu/packages/ntp.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ntp.scm b/gnu/packages/ntp.scm index a53d98efdd..9e6db67e3e 100644 --- a/gnu/packages/ntp.scm +++ b/gnu/packages/ntp.scm @@ -35,7 +35,7 @@ (define-public ntp (package (name "ntp") - (version "4.2.8p3") + (version "4.2.8p4") (source (origin (method url-fetch) (uri (string-append @@ -44,7 +44,7 @@ "/ntp-" version ".tar.gz")) (sha256 (base32 - "13zkzcvjm5kbxl4xbcmaq07slplhmpkgahzcqnqlba3cxpra9341")) + "1fgxbhv0wyiivi6kh5zpzrd0yqmc48z7d3zmjspw9lj84mbn2s8d")) (modules '((guix build utils))) (snippet '(begin From c46c931ecfe7fd4a5cbd979263d28d3f1e02bcca Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 22 Oct 2015 14:54:43 -0400 Subject: [PATCH 035/194] gnu: unzip: Reorganize security fixes for improved clarity. * gnu/packages/patches/unzip-fix-overflows-and-infloop.patch: Delete file. Its contents are now split into the following new files: * gnu/packages/patches/unzip-CVE-2015-7696.patch, gnu/packages/patches/unzip-CVE-2015-7697.patch, gnu/packages/patches/unzip-overflow-on-invalid-input.patch: New files. * gnu-system.am (dist_patch_DATA): Adjust accordingly. * gnu/packages/zip.scm (unzip)[source]: Adjust patches accordingly. --- gnu-system.am | 4 +- .../patches/unzip-CVE-2015-7696.patch | 35 ++++++ .../patches/unzip-CVE-2015-7697.patch | 28 +++++ .../unzip-fix-overflows-and-infloop.patch | 108 ------------------ .../unzip-overflow-on-invalid-input.patch | 40 +++++++ gnu/packages/zip.scm | 4 +- 6 files changed, 109 insertions(+), 110 deletions(-) create mode 100644 gnu/packages/patches/unzip-CVE-2015-7696.patch create mode 100644 gnu/packages/patches/unzip-CVE-2015-7697.patch delete mode 100644 gnu/packages/patches/unzip-fix-overflows-and-infloop.patch create mode 100644 gnu/packages/patches/unzip-overflow-on-invalid-input.patch diff --git a/gnu-system.am b/gnu-system.am index e62fe18c97..c4810661a2 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -647,9 +647,11 @@ dist_patch_DATA = \ gnu/packages/patches/unzip-CVE-2014-8140.patch \ gnu/packages/patches/unzip-CVE-2014-8141.patch \ gnu/packages/patches/unzip-CVE-2014-9636.patch \ + gnu/packages/patches/unzip-CVE-2015-7696.patch \ + gnu/packages/patches/unzip-CVE-2015-7697.patch \ gnu/packages/patches/unzip-allow-greater-hostver-values.patch \ gnu/packages/patches/unzip-attribs-overflow.patch \ - gnu/packages/patches/unzip-fix-overflows-and-infloop.patch \ + gnu/packages/patches/unzip-overflow-on-invalid-input.patch \ gnu/packages/patches/unzip-format-secure.patch \ gnu/packages/patches/unzip-initialize-symlink-flag.patch \ gnu/packages/patches/unzip-overflow-long-fsize.patch \ diff --git a/gnu/packages/patches/unzip-CVE-2015-7696.patch b/gnu/packages/patches/unzip-CVE-2015-7696.patch new file mode 100644 index 0000000000..d6a4072673 --- /dev/null +++ b/gnu/packages/patches/unzip-CVE-2015-7696.patch @@ -0,0 +1,35 @@ +Copied from Debian. + +From: Petr Stodulka +Date: Mon, 14 Sep 2015 18:23:17 +0200 +Subject: Upstream fix for heap overflow +Bug-Debian: https://bugs.debian.org/802162 +Bug-RedHat: https://bugzilla.redhat.com/show_bug.cgi?id=1260944 +Origin: https://bugzilla.redhat.com/attachment.cgi?id=1073002 +Forwarded: yes + +--- + crypt.c | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +--- a/crypt.c ++++ b/crypt.c +@@ -465,7 +465,17 @@ + GLOBAL(pInfo->encrypted) = FALSE; + defer_leftover_input(__G); + for (n = 0; n < RAND_HEAD_LEN; n++) { +- b = NEXTBYTE; ++ /* 2012-11-23 SMS. (OUSPG report.) ++ * Quit early if compressed size < HEAD_LEN. The resulting ++ * error message ("unable to get password") could be improved, ++ * but it's better than trying to read nonexistent data, and ++ * then continuing with a negative G.csize. (See ++ * fileio.c:readbyte()). ++ */ ++ if ((b = NEXTBYTE) == (ush)EOF) ++ { ++ return PK_ERR; ++ } + h[n] = (uch)b; + Trace((stdout, " (%02x)", h[n])); + } diff --git a/gnu/packages/patches/unzip-CVE-2015-7697.patch b/gnu/packages/patches/unzip-CVE-2015-7697.patch new file mode 100644 index 0000000000..d688b42495 --- /dev/null +++ b/gnu/packages/patches/unzip-CVE-2015-7697.patch @@ -0,0 +1,28 @@ +Copied from Debian. + +From: Kamil Dudka +Date: Mon, 14 Sep 2015 18:24:56 +0200 +Subject: fix infinite loop when extracting empty bzip2 data +Bug-Debian: https://bugs.debian.org/802160 +Bug-RedHat: https://bugzilla.redhat.com/show_bug.cgi?id=1260944 +Origin: other, https://bugzilla.redhat.com/attachment.cgi?id=1073339 + +--- + extract.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- a/extract.c ++++ b/extract.c +@@ -2728,6 +2728,12 @@ + int repeated_buf_err; + bz_stream bstrm; + ++ if (G.incnt <= 0 && G.csize <= 0L) { ++ /* avoid an infinite loop */ ++ Trace((stderr, "UZbunzip2() got empty input\n")); ++ return 2; ++ } ++ + #if (defined(DLL) && !defined(NO_SLIDE_REDIR)) + if (G.redirect_slide) + wsize = G.redirect_size, redirSlide = G.redirect_buffer; diff --git a/gnu/packages/patches/unzip-fix-overflows-and-infloop.patch b/gnu/packages/patches/unzip-fix-overflows-and-infloop.patch deleted file mode 100644 index 33498db95e..0000000000 --- a/gnu/packages/patches/unzip-fix-overflows-and-infloop.patch +++ /dev/null @@ -1,108 +0,0 @@ -Copied from Fedora. - -http://pkgs.fedoraproject.org/cgit/unzip.git/tree/unzip-6.0-heap-overflow-infloop.patch?id=d18f821e - -From bdd4a0cecd745cb4825e4508b5bdf2579731086a Mon Sep 17 00:00:00 2001 -From: Petr Stodulka -Date: Mon, 14 Sep 2015 18:23:17 +0200 -Subject: [PATCH 1/3] upstream fix for heap overflow - -https://bugzilla.redhat.com/attachment.cgi?id=1073002 ---- - crypt.c | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -diff --git a/crypt.c b/crypt.c -index 784e411..a8975f2 100644 ---- a/crypt.c -+++ b/crypt.c -@@ -465,7 +465,17 @@ int decrypt(__G__ passwrd) - GLOBAL(pInfo->encrypted) = FALSE; - defer_leftover_input(__G); - for (n = 0; n < RAND_HEAD_LEN; n++) { -- b = NEXTBYTE; -+ /* 2012-11-23 SMS. (OUSPG report.) -+ * Quit early if compressed size < HEAD_LEN. The resulting -+ * error message ("unable to get password") could be improved, -+ * but it's better than trying to read nonexistent data, and -+ * then continuing with a negative G.csize. (See -+ * fileio.c:readbyte()). -+ */ -+ if ((b = NEXTBYTE) == (ush)EOF) -+ { -+ return PK_ERR; -+ } - h[n] = (uch)b; - Trace((stdout, " (%02x)", h[n])); - } --- -2.4.6 - - -From 4b48844661ff9569f2ecf582a387d46a5775b5d8 Mon Sep 17 00:00:00 2001 -From: Kamil Dudka -Date: Mon, 14 Sep 2015 18:24:56 +0200 -Subject: [PATCH 2/3] fix infinite loop when extracting empty bzip2 data - -Bug: https://sourceforge.net/p/infozip/patches/23/ ---- - extract.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/extract.c b/extract.c -index 7134bfe..29db027 100644 ---- a/extract.c -+++ b/extract.c -@@ -2733,6 +2733,12 @@ __GDEF - int repeated_buf_err; - bz_stream bstrm; - -+ if (G.incnt <= 0 && G.csize <= 0L) { -+ /* avoid an infinite loop */ -+ Trace((stderr, "UZbunzip2() got empty input\n")); -+ return 2; -+ } -+ - #if (defined(DLL) && !defined(NO_SLIDE_REDIR)) - if (G.redirect_slide) - wsize = G.redirect_size, redirSlide = G.redirect_buffer; --- -2.4.6 - - -From bd150334fb4084f5555a6be26b015a0671cb5b74 Mon Sep 17 00:00:00 2001 -From: Kamil Dudka -Date: Tue, 22 Sep 2015 18:52:23 +0200 -Subject: [PATCH 3/3] extract: prevent unsigned overflow on invalid input - -Suggested-by: Stefan Cornelius ---- - extract.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/extract.c b/extract.c -index 29db027..b9ae667 100644 ---- a/extract.c -+++ b/extract.c -@@ -1257,8 +1257,17 @@ static int extract_or_test_entrylist(__G__ numchunk, - if (G.lrec.compression_method == STORED) { - zusz_t csiz_decrypted = G.lrec.csize; - -- if (G.pInfo->encrypted) -+ if (G.pInfo->encrypted) { -+ if (csiz_decrypted <= 12) { -+ /* handle the error now to prevent unsigned overflow */ -+ Info(slide, 0x401, ((char *)slide, -+ LoadFarStringSmall(ErrUnzipNoFile), -+ LoadFarString(InvalidComprData), -+ LoadFarStringSmall2(Inflate))); -+ return PK_ERR; -+ } - csiz_decrypted -= 12; -+ } - if (G.lrec.ucsize != csiz_decrypted) { - Info(slide, 0x401, ((char *)slide, - LoadFarStringSmall2(WrnStorUCSizCSizDiff), --- -2.5.2 - diff --git a/gnu/packages/patches/unzip-overflow-on-invalid-input.patch b/gnu/packages/patches/unzip-overflow-on-invalid-input.patch new file mode 100644 index 0000000000..013002a88c --- /dev/null +++ b/gnu/packages/patches/unzip-overflow-on-invalid-input.patch @@ -0,0 +1,40 @@ +Extracted from a patch in Fedora. + +http://pkgs.fedoraproject.org/cgit/unzip.git/tree/unzip-6.0-heap-overflow-infloop.patch?id=d18f821e + +From bd150334fb4084f5555a6be26b015a0671cb5b74 Mon Sep 17 00:00:00 2001 +From: Kamil Dudka +Date: Tue, 22 Sep 2015 18:52:23 +0200 +Subject: [PATCH 3/3] extract: prevent unsigned overflow on invalid input + +Suggested-by: Stefan Cornelius +--- + extract.c | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/extract.c b/extract.c +index 29db027..b9ae667 100644 +--- a/extract.c ++++ b/extract.c +@@ -1257,8 +1257,17 @@ static int extract_or_test_entrylist(__G__ numchunk, + if (G.lrec.compression_method == STORED) { + zusz_t csiz_decrypted = G.lrec.csize; + +- if (G.pInfo->encrypted) ++ if (G.pInfo->encrypted) { ++ if (csiz_decrypted <= 12) { ++ /* handle the error now to prevent unsigned overflow */ ++ Info(slide, 0x401, ((char *)slide, ++ LoadFarStringSmall(ErrUnzipNoFile), ++ LoadFarString(InvalidComprData), ++ LoadFarStringSmall2(Inflate))); ++ return PK_ERR; ++ } + csiz_decrypted -= 12; ++ } + if (G.lrec.ucsize != csiz_decrypted) { + Info(slide, 0x401, ((char *)slide, + LoadFarStringSmall2(WrnStorUCSizCSizDiff), +-- +2.5.2 + diff --git a/gnu/packages/zip.scm b/gnu/packages/zip.scm index 83c452778c..b7bed0e86d 100644 --- a/gnu/packages/zip.scm +++ b/gnu/packages/zip.scm @@ -85,11 +85,13 @@ Compression ratios of 2:1 to 3:1 are common for text files.") "unzip-CVE-2014-8140.patch" "unzip-CVE-2014-8141.patch" "unzip-CVE-2014-9636.patch" + "unzip-CVE-2015-7696.patch" + "unzip-CVE-2015-7697.patch" "unzip-allow-greater-hostver-values.patch" "unzip-initialize-symlink-flag.patch" "unzip-remove-build-date.patch" "unzip-attribs-overflow.patch" - "unzip-fix-overflows-and-infloop.patch" + "unzip-overflow-on-invalid-input.patch" "unzip-format-secure.patch" "unzip-overflow-long-fsize.patch"))))) (build-system gnu-build-system) From 2442e69e4182b592757dad473c8c7b1c48ca8284 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 22 Oct 2015 17:10:41 -0400 Subject: [PATCH 036/194] Revert "gnu: unzip: Reorganize security fixes for improved clarity." This reverts commit c46c931ecfe7fd4a5cbd979263d28d3f1e02bcca. --- gnu-system.am | 4 +- .../patches/unzip-CVE-2015-7696.patch | 35 ------ .../patches/unzip-CVE-2015-7697.patch | 28 ----- .../unzip-fix-overflows-and-infloop.patch | 108 ++++++++++++++++++ .../unzip-overflow-on-invalid-input.patch | 40 ------- gnu/packages/zip.scm | 4 +- 6 files changed, 110 insertions(+), 109 deletions(-) delete mode 100644 gnu/packages/patches/unzip-CVE-2015-7696.patch delete mode 100644 gnu/packages/patches/unzip-CVE-2015-7697.patch create mode 100644 gnu/packages/patches/unzip-fix-overflows-and-infloop.patch delete mode 100644 gnu/packages/patches/unzip-overflow-on-invalid-input.patch diff --git a/gnu-system.am b/gnu-system.am index c4810661a2..e62fe18c97 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -647,11 +647,9 @@ dist_patch_DATA = \ gnu/packages/patches/unzip-CVE-2014-8140.patch \ gnu/packages/patches/unzip-CVE-2014-8141.patch \ gnu/packages/patches/unzip-CVE-2014-9636.patch \ - gnu/packages/patches/unzip-CVE-2015-7696.patch \ - gnu/packages/patches/unzip-CVE-2015-7697.patch \ gnu/packages/patches/unzip-allow-greater-hostver-values.patch \ gnu/packages/patches/unzip-attribs-overflow.patch \ - gnu/packages/patches/unzip-overflow-on-invalid-input.patch \ + gnu/packages/patches/unzip-fix-overflows-and-infloop.patch \ gnu/packages/patches/unzip-format-secure.patch \ gnu/packages/patches/unzip-initialize-symlink-flag.patch \ gnu/packages/patches/unzip-overflow-long-fsize.patch \ diff --git a/gnu/packages/patches/unzip-CVE-2015-7696.patch b/gnu/packages/patches/unzip-CVE-2015-7696.patch deleted file mode 100644 index d6a4072673..0000000000 --- a/gnu/packages/patches/unzip-CVE-2015-7696.patch +++ /dev/null @@ -1,35 +0,0 @@ -Copied from Debian. - -From: Petr Stodulka -Date: Mon, 14 Sep 2015 18:23:17 +0200 -Subject: Upstream fix for heap overflow -Bug-Debian: https://bugs.debian.org/802162 -Bug-RedHat: https://bugzilla.redhat.com/show_bug.cgi?id=1260944 -Origin: https://bugzilla.redhat.com/attachment.cgi?id=1073002 -Forwarded: yes - ---- - crypt.c | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - ---- a/crypt.c -+++ b/crypt.c -@@ -465,7 +465,17 @@ - GLOBAL(pInfo->encrypted) = FALSE; - defer_leftover_input(__G); - for (n = 0; n < RAND_HEAD_LEN; n++) { -- b = NEXTBYTE; -+ /* 2012-11-23 SMS. (OUSPG report.) -+ * Quit early if compressed size < HEAD_LEN. The resulting -+ * error message ("unable to get password") could be improved, -+ * but it's better than trying to read nonexistent data, and -+ * then continuing with a negative G.csize. (See -+ * fileio.c:readbyte()). -+ */ -+ if ((b = NEXTBYTE) == (ush)EOF) -+ { -+ return PK_ERR; -+ } - h[n] = (uch)b; - Trace((stdout, " (%02x)", h[n])); - } diff --git a/gnu/packages/patches/unzip-CVE-2015-7697.patch b/gnu/packages/patches/unzip-CVE-2015-7697.patch deleted file mode 100644 index d688b42495..0000000000 --- a/gnu/packages/patches/unzip-CVE-2015-7697.patch +++ /dev/null @@ -1,28 +0,0 @@ -Copied from Debian. - -From: Kamil Dudka -Date: Mon, 14 Sep 2015 18:24:56 +0200 -Subject: fix infinite loop when extracting empty bzip2 data -Bug-Debian: https://bugs.debian.org/802160 -Bug-RedHat: https://bugzilla.redhat.com/show_bug.cgi?id=1260944 -Origin: other, https://bugzilla.redhat.com/attachment.cgi?id=1073339 - ---- - extract.c | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- a/extract.c -+++ b/extract.c -@@ -2728,6 +2728,12 @@ - int repeated_buf_err; - bz_stream bstrm; - -+ if (G.incnt <= 0 && G.csize <= 0L) { -+ /* avoid an infinite loop */ -+ Trace((stderr, "UZbunzip2() got empty input\n")); -+ return 2; -+ } -+ - #if (defined(DLL) && !defined(NO_SLIDE_REDIR)) - if (G.redirect_slide) - wsize = G.redirect_size, redirSlide = G.redirect_buffer; diff --git a/gnu/packages/patches/unzip-fix-overflows-and-infloop.patch b/gnu/packages/patches/unzip-fix-overflows-and-infloop.patch new file mode 100644 index 0000000000..33498db95e --- /dev/null +++ b/gnu/packages/patches/unzip-fix-overflows-and-infloop.patch @@ -0,0 +1,108 @@ +Copied from Fedora. + +http://pkgs.fedoraproject.org/cgit/unzip.git/tree/unzip-6.0-heap-overflow-infloop.patch?id=d18f821e + +From bdd4a0cecd745cb4825e4508b5bdf2579731086a Mon Sep 17 00:00:00 2001 +From: Petr Stodulka +Date: Mon, 14 Sep 2015 18:23:17 +0200 +Subject: [PATCH 1/3] upstream fix for heap overflow + +https://bugzilla.redhat.com/attachment.cgi?id=1073002 +--- + crypt.c | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +diff --git a/crypt.c b/crypt.c +index 784e411..a8975f2 100644 +--- a/crypt.c ++++ b/crypt.c +@@ -465,7 +465,17 @@ int decrypt(__G__ passwrd) + GLOBAL(pInfo->encrypted) = FALSE; + defer_leftover_input(__G); + for (n = 0; n < RAND_HEAD_LEN; n++) { +- b = NEXTBYTE; ++ /* 2012-11-23 SMS. (OUSPG report.) ++ * Quit early if compressed size < HEAD_LEN. The resulting ++ * error message ("unable to get password") could be improved, ++ * but it's better than trying to read nonexistent data, and ++ * then continuing with a negative G.csize. (See ++ * fileio.c:readbyte()). ++ */ ++ if ((b = NEXTBYTE) == (ush)EOF) ++ { ++ return PK_ERR; ++ } + h[n] = (uch)b; + Trace((stdout, " (%02x)", h[n])); + } +-- +2.4.6 + + +From 4b48844661ff9569f2ecf582a387d46a5775b5d8 Mon Sep 17 00:00:00 2001 +From: Kamil Dudka +Date: Mon, 14 Sep 2015 18:24:56 +0200 +Subject: [PATCH 2/3] fix infinite loop when extracting empty bzip2 data + +Bug: https://sourceforge.net/p/infozip/patches/23/ +--- + extract.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/extract.c b/extract.c +index 7134bfe..29db027 100644 +--- a/extract.c ++++ b/extract.c +@@ -2733,6 +2733,12 @@ __GDEF + int repeated_buf_err; + bz_stream bstrm; + ++ if (G.incnt <= 0 && G.csize <= 0L) { ++ /* avoid an infinite loop */ ++ Trace((stderr, "UZbunzip2() got empty input\n")); ++ return 2; ++ } ++ + #if (defined(DLL) && !defined(NO_SLIDE_REDIR)) + if (G.redirect_slide) + wsize = G.redirect_size, redirSlide = G.redirect_buffer; +-- +2.4.6 + + +From bd150334fb4084f5555a6be26b015a0671cb5b74 Mon Sep 17 00:00:00 2001 +From: Kamil Dudka +Date: Tue, 22 Sep 2015 18:52:23 +0200 +Subject: [PATCH 3/3] extract: prevent unsigned overflow on invalid input + +Suggested-by: Stefan Cornelius +--- + extract.c | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/extract.c b/extract.c +index 29db027..b9ae667 100644 +--- a/extract.c ++++ b/extract.c +@@ -1257,8 +1257,17 @@ static int extract_or_test_entrylist(__G__ numchunk, + if (G.lrec.compression_method == STORED) { + zusz_t csiz_decrypted = G.lrec.csize; + +- if (G.pInfo->encrypted) ++ if (G.pInfo->encrypted) { ++ if (csiz_decrypted <= 12) { ++ /* handle the error now to prevent unsigned overflow */ ++ Info(slide, 0x401, ((char *)slide, ++ LoadFarStringSmall(ErrUnzipNoFile), ++ LoadFarString(InvalidComprData), ++ LoadFarStringSmall2(Inflate))); ++ return PK_ERR; ++ } + csiz_decrypted -= 12; ++ } + if (G.lrec.ucsize != csiz_decrypted) { + Info(slide, 0x401, ((char *)slide, + LoadFarStringSmall2(WrnStorUCSizCSizDiff), +-- +2.5.2 + diff --git a/gnu/packages/patches/unzip-overflow-on-invalid-input.patch b/gnu/packages/patches/unzip-overflow-on-invalid-input.patch deleted file mode 100644 index 013002a88c..0000000000 --- a/gnu/packages/patches/unzip-overflow-on-invalid-input.patch +++ /dev/null @@ -1,40 +0,0 @@ -Extracted from a patch in Fedora. - -http://pkgs.fedoraproject.org/cgit/unzip.git/tree/unzip-6.0-heap-overflow-infloop.patch?id=d18f821e - -From bd150334fb4084f5555a6be26b015a0671cb5b74 Mon Sep 17 00:00:00 2001 -From: Kamil Dudka -Date: Tue, 22 Sep 2015 18:52:23 +0200 -Subject: [PATCH 3/3] extract: prevent unsigned overflow on invalid input - -Suggested-by: Stefan Cornelius ---- - extract.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/extract.c b/extract.c -index 29db027..b9ae667 100644 ---- a/extract.c -+++ b/extract.c -@@ -1257,8 +1257,17 @@ static int extract_or_test_entrylist(__G__ numchunk, - if (G.lrec.compression_method == STORED) { - zusz_t csiz_decrypted = G.lrec.csize; - -- if (G.pInfo->encrypted) -+ if (G.pInfo->encrypted) { -+ if (csiz_decrypted <= 12) { -+ /* handle the error now to prevent unsigned overflow */ -+ Info(slide, 0x401, ((char *)slide, -+ LoadFarStringSmall(ErrUnzipNoFile), -+ LoadFarString(InvalidComprData), -+ LoadFarStringSmall2(Inflate))); -+ return PK_ERR; -+ } - csiz_decrypted -= 12; -+ } - if (G.lrec.ucsize != csiz_decrypted) { - Info(slide, 0x401, ((char *)slide, - LoadFarStringSmall2(WrnStorUCSizCSizDiff), --- -2.5.2 - diff --git a/gnu/packages/zip.scm b/gnu/packages/zip.scm index b7bed0e86d..83c452778c 100644 --- a/gnu/packages/zip.scm +++ b/gnu/packages/zip.scm @@ -85,13 +85,11 @@ Compression ratios of 2:1 to 3:1 are common for text files.") "unzip-CVE-2014-8140.patch" "unzip-CVE-2014-8141.patch" "unzip-CVE-2014-9636.patch" - "unzip-CVE-2015-7696.patch" - "unzip-CVE-2015-7697.patch" "unzip-allow-greater-hostver-values.patch" "unzip-initialize-symlink-flag.patch" "unzip-remove-build-date.patch" "unzip-attribs-overflow.patch" - "unzip-overflow-on-invalid-input.patch" + "unzip-fix-overflows-and-infloop.patch" "unzip-format-secure.patch" "unzip-overflow-long-fsize.patch"))))) (build-system gnu-build-system) From c595cd47d8d60688f8eb56f25baab2854880e43c Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 22 Oct 2015 17:41:39 -0500 Subject: [PATCH 037/194] gnu: evilwm: Add patch for lost-focus bug. * gnu/packages/patches/evilwm-lost-focus-bug.patch: New patch. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/wm.scm (evilwm)[source]: Use it. --- gnu-system.am | 1 + .../patches/evilwm-lost-focus-bug.patch | 18 ++++++++++++++++++ gnu/packages/wm.scm | 4 +++- 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/evilwm-lost-focus-bug.patch diff --git a/gnu-system.am b/gnu-system.am index e62fe18c97..3e976e9fb7 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -438,6 +438,7 @@ dist_patch_DATA = \ gnu/packages/patches/elfutils-tests-ptrace.patch \ gnu/packages/patches/emacs-exec-path.patch \ gnu/packages/patches/eudev-rules-directory.patch \ + gnu/packages/patches/evilwm-lost-focus-bug.patch \ gnu/packages/patches/expat-CVE-2015-1283.patch \ gnu/packages/patches/fastcap-mulGlobal.patch \ gnu/packages/patches/fastcap-mulSetup.patch \ diff --git a/gnu/packages/patches/evilwm-lost-focus-bug.patch b/gnu/packages/patches/evilwm-lost-focus-bug.patch new file mode 100644 index 0000000000..af24af8fe9 --- /dev/null +++ b/gnu/packages/patches/evilwm-lost-focus-bug.patch @@ -0,0 +1,18 @@ +evilwm may sometimes lose focus after closing a window. This means that +evilwm stops responding to keyboard shortcuts, and if no other window is open +which the mouse can be moved over to regain focus evilwm becomes unusable and +has to be restarted. + +Patch derived from discussion at +https://wiki.archlinux.org/index.php/Evilwm#Lost_focus_bug_fix + +--- evilwm-1.1.1/client.c ++++ evilwm-1.1.1/client.c +@@ -172,6 +172,7 @@ + * _NET_WM_STATE) */ + if (c->remove) { + LOG_DEBUG("setting WithdrawnState\n"); ++ XSetInputFocus(dpy, PointerRoot, RevertToPointerRoot, CurrentTime); + set_wm_state(c, WithdrawnState); + ewmh_withdraw_client(c); + } else { diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 7f614e18c8..58d7add5e0 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -22,6 +22,7 @@ (define-module (gnu packages wm) #:use-module (guix licenses) #:use-module (guix packages) + #:use-module (gnu packages) #:use-module (gnu packages linux) #:use-module (guix build-system gnu) #:use-module (guix build-system haskell) @@ -268,7 +269,8 @@ tiling window manager for X.") version ".tar.gz")) (sha256 (base32 - "0ak0yajzk3v4dg5wmaghv6acf7v02a4iw8qxmq5yw5ard8lrqn3r")))) + "0ak0yajzk3v4dg5wmaghv6acf7v02a4iw8qxmq5yw5ard8lrqn3r")) + (patches (map search-patch '("evilwm-lost-focus-bug.patch"))))) (build-system gnu-build-system) (inputs `(("libx11" ,libx11) From 21b2ec4d3a17e7b7077cef45df5f0e92cbf7002c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 22 Oct 2015 20:17:12 +0300 Subject: [PATCH 038/194] gnu: pbzip2: Various fixes. * gnu/packages/compression.scm (pbzip)[uri]: Replace hardcoded version with variable. [arguments]: Remove configure phase. Add make flag. --- gnu/packages/compression.scm | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 0bb3919cee..a9e942efd5 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -26,6 +26,7 @@ (define-module (gnu packages compression) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) @@ -232,8 +233,9 @@ decompression.") (version "1.1.12") (source (origin (method url-fetch) - (uri (string-append "https://launchpad.net/pbzip2/1.1/" version - "/+download/" name "-" version ".tar.gz")) + (uri (string-append "https://launchpad.net/pbzip2/" + (version-major+minor version) "/" version + "/+download/" name "-" version ".tar.gz")) (sha256 (base32 "1vk6065dv3a47p86vmp8hv3n1ygd9hraz0gq89gvzlx7lmcb6fsp")))) @@ -243,20 +245,17 @@ decompression.") (arguments `(#:tests? #f ; no tests #:phases (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "Makefile" - (("/usr") (assoc-ref outputs "out"))) - #t))))) + (delete 'configure)) + #:make-flags (list (string-append "PREFIX=" %output)))) (home-page "http://compression.ca/pbzip2/") (synopsis "Parallel bzip2 implementation") (description "Pbzip2 is a parallel implementation of the bzip2 block-sorting file compressor that uses pthreads and achieves near-linear speedup on SMP machines. -The output of this version is fully compatible with bzip2 v1.0.2 (ie: anything +The output of this version is fully compatible with bzip2 v1.0.2 (i.e. anything compressed with pbzip2 can be decompressed with bzip2).") (license (license:non-copyleft "file://COPYING" - "See COPYING in the distribution.")))) + "See COPYING in the distribution.")))) (define-public xz (package From fd74cc3c72fca3b6526e95ac5551c963382f60d9 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 20 Oct 2015 16:50:22 +0300 Subject: [PATCH 039/194] gnu: mplayer: Update to 1.2. * gnu/packages/video.scm (mplayer): Update to 1.2. [inputs]: Add previously bundled ffmpeg, libdvdcss, libdvdnav. [arguments]: Disable bundled ffmeg. --- gnu/packages/video.scm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 013fef9742..e3e67becf5 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2014, 2015 David Thompson ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer +;;; Copyright © 2015 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -584,7 +585,7 @@ treaming protocols.") (define-public mplayer (package (name "mplayer") - (version "1.1.1") + (version "1.2") (source (origin (method url-fetch) (uri (string-append @@ -592,7 +593,7 @@ treaming protocols.") version ".tar.xz")) (sha256 (base32 - "0xlcg7rszrwmw29wqr0plsw5d1rq0hb7vjsq7bmmfsly2z1wg3yf")))) + "1dp2lbxyhgjr8sn91kf6xw3w6d7dsgq08v4dgrq20afz1bqzdrzz")))) (build-system gnu-build-system) ;; FIXME: Add additional inputs once available. (native-inputs @@ -601,8 +602,11 @@ treaming protocols.") `(("alsa-lib" ,alsa-lib) ("cdparanoia" ,cdparanoia) ("fontconfig" ,fontconfig) + ("ffmpeg", ffmpeg) ("freetype" ,freetype) ("lame" ,lame) + ("libdvdcss", libdvdcss) + ("libdvdnav", libdvdnav) ("libmpg123" ,mpg123) ; audio codec for MP3 ;; ("giflib" ,giflib) ; uses QuantizeBuffer, requires version >= 5 ("libjpeg" ,libjpeg) @@ -639,7 +643,7 @@ treaming protocols.") "./configure" (string-append "--extra-cflags=-I" libx11 "/include") ; to detect libx11 - "--disable-tremor-internal" ; forces external libvorbis + "--disable-ffmpeg_a" ; disables bundled ffmpeg (string-append "--prefix=" out) ;; Enable runtime cpu detection where supported, ;; and choose a suitable target. From 0e03d76a5128579ea8e08a51b47a6fe16ae71cf3 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 18:02:45 +0200 Subject: [PATCH 040/194] gnu: ghc: Update to 7.10.2. * gnu/packages/haskell.scm (ghc): Update to 7.10.2. Correct bootstrap compiler path. * gnu/packages/haskell.scm (ghc-unordered-containers): Fix long line. --- gnu/packages/haskell.scm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 34cad87b4b..af80e0c9a1 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Federico Beffa ;;; Copyright © 2015 Siniša Biđin +;;; Copyright © 2015 Paul van der Walt ;;; ;;; This file is part of GNU Guix. ;;; @@ -73,7 +74,7 @@ (define-public ghc (package (name "ghc") - (version "7.8.4") + (version "7.10.2") (source (origin (method url-fetch) @@ -81,7 +82,7 @@ version "/" name "-" version "-src.tar.xz")) (sha256 (base32 - "1i4254akbb4ym437rf469gc0m40bxm31blp6s1z1g15jmnacs6f3")))) + "1x8m4rp2v7ydnrz6z9g8x7z3x3d3pxhv2pixy7i7hkbqbdsp7kal")))) (build-system gnu-build-system) (supported-systems '("i686-linux" "x86_64-linux")) (outputs '("out" "doc")) @@ -98,7 +99,7 @@ version "/" name "-" version "-testsuite.tar.xz")) (sha256 (base32 - "0q95whf87y4mxjzwzy899g7z7l9pazq4si6iciyhxkcdhqq2ycyh")))))) + "0qp9da9ar87zbyn6wjgacd2ic1vgzbi3cklxnhsmjqyafv9qaj4b")))))) (native-inputs `(("perl" ,perl) ("python" ,python-2) ; for tests (fails with python-3) @@ -203,7 +204,7 @@ (string-append ghc-bootstrap-prefix "/lib/ghc-7.8.4/terminfo-0.4.0.0"))) (with-directory-excursion - (string-append ghc-bootstrap-path "/" ,name "-" ,version) + (string-append ghc-bootstrap-path "/ghc-7.8.4") (setenv "CONFIG_SHELL" (which "bash")) (setenv "LD_LIBRARY_PATH" gmp-lib) ;; The binaries have "/lib64/ld-linux-x86-64.so.2" hardcoded. @@ -231,7 +232,7 @@ 'configure 'install-bin (lambda* (#:key inputs outputs #:allow-other-keys) (with-directory-excursion - (string-append ghc-bootstrap-path "/" ,name "-" ,version) + (string-append ghc-bootstrap-path "/ghc-7.8.4") (zero? (system* "make" "install")))) %standard-phases))))))) (home-page "https://www.haskell.org/ghc") @@ -979,9 +980,8 @@ encourages inductive, recursive definitions of graph algorithms.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/unordered-containers/unordered-containers-" - version - ".tar.gz")) + "http://hackage.haskell.org/package/unordered-containers" + "/unordered-containers-" version ".tar.gz")) (sha256 (base32 "06l1xv7vhpxly75saxdrbc6p2zlgz1az278arfkz4rgawfnphn3f")))) From a59ab2477a01d007dc3ef0e4d6e21edcccce1c4a Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 19:12:09 +0200 Subject: [PATCH 041/194] gnu: ghc-mtl: Update to 2.2.1. * gnu/packages/haskell.scm (ghc-mtl): Update to 2.2.1. --- gnu/packages/haskell.scm | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index af80e0c9a1..385c295737 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -462,7 +462,7 @@ installation of Haskell libraries and programs.") (define-public ghc-mtl (package (name "ghc-mtl") - (version "2.1.3.1") + (version "2.2.1") (outputs '("out" "doc")) (source (origin @@ -473,18 +473,17 @@ installation of Haskell libraries and programs.") ".tar.gz")) (sha256 (base32 - "1xpn2wjmqbh2cg1yssc6749xpgcqlrrg4iilwqgkcjgvaxlpdbvp")))) + "1icdbj2rshzn0m1zz5wa7v3xvkf6qw811p4s7jgqwvx1ydwrvrfa")))) (build-system haskell-build-system) (home-page "http://github.com/ekmett/mtl") (synopsis "Monad classes, using functional dependencies") - (description - "Monad classes using functional dependencies, with instances -for various monad transformers, inspired by the paper -'Functional Programming with Overloading and Higher-Order Polymorphism', -by Mark P Jones, in 'Advanced School of Functional Programming', 1995 -http://web.cecs.pdx.edu/~mpj/pubs/springschool.html.") - (license bsd-3))) + (description "Monad classes using functional dependencies, with instances +for various monad transformers, inspired by the paper 'Functional Programming +with Overloading and Higher-Order Polymorphism', by Mark P Jones, in 'Advanced +School of Functional Programming', 1995. See +@uref{http://web.cecs.pdx.edu/~mpj/pubs/springschool.html, the paper}.") + (license bsd-3))) (define-public ghc-paths (package From ac426aa53b335a01a17ba5e52dd3d8aa2ae5e8ba Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 19:12:57 +0200 Subject: [PATCH 042/194] gnu: ghc-utf8-string: Update to 1.0.1.1. * gnu/packages/haskell.scm (ghc-utf8-string): Update to 1.0.1.1. --- gnu/packages/haskell.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 385c295737..a6b16bde16 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -511,7 +511,7 @@ School of Functional Programming', 1995. See (define-public ghc-utf8-string (package (name "ghc-utf8-string") - (version "0.3.8") + (version "1.0.1.1") (source (origin (method url-fetch) @@ -520,12 +520,12 @@ School of Functional Programming', 1995. See version ".tar.gz")) (sha256 - (base32 "1h29dn0scsfkhmkg14ywq9178lw40ah1r36w249zfzqr02y7qxc0")))) + (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv")))) (build-system haskell-build-system) (home-page "http://github.com/glguy/utf8-string/") (synopsis "Support for reading and writing UTF8 Strings") (description - "A UTF8 layer for Strings. The utf8-string package provides operations + "A UTF8 layer for Strings. The utf8-string package provides operations for encoding UTF8 strings to Word8 lists and back, and for reading and writing UTF8 without truncation.") (license bsd-3))) From 6a0add9c6990f2e4c60f8786a31b69b47f1a7077 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 19:13:45 +0200 Subject: [PATCH 043/194] gnu: Add ghc-old-locale. * gnu/packages/haskell.scm (ghc-old-locale): New variable. * gnu/packages/haskell.scm (ghc-data-default-instances-old-locale): Patch to use new package ghc-old-locale. --- gnu/packages/haskell.scm | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index a6b16bde16..a12f245e5d 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -362,6 +362,27 @@ package.") package.") (license bsd-3))) +(define-public ghc-old-locale + (package + (name "ghc-old-locale") + (version "1.0.0.7") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/old-locale/old-locale-" + version + ".tar.gz")) + (sha256 + (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv")))) + (build-system haskell-build-system) + (home-page "http://hackage.haskell.org/package/old-locale") + (synopsis "Adapt to locale conventions") + (description + "This package provides the ability to adapt to locale conventions such as +date and time formats.") + (license bsd-3))) + (define-public ghc-data-default-instances-old-locale (package (name "ghc-data-default-instances-old-locale") @@ -377,7 +398,8 @@ package.") (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0")))) (build-system haskell-build-system) (propagated-inputs - `(("ghc-data-default-class" ,ghc-data-default-class))) + `(("ghc-data-default-class" ,ghc-data-default-class) + ("ghc-old-locale" ,ghc-old-locale))) (home-page "http://hackage.haskell.org/package/data-default-instances-old-locale") (synopsis "Default instances for types in old-locale") From ca80b8ba158e714092827a28a201e4c4f4e50983 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 22:26:55 +0200 Subject: [PATCH 044/194] gnu: xmonad: Patch for updated libraries. * gnu/packages/wm.scm (xmonad): Replicate patch from Hackage to compile against GHC 7.10.2. --- gnu/packages/wm.scm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 58d7add5e0..117088ee35 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2015 Siniša Biđin ;;; Copyright © 2015 Eric Bavier ;;; Copyright © 2015 xd1le +;;; Copyright © 2015 Paul van der Walt ;;; ;;; This file is part of GNU Guix. ;;; @@ -191,10 +192,19 @@ developers.") (source (origin (method url-fetch) (uri (string-append "http://hackage.haskell.org/package/xmonad/" - "xmonad-" version ".tar.gz")) + name "-" version ".tar.gz")) (sha256 (base32 - "1pfjssamiwpwjp1qqkm9m9p9s35pv381m0cwg6jxg0ppglibzq1r")))) + "1pfjssamiwpwjp1qqkm9m9p9s35pv381m0cwg6jxg0ppglibzq1r")) + (modules '((guix build utils))) + (snippet + ;; Here we update the constraints on the utf8-string package in + ;; the Cabal file. We allow a newer version which is compatible + ;; with GHC 7.10.2. The same change is applied on Hackage. See + ;; . + '(substitute* "xmonad.cabal" + (("utf8-string >= 0.3 && < 0.4") + "utf8-string >= 0.3 && < 1.1"))))) (build-system haskell-build-system) (inputs `(("ghc-mtl" ,ghc-mtl) From 7ae4c1022746907da090cd376507106a8133cc0d Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 23:17:02 +0200 Subject: [PATCH 045/194] gnu: Add ghc-old-time. * gnu/packages/haskell.scm (ghc-old-time): New variable. --- gnu/packages/haskell.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index a12f245e5d..b34adddf0a 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -383,6 +383,36 @@ package.") date and time formats.") (license bsd-3))) +(define-public ghc-old-time + (package + (name "ghc-old-time") + (version "1.1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/old-time/old-time-" + version + ".tar.gz")) + (sha256 + (base32 + "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw")))) + (build-system haskell-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-/bin/sh + (lambda _ + (setenv "CONFIG_SHELL" "sh")))))) + (propagated-inputs + `(("ghc-old-locale" ,ghc-old-locale))) + (home-page "http://hackage.haskell.org/package/old-time") + (synopsis "Time compatibility library for Haskell") + (description "Old-time is a package for backwards compatibility with the +old @code{time} library. For new projects, the newer +@uref{http://hackage.haskell.org/package/time, time library} is recommended.") + (license bsd-3))) + (define-public ghc-data-default-instances-old-locale (package (name "ghc-data-default-instances-old-locale") From 2687f7db73e45e248503854213548c963048c229 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 22:28:10 +0200 Subject: [PATCH 046/194] gnu: ghc-xmonad-contrib: Update to version 0.11.4. * gnu/packages/wm.scm (ghc-xmonad-contrib): Update to version 0.11.4. Add input ghc-old-time, required with new GHC 7.10.2. --- gnu/packages/wm.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 117088ee35..db5fa1e3da 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -243,7 +243,7 @@ tiled on several screens.") (define-public ghc-xmonad-contrib (package (name "ghc-xmonad-contrib") - (version "0.11.3") + (version "0.11.4") (source (origin (method url-fetch) @@ -251,10 +251,11 @@ tiled on several screens.") "xmonad-contrib-" version ".tar.gz")) (sha256 (base32 - "14h9vr33yljymswj50wbimav263y9abdcgi07mvfis0zd08rxqxa")))) + "1g5cw9vvnfbiyi599fngk02zlmdhrf82x0bndhypkn6kybab6yd3")))) (build-system haskell-build-system) (propagated-inputs `(("ghc-mtl" ,ghc-mtl) + ("ghc-old-time" ,ghc-old-time) ("ghc-random" ,ghc-random) ("ghc-utf8-string" ,ghc-utf8-string) ("ghc-extensible-exceptions" ,ghc-extensible-exceptions) From 6fe7a7e0af29110923d795e553aa1df424416f52 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 22:46:34 +0200 Subject: [PATCH 047/194] gnu: ghc-dlist: Update to 0.7.1.2. * gnu/packages/haskell.scm (ghc-dlist): Update to version 0.7.1.2. --- gnu/packages/haskell.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index b34adddf0a..c4d9ef1063 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -440,7 +440,7 @@ old @code{time} library. For new projects, the newer (define-public ghc-dlist (package (name "ghc-dlist") - (version "0.7.1.1") + (version "0.7.1.2") (source (origin (method url-fetch) @@ -449,7 +449,7 @@ old @code{time} library. For new projects, the newer version ".tar.gz")) (sha256 - (base32 "1zayvxvkan2s2ixajdr3f5rn1gzhprzv6cww4cbpwjhzw0l7zc08")))) + (base32 "10rp96rryij7d8gz5kv8ygc6chm1624ck5mbnqs2a3fkdzqj2b9k")))) (arguments `(#:tests? #f)) (build-system haskell-build-system) (home-page "https://github.com/spl/dlist") From 409ec7c01e82cd7f9f4d6d5bfbf26961eb7c188b Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:29:15 +0200 Subject: [PATCH 048/194] gnu: ghc-dlist: Enable tests. * gnu/packages/haskell.scm (ghc-dlist): Enable tests. --- gnu/packages/haskell.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index c4d9ef1063..3d26e8bf8d 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -450,8 +450,9 @@ old @code{time} library. For new projects, the newer ".tar.gz")) (sha256 (base32 "10rp96rryij7d8gz5kv8ygc6chm1624ck5mbnqs2a3fkdzqj2b9k")))) - (arguments `(#:tests? #f)) (build-system haskell-build-system) + (inputs + `(("ghc-quickcheck" ,ghc-quickcheck))) (home-page "https://github.com/spl/dlist") (synopsis "Difference lists") (description From 8431b0468ea7df92351de76235ce27f718f53bfd Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 23:06:16 +0200 Subject: [PATCH 049/194] gnu: ghc-text: Update to 1.2.1.3. * gnu/packages/haskell.scm (ghc-text): Update to 1.2.1.3. --- gnu/packages/haskell.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 3d26e8bf8d..edac4330ef 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -719,7 +719,7 @@ access to the full zlib feature set.") (define-public ghc-text (package (name "ghc-text") - (version "1.2.0.4") + (version "1.2.1.3") (outputs '("out" "doc")) (source (origin @@ -730,7 +730,7 @@ access to the full zlib feature set.") ".tar.gz")) (sha256 (base32 - "004p1c74crs8wmjafwsmw3mmycspq1j8fpm1lvfpq6acha7bnpc6")))) + "0gzqx5cpkdhshbz9xss51mpyq23pnf8dwjz4h3irbv2ryaa4qdlq")))) (build-system haskell-build-system) (arguments `(#:tests? #f)) ; FIXME: currently missing libraries used for tests. From 87a25ccd04277cfae6e11b0b4c5cdeff3aa86f30 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 23:07:08 +0200 Subject: [PATCH 050/194] gnu: ghc-hashable: Update to 1.2.3.3. * gnu/packages/haskell.scm (ghc-hashable): Update to 1.2.3.3. --- gnu/packages/haskell.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index edac4330ef..8f1ec086f5 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -749,7 +749,7 @@ in terms of large data quantities and high speed.") (define-public ghc-hashable (package (name "ghc-hashable") - (version "1.2.3.2") + (version "1.2.3.3") (outputs '("out" "doc")) (source (origin @@ -760,7 +760,7 @@ in terms of large data quantities and high speed.") ".tar.gz")) (sha256 (base32 - "0h9295pv2sgbaqlwpwbx2bap6nngm0jcdhkqham1wpjwyxqgqrlc")))) + "0kp4aj0x1iicz9qirpqxxqd8x5g1njbapxk1d90n406w3xykz4pw")))) (build-system haskell-build-system) (arguments `(#:tests? #f)) ; FIXME: currently missing libraries used for tests. From 4c116c6aed805774b427e865e75ba9cc4586f0d5 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 23:07:43 +0200 Subject: [PATCH 051/194] gnu: ghc-primitive: Update to 0.6.1.0. * gnu/packages/haskell.scm (ghc-primitive): Update to 0.6.1.0. --- gnu/packages/haskell.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 8f1ec086f5..c44e6594b5 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -824,7 +824,7 @@ library, including the ability to split random number generators.") (define-public ghc-primitive (package (name "ghc-primitive") - (version "0.5.4.0") + (version "0.6.1.0") (outputs '("out" "doc")) (source (origin @@ -835,7 +835,7 @@ library, including the ability to split random number generators.") ".tar.gz")) (sha256 (base32 - "05gdgj383xdrdkhxh26imlvs8ji0z28ny38ms9snpvv5i8l2lg10")))) + "1j1q7l21rdm8kfs93vibr3xwkkhqis181w2k6klfhx5g5skiywwk")))) (build-system haskell-build-system) (home-page "https://github.com/haskell/primitive") From 83185924c286259de95f0bcad7f8c9877454dcb4 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 23:08:41 +0200 Subject: [PATCH 052/194] gnu: ghc-quickcheck: Update to 2.8.1. * gnu/packages/haskell.scm (ghc-quickcheck): Update to 2.8.1. --- gnu/packages/haskell.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index c44e6594b5..a5f86579b1 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -875,7 +875,7 @@ Hashing\" by Claessen, Pałka for details and the rationale of the design.") (define-public ghc-quickcheck (package (name "ghc-quickcheck") - (version "2.8") + (version "2.8.1") (outputs '("out" "doc")) (source (origin @@ -886,7 +886,7 @@ Hashing\" by Claessen, Pałka for details and the rationale of the design.") ".tar.gz")) (sha256 (base32 - "04xs6mq22bcnkpi616qrbm7jlivh9csnhmvjgp1ifq52an1wr4rx")))) + "0fvnfl30fxmj5q920l13641ar896d53z0z6z66m7c1366lvalwvh")))) (build-system haskell-build-system) (arguments `(#:tests? #f ; FIXME: currently missing libraries used for tests. From a306190f885d5429a5c924d6a160d5c8b1cb8225 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 23:09:09 +0200 Subject: [PATCH 053/194] gnu: ghc-syb: Update to 0.6. * gnu/packages/haskell.scm (ghc-syb): Update to 0.6. --- gnu/packages/haskell.scm | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index a5f86579b1..2c8e06f010 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -939,7 +939,7 @@ to cases.") (define-public ghc-syb (package (name "ghc-syb") - (version "0.4.4") + (version "0.6") (outputs '("out" "doc")) (source (origin @@ -950,7 +950,7 @@ to cases.") ".tar.gz")) (sha256 (base32 - "11sc9kmfvcn9bfxf227fgmny502z2h9xs3z0m9ak66lk0dw6f406")))) + "1p3cnqjm13677r4a966zffzhi9b3a321aln8zs8ckqj0d9z1z3d3")))) (build-system haskell-build-system) (inputs `(("ghc-hunit" ,ghc-hunit) @@ -958,13 +958,12 @@ to cases.") (home-page "http://www.cs.uu.nl/wiki/GenericProgramming/SYB") (synopsis "Scrap Your Boilerplate") - (description - "This package contains the generics system described in the + (description "This package contains the generics system described in the /Scrap Your Boilerplate/ papers (see -). -It defines the 'Data' class of types permitting folding and unfolding -of constructor applications, instances of this class for primitive -types, and a variety of traversals.") +@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It +defines the 'Data' class of types permitting folding and unfolding of +constructor applications, instances of this class for primitive types, and a +variety of traversals.") (license bsd-3))) (define-public ghc-containers From 0b61d503024c38e97fa9f9d3e1cf0153d8120d2b Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 23:11:49 +0200 Subject: [PATCH 054/194] gnu: ghc-vector: Update to 0.11.0.0. * gnu/packages/haskell.scm (ghc-vector): Update to 0.11.0.0. --- gnu/packages/haskell.scm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 2c8e06f010..5fea33161f 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1114,7 +1114,7 @@ is also parametric in the input stream type.") (define-public ghc-vector (package (name "ghc-vector") - (version "0.10.12.2") + (version "0.11.0.0") (outputs '("out" "doc")) (source (origin @@ -1125,7 +1125,7 @@ is also parametric in the input stream type.") ".tar.gz")) (sha256 (base32 - "01hc71k1z9m0g0dv4zsvq5d2dvbgyc5p01hryw5c53792yi2fm25")))) + "1r1jlksy7b0kb0fy00g64isk6nyd9wzzdq31gx5v1wn38knj0lqa")))) (build-system haskell-build-system) (inputs `(("ghc-quickcheck" ,ghc-quickcheck))) @@ -1133,12 +1133,13 @@ is also parametric in the input stream type.") (propagated-inputs `(("ghc-primitive" ,ghc-primitive))) (arguments - `(#:tests? #f)) ; FIXME: currently missing libraries used for tests. + `(#:tests? #f)) ; FIXME: currently missing libraries used for tests. (home-page "https://github.com/haskell/vector") (synopsis "Efficient Arrays") - (description "An efficient implementation of Int-indexed arrays (both -mutable and immutable), with a powerful loop optimisation framework.") - (license bsd-3))) + (description "This library provides an efficient implementation of +Int-indexed arrays (both mutable and immutable), with a powerful loop +optimisation framework.") + (license bsd-3))) (define-public ghc-network (package From 13244b2438d167e7818b6e4e472ac9c00b0eb911 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 23:12:18 +0200 Subject: [PATCH 055/194] gnu: ghc-network: Update to 2.6.2.1. * gnu/packages/haskell.scm (ghc-network): Update to 2.6.2.1. * gnu/packages/haskell.scm (ghc-network-uri): Update to 2.6.0.3. --- gnu/packages/haskell.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 5fea33161f..c9a1020fb2 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1144,7 +1144,7 @@ optimisation framework.") (define-public ghc-network (package (name "ghc-network") - (version "2.6.0.2") + (version "2.6.2.1") (outputs '("out" "doc")) (source (origin @@ -1155,7 +1155,7 @@ optimisation framework.") ".tar.gz")) (sha256 (base32 - "12b7saam5ga6l4cplgkad49xa4vkynz2ri9jxidx1cxiqjcl0vc4")))) + "1yhvpd4wigz165jvyvw9zslx7lgqdj63jh3zv5s74b5ykdfa3zd3")))) (build-system haskell-build-system) (inputs `(("ghc-hunit" ,ghc-hunit))) @@ -1174,7 +1174,7 @@ optimisation framework.") (define-public ghc-network-uri (package (name "ghc-network-uri") - (version "2.6.0.1") + (version "2.6.0.3") (outputs '("out" "doc")) (source (origin @@ -1185,7 +1185,7 @@ optimisation framework.") ".tar.gz")) (sha256 (base32 - "09ymamb128jgqghpda4nixncr73all8qc6q53976aricm6a27p37")))) + "1pwbqb2rk4rnvllvdch42p5368xcvpkanp7bxckdhxya8zzwvhhg")))) (build-system haskell-build-system) (inputs `(("ghc-hunit" ,ghc-hunit) From b38c1627eca82786c8a81ab74d2d5be3891ac5e5 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 23:20:28 +0200 Subject: [PATCH 056/194] gnu: ghc-http: Update to 4000.2.20. * gnu/packages/haskell.scm (ghc-http): Update to 4000.2.20. Add input old-time, required in new GHC 7.10.2. --- gnu/packages/haskell.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index c9a1020fb2..9cd223a06d 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1205,7 +1205,7 @@ package into this package.") (define-public ghc-http (package (name "ghc-http") - (version "4000.2.19") + (version "4000.2.20") (outputs '("out" "doc")) (source (origin @@ -1216,12 +1216,13 @@ package into this package.") ".tar.gz")) (sha256 (base32 - "1yzm8gimh8g0wwbixcbxg60v4l3vgi63w9v55ms0x9qnm6vrgysz")))) + "0nyqdxr5ls2dxkf4a1f3x15xzwdm46ppn99nkcbhswlr6s3cq1s4")))) (build-system haskell-build-system) (inputs `(("ghc-hunit" ,ghc-hunit))) (propagated-inputs - `(("ghc-parsec" ,ghc-parsec) + `(("ghc-old-time" ,ghc-old-time) + ("ghc-parsec" ,ghc-parsec) ("ghc-mtl" ,ghc-mtl) ("ghc-network" ,ghc-network) ("ghc-network-uri" ,ghc-network-uri))) From 35a9b5c70be6215e2886c21a39923dd518b46768 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 23:20:59 +0200 Subject: [PATCH 057/194] gnu: cabal-install: Update to 1.22.6.0. * gnu/packages/haskell.scm (cabal-install): Update to 1.22.6.0. --- gnu/packages/haskell.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 9cd223a06d..9d61f6e4c9 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -484,7 +484,7 @@ versions of GHC (i.e., < 6.10).") (define-public cabal-install (package (name "cabal-install") - (version "1.18.1.0") + (version "1.22.6.0") (source (origin (method url-fetch) @@ -493,7 +493,7 @@ versions of GHC (i.e., < 6.10).") version ".tar.gz")) (sha256 - (base32 "1r1shhvnpgxf91rmbv3wa1rkd24plbgr6bpz3aj80ir0z3zbdayn")))) + (base32 "1d5h7h2wjwc2s3dvsvzjgmmfrfl2312ym2h6kyjgm9wnaqw9w8wx")))) (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing. (build-system haskell-build-system) (propagated-inputs From cd27b23d498c6112cbd0a4d6b03a58cf00694db4 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 23:35:19 +0200 Subject: [PATCH 058/194] gnu: Add ghc-ansi-terminal. * gnu/package/haskell.scm (ghc-ansi-terminal): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 9d61f6e4c9..3bfbb8d444 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1202,6 +1202,28 @@ optimisation framework.") package into this package.") (license bsd-3))) +(define-public ghc-ansi-terminal + (package + (name "ghc-ansi-terminal") + (version "0.6.2.3") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/ansi-terminal/ansi-terminal-" + version + ".tar.gz")) + (sha256 + (base32 + "0hpfw0k025y681m9ml1c712skrb1p4vh7z5x1f0ci9ww7ssjrh2d")))) + (build-system haskell-build-system) + (home-page "https://github.com/feuerbach/ansi-terminal") + (synopsis "ANSI terminal support for Haskell") + (description "This package provides ANSI terminal support for Haskell. It +allows cursor movement, screen clearing, color output showing or hiding the +cursor, and changing the title.") + (license bsd-3))) + (define-public ghc-http (package (name "ghc-http") From 9380634c1037fa602a6d8896e94573bbf1f72396 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 23:36:12 +0200 Subject: [PATCH 059/194] gnu: Remove ghc-containers. Since GHC 7.10.2 provides containers, this package has become unneeded. * gnu/packages/haskell.scm (ghc-containers): Remove variable. --- gnu/packages/haskell.scm | 30 ------------------------------ 1 file changed, 30 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 3bfbb8d444..a5ae4d14dc 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -966,36 +966,6 @@ constructor applications, instances of this class for primitive types, and a variety of traversals.") (license bsd-3))) -(define-public ghc-containers - (package - (name "ghc-containers") - (version "0.5.6.3") - (outputs '("out" "doc")) - (source - (origin - (method url-fetch) - (uri (string-append - "http://hackage.haskell.org/package/containers/containers-" - version - ".tar.gz")) - (sha256 - (base32 - "1kcd55nl0vzi99i8sr8fmc5j25fv7m0a9hd3nihnq1pd64pfciqn")))) - (build-system haskell-build-system) - (inputs - `(("ghc-hunit" ,ghc-hunit) - ("ghc-quickcheck" ,ghc-quickcheck))) - (arguments - `(#:tests? #f)) ; FIXME: currently missing libraries used for tests. - (home-page "http://hackage.haskell.org/package/containers") - (synopsis "Assorted concrete container types") - (description - "This package contains efficient general-purpose implementations of -various basic immutable container types. The declared cost of each operation -is either worst-case or amortized, but remains valid even if structures are -shared.") - (license bsd-3))) - (define-public ghc-fgl (package (name "ghc-fgl") From e2fcaff2ef3804cc9e4b29e9dc99e896439c2f45 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 14 Oct 2015 23:41:47 +0200 Subject: [PATCH 060/194] gnu: Add ghc-async. * gnu/packages/haskell.scm (ghc-async): New variable. --- gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index a5ae4d14dc..9e9f18c058 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1228,4 +1228,30 @@ lets you set up HTTP connections, transmitting requests and processing the responses coming back.") (license bsd-3))) +(define-public ghc-async + (package + (name "ghc-async") + (version "2.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/async/async-" + version + ".tar.gz")) + (sha256 + (base32 + "0azx4qk65a9a2gvqsfmz3w89m6shzr2iz0i5lly2zvly4n2d6m6v")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing. + (propagated-inputs + `(("ghc-stm" ,ghc-stm))) + (home-page "https://github.com/simonmar/async") + (synopsis "Library to run IO operations asynchronously") + (description "Async provides a library to run IO operations +asynchronously, and wait for their results. It is a higher-level interface +over threads in Haskell, in which @code{Async a} is a concurrent thread that +will eventually deliver a value of type @code{a}.") + (license bsd-3))) + ;;; haskell.scm ends here From a45a15df50e880b8e9eeaac75394838e632a46e1 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:00:40 +0200 Subject: [PATCH 061/194] gnu: Add ghc-setenv. * gnu/packages/haskell.scm (ghc-setenv): New variable. --- gnu/packages/haskell.scm | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 9e9f18c058..b5518b5e24 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -20,7 +20,7 @@ (define-module (gnu packages haskell) #:use-module (ice-9 regex) - #:use-module ((guix licenses) #:select (bsd-3 lgpl2.1)) + #:use-module ((guix licenses) #:select (bsd-3 lgpl2.1 expat)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) @@ -583,6 +583,27 @@ for encoding UTF8 strings to Word8 lists and back, and for reading and writing UTF8 without truncation.") (license bsd-3))) +(define-public ghc-setenv + (package + (name "ghc-setenv") + (version "0.1.1.3") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/setenv/setenv-" + version + ".tar.gz")) + (sha256 + (base32 + "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73")))) + (build-system haskell-build-system) + (home-page "http://hackage.haskell.org/package/setenv") + (synopsis "Library for setting environment variables") + (description "This package provides a Haskell library for setting +environment variables.") + (license expat))) + (define-public ghc-x11 (package (name "ghc-x11") From 318f9d884e705fd24fbd957afdcc71b339c42e18 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:00:53 +0200 Subject: [PATCH 062/194] gnu: Add ghc-stringbuilder. * gnu/packages/haskell.scm (ghc-stringbuilder): New variable. --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index b5518b5e24..921a48e3e0 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -664,6 +664,29 @@ bindings are a direct translation of the C bindings.") parts.") (license lgpl2.1))) +(define-public ghc-stringbuilder + (package + (name "ghc-stringbuilder") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/stringbuilder/stringbuilder-" + version + ".tar.gz")) + (sha256 + (base32 + "1ap95xphqnrhv64c2a137wqslkdmb2jjd9ldb17gs1pw48k8hrl9")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests + ; enabled + (home-page "http://hackage.haskell.org/package/stringbuilder") + (synopsis "Writer monad for multi-line string literals") + (description "This package provides a writer monad for multi-line string +literals.") + (license expat))) + (define-public ghc-zlib (package (name "ghc-zlib") From 59c9b4f678eeaba995a5baf39060ea379d6e4ba2 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 00:00:30 +0200 Subject: [PATCH 063/194] gnu: Add ghc-quickcheck-io. * gnu/packages/haskell.scm (ghc-quickcheck-io): Add variable. --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 921a48e3e0..be43ac72d2 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -916,6 +916,31 @@ the paper \"Splittable Pseudorandom Number Generators Using Cryptographic Hashing\" by Claessen, Pałka for details and the rationale of the design.") (license bsd-3))) +(define-public ghc-quickcheck-io + (package + (name "ghc-quickcheck-io") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/quickcheck-io/quickcheck-io-" + version + ".tar.gz")) + (sha256 + (base32 + "1kf1kfw9fsmly0rvzvdf6jvdw10qhkmikyj0wcwciw6wad95w9sh")))) + (build-system haskell-build-system) + (inputs + `(("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-hunit" ,ghc-hunit))) + (home-page + "https://github.com/hspec/quickcheck-io#readme") + (synopsis "Use HUnit assertions as QuickCheck properties") + (description "This package provides an orphan instance that allows you to +use HUnit assertions as QuickCheck properties.") + (license expat))) + (define-public ghc-quickcheck (package (name "ghc-quickcheck") From 379a5ad54f54a9b4208670fffc34ce2985eccae4 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 20:56:51 +0200 Subject: [PATCH 064/194] gnu: Add ghc-transformers-compat. * gnu/packages/haskell.scm (ghc-transformers-compat): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index be43ac72d2..b73ac2e597 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -916,6 +916,28 @@ the paper \"Splittable Pseudorandom Number Generators Using Cryptographic Hashing\" by Claessen, Pałka for details and the rationale of the design.") (license bsd-3))) +(define-public ghc-transformers-compat + (package + (name "ghc-transformers-compat") + (version "0.4.0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/transformers-compat" + "/transformers-compat-" version ".tar.gz")) + (sha256 + (base32 + "0lmg8ry6bgigb0v2lg0n74lxi8z5m85qq0qi4h1k9llyjb4in8ym")))) + (build-system haskell-build-system) + (home-page "http://github.com/ekmett/transformers-compat/") + (synopsis "Small compatibility shim between transformers 0.3 and 0.4") + (description "This package includes backported versions of types that were +added to transformers in transformers 0.3 and 0.4 for users who need strict +transformers 0.2 or 0.3 compatibility to run on old versions of the platform, +but also need those types.") + (license bsd-3))) + (define-public ghc-quickcheck-io (package (name "ghc-quickcheck-io") From 31cac1ee9ffeae2974461a8864cb1112072f4744 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 20:57:25 +0200 Subject: [PATCH 065/194] gnu: Add ghc-exceptions. * gnu/packages/haskell.scm (ghc-exceptions): New variable. --- gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index b73ac2e597..9d649da25d 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -938,6 +938,32 @@ transformers 0.2 or 0.3 compatibility to run on old versions of the platform, but also need those types.") (license bsd-3))) +(define-public ghc-exceptions + (package + (name "ghc-exceptions") + (version "0.8.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/exceptions/exceptions-" + version + ".tar.gz")) + (sha256 + (base32 + "1x1bk1jf42k1gigiqqmkkh38z2ffhx8rsqiszdq3f94m2h6kw2h7")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: Missing test-framework package. + (propagated-inputs + `(("ghc-stm" ,ghc-stm) + ("ghc-mtl" ,ghc-mtl) + ("ghc-transformers-compat" ,ghc-transformers-compat))) + (home-page "http://github.com/ekmett/exceptions/") + (synopsis "Extensible optionally-pure exceptions") + (description "This library provides extensible optionally-pure exceptions +for Haskell.") + (license bsd-3))) + (define-public ghc-quickcheck-io (package (name "ghc-quickcheck-io") From 5257c341506c4d277b98e580a82857daafe073c7 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 20:57:53 +0200 Subject: [PATCH 066/194] gnu: Add ghc-temporary. * gnu/packages/haskell.scm (ghc-temporary): New variable. --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 9d649da25d..8dd09ba642 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -964,6 +964,31 @@ but also need those types.") for Haskell.") (license bsd-3))) +(define-public ghc-temporary + (package + (name "ghc-temporary") + (version "1.2.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/temporary/temporary-" + version + ".tar.gz")) + (sha256 + (base32 + "0is67bmsjmbbw6wymhis8wyq9gax3sszm573p5719fx2c9z9r24a")))) + (build-system haskell-build-system) + (propagated-inputs `(("ghc-exceptions" ,ghc-exceptions))) + (home-page "http://www.github.com/batterseapower/temporary") + (synopsis "Temporary file and directory support") + (description "The functions for creating temporary files and directories +in the Haskelll base library are quite limited. This library just repackages +the Cabal implementations of its own temporary file and folder functions so +that you can use them without linking against Cabal or depending on it being +installed.") + (license bsd-3))) + (define-public ghc-quickcheck-io (package (name "ghc-quickcheck-io") From acd881a49ca1b90fd53754e485961c6b4fdf20d9 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 20:58:17 +0200 Subject: [PATCH 067/194] gnu: Add ghc-silently. * gnu/packages/haskell.scm (ghc-silently): New variable. --- gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 8dd09ba642..32a8663b90 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -989,6 +989,30 @@ that you can use them without linking against Cabal or depending on it being installed.") (license bsd-3))) +(define-public ghc-silently + (package + (name "ghc-silently") + (version "1.2.5") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/silently/silently-" + version + ".tar.gz")) + (sha256 + (base32 + "0f9qm3f7y0hpxn6mddhhg51mm1r134qkvd2kr8r6192ka1ijbxnf")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ;; circular dependency with nanospec + ;; (inputs + ;; `(("ghc-temporary" ,ghc-temporary))) + (home-page "https://github.com/hspec/silently") + (synopsis "Prevent writing to stdout") + (description "This package provides functions to prevent or capture +writing to stdout and other handles.") + (license bsd-3))) + (define-public ghc-quickcheck-io (package (name "ghc-quickcheck-io") From 327348c629a37e24b83d150dc081af1d74292999 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:04:20 +0200 Subject: [PATCH 068/194] gnu: Add ghc-hspec-expectations. * gnu/packages/haskell.scm (ghc-hspec-expectations): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 32a8663b90..0bcf648bb7 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1394,6 +1394,28 @@ lets you set up HTTP connections, transmitting requests and processing the responses coming back.") (license bsd-3))) +(define-public ghc-hspec-expectations + (package + (name "ghc-hspec-expectations") + (version "0.7.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/hspec-expectations/hspec-expectations-" + version + ".tar.gz")) + (sha256 + (base32 + "1w56jiqfyl237sr207gh3b0l8sr9layy0mdsgd5wknzb49mif6ip")))) + (build-system haskell-build-system) + (inputs `(("ghc-hunit" ,ghc-hunit))) + (home-page "https://github.com/sol/hspec-expectations") + (synopsis "Catchy combinators for HUnit") + (description "This library provides catchy combinators for HUnit, see +@uref{https://github.com/sol/hspec-expectations#readme, the README}.") + (license expat))) + (define-public ghc-async (package (name "ghc-async") From daf5cd28dc562a1abea9f267231c787bbfeb935e Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:05:38 +0200 Subject: [PATCH 069/194] gnu: Add ghc-hspec-core. * gnu/packages/haskell.scm (ghc-hspec-core): New variable. --- gnu/packages/haskell.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 0bcf648bb7..df5c82b2fd 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1416,6 +1416,38 @@ responses coming back.") @uref{https://github.com/sol/hspec-expectations#readme, the README}.") (license expat))) +(define-public ghc-hspec-core + (package + (name "ghc-hspec-core") + (version "2.2.0") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/hspec-core/hspec-core-" + version + ".tar.gz")) + (sha256 + (base32 + "1wgd55k652jaf81nkvciyqi67ycj7zamr4nd9z1cqf8nr9fc3sa4")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing. + (propagated-inputs + `(("ghc-setenv" ,ghc-setenv) + ("ghc-ansi-terminal" ,ghc-ansi-terminal) + ("ghc-async" ,ghc-async) + ("ghc-quickcheck-io" ,ghc-quickcheck-io))) + (inputs + `(("ghc-hunit" ,ghc-hunit) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-hspec-expectations" ,ghc-hspec-expectations) + ("ghc-silently" ,ghc-silently))) + (home-page "http://hspec.github.io/") + (synopsis "Testing framework for Haskell") + (description "This library exposes internal types and functions that can +be used to extend Hspec's functionality.") + (license expat))) + (define-public ghc-async (package (name "ghc-async") From 45882aafcb283d1e3ca6caf5e9df410db9f0ab62 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:06:14 +0200 Subject: [PATCH 070/194] gnu: Add ghc-hspec-meta. * gnu/packages/haskell.scm (ghc-hspec-meta): New variable. --- gnu/packages/haskell.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index df5c82b2fd..aff6931ea0 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1448,6 +1448,36 @@ responses coming back.") be used to extend Hspec's functionality.") (license expat))) +(define-public ghc-hspec-meta + (package + (name "ghc-hspec-meta") + (version "2.2.0") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/hspec-meta/hspec-meta-" + version + ".tar.gz")) + (sha256 + (base32 + "1fmqmgrzp135cxhmxxbaswkk4bqbpgfml00cmcz0d39n11vzpa5z")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-hunit" ,ghc-hunit) + ("ghc-ansi-terminal" ,ghc-ansi-terminal) + ("ghc-async" ,ghc-async) + ("ghc-hspec-expectations" ,ghc-hspec-expectations) + ("ghc-setenv" ,ghc-setenv) + ("ghc-random" ,ghc-random) + ("ghc-quickcheck-io" ,ghc-quickcheck-io))) + (home-page "http://hspec.github.io/") + (synopsis "Version of Hspec to test Hspec itself") + (description "This library provides a stable version of Hspec which is +used to test the in-development version of Hspec.") + (license expat))) + (define-public ghc-async (package (name "ghc-async") From 6d71fcdf9ea6536593feadcb2b08a2e2b6b49a08 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:06:41 +0200 Subject: [PATCH 071/194] gnu: Add hspec-discover. * gnu/packages/haskell.scm (hspec-discover): New variable. --- gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index aff6931ea0..fa8e07822c 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1416,6 +1416,30 @@ responses coming back.") @uref{https://github.com/sol/hspec-expectations#readme, the README}.") (license expat))) +(define-public hspec-discover + (package + (name "hspec-discover") + (version "2.2.0") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/hspec-discover/hspec-discover-" + version + ".tar.gz")) + (sha256 + (base32 + "0w3awzbljf4hqhxrjrxqa1lfcclg92bhmq641gz2q80vycspapzx")))) + (build-system haskell-build-system) + (arguments `(#:haddock? #f)) ; Haddock phase fails because there are no + ; documentation files. + (inputs `(("ghc-hspec-meta" ,ghc-hspec-meta))) + (home-page "http://hspec.github.io/") + (synopsis "Automatically discover and run Hspec tests") + (description "hspec-discover is a tool which automatically discovers and +runs Hspec tests.") + (license expat))) + (define-public ghc-hspec-core (package (name "ghc-hspec-core") From df12a41294df0af81e2bcbf9ac6ede35a1cd5147 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:07:02 +0200 Subject: [PATCH 072/194] gnu: Add ghc-hspec. * gnu/packages/haskell.scm (ghc-hspec): New variable. --- gnu/packages/haskell.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index fa8e07822c..3c8c1fce75 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1394,6 +1394,36 @@ lets you set up HTTP connections, transmitting requests and processing the responses coming back.") (license bsd-3))) +(define-public ghc-hspec + (package + (name "ghc-hspec") + (version "2.2.0") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/hspec/hspec-" + version + ".tar.gz")) + (sha256 + (base32 + "0zqisxznlbszivsgy3irvf566zhcr6ipqqj3x9i7pj5hy913jwqf")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-hspec-core" ,ghc-hspec-core) + ("hspec-discover" ,hspec-discover) + ("ghc-hspec-expectations" ,ghc-hspec-expectations) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-hunit" ,ghc-hunit))) + (inputs + `(("ghc-stringbuilder" ,ghc-stringbuilder) + ("ghc-hspec-meta" ,ghc-hspec-meta))) + (home-page "http://hspec.github.io/") + (synopsis "Testing Framework for Haskell") + (description "This library provides the Hspec testing framework for +Haskell, inspired by the Ruby library RSpec.") + (license expat))) + (define-public ghc-hspec-expectations (package (name "ghc-hspec-expectations") From 9d5f0399f9e292cc4f319c2d3b3677d2722177e1 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:08:15 +0200 Subject: [PATCH 073/194] gnu: Add ghc-regex-base. * gnu/packages/haskell.scm (ghc-regex-base): New variable. --- gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 3c8c1fce75..d80eaf5dcd 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -938,6 +938,30 @@ transformers 0.2 or 0.3 compatibility to run on old versions of the platform, but also need those types.") (license bsd-3))) +(define-public ghc-regex-base + (package + (name "ghc-regex-base") + (version "0.93.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/regex-base/regex-base-" + version + ".tar.gz")) + (sha256 + (base32 + "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-mtl" ,ghc-mtl))) + (home-page + "http://sourceforge.net/projects/lazy-regex") + (synopsis "Replaces/Enhances Text.Regex") + (description "@code{Text.Regex.Base} provides the interface API for +regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.") + (license bsd-3))) + (define-public ghc-exceptions (package (name "ghc-exceptions") From 76ae28f16beac4df3aea7557d0487ea00fd7f30d Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:08:39 +0200 Subject: [PATCH 074/194] gnu: Add ghc-appar. * gnu/packages/haskell.scm (ghc-appar): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index d80eaf5dcd..0f075be00a 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -962,6 +962,28 @@ but also need those types.") regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.") (license bsd-3))) +(define-public ghc-appar + (package + (name "ghc-appar") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/appar/appar-" + version + ".tar.gz")) + (sha256 + (base32 + "09jb9ij78fdkz2qk66rw99q19qnm504dpv0yq0pjsl6xwjmndsjq")))) + (build-system haskell-build-system) + (home-page + "http://hackage.haskell.org/package/appar") + (synopsis "Simple applicative parser") + (description "This package provides a simple applicative parser in Parsec +style.") + (license bsd-3))) + (define-public ghc-exceptions (package (name "ghc-exceptions") From 78c5b39d0877eca8fa0c18e239f1bcf966b7a01a Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:09:00 +0200 Subject: [PATCH 075/194] gnu: Add ghc-safe. * gnu/packages/haskell.scm (ghc-safe): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 0f075be00a..c6dea86d64 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -984,6 +984,28 @@ regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.") style.") (license bsd-3))) +(define-public ghc-safe + (package + (name "ghc-safe") + (version "0.3.9") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/safe/safe-" + version + ".tar.gz")) + (sha256 + (base32 + "1jdnp5zhvalf1xy8i872n29nljfjz6lnl9ghj80ffisrnnkrwcfh")))) + (build-system haskell-build-system) + (home-page "https://github.com/ndmitchell/safe#readme") + (synopsis "Library of safe (exception free) functions") + (description "This library provides wrappers around @code{Prelude} and +@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw +exceptions.") + (license bsd-3))) + (define-public ghc-exceptions (package (name "ghc-exceptions") From 476f7bab8b1782b9c6a52f2146c4c03b49fb0718 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:09:27 +0200 Subject: [PATCH 076/194] gnu: Add ghc-generic-deriving. * gnu/packages/haskell.scm (ghc-generic-deriving): New variable. --- gnu/packages/haskell.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index c6dea86d64..e75e46ba7e 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1006,6 +1006,27 @@ style.") exceptions.") (license bsd-3))) +(define-public ghc-generic-deriving + (package + (name "ghc-generic-deriving") + (version "1.8.0") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/generic-deriving/generic-deriving-" + version + ".tar.gz")) + (sha256 + (base32 + "1kc6lhdanls6kgpk8xv5xi14lz1sngcd8xn930hkf7ilq4kxkcr6")))) + (build-system haskell-build-system) + (home-page "https://hackage.haskell.org/package/generic-deriving") + (synopsis "Generalise the deriving mechanism to arbitrary classes") + (description "This package provides functionality for generalising the +deriving mechanism in Haskell to arbitrary classes.") + (license bsd-3))) + (define-public ghc-exceptions (package (name "ghc-exceptions") From b10f7be3e36473614cf3d1bbd852d30eb3f63218 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:10:01 +0200 Subject: [PATCH 077/194] gnu: Add ghc-pcre-light. * gnu/packages/haskell.scm (ghc-pcre-light): New variable. --- gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index e75e46ba7e..1775e8eb28 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -37,6 +37,7 @@ #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) #:use-module (gnu packages python) + #:use-module (gnu packages pcre) #:use-module (gnu packages xorg)) (define ghc-bootstrap-x86_64-7.8.4 @@ -1027,6 +1028,31 @@ exceptions.") deriving mechanism in Haskell to arbitrary classes.") (license bsd-3))) +(define-public ghc-pcre-light + (package + (name "ghc-pcre-light") + (version "0.4.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/pcre-light/pcre-light-" + version + ".tar.gz")) + (sha256 + (base32 + "0l1df2sk5qwf424bvb8mbdkr2xjg43fi92n5r22yd7vm1zz0jqvf")))) + (build-system haskell-build-system) + (inputs + `(("pcre" ,pcre))) + (home-page "https://github.com/Daniel-Diaz/pcre-light") + (synopsis "Haskell library for Perl 5 compatible regular expressions") + (description "This package provides a small, efficient, and portable regex +library for Perl 5 compatible regular expressions. The PCRE library is a set +of functions that implement regular expression pattern matching using the same +syntax and semantics as Perl 5.") + (license bsd-3))) + (define-public ghc-exceptions (package (name "ghc-exceptions") From 748463bec4db837a9f510cd6cad0a9237795d53a Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:10:24 +0200 Subject: [PATCH 078/194] gnu: Add ghc-logict. * gnu/packages/haskell.scm (ghc-logict): New variable. --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 1775e8eb28..0d28fd6b7c 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1053,6 +1053,31 @@ of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5.") (license bsd-3))) +(define-public ghc-logict + (package + (name "ghc-logict") + (version "0.6.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/logict/logict-" + version + ".tar.gz")) + (sha256 + (base32 + "07hnirv6snnym2r7iijlfz00b60jpy2856zvqxh989q0in7bd0hi")))) + (build-system haskell-build-system) + (inputs `(("ghc-mtl" ,ghc-mtl))) + (home-page "http://code.haskell.org/~dolio/") + (synopsis "Backtracking logic-programming monad") + (description "This library provides a continuation-based, backtracking, +logic programming monad. An adaptation of the two-continuation implementation +found in the paper \"Backtracking, Interleaving, and Terminating Monad +Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf, +online}.") + (license bsd-3))) + (define-public ghc-exceptions (package (name "ghc-exceptions") From d10fed28b820dcd0a287d3aead15a87602985100 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:11:02 +0200 Subject: [PATCH 079/194] gnu: Add ghc-xml. * gnu/packages/haskell.scm (ghc-xml): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 0d28fd6b7c..74a8c2f67d 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1078,6 +1078,28 @@ Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf, online}.") (license bsd-3))) +(define-public ghc-xml + (package + (name "ghc-xml") + (version "1.3.14") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/xml/xml-" + version + ".tar.gz")) + (sha256 + (base32 + "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-text" ,ghc-text))) + (home-page "http://code.galois.com") + (synopsis "Simple XML library for Haskell") + (description "This package provides a simple XML library for Haskell.") + (license bsd-3))) + (define-public ghc-exceptions (package (name "ghc-exceptions") From 2108eac211c44ecaf12bcd8662d757737585677e Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:11:15 +0200 Subject: [PATCH 080/194] gnu: Add ghc-quickcheck-unicode. * gnu/packages/haskell.scm (ghc-quickcheck-unicode): New variable. --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 74a8c2f67d..0a8cb01f6c 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1175,6 +1175,29 @@ installed.") writing to stdout and other handles.") (license bsd-3))) +(define-public ghc-quickcheck-unicode + (package + (name "ghc-quickcheck-unicode") + (version "1.0.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/quickcheck-unicode/quickcheck-unicode-" + version + ".tar.gz")) + (sha256 + (base32 + "1a8nl6x7l9b22yx61wm0bh2n1xzb1hd5i5zgg1w4fpaivjnrrhi4")))) + (build-system haskell-build-system) + (inputs `(("ghc-quickcheck" ,ghc-quickcheck))) + (home-page + "https://github.com/bos/quickcheck-unicode") + (synopsis "Generator functions Unicode-related tests") + (description "This package provides generator and shrink functions for +testing Unicode-related software.") + (license bsd-3))) + (define-public ghc-quickcheck-io (package (name "ghc-quickcheck-io") From 565f040df469091ffedc31f2d12ac10bf5f341b6 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 01:01:17 +0200 Subject: [PATCH 081/194] gnu: ghc-split: Update dependencies. * gnu/packages/haskell.scm (ghc-split): Update package dependencies for compatibility with new GHC. Replicate Cabal-file patch from Hackage. --- gnu/packages/haskell.scm | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 0a8cb01f6c..dde297d6aa 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1389,15 +1389,22 @@ and high speed.") ".tar.gz")) (sha256 (base32 - "0xa3j0gwr6k5vizxybnzk5fgb3pppgspi6mysnp2gwjp2dbrxkzr")))) + "0xa3j0gwr6k5vizxybnzk5fgb3pppgspi6mysnp2gwjp2dbrxkzr")) + (modules '((guix build utils))) + (snippet + ;; The Cabal file on Hackage is updated, but the tar.gz does not + ;; include it. See + ;; . + '(substitute* "split.cabal" + (("base <4.8") "base <4.9"))))) (build-system haskell-build-system) (inputs `(("ghc-quickcheck" ,ghc-quickcheck))) (home-page "http://hackage.haskell.org/package/split") - (synopsis - "Combinator library for splitting lists") - (description "A collection of various methods for splitting lists into -parts, akin to the 'split' function found in several mainstream languages.") + (synopsis "Combinator library for splitting lists") + (description "This package provides a collection of Haskell functions for +splitting lists into parts, akin to the @code{split} function found in several +mainstream languages.") (license bsd-3))) (define-public ghc-parsec From 4e1254971d121806db23901a898eec2e9dcda69b Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:12:46 +0200 Subject: [PATCH 082/194] gnu: Add ghc-annotated-wl-pprint. * gnu/packages/haskell.scm (ghc-annotated-wl-pprint): New variable. --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index dde297d6aa..59cb473601 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1375,6 +1375,31 @@ optimized for performance critical use, both in terms of large data quantities and high speed.") (license bsd-3))) +(define-public ghc-annotated-wl-pprint + (package + (name "ghc-annotated-wl-pprint") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/annotated-wl-pprint" + "/annotated-wl-pprint-" version + ".tar.gz")) + (sha256 + (base32 + "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc")))) + (build-system haskell-build-system) + (home-page + "https://github.com/david-christiansen/annotated-wl-pprint") + (synopsis + "The Wadler/Leijen Pretty Printer, with annotation support") + (description "This is a modified version of wl-pprint, which was based on +Wadler's paper \"A Prettier Printer\". This version allows the library user +to annotate the text with semantic information, which can later be rendered in +a variety of ways.") + (license bsd-3))) + (define-public ghc-split (package (name "ghc-split") From e93333483cb9228c805410abf5c1f1b9fe064f6b Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:13:08 +0200 Subject: [PATCH 083/194] gnu: Add ghc-ansi-wl-pprint. * gnu/packages/haskell.scm (ghc-ansi-wl-pprint): New variable. --- gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 59cb473601..7bf8ece6f0 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1400,6 +1400,30 @@ to annotate the text with semantic information, which can later be rendered in a variety of ways.") (license bsd-3))) +(define-public ghc-ansi-wl-pprint + (package + (name "ghc-ansi-wl-pprint") + (version "0.6.7.3") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/ansi-wl-pprint/ansi-wl-pprint-" + version + ".tar.gz")) + (sha256 + (base32 + "025pyphsjf0dnbrmj5nscbi6gzyigwgp3ifxb3psn7kji6mfr29p")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-ansi-terminal" ,ghc-ansi-terminal))) + (home-page "http://github.com/ekmett/ansi-wl-pprint") + (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output") + (description "This is a pretty printing library based on Wadler's paper +\"A Prettier Printer\". It has been enhanced with support for ANSI terminal +colored output using the ansi-terminal package.") + (license bsd-3))) + (define-public ghc-split (package (name "ghc-split") From 3410470d16c1295161f3cc54ba6ac801e3cee85a Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 01:11:56 +0200 Subject: [PATCH 084/194] gnu: Add ghc-base64-bytestring. * gnu/packages/haskell.scm (ghc-base64-bytestring): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 7bf8ece6f0..cfa39acf15 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1375,6 +1375,28 @@ optimized for performance critical use, both in terms of large data quantities and high speed.") (license bsd-3))) +(define-public ghc-base64-bytestring + (package + (name "ghc-base64-bytestring") + (version "1.0.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/base64-bytestring/base64-bytestring-" + version + ".tar.gz")) + (sha256 + (base32 + "0l1v4ddjdsgi9nqzyzcxxj76rwar3lzx8gmwf2r54bqan3san9db")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing. + (home-page "https://github.com/bos/base64-bytestring") + (synopsis "Base64 encoding and decoding for ByteStrings") + (description "This library provides fast base64 encoding and decoding for +Haskell @code{ByteString}s.") + (license bsd-3))) + (define-public ghc-annotated-wl-pprint (package (name "ghc-annotated-wl-pprint") From 10de4306d623cb01475653190e8aa8eafee3367b Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 01:14:29 +0200 Subject: [PATCH 085/194] gnu: Add ghc-uniplate. * gnu/packages/haskell.scm (ghc-uniplate): New variable. --- gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index cfa39acf15..b11b0de624 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1375,6 +1375,32 @@ optimized for performance critical use, both in terms of large data quantities and high speed.") (license bsd-3))) +(define-public ghc-uniplate + (package + (name "ghc-uniplate") + (version "1.6.12") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/uniplate/uniplate-" + version + ".tar.gz")) + (sha256 + (base32 + "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-syb" ,ghc-syb) + ("ghc-hashable" ,ghc-hashable) + ("ghc-unordered-containers" ,ghc-unordered-containers))) + (home-page "http://community.haskell.org/~ndm/uniplate/") + (synopsis "Simple, concise and fast generic operations") + (description "Uniplate is a library for writing simple and concise generic +operations. Uniplate has similar goals to the original Scrap Your Boilerplate +work, but is substantially simpler and faster.") + (license bsd-3))) + (define-public ghc-base64-bytestring (package (name "ghc-base64-bytestring") From 49465144373fad97afb5e04529d0f66505c1f2bc Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:14:40 +0200 Subject: [PATCH 086/194] gnu: Add ghc-fingertree. * gnu/packages/haskell.scm (ghc-fingertree): New variable. --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index b11b0de624..fb2339b852 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1847,4 +1847,29 @@ over threads in Haskell, in which @code{Async a} is a concurrent thread that will eventually deliver a value of type @code{a}.") (license bsd-3))) +(define-public ghc-fingertree + (package + (name "ghc-fingertree") + (version "0.1.1.0") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/fingertree/fingertree-" + version + ".tar.gz")) + (sha256 + (base32 + "1w6x3kp3by5yjmam6wlrf9vap5l5rrqaip0djbrdp0fpf2imn30n")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing. + (home-page "http://hackage.haskell.org/package/fingertree") + (synopsis "Generic finger-tree structure") + (description "This library provides finger trees, a general sequence +representation with arbitrary annotations, for use as a base for +implementations of various collection types. It includes examples, as +described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a +simple general-purpose data structure\".") + (license bsd-3))) + ;;; haskell.scm ends here From 918f690a83af54d1735acd64f68149940ce694b9 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:14:55 +0200 Subject: [PATCH 087/194] gnu: Add ghc-optparse-applicative. * gnu/packages/haskell.scm (ghc-optparse-applicative): New variable. --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index fb2339b852..f17ae3c60e 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1872,4 +1872,27 @@ described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a simple general-purpose data structure\".") (license bsd-3))) +(define-public ghc-optparse-applicative + (package + (name "ghc-optparse-applicative") + (version "0.11.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/optparse-applicative" + "/optparse-applicative-" version ".tar.gz")) + (sha256 + (base32 + "0ni52ii9555jngljvzxn1ngicr6i2w647ww3rzhdrmng04y95iii")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-transformers-compat" ,ghc-transformers-compat) + ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint))) + (home-page "https://github.com/pcapriotti/optparse-applicative") + (synopsis "Utilities and combinators for parsing command line options") + (description "This package provides utilities and combinators for parsing +command line options in Haskell.") + (license bsd-3))) + ;;; haskell.scm ends here From 09fb622cb36c2c8eb4163dfb4900c750461f0007 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:15:11 +0200 Subject: [PATCH 088/194] gnu: Add ghc-base-orphans. * gnu/packages/haskell.scm (ghc-base-orphans): New variable. --- gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index f17ae3c60e..968438cc55 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1895,4 +1895,28 @@ simple general-purpose data structure\".") command line options in Haskell.") (license bsd-3))) +(define-public ghc-base-orphans + (package + (name "ghc-base-orphans") + (version "0.4.4") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/base-orphans/base-orphans-" + version + ".tar.gz")) + (sha256 + (base32 + "0hhgpwjvx7jhvlhsygmmf0q5hv2ymijzz4bjilicw99bmv13qcpl")))) + (build-system haskell-build-system) + (inputs + `(("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-hspec" ,ghc-hspec))) + (home-page "https://hackage.haskell.org/package/base-orphans") + (synopsis "Orphan instances for backwards compatibility") + (description "This package defines orphan instances that mimic instances +available in later versions of base to a wider (older) range of compilers.") + (license bsd-3))) + ;;; haskell.scm ends here From 6ecc4723c2b9f97cade7ff7a76d6d4a1fb4f2e72 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 01:24:54 +0200 Subject: [PATCH 089/194] gnu: Add ghc-vault. * gnu/packages/haskell.scm (ghc-vault): New variable. --- gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 968438cc55..2eec529218 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1821,6 +1821,35 @@ be used to extend Hspec's functionality.") used to test the in-development version of Hspec.") (license expat))) +(define-public ghc-vault + (package + (name "ghc-vault") + (version "0.3.0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/vault/vault-" + version + ".tar.gz")) + (sha256 + (base32 + "0ah6qrg71krc87f4vjy4b4shdd0mgyil8fikb3j6fl4kfwlg67jn")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-hashable" ,ghc-hashable))) + (home-page + "https://github.com/HeinrichApfelmus/vault") + (synopsis "Persistent store for arbitrary values") + (description "This package provides vaults for Haskell. A vault is a +persistent store for values of arbitrary types. It's like having first-class +access to the storage space behind @code{IORefs}. The data structure is +analogous to a bank vault, where you can access different bank boxes with +different keys; hence the name. Also provided is a @code{locker} type, +representing a store for a single element.") + (license bsd-3))) + (define-public ghc-async (package (name "ghc-async") From 899916b51ed6cfc4185a2ab97cd7af20c931d476 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:16:45 +0200 Subject: [PATCH 090/194] gnu: Add ghc-mmorph. * gnu/packages/haskell.scm (ghc-mmorph): New variable. --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 2eec529218..02ab82faca 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1850,6 +1850,29 @@ different keys; hence the name. Also provided is a @code{locker} type, representing a store for a single element.") (license bsd-3))) +(define-public ghc-mmorph + (package + (name "ghc-mmorph") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/mmorph/mmorph-" + version + ".tar.gz")) + (sha256 + (base32 + "0k5zlzmnixfwcjrqvhgi3i6xg532b0gsjvc39v5jigw69idndqr2")))) + (build-system haskell-build-system) + (home-page + "http://hackage.haskell.org/package/mmorph") + (synopsis "Monad morphisms") + (description + "This library provides monad morphism utilities, most commonly used for +manipulating monad transformer stacks.") + (license bsd-3))) + (define-public ghc-async (package (name "ghc-async") From c27f3aced3d3d9c109248f8664447a9fba067689 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:17:17 +0200 Subject: [PATCH 091/194] gnu: Add ghc-transformers-base. * gnu/packages/haskell.scm (ghc-transformers-base): New variable. --- gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 02ab82faca..935ee441bd 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -917,6 +917,35 @@ the paper \"Splittable Pseudorandom Number Generators Using Cryptographic Hashing\" by Claessen, Pałka for details and the rationale of the design.") (license bsd-3))) +(define-public ghc-transformers-base + (package + (name "ghc-transformers-base") + (version "0.4.4") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/transformers-base/transformers-base-" + version + ".tar.gz")) + (sha256 + (base32 + "11r3slgpgpra6zi2kjg3g60gvv17b1fh6qxipcpk8n86qx7lk8va")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-stm" ,ghc-stm))) + (inputs + `(("ghc-transformers-compat" ,ghc-transformers-compat))) + (home-page + "http://hackage.haskell.org/package/transformers-compat") + (synopsis + "Backported transformer library") + (description + "Backported versions of types that were added to transformers in +transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3 +compatibility to run on old versions of the platform.") + (license bsd-3))) + (define-public ghc-transformers-compat (package (name "ghc-transformers-compat") From 85160205074a3213cfd3168b786a2af5555f13a8 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:18:26 +0200 Subject: [PATCH 092/194] gnu: Add ghc-monad-control. * gnu/packages/haskell.scm (ghc-monad-control): New variable. --- gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 935ee441bd..717eef0a12 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1902,6 +1902,32 @@ representing a store for a single element.") manipulating monad transformer stacks.") (license bsd-3))) +(define-public ghc-monad-control + (package + (name "ghc-monad-control") + (version "1.0.0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/monad-control" + "/monad-control-" version ".tar.gz")) + (sha256 + (base32 + "07pn1p4m80wdd7gw62s4yny8rbvm60ka1q8qx5y1plznd8sbg179")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-stm" ,ghc-stm) + ("ghc-transformers-base" ,ghc-transformers-base) + ("ghc-transformers-compat" ,ghc-transformers-compat))) + (home-page "https://github.com/basvandijk/monad-control") + (synopsis "Monad transformers to lift control operations like exception +catching") + (description "This package defines the type class @code{MonadBaseControl}, +a subset of @code{MonadBase} into which generic control operations such as +@code{catch} can be lifted from @code{IO} or any other base monad.") + (license bsd-3))) + (define-public ghc-async (package (name "ghc-async") From 27e7c8b6a6c3a49ac8f734232c9e7f4407937a46 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:18:48 +0200 Subject: [PATCH 093/194] gnu: Add ghc-byteorder. * gnu/packages/haskell.scm (ghc-byteorder): New variable. --- gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 717eef0a12..7c07ff2dea 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1928,6 +1928,30 @@ a subset of @code{MonadBase} into which generic control operations such as @code{catch} can be lifted from @code{IO} or any other base monad.") (license bsd-3))) +(define-public ghc-byteorder + (package + (name "ghc-byteorder") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/byteorder/byteorder-" + version + ".tar.gz")) + (sha256 + (base32 + "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x")))) + (build-system haskell-build-system) + (home-page + "http://community.haskell.org/~aslatter/code/byteorder") + (synopsis + "Exposes the native endianness of the system") + (description + "This package is for working with the native byte-ordering of the +system.") + (license bsd-3))) + (define-public ghc-async (package (name "ghc-async") From 9525e25fc1daa6c551ef6a979e8edd36c557931a Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 21:19:03 +0200 Subject: [PATCH 094/194] gnu: Add ghc-easy-file. * gnu/packages/haskell.scm (ghc-easy-file): New variable. --- gnu/packages/haskell.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 7c07ff2dea..d3fc7693dc 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1952,6 +1952,27 @@ a subset of @code{MonadBase} into which generic control operations such as system.") (license bsd-3))) +(define-public ghc-easy-file + (package + (name "ghc-easy-file") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/easy-file/easy-file-" + version + ".tar.gz")) + (sha256 + (base32 + "0v75081bx4qzlqy29hh639nzlr7dncwza3qxbzm9njc4jarf31pz")))) + (build-system haskell-build-system) + (home-page + "http://github.com/kazu-yamamoto/easy-file") + (synopsis "File handling library for Haskell") + (description "This library provides file handling utilities for Haskell.") + (license bsd-3))) + (define-public ghc-async (package (name "ghc-async") From 71470eddfa585b45b1de0d3c7e2ba058ea88c5a6 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 13:56:59 +0200 Subject: [PATCH 095/194] gnu: Add ghc-base-compat. * gnu/packages/haskell.scm (ghc-base-compat): New variable. --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index d3fc7693dc..9dea805abe 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1952,6 +1952,31 @@ a subset of @code{MonadBase} into which generic control operations such as system.") (license bsd-3))) +(define-public ghc-base-compat + (package + (name "ghc-base-compat") + (version "0.8.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/base-compat/base-compat-" + version + ".tar.gz")) + (sha256 + (base32 + "02m93hzgxg4bcnp7xcc2fdh2hrsc2h6fwl8hix5nx9k864kwf41q")))) + (build-system haskell-build-system) + (inputs + `(("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-hspec" ,ghc-hspec))) + (home-page "https://hackage.haskell.org/package/base-compat") + (synopsis "Haskell compiler compatibility library") + (description "This library provides functions available in later versions +of base to a wider range of compilers, without requiring the use of CPP +pragmas in your code.") + (license bsd-3))) + (define-public ghc-easy-file (package (name "ghc-easy-file") From 94e1dc7a57a4a1e4ab2003f04408e87088b25125 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 13:58:43 +0200 Subject: [PATCH 096/194] gnu: Add ghc-blaze-builder. * gnu/packages/haskell.scm (ghc-blaze-builder): New variable. --- gnu/packages/haskell.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 9dea805abe..a2650ce159 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1977,6 +1977,34 @@ of base to a wider range of compilers, without requiring the use of CPP pragmas in your code.") (license bsd-3))) +(define-public ghc-blaze-builder + (package + (name "ghc-blaze-builder") + (version "0.4.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/blaze-builder/blaze-builder-" + version + ".tar.gz")) + (sha256 + (base32 + "1id3w33x9f7q5m3xpggmvzw03bkp94bpfyz81625bldqgf3yqdn1")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: Missing test libraries. + (propagated-inputs + `(("ghc-text" ,ghc-text) + ("ghc-utf8-string" ,ghc-utf8-string))) + (home-page "http://github.com/lpsmith/blaze-builder") + (synopsis "Efficient buffered output") + (description "This library provides an implementation of the older +@code{blaze-builder} interface in terms of the new builder that shipped with +@code{bytestring-0.10.4.0}. This implementation is mostly intended as a +bridge to the new builder, so that code that uses the old interface can +interoperate with code that uses the new implementation.") + (license bsd-3))) + (define-public ghc-easy-file (package (name "ghc-easy-file") From a311f5d00089287b1a6192f65397d93a932027c8 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:00:17 +0200 Subject: [PATCH 097/194] gnu: Add ghc-blaze-markup. * gnu/packages/haskell.scm (ghc-blaze-markup): New variable. --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index a2650ce159..4c52f02e72 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2005,6 +2005,31 @@ bridge to the new builder, so that code that uses the old interface can interoperate with code that uses the new implementation.") (license bsd-3))) +(define-public ghc-blaze-markup + (package + (name "ghc-blaze-markup") + (version "0.7.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/blaze-markup/blaze-markup-" + version + ".tar.gz")) + (sha256 + (base32 + "080vlhd8dwjxrma4bb524lh8gxs5lm3xh122icy6lnnyipla0s9y")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing. + (propagated-inputs + `(("ghc-blaze-builder" ,ghc-blaze-builder) + ("ghc-text" ,ghc-text))) + (home-page "http://jaspervdj.be/blaze") + (synopsis "Fast markup combinator library for Haskell") + (description "This library provides core modules of a markup combinator +library for Haskell.") + (license bsd-3))) + (define-public ghc-easy-file (package (name "ghc-easy-file") From a195cd795f2d09f167ce68f3a75e9dee6845ae35 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:01:15 +0200 Subject: [PATCH 098/194] gnu: Add ghc-blaze-html. * gnu/packages/haskell.scm (ghc-blaze-html): New variable. --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 4c52f02e72..c43bbdcd86 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2030,6 +2030,31 @@ interoperate with code that uses the new implementation.") library for Haskell.") (license bsd-3))) +(define-public ghc-blaze-html + (package + (name "ghc-blaze-html") + (version "0.8.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/blaze-html/blaze-html-" + version + ".tar.gz")) + (sha256 + (base32 + "1dnw50kh0s405cg9i2y4a8awanhj3bqzk21jwgfza65kcjby7lpq")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing. + (propagated-inputs + `(("ghc-blaze-builder" ,ghc-blaze-builder) + ("ghc-text" ,ghc-text) + ("ghc-blaze-markup" ,ghc-blaze-markup))) + (home-page "http://jaspervdj.be/blaze") + (synopsis "Fast HTML combinator library") + (description "This library provides HTML combinators for Haskell.") + (license bsd-3))) + (define-public ghc-easy-file (package (name "ghc-easy-file") From cb2119e4f5da8bb34ea865504250759138bf38ba Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:03:37 +0200 Subject: [PATCH 099/194] gnu: Add ghc-doctest. * gnu/packages/haskell.scm (ghc-doctest): New variable. --- gnu/packages/haskell.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index c43bbdcd86..d7e07efcdf 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2174,4 +2174,39 @@ command line options in Haskell.") available in later versions of base to a wider (older) range of compilers.") (license bsd-3))) +(define-public ghc-doctest + (package + (name "ghc-doctest") + (version "0.10.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/doctest/doctest-" + version + ".tar.gz")) + (sha256 + (base32 + "1jbyhzbi2hfrfg7vbkpj6vriaap8cn99nnmzwcfscwaijz09jyrm")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: missing test framework + (propagated-inputs + `(("ghc-syb" ,ghc-syb) + ("ghc-paths" ,ghc-paths))) + (inputs + `(("ghc-base-compat" ,ghc-base-compat) + ("ghc-hunit" ,ghc-hunit) + ("ghc-hspec" ,ghc-hspec) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-stringbuilder" ,ghc-stringbuilder) + ("ghc-silently" ,ghc-silently) + ("ghc-setenv" ,ghc-setenv))) + (home-page + "https://github.com/sol/doctest#readme") + (synopsis "Test interactive Haskell examples") + (description "The doctest program checks examples in source code comments. +It is modeled after doctest for Python, see +@uref{http://docs.python.org/library/doctest.html, the Doctest website}.") + (license expat))) + ;;; haskell.scm ends here From bc0fb230f92a5ad2ef04b9bdcc08b08535314b2f Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:05:15 +0200 Subject: [PATCH 100/194] gnu: Add ghc-auto-update. * gnu/packages/haskell.scm (ghc-auto-update): New variable. --- gnu/packages/haskell.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index d7e07efcdf..f54af62f46 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2174,6 +2174,27 @@ command line options in Haskell.") available in later versions of base to a wider (older) range of compilers.") (license bsd-3))) +(define-public ghc-auto-update + (package + (name "ghc-auto-update") + (version "0.1.2.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/auto-update/auto-update-" + version + ".tar.gz")) + (sha256 + (base32 + "1ns4c5mqhnm7hsiqxf1ivjs5fflyq92b16ldzrcl0p85631h0c3v")))) + (build-system haskell-build-system) + (home-page "https://github.com/yesodweb/wai") + (synopsis "Efficiently run periodic, on-demand actions") + (description "This library provides mechanisms to efficiently run +periodic, on-demand actions in Haskell.") + (license expat))) + (define-public ghc-doctest (package (name "ghc-doctest") From 7f0d5857e64f33f3843248ddac68a441a47a4e06 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:07:16 +0200 Subject: [PATCH 101/194] gnu: Add ghc-tagged. * gnu/packages/haskell.scm (ghc-tagged): New variable. --- gnu/packages/haskell.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index f54af62f46..1d5fa6c6a5 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2195,6 +2195,27 @@ available in later versions of base to a wider (older) range of compilers.") periodic, on-demand actions in Haskell.") (license expat))) +(define-public ghc-tagged + (package + (name "ghc-tagged") + (version "0.8.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/tagged/tagged-" + version + ".tar.gz")) + (sha256 + (base32 + "1hc2qzhhz5p1xd8k03sklrdnhcflkwhgpl82k6fam8yckww9ipav")))) + (build-system haskell-build-system) + (home-page "https://hackage.haskell.org/package/tagged") + (synopsis "Haskell phantom types to avoid passing dummy arguments") + (description "This library provides phantom types for Haskell 98, to avoid +having to unsafely pass dummy arguments.") + (license bsd-3))) + (define-public ghc-doctest (package (name "ghc-doctest") From a24ec6f271675acb760d197a1a6eb8ba395cb5d0 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:11:03 +0200 Subject: [PATCH 102/194] gnu: Add ghc-unbounded-delays. * gnu/packages/haskell.scm (ghc-unbounded-delays): New variable. --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 1d5fa6c6a5..63b1603a47 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2216,6 +2216,29 @@ periodic, on-demand actions in Haskell.") having to unsafely pass dummy arguments.") (license bsd-3))) +(define-public ghc-unbounded-delays + (package + (name "ghc-unbounded-delays") + (version "0.1.0.9") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/unbounded-delays/unbounded-delays-" + version + ".tar.gz")) + (sha256 + (base32 + "1f4h87503m3smhip432q027wj3zih18pmz2rnafh60589ifcl420")))) + (build-system haskell-build-system) + (home-page "https://github.com/basvandijk/unbounded-delays") + (synopsis "Unbounded thread delays and timeouts") + (description "The @code{threadDelay} and @code{timeout} functions from the +Haskell base library use the bounded @code{Int} type for specifying the delay +or timeout period. This package provides alternative functions which use the +unbounded @code{Integer} type.") + (license bsd-3))) + (define-public ghc-doctest (package (name "ghc-doctest") From 685502dc936dc7362026dca6a6267651db7c6049 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:12:38 +0200 Subject: [PATCH 103/194] gnu: Add ghc-iproute. * gnu/packages/haskell.scm (ghc-iproute): New variable. --- gnu/packages/haskell.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 63b1603a47..d15a9ad4cd 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -968,6 +968,36 @@ transformers 0.2 or 0.3 compatibility to run on old versions of the platform, but also need those types.") (license bsd-3))) +(define-public ghc-iproute + (package + (name "ghc-iproute") + (version "1.7.0") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/iproute/iproute-" + version + ".tar.gz")) + (sha256 + (base32 + "1ply0i110c2sppjbfyysgw48jfjnsbam5zwil8xws0hp20rh1pb5")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder, + ; exported by ghc-byteorder. Doctest issue. + (propagated-inputs + `(("ghc-appar" ,ghc-appar) + ("ghc-byteorder" ,ghc-byteorder))) + (inputs + `(("ghc-network" ,ghc-network) + ("ghc-safe" ,ghc-safe))) + (home-page "http://www.mew.org/~kazu/proj/iproute/") + (synopsis "IP routing table") + (description "IP Routing Table is a tree of IP ranges to search one of +them on the longest match base. It is a kind of TRIE with one way branching +removed. Both IPv4 and IPv6 are supported.") + (license bsd-3))) + (define-public ghc-regex-base (package (name "ghc-regex-base") From 5ef40cb26a70a48680ce32875d7f0c4f2a95c746 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:13:33 +0200 Subject: [PATCH 104/194] gnu: Add ghc-unix-time. * gnu/packages/haskell.scm (ghc-unix-time): New variable. --- gnu/packages/haskell.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index d15a9ad4cd..ebaf1f75e0 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -968,6 +968,38 @@ transformers 0.2 or 0.3 compatibility to run on old versions of the platform, but also need those types.") (license bsd-3))) +(define-public ghc-unix-time + (package + (name "ghc-unix-time") + (version "0.3.6") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/unix-time/unix-time-" + version + ".tar.gz")) + (sha256 + (base32 + "0dyvyxwaffb94bgri1wc4b9wqaasy32pyjn0lww3dqblxv8fn5ax")))) + (build-system haskell-build-system) + (arguments + `(#:tests? #f ; FIXME: Test fails with "System.Time not found". This is + ; weird, that should be provided by GHC 7.10.2. + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-/bin/sh + (lambda _ + (setenv "CONFIG_SHELL" "sh")))))) + (propagated-inputs + `(("ghc-old-time" ,ghc-old-time) + ("ghc-old-locale" ,ghc-old-locale))) + (home-page "http://hackage.haskell.org/package/unix-time") + (synopsis "Unix time parser/formatter and utilities") + (description "This library provides fast parsing and formatting utilities +for Unix time in Haskell.") + (license bsd-3))) + (define-public ghc-iproute (package (name "ghc-iproute") From 801cc88daf1ac810c95db2e5992c939bbc115d78 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:14:34 +0200 Subject: [PATCH 105/194] gnu: Add ghc-unix-compat. * gnu/packages/haskell.scm (ghc-unix-compat): New variable. --- gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index ebaf1f75e0..40d869dfc1 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1000,6 +1000,30 @@ but also need those types.") for Unix time in Haskell.") (license bsd-3))) +(define-public ghc-unix-compat + (package + (name "ghc-unix-compat") + (version "0.4.1.4") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/unix-compat/unix-compat-" + version + ".tar.gz")) + (sha256 + (base32 + "0jxk7j5pz2kgfpqr4hznndjg31pqj5xg2qfc5308fcn9xyg1myps")))) + (build-system haskell-build-system) + (home-page + "http://github.com/jystic/unix-compat") + (synopsis "Portable POSIX-compatibility layer") + (description + "This package provides portable implementations of parts of the unix +package. This package re-exports the unix package when available. When it +isn't available, portable implementations are used.") + (license bsd-3))) + (define-public ghc-iproute (package (name "ghc-iproute") From dc5befb126c0b861f2bfb512c0cf8e336f1c6a21 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:18:44 +0200 Subject: [PATCH 106/194] gnu: Add ghc-quickcheck-instances. * gnu/packages/haskell.scm (ghc-quickcheck-instances): New variable. --- gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 40d869dfc1..5ef3afd7e7 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1290,6 +1290,35 @@ installed.") writing to stdout and other handles.") (license bsd-3))) +(define-public ghc-quickcheck-instances + (package + (name "ghc-quickcheck-instances") + (version "0.3.11") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/" + "quickcheck-instances/quickcheck-instances-" + version ".tar.gz")) + (sha256 + (base32 + "041s6963czs1pz0fc9cx17lgd6p83czqy2nxji7bhxqxwl2j15h2")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-old-time" ,ghc-old-time) + ("ghc-unordered-containers" ,ghc-unordered-containers))) + (inputs + `(("ghc-hashable" ,ghc-hashable) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-text" ,ghc-text))) + (home-page + "https://github.com/aslatter/qc-instances") + (synopsis "Common quickcheck instances") + (description "This package provides QuickCheck instances for types +provided by the Haskell Platform.") + (license bsd-3))) + (define-public ghc-quickcheck-unicode (package (name "ghc-quickcheck-unicode") From fe8f53e39b05fd77876e4a9fbfac2d38136a5763 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:19:12 +0200 Subject: [PATCH 107/194] gnu: Add ghc-http-types. * gnu/packages/haskell.scm (ghc-http-types): New variable. --- gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 5ef3afd7e7..9af661ae3f 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1024,6 +1024,35 @@ package. This package re-exports the unix package when available. When it isn't available, portable implementations are used.") (license bsd-3))) +(define-public ghc-http-types + (package + (name "ghc-http-types") + (version "0.9") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/http-types/http-types-" + version + ".tar.gz")) + (sha256 + (base32 + "0ny15jgm5skhs2yx6snr13lrnw19hwjgfygrpsmhib8wqa8cz8cc")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: Tests cannot find + ; Blaze.Bytestring.Builder, which should be + ; provided by ghc-blaze-builder. + (propagated-inputs + `(("ghc-case-insensitive" ,ghc-case-insensitive) + ("ghc-blaze-builder" ,ghc-blaze-builder))) + (inputs + `(("ghc-text" ,ghc-text))) + (home-page "https://github.com/aristidb/http-types") + (synopsis "Generic HTTP types for Haskell") + (description "This package provides generic HTTP types for Haskell (for +both client and server code).") + (license bsd-3))) + (define-public ghc-iproute (package (name "ghc-iproute") From 878535bd81b28a27549c589c8084ed3edfaea22c Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:27:33 +0200 Subject: [PATCH 108/194] gnu: Add ghc-nats. * gnu/packages/haskell.scm (ghc-nats): New variable. --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 9af661ae3f..fcbd231d7b 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2383,6 +2383,29 @@ or timeout period. This package provides alternative functions which use the unbounded @code{Integer} type.") (license bsd-3))) +(define-public ghc-nats + (package + (name "ghc-nats") + (version "1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/nats/nats-" + version + ".tar.gz")) + (sha256 + (base32 + "0r6s8l4s0yq3x2crrkv0b8zac13magfasr9v8hnq6rn1icsfhic0")))) + (build-system haskell-build-system) + (arguments `(#:haddock? #f)) + (inputs + `(("ghc-hashable" ,ghc-hashable))) + (home-page "https://hackage.haskell.org/package/nats") + (synopsis "Natural numbers") + (description "This library provides the natural numbers for Haskell.") + (license bsd-3))) + (define-public ghc-doctest (package (name "ghc-doctest") From 946fa8c9b0fe6d7c8663b0dc23659902f8634318 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:29:28 +0200 Subject: [PATCH 109/194] gnu: Add ghc-semigroups. * gnu/packages/haskell.scm (ghc-semigroups): New variable. --- gnu/packages/haskell.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index fcbd231d7b..e0fc9f4aff 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2406,6 +2406,39 @@ unbounded @code{Integer} type.") (description "This library provides the natural numbers for Haskell.") (license bsd-3))) +(define-public ghc-semigroups + (package + (name "ghc-semigroups") + (version "0.17.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/semigroups/semigroups-" + version + ".tar.gz")) + (sha256 + (base32 + "0gvpfi7s6ys4qha3y9a1zl1a15gf9cgg33wjb94ghg82ivcxnc3r")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-nats" ,ghc-nats) + ("ghc-tagged" ,ghc-tagged) + ("ghc-unordered-containers" ,ghc-unordered-containers))) + (inputs + `(("ghc-text" ,ghc-text) + ("ghc-hashable" ,ghc-hashable))) + (home-page "http://github.com/ekmett/semigroups/") + (synopsis "Semigroup operations for Haskell") + (description "This package provides semigroups for Haskell. In +mathematics, a semigroup is an algebraic structure consisting of a set +together with an associative binary operation. A semigroup generalizes a +monoid in that there might not exist an identity element. It +also (originally) generalized a group (a monoid with all inverses) to a type +where every element did not have to have an inverse, thus the name +semigroup.") + (license bsd-3))) + (define-public ghc-doctest (package (name "ghc-doctest") From 03f6074b72ebfc0711b9a6de4d604ac73b02929e Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:31:10 +0200 Subject: [PATCH 110/194] gnu: Add ghc-void. * gnu/packages/haskell.scm (ghc-void): New variable. --- gnu/packages/haskell.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index e0fc9f4aff..9570e68454 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2406,6 +2406,33 @@ unbounded @code{Integer} type.") (description "This library provides the natural numbers for Haskell.") (license bsd-3))) +(define-public ghc-void + (package + (name "ghc-void") + (version "0.7.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/void/void-" + version + ".tar.gz")) + (sha256 + (base32 + "1x15x2axz84ndw2bf60vjqljhrb0w95lddaljsxrl0hcd29zvw69")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-semigroups" ,ghc-semigroups))) + (inputs + `(("ghc-hashable" ,ghc-hashable))) + (home-page "http://github.com/ekmett/void") + (synopsis + "Logically uninhabited data type") + (description + "A Haskell 98 logically uninhabited data type, used to indicate that a +given term should not exist.") + (license bsd-3))) + (define-public ghc-semigroups (package (name "ghc-semigroups") From 4f99755142ccc270ae4103cea1ec024fceac0b45 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:32:25 +0200 Subject: [PATCH 111/194] gnu: Add ghc-bifunctors. * gnu/packages/haskell.scm (ghc-bifunctors): Add variable. --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 9570e68454..6703683619 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2433,6 +2433,29 @@ unbounded @code{Integer} type.") given term should not exist.") (license bsd-3))) +(define-public ghc-bifunctors + (package + (name "ghc-bifunctors") + (version "5") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/bifunctors/bifunctors-" + version + ".tar.gz")) + (sha256 + (base32 + "13990xdgx0n23qgi18ghhmsywj5zkr0a5bim0g8a4nzi0cx95ps1")))) + (build-system haskell-build-system) + (inputs + `(("ghc-tagged" ,ghc-tagged) + ("ghc-semigroups" ,ghc-semigroups))) + (home-page "http://github.com/ekmett/bifunctors/") + (synopsis "Bifunctors for Haskell") + (description "This package provides bifunctors for Haskell.") + (license bsd-3))) + (define-public ghc-semigroups (package (name "ghc-semigroups") From f271524a1454e6c8ab12ca8388d8248cd2d26f86 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:36:03 +0200 Subject: [PATCH 112/194] gnu: Add ghc-statevar. * gnu/packages/haskell.scm (ghc-statevar): New variable. --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 6703683619..0b80b3b9a5 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2433,6 +2433,29 @@ unbounded @code{Integer} type.") given term should not exist.") (license bsd-3))) +(define-public ghc-statevar + (package + (name "ghc-statevar") + (version "1.1.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/StateVar/StateVar-" + version + ".tar.gz")) + (sha256 + (base32 + "1ap51cvwq61xckx5hw44l82ihbxvsq3263xr5hqg42c5qp67kbhf")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-stm" ,ghc-stm))) + (home-page "http://hackage.haskell.org/package/StateVar") + (synopsis "State variables for Haskell") + (description "This package provides state variables, which are references +in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.") + (license bsd-3))) + (define-public ghc-bifunctors (package (name "ghc-bifunctors") From 624efe7304dfe9247d1078680cfe0b1704295526 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:36:19 +0200 Subject: [PATCH 113/194] gnu: Add ghc-contravariant. * gnu/packages/haskell.scm (ghc-contravariant): New variable. --- gnu/packages/haskell.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 0b80b3b9a5..d606d48fbd 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2479,6 +2479,33 @@ in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.") (description "This package provides bifunctors for Haskell.") (license bsd-3))) +(define-public ghc-contravariant + (package + (name "ghc-contravariant") + (version "1.3.3") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/contravariant/contravariant-" + version + ".tar.gz")) + (sha256 + (base32 + "184hcmhsznqrkmqlc1kza9pb5p591anva574ry8wrh81vqmhwfb5")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-void" ,ghc-void) + ("ghc-transformers-compat" ,ghc-transformers-compat) + ("ghc-statevar" ,ghc-statevar))) + (inputs + `(("ghc-semigroups" ,ghc-semigroups))) + (home-page + "http://github.com/ekmett/contravariant/") + (synopsis "Contravariant functors") + (description "Contravariant functors for Haskell.") + (license bsd-3))) + (define-public ghc-semigroups (package (name "ghc-semigroups") From 9e5224e6f3d7604db3f75e70e69fdf187ec510f3 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:38:27 +0200 Subject: [PATCH 114/194] gnu: Add ghc-digest. * gnu/packages/haskell.scm (ghc-digest): New variable. --- gnu/packages/haskell.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index d606d48fbd..4a399ceb6d 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2456,6 +2456,33 @@ given term should not exist.") in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.") (license bsd-3))) +(define-public ghc-digest + (package + (name "ghc-digest") + (version "0.0.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/digest/digest-" + version + ".tar.gz")) + (sha256 + (base32 + "04gy2zp8yzvv7j9bdfvmfzcz3sqyqa6rwslqcn4vyair2vmif5v4")))) + (build-system haskell-build-system) + (inputs + `(("zlib" ,zlib))) + (home-page + "http://hackage.haskell.org/package/digest") + (synopsis + "Various cryptographic hashes for bytestrings") + (description + "This package provides efficient cryptographic hash implementations for +strict and lazy bytestrings. For now, CRC32 and Adler32 are supported; they +are implemented as FFI bindings to efficient code from zlib.") + (license bsd-3))) + (define-public ghc-bifunctors (package (name "ghc-bifunctors") From 6c1a7751a55617f43743529042e12e30bd1b4cd5 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:39:24 +0200 Subject: [PATCH 115/194] gnu: Add ghc-tagsoup. * gnu/packages/haskell.scm (ghc-tagsoup): New variable. --- gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 4a399ceb6d..2611727f37 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2456,6 +2456,35 @@ given term should not exist.") in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.") (license bsd-3))) +(define-public ghc-tagsoup + (package + (name "ghc-tagsoup") + (version "0.13.3") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/tagsoup/tagsoup-" + version + ".tar.gz")) + (sha256 + (base32 + "13b6zy6346r3cxhaivys84fnxarg8wbv7r2znazfjdkqil8n5a1j")))) + (build-system haskell-build-system) + (inputs `(("ghc-text" ,ghc-text))) + (home-page + "http://community.haskell.org/~ndm/tagsoup/") + (synopsis + "Parsing and extracting information from (possibly malformed) HTML/XML +documents") + (description + "TagSoup is a library for parsing HTML/XML. It supports the HTML 5 +specification, and can be used to parse either well-formed XML, or +unstructured and malformed HTML from the web. The library also provides +useful functions to extract information from an HTML document, making it ideal +for screen-scraping.") + (license bsd-3))) + (define-public ghc-digest (package (name "ghc-digest") From d76bf6181b083d85e6897ff8a27d72a4c457fbb4 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:48:43 +0200 Subject: [PATCH 116/194] gnu: Add ghc-bytestring-builder. * gnu/packages/haskell.scm (ghc-bytestring-builder): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 2611727f37..3060d3bc70 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2383,6 +2383,28 @@ or timeout period. This package provides alternative functions which use the unbounded @code{Integer} type.") (license bsd-3))) +(define-public ghc-bytestring-builder + (package + (name "ghc-bytestring-builder") + (version "0.10.6.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/bytestring-builder" + "/bytestring-builder-" version ".tar.gz")) + (sha256 + (base32 + "1mkg24zl0rapb3gqzkyj5ibp07wx3yzd72hmfczssl0is63rjhww")))) + (build-system haskell-build-system) + (arguments `(#:haddock? #f)) ; Package contains no documentation. + (home-page "http://hackage.haskell.org/package/bytestring-builder") + (synopsis "The new bytestring builder, packaged outside of GHC") + (description "This package provides the bytestring builder that is +debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8. +Compatibility package for older packages.") + (license bsd-3))) + (define-public ghc-nats (package (name "ghc-nats") From cc553d025de4a5deefb4d5129be9f958f10de76d Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:52:19 +0200 Subject: [PATCH 117/194] gnu: Add ghc-fast-logger. * gnu/packages/haskell.scm (ghc-fast-logger): New variable. --- gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 3060d3bc70..bf24cc8ec7 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2617,6 +2617,32 @@ where every element did not have to have an inverse, thus the name semigroup.") (license bsd-3))) +(define-public ghc-fast-logger + (package + (name "ghc-fast-logger") + (version "2.4.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/fast-logger/fast-logger-" + version + ".tar.gz")) + (sha256 + (base32 + "0kjk1861qcls8m8y7i55msfpprws5wk6c5mxzi35g2qbl2sih4p5")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-bytestring-builder" ,ghc-bytestring-builder) + ("ghc-auto-update" ,ghc-auto-update))) + (inputs + `(("ghc-hspec" ,ghc-hspec) + ("ghc-text" ,ghc-text))) + (home-page "https://hackage.haskell.org/package/fast-logger") + (synopsis "Fast logging system") + (description "This library provides a fast logging system for Haskell.") + (license bsd-3))) + (define-public ghc-doctest (package (name "ghc-doctest") From 6ffc5be71d57d5823eb8244073f06f6209136dcd Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:54:44 +0200 Subject: [PATCH 118/194] gnu: Add ghc-charset. * gnu/packages/haskell.scm (ghc-charset): New variable. --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index bf24cc8ec7..0f0e557773 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2383,6 +2383,31 @@ or timeout period. This package provides alternative functions which use the unbounded @code{Integer} type.") (license bsd-3))) +(define-public ghc-charset + (package + (name "ghc-charset") + (version "0.3.7.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/charset/charset-" + version + ".tar.gz")) + (sha256 + (base32 + "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-semigroups" ,ghc-semigroups))) + (inputs + `(("ghc-unordered-containers" ,ghc-unordered-containers))) + (home-page "http://github.com/ekmett/charset") + (synopsis "Fast unicode character sets for Haskell") + (description "This package provides fast unicode character sets for +Haskell, based on complemented PATRICIA tries.") + (license bsd-3))) + (define-public ghc-bytestring-builder (package (name "ghc-bytestring-builder") From 34128d2ba78c305ea588c761255fbc06b7819f05 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:59:46 +0200 Subject: [PATCH 119/194] gnu: Add ghc-regex-tdfa-rc. * gnu/packages/haskell.scm (ghc-regex-tdfa-rc): New variable. --- gnu/packages/haskell.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 0f0e557773..16144db2a1 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1107,6 +1107,33 @@ removed. Both IPv4 and IPv6 are supported.") regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.") (license bsd-3))) +(define-public ghc-regex-tdfa-rc + (package + (name "ghc-regex-tdfa-rc") + (version "1.1.8.3") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/regex-tdfa-rc/regex-tdfa-rc-" + version + ".tar.gz")) + (sha256 + (base32 + "1vi11i23gkkjg6193ak90g55akj69bhahy542frkwb68haky4pp3")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-regex-base" ,ghc-regex-base) + ("ghc-parsec" ,ghc-parsec))) + (inputs + `(("ghc-mtl" ,ghc-mtl))) + (home-page + "http://hackage.haskell.org/package/regex-tdfa") + (synopsis "Tagged DFA regex engine for Haskell") + (description "A new all-Haskell \"tagged\" DFA regex engine, inspired by +@code{libtre} (fork by Roman Cheplyaka).") + (license bsd-3))) + (define-public ghc-appar (package (name "ghc-appar") From 6f5e312e977118cc6eff4195381263beec60dab3 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 15:06:02 +0200 Subject: [PATCH 120/194] gnu: Add ghc-lifted-base. * gnu/packages/haskell.scm (ghc-lifted-base): New variable. --- gnu/packages/haskell.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 16144db2a1..124c86fa2f 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2730,4 +2730,35 @@ It is modeled after doctest for Python, see @uref{http://docs.python.org/library/doctest.html, the Doctest website}.") (license expat))) +(define-public ghc-lifted-base + (package + (name "ghc-lifted-base") + (version "0.2.3.6") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/lifted-base/lifted-base-" + version + ".tar.gz")) + (sha256 + (base32 + "1yz14a1rsgknwyl08n4kxrlc26hfwmb95a3c2drbnsgmhdyq7iap")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries. + (propagated-inputs + `(("ghc-transformers-base" ,ghc-transformers-base) + ("ghc-monad-control" ,ghc-monad-control))) + (inputs + `(("ghc-transformers-compat" ,ghc-transformers-compat) + ("ghc-hunit" ,ghc-hunit))) + (home-page "https://github.com/basvandijk/lifted-base") + (synopsis "Lifted IO operations from the base library") + (description "Lifted-base exports IO operations from the @code{base} +library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}. +Note that not all modules from @code{base} are converted yet. The package +includes a copy of the @code{monad-peel} test suite written by Anders +Kaseorg.") + (license bsd-3))) + ;;; haskell.scm ends here From 281bc4fd5d0f417fcda8108cf9a24094c6b5ca3d Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 15:16:38 +0200 Subject: [PATCH 121/194] gnu: Add ghc-word8. * gnu/packages/haskell.scm (ghc-word8): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 124c86fa2f..47d9db1b05 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2761,4 +2761,26 @@ includes a copy of the @code{monad-peel} test suite written by Anders Kaseorg.") (license bsd-3))) +(define-public ghc-word8 + (package + (name "ghc-word8") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/word8/word8-" + version + ".tar.gz")) + (sha256 + (base32 + "1pbn8ra3qhwvw07p375cdmp7jzlg07hgdcr4cpscz3h7b9sy7fiw")))) + (build-system haskell-build-system) + (inputs + `(("ghc-hspec" ,ghc-hspec))) + (home-page "http://hackage.haskell.org/package/word8") + (synopsis "Word8 library for Haskell") + (description "Word8 library to be used with @code{Data.ByteString}.") + (license bsd-3))) + ;;; haskell.scm ends here From fa709a2fc9e5ebc98df9d61452c727283a05fcd8 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:14:59 +0200 Subject: [PATCH 122/194] gnu: Add ghc-stringsearch. * gnu/packages/haskell.scm (ghc-stringsearch): New variable. --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 47d9db1b05..8fb9844f09 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2783,4 +2783,27 @@ Kaseorg.") (description "Word8 library to be used with @code{Data.ByteString}.") (license bsd-3))) +(define-public ghc-stringsearch + (package + (name "ghc-stringsearch") + (version "0.3.6.6") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/stringsearch/stringsearch-" + version + ".tar.gz")) + (sha256 + (base32 + "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9")))) + (build-system haskell-build-system) + (home-page "https://bitbucket.org/dafis/stringsearch") + (synopsis "Fast searching, splitting and replacing of ByteStrings") + (description "This package provides several functions to quickly search +for substrings in strict or lazy @code{ByteStrings}. It also provides +functions for breaking or splitting on substrings and replacing all +occurrences of a substring (the first in case of overlaps) with another.") + (license bsd-3))) + ;;; haskell.scm ends here From 3f2ce1dc3f070bb1cc24616cd56b3ab66b67af80 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 14:57:25 +0200 Subject: [PATCH 123/194] gnu: Add ghc-clock-bootstrap. The ghc-clock-bootstrap package has tests disabled, since they themselves indirectly require ghc-clock. After adding ghc-tasty and ghc-tasty-quickcheck, ghc-clock is defined as a public package with tests enabled. * gnu/packages/haskell.scm (ghc-clock-bootstrap): New variable. --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 8fb9844f09..b8d2e0ad7c 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2410,6 +2410,31 @@ or timeout period. This package provides alternative functions which use the unbounded @code{Integer} type.") (license bsd-3))) +;; This package builds `clock` without tests, since the tests rely on tasty +;; and tasty-quickcheck, which in turn require clock to build. When tasty and +;; tasty-quickcheck are added, we will add ghc-clock with tests enabled. +(define ghc-clock-bootstrap + (package + (name "ghc-clock-bootstrap") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/" + "clock/" + "clock-" version ".tar.gz")) + (sha256 + (base32 "1ncph7vi2q6ywwc8ysxl1ibw6i5dwfvln88ssfazk8jgpj4iyykw")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ;; Testing suite depends on tasty and + ;; tasty-quickcheck, which need clock to build. + (home-page "https://hackage.haskell.org/package/clock") + (synopsis "High-resolution clock for Haskell") + (description "A package for convenient access to high-resolution clock and +timer functions of different operating systems via a unified API.") + (license bsd-3))) + (define-public ghc-charset (package (name "ghc-charset") From 7cfdbc514f5b558cdae16e87f66774bd033fbc6d Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 15:18:13 +0200 Subject: [PATCH 124/194] gnu: Add ghc-tasty. * gnu/packages/haskell.scm (ghc-tasty): New variable. --- gnu/packages/haskell.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index b8d2e0ad7c..8c1e6f799d 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2831,4 +2831,36 @@ functions for breaking or splitting on substrings and replacing all occurrences of a substring (the first in case of overlaps) with another.") (license bsd-3))) +(define-public ghc-tasty + (package + (name "ghc-tasty") + (version "0.11.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/tasty/tasty-" + version + ".tar.gz")) + (sha256 + (base32 + "1chapivmmwsb1ghwagvdm80bfj3hdk75m94z4p212ng2i4ghpjkx")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-stm" ,ghc-stm) + ("ghc-mtl" ,ghc-mtl) + ("ghc-tagged" ,ghc-tagged) + ("ghc-regex-tdfa-rc" ,ghc-regex-tdfa-rc) + ("ghc-optparse-applicative" ,ghc-optparse-applicative) + ("ghc-unbounded-delays" ,ghc-unbounded-delays) + ("ghc-async" ,ghc-async) + ("ghc-ansi-terminal" ,ghc-ansi-terminal) + ("ghc-clock-bootstrap" ,ghc-clock-bootstrap))) + (home-page "http://documentup.com/feuerbach/tasty") + (synopsis "Modern and extensible testing framework") + (description "Tasty is a modern testing framework for Haskell. It lets +you combine your unit tests, golden tests, QuickCheck/SmallCheck properties, +and any other types of tests into a single test suite.") + (license expat))) + ;;; haskell.scm ends here From 766504d19996eb531a542cf8b2ef7ade0e737e91 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:02:58 +0200 Subject: [PATCH 125/194] gnu: Add ghc-tasty-hunit. * gnu/packages/haskell.scm (ghc-tasty-hunit): New variable. --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 8c1e6f799d..bebeda52c6 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2863,4 +2863,27 @@ you combine your unit tests, golden tests, QuickCheck/SmallCheck properties, and any other types of tests into a single test suite.") (license expat))) +(define-public ghc-tasty-hunit + (package + (name "ghc-tasty-hunit") + (version "0.9.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/tasty-hunit/tasty-hunit-" + version + ".tar.gz")) + (sha256 + (base32 + "08qnxaw34wfnzi9irs1jd4d0zczqm3k5ffkd4zwhkz0dflmgq7mf")))) + (build-system haskell-build-system) + (inputs + `(("ghc-tasty" ,ghc-tasty))) + (home-page "http://documentup.com/feuerbach/tasty") + (synopsis "HUnit support for the Tasty test framework") + (description "This package provides HUnit support for the Tasty Haskell +test framework.") + (license expat))) + ;;; haskell.scm ends here From 32ce3df7584c8a0536ba09797ae8c087c7998719 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 15:19:25 +0200 Subject: [PATCH 126/194] gnu: Add ghc-tasty-quickcheck. * gnu/packages/haskell.scm (ghc-tasty-quickcheck): New variable. --- gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index bebeda52c6..be9c76d60b 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2831,6 +2831,35 @@ functions for breaking or splitting on substrings and replacing all occurrences of a substring (the first in case of overlaps) with another.") (license bsd-3))) +(define-public ghc-tasty-quickcheck + (package + (name "ghc-tasty-quickcheck") + (version "0.8.4") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/tasty-quickcheck/" + "tasty-quickcheck-" version ".tar.gz")) + (sha256 + (base32 + "15rjxib5jmjq0hzj47x15kgp3awc73va4cy1pmpf7k3hvfv4qprn")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-quickcheck" ,ghc-quickcheck))) + (inputs + `(("ghc-tagged" ,ghc-tagged) + ("ghc-tasty" ,ghc-tasty) + ("ghc-random" ,ghc-random) + ("ghc-ansi-terminal" ,ghc-ansi-terminal) + ("ghc-tasty-hunit" ,ghc-tasty-hunit) + ("ghc-pcre-light" ,ghc-pcre-light))) + (home-page "http://documentup.com/feuerbach/tasty") + (synopsis "QuickCheck support for the Tasty test framework") + (description "This package provides QuickCheck support for the Tasty +Haskell test framework.") + (license expat))) + (define-public ghc-tasty (package (name "ghc-tasty") From f4e5c04ed15456a47c0e79fc80a6e5044de8a662 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 15:32:50 +0200 Subject: [PATCH 127/194] gnu: Add ghc-clock. Add ghc-clock, which depends indirectly on ghc-clock-bootstrap for its test suite. * gnu/packages/haskell.scm (ghc-clock): New variable. --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index be9c76d60b..825cda1b6a 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2435,6 +2435,29 @@ unbounded @code{Integer} type.") timer functions of different operating systems via a unified API.") (license bsd-3))) +(define-public ghc-clock + (package + (name "ghc-clock") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/" + "clock/" + "clock-" version ".tar.gz")) + (sha256 + (base32 "1ncph7vi2q6ywwc8ysxl1ibw6i5dwfvln88ssfazk8jgpj4iyykw")))) + (build-system haskell-build-system) + (inputs + `(("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck))) + (home-page "https://hackage.haskell.org/package/clock") + (synopsis "High-resolution clock for Haskell") + (description "A package for convenient access to high-resolution clock and +timer functions of different operating systems via a unified API.") + (license bsd-3))) + (define-public ghc-charset (package (name "ghc-charset") From fa67563caf1661f20c310b58e04b5871b6eac18b Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:18:31 +0200 Subject: [PATCH 128/194] gnu: Add ghc-temporary-rc. * gnu/packages/haskell.scm (ghc-temporary-rc): New variable. --- gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 825cda1b6a..edc0acd882 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1322,6 +1322,35 @@ that you can use them without linking against Cabal or depending on it being installed.") (license bsd-3))) +(define-public ghc-temporary-rc + (package + (name "ghc-temporary-rc") + (version "1.2.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/temporary-rc/temporary-rc-" + version + ".tar.gz")) + (sha256 + (base32 + "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs")))) + (build-system haskell-build-system) + (propagated-inputs `(("ghc-exceptions" ,ghc-exceptions))) + (home-page + "http://www.github.com/feuerbach/temporary") + (synopsis + "Portable temporary file and directory support") + (description + "The functions for creating temporary files and directories in the base +library are quite limited. The unixutils package contains some good ones, but +they aren't portable to Windows. This library just repackages the Cabal +implementations of its own temporary file and folder functions so that you can +use them without linking against Cabal or depending on it being installed. +This is a better maintained fork of the \"temporary\" package.") + (license bsd-3))) + (define-public ghc-silently (package (name "ghc-silently") From 9855500af6b4516da998fb51ee3c20f3677fa466 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:18:42 +0200 Subject: [PATCH 129/194] gnu: Add ghc-tasty-golden. * gnu/packages/haskell.scm (ghc-tasty-golden): New variable. --- gnu/packages/haskell.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index edc0acd882..6da0c1d1e3 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2912,6 +2912,41 @@ occurrences of a substring (the first in case of overlaps) with another.") Haskell test framework.") (license expat))) +(define-public ghc-tasty-golden + (package + (name "ghc-tasty-golden") + (version "2.3.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/tasty-golden/tasty-golden-" + version + ".tar.gz")) + (sha256 + (base32 + "0n7nll1sx75n3lffwhgnjrxdn0jz1g0921z9mj193fxqw0wz8axh")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-temporary" ,ghc-temporary))) + (inputs + `(("ghc-tasty" ,ghc-tasty) + ("ghc-mtl" ,ghc-mtl) + ("ghc-optparse-applicative" ,ghc-optparse-applicative) + ("ghc-tagged" ,ghc-tagged) + ("ghc-async" ,ghc-async) + ("ghc-tasty-hunit" ,ghc-tasty-hunit) + ("ghc-temporary-rc" ,ghc-temporary-rc))) + (home-page + "https://github.com/feuerbach/tasty-golden") + (synopsis "Golden tests support for tasty") + (description + "This package provides support for 'golden testing'. A golden test is an +IO action that writes its result to a file. To pass the test, this output +file should be identical to the corresponding 'golden' file, which contains +the correct result for the test.") + (license expat))) + (define-public ghc-tasty (package (name "ghc-tasty") From b53fa04681cc9250837f104a34386d5521d7221b Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:19:41 +0200 Subject: [PATCH 130/194] gnu: Add ghc-smallcheck. * gnu/packages/haskell.scm (ghc-smallcheck): New variable. --- gnu/packages/haskell.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 6da0c1d1e3..566f11ec4a 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1351,6 +1351,33 @@ use them without linking against Cabal or depending on it being installed. This is a better maintained fork of the \"temporary\" package.") (license bsd-3))) +(define-public ghc-smallcheck + (package + (name "ghc-smallcheck") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/smallcheck/smallcheck-" + version + ".tar.gz")) + (sha256 + (base32 + "1ygrabxh40bym3grnzqyfqn96lirnxspb8cmwkkr213239y605sd")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-logict" ,ghc-logict))) + (inputs + `(("ghc-mtl" ,ghc-mtl))) + (home-page + "https://github.com/feuerbach/smallcheck") + (synopsis "Property-based testing library") + (description "SmallCheck is a testing library that allows to verify +properties for all test cases up to some depth. The test cases are generated +automatically by SmallCheck.") + (license bsd-3))) + (define-public ghc-silently (package (name "ghc-silently") From 275ff10bb392be3c03c6c47bab3709b75b8c1f49 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:20:27 +0200 Subject: [PATCH 131/194] gnu: Add ghc-tasty-smallcheck. * gnu/packages/haskell.scm (ghc-tasty-smallcheck): New variable. --- gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 566f11ec4a..b0d379d2aa 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1378,6 +1378,32 @@ properties for all test cases up to some depth. The test cases are generated automatically by SmallCheck.") (license bsd-3))) +(define-public ghc-tasty-smallcheck + (package + (name "ghc-tasty-smallcheck") + (version "0.8.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/tasty-smallcheck/tasty-smallcheck-" + version + ".tar.gz")) + (sha256 + (base32 + "0yckfbz8na8ccyw2911i3a4hd3fdncclk3ng5343hs5cylw6y4sm")))) + (build-system haskell-build-system) + (inputs + `(("ghc-tasty" ,ghc-tasty) + ("ghc-smallcheck" ,ghc-smallcheck) + ("ghc-async" ,ghc-async) + ("ghc-tagged" ,ghc-tagged))) + (home-page "http://documentup.com/feuerbach/tasty") + (synopsis "SmallCheck support for the Tasty test framework") + (description "This package provides SmallCheck support for the Tasty +Haskell test framework.") + (license bsd-3))) + (define-public ghc-silently (package (name "ghc-silently") From 4a2fbdfe62a9c3ca0115b965c7d7473afa7b639f Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:21:34 +0200 Subject: [PATCH 132/194] gnu: Add ghc-tasty-ant-xml. * gnu/packages/haskell.scm (ghc-tasty-ant-xml): New variable. --- gnu/packages/haskell.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index b0d379d2aa..8e3164439e 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1378,6 +1378,39 @@ properties for all test cases up to some depth. The test cases are generated automatically by SmallCheck.") (license bsd-3))) +(define-public ghc-tasty-ant-xml + (package + (name "ghc-tasty-ant-xml") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/tasty-ant-xml/tasty-ant-xml-" + version + ".tar.gz")) + (sha256 + (base32 + "0pgz2lclg2hp72ykljcbxd88pjanfdfk8m5vb2qzcyjr85kwrhxv")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-generic-deriving" ,ghc-generic-deriving) + ("ghc-xml" ,ghc-xml))) + (inputs + `(("ghc-mtl" ,ghc-mtl) + ("ghc-stm" ,ghc-stm) + ("ghc-tagged" ,ghc-tagged) + ("ghc-tasty" ,ghc-tasty))) + (home-page + "http://github.com/ocharles/tasty-ant-xml") + (synopsis + "Render tasty output to XML for Jenkins") + (description + "A tasty ingredient to output test results in XML, using the Ant +schema. This XML can be consumed by the Jenkins continuous integration +framework.") + (license bsd-3))) + (define-public ghc-tasty-smallcheck (package (name "ghc-tasty-smallcheck") From a43a38a129e7f9aee3079bc8a73d6234c04ba432 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 15:20:03 +0200 Subject: [PATCH 133/194] gnu: Add ghc-scientific. * gnu/packages/haskell.scm (ghc-scientific): New variable. --- gnu/packages/haskell.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 8e3164439e..759d223a42 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -3088,4 +3088,40 @@ and any other types of tests into a single test suite.") test framework.") (license expat))) +(define-public ghc-scientific + (package + (name "ghc-scientific") + (version "0.3.4.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/scientific/scientific-" + version + ".tar.gz")) + (sha256 + (base32 + "0mimdkva0cgzaychr6whv9if29z0r5wwhkss9bmd4rz8kq1kgngn")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-hashable" ,ghc-hashable) + ("ghc-vector" ,ghc-vector))) + (inputs + `(("ghc-text" ,ghc-text) + ("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml) + ("ghc-tasty-hunit" ,ghc-tasty-hunit) + ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck) + ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck) + ("ghc-smallcheck" ,ghc-smallcheck) + ("ghc-quickcheck" ,ghc-quickcheck))) + (home-page "https://github.com/basvandijk/scientific") + (synopsis "Numbers represented using scientific notation") + (description "This package provides @code{Data.Scientific}, which provides +the number type @code{Scientific}. Scientific numbers are arbitrary precision +and space efficient. They are represented using +@uref{http://en.wikipedia.org/wiki/Scientific_notation, scientific +notation}.") + (license bsd-3))) + ;;; haskell.scm ends here From bc74e0e171f2df977e18b5623aed935f1b371bb8 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:26:24 +0200 Subject: [PATCH 134/194] gnu: Add ghc-attoparsec. * gnu/packages/haskell.scm (ghc-attoparsec): New variable. --- gnu/packages/haskell.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 759d223a42..fa8b5cf752 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1134,6 +1134,34 @@ regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.") @code{libtre} (fork by Roman Cheplyaka).") (license bsd-3))) +(define-public ghc-attoparsec + (package + (name "ghc-attoparsec") + (version "0.13.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/attoparsec/attoparsec-" + version + ".tar.gz")) + (sha256 + (base32 + "0cprkr7bl4lrr80pz8mryb4rbfwdgpsrl7g0fbcaybhl8p5hm26f")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: ghc-test-framework unavailable + (propagated-inputs + `(("ghc-scientific" ,ghc-scientific))) + (inputs + `(("ghc-text" ,ghc-text) + ("ghc-vector" ,ghc-vector))) + (home-page "https://github.com/bos/attoparsec") + (synopsis "Fast combinator parsing for bytestrings and text") + (description "This library provides a fast parser combinator library, +aimed particularly at dealing efficiently with network protocols and +complicated text/binary file formats.") + (license bsd-3))) + (define-public ghc-appar (package (name "ghc-appar") From 39505126b17dd3a19c215d95f828d81ee45ec454 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:26:43 +0200 Subject: [PATCH 135/194] gnu: Add ghc-aeson. * gnu/packages/haskell.scm (ghc-aeson): New variable. --- gnu/packages/haskell.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index fa8b5cf752..33a603ccb1 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -3152,4 +3152,40 @@ and space efficient. They are represented using notation}.") (license bsd-3))) +(define-public ghc-aeson + (package + (name "ghc-aeson") + (version "0.10.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/aeson/aeson-" + version + ".tar.gz")) + (sha256 + (base32 + "19kp33rfivr4d3myyr8xn803wd7p8x5nc4wb3qvlgjwgyqjaxvrz")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing. + (propagated-inputs + `(("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-dlist" ,ghc-dlist) + ("ghc-mtl" ,ghc-mtl) + ("ghc-scientific" ,ghc-scientific) + ("ghc-syb" ,ghc-syb) + ("ghc-vector" ,ghc-vector))) + (inputs + `(("ghc-hashable" ,ghc-hashable) + ("ghc-text" ,ghc-text) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-hunit" ,ghc-hunit) + ("ghc-quickcheck" ,ghc-quickcheck))) + (home-page "https://github.com/bos/aeson") + (synopsis "Fast JSON parsing and encoding") + (description "This package provides a JSON parsing and encoding library +for Haskell, optimized for ease of use and high performance. (A note on +naming: in Greek mythology, Aeson was the father of Jason.)") + (license bsd-3))) + ;;; haskell.scm ends here From 7b72df8b7adb131321153d7d5e0d33cd5e6c3404 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:27:35 +0200 Subject: [PATCH 136/194] gnu: Add ghc-css-text. * gnu/packages/haskell.scm (ghc-css-text): New variable. --- gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 33a603ccb1..fe463010c7 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1162,6 +1162,32 @@ aimed particularly at dealing efficiently with network protocols and complicated text/binary file formats.") (license bsd-3))) +(define-public ghc-css-text + (package + (name "ghc-css-text") + (version "0.1.2.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/css-text/css-text-" + version + ".tar.gz")) + (sha256 + (base32 + "1xi1n2f0g8y43p95lynhcg50wxbq7hqfzbfzm7fy8mn7gvd920nw")))) + (build-system haskell-build-system) + (inputs + `(("ghc-text" ,ghc-text) + ("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-hspec" ,ghc-hspec) + ("ghc-quickcheck" ,ghc-quickcheck))) + (home-page "http://www.yesodweb.com/") + (synopsis "CSS parser and renderer") + (description "This package provides a CSS parser and renderer for +Haskell.") + (license bsd-3))) + (define-public ghc-appar (package (name "ghc-appar") From ca41c155c5ea510fc75c2924327446959b89a359 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:29:25 +0200 Subject: [PATCH 137/194] gnu: Add ghc-zip-archive. * gnu/packages/haskell.scm (ghc-zip-archive): New variable. --- gnu/packages/haskell.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index fe463010c7..c29f1bf1d9 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -31,6 +31,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages elf) #:use-module (gnu packages bootstrap) + #:use-module (gnu packages zip) #:use-module (gnu packages ghostscript) #:use-module (gnu packages libffi) #:use-module (gnu packages libedit) @@ -1188,6 +1189,36 @@ complicated text/binary file formats.") Haskell.") (license bsd-3))) +(define-public ghc-zip-archive + (package + (name "ghc-zip-archive") + (version "0.2.3.7") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/zip-archive/zip-archive-" + version + ".tar.gz")) + (sha256 + (base32 + "169nkxr5zlbymiz1ydlhlqr66vqiycmg85xh559phpkr64w3nqj1")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-old-time" ,ghc-old-time) + ("ghc-digest" ,ghc-digest))) + (inputs + `(("ghc-hunit" ,ghc-hunit) + ("ghc-mtl" ,ghc-mtl) + ("zip" ,zip) + ("ghc-text" ,ghc-text) + ("ghc-zlib" ,ghc-zlib))) + (home-page "https://hackage.haskell.org/package/zip-archive") + (synopsis "Zip archive library for Haskell") + (description "The zip-archive library provides functions for creating, +modifying, and extracting files from zip archives in Haskell.") + (license bsd-3))) + (define-public ghc-appar (package (name "ghc-appar") From 10e614523f7af4e3b9ee45da01dcb11f2c827c18 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:31:24 +0200 Subject: [PATCH 138/194] gnu: Add ghc-cereal. * gnu/packages/haskell.scm (ghc-cereal): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index c29f1bf1d9..d1edef698e 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1219,6 +1219,28 @@ Haskell.") modifying, and extracting files from zip archives in Haskell.") (license bsd-3))) +(define-public ghc-cereal + (package + (name "ghc-cereal") + (version "0.4.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/cereal/cereal-" + version + ".tar.gz")) + (sha256 + (base32 + "15rhfn9hrjm01ksh9xpz9syxsp9vkvpp6b736iqq38wv2wb7416z")))) + (build-system haskell-build-system) + (home-page "http://hackage.haskell.org/package/cereal") + (synopsis "Binary serialization library") + (description "This package provides a binary serialization library, +similar to @code{binary}, that introduces an @code{isolate} primitive for +parser isolation, and labeled blocks for better error messages.") + (license bsd-3))) + (define-public ghc-appar (package (name "ghc-appar") From fa4f5024bcc42514de005d92b138ed7f2d25e5a8 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:34:48 +0200 Subject: [PATCH 139/194] gnu: Add ghc-distributive. * gnu/packages/haskell.scm (ghc-distributive): New variable. --- gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index d1edef698e..939d2e79c3 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1219,6 +1219,32 @@ Haskell.") modifying, and extracting files from zip archives in Haskell.") (license bsd-3))) +(define-public ghc-distributive + (package + (name "ghc-distributive") + (version "0.4.4") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/distributive/distributive-" + version + ".tar.gz")) + (sha256 + (base32 + "0s2ln9jv7bh4ri2y31178pvjl8x6nik5d0klx7j2b77yjlsgblc2")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: fails with "cannot satisfy -package + ; tagged-0.8.1". Suspected Cabal issue. + (propagated-inputs + `(("ghc-tagged" ,ghc-tagged) + ("ghc-transformers-compat" ,ghc-transformers-compat))) + (home-page "http://github.com/ekmett/distributive/") + (synopsis "Distributive functors for Haskell") + (description "This package provides distributive functors for Haskell. +Dual to @code{Traversable}.") + (license bsd-3))) + (define-public ghc-cereal (package (name "ghc-cereal") From 40b56b52914bd53e714d401844f96d8b75881498 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:34:58 +0200 Subject: [PATCH 140/194] gnu: Add ghc-comonad. * gnu/packages/haskell.scm (ghc-comonad): New variable. --- gnu/packages/haskell.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 939d2e79c3..dc53fb989a 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1267,6 +1267,36 @@ similar to @code{binary}, that introduces an @code{isolate} primitive for parser isolation, and labeled blocks for better error messages.") (license bsd-3))) +(define-public ghc-comonad + (package + (name "ghc-comonad") + (version "4.2.7.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/comonad/comonad-" + version + ".tar.gz")) + (sha256 + (base32 + "0arvbaxgkawzdp38hh53akkahjg2aa3kj2b4ns0ni8a5ylg2cqmp")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-distributive" ,ghc-distributive) + ("ghc-transformers-compat" ,ghc-transformers-compat) + ("ghc-contravariant" ,ghc-contravariant))) + (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy + ; -package contravariant-1.3.3" + (inputs + `(("ghc-semigroups" ,ghc-semigroups) + ("ghc-tagged" ,ghc-tagged) + ("ghc-contravariant" ,ghc-contravariant))) + (home-page "http://github.com/ekmett/comonad/") + (synopsis "Comonads for Haskell") + (description "This library provides @code{Comonad}s for Haskell.") + (license bsd-3))) + (define-public ghc-appar (package (name "ghc-appar") From ce78a0f50c30f709c5d35dd44657542f9f08496d Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:36:26 +0200 Subject: [PATCH 141/194] gnu: Add HScolour. * gnu/packages/haskell.scm (hscolour): New variable. --- gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index dc53fb989a..8c70c7d301 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1297,6 +1297,30 @@ parser isolation, and labeled blocks for better error messages.") (description "This library provides @code{Comonad}s for Haskell.") (license bsd-3))) +(define-public hscolour + (package + (name "hscolour") + (version "1.23") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/hscolour/hscolour-" + version + ".tar.gz")) + (sha256 + (base32 + "1c4i2zpami8g3w9949nm3f92g7xwh5c94vkx658zz7ihrjp7w5lp")))) + (build-system haskell-build-system) + (home-page "https://hackage.haskell.org/package/hscolour") + (synopsis "Script to colourise Haskell code") + (description "HSColour is a small Haskell script to colourise Haskell +code. It currently has six output formats: ANSI terminal codes (optionally +XTerm-256colour codes), HTML 3.2 with font tags, HTML 4.01 with CSS, HTML 4.01 +with CSS and mouseover annotations, XHTML 1.0 with inline CSS styling, LaTeX, +and mIRC chat codes.") + (license bsd-3))) + (define-public ghc-appar (package (name "ghc-appar") From 47038762bac1b2f0144b49636d9eb0263aec8d12 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:37:28 +0200 Subject: [PATCH 142/194] gnu: Add ghc-polyparse. * gnu/packages/haskell.scm (ghc-polyparse): New variable. --- gnu/packages/haskell.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 8c70c7d301..dd525bca30 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1321,6 +1321,36 @@ with CSS and mouseover annotations, XHTML 1.0 with inline CSS styling, LaTeX, and mIRC chat codes.") (license bsd-3))) +(define-public ghc-polyparse + (package + (name "ghc-polyparse") + (version "1.11") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/polyparse/polyparse-" + version + ".tar.gz")) + (sha256 + (base32 + "1z417f80b0jm4dgv25fk408p3d9mmcd1dlbya3ry0zdx4md09vrh")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-text" ,ghc-text))) + (home-page + "http://code.haskell.org/~malcolm/polyparse/") + (synopsis + "Alternative parser combinator libraries") + (description + "This package provides a variety of alternative parser combinator +libraries, including the original HuttonMeijer set. The Poly sets have +features like good error reporting, arbitrary token type, running state, lazy +parsing, and so on. Finally, Text.Parse is a proposed replacement for the +standard Read class, for better deserialisation of Haskell values from +Strings.") + (license lgpl2.1))) + (define-public ghc-appar (package (name "ghc-appar") From fad564ec035a3e0b99c3e28704070fb751480852 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:39:20 +0200 Subject: [PATCH 143/194] gnu: Add ghc-extra. * gnu/packages/haskell.scm (ghc-extra): New variable. --- gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index dd525bca30..eeff0d8c74 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1351,6 +1351,30 @@ standard Read class, for better deserialisation of Haskell values from Strings.") (license lgpl2.1))) +(define-public ghc-extra + (package + (name "ghc-extra") + (version "1.4.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/extra/extra-" + version + ".tar.gz")) + (sha256 + (base32 + "1h9hxkrqrqscx420yz1lmivbrhi6jc3a5ap61vkxd2mhdgark9hf")))) + (build-system haskell-build-system) + (inputs `(("ghc-quickcheck" ,ghc-quickcheck))) + (home-page "https://github.com/ndmitchell/extra") + (synopsis "Extra Haskell functions") + (description "This library provides extra functions for the standard +Haskell libraries. Most functions are simple additions, filling out missing +functionality. A few functions are available in later versions of GHC, but +this package makes them available back to GHC 7.2.") + (license bsd-3))) + (define-public ghc-appar (package (name "ghc-appar") From f221841c69a168ec677b29f5c4cebda863c0fda8 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:40:26 +0200 Subject: [PATCH 144/194] gnu: Add ghc-profunctors. * gnu/packages/haskell.scm (ghc-profunctors): New variable. --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index eeff0d8c74..a499a6ad69 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1375,6 +1375,31 @@ functionality. A few functions are available in later versions of GHC, but this package makes them available back to GHC 7.2.") (license bsd-3))) +(define-public ghc-profunctors + (package + (name "ghc-profunctors") + (version "5.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/profunctors/profunctors-" + version + ".tar.gz")) + (sha256 + (base32 + "0lw2ipacpnp9yqmi8zsp01pzpn5hwj8af3y0f3079mddrmw48gw7")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-distributive" ,ghc-distributive))) + (inputs + `(("ghc-comonad" ,ghc-comonad) + ("ghc-tagged" ,ghc-tagged))) + (home-page "http://github.com/ekmett/profunctors/") + (synopsis "Profunctors for Haskell") + (description "This library provides profunctors for Haskell.") + (license bsd-3))) + (define-public ghc-appar (package (name "ghc-appar") From aee98223264974637987a7fca2c701c0954ffd79 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:43:24 +0200 Subject: [PATCH 145/194] gnu: Add ghc-semigroupoids. * gnu/packages/haskell.scm (ghc-semigroupoids): New variable. --- gnu/packages/haskell.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index a499a6ad69..12c5a93f60 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -3038,6 +3038,44 @@ are implemented as FFI bindings to efficient code from zlib.") (description "This package provides bifunctors for Haskell.") (license bsd-3))) +(define-public ghc-semigroupoids + (package + (name "ghc-semigroupoids") + (version "5.0.0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/semigroupoids/semigroupoids-" + version + ".tar.gz")) + (sha256 + (base32 + "1jf7jnfhdvl6p18wdr21yi2fim1xb8alcn6szhrdswj0dkilgq6d")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-base-orphans" ,ghc-base-orphans) + ("ghc-transformers-compat" ,ghc-transformers-compat) + ("ghc-bifunctors" ,ghc-bifunctors) + ("ghc-comonad" ,ghc-comonad) + ("ghc-contravariant" ,ghc-contravariant) + ("ghc-distributive" ,ghc-distributive))) + (arguments `(#:tests? #f)) ; FIXME: doctest packagedb propagation problem. + (inputs + `(("ghc-semigroups" ,ghc-semigroups) + ("ghc-tagged" ,ghc-tagged))) + (home-page "http://github.com/ekmett/semigroupoids") + (synopsis "Semigroupoids operations for Haskell") + (description "This library provides a wide array of (semi)groupoids and +operations for working with them. A @code{Semigroupoid} is a @code{Category} +without the requirement of identity arrows for every object in the category. +A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds. +Finally, to work with these weaker structures it is beneficial to have +containers that can provide stronger guarantees about their contents, so +versions of @code{Traversable} and @code{Foldable} that can be folded with +just a @code{Semigroup} are added.") + (license bsd-3))) + (define-public ghc-contravariant (package (name "ghc-contravariant") From d2639cbc1781fd39bc80d1dddad61fb85c871174 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:43:48 +0200 Subject: [PATCH 146/194] gnu: Add ghc-reducers. * gnu/packages/haskell.scm (ghc-reducers): New variable. --- gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 12c5a93f60..3a3522a749 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1400,6 +1400,35 @@ this package makes them available back to GHC 7.2.") (description "This library provides profunctors for Haskell.") (license bsd-3))) +(define-public ghc-reducers + (package + (name "ghc-reducers") + (version "3.12.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/reducers/reducers-" + version + ".tar.gz")) + (sha256 + (base32 + "0pkddg0s3cn759miq0nfrq7lnp3imk5sx784ihsilsbjh9kvffz4")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-semigroupoids" ,ghc-semigroupoids))) + (inputs + `(("ghc-fingertree" ,ghc-fingertree) + ("ghc-hashable" ,ghc-hashable) + ("ghc-text" ,ghc-text) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-semigroups" ,ghc-semigroups))) + (home-page "http://github.com/ekmett/reducers/") + (synopsis "Semigroups, specialized containers and a general map/reduce framework") + (description "This library provides various semigroups, specialized +containers and a general map/reduce framework for Haskell.") + (license bsd-3))) + (define-public ghc-appar (package (name "ghc-appar") From 865ac57307e2b2f13613059793824b2a31525547 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:45:12 +0200 Subject: [PATCH 147/194] gnu: Add ghc-reflection. * gnu/packages/haskell.scm (ghc-reflection): New variable. --- gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 3a3522a749..dae6e06ff2 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -364,6 +364,31 @@ package.") package.") (license bsd-3))) +(define-public ghc-reflection + (package + (name "ghc-reflection") + (version "2.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/reflection/reflection-" + version + ".tar.gz")) + (sha256 + (base32 + "10w3m6v3g6am203wbrikdbp57x9vw6b4jsh7bxdzsss4nmpm81zg")))) + (build-system haskell-build-system) + (inputs `(("ghc-tagged" ,ghc-tagged))) + (home-page "http://github.com/ekmett/reflection") + (synopsis "Reify arbitrary terms into types that can be reflected back +into terms") + (description "This package addresses the 'configuration problem' which is +propogating configurations that are available at run-time, allowing multiple +configurations to coexist without resorting to mutable global variables or +@code{System.IO.Unsafe.unsafePerformIO}.") + (license bsd-3))) + (define-public ghc-old-locale (package (name "ghc-old-locale") From 1e473fb8dc47c62a8daac39ac45638cae19b49ee Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:48:09 +0200 Subject: [PATCH 148/194] gnu: Add ghc-prelude-extras. * gnu/packages/haskell.scm (ghc-prelude-extras): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index dae6e06ff2..6619ec9042 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -244,6 +244,28 @@ interactive environment for the functional language Haskell.") (license bsd-3))) +(define-public ghc-prelude-extras + (package + (name "ghc-prelude-extras") + (version "0.4.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/prelude-extras/prelude-extras-" + version + ".tar.gz")) + (sha256 + (base32 + "1q7mj9hysy747vimnlyrwsk1wb2axymxixa76fwcbcnmz3fi4llp")))) + (build-system haskell-build-system) + (home-page "http://github.com/ekmett/prelude-extras") + (synopsis "Higher order versions of Prelude classes") + (description "This library provides higher order versions of +@code{Prelude} classes to ease programming with polymorphic recursion and +reduce @code{UndecidableInstances}.") + (license bsd-3))) + (define-public ghc-data-default (package (name "ghc-data-default") From dc2e8ab7ea84bfc980bf8bbbf22f9265afab9297 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:48:22 +0200 Subject: [PATCH 149/194] gnu: Add ghc-free. * gnu/packages/haskell.scm (ghc-free): New variable. --- gnu/packages/haskell.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 6619ec9042..599a50d3e3 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -3212,6 +3212,43 @@ where every element did not have to have an inverse, thus the name semigroup.") (license bsd-3))) +(define-public ghc-free + (package + (name "ghc-free") + (version "4.12.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/free/free-" + version + ".tar.gz")) + (sha256 + (base32 + "0sr8phvrb4ny8j1wzq55rdn8q4br23q4pw2j276npr844825jr9p")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-prelude-extras" ,ghc-prelude-extras) + ("ghc-profunctors" ,ghc-profunctors) + ("ghc-exceptions" ,ghc-exceptions))) + (inputs + `(("ghc-bifunctors" ,ghc-bifunctors) + ("ghc-comonad" ,ghc-comonad) + ("ghc-distributive" ,ghc-distributive) + ("ghc-mtl" ,ghc-mtl) + ("ghc-semigroupoids" ,ghc-semigroupoids) + ("ghc-semigroups" ,ghc-semigroups))) + (home-page "http://github.com/ekmett/free/") + (synopsis "Unrestricted monads for Haskell") + (description "This library provides free monads, which are useful for many +tree-like structures and domain specific languages. If @code{f} is a +@code{Functor} then the free @code{Monad} on @code{f} is the type of trees +whose nodes are labeled with the constructors of @code{f}. The word \"free\" +is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free +f} makes no constraining assumptions beyond those given by @code{f} and the +definition of @code{Monad}.") + (license bsd-3))) + (define-public ghc-fast-logger (package (name "ghc-fast-logger") From 52db0e13720f2281d3a7c9c6eb91990df73b4355 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:49:08 +0200 Subject: [PATCH 150/194] gnu: Add ghc-adjunctions. * gnu/packages/haskell.scm (ghc-adjunctions): New variable. --- gnu/packages/haskell.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 599a50d3e3..f6536982ac 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -3249,6 +3249,39 @@ f} makes no constraining assumptions beyond those given by @code{f} and the definition of @code{Monad}.") (license bsd-3))) +(define-public ghc-adjunctions + (package + (name "ghc-adjunctions") + (version "4.2.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/adjunctions/adjunctions-" + version + ".tar.gz")) + (sha256 + (base32 + "00p030iypjzjib8pxz1x6mxfi59wvyrwjj11zv9bh766dgkdbwjq")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-profunctors" ,ghc-profunctors))) + (inputs + `(("ghc-comonad" ,ghc-comonad) + ("ghc-contravariant" ,ghc-contravariant) + ("ghc-distributive" ,ghc-distributive) + ("ghc-free" ,ghc-free) + ("ghc-mtl" ,ghc-mtl) + ("ghc-tagged" ,ghc-tagged) + ("ghc-semigroupoids" ,ghc-semigroupoids) + ("ghc-semigroups" ,ghc-semigroups) + ("ghc-void" ,ghc-void))) + (home-page "http://github.com/ekmett/adjunctions/") + (synopsis "Adjunctions and representable functors") + (description "This library provides adjunctions and representable functors +for Haskell.") + (license bsd-3))) + (define-public ghc-fast-logger (package (name "ghc-fast-logger") From 6729152dc5178d2af07658d6cf145d3657a09b14 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:49:54 +0200 Subject: [PATCH 151/194] gnu: Add ghc-simple-reflect. * gnu/packages/haskell.scm (ghc-simple-reflect): New variable. --- gnu/packages/haskell.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index f6536982ac..e23a3ee903 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -386,6 +386,33 @@ package.") package.") (license bsd-3))) +(define-public ghc-simple-reflect + (package + (name "ghc-simple-reflect") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/simple-reflect/simple-reflect-" + version + ".tar.gz")) + (sha256 + (base32 + "1dpcf6w3cf1sfl9bnlsx04x7aghw029glj5d05qzrsnms2rlw8iq")))) + (build-system haskell-build-system) + (home-page + "http://twanvl.nl/blog/haskell/simple-reflection-of-expressions") + (synopsis + "Simple reflection of expressions containing variables") + (description + "This package allows simple reflection of expressions containing +variables. Reflection here means that a Haskell expression is turned into a +string. The primary aim of this package is teaching and understanding; there +are no options for manipulating the reflected expressions beyond showing +them.") + (license bsd-3))) + (define-public ghc-reflection (package (name "ghc-reflection") From 78249cc07543032b5749757c205fe36d420fd561 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 15:50:54 +0200 Subject: [PATCH 152/194] gnu: Add cpphs. * gnu/packages/haskell.scm (cpphs): New variable. --- gnu/packages/haskell.scm | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index e23a3ee903..703ef28f4c 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -20,7 +20,7 @@ (define-module (gnu packages haskell) #:use-module (ice-9 regex) - #:use-module ((guix licenses) #:select (bsd-3 lgpl2.1 expat)) + #:use-module ((guix licenses) #:select (bsd-3 lgpl2.1 lgpl2.1+ gpl3+ expat)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) @@ -413,6 +413,34 @@ are no options for manipulating the reflected expressions beyond showing them.") (license bsd-3))) +(define-public cpphs + (package + (name "cpphs") + (version "1.19.3") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/" name "/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "1njpmxgpah5pcqppcl1cxb5xicf6xlqrd162qm12khp9hainlm72")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-polyparse" ,ghc-polyparse) + ("ghc-old-locale" ,ghc-old-locale) + ("ghc-old-time" ,ghc-old-time))) + (home-page "http://projects.haskell.org/cpphs/") + (synopsis "Liberalised re-implementation of cpp, the C pre-processor") + (description "Cpphs is a re-implementation of the C pre-processor that is +both more compatible with Haskell, and itself written in Haskell so that it +can be distributed with compilers. This version of the C pre-processor is +pretty-much feature-complete and compatible with traditional (K&R) +pre-processors. Additional features include: a plain-text mode; an option to +unlit literate code files; and an option to turn off macro-expansion.") + (license (list lgpl2.1+ gpl3+)))) + (define-public ghc-reflection (package (name "ghc-reflection") From 0ba563643ebcae725a73ee1986e3c3002a389755 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 13:14:03 +0200 Subject: [PATCH 153/194] gnu: Add ghc-cmdargs. * gnu/packages/haskell.scm (ghc-cmdargs): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 703ef28f4c..300469f93b 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -413,6 +413,28 @@ are no options for manipulating the reflected expressions beyond showing them.") (license bsd-3))) +(define-public ghc-cmdargs + (package + (name "ghc-cmdargs") + (version "0.10.13") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/cmdargs/cmdargs-" + version + ".tar.gz")) + (sha256 + (base32 + "0vmz7f0ssrqlp6wzmc0mjqj4qczfgk58g0lr0yz7jamamlgpq4b6")))) + (build-system haskell-build-system) + (home-page + "http://community.haskell.org/~ndm/cmdargs/") + (synopsis "Command line argument processing") + (description + "This library provides an easy way to define command line parsers.") + (license bsd-3))) + (define-public cpphs (package (name "cpphs") From 81da1a45e80d9a71fb69d2e61ba5aab7dee4149d Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 13:14:55 +0200 Subject: [PATCH 154/194] gnu: Add ghc-happy. * gnu/packages/haskell.scm (ghc-happy): New variable. --- gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 300469f93b..930df4a785 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -435,6 +435,32 @@ them.") "This library provides an easy way to define command line parsers.") (license bsd-3))) +(define-public ghc-happy + (package + (name "ghc-happy") + (version "1.19.5") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/happy/happy-" + version + ".tar.gz")) + (sha256 + (base32 + "1nj353q4z1g186fpjzf0dnsg71qhxqpamx8jy89rjjvv3p0kmw32")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ;; cannot satisfy -package mtl. Possible Cabal + ;; issue. + (propagated-inputs + `(("ghc-mtl" ,ghc-mtl))) + (home-page "https://hackage.haskell.org/package/happy") + (synopsis "Parser generator for Haskell") + (description "Happy is a parser generator for Haskell. Given a grammar +specification in BNF, Happy generates Haskell code to parse the grammar. +Happy works in a similar way to the yacc tool for C.") + (license bsd-3))) + (define-public cpphs (package (name "cpphs") From 6ff19687b1b12822e86f85836c26aab9246ec713 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 13:16:22 +0200 Subject: [PATCH 155/194] gnu: Add ghc-haskell-src-exts. * gnu/packages/haskell.scm (ghc-haskell-src-exts): New variable. --- gnu/packages/haskell.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 930df4a785..03c283b014 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -461,6 +461,39 @@ specification in BNF, Happy generates Haskell code to parse the grammar. Happy works in a similar way to the yacc tool for C.") (license bsd-3))) +(define-public ghc-haskell-src-exts + (package + (name "ghc-haskell-src-exts") + (version "1.16.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-" + version + ".tar.gz")) + (sha256 + (base32 + "1h8gjw5g92rvvzadqzpscg73x7ajvs1wlphrh27afim3scdd8frz")))) + (build-system haskell-build-system) + (inputs + `(("cpphs" ,cpphs) + ("ghc-mtl" ,ghc-mtl) + ("ghc-smallcheck" ,ghc-smallcheck) + ("ghc-tasty" ,ghc-tasty) + ("ghc-happy" ,ghc-happy) + ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck) + ("ghc-tasty-golden" ,ghc-tasty-golden) + ("ghc-syb" ,ghc-syb))) + (home-page "https://github.com/haskell-suite/haskell-src-exts") + (synopsis "Library for manipulating Haskell source") + (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an +extension of the standard @code{haskell-src} package, and handles most +registered syntactic extensions to Haskell. All extensions implemented in GHC +are supported. Apart from these standard extensions, it also handles regular +patterns as per the HaRP extension as well as HSX-style embedded XML syntax.") + (license bsd-3))) + (define-public cpphs (package (name "cpphs") From 6397aef061e48e87f036fcee81cbe59349b04247 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 13:18:11 +0200 Subject: [PATCH 156/194] gnu: Add hlint. * gnu/packages/haskell.scm (hlint): New variable. --- gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 03c283b014..6d479d208b 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -494,6 +494,35 @@ are supported. Apart from these standard extensions, it also handles regular patterns as per the HaRP extension as well as HSX-style embedded XML syntax.") (license bsd-3))) +(define-public hlint + (package + (name "hlint") + (version "1.9.21") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/" name + "/" name "-" version ".tar.gz")) + (sha256 + (base32 + "14v3rdjjlml9nimdk7d5dvir2bw78ai49yylvms9lnzmw29s3546")))) + (build-system haskell-build-system) + (inputs + `(("cpphs" ,cpphs) + ("ghc-cmdargs" ,ghc-cmdargs) + ("ghc-haskell-src-exts" ,ghc-haskell-src-exts) + ("ghc-uniplate" ,ghc-uniplate) + ("ghc-ansi-terminal" ,ghc-ansi-terminal) + ("ghc-extra" ,ghc-extra) + ("hscolour" ,hscolour))) + (home-page "http://community.haskell.org/~ndm/hlint/") + (synopsis "Suggest improvements for Haskell source code") + (description "HLint reads Haskell programs and suggests changes that +hopefully make them easier to read. HLint also makes it easy to disable +unwanted suggestions, and to add your own custom suggestions.") + (license bsd-3))) + (define-public cpphs (package (name "cpphs") From 85b2a2f541013d841e05eb12c74285086bae172d Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 13:18:54 +0200 Subject: [PATCH 157/194] gnu: Add ghc-resourcet. * gnu/packages/haskell.scm (ghc-resourcet): New variable. --- gnu/packages/haskell.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 6d479d208b..3e6db05be1 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -523,6 +523,37 @@ hopefully make them easier to read. HLint also makes it easy to disable unwanted suggestions, and to add your own custom suggestions.") (license bsd-3))) +(define-public ghc-resourcet + (package + (name "ghc-resourcet") + (version "1.1.6") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/resourcet/resourcet-" + version + ".tar.gz")) + (sha256 + (base32 + "0zhsaaa4n8ry76vjih519a8npm2hrzk10d5asrgllcwpzmifl41y")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-transformers-base" ,ghc-transformers-base) + ("ghc-monad-control" ,ghc-monad-control) + ("ghc-transformers-compat" ,ghc-transformers-compat) + ("ghc-mtl" ,ghc-mtl) + ("ghc-mmorph" ,ghc-mmorph) + ("ghc-exceptions" ,ghc-exceptions))) + (inputs + `(("ghc-lifted-base" ,ghc-lifted-base) + ("ghc-hspec" ,ghc-hspec))) + (home-page "http://github.com/snoyberg/conduit") + (synopsis "Deterministic allocation and freeing of scarce resources") + (description "ResourceT is a monad transformer which creates a region of +code where you can safely allocate resources.") + (license bsd-3))) + (define-public cpphs (package (name "cpphs") From f550db48ebea7d0ce494641ebaf7d33ccd3f40ec Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 13:19:56 +0200 Subject: [PATCH 158/194] gnu: Add ghc-streaming-commons. * gnu/packages/haskell.scm (ghc-streaming-commons): New variable. --- gnu/packages/haskell.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 3e6db05be1..09ab4aa349 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -554,6 +554,39 @@ unwanted suggestions, and to add your own custom suggestions.") code where you can safely allocate resources.") (license bsd-3))) +(define-public ghc-streaming-commons + (package + (name "ghc-streaming-commons") + (version "0.1.14.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/streaming-commons/streaming-commons-" + version + ".tar.gz")) + (sha256 + (base32 + "12nw9bwvy6zrabkgvbp371klca3ds6qjlfncg1b8pbwx1y7m8c8h")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-random" ,ghc-random))) + (inputs + `(("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-async" ,ghc-async) + ("ghc-blaze-builder" ,ghc-blaze-builder) + ("ghc-hspec" ,ghc-hspec) + ("ghc-stm" ,ghc-stm) + ("ghc-text" ,ghc-text) + ("ghc-network" ,ghc-network) + ("ghc-zlib" ,ghc-zlib))) + (home-page "https://hackage.haskell.org/package/streaming-commons") + (synopsis "Conduit and pipes needed by some streaming data libraries") + (description "Provides low-dependency functionality commonly needed by +various Haskell streaming data libraries, such as @code{conduit} and +@code{pipe}s.") + (license bsd-3))) + (define-public cpphs (package (name "cpphs") From d6a08d24bfd4eb94d761b23d2f57810100f7abb3 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 16:41:58 +0200 Subject: [PATCH 159/194] gnu: Add ghc-xss-sanitize. * gnu/packages/haskell.scm (ghc-xss-sanitize): New variable. --- gnu/packages/haskell.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 09ab4aa349..19fc409943 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -554,6 +554,38 @@ unwanted suggestions, and to add your own custom suggestions.") code where you can safely allocate resources.") (license bsd-3))) +(define-public ghc-xss-sanitize + (package + (name "ghc-xss-sanitize") + (version "0.3.5.6") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/xss-sanitize/xss-sanitize-" + version + ".tar.gz")) + (sha256 + (base32 + "1j2qrn2dbfx01m7zyk9ilgnp9zjwq9mk62b0rdal4zkg4vh212h0")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-tagsoup" ,ghc-tagsoup) + ("ghc-utf8-string" ,ghc-utf8-string) + ("ghc-css-text" ,ghc-css-text) + ("ghc-network-uri" ,ghc-network-uri))) + (inputs + `(("ghc-text" ,ghc-text) + ("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-hspec" ,ghc-hspec) + ("ghc-hunit" ,ghc-hunit))) + (home-page "http://github.com/yesodweb/haskell-xss-sanitize") + (synopsis "Sanitize untrusted HTML to prevent XSS attacks") + (description "This library provides @code{sanitizeXSS}. Run untrusted +HTML through @code{Text.HTML.SanitizeXSS.sanitizeXSS} to prevent XSS +attacks.") + (license bsd-3))) + (define-public ghc-streaming-commons (package (name "ghc-streaming-commons") From e372520ec3a6b6a091d12a82291d505c1bb9b5bd Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 16:43:40 +0200 Subject: [PATCH 160/194] gnu: Add ghc-parsers. * gnu/packages/haskell.scm (ghc-parsers): New variable. --- gnu/packages/haskell.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 19fc409943..1aa39ea62d 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1443,6 +1443,41 @@ regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.") @code{libtre} (fork by Roman Cheplyaka).") (license bsd-3))) +(define-public ghc-parsers + (package + (name "ghc-parsers") + (version "0.12.3") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/parsers/parsers-" + version + ".tar.gz")) + (sha256 + (base32 + "18wzmp8y3py4qa8hdsxqm0jfzmwy744dw7xa48r5s8ynhpimi462")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy + ; -package attoparsec-0.13.0.1" + (propagated-inputs + `(("ghc-base-orphans" ,ghc-base-orphans) + ("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-parsec" ,ghc-parsec) + ("ghc-scientific" ,ghc-scientific) + ("ghc-charset" ,ghc-charset))) + (inputs + `(("ghc-text" ,ghc-text) + ("ghc-unordered-containers" ,ghc-unordered-containers))) + (home-page "http://github.com/ekmett/parsers/") + (synopsis "Parsing combinators") + (description "This library provides convenient combinators for working +with and building parsing combinator libraries. Given a few simple instances, +you get access to a large number of canned definitions. Instances exist for +the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s +@code{Text.Read}.") + (license bsd-3))) + (define-public ghc-attoparsec (package (name "ghc-attoparsec") From 5722409b182f1a0bae44e1b05a65306ba4480a09 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 22 Oct 2015 15:20:46 +0200 Subject: [PATCH 161/194] gnu: Add ghc-cookie. * gnu/packages/haskell.scm (ghc-cookie): New variable. --- gnu/packages/haskell.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 1aa39ea62d..a89e6f426b 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -3834,6 +3834,37 @@ and any other types of tests into a single test suite.") test framework.") (license expat))) +(define-public ghc-cookie + (package + (name "ghc-cookie") + (version "0.4.1.6") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/cookie/cookie-" + version + ".tar.gz")) + (sha256 + (base32 + "0b6ym6fn29p5az4dwydy036lxj131kagrmgb93w4bbkqfkds8b9s")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-old-locale" ,ghc-old-locale))) + (inputs + `(("ghc-blaze-builder" ,ghc-blaze-builder) + ("ghc-text" ,ghc-text) + ("ghc-data-default-class" ,ghc-data-default-class) + ("ghc-hunit" ,ghc-hunit) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-hunit" ,ghc-tasty-hunit) + ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck))) + (home-page "http://github.com/snoyberg/cookie") + (synopsis "HTTP cookie parsing and rendering") + (description "HTTP cookie parsing and rendering library for Haskell.") + (license bsd-3))) + (define-public ghc-scientific (package (name "ghc-scientific") From 3784289667f767d7232b10d8236cd84325d7d336 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 16:46:43 +0200 Subject: [PATCH 162/194] gnu: Add ghc-wai. * gnu/packages/haskell.scm (ghc-wai): New variable. --- gnu/packages/haskell.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index a89e6f426b..2e48d57015 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -3937,4 +3937,38 @@ for Haskell, optimized for ease of use and high performance. (A note on naming: in Greek mythology, Aeson was the father of Jason.)") (license bsd-3))) +(define-public ghc-wai + (package + (name "ghc-wai") + (version "3.0.4.0") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/wai/wai-" + version + ".tar.gz")) + (sha256 + (base32 + "1551n0g0n22vml33v0jz5xgjcy6j79algvsdqg11a1z5ljjrjlqf")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-bytestring-builder" ,ghc-bytestring-builder) + ("ghc-unix-compat" ,ghc-unix-compat) + ("ghc-vault" ,ghc-vault) + ("ghc-blaze-builder" ,ghc-blaze-builder) + ("ghc-network" ,ghc-network))) + (inputs + `(("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-hunit" ,ghc-hunit) + ("ghc-hspec" ,ghc-hspec) + ("ghc-text" ,ghc-text) + ("ghc-http-types" ,ghc-http-types))) + (home-page "https://hackage.haskell.org/package/wai") + (synopsis "Web application interface for Haskell") + (description "This package provides a Web Application Interface (WAI) +library for the Haskell language. It defines a common protocol for +communication between web applications and web servers.") + (license bsd-3))) + ;;; haskell.scm ends here From fc3aa91b55fa79debb07591f3888e2e75ea5ff56 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 16:51:17 +0200 Subject: [PATCH 163/194] gnu: Add ghc-wai-logger. * gnu/packages/haskell.scm (ghc-wai-logger): New variable. --- gnu/packages/haskell.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 2e48d57015..f9f7449609 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -3971,4 +3971,38 @@ library for the Haskell language. It defines a common protocol for communication between web applications and web servers.") (license bsd-3))) +(define-public ghc-wai-logger + (package + (name "ghc-wai-logger") + (version "2.2.4.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/wai-logger/wai-logger-" + version + ".tar.gz")) + (sha256 + (base32 + "1s6svvy3ci4j1dj1jaw8hg628miwj8f5gpy9n8d8hpsaxav6nzgk")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: Tests cannot find libraries exported + ; by propagated-inputs. + (propagated-inputs + `(("ghc-auto-update" ,ghc-auto-update) + ("ghc-byteorder" ,ghc-byteorder) + ("ghc-easy-file" ,ghc-easy-file) + ("ghc-unix-time" ,ghc-unix-time))) + (inputs + `(("ghc-blaze-builder" ,ghc-blaze-builder) + ("ghc-case-insensitive" ,ghc-case-insensitive) + ("ghc-fast-logger" ,ghc-fast-logger) + ("ghc-http-types" ,ghc-http-types) + ("ghc-network" ,ghc-network) + ("ghc-wai" ,ghc-wai))) + (home-page "http://hackage.haskell.org/package/wai-logger") + (synopsis "Logging system for WAI") + (description "This package provides the logging system for WAI.") + (license bsd-3))) + ;;; haskell.scm ends here From 7588e55c737ff0091a170a158374a9c7819eccea Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 16:48:50 +0200 Subject: [PATCH 164/194] gnu: Add ghc-wai-extra. * gnu/packages/haskell.scm (ghc-wai-extra): New variable. --- gnu/packages/haskell.scm | 48 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index f9f7449609..9e95db0734 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -4005,4 +4005,52 @@ communication between web applications and web servers.") (description "This package provides the logging system for WAI.") (license bsd-3))) +(define-public ghc-wai-extra + (package + (name "ghc-wai-extra") + (version "3.0.11.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/wai-extra/wai-extra-" + version + ".tar.gz")) + (sha256 + (base32 + "1kr2s5qyx1dvnwr372h7pca4sgxjv0pdx96xkgsfi180h3mb0vq8")))) + (build-system haskell-build-system) + (propagated-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) + ("ghc-stringsearch" ,ghc-stringsearch) + ("ghc-resourcet" ,ghc-resourcet) + ("ghc-fast-logger" ,ghc-fast-logger) + ("ghc-wai-logger" ,ghc-wai-logger) + ("ghc-zlib" ,ghc-zlib) + ("ghc-word8" ,ghc-word8) + ("ghc-iproute" ,ghc-iproute) + ("ghc-void" ,ghc-void))) + (inputs + `(("ghc-wai" ,ghc-wai) + ("ghc-http-types" ,ghc-http-types) + ("ghc-text" ,ghc-text) + ("ghc-case-insensitive" ,ghc-case-insensitive) + ("ghc-data-default-class" ,ghc-data-default-class) + ("ghc-unix-compat" ,ghc-unix-compat) + ("ghc-vault" ,ghc-vault) + ("ghc-aeson" ,ghc-aeson) + ("ghc-hspec" ,ghc-hspec) + ("ghc-hunit" ,ghc-hunit))) + (home-page "http://github.com/yesodweb/wai") + (synopsis "Some basic WAI handlers and middleware") + (description "This library provides basic WAI handlers and middleware +functionality.") + (license expat))) + ;;; haskell.scm ends here From 576cdc5ab4c6f08048db2f3a7a4aeae663594a17 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 17:04:39 +0200 Subject: [PATCH 165/194] gnu: Add ghc-vector-binary-instances. * gnu/packages/haskell.scm (ghc-vector-binary-instances): New variable. --- gnu/packages/haskell.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 9e95db0734..97c61be9d4 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2519,6 +2519,34 @@ Int-indexed arrays (both mutable and immutable), with a powerful loop optimisation framework.") (license bsd-3))) +(define-public ghc-vector-binary-instances + (package + (name "ghc-vector-binary-instances") + (version "0.2.1.0") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/" + "vector-binary-instances/vector-binary-instances-" + version ".tar.gz")) + (sha256 + (base32 + "028rsf2w193rhs1gic5yvvrwidw9sblczcn10aw64npfc6502l4l")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-cereal" ,ghc-cereal))) + (inputs + `(("ghc-vector" ,ghc-vector))) + (home-page "https://github.com/bos/vector-binary-instances") + (synopsis "Instances of Data.Binary and Data.Serialize for vector") + (description "This library provides instances of @code{Binary} for the +types defined in the @code{vector} package, making it easy to serialize +vectors to and from disk. We use the generic interface to vectors, so all +vector types are supported. Specific instances are provided for unboxed, +boxed and storable vectors.") + (license bsd-3))) + (define-public ghc-network (package (name "ghc-network") From 5125f63fea0dccf4e620a81e73636ad8e2a30067 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 17:06:03 +0200 Subject: [PATCH 166/194] gnu: Add ghc-kan-extensions. * gnu/packages/haskell.scm (ghc-kan-extensions): New variable. --- gnu/packages/haskell.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 97c61be9d4..a35ba5c44b 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -3336,6 +3336,37 @@ Compatibility package for older packages.") given term should not exist.") (license bsd-3))) +(define-public ghc-kan-extensions + (package + (name "ghc-kan-extensions") + (version "4.2.3") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/kan-extensions/kan-extensions-" + version + ".tar.gz")) + (sha256 + (base32 + "0iywbadpy8s3isfzlx9dlz3apaywhqq4gdbxkwygksq8pzdhwkrk")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-adjunctions" ,ghc-adjunctions))) + (inputs + `(("ghc-comonad" ,ghc-comonad) + ("ghc-contravariant" ,ghc-contravariant) + ("ghc-distributive" ,ghc-distributive) + ("ghc-free" ,ghc-free) + ("ghc-mtl" ,ghc-mtl) + ("ghc-semigroupoids" ,ghc-semigroupoids) + ("ghc-tagged" ,ghc-tagged))) + (home-page "http://github.com/ekmett/kan-extensions/") + (synopsis "Kan extensions library") + (description "This library provides Kan extensions, Kan lifts, various +forms of the Yoneda lemma, and (co)density (co)monads for Haskell.") + (license bsd-3))) + (define-public ghc-statevar (package (name "ghc-statevar") From e1a35c39b1618814e5213fd122a60170cabc59ec Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 17:08:09 +0200 Subject: [PATCH 167/194] gnu: Add ghc-lens. * gnu/packages/haskell.scm (ghc-lens): Add variable. --- gnu/packages/haskell.scm | 51 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index a35ba5c44b..808e5cc765 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -3390,6 +3390,57 @@ forms of the Yoneda lemma, and (co)density (co)monads for Haskell.") in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.") (license bsd-3))) +(define-public ghc-lens + (package + (name "ghc-lens") + (version "4.13") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/lens/lens-" + version + ".tar.gz")) + (sha256 + (base32 + "0g4g0xksrb2m8wgsmraaq8qnk1sssb42kr65fc7clgyid6zyfmim")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: doctest packagedb propagation problem. + (propagated-inputs + `(("ghc-base-orphans" ,ghc-base-orphans) + ("ghc-bifunctors" ,ghc-bifunctors) + ("ghc-distributive" ,ghc-distributive) + ("ghc-exceptions" ,ghc-exceptions) + ("ghc-free" ,ghc-free) + ("ghc-kan-extensions" ,ghc-kan-extensions) + ("ghc-parallel" ,ghc-parallel) + ("ghc-reflection" ,ghc-reflection) + ("ghc-semigroupoids" ,ghc-semigroupoids) + ("ghc-vector" ,ghc-vector))) + (inputs + `(("ghc-comonad" ,ghc-comonad) + ("ghc-contravariant" ,ghc-contravariant) + ("ghc-hashable" ,ghc-hashable) + ("ghc-mtl" ,ghc-mtl) + ("ghc-profunctors" ,ghc-profunctors) + ("ghc-semigroups" ,ghc-semigroups) + ("ghc-tagged" ,ghc-tagged) + ("ghc-text" ,ghc-text) + ("ghc-transformers-compat" ,ghc-transformers-compat) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-void" ,ghc-void) + ("ghc-generic-deriving" ,ghc-generic-deriving) + ("ghc-nats" ,ghc-nats) + ("ghc-simple-reflect" ,ghc-simple-reflect) + ("hlint" ,hlint))) + (home-page "http://github.com/ekmett/lens/") + (synopsis "Lenses, Folds and Traversals") + (description "This library provides @code{Control.Lens}. The combinators +in @code{Control.Lens} provide a highly generic toolbox for composing families +of getters, folds, isomorphisms, traversals, setters and lenses and their +indexed variants.") + (license bsd-3))) + (define-public ghc-tagsoup (package (name "ghc-tagsoup") From d7e67cf1a1a057498a57859d6c64adf6b537a9a1 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 17:10:00 +0200 Subject: [PATCH 168/194] gnu: Add ghc-cheapskate. * gnu/packages/haskell.scm (ghc-cheapskate): Add variable. --- gnu/packages/haskell.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 808e5cc765..f65d412b95 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -3497,6 +3497,43 @@ strict and lazy bytestrings. For now, CRC32 and Adler32 are supported; they are implemented as FFI bindings to efficient code from zlib.") (license bsd-3))) +(define-public ghc-cheapskate + (package + (name "ghc-cheapskate") + (version "0.1.0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/cheapskate/cheapskate-" + version + ".tar.gz")) + (sha256 + (base32 + "0drx1hlqvdcrij4097q6bxhbfcqm73jsqv1wwhd3hsnjdmr46ch2")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-xss-sanitize" ,ghc-xss-sanitize) + ("ghc-data-default" ,ghc-data-default))) + (inputs + `(("ghc-mtl" ,ghc-mtl) + ("ghc-text" ,ghc-text) + ("ghc-blaze-html" ,ghc-blaze-html) + ("ghc-syb" ,ghc-syb) + ("ghc-uniplate" ,ghc-uniplate) + ("ghc-aeson" ,ghc-aeson) + ("ghc-wai-extra" ,ghc-wai-extra) + ("ghc-wai" ,ghc-wai) + ("ghc-http-types" ,ghc-http-types))) + (home-page "http://github.com/jgm/cheapskate") + (synopsis "Experimental markdown processor") + (description "Cheapskate is an experimental Markdown processor in pure +Haskell. It aims to process Markdown efficiently and in the most forgiving +possible way. It is designed to deal with any input, including garbage, with +linear performance. Output is sanitized by default for protection against XSS +attacks.") + (license bsd-3))) + (define-public ghc-bifunctors (package (name "ghc-bifunctors") From 93248cfdd016c36e6acb3575af9da038c4a25cc6 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 17:11:24 +0200 Subject: [PATCH 169/194] gnu: Add ghc-trifecta. * gnu/packages/haskell.scm (ghc-trifecta): New variable. --- gnu/packages/haskell.scm | 42 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index f65d412b95..80812a033c 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1478,6 +1478,48 @@ the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s @code{Text.Read}.") (license bsd-3))) +(define-public ghc-trifecta + (package + (name "ghc-trifecta") + (version "1.5.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/trifecta/trifecta-" + version + ".tar.gz")) + (sha256 + (base32 + "0fjhnsbafl3yw34pyhcsvrqy6a2mnhyqys6gna3rrlygs8ck7hpb")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy + ; -package ansi-terminal-0.6.2.3" + (propagated-inputs + `(("ghc-charset" ,ghc-charset) + ("ghc-comonad" ,ghc-comonad) + ("ghc-lens" ,ghc-lens) + ("ghc-profunctors" ,ghc-profunctors) + ("ghc-reducers" ,ghc-reducers) + ("ghc-semigroups" ,ghc-semigroups))) + (inputs + `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint) + ("ghc-ansi-terminal" ,ghc-ansi-terminal) + ("ghc-blaze-builder" ,ghc-blaze-builder) + ("ghc-blaze-html" ,ghc-blaze-html) + ("ghc-blaze-markup" ,ghc-blaze-markup) + ("ghc-fingertree" ,ghc-fingertree) + ("ghc-hashable" ,ghc-hashable) + ("ghc-mtl" ,ghc-mtl) + ("ghc-parsers" ,ghc-parsers) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-utf8-string" ,ghc-utf8-string))) + (home-page "http://github.com/ekmett/trifecta/") + (synopsis "Parser combinator library with convenient diagnostics") + (description "Trifecta is a modern parser combinator library for Haskell, +with slicing and Clang-style colored diagnostics.") + (license bsd-3))) + (define-public ghc-attoparsec (package (name "ghc-attoparsec") From 600621a182efca965cea18bf869b463f7b40cb29 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Thu, 15 Oct 2015 17:14:44 +0200 Subject: [PATCH 170/194] gnu: Add Idris. * gnu/packages/haskell.scm (idris): New variable. --- gnu/packages/haskell.scm | 62 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 80812a033c..d8f8bede85 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -32,6 +32,7 @@ #:use-module (gnu packages elf) #:use-module (gnu packages bootstrap) #:use-module (gnu packages zip) + #:use-module (gnu packages gcc) #:use-module (gnu packages ghostscript) #:use-module (gnu packages libffi) #:use-module (gnu packages libedit) @@ -4242,4 +4243,65 @@ communication between web applications and web servers.") functionality.") (license expat))) +(define-public idris + (package + (name "idris") + (version "0.9.19.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/idris-" + version "/idris-" version ".tar.gz")) + (sha256 + (base32 + "10641svdsjlxbxmbvylpia04cz5nn9486lpiay8ibqcrc1792qgc")) + (modules '((guix build utils))) + (snippet + '(substitute* "idris.cabal" + ;; Package description file has a too-tight version restriction, + ;; rendering it incompatible with GHC 7.10.2. This is fixed + ;; upstream. See + ;; . + (("vector < 0.11") "vector < 0.12"))))) + (build-system haskell-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (add-before 'configure 'patch-cc-command + (lambda _ + (setenv "CC" "gcc")))))) + (inputs + `(("gmp" ,gmp) + ("ncurses" ,ncurses) + ("ghc-annotated-wl-pprint" ,ghc-annotated-wl-pprint) + ("ghc-ansi-terminal" ,ghc-ansi-terminal) + ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint) + ("ghc-base64-bytestring" ,ghc-base64-bytestring) + ("ghc-blaze-html" ,ghc-blaze-html) + ("ghc-blaze-markup" ,ghc-blaze-markup) + ("ghc-cheapskate" ,ghc-cheapskate) + ("ghc-fingertree" ,ghc-fingertree) + ("ghc-mtl" ,ghc-mtl) + ("ghc-network" ,ghc-network) + ("ghc-optparse-applicative" ,ghc-optparse-applicative) + ("ghc-parsers" ,ghc-parsers) + ("ghc-safe" ,ghc-safe) + ("ghc-split" ,ghc-split) + ("ghc-text" ,ghc-text) + ("ghc-trifecta" ,ghc-trifecta) + ("ghc-uniplate" ,ghc-uniplate) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-utf8-string" ,ghc-utf8-string) + ("ghc-vector-binary-instances" ,ghc-vector-binary-instances) + ("ghc-vector" ,ghc-vector) + ("ghc-zip-archive" ,ghc-zip-archive) + ("ghc-zlib" ,ghc-zlib))) + (home-page "http://www.idris-lang.org") + (synopsis "General purpose language with full dependent types") + (description "Idris is a general purpose language with full dependent +types. It is compiled, with eager evaluation. Dependent types allow types to +be predicated on values, meaning that some aspects of a program's behaviour +can be specified precisely in the type. The language is closely related to +Epigram and Agda.") + (license bsd-3))) + ;;; haskell.scm ends here From 56b3bc5694837c8558c007d4112ac16bf0fdd395 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 10:59:00 +0200 Subject: [PATCH 171/194] gnu: Add ghc-haddock-library. * gnu/packages/haskell.scm (ghc-haddock-library): New variable. --- gnu/packages/haskell.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index d8f8bede85..f47f3ac398 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -387,6 +387,36 @@ package.") package.") (license bsd-3))) +(define-public ghc-haddock-library + (package + (name "ghc-haddock-library") + (version "1.2.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/haddock-library/haddock-library-" + version + ".tar.gz")) + (sha256 + (base32 + "0mhh2ppfhrvvi9485ipwbkv2fbgj35jvz3la02y3jlvg5ffs1c8g")))) + (build-system haskell-build-system) + (inputs + `(("ghc-base-compat" ,ghc-base-compat) + ("ghc-hspec" ,ghc-hspec) + ("ghc-quickcheck" ,ghc-quickcheck))) + (home-page "http://www.haskell.org/haddock/") + (synopsis + "Library exposing some functionality of Haddock") + (description + "Haddock is a documentation-generation tool for Haskell libraries. These +modules expose some functionality of it without pulling in the GHC dependency. +Please note that the API is likely to change so specify upper bounds in your +project if you can't release often. For interacting with Haddock itself, see +the ‘haddock’ package.") + (license bsd-3))) + (define-public ghc-simple-reflect (package (name "ghc-simple-reflect") From 735bd9c952efac2ae4f9f48fe259251e1909de77 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 10:59:23 +0200 Subject: [PATCH 172/194] gnu: Add ghc-haddock-api. * gnu/packages/haskell.scm (ghc-haddock-api): New variable. --- gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index f47f3ac398..88a551ce36 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -417,6 +417,30 @@ project if you can't release often. For interacting with Haddock itself, see the ‘haddock’ package.") (license bsd-3))) +(define-public ghc-haddock-api + (package + (name "ghc-haddock-api") + (version "2.16.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/haddock-api/haddock-api-" + version + ".tar.gz")) + (sha256 + (base32 + "1spd5axg1pdjv4dkdb5gcwjsc8gg37qi4mr2k2db6ayywdkis1p2")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-paths" ,ghc-paths) + ("ghc-haddock-library" ,ghc-haddock-library))) + (home-page "http://www.haskell.org/haddock/") + (synopsis "API for documentation-generation tool Haddock") + (description "This package provides an API to Haddock, the +documentation-generation tool for Haskell libraries.") + (license bsd-3))) + (define-public ghc-simple-reflect (package (name "ghc-simple-reflect") From e0492a8dd49a6b4353ddc39fcbf0807ed2090cf4 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 10:59:36 +0200 Subject: [PATCH 173/194] gnu: Add ghc-haddock. * gnu/packages/haskell.scm (ghc-haddock): New variable. --- gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 88a551ce36..58c68d0dc6 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -441,6 +441,32 @@ the ‘haddock’ package.") documentation-generation tool for Haskell libraries.") (license bsd-3))) +(define-public ghc-haddock + (package + (name "ghc-haddock") + (version "2.16.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/haddock/haddock-" + version + ".tar.gz")) + (sha256 + (base32 + "1mnnvc5jqp6n6rj7xw8wdm0z2xp9fndkz11c8p3vbljsrcqd3v26")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: Tests break with GHC 7.10.2, fixed + ; upstream. See + ; + (inputs `(("ghc-haddock-api" ,ghc-haddock-api))) + (home-page "http://www.haskell.org/haddock/") + (synopsis + "Documentation-generation tool for Haskell libraries") + (description + "Haddock is a documentation-generation tool for Haskell libraries.") + (license bsd-3))) + (define-public ghc-simple-reflect (package (name "ghc-simple-reflect") From e40b25432ee3eb04f14a107c17b8a47570edb725 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 11:06:14 +0200 Subject: [PATCH 174/194] gnu: Add ghc-alex. * gnu/packages/haskell.scm (ghc-alex): New variable. --- gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 58c68d0dc6..4ea896aa71 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -494,6 +494,35 @@ are no options for manipulating the reflected expressions beyond showing them.") (license bsd-3))) +(define-public ghc-alex + (package + (name "ghc-alex") + (version "3.1.4") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/alex/alex-" + version + ".tar.gz")) + (sha256 + (base32 + "17x13nbbr79xgdlzywjqw19vcl6iygjnssjnxnajgijkv764wknn")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: Tests broken for GHC 7.10. Fixed + ; upstream, see + ; + (inputs `(("ghc-quickcheck" ,ghc-quickcheck))) + (home-page "http://www.haskell.org/alex/") + (synopsis + "Tool for generating lexical analysers in Haskell") + (description + "Alex is a tool for generating lexical analysers in Haskell. It takes a +description of tokens based on regular expressions and generates a Haskell +module containing code for scanning text efficiently. It is similar to the +tool lex or flex for C/C++.") + (license bsd-3))) + (define-public ghc-cmdargs (package (name "ghc-cmdargs") From 5e217e4df7441d8a21acc96b6265acce05666f51 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 11:09:28 +0200 Subject: [PATCH 175/194] gnu: Add ghc-multipart. * gnu/packages/haskell.scm (ghc-multipart): New variable. --- gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 4ea896aa71..54271d864f 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -494,6 +494,30 @@ are no options for manipulating the reflected expressions beyond showing them.") (license bsd-3))) +(define-public ghc-multipart + (package + (name "ghc-multipart") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/multipart/multipart-" + version + ".tar.gz")) + (sha256 + (base32 + "0g04jhyw1ib1s7c9bcldyyn4n90qd9x7dmvic4vgq57bgcqgnhz5")))) + (build-system haskell-build-system) + (inputs `(("ghc-parsec" ,ghc-parsec))) + (home-page + "http://www.github.com/silkapp/multipart") + (synopsis + "HTTP multipart library") + (description + "HTTP multipart split out of the cgi package, for Haskell.") + (license bsd-3))) + (define-public ghc-alex (package (name "ghc-alex") From 1f477b59c1b8167d2bd347ef81f02e728bbbf869 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 11:09:43 +0200 Subject: [PATCH 176/194] gnu: Add ghc-cgi. * gnu/packages/haskell.scm (ghc-cgi): New variable. --- gnu/packages/haskell.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 54271d864f..175d026e43 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -547,6 +547,37 @@ module containing code for scanning text efficiently. It is similar to the tool lex or flex for C/C++.") (license bsd-3))) +(define-public ghc-cgi + (package + (name "ghc-cgi") + (version "3001.2.2.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/cgi/cgi-" + version + ".tar.gz")) + (sha256 + (base32 + "0q1pxpa8gi42c0hsidcdkhk5xr5anfrvhqsn3iksr9c0rllhz193")))) + (build-system haskell-build-system) + (inputs + `(("ghc-parsec" ,ghc-parsec) + ("ghc-old-locale" ,ghc-old-locale) + ("ghc-old-time" ,ghc-old-time) + ("ghc-exceptions" ,ghc-exceptions) + ("ghc-multipart" ,ghc-multipart) + ("ghc-network-uri" ,ghc-network-uri) + ("ghc-network" ,ghc-network) + ("ghc-mtl" ,ghc-mtl))) + (home-page + "https://github.com/cheecheeo/haskell-cgi") + (synopsis "Library for writing CGI programs") + (description + "This is a Haskell library for writing CGI programs.") + (license bsd-3))) + (define-public ghc-cmdargs (package (name "ghc-cmdargs") From 0bc641baf86b651a059fc53358d220a08dc7123c Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 11:10:46 +0200 Subject: [PATCH 177/194] gnu: Add ghc-html. * gnu/packages/haskell.scm (ghc-html): New variable. --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 175d026e43..1928793536 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -518,6 +518,29 @@ them.") "HTTP multipart split out of the cgi package, for Haskell.") (license bsd-3))) +(define-public ghc-html + (package + (name "ghc-html") + (version "1.0.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/html/html-" + version + ".tar.gz")) + (sha256 + (base32 + "0q9hmfii62kc82ijlg238fxrzxhsivn42x5wd6ffcr9xldg4jd8c")))) + (build-system haskell-build-system) + (home-page + "http://hackage.haskell.org/package/html") + (synopsis "HTML combinator library") + (description + "This package contains a combinator library for constructing HTML +documents.") + (license bsd-3))) + (define-public ghc-alex (package (name "ghc-alex") From e0d17b848226ef9401b1d588896942a96b1fdbd4 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 11:13:03 +0200 Subject: [PATCH 178/194] gnu: Add ghc-haskell-src. * gnu/packages/haskell.scm (ghc-haskell-src): New variable. --- gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 1928793536..b8875ae0b1 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -541,6 +541,35 @@ them.") documents.") (license bsd-3))) +(define-public ghc-haskell-src + (package + (name "ghc-haskell-src") + (version "1.0.2.0") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/haskell-src/haskell-src-" + version + ".tar.gz")) + (sha256 + (base32 + "19lilhpwnjb7cks9fq1ipnc8f7dwxy0ri3dgjkdxs3i355byw99a")))) + (build-system haskell-build-system) + (inputs + `(("ghc-happy" ,ghc-happy) + ("ghc-syb" ,ghc-syb))) + (home-page + "http://hackage.haskell.org/package/haskell-src") + (synopsis + "Support for manipulating Haskell source code") + (description + "The 'haskell-src' package provides support for manipulating Haskell +source code. The package provides a lexer, parser and pretty-printer, and a +definition of a Haskell abstract syntax tree (AST). Common uses of this +package are to parse or generate Haskell 98 code.") + (license bsd-3))) + (define-public ghc-alex (package (name "ghc-alex") From 25eb1c2227daadf85b6c20e204c2109ca70becba Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 11:14:01 +0200 Subject: [PATCH 179/194] gnu: Add ghc-xhtml. * gnu/packages/haskell.scm (ghc-xhtml): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index b8875ae0b1..55f3de0e56 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -541,6 +541,28 @@ them.") documents.") (license bsd-3))) +(define-public ghc-xhtml + (package + (name "ghc-xhtml") + (version "3000.2.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/xhtml/xhtml-" + version + ".tar.gz")) + (sha256 + (base32 + "1n6wgzxbj8xf0wf1il827qidphnffb5vzhwzqlxhh70c2y10f0ik")))) + (build-system haskell-build-system) + (home-page "https://github.com/haskell/xhtml") + (synopsis "XHTML combinator library") + (description + "This package provides combinators for producing XHTML 1.0, including the +Strict, Transitional and Frameset variants.") + (license bsd-3))) + (define-public ghc-haskell-src (package (name "ghc-haskell-src") From e422279bbc5e4743ed7b99bbe060a52f86d9837a Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 11:16:24 +0200 Subject: [PATCH 180/194] gnu: Add ghc-regex-posix. * gnu/packages/haskell.scm (ghc-regex-posix): New variable. --- gnu/packages/haskell.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 55f3de0e56..7fba208d43 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1655,6 +1655,28 @@ removed. Both IPv4 and IPv6 are supported.") regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.") (license bsd-3))) +(define-public ghc-regex-posix + (package + (name "ghc-regex-posix") + (version "0.95.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/regex-posix/regex-posix-" + version + ".tar.gz")) + (sha256 + (base32 + "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an")))) + (build-system haskell-build-system) + (inputs `(("ghc-regex-base" ,ghc-regex-base))) + (home-page "http://sourceforge.net/projects/lazy-regex") + (synopsis "POSIX regular expressions for Haskell") + (description "This library provides the POSIX regex backend used by the +Haskell library @code{regex-base}.") + (license bsd-3))) + (define-public ghc-regex-tdfa-rc (package (name "ghc-regex-tdfa-rc") From 25d51164f7b012a089abd70ce9a97d69bdb83aea Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 11:17:34 +0200 Subject: [PATCH 181/194] gnu: Add ghc-regex-compat. * gnu/packages/haskell.scm (ghc-regex-compat): New variable. --- gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 7fba208d43..b8674e5582 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1677,6 +1677,30 @@ regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.") Haskell library @code{regex-base}.") (license bsd-3))) +(define-public ghc-regex-compat + (package + (name "ghc-regex-compat") + (version "0.95.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/regex-compat/regex-compat-" + version + ".tar.gz")) + (sha256 + (base32 + "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m")))) + (build-system haskell-build-system) + (inputs + `(("ghc-regex-base" ,ghc-regex-base) + ("ghc-regex-posix" ,ghc-regex-posix))) + (home-page "http://sourceforge.net/projects/lazy-regex") + (synopsis "Replaces/Enhances Text.Regex") + (description "This library provides one module layer over +@code{regex-posix} to replace @code{Text.Regex}.") + (license bsd-3))) + (define-public ghc-regex-tdfa-rc (package (name "ghc-regex-tdfa-rc") From 22db3ce71a85d8cfc697f5fdca3ec353ee80db52 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 11:36:34 +0200 Subject: [PATCH 182/194] gnu: Add ghc-half. * gnu/packages/haskell.scm (ghc-half): New variable. --- gnu/packages/haskell.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index b8674e5582..05031f240e 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -825,6 +825,27 @@ HTML through @code{Text.HTML.SanitizeXSS.sanitizeXSS} to prevent XSS attacks.") (license bsd-3))) +(define-public ghc-half + (package + (name "ghc-half") + (version "0.2.2.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/half/half-" + version + ".tar.gz")) + (sha256 + (base32 + "0zhwc6ps5w4ccnxl8sy623z4rjsafmnry69jpkw4hrbq11l402f1")))) + (build-system haskell-build-system) + (home-page "http://github.com/ekmett/half") + (synopsis "Half-precision floating-point computations") + (description "This library provides a half-precision floating-point +computation library for Haskell.") + (license bsd-3))) + (define-public ghc-streaming-commons (package (name "ghc-streaming-commons") From c480b85e662cabb8a111873e193ebf27bcac17a0 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 11:36:58 +0200 Subject: [PATCH 183/194] gnu: Add ghc-openglraw. * gnu/packages/haskell.scm (ghc-openglraw): New variable. --- gnu/packages/haskell.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 05031f240e..49ce141e2f 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -30,6 +30,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages compression) #:use-module (gnu packages elf) + #:use-module (gnu packages gl) #:use-module (gnu packages bootstrap) #:use-module (gnu packages zip) #:use-module (gnu packages gcc) @@ -846,6 +847,38 @@ attacks.") computation library for Haskell.") (license bsd-3))) +(define-public ghc-openglraw + (package + (name "ghc-openglraw") + (version "2.5.1.0") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-" + version + ".tar.gz")) + (sha256 + (base32 + "1kfq24mxg922ml3kkmym2qfpc56jbmrfbiix4rc2cxlwv05i191k")))) + (build-system haskell-build-system) + (inputs + `(("ghc-half" ,ghc-half) + ("glu" ,glu) + ("ghc-text" ,ghc-text))) + (home-page "http://www.haskell.org/haskellwiki/Opengl") + (synopsis "Raw Haskell bindings for the OpenGL graphics system") + (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5 +graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping +of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw +offers access to all necessary functions, tokens and types plus a general +facility for loading extension entries. The module hierarchy closely mirrors +the naming structure of the OpenGL extensions, making it easy to find the +right module to import. All API entries are loaded dynamically, so no special +C header files are needed for building this package. If an API entry is not +found at runtime, a userError is thrown.") + (license bsd-3))) + (define-public ghc-streaming-commons (package (name "ghc-streaming-commons") From 894562e3141abb68d877ea4f75b8a80c764cda03 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 18:05:08 +0200 Subject: [PATCH 184/194] gnu: Add ghc-gluraw. * gnu/packages/haskell.scm (ghc-gluraw): New variable. --- gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 49ce141e2f..e561f4d2ad 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -879,6 +879,30 @@ C header files are needed for building this package. If an API entry is not found at runtime, a userError is thrown.") (license bsd-3))) +(define-public ghc-gluraw + (package + (name "ghc-gluraw") + (version "1.5.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/GLURaw/GLURaw-" + version + ".tar.gz")) + (sha256 + (base32 + "0gscd9lhp9mb10q8s716nx26m8qng9xbb4h6b3f48zzgkc1sy96x")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-openglraw" ,ghc-openglraw))) + (home-page "http://www.haskell.org/haskellwiki/Opengl") + (synopsis "Raw Haskell bindings GLU") + (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL +utility library. It is basically a 1:1 mapping of GLU's C API, intended as a +basis for a nicer interface.") + (license bsd-3))) + (define-public ghc-streaming-commons (package (name "ghc-streaming-commons") From 74fa80ee684bfc985ead95c319aae47806b482d6 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 11:45:00 +0200 Subject: [PATCH 185/194] gnu: Add ghc-objectname. * gnu/packages/haskell.scm (ghc-objectname): New variable. --- gnu/packages/haskell.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index e561f4d2ad..069d85c7d2 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -826,6 +826,29 @@ HTML through @code{Text.HTML.SanitizeXSS.sanitizeXSS} to prevent XSS attacks.") (license bsd-3))) +(define-public ghc-objectname + (package + (name "ghc-objectname") + (version "1.1.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/ObjectName/ObjectName-" + version + ".tar.gz")) + (sha256 + (base32 + "0kh5fb9ykag6rfsm3f0bx3w323s18w2cyry34w5xgli5ncqimadg")))) + (build-system haskell-build-system) + (home-page "https://hackage.haskell.org/package/ObjectName") + (synopsis "Helper library for Haskell OpenGL") + (description "This tiny package contains the class ObjectName, which +corresponds to the general notion of explicitly handled identifiers for API +objects, e.g. a texture object name in OpenGL or a buffer object name in +OpenAL.") + (license bsd-3))) + (define-public ghc-half (package (name "ghc-half") From fe28ba703f1d72b15428d9c214251d6fd9bf3b5c Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 11:45:13 +0200 Subject: [PATCH 186/194] gnu: Add ghc-opengl. * gnu/packages/haskell.scm (ghc-opengl): New variable. --- gnu/packages/haskell.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 069d85c7d2..9c55153ad8 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -926,6 +926,34 @@ utility library. It is basically a 1:1 mapping of GLU's C API, intended as a basis for a nicer interface.") (license bsd-3))) +(define-public ghc-opengl + (package + (name "ghc-opengl") + (version "2.12.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/OpenGL/OpenGL-" + version + ".tar.gz")) + (sha256 + (base32 + "1mcfb167jl75qc2hgylh83vf2jqizvyvkvhhb72adi2crc3zqz4b")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-text" ,ghc-text) + ("ghc-objectname" ,ghc-objectname) + ("ghc-gluraw" ,ghc-gluraw) + ("ghc-statevar" ,ghc-statevar) + ("ghc-openglraw" ,ghc-openglraw))) + (home-page "http://www.haskell.org/haskellwiki/Opengl") + (synopsis "Haskell bindings for the OpenGL graphics system") + (description "This package provides Haskell bindings for the OpenGL +graphics system (GL, version 4.5) and its accompanying utility library (GLU, +version 1.3).") + (license bsd-3))) + (define-public ghc-streaming-commons (package (name "ghc-streaming-commons") From bce030840d597df195630a6883841c917da4ec75 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 11:51:46 +0200 Subject: [PATCH 187/194] gnu: Add ghc-glut. * gnu/packages/haskell.scm (ghc-glut): New variable. --- gnu/packages/haskell.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 9c55153ad8..1d0dd1aea1 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -902,6 +902,34 @@ C header files are needed for building this package. If an API entry is not found at runtime, a userError is thrown.") (license bsd-3))) +(define-public ghc-glut + (package + (name "ghc-glut") + (version "2.7.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/GLUT/GLUT-" + version + ".tar.gz")) + (sha256 + (base32 + "1qfilpc10jm47anan44c20y8mh76f2dv09m5d22gk0f7am7hg4k2")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-statevar" ,ghc-statevar) + ("ghc-openglraw" ,ghc-openglraw))) + (inputs + `(("ghc-opengl" ,ghc-opengl) + ("freeglut" ,freeglut))) + (home-page "http://www.haskell.org/haskellwiki/Opengl") + (synopsis "Haskell bindings for the OpenGL Utility Toolkit") + (description "This library provides Haskell bindings for the OpenGL +Utility Toolkit, a window system-independent toolkit for writing OpenGL +programs.") + (license bsd-3))) + (define-public ghc-gluraw (package (name "ghc-gluraw") From b784e8c5029d3cb623971288c98624460f830c47 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 14:53:49 +0200 Subject: [PATCH 188/194] gnu: Add ghc-sdl. * gnu/packages/haskell.scm (ghc-sdl): New variable. --- gnu/packages/haskell.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 1d0dd1aea1..5da52e0be3 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -31,6 +31,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages elf) #:use-module (gnu packages gl) + #:use-module (gnu packages sdl) #:use-module (gnu packages bootstrap) #:use-module (gnu packages zip) #:use-module (gnu packages gcc) @@ -849,6 +850,40 @@ objects, e.g. a texture object name in OpenGL or a buffer object name in OpenAL.") (license bsd-3))) +(define-public ghc-sdl + (package + (name "ghc-sdl") + (version "0.6.5.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/SDL/SDL-" + version + ".tar.gz")) + (sha256 + (base32 + "1sa3zx3vrs1gbinxx33zwq0x2bsf3i964bff7419p7vzidn36k46")))) + (build-system haskell-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after + 'unpack 'fix-/bin/sh + (lambda _ + ;; Use `sh', not `/bin/sh'. + (setenv "CONFIG_SHELL" "sh")))))) + (inputs + `(("sdl" ,sdl))) + (home-page "https://hackage.haskell.org/package/SDL") + (synopsis "LibSDL for Haskell") + (description "Simple DirectMedia Layer (libSDL) is a cross-platform +multimedia library designed to provide low level access to audio, keyboard, +mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used +by MPEG playback software, emulators, and many popular games, including the +award winning Linux port of \"Civilization: Call To Power.\"") + (license bsd-3))) + (define-public ghc-half (package (name "ghc-half") From 224a0ddbd905e956a3647e956494d2b904c24457 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 14:55:05 +0200 Subject: [PATCH 189/194] gnu: Add ghc-sdl-mixer. * gnu/packages/haskell.scm (ghc-sdl-mixer): New variable. --- gnu/packages/haskell.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 5da52e0be3..7c21ef72d7 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -884,6 +884,45 @@ by MPEG playback software, emulators, and many popular games, including the award winning Linux port of \"Civilization: Call To Power.\"") (license bsd-3))) +(define-public ghc-sdl-mixer + (package + (name "ghc-sdl-mixer") + (version "0.6.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/SDL-mixer/SDL-mixer-" + version + ".tar.gz")) + (sha256 + (base32 + "0md3238hx79mxb9a7l43kg3b3d28x4mqvj0hjsbsh15ajnvy9x2z")))) + (build-system haskell-build-system) + (arguments + `(#:configure-flags + (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer")) + (sdl-mixer-include (string-append sdl-mixer "/include/SDL"))) + (list (string-append "--extra-include-dirs=" sdl-mixer-include))) + #:phases + (modify-phases %standard-phases + (add-after + 'unpack 'fix-/bin/sh + (lambda _ + ;; Use `sh', not `/bin/sh'. + (setenv "CONFIG_SHELL" "sh")))))) + (propagated-inputs + `(("ghc-sdl" ,ghc-sdl))) + (inputs + `(("sdl-mixer" ,sdl-mixer))) + (home-page "http://hackage.haskell.org/package/SDL-mixer") + (synopsis "Haskell bindings to libSDL_mixer") + (description "SDL_mixer is a sample multi-channel audio mixer library. It +supports any number of simultaneously playing channels of 16 bit stereo audio, +plus a single channel of music, mixed by the popular MikMod MOD, Timidity +MIDI, Ogg Vorbis, and SMPEG MP3 libraries.") + (license bsd-3))) + (define-public ghc-half (package (name "ghc-half") From c783cac07006a18c4c67f7c0b77f2f94ebcff287 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 14:56:02 +0200 Subject: [PATCH 190/194] gnu: Add ghc-sdl-image. * gnu/packages/haskell.scm (ghc-sdl-image): New variable. --- gnu/packages/haskell.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 7c21ef72d7..83ec3f9ca3 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -923,6 +923,44 @@ plus a single channel of music, mixed by the popular MikMod MOD, Timidity MIDI, Ogg Vorbis, and SMPEG MP3 libraries.") (license bsd-3))) +(define-public ghc-sdl-image + (package + (name "ghc-sdl-image") + (version "0.6.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/SDL-image/SDL-image-" + version + ".tar.gz")) + (sha256 + (base32 + "1m02q2426qp8m8pzz2jkk4srk2vb3j3ickiaga5jx9rkkhz732zq")))) + (build-system haskell-build-system) + (arguments + `(#:configure-flags + (let* ((sdl-image (assoc-ref %build-inputs "sdl-image")) + (sdl-image-include (string-append sdl-image "/include/SDL"))) + (list (string-append "--extra-include-dirs=" sdl-image-include))) + #:phases + (modify-phases %standard-phases + (add-after + 'unpack 'fix-/bin/sh + (lambda _ + ;; Use `sh', not `/bin/sh'. + (setenv "CONFIG_SHELL" "sh")))))) + (propagated-inputs + `(("ghc-sdl" ,ghc-sdl))) + (inputs + `(("sdl-image" ,sdl-image))) + (home-page "http://hackage.haskell.org/package/SDL-image") + (synopsis "Haskell bindings to libSDL_image") + (description "SDL_image is an image file loading library. It loads images +as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX, +PNG, PNM, TGA, TIFF, XCF, XPM, XV.") + (license bsd-3))) + (define-public ghc-half (package (name "ghc-half") From aa6f39127e7d4bd5783b4454f5b6b7cd243aa8b8 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Fri, 16 Oct 2015 15:00:06 +0200 Subject: [PATCH 191/194] gnu: Add Raincat. * gnu/packages/games.scm (raincat): New variable. --- gnu/packages/games.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 9c44bbe3e0..546944ad25 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -52,6 +52,7 @@ #:use-module (gnu packages guile) #:use-module (gnu packages libcanberra) #:use-module (gnu packages libunwind) + #:use-module (gnu packages haskell) #:use-module (gnu packages mp3) #:use-module (gnu packages image) #:use-module (gnu packages ncurses) @@ -81,6 +82,7 @@ #:use-module (gnu packages fribidi) #:use-module (guix build-system trivial) #:use-module (guix build-system gnu) + #:use-module (guix build-system haskell) #:use-module (guix build-system cmake) #:use-module (guix build-system trivial)) @@ -1139,6 +1141,39 @@ on the screen and keyboard to display letters.") ;; Most files under gpl2+ or gpl3+, but eat.wav under gpl3 (license license:gpl3))) +(define-public raincat + (package + (name "raincat") + (version "1.1.1.3") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/Raincat/Raincat-" + version + ".tar.gz")) + (sha256 + (base32 + "1aalh68h6799mv4vyg30zpskl5jkn6x2j1jza7p4lrflyifxzar8")))) + (build-system haskell-build-system) + (inputs + `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions) + ("ghc-mtl" ,ghc-mtl) + ("ghc-random" ,ghc-random) + ("ghc-glut" ,ghc-glut) + ("ghc-opengl" ,ghc-opengl) + ("ghc-sdl" ,ghc-sdl) + ("ghc-sdl-image" ,ghc-sdl-image) + ("ghc-sdl-mixer" ,ghc-sdl-mixer))) + (home-page "http://raincat.bysusanlin.com/") + (synopsis "Puzzle game with a cat in lead role") + (description "Project Raincat is a game developed by Carnegie Mellon +students through GCS during the Fall 2008 semester. Raincat features game +play inspired from classics Lemmings and The Incredible Machine. The project +proved to be an excellent learning experience for the programmers. Everything +is programmed in Haskell.") + (license license:bsd-3))) + (define-public manaplus (package (name "manaplus") From 759756a992625940e26bdb6cc1f96731b1c8b90f Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 21 Oct 2015 15:46:25 +0200 Subject: [PATCH 192/194] import: hackage: Update GHC libraries for 7.10.2. Update ghc-standard-libraries to match the output of `ghc-pkg list` when using GHC 7.10.2. * guix/import/hackage.scm (ghc-standard-libraries): Sort and update list of core GHC libraries. --- guix/import/hackage.scm | 44 ++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/guix/import/hackage.scm b/guix/import/hackage.scm index b5574a8d9f..3baa514aa1 100644 --- a/guix/import/hackage.scm +++ b/guix/import/hackage.scm @@ -32,37 +32,35 @@ #:export (hackage->guix-package)) (define ghc-standard-libraries - ;; List of libraries distributed with ghc (7.8.4). We include GHC itself as + ;; List of libraries distributed with ghc (7.10.2). We include GHC itself as ;; some packages list it. - '("ghc" - "haskell98" - "hoopl" + '("array" "base" - "transformers" - "deepseq" - "array" + "bin-package-db" "binary" "bytestring" + "cabal" ;; in the output of `ghc-pkg list` Cabal is uppercased, but + ;; hackage-name->package-name takes this into account. "containers" - "time" - "cabal" - "bin-package-db" - "ghc-prim" - "integer-gmp" - "integer-simple" - "win32" - "template-haskell" - "process" - "haskeline" - "terminfo" + "deepseq" "directory" "filepath" - "old-locale" - "unix" - "old-time" + "ghc" + "ghc-prim" + "haskeline" + "hoopl" + "hpc" + "integer-gmp" "pretty" - "xhtml" - "hpc")) + "process" + "rts" + "template-haskell" + "terminfo" + "time" + "transformers" + "unix" + "win32" + "xhtml")) (define package-name-prefix "ghc-") From 8e01e30077a70376baefa7bc88ea01818d94aeee Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Wed, 21 Oct 2015 15:52:15 +0200 Subject: [PATCH 193/194] import: hackage: Fix grammar. Minor clarification regarding the test-dependencies command line option. * guix/scripts/import/hackage.scm (show-help): Minor grammatical fix. --- guix/scripts/import/hackage.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/scripts/import/hackage.scm b/guix/scripts/import/hackage.scm index 8d31128c47..8c4e640bf3 100644 --- a/guix/scripts/import/hackage.scm +++ b/guix/scripts/import/hackage.scm @@ -55,7 +55,7 @@ version.\n")) (display (_ " -s, --stdin read from standard input")) (display (_ " - -t, --no-test-dependencies don't include test only dependencies")) + -t, --no-test-dependencies don't include test-only dependencies")) (display (_ " -V, --version display version information and exit")) (newline) From ca9745e484474f27d5773059a063c0d8e70f7e1d Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 23 Oct 2015 15:32:31 -0400 Subject: [PATCH 194/194] gnu: linux-libre: Update to 4.2.4. * gnu/packages/linux.scm (linux-libre): Update to 4.2.4. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 4ee42349f8..f6f2555b1c 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -210,7 +210,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM." #f))) (define-public linux-libre - (let* ((version "4.2.3") + (let* ((version "4.2.4") (build-phase '(lambda* (#:key system inputs #:allow-other-keys #:rest args) ;; Apply the neat patch. @@ -283,7 +283,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM." (uri (linux-libre-urls version)) (sha256 (base32 - "1xpx32k6bzxqg5y8lyaana97jjcli00iyqklh5fdhirfvjb9dimd")))) + "11r9yhi4c2zwfb8i21zk014gcm1kvnabq410wjy6g6a015d5v37w")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) ("bc" ,bc)