aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2016, 2017, 2018, 2023 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages w3m)
  #:use-module ((guix licenses) #:select (x11-style))
  #:use-module (gnu packages gettext)
  #:use-module (gnu packages bdw-gc)
  #:use-module (gnu packages compression)
  #:use-module (gnu packages gtk)
  #:use-module (gnu packages image)
  #:use-module (gnu packages ncurses)
  #:use-module (gnu packages perl)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages tls)
  #:use-module (gnu packages xorg)
  #:use-module (gnu packages)
  #:use-module (guix packages)
  #:use-module (guix git-download)
  #:use-module (guix build-system gnu))

(define-public w3m
  (package
    (name "w3m")
    ;; When updating, be careful not to change the derivation of w3m-for-tests,
    ;; unless you mean to. Changing w3m-for-tests will cause thousands of
    ;; rebuilds via the reverse dependency graph of xdg-utils.
    (version "0.5.3+git20230121")
    (source (origin
              (method git-fetch)
              ;; Debian's fork of w3m is the only one that is still maintained.
              (uri (git-reference
                    (url "https://salsa.debian.org/debian/w3m.git")
                    (commit (string-append "v" version))))
              (file-name (git-file-name name version))
              (sha256
               (base32
                "0nvhxsqxgxjrr62mvxzhhfzvbvg56g19vlqcgb8mh2x1daazk5ms"))))
    (build-system gnu-build-system)
    (arguments
     '(#:tests? #f  ; no check target
       ;; Use $EDITOR instead of a hard-coded value.
       #:configure-flags (list "--with-editor="
                               "--with-imagelib=imlib2"
                               "--enable-image=fb,x11")
       #:phases
       (modify-phases %standard-phases
         (add-before 'configure 'fix-perl
           (lambda _ (substitute* '("scripts/w3mmail.cgi.in"
                                    "scripts/dirlist.cgi.in")
                       (("@PERL@") (which "perl"))))))))
    (inputs
     (list gdk-pixbuf
           imlib2
           libgc
           libx11
           ncurses
           openssl
           zlib))
    (native-inputs
     (list gettext-minimal perl pkg-config))
    (home-page "https://w3m.sourceforge.net/")
    (synopsis "Text-mode web browser")
    (description
     "w3m is a text-based web browser as well as a pager like @code{more} or
@code{less}.  With w3m you can browse web pages through a terminal emulator
window.  Moreover, w3m can be used as a text formatting tool which
typesets HTML into plain text.")
    (license (x11-style "file://doc/README"
                        "See 'doc/README' in the distribution."))))

;; Used in the test suite of xdg-utils
(define-public w3m-for-tests
  (hidden-package
   (package
     (inherit w3m)
     (name "w3m")
     (version "0.5.3+git20230121")
     (source (origin
               (method git-fetch)
               ;; Debian's fork of w3m is the only one that is still maintained.
               (uri (git-reference
                     (url "https://salsa.debian.org/debian/w3m.git")
                     (commit (string-append "v" version))))
               (file-name (git-file-name name version))
               (sha256
                (base32
                 "0nvhxsqxgxjrr62mvxzhhfzvbvg56g19vlqcgb8mh2x1daazk5ms")))))))
