aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/w3m.scm
blob: 1ec07675ab9e481c93a6e543b3095a27aa4a4d1a (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2016, 2017, 2018 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>
;;;
;;; 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 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+git20190105")
    (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
                "1fbg2p8qh2gvi3g4iz4q6vc0k70pf248r4yndi5lcn2m3mzvjx0i"))))
    (build-system gnu-build-system)
    (arguments
     '(#:tests? #f  ; no check target
       ;; Use $EDITOR instead of a hard-coded value.
       #:configure-flags '("--with-editor=")
       #:phases
       (modify-phases %standard-phases
         (add-before 'configure 'fix-perl
           (lambda _ (substitute* '("scripts/w3mmail.cgi.in"
                                    "scripts/dirlist.cgi.in")
                       (("@PERL@") (which "perl")))
             #t)))))
    (inputs
     `(("gdk-pixbuf" ,gdk-pixbuf)
       ("libgc" ,libgc)
       ("libx11" ,libx11)
       ("ncurses" ,ncurses)
       ("openssl" ,openssl)
       ("zlib" ,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."))))
nstall.scm (%installation-services): Ditto, (installation-os): ditto. * gnu/system/locale.scm (single-locale-directory): Ditto. 2020-01-28services: gdm: Disable initial system setup in GDM.Leo Prikler * gnu/services/xorg.scm (gdm-configuration-file): Disable gnome-initial-setup. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org> 2019-10-26services: gdm: Add 'debug?' configuration field.Timothy Sample * gnu/services/xorg.scm (<gdm-configuration>)[debug?]: New field. (gdm-configuration-file): Use it. * doc/guix.texi: Document it. 2019-09-21services: gdm: Ensure /var/lib/gdm is owned by "gdm".Ludovic Courtès Fixes <https://bugs.gnu.org/37423>. Reported by Jan <tona_kosmicznego_smiecia@interia.pl>. * gnu/services/xorg.scm (%gdm-activation): New variable. (gdm-service-type)[extensions]: Add 'activation-service-type'. 2019-06-10services: slim: Update SLiM theme to 1.x.Diego Nicola Barbato * gnu/services/xorg.scm (%default-slim-theme-name): Change to "1.x". Signed-off-by: Ludovic Courtès <ludo@gnu.org> 2019-05-11services: gdm: Include user profile in D-Bus paths.Timothy Sample This partially addresses <https://bugs.gnu.org/35267>. * gnu/services/xorg.scm (dbus-daemon-wrapper): When available, include directories from '~/.guix-profile' in the search paths of the D-Bus daemon. 2019-05-09services: Log-in services now require "pam_loginuid".Ludovic Courtès Fixes <https://bugs.gnu.org/35553>. Reported by Bruno Haible <bruno@clisp.org>. * gnu/services/base.scm (login-pam-service): Pass #:login-uid? #t to 'unix-pam-service'. * gnu/services/ssh.scm (lsh-pam-services, openssh-pam-services): Likewise. * gnu/services/xorg.scm (slim-pam-service): Likewise. (gdm-pam-service): Likewise for "gdm-autologin" and "gdm-password". * gnu/tests/base.scm (run-basic-test)["getlogin on tty1"]: New test. * gnu/tests/ssh.scm (run-ssh-test): Add #:test-getlogin? parameter. ["getlogin"]: New test. (%test-dropbear): Pass #:test-getlogin? #f. 2019-05-09services: slim: Provide the 'xorg-server' Shepherd service.Ludovic Courtès This is a followup to 61569171d03146f41ba1b9aedf29fd8fa78d6102. * gnu/services/xorg.scm (slim-shepherd-service): Add 'xorg-server' to 'provision' when VT is "vt7". 2019-05-07services: slim: Allow SLiM to be started on multiple ttys.Diego Nicola Barbato This change makes it possible to add multiple SLiM services to an operating system configuration by setting the new 'display' and 'vt' fields in their configurations to different values. Each SLiM service will get its own authfile, logfile, lockfile, and shepherd service, which will start SLiM on a different tty. * gnu/services/xorg.scm: Export slim-configuration-display and slim-configuration-vt. (<slim-configuration>)[display, vt]: New fields. (slim-shepherd-service): Refactor let. [slim.cfg]: Use new fields for setting display_name, xserver_arguments, authfile, lockfile, and logfile. [shepherd-service][provision]: Name the shepherd service according to the value of 'vt'. [shepherd-service][start]: Delete the right lockfile. Signed-off-by: Ludovic Courtès <ludo@gnu.org> 2019-04-29services: slim: Honor the value of slim from slim-configuration.Diego Nicola Barbato Previously setting the slim field in slim-configuration would have no effect. * gnu/services/xorg.scm (slim-shepherd-service): Remove unused let binding for slim. Use (slim-configuration-slim config) instead of the default slim. Signed-off-by: Ludovic Courtès <ludo@gnu.org> 2019-04-05services: localed: Do nothing for unconfigured keyboards.Ludovic Courtès * gnu/services/xorg.scm (localed-service-type)[package]: Return the empty list when the 'keyboard-layout' field is #f. [compose]: Use 'find' instead of 'first'. 2019-04-05services: localed: Properly handle lack of a 'keyboard-layout'.Ludovic Courtès Fixes a type error when KEYBOARD-LAYOUT is #f. * gnu/services/xorg.scm (localed-dbus-service): Return the empty list when KEYBOARD-LAYOUT is #f. 2019-04-05services: gdm: Properly handle empty extensions lists.Ludovic Courtès Fixes a bug whereby not extending GDM would lead us to do: (first '()) in the 'compose' method. Regression introduced in 305a732a0a19c5810aab401aa7d70eba02ac386b. * gnu/services/xorg.scm (gdm-service-type)[compose]: Handle the case where EXTENSIONS is empty. [extend]: Handle the case where XORG-CONFIGURATION is #f. 2019-04-05services: xorg: Add 'set-xorg-configuration'.Ludovic Courtès * gnu/services/xorg.scm (gdm-service-type)[compose, extend]: New fields. (set-xorg-configuration): New procedure. * doc/guix.texi (Keyboard Layout): Use it. (X Window): Document it. * gnu/system/examples/desktop.tmpl: Add 'keyboard-layout' fields. 2019-04-05services: Add 'localed' service type and have GDM extend it.Ludovic Courtès This fixes a bug whereby GDM would always switch to US English keyboard layout regardless to the configured Xorg keyboard layout. * gnu/services/xorg.scm (<localed-configuration>): New record type. (localed-dbus-service): New procedure. (localed-service-type): New variable. (gdm-service-type): Extend LOCALED-SERVICE-TYPE. 2019-03-31services: slim-configuration: Adapt exported getter methods.Tim Gesthuizen Commit 554b8607396785dcde6eb391f75f98a07ec582fd introduces changes to the slim-configuration record without updating the exported methods. * gnu/services/xorg.scm: Export slim-configuration-xorg and slim-configuration-sessreg. Signed-off-by: Ludovic Courtès <ludo@gnu.org> 2019-03-31doc: Document 'gdm-service-type'.Ludovic Courtès * doc/guix.texi (X Window): Document 'gdm-service-type' and 'gdm-configuration'. Take description of '.desktop' files from the 'slim-service-type' description. * gnu/services/xorg.scm (gdm-service): Remove outdated comment. 2019-03-25services: xorg: Fix cases where 'keyboard-layout' is #f.Ludovic Courtès This is a followup to 598757e038ab5dea3b59c9c248a2ad860c41fe62. * gnu/services/xorg.scm (xorg-configuration->file): Check whether 'xorg-configuration-keyboard-layout' returns #f before calling 'keyboard-layout-options'. 2019-03-24services: xorg: Add a 'keyboard-layout' field in <xorg-configuration>.Ludovic Courtès * gnu/services/xorg.scm (<xorg-configuration>)[keyboard-layout]: New field. (xorg-configuration->file)[input-class-section]: New procedure. Use it. * doc/guix.texi (X Window): Document 'keyboard-layout' field. Co-authored-by: nee <nee-git@hidamari.blue> 2019-03-24services: sddm, slim, gdm: Take an <xorg-configuration> record.Ludovic Courtès * gnu/services/sddm.scm (<sddm-configuration>)[xorg-server-path] [xserver-arguments]: Remove. [xorg-configuration]: New field. (sddm-configuration-file): Adjust accordingly. * gnu/services/xorg.scm (<slim-configuration>)[startx]: Remove. [xorg-configuration]: New field. (slim-shepherd-service, slim-service): Adjust accordingly. (<gdm-configuration>)[x-server]: Remove. [xorg-configuration]: New field. (gdm-shepherd-service, gdm-service): Adjust accordingly. * doc/guix.texi (X Window): Update accordingly. 2019-03-24services: xorg: Define an <xorg-configuration> record type.Ludovic Courtès * gnu/services/xorg.scm (<xorg-configuration>): New record type. (xorg-configuration-file): Remove. (xorg-wrapper): Remove #:modules, #:configuration-file, and #:xorg-server; add optional 'config' parameter instead. Adjust accordingly. (xorg-start-command): Likewise. * doc/guix.texi (X Window): Document 'xorg-configuration'. Update 'xorg-start-command' documentation. Remove 'xorg-configuration-file' documentation. 2019-03-24services: xorg: Remove unused #:guile parameter.Ludovic Courtès * gnu/services/xorg.scm (xorg-wrapper): Remove #:guile, which was unused. (xorg-start-command): Likewise. (xinitrc): Likewise.