summaryrefslogtreecommitdiff
path: root/extra/xulrunner
diff options
context:
space:
mode:
Diffstat (limited to 'extra/xulrunner')
-rw-r--r--extra/xulrunner/PKGBUILD32
-rw-r--r--extra/xulrunner/mips.patch114
-rw-r--r--extra/xulrunner/xulrunner-omnijar.patch33
3 files changed, 141 insertions, 38 deletions
diff --git a/extra/xulrunner/PKGBUILD b/extra/xulrunner/PKGBUILD
index e94e120a8..1f3cd5e44 100644
--- a/extra/xulrunner/PKGBUILD
+++ b/extra/xulrunner/PKGBUILD
@@ -6,40 +6,40 @@ pkgver=2.0.1
_ffoxver=4.0.1
pkgrel=3
pkgdesc="Mozilla Runtime Environment"
-arch=('i686' 'x86_64')
+arch=('i686' 'x86_64' 'mips64el')
license=('MPL' 'GPL' 'LGPL')
depends=('gtk2' 'gcc-libs' 'libidl2' 'mozilla-common' 'nss' 'libxt' 'libxrender' 'hunspell' 'startup-notification' 'mime-types' 'dbus-glib' 'alsa-lib' 'libevent' 'sqlite3>=3.7.4' 'libnotify')
makedepends=('zip' 'pkg-config' 'diffutils' 'python2' 'wireless_tools' 'yasm' 'mesa')
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
+source=(http://ftp.gnu.org/gnu/gnuzilla/${_ffoxver}/icecat-${_ffoxver}.tar.xz
mozconfig
mozilla-pkgconfig.patch
xulrunner-version.patch
xulrunner-omnijar.patch
- port_gnomevfs_to_gio.patch)
+ port_gnomevfs_to_gio.patch
+ mips.patch)
options=('!emptydirs')
replaces=('xulrunner-oss')
-md5sums=('9abda7d23151e97913c8555a64c13f34'
- '2358a2ddd35bcdd62ff42442dfe548d9'
- '639ea80e823543dd415b90c0ee804186'
- 'a0236f6c3e55f60b7888d8cf137ff209'
- '0bf82bc6677e3ce57fd20a147fe8d7b1'
- '42f83468b296452fb754a81a4317ca64')
build() {
- cd "${srcdir}/mozilla-2.0"
- cp "${srcdir}/mozconfig" .mozconfig
+ cd "${srcdir}/icecat-${_ffoxver}/"
+ cp "${srcdir}/mozconfig" .mozconfig
#fix libdir/sdkdir - fedora
- patch -Np1 -i "${srcdir}/mozilla-pkgconfig.patch"
+ patch -Np1 -i "${srcdir}/mozilla-pkgconfig.patch"
#Force installation to the same path for every version
- patch -Np1 -i "${srcdir}/xulrunner-version.patch"
+ patch -Np1 -i "${srcdir}/xulrunner-version.patch"
#https://bugzilla.mozilla.org/show_bug.cgi?id=620931
- patch -Np1 -i "${srcdir}/xulrunner-omnijar.patch"
+ patch -Np1 -i "${srcdir}/xulrunner-omnijar.patch"
#https://bugzilla.mozilla.org/show_bug.cgi?id=494163
- patch -Np1 -i "${srcdir}/port_gnomevfs_to_gio.patch"
+ patch -Np1 -i "${srcdir}/port_gnomevfs_to_gio.patch"
+
+ [[ "$CARCH" == "mips64el" ]] && {
+ echo "ac_add_options --disable-ipc" >> .mozconfig
+ patch -Np0 -i "${srcdir}/mips.patch"
+ }
unset CFLAGS
unset CXXFLAGS
@@ -50,7 +50,7 @@ build() {
}
package() {
- cd "${srcdir}/mozilla-2.0"
+ cd "${srcdir}/icecat-${_ffoxver}/"
make -j1 -f client.mk DESTDIR="${pkgdir}" install
#Remove included dictionaries, add symlink to system myspell path.
diff --git a/extra/xulrunner/mips.patch b/extra/xulrunner/mips.patch
new file mode 100644
index 000000000..f9de910b2
--- /dev/null
+++ b/extra/xulrunner/mips.patch
@@ -0,0 +1,114 @@
+--- ../../tmp.ne6Bz1oy72/xulrunner/src/mozilla-2.0/js/src/assembler/jit/ExecutableAllocator.h 2011-03-18 20:33:47.000000000 -0300
++++ js/src/assembler/jit/ExecutableAllocator.h 2011-03-30 15:45:07.537247142 -0300
+@@ -44,9 +44,7 @@
+ #include <e32std.h>
+ #endif
+
+-#if WTF_CPU_MIPS && WTF_PLATFORM_LINUX
+ #include <sys/cachectl.h>
+-#endif
+
+ #if WTF_PLATFORM_WINCE
+ // From pkfuncs.h (private header file from the Platform Builder)
+@@ -311,89 +309,10 @@
+ #endif
+
+
+-#if WTF_CPU_X86 || WTF_CPU_X86_64
+- static void cacheFlush(void*, size_t)
+- {
+- }
+-#elif WTF_CPU_MIPS
+ static void cacheFlush(void* code, size_t size)
+ {
+-#if WTF_COMPILER_GCC && (GCC_VERSION >= 40300)
+-#if WTF_MIPS_ISA_REV(2) && (GCC_VERSION < 40403)
+- int lineSize;
+- asm("rdhwr %0, $1" : "=r" (lineSize));
+- //
+- // Modify "start" and "end" to avoid GCC 4.3.0-4.4.2 bug in
+- // mips_expand_synci_loop that may execute synci one more time.
+- // "start" points to the fisrt byte of the cache line.
+- // "end" points to the last byte of the line before the last cache line.
+- // Because size is always a multiple of 4, this is safe to set
+- // "end" to the last byte.
+- //
+- intptr_t start = reinterpret_cast<intptr_t>(code) & (-lineSize);
+- intptr_t end = ((reinterpret_cast<intptr_t>(code) + size - 1) & (-lineSize)) - 1;
+- __builtin___clear_cache(reinterpret_cast<char*>(start), reinterpret_cast<char*>(end));
+-#else
+- intptr_t end = reinterpret_cast<intptr_t>(code) + size;
+- __builtin___clear_cache(reinterpret_cast<char*>(code), reinterpret_cast<char*>(end));
+-#endif
+-#else
+ _flush_cache(reinterpret_cast<char*>(code), size, BCACHE);
+-#endif
+- }
+-#elif WTF_CPU_ARM_THUMB2 && WTF_PLATFORM_IPHONE
+- static void cacheFlush(void* code, size_t size)
+- {
+- sys_dcache_flush(code, size);
+- sys_icache_invalidate(code, size);
+- }
+-#elif WTF_CPU_ARM_THUMB2 && WTF_PLATFORM_LINUX
+- static void cacheFlush(void* code, size_t size)
+- {
+- asm volatile (
+- "push {r7}\n"
+- "mov r0, %0\n"
+- "mov r1, %1\n"
+- "movw r7, #0x2\n"
+- "movt r7, #0xf\n"
+- "movs r2, #0x0\n"
+- "svc 0x0\n"
+- "pop {r7}\n"
+- :
+- : "r" (code), "r" (reinterpret_cast<char*>(code) + size)
+- : "r0", "r1", "r2");
+- }
+-#elif WTF_PLATFORM_SYMBIAN
+- static void cacheFlush(void* code, size_t size)
+- {
+- User::IMB_Range(code, static_cast<char*>(code) + size);
+- }
+-#elif WTF_CPU_ARM_TRADITIONAL && WTF_PLATFORM_LINUX && WTF_COMPILER_RVCT
+- static __asm void cacheFlush(void* code, size_t size);
+-#elif WTF_CPU_ARM_TRADITIONAL && (WTF_PLATFORM_LINUX || WTF_PLATFORM_ANDROID) && WTF_COMPILER_GCC
+- static void cacheFlush(void* code, size_t size)
+- {
+- asm volatile (
+- "push {r7}\n"
+- "mov r0, %0\n"
+- "mov r1, %1\n"
+- "mov r7, #0xf0000\n"
+- "add r7, r7, #0x2\n"
+- "mov r2, #0x0\n"
+- "svc 0x0\n"
+- "pop {r7}\n"
+- :
+- : "r" (code), "r" (reinterpret_cast<char*>(code) + size)
+- : "r0", "r1", "r2");
+- }
+-#elif WTF_PLATFORM_WINCE
+- static void cacheFlush(void* code, size_t size)
+- {
+- CacheRangeFlush(code, size, CACHE_SYNC_ALL);
+ }
+-#else
+- #error "The cacheFlush support is missing on this platform."
+-#endif
+
+ private:
+
+--- js/src/Makefile.in.orig 2011-03-30 22:02:39.725318514 -0300
++++ js/src/Makefile.in 2011-03-30 22:02:51.689347820 -0300
+@@ -914,7 +914,7 @@
+ # Needed to "configure" it correctly. Unfortunately these
+ # flags wind up being applied to all code in js/src, not just
+ # the code in js/src/assembler.
+-CXXFLAGS += -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1
++CXXFLAGS += -DUSE_SYSTEM_MALLOC=1 -DENABLE_JIT=1
+
+ INCLUDES += -I$(srcdir)/assembler -I$(srcdir)/yarr
+
+
diff --git a/extra/xulrunner/xulrunner-omnijar.patch b/extra/xulrunner/xulrunner-omnijar.patch
index 66ec5206c..2cfab6b33 100644
--- a/extra/xulrunner/xulrunner-omnijar.patch
+++ b/extra/xulrunner/xulrunner-omnijar.patch
@@ -93,28 +93,6 @@ diff --git a/netwerk/protocol/res/nsResProtocolHandler.cpp b/netwerk/protocol/re
# Parent 3038cccba1a071d6b418e15442d0f2d9f3dcb11d
Bug 620931 part 2 - When building --with-libxul-sdk, use the right preferences directory
-diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in
---- a/browser/locales/Makefile.in
-+++ b/browser/locales/Makefile.in
-@@ -183,17 +183,17 @@ install:: $(addsuffix .xml,$(SEARCH_PLUG
- $(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(mozappdir)/searchplugins
-
-
- libs-%:
- $(NSINSTALL) -D $(DIST)/install
- @$(MAKE) -C ../../toolkit/locales libs-$* BOTH_MANIFESTS=1
- @$(MAKE) -C ../../services/sync/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
- @$(MAKE) -C ../../extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
-- @$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=defaults/pref BOTH_MANIFESTS=1
-+ @$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=$(PREF_DIR) BOTH_MANIFESTS=1
- @$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
-
-
- repackage-win32-installer: WIN32_INSTALLER_OUT="$(_ABS_DIST)/$(PKG_INST_PATH)$(PKG_INST_BASENAME).exe"
- repackage-win32-installer: $(WIN32_INSTALLER_IN) $(SUBMAKEFILES)
- @echo "Repackaging $(WIN32_INSTALLER_IN) into $(WIN32_INSTALLER_OUT)."
- $(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY) export
- $(MAKE) -C ../installer/windows CONFIG_DIR=l10ngen l10ngen/setup.exe l10ngen/7zSD.sfx
diff --git a/toolkit/mozapps/installer/packager.mk b/toolkit/mozapps/installer/packager.mk
--- a/toolkit/mozapps/installer/packager.mk
+++ b/toolkit/mozapps/installer/packager.mk
@@ -1735,3 +1713,14 @@ diff --git a/xulrunner/confvars.sh b/xulrunner/confvars.sh
fi
MOZ_EXTENSIONS_DEFAULT=" gnomevfs"
MOZ_URL_CLASSIFIER=1
+--- a/browser/locales/Makefile.in.orig 2011-06-02 14:05:23.166534416 -0300
++++ b/browser/locales/Makefile.in 2011-06-02 14:05:35.948920125 -0300
+@@ -194,7 +194,7 @@ libs-%:
+ @$(MAKE) -C ../../toolkit/locales libs-$* BOTH_MANIFESTS=1
+ @$(MAKE) -C ../../extensions/reporter/locales libs AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
+ @$(MAKE) -C ../../extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
+- @$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=defaults/pref BOTH_MANIFESTS=1
++ @$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=$(PREF_DIR) BOTH_MANIFESTS=1
+ ifdef MOZ_BRANDING_DIRECTORY
+ @$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
+ endif