gnu: docbook-xsl update to 1.78.1
[jackhill/guix/guix.git] / gnu / packages / conkeror.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
3 ;;;
4 ;;; This file is part of GNU Guix.
5 ;;;
6 ;;; GNU Guix is free software; you can redistribute it and/or modify it
7 ;;; under the terms of the GNU General Public License as published by
8 ;;; the Free Software Foundation; either version 3 of the License, or (at
9 ;;; your option) any later version.
10 ;;;
11 ;;; GNU Guix is distributed in the hope that it will be useful, but
12 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 ;;; GNU General Public License for more details.
15 ;;;
16 ;;; You should have received a copy of the GNU General Public License
17 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19 (define-module (gnu packages conkeror)
20 #:use-module ((guix licenses) #:prefix license:)
21 #:use-module (guix packages)
22 #:use-module (guix download)
23 #:use-module (guix build-system trivial)
24 #:use-module (gnu packages)
25 #:use-module (gnu packages gnuzilla)
26 #:use-module (gnu packages base)
27 #:use-module (gnu packages bash)
28 #:use-module (gnu packages compression)
29 #:use-module (ice-9 format))
30
31 (define-public conkeror
32 (package
33 (name "conkeror")
34 (version "1.0pre1")
35 (source (origin
36 (method url-fetch)
37 (uri
38 (string-append "http://repo.or.cz/w/conkeror.git/snapshot/"
39 "8a26fff5896a3360549e2adfbf06b1d57e909266"
40 ".tar.gz")) ; tag: debian-1.0--pre-1+git140616-1
41 (sha256
42 (base32
43 "1cgjzi7g3g22zcx6bpfnid4i12sb45w6icmxdzjn8d3c0m8qsyp1"))))
44 (build-system trivial-build-system)
45 (inputs `(("icecat" ,icecat)
46 ("bash" ,bash)))
47 (native-inputs `(("tar" ,tar)
48 ("gzip" ,gzip)))
49 (arguments
50 `(#:modules ((guix build utils))
51 #:builder (begin
52 (use-modules (ice-9 ftw)
53 (guix build utils))
54 (let ((select?
55 (lambda (name)
56 (not (equal? (car (string->list name)) #\.))))
57 (datadir (string-append %output "/share/conkeror"))
58 (launcher "bin/conkeror"))
59 (setenv "PATH" (string-append
60 (assoc-ref %build-inputs "tar") "/bin:"
61 (assoc-ref %build-inputs "gzip") "/bin"))
62 (system* "tar" "xvf" (assoc-ref %build-inputs "source"))
63 (copy-recursively (string-append
64 (getcwd) "/"
65 (car (scandir (getcwd) select?)))
66 datadir)
67 (chdir %output)
68 (mkdir "bin")
69 (call-with-output-file launcher
70 (lambda (p)
71 (format p "#!~a/bin/bash
72 exec ~a/bin/icecat --app ~a \"$@\"~%"
73 (assoc-ref %build-inputs "bash")
74 (assoc-ref %build-inputs "icecat")
75 (string-append datadir
76 "/application.ini"))))
77 (chmod launcher #o555)))))
78 (synopsis "Keyboard focused web browser with Emacs look and feel")
79 (description "Conkeror is a highly-programmable web browser based on
80 Mozilla XULRunner which is the base of all Mozilla products including
81 Firefox. Conkeror has a sophisticated keyboard system for running commands and
82 interacting with web page content, modelled after Emacs and Lynx. It is
83 self-documenting and extensible with JavaScript.
84
85 It comes with builtin support for several Web 2.0 sites like several Google
86 services (Search, Gmail, Maps, Reader, etc.), Del.icio.us, Reddit, Last.fm and
87 YouTube. For easier editing of form fields, it can spawn external editors. For
88 this feature the recommended conkeror-spawn-process-helper package needs to be
89 installed.")
90 (home-page "http://conkeror.org")
91 ;; Conkeror is triple licensed.
92 (license (list license:gpl2
93 license:lgpl2.1
94 ;; MPL 1.1 -- this license is not GPL compatible
95 ))))