diff options
Diffstat (limited to 'gnu')
| -rw-r--r-- | gnu/packages/conkeror.scm | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/gnu/packages/conkeror.scm b/gnu/packages/conkeror.scm new file mode 100644 index 00000000000..d39bcf2c2f6 --- /dev/null +++ b/gnu/packages/conkeror.scm | |||
| @@ -0,0 +1,95 @@ | |||
| 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 | )))) | ||
