1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
3 ;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
5 ;;; This file is part of GNU Guix.
7 ;;; GNU Guix is free software; you can redistribute it and/or modify it
8 ;;; under the terms of the GNU General Public License as published by
9 ;;; the Free Software Foundation; either version 3 of the License, or (at
10 ;;; your option) any later version.
12 ;;; GNU Guix is distributed in the hope that it will be useful, but
13 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
14 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ;;; GNU General Public License for more details.
17 ;;; You should have received a copy of the GNU General Public License
18 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20 (define-module (gnu packages gnuzilla)
21 #:use-module (gnu packages)
22 #:use-module ((guix licenses)
23 #:renamer (symbol-prefix-proc 'license:))
24 #:use-module (guix packages)
25 #:use-module (guix download)
26 #:use-module (guix build-system gnu)
27 #:use-module (gnu packages glib)
28 #:use-module (gnu packages gstreamer)
29 #:use-module (gnu packages gtk)
30 #:use-module (gnu packages linux)
31 #:use-module (gnu packages perl)
32 #:use-module (gnu packages pkg-config)
33 #:use-module (gnu packages compression)
34 #:use-module (gnu packages libevent)
35 #:use-module (gnu packages image)
36 #:use-module (gnu packages libffi)
37 #:use-module (gnu packages python)
38 #:use-module (gnu packages xorg)
39 #:use-module (gnu packages gl)
40 #:use-module (gnu packages yasm)
41 #:use-module (gnu packages zip))
50 (uri (string-append "mirror://gnu/gnuzilla/"
51 (substring version 0 (string-index version #\.))
52 "/icecat-" version ".tar.gz"))
55 "1vxzjwmhad6yxx4sk9zvapjgv5salcv10id061q0991ii3dycy9a"))))
56 (build-system gnu-build-system)
58 `(("alsa-lib" ,alsa-lib)
61 ("dbus-glib" ,dbus-glib)
63 ("gstreamer" ,gstreamer-0.10)
64 ("gst-plugins-base" ,gst-plugins-base-0.10)
66 ("libevent" ,libevent)
76 ("python" ,python-2) ; Python 3 not supported
77 ("python2-pysqlite" ,python2-pysqlite)
78 ("pkg-config" ,pkg-config)))
80 `(#:tests? #f ; no check target
82 #:configure-flags '(;; Building with debugging symbols takes ~5GiB, so
85 "--disable-debug-symbols"
87 "--disable-webrtc" ; webrtc fails to build
90 "--with-system-bz2" ; FIXME: not used
91 "--with-system-libevent"
93 ;; Fails with "--with-system-png won't work because
94 ;; the system's libpng doesn't have APNG support".
96 ;; http://sourceforge.net/projects/libpng-apng/ ,
97 ;; "the Animated Portable Network Graphics (APNG)
98 ;; is an unofficial extension of the Portable
99 ;; Network Graphics (PNG) format";
100 ;; we probably do not wish to support it.
101 ;; "--with-system-png"
103 ;; Fails with "libjpeg-turbo JCS_EXTENSIONS
106 ;; http://sourceforge.net/projects/libjpeg-turbo/ ,
107 ;; "libjpeg-turbo is a derivative of libjpeg that
108 ;; uses MMX, SSE, SSE2, and NEON SIMD instructions
109 ;; to accelerate baseline JPEG compression/
110 ;; decompression", so we had better not use it
111 ;; "--with-system-jpeg"
113 "--enable-system-ffi")
117 'patch-source-shebangs 'sanitise
119 ;; delete dangling symlinks
120 (delete-file "browser/base/content/.#aboutDialog.xul")
121 (delete-file "browser/base/content/abouthome/.#aboutHome.xhtml")
122 (delete-file "browser/branding/unofficial/content/.#aboutHome.xhtml")
123 (delete-file "toolkit/crashreporter/google-breakpad/autotools/compile"))
126 ;; configure does not work followed by both "SHELL=..." and
127 ;; "CONFIG_SHELL=..."; set environment variables instead
128 (lambda* (#:key outputs configure-flags #:allow-other-keys)
129 (let ((out (assoc-ref outputs "out")))
130 (setenv "SHELL" (which "bash"))
131 (setenv "CONFIG_SHELL" (which "bash"))
132 (zero? (apply system* "./configure"
133 (string-append "--prefix=" out)
136 (home-page "http://www.gnu.org/software/gnuzilla/")
137 (synopsis "Entirely free browser derived from Mozilla Firefox")
139 "IceCat is the GNU version of the Firefox browser. It is entirely free
140 software, which does not recommend non-free plugins and addons. It also
141 features built-in privacy-protecting features.")
142 (license license:mpl2.0))) ; and others, see toolkit/content/license.html