aboutsummaryrefslogtreecommitdiffstats
path: root/main/xulrunner
diff options
context:
space:
mode:
Diffstat (limited to 'main/xulrunner')
-rw-r--r--main/xulrunner/APKBUILD114
-rw-r--r--main/xulrunner/enable-x86_64-tracemonkey.patch25
-rw-r--r--main/xulrunner/fix-mozilla-portability-cluelessness-libpr0n-edition.patch14
-rw-r--r--main/xulrunner/fix-xulrunner-launcher.patch23
-rw-r--r--main/xulrunner/ipc-chromium-execinfo.patch33
-rw-r--r--main/xulrunner/mozconfig39
-rw-r--r--main/xulrunner/mozilla-pkgconfig.patch60
-rw-r--r--main/xulrunner/mozjs-c99math.patch11
-rw-r--r--main/xulrunner/xulrunner-png14.patch11
-rw-r--r--main/xulrunner/xulrunner-version.patch13
10 files changed, 343 insertions, 0 deletions
diff --git a/main/xulrunner/APKBUILD b/main/xulrunner/APKBUILD
new file mode 100644
index 0000000000..8c47f2e8e3
--- /dev/null
+++ b/main/xulrunner/APKBUILD
@@ -0,0 +1,114 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer: William Pitcock <nenolod@dereferenced.org>
+pkgname=xulrunner
+pkgver=1.9.2.13
+pkgrel=9
+pkgdesc="runtime environment for xul-based applications"
+url="http://developer.mozilla.org/en/XULRunner"
+arch="all"
+license="GPL LGPL MPL"
+depends=
+depends_dev="nspr-dev
+ nss-dev
+ gtk+-dev
+ dbus-glib-dev
+ alsa-lib-dev
+ libvorbis-dev
+ libogg-dev
+ libtheora-dev
+ wireless-tools-dev
+ libnotify-dev
+ libevent-dev
+ libxt-dev
+ jpeg-dev
+ bzip2-dev
+ hunspell-dev
+ startup-notification-dev
+ sqlite-dev
+ libidl-dev
+ fts-dev"
+makedepends="$depends_dev
+
+ autoconf2.13
+
+ python
+ zip
+
+ autoconf
+ automake
+ libtool"
+install=""
+subpackages="$pkgname-dev"
+source="http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/${pkgver}/source/${pkgname}-${pkgver}.source.tar.bz2
+
+ mozconfig
+
+ enable-x86_64-tracemonkey.patch
+ fix-xulrunner-launcher.patch
+ mozilla-pkgconfig.patch
+
+ xulrunner-png14.patch
+ xulrunner-version.patch
+
+ mozjs-c99math.patch
+
+ ipc-chromium-execinfo.patch
+
+ fix-mozilla-portability-cluelessness-libpr0n-edition.patch"
+
+_xulrunner_version="${pkgver%.*}"
+_builddir="${srcdir}/mozilla-${_xulrunner_version}"
+prepare() {
+ local i
+
+ cd "$_builddir"
+
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+
+ cp "${srcdir}/mozconfig" .mozconfig
+}
+
+build() {
+ cd "$_builddir"
+
+ # mozilla's buildsystem is on drugs, so we just kill our CFLAGS and hope
+ # for the best. --nenolod
+ unset CFLAGS
+ unset CXXFLAGS
+
+ make -j1 -f client.mk build MOZ_MAKE_FLAGS="$MAKEFLAGS" || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make -j1 DESTDIR="$pkgdir" install || return 1
+
+ msg "Setting up compatibility symlinks..."
+ ln -sf /usr/lib/xulrunner-${_xulrunner_version}/libxul.so "${pkgdir}"/usr/lib/libxul.so
+ ln -sf /usr/lib/xulrunner-${_xulrunner_version}/libxpcom.so "${pkgdir}"/usr/lib/libxpcom.so
+ ln -sf /usr/lib/xulrunner-${_xulrunner_version}/libmozjs.so "${pkgdir}"/usr/lib/libmozjs.so
+}
+
+dev() {
+ replaces="xulrunner"
+
+ mkdir -p "${subpkgdir}"/usr/lib
+ mv "${pkgdir}"/usr/lib/xulrunner-devel-${_xulrunner_version} "${subpkgdir}"/usr/lib
+ mv "${pkgdir}"/usr/lib/pkgconfig "${subpkgdir}"/usr/lib
+ mv "${pkgdir}"/usr/include "${subpkgdir}"/usr/include
+}
+
+md5sums="211464d0b19b21ce0db63f7bd6549466 xulrunner-1.9.2.13.source.tar.bz2
+d0908177f4c3879817f5dc7287cbb2b2 mozconfig
+faecc31fd371db93311109117f6bcc40 enable-x86_64-tracemonkey.patch
+86d33a17286131d9ef4cdfb35ee56f1f fix-xulrunner-launcher.patch
+d839d1c4ef736e6d89ccf91b23b965a4 mozilla-pkgconfig.patch
+39e3c85c80f7897ac463e7fe7ad9a343 xulrunner-png14.patch
+371303c5bdc4fa0d955d14521b93b69d xulrunner-version.patch
+03b73ac11442a26a978c53a6c114ef2b mozjs-c99math.patch
+ac1c3725167eb26c89d62b1818810ee4 ipc-chromium-execinfo.patch
+7123ec519e3a4d2c8d07369065a61dc7 fix-mozilla-portability-cluelessness-libpr0n-edition.patch"
diff --git a/main/xulrunner/enable-x86_64-tracemonkey.patch b/main/xulrunner/enable-x86_64-tracemonkey.patch
new file mode 100644
index 0000000000..f4e1da036c
--- /dev/null
+++ b/main/xulrunner/enable-x86_64-tracemonkey.patch
@@ -0,0 +1,25 @@
+--- a/js/src/configure.in.old 2009-11-08 19:50:54.299642792 -0500
++++ b/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/main/xulrunner/fix-mozilla-portability-cluelessness-libpr0n-edition.patch b/main/xulrunner/fix-mozilla-portability-cluelessness-libpr0n-edition.patch
new file mode 100644
index 0000000000..4fc112a072
--- /dev/null
+++ b/main/xulrunner/fix-mozilla-portability-cluelessness-libpr0n-edition.patch
@@ -0,0 +1,14 @@
+--- mozilla-1.9.2.orig/gfx/qcms/qcmstypes.h
++++ mozilla-1.9.2/gfx/qcms/qcmstypes.h
+@@ -7,9 +7,9 @@
+
+ /* prtypes.h defines IS_LITTLE_ENDIAN and IS_BIG ENDIAN */
+
+-#if defined (__SVR4) && defined (__sun)
++#if 1
+ /* int_types.h gets included somehow, so avoid redefining the types differently */
+-#include <sys/int_types.h>
++#include <stdint.h>
+ #else
+ typedef PRInt8 int8_t;
+ typedef PRUint8 uint8_t;
diff --git a/main/xulrunner/fix-xulrunner-launcher.patch b/main/xulrunner/fix-xulrunner-launcher.patch
new file mode 100644
index 0000000000..62af1ab308
--- /dev/null
+++ b/main/xulrunner/fix-xulrunner-launcher.patch
@@ -0,0 +1,23 @@
+--- a/xulrunner/stub/nsXULStub.cpp 2008-07-17 21:43:11.000000000 +0200
++++ b/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/main/xulrunner/ipc-chromium-execinfo.patch b/main/xulrunner/ipc-chromium-execinfo.patch
new file mode 100644
index 0000000000..48fc1c6a33
--- /dev/null
+++ b/main/xulrunner/ipc-chromium-execinfo.patch
@@ -0,0 +1,33 @@
+--- mozilla-1.9.2.orig/ipc/chromium/src/base/debug_util_posix.cc
++++ mozilla-1.9.2/ipc/chromium/src/base/debug_util_posix.cc
+@@ -6,7 +6,6 @@
+ #include "base/debug_util.h"
+
+ #include <errno.h>
+-#include <execinfo.h>
+ #include <fcntl.h>
+ #include <stdio.h>
+ #include <sys/stat.h>
+@@ -114,6 +113,7 @@
+ }
+
+ StackTrace::StackTrace() {
++#if 0
+ const int kMaxCallers = 256;
+
+ void* callers[kMaxCallers];
+@@ -128,11 +128,14 @@
+ } else {
+ trace_.resize(0);
+ }
++#endif
+ }
+
+ void StackTrace::PrintBacktrace() {
++#if 0
+ fflush(stderr);
+ backtrace_symbols_fd(&trace_[0], trace_.size(), STDERR_FILENO);
++#endif
+ }
+
+ void StackTrace::OutputToStream(std::ostream* os) {
diff --git a/main/xulrunner/mozconfig b/main/xulrunner/mozconfig
new file mode 100644
index 0000000000..90b0bea4c2
--- /dev/null
+++ b/main/xulrunner/mozconfig
@@ -0,0 +1,39 @@
+. $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-libevent
+ac_add_options --enable-system-hunspell
+ac_add_options --enable-system-sqlite
+
+# XXX: mozilla fails to build with cairo 1.10 right now
+# 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
+ac_add_options --enable-extensions=default
+
+export LIBS="-lfts"
+export BUILD_OFFICIAL=1
+export MOZILLA_OFFICIAL=1
+
+mk_add_options BUILD_OFFICIAL=1
+mk_add_options MOZILLA_OFFICIAL=1
diff --git a/main/xulrunner/mozilla-pkgconfig.patch b/main/xulrunner/mozilla-pkgconfig.patch
new file mode 100644
index 0000000000..9331e04897
--- /dev/null
+++ b/main/xulrunner/mozilla-pkgconfig.patch
@@ -0,0 +1,60 @@
+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 --git a/main/xulrunner/mozjs-c99math.patch b/main/xulrunner/mozjs-c99math.patch
new file mode 100644
index 0000000000..ce05c17965
--- /dev/null
+++ b/main/xulrunner/mozjs-c99math.patch
@@ -0,0 +1,11 @@
+--- mozilla-1.9.2.orig/js/src/jsnum.h
++++ mozilla-1.9.2/js/src/jsnum.h
+@@ -98,7 +98,7 @@
+ #ifdef WIN32
+ return _finite(d);
+ #else
+- return finite(d);
++ return __finite(d);
+ #endif
+ }
+
diff --git a/main/xulrunner/xulrunner-png14.patch b/main/xulrunner/xulrunner-png14.patch
new file mode 100644
index 0000000000..be80e30f96
--- /dev/null
+++ b/main/xulrunner/xulrunner-png14.patch
@@ -0,0 +1,11 @@
+--- a/modules/libpr0n/encoders/png/nsPNGEncoder.cpp.orig 2010-01-17 00:15:53.979744638 +0100
++++ b/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/main/xulrunner/xulrunner-version.patch b/main/xulrunner/xulrunner-version.patch
new file mode 100644
index 0000000000..418b7c7585
--- /dev/null
+++ b/main/xulrunner/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="1.9.2"
++
+ NO_PKG_FILES = \
+ xulrunner-config \
+ regchrome* \