1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
| | ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
;;;
;;; 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 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=xulrunner
mk_add_options MOZ_OBJDIR=~a/obj-xulrunner
ac_add_options --enable-application=xulrunner
ac_add_options --disable-gstreamer
ac_add_options --prefix=~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)))
|