01/01: import: stackage: Avoid using (guix ui) in importer code.
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)
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.
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)
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.
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.
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)
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.
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.
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.
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.
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)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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
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.
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.
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.
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
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.
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.
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)
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)
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.
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.
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)
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)
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.
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.
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.
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.
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.
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.
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)
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.
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)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)
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.
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)
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.
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'.
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)
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.
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'.
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'.
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.
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)
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'.
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.
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.
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.
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'.
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)
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.
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.
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.
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.
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)
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.
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)
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.
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.
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)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)
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.
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.
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+)))