01/01: import: stackage: Avoid using (guix ui) in importer code.

2017-02-13 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 57075ade97e58eded5657ec74e5516d58f15eda6
Author: Federico Beffa 
Date:   Sat Feb 11 18:18:45 2017 +0100

import: stackage: Avoid using (guix ui) in importer code.

* guix/import/stackage.scm (stackage->guix-package, 
stackage-lts-info-fetch):
  Raise 'message' condition instead of using 'leave' from (guix ui).
* guix/scripts/import/stackage.scm (guix-import-stackage): Handle 
conditions.
---
 guix/import/stackage.scm | 10 +++---
 guix/scripts/import/stackage.scm | 19 ++-
 2 files changed, 17 insertions(+), 12 deletions(-)

diff --git a/guix/import/stackage.scm b/guix/import/stackage.scm
index 542b718..5b25adc 100644
--- a/guix/import/stackage.scm
+++ b/guix/import/stackage.scm
@@ -21,12 +21,13 @@
   #:use-module (ice-9 regex)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
+  #:use-module (srfi srfi-34)
+  #:use-module (srfi srfi-35)
   #:use-module (guix import json)
   #:use-module (guix import hackage)
   #:use-module (guix memoization)
   #:use-module (guix packages)
   #:use-module (guix upstream)
-  #:use-module (guix ui)
   #:export (stackage->guix-package
 %stackage-updater))
 
