From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: [PATCH] gnu: Add emacs-ess. Date: Tue, 05 Jul 2016 15:39:19 +0200 Message-ID: <87wpl0kxvc.fsf@elephly.net> References: <87h9c45jlq.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:55728) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bKQZb-0001sU-RY for guix-devel@gnu.org; Tue, 05 Jul 2016 09:39:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bKQZZ-00007m-Gc for guix-devel@gnu.org; Tue, 05 Jul 2016 09:39:34 -0400 In-reply-to: <87h9c45jlq.fsf@gnu.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Roel Janssen Cc: guix-devel 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 > 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