summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-05-31 22:54:31 +0200
committerLudovic Courtès <ludo@gnu.org>2018-06-01 13:50:26 +0200
commit5ede50b850df9d0a7bd6f5e27def1d783c0f08a4 (patch)
tree44bcc7ac731a7a56c6f94540038266f862c2477a /gnu
parent8674abb1dda0278f81b5965985e6b78497aab386 (diff)
downloadguix-5ede50b850df9d0a7bd6f5e27def1d783c0f08a4.tar.gz
gnu: emacs-w3m: Update and allow builds with Emacs 26.
* gnu/packages/emacs.scm (emacs-w3m)[source]: Grab the source from
github.com.
[native-inputs]: Add TEXINFO.
[arguments]: Add 'support-emacs!' phase.  In 'patch-exec-paths' phase,
make w3m.el and w3m-image.el writable.  Remove substitution for
'w3m-image-viewer', which no longer exists.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/emacs.scm156
1 files changed, 85 insertions, 71 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 90b7fb2cae..4aafb7355e 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -748,77 +748,91 @@ provides an optional IDE-like error list.")
 ;;;
 
 (define-public emacs-w3m
-  (package
-    (name "emacs-w3m")
-    (version "1.4.538+0.20141022")
-    (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://debian/pool/main/w/w3m-el/w3m-el_"
-                                 version ".orig.tar.gz"))
-             (sha256
-              (base32
-               "0zfxmq86pwk64yv0426gnjrvhjrgrjqn08sdcdhmmjmfpmqvm79y"))))
-    (build-system gnu-build-system)
-    (native-inputs `(("autoconf" ,autoconf)
-                     ("emacs" ,emacs-minimal)))
-    (inputs `(("w3m" ,w3m)
-              ("imagemagick" ,imagemagick)))
-    (arguments
-     `(#:modules ((guix build gnu-build-system)
-                  (guix build utils)
-                  (guix build emacs-utils))
-       #:imported-modules (,@%gnu-build-system-modules
-                           (guix build emacs-utils))
-       #:configure-flags
-       (let ((out (assoc-ref %outputs "out")))
-         (list (string-append "--with-lispdir="
-                              out "/share/emacs/site-lisp")
-               (string-append "--with-icondir="
-                              out "/share/images/emacs-w3m")
-               ;; Leave .el files uncompressed, otherwise GC can't
-               ;; identify run-time dependencies.  See
-               ;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
-               "--without-compress-install"))
-       #:tests? #f  ; no check target
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'autoconf
-           (lambda _
-             (zero? (system* "autoconf"))))
-         (add-before 'build 'patch-exec-paths
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out"))
-                   (w3m (assoc-ref inputs "w3m"))
-                   (imagemagick (assoc-ref inputs "imagemagick"))
-                   (coreutils (assoc-ref inputs "coreutils")))
-               (emacs-substitute-variables "w3m.el"
-                 ("w3m-command" (string-append w3m "/bin/w3m"))
-                 ("w3m-touch-command"
-                  (string-append coreutils "/bin/touch"))
-                 ("w3m-image-viewer"
-                  (string-append imagemagick "/bin/display"))
-                 ("w3m-icon-directory"
-                  (string-append out "/share/images/emacs-w3m")))
-               (emacs-substitute-variables "w3m-image.el"
-                 ("w3m-imagick-convert-program"
-                  (string-append imagemagick "/bin/convert"))
-                 ("w3m-imagick-identify-program"
-                  (string-append imagemagick "/bin/identify")))
-               #t)))
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (and (zero? (system* "make" "install" "install-icons"))
-                  (with-directory-excursion
-                      (string-append (assoc-ref outputs "out")
-                                     "/share/emacs/site-lisp")
-                    (for-each delete-file '("ChangeLog" "ChangeLog.1"))
-                    (symlink "w3m-load.el" "w3m-autoloads.el")
-                    #t)))))))
-    (home-page "http://emacs-w3m.namazu.org/")
-    (synopsis "Simple Web browser for Emacs based on w3m")
-    (description
-     "Emacs-w3m is an emacs interface for the w3m web browser.")
-    (license license:gpl2+)))
+  ;; Emacs-w3m follows a "rolling release" model from its CVS repo.  We could
+  ;; use CVS, sure, but instead we choose to use this Git mirror described on
+  ;; the home page as an "unofficial" mirror.
+  (let ((commit "0dd5691f46d314a84da63f3a7277d721815811a2"))
+    (package
+      (name "emacs-w3m")
+      (version (git-version "1.5" "0" commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/ecbrown/emacs-w3m")
+                      (commit commit)))
+                (sha256
+                 (base32
+                  "02xalyxbrkgl4n8nj7xxkmsbm6lshhwdc8bzs2l4wz3hkpgkj7x4"))))
+      (build-system gnu-build-system)
+      (native-inputs `(("autoconf" ,autoconf)
+                       ("texinfo" ,texinfo)
+                       ("emacs" ,emacs-minimal)))
+      (inputs `(("w3m" ,w3m)
+                ("imagemagick" ,imagemagick)))
+      (arguments
+       `(#:modules ((guix build gnu-build-system)
+                    (guix build utils)
+                    (guix build emacs-utils))
+         #:imported-modules (,@%gnu-build-system-modules
+                             (guix build emacs-utils))
+         #:configure-flags
+         (let ((out (assoc-ref %outputs "out")))
+           (list (string-append "--with-lispdir="
+                                out "/share/emacs/site-lisp")
+                 (string-append "--with-icondir="
+                                out "/share/images/emacs-w3m")
+                 ;; Leave .el files uncompressed, otherwise GC can't
+                 ;; identify run-time dependencies.  See
+                 ;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
+                 "--without-compress-install"))
+         #:tests? #f                              ; no check target
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'autoconf
+             (lambda _
+               (zero? (system* "autoconf"))))
+           (add-before 'configure 'support-emacs!
+             (lambda _
+               ;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
+               ;; unsupported.
+               (substitute* "configure"
+                 (("EMACS_FLAVOR=unsupported")
+                  "EMACS_FLAVOR=emacs"))
+               #t))
+           (add-before 'build 'patch-exec-paths
+             (lambda* (#:key inputs outputs #:allow-other-keys)
+               (let ((out (assoc-ref outputs "out"))
+                     (w3m (assoc-ref inputs "w3m"))
+                     (imagemagick (assoc-ref inputs "imagemagick"))
+                     (coreutils (assoc-ref inputs "coreutils")))
+                 (make-file-writable "w3m.el")
+                 (emacs-substitute-variables "w3m.el"
+                   ("w3m-command" (string-append w3m "/bin/w3m"))
+                   ("w3m-touch-command"
+                    (string-append coreutils "/bin/touch"))
+                   ("w3m-icon-directory"
+                    (string-append out "/share/images/emacs-w3m")))
+                 (make-file-writable "w3m-image.el")
+                 (emacs-substitute-variables "w3m-image.el"
+                   ("w3m-imagick-convert-program"
+                    (string-append imagemagick "/bin/convert"))
+                   ("w3m-imagick-identify-program"
+                    (string-append imagemagick "/bin/identify")))
+                 #t)))
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (and (zero? (system* "make" "install" "install-icons"))
+                    (with-directory-excursion
+                        (string-append (assoc-ref outputs "out")
+                                       "/share/emacs/site-lisp")
+                      (for-each delete-file '("ChangeLog" "ChangeLog.1"))
+                      (symlink "w3m-load.el" "w3m-autoloads.el")
+                      #t)))))))
+      (home-page "http://emacs-w3m.namazu.org/")
+      (synopsis "Simple Web browser for Emacs based on w3m")
+      (description
+       "Emacs-w3m is an emacs interface for the w3m web browser.")
+      (license license:gpl2+))))
 
 (define-public emacs-wget
   (package