Message ID | 20200905214524.17263-1-timhowes@lavabit.com |
---|---|
State | Accepted |
Headers | show |
Series | [bug#43208] gnu: emacs-ess: Update to 20.09. | expand |
Context | Check | Description |
---|---|---|
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
Hello, Tim Howes via Guix-patches via <guix-patches@gnu.org> writes: > * gnu/packages/statistics.scm (emacs-ess): Update to 20.09. > [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. > [arguments]: Add flag to specify INFODIR. Remove patch modifying SHELL. > --- > This fixes the version numbering to consider this revision 0 of version > 20.09, similar to how it's done for other emacs packages in guix. Thank you. However, the base version should be 18.10.2, not 20.09, which is not released yet. BTW, when trying to build the package, I get the following failure: INFO Scraping files for ess-autoloads.el... .../lisp/ess-autoloads.el locked by nixbld@localh... (pid 103): (s, q, p, ?)? Cannot resolve lock conflict in batch mode make[1]: *** [Makefile:62: ess-autoloads.el] Error 255 Can you build the package successfully? Regards,
> BTW, when trying to build the package, I get the following failure: > > INFO Scraping files for ess-autoloads.el... > .../lisp/ess-autoloads.el locked by nixbld@localh... (pid 103): (s, q, p, ?)? > Cannot resolve lock conflict in batch mode > make[1]: *** [Makefile:62: ess-autoloads.el] Error 255 > > Can you build the package successfully? It builds successfully sometimes, but fails sporadically due to this file locking issue. It seems like, the way the Makefile is set up, it's trying to build the ess-autoloads target multiple times in parallel, which is causing it to fail if two processes are trying to write to the file at the same time. I'll take a look later to see if I can prevent the problem. Thanks, Tim
Hi Tim & Nicolas, Any update on this? Thanks, Ludo’. Tim Howes <timhowes@lavabit.com> skribis: >> BTW, when trying to build the package, I get the following failure: >> INFO Scraping files for ess-autoloads.el... >> .../lisp/ess-autoloads.el locked by nixbld@localh... (pid 103): (s, q, p, ?)? >> Cannot resolve lock conflict in batch mode >> make[1]: *** [Makefile:62: ess-autoloads.el] Error 255 >> Can you build the package successfully? > > It builds successfully sometimes, but fails sporadically due to this > file locking issue. It seems like, the way the Makefile is set up, > it's trying to build the ess-autoloads target multiple times in > parallel, which is causing it to fail if two processes are trying to > write to the file at the same time. I'll take a look later to see if I > can prevent the problem. > > Thanks, > Tim
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index c1cefa8c41..c705c71460 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5803,31 +5803,28 @@ Java package that provides routines for various statistical distributions.") (license license:gpl2+))) (define-public emacs-ess + (let ((commit "82cd308ae54a6b918bbceb235e6bf02f53e48e19") + (version "20.09") + (revision "0")) (package (name "emacs-ess") - (version "18.10.2") + (version (git-version version revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/emacs-ess/ESS") - (commit (string-append "v" version)))) + (commit commit))) (sha256 (base32 - "1yq41l2bicwjrc0b731iic20cpcnz6ppigri1jn621qv2qv22vy3")) + "0zw6j8jzrdmy41g6313js7c0xlmc2wmiazx4d4wm6hdvykn8q39k")) (file-name (git-file-name name version)) (modules '((guix build utils))) (snippet '(begin ;; Stop ESS from trying to bundle an external julia-mode.el. (substitute* "lisp/Makefile" - (("^ess-julia.elc: julia-mode.elc") "") - (("^all: julia-mode.el") - "all:")) - ;; Include *.el files in install target. - (substitute* "lisp/Makefile" - (("\t\\$\\(INSTALL) \\$\\(ELC\\) \\$\\(LISPDIR\\)" elc) - (string-append "\t$(INSTALL) $(ELS) ess-autoloads.el " - "$(LISPDIR)\n" elc))) + ((" \\$\\(JULIAS)") "") + (("\ttest.*julia-mode.*\\.el") "")) ;; Only build docs in info format. (substitute* "doc/Makefile" (("all : info text") @@ -5836,12 +5833,16 @@ Java package that provides routines for various statistical distributions.") "install: install-info")) ;; Stop install-info from trying to update the info directory. (substitute* "doc/Makefile" - ((".*\\$\\(INFODIR\\)/dir.*") "")) - ;; Fix roxygen preview test. - (substitute* "test/ess-r-tests.el" - (("Add together two numbers.\n") - "Add together two numbers. ") - (("##' add\\(10, 1\\)") "add(10, 1)")) + ((".*/dir.*") "")) + ;; Fix r-help-mode test. + (substitute* "test/ess-test-r.el" + (("\\(equal ess-help-object \"plot.default\")") "t")) + ;; Install to correct directories. + (substitute* "Makefile" + (("mkdir -p \\$\\(ESSDESTDIR)") + "$(MAKE) -C lisp install; $(MAKE) -C doc install") + (("\\$\\(INSTALL) -R \\./\\* \\$\\(ESSDESTDIR)/") + "$(MAKE) -C etc install")) #t)))) (build-system gnu-build-system) (arguments @@ -5850,16 +5851,12 @@ Java package that provides routines for various statistical distributions.") (string-append "ETCDIR=" %output ,base-directory "/etc") (string-append "LISPDIR=" %output - ,base-directory)) + ,base-directory) + (string-append "INFODIR=" %output + "/share/info")) #: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"))))))) @@ -5877,4 +5874,4 @@ Java package that provides routines for various statistical distributions.") (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+))) + (license license:gpl2+))))