guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gnu: Add emacs-ess.


From: Ricardo Wurmus
Subject: Re: [PATCH] gnu: Add emacs-ess.
Date: Tue, 05 Jul 2016 15:39:19 +0200
User-agent: mu4e 0.9.16; emacs 24.5.1

Hi Roel,

thanks for taking on ESS!  (I was surprised to see that ESS is not
actually part of Emacs; I always assumed it was.)

>>From 0beacae7c386ea032cfac4511f4a9bc313fb1fb9 Mon Sep 17 00:00:00 2001
> From: Roel Janssen <address@hidden>
> Date: Tue, 5 Jul 2016 14:53:03 +0200
> Subject: [PATCH] gnu: Add emacs-ess.
>
> * gnu/packages/emacs.scm (emacs-ess): New variable.
> ---
>  gnu/packages/emacs.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 45 insertions(+)
>
> diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
> index db88df1..3cc5875 100644
> --- a/gnu/packages/emacs.scm
> +++ b/gnu/packages/emacs.scm
> @@ -42,11 +42,13 @@
>    #:use-module (guix build-system glib-or-gtk)
>    #:use-module (guix build-system trivial)
>    #:use-module (gnu packages)
> +  #:use-module (gnu packages bash)
>    #:use-module (gnu packages guile)
>    #:use-module (gnu packages gtk)
>    #:use-module (gnu packages gnome)
>    #:use-module (gnu packages ncurses)
>    #:use-module (gnu packages texinfo)
> +  #:use-module (gnu packages tex)
>    #:use-module (gnu packages tls)
>    #:use-module (gnu packages pkg-config)
>    #:use-module (gnu packages xorg)
> @@ -67,6 +69,7 @@
>    #:use-module (gnu packages perl)
>    #:use-module (gnu packages pdf)
>    #:use-module (gnu packages scheme)
> +  #:use-module (gnu packages statistics)
>    #:use-module (gnu packages xiph)
>    #:use-module (gnu packages mp3)
>    #:use-module (guix utils)
> @@ -2475,3 +2478,45 @@ news items, openrc and runscripts.")
>  in English as you type.  It primarily detects \"weasel words\" and abuse of
>  passive voice.")
>      (license license:gpl3+)))
> +
> +(define-public emacs-ess
> +  (package
> +    (name "emacs-ess")
> +    (version "16.04")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append 
> "http://ess.r-project.org/downloads/ess/ess-";
> +                                  version ".tgz"))
> +              (file-name (string-append name "-" version ".tar.gz"))

Here again I wonder if that’s really needed.

> +              (sha256
> +               (base32
> +                "0w7mbbajn377gdmvnd21mpyr368b2ia46gq6cb99y4y5rspf9pcg"))))
> +    (build-system gnu-build-system)

I wonder: how much of ESS is written in elisp?  Does it make sense to
add some of the phases provided by the “emacs-build-system”?

> +    (arguments
> +     `(#:tests? #f ; There is no test suite.
> +       #: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 = " (assoc-ref inputs "bash")
> +                               "/bin/sh")))))

Guix has “/bin/sh”.  Do we really need to substitute it for bash?  If
this is necessary, you could also use “(which "bash")” instead.

> +         (replace 'install
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (system* "make" "install"
> +                      (string-append "PREFIX=" (assoc-ref outputs
> "out"))))))))

How about moving this to “#:make-flags”?

> +    (inputs
> +     `(("emacs" ,emacs)

Have you tried building with “emacs-minimal”?

> +       ("r" ,r)
> +       ("bash" ,bash)

I’m not sure but I think “bash” is an implicit input.

> +       ("texinfo" ,texinfo)
> +       ("texlive" ,texlive)))

As Ben wrote “texlive-minimal” might be sufficient.  Please also move
these two to “native-inputs” if that’s possible.

> +    (home-page "http://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, S-Plus, SAS, Stata and
> +OpenBUGS/JAGS.")

I would write “such as R or OpenBUGS.”  The other options are
proprietary software, so I don’t think we should mention them.

> +    (license license:gpl2+)))

~~ Ricardo




reply via email to

[Prev in Thread] Current Thread [Next in Thread]