summary refs log tree commit diff
path: root/gnu/packages/statistics.scm
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2019-01-07 15:44:09 +0100
committerRicardo Wurmus <rekado@elephly.net>2019-01-07 15:55:06 +0100
commit576e74eee8266cf488d65f8bb303e28776be6883 (patch)
treed7c2cee67129bee257702746785c8e33b221ec6d /gnu/packages/statistics.scm
parent61f2587db98284ec555c2b3899ff6998f9bd91d3 (diff)
downloadguix-576e74eee8266cf488d65f8bb303e28776be6883.tar.gz
gnu: emacs-ess: Move to (gnu packages statistics).
* gnu/packages/emacs.scm (emacs-ess): Move from here...
* gnu/packages/statistics.scm (emacs-ess): ...to here.
Diffstat (limited to 'gnu/packages/statistics.scm')
-rw-r--r--gnu/packages/statistics.scm70
1 files changed, 70 insertions, 0 deletions
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 1e28b9234b..e78e8d199d 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -9,6 +9,8 @@
 ;;; Copyright © 2016, 2017 Raoul Bonnal <ilpuccio.febo@gmail.com>
 ;;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -45,6 +47,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cran)
   #:use-module (gnu packages curl)
+  #:use-module (gnu packages emacs)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages gettext)
@@ -5805,3 +5808,70 @@ Java package that provides routines for various statistical distributions.")
     ;; are under the GPLv3, which is a mistake.  The author confirmed in an
     ;; email that this whole project should be under GPLv2+.
     (license license:gpl2+)))
+
+(define-public emacs-ess
+  (package
+    (name "emacs-ess")
+    (version "17.11")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/emacs-ess/ESS/archive/v"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "0cbilbsiwvcyf6d5y24mymp57m3ana5dkzab3knfs83w4a3a4c5c"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  ;; Stop ESS from trying to bundle an external julia-mode.el.
+                  (substitute* "lisp/Makefile"
+                    (("^\tjulia-mode.elc\\\\\n") "")
+                    (("^dist: all julia-mode.el")
+                     "dist: all"))
+                  ;; No need to build docs in so many formats.  Also, skipping
+                  ;; pdf lets us not pull in texlive.
+                  (substitute* "doc/Makefile"
+                    (("all  : info text html pdf")
+                     "all  : info")
+                    (("install: install-info install-other-docs")
+                     "install: install-info"))
+                  ;; Test fails upstream
+                  (substitute* "test/ess-r-tests.el"
+                    (("ert-deftest ess-r-namespaced-eval-no-srcref-in-errors ()")
+                     "ert-deftest ess-r-namespaced-eval-no-srcref-in-errors () :expected-result :failed"))
+                  #t))))
+    (build-system gnu-build-system)
+    (arguments
+     (let ((base-directory "/share/emacs/site-lisp/guix.d/ess"))
+       `(#:make-flags (list (string-append "PREFIX=" %output)
+                            (string-append "ETCDIR=" %output "/"
+                                           ,base-directory "/etc")
+                            (string-append "LISPDIR=" %output "/"
+                                           ,base-directory))
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure)
+           (add-before 'build 'more-shebang-patching
+             (lambda* (#:key inputs #:allow-other-keys)
+               (substitute* "Makeconf"
+                 (("SHELL = /bin/sh")
+                  (string-append "SHELL = " (which "sh"))))
+               #t))
+           (replace 'check
+             (lambda _
+               (invoke "make" "test")))))))
+    (inputs
+     `(("emacs" ,emacs-minimal)
+       ("r-minimal" ,r-minimal)))
+    (native-inputs
+     `(("perl" ,perl)
+       ("texinfo" ,texinfo)))
+    (propagated-inputs
+     `(("emacs-julia-mode" ,emacs-julia-mode)))
+    (home-page "https://ess.r-project.org/")
+    (synopsis "Emacs mode for statistical analysis programs")
+    (description "Emacs Speaks Statistics (ESS) is an add-on package for GNU
+Emacs.  It is designed to support editing of scripts and interaction with
+various statistical analysis programs such as R, Julia, and JAGS.")
+    (license license:gpl2+)))