summaryrefslogtreecommitdiffstats
path: root/xulrunner-qt
diff options
context:
space:
mode:
Diffstat (limited to 'xulrunner-qt')
-rw-r--r--xulrunner-qt/PKGBUILD82
-rw-r--r--xulrunner-qt/enable-x86_64-tracemonkey.patch25
-rw-r--r--xulrunner-qt/firefox-qt.patch43
-rw-r--r--xulrunner-qt/fix-mozilla-launcher.patch23
-rw-r--r--xulrunner-qt/mozconfig34
-rw-r--r--xulrunner-qt/mozilla-pkgconfig.patch70
-rw-r--r--xulrunner-qt/mozilla-ps-pdf-simplify-operators.patch42
-rw-r--r--xulrunner-qt/startup-notification.patch92
-rw-r--r--xulrunner-qt/xulrunner-png14.patch11
-rw-r--r--xulrunner-qt/xulrunner-version.patch13
10 files changed, 435 insertions, 0 deletions
diff --git a/xulrunner-qt/PKGBUILD b/xulrunner-qt/PKGBUILD
new file mode 100644
index 0000000..e5ade48
--- /dev/null
+++ b/xulrunner-qt/PKGBUILD
@@ -0,0 +1,82 @@
+# $Id: PKGBUILD 73185 2010-03-23 20:11:01Z ibiru $
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+pkgname=xulrunner-qt
+pkgver=1.9.2.3
+_ffoxver=3.6.3
+pkgrel=2
+pkgdesc="Mozilla Runtime Environment"
+arch=(i686 x86_64)
+license=('MPL' 'GPL' 'LGPL')
+depends=('gcc-libs>=4.4.3' 'libidl2>=0.8.13' 'mozilla-common' 'nss>=3.12.6' 'libxt' 'hunspell>=1.2.8' 'startup-notification>=0.10' 'mime-types' 'dbus-glib>=0.82' 'alsa-lib>=1.0.21.a')
+makedepends=('zip' 'pkgconfig' 'diffutils' 'qt' 'python' 'wireless_tools' 'autoconf2.13')
+optdepends=('wireless_tools: Location aware browsing'
+ 'python: pyxpcom')
+provides=(gecko-sdk)
+replaces=(gecko-sdk)
+url="http://wiki.mozilla.org/XUL:Xul_Runner"
+source=(http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${_ffoxver}/source/firefox-${_ffoxver}.source.tar.bz2
+ mozconfig
+ firefox-qt.patch
+ mozilla-pkgconfig.patch
+ fix-mozilla-launcher.patch
+ mozilla-ps-pdf-simplify-operators.patch
+ xulrunner-version.patch
+ xulrunner-png14.patch
+ enable-x86_64-tracemonkey.patch
+ startup-notification.patch)
+
+md5sums=('5e4541ab23084b7b14ba228291ce2688'
+ 'c6ea05a012f365bf1f2f2570b6bd913d'
+ '17d375f9e00c192b5ed314216a18695e'
+ '2d2d7143a4e0bfe71149a51f8dbbab2f'
+ '63eee2d1da3b43c9d604f2253f242f40'
+ '13dca58c04e62a8916691c63c5c492a0'
+ '4e97eddd85db64d23c6d3ea9ebf13432'
+ '3bd0566180ad2daa32743b3ce58b2095'
+ 'cbd938cd1fb8210cd8a2c41833489af9'
+ '5876c45f85dc3d8989a9d2d098dc9f15')
+
+build() {
+ cd "${srcdir}/mozilla-1.9.2"
+ cp "${srcdir}/mozconfig" .mozconfig
+
+ patch -Np1 -i "${srcdir}/firefox-qt.patch"
+
+ #Upstream patch. Still not applied to 1.9.2
+ patch -Np1 -i "${srcdir}/mozilla-ps-pdf-simplify-operators.patch"
+
+ #fix libdir/sdkdir - fedora
+ patch -Np1 -i "${srcdir}/mozilla-pkgconfig.patch"
+
+ #Fix stub launcher - archlinux
+ patch -Np0 -i "${srcdir}/fix-mozilla-launcher.patch"
+
+ #Force installation to the same path for every version
+ patch -Np1 -i "${srcdir}/xulrunner-version.patch"
+
+ #Fix compile with libpng 1.4
+ patch -Np0 -i "${srcdir}/xulrunner-png14.patch"
+
+ #Tracemonkey for x86_64
+ patch -Np0 -i "${srcdir}/enable-x86_64-tracemonkey.patch"
+
+ #https://bug534845.bugzilla.mozilla.org/attachment.cgi?id=417666
+ #https://bugzilla.mozilla.org/show_bug.cgi?id=534845
+ patch -Np1 -i "${srcdir}/startup-notification.patch"
+
+ unset CFLAGS
+ unset CXXFLAGS
+
+ make -j1 -f client.mk build MOZ_MAKE_FLAGS="$MAKEFLAGS" || return 1
+ make -j1 DESTDIR="${pkgdir}" install || return 1
+
+ #Remove included dictionaries, add symlink to system myspell path.
+ #Note: this will cause file conflicts when users have installed dictionaries in the old location
+ rm -rf "${pkgdir}/opt/ffqt/lib/xulrunner-1.9.2/dictionaries"
+ ln -sf /usr/share/myspell "${pkgdir}/opt/ffqt/lib/xulrunner-1.9.2/dictionaries"
+
+ # add xulrunner library path to ld.so.conf
+ install -d ${pkgdir}/etc/ld.so.conf.d
+ echo "/opt/ffqt/lib/xulrunner-qt-1.9.2" > ${pkgdir}/etc/ld.so.conf.d/xulrunner-qt.conf
+}
diff --git a/xulrunner-qt/enable-x86_64-tracemonkey.patch b/xulrunner-qt/enable-x86_64-tracemonkey.patch
new file mode 100644
index 0000000..b72ad76
--- /dev/null
+++ b/xulrunner-qt/enable-x86_64-tracemonkey.patch
@@ -0,0 +1,25 @@
+--- js/src/configure.in.old 2009-11-08 19:50:54.299642792 -0500
++++ js/src/configure.in 2009-11-08 19:57:49.235621814 -0500
+@@ -2465,6 +2465,10 @@
+ ENABLE_JIT=1
+ NANOJIT_ARCH=i386
+ ;;
++x86_64*-*)
++ ENABLE_JIT=1
++ NANOJIT_ARCH=X64
++ ;;
+ arm*-*)
+ ENABLE_JIT=1
+ NANOJIT_ARCH=ARM
+@@ -2488,7 +2492,10 @@
+ i?86-*)
+ AC_DEFINE(AVMPLUS_IA32)
+ ;;
+-
++x86_64*-*)
++ AC_DEFINE(AVMPLUS_AMD64)
++ AC_DEFINE(AVMPLUS_64BIT)
++ ;;
+ arm*-*)
+ AC_DEFINE(AVMPLUS_ARM)
+ ;;
diff --git a/xulrunner-qt/firefox-qt.patch b/xulrunner-qt/firefox-qt.patch
new file mode 100644
index 0000000..ff4c263
--- /dev/null
+++ b/xulrunner-qt/firefox-qt.patch
@@ -0,0 +1,43 @@
+diff -ur mozilla-1.9.2.orig/widget/src/qt/nsWindow.cpp mozilla-1.9.2/widget/src/qt/nsWindow.cpp
+--- mozilla-1.9.2.orig/widget/src/qt/nsWindow.cpp
++++ mozilla-1.9.2/widget/src/qt/nsWindow.cpp
+@@ -668,7 +668,7 @@
+
+ void
+ nsWindow::Scroll(const nsIntPoint& aDelta,
+- const nsIntRect& aSource,
++ const nsTArray<nsIntRect>& aDestRects,
+ const nsTArray<nsIWidget::Configuration>& aConfigurations)
+ {
+ if (!mWidget) {
+@@ -695,8 +695,16 @@
+ }
+ }
+
+- QRect rect(aSource.x, aSource.y, aSource.width, aSource.height);
+- mWidget->scroll(aDelta.x, aDelta.y, rect);
++ // Do a similar thing to what is done in GTK widget set.
++ // Even though it's a workaround from old GTK?
++ for(PRUint32 i = 0; i < aDestRects.Length(); ++i) {
++ const nsIntRect& aSource = aDestRects[i];
++
++ QRect rect(aSource.x, aSource.y, aSource.width, aSource.height);
++ mWidget->scroll(aDelta.x, aDelta.y, rect);
++ }
++
++
+ ConfigureChildren(aConfigurations);
+
+ // Show windows again...
+diff -ur mozilla-1.9.2.orig/widget/src/qt/nsWindow.h mozilla-1.9.2/widget/src/qt/nsWindow.h
+--- mozilla-1.9.2.orig/widget/src/qt/nsWindow.h
++++ mozilla-1.9.2/widget/src/qt/nsWindow.h
+@@ -165,7 +165,7 @@
+ PRBool aIsSynchronous);
+ NS_IMETHOD Update();
+ void Scroll(const nsIntPoint&,
+- const nsIntRect&,
++ const nsTArray<nsIntRect>&,
+ const nsTArray<nsIWidget::Configuration>&);
+
+ virtual void* GetNativeData(PRUint32 aDataType);
diff --git a/xulrunner-qt/fix-mozilla-launcher.patch b/xulrunner-qt/fix-mozilla-launcher.patch
new file mode 100644
index 0000000..de64e4c
--- /dev/null
+++ b/xulrunner-qt/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/xulrunner-qt/mozconfig b/xulrunner-qt/mozconfig
new file mode 100644
index 0000000..a02b4ea
--- /dev/null
+++ b/xulrunner-qt/mozconfig
@@ -0,0 +1,34 @@
+. $topsrcdir/xulrunner/config/mozconfig
+ac_add_options --prefix=/opt/ffqt
+ac_add_options --libdir=/opt/ffqt/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-hunspell
+#disabled: mozilla is broken with recent versions of sqlite
+#ac_add_options --enable-system-sqlite
+ac_add_options --disable-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-qt
+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
+ac_add_options --enable-extensions=default
+
+export BUILD_OFFICIAL=1
+export MOZILLA_OFFICIAL=1
+mk_add_options BUILD_OFFICIAL=1
+mk_add_options MOZILLA_OFFICIAL=1
diff --git a/xulrunner-qt/mozilla-pkgconfig.patch b/xulrunner-qt/mozilla-pkgconfig.patch
new file mode 100644
index 0000000..a42d2a3
--- /dev/null
+++ b/xulrunner-qt/mozilla-pkgconfig.patch
@@ -0,0 +1,70 @@
+diff -Nur mozilla-1.9.2.orig/xulrunner/installer/libxul-embedding.pc.in mozilla-1.9.2/xulrunner/installer/libxul-embedding.pc.in
+--- mozilla-1.9.2.orig/xulrunner/installer/libxul-embedding.pc.in 2010-01-21 05:31:27.000000000 +0200
++++ mozilla-1.9.2/xulrunner/installer/libxul-embedding.pc.in 2010-01-21 22:27:17.000000000 +0200
+@@ -6,5 +6,6 @@
+ Name: libxul-embedding
+ Description: Static library for version-independent embedding of the Mozilla runtime
+ Version: %MOZILLA_VERSION%
++Requires: %NSPR_NAME% >= %NSPR_VERSION%
+ Libs: -L${sdkdir}/lib -lxpcomglue
+ Cflags: -DXPCOM_GLUE -I${includedir} %WCHAR_CFLAGS%
+diff -Nur mozilla-1.9.2.orig/xulrunner/installer/libxul.pc.in mozilla-1.9.2/xulrunner/installer/libxul.pc.in
+--- mozilla-1.9.2.orig/xulrunner/installer/libxul.pc.in 2010-01-21 05:31:27.000000000 +0200
++++ mozilla-1.9.2/xulrunner/installer/libxul.pc.in 2010-01-21 22:27:56.000000000 +0200
+@@ -1,5 +1,6 @@
+ prefix=%prefix%
+ sdkdir=%sdkdir%
++libdir=%libdir%
+ includedir=%includedir%
+ idldir=%idldir%
+
+diff -Nur mozilla-1.9.2.orig/xulrunner/installer/Makefile.in mozilla-1.9.2/xulrunner/installer/Makefile.in
+--- mozilla-1.9.2.orig/xulrunner/installer/Makefile.in 2010-01-21 05:31:27.000000000 +0200
++++ mozilla-1.9.2/xulrunner/installer/Makefile.in 2010-01-21 22:25:04.000000000 +0200
+@@ -121,6 +121,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|%WCHAR_CFLAGS%|$(WCHAR_CFLAGS)|" \
+diff -Nur mozilla-1.9.2.orig/xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in mozilla-1.9.2/xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in
+--- mozilla-1.9.2.orig/xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in 2010-01-21 05:31:27.000000000 +0200
++++ mozilla-1.9.2/xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in 2010-01-21 22:28:15.000000000 +0200
+@@ -1,5 +1,6 @@
+ prefix=%prefix%
+ sdkdir=%sdkdir%
++libdir=%libdir%
+ includedir=%includedir%
+
+ Name: mozilla-gtkembedmoz
+diff -Nur mozilla-1.9.2.orig/xulrunner/installer/mozilla-gtkmozembed.pc.in mozilla-1.9.2/xulrunner/installer/mozilla-gtkmozembed.pc.in
+--- mozilla-1.9.2.orig/xulrunner/installer/mozilla-gtkmozembed.pc.in 2010-01-21 05:31:27.000000000 +0200
++++ mozilla-1.9.2/xulrunner/installer/mozilla-gtkmozembed.pc.in 2010-01-21 22:28:27.000000000 +0200
+@@ -1,5 +1,6 @@
+ prefix=%prefix%
+ sdkdir=%sdkdir%
++libdir=%libdir%
+ includedir=%includedir%
+
+ Name: mozilla-gtkembedmoz
+diff -Nur mozilla-1.9.2.orig/xulrunner/installer/mozilla-js.pc.in mozilla-1.9.2/xulrunner/installer/mozilla-js.pc.in
+--- mozilla-1.9.2.orig/xulrunner/installer/mozilla-js.pc.in 2010-01-21 05:31:27.000000000 +0200
++++ mozilla-1.9.2/xulrunner/installer/mozilla-js.pc.in 2010-01-21 22:29:30.000000000 +0200
+@@ -7,4 +7,4 @@
+ Version: %MOZILLA_VERSION%
+ Requires: %NSPR_NAME% >= %NSPR_VERSION%
+ Libs: -L${sdkdir}/lib -lmozjs
+-Cflags: -I${includedir} -DXP_UNIX -DJS_THREADSAFE
++Cflags: -I${includedir} -I${includedir}/js -DXP_UNIX -DJS_THREADSAFE
+diff -Nur mozilla-1.9.2.orig/xulrunner/installer/mozilla-plugin.pc.in mozilla-1.9.2/xulrunner/installer/mozilla-plugin.pc.in
+--- mozilla-1.9.2.orig/xulrunner/installer/mozilla-plugin.pc.in 2010-01-21 05:31:27.000000000 +0200
++++ mozilla-1.9.2/xulrunner/installer/mozilla-plugin.pc.in 2010-01-21 22:29:58.000000000 +0200
+@@ -5,5 +5,5 @@
+ Name: Mozilla Plug-In API
+ Description: Mozilla Plug-In API
+ Version: %MOZILLA_VERSION%
+-Cflags: -I${includedir}/stable -DXP_UNIX %ojidef%
++Cflags: -I${includedir} -DXP_UNIX %ojidef%
+
diff --git a/xulrunner-qt/mozilla-ps-pdf-simplify-operators.patch b/xulrunner-qt/mozilla-ps-pdf-simplify-operators.patch
new file mode 100644
index 0000000..cab1341
--- /dev/null
+++ b/xulrunner-qt/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/xulrunner-qt/startup-notification.patch b/xulrunner-qt/startup-notification.patch
new file mode 100644
index 0000000..a3f2758
--- /dev/null
+++ b/xulrunner-qt/startup-notification.patch
@@ -0,0 +1,92 @@
+diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
+--- a/toolkit/xre/nsAppRunner.cpp
++++ b/toolkit/xre/nsAppRunner.cpp
+@@ -3281,23 +3281,16 @@ XRE_main(int argc, char* argv[], const n
+ }
+ dirProvider.DoStartup();
+
+ PRBool shuttingDown = PR_FALSE;
+ appStartup->GetShuttingDown(&shuttingDown);
+
+ nsCOMPtr<nsICommandLineRunner> cmdLine;
+
+-#if defined(HAVE_DESKTOP_STARTUP_ID) && defined(MOZ_WIDGET_GTK2)
+- nsRefPtr<nsGTKToolkit> toolkit = GetGTKToolkit();
+- if (toolkit && !desktopStartupID.IsEmpty()) {
+- toolkit->SetDesktopStartupID(desktopStartupID);
+- }
+-#endif
+-
+ nsCOMPtr<nsIFile> workingDir;
+ rv = NS_GetSpecialDirectory(NS_OS_CURRENT_WORKING_DIR, getter_AddRefs(workingDir));
+ NS_ENSURE_SUCCESS(rv, 1);
+
+ if (!shuttingDown) {
+ cmdLine = do_CreateInstance("@mozilla.org/toolkit/command-line;1");
+ NS_ENSURE_TRUE(cmdLine, 1);
+
+@@ -3315,16 +3308,23 @@ XRE_main(int argc, char* argv[], const n
+
+ NS_TIMELINE_ENTER("appStartup->CreateHiddenWindow");
+ rv = appStartup->CreateHiddenWindow();
+ NS_TIMELINE_LEAVE("appStartup->CreateHiddenWindow");
+ NS_ENSURE_SUCCESS(rv, 1);
+
+ MOZ_SPLASHSCREEN_UPDATE(50);
+
++#if defined(HAVE_DESKTOP_STARTUP_ID) && defined(MOZ_WIDGET_GTK2)
++ nsRefPtr<nsGTKToolkit> toolkit = GetGTKToolkit();
++ if (toolkit && !desktopStartupID.IsEmpty()) {
++ toolkit->SetDesktopStartupID(desktopStartupID);
++ }
++#endif
++
+ // Extension Compatibility Checking and Startup
+ if (gAppData->flags & NS_XRE_ENABLE_EXTENSION_MANAGER) {
+ nsCOMPtr<nsIExtensionManager> em(do_GetService("@mozilla.org/extensions/manager;1"));
+ NS_ENSURE_TRUE(em, 1);
+
+ if (upgraded) {
+ rv = em->CheckForMismatches(&needsRestart);
+ if (NS_FAILED(rv)) {
+diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
+--- a/toolkit/xre/nsAppRunner.cpp
++++ b/toolkit/xre/nsAppRunner.cpp
+@@ -3602,30 +3602,23 @@ XRE_main(int argc, char* argv[], const n
+ #ifdef XP_MACOSX
+ if (gBinaryPath) {
+ static char kEnvVar[MAXPATHLEN];
+ sprintf(kEnvVar, "XRE_BINARY_PATH=%s", gBinaryPath);
+ PR_SetEnv(kEnvVar);
+ }
+ #endif
+
+-// XXXkt s/MOZ_TOOLKIT_GTK2/MOZ_WIDGET_GTK2/?
+-// but the hidden window has been destroyed so toolkit is NULL anyway.
+-#if defined(HAVE_DESKTOP_STARTUP_ID) && defined(MOZ_TOOLKIT_GTK2)
+- nsGTKToolkit* toolkit = GetGTKToolkit();
+- if (toolkit) {
+- nsCAutoString currentDesktopStartupID;
+- toolkit->GetDesktopStartupID(&currentDesktopStartupID);
+- if (!currentDesktopStartupID.IsEmpty()) {
+- nsCAutoString desktopStartupEnv;
+- desktopStartupEnv.AssignLiteral("DESKTOP_STARTUP_ID=");
+- desktopStartupEnv.Append(currentDesktopStartupID);
+- // Leak it with extreme prejudice!
+- PR_SetEnv(ToNewCString(desktopStartupEnv));
+- }
++#if defined(HAVE_DESKTOP_STARTUP_ID) && defined(MOZ_WIDGET_GTK2)
++ if (!desktopStartupID.IsEmpty()) {
++ nsCAutoString desktopStartupEnv;
++ desktopStartupEnv.AssignLiteral("DESKTOP_STARTUP_ID=");
++ desktopStartupEnv.Append(desktopStartupID);
++ // Leak it with extreme prejudice!
++ PR_SetEnv(ToNewCString(desktopStartupEnv));
+ }
+ #endif
+
+ #ifdef MOZ_WIDGET_GTK2
+ MOZ_gdk_display_close(display);
+ #endif
+
+ rv = LaunchChild(nativeApp, appInitiatedRestart);
diff --git a/xulrunner-qt/xulrunner-png14.patch b/xulrunner-qt/xulrunner-png14.patch
new file mode 100644
index 0000000..f512416
--- /dev/null
+++ b/xulrunner-qt/xulrunner-png14.patch
@@ -0,0 +1,11 @@
+--- modules/libpr0n/encoders/png/nsPNGEncoder.cpp.orig 2010-01-17 00:15:53.979744638 +0100
++++ modules/libpr0n/encoders/png/nsPNGEncoder.cpp 2010-01-17 00:16:07.855993411 +0100
+@@ -135,7 +135,7 @@
+
+ // initialize
+ mPNG = png_create_write_struct(PNG_LIBPNG_VER_STRING,
+- png_voidp_NULL,
++ NULL,
+ ErrorCallback,
+ ErrorCallback);
+ if (! mPNG)
diff --git a/xulrunner-qt/xulrunner-version.patch b/xulrunner-qt/xulrunner-version.patch
new file mode 100644
index 0000000..526a5f5
--- /dev/null
+++ b/xulrunner-qt/xulrunner-version.patch
@@ -0,0 +1,13 @@
+diff -up mozilla/toolkit/mozapps/update/src/updater/module.ver mozilla/toolkit/mozapps/update/src/updater/module
+diff -up mozilla/xulrunner/installer/Makefile.in.ver mozilla/xulrunner/installer/Makefile.in
+--- mozilla/xulrunner/installer/Makefile.in.ver 2007-12-14 09:51:34.000000000 +0100
++++ mozilla/xulrunner/installer/Makefile.in 2007-12-14 09:52:03.000000000 +0100
+@@ -44,6 +44,8 @@ VPATH = @srcdir@
+
+ include $(DEPTH)/config/autoconf.mk
+
++MOZ_APP_VERSION="qt-1.9.2"
++
+ NO_PKG_FILES = \
+ xulrunner-config \
+ regchrome* \