From mboxrd@z Thu Jan 1 00:00:00 1970 From: Cyrill Schenkel Subject: [PATCH] gnu: Add xulrunner and conkeror. Date: Sun, 06 Jul 2014 10:55:58 +0200 Message-ID: <87bnt2hnmp.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:41210) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X3iFA-0000dU-Dn for guix-devel@gnu.org; Sun, 06 Jul 2014 04:56:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X3iF8-0000rl-CI for guix-devel@gnu.org; Sun, 06 Jul 2014 04:56:20 -0400 Received: from mail-wg0-x22e.google.com ([2a00:1450:400c:c00::22e]:46377) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X3iF8-0000rg-10 for guix-devel@gnu.org; Sun, 06 Jul 2014 04:56:18 -0400 Received: by mail-wg0-f46.google.com with SMTP id y10so3096445wgg.17 for ; Sun, 06 Jul 2014 01:56:16 -0700 (PDT) Received: from SIRIUS09 ([2a02:1205:5016:3160:beae:c5ff:fe67:f585]) by mx.google.com with ESMTPSA id o9sm54037012wib.22.2014.07.06.01.56.15 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Sun, 06 Jul 2014 01:56:15 -0700 (PDT) List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Guix-devel >From 45e7d3afb7247c3fc82fb9d1b275254bde054911 Mon Sep 17 00:00:00 2001 From: Cyrill Schenkel Date: Sun, 6 Jul 2014 10:40:05 +0200 Subject: [PATCH] gnu: Add xulrunner and conkeror. * gnu-system.am (GNU_SYSTEM_MODULES, dist_patch_DATA): Add new package and = patch. * gnu/packages/conkeror.scm: New file. * gnu/packages/patches/xulrunner-install.patch: New file. * gnu/packages/xulrunner.scm: New file. --- gnu-system.am | 5 +- gnu/packages/conkeror.scm | 95 +++++++++++++++++++++++= ++ gnu/packages/patches/xulrunner-install.patch | 41 +++++++++++ gnu/packages/xulrunner.scm | 100 +++++++++++++++++++++++= ++++ 4 files changed, 240 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/conkeror.scm create mode 100644 gnu/packages/patches/xulrunner-install.patch create mode 100644 gnu/packages/xulrunner.scm diff --git a/gnu-system.am b/gnu-system.am index a538c45..3966c5a 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -55,6 +55,7 @@ GNU_SYSTEM_MODULES =3D \ 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 \ @@ -244,6 +245,7 @@ GNU_SYSTEM_MODULES =3D \ gnu/packages/xml.scm \ gnu/packages/xnee.scm \ gnu/packages/xorg.scm \ + gnu/packages/xulrunner.scm \ gnu/packages/yasm.scm \ gnu/packages/zile.scm \ gnu/packages/zip.scm \ @@ -375,7 +377,8 @@ dist_patch_DATA =3D \ gnu/packages/patches/vpnc-script.patch \ gnu/packages/patches/w3m-fix-compile.patch \ gnu/packages/patches/xmodmap-asprintf.patch \ - gnu/packages/patches/xpdf-constchar.patch + gnu/packages/patches/xpdf-constchar.patch \ + gnu/packages/patches/xulrunner-install.patch =20 bootstrapdir =3D $(guilemoduledir)/gnu/packages/bootstrap bootstrap_x86_64_linuxdir =3D $(bootstrapdir)/x86_64-linux diff --git a/gnu/packages/conkeror.scm b/gnu/packages/conkeror.scm new file mode 100644 index 0000000..e5f014f --- /dev/null +++ b/gnu/packages/conkeror.scm @@ -0,0 +1,95 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2014 Cyrill Schenkel +;;; +;;; 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 . + +(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 xulrunner) + #: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")) + (sha256 + (base32 + "1cgjzi7g3g22zcx6bpfnid4i12sb45w6icmxdzjn8d3c0m8qsyp1")))) + (build-system trivial-build-system) + (inputs `(("xulrunner" ,xulrunner) + ("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?=20 + (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") "/bi= n")) + (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/xulrunner ~a \"$@\"~%" + (assoc-ref %build-inputs "bash") + (assoc-ref %build-inputs "xulrunner") + (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 t= o be +installed. + +Despite its very similar sounding name, Conkeror is not related to the KDE= web +browser and file manager Konqueror in any way. ") + (home-page "http://conkeror.org") + (license (list license:gpl2 + license:lgpl2.1)))) diff --git a/gnu/packages/patches/xulrunner-install.patch b/gnu/packages/pa= tches/xulrunner-install.patch new file mode 100644 index 0000000..89b44df --- /dev/null +++ b/gnu/packages/patches/xulrunner-install.patch @@ -0,0 +1,41 @@ +--- a/startupcache/test/Makefile.in=09 ++++ a/startupcache/test/Makefile.in=09 +@@ -1,10 +1,6 @@=20 + # + # This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. +=20 + LIBS +=3D $(MOZ_COMPONENT_LIBS) +-DIST_FILES +=3D \ +- $(srcdir)/TestStartupCacheTelemetry.manifest \ +- $(srcdir)/TestStartupCacheTelemetry.js \ +- $(NULL) +--- a/startupcache/test/moz.build=09 ++++ a/startupcache/test/moz.build=09 +@@ -3,8 +3,12 @@=20 + # This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. +=20 + CPP_UNIT_TESTS +=3D [ + 'TestStartupCache.cpp', + ] +=20 ++EXTRA_COMPONENTS +=3D [ ++ 'TestStartupCacheTelemetry.js', ++ 'TestStartupCacheTelemetry.manifest', ++] +--- a/testing/testsuite-targets.mk=09 ++++ a/testing/testsuite-targets.mk=09 +@@ -508,8 +508,10 @@ + ifeq ($(MOZ_WIDGET_TOOLKIT),android) + $(NSINSTALL) $(topsrcdir)/testing/android_cppunittest_manifest.txt $(PKG= _STAGE)/cppunittests + endif ++ifeq ($(MOZ_DISABLE_STARTUPCACHE),) + $(NSINSTALL) $(topsrcdir)/startupcache/test/TestStartupCacheTelemetry.js= $(PKG_STAGE)/cppunittests + $(NSINSTALL) $(topsrcdir)/startupcache/test/TestStartupCacheTelemetry.ma= nifest $(PKG_STAGE)/cppunittests ++endif + cp -RL $(DIST)/bin/jsapi-tests$(BIN_SUFFIX) $(PKG_STAGE)/cppunittests +=20 + stage-jittest: make-stage-dir diff --git a/gnu/packages/xulrunner.scm b/gnu/packages/xulrunner.scm new file mode 100644 index 0000000..fdcc063 --- /dev/null +++ b/gnu/packages/xulrunner.scm @@ -0,0 +1,100 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2014 Cyrill Schenkel +;;; +;;; 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 . + +(define-module (gnu packages xulrunner) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages python) + #:use-module (gnu packages perl) + #:use-module (gnu packages zip) + #:use-module (gnu packages glib) + #:use-module (gnu packages gtk) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages yasm) + #:use-module (gnu packages curl) + #:use-module (gnu packages linux) + #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages xorg) + #:use-module (ice-9 format)) + +(define-public xulrunner + (package + (name "xulrunner") + (version "31.0b6") + (source (origin + (method url-fetch) + (uri + (string-append + "http://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases= /" + version "/source/xulrunner-" version ".source.tar.bz2")) + (sha256 + (base32 + "0h5jzz8998qpypx52svlbyaik5zw5hsp5n98pnvx1ahkahj0xj9n")) + (patches (list (search-patch "xulrunner-install.patch"))))) + (build-system gnu-build-system) + (inputs `(("gtk+-2" ,gtk+-2) + ("dbus" ,dbus) + ("dbus-glib" ,dbus-glib) + ("alsa-lib" ,alsa-lib) + ("pulseaudio" ,pulseaudio) + ("libxt" ,libxt))) + (native-inputs `(("python" ,python-2) + ("perl" ,perl) + ("unzip" ,unzip) + ("zip" ,zip) + ("pkg-config" ,pkg-config) + ("yasm" ,yasm))) + (arguments + `(#:make-flags '("-f" "client.mk" "build") + #:phases + (alist-replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (call-with-output-file ".mozconfig" + (lambda (p) + (format p "mk_add_options MOZ_CO_PROJECT=3Dx= ulrunner +mk_add_options MOZ_OBJDIR=3D~a/obj-xulrunner + +ac_add_options --enable-application=3Dxulrunner +ac_add_options --disable-gstreamer +ac_add_options --prefix=3D~a~%" (getcwd) out))) + (setenv "CONFIG_SHELL" (which "bash")) + (setenv "SHELL" (which "bash")))) + (alist-cons-after + 'install 'make-xpcshell-executable + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (chmod (string-append + out "/lib/xulrunner-devel-" + (car (string-split ,version #\b)) + "/sdk/bin/xpcshell") + #o555))) + (alist-delete 'check %standard-phases))))) + (synopsis "A run-time engine for XUL") + (description "XULRunner is a Mozilla runtime package that can be used = to +bootstrap XUL+XPCOM applications that are as rich as Firefox and +Thunderbird. It provides mechanisms for installing, upgrading, and +uninstalling these applications. XULRunner also provides libxul, a solution +which allows the embedding of Mozilla technologies in other projects and +products.") + (home-page + "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/XULRunner") + (license license:mpl2.0))) --=20 2.0.0