conkeror.scm 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
  3. ;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
  4. ;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net>
  5. ;;;
  6. ;;; This file is part of GNU Guix.
  7. ;;;
  8. ;;; GNU Guix is free software; you can redistribute it and/or modify it
  9. ;;; under the terms of the GNU General Public License as published by
  10. ;;; the Free Software Foundation; either version 3 of the License, or (at
  11. ;;; your option) any later version.
  12. ;;;
  13. ;;; GNU Guix is distributed in the hope that it will be useful, but
  14. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  15. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. ;;; GNU General Public License for more details.
  17. ;;;
  18. ;;; You should have received a copy of the GNU General Public License
  19. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  20. (define-module (gnu packages conkeror)
  21. #:use-module ((guix licenses) #:prefix license:)
  22. #:use-module (guix packages)
  23. #:use-module (guix download)
  24. #:use-module (guix build-system gnu)
  25. #:use-module (gnu packages)
  26. #:use-module (gnu packages gnuzilla))
  27. (define-public conkeror
  28. (package
  29. (name "conkeror")
  30. (version "1.0.3")
  31. (source (origin
  32. (method url-fetch)
  33. (uri
  34. (string-append "http://repo.or.cz/conkeror.git/snapshot/"
  35. version ".tar.gz"))
  36. (file-name (string-append name "-" version ".tar.gz"))
  37. (sha256
  38. (base32
  39. "0ybmincxw3msnrfpby9gnckbq2x94c7fra2m66zham54cjc7mav3"))))
  40. (build-system gnu-build-system)
  41. (inputs `(("icecat" ,icecat)))
  42. (arguments
  43. `(#:tests? #f ;no tests
  44. #:make-flags `("CC=gcc"
  45. ,(string-append "PREFIX=" (assoc-ref %outputs "out")))
  46. #:phases
  47. (modify-phases %standard-phases
  48. (delete 'configure)
  49. (add-after
  50. 'install 'install-app-launcher
  51. (lambda* (#:key inputs outputs #:allow-other-keys)
  52. ;; This overwrites the installed launcher, which execs xulrunner,
  53. ;; with one that execs 'icecat --app'
  54. (let* ((out (assoc-ref outputs "out"))
  55. (datadir (string-append out "/share/conkeror"))
  56. (launcher (string-append out "/bin/conkeror")))
  57. (call-with-output-file launcher
  58. (lambda (p)
  59. (format p "#!~a/bin/bash
  60. exec ~a/bin/icecat --app ~a \"$@\"~%"
  61. (assoc-ref inputs "bash") ;implicit input
  62. (assoc-ref inputs "icecat")
  63. (string-append datadir
  64. "/application.ini"))))
  65. (chmod launcher #o555)))))))
  66. (synopsis "Keyboard focused web browser with Emacs look and feel")
  67. (description "Conkeror is a highly-programmable web browser based on
  68. Mozilla XULRunner which is the base of all Mozilla products including Firefox.
  69. Conkeror has a sophisticated keyboard system for running commands and
  70. interacting with web page content, modelled after Emacs and Lynx. It is
  71. self-documenting and extensible with JavaScript.
  72. It comes with builtin support for several Web 2.0 sites like several Google
  73. services (Search, Gmail, Maps, Reader, etc.), Del.icio.us, Reddit, Last.fm and
  74. YouTube. For easier editing of form fields, it can spawn external editors.")
  75. (home-page "http://conkeror.org")
  76. ;; Conkeror is triple licensed.
  77. (license (list
  78. ;; MPL 1.1 -- this license is not GPL compatible
  79. license:gpl2
  80. license:lgpl2.1))))