summary refs log tree commit diff
path: root/gnu/packages/emacs.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2019-01-01 11:21:19 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2019-01-01 11:34:45 -0500
commite68bfcfda1386b0e48ba002253375778d3a48730 (patch)
treeeac18bf79a4efbdc01f4a36bc92935aa8019f601 /gnu/packages/emacs.scm
parentff148ea5d6f2b7799b4bee54b9d8123fe6007abc (diff)
downloadguix-e68bfcfda1386b0e48ba002253375778d3a48730.tar.gz
gnu: emacs-w3m: Fix build.
The previously (unofficial) Git repository mirror is no longer available, so
we fallback to using the official CVS repository.

Fixes issue 33938 (see: https://issues.guix.info/issue/33938).

* gnu/packages/emacs.scm (emacs-w3m)[origin]: Fetch the sources from the
  official CVS repository.
Diffstat (limited to 'gnu/packages/emacs.scm')
-rw-r--r--gnu/packages/emacs.scm171
1 files changed, 86 insertions, 85 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index a0df4da015..8b87f7e602 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -61,6 +61,7 @@
 (define-module (gnu packages emacs)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
+  #:use-module (guix cvs-download)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix gexp)
@@ -843,91 +844,91 @@ index is considered the key).")
 ;;;
 
 (define-public emacs-w3m
-  ;; 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 _
-               (invoke "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)
-               (invoke "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.
+  (package
+    (name "emacs-w3m")
+    (version "2018-11-11")
+    (source (origin
+              (method cvs-fetch)
+              (uri (cvs-reference
+                    (root-directory
+                     ":pserver:anonymous@cvs.namazu.org:/storage/cvsroot")
+                    (module "emacs-w3m")
+                    (revision version)))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32
+                "0nvahdbjs12zg7zsk4gql02mvnv56cf1rwj2f5p42lwp3xvswiwp"))))
+    (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 _
+             (invoke "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)
+             (invoke "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