;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Nikita Karetnikov ;;; Copyright © 2016, 2017, 2018 Leo Famulari ;;; Copyright © 2016 Kei Kebreau ;;; Copyright © 2016, 2019 Efraim Flashner ;;; Copyright © 2018 Rutger Helling ;;; Copyright © 2020 Tobias Geerinckx-Rice ;;; Copyright © 2021 Maxim Cournoyer > ;;; ;;; 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 . (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") (version "0.5.3+git20210102") (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 "0amq1wfjp5mhqjmvrc0yhxjlx1335p78d7ap8iykfjn5h8yhmrg5")))) (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") #: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 `(("gettext" ,gettext-minimal) ("perl" ,perl) ("pkg-config" ,pkg-config))) (home-page "http://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.")))) ode'. Pass the 'arguments' field through 'object->code'. * tests/print.scm (pkg-with-arguments, pkg-with-arguments-source): New variables. ("package with arguments"): New test. 2021-11-11import: print: Handle patches that are origins.Ludovic Courtès * guix/import/print.scm (package->code)[source->code]: Handle patches that are origins. * tests/print.scm (pkg-with-origin-input): Add 'patches' field. (pkg-with-origin-patch, pkg-with-origin-patch-source): New variables. ("package with origin patch"): New test. 2021-11-11import: print: Correctly handle URI lists.Ludovic Courtès * guix/import/print.scm (package->code)[factorized-uri-code]: New procedure. [source->code]: Use it, and factorize URI when it's a list. * tests/print.scm (pkg-with-origin-input): Check origin URI to a list. 2021-11-11import: print: Properly render packages with origins as inputs.Ludovic Courtès * guix/import/print.scm (package->code)[source->code]: Check whether VERSION is true before calling 'factorize-uri'. [package-lists->code]: Add clause for inputs that are origins. * tests/print.scm (pkg-with-origin-input, pkg-with-origin-input-source): New variables. ("package with origin input"): New test. 2021-07-11import: print: Emit new-style package inputs when possible.Ludovic Courtès * guix/import/print.scm (redundant-input-labels?): New procedure. (package->code)[package-lists->code]: Rename to... [inputs->code]: ... this. When 'redundant-input-labels?' returns true, emit label-less inputs. Adjust callers to new name. * tests/print.scm (pkg-with-inputs): Adjust accordingly.