me
/
guix
Archived
1
0
Fork 0

gnu: emacs-ess: Update to 18.10.2-0.24da603.

* gnu/packages/statistics.scm (emacs-ess): Update to 18.10.2-0.24da603.
[version]: Use version-revision-commit for version numbering.
[source]: Fix snippet for removing julia-mode.  Remove snippet to modify
roxy-preview-Rd-test.  Add snippet to modify r-help-mode test.  Add
snippet to fix install target to install files to correct directories.
Correct Makefile so that ess-autoloads.el is not built twice.
[arguments]: Add flag to specify INFODIR.  Remove patch modifying SHELL.
[license]: License is now GPLv3+.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
master
Tim Howes 2020-09-26 02:40:38 -07:00 committed by Nicolas Goaziou
parent 22b12e3ec2
commit 0939462e3f
No known key found for this signature in database
GPG Key ID: DA00B4F048E92F2D
1 changed files with 78 additions and 75 deletions

View File

@ -5784,78 +5784,81 @@ Java package that provides routines for various statistical distributions.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public emacs-ess (define-public emacs-ess
(package ;; Latest release is old. This is not the latest commit either due to bug
(name "emacs-ess") ;; reported here: <https://github.com/emacs-ess/ESS/issues/987>.
(version "18.10.2") (let ((commit "24da603184ce39246611dd5b8602e769d7ebd5bf")
(source (origin (version "18.10.2")
(method git-fetch) (revision "0"))
(uri (git-reference (package
(url "https://github.com/emacs-ess/ESS") (name "emacs-ess")
(commit (string-append "v" version)))) (version (git-version version revision commit))
(sha256 (source
(base32 (origin
"1yq41l2bicwjrc0b731iic20cpcnz6ppigri1jn621qv2qv22vy3")) (method git-fetch)
(file-name (git-file-name name version)) (uri (git-reference
(modules '((guix build utils))) (url "https://github.com/emacs-ess/ESS")
(snippet (commit commit)))
'(begin (sha256
;; Stop ESS from trying to bundle an external julia-mode.el. (base32 "0j98lv07nzwzd54d4dgcfz01wy5gj48m0mnirxzh5r45ik2myh1r"))
(substitute* "lisp/Makefile" (file-name (git-file-name name version))
(("^ess-julia.elc: julia-mode.elc") "") (modules '((guix build utils)))
(("^all: julia-mode.el") (snippet
"all:")) '(begin
;; Include *.el files in install target. ;; Stop ESS from trying to bundle an external julia-mode.el.
(substitute* "lisp/Makefile" (substitute* "lisp/Makefile"
(("\t\\$\\(INSTALL) \\$\\(ELC\\) \\$\\(LISPDIR\\)" elc) ((" \\$\\(JULIAS)") "")
(string-append "\t$(INSTALL) $(ELS) ess-autoloads.el " (("\ttest.*julia-mode.*\\.el") ""))
"$(LISPDIR)\n" elc))) ;; Only build docs in info format.
;; Only build docs in info format. (substitute* "doc/Makefile"
(substitute* "doc/Makefile" (("all : info text")
(("all : info text") "all : info")
"all : info") (("install: install-info install-other-docs")
(("install: install-info install-other-docs") "install: install-info"))
"install: install-info")) ;; Stop install-info from trying to update the info directory.
;; Stop install-info from trying to update the info directory. (substitute* "doc/Makefile"
(substitute* "doc/Makefile" ((".*/dir.*") ""))
((".*\\$\\(INFODIR\\)/dir.*") "")) ;; Fix r-help-mode test.
;; Fix roxygen preview test. (substitute* "test/ess-test-r.el"
(substitute* "test/ess-r-tests.el" (("\\(equal ess-help-object \"plot.default\")") "t"))
(("Add together two numbers.\n") ;; Avoid generating ess-autoloads.el twice.
"Add together two numbers. ") (substitute* "Makefile"
(("##' add\\(10, 1\\)") "add(10, 1)")) (("all: lisp doc etc autoloads")
#t)))) "all: lisp doc etc"))
(build-system gnu-build-system) ;; Install to correct directories.
(arguments (substitute* "Makefile"
(let ((base-directory "/share/emacs/site-lisp")) (("mkdir -p \\$\\(ESSDESTDIR)")
`(#:make-flags (list (string-append "PREFIX=" %output) "$(MAKE) -C lisp install; $(MAKE) -C doc install")
(string-append "ETCDIR=" %output (("\\$\\(INSTALL) -R \\./\\* \\$\\(ESSDESTDIR)/")
,base-directory "/etc") "$(MAKE) -C etc install"))
(string-append "LISPDIR=" %output #t))))
,base-directory)) (build-system gnu-build-system)
#:phases (arguments
(modify-phases %standard-phases (let ((base-directory "/share/emacs/site-lisp"))
(delete 'configure) `(#:make-flags (list (string-append "PREFIX=" %output)
(add-before 'build 'more-shebang-patching (string-append "ETCDIR=" %output
(lambda* (#:key inputs #:allow-other-keys) ,base-directory "/etc")
(substitute* "Makeconf" (string-append "LISPDIR=" %output
(("SHELL = /bin/sh") ,base-directory)
(string-append "SHELL = " (which "sh")))) (string-append "INFODIR=" %output
#t)) "/share/info"))
(replace 'check #:phases
(lambda _ (modify-phases %standard-phases
(invoke "make" "test"))))))) (delete 'configure)
(inputs (replace 'check
`(("emacs" ,emacs-minimal) (lambda _ (invoke "make" "test")))))))
("r-minimal" ,r-minimal))) (native-inputs
(native-inputs `(("perl" ,perl)
`(("perl" ,perl) ("r-roxygen2" ,r-roxygen2)
("r-roxygen2" ,r-roxygen2) ("texinfo" ,texinfo)))
("texinfo" ,texinfo))) (inputs
(propagated-inputs `(("emacs" ,emacs-minimal)
`(("emacs-julia-mode" ,emacs-julia-mode))) ("r-minimal" ,r-minimal)))
(home-page "https://ess.r-project.org/") (propagated-inputs
(synopsis "Emacs mode for statistical analysis programs") `(("emacs-julia-mode" ,emacs-julia-mode)))
(description "Emacs Speaks Statistics (ESS) is an add-on package for GNU (home-page "https://ess.r-project.org/")
Emacs. It is designed to support editing of scripts and interaction with (synopsis "Emacs mode for statistical analysis programs")
various statistical analysis programs such as R, Julia, and JAGS.") (description
(license license:gpl2+))) "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:gpl3+))))