aboutsummaryrefslogtreecommitdiff
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
parent8674abb1dda0278f81b5965985e6b78497aab386 (diff)
downloadguix-5ede50b850df9d0a7bd6f5e27def1d783c0f08a4.tar
guix-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.
-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