@@ -49,6 +50,9 @@
 ((_ ("packages" pkg ...)) pkg)
 (_ '(
 
+(define (leave-with-message fmt . args)
+  (raise (condition (&message (message (apply format #f fmt args))
+
 (define stackage-lts-info-fetch
   ;; "Retrieve the information about the LTS Stackage release VERSION."
   (memoize
@@ -59,7 +63,7 @@
 (lts-info (json-fetch url)))
(if lts-info
(reverse lts-info)
-   (leave (_ "LTS release version not found: ~A~%") version))
+   (leave-with-message "LTS release version not found: ~a" 
version))
 
 (define (stackage-package-name pkg-info)
   (assoc-ref pkg-info "name"))
@@ -99,7 +103,7 @@ included in the Stackage LTS release."
 (hackage->guix-package name-version
#:include-test-dependencies?
include-test-dependencies?)
-(leave (_ "package not found: ~A~%") package-name
+(leave-with-message "~a: Stackage package not found" package-name
 
 
 ;;;
diff --git a/guix/scripts/import/stackage.scm b/guix/scripts/import/stackage.scm
index cf47bff..f91b496 100644
--- a/guix/scripts/import/stackage.scm
+++ b/guix/scripts/import/stackage.scm
@@ -98,15 +98,16 @@ Import and convert the LTS Stackage package for 
PACKAGE-NAME.\n"))
(reverse opts
 (match args
   ((package-name)
-   (let ((sexp (stackage->guix-package
-package-name
-#:include-test-dependencies?
-(assoc-ref opts 'include-test-dependencies?)
-#:lts-version (assoc-ref opts 'lts-version
- (unless sexp
-   (leave (_ "failed to download cabal file for package '~a'~%")
-  package-name))
- sexp))
+   (with-error-handling
+(let ((sexp (stackage->guix-package
+ package-name
+ #:include-test-dependencies?
+ (assoc-ref opts 'include-test-dependencies?)
+ #:lts-version (assoc-ref opts 'lts-version
+  (unless sexp
+(leave (_ "failed to download cabal file for package '~a'~%")
+   package-name))
+  sexp)))
   (()
(leave (_ "too few arguments~%")))
   ((many ...)



branch master updated (4fc282b -> 57075ad)

2017-02-13 Thread Federico Beffa
beffa pushed a change to branch master
in repository guix.

  from  4fc282b   gnu: netsurf: Enable tests.
   new  57075ad   import: stackage: Avoid using (guix ui) in importer code.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 guix/import/stackage.scm | 10 +++---
 guix/scripts/import/stackage.scm | 19 ++-
 2 files changed, 17 insertions(+), 12 deletions(-)



01/03: import: json: Explicitly ask for JSON data.

2017-02-09 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 81e0bc1834490a1a8092c75a0733b15c2b407285
Author: Federico Beffa 
Date:   Sun Feb 5 14:42:10 2017 +0100

import: json: Explicitly ask for JSON data.

* guix/import/json.scm (json-fetch): Add #:headers to http-fetch call.
---
 guix/import/json.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/guix/import/json.scm b/guix/import/json.scm
index 5940f5e..c76bc93 100644
--- a/guix/import/json.scm
+++ b/guix/import/json.scm
@@ -29,7 +29,8 @@
   (guard (c ((and (http-get-error? c)
   (= 404 (http-get-error-code c)))
  #f))   ;"expected" if package is unknown
-(let* ((port (http-fetch url))
+(let* ((port (http-fetch url #:headers '((user-agent . "GNU Guile")
+ (Accept . "application/json"
(result (hash-table->alist (json->scm port
   (close-port port)
   result)))



branch master updated (4554813 -> a4824c6)

2017-02-09 Thread Federico Beffa
beffa pushed a change to branch master
in repository guix.

  from  4554813   gnu: gmsh: Propagate opencascade-oce.
   new  81e0bc1   import: json: Explicitly ask for JSON data.
   new  bc5844d   import: Add stackage importer and updater.
   new  a4824c6   import: hackage: Handle unknown packages gracefully.

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 Makefile.am|   2 +
 doc/guix.texi  |  33 +-
 guix/import/hackage.scm|  24 +++--
 guix/import/json.scm   |   3 +-
 guix/import/stackage.scm   | 135 +
 guix/scripts/import.scm|   3 +-
 guix/scripts/import/{cran.scm => stackage.scm} |  71 ++---
 guix/scripts/refresh.scm   |   1 +
 8 files changed, 227 insertions(+), 45 deletions(-)
 create mode 100644 guix/import/stackage.scm
 copy guix/scripts/import/{cran.scm => stackage.scm} (57%)



03/03: import: hackage: Handle unknown packages gracefully.

2017-02-09 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit a4824c60ef5ffc0cae3771a16524287904a1c8bd
Author: Federico Beffa 
Date:   Thu Feb 9 17:05:41 2017 +0100

import: hackage: Handle unknown packages gracefully.

* guix/import/hackage.scm (hackage-fetch): Add 'guard'.
---
 guix/import/hackage.scm | 16 ++--
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/guix/import/hackage.scm b/guix/import/hackage.scm
index 4d01ed2..2c9df07 100644
--- a/guix/import/hackage.scm
+++ b/guix/import/hackage.scm
@@ -21,6 +21,7 @@
 (define-module (guix import hackage)
   #:use-module (ice-9 match)
   #:use-module (ice-9 regex)
+  #:use-module (srfi srfi-34)
   #:use-module (srfi srfi-26)
   #:use-module (srfi srfi-11)
   #:use-module (srfi srfi-1)
@@ -115,12 +116,15 @@ version is returned."
   "Return the Cabal file for the package NAME-VERSION, or #f on failure.  If
 the version part is omitted from the package name, then return the latest
 version."
-  (let-values (((name version) (package-name->name+version name-version)))
-(let* ((url (hackage-cabal-url name version))
-   (port (http-fetch url))
-   (result (read-cabal (canonical-newline-port port
-  (close-port port)
-  result)))
+  (guard (c ((and (http-get-error? c)
+  (= 404 (http-get-error-code c)))
+ #f))   ;"expected" if package is unknown
+(let-values (((name version) (package-name->name+version name-version)))
+  (let* ((url (hackage-cabal-url name version))
+ (port (http-fetch url))
+ (result (read-cabal (canonical-newline-port port
+(close-port port)
+result
 
 (define string->license
   ;; List of valid values from



02/03: import: Add stackage importer and updater.

2017-02-09 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit bc5844d14955c09330d47984d930e1e9aa8c0ee0
Author: Federico Beffa 
Date:   Mon Feb 6 18:19:26 2017 +0100

import: Add stackage importer and updater.

* guix/import/stackage.scm: New file.
* guix/scripts/import/stackage.scm: New file.
* Makefile.am (MODULES): Add new files.
* guix/scripts/import.scm (importers): Add "stackage".
* guix/scripts/refresh.scm (%updaters): Add %stackage-updater.
* doc/guix.texi (Invoking 'guix import'): Document the importer.
  (Invoking 'guix refresh'): Add stackage to option --type valid values.
* guix/import/hackage.scm (guix-package->hackage-name, hackage-fetch,
  hackage-source-url, hackage-cabal-url, hackage-package?): Export them.
---
 Makefile.am  |   2 +
 doc/guix.texi|  33 +-
 guix/import/hackage.scm  |   8 ++-
 guix/import/stackage.scm | 135 +++
 guix/scripts/import.scm  |   3 +-
 guix/scripts/import/stackage.scm | 115 +
 guix/scripts/refresh.scm |   1 +
 7 files changed, 294 insertions(+), 3 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 360c356..18501bd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -126,6 +126,7 @@ MODULES =   \
   guix/import/cabal.scm\
   guix/import/cran.scm \
   guix/import/hackage.scm  \
+  guix/import/stackage.scm \
   guix/import/elpa.scm \
   guix/scripts.scm \
   guix/scripts/download.scm\
@@ -147,6 +148,7 @@ MODULES =   \
   guix/scripts/import/gnu.scm  \
   guix/scripts/import/nix.scm  \
   guix/scripts/import/hackage.scm  \
+  guix/scripts/import/stackage.scm \
   guix/scripts/import/elpa.scm \
   guix/scripts/environment.scm \
   guix/scripts/publish.scm \
diff --git a/doc/guix.texi b/doc/guix.texi
index 21082ae..eca2d99 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -31,7 +31,8 @@ Copyright @copyright{} 2016 Jan Nieuwenhuizen@*
 Copyright @copyright{} 2016 Julien Lepiller@*
 Copyright @copyright{} 2016 Alex ter Weele@*
 Copyright @copyright{} 2017 Clément Lassieur@*
-Copyright @copyright{} 2017 Mathieu Othacehe
+Copyright @copyright{} 2017 Mathieu Othacehe@*
+Copyright @copyright{} 2017 Federico Beffa
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -5340,6 +5341,34 @@ package name by an at-sign and a version number as in 
the following example:
 guix import hackage mtl@@2.1.3.1
 @end example
 
+@item stackage
+@cindex stackage
+The @code{stackage} importer is a wrapper around the @code{hackage} one.
+It takes a package name, looks up the package version included in a
+long-term support (LTS) @uref{https://www.stackage.org, Stackage}
+release and uses the @code{hackage} importer to retrieve its metadata.
+Note that it is up to you to select an LTS release compatible with the
+GHC compiler used by Guix.
+
+Specific command-line options are:
+
+@table @code
+@item --no-test-dependencies
+@itemx -t
+Do not include dependencies required only by the test suites.
+@item --lts-version=@var{version}
+@itemx -r @var{version}
+@var{version} is the desired LTS release version.  If omitted the latest
+release is used.
+@end table
+
+The command below imports metadata for the @code{HTTP} Haskell package
+included in the LTS Stackage release version 7.18:
+
+@example
+guix import stackage --lts-version=7.18 HTTP
+@end example
+
 @item elpa
 @cindex elpa
 Import metadata from an Emacs Lisp Package Archive (ELPA) package
@@ -5504,6 +5533,8 @@ the updater for @uref{https://rubygems.org, RubyGems} 
packages.
 the updater for @uref{https://github.com, GitHub} packages.
 @item hackage
 the updater for @uref{https://hackage.haskell.org, Hackage} packages.
+@item stackage
+the updater for @uref{https://www.stackage.org, Stackage} packages.
 @item crate
 the updater for @uref{https://crates.io, Crates} packages.
 @end table
diff --git a/guix/import/hackage.scm b/guix/import/hackage.scm
index 9af78ea..4d01ed2 100644
--- a/guix/import/hackage.scm
+++ b/guix/import/hackage.scm
@@ -37,7 +37,13 @@
   #:use-module (guix packages)
   #:use-module ((guix utils) #:select (call-with-temporary-output-file))
   #:export (hackage->guix-package
-%hackage-updater))
+%hackage-updater
+
+guix-package->hackage-name
+hackage-fetch
+hackage-source-url
+hackage-cabal-url
+hackage-package?))
 
 (define ghc-standard-libraries
   ;; List of libraries distributed w

branch master updated (54052a5 -> d8e85b2)

2017-01-30 Thread Federico Beffa
beffa pushed a change to branch master
in repository guix.

  from  54052a5   gnu: Add reducelcs.
   new  d8e85b2   gnu: ghc-8: Update to 8.0.2.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 gnu/local.mk   |1 +
 gnu/packages/haskell.scm   |   31 +---
 ...dont-pass-linker-flags-via-response-files.patch |   27 +
 3 files changed, 36 insertions(+), 23 deletions(-)
 create mode 100644 
gnu/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch



01/01: gnu: ghc-8: Update to 8.0.2.

2017-01-30 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit d8e85b20325073d90cfaf3060889d59d91362deb
Author: Federico Beffa 
Date:   Wed Jan 25 18:21:43 2017 +0100

gnu: ghc-8: Update to 8.0.2.

* gnu/packages/haskell.scm (ghc-8): Update to 8.0.2.
  [arguments]: Remove #:modules, #:imported-modules and phase
  configure-testsuite.
* gnu/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch:
  New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk   |1 +
 gnu/packages/haskell.scm   |   31 +---
 ...dont-pass-linker-flags-via-response-files.patch |   27 +
 3 files changed, 36 insertions(+), 23 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index 6450da1..269af5f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -575,6 +575,7 @@ dist_patch_DATA =   
\
   %D%/packages/patches/gd-fix-truecolor-format-correction.patch\
   %D%/packages/patches/gegl-CVE-2012-4433.patch\
   %D%/packages/patches/geoclue-config.patch\
+  %D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch 
\
   %D%/packages/patches/ghostscript-CVE-2013-5653.patch \
   %D%/packages/patches/ghostscript-CVE-2015-3228.patch \
   %D%/packages/patches/ghostscript-CVE-2016-7976.patch \
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 56b0090..37e35c4 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -26,6 +26,7 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages haskell)
+  #:use-module (gnu packages)
   #:use-module (gnu packages bootstrap)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages elf)
@@ -267,14 +268,17 @@ interactive environment for the functional language 
Haskell.")
 (define-public ghc-8
   (package
 (name "ghc")
-(version "8.0.1")
+(version "8.0.2")
 (source
  (origin
   (method url-fetch)
   (uri (string-append "https://www.haskell.org/ghc/dist/";
   version "/" name "-" version "-src.tar.xz"))
   (sha256
-   (base32 "1lniqy29djhjkddnailpaqhlqh4ld2mqvb1fxgxw1qqjhz6j1ywh"
+   (base32 "1c8qc4fhkycynk4g1f9hvk53dj6a1vvqi6bklqznns6hw59m8qhi"))
+  (patches
+   (search-patches
+"ghc-dont-pass-linker-flags-via-response-files.patch"
 (build-system gnu-build-system)
 (supported-systems '("i686-linux" "x86_64-linux"))
 (outputs '("out" "doc"))
@@ -290,7 +294,7 @@ interactive environment for the functional language 
Haskell.")
  "https://www.haskell.org/ghc/dist/";
  version "/" name "-" version "-testsuite.tar.xz"))
(sha256
-(base32 
"0lc1vjivkxn01aw3jg2gd7fmqb5pj7a5j987c7pn5r7caqv1cmxw"))
+(base32 
"1wjc3x68l305bl1h1ijd3yhqp2vqj83lkp3kqbr94qmmkqlms8sj"))
 (native-inputs
  `(("perl" ,perl)
("python" ,python-2); for tests
@@ -312,13 +316,6 @@ interactive environment for the functional language 
Haskell.")
;; then complains that they don't match.
#:build #f
 
-   #:modules ((guix build gnu-build-system)
-  (guix build utils)
-  (guix build rpath)
-  (srfi srfi-26)
-  (srfi srfi-1))
-   #:imported-modules (,@%gnu-build-system-modules
-   (guix build rpath))
#:configure-flags
(list
 (string-append "--with-gmp-libraries="
@@ -366,19 +363,7 @@ interactive environment for the functional language 
Haskell.")
"testsuite/tests/programs/life_space_leak/life.test")
(("/bin/sh") (which "sh"))
(("/bin/rm") "rm"))
- #t))
- ;; the testsuite can't find shared libraries.
- (add-before 'check 'configure-testsuite
-   (lambda* (#:key inputs #:allow-other-keys)
- (let* ((gmp (assoc-ref inputs "gmp"))
-(gmp-lib (string-append gmp "/lib"))
-(ffi (assoc-ref inputs "libffi"))
-(ffi-lib (string-append ffi "/lib"))
-(ncurses (assoc-ref inputs "ncurses"))
-(ncurses-lib (string-append ncurses "/lib")))
-   (setenv "LD_LIBRARY_PATH"
-   (string-append gmp-lib ":" ffi-lib "

01/11: gnu: Add emacs-stream.

2016-10-31 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 8f50634ba44d29a401ab9f6fc636be0299c7f28b
Author: Federico Beffa 
Date:   Thu Oct 20 17:32:42 2016 +0200

gnu: Add emacs-stream.

* gnu/packages/emacs.scm (emacs-stream): New varaible.
---
 gnu/packages/emacs.scm |   18 ++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 2c76b46..1f4035a 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -3320,3 +3320,21 @@ This package contains the library runtime.")
 (description "This package provides an Emacs major mode for
 editing nginx config files.")
 (license license:gpl2+)))
+
+(define-public emacs-stream
+  (package
+(name "emacs-stream")
+(version "2.2.0")
+(home-page "https://github.com/NicolasPetton/stream";)
+(source
+ (origin
+   (method url-fetch)
+   (file-name (string-append name "-" version ".tar.gz"))
+   (uri (string-append home-page "/archive/"version ".tar.gz"))
+   (sha256
+(base32 "03ql4nqfz5pn55mjly6clhvc3g7x2d28kj7mrlqmigvjbql39xxc"
+(build-system emacs-build-system)
+(synopsis "Implementation of streams for Emacs")
+(description "This library provides an implementation of streams for Emacs.
+Streams are implemented as delayed evaluation of cons cells.")
+(license license:gpl3+)))



02/11: gnu: Add emacs-el-search.

2016-10-31 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 0fc06f3eba0acb67b2ba61b0810fb4bf34ab3daf
Author: Federico Beffa 
Date:   Thu Oct 20 17:50:56 2016 +0200

gnu: Add emacs-el-search.

* gnu/packages/emacs.scm (emacs-el-search): New variable.
---
 gnu/packages/emacs.scm |   24 
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 1f4035a..e5b420a 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -3338,3 +3338,27 @@ editing nginx config files.")
 (description "This library provides an implementation of streams for Emacs.
 Streams are implemented as delayed evaluation of cons cells.")
 (license license:gpl3+)))
+
+(define-public emacs-el-search
+  (let ((commit "f26277bfbb3fc3fc74beea6592f294c439796bd4")
+(revision "1"))
+(package
+  (name "emacs-el-search")
+  ;; No ufficial release.
+  (version (string-append "0.0-" revision "." (string-take commit 7)))
+  (home-page "https://github.com/emacsmirror/el-search";)
+  (source
+   (origin
+ (method git-fetch)
+ (file-name (string-append name "-" version ".tar.gz"))
+ (uri (git-reference
+   (commit commit)
+   (url (string-append home-page ".git"
+ (sha256
+  (base32 "12xf40h9sb7xxg2r97gsia94q02543mgiiiw46fzh1ac7b7993g6"
+  (build-system emacs-build-system)
+  (inputs `(("emacs-stream" ,emacs-stream)))
+  (synopsis "Expression based interactive search for emacs-lisp-mode")
+  (description "This package provides expression based interactive search
+procedures for emacs-lisp-mode.")
+  (license license:gpl3+



04/11: gnu: Add chez-mit.

2016-10-31 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 53b9684e332dda113ec1d835a5597cbd336503d9
Author: Federico Beffa 
Date:   Sat Oct 22 10:55:36 2016 +0200

gnu: Add chez-mit.

* gnu/packages/chez.scm (chez-mit): New variable.
---
 gnu/packages/chez.scm |   30 +-
 1 file changed, 29 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index 0a74c3f..fc4bf69 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -19,7 +19,7 @@
 (define-module (gnu packages chez)
   #:use-module (gnu packages)
   #:use-module ((guix licenses)
-#:select (gpl2+ lgpl2.0+ lgpl2.1+ asl2.0 bsd-3 expat
+#:select (gpl2+ gpl3+ lgpl2.0+ lgpl2.1+ asl2.0 bsd-3 expat
   public-domain))
   #:use-module (guix packages)
   #:use-module (guix download)
@@ -470,3 +470,31 @@ concatenating, composing and extending these formatters 
efficiently
 without resorting to capturing and manipulating intermediate
 strings.")
 (license bsd-3)))
+
+(define-public chez-mit
+  (package
+(name "chez-mit")
+(version "0.1")
+(home-page "https://github.com/fedeinthemix/chez-mit";)
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append home-page "/archive/v" version ".tar.gz"))
+   (sha256
+(base32 "1p11q061znwxzxrxg3vw4dbsnpv1dav12hjhnkrjnzyyjvvdm2kn"))
+   (file-name (string-append name "-" version ".tar.gz"
+(build-system gnu-build-system)
+(inputs
+ `(("chez-srfi" ,chez-srfi))) ; for tests
+(native-inputs
+ `(("chez-scheme" ,chez-scheme)))
+(arguments
+ `(#:make-flags ,(chez-make-flags name version)
+   #:test-target "test"
+   #:phases (modify-phases %standard-phases
+  (replace 'configure ,chez-configure
+(synopsis "MIT/GNU Scheme compatibility library for Chez Scheme")
+(description "This package provides a set of MIT/GNU Scheme compatibility
+libraries for Chez Scheme.  The main goal was to provide the functionality
+required to port the program 'Scmutils' to Chez Scheme.")
+(license gpl3+)))



branch master updated (c907bee -> 1a86b67)

2016-10-31 Thread Federico Beffa
beffa pushed a change to branch master
in repository guix.

  from  c907bee   gnu: fio: Update to 2.15.
   new  8f50634   gnu: Add emacs-stream.
   new  0fc06f3   gnu: Add emacs-el-search.
   new  08fc0d6   gnu: haskell-mode: Update to 16.1.
   new  53b9684   gnu: Add chez-mit.
   new  149c652   gnu: Add chez-scmutils.
   new  6af886f   gnu: geiser-next: Re-introduce it.
   new  442c2c9   download: Add Hackage mirrors.
   new  505e015   gnu: Add ghc-data-accessor.
   new  81a1191   gnu: Add ghc-data-access-transformers.
   new  a5cbef0   gnu: Add ghc-utility-ht.
   new  1a86b67   gnu: Add ghc-gnuplot.

The 11 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 gnu/packages/chez.scm|   96 +++-
 gnu/packages/emacs.scm   |  110 +++---
 gnu/packages/haskell.scm |   92 ++
 guix/download.scm|2 +
 4 files changed, 293 insertions(+), 7 deletions(-)



07/11: download: Add Hackage mirrors.

2016-10-31 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 442c2c99a5d15c46551d2da6b2d23a4e39d9c4f4
Author: Federico Beffa 
Date:   Sat Oct 29 18:30:58 2016 +0200

download: Add Hackage mirrors.

* guix/download.scm [%mirrors]: Add Hackage mirrors.
---
 guix/download.scm |2 ++
 1 file changed, 2 insertions(+)

diff --git a/guix/download.scm b/guix/download.scm
index 649e96b..4349719 100644
--- a/guix/download.scm
+++ b/guix/download.scm
@@ -87,6 +87,8 @@
"http://ftp.linux.org.uk/mirrors/ftp.gnome.org/";
"http://ftp.gnome.org/pub/GNOME/";
"http://mirror.yandex.ru/mirrors/ftp.gnome.org/";)
+  (hackage
+   "https://hackage.haskell.org/";)
   (savannah
"http://download.savannah.gnu.org/releases/";
"ftp://ftp.twaren.net/Unix/NonGNU/";



03/11: gnu: haskell-mode: Update to 16.1.

2016-10-31 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 08fc0d68f0183cd8e23ffc16091ffd387feb6823
Author: Federico Beffa 
Date:   Thu Oct 20 20:23:11 2016 +0200

gnu: haskell-mode: Update to 16.1.

* gnu/packages/emacs.scm (haskell-mode): Update to 16.1.
  [inputs]: Add 'emacs-el-search' and 'emacs-stream'.
  [propagated-inputs]: Add 'emacs-dash'.
  [arguments]: Add modules. Adapt 'pre-build' and 'install' phases.
---
 gnu/packages/emacs.scm |   36 
 1 file changed, 32 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index e5b420a..5050f2e 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -575,7 +575,7 @@ process, passing on the arguments as command line 
arguments.")
 (define-public haskell-mode
   (package
 (name "haskell-mode")
-(version "13.14.2")
+(version "16.1")
 (source (origin
   (method url-fetch)
   (file-name (string-append name "-" version ".tar.gz"))
@@ -583,7 +583,12 @@ process, passing on the arguments as command line 
arguments.")
 "https://github.com/haskell/haskell-mode/archive/v";
 version ".tar.gz"))
   (sha256
-   (base32 
"1kxc2yj8vb122dv91r68h7c5ladcryx963fr16plfhg71fv7f9av"
+   (base32 
"0g6lcjw7lcgavv3yrd8xjcyqgfyjl787y32r1z14amw2f009m78h"
+(inputs
+ `(("emacs-el-search" ,emacs-el-search) ; for tests
+   ("emacs-stream" ,emacs-stream))) ; for tests
+(propagated-inputs
+ `(("emacs-dash" ,emacs-dash)))
 (native-inputs
  `(("emacs" ,emacs-minimal)
("texinfo" ,texinfo)))
@@ -592,15 +597,38 @@ process, passing on the arguments as command line 
arguments.")
  `(#:make-flags (list (string-append "EMACS="
  (assoc-ref %build-inputs "emacs")
  "/bin/emacs"))
+   #:modules ((ice-9 match)
+  (srfi srfi-26)
+  ,@%gnu-build-system-modules)
#:phases
(modify-phases %standard-phases
  (delete 'configure)
  (add-before
   'build 'pre-build
   (lambda* (#:key inputs #:allow-other-keys)
+(define (el-dir store-dir)
+  (match (find-files store-dir)
+((f1 f2 ...) (dirname f1))
+(_ "")))
+
 (let ((sh (string-append (assoc-ref inputs "bash") "/bin/sh")))
+  (define emacs-prefix? (cut string-prefix? "emacs-" <>))
+
   (setenv "SHELL" "sh")
+  (setenv "EMACSLOADPATH"
+  (string-concatenate
+   (map (match-lambda
+  (((? emacs-prefix? name) . dir)
+   (string-append (el-dir dir) ":"))
+  (_ ""))
+inputs)))
   (substitute* (find-files "." "\\.el") (("/bin/sh") sh))
+  (substitute* "tests/haskell-code-conventions.el"
+;; Function name recently changed in "emacs-el-search".
+(("el-search--search-pattern") "el-search-forward")
+;; Don't contact home.
+(("\\(when \\(>= emacs-major-version 25\\)")
+ "(require 'el-search) (when nil"))
   #t)))
  (replace
   'install
@@ -621,9 +649,9 @@ process, passing on the arguments as command line 
arguments.")
 (install-file "haskell-mode.info" info))
(copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
(copy-to-dir el-dir (find-files "." "\\.elc?"))
-   ;; these are now distributed with emacs
+   ;; These are part of other packages.
(with-directory-excursion el-dir
- (for-each delete-file '("cl-lib.el" "ert.el")))
+ (for-each delete-file '("dash.el" "ert.el")))
#t))
 (home-page "https://github.com/haskell/haskell-mode";)
 (synopsis "Haskell mode for Emacs")



10/11: gnu: Add ghc-utility-ht.

2016-10-31 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit a5cbef03bac9ff5f423b050b88c58c3b6cd74381
Author: Federico Beffa 
Date:   Mon Oct 24 17:43:17 2016 +0200

gnu: Add ghc-utility-ht.

* gnu/packages/haskell.scm (ghc-utility-ht): New variable.
---
 gnu/packages/haskell.scm |   18 ++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 99f6144..2c53fdf 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7942,4 +7942,22 @@ manipulating fields of records.")
 Accessor to access state in transformers State monad.")
 (license license:bsd-3)))
 
+(define-public ghc-utility-ht
+  (package
+(name "ghc-utility-ht")
+(version "0.0.12")
+(home-page "https://hackage.haskell.org/package/utility-ht";)
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
+   (sha256
+(base32 "1vq5bd51rl9l5lgfmaqxgiggddk38hzgngcj7qgrqnalcd1myi54"
+(build-system haskell-build-system)
+(inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
+(synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
+(description "This package includes Hakell modules providing various
+helper functions for Lists, Maybes, Tuples, Functions.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here



05/11: gnu: Add chez-scmutils.

2016-10-31 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 149c6523780388c5374d7dc30b1b0f8eeafe3983
Author: Federico Beffa 
Date:   Sat Oct 22 10:58:32 2016 +0200

gnu: Add chez-scmutils.

* gnu/packages/chez.scm (chez-scmutils): New variable.
---
 gnu/packages/chez.scm |   66 +
 1 file changed, 66 insertions(+)

diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index fc4bf69..7d77cc3 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -498,3 +498,69 @@ strings.")
 libraries for Chez Scheme.  The main goal was to provide the functionality
 required to port the program 'Scmutils' to Chez Scheme.")
 (license gpl3+)))
+
+(define-public chez-scmutils
+  (package
+(name "chez-scmutils")
+(version "0.1")
+(home-page "https://github.com/fedeinthemix/chez-scmutils";)
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append home-page "/archive/v" version ".tar.gz"))
+   (sha256
+(base32 "1a5j61pggaiwl1gl6m038rcy5n8r2sj5nyjmz86jydx97mm5i8hj"))
+   (file-name (string-append name "-" version ".tar.gz"
+(build-system gnu-build-system)
+(inputs
+ `(("chez-srfi" ,chez-srfi)))  ; for tests
+(native-inputs
+ `(("chez-scheme" ,chez-scheme)))
+(propagated-inputs
+ `(("chez-mit" ,chez-mit)
+   ("chez-srfi" ,chez-srfi)))
+(arguments
+ `(#:make-flags ,(chez-make-flags name version)
+   #:tests? #f ; no test suite
+   #:phases
+   (modify-phases %standard-phases
+ (replace 'configure ,chez-configure)
+ ;; Since the documentation is lacking, we install the source
+ ;; code.  For things to work correctly we have to replace
+ ;; relative paths by absolute ones in 'include' forms.  This
+ ;; in turn requires us to compile the files in the final
+ ;; destination.
+ (delete 'build)
+ (add-after 'install 'install-src
+   (lambda* (#:key (make-flags '()) #:allow-other-keys)
+ (zero? (apply system* "make" "install-src" make-flags
+ (add-after 'install-src 'absolute-path-in-scm-files
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+   (for-each (lambda (file)
+   (substitute* file
+ (("include +\"\\./scmutils")
+  (string-append "include \"" (dirname file)
+ (find-files out "\\.sls"))
+   (for-each (lambda (file)
+   (substitute* file
+ (("include +\"\\./scmutils/simplify")
+  (string-append "include \"" (dirname file)
+ (find-files out "fbe-syntax\\.scm"))
+   #t)))
+ (add-after 'absolute-path-in-scm-files 'build
+   (lambda* (#:key outputs (make-flags '()) #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+(mk-file (car (find-files out "Makefile"
+   (with-directory-excursion (dirname mk-file)
+ (zero? (apply system* "make" "build" make-flags))
+ (add-after 'build 'clean-up
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out")))
+   (for-each delete-file
+ (find-files out "Makefile|compile-all\\.ss"
+(synopsis "Port of MIT/GNU Scheme Scmutils to Chez Scheme")
+(description "This package provides a port of the MIT/GNU Scheme
+Scmutils program to Chez Scheme.  The port consists of a set of
+libraries providing most of the functionality of the original.")
+(license gpl3+)))



09/11: gnu: Add ghc-data-access-transformers.

2016-10-31 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 81a1191922e25a5ae3e7e2764845fd31c715e2f3
Author: Federico Beffa 
Date:   Mon Oct 24 17:35:27 2016 +0200

gnu: Add ghc-data-access-transformers.

* gnu/packages/haskell.scm (ghc-data-access-transformers): New variable.
---
 gnu/packages/haskell.scm |   20 
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 26979f4..99f6144 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7922,4 +7922,24 @@ a set of wrappers to use the hash tables in the IO 
monad.")
 manipulating fields of records.")
 (license license:bsd-3)))
 
+(define-public ghc-data-accessor-transformers
+  (package
+(name "ghc-data-accessor-transformers")
+(version "0.2.1.7")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ 
"mirror://package/data-accessor-transformers/data-accessor-transformers-"
+ version ".tar.gz"))
+   (sha256
+(base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"
+(build-system haskell-build-system)
+(inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
+(home-page "http://www.haskell.org/haskellwiki/Record_access";)
+(synopsis "Use Accessor to access state in transformers State monad")
+(description "This package provides Haskell modules to allow use of
+Accessor to access state in transformers State monad.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here



11/11: gnu: Add ghc-gnuplot.

2016-10-31 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 1a86b671cef2a65f437758f35e73f48b0ed41fb7
Author: Federico Beffa 
Date:   Mon Oct 24 17:49:35 2016 +0200

gnu: Add ghc-gnuplot.

* gnu/packages/haskell.scm (ghc-gnuplot): 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 2c53fdf..331057a 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7960,4 +7960,38 @@ Accessor to access state in transformers State monad.")
 helper functions for Lists, Maybes, Tuples, Functions.")
 (license license:bsd-3)))
 
+(define-public ghc-gnuplot
+  (package
+(name "ghc-gnuplot")
+(version "0.5.4.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "mirror://package/gnuplot/gnuplot-"
+ version ".tar.gz"))
+   (sha256
+(base32 "1xz8prw9xjk0rsyrkp9bsmxykzrbhpv9qhhkdapy75mdbmgwjm7s"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-temporary" ,ghc-temporary)
+   ("ghc-utility-ht" ,ghc-utility-ht)
+   ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
+   ("ghc-data-accessor" ,ghc-data-accessor)
+   ("gnuplot" ,gnuplot)))
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-before 'configure 'fix-path-to-gnuplot
+   (lambda* (#:key inputs #:allow-other-keys)
+ (let ((gnuplot (assoc-ref inputs "gnuplot")))
+   (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
+ (("(gnuplotName = ).*$" all cmd)
+  (string-append cmd "\"" gnuplot "/bin/gnuplot\"")
+(home-page "http://www.haskell.org/haskellwiki/Gnuplot";)
+(synopsis "2D and 3D plots using gnuplot")
+(description "This package provides a Haskell module for creating 2D and
+3D plots using gnuplot.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here



08/11: gnu: Add ghc-data-accessor.

2016-10-31 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 505e0150dc079427eba2fa5148ab74de8784757e
Author: Federico Beffa 
Date:   Mon Oct 24 17:30:50 2016 +0200

gnu: Add ghc-data-accessor.

* gnu/packages/haskell.scm (ghc-data-accessor): New variable.
---
 gnu/packages/haskell.scm |   20 
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index a933162..26979f4 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7902,4 +7902,24 @@ monad, as well as a typeclass abstracting their common 
operations, and
 a set of wrappers to use the hash tables in the IO monad.")
 (license license:bsd-3)))
 
+(define-public ghc-data-accessor
+  (package
+(name "ghc-data-accessor")
+(version "0.2.2.7")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "mirror://package/data-accessor/data-accessor-"
+ version ".tar.gz"))
+   (sha256
+(base32 "1vf2g1gac3rm32g97rl0fll51m88q7ry4m6khnl5j47qsmx24r9l"
+(build-system haskell-build-system)
+(home-page "http://www.haskell.org/haskellwiki/Record_access";)
+(synopsis
+ "Haskell utilities for accessing and manipulating fields of records")
+(description "This package provides Haskell modules for accessing and
+manipulating fields of records.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here



06/11: gnu: geiser-next: Re-introduce it.

2016-10-31 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 6af886f492a7718a992226d1c2baac7cae04b407
Author: Federico Beffa 
Date:   Mon Oct 24 09:56:35 2016 +0200

gnu: geiser-next: Re-introduce it.

* gnu/packages/emacs.scm (geiser-next): Re-introduce it.
---
 gnu/packages/emacs.scm |   32 ++--
 1 file changed, 30 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 5050f2e..1757a66 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -298,8 +298,36 @@ metadata.")
 (license license:bsd-3)))
 
 (define-public geiser-next
-  ;; This has become "geiser".
-  (deprecated-package "geiser-next" geiser))
+  ;; Geiser's upcoming version supports Chibi and Chez, while it was forgot to
+  ;; include some required files in 0.9.  When the next Geiser release comes
+  ;; out, we can remove this.
+  (let ((commit "16035b9fa475496f7f89a57fa81455057af749a0")
+(revision "1"))
+(package
+  (inherit geiser)
+  (name "geiser-next")
+  (version (string-append "0.9-" revision "." (string-take commit 7)))
+  (source (origin
+(method git-fetch)
+(file-name (string-append name "-" version ".tar.gz"))
+(uri (git-reference
+  (url "git://git.sv.gnu.org/geiser.git")
+  (commit commit)))
+(sha256
+ (base32
+  "1rrafizrhjkai0msryjiz4c5dcdyihf0i2wmgiy8br74rwbxpyl5"
+  (native-inputs
+   `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("texinfo" ,texinfo)
+ ,@(package-native-inputs geiser)))
+  (arguments
+   (substitute-keyword-arguments (package-arguments geiser)
+ ((#:phases phases)
+  `(modify-phases ,phases
+ (add-after 'unpack 'autogen
+   (lambda _
+ (zero? (system* "sh" "autogen.sh")))
 
 (define-public paredit
   (package



02/17: gnu: chez-scheme: Fix i686 build.

2016-10-18 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit f7616df4afc1b1c81d722d3beae2ca6830065f6f
Author: Federico Beffa 
Date:   Mon Oct 17 09:01:11 2016 +0200

gnu: chez-scheme: Fix i686 build.

* gnu/packages/scheme.scm (chez-scheme): Add 'configure-flags', generalize
  'configure' phase and simplify 'install-doc' phase.
---
 gnu/packages/scheme.scm |   21 -
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index c461efb..10368b2 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -645,6 +645,14 @@ threads.")
   (guix build utils)
   (ice-9 match))
#:test-target "test"
+   #:configure-flags
+   (list ,(match (or (%current-target-system) (%current-system))
+("x86_64-linux" '(list "--machine=ta6le"))
+("i686-linux" '(list "--machine=ti3le"))
+;; FIXME: Some people succeeded in cross-compiling to
+;; ARM. https://github.com/cisco/ChezScheme/issues/13
+(_
+ '(
#:phases
(modify-phases %standard-phases
  ;; Adapt the custom 'configure' script.
@@ -673,12 +681,9 @@ threads.")
(substitute* (find-files "./c" "Mf-[a-zA-Z0-9.]+")
  (("\\$\\{Kernel\\}: \\$\\{kernelobj\\} \\.\\./zlib/libz\\.a")
   "${Kernel}: ${kernelobj}")
- (("ld -melf_x86_64 -r -X -o \\$\\{Kernel\\} 
\\$\\{kernelobj\\} \\.\\./zlib/libz\\.a")
-  (string-append "ld -melf_x86_64 -r -X -o ${Kernel} 
${kernelobj} "
- zlib "/lib/libz.a"))
- (("\\(cd \\.\\./zlib; CFLAGS=-m64 \\./configure --64)")
-  (which "true"))
- (("(cd \\.\\./zlib; make)")
+ (("ld ([-a-zA-Z0-9_${} ]+) \\.\\./zlib/libz\\.a" all args)
+  (string-append "ld " args " " zlib "/lib/libz.a"))
+ (("\\(cd \\.\\./zlib; ([-a-zA-Z0-9=./ ]+))")
   (which "true")))
(substitute* (find-files "mats" "Mf-.*")
  (("^[[:space:]]+(cc ) *") "\tgcc "))
@@ -715,9 +720,7 @@ threads.")
(system* "make" "docs")
(with-directory-excursion "csug"
  (substitute* "Makefile"
-   (("/tmp/csug9") doc)
-   (("^m = a6le")
-"m := $(shell echo '(machine-type)' | scheme -q)"))
+   (("/tmp/csug9") doc))
  (system* "make" "install")
  (install-file "csug.pdf" doc))
(with-directory-excursion "release_notes"



04/17: gnu: Add chez-srfi.

2016-10-18 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit c344b85dd089db106bbd76fe756f1138662f9753
Author: Federico Beffa 
Date:   Sun Oct 16 15:49:36 2016 +0200

gnu: Add chez-srfi.

* gnu/packages/chez.scm (chez-srfi): New variable.
---
 gnu/packages/chez.scm |   28 
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index 6b694b8..8d562d7 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -194,3 +194,31 @@ Revised^6 Report on Scheme (R6RS), with numerous 
extensions.  The compiler
 generates native code for each target processor, with support for x86, x86_64,
 and 32-bit PowerPC architectures.")
 (license asl2.0)))
+
+(define-public chez-srfi
+  (package
+(name "chez-srfi")
+(version "1.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://github.com/fedeinthemix/chez-srfi/archive";
+ "/v" version ".tar.gz"))
+   (sha256
+(base32 "17i4wly7bcr5kb5hf04ljpbvv4r5hsr9xsmw650fj43z9jr303gs"))
+   (file-name (string-append name "-" version ".tar.gz"
+(build-system gnu-build-system)
+(native-inputs
+ `(("chez-scheme" ,chez-scheme)))
+(arguments
+ `(#:make-flags (let ((out (assoc-ref %outputs "out")))
+  (list (string-append "PREFIX=" out)))
+   #:test-target "test"
+   #:phases (modify-phases %standard-phases
+  (delete 'configure
+(home-page "https://github.com/fedeinthemix/chez-srfi";)
+(synopsis "SRFI libraries for Chez Scheme")
+(description
+ "This package provides a collection of SRFI libraries for Chez Scheme.")
+(license expat)))



03/17: gnu: chez-scheme: Move to new module.

2016-10-18 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 13bbc0cc94902a9f442d8c594f3970afcf90bda5
Author: Federico Beffa 
Date:   Mon Oct 17 09:05:39 2016 +0200

gnu: chez-scheme: Move to new module.

* gnu/packages/scheme.scm (chez-scheme, nanopass, stex): Move variables ...
* gnu/packages/chez.scm (chez-scheme, nanopass, stex): ... here. New module.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add new file.
---
 gnu/local.mk|1 +
 gnu/packages/chez.scm   |  196 +++
 gnu/packages/scheme.scm |  161 --
 3 files changed, 197 insertions(+), 161 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index f275775..c2a0df0 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -69,6 +69,7 @@ GNU_SYSTEM_MODULES =  \
   %D%/packages/cdrom.scm   \
   %D%/packages/certs.scm   \
   %D%/packages/check.scm   \
+  %D%/packages/chez.scm\
   %D%/packages/ci.scm  \
   %D%/packages/cmake.scm   \
   %D%/packages/code.scm\
diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
new file mode 100644
index 000..6b694b8
--- /dev/null
+++ b/gnu/packages/chez.scm
@@ -0,0 +1,196 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Federico Beffa 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages chez)
+  #:use-module (gnu packages)
+  #:use-module ((guix licenses)
+#:select (gpl2+ lgpl2.0+ lgpl2.1+ asl2.0 bsd-3 expat))
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix utils)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages ghostscript)
+  #:use-module (gnu packages netpbm)
+  #:use-module (gnu packages tex)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages xorg)
+  #:use-module (ice-9 match))
+
+(define nanopass
+  (let ((version "1.9"))
+(origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/nanopass/nanopass-framework-scheme/archive";
+"/v" version ".tar.gz"))
+  (sha256 (base32 "11pwyy4jiwhcl2am3a4ciczacjbjkyvdizqzdglb3l1hj2gj6nv2"))
+  (file-name (string-append "nanopass-" version ".tar.gz")
+
+(define stex
+  (let ((version "1.2.1"))
+(origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/dybvig/stex/archive";
+"/v" version ".tar.gz"))
+  (sha256 (base32 "03pl3f668h24dn51vccr1sj5lsba9zq3j37bnxjvdadcdaj4qy5z"))
+  (file-name (string-append "stex-" version ".tar.gz")
+
+(define-public chez-scheme
+  (package
+(name "chez-scheme")
+(version "9.4")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://github.com/cisco/ChezScheme/archive/";
+   "v" version ".tar.gz"))
+   (sha256
+(base32 "0lprmpsjg2plc6ykgkz482zyvhkzv6gd0vnar71ph21h6zknyklz"))
+   (file-name (string-append "chez-scheme-" version ".tar.gz"
+(build-system gnu-build-system)
+(inputs
+ `(("ncurses" ,ncurses)
+   ("libx11" ,libx11)
+   ("xorg-rgb" ,xorg-rgb)
+   ("nanopass" ,nanopass)
+   ("zlib" ,zlib)
+   ("stex" ,stex)))
+(native-inputs
+ `(("texlive" ,texlive)
+   ("ghostscript" ,ghostscript-gs)
+   ("netpbm" ,netpbm)))
+(native-search-paths
+ (list (search-path-specification
+(variable "CHEZSCHEMELIBDIRS")
+(files (list (string-append "lib/csv" version "-site"))
+(outputs '("out" "doc"))
+(arguments
+ `(#:modules ((guix build gnu-build-system)
+ 

13/17: gnu: Add ghc-hmatrix-special.

2016-10-18 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 271a5365aa9d31edd4c4b69cc36b73b37d4a930a
Author: Federico Beffa 
Date:   Sun Oct 16 16:29:51 2016 +0200

gnu: Add ghc-hmatrix-special.

* gnu/packages/haskell.scm (ghc-hmatrix-special): 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 9c343cf..8a458c6 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7676,4 +7676,27 @@ interface to selected numerical computations, internally 
implemented
 using GSL.")
 (license license:gpl3+)))
 
+(define-public ghc-hmatrix-special
+  (package
+(name "ghc-hmatrix-special")
+(version "0.4.0.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri
+(string-append
+ "http://hackage.haskell.org/package/hmatrix-special/hmatrix-special-";
+ version ".tar.gz"))
+   (sha256
+(base32 "0cr9y3swzj7slrd84g1nhdkp1kpq4q5ihwapmiaidpr2bv3hrfhz"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-hmatrix" ,ghc-hmatrix)
+   ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
+(home-page "https://github.com/albertoruiz/hmatrix";)
+(synopsis "Haskell interface to GSL special functions")
+(description "This library provides an interface to GSL special
+functions for Haskell.")
+(license license:gpl3+)))
+
 ;;; haskell.scm ends here



16/17: gnu: Add ghc-hashtables.

2016-10-18 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 1bd00f1737021370a031db43f890b4ae57aa2d13
Author: Federico Beffa 
Date:   Sun Oct 16 16:55:18 2016 +0200

gnu: Add ghc-hashtables.

* gnu/packages/haskell.scm (ghc-hashtables): 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 8d83308..ae8d6e6 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7749,4 +7749,29 @@ interface for statistics based on hmatrix and GSL.")
 Haskell, using gnuplot for rendering.")
 (license license:expat)))
 
+(define-public ghc-hashtables
+  (package
+(name "ghc-hashtables")
+(version "1.2.1.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "http://hackage.haskell.org/package/hashtables/hashtables-";
+ version ".tar.gz"))
+   (sha256
+(base32 "1b6w9xznk42732vpd8ili60k12yq190xnajgga0iwbdpyg424lgg"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-hashable" ,ghc-hashable)
+   ("ghc-primitive" ,ghc-primitive)
+   ("ghc-vector" ,ghc-vector)))
+(home-page "http://github.com/gregorycollins/hashtables";)
+(synopsis "Haskell Mutable hash tables in the ST monad")
+(description "This package provides a Haskell library including a
+couple of different implementations of mutable hash tables in the ST
+monad, as well as a typeclass abstracting their common operations, and
+a set of wrappers to use the hash tables in the IO monad.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here



05/17: gnu: Add chez-web

2016-10-18 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 4dfe4eee55b70d4ec1bf79dcd1aa441250086498
Author: Federico Beffa 
Date:   Sun Oct 16 15:59:49 2016 +0200

gnu: Add chez-web

* gnu/packages/chez.scm (chez-web): New variable.
---
 gnu/packages/chez.scm |   53 -
 1 file changed, 52 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index 8d562d7..bfcf1b0 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -19,9 +19,11 @@
 (define-module (gnu packages chez)
   #:use-module (gnu packages)
   #:use-module ((guix licenses)
-#:select (gpl2+ lgpl2.0+ lgpl2.1+ asl2.0 bsd-3 expat))
+#:select (gpl2+ lgpl2.0+ lgpl2.1+ asl2.0 bsd-3 expat
+  public-domain))
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages compression)
@@ -222,3 +224,52 @@ and 32-bit PowerPC architectures.")
 (description
  "This package provides a collection of SRFI libraries for Chez Scheme.")
 (license expat)))
+
+(define-public chez-web
+  (let ((commit "5fd177fe53f31f466bf88720d03c95a3711a8bea")
+(revision "1"))
+(package
+  (name "chez-web")
+  ;; release 2.0 is different and doesn't work.
+  (version (string-append "2.0-" revision "."
+  (string-take commit 7)))
+  (source
+   (origin
+ (method git-fetch)
+ (uri (git-reference
+   (url "https://github.com/arcfide/ChezWEB.git";)
+   (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+  (base32 "1dq25qygyncbfq4kwwqqgyyakfqjwhp5q23vrf3bff1p66nyfl3b"
+  (build-system gnu-build-system)
+  (native-inputs
+   `(("chez-scheme" ,chez-scheme)
+ ("texlive" ,texlive)))
+  (arguments
+   `(#:make-flags (list (string-append "PREFIX=" %output)
+(string-append "DOCDIR=" %output "/share/doc/"
+   ,name "-" ,version)
+(string-append "LIBDIR=" %output "/lib/chezweb")
+(string-append "TEXDIR=" %output 
"/share/texmf-local"))
+  #:tests? #f; no tests
+  #:phases
+  (modify-phases %standard-phases
+(replace 'configure
+  (lambda* _
+(copy-file "config.mk.template" "config.mk")
+(substitute* "tangleit"
+  (("\\./cheztangle\\.ss" all)
+   (string-append "chez-scheme --program " all)))
+(substitute* "weaveit"
+  (("mpost chezweb\\.mp")
+   "mpost --tex=tex chezweb.mp")
+  (("\\./chezweave" all)
+   (string-append "chez-scheme --program " all)))
+(substitute* "installit"
+  (("-g \\$GROUP -o \\$OWNER") "")))
+  (home-page "https://github.com/arcfide/ChezWEB";)
+  (synopsis "Hygienic Literate Programming for Chez Scheme")
+  (description "ChezWEB is a system for doing Knuthian style WEB
+programming in Scheme.")
+  (license expat



11/17: gnu: Add ghc-hmatrix.

2016-10-18 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 95595618b116774ac5e4ba86c0e02ea0b46dbed3
Author: Federico Beffa 
Date:   Sun Oct 16 16:25:26 2016 +0200

gnu: Add ghc-hmatrix.

* gnu/packages/haskell.scm (ghc-hmatrix): New variable.
---
 gnu/packages/haskell.scm |   33 -
 1 file changed, 32 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 50b09ef..cca35d9 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015 Federico Beffa 
+;;; Copyright © 2015, 2016 Federico Beffa 
 ;;; Copyright © 2015 Siniša Biđin 
 ;;; Copyright © 2015 Paul van der Walt 
 ;;; Copyright © 2015 Eric Bavier 
@@ -44,6 +44,7 @@
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages libedit)
   #:use-module (gnu packages lua)
+  #:use-module (gnu packages maths)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages python)
@@ -7619,4 +7620,34 @@ Storable instance for Complex which is binary compatible 
with C99, C++
 and Fortran complex data types.")
 (license license:bsd-3)))
 
+(define-public ghc-hmatrix
+  (package
+(name "ghc-hmatrix")
+(version "0.17.0.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "http://hackage.haskell.org/package/hmatrix/hmatrix-";
+ version ".tar.gz"))
+   (sha256
+(base32 "1fgsrh2y9y971pzrd3767rg97bjr1ghpdvwmn1nn65s90rc9bv98"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-random" ,ghc-random)
+   ("ghc-split" ,ghc-split)
+   ("ghc-storable-complex" ,ghc-storable-complex)
+   ("ghc-vector" ,ghc-vector)
+   ;;("openblas" ,openblas)
+   ("lapack" ,lapack)))
+;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
+;; disables inclusion of the LAPACK functions.
+;; (arguments `(#:configure-flags '("--flags=openblas")))
+(home-page "https://github.com/albertoruiz/hmatrix";)
+(synopsis "Haskell numeric linear algebra library")
+(description "The HMatrix package provices a Haskell library for
+dealing with linear systems, matrix decompositions, and other
+numerical computations based on BLAS and LAPACK.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here



15/17: gnu: Add ghc-easyplot.

2016-10-18 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit db61a00971fbc4f197dd147419fa66212169e4b4
Author: Federico Beffa 
Date:   Sun Oct 16 16:53:06 2016 +0200

gnu: Add ghc-easyplot.

* gnu/packages/haskell.scm (ghc-easyplot): 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 1c16e18..8d83308 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7725,4 +7725,28 @@ functions for Haskell.")
 interface for statistics based on hmatrix and GSL.")
 (license license:bsd-3)))
 
+(define-public ghc-easyplot
+  (package
+(name "ghc-easyplot")
+(version "1.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "http://hackage.haskell.org/package/easyplot/easyplot-";
+ version ".tar.gz"))
+   (sha256
+(base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"
+(build-system haskell-build-system)
+(propagated-inputs `(("gnuplot" ,gnuplot)))
+(arguments
+ `(#:phases (modify-phases %standard-phases
+  (add-after 'unpack 'fix-setup-suffix
+(lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)
+(home-page "http://hub.darcs.net/scravy/easyplot";)
+(synopsis "Haskell plotting library based on gnuplot")
+(description "This package provides a plotting library for
+Haskell, using gnuplot for rendering.")
+(license license:expat)))
+
 ;;; haskell.scm ends here



17/17: gnu: Add GHC 8.0.1.

2016-10-18 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 7d95c0006a4ea505a78bf42707e5abcce4870170
Author: Federico Beffa 
Date:   Sun Oct 16 17:01:46 2016 +0200

gnu: Add GHC 8.0.1.

* gnu/packages/haskell.scm (ghc-8): New variable.
---
 gnu/packages/haskell.scm |  128 ++
 1 file changed, 128 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index ae8d6e6..a933162 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -261,6 +261,134 @@
 interactive environment for the functional language Haskell.")
 (license license:bsd-3)))
 
+(define-public ghc-8
+  (package
+(name "ghc")
+(version "8.0.1")
+(source
+ (origin
+  (method url-fetch)
+  (uri (string-append "https://www.haskell.org/ghc/dist/";
+  version "/" name "-" version "-src.tar.xz"))
+  (sha256
+   (base32 "1lniqy29djhjkddnailpaqhlqh4ld2mqvb1fxgxw1qqjhz6j1ywh"
+(build-system gnu-build-system)
+(supported-systems '("i686-linux" "x86_64-linux"))
+(outputs '("out" "doc"))
+(inputs
+ `(("gmp" ,gmp)
+   ("ncurses" ,ncurses)
+   ("libffi" ,libffi)
+   ("libedit" ,libedit)
+   ("ghc-testsuite"
+,(origin
+   (method url-fetch)
+   (uri (string-append
+ "https://www.haskell.org/ghc/dist/";
+ version "/" name "-" version "-testsuite.tar.xz"))
+   (sha256
+(base32 
"0lc1vjivkxn01aw3jg2gd7fmqb5pj7a5j987c7pn5r7caqv1cmxw"))
+(native-inputs
+ `(("perl" ,perl)
+   ("python" ,python-2); for tests
+   ("ghostscript" ,ghostscript); for tests
+   ;; GHC is built with GHC.
+   ("ghc-bootstrap" ,ghc)))
+(arguments
+ `(#:test-target "test"
+   ;; We get a smaller number of test failures by disabling parallel test
+   ;; execution.
+   #:parallel-tests? #f
+
+   ;; The DSOs use $ORIGIN to refer to each other, but (guix build
+   ;; gremlin) doesn't support it yet, so skip this phase.
+   #:validate-runpath? #f
+
+   ;; Don't pass --build=, because the configure script
+   ;; auto-detects slightly different triplets for --host and --target and
+   ;; then complains that they don't match.
+   #:build #f
+
+   #:modules ((guix build gnu-build-system)
+  (guix build utils)
+  (guix build rpath)
+  (srfi srfi-26)
+  (srfi srfi-1))
+   #:imported-modules (,@%gnu-build-system-modules
+   (guix build rpath))
+   #:configure-flags
+   (list
+(string-append "--with-gmp-libraries="
+   (assoc-ref %build-inputs "gmp") "/lib")
+(string-append "--with-gmp-includes="
+   (assoc-ref %build-inputs "gmp") "/include")
+"--with-system-libffi"
+(string-append "--with-ffi-libraries="
+   (assoc-ref %build-inputs "libffi") "/lib")
+(string-append "--with-ffi-includes="
+   (assoc-ref %build-inputs "libffi") "/include")
+(string-append "--with-curses-libraries="
+   (assoc-ref %build-inputs "ncurses") "/lib")
+(string-append "--with-curses-includes="
+   (assoc-ref %build-inputs "ncurses") "/include"))
+   #:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'unpack-testsuite
+   (lambda* (#:key inputs #:allow-other-keys)
+ (with-directory-excursion ".."
+   (copy-file (assoc-ref inputs "ghc-testsuite")
+  "ghc-testsuite.tar.xz")
+   (zero? (system* "tar" "xvf" "ghc-testsuite.tar.xz")
+ (add-before 'build 'fix-lib-paths
+   (lambda _
+ (substitute*
+ (list "libraries/process/System/Process/Posix.hs"
+   "libraries/process/tests/process001.hs"
+   "libraries/process/tests/process002.hs"
+   "libraries/unix/cbits/execvpe.c")
+   (("/bin/sh") (which "sh"))
+   (("/bin/ls") (which "ls")))
+ #t))
+ (add-before 'build 'fix-environment
+   (lambda _
+  

14/17: gnu: Add ghc-hmatrix-gsl-stats.

2016-10-18 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 4225c7116d934167dee3cfab2ff04d57c6a1e46a
Author: Federico Beffa 
Date:   Sun Oct 16 16:32:03 2016 +0200

gnu: Add ghc-hmatrix-gsl-stats.

* gnu/packages/haskell.scm (ghc-hmatrix-gsl-stats): 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 8a458c6..1c16e18 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7699,4 +7699,30 @@ using GSL.")
 functions for Haskell.")
 (license license:gpl3+)))
 
+(define-public ghc-hmatrix-gsl-stats
+  (package
+(name "ghc-hmatrix-gsl-stats")
+(version "0.4.1.3")
+(source
+ (origin
+   (method url-fetch)
+   (uri
+(string-append
+ 
"http://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-";
+ version ".tar.gz"))
+   (sha256
+(base32 "0f3pzi494n4js0xiq5b38n07cnby0h9da6gmwywf8plvxm9271fl"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-vector" ,ghc-vector)
+   ("ghc-storable-complex" ,ghc-storable-complex)
+   ("ghc-hmatrix" ,ghc-hmatrix)
+   ("gsl" ,gsl)))
+(native-inputs `(("pkg-config" ,pkg-config)))
+(home-page "http://code.haskell.org/hmatrix-gsl-stats";)
+(synopsis "GSL Statistics interface for Haskell")
+(description "This Haskell library provides a purely functional
+interface for statistics based on hmatrix and GSL.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here



06/17: gnu: Add chez-sockets

2016-10-18 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 74f9c19092e6efeef5068dbf6d024c2554d45f07
Author: Federico Beffa 
Date:   Tue Oct 18 09:14:34 2016 +0200

gnu: Add chez-sockets

* gnu/packages/chez.scm (chez-sockets): New variable.
---
 gnu/packages/chez.scm |   79 +
 1 file changed, 79 insertions(+)

diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index bfcf1b0..3971535 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -273,3 +273,82 @@ and 32-bit PowerPC architectures.")
   (description "ChezWEB is a system for doing Knuthian style WEB
 programming in Scheme.")
   (license expat
+
+(define-public chez-sockets
+  (let ((commit "bce96881c06bd69a6757a6bff139744153924140")
+(revision "1"))
+(package
+  (name "chez-sockets")
+  (version (string-append "0.0-" revision "."
+  (string-take commit 7)))
+  (source
+   (origin
+ (method git-fetch)
+ (uri (git-reference
+   (url "https://github.com/arcfide/chez-sockets.git";)
+   (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+  (base32 "1n5fbwwz51fdzvjackgmnsgh363g9inyxv7kmzi0469cwavwcx5m"
+  (build-system gnu-build-system)
+  (native-inputs
+   `(("chez-scheme" ,chez-scheme)
+ ("chez-web" ,chez-web)
+ ("texlive" ,texlive)))
+  (arguments
+   `(#:tests? #f  ; no tests
+ #:phases
+ (modify-phases %standard-phases
+   (replace 'configure
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+   (let* ((out (assoc-ref outputs "out"))
+  (chez-web (assoc-ref inputs "chez-web"))
+  (chez (assoc-ref inputs "chez-scheme"))
+  (chez-h (dirname (car (find-files chez "scheme\\.h")
+ (substitute* "Makefile"
+   (("(SCHEMEH=).*$" all var)
+(string-append var chez-h)))
+ #t)))
+   (add-before 'build 'tangle
+ (lambda _
+   ;; just using "make" tries to build the .c files before
+   ;; they are created.
+   (and (zero? (system* "make" "sockets"))
+(zero? (system* "make")
+   (replace 'build
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+   (let* ((out (assoc-ref outputs "out"))
+  (chez-site (string-append out "/lib/csv"
+,(package-version chez-scheme)
+"-site/arcfide")))
+ ;; make sure Chez Scheme can find the shared libraries.
+ (substitute* "sockets.ss"
+   (("(load-shared-object) 
\"(socket-ffi-values\\.[sd][oy].*)\""
+ all cmd so)
+(string-append cmd " \"" chez-site "/" so "\""))
+   (("sockets-stub\\.[sd][oy].*" all)
+(string-append chez-site "/" all)))
+ ;; to compile chez-sockets, the .so files must be
+ ;; installed (because of the absolute path we
+ ;; inserted above).
+ (for-each (lambda (f d) (install-file f d))
+   '("socket-ffi-values.so" "sockets-stub.so")
+   (list chez-site chez-site))
+ (zero? (system "echo '(compile-file \"sockets.sls\")' | 
scheme -q")
+   (replace 'install
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+   (let* ((out (assoc-ref outputs "out"))
+  (lib (string-append out "/lib/chez-sockets"))
+  (doc (string-append out "/share/doc/" ,name "-" 
,version))
+  (chez-site (string-append out "/lib/csv"
+,(package-version chez-scheme)
+"-site/arcfide")))
+ (for-each (lambda (f d) (install-file f d))
+   '("sockets.pdf" "sockets.so")
+   (list doc chez-site))
+ #t))
+  (home-page "https://github.com/arcfide/chez-sockets";)
+  (synopsis "Extensible sockets library for Chez Scheme")
+  (description "Chez-sockets is an extensible sockets library for
+Chez Scheme.")
+  (license expat



09/17: gnu: Add chez-fmt.

2016-10-18 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit fb6d2d75f3166af28959aab63fd001bda8aa77bb
Author: Federico Beffa 
Date:   Sun Oct 16 16:12:25 2016 +0200

gnu: Add chez-fmt.

* gnu/packages/chez.scm (chez-fmt): New variable.
---
 gnu/packages/chez.scm |   38 ++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index 1574431..0a74c3f 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -432,3 +432,41 @@ R[4567]RS implementation of regular expressions, 
supporting both POSIX
 syntax with various (irregular) PCRE extensions, as well as SCSH's SRE
 syntax, with various aliases for commonly used patterns.")
 (license bsd-3)))
+
+(define-public chez-fmt
+  (package
+(name "chez-fmt")
+(version "0.8.11")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "http://synthcode.com/scheme/fmt/fmt-"; version ".tar.gz"))
+   (sha256
+(base32 "1zxqlw1jyg85yzclylh8bp2b3fwcy3l3xal68jw837n5illvsjcl"))
+   (file-name (string-append name "-" version ".tar.gz"
+(build-system gnu-build-system)
+(propagated-inputs
+ `(("chez-srfi" ,chez-srfi))) ; for irregex-utils
+(native-inputs
+ `(("chez-scheme" ,chez-scheme)))
+(arguments
+ `(#:make-flags ,(chez-make-flags name version)
+   #:test-target "chez-check"
+   #:phases
+   (modify-phases %standard-phases
+ (replace 'configure ,chez-configure)
+ (replace 'build
+   (lambda* (#:key (make-flags '()) #:allow-other-keys)
+ (zero? (apply system* "make" "chez-build" make-flags
+ (replace 'install
+   (lambda* (#:key (make-flags '()) #:allow-other-keys)
+ (zero? (apply system* "make" "chez-install" make-flags)))
+(home-page "http://synthcode.com/scheme/fmt";)
+(synopsis "Combinator formatting library for Chez Scheme")
+(description "This package provides a library of procedures for
+formatting Scheme objects to text in various ways, and for easily
+concatenating, composing and extending these formatters efficiently
+without resorting to capturing and manipulating intermediate
+strings.")
+(license bsd-3)))



08/17: gnu: Add chez-irregex.

2016-10-18 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 87d6c9ef8a09556a4af678fa158decf28732b631
Author: Federico Beffa 
Date:   Sun Oct 16 16:10:31 2016 +0200

gnu: Add chez-irregex.

* gnu/packages/chez.scm (chez-irregex): New variable.
---
 gnu/packages/chez.scm |   33 +
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index 366923b..1574431 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -399,3 +399,36 @@ Chez Scheme.")
 @code{match} package by Andrew Wright, written in fully portable
 @code{syntax-rules} and thus preserving hygiene.")
 (license public-domain)))
+
+(define-public chez-irregex
+  (package
+(name "chez-irregex")
+(version "0.9.4")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://github.com/fedeinthemix/chez-irregex/archive";
+ "/v" version ".tar.gz"))
+   (sha256
+(base32 "0ywy5syaw549a58viz68dmgnv756ic705rcnlqxgjq27lnaim53b"))
+   (file-name (string-append name "-" version ".tar.gz"
+(build-system gnu-build-system)
+(inputs
+ `(("chez-matchable" ,chez-matchable))) ; for tests
+(propagated-inputs
+ `(("chez-srfi" ,chez-srfi))) ; for irregex-utils
+(native-inputs
+ `(("chez-scheme" ,chez-scheme)))
+(arguments
+ `(#:make-flags ,(chez-make-flags name version)
+   #:test-target "test"
+   #:phases (modify-phases %standard-phases
+  (replace 'configure ,chez-configure
+(home-page "https://github.com/fedeinthemix/chez-irregex";)
+(synopsis "Portable regular expression library for Scheme")
+(description "This package provides a portable and efficient
+R[4567]RS implementation of regular expressions, supporting both POSIX
+syntax with various (irregular) PCRE extensions, as well as SCSH's SRE
+syntax, with various aliases for commonly used patterns.")
+(license bsd-3)))



10/17: gnu: Add ghc-storable-complex.

2016-10-18 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 7257fba133b073a8434726734e16531d31f4
Author: Federico Beffa 
Date:   Sun Oct 16 16:19:32 2016 +0200

gnu: Add ghc-storable-complex.

* gnu/packages/haskell.scm (ghc-storable-complex): 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 52e4bc3..50b09ef 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7598,4 +7598,25 @@ versions of these packages distributed with different 
versions of GHC.
 In particular, this library supports working with POSIX files that have paths
 which can't be decoded in the current locale encoding.")
 (license license:expat)))
+
+(define-public ghc-storable-complex
+  (package
+(name "ghc-storable-complex")
+(version "0.2.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ 
"http://hackage.haskell.org/package/storable-complex/storable-complex-";
+ version ".tar.gz"))
+   (sha256
+(base32 "01kwwkpbfjrv26vj83cd92px5qbq1bpgxj0r45534aksqhany1xb"
+(build-system haskell-build-system)
+(home-page "https://github.com/cartazio/storable-complex";)
+(synopsis "Haskell Storable instance for Complex")
+(description "This package provides a Haskell library including a
+Storable instance for Complex which is binary compatible with C99, C++
+and Fortran complex data types.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here



07/17: gnu: Add chez-matchable

2016-10-18 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 387541907fbd948cafad300b48dc8cc15cb1a6c3
Author: Federico Beffa 
Date:   Tue Oct 18 09:16:06 2016 +0200

gnu: Add chez-matchable

* gnu/packages/chez.scm (chez-matchable): New variable.
---
 gnu/packages/chez.scm |   47 +++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index 3971535..366923b 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -352,3 +352,50 @@ programming in Scheme.")
   (description "Chez-sockets is an extensible sockets library for
 Chez Scheme.")
   (license expat
+
+;; Help function for Chez Scheme to add the current path to
+;; CHEZSCHEMELIBDIRS.
+(define chez-configure
+  '(lambda _
+ (let ((chez-env (getenv "CHEZSCHEMELIBDIRS")))
+   (setenv "CHEZSCHEMELIBDIRS"
+   (if chez-env
+   (string-append ".:" chez-env)
+   "."))
+   #t)))
+
+;; Help function to define make flags for some Chez Scheme custom make
+;; files.
+(define (chez-make-flags name version)
+  `(let ((out (assoc-ref %outputs "out")))
+ (list (string-append "PREFIX=" out)
+   (string-append "DOCDIR=" out "/share/doc/"
+  ,name "-" ,version
+
+(define-public chez-matchable
+  (package
+(name "chez-matchable")
+(version "20160306")
+(home-page "https://github.com/fedeinthemix/chez-matchable";)
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append home-page "/archive" "/v" version ".tar.gz"))
+   (sha256
+(base32 "0cl4vc6487pikjq159pj4n5ghyaax31nywb5n4yn1682h3ir1hs0"))
+   (file-name (string-append name "-" version ".tar.gz"
+(build-system gnu-build-system)
+(inputs
+ `(("chez-srfi" ,chez-srfi))) ; for tests
+(native-inputs
+ `(("chez-scheme" ,chez-scheme)))
+(arguments
+ `(#:make-flags ,(chez-make-flags name version)
+   #:test-target "test"
+   #:phases (modify-phases %standard-phases
+  (replace 'configure ,chez-configure
+(synopsis "Portable hygienic pattern matcher for Scheme")
+(description "This package provides a superset of the popular Scheme
+@code{match} package by Andrew Wright, written in fully portable
+@code{syntax-rules} and thus preserving hygiene.")
+(license public-domain)))



12/17: gnu: Add ghc-hmatrix-gsl.

2016-10-18 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 932104abcec762a219f36f234c8b6138810735c2
Author: Federico Beffa 
Date:   Sun Oct 16 16:27:41 2016 +0200

gnu: Add ghc-hmatrix-gsl.

* gnu/packages/haskell.scm (ghc-hmatrix-gsl): 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 cca35d9..9c343cf 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7650,4 +7650,30 @@ dealing with linear systems, matrix decompositions, and 
other
 numerical computations based on BLAS and LAPACK.")
 (license license:bsd-3)))
 
+(define-public ghc-hmatrix-gsl
+  (package
+(name "ghc-hmatrix-gsl")
+(version "0.17.0.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "http://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-";
+ version ".tar.gz"))
+   (sha256
+(base32 "1jbqwn9d2nldc4klhy0n8gcxr889h0daw2mjfhwgksfy1bwfjl7w"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-hmatrix" ,ghc-hmatrix)
+   ("ghc-vector" ,ghc-vector)
+   ("ghc-random" ,ghc-random)
+   ("gsl" ,gsl)))
+(native-inputs `(("pkg-config" ,pkg-config)))
+(home-page "https://github.com/albertoruiz/hmatrix";)
+(synopsis "Haskell GSL binding")
+(description "This Haskell library provides a purely functional
+interface to selected numerical computations, internally implemented
+using GSL.")
+(license license:gpl3+)))
+
 ;;; haskell.scm ends here



01/17: gnu: chez-scheme: Add search-path.

2016-10-18 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 4b86dde0d6c7fd259d5a676114813bcbcaa9324b
Author: Federico Beffa 
Date:   Mon Oct 17 08:52:48 2016 +0200

gnu: chez-scheme: Add search-path.

* gnu/packages/scheme.scm (chez-scheme)[native-search-paths]: New field.
---
 gnu/packages/scheme.scm |4 
 1 file changed, 4 insertions(+)

diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 9597473..c461efb 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -635,6 +635,10 @@ threads.")
  `(("texlive" ,texlive)
("ghostscript" ,ghostscript-gs)
("netpbm" ,netpbm)))
+(native-search-paths
+ (list (search-path-specification
+(variable "CHEZSCHEMELIBDIRS")
+(files (list (string-append "lib/csv" version "-site"))
 (outputs '("out" "doc"))
 (arguments
  `(#:modules ((guix build gnu-build-system)



branch master updated (f7017a7 -> 7d95c00)

2016-10-18 Thread Federico Beffa
beffa pushed a change to branch master
in repository guix.

  from  f7017a7   build: Remove reference to nonexistant patch file.
   new  4b86dde   gnu: chez-scheme: Add search-path.
   new  f7616df   gnu: chez-scheme: Fix i686 build.
   new  13bbc0c   gnu: chez-scheme: Move to new module.
   new  c344b85   gnu: Add chez-srfi.
   new  4dfe4ee   gnu: Add chez-web
   new  74f9c19   gnu: Add chez-sockets
   new  3875419   gnu: Add chez-matchable
   new  87d6c9e   gnu: Add chez-irregex.
   new  fb6d2d7   gnu: Add chez-fmt.
   new  725   gnu: Add ghc-storable-complex.
   new  9559561   gnu: Add ghc-hmatrix.
   new  932104a   gnu: Add ghc-hmatrix-gsl.
   new  271a536   gnu: Add ghc-hmatrix-special.
   new  4225c71   gnu: Add ghc-hmatrix-gsl-stats.
   new  db61a00   gnu: Add ghc-easyplot.
   new  1bd00f1   gnu: Add ghc-hashtables.
   new  7d95c00   gnu: Add GHC 8.0.1.

The 17 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 gnu/local.mk |1 +
 gnu/packages/chez.scm|  472 ++
 gnu/packages/haskell.scm |  306 +-
 gnu/packages/scheme.scm  |  154 ---
 4 files changed, 778 insertions(+), 155 deletions(-)
 create mode 100644 gnu/packages/chez.scm



branch core-updates updated (9a745d7 -> 2d634d9)

2016-07-06 Thread Federico Beffa
beffa pushed a change to branch core-updates
in repository guix.

  from  9a745d7   gnu: cross-gcc-arguments: Disable libitm, libvtv and 
libsanitizer.
   new  2d634d9   gnu: texlive: Fix 'texmf-local' search path.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 gnu/packages/tex.scm |   14 +-
 1 file changed, 13 insertions(+), 1 deletion(-)



01/01: gnu: texlive: Fix 'texmf-local' search path.

2016-07-06 Thread Federico Beffa
beffa pushed a commit to branch core-updates
in repository guix.

commit 2d634d9b7e2c6aba45658c50cc5029a2a24bae85
Author: Federico Beffa 
Date:   Wed Jul 6 18:23:03 2016 +0200

gnu: texlive: Fix 'texmf-local' search path.

* gnu/packages/tex.scm (texlive, texlive-minimal): Add
  'native-search-paths'.
  (texlive-texmf): Correct 'TEXMFLOCAL' definition in 'texmf.cnf' in
  'texmf-config' phase.
---
 gnu/packages/tex.scm |   14 +-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 219f685..2600b6f 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2015 Mark H Weaver 
 ;;; Copyright © 2016 Roel Janssen 
 ;;; Copyright © 2016 Efraim Flashner 
+;;; Copyright © 2016 Federico Beffa 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -206,7 +207,10 @@ This package contains the binaries.")
 ;; Register SHARE as TEXMFROOT in texmf.cnf.
 (substitute* texmfcnf
   (("TEXMFROOT = \\$SELFAUTOPARENT")
-  (string-append "TEXMFROOT = " share)))
+   (string-append "TEXMFROOT = " share))
+  (("TEXMFLOCAL = \\$SELFAUTOGRANDPARENT/texmf-local")
+   "TEXMFLOCAL = $SELFAUTODIR/share/texmf-local")
+  (("!!\\$TEXMFLOCAL") "$TEXMFLOCAL"))
 ;; Register paths in texmfcnf.lua, needed for context.
 (substitute* (string-append texmfroot "/texmfcnf.lua")
   (("selfautodir:") out)
@@ -242,6 +246,10 @@ This package contains the complete tree of texmf-dist 
data.")
(inputs `(("bash" ,bash) ; for wrap-program
  ("texlive-bin" ,texlive-bin)
  ("texlive-texmf" ,texlive-texmf)))
+   (native-search-paths
+(list (search-path-specification
+   (variable "TEXMFLOCAL")
+   (files '("share/texmf-local")
(arguments
 `(#:modules ((guix build utils))
   #:builder
@@ -353,6 +361,10 @@ This package contains a small subset of the texmf-dist 
data.")))
(inputs
 `(("texlive-texmf" ,texlive-texmf-minimal)
   ,@(alist-delete "texlive-texmf" (package-inputs texlive
+   (native-search-paths
+(list (search-path-specification
+   (variable "TEXMFLOCAL")
+   (files '("share/texmf-local")
(description
 "TeX Live provides a comprehensive TeX document production system.
 It includes all the major TeX-related programs, macro packages, and fonts



01/01: gnu: emacs-constants: Remove old patch.

2016-05-17 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 1c29f3ef8452860c4301d7ae57c89ac5956d1663
Author: Federico Beffa 
Date:   Tue May 17 14:13:56 2016 +0200

gnu: emacs-constants: Remove old patch.

* gnu/packages/patches/emacs-constants-lisp-like.patch: Remove it.
* gnu/local.mk (dist_patch_DATA): Remove entry for above patch.
---
 gnu/local.mk   |1 -
 .../patches/emacs-constants-lisp-like.patch|   81 
 2 files changed, 82 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index f64adeb..4bbded9 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -466,7 +466,6 @@ dist_patch_DATA =   
\
   gnu/packages/patches/duplicity-test_selection-tmp.patch  \
   gnu/packages/patches/elfutils-tests-ptrace.patch \
   gnu/packages/patches/einstein-build.patch\
-  gnu/packages/patches/emacs-constants-lisp-like.patch \
   gnu/packages/patches/emacs-exec-path.patch   \
   gnu/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch\
   gnu/packages/patches/emacs-source-date-epoch.patch   \
diff --git a/gnu/packages/patches/emacs-constants-lisp-like.patch 
b/gnu/packages/patches/emacs-constants-lisp-like.patch
deleted file mode 100644
index 5ec37f3..000
--- a/gnu/packages/patches/emacs-constants-lisp-like.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-Add Scheme support
-
 constants/constants.el.orig2015-12-26 17:44:31.734520833 +0100
-+++ constants/constants.el 2015-12-30 17:41:28.402871263 +0100
-@@ -684,6 +684,33 @@
- 
- (eval-when-compile (defvar ctable))
- 
-+(defun constants-is-lisp-like (mode)
-+  (save-match-data
-+(string-match "\\(lisp\\|scheme\\)" (symbol-name mode
-+
-+(defun constants-is-set-like ()
-+  (save-excursion
-+(condition-case nil
-+(save-match-data
-+  (progn (up-list -1)
-+ (or (looking-at "(set[qf!]?\\>") (looking-at "(define\\>"
-+  (error nil ; return value nil means use default
-+
-+;;;###autoload
-+(defun constants-lisp-like-function ()
-+  "Check context for constants insertion."
-+  (if (constants-is-set-like)
-+  '(emacs-lisp-mode "%n %v%t; %d %u" "e" "(* %p %v)")
-+'(emacs-lisp-mode "(%n %v)%t; %d %u" "e" "(* %p %v)")))
-+
-+;;;###autoload
-+(mapc (lambda (mode-hook)
-+(add-hook mode-hook
-+  (lambda ()
-+(setq constants-language-function
-+  'constants-lisp-like-function
-+  '(scheme-mode-hook emacs-lisp-mode-hook lisp-mode-hook))
-+
- ;;;###autoload
- (defun constants-insert (&optional unit-system names)
-   "Insert one or more natural constant definitions in source code.
-@@ -826,8 +853,9 @@
- (funcall process-func ins))
- ;; Here comes the insertion stuff for source code editing modes.
- ;; First make sure we start a new line
--(if (string-match
-- "\\S-" (buffer-substring (point-at-bol) (point-at-eol)))
-+(if (and (string-match
-+  "\\S-" (buffer-substring (point-at-bol) (point-at-eol)))
-+ (not (constants-is-lisp-like mode)))
- ;; non-empty line, insert after this line
- (progn 
-   (end-of-line 1) 
-@@ -841,13 +869,24 @@
-   (if (string-match "\\(.*\\)%t\\(.*\\)" line)
-   (let ((comment-column 42))
- (insert (match-string 1 line))
--(indent-to comment-column)
--(insert (match-string 2 line)))
-+(if (and (constants-is-lisp-like mode)
-+ (or (constants-is-set-like)
-+ (null clist)))
-+(save-excursion
-+  (progn
-+(move-to-column comment-column t)
-+(insert (match-string 2 line))
-+;; insert a newline such that paredit's M-) can mode
-+;; the closing parentheses to the next line.
-+(newline-and-indent)))
-+  (progn
-+(indent-to comment-column)
-+(insert (match-string 2 line)
- (insert line)))
--(if constants-indent-code
--(newline-and-indent)
--  (newline))
--
-+(unless (and (constants-is-lisp-like mode) (null clist))
-+  (if constants-indent-code
-+  (newline-and-indent)
-+(newline)))
- ;;;###autoload
- (defun constants-get (&optional const message)
-   "Return the value of CONST as defined in the constants package.



branch master updated (aa8fff0 -> 1c29f3e)

2016-05-17 Thread Federico Beffa
beffa pushed a change to branch master
in repository guix.

  from  aa8fff0   store: Clarify 'query-path-hash' docstring.
   new  1c29f3e   gnu: emacs-constants: Remove old patch.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 gnu/local.mk   |1 -
 .../patches/emacs-constants-lisp-like.patch|   81 
 2 files changed, 82 deletions(-)
 delete mode 100644 gnu/packages/patches/emacs-constants-lisp-like.patch



branch master updated (849485f -> f99f3f2)

2016-05-17 Thread Federico Beffa
beffa pushed a change to branch master
in repository guix.

  from  849485f   gnu: sortmerna: Update to 2.1b.
   new  f99f3f2   gnu: emacs-constants: Update to 2.6.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 gnu/packages/emacs.scm |   10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)



01/01: gnu: emacs-constants: Update to 2.6.

2016-05-17 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit f99f3f24ef604f44023379da4b375c80e6844be1
Author: Federico Beffa 
Date:   Tue May 17 13:51:34 2016 +0200

gnu: emacs-constants: Update to 2.6.

* gnu/packages/emacs.scm (emacs-constants): Change to versioned repository 
and
  update to 2.6.
---
 gnu/packages/emacs.scm |   10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 5fbbc03..8ba645e 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -1409,17 +1409,17 @@ identifiers in the MIT-Scheme documentation.")
 (define-public emacs-constants
   (package
 (name "emacs-constants")
-(version "2.2")
+(version "2.6")
 (home-page "https://staff.fnwi.uva.nl/c.dominik/Tools/constants";)
 (source
  (origin
(file-name (string-append name "-" version ".el"))
-   (method uncompressed-file-fetch)
-   (uri (string-append home-page "/constants.el")) ;FIXME: unversioned URI
-   (patches (search-patches "emacs-constants-lisp-like.patch"))
+   (method url-fetch)
+   (uri (string-append "https://github.com/fedeinthemix/emacs-constants";
+   "/archive/v" version ".tar.gz"))
(sha256
 (base32
- "14q094aphsjhq8gklv7i5a7byl0ygz63cv3n6b5p8ji2jy0mnnw3"
+ "0pnrpmmxq8mh5h2hbrp5vcym0j0fh6dv3s7c5ccn18wllhzg9g7n"
 (build-system emacs-build-system)
 (synopsis "Enter definition of constants into an Emacs buffer")
 (description



02/05: gnu: netpbm: Use 'modify-phases' syntax.

2016-05-16 Thread Federico Beffa
beffa pushed a commit to branch core-updates
in repository guix.

commit 1de1c56db72a48c38ad12990e32319eb51b29795
Author: Federico Beffa 
Date:   Fri May 13 15:32:49 2016 +0200

gnu: netpbm: Use 'modify-phases' syntax.

* gnu/packages/netpbm.scm (netpbm)[arguments]: Do it.
---
 gnu/packages/netpbm.scm |   86 +++
 1 file changed, 42 insertions(+), 44 deletions(-)

diff --git a/gnu/packages/netpbm.scm b/gnu/packages/netpbm.scm
index 475635e..d7d8576 100644
--- a/gnu/packages/netpbm.scm
+++ b/gnu/packages/netpbm.scm
@@ -99,50 +99,48 @@
("python" ,python-wrapper)))
(arguments
 `(#:phases
-  (alist-replace
-   'configure
-   (lambda _
-(copy-file "config.mk.in" "config.mk")
-(chmod "config.mk" #o664)
-(let ((f (open-file "config.mk" "a")))
- (display "CC=gcc\n" f)
- (display "CFLAGS_SHLIB += -fPIC\n" f)
- (display "TIFFLIB = libtiff.so\n" f)
- (display "JPEGLIB = libjpeg.so\n" f)
- (display "ZLIB = libz.so\n" f)
- (display (string-append "LDFLAGS += -Wl,-rpath=" %output "/lib") f)
- (close-port f)))
-  (alist-cons-before
-   'check 'setup-check
-   (lambda _
- ;; install temporarily into /tmp/netpbm
- (system* "make" "package")
- ;; remove test requiring X
- (substitute* "test/all-in-place.test" (("pamx") ""))
- ;; do not worry about non-existing file
- (substitute* "test/all-in-place.test" (("^rm ") "rm -f "))
- ;; remove four tests that fail for unknown reasons
- (substitute* "test/Test-Order"
-   (("all-in-place.test") "")
-   (("pnmpsnr.test") "")
-   (("pnmremap1.test") "")
-   (("gif-roundtrip.test") "")))
-  (alist-replace
-   'install
-   (lambda* (#:key outputs make-flags #:allow-other-keys)
-(let ((out (assoc-ref outputs "out")))
- (apply system* "make" "package"
-(string-append "pkgdir=" out) make-flags)
- ;; copy static library
- (copy-file (string-append out "/link/libnetpbm.a")
-(string-append out "/lib/libnetpbm.a"))
- ;; remove superfluous folders and files
- (system* "rm" "-r" (string-append out "/link"))
- (system* "rm" "-r" (string-append out "/misc"))
- (with-directory-excursion out
-   (for-each delete-file
- '("config_template" "pkginfo" "README" "VERSION")
-  %standard-phases)
+  (modify-phases %standard-phases
+   (replace 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+   (copy-file "config.mk.in" "config.mk")
+   (chmod "config.mk" #o664)
+   (let ((f (open-file "config.mk" "a")))
+ (display "CC=gcc\n" f)
+ (display "CFLAGS_SHLIB += -fPIC\n" f)
+ (display "TIFFLIB = libtiff.so\n" f)
+ (display "JPEGLIB = libjpeg.so\n" f)
+ (display "ZLIB = libz.so\n" f)
+ (display (string-append "LDFLAGS += -Wl,-rpath=" %output "/lib") 
f)
+ (close-port f
+   (add-before 'check 'setup-check
+ (lambda _
+   ;; install temporarily into /tmp/netpbm
+   (system* "make" "package")
+   ;; remove test requiring X
+   (substitute* "test/all-in-place.test" (("pamx") ""))
+   ;; do not worry about non-existing file
+   (substitute* "test/all-in-place.test" (("^rm ") "rm -f "))
+   ;; remove four tests that fail for unknown reasons
+   (substitute* "test/Test-Order"
+ (("all-in-place.test") "")
+ (("pnmpsnr.test") "")
+ (("pnmremap1.test") "")
+ (("gif-roundtrip.test") ""
+   (replace 'install
+ (lambda* (#:key outputs make-flags #:allow-other-keys)
+   (let ((out (assoc-ref outputs "out")))
+ (apply system* "make" "package"
+(string-append "pkgdir=" out) make-flags)
+ ;; copy static library
+ (copy-file (string-append out "/link/libnetpbm.a")
+(string-append out "/lib/libnetpbm.a"))
+ ;; remove superfluous folders and files
+ (system* "rm" "-r" (string-append out "/link"))
+ (system* "rm" "-r" (string-append out "/misc"))
+ (with-directory-excursion out
+   (for-each delete-file
+ '("config_template" "pkginfo" "README"
+   "VERSION")
(synopsis "Toolkit for manipulation of images")
(description
 "Netpbm is a toolkit for the manipulation of graphic images, including



03/05: gnu: netpbm: Fix location of X color name database.

2016-05-16 Thread Federico Beffa
beffa pushed a commit to branch core-updates
in repository guix.

commit 2492581f0c7a77db5e7da231a62aa09cfaed0987
Author: Federico Beffa 
Date:   Fri May 13 20:39:20 2016 +0200

gnu: netpbm: Fix location of X color name database.

* gnu/packages/netpbm.scm (netpbm)[inputs]: Add 'xorg-rgb'.
  [arguments]: In the 'configure' phase, patch 'pm_config.in.h' with the 
full
  path to the 'rgb.txt' file.
---
 gnu/packages/netpbm.scm |8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/netpbm.scm b/gnu/packages/netpbm.scm
index d7d8576..d0955fe 100644
--- a/gnu/packages/netpbm.scm
+++ b/gnu/packages/netpbm.scm
@@ -27,6 +27,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages xml)
+  #:use-module (gnu packages xorg)
   #:use-module (guix build-system gnu)
   #:use-module ((guix licenses) #:select (gpl2))
   #:use-module (guix packages)
@@ -91,6 +92,7 @@
  ("libpng" ,libpng)
  ("libtiff" ,libtiff)
  ("libxml2" ,libxml2)
+ ("xorg-rgb" ,xorg-rgb)
  ("zlib" ,zlib)))
(native-inputs
  `(("flex" ,flex)
@@ -111,7 +113,11 @@
  (display "JPEGLIB = libjpeg.so\n" f)
  (display "ZLIB = libz.so\n" f)
  (display (string-append "LDFLAGS += -Wl,-rpath=" %output "/lib") 
f)
- (close-port f
+ (close-port f))
+   (let ((rgb (string-append (assoc-ref inputs "xorg-rgb")
+ "/share/X11/rgb.txt")))
+ (substitute* "pm_config.in.h"
+   (("/usr/share/X11/rgb.txt") rgb)
(add-before 'check 'setup-check
  (lambda _
;; install temporarily into /tmp/netpbm



01/05: gnu: Add the X color name database file.

2016-05-16 Thread Federico Beffa
beffa pushed a commit to branch core-updates
in repository guix.

commit 5fdd142072def44b280dbf4ae02e05ad61b0629d
Author: Federico Beffa 
Date:   Fri May 13 09:22:44 2016 +0200

gnu: Add the X color name database file.

* gnu/packages/xorg.scm (xorg-rgb): New variable.
---
 gnu/packages/xorg.scm |   25 -
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index fd933e3..2eff1b2 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -4281,7 +4281,30 @@ Various information is displayed depending on which 
options are selected.")
 formatted dump file, such as produced by xwd.")
 (license license:x11)))
 
-
+(define-public xorg-rgb
+  (package
+(name "xorg-rgb")
+(version "1.0.6")
+(source
+  (origin
+(method url-fetch)
+(uri (string-append
+   "mirror://xorg/individual/app/rgb-"
+   version
+   ".tar.bz2"))
+(sha256
+  (base32
+"1c76zcjs39ljil6f6jpx1x17c8fnvwazz7zvl3vbjfcrlmm7rjmv"
+(build-system gnu-build-system)
+(inputs
+ `(("xproto" ,xproto)))
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(home-page "http://www.x.org/wiki/";)
+(synopsis "X color name database")
+(description
+ "This package provides the X color name database.")
+(license license:x11)))
 
 ;; packages of height 1 in the propagated-inputs tree
 



05/05: gnu: Add Chez-Scheme.

2016-05-16 Thread Federico Beffa
beffa pushed a commit to branch core-updates
in repository guix.

commit 549f95128352ec72ba722ea4f634b6ae32f8a1d4
Author: Federico Beffa 
Date:   Thu May 12 14:57:25 2016 +0200

gnu: Add Chez-Scheme.

* gnu/packages/scheme.scm (chez-scheme): New variable.
---
 gnu/packages/scheme.scm |  162 ++-
 1 file changed, 160 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 6cf75c2..5601d6c 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès 
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer 
-;;; Copyright © 2015 Federico Beffa 
+;;; Copyright © 2015, 2016 Federico Beffa 
 ;;; Copyright © 2016 Ricardo Wurmus 
 ;;; Copyright © 2016 Efraim Flashner 
 ;;;
@@ -22,15 +22,19 @@
 
 (define-module (gnu packages scheme)
   #:use-module (gnu packages)
-  #:use-module (guix licenses)
+  #:use-module ((guix licenses) #:select (gpl2+ lgpl2.0+ lgpl2.1+ asl2.0 
bsd-3))
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
+  #:use-module (gnu packages compression)
   #:use-module (gnu packages m4)
   #:use-module (gnu packages multiprecision)
+  #:use-module (gnu packages ncurses)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages emacs)
+  #:use-module (gnu packages ghostscript)
+  #:use-module (gnu packages netpbm)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages texlive)
   #:use-module (gnu packages base)
@@ -544,6 +548,160 @@ an isolated heap allowing multiple VMs to run 
simultaneously in different OS
 threads.")
 (license bsd-3)))
 
+(define nanopass
+  (let ((version "1.9"))
+(origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/nanopass/nanopass-framework-scheme/archive";
+"/v" version ".tar.gz"))
+  (sha256 (base32 "11pwyy4jiwhcl2am3a4ciczacjbjkyvdizqzdglb3l1hj2gj6nv2"))
+  (file-name (string-append "nanopass-" version ".tar.gz")
+
+(define stex
+  (let ((version "1.2.1"))
+(origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/dybvig/stex/archive";
+"/v" version ".tar.gz"))
+  (sha256 (base32 "03pl3f668h24dn51vccr1sj5lsba9zq3j37bnxjvdadcdaj4qy5z"))
+  (file-name (string-append "stex-" version ".tar.gz")
+
+(define-public chez-scheme
+  (package
+(name "chez-scheme")
+(version "9.4")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://github.com/cisco/ChezScheme/archive/";
+   "v" version ".tar.gz"))
+   (sha256
+(base32 "0lprmpsjg2plc6ykgkz482zyvhkzv6gd0vnar71ph21h6zknyklz"))
+   (file-name (string-append "chez-scheme-" version ".tar.gz"
+(build-system gnu-build-system)
+(inputs
+ `(("ncurses" ,ncurses)
+   ("libx11" ,libx11)
+   ("xorg-rgb" ,xorg-rgb)
+   ("nanopass" ,nanopass)
+   ("zlib" ,zlib)
+   ("stex" ,stex)))
+(native-inputs
+ `(("texlive" ,texlive)
+   ("ghostscript" ,ghostscript)
+   ("netpbm" ,netpbm)))
+(outputs '("out" "doc"))
+(arguments
+ `(#:modules ((guix build gnu-build-system)
+  (guix build utils)
+  (ice-9 match))
+   #:test-target "test"
+   #:phases
+   (modify-phases %standard-phases
+ ;; Adapt the custom 'configure' script.
+ (replace 'configure
+   (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+   (nanopass (assoc-ref inputs "nanopass"))
+   (stex (assoc-ref inputs "stex"))
+   (zlib (assoc-ref inputs "zlib"))
+   (unpack (assoc-ref %standard-phases 'unpack))
+   (patch-source-shebangs
+(assoc-ref %standard-phases 'patch-source-shebangs)))
+   (map (match-lambda
+  ((src orig-name new-name)
+   (with-directory-excursion "."
+ (apply unpack (list #:source src))
+ (apply patch-source-shebangs (list #:source src)))
+   (delete-file-recursively new-name)
+   (system* "mv" orig-name new-name)))
+`((,nanopass "nanopass-framework-scheme-1.9&

04/05: gnu: netpbm: Return #t from custom phases.

2016-05-16 Thread Federico Beffa
beffa pushed a commit to branch core-updates
in repository guix.

commit 9f9861d7e5af9dd79796fce2c7bf9e44d02f2e32
Author: Federico Beffa 
Date:   Mon May 16 14:26:27 2016 +0200

gnu: netpbm: Return #t from custom phases.

* gnu/packages/netpbm.scm (netpbm)[arguments]: Do it.
---
 gnu/packages/netpbm.scm |9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/netpbm.scm b/gnu/packages/netpbm.scm
index d0955fe..e2d409a 100644
--- a/gnu/packages/netpbm.scm
+++ b/gnu/packages/netpbm.scm
@@ -117,7 +117,8 @@
(let ((rgb (string-append (assoc-ref inputs "xorg-rgb")
  "/share/X11/rgb.txt")))
  (substitute* "pm_config.in.h"
-   (("/usr/share/X11/rgb.txt") rgb)
+   (("/usr/share/X11/rgb.txt") rgb)))
+   #t))
(add-before 'check 'setup-check
  (lambda _
;; install temporarily into /tmp/netpbm
@@ -131,7 +132,8 @@
  (("all-in-place.test") "")
  (("pnmpsnr.test") "")
  (("pnmremap1.test") "")
- (("gif-roundtrip.test") ""
+ (("gif-roundtrip.test") ""))
+   #t))
(replace 'install
  (lambda* (#:key outputs make-flags #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
@@ -146,7 +148,8 @@
  (with-directory-excursion out
(for-each delete-file
  '("config_template" "pkginfo" "README"
-   "VERSION")
+   "VERSION")))
+ #t))
(synopsis "Toolkit for manipulation of images")
(description
 "Netpbm is a toolkit for the manipulation of graphic images, including



branch core-updates updated (0158ca7 -> 549f951)

2016-05-16 Thread Federico Beffa
beffa pushed a change to branch core-updates
in repository guix.

  from  0158ca7   gnu: cross-base: Add srfi-26 for glibc.
   new  5fdd142   gnu: Add the X color name database file.
   new  1de1c56   gnu: netpbm: Use 'modify-phases' syntax.
   new  2492581   gnu: netpbm: Fix location of X color name database.
   new  9f9861d   gnu: netpbm: Return #t from custom phases.
   new  549f951   gnu: Add Chez-Scheme.

The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 gnu/packages/netpbm.scm |   95 ++-
 gnu/packages/scheme.scm |  162 ++-
 gnu/packages/xorg.scm   |   25 +++-
 3 files changed, 235 insertions(+), 47 deletions(-)



10/10: gnu: Add Italian Aspell dictionary.

2016-02-03 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 3a6a0f6013a5953711c71ea2745e1144d125e7fb
Author: Federico Beffa 
Date:   Thu Jan 7 13:55:57 2016 +0100

gnu: Add Italian Aspell dictionary.

* gnu/packages/aspell.scm (aspell-dict-it): New variable.
---
 gnu/packages/aspell.scm |7 +++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm
index ede2170..7d087d8 100644
--- a/gnu/packages/aspell.scm
+++ b/gnu/packages/aspell.scm
@@ -132,3 +132,10 @@ dictionaries, including personal ones.")
  #:sha256
  (base32
   "0ip6nq43hcr7vvzbv4lwwmlwgfa60hrhsldh9xy3zg2prv6bcaaw")))
+
+(define-public aspell-dict-it
+  (aspell-dictionary "it" "Italian"
+ #:version "2.2_20050523-0"
+ #:sha256
+ (base32
+  "1gdf7bc1a0kmxsmphdqq8pl01h667mjsj6hihy6kqy14k5qdq69v")))



branch master updated (fd9a5b0 -> 3a6a0f6)

2016-02-03 Thread Federico Beffa
beffa pushed a change to branch master
in repository guix.

  from  fd9a5b0   gnu: qemu: Update to 2.5.0; add fixes for security flaws.
   new  e037a09   gnu: Add emacs-scheme-complete.
   new  aad4a48   gnu: scmutils: Generate 'scmutils-autoloads.el' file.
   new  58a7dc1   gnu: Add emacs-mit-scheme-doc.
   new  e5045f3   gnu: Add emacs-constants.
   new  af00e63   gnu: mit-scheme: Convert to the 'modify-phases' syntax.
   new  f163c29   gnu: mit-scheme: Generate and install documentation.
   new  8596069   gnu: Add emacs-slime.
   new  1ee131d   gnu: sbcl: Convert to the 'modify-phases' syntax.
   new  05f5ce0   gnu: sbcl: Generate and install documentation.
   new  3a6a0f6   gnu: Add Italian Aspell dictionary.

The 10 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 gnu-system.am  |2 +
 gnu/packages/aspell.scm|7 +
 gnu/packages/emacs.scm |  169 
 gnu/packages/lisp.scm  |  135 +---
 .../patches/emacs-constants-lisp-like.patch|   81 ++
 .../emacs-scheme-complete-scheme-r5rs-info.patch   |   14 ++
 gnu/packages/scheme.scm|  106 +
 7 files changed, 421 insertions(+), 93 deletions(-)
 create mode 100644 gnu/packages/patches/emacs-constants-lisp-like.patch
 create mode 100644 
gnu/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch



09/10: gnu: sbcl: Generate and install documentation.

2016-02-03 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 05f5ce0c39fc69dc7b230aeceb257e6a9535b1a7
Author: Federico Beffa 
Date:   Sun Jan 10 10:41:23 2016 +0100

gnu: sbcl: Generate and install documentation.

* gnu/packages/lisp.scm (sbcl): Add 'doc' output.
  [arguments]: Add 'build-doc' and 'install-doc' phases.
  [native-inputs]: Add 'texlive' and 'texinfo'.
---
 gnu/packages/lisp.scm |   25 +++--
 1 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index ba2e303..e64fd49 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2014 John Darrington 
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer 
 ;;; Copyright © 2015 Mark H Weaver 
+;;; Copyright © 2016 Federico Beffa 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -215,12 +216,15 @@ an interpreter, a compiler, a debugger, and much more.")
(sha256
 (base32 "0ab9lw056yf6y0rjmx3iirn5n59pmssqxf00fbmpyl6qsnpaja1d"
 (build-system gnu-build-system)
+(outputs '("out" "doc"))
 ;; Bootstrap with CLISP.
 (native-inputs
  `(("clisp" ,clisp)
("which" ,which)
("inetutils" ,inetutils) ;for hostname(1)
-   ("ed" ,ed)))
+   ("ed" ,ed)
+   ("texlive" ,texlive)
+   ("texinfo" ,texinfo)))
 (arguments
  '(#:phases
(modify-phases %standard-phases
@@ -275,7 +279,24 @@ an interpreter, a compiler, a debugger, and much more.")
 (assoc-ref outputs "out"))
  (replace 'install
(lambda _
- (zero? (system* "sh" "install.sh")
+ (zero? (system* "sh" "install.sh"
+ (add-after 'build 'build-doc
+   (lambda _
+ (with-directory-excursion "doc/manual"
+   (and  (zero? (system* "make" "info"))
+ (zero? (system* "make" "dist"))
+ (add-after 'install 'install-doc
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+(doc (assoc-ref outputs "doc"))
+(old-doc-dir (string-append out "/share/doc"))
+(new-doc/sbcl-dir (string-append doc "/share/doc/sbcl")))
+   (rmdir (string-append old-doc-dir "/sbcl/html"))
+   (mkdir-p new-doc/sbcl-dir)
+   (copy-recursively (string-append old-doc-dir "/sbcl")
+ new-doc/sbcl-dir)
+   (delete-file-recursively old-doc-dir)
+   #t
  ;; No 'check' target, though "make.sh" (build phase) runs tests.
  #:tests? #f))
 (home-page "http://www.sbcl.org/";)



08/10: gnu: sbcl: Convert to the 'modify-phases' syntax.

2016-02-03 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 1ee131df42fbc70303436102e891afeca67ac726
Author: Federico Beffa 
Date:   Thu Dec 31 18:36:52 2015 +0100

gnu: sbcl: Convert to the 'modify-phases' syntax.

* gnu/packages/lisp.scm (sbcl): Do it.
---
 gnu/packages/lisp.scm |  112 +++-
 1 files changed, 54 insertions(+), 58 deletions(-)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 726cfcd..ba2e303 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -223,65 +223,61 @@ an interpreter, a compiler, a debugger, and much more.")
("ed" ,ed)))
 (arguments
  '(#:phases
-   (alist-delete
-'configure
-(alist-cons-before
- 'build 'patch-unix-tool-paths
- (lambda* (#:key outputs inputs #:allow-other-keys)
-   (let ((out (assoc-ref outputs "out"))
- (bash (assoc-ref inputs "bash"))
- (coreutils (assoc-ref inputs "coreutils"))
- (ed (assoc-ref inputs "ed")))
- (define (quoted-path input path)
-   (string-append "\"" input path "\""))
- ;; Patch absolute paths in string literals.  Note that this
- ;; occurs in some .sh files too (which contain Lisp code).  Use
- ;; ISO-8859-1 because some of the files are ISO-8859-1 encoded.
- (with-fluids ((%default-port-encoding #f))
-   (substitute* (find-files "." "\\.(lisp|sh)$")
- (("\"/bin/sh\"") (quoted-path bash "/bin/sh"))
- (("\"/usr/bin/env\"") (quoted-path coreutils "/usr/bin/env"))
- (("\"/bin/cat\"") (quoted-path coreutils "/bin/cat"))
- (("\"/bin/ed\"") (quoted-path ed "/bin/ed"))
- (("\"/bin/echo\"") (quoted-path coreutils "/bin/echo"))
- (("\"/bin/uname\"") (quoted-path coreutils "/bin/uname"
- ;; This one script has a non-string occurrence of /bin/sh.
- (substitute* '("tests/foreign.test.sh")
-   ;; Leave whitespace so we don't match the shebang.
-   ((" /bin/sh ") " sh "))
- ;; This file contains a module that can create executable files
- ;; which depend on the presence of SBCL.  It generates shell
- ;; scripts doing "exec sbcl ..." to achieve this.  We patch both
- ;; the shebang and the reference to "sbcl", tying the generated
- ;; executables to the exact SBCL package that generated them.
- (substitute* '("contrib/sb-executable/sb-executable.lisp")
-   (("/bin/sh") (string-append bash "/bin/sh"))
-   (("exec sbcl") (string-append "exec " out "/bin/sbcl")))
- ;; Disable some tests that fail in our build environment.
- (substitute* '("contrib/sb-bsd-sockets/tests.lisp")
-   ;; This requires /etc/protocols.
-   (("\\(deftest get-protocol-by-name/error" all)
-(string-append "#+nil ;disabled by Guix\n" all)))
- (substitute* '("contrib/sb-posix/posix-tests.lisp")
-   ;; These assume some users/groups which we don't have.
-   (("\\(deftest pwent\\.[12]" all)
-(string-append "#+nil ;disabled by Guix\n" all))
-   (("\\(deftest grent\\.[12]" all)
-(string-append "#+nil ;disabled by Guix\n" all)
- (alist-replace
-  'build
-  (lambda* (#:key outputs #:allow-other-keys)
-(setenv "CC" "gcc")
-(zero? (system* "sh" "make.sh" "clisp"
-(string-append "--prefix="
-   (assoc-ref outputs "out")
-  (alist-replace
-   'install
+   (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'patch-unix-tool-paths
+   (lambda* (#:key outputs inputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+   (bash (assoc-ref inputs "bash"))
+   (coreutils (assoc-ref inputs "coreutils"))
+   (ed (assoc-ref inputs "ed")))
+   (define (quoted-path input path)
+ (string-appe

07/10: gnu: Add emacs-slime.

2016-02-03 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 85960693e4eec79a3cae1db4dc5ff47a1d2703e6
Author: Federico Beffa 
Date:   Wed Dec 30 00:47:29 2015 +0100

gnu: Add emacs-slime.

* gnu/packages/emacs.scm (emacs-slime): New variable.
---
 gnu/packages/emacs.scm |   59 
 1 files changed, 59 insertions(+), 0 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 50419c0..68f4e0a 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -1338,3 +1338,62 @@ identifiers in the MIT-Scheme documentation.")
  "This package provides functions for inserting the definition of natural
 constants and units into an Emacs buffer.")
 (license license:gpl2+)))
+
+(define-public emacs-slime
+  (package
+(name "emacs-slime")
+(version "2.15")
+(source
+ (origin
+   (file-name (string-append name "-" version ".tar.gz"))
+   (method url-fetch)
+   (uri (string-append
+ "https://github.com/slime/slime/archive/v";
+ version ".tar.gz"))
+   (sha256
+(base32
+ "0l2z6l2xm78mhh0nczkrmzh2ddb1n911ij9xb6q40zwvx4f8blds"
+(build-system emacs-build-system)
+(native-inputs
+ `(("texinfo" ,texinfo)))
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-before 'install 'configure
+   (lambda* _
+ (emacs-substitute-variables "slime.el"
+   ("inferior-lisp-program" "sbcl"))
+ #t))
+ (add-before 'install 'install-doc
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+(info-dir (string-append out "/share/info"))
+(doc-dir (string-append out "/share/doc/"
+,name "-" ,version))
+(doc-files '("doc/slime-refcard.pdf"
+ "README.md" "NEWS" "PROBLEMS"
+ "CONTRIBUTING.md")))
+   (with-directory-excursion "doc"
+ (substitute* "Makefile"
+   (("infodir=/usr/local/info")
+(string-append "infodir=" info-dir)))
+ (system* "make" "html/index.html")
+ (system* "make" "slime.info")
+ (install-file "slime.info" info-dir)
+ (copy-recursively "html" (string-append doc-dir "/html")))
+   (for-each (lambda (f)
+   (install-file f doc-dir)
+   (delete-file f))
+ doc-files)
+   (delete-file-recursively "doc")
+   #t))
+(home-page "https://github.com/slime/slime";)
+(synopsis "Superior Lisp Interaction Mode for Emacs")
+(description
+ "SLIME extends Emacs with support for interactive programming in
+Common Lisp.  The features are centered around @{slime-mode}, an Emacs
+minor mode that complements the standard @{lisp-mode}.  While lisp-mode
+supports editing Lisp source files, @{slime-mode} adds support for
+interacting with a running Common Lisp process for compilation,
+debugging, documentation lookup, and so on.")
+(license license:gpl2+)))



06/10: gnu: mit-scheme: Generate and install documentation.

2016-02-03 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit f163c290f1aa2925d0c7fdbc94f82625092bb330
Author: Federico Beffa 
Date:   Sat Jan 9 11:04:40 2016 +0100

gnu: mit-scheme: Generate and install documentation.

* gnu/packages/scheme.scm (mit-scheme): Add 'doc' output.
  [arguments]: Add phases 'configure-doc, 'build-doc and 'install-doc.
  [native-inputs]: Add 'texlive'. Move 'texinfo' and 'm4' from inputs.
---
 gnu/packages/scheme.scm |   50 +++---
 1 files changed, 46 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 752dae2..352b66c 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -30,6 +30,7 @@
   #:use-module (gnu packages databases)
   #:use-module (gnu packages emacs)
   #:use-module (gnu packages texinfo)
+  #:use-module (gnu packages texlive)
   #:use-module (gnu packages base)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages avahi)
@@ -55,9 +56,13 @@
 (name "mit-scheme")
 (version "9.2")
 (source #f)   ; see below
+(outputs '("out" "doc"))
 (build-system gnu-build-system)
 (arguments
  `(#:tests? #f; no "check" target
+   #:modules ((guix build gnu-build-system)
+  (guix build utils)
+  (srfi srfi-1))
#:phases
(modify-phases %standard-phases
  (replace 'unpack
@@ -83,11 +88,48 @@
(string-prefix? "i686" system))
(zero? (system* "make" "compile-microcode"))
(zero? (system* "./etc/make-liarc.sh"
-   (string-append "--prefix=" out))
+   (string-append "--prefix=" out)))
+ (add-after 'configure 'configure-doc
+   (lambda* (#:key outputs inputs #:allow-other-keys)
+ (with-directory-excursion "../doc"
+   (let* ((out (assoc-ref outputs "out"))
+  (bash (assoc-ref inputs "bash"))
+  (bin/sh (string-append bash "/bin/sh")))
+ (system* bin/sh "./configure"
+  (string-append "--prefix=" out)
+  (string-append "SHELL=" bin/sh))
+ (substitute* '("Makefile" "make-common")
+   (("/lib/mit-scheme/doc")
+(string-append "/share/doc/" ,name "-" ,version)))
+ #t
+ (add-after 'build 'build-doc
+   (lambda* _
+ (with-directory-excursion "../doc"
+   (zero? (system* "make")
+ (add-after 'install 'install-doc
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+(doc (assoc-ref outputs "doc"))
+(old-doc-dir (string-append out "/share/doc"))
+(new-doc/mit-scheme-dir
+ (string-append doc "/share/doc/" ,name "-" ,version)))
+   (with-directory-excursion "../doc"
+ (for-each (lambda (target)
+ (system* "make" target))
+   '("install-config" "install-info-gz" "install-man"
+ "install-html" "install-pdf")))
+   (mkdir-p new-doc/mit-scheme-dir)
+   (copy-recursively
+(string-append old-doc-dir "/" ,name "-" ,version)
+new-doc/mit-scheme-dir)
+   (delete-file-recursively old-doc-dir)
+   #t))
+(native-inputs
+ `(("texlive" ,texlive)
+   ("texinfo" ,texinfo)
+   ("m4" ,m4)))
 (inputs
- `(("texinfo" ,texinfo)
-   ("m4" ,m4)
-   ("libx11" ,libx11)
+ `(("libx11" ,libx11)
 
("source"
 



03/10: gnu: Add emacs-mit-scheme-doc.

2016-02-03 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 58a7dc1340986f11ff54a970f613a03e8ebd741c
Author: Federico Beffa 
Date:   Fri Dec 25 23:21:11 2015 +0100

gnu: Add emacs-mit-scheme-doc.

* gnu/packages/emacs.scm (emacs-mit-scheme-doc): New variable.
---
 gnu/packages/emacs.scm |   42 ++
 1 files changed, 42 insertions(+), 0 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 1da43fe..852945c 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -55,6 +55,7 @@
   #:use-module (gnu packages package-management)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pdf)
+  #:use-module (gnu packages scheme)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages mp3)
   #:use-module (guix utils)
@@ -1255,3 +1256,44 @@ which you can use for intelligent, context-sensitive 
completion for any Scheme
 implementation in Emacs.  To use it just load this file and bind that function
 to a key in your preferred mode.")
   (license license:public-domain
+
+(define-public emacs-mit-scheme-doc
+  (package
+(name "emacs-mit-scheme-doc")
+(version "20140203")
+(source
+ (origin
+   (modules '((guix build utils)))
+   (snippet
+;; keep only file of interest
+'(begin
+   (for-each delete-file '("dot-emacs.el" "Makefile"))
+   (copy-file "6.945-config/mit-scheme-doc.el" "mit-scheme-doc.el")
+   (delete-file-recursively "6.945-config")))
+   (file-name (string-append name "-" version ".tar.bz2"))
+   (method url-fetch)
+   (uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/";
+   "6.945/dont-panic/emacs-basic-config.tar.bz2"))
+   (sha256
+(base32
+ "0dqidg2bd66pawqfarvwca93w5gqf9mikn1k2a2rmd9ymfjpziq1"
+(build-system emacs-build-system)
+(inputs `(("mit-scheme" ,mit-scheme)))
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'configure-doc
+   (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((mit-scheme-dir (assoc-ref inputs "mit-scheme"))
+(doc-dir (string-append mit-scheme-dir "/share/doc/"
+"mit-scheme-"
+,(package-version mit-scheme
+   (substitute* "mit-scheme-doc.el"
+ 
(("http://www\\.gnu\\.org/software/mit-scheme/documentation/mit-scheme-ref/";)
+  (string-append "file:" doc-dir "/mit-scheme-ref/")
+(home-page "http://groups.csail.mit.edu/mac/users/gjs/6.945/dont-panic/";)
+(synopsis "MIT-Scheme documentation lookup for Emacs")
+(description
+ "This package provides a set of Emacs functions to search definitions of
+identifiers in the MIT-Scheme documentation.")
+(license license:gpl2+)))



05/10: gnu: mit-scheme: Convert to the 'modify-phases' syntax.

2016-02-03 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit af00e6335207b44056437eecab2e76c957c21a89
Author: Federico Beffa 
Date:   Sun Dec 27 19:06:37 2015 +0100

gnu: mit-scheme: Convert to the 'modify-phases' syntax.

* gnu/packages/scheme.scm (mit-scheme): Do it.
---
 gnu/packages/scheme.scm |   57 +-
 1 files changed, 26 insertions(+), 31 deletions(-)

diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 70b229f..752dae2 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -59,38 +59,33 @@
 (arguments
  `(#:tests? #f; no "check" target
#:phases
-   (alist-replace
-'unpack
-(lambda* (#:key inputs #:allow-other-keys)
-  (and (zero? (system* "tar" "xzvf"
-   (assoc-ref inputs "source")))
-   (chdir ,(mit-scheme-source-directory (%current-system)
-version))
-   (begin
- ;; Delete these dangling symlinks since they break
- ;; `patch-shebangs'.
- (for-each delete-file
-   (append '("src/lib/shim-config.scm")
-   (find-files "src/lib/lib" "\\.so$")
-   (find-files "src/lib" "^liarc-")
-   (find-files "src/compiler" "^make\\.")))
- (chdir "src")
- #t)))
-(alist-replace
- 'build
- (lambda* (#:key system outputs #:allow-other-keys)
-   (let ((out (assoc-ref outputs "out")))
- (if (or (string-prefix? "x86_64" system)
- (string-prefix? "i686" system))
- (zero? (system* "make" "compile-microcode"))
- (zero? (system* "./etc/make-liarc.sh"
- (string-append "--prefix=" out))
- %standard-phases
+   (modify-phases %standard-phases
+ (replace 'unpack
+   (lambda* (#:key inputs #:allow-other-keys)
+ (and (zero? (system* "tar" "xzvf"
+  (assoc-ref inputs "source")))
+  (chdir ,(mit-scheme-source-directory (%current-system)
+   version))
+  (begin
+;; Delete these dangling symlinks since they break
+;; `patch-shebangs'.
+(for-each delete-file
+  (append '("src/lib/shim-config.scm")
+  (find-files "src/lib/lib" "\\.so$")
+  (find-files "src/lib" "^liarc-")
+  (find-files "src/compiler" "^make\\.")))
+(chdir "src")
+#t
+ (replace 'build
+   (lambda* (#:key system outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+   (if (or (string-prefix? "x86_64" system)
+   (string-prefix? "i686" system))
+   (zero? (system* "make" "compile-microcode"))
+   (zero? (system* "./etc/make-liarc.sh"
+   (string-append "--prefix=" out))
 (inputs
- `(;; TODO: Build doc when TeX Live is available.
-   ;; ("automake" ,automake)
-   ;; ("texlive-core" ,texlive-core)
-   ("texinfo" ,texinfo)
+ `(("texinfo" ,texinfo)
("m4" ,m4)
("libx11" ,libx11)
 



01/10: gnu: Add emacs-scheme-complete.

2016-02-03 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit e037a09f1d5ea07b2611d706c7fadb65701a0d79
Author: Federico Beffa 
Date:   Thu Dec 24 11:53:12 2015 +0100

gnu: Add emacs-scheme-complete.

* gnu/packages/emacs.scm (emacs-scheme-complete): New variable.
* gnu/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch: New 
patch.
* gnu-system.am (dist_patch_DATA): Add the new patch.
---
 gnu-system.am  |1 +
 gnu/packages/emacs.scm |   27 
 .../emacs-scheme-complete-scheme-r5rs-info.patch   |   14 ++
 3 files changed, 42 insertions(+), 0 deletions(-)

diff --git a/gnu-system.am b/gnu-system.am
index 5657124..7b22138 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -453,6 +453,7 @@ dist_patch_DATA =   
\
   gnu/packages/patches/duplicity-test_selection-tmp.patch  \
   gnu/packages/patches/elfutils-tests-ptrace.patch \
   gnu/packages/patches/emacs-exec-path.patch   \
+  gnu/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch\
   gnu/packages/patches/emacs-source-date-epoch.patch   \
   gnu/packages/patches/eudev-rules-directory.patch \
   gnu/packages/patches/evilwm-lost-focus-bug.patch \
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 40eddb0..1da43fe 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -1228,3 +1228,30 @@ for quotation marks, dashes, and ellipses.  For example, 
typing @kbd{\"}
 automatically inserts a Unicode opening or closing quotation mark, depending
 on context.")
 (license license:gpl3+)))
+
+(define-public emacs-scheme-complete
+  (let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5"))
+(package
+  (name "emacs-scheme-complete")
+  (version (string-append "20151223." (string-take commit 8)))
+  (source
+   (origin
+ (file-name (string-append name "-" version))
+ (method git-fetch)
+ (uri (git-reference
+   (url "https://github.com/ashinn/scheme-complete.git";)
+   (commit commit)))
+ (sha256
+  (base32
+   "141wn9l0m33w0g3dqmx8nxbfdny1r5xbr6ak61rsz21bk0qafs7x"))
+ (patches
+  (list (search-patch 
"emacs-scheme-complete-scheme-r5rs-info.patch")
+  (build-system emacs-build-system)
+  (home-page "https://github.com/ashinn/scheme-complete";)
+  (synopsis "Smart tab completion for Scheme in Emacs")
+  (description
+   "This file provides a single function, @code{scheme-smart-complete},
+which you can use for intelligent, context-sensitive completion for any Scheme
+implementation in Emacs.  To use it just load this file and bind that function
+to a key in your preferred mode.")
+  (license license:public-domain
diff --git a/gnu/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch 
b/gnu/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch
new file mode 100644
index 000..6c49bdc
--- /dev/null
+++ b/gnu/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch
@@ -0,0 +1,14 @@
+Fix completion for R5RS Scheme.
+See https://github.com/ashinn/scheme-complete/issues/1
+
+--- scheme-complete-master/scheme-complete.el.orig 2015-12-25 
21:59:09.896909029 +0100
 scheme-complete-master/scheme-complete.el  2015-12-25 21:59:17.924993998 
+0100
+@@ -591,7 +591,7 @@
+'((exact->inexact (lambda (z) z))
+  (inexact->exact (lambda (z) z)))
+(mapcar #'(lambda (x)
+-   (list x (scheme-env-lookup *scheme-r7rs-info* x)))
++   (scheme-env-lookup *scheme-r7rs-info* x))
+*scheme-r5rs-bindings*
+   *scheme-r5rs-info*)
+ 



04/10: gnu: Add emacs-constants.

2016-02-03 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit e5045f303a0214c2e436c128ce3d6c59cf276f2a
Author: Federico Beffa 
Date:   Sat Dec 26 11:02:01 2015 +0100

gnu: Add emacs-constants.

* gnu/packages/emacs.scm (emacs-constants): New variable.
* gnu/packages/patches/emacs-constants-lisp-like.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
---
 gnu-system.am  |1 +
 gnu/packages/emacs.scm |   41 ++
 .../patches/emacs-constants-lisp-like.patch|   81 
 3 files changed, 123 insertions(+), 0 deletions(-)

diff --git a/gnu-system.am b/gnu-system.am
index 7b22138..d282be3 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -452,6 +452,7 @@ dist_patch_DATA =   
\
   gnu/packages/patches/duplicity-piped-password.patch  \
   gnu/packages/patches/duplicity-test_selection-tmp.patch  \
   gnu/packages/patches/elfutils-tests-ptrace.patch \
+  gnu/packages/patches/emacs-constants-lisp-like.patch \
   gnu/packages/patches/emacs-exec-path.patch   \
   gnu/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch\
   gnu/packages/patches/emacs-source-date-epoch.patch   \
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 852945c..50419c0 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -26,6 +26,9 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
+  #:use-module (guix gexp)
+  #:use-module (guix monads)
+  #:use-module (guix store)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system emacs)
   #:use-module (guix build-system glib-or-gtk)
@@ -1297,3 +1300,41 @@ to a key in your preferred mode.")
  "This package provides a set of Emacs functions to search definitions of
 identifiers in the MIT-Scheme documentation.")
 (license license:gpl2+)))
+
+;;; XXX: move this procedure to an utility module
+(define* (uncompressed-file-fetch url hash-algo hash
+  #:optional name
+  #:key (system (%current-system))
+  (guile (default-guile)))
+  (mlet %store-monad ((drv (url-fetch url hash-algo hash name
+  #:system system
+  #:guile guile)))
+(gexp->derivation (or name (basename url))
+  #~(begin
+  (mkdir #$output)
+  (setenv "PATH"
+  (string-append #$gzip "/bin"))
+  (chdir #$output)
+  (copy-file #$drv (basename #$url))
+
+(define-public emacs-constants
+  (package
+(name "emacs-constants")
+(version "2.2")
+(source
+ (origin
+   (file-name (string-append name "-" version ".el"))
+   (method uncompressed-file-fetch)
+   (uri "https://staff.fnwi.uva.nl/c.dominik/Tools/constants/constants.el";)
+   (patches
+(list (search-patch "emacs-constants-lisp-like.patch")))
+   (sha256
+(base32
+ "14q094aphsjhq8gklv7i5a7byl0ygz63cv3n6b5p8ji2jy0mnnw3"
+(build-system emacs-build-system)
+(home-page "https://staff.fnwi.uva.nl/c.dominik/Tools/constants";)
+(synopsis "Enter definition of constants into an Emacs buffer")
+(description
+ "This package provides functions for inserting the definition of natural
+constants and units into an Emacs buffer.")
+(license license:gpl2+)))
diff --git a/gnu/packages/patches/emacs-constants-lisp-like.patch 
b/gnu/packages/patches/emacs-constants-lisp-like.patch
new file mode 100644
index 000..5ec37f3
--- /dev/null
+++ b/gnu/packages/patches/emacs-constants-lisp-like.patch
@@ -0,0 +1,81 @@
+Add Scheme support
+
+--- constants/constants.el.orig2015-12-26 17:44:31.734520833 +0100
 constants/constants.el 2015-12-30 17:41:28.402871263 +0100
+@@ -684,6 +684,33 @@
+ 
+ (eval-when-compile (defvar ctable))
+ 
++(defun constants-is-lisp-like (mode)
++  (save-match-data
++(string-match "\\(lisp\\|scheme\\)" (symbol-name mode
++
++(defun constants-is-set-like ()
++  (save-excursion
++(condition-case nil
++(save-match-data
++  (progn (up-list -1)
++ (or (looking-at "(set[qf!]?\\>") (looking-at "(define\\>"
++  (error nil ; return value nil means use default
++
++;;;###autoload
++(defun constants-lisp-like-function ()
++  "Check context for constants insertion."
++  (if (constants-is-set-like)
++  '(emacs-lisp-mode "%n %v%t; %d %u" "e" "(* %p %v)")
++&

02/10: gnu: scmutils: Generate 'scmutils-autoloads.el' file.

2016-02-03 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit aad4a48ab4665f556ed04896f0adee9c216d9ff8
Author: Federico Beffa 
Date:   Thu Dec 24 13:29:54 2015 +0100

gnu: scmutils: Generate 'scmutils-autoloads.el' file.

* gnu/packages/scheme.scm (scmutils): Do it.
---
 gnu/packages/scheme.scm |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index b438c3e..70b229f 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -654,7 +654,8 @@ threads.")
   lib-relative-path
   (string-append out lib-relative-path
  "/scmutils"
-  (emacs-byte-compile-directory (dirname el-file))
+  (emacs-generate-autoloads ,name emacs-lisp-dir)
+  (emacs-byte-compile-directory emacs-lisp-dir)
   #t))
   (home-page
"http://groups.csail.mit.edu/mac/users/gjs/6946/linux-install.htm";)



branch master updated (5bd88cf -> fceac88)

2015-12-15 Thread Federico Beffa
beffa pushed a change to branch master
in repository guix.

  from  5bd88cf   gnu: python-click: Update to 6.2.
   new  fceac88   gnu: python-ipython: Patch 'ctypes' bug.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 gnu-system.am  |1 +
 .../patches/python-ipython-inputhook-ctype.patch   |   41 
 gnu/packages/python.scm|   11 +++--
 3 files changed, 48 insertions(+), 5 deletions(-)
 create mode 100644 gnu/packages/patches/python-ipython-inputhook-ctype.patch



01/01: gnu: python-ipython: Patch 'ctypes' bug.

2015-12-15 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit fceac8803966dd7988b56e1e26b909c7fede0e05
Author: Federico Beffa 
Date:   Tue Dec 15 17:59:15 2015 +0100

gnu: python-ipython: Patch 'ctypes' bug.

* gnu/packages/patches/python-ipython-inputhook-ctype.patch: New patch.
* gnu/packages/python.scm (python-ipython): Use it.
* gnu-system.am (dist_patch_DATA): Add it.
---
 gnu-system.am  |1 +
 .../patches/python-ipython-inputhook-ctype.patch   |   41 
 gnu/packages/python.scm|   11 +++--
 3 files changed, 48 insertions(+), 5 deletions(-)

diff --git a/gnu-system.am b/gnu-system.am
index 77a8b2e..0039246 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -640,6 +640,7 @@ dist_patch_DATA =   
\
   gnu/packages/patches/python-3-search-paths.patch \
   gnu/packages/patches/python-disable-ssl-test.patch   \
   gnu/packages/patches/python-fix-tests.patch  \
+  gnu/packages/patches/python-ipython-inputhook-ctype.patch\
   gnu/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \
   gnu/packages/patches/python-configobj-setuptools.patch   \
   gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
diff --git a/gnu/packages/patches/python-ipython-inputhook-ctype.patch 
b/gnu/packages/patches/python-ipython-inputhook-ctype.patch
new file mode 100644
index 000..c77e310
--- /dev/null
+++ b/gnu/packages/patches/python-ipython-inputhook-ctype.patch
@@ -0,0 +1,41 @@
+From 04c5d358c7ab74d3ddab4f7662e539393d8604c6 Mon Sep 17 00:00:00 2001
+From: Lucretiel 
+Date: Wed, 13 May 2015 13:12:43 -0400
+Subject: [PATCH] register now checks for missing ctypes
+
+If ctypes is None, then no input hooks may be registered; 
`InputHookManager.register` skips registration of input hook classes. Also 
updated `__init__` to no longer skip creating the instance attributes, to 
prevent AttributeError exceptions at load time.
+---
+ IPython/lib/inputhook.py | 13 +++--
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/IPython/lib/inputhook.py b/IPython/lib/inputhook.py
+index 4ae2cb3..6578365 100644
+--- a/IPython/lib/inputhook.py
 b/IPython/lib/inputhook.py
+@@ -107,8 +107,8 @@ class InputHookManager(object):
+ def __init__(self):
+ if ctypes is None:
+ warn("IPython GUI event loop requires ctypes, %gui will not be 
available")
+-return
+-self.PYFUNC = ctypes.PYFUNCTYPE(ctypes.c_int)
++else:
++self.PYFUNC = ctypes.PYFUNCTYPE(ctypes.c_int)
+ self.guihooks = {}
+ self.aliases = {}
+ self.apps = {}
+@@ -197,10 +197,11 @@ def enable(self, app=None):
+ ...
+ """
+ def decorator(cls):
+-inst = cls(self)
+-self.guihooks[toolkitname] = inst
+-for a in aliases:
+-self.aliases[a] = toolkitname
++if ctypes is not None:
++inst = cls(self)
++self.guihooks[toolkitname] = inst
++for a in aliases:
++self.aliases[a] = toolkitname
+ return cls
+ return decorator
+ 
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 6a05101..95c24a6 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -4194,11 +4194,12 @@ without using the configuration machinery.")
 (version "3.2.1")
 (source
  (origin
-  (method url-fetch)
-  (uri (string-append "https://pypi.python.org/packages/source/i/";
-  "ipython/ipython-" version ".tar.gz"))
-  (sha256
-   (base32 "0xwin0sa9n0cabx4cq1ibf5ldsiw5dyimibla82kicz5gbpas4y9"
+   (method url-fetch)
+   (patches (list (search-patch "python-ipython-inputhook-ctype.patch")))
+   (uri (string-append "https://pypi.python.org/packages/source/i/";
+   "ipython/ipython-" version ".tar.gz"))
+   (sha256
+(base32 "0xwin0sa9n0cabx4cq1ibf5ldsiw5dyimibla82kicz5gbpas4y9"
 (build-system python-build-system)
 (outputs '("out" "doc"))
 (propagated-inputs



branch master updated (d1e0885 -> dab8ebd)

2015-12-03 Thread Federico Beffa
beffa pushed a change to branch master
in repository guix.

  from  d1e0885   gnu: openssh: Update to 7.1p1.
   new  dab8ebd   gnu: python2-seaborn: Use custom 'python2-' packages.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 gnu/packages/python.scm |4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)



01/01: gnu: python2-seaborn: Use custom 'python2-' packages.

2015-12-03 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit dab8ebd92583781c8ed6e216396771fe4390470e
Author: Federico Beffa 
Date:   Thu Dec 3 11:06:30 2015 +0100

gnu: python2-seaborn: Use custom 'python2-' packages.

* gnu/packages/python.scm (python2-seaborn): Use customized 'python2-'
  versions of 'matplotlib', 'pandas' and 'scipy'.
---
 gnu/packages/python.scm |4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 1cbbf20..3385393 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -4701,7 +4701,9 @@ and statistical routines from scipy and statsmodels.")
 (package (inherit seaborn)
   (propagated-inputs
`(("python2-pytz" ,python2-pytz)
- ,@(package-propagated-inputs seaborn))
+ ("python2-pandas" ,python2-pandas)
+ ("python2-matplotlib" ,python2-matplotlib)
+ ("python2-scipy" ,python2-scipy))
 
 (define-public python-sympy
   (package



01/03: gnu: python2-ipython: Use custom 'python2-numpy'.

2015-12-03 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 5587253a8786beca5b270ac72cc68802b72b7539
Author: Federico Beffa 
Date:   Thu Dec 3 08:38:44 2015 +0100

gnu: python2-ipython: Use custom 'python2-numpy'.

* gnu/packages/python.scm (python2-ipython): Do it.
---
 gnu/packages/python.scm |5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 45222e9..71853dc 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -4246,8 +4246,9 @@ computing.")
   (inputs
`(("python2-mock" ,python2-mock)
  ("python2-matplotlib" ,python2-matplotlib)
- ,@(alist-delete "python-matplotlib"
- (package-inputs ipython)))
+ ("python2-numpy" ,python2-numpy)
+ ,@(fold alist-delete (package-inputs ipython)
+ '("python-matplotlib" "python-numpy")))
 
 (define-public python-isodate
   (package



branch master updated (084e41c -> d9bc0bf)

2015-12-03 Thread Federico Beffa
beffa pushed a change to branch master
in repository guix.

  from  084e41c   gnu: ffmpeg: Update to 2.8.3 [fixes 
CVE-2015-{8216,8217,8218,8219}].
   new  5587253   gnu: python2-ipython: Use custom 'python2-numpy'.
   new  3cbe7d5   gnu: python2-pandas: Use custom 'python2-numpy'.
   new  d9bc0bf   gnu: python2-scikit-image: Use custom 'python2-' packages.

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 gnu/packages/python.scm |   18 ++
 1 files changed, 14 insertions(+), 4 deletions(-)



03/03: gnu: python2-scikit-image: Use custom 'python2-' packages.

2015-12-03 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit d9bc0bf8fa3f305c49b1ea630ca10abff50b2149
Author: Federico Beffa 
Date:   Thu Dec 3 09:11:58 2015 +0100

gnu: python2-scikit-image: Use custom 'python2-' packages.

* gnu/packages/python.scm (python2-scikit-image): Use customized 'python2-'
  versions of 'matplotlib', 'numpy' and 'scipy'.
---
 gnu/packages/python.scm |6 +-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 655d97d..1cbbf20 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -2791,7 +2791,11 @@ mining and data analysis.")
  ,@(package-native-inputs scikit-image)))
   (propagated-inputs
`(("python2-pytz" ,python2-pytz)
- ,@(package-propagated-inputs scikit-image))
+ ("python2-matplotlib" ,python2-matplotlib)
+ ("python2-numpy" ,python2-numpy)
+ ("python2-scipy" ,python2-scipy)
+ ,@(fold alist-delete (package-propagated-inputs scikit-image)
+ '("python-matplotlib" "python-numpy" "python-scipy")))
 
 (define-public python-redis
   (package



02/03: gnu: python2-pandas: Use custom 'python2-numpy'.

2015-12-03 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 3cbe7d5e52714410cf8b8ca58bfd37ff5ba525b8
Author: Federico Beffa 
Date:   Thu Dec 3 08:52:46 2015 +0100

gnu: python2-pandas: Use custom 'python2-numpy'.

* gnu/packages/python.scm (python2-pandas): Do it.
---
 gnu/packages/python.scm |7 ++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 71853dc..655d97d 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -1016,7 +1016,12 @@ doing practical, real world data analysis in Python.")
 (license bsd-3)))
 
 (define-public python2-pandas
-  (package-with-python2 python-pandas))
+  (let ((pandas (package-with-python2 python-pandas)))
+(package (inherit pandas)
+ (propagated-inputs
+  `(("python2-numpy" ,python2-numpy)
+,@(alist-delete "python-numpy"
+(package-propagated-inputs pandas)))
 
 (define-public python-tzlocal
   (package



02/03: gnu: python-ipython: Don't use the bootstrap version of 'python-numpy'.

2015-12-02 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 5d26e542ee624e764f9f273e45ea6f0fc718ecf7
Author: Federico Beffa 
Date:   Tue Dec 1 17:41:32 2015 +0100

gnu: python-ipython: Don't use the bootstrap version of 'python-numpy'.

* gnu/packages/python.scm (python-ipython): Do it.
---
 gnu/packages/python.scm |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index f033cb1..513910e 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -4146,7 +4146,7 @@ without using the configuration machinery.")
  `(("readline" ,readline)
("which" ,which)
("python-matplotlib" ,python-matplotlib)
-   ("python-numpy" ,python-numpy-bootstrap)
+   ("python-numpy" ,python-numpy)
("python-numpydoc" ,python-numpydoc)
("python-jinja2" ,python-jinja2)
("python-mistune" ,python-mistune)



03/03: gnu: python-matplotlib: Adjust path to figures in 'info' file.

2015-12-02 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 18b3151613e90eb7b4e0d174069ccc9fbe99b721
Author: Federico Beffa 
Date:   Tue Dec 1 22:03:48 2015 +0100

gnu: python-matplotlib: Adjust path to figures in 'info' file.

* gnu/packages/python.scm (python-matplotlib): Do it.
---
 gnu/packages/python.scm |   14 --
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 513910e..45222e9 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -3276,13 +3276,23 @@ backend = TkAgg~%"
;; The doc recommends to run the 'html' target twice.
(system* "python" "make.py" "html")
(system* "python" "make.py" "html")
+   (copy-recursively "build/html" html)
(system* "python" "make.py" "latex")
(system* "python" "make.py" "texinfo")
+   (symlink (string-append html "/_images")
+(string-append info "/matplotlib-figures"))
+   (with-directory-excursion "build/texinfo"
+ (substitute* "matplotlib.texi"
+   (("@image\\{([^,]*)" all file)
+(string-append "@image{matplotlib-figures/" file)))
+ (symlink (string-append html "/_images")
+  "./matplotlib-figures")
+ (system* "makeinfo" "--no-split"
+  "-o" "matplotlib.info" "matplotlib.texi"))
(copy-file "build/texinfo/matplotlib.info"
   (string-append info "/matplotlib.info"))
(copy-file "build/latex/Matplotlib.pdf"
-  (string-append doc "/Matplotlib.pdf"))
-   (copy-recursively "build/html" html
+  (string-append doc "/Matplotlib.pdf")
 %standard-phases
 (home-page "http://matplotlib.org";)
 (synopsis "2D plotting library for Python")



branch master updated (214ed6a -> 18b3151)

2015-12-02 Thread Federico Beffa
beffa pushed a change to branch master
in repository guix.

  from  214ed6a   gnu: opus: Update to 1.1.1.
   new  1bbc659   gnu: python-matplotlib: Add 'TkAgg' backend and update to 
version '1.4.3'.
   new  5d26e54   gnu: python-ipython: Don't use the bootstrap version of 
'python-numpy'.
   new  18b3151   gnu: python-matplotlib: Adjust path to figures in 'info' 
file.

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 gnu-system.am |1 +
 gnu/packages/patches/matplotlib-setupext-tk.patch |   34 +
 gnu/packages/python.scm   |   40 ++--
 3 files changed, 63 insertions(+), 12 deletions(-)
 create mode 100644 gnu/packages/patches/matplotlib-setupext-tk.patch



01/03: gnu: python-matplotlib: Add 'TkAgg' backend and update to version '1.4.3'.

2015-12-02 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 1bbc659fd2012fbe33b53783c838e84833c74496
Author: Federico Beffa 
Date:   Tue Dec 1 17:20:59 2015 +0100

gnu: python-matplotlib: Add 'TkAgg' backend and update to version '1.4.3'.

* gnu/packages/python.scm (python-matplotlib, python2-matplotlib): Do it.
* gnu/packages/patches/matplotlib-setupext-tk.patch: New file.
* gnu-system.am (dist_patch_DATA): Add the new patch.
---
 gnu-system.am |1 +
 gnu/packages/patches/matplotlib-setupext-tk.patch |   34 +
 gnu/packages/python.scm   |   24 +-
 3 files changed, 50 insertions(+), 9 deletions(-)

diff --git a/gnu-system.am b/gnu-system.am
index 4e06853..ee7fcc1 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -611,6 +611,7 @@ dist_patch_DATA =   
\
   gnu/packages/patches/make-impure-dirs.patch  \
   gnu/packages/patches/mars-install.patch  \
   gnu/packages/patches/mars-sfml-2.3.patch \
+  gnu/packages/patches/matplotlib-setupext-tk.patch\
   gnu/packages/patches/maxima-defsystem-mkdir.patch\
   gnu/packages/patches/mc-fix-ncurses-build.patch  \
   gnu/packages/patches/mcron-install.patch \
diff --git a/gnu/packages/patches/matplotlib-setupext-tk.patch 
b/gnu/packages/patches/matplotlib-setupext-tk.patch
new file mode 100644
index 000..37c3d68
--- /dev/null
+++ b/gnu/packages/patches/matplotlib-setupext-tk.patch
@@ -0,0 +1,34 @@
+Use 'pkg-config' instead of heuristics to find 'tk' flags.
+
+--- matplotlib-1.4.3/setupext.py.orig  2015-12-01 14:21:19.554417453 +0100
 matplotlib-1.4.3/setupext.py   2015-12-02 10:39:47.282363530 +0100
+@@ -1457,7 +1457,7 @@
+ p = subprocess.Popen(
+ '. %s ; eval echo ${%s}' % (file, varname),
+ shell=True,
+-executable="/bin/sh",
++executable="sh",
+ stdout=subprocess.PIPE)
+ result = p.communicate()[0]
+ return result.decode('ascii')
+@@ -1601,8 +1601,19 @@
+ #  of distros.
+ 
+ # Query Tcl/Tk system for library paths and version string
++def getoutput(s):
++ret = os.popen(s).read().strip()
++return ret
+ try:
+-tcl_lib_dir, tk_lib_dir, tk_ver = self.query_tcltk()
++pkg_config_libs = getoutput('pkg-config --libs-only-L 
tk').split()
++# drop '-L' part of strings
++pkg_config_libs = [s[2:] for s in pkg_config_libs]
++pkg_config_ver = getoutput('pkg-config --modversion tk')
++tk_ver = re.match(r"(\d+.\d+)[\d.]*", pkg_config_ver).group(1)
++tcl_lib_dir = next(s for s in pkg_config_libs
++   if re.match(r".*-tcl-.*", s)) + '/tcl' + 
tk_ver
++tk_lib_dir = next(s for s in pkg_config_libs
++  if re.match(r".*-tk-.*", s)) + '/tk' + 
tk_ver
+ except:
+ tk_ver = ''
+ result = self.hardcoded_tcl_config()
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index d8d7d0c..f033cb1 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -3182,7 +3182,7 @@ transcendental functions).")
 (define-public python-matplotlib
   (package
 (name "python-matplotlib")
-(version "1.4.2")
+(version "1.4.3")
 (source
  (origin
(method url-fetch)
@@ -3190,13 +3190,15 @@ transcendental functions).")
"/matplotlib-" version ".tar.gz"))
(sha256
 (base32
- "0m6v9nwdldlwk22gcd339zg6mny5m301fxgks7z8sb8m9wawg8qp"
+ "1dn05cvd0g984lzhh72wa0z93psgwshbbg93fkab6slx5m3l95av"))
+   (patches (list (search-patch "matplotlib-setupext-tk.patch")
 (build-system python-build-system)
 (outputs '("out" "doc"))
 (propagated-inputs ; the following packages are all needed at run time
  `(("python-pyparsing" ,python-pyparsing)
("python-pygobject" ,python-pygobject)
("gobject-introspection" ,gobject-introspection)
+   ("python-tkinter" ,python "tk")
;; The 'gtk+' package (and 'gdk-pixbuf', 'atk' and 'pango' propagated
;; from 'gtk+') provides the required 'typelib' files used by
;; 'gobject-introspection'. The location of these files is set w

01/08: import: hackage: Add recognition of 'true' and 'false' symbols.

2015-11-26 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 7716f55c8356da945261646b4d04864b6d8636aa
Author: Federico Beffa 
Date:   Wed Nov 11 10:39:38 2015 +0100

import: hackage: Add recognition of 'true' and 'false' symbols.

* guix/import/cabal.scm (is-true, is-false, lex-true, lex-false): New 
procedures.
  (lex-word): Use them.
  (make-cabal-parser): Add TRUE and FALSE tokens.
  (eval): Add entries for 'true and 'false symbols.
---
 guix/import/cabal.scm |   16 +++-
 1 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/guix/import/cabal.scm b/guix/import/cabal.scm
index 45d644a..8d84e09 100644
--- a/guix/import/cabal.scm
+++ b/guix/import/cabal.scm
@@ -138,7 +138,7 @@ to the stack."
   "Generate a parser for Cabal files."
   (lalr-parser
;; --- token definitions
-   (CCURLY VCCURLY OPAREN CPAREN TEST ID VERSION RELATION
+   (CCURLY VCCURLY OPAREN CPAREN TEST ID VERSION RELATION TRUE FALSE
(right: IF FLAG EXEC TEST-SUITE SOURCE-REPO BENCHMARK LIB OCURLY)
(left: OR)
(left: PROPERTY AND)
@@ -206,6 +206,8 @@ to the stack."
(if-then (IF tests OCURLY exprs CCURLY) : `(if ,$2 ,$4 ())
 (IF tests open exprs close): `(if ,$2 ,$4 ()))
(tests   (TEST OPAREN ID CPAREN): `(,$1 ,$3)
+(TRUE) : 'true
+(FALSE): 'false
 (TEST OPAREN ID RELATION VERSION CPAREN)
 : `(,$1 ,(string-append $3 " " $4 " " $5))
 (TEST OPAREN ID RELATION VERSION AND RELATION VERSION CPAREN)
@@ -350,6 +352,10 @@ matching a string against the created regexp."
 
 (define (is-if s) (string-ci=? s "if"))
 
+(define (is-true s) (string-ci=? s "true"))
+
+(define (is-false s) (string-ci=? s "false"))
+
 (define (is-and s) (string=? s "&&"))
 
 (define (is-or s) (string=? s "||"))
@@ -424,6 +430,10 @@ string with the read characters."
 
 (define (lex-if loc) (make-lexical-token 'IF loc #f))
 
+(define (lex-true loc) (make-lexical-token 'TRUE loc #t))
+
+(define (lex-false loc) (make-lexical-token 'FALSE loc #f))
+
 (define (lex-and loc) (make-lexical-token 'AND loc #f))
 
 (define (lex-or loc) (make-lexical-token 'OR loc #f))
@@ -489,6 +499,8 @@ LOC is the current port location."
   (let* ((w (read-delimited " ()\t\n" port 'peek)))
 (cond ((is-if w) (lex-if loc))
   ((is-test w port) (lex-test w loc))
+  ((is-true w) (lex-true loc))
+  ((is-false w) (lex-false loc))
   ((is-and w) (lex-and loc))
   ((is-or w) (lex-or loc))
   ((is-id w) (lex-id w loc))
@@ -714,6 +726,8 @@ the ordering operation and the version."
   (('os name) (os name))
   (('arch name) (arch name))
   (('impl name) (impl name))
+  ('true #t)
+  ('false #f)
   (('not name) (not (eval name)))
   ;; 'and' and 'or' aren't functions, thus we can't use apply
   (('and args ...) (fold (lambda (e s) (and e s)) #t (eval args)))



07/08: import: hackage: Add new tests.

2015-11-26 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit d3c827e41908f98f2ebb9db4050f2bf7051715e2
Author: Federico Beffa 
Date:   Wed Nov 25 13:58:06 2015 +0100

import: hackage: Add new tests.

* tests/hackage.scm (eval-test-with-cabal): Add optional argument.
  (test-cabal-3): New variable and test.
  (test-read-cabal-1): Exercise more parsing variants.
---
 tests/hackage.scm |   37 ++---
 1 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/tests/hackage.scm b/tests/hackage.scm
index 229bee3..b608ccd 100644
--- a/tests/hackage.scm
+++ b/tests/hackage.scm
@@ -50,8 +50,28 @@ build-depends:
 }
 ")
 
+;; Check compiler implementation test with and without spaces.
+(define test-cabal-3
+  "name: foo
+version: 1.0.0
+homepage: http://test.org
+synopsis: synopsis
+description: description
+license: BSD3
+library
+  if impl(ghc >= 7.2 && < 7.6)
+Build-depends: ghc-a
+  if impl(ghc>=7.2&&<7.6)
+Build-depends: ghc-b
+  if impl(ghc == 7.8)
+Build-depends: 
+  HTTP   >= 4000.2.5 && < 4000.3,
+  mtl>= 2.0  && < 3
+")
+
 ;; A fragment of a real Cabal file with minor modification to check precedence
-;; of 'and' over 'or'.
+;; of 'and' over 'or', missing final newline, spaces between keywords and
+;; parentheses and between key and column.
 (define test-read-cabal-1
   "name: test-me
 library
@@ -66,24 +86,23 @@ library
 Build-depends: base >= 3 && < 4
   else
 Build-depends: base < 3
-  if flag(base4point8) || flag(base4) && flag(base3)
+  if flag(base4point8) || flag (base4) && flag(base3)
 Build-depends: random
-  Build-depends: containers
+  Build-depends : containers
 
   -- Modules that are always built.
   Exposed-Modules:
-Test.QuickCheck.Exception
-")
+Test.QuickCheck.Exception")
 
 (test-begin "hackage")
 
-(define (eval-test-with-cabal test-cabal)
+(define* (eval-test-with-cabal test-cabal #:key (cabal-environment '()))
   (mock
((guix import hackage) hackage-fetch
 (lambda (name-version)
   (call-with-input-string test-cabal
 read-cabal)))
-   (match (hackage->guix-package "foo")
+   (match (hackage->guix-package "foo" #:cabal-environment cabal-environment)
  (('package
 ('name "ghc-foo")
 ('version "1.0.0")
@@ -116,6 +135,10 @@ library
 (test-assert "hackage->guix-package test 2"
   (eval-test-with-cabal test-cabal-2))
 
+(test-assert "hackage->guix-package test 3"
+  (eval-test-with-cabal test-cabal-3
+#:cabal-environment '(("impl" . "ghc-7.8"
+
 (test-assert "read-cabal test 1"
   (match (call-with-input-string test-read-cabal-1 read-cabal)
 ((("name" ("test-me"))



08/08: import: hackage: Assume current 'ghc' package version.

2015-11-26 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit d8c66da7c1566f0fb9156ebfe0f4108282fd4a10
Author: Federico Beffa 
Date:   Wed Nov 25 14:47:16 2015 +0100

import: hackage: Assume current 'ghc' package version.

* guix/scripts/import/hackage.scm (%default-options): Do it.
  (ghc-default-version): New variable.
---
 guix/scripts/import/hackage.scm |8 ++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/guix/scripts/import/hackage.scm b/guix/scripts/import/hackage.scm
index 97d042b..4e84278 100644
--- a/guix/scripts/import/hackage.scm
+++ b/guix/scripts/import/hackage.scm
@@ -19,6 +19,7 @@
 (define-module (guix scripts import hackage)
   #:use-module (guix ui)
   #:use-module (guix utils)
+  #:use-module (guix packages)
   #:use-module (guix scripts)
   #:use-module (guix import hackage)
   #:use-module (guix scripts import)
@@ -34,10 +35,13 @@
 ;;; Command-line options.
 ;;;
 
+(define ghc-default-version
+  (string-append "ghc-" (package-version (@ (gnu packages haskell) ghc
+
 (define %default-options
-  '((include-test-dependencies? . #t)
+  `((include-test-dependencies? . #t)
 (read-from-stdin? . #f)
-('cabal-environment . '(
+(cabal-environment . ,`(("impl" . ,ghc-default-version)
 
 (define (show-help)
   (display (_ "Usage: guix import hackage PACKAGE-NAME



05/08: utils: Add 'canonical-newline-port'.

2015-11-26 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit c8be6f0d4a4ad72b1c0673c4cf11a65cd1079d8c
Author: Federico Beffa 
Date:   Sat Nov 14 15:00:36 2015 +0100

utils: Add 'canonical-newline-port'.

* guix/utils.scm (canonical-newline-port): New procedure.
* tests/utils.scm ("canonical-newline-port"): New test.
---
 guix/utils.scm  |   34 --
 tests/utils.scm |6 ++
 2 files changed, 38 insertions(+), 2 deletions(-)

diff --git a/guix/utils.scm b/guix/utils.scm
index 1542e86..7b589e6 100644
--- a/guix/utils.scm
+++ b/guix/utils.scm
@@ -29,7 +29,8 @@
   #:use-module (srfi srfi-39)
   #:use-module (srfi srfi-60)
   #:use-module (rnrs bytevectors)
-  #:use-module ((rnrs io ports) #:select (put-bytevector))
+  #:use-module (rnrs io ports)
+  #:use-module ((rnrs bytevectors) #:select (bytevector-u8-set!))
   #:use-module ((guix build utils)
 #:select (dump-port package-name->name+version))
   #:use-module ((guix build syscalls) #:select (errno mkdtemp!))
@@ -90,7 +91,8 @@
 decompressed-port
 call-with-decompressed-port
 compressed-output-port
-call-with-compressed-output-port))
+call-with-compressed-output-port
+canonical-newline-port))
 
 
 ;;;
@@ -746,6 +748,34 @@ elements after E."
 (if success?
 (loop (absolute target) (+ depth 1))
 file))
+
+(define (canonical-newline-port port)
+  "Return an input port that wraps PORT such that all newlines consist
+  of a single carriage return."
+  (define (get-position)
+(if (port-has-port-position? port) (port-position port) #f))
+  (define (set-position! position)
+(if (port-has-set-port-position!? port)
+(set-port-position! position port)
+#f))
+  (define (close) (close-port port))
+  (define (read! bv start n)
+(let loop ((count 0)
+   (byte (get-u8 port)))
+  (cond ((eof-object? byte) count)
+((= count (- n 1))
+ (bytevector-u8-set! bv (+ start count) byte)
+ n)
+;; XXX: consume all LFs even if not followed by CR.
+((eqv? byte (char->integer #\return)) (loop count (get-u8 port)))
+(else
+ (bytevector-u8-set! bv (+ start count) byte)
+ (loop (+ count 1) (get-u8 port))
+  (make-custom-binary-input-port "canonical-newline-port"
+ read!
+ get-position
+ set-position!
+ close))
 
 ;;;
 ;;; Source location.
diff --git a/tests/utils.scm b/tests/utils.scm
index b65d6d2..04a859f 100644
--- a/tests/utils.scm
+++ b/tests/utils.scm
@@ -318,6 +318,12 @@
(string-append (%store-prefix)
   "/qvs2rj2ia5vci3wsdb7qvydrmacig4pg-bash-4.2-p24")))
 
+(test-equal "canonical-newline-port"
+  "This is a journey\nInto the sound\nA journey ...\n"
+  (let ((port (open-string-input-port
+   "This is a journey\r\nInto the sound\r\nA journey ...\n")))
+(get-string-all (canonical-newline-port port
+
 (test-end)
 
 (false-if-exception (delete-file temp-file))



branch master updated (b72a441 -> d8c66da)

2015-11-26 Thread Federico Beffa
beffa pushed a change to branch master
in repository guix.

  from  b72a441   gnu: python-pickleshare: Add python-setuptools to 
native-inputs.
   new  7716f55   import: hackage: Add recognition of 'true' and 'false' 
symbols.
   new  9be54eb   import: hackage: Imporve parsing of tests.
   new  876fd23   import: hackage: Make it resilient to missing final 
newline.
   new  94abc84   import: hackage: Make parsing of tests and fields more 
flexible.
   new  c8be6f0   utils: Add 'canonical-newline-port'.
   new  96018e2   import: hackage: Handle CRLF end of line style.
   new  d3c827e   import: hackage: Add new tests.
   new  d8c66da   import: hackage: Assume current 'ghc' package version.

The 8 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 guix/import/cabal.scm   |   84 +++---
 guix/import/hackage.scm |8 ++-
 guix/scripts/import/hackage.scm |8 +++-
 guix/utils.scm  |   34 +++-
 tests/hackage.scm   |   37 ++---
 tests/utils.scm |6 +++
 6 files changed, 138 insertions(+), 39 deletions(-)



04/08: import: hackage: Make parsing of tests and fields more flexible.

2015-11-26 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 94abc84887ddbb56c0428a4ad783318845fcb281
Author: Federico Beffa 
Date:   Wed Nov 11 16:20:45 2015 +0100

import: hackage: Make parsing of tests and fields more flexible.

* guix/import/cabal.scm (is-test): Allow spaces between keyword and
  parentheses.
  (is-id): Add argument 'port'.  Allow spaces between keyword and column.
  (lex-word): Adjust call to 'is-id'.
---
 guix/import/cabal.scm |   19 +--
 1 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/guix/import/cabal.scm b/guix/import/cabal.scm
index 63de74a..c20e074 100644
--- a/guix/import/cabal.scm
+++ b/guix/import/cabal.scm
@@ -333,7 +333,7 @@ matching a string against the created regexp."
 (make-regexp pat
 (cut regexp-exec rx <>)))
 
-(define is-property (make-rx-matcher "([a-z0-9-]+):[ \t]*(\\w?.*)$"
+(define is-property (make-rx-matcher "([a-z0-9-]+)[ \t]*:[ \t]*(\\w?.*)$"
  regexp/icase))
 
 (define is-flag (make-rx-matcher "^flag +([a-z0-9_-]+)"
@@ -366,17 +366,24 @@ matching a string against the created regexp."
 
 (define (is-or s) (string=? s "||"))
 
-(define (is-id s)
+(define (is-id s port)
   (let ((cabal-reserved-words
  '("if" "else" "library" "flag" "executable" "test-suite"
-   "source-repository" "benchmark")))
+   "source-repository" "benchmark"))
+(spaces (read-while (cut char-set-contains? char-set:blank <>) port))
+(c (peek-char port)))
+(unread-string spaces port)
 (and (every (cut string-ci<> s <>) cabal-reserved-words)
- (not (char=? (last (string->list s)) #\:)
+ (and (not (char=? (last (string->list s)) #\:))
+  (not (char=? #\: c))
 
 (define (is-test s port)
   (let ((tests-rx (make-regexp "os|arch|flag|impl"))
+(spaces (read-while (cut char-set-contains? char-set:blank <>) port))
 (c (peek-char port)))
-(and (regexp-exec tests-rx s) (char=? #\( c
+(if (and (regexp-exec tests-rx s) (char=? #\( c))
+#t
+(begin (unread-string spaces port) #f
 
 ;; Lexers for individual tokens.
 
@@ -509,7 +516,7 @@ LOC is the current port location."
   ((is-false w) (lex-false loc))
   ((is-and w) (lex-and loc))
   ((is-or w) (lex-or loc))
-  ((is-id w) (lex-id w loc))
+  ((is-id w port) (lex-id w loc))
   (else (unread-string w port) #f
 
 (define (lex-line port loc)



02/08: import: hackage: Imporve parsing of tests.

2015-11-26 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 9be54eb1b1dab6a3e3ea11734f720a5ef703d76b
Author: Federico Beffa 
Date:   Wed Nov 11 11:22:42 2015 +0100

import: hackage: Imporve parsing of tests.

* guix/import/cabal.scm (lex-word): Add support for tests with no spaces.
  (impl): Rewrite.
---
 guix/import/cabal.scm |   18 +-
 1 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/guix/import/cabal.scm b/guix/import/cabal.scm
index 8d84e09..ed6394e 100644
--- a/guix/import/cabal.scm
+++ b/guix/import/cabal.scm
@@ -30,6 +30,7 @@
   #:use-module (srfi srfi-9 gnu)
   #:use-module (system base lalr)
   #:use-module (rnrs enums)
+  #:use-module (guix utils)
   #:export (read-cabal
 eval-cabal
 
@@ -496,7 +497,7 @@ location."
 (define (lex-word port loc)
   "Process tokens which can be recognized by reading the next word form PORT.
 LOC is the current port location."
-  (let* ((w (read-delimited " ()\t\n" port 'peek)))
+  (let* ((w (read-delimited " <>=()\t\n" port 'peek)))
 (cond ((is-if w) (lex-if loc))
   ((is-test w port) (lex-test w loc))
   ((is-true w) (lex-true loc))
@@ -696,11 +697,18 @@ the ordering operation and the version."
   ((spec-name spec-op spec-ver)
(comp-spec-name+op+version haskell)))
   (if (and spec-ver comp-ver)
-  (eval-string
-   (string-append "(string" spec-op " \"" comp-name "\""
-  " \"" spec-name "-" spec-ver "\")"))
+  (cond
+   ((not (string= spec-name comp-name)) #f)
+   ((string= spec-op "==") (string= spec-ver comp-ver))
+   ((string= spec-op ">=") (version>=? comp-ver spec-ver))
+   ((string= spec-op ">") (version>? comp-ver spec-ver))
+   ((string= spec-op "<=") (not (version>? comp-ver spec-ver)))
+   ((string= spec-op "<") (not (version>=? comp-ver spec-ver)))
+   (else
+(raise (condition
+(&message (message "Failed to evaluate 'impl' test."))
   (string-match spec-name comp-name
-  
+
   (define (cabal-flags)
 (make-cabal-section cabal-sexp 'flag))
   



03/08: import: hackage: Make it resilient to missing final newline.

2015-11-26 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 876fd23ab6dd03c6d7d5d6b2494fbc0e1c5874ce
Author: Federico Beffa 
Date:   Wed Nov 11 15:31:46 2015 +0100

import: hackage: Make it resilient to missing final newline.

* guix/import/cabal.scm (peek-next-line-indent): Check for missing final
  newline.
---
 guix/import/cabal.scm |   31 ++-
 1 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/guix/import/cabal.scm b/guix/import/cabal.scm
index ed6394e..63de74a 100644
--- a/guix/import/cabal.scm
+++ b/guix/import/cabal.scm
@@ -227,19 +227,24 @@ to the stack."
   "This function can be called when the next character on PORT is #\newline
 and returns the indentation of the line starting after the #\newline
 character.  Discard (and consume) empty and comment lines."
-  (let ((initial-newline (string (read-char port
-(let loop ((char (peek-char port))
-   (word ""))
-  (cond ((eqv? char #\newline) (read-char port)
- (loop (peek-char port) ""))
-((or (eqv? char #\space) (eqv? char #\tab))
- (let ((c (read-char port)))
-   (loop (peek-char port) (string-append word (string c)
-((comment-line port char) (loop (peek-char port) ""))
-(else
- (let ((len (string-length word)))
-   (unread-string (string-append initial-newline word) port)
-   len))
+  (if (eof-object? (peek-char port))
+  ;; If the file is missing the #\newline on the last line, add it and act
+  ;; as if it were there. This is needed for proper operation of
+  ;; indentation based block recognition (based on ‘port-column’).
+  (begin (unread-char #\newline port) (read-char port) 0)
+  (let ((initial-newline (string (read-char port
+(let loop ((char (peek-char port))
+   (word ""))
+  (cond ((eqv? char #\newline) (read-char port)
+ (loop (peek-char port) ""))
+((or (eqv? char #\space) (eqv? char #\tab))
+ (let ((c (read-char port)))
+   (loop (peek-char port) (string-append word (string c)
+((comment-line port char) (loop (peek-char port) ""))
+(else
+ (let ((len (string-length word)))
+   (unread-string (string-append initial-newline word) port)
+   len)))
 
 (define* (read-value port value min-indent #:optional (separator " "))
   "The next character on PORT must be #\newline.  Append to VALUE the



06/08: import: hackage: Handle CRLF end of line style.

2015-11-26 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 96018e21e7a84c343c1a019fa5c6ef3c15fb24d6
Author: Federico Beffa 
Date:   Sat Nov 14 15:15:00 2015 +0100

import: hackage: Handle CRLF end of line style.

* guix/import/hackage.scm (hackage-fetch, hackage->guix-package): Use
  'canonical-newline-port'.
---
 guix/import/hackage.scm |8 +---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/guix/import/hackage.scm b/guix/import/hackage.scm
index 3baa514..8725ffa 100644
--- a/guix/import/hackage.scm
+++ b/guix/import/hackage.scm
@@ -22,7 +22,8 @@
   #:use-module (srfi srfi-11)
   #:use-module (srfi srfi-1)
   #:use-module ((guix download) #:select (download-to-store))
-  #:use-module ((guix utils) #:select (package-name->name+version))
+  #:use-module ((guix utils) #:select (package-name->name+version
+   canonical-newline-port))
   #:use-module (guix import utils)
   #:use-module (guix import cabal)
   #:use-module (guix store)
@@ -84,7 +85,8 @@ version."
 (call-with-temporary-output-file
  (lambda (temp port)
(and (url-fetch url temp)
-(call-with-input-file temp read-cabal))
+(call-with-input-file temp
+  (compose read-cabal canonical-newline-port)))
 
 (define string->license
   ;; List of valid values from
@@ -216,7 +218,7 @@ to the Cabal file format definition.  The default value 
associated with the
 keys \"os\", \"arch\" and \"impl\" is \"linux\", \"x86_64\" and \"ghc\"
 respectively."
   (let ((cabal-meta (if port
-(read-cabal port)
+(read-cabal (canonical-newline-port port))
 (hackage-fetch package-name
 (and=> cabal-meta (compose (cut hackage-module->sexp <>
 #:include-test-dependencies? 



branch master updated (1f7ffd6 -> 3dac53b)

2015-10-17 Thread Federico Beffa
beffa pushed a change to branch master
in repository guix.

  from  1f7ffd6   gnu: fastcap: Fix 'fix-doc phase.
   new  3dac53b   gnu: fastcap: Remove non-free file.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 gnu/packages/engineering.scm |3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)



01/01: gnu: fastcap: Remove non-free file.

2015-10-17 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 3dac53be015786dcaba5b58f203006c2ca0ee15e
Author: Federico Beffa 
Date:   Sat Oct 17 18:41:22 2015 +0200

gnu: fastcap: Remove non-free file.

* gnu/packages/engineering.scm (fastcap): Do it.
---
 gnu/packages/engineering.scm |3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 3738596..1c378f6 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -237,6 +237,9 @@ optimizer; and it can produce photorealistic and design 
review images.")
   (sha256
(base32
 "0x37vfp6k0d2z3gnig0hbicvi0jp8v267xjnn3z8jdllpiaa6p3k"))
+  (snippet
+   ;; Remove a non-free file.
+   '(delete-file "doc/psfig.sty"))
   (modules '((guix build utils)
  (guix build download)
  (guix ftp-client)))



branch master updated (5d86684 -> 1f7ffd6)

2015-10-17 Thread Federico Beffa
beffa pushed a change to branch master
in repository guix.

  from  5d86684   emacs: devel: Highlight Guix keywords.
   new  1f7ffd6   gnu: fastcap: Fix 'fix-doc phase.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 gnu/packages/engineering.scm |   14 --
 1 files changed, 12 insertions(+), 2 deletions(-)



01/01: gnu: fastcap: Fix 'fix-doc phase.

2015-10-17 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 1f7ffd6ff7eef41fb1bc29fb23a70c5feb6ea2c5
Author: Federico Beffa 
Date:   Sat Oct 17 18:11:49 2015 +0200

gnu: fastcap: Fix 'fix-doc phase.

* gnu/packages/engineering.scm (fastcap): Adapt documentation generation to
  change in TeXLive 2015.
---
 gnu/packages/engineering.scm |   14 --
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 54e43ef..3738596 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -265,8 +265,18 @@ optimizer; and it can produce photorealistic and design 
review images.")
  
(("special\\{psfile=([^,]*),.*scale=([#0-9.]*).*\\}"
all file scale)
   (string-append "\\includegraphics[scale=" scale "]{"
- file "}")))
-   (substitute* '("doc/mtt.tex" "doc/tcad.tex")
+ file "}"))
+ 
(("psfig\\{figure=([^,]*),.*width=([#0-9.]*in).*\\}"
+   all file width)
+  (string-append "\\includegraphics[width=" width "]{"
+ file "}"))
+ 
(("psfig\\{figure=([^,]*),.*height=([#0-9.]*in).*\\}"
+   all file height)
+  (string-append "\\includegraphics[height=" height 
"]{"
+ file "}"))
+ (("psfig\\{figure=([^,]*)\\}" all file)
+  (string-append "\\includegraphics{" file "}")))
+   (substitute* '("doc/mtt.tex" "doc/tcad.tex" 
"doc/ug.tex")
  (("^documentstyle\\[(.*)\\]\\{(.*)\\}"
all options class)
   (string-append "\\documentclass[" options "]{"



01/01: gnu: Add scmutils.

2015-09-18 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit c093f9f63a57ae8fa9d230249f0b724f80763dc5
Author: Federico Beffa 
Date:   Thu Aug 13 18:58:01 2015 +0200

gnu: Add scmutils.

* gnu/packages/scheme.scm (scmutils): New variable.
---
 gnu/packages/scheme.scm |  177 +++
 1 files changed, 177 insertions(+), 0 deletions(-)

diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 803b8d5..7465b1b 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès 
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer 
+;;; Copyright © 2015 Federico Beffa 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -486,3 +487,179 @@ addition to support for lightweight VM-based threads, 
each VM itself runs in
 an isolated heap allowing multiple VMs to run simultaneously in different OS
 threads.")
 (license bsd-3)))
+
+;; FIXME: This function is temporarily in the engineering module and not
+;; exported.  It will be moved to an utility module for general use.  Once
+;; this is done, we should remove this definition.
+(define broken-tarball-fetch
+  (@@ (gnu packages engineering) broken-tarball-fetch))
+
+(define-public scmutils
+  (let ()
+(define (system-suffix)
+  (cond
+   ((string-prefix? "x86_64" (or (%current-target-system)
+ (%current-system)))
+"x86-64")
+   (else "i386")))
+
+(package
+  (name "scmutils")
+  (version "20140302")
+  (source
+   (origin
+ (method broken-tarball-fetch)
+ (modules '((guix build utils)))
+ (snippet
+  ;; Remove binary code
+  '(delete-file-recursively "scmutils/mit-scheme"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/6946";
+ "/scmutils-tarballs/" name "-" version
+ "-x86-64-gnu-linux.tar.gz"))
+ (sha256
+  (base32 "10cnbm7nh78m5mrl1di85s29gny81jb1am9zd9f9yx725xb6dnfg"
+  (build-system gnu-build-system)
+  (inputs
+   `(("mit-scheme" ,mit-scheme)
+ ("emacs" ,emacs-no-x)))
+  (arguments
+   `(#:tests? #f ;; no tests-suite
+ #:modules ((guix build gnu-build-system)
+(guix build utils)
+(guix build emacs-utils))
+ #:imported-modules (,@%gnu-build-system-modules
+ (guix build emacs-utils))
+ #:phases
+ (modify-phases %standard-phases
+   (replace 'configure
+;; No standard build procedure is used. We set the correct
+;; runtime path in the custom build system.
+(lambda* (#:key outputs #:allow-other-keys)
+  (let ((out (assoc-ref outputs "out")))
+;; Required to find .bci files at runtime.
+(with-directory-excursion "scmutils"
+  (rename-file "src" "scmutils"))
+(substitute* "scmutils/scmutils/load.scm"
+  (("/usr/local/scmutils/")
+   (string-append out "/lib/mit-scheme-"
+  ,(system-suffix) "/")))
+#t)))
+   (replace 'build
+;; Compile the code and build a band.
+(lambda* (#:key outputs #:allow-other-keys)
+  (let* ((out (assoc-ref outputs "out"))
+ (make-img (string-append
+"echo '(load \"load\") "
+"(disk-save \"edwin-mechanics.com\")'"
+"| mit-scheme")))
+(with-directory-excursion "scmutils/scmutils"
+  (and (zero? (system "mit-scheme < compile.scm"))
+   (zero? (system make-img)))
+   (add-before 'install 'fix-directory-names
+   ;; Correct directory names in the startup script.
+   (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+(scm-root (assoc-ref inputs "mit-scheme")))
+   (substitute* "bin/mechanics

branch master updated (212d563 -> c093f9f)

2015-09-18 Thread Federico Beffa
beffa pushed a change to branch master
in repository guix.

  from  212d563   gnu: Add ruby-bio-logger.
   new  c093f9f   gnu: Add scmutils.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 gnu/packages/scheme.scm |  177 +++
 1 files changed, 177 insertions(+), 0 deletions(-)



08/12: gnu: Add python-mistune.

2015-08-01 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 61b9ac53c34ac3ab6f2661e0de50ea0292407267
Author: Federico Beffa 
Date:   Thu Jul 23 11:06:35 2015 +0200

gnu: Add python-mistune.

* gnu/packages/python.scm (python-mistune, python2-mistune): New variables.
---
 gnu/packages/python.scm |   28 
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 6554abb..aa4080f 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -4543,3 +4543,31 @@ complexity of Python source code.")
 
 (define-public python2-flake8
   (package-with-python2 python-flake8))
+
+(define-public python-mistune
+  (package
+(name "python-mistune")
+(version "0.7")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://pypi.python.org/packages/source/m/mistune/mistune-";
+ version
+ ".tar.gz"))
+   (sha256
+(base32
+ "17zqjp9m4d1w3jf2rbbq5xshcw24q1vlcv24gkgfqqyyymajxahx"
+(build-system python-build-system)
+(inputs
+ `(("python-setuptools" ,python-setuptools)
+   ("python-nose" ,python-nose)
+   ("python-cython" ,python-cython)))
+(home-page "https://github.com/lepture/mistune";)
+(synopsis "Markdown parser in pure Python")
+(description "This package provides a fast markdown parser in pure
+Python.")
+(license bsd-3)))
+
+(define-public python2-mistune
+  (package-with-python2 python-mistune))



03/12: import: elpa: Improve error message reporting.

2015-08-01 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 6544aba5fc43c5e8f3ce558d02354cdde9a68ce9
Author: Federico Beffa 
Date:   Wed Jul 22 15:26:12 2015 +0200

import: elpa: Improve error message reporting.

* guix/import/elpa.scm (filter-dependencies): Fix bug.
  (call-with-downloaded-file): Add optional parameter 'error-thunk'.
  (fetch-package-description): Use it.
---
 guix/import/elpa.scm |   16 ++--
 1 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/guix/import/elpa.scm b/guix/import/elpa.scm
index 3b3dc1f..b3a3a96 100644
--- a/guix/import/elpa.scm
+++ b/guix/import/elpa.scm
@@ -52,7 +52,7 @@ past were distributed separately from Emacs."
 (define (filter-dependencies names)
   "Remove the package names included with Emacs from the list of
 NAMES (strings)."
-  (filter emacs-standard-library? names))
+  (filter (compose not emacs-standard-library?) names))
 
 (define (elpa-name->package-name name)
   "Given the NAME of an Emacs package, return the corresponding Guix name."
@@ -77,14 +77,17 @@ NAMES (strings)."
 (call-with-downloaded-file url read)
 (leave (_ "~A: currently not supported~%") repo
 
-(define (call-with-downloaded-file url proc)
+(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."
+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))
- (error "download failed" url)
+ (if error-thunk
+ (error-thunk)
+ (leave (_ "~A: download failed~%") url))
 
 (define (is-elpa-package? name elpa-pkg-spec)
   "Return true if the string NAME corresponds to the name of the package
@@ -158,8 +161,9 @@ include VERSION."
 
 (define (fetch-package-description kind name repo)
   "Fetch the description of package NAME of type KIND from REPO."
-  (let ((url (full-url repo name "-readme.txt")))
-(call-with-downloaded-file url read-string)))
+  (let ((url (full-url repo name "-readme.txt"))
+(error-thunk (lambda () "No description available.")))
+(call-with-downloaded-file url read-string error-thunk)))
 
 (define* (fetch-elpa-package name #:optional (repo 'gnu))
   "Fetch package NAME from REPO."



02/12: gnu: Add fasthenry.

2015-08-01 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 23bae7bb862bf466fbee07f498130f156c342489
Author: Federico Beffa 
Date:   Wed Jul 22 14:18:27 2015 +0200

gnu: Add fasthenry.

* gnu/packages/engineering.scm (fasthenry): New variable.
* gnu/packages/patches/fasthenry-spAllocate.patch,
  gnu/packages/patches/fasthenry-spBuild.patch,
  gnu/packages/patches/fasthenry-spFactor.patch,
  gnu/packages/patches/fasthenry-spSolve.patch,
  gnu/packages/patches/fasthenry-spUtils.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
---
 gnu-system.am   |5 ++
 gnu/packages/engineering.scm|   50 +++
 gnu/packages/patches/fasthenry-spAllocate.patch |   15 +++
 gnu/packages/patches/fasthenry-spBuild.patch|   13 ++
 gnu/packages/patches/fasthenry-spFactor.patch   |   35 
 gnu/packages/patches/fasthenry-spSolve.patch|   12 +
 gnu/packages/patches/fasthenry-spUtils.patch|   12 +
 7 files changed, 142 insertions(+), 0 deletions(-)

diff --git a/gnu-system.am b/gnu-system.am
index a6e0ba2..87924fe 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -435,6 +435,11 @@ dist_patch_DATA =  
\
   gnu/packages/patches/expat-CVE-2015-1283.patch   \
   gnu/packages/patches/fastcap-mulGlobal.patch \
   gnu/packages/patches/fastcap-mulSetup.patch  \
+  gnu/packages/patches/fasthenry-spAllocate.patch  \
+  gnu/packages/patches/fasthenry-spBuild.patch \
+  gnu/packages/patches/fasthenry-spUtils.patch \
+  gnu/packages/patches/fasthenry-spSolve.patch \
+  gnu/packages/patches/fasthenry-spFactor.patch\
   gnu/packages/patches/findutils-absolute-paths.patch  \
   gnu/packages/patches/findutils-localstatedir.patch   \
   gnu/packages/patches/flashrom-use-libftdi1.patch \
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 4887d90..7faf61e 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -314,3 +314,53 @@ optimizer; and it can produce photorealistic and design 
review images.")
  "Fastcap is a capacitance extraction program based on a
 multipole-accelerated algorithm.")
 (license (license:non-copyleft #f "See fastcap.c."
+
+(define-public fasthenry
+  (package
+(name "fasthenry")
+(version "3.0-12Nov96")
+(source (origin
+  (method url-fetch)
+  (file-name (string-append name "-" version ".tar.gz"))
+  (uri (string-append
+"http://www.rle.mit.edu/cpg/codes/"; name
+"-" version ".tar.z"))
+  (sha256
+   (base32 "1a06xyyd40zhknrkz17xppl2zd5ig4w9g1grc8qrs0zqqcl5hpzi"))
+  (patches (list (search-patch "fasthenry-spAllocate.patch")
+ (search-patch "fasthenry-spBuild.patch")
+ (search-patch "fasthenry-spUtils.patch")
+ (search-patch "fasthenry-spSolve.patch")
+ (search-patch "fasthenry-spFactor.patch")
+(build-system gnu-build-system)
+(arguments
+ `(#:make-flags '("CC=gcc" "RM=rm" "SHELL=sh" "all")
+   #:parallel-build? #f
+   #:tests? #f ;; no tests-suite
+   #:modules ((srfi srfi-1)
+  ,@%gnu-build-system-modules)
+   #:phases
+   (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+  (lambda* (#:key outputs #:allow-other-keys)
+(let* ((out (assoc-ref outputs "out"))
+   (data (string-append out "/share"))
+   (bin (string-append out "/bin"))
+   (doc (string-append data "/doc/" ,name "-" 
,version))
+   (examples (string-append doc "/examples")))
+  (with-directory-excursion "bin"
+(mkdir-p bin)
+(for-each
+ (lambda (f)
+   (copy-file f (string-append bin "/" (basename f
+ (find-files "." ".*")))
+  (copy-recursively "doc" doc)
+  (copy-recursively "examples" examples)
+  #t))
+(home-page "http://www.rle.mit.edu/cpg/research_codes.htm";)
+(synopsis "Multipole-accelerated inductance analysis program")
+ 

10/12: gnu: Add python-terminado.

2015-08-01 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 4aadb1dff7995d96261607d5b032ebc9656516a4
Author: Federico Beffa 
Date:   Thu Jul 23 12:36:37 2015 +0200

gnu: Add python-terminado.

* gnu/packages/python.scm (python-terminado, python2-terminado): New
  variables.
---
 gnu/packages/python.scm |   42 ++
 1 files changed, 42 insertions(+), 0 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index c97cf9d..96fe831 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -4604,3 +4604,45 @@ pseudo terminal (pty), and interact with both the 
process and its pty.")
 
 (define-public python2-ptyprocess
   (package-with-python2 python-ptyprocess))
+
+(define-public python-terminado
+  (package
+(name "python-terminado")
+(version "0.5")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://pypi.python.org/packages/source/t/terminado/terminado-";
+ version ".tar.gz"))
+   (sha256
+(base32
+ "1dkmp1n8dj5v1jl9mfrq8lwyc7dsfrvcmz2bgkpg315sy7pr7s33"
+(build-system python-build-system)
+(propagated-inputs
+ `(("python-tornado" ,python-tornado)
+   ("python-ptyprocess" ,python-ptyprocess)))
+(inputs
+ `(("python-setuptools" ,python-setuptools)
+   ("python-nose" ,python-nose)))
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (replace 'check
+  (lambda _
+(zero? (system* "nosetests")))
+(home-page "https://github.com/takluyver/terminado";)
+(synopsis "Terminals served to term.js using Tornado websockets")
+(description "This package provides a Tornado websocket backend for the
+term.js Javascript terminal emulator library.")
+(license bsd-2)))
+
+(define-public python2-terminado
+  (let ((terminado (package-with-python2 python-terminado)))
+(package (inherit terminado)
+ (propagated-inputs
+  `(("python2-tornado" ,python2-tornado)
+("python2-backport-ssl-match-hostname"
+ ,python2-backport-ssl-match-hostname)
+,@(alist-delete "python-tornado"
+(package-propagated-inputs terminado)))



12/12: gnu: Add emacs-ob-ipython.

2015-08-01 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 48dbeef733b60299b8b54f64a4b1c6676b86d8fc
Author: Federico Beffa 
Date:   Thu Jul 23 18:58:26 2015 +0200

gnu: Add emacs-ob-ipython.

* gnu/packages/emacs.scm (emacs-ob-ipython): New variable.
---
 gnu/packages/emacs.scm |   21 +
 1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index c2a9bb6..b73d80c 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -983,3 +983,24 @@ strings.")
 (description "This package provides an Emacs library for working with
 files and directories.")
 (license license:gpl3+)))
+
+(define-public emacs-ob-ipython
+  (package
+(name "emacs-ob-ipython")
+(version "20150704.8807064693")
+(source (origin
+  (method git-fetch)
+  (uri (git-reference
+(commit "8807064693")
+(url "https://github.com/gregsexton/ob-ipython.git";)))
+  (sha256
+   (base32
+"1scf25snbds9ymagpny30ijbsg479r3nm0ih01dy4m9d0g7qryb7"
+(build-system emacs-build-system)
+(propagated-inputs
+ `(("emacs-f" ,emacs-f)))
+(home-page "http://www.gregsexton.org";)
+(synopsis "Org-Babel functions for IPython evaluation")
+(description "This package adds support to Org-Babel for evaluating Python
+source code using IPython.")
+(license license:gpl3+)))



05/12: gnu: Add emacs-s.

2015-08-01 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 85777fe57a081ad0258badcfc264cb850ad0e7aa
Author: Federico Beffa 
Date:   Thu Jul 23 08:42:53 2015 +0200

gnu: Add emacs-s.

* gnu/packages/emacs.scm (emacs-s): New variable.
---
 gnu/packages/emacs.scm |   26 ++
 1 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 815a258..2befebc 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -934,3 +934,29 @@ and stored in memory.")
 (synopsis "Modern list library for Emacs")
 (description "This package provides a modern list API library for Emacs.")
 (license license:gpl3+)))
+
+(define-public emacs-s
+  (package
+(name "emacs-s")
+(version "1.9.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/magnars/s.el/archive/";
+version ".tar.gz"))
+  (file-name (string-append name "-" version ".tar.gz"))
+  (sha256
+   (base32
+"1gah2k577gvnmxlpw7zrz0jr571vghzhdv2hbgchlgah07czd091"
+(build-system emacs-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-before 'install 'check
+ (lambda _
+   (zero? (system* "./run-tests.sh")))
+(home-page "https://github.com/magnars/s.el";)
+(synopsis "Emacs string manipulation library.")
+(description "This package provides an Emacs library for manipulating
+strings.")
+(license license:gpl3+)))



09/12: gnu: Add python-ptyprocess.

2015-08-01 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 6d992d078e1994265d921ef4e301b5722c6503c6
Author: Federico Beffa 
Date:   Thu Jul 23 11:46:15 2015 +0200

gnu: Add python-ptyprocess.

* gnu/packages/python.scm (python-ptyprocess, python2-ptyprocess): New
  variables.
---
 gnu/packages/python.scm |   33 +
 1 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index aa4080f..c97cf9d 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -4571,3 +4571,36 @@ Python.")
 
 (define-public python2-mistune
   (package-with-python2 python-mistune))
+
+(define-public python-ptyprocess
+  (package
+(name "python-ptyprocess")
+(version "0.5")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://pypi.python.org/packages/source/p/ptyprocess/ptyprocess-";
+ version ".tar.gz"))
+   (sha256
+(base32
+ "0nggns5kikn32yyda2zrj1xdmh49pi3v0drggcdwljbv36r8zdyw"
+(build-system python-build-system)
+(inputs
+ `(("python-setuptools" ,python-setuptools)
+   ("python-nose" ,python-nose)))
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (replace 'check
+  (lambda _
+(zero? (system* "nosetests")))
+(home-page "https://github.com/pexpect/ptyprocess";)
+(synopsis "Run a subprocess in a pseudo terminal")
+(description
+ "This package provides a Python library used to launch a subprocess in a
+pseudo terminal (pty), and interact with both the process and its pty.")
+(license isc)))
+
+(define-public python2-ptyprocess
+  (package-with-python2 python-ptyprocess))



07/12: gnu: Add emacs-f.

2015-08-01 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit cf9ce01fb3d5f4f036bd36c0cc69fa3a519a6685
Author: Federico Beffa 
Date:   Thu Jul 23 10:15:36 2015 +0200

gnu: Add emacs-f.

* gnu/packages/emacs.scm (emacs-f): New variable.
---
 gnu/packages/emacs.scm |   23 +++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 2befebc..c2a9bb6 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -960,3 +960,26 @@ and stored in memory.")
 (description "This package provides an Emacs library for manipulating
 strings.")
 (license license:gpl3+)))
+
+(define-public emacs-f
+  (package
+(name "emacs-f")
+(version "0.17.2")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/rejeep/f.el/archive/v";
+version ".tar.gz"))
+  (file-name (string-append name "-" version ".tar.gz"))
+  (sha256
+   (base32
+"1n5gcldf43wmkr7jxgs519v21zavwr0yn8048iv6gvgfwicnyjlx"
+(build-system emacs-build-system)
+(propagated-inputs
+ `(("emacs-s" ,emacs-s)
+   ("emacs-dash" ,emacs-dash)))
+(home-page "http://github.com/rejeep/f.el";)
+(synopsis "Emacs API for working with files and directories")
+(description "This package provides an Emacs library for working with
+files and directories.")
+(license license:gpl3+)))



11/12: gnu: python-ipython: Update to 3.2.1.

2015-08-01 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 3a0b1b9afcf1cf2ee9a108724a8484237c95d3b7
Author: Federico Beffa 
Date:   Thu Jul 23 17:48:33 2015 +0200

gnu: python-ipython: Update to 3.2.1.

* gnu/packages/python.scm (python-ipython, python2-ipython): Update to 
3.2.1.
  Add optional dependencies required for notebooks.
  (python-ipython): Fix and enable tests (1 still failing).
---
 gnu/packages/python.scm |  117 +--
 1 files changed, 72 insertions(+), 45 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 96fe831..1dac8b1 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -3661,22 +3661,30 @@ cluster without needing to write any wrapper code 
yourself.")
 (define-public python-ipython
   (package
 (name "python-ipython")
-(version "2.3.1")
+(version "3.2.1")
 (source
  (origin
   (method url-fetch)
   (uri (string-append "https://pypi.python.org/packages/source/i/";
   "ipython/ipython-" version ".tar.gz"))
   (sha256
-   (base32 "1764gi5m3ff481rjk336cw6i2h4zlc0nxam9rc5m8m7yl9m4d61y"
+   (base32 "0xwin0sa9n0cabx4cq1ibf5ldsiw5dyimibla82kicz5gbpas4y9"
 (build-system python-build-system)
 (outputs '("out" "doc"))
-;; FIXME: add optional dependencies when available: pyzmq, tornado, ...
+(propagated-inputs
+ `(("python-pyzmq" ,python-pyzmq)
+   ("python-terminado" ,python-terminado)))
 (inputs
  `(("readline" ,readline)
+   ("which" ,which)
("python-matplotlib" ,python-matplotlib)
("python-numpy" ,python-numpy-bootstrap)
("python-numpydoc" ,python-numpydoc)
+   ("python-jinja2" ,python-jinja2)
+   ("python-mistune" ,python-mistune)
+   ("python-jsonschema" ,python-jsonschema)
+   ("python-pygments" ,python-pygments)
+   ("python-requests" ,python-requests) ;; for tests
("python-nose" ,python-nose)))
 (native-inputs
  `(("pkg-config" ,pkg-config)
@@ -3686,44 +3694,55 @@ cluster without needing to write any wrapper code 
yourself.")
("python-setuptools" ,python-setuptools)))
 (arguments
  `(#:phases
-   (alist-cons-after
-'install 'install-doc
-(lambda* (#:key inputs outputs #:allow-other-keys)
-  (let* ((data (string-append (assoc-ref outputs "doc") "/share"))
- (doc (string-append data "/doc/" ,name "-" ,version))
- (html (string-append doc "/html"))
- (man1 (string-append data "/man/man1"))
- (info (string-append data "/info"))
- (examples (string-append doc "/examples")))
-(setenv "LANG" "en_US.UTF-8")
-(with-directory-excursion "docs"
-  ;; FIXME: html and pdf fail to build without optional pyzmq
-  ;(system* "make" "html")
-  ;(system* "make" "pdf" "PAPER=a4")
-  (system* "make" "info"))
-(copy-recursively "docs/man" man1)
-(copy-recursively "examples" examples)
-;; (copy-recursively "docs/build/html" html)
-;; (copy-file "docs/build/latex/ipython.pdf"
-;;(string-append doc "/ipython.pdf"))
-(mkdir-p info)
-(copy-file "docs/build/texinfo/ipython.info"
-   (string-append info "/ipython.info"))
-(copy-file "COPYING.rst" (string-append doc "/COPYING.rst"
-;; Tests can only be run after the library has been installed and not
-;; within the source directory.
-(alist-cons-after
- 'install 'check
- (lambda* (#:key outputs #:allow-other-keys)
-   ;; The test procedure appears to miss the fact that some optional
-   ;; dependencies are missing.
-   ;; (with-directory-excursion "/tmp"
-   ;;   (zero? (system* (string-append (assoc-ref outputs "out")
-   ;;  "/bin/iptest"
-   #t)
- (alist-delete
-  'check
-  %standard-phases)
+   (modify-phases %standard-phases
+ (add-after
+  'install 'install-doc
+  (lambda* (#:key inputs outputs #:allow-other-keys)
+(let* ((data (string-append (assoc-ref outputs "doc&

branch master updated (8fd857f -> 48dbeef)

2015-08-01 Thread Federico Beffa
beffa pushed a change to branch master
in repository guix.

  from  8fd857f   gnu: cross-base: Disable libcilkrts in cross-gcc.
   new  9309450   gnu: Add fastcap.
   new  23bae7b   gnu: Add fasthenry.
   new  6544aba   import: elpa: Improve error message reporting.
   new  d4dbf10   gnu: Add emacs-dash.
   new  85777fe   gnu: Add emacs-s.
   new  40aee1a   build: emacs: Fix bug and improvement robustness.
   new  cf9ce01   gnu: Add emacs-f.
   new  61b9ac5   gnu: Add python-mistune.
   new  6d992d0   gnu: Add python-ptyprocess.
   new  4aadb1d   gnu: Add python-terminado.
   new  3a0b1b9   gnu: python-ipython: Update to 3.2.1.
   new  48dbeef   gnu: Add emacs-ob-ipython.

The 12 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 gnu-system.am   |7 +
 gnu/packages/emacs.scm  |   95 ++
 gnu/packages/engineering.scm|  168 +
 gnu/packages/patches/fastcap-mulGlobal.patch|   13 ++
 gnu/packages/patches/fastcap-mulSetup.patch |   19 ++
 gnu/packages/patches/fasthenry-spAllocate.patch |   15 ++
 gnu/packages/patches/fasthenry-spBuild.patch|   13 ++
 gnu/packages/patches/fasthenry-spFactor.patch   |   35 
 gnu/packages/patches/fasthenry-spSolve.patch|   12 ++
 gnu/packages/patches/fasthenry-spUtils.patch|   12 ++
 gnu/packages/python.scm |  220 ++-
 guix/build/emacs-build-system.scm   |4 +-
 guix/import/elpa.scm|   16 +-
 13 files changed, 576 insertions(+), 53 deletions(-)
 create mode 100644 gnu/packages/patches/fastcap-mulGlobal.patch
 create mode 100644 gnu/packages/patches/fastcap-mulSetup.patch
 create mode 100644 gnu/packages/patches/fasthenry-spAllocate.patch
 create mode 100644 gnu/packages/patches/fasthenry-spBuild.patch
 create mode 100644 gnu/packages/patches/fasthenry-spFactor.patch
 create mode 100644 gnu/packages/patches/fasthenry-spSolve.patch
 create mode 100644 gnu/packages/patches/fasthenry-spUtils.patch



06/12: build: emacs: Fix bug and improvement robustness.

2015-08-01 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit 40aee1a133fd5163db543a224c1814eddb63087b
Author: Federico Beffa 
Date:   Thu Jul 23 10:06:38 2015 +0200

build: emacs: Fix bug and improvement robustness.

* guix/build/emacs-build-system.scm (emacs-inputs): Fix matching pattern.
  (patch-el-files): Improve regexp pattern.
---
 guix/build/emacs-build-system.scm |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/guix/build/emacs-build-system.scm 
b/guix/build/emacs-build-system.scm
index dd3cfc4..f18db0a 100644
--- a/guix/build/emacs-build-system.scm
+++ b/guix/build/emacs-build-system.scm
@@ -59,7 +59,7 @@ store in '.el' files."
  (el-dir (string-append out %install-suffix "/" elpa-name-ver))
  (substitute-cmd (lambda ()
(substitute* (find-files "." "\\.el$")
- (("\"/bin/(.*)\"" _ cmd)
+ (("\"/bin/([^.].*)\"" _ cmd)
   (string-append "\"" (which cmd) "\""))
 (with-directory-excursion el-dir
   ;; Some old '.el' files (e.g., tex-buf.el in AUCTeX) are still encoded
@@ -114,7 +114,7 @@ store in '.el' files."
 (define (emacs-inputs inputs)
   "Retrieve the list of Emacs packages from INPUTS."
   (filter (match-lambda
-((label directory)
+((label . directory)
  (emacs-package? ((compose package-name->name+version
store-directory->name-version)
   directory)))



04/12: gnu: Add emacs-dash.

2015-08-01 Thread Federico Beffa
beffa pushed a commit to branch master
in repository guix.

commit d4dbf10eb16401f9a8cbdf8b239586ea18528461
Author: Federico Beffa 
Date:   Wed Jul 22 17:38:08 2015 +0200

gnu: Add emacs-dash.

* gnu/packages/emacs.scm (emacs-dash): New variable.
---
 gnu/packages/emacs.scm |   25 +
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index e264eae..815a258 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -909,3 +909,28 @@ e.g. ghostscript and stored in the file-system, but rather 
created on-demand
 and stored in memory.")
 (home-page "https://github.com/politza/pdf-tools";)
 (license license:gpl3+)))
+
+(define-public emacs-dash
+  (package
+(name "emacs-dash")
+(version "2.11.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/magnars/dash.el/archive/";
+version ".tar.gz"))
+  (file-name (string-append name "-" version ".tar.gz"))
+  (sha256
+   (base32
+"1piwcwilkxcbjxx832mhb7q3pz1fgwp203r581bpqcw6kd5x726q"
+(build-system emacs-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-before 'install 'check
+ (lambda _
+   (zero? (system* "./run-tests.sh")))
+(home-page "https://github.com/magnars/dash.el";)
+(synopsis "Modern list library for Emacs")
+(description "This package provides a modern list API library for Emacs.")
+(license license:gpl3+)))



  1   2   3   >