diff mbox series

[bug#36776] WIP: upgrade emacs-ess to 18.10.2

Message ID CAO7Ox=aO+1bXgFHO0+bcGmWcVMASiJ-qW6EXADrO1YA_L3G8EQ@mail.gmail.com
State Accepted
Headers show
Series [bug#36776] WIP: upgrade emacs-ess to 18.10.2 | expand

Commit Message

Nicolò Balzarotti July 23, 2019, 10:11 p.m. UTC
Hello guix!
I'm sorry for this work in progress. I got emacs-ess 18 working, but I
really don't like how I did it (I don't think the way I'm helping emacs
finding julia-mode during the build is right), so I'm asking help here!

On irc, @rekado expressed interest in helping.

Thanks everybody,
Nicolò

Comments

Nicolò Balzarotti Dec. 10, 2019, 4:11 p.m. UTC | #1
Nicolò Balzarotti <anothersms@gmail.com> writes:

Hello again!

After changes to EMACSLOADPATH, emacs is failing to find ess (.el files
are placed under ~/.guix-profile/share/emacs/site-lisp/guix.d)

Looking at the mail archive I found this patch I sent 3 months ago >.<.
It's outdated now (for the LOAD PATH thing).  But we might take the time
to fix this.

Any thought?

Thanks!

Nicolò

> Hello guix!
> I'm sorry for this work in progress. I got emacs-ess 18 working, but I
> really don't like how I did it (I don't think the way I'm helping emacs
> finding julia-mode during the build is right), so I'm asking help here!
>
> On irc, @rekado expressed interest in helping.
>
> Thanks everybody,
> Nicolò
> From 39420bfed259d22bf0368fa0da0a6093a42e0f78 Mon Sep 17 00:00:00 2001
> From: nixo <nicolo@nixo.xyz>
> Date: Wed, 24 Jul 2019 00:04:37 +0200
> Subject: [PATCH] wip: gnu packages: Upgrade emacs-ess to 18.10.2
>
> ---
>  gnu/packages/statistics.scm | 62 ++++++++++++++++++-------------------
>  1 file changed, 30 insertions(+), 32 deletions(-)
>
> diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
> index eb5e5b4b76..35af00c58e 100644
> --- a/gnu/packages/statistics.scm
> +++ b/gnu/packages/statistics.scm
> @@ -5877,35 +5877,15 @@ Java package that provides routines for various statistical distributions.")
>  (define-public emacs-ess
>    (package
>      (name "emacs-ess")
> -    (version "17.11")
> +    (version "18.10.2")
>      (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))))
> +                "0akz3wf6b4dvwm55875ap45rdb52m4fwxfs6nlfpccmm1q55nvbb"))
> +              (modules '((guix build utils)))))
>      (build-system gnu-build-system)
>      (arguments
>       (let ((base-directory "/share/emacs/site-lisp/guix.d/ess"))
> @@ -5917,20 +5897,38 @@ Java package that provides routines for various statistical distributions.")
>           #:phases
>           (modify-phases %standard-phases
>             (delete 'configure)
> +	   (delete 'check) 		;; emacs: standard input is not a tty
>             (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")))))))
> +	     (lambda* (#:key inputs propagated-inputs #:allow-other-keys)
> +	       (substitute* "Makeconf"
> +		 (("SHELL = /bin/sh")
> +		  (string-append "SHELL = " (which "sh"))))
> +	       ;; No need to build docs in so many formats.  Also, skipping
> +	       ;; pdf lets us not pull in texlive.
> +	       (substitute* "doc/Makefile"
> +		 (("install: install-info install-other-docs")
> +		  "install: install-info"))
> +	       ;; This seems too much like a hack
> +	       (substitute* "Makeconf"
> +		 (("-no-site-file")
> +		  (string-append "-no-site-file -L "
> +				 (string-append
> +				  (assoc-ref inputs "emacs-julia-mode")
> +				  "/share/emacs/site-lisp/guix.d/*/"
> +				  ))))
> +	       (substitute* "lisp/Makefile"
> +                 (("^\tjulia-mode.elc\\\\\n") "")
> +                 (("^all: julia-mode.el")
> +                  "all: ")
> +	      	 (("^ess-julia.elc: julia-mode.elc")
> +                  ""))
> +	       #t)
> +	     )))))
>      (inputs
>       `(("emacs" ,emacs-minimal)
>         ("r-minimal" ,r-minimal)))
>      (native-inputs
> -     `(("perl" ,perl)
> +     `(("which" ,which)
>         ("texinfo" ,texinfo)))
>      (propagated-inputs
>       `(("emacs-julia-mode" ,emacs-julia-mode)))
> -- 
> 2.22.0
Nicolò Balzarotti May 7, 2020, 8:39 a.m. UTC | #2
Closing as another patch has been merged in 51ac5ce4b509fac151e646deaff41a527270a74f.

Nicolò Balzarotti <anothersms@gmail.com> writes:

> Hello guix!
> I'm sorry for this work in progress. I got emacs-ess 18 working, but I
> really don't like how I did it (I don't think the way I'm helping emacs
> finding julia-mode during the build is right), so I'm asking help here!
>
> On irc, @rekado expressed interest in helping.
>
> Thanks everybody,
> Nicolò
> From 39420bfed259d22bf0368fa0da0a6093a42e0f78 Mon Sep 17 00:00:00 2001
> From: nixo <nicolo@nixo.xyz>
> Date: Wed, 24 Jul 2019 00:04:37 +0200
> Subject: [PATCH] wip: gnu packages: Upgrade emacs-ess to 18.10.2
>
> ---
>  gnu/packages/statistics.scm | 62 ++++++++++++++++++-------------------
>  1 file changed, 30 insertions(+), 32 deletions(-)
>
> diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
> index eb5e5b4b76..35af00c58e 100644
> --- a/gnu/packages/statistics.scm
> +++ b/gnu/packages/statistics.scm
> @@ -5877,35 +5877,15 @@ Java package that provides routines for various statistical distributions.")
>  (define-public emacs-ess
>    (package
>      (name "emacs-ess")
> -    (version "17.11")
> +    (version "18.10.2")
>      (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))))
> +                "0akz3wf6b4dvwm55875ap45rdb52m4fwxfs6nlfpccmm1q55nvbb"))
> +              (modules '((guix build utils)))))
>      (build-system gnu-build-system)
>      (arguments
>       (let ((base-directory "/share/emacs/site-lisp/guix.d/ess"))
> @@ -5917,20 +5897,38 @@ Java package that provides routines for various statistical distributions.")
>           #:phases
>           (modify-phases %standard-phases
>             (delete 'configure)
> +	   (delete 'check) 		;; emacs: standard input is not a tty
>             (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")))))))
> +	     (lambda* (#:key inputs propagated-inputs #:allow-other-keys)
> +	       (substitute* "Makeconf"
> +		 (("SHELL = /bin/sh")
> +		  (string-append "SHELL = " (which "sh"))))
> +	       ;; No need to build docs in so many formats.  Also, skipping
> +	       ;; pdf lets us not pull in texlive.
> +	       (substitute* "doc/Makefile"
> +		 (("install: install-info install-other-docs")
> +		  "install: install-info"))
> +	       ;; This seems too much like a hack
> +	       (substitute* "Makeconf"
> +		 (("-no-site-file")
> +		  (string-append "-no-site-file -L "
> +				 (string-append
> +				  (assoc-ref inputs "emacs-julia-mode")
> +				  "/share/emacs/site-lisp/guix.d/*/"
> +				  ))))
> +	       (substitute* "lisp/Makefile"
> +                 (("^\tjulia-mode.elc\\\\\n") "")
> +                 (("^all: julia-mode.el")
> +                  "all: ")
> +	      	 (("^ess-julia.elc: julia-mode.elc")
> +                  ""))
> +	       #t)
> +	     )))))
>      (inputs
>       `(("emacs" ,emacs-minimal)
>         ("r-minimal" ,r-minimal)))
>      (native-inputs
> -     `(("perl" ,perl)
> +     `(("which" ,which)
>         ("texinfo" ,texinfo)))
>      (propagated-inputs
>       `(("emacs-julia-mode" ,emacs-julia-mode)))
> -- 
> 2.22.0
Marius Bakke May 8, 2020, 1:46 p.m. UTC | #3
Nicolò Balzarotti <anothersms@gmail.com> writes:

> Closing as another patch has been merged in 51ac5ce4b509fac151e646deaff41a527270a74f.

Whoops, sorry for the duplicate work.  Don't be afraid to ping the bug
tracker when patches go stale like in this case.
Nicolò Balzarotti May 8, 2020, 7:03 p.m. UTC | #4
Marius Bakke <mbakke@fastmail.com> writes:

Hi Marius,
> Nicolò Balzarotti <anothersms@gmail.com> writes:
>
>> Closing as another patch has been merged in 51ac5ce4b509fac151e646deaff41a527270a74f.
>
> Whoops, sorry for the duplicate work.  Don't be afraid to ping the bug
> tracker when patches go stale like in this case.

Thanks, and don't worry.  The patch was incomplete, I'm happy that
finally emacs-ess has been updated, thanks!

Nicolò
diff mbox series

Patch

From 39420bfed259d22bf0368fa0da0a6093a42e0f78 Mon Sep 17 00:00:00 2001
From: nixo <nicolo@nixo.xyz>
Date: Wed, 24 Jul 2019 00:04:37 +0200
Subject: [PATCH] wip: gnu packages: Upgrade emacs-ess to 18.10.2

---
 gnu/packages/statistics.scm | 62 ++++++++++++++++++-------------------
 1 file changed, 30 insertions(+), 32 deletions(-)

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index eb5e5b4b76..35af00c58e 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -5877,35 +5877,15 @@  Java package that provides routines for various statistical distributions.")
 (define-public emacs-ess
   (package
     (name "emacs-ess")
-    (version "17.11")
+    (version "18.10.2")
     (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))))
+                "0akz3wf6b4dvwm55875ap45rdb52m4fwxfs6nlfpccmm1q55nvbb"))
+              (modules '((guix build utils)))))
     (build-system gnu-build-system)
     (arguments
      (let ((base-directory "/share/emacs/site-lisp/guix.d/ess"))
@@ -5917,20 +5897,38 @@  Java package that provides routines for various statistical distributions.")
          #:phases
          (modify-phases %standard-phases
            (delete 'configure)
+	   (delete 'check) 		;; emacs: standard input is not a tty
            (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")))))))
+	     (lambda* (#:key inputs propagated-inputs #:allow-other-keys)
+	       (substitute* "Makeconf"
+		 (("SHELL = /bin/sh")
+		  (string-append "SHELL = " (which "sh"))))
+	       ;; No need to build docs in so many formats.  Also, skipping
+	       ;; pdf lets us not pull in texlive.
+	       (substitute* "doc/Makefile"
+		 (("install: install-info install-other-docs")
+		  "install: install-info"))
+	       ;; This seems too much like a hack
+	       (substitute* "Makeconf"
+		 (("-no-site-file")
+		  (string-append "-no-site-file -L "
+				 (string-append
+				  (assoc-ref inputs "emacs-julia-mode")
+				  "/share/emacs/site-lisp/guix.d/*/"
+				  ))))
+	       (substitute* "lisp/Makefile"
+                 (("^\tjulia-mode.elc\\\\\n") "")
+                 (("^all: julia-mode.el")
+                  "all: ")
+	      	 (("^ess-julia.elc: julia-mode.elc")
+                  ""))
+	       #t)
+	     )))))
     (inputs
      `(("emacs" ,emacs-minimal)
        ("r-minimal" ,r-minimal)))
     (native-inputs
-     `(("perl" ,perl)
+     `(("which" ,which)
        ("texinfo" ,texinfo)))
     (propagated-inputs
      `(("emacs-julia-mode" ,emacs-julia-mode)))
-- 
2.22.0