icd.scm, gnu/packages/xdisorg.scm, gnu/packages/xorg.scm: Update module references. Ricardo Wurmus 2018-12-23gnu: opencc: Unbundle rapidjson....* gnu/packages/textutils.scm (opencc)[source]: Add snippet to remove rapidjson. [arguments]: Add custom phase to substitute rapidjson. [native-inputs]: Add rapidjson. Efraim Flashner 2018-12-23gnu: opencc: Use 'git-fetch'....* gnu/packages/textutils.scm (opencc)[source]: Use 'git-fetch'. Efraim Flashner 2018-11-18gnu: libgtextutils: Re-instate custom bootstrap phase....The source lacks a standard bootstrap script so the bootstrap phase is skipped otherwise. * gnu/packages/textutils.smc (libgtextutils)[arguments]: Replace 'bootstrap phase with upstream's bootstrap phase. Efraim Flashner 2018-11-11gnu: dotconf: Fetch sources from git....* gnu/packages/textutils.scm (dotconf)[source]: Fetch from git. Ricardo Wurmus 2018-11-11gnu: dotconf: Remove custom bootstrap phase....* gnu/packages/textutils.scm (dotconf)[arguments]: Remove autoreconf phase. Ricardo Wurmus 2018-11-11gnu: libgtextutils: Remove custom bootstrap phase....* gnu/packages/textutils.scm (libgtextutils)[arguments]: Remove. Ricardo Wurmus 2018-11-10gnu: Add opencc....* gnu/packages/textutils.scm (opencc): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Meiyo Peng 2018-11-01gnu: oniguruma: Update to 6.9.0....* gnu/packages/textutils.scm (oniguruma): Update to 6.9.0. Tobias Geerinckx-Rice 2018-10-09gnu: docx2txt: End phases with #t....* gnu/packages/textutils.scm (docx2txt)[arguments]: End 'fix-install' phase with #t. Tobias Geerinckx-Rice 2018-10-01gnu: recode: Update to 3.7.1....* gnu/packages/textutils.scm (recode): Update to 3.7.1. Tobias Geerinckx-Rice 2018-08-27Update email for Pierre Neidhardt....* .mailmap: Add name and email for Pierre Neidhardt. * gnu/packages/c.scm, gnu/packages/code.scm, gnu/packages/compression.scm, gnu/packages/disk.scm, gnu/packages/emacs.scm, gnu/packages/freedesktop.scm, gnu/packages/golang.scm, gnu/packages/image.scm, gnu/packages/music.scm, gnu/packages/networking.scm, gnu/packages/password-utils.scm, gnu/packages/perl-check.scm, gnu/packages/perl.scm, gnu/packages/textutils.scm, gnu/packages/video.scm, gnu/packages/xdisorg.scm: Update email for Pierre Neidhardt. Pierre Neidhardt 2018-07-12gnu: php: Build with an older oniguruma....* gnu/packages/textutils.scm (oniguruma-5): New public variable. * gnu/packages/php.scm (php)[inputs]: Change ONIGURUMA to ONIGURUMA-5. Marius Bakke 2018-07-12gnu: oniguruma: Update to 6.8.2....* gnu/packages/textutils.scm (oniguruma): Update to 6.8.2. Marius Bakke 2018-07-07gnu: Add docx2txt....* gnu/packages/textutils.scm (docx2txt): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Pierre Neidhardt 2018-04-30Merge branch 'master' into core-updatesMark H Weaver 2018-04-29gnu: utf8proc: Update to 2.1.1....* gnu/packages/textutils.scm (utf8proc): Update to 2.1.1. Tobias Geerinckx-Rice 2018-04-29gnu: Use HTTPS for julialang.org home pages....* gnu/packages/textutils.scm (utf8proc)[home-page]: Use HTTPS. * gnu/packages/julia.scm (julia)[home-page]: Likewise Tobias Geerinckx-Rice 2018-04-10Merge branch 'master' into core-updatesMark H Weaver 2018-04-02gnu: libconfig: Update to 1.7.2....* gnu/packages/textutils.scm (libconfig): Update to 1.7.2. [home-page]: Update to new home. [source](uri): Adjust accordingly. Marius Bakke 2018-03-20Merge branch 'master' into core-updatesMark H Weaver 2018-03-20Correct name and Email for ng0....* .mailmap: Correct name and Email for ng0. * Makefile.am, doc/guix.texi, etc/completion/fish/guix.fish gnu/packages/accessibility.scm, gnu/packages/admin.scm, gnu/packages/audio.scm, gnu/packages/autotools.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/cinnamon.scm, gnu/packages/compression.scm, gnu/packages/crypto.scm, gnu/packages/databases.scm, gnu/packages/django.scm, gnu/packages/dns.scm, gnu/packages/emacs.scm, gnu/packages/enlightenment.scm, gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/forth.scm, gnu/packages/fvwm.scm, gnu/packages/games.scm, gnu/packages/gl.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm, gnu/packages/gnuzilla.scm, gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile.scm, gnu/packages/haskell-check.scm, gnu/packages/haskell-crypto.scm, gnu/packages/haskell.scm, gnu/packages/image-viewers.scm, gnu/packages/image.scm, gnu/packages/irc.scm, gnu/packages/language.scm, gnu/packages/libcanberra.scm, gnu/packages/linux.scm, gnu/packages/lisp.scm, gnu/packages/lolcode.scm, gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/mail.scm, gnu/packages/markup.scm, gnu/packages/mate.scm, gnu/packages/maths.scm, gnu/packages/mc.scm, gnu/packages/messaging.scm, gnu/packages/music.scm, gnu/packages/ncurses.scm, gnu/packages/networking.scm, gnu/packages/nickle.scm, gnu/packages/openbox.scm, gnu/packages/pdf.scm, gnu/packages/perl-check.scm, gnu/packages/perl.scm, gnu/packages/python-crypto.scm, gnu/packages/python-web.scm, gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/ruby.scm, gnu/packages/rust.scm, gnu/packages/scheme.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/ssh.scm, gnu/packages/suckless.scm, gnu/packages/tbb.scm, gnu/packages/telephony.scm, gnu/packages/text-editors.scm, gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tls.scm, gnu/packages/tor.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/web.scm, gnu/packages/wm.scm, gnu/packages/xdisorg.scm, gnu/packages/xfce.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/services/certbot.scm, gnu/services/desktop.scm, gnu/services/version-control.scm, gnu/services/web.scm, guix/import/hackage.scm, guix/licenses.scm: Likewise. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr> ng0 2018-03-16gnu: All snippets report errors using exceptions, else return #t....* gnu/packages/admin.scm, gnu/packages/algebra.scm, gnu/packages/audio.scm, gnu/packages/backup.scm, gnu/packages/base.scm, gnu/packages/bioinformatics.scm, gnu/packages/cdrom.scm, gnu/packages/chez.scm, gnu/packages/code.scm, gnu/packages/compression.scm, gnu/packages/cross-base.scm, gnu/packages/crypto.scm, gnu/packages/cups.scm, gnu/packages/databases.scm, gnu/packages/dns.scm, gnu/packages/emacs.scm, gnu/packages/emulators.scm, gnu/packages/engineering.scm, gnu/packages/enlightenment.scm, gnu/packages/fpga.scm, gnu/packages/freedesktop.scm, gnu/packages/ftp.scm, gnu/packages/games.scm, gnu/packages/gcc.scm, gnu/packages/geo.scm, gnu/packages/ghostscript.scm, gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm, gnu/packages/gnuzilla.scm, gnu/packages/graphics.scm, gnu/packages/gtk.scm, gnu/packages/guile.scm, gnu/packages/irc.scm, gnu/packages/java.scm, gnu/packages/kerberos.scm, gnu/packages/linux.scm, gnu/packages/lisp.scm, gnu/packages/lxde.scm, gnu/packages/machine-learning.scm, gnu/packages/mail.scm, gnu/packages/maths.scm, gnu/packages/messaging.scm, gnu/packages/monitoring.scm, gnu/packages/mp3.scm, gnu/packages/music.scm, gnu/packages/netpbm.scm, gnu/packages/networking.scm, gnu/packages/node.scm, gnu/packages/nvi.scm, gnu/packages/ocaml.scm, gnu/packages/pdf.scm, gnu/packages/perl.scm, gnu/packages/php.scm, gnu/packages/plotutils.scm, gnu/packages/pretty-print.scm, gnu/packages/profiling.scm, gnu/packages/pulseaudio.scm, gnu/packages/python-crypto.scm, gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/robotics.scm, gnu/packages/sawfish.scm, gnu/packages/scanner.scm, gnu/packages/scheme.scm, gnu/packages/scribus.scm, gnu/packages/sdl.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/slang.scm, gnu/packages/smalltalk.scm, gnu/packages/ssh.scm, gnu/packages/sync.scm, gnu/packages/syncthing.scm, gnu/packages/tbb.scm, gnu/packages/terminals.scm, gnu/packages/texinfo.scm, gnu/packages/text-editors.scm, gnu/packages/textutils.scm, gnu/packages/tls.scm, gnu/packages/unrtf.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/wm.scm, gnu/packages/wxwidgets.scm, gnu/packages/xdisorg.scm, gnu/packages/xorg.scm: In all snippets, report errors using exceptions, or else return #t. Mark H Weaver 2018-03-13gnu: python-editdistance: Use 'invoke'....* gnu/packages/textutils.scm (python-editdistance)[arguments]: Use 'invoke' instead of 'system*'. Efraim Flashner 2018-03-13gnu: python-editdistance: Declare a source file-name....* gnu/packages/textutils.scm (python-editdistance)[source]: Declare a source file-name. Efraim Flashner 2018-03-01gnu: dbacl: Use HTTPS home page....* gnu/packages/textutils.scm (dbacl)[home-page]: Use HTTPS. Tobias Geerinckx-Rice 2018-03-01gnu: dbacl: Update phase style....* gnu/packages/textutils.scm (dbacl)[arguments]: Substitute INVOKE for SYSTEM* and end phases with #t. Tobias Geerinckx-Rice 2018-02-25gnu: enca: Update to 1.19....* gnu/packages/textutils.scm (enca): Update to 1.19. [inputs]: Remove recode. [arguments]: Allow parallel tests. Efraim Flashner 2018-02-25gnu: recode: Update to 3.7....* gnu/packages/textutils.scm (recode): Update to 3.7. [source]: Update source uri and download type. Add snippet to remove cythonized source. [native-inputs]: Add python2-cython. [arguments]: Remove custom phases. [home-page]: Update to new upstream. [license]: Update license. Efraim Flashner