guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gnu: Add xulrunner and conkeror.


From: Cyrill Schenkel
Subject: Re: [PATCH] gnu: Add xulrunner and conkeror.
Date: Mon, 07 Jul 2014 19:03:48 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

address@hidden (Ludovic Courtès) writes:

>> +  (package
>> +    (name "conkeror")
>> +    (version "1.0pre1")
>> +    (source (origin
>> +              (method url-fetch)
>> +              (uri
>> +               (string-append "http://repo.or.cz/w/conkeror.git/snapshot/";
>> +                              "8a26fff5896a3360549e2adfbf06b1d57e909266"
>> +                              ".tar.gz"))
>
> Normally we provide only released versions.  If the last official
> release is too old or broken, could you add a comment stating why we
> take this one?

This is the last tagged commit from the repository.

>> +    (native-inputs `(("tar" ,tar)
>> +                     ("gzip" ,gzip)))
>
> This should not be needed because these are implicit inputs.

It is needed because the `trivial' build system is used.

>> +Mozilla XULRunner which is the base of all Mozilla products including
>> +Firefox. Conkeror has a sophisticated keyboard system for running commands 
>> and

[...]

>> +Despite its very similar sounding name, Conkeror is not related to the KDE 
>> web
>> +browser and file manager Konqueror in any way. ")
>
> If you could make it one paragraph shorter, that’d be great.

Done.

>> +    (license (list license:gpl2
>> +                   license:lgpl2.1))))
>
> Could you add a comment saying if this is dual-licensing, or something
> else?  Also, did you mean ‘gpl2+’ and ‘lgpl2.1+’?

Unfortunately they don't use the "or (at your option) any later version"
clause:

  Unless otherwise stated, use, modification, and distribution are
  subject to the terms of the Mozilla Public License Version 1.1.
  Alternatively, (at your option) use, modification, and distribution
  are instead subject to the terms of either the GNU General Public
  License Version 2 or the GNU Lesser General Public License Version
  2.1.  The text of these licenses follows.

> This one looks good.  I’m wondering if it would make sense to take
> xulrunner from the IceCat sources, but I’m not sure IceCat modifies
> xulrunner itself.  Ideas?

Alírio Eyng <address@hidden> writes:

> I use "abrowser -app conkeror/application.ini"; xulrunner isn't needed
> at all, just a script...

This approach is used now.

Regards
Cyrill

>From 7c41af204ef968b52e39cb54894f90da547b47d0 Mon Sep 17 00:00:00 2001
From: Cyrill Schenkel <address@hidden>
Date: Mon, 7 Jul 2014 18:58:18 +0200
Subject: [PATCH] gnu: Add conkeror.

* gnu-system.am (GNU_SYSTEM_MODULES): Add new package.
* gnu/packages/conkeror.scm: New file.
---
 gnu-system.am             |  1 +
 gnu/packages/conkeror.scm | 95 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 96 insertions(+)
 create mode 100644 gnu/packages/conkeror.scm

diff --git a/gnu-system.am b/gnu-system.am
index a538c45..dde82df 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -55,6 +55,7 @@ GNU_SYSTEM_MODULES =                          \
   gnu/packages/cmake.scm                       \
   gnu/packages/compression.scm                 \
   gnu/packages/complexity.scm                  \
+  gnu/packages/conkeror.scm                    \
   gnu/packages/cook.scm                        \
   gnu/packages/cpio.scm                                \
   gnu/packages/cppi.scm                                \
diff --git a/gnu/packages/conkeror.scm b/gnu/packages/conkeror.scm
new file mode 100644
index 0000000..d39bcf2
--- /dev/null
+++ b/gnu/packages/conkeror.scm
@@ -0,0 +1,95 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Cyrill Schenkel <address@hidden>
+;;;
+;;; 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 conkeror)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system trivial)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages gnuzilla)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages bash)
+  #:use-module (gnu packages compression)
+  #:use-module (ice-9 format))
+
+(define-public conkeror
+  (package
+    (name "conkeror")
+    (version "1.0pre1")
+    (source (origin
+              (method url-fetch)
+              (uri
+               (string-append "http://repo.or.cz/w/conkeror.git/snapshot/";
+                              "8a26fff5896a3360549e2adfbf06b1d57e909266"
+                              ".tar.gz")) ; tag: debian-1.0--pre-1+git140616-1
+              (sha256
+               (base32
+                "1cgjzi7g3g22zcx6bpfnid4i12sb45w6icmxdzjn8d3c0m8qsyp1"))))
+    (build-system trivial-build-system)
+    (inputs `(("icecat" ,icecat)
+              ("bash" ,bash)))
+    (native-inputs `(("tar" ,tar)
+                     ("gzip" ,gzip)))
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder (begin
+                   (use-modules (ice-9 ftw)
+                                (guix build utils))
+                   (let ((select? 
+                          (lambda (name)
+                           (not (equal? (car (string->list name)) #\.))))
+                         (datadir (string-append %output "/share/conkeror"))
+                         (launcher "bin/conkeror"))
+                     (setenv "PATH" (string-append
+                                     (assoc-ref %build-inputs "tar") "/bin:"
+                                     (assoc-ref %build-inputs "gzip") "/bin"))
+                     (system* "tar" "xvf" (assoc-ref %build-inputs "source"))
+                     (copy-recursively (string-append
+                                        (getcwd) "/"
+                                        (car (scandir (getcwd) select?)))
+                                       datadir)
+                     (chdir %output)
+                     (mkdir "bin")
+                     (call-with-output-file launcher
+                       (lambda (p)
+                         (format p "#!~a/bin/bash
+exec ~a/bin/icecat --app ~a \"address@hidden"~%"
+                                 (assoc-ref %build-inputs "bash")
+                                 (assoc-ref %build-inputs "icecat")
+                                 (string-append datadir
+                                                "/application.ini"))))
+                     (chmod launcher #o555)))))
+    (synopsis "Keyboard focused web browser with Emacs look and feel")
+    (description "Conkeror is a highly-programmable web browser based on
+Mozilla XULRunner which is the base of all Mozilla products including
+Firefox. Conkeror has a sophisticated keyboard system for running commands and
+interacting with web page content, modelled after Emacs and Lynx. It is
+self-documenting and extensible with JavaScript.
+
+It comes with builtin support for several Web 2.0 sites like several Google
+services (Search, Gmail, Maps, Reader, etc.), Del.icio.us, Reddit, Last.fm and
+YouTube. For easier editing of form fields, it can spawn external editors. For
+this feature the recommended conkeror-spawn-process-helper package needs to be
+installed.")
+    (home-page "http://conkeror.org";)
+    ;; Conkeror is triple licensed.
+    (license (list license:gpl2
+                   license:lgpl2.1
+                   ;; MPL 1.1 -- this license is not GPL compatible
+                   ))))
-- 
2.0.0


reply via email to

[Prev in Thread] Current Thread [Next in Thread]