aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/gnuzilla.scm
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2018-09-24 00:10:37 -0400
committerMark H Weaver <mhw@netris.org>2018-09-25 19:59:06 -0400
commit94e96f7f68c3b9053fdb5dee5b0ab614163aaa08 (patch)
tree54ac4e1b456228def69c5e87a56d869394bc75f3 /gnu/packages/gnuzilla.scm
parent257e3247910610fe24ae1b86f38e85552d53e48c (diff)
downloadguix-94e96f7f68c3b9053fdb5dee5b0ab614163aaa08.tar
guix-94e96f7f68c3b9053fdb5dee5b0ab614163aaa08.tar.gz
gnu: icecat: Unbundle libevent, libogg, and libvorbis.
* gnu/packages/patches/icecat-use-system-media-libs.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/patches/icecat-avoid-bundled-libraries.patch: Add another hunk to enable removal of libevent. * gnu/packages/gnuzilla.scm (icecat)[source]: Add patch. In the snippet, add libevent, libogg, libvorbis, and libtremor to the list of bundled libraries to remove. Add a comment regarding theora. Remove comments regarding unbundling cairo, which is no longer supported. [inputs]: Add libevent, libogg, and libvorbis. [arguments]: Add --with-system-{libevent,ogg,vorbis} to configure flags. Add custom bootstrap phase. Add comments.
Diffstat (limited to 'gnu/packages/gnuzilla.scm')
-rw-r--r--gnu/packages/gnuzilla.scm39
1 files changed, 27 insertions, 12 deletions
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index ad83444e3c..6834d82426 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -36,6 +36,7 @@
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cargo)
+ #:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages databases)
@@ -62,6 +63,7 @@
#:use-module (gnu packages rust)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages video)
+ #:use-module (gnu packages xiph)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages readline))
@@ -497,6 +499,7 @@ security standards.")
(list
(search-patch "icecat-avoid-bundled-libraries.patch")
(search-patch "icecat-use-system-graphite2+harfbuzz.patch")
+ (search-patch "icecat-use-system-media-libs.patch")
(mozilla-patch "icecat-CVE-2018-12385.patch" "80a4a7ef2813" "1vgcbimpnfjqj934v0cryq1g13xac3wfmd4jyhcb5s60x8xyssf5")
(search-patch "icecat-CVE-2018-12383.patch")
(mozilla-patch "icecat-bug-1489744.patch" "6546ee839d30" "11mhvj77r789b428bfxqq5wdx8yr7lbrdjzr8qjj6fw197pldn51")))
@@ -516,24 +519,29 @@ security standards.")
;; FIXME: A script from the bundled nspr is used.
;;"nsprpub"
;;
- ;; TODO: Use system media libraries. Waiting for:
+ ;; TODO: Use more system media libraries. See:
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=517422>
- ;; * libogg
- ;; * libtheora
- ;; * libvorbis
- ;; * libtremor (not yet in guix)
+ ;; * libtheora: esr60 wants v1.2, not yet released.
+ ;; * soundtouch: avoiding the bundled library would
+ ;; result in some loss of functionality. There's
+ ;; also an issue with exception handling
+ ;; configuration. It seems that this is needed in
+ ;; some moz.build:
+ ;; DEFINES['ST_NO_EXCEPTION_HANDLING'] = 1
;; * libopus
;; * speex
- ;; * soundtouch (not yet in guix)
;;
"modules/freetype2"
"modules/zlib"
"modules/libbz2"
- ;; UNBUNDLE-ME "ipc/chromium/src/third_party/libevent"
+ "ipc/chromium/src/third_party/libevent"
"media/libjpeg"
"media/libvpx"
+ "media/libogg"
+ "media/libvorbis"
+ ;; "media/libtheora" ; wants theora-1.2, not yet released
+ "media/libtremor"
"security/nss"
- ;; UNBUNDLE-ME "gfx/cairo"
"gfx/harfbuzz"
"gfx/graphite2"
"js/src/ctypes/libffi"
@@ -549,7 +557,6 @@ security standards.")
(inputs
`(("alsa-lib" ,alsa-lib)
("bzip2" ,bzip2)
- ;; UNBUNDLE-ME ("cairo" ,cairo)
("cups" ,cups)
("dbus-glib" ,dbus-glib)
("gdk-pixbuf" ,gdk-pixbuf)
@@ -564,8 +571,11 @@ security standards.")
("libcanberra" ,libcanberra)
("libgnome" ,libgnome)
("libjpeg-turbo" ,libjpeg-turbo)
+ ("libogg" ,libogg)
+ ;; ("libtheora" ,libtheora) ; wants theora-1.2, not yet released
+ ("libvorbis" ,libvorbis)
("libxft" ,libxft)
- ;; UNBUNDLE-ME ("libevent" ,libevent-2.0)
+ ("libevent" ,libevent)
("libxinerama" ,libxinerama)
("libxscrnsaver" ,libxscrnsaver)
("libxcomposite" ,libxcomposite)
@@ -637,7 +647,10 @@ security standards.")
"--with-system-zlib"
"--with-system-bz2"
"--with-system-jpeg" ; must be libjpeg-turbo
- ;; UNBUNDLE-ME "--with-system-libevent"
+ "--with-system-libevent"
+ "--with-system-ogg"
+ "--with-system-vorbis"
+ ;; "--with-system-theora" ; wants theora-1.2, not yet released
"--with-system-libvpx"
"--with-system-icu"
"--with-system-nspr"
@@ -645,7 +658,6 @@ security standards.")
"--with-system-harfbuzz"
"--with-system-graphite2"
"--enable-system-pixman"
- ;; UNBUNDLE-ME "--enable-system-cairo"
"--enable-system-ffi"
"--enable-system-hunspell"
"--enable-system-sqlite"
@@ -695,6 +707,9 @@ security standards.")
'avcodec', 'avutil', 'pulse' ]\n\n"
all)))
#t))
+ (replace 'bootstrap
+ (lambda _
+ (invoke "sh" "-c" "autoconf old-configure.in > old-configure")))
(add-after 'patch-source-shebangs 'patch-cargo-checksums
(lambda _
(use-modules (guix build cargo-build-system))