summaryrefslogtreecommitdiffstats
path: root/abs/extra-testing/xulrunner
diff options
context:
space:
mode:
authorCecil Hugh Watson <knoppmyth@gmail.com>2009-01-05 03:41:49 (GMT)
committerCecil Hugh Watson <knoppmyth@gmail.com>2009-01-05 03:41:49 (GMT)
commitaaaed3a6a08206d2d16665695a622a48da869eaf (patch)
treeff54106ef2ad3b9f9a3220ed0e4251d76627b904 /abs/extra-testing/xulrunner
parent7f42f55d022dc8ca818a76dccfc66fce7c8dea4f (diff)
downloadlinhes_pkgbuild-aaaed3a6a08206d2d16665695a622a48da869eaf.zip
linhes_pkgbuild-aaaed3a6a08206d2d16665695a622a48da869eaf.tar.gz
linhes_pkgbuild-aaaed3a6a08206d2d16665695a622a48da869eaf.tar.bz2
Additional packages needed for Miro. Latest LIRC PKGBUILD from Arch.
Diffstat (limited to 'abs/extra-testing/xulrunner')
-rw-r--r--abs/extra-testing/xulrunner/100-system-hunspell-corrections.patch116
-rw-r--r--abs/extra-testing/xulrunner/PKGBUILD71
-rw-r--r--abs/extra-testing/xulrunner/bzXXX_pc_honour_system_nspr_nss.patch114
-rw-r--r--abs/extra-testing/xulrunner/fix-mozilla-launcher.patch23
-rw-r--r--abs/extra-testing/xulrunner/mozconfig33
-rw-r--r--abs/extra-testing/xulrunner/mozilla-pkgconfig.patch88
-rw-r--r--abs/extra-testing/xulrunner/mozilla-ps-pdf-simplify-operators.patch42
-rw-r--r--abs/extra-testing/xulrunner/nsThreadUtils.patch42
8 files changed, 529 insertions, 0 deletions
diff --git a/abs/extra-testing/xulrunner/100-system-hunspell-corrections.patch b/abs/extra-testing/xulrunner/100-system-hunspell-corrections.patch
new file mode 100644
index 0000000..5533e10
--- /dev/null
+++ b/abs/extra-testing/xulrunner/100-system-hunspell-corrections.patch
@@ -0,0 +1,116 @@
+--- ./extensions/spellcheck/hunspell/src/mozHunspell.cpp.orig 2008-02-15 19:21:21.000000000 +0000
++++ ./extensions/spellcheck/hunspell/src/mozHunspell.cpp 2008-02-15 19:23:20.000000000 +0000
+@@ -63,6 +63,9 @@
+ #include "nsISimpleEnumerator.h"
+ #include "nsIDirectoryEnumerator.h"
+ #include "nsIFile.h"
++#ifdef MOZ_NATIVE_HUNSPELL
++#include "nsILocalFile.h"
++#endif
+ #include "nsDirectoryServiceUtils.h"
+ #include "nsDirectoryServiceDefs.h"
+ #include "mozISpellI18NManager.h"
+@@ -307,7 +310,16 @@
+ return;
+
+ nsCOMPtr<nsIFile> dictDir;
+- rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY,
++ #ifdef MOZ_NATIVE_HUNSPELL
++ nsCOMPtr<nsILocalFile> localFile;
++ rv = NS_NewNativeLocalFile(nsDependentCString("/usr/share/myspell"),PR_TRUE, getter_AddRefs(localFile));
++ if (localFile && NS_SUCCEEDED(rv)) {
++ localFile->QueryInterface(NS_GET_IID(nsIFile), getter_AddRefs(dictDir));
++ LoadDictionariesFromDir(dictDir);
++ }
++ else {
++ #endif
++ rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY,
+ NS_GET_IID(nsIFile), getter_AddRefs(dictDir));
+ if (NS_SUCCEEDED(rv)) {
+ LoadDictionariesFromDir(dictDir);
+@@ -332,6 +344,9 @@
+ LoadDictionariesFromDir(appDir);
+ }
+ }
++#ifdef MOZ_NATIVE_HUNSPELL
++ }
++#endif
+
+ nsCOMPtr<nsISimpleEnumerator> dictDirs;
+ rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY_LIST,
+--- ./extensions/spellcheck/src/Makefile.in.orig 2008-02-15 19:25:58.000000000 +0000
++++ ./extensions/spellcheck/src/Makefile.in 2008-02-15 19:28:36.000000000 +0000
+@@ -63,9 +63,16 @@
+ txtsvc \
+ uconv \
+ unicharutil \
++ xulapp \
+ $(NULL)
+
+-CPPSRCS = \
++ifdef MOZ_NATIVE_HUNSPELL
++CPPSRCS += mozHunspell.cpp
++ifdef MOZ_XUL_APP
++CPPSRCS += mozHunspellDirProvider.cpp
++endif
++endif
++CPPSRCS += \
+ mozSpellCheckerFactory.cpp \
+ mozSpellChecker.cpp \
+ mozPersonalDictionary.cpp \
+@@ -80,8 +87,14 @@
+ SHARED_LIBRARY_LIBS += ../osxspell/src/$(LIB_PREFIX)osxspell_s.$(LIB_SUFFIX)
+ LOCAL_INCLUDES += -I$(srcdir)/../osxspell/src
+ else
++ifndef MOZ_NATIVE_HUNSPELL
+ SHARED_LIBRARY_LIBS += ../hunspell/src/$(LIB_PREFIX)hunspell_s.$(LIB_SUFFIX)
+ LOCAL_INCLUDES += -I$(srcdir)/../hunspell/src
++else
++LOCAL_INCLUDES += $(MOZ_HUNSPELL_CFLAGS) \
++ -DMOZ_NATIVE_HUNSPELL \
++ $(NULL)
++endif
+ endif
+
+ EXTRA_DSO_LDOPTS = \
+@@ -96,3 +112,18 @@
+ LOCAL_INCLUDES += \
+ -I$(topsrcdir)/xpcom/io \
+ $(NULL)
++
++ifdef MOZ_NATIVE_HUNSPELL
++export:: $(srcdir)/../hunspell/src/mozHunspell.cpp
++ $(INSTALL) $(srcdir)/../hunspell/src/mozHunspell.* .
++GARBAGE += mozHunspell.$(OBJ_SUFFIX) mozHunspell.cpp
++clean::
++ rm -f mozHunspell.*
++ifdef MOZ_XUL_APP
++export:: $(srcdir)/../hunspell/src/mozHunspellDirProvider.cpp
++ $(INSTALL) $(srcdir)/../hunspell/src/mozHunspellDirProvider.* .
++GARBAGE += mozHunspellDirProvider.$(OBJ_SUFFIX) mozHunspellDirProvider.cpp
++clean::
++ rm -f mozHunspellDirProvider.*
++endif
++endif
+--- ./extensions/spellcheck/Makefile.in.orig 2008-02-15 19:23:39.000000000 +0000
++++ ./extensions/spellcheck/Makefile.in 2008-02-15 19:24:34.000000000 +0000
+@@ -42,13 +42,19 @@
+ include $(DEPTH)/config/autoconf.mk
+
+ MODULE = spellchecker
+-DIRS = idl locales
++ifndef MOZ_NATIVE_HUNSPELL
++DIRS = idl locales
++else
++DIRS = idl
++endif
+
+ ifeq (camino,$(MOZ_BUILD_APP))
+ DIRS += osxspell
+ else
++ifndef MOZ_NATIVE_HUNSPELL
+ DIRS += hunspell
+ endif
++endif
+
+ DIRS += src
diff --git a/abs/extra-testing/xulrunner/PKGBUILD b/abs/extra-testing/xulrunner/PKGBUILD
new file mode 100644
index 0000000..af41fdb
--- /dev/null
+++ b/abs/extra-testing/xulrunner/PKGBUILD
@@ -0,0 +1,71 @@
+# $Id: PKGBUILD 22983 2008-12-30 18:11:22Z jgc $
+# Maintainer: Alexander Baldeck <alexander@archlinux.org>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+pkgname=xulrunner
+pkgver=1.9.0.5
+pkgrel=2
+pkgdesc="Mozilla Runtime Environment"
+arch=(i686 x86_64)
+license=('MPL' 'GPL' 'LGPL')
+depends=('gtk2>=2.14.6' 'gcc-libs>=4.3.2' 'libidl2>=0.8.11' 'mozilla-common' 'nss>=3.12.2' 'libxt' 'lcms' 'hunspell>=1.2.8' 'startup-notification>=0.9')
+makedepends=('zip' 'pkgconfig' 'diffutils' 'libgnomeui>=2.24.0')
+provides=(gecko-sdk)
+replaces=(gecko-sdk)
+url="http://wiki.mozilla.org/XUL:Xul_Runner"
+source=(ftp://ftp.archlinux.org/other/xulrunner/${pkgname}-${pkgver}-source.tar.bz2
+ #http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/${pkgver}/source/${pkgname}-${pkgver}-source.tar.bz2
+ mozconfig
+ 100-system-hunspell-corrections.patch
+ bzXXX_pc_honour_system_nspr_nss.patch
+ mozilla-pkgconfig.patch
+ fix-mozilla-launcher.patch
+ mozilla-ps-pdf-simplify-operators.patch
+ nsThreadUtils.patch)
+md5sums=('aef76915c3fb35b9229d9eb2c8b2580a'
+ '6509d12e6b17bfc51c09e1dc35259035'
+ '5efd6772ed0ecf8eddec5d5650191d3c'
+ '7a5151f90cb360bc1ea911e5cf7208e9'
+ 'dfbfb4e35912112668ac66dae0783686'
+ '63eee2d1da3b43c9d604f2253f242f40'
+ '13dca58c04e62a8916691c63c5c492a0'
+ 'ccc3a0672c783c043434f256fbd38c86')
+
+build() {
+ cd ${startdir}/src/mozilla
+ cp ${startdir}/src/mozconfig .mozconfig
+
+ #Upstream patch. Still not applied to 1.9.0.1
+ patch -Np1 -i ${srcdir}/mozilla-ps-pdf-simplify-operators.patch || return 1
+
+ #fix build with system hunspell - gentoo
+ patch -Np0 -i ${srcdir}/100-system-hunspell-corrections.patch || return 1
+
+ #fix pkgconfig files when building with system nss/nspr - ubuntu
+ patch -Np1 -i ${srcdir}/bzXXX_pc_honour_system_nspr_nss.patch || return 1
+
+ #fix libdir/sdkdir - fedora - with local modifications
+ patch -Np1 -i ${srcdir}/mozilla-pkgconfig.patch || return 1
+
+ #Fix stub launcher - archlinux
+ patch -Np0 -i ${srcdir}/fix-mozilla-launcher.patch || return 1
+
+ #Fix epiphany crashes - requires epiphany rebuild
+ patch -Np1 -i ${srcdir}/nsThreadUtils.patch || return 1
+
+ unset CFLAGS
+ unset CXXFLAGS
+ export LDFLAGS="-Wl,-rpath,/usr/lib/xulrunner-1.9"
+
+ make -j1 -f client.mk build MOZ_MAKE_FLAGS="$MAKEFLAGS" || return 1
+ make -j1 DESTDIR=${startdir}/pkg install || return 1
+
+ ln -sf xulrunner-${pkgver} ${pkgdir}/usr/lib/xulrunner-1.9
+ ln -sf xulrunner-devel-${pkgver} ${pkgdir}/usr/lib/xulrunner-devel-1.9
+ ln -sf xulrunner-${pkgver} ${pkgdir}/usr/include/xulrunner-1.9
+ ln -sf xulrunner-${pkgver} ${pkgdir}/usr/share/idl/xulrunner-1.9
+
+ # The ubuntu patch adds these... get rid of it, NSS/NSPR has it.
+ rm -f ${startdir}/pkg/usr/lib/pkgconfig/mozilla-ns{s,pr}.pc || return 1
+
+ sed -i -e "s/xulrunner-${pkgver}/xulrunner-1.9/g" -e "s/xulrunner-devel-${pkgver}/xulrunner-devel-1.9/g" ${pkgdir}/usr/lib/pkgconfig/*.pc || return 1
+}
diff --git a/abs/extra-testing/xulrunner/bzXXX_pc_honour_system_nspr_nss.patch b/abs/extra-testing/xulrunner/bzXXX_pc_honour_system_nspr_nss.patch
new file mode 100644
index 0000000..be2e872
--- /dev/null
+++ b/abs/extra-testing/xulrunner/bzXXX_pc_honour_system_nspr_nss.patch
@@ -0,0 +1,114 @@
+---
+ xulrunner/installer/Makefile.in | 17 ++++++++++++++---
+ xulrunner/installer/libxul-embedding-unstable.pc.in | 2 +-
+ xulrunner/installer/libxul-embedding.pc.in | 2 +-
+ xulrunner/installer/mozilla-nss.pc.in | 6 +++---
+ 4 files changed, 19 insertions(+), 8 deletions(-)
+
+Index: mozilla/xulrunner/installer/Makefile.in
+===================================================================
+--- mozilla.orig/xulrunner/installer/Makefile.in
++++ mozilla/xulrunner/installer/Makefile.in
+@@ -90,40 +90,51 @@
+ mozilla-plugin.pc \
+ mozilla-gtkmozembed.pc \
+ mozilla-gtkmozembed-embedding.pc \
+ $(NULL)
+
+ ifdef MOZ_NATIVE_NSPR
+ NSPR_NAME=nspr
+ NSPR_VERSION=$(shell $(NSPR_CONFIG) --version)
++FULL_NSPR_CFLAGS=$(shell $(NSPR_CONFIG) --cflags)
++FULL_NSPR_LIBS=$(shell $(NSPR_CONFIG) --libs)
+ else
+-pkg_config_files += mozilla-nspr.pc
+ NSPR_NAME=mozilla-nspr
+ FULL_NSPR_CFLAGS=-I\$${includedir}/stable
+ FULL_NSPR_LIBS=$(subst $(prefix),\$${sdkdir},$(shell $(DEPTH)/nsprpub/config/nspr-config --libs))
+ NSPR_VERSION=$(shell $(DEPTH)/nsprpub/config/nspr-config --version)
+ endif
++pkg_config_files += mozilla-nspr.pc
+
+ $(warning FULL_NSPR_CFLAGS=$(FULL_NSPR_CFLAGS))
+
+-ifndef MOZ_NATIVE_NSS
+-pkg_config_files += mozilla-nss.pc
++ifdef MOZ_NATIVE_NSS
++NSS_VERSION=$(shell $(NSS_CONFIG) --version)
++FULL_NSS_CFLAGS=$(shell $(NSS_CONFIG) --cflags)
++FULL_NSS_LIBS=$(shell $(NSS_CONFIG) --libs)
++else
++NSS_VERSION=$(shell $(DEPTH)/nsprpub/config/nss-config --version)
++FULL_NSS_CFLAGS=-I\$${includedir}/stable
++FULL_NSS_LIBS=$(subst $(prefix),\$${sdkdir},$(shell $(DEPTH)/nsprpub/config/nss-config --libs))
+ endif
++pkg_config_files += mozilla-nss.pc
+
+ %.pc: $(srcdir)/%.pc.in Makefile.in Makefile $(DEPTH)/config/autoconf.mk
+ cat $< | sed \
+ -e "s|%prefix%|$(prefix)|" \
+ -e "s|%includedir%|$(includedir)|" \
+ -e "s|%idldir%|$(idldir)|" \
+ -e "s|%sdkdir%|$(sdkdir)|" \
+ -e "s|%MOZ_APP_NAME%|$(MOZ_APP_NAME)|" \
+ -e "s|%MOZILLA_VERSION%|$(MOZ_APP_VERSION)|" \
+ -e "s|%FULL_NSPR_LIBS%|$(FULL_NSPR_LIBS)|" \
+ -e "s|%FULL_NSPR_CFLAGS%|$(FULL_NSPR_CFLAGS)|" \
++ -e "s|%FULL_NSS_LIBS%|$(FULL_NSS_LIBS)|" \
++ -e "s|%FULL_NSS_CFLAGS%|$(FULL_NSS_CFLAGS)|" \
+ -e "s|%NSPR_NAME%|$(NSPR_NAME)|" \
+ -e "s|%NSPR_VERSION%|$(NSPR_VERSION)|" > $@
+ chmod 644 $@
+
+ install:: $(pkg_config_files)
+ @echo pkg_config_file: $(pkg_config_files)
+ $(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(libdir)/pkgconfig
+
+Index: mozilla/xulrunner/installer/libxul-embedding-unstable.pc.in
+===================================================================
+--- mozilla.orig/xulrunner/installer/libxul-embedding-unstable.pc.in
++++ mozilla/xulrunner/installer/libxul-embedding-unstable.pc.in
+@@ -3,9 +3,9 @@
+ includedir=%includedir%
+ idldir=%idldir%
+ includetype=unstable
+
+ Name: libxul-embedding-unstable
+ Description: Static library for version-independent embedding of the Mozilla runtime (unstable API)
+ Version: %MOZILLA_VERSION%
+ Libs: -L${sdkdir}/lib -lxpcomglue
+-Cflags: -DXPCOM_GLUE -I${includedir}/${includetype} -fshort-wchar
++Cflags: -DXPCOM_GLUE -I${includedir}/${includetype} -fshort-wchar %FULL_NSPR_CFLAGS%
+Index: mozilla/xulrunner/installer/libxul-embedding.pc.in
+===================================================================
+--- mozilla.orig/xulrunner/installer/libxul-embedding.pc.in
++++ mozilla/xulrunner/installer/libxul-embedding.pc.in
+@@ -7,9 +7,9 @@
+ # Note: the default pkg-config cflags will only list include directories
+ # that contain stable (frozen or safe for linking) header files. To include
+ # nonfrozen headers, run pkg-config with --define-variable=includetype=unstable
+
+ Name: libxul-embedding
+ Description: Static library for version-independent embedding of the Mozilla runtime
+ Version: %MOZILLA_VERSION%
+ Libs: -L${sdkdir}/lib -lxpcomglue
+-Cflags: -DXPCOM_GLUE -I${includedir}/${includetype} -fshort-wchar
++Cflags: -DXPCOM_GLUE -I${includedir}/${includetype} -fshort-wchar %FULL_NSPR_CFLAGS%
+Index: mozilla/xulrunner/installer/mozilla-nss.pc.in
+===================================================================
+--- mozilla.orig/xulrunner/installer/mozilla-nss.pc.in
++++ mozilla/xulrunner/installer/mozilla-nss.pc.in
+@@ -1,10 +1,10 @@
+ prefix=%prefix%
+ sdkdir=%sdkdir%
+ includedir=%includedir%
+
+ Name: NSS
+ Description: Mozilla Network Security Services
+-Version: %MOZILLA_VERSION%
++Version: %NSS_VERSION%
+ Requires: %NSPR_NAME% >= %NSPR_VERSION%
+-Libs: -L${sdkdir}/lib -lnss3 -lnssutil3 -lsmime3 -lssl3 -lsoftokn3
+-Cflags: -I${includedir}/stable
++Libs: %FULL_NSS_LIBS%
++Cflags: %FULL_NSS_CFLAGS%
diff --git a/abs/extra-testing/xulrunner/fix-mozilla-launcher.patch b/abs/extra-testing/xulrunner/fix-mozilla-launcher.patch
new file mode 100644
index 0000000..de64e4c
--- /dev/null
+++ b/abs/extra-testing/xulrunner/fix-mozilla-launcher.patch
@@ -0,0 +1,23 @@
+--- xulrunner/stub/nsXULStub.cpp 2008-07-17 21:43:11.000000000 +0200
++++ xulrunner/stub/nsXULStub.cpp 2008-07-17 21:47:04.000000000 +0200
+@@ -208,8 +208,10 @@
+ // 3) give up
+
+ struct stat fileStat;
++ char *testp;
+
+- if (!realpath(argv[0], iniPath) || stat(iniPath, &fileStat)) {
++ testp = realpath(argv[0], iniPath);
++ if (!(testp != NULL && stat(iniPath, &fileStat) == 0 && S_ISREG(fileStat.st_mode) && fileStat.st_mode & S_IXUSR) || (testp != NULL && stat(iniPath, &fileStat))) {
+ const char *path = getenv("PATH");
+ if (!path)
+ return 1;
+@@ -222,7 +224,7 @@
+ char *token = strtok(pathdup, ":");
+ while (token) {
+ sprintf(tmpPath, "%s/%s", token, argv[0]);
+- if (realpath(tmpPath, iniPath) && stat(iniPath, &fileStat) == 0) {
++ if (realpath(tmpPath, iniPath) && stat(iniPath, &fileStat) == 0 && S_ISREG(fileStat.st_mode) && fileStat.st_mode & S_IXUSR) {
+ found = PR_TRUE;
+ break;
+ }
diff --git a/abs/extra-testing/xulrunner/mozconfig b/abs/extra-testing/xulrunner/mozconfig
new file mode 100644
index 0000000..22212cb
--- /dev/null
+++ b/abs/extra-testing/xulrunner/mozconfig
@@ -0,0 +1,33 @@
+. $topsrcdir/xulrunner/config/mozconfig
+ac_add_options --prefix=/usr
+ac_add_options --libdir=/usr/lib
+ac_add_options --with-system-nspr
+ac_add_options --with-system-nss
+ac_add_options --with-system-jpeg
+ac_add_options --with-system-zlib
+ac_add_options --with-system-bz2
+ac_add_options --with-system-png
+ac_add_options --enable-system-lcms
+ac_add_options --enable-system-hunspell
+ac_add_options --enable-system-sqlite
+ac_add_options --enable-system-cairo
+ac_add_options --with-pthreads
+ac_add_options --enable-strip
+ac_add_options --disable-tests
+ac_add_options --disable-mochitest
+ac_add_options --disable-installer
+ac_add_options --disable-debug
+ac_add_options --enable-optimize
+ac_add_options --enable-default-toolkit=cairo-gtk2
+ac_add_options --enable-pango
+ac_add_options --enable-svg
+ac_add_options --enable-canvas
+ac_add_options --disable-javaxpcom
+ac_add_options --disable-crashreporter
+ac_add_options --enable-safe-browsing
+ac_add_options --enable-startup-notification
+
+export BUILD_OFFICIAL=1
+export MOZILLA_OFFICIAL=1
+mk_add_options BUILD_OFFICIAL=1
+mk_add_options MOZILLA_OFFICIAL=1
diff --git a/abs/extra-testing/xulrunner/mozilla-pkgconfig.patch b/abs/extra-testing/xulrunner/mozilla-pkgconfig.patch
new file mode 100644
index 0000000..1ce40fd
--- /dev/null
+++ b/abs/extra-testing/xulrunner/mozilla-pkgconfig.patch
@@ -0,0 +1,88 @@
+diff -ruN mozilla/xulrunner/installer/libxul-embedding.pc.in mozilla/xulrunner/installer/libxul-embedding.pc.in
+--- mozilla/xulrunner/installer/libxul-embedding.pc.in 2008-07-16 20:27:31.000000000 +0200
++++ mozilla/xulrunner/installer/libxul-embedding.pc.in 2008-07-16 21:43:47.000000000 +0200
+@@ -1,7 +1,7 @@
+ prefix=%prefix%
+ sdkdir=%sdkdir%
+ includedir=%includedir%
+-idldir=%idldir%
++idldir=%idldir%/stable
+ includetype=stable
+
+ # Note: the default pkg-config cflags will only list include directories
+diff -ruN mozilla/xulrunner/installer/libxul-embedding-unstable.pc.in mozilla/xulrunner/installer/libxul-embedding-unstable.pc.in
+--- mozilla/xulrunner/installer/libxul-embedding-unstable.pc.in 2008-07-16 20:27:31.000000000 +0200
++++ mozilla/xulrunner/installer/libxul-embedding-unstable.pc.in 2008-07-16 21:44:06.000000000 +0200
+@@ -1,7 +1,7 @@
+ prefix=%prefix%
+ sdkdir=%sdkdir%
+ includedir=%includedir%
+-idldir=%idldir%
++idldir=%idldir%/unstable
+ includetype=unstable
+
+ Name: libxul-embedding-unstable
+diff -ruN mozilla/xulrunner/installer/libxul.pc.in mozilla/xulrunner/installer/libxul.pc.in
+--- mozilla/xulrunner/installer/libxul.pc.in 2007-08-03 16:46:28.000000000 +0200
++++ mozilla/xulrunner/installer/libxul.pc.in 2008-07-16 21:44:33.000000000 +0200
+@@ -1,7 +1,8 @@
+ prefix=%prefix%
+ sdkdir=%sdkdir%
++libdir=%libdir%
+ includedir=%includedir%
+-idldir=%idldir%
++idldir=%idldir%/stable
+ includetype=stable
+
+ # Note: the default pkg-config includes will only list include directories
+@@ -13,4 +14,4 @@
+ Version: %MOZILLA_VERSION%
+ Requires: %NSPR_NAME% >= %NSPR_VERSION%
+ Libs: -L${sdkdir}/lib -lxpcomglue_s -lxul -lxpcom
+-Cflags: -I${includedir}/${includetype} -fshort-wchar
+\ No newline at end of file
++Cflags: -I${includedir}/${includetype} -fshort-wchar
+diff -ruN mozilla/xulrunner/installer/libxul-unstable.pc.in mozilla/xulrunner/installer/libxul-unstable.pc.in
+--- mozilla/xulrunner/installer/libxul-unstable.pc.in 2008-01-05 07:50:34.000000000 +0100
++++ mozilla/xulrunner/installer/libxul-unstable.pc.in 2008-07-16 21:45:11.000000000 +0200
+@@ -1,7 +1,8 @@
+ prefix=%prefix%
+ sdkdir=%sdkdir%
++libdir=%libdir%
+ includedir=%includedir%
+-idldir=%idldir%
++idldir=%idldir%/unstable
+ includetype=unstable
+
+ Name: libxul
+diff -ruN mozilla/xulrunner/installer/Makefile.in mozilla/xulrunner/installer/Makefile.in
+--- mozilla/xulrunner/installer/Makefile.in 2008-07-16 20:27:31.000000000 +0200
++++ mozilla/xulrunner/installer/Makefile.in 2008-07-16 21:45:51.000000000 +0200
+@@ -125,6 +125,7 @@
+ -e "s|%includedir%|$(includedir)|" \
+ -e "s|%idldir%|$(idldir)|" \
+ -e "s|%sdkdir%|$(sdkdir)|" \
++ -e "s|%libdir%|$(installdir)|" \
+ -e "s|%MOZ_APP_NAME%|$(MOZ_APP_NAME)|" \
+ -e "s|%MOZILLA_VERSION%|$(MOZ_APP_VERSION)|" \
+ -e "s|%FULL_NSPR_LIBS%|$(FULL_NSPR_LIBS)|" \
+diff -ruN mozilla/xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in mozilla/xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in
+--- mozilla/xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in 2008-01-10 10:17:49.000000000 +0100
++++ mozilla/xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in 2008-07-16 21:46:14.000000000 +0200
+@@ -1,5 +1,6 @@
+ prefix=%prefix%
+ sdkdir=%sdkdir%
++libdir=%libdir%
+ includedir=%includedir%
+
+ Name: mozilla-gtkembedmoz
+diff -ruN mozilla/xulrunner/installer/mozilla-gtkmozembed.pc.in mozilla/xulrunner/installer/mozilla-gtkmozembed.pc.in
+--- mozilla/xulrunner/installer/mozilla-gtkmozembed.pc.in 2008-01-10 10:17:49.000000000 +0100
++++ mozilla/xulrunner/installer/mozilla-gtkmozembed.pc.in 2008-07-16 21:46:28.000000000 +0200
+@@ -1,5 +1,6 @@
+ prefix=%prefix%
+ sdkdir=%sdkdir%
++libdir=%libdir%
+ includedir=%includedir%
+
+ Name: mozilla-gtkembedmoz
diff --git a/abs/extra-testing/xulrunner/mozilla-ps-pdf-simplify-operators.patch b/abs/extra-testing/xulrunner/mozilla-ps-pdf-simplify-operators.patch
new file mode 100644
index 0000000..cab1341
--- /dev/null
+++ b/abs/extra-testing/xulrunner/mozilla-ps-pdf-simplify-operators.patch
@@ -0,0 +1,42 @@
+https://bugzilla.mozilla.org/show_bug.cgi?id=435313
+
+Index: mozilla/gfx/thebes/public/gfxPDFSurface.h
+===================================================================
+RCS file: /cvsroot/mozilla/gfx/thebes/public/gfxPDFSurface.h,v
+retrieving revision 1.13
+diff -d -u -p -r1.13 gfxPDFSurface.h
+--- mozilla/gfx/thebes/public/gfxPDFSurface.h 19 Mar 2008 20:51:42 -0000 1.13
++++ mozilla/gfx/thebes/public/gfxPDFSurface.h 23 May 2008 00:50:31 -0000
+@@ -63,7 +63,11 @@ public:
+ // this is in points!
+ const gfxSize& GetSize() const { return mSize; }
+
+- virtual PRInt32 GetDefaultContextFlags() const { return gfxContext::FLAG_DISABLE_SNAPPING; }
++ virtual PRInt32 GetDefaultContextFlags() const
++ {
++ return gfxContext::FLAG_SIMPLIFY_OPERATORS |
++ gfxContext::FLAG_DISABLE_SNAPPING;
++ }
+
+ private:
+ nsCOMPtr<nsIOutputStream> mStream;
+Index: mozilla/gfx/thebes/public/gfxPSSurface.h
+===================================================================
+RCS file: /cvsroot/mozilla/gfx/thebes/public/gfxPSSurface.h,v
+retrieving revision 1.13
+diff -d -u -p -r1.13 gfxPSSurface.h
+--- mozilla/gfx/thebes/public/gfxPSSurface.h 19 Mar 2008 20:51:42 -0000 1.13
++++ mozilla/gfx/thebes/public/gfxPSSurface.h 23 May 2008 00:50:31 -0000
+@@ -63,7 +63,11 @@ public:
+ // this is in points!
+ const gfxSize& GetSize() const { return mSize; }
+
+- virtual PRInt32 GetDefaultContextFlags() const { return gfxContext::FLAG_DISABLE_SNAPPING; }
++ virtual PRInt32 GetDefaultContextFlags() const
++ {
++ return gfxContext::FLAG_SIMPLIFY_OPERATORS |
++ gfxContext::FLAG_DISABLE_SNAPPING;
++ }
+
+ private:
+ nsCOMPtr<nsIOutputStream> mStream;
diff --git a/abs/extra-testing/xulrunner/nsThreadUtils.patch b/abs/extra-testing/xulrunner/nsThreadUtils.patch
new file mode 100644
index 0000000..69609c0
--- /dev/null
+++ b/abs/extra-testing/xulrunner/nsThreadUtils.patch
@@ -0,0 +1,42 @@
+--- xulrunner-1.9.0.4.orig/xpcom/glue/nsThreadUtils.cpp
++++ xulrunner-1.9.0.4/xpcom/glue/nsThreadUtils.cpp
+@@ -187,24 +187,27 @@
+ }
+ #endif // XPCOM_GLUE_AVOID_NSPR
+
++inline PRBool
++hasPendingEvents(nsIThread *thread)
++{
++ PRBool val;
++ return NS_SUCCEEDED(thread->HasPendingEvents(&val)) && val;
++}
++
+ PRBool
+ NS_HasPendingEvents(nsIThread *thread)
+ {
+-#ifdef MOZILLA_INTERNAL_API
+ if (!thread) {
++#ifndef MOZILLA_INTERNAL_API
++ nsCOMPtr<nsIThread> current;
++ NS_GetCurrentThread(getter_AddRefs(current));
++ return hasPendingEvents(current);
++#else
+ thread = NS_GetCurrentThread();
+ NS_ENSURE_TRUE(thread, PR_FALSE);
+- }
+-#else
+- nsCOMPtr<nsIThread> current;
+- if (!thread) {
+- NS_GetCurrentThread(getter_AddRefs(current));
+- NS_ENSURE_TRUE(current, PR_FALSE);
+- thread = current.get();
+- }
+ #endif
+- PRBool val;
+- return NS_SUCCEEDED(thread->HasPendingEvents(&val)) && val;
++ }
++ return hasPendingEvents(thread);
+ }
+
+ PRBool
+