diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..405930f --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +xulrunner-1.9.1.9.source.tar.bz2 +xulrunner-1.9.1.10.source.tar.bz2 +xulrunner-1.9.1.11.source.tar.bz2 +/xulrunner-1.9.1.12.source.tag.bz2 +/xulrunner-1.9.1.12.source.tar.bz2 +/xulrunner-1.9.1.14.source.tar.bz2 +/xulrunner-1.9.1.15.source.tar.bz2 diff --git a/dead.package b/dead.package deleted file mode 100644 index 3f37036..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -This package is no longer supported by upstream diff --git a/mozilla-191-path.patch b/mozilla-191-path.patch new file mode 100644 index 0000000..a49ffd6 --- /dev/null +++ b/mozilla-191-path.patch @@ -0,0 +1,162 @@ +--- mozilla/toolkit/xre/nsAppRunner.h.old 2007-09-25 18:01:56.000000000 +0200 ++++ mozilla/toolkit/xre/nsAppRunner.h 2007-09-25 18:02:23.000000000 +0200 +@@ -48,7 +48,8 @@ + #elif defined(CCHMAXPATH) + #define MAXPATHLEN CCHMAXPATH + #else +-#define MAXPATHLEN 1024 ++#include ++#define MAXPATHLEN PATH_MAX + #endif + #endif + +diff -up mozilla/toolkit/mozapps/update/src/updater/updater.cpp.old mozilla/toolkit/mozapps/update/src/updater/updater.cpp +--- mozilla/toolkit/mozapps/update/src/updater/updater.cpp.old 2007-09-25 18:00:26.000000000 +0200 ++++ mozilla/toolkit/mozapps/update/src/updater/updater.cpp 2007-09-25 18:00:53.000000000 +0200 +@@ -107,7 +107,8 @@ void LaunchChild(int argc, char **argv); + # elif defined(CCHMAXPATH) + # define MAXPATHLEN CCHMAXPATH + # else +-# define MAXPATHLEN 1024 ++# include ++# define MAXPATHLEN PATH_MAX + # endif + #endif + +diff -up mozilla/xpcom/io/SpecialSystemDirectory.cpp.old mozilla/xpcom/io/SpecialSystemDirectory.cpp +--- mozilla/xpcom/io/SpecialSystemDirectory.cpp.old 2007-09-25 18:04:25.000000000 +0200 ++++ mozilla/xpcom/io/SpecialSystemDirectory.cpp 2007-09-25 18:04:48.000000000 +0200 +@@ -109,7 +109,8 @@ + #elif defined(CCHMAXPATH) + #define MAXPATHLEN CCHMAXPATH + #else +-#define MAXPATHLEN 1024 ++#include ++#define MAXPATHLEN PATH_MAX + #endif + #endif + +diff -up mozilla/xpcom/obsolete/nsFileSpecUnix.cpp.old mozilla/xpcom/obsolete/nsFileSpecUnix.cpp +--- mozilla/xpcom/obsolete/nsFileSpecUnix.cpp.old 2006-11-28 01:18:37.000000000 +0100 ++++ mozilla/xpcom/obsolete/nsFileSpecUnix.cpp 2007-09-25 18:05:49.000000000 +0200 +@@ -79,7 +79,8 @@ + #endif + + #ifndef MAXPATHLEN +-#define MAXPATHLEN 1024 /* Guessing this is okay. Works for SCO. */ ++#include ++#define MAXPATHLEN PATH_MAX /* Guessing this is okay. Works for SCO. */ + #endif + + #if defined(__QNX__) +diff -up mozilla/xpcom/build/nsXPCOMPrivate.h.old mozilla/xpcom/build/nsXPCOMPrivate.h +--- mozilla/xpcom/build/nsXPCOMPrivate.h.old 2007-09-25 18:02:58.000000000 +0200 ++++ mozilla/xpcom/build/nsXPCOMPrivate.h 2007-09-25 18:03:15.000000000 +0200 +@@ -252,7 +252,8 @@ NS_GetFrozenFunctions(XPCOMFunctions *en + #elif defined(CCHMAXPATH) + #define MAXPATHLEN CCHMAXPATH + #else +-#define MAXPATHLEN 1024 ++#include ++#define MAXPATHLEN PATH_MAX + #endif + #endif + +diff -up mozilla/dbm/include/mcom_db.h.old mozilla/dbm/include/mcom_db.h +--- mozilla/dbm/include/mcom_db.h.old 2007-09-25 17:57:09.000000000 +0200 ++++ mozilla/dbm/include/mcom_db.h 2007-09-25 17:57:49.000000000 +0200 +@@ -214,7 +214,8 @@ + #endif /* __DBINTERFACE_PRIVATE */ + + #ifdef SCO +-#define MAXPATHLEN 1024 ++#include ++#define MAXPATHLEN PATH_MAX + #endif + + #include +diff -up mozilla/xpcom/typelib/xpidl/xpidl_java.c.old mozilla/xpcom/typelib/xpidl/xpidl_java.c +--- mozilla/xpcom/typelib/xpidl/xpidl_java.c.old 2007-09-25 18:38:52.000000000 +0200 ++++ mozilla/xpcom/typelib/xpidl/xpidl_java.c 2007-09-25 18:39:17.000000000 +0200 +@@ -44,6 +44,7 @@ + #include "xpidl.h" + #include + #include ++#include + + #ifdef XP_WIN + #include +diff -up mozilla/widget/src/xremoteclient/XRemoteClient.cpp.old mozilla/widget/src/xremoteclient/XRemoteClient.cpp +--- mozilla/widget/src/xremoteclient/XRemoteClient.cpp.old 2007-09-25 18:14:08.000000000 +0200 ++++ mozilla/widget/src/xremoteclient/XRemoteClient.cpp 2007-09-25 18:36:55.000000000 +0200 +@@ -76,7 +76,8 @@ + #endif + + #ifndef MAX_PATH +-#define MAX_PATH 1024 ++#include ++#define MAX_PATH PATH_MAX + #endif + + #define ARRAY_LENGTH(array_) (sizeof(array_)/sizeof(array_[0])) +diff -up mozilla/modules/libreg/src/reg.c.old mozilla/modules/libreg/src/reg.c +--- mozilla/modules/libreg/src/reg.c.old 2007-09-25 18:25:02.000000000 +0200 ++++ mozilla/modules/libreg/src/reg.c 2007-09-25 18:27:46.000000000 +0200 +@@ -96,7 +96,8 @@ + #define MAX_PATH PATH_MAX + #elif defined(XP_UNIX) + #ifndef MAX_PATH +-#define MAX_PATH 1024 ++#include ++#define MAX_PATH PATH_MAX + #endif + #elif defined(XP_OS2) + #ifndef MAX_PATH +diff -up mozilla/config/pathsub.h.old mozilla/config/pathsub.h +--- mozilla/config/pathsub.h.old 2004-04-18 16:17:25.000000000 +0200 ++++ mozilla/config/pathsub.h 2007-09-25 18:48:13.000000000 +0200 +@@ -46,7 +46,7 @@ + #include + + #ifndef PATH_MAX +-#define PATH_MAX 1024 ++#error "PATH_MAX is not defined!" + #endif + + /* +diff -up mozilla/modules/libjar/nsZipArchive.cpp.old mozilla/modules/libjar/nsZipArchive.cpp +--- mozilla/modules/libjar/nsZipArchive.cpp.old 2006-09-13 20:32:37.000000000 +0200 ++++ mozilla/modules/libjar/nsZipArchive.cpp 2007-09-25 18:51:00.000000000 +0200 +@@ -121,7 +121,7 @@ char * strdup(const char *src) + # define S_IFLNK 0120000 + # endif + # ifndef PATH_MAX +-# define PATH_MAX 1024 ++# include + # endif + #endif /* XP_UNIX */ + +diff -up mozilla/nsprpub/config/pathsub.h.old mozilla/nsprpub/config/pathsub.h +--- mozilla/nsprpub/config/pathsub.h.old 2004-04-25 17:00:34.000000000 +0200 ++++ mozilla/nsprpub/config/pathsub.h 2007-09-25 18:57:51.000000000 +0200 +@@ -50,7 +50,7 @@ + #endif + + #ifndef PATH_MAX +-#define PATH_MAX 1024 ++#error "PATH_MAX is not defined!" + #endif + + /* +diff -up mozilla/security/coreconf/nsinstall/pathsub.h.old mozilla/security/coreconf/nsinstall/pathsub.h +--- mozilla/security/coreconf/nsinstall/pathsub.h.old 2004-04-25 17:02:18.000000000 +0200 ++++ mozilla/security/coreconf/nsinstall/pathsub.h 2007-09-25 19:00:35.000000000 +0200 +@@ -49,7 +49,7 @@ + #endif + + #ifndef PATH_MAX +-#define PATH_MAX 1024 ++#error "PATH_MAX is not defined!" + #endif + + /* diff --git a/mozilla-191-pkgconfig.patch b/mozilla-191-pkgconfig.patch new file mode 100644 index 0000000..d894533 --- /dev/null +++ b/mozilla-191-pkgconfig.patch @@ -0,0 +1,142 @@ +diff -r f1af606531f5 config/autoconf.mk.in +--- a/config/autoconf.mk.in Sat Nov 22 20:22:22 2008 +0100 ++++ b/config/autoconf.mk.in Mon Dec 01 22:30:12 2008 -0500 +@@ -57,14 +57,14 @@ + prefix = @prefix@ + exec_prefix = @exec_prefix@ + bindir = @bindir@ +-includedir = @includedir@/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) ++includedir = @includedir@/$(MOZ_APP_NAME)-sdk-$(MOZ_APP_VERSION) + libdir = @libdir@ + datadir = @datadir@ + mandir = @mandir@ +-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) ++idldir = $(datadir)/idl/$(MOZ_APP_NAME)-sdk-$(MOZ_APP_VERSION) + + installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) +-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) ++sdkdir = $(libdir)/$(MOZ_APP_NAME)-sdk-$(MOZ_APP_VERSION) + + DIST = $(DEPTH)/dist + LIBXUL_SDK = @LIBXUL_SDK@ +diff -r f1af606531f5 xulrunner/installer/Makefile.in +--- a/xulrunner/installer/Makefile.in Sat Nov 22 20:22:22 2008 +0100 ++++ b/xulrunner/installer/Makefile.in Mon Dec 01 22:30:12 2008 -0500 +@@ -116,6 +118,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 -r f1af606531f5 xulrunner/installer/libxul-embedding-unstable.pc.in +--- a/xulrunner/installer/libxul-embedding-unstable.pc.in Sat Nov 22 20:22:22 2008 +0100 ++++ b/xulrunner/installer/libxul-embedding-unstable.pc.in Mon Dec 01 22:30:12 2008 -0500 +@@ -1,11 +1,12 @@ + prefix=%prefix% + sdkdir=%sdkdir% + includedir=%includedir% +-idldir=%idldir% ++idldir=%idldir%/unstable + includetype=unstable + + Name: libxul-embedding-unstable + Description: Static library for version-independent embedding of the Mozilla runtime (unstable API) + Version: %MOZILLA_VERSION% ++Requires: %NSPR_NAME% >= %NSPR_VERSION% + Libs: -L${sdkdir}/lib -lxpcomglue + Cflags: -DXPCOM_GLUE -I${includedir}/${includetype} %WCHAR_CFLAGS% +diff -r f1af606531f5 xulrunner/installer/libxul-embedding.pc.in +--- a/xulrunner/installer/libxul-embedding.pc.in Sat Nov 22 20:22:22 2008 +0100 ++++ b/xulrunner/installer/libxul-embedding.pc.in Mon Dec 01 22:30:12 2008 -0500 +@@ -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 +@@ -11,5 +11,6 @@ + Name: libxul-embedding + Description: Static library for version-independent embedding of the Mozilla runtime + Version: %MOZILLA_VERSION% +-Libs: -L${sdkdir}/lib -lxpcomglue ++Requires: %NSPR_NAME% >= %NSPR_VERSION% ++Libs: -L${sdkdir}/sdk/lib -lxpcomglue + Cflags: -DXPCOM_GLUE -I${includedir}/${includetype} %WCHAR_CFLAGS% +diff -r f1af606531f5 xulrunner/installer/libxul-unstable.pc.in +--- a/xulrunner/installer/libxul-unstable.pc.in Sat Nov 22 20:22:22 2008 +0100 ++++ b/xulrunner/installer/libxul-unstable.pc.in Mon Dec 01 22:30:12 2008 -0500 +@@ -1,7 +1,8 @@ + prefix=%prefix% + sdkdir=%sdkdir% ++libdir=%libdir% + includedir=%includedir% +-idldir=%idldir% ++idldir=%idldir%/unstable + includetype=unstable + + Name: libxul +diff -r f1af606531f5 xulrunner/installer/libxul.pc.in +--- a/xulrunner/installer/libxul.pc.in Sat Nov 22 20:22:22 2008 +0100 ++++ b/xulrunner/installer/libxul.pc.in Mon Dec 01 22:30:12 2008 -0500 +@@ -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 +@@ -12,5 +13,5 @@ + Description: The Mozilla Runtime and Embedding Engine + Version: %MOZILLA_VERSION% + Requires: %NSPR_NAME% >= %NSPR_VERSION% +-Libs: -L${sdkdir}/lib -lxpcomglue_s -lxul -lxpcom ++Libs: -L${sdkdir}/sdk/lib -lxpcomglue_s -lxul -lxpcom + Cflags: -I${includedir}/${includetype} %WCHAR_CFLAGS% +diff -r f1af606531f5 xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in +--- a/xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in Sat Nov 22 20:22:22 2008 +0100 ++++ b/xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in Mon Dec 01 22:30:12 2008 -0500 +@@ -1,5 +1,6 @@ + prefix=%prefix% + sdkdir=%sdkdir% ++libdir=%libdir% + includedir=%includedir% + + Name: mozilla-gtkembedmoz +diff -r f1af606531f5 xulrunner/installer/mozilla-gtkmozembed.pc.in +--- a/xulrunner/installer/mozilla-gtkmozembed.pc.in Sat Nov 22 20:22:22 2008 +0100 ++++ b/xulrunner/installer/mozilla-gtkmozembed.pc.in Mon Dec 01 22:30:12 2008 -0500 +@@ -1,5 +1,6 @@ + prefix=%prefix% + sdkdir=%sdkdir% ++libdir=%libdir% + includedir=%includedir% + + Name: mozilla-gtkembedmoz +diff -r f1af606531f5 xulrunner/installer/mozilla-js.pc.in +--- a/xulrunner/installer/mozilla-js.pc.in Sat Nov 22 20:22:22 2008 +0100 ++++ b/xulrunner/installer/mozilla-js.pc.in Mon Dec 01 22:30:12 2008 -0500 +@@ -6,5 +6,5 @@ + Description: The Mozilla JavaScript Library + Version: %MOZILLA_VERSION% + Requires: %NSPR_NAME% >= %NSPR_VERSION% +-Libs: -L${sdkdir}/lib -lmozjs +-Cflags: -I${includedir}/stable -DXP_UNIX -DJS_THREADSAFE ++Libs: -L${sdkdir}/sdk/lib -lmozjs ++Cflags: -I${includedir}/stable -I${includedir}/js -DXP_UNIX -DJS_THREADSAFE +diff -r f1af606531f5 xulrunner/installer/mozilla-plugin.pc.in +--- a/xulrunner/installer/mozilla-plugin.pc.in Sat Nov 22 20:22:22 2008 +0100 ++++ b/xulrunner/installer/mozilla-plugin.pc.in Mon Dec 01 22:30:12 2008 -0500 +@@ -6,4 +6,4 @@ + Description: Mozilla Plug-In API + Version: %MOZILLA_VERSION% + Requires: %NSPR_NAME% >= %NSPR_VERSION% +-Cflags: -I${includedir}/stable -DXP_UNIX %ojidef% ++Cflags: -I${includedir}/stable -DXP_UNIX %ojidef% -I${includedir}/java -I${includedir}/plugin diff --git a/mozilla-516124.patch b/mozilla-516124.patch new file mode 100644 index 0000000..85d180c --- /dev/null +++ b/mozilla-516124.patch @@ -0,0 +1,30 @@ +--- a/toolkit/system/gnome/nsAlertsIconListener.cpp ++++ b/toolkit/system/gnome/nsAlertsIconListener.cpp +@@ -245,23 +245,25 @@ nsAlertsIconListener::StartRequest(const + return il->LoadImage(imageUri, nsnull, nsnull, nsnull, this, + nsnull, nsIRequest::LOAD_NORMAL, nsnull, nsnull, + getter_AddRefs(mIconRequest)); + } + + void + nsAlertsIconListener::SendCallback() + { +- mAlertListener->Observe(NULL, "alertclickcallback", mAlertCookie.get()); ++ if (mAlertListener) ++ mAlertListener->Observe(NULL, "alertclickcallback", mAlertCookie.get()); + } + + void + nsAlertsIconListener::SendClosed() + { +- mAlertListener->Observe(NULL, "alertfinished", mAlertCookie.get()); ++ if (mAlertListener) ++ mAlertListener->Observe(NULL, "alertfinished", mAlertCookie.get()); + } + + nsresult + nsAlertsIconListener::InitAlertAsync(const nsAString & aImageUrl, + const nsAString & aAlertTitle, + const nsAString & aAlertText, + PRBool aAlertTextClickable, + const nsAString & aAlertCookie, diff --git a/mozilla-about-firefox-version.patch b/mozilla-about-firefox-version.patch new file mode 100644 index 0000000..115664c --- /dev/null +++ b/mozilla-about-firefox-version.patch @@ -0,0 +1,12 @@ +diff -up mozilla-1.9.1/toolkit/content/Makefile.in.about-firefox-version mozilla-1.9.1/toolkit/content/Makefile.in +--- mozilla-1.9.1/toolkit/content/Makefile.in.about-firefox-version 2009-06-29 18:15:23.000000000 +0200 ++++ mozilla-1.9.1/toolkit/content/Makefile.in 2009-07-07 13:43:54.000000000 +0200 +@@ -46,7 +46,7 @@ CHROME_DEPS = buildconfig.html + include $(DEPTH)/config/autoconf.mk + + DEFINES += \ +- -DMOZ_APP_VERSION=$(MOZ_APP_VERSION) \ ++ -DMOZ_APP_VERSION=$(FIREFOX_VERSION) \ + -Dtarget="$(target)" \ + -Dac_configure_args="$(ac_configure_args)" \ + -DCC="$(CC)" \ diff --git a/mozilla-jemalloc.patch b/mozilla-jemalloc.patch new file mode 100644 index 0000000..aabd690 --- /dev/null +++ b/mozilla-jemalloc.patch @@ -0,0 +1,24 @@ +diff -r f1af606531f5 memory/jemalloc/jemalloc.h +--- a/memory/jemalloc/jemalloc.h Sat Nov 22 20:22:22 2008 +0100 ++++ b/memory/jemalloc/jemalloc.h Mon Dec 01 16:53:06 2008 -0500 +@@ -45,14 +45,14 @@ + } jemalloc_stats_t; + + #ifndef MOZ_MEMORY_DARWIN +-void *malloc(size_t size); +-void *valloc(size_t size); +-void *calloc(size_t num, size_t size); +-void *realloc(void *ptr, size_t size); +-void free(void *ptr); ++void *malloc(size_t size) __THROW __attribute_malloc__ __wur; ++void *valloc(size_t size) __THROW __attribute_malloc__ __wur; ++void *calloc(size_t num, size_t size) __THROW __attribute_malloc__ __wur; ++void *realloc(void *ptr, size_t size) __THROW __attribute_malloc__ __wur; ++void free(void *ptr) __THROW __attribute_malloc__ __wur; + #endif + +-int posix_memalign(void **memptr, size_t alignment, size_t size); ++int posix_memalign(void **memptr, size_t alignment, size_t size) __THROW __attribute_malloc__ __wur; + void *memalign(size_t alignment, size_t size); + size_t malloc_usable_size(const void *ptr); + void jemalloc_stats(jemalloc_stats_t *stats); diff --git a/mozilla-libnotify.patch b/mozilla-libnotify.patch new file mode 100644 index 0000000..af76c47 --- /dev/null +++ b/mozilla-libnotify.patch @@ -0,0 +1,805 @@ +diff -up mozilla-1.9.1/config/autoconf.mk.in.libnotify mozilla-1.9.1/config/autoconf.mk.in +--- mozilla-1.9.1/config/autoconf.mk.in.libnotify 2009-07-30 17:30:11.000000000 +0200 ++++ mozilla-1.9.1/config/autoconf.mk.in 2009-08-21 15:31:20.000000000 +0200 +@@ -528,6 +528,10 @@ MOZ_PANGO_LIBS = @MOZ_PANGO_LIB + MOZ_XIE_LIBS = @MOZ_XIE_LIBS@ + XT_LIBS = @XT_LIBS@ + ++MOZ_LIBNOTIFY_CFLAGS = @MOZ_LIBNOTIFY_CFLAGS@ ++MOZ_LIBNOTIFY_LIBS = @MOZ_LIBNOTIFY_LIBS@ ++MOZ_ENABLE_LIBNOTIFY = @MOZ_ENABLE_LIBNOTIFY@ ++ + GLIB_CFLAGS = @GLIB_CFLAGS@ + GLIB_LIBS = @GLIB_LIBS@ + GLIB_GMODULE_LIBS = @GLIB_GMODULE_LIBS@ +diff -up mozilla-1.9.1/config/system-headers.libnotify mozilla-1.9.1/config/system-headers +--- mozilla-1.9.1/config/system-headers.libnotify 2009-07-30 17:30:11.000000000 +0200 ++++ mozilla-1.9.1/config/system-headers 2009-08-21 15:31:20.000000000 +0200 +@@ -432,6 +432,7 @@ libgnomevfs/gnome-vfs-ops.h + libgnomevfs/gnome-vfs-standard-callbacks.h + libIDL/IDL.h + lib$routines.h ++libnotify/notify.h + limits + limits.h + link.h +diff -up mozilla-1.9.1/configure.in.libnotify mozilla-1.9.1/configure.in +--- mozilla-1.9.1/configure.in.libnotify 2009-07-30 17:30:11.000000000 +0200 ++++ mozilla-1.9.1/configure.in 2009-08-21 15:31:20.000000000 +0200 +@@ -132,6 +132,7 @@ LIBGNOME_VERSION=2.0 + STARTUP_NOTIFICATION_VERSION=0.8 + DBUS_VERSION=0.60 + SQLITE_VERSION=3.6.16.1 ++LIBNOTIFY_VERSION=0.4 + + MSMANIFEST_TOOL= + +@@ -5186,6 +5187,39 @@ AC_SUBST(MOZ_DBUS_GLIB_CFLAGS) + AC_SUBST(MOZ_DBUS_GLIB_LIBS) + + dnl ======================================================== ++dnl = libnotify support ++dnl ======================================================== ++ ++if test "$MOZ_ENABLE_GTK2" ++then ++ MOZ_ENABLE_LIBNOTIFY=1 ++ ++ MOZ_ARG_DISABLE_BOOL(libnotify, ++ [ --disable-libnotify Disable libnotify support ], ++ MOZ_ENABLE_LIBNOTIFY=, ++ MOZ_ENABLE_LIBNOTIFY=1) ++ ++ if test "$MOZ_ENABLE_LIBNOTIFY" ++ then ++ AC_DEFINE(MOZ_ENABLE_LIBNOTIFY) ++ fi ++fi ++ ++if test -z "$SKIP_LIBRARY_CHECKS" ++then ++ if test "$MOZ_ENABLE_GTK2" ++ then ++ if test "$MOZ_ENABLE_LIBNOTIFY" ++ then ++ PKG_CHECK_MODULES(MOZ_LIBNOTIFY, libnotify >= $LIBNOTIFY_VERSION) ++ fi ++ fi ++fi ++AC_SUBST(MOZ_ENABLE_LIBNOTIFY) ++AC_SUBST(MOZ_LIBNOTIFY_CFLAGS) ++AC_SUBST(MOZ_LIBNOTIFY_LIBS) ++ ++dnl ======================================================== + dnl = Build Personal Security Manager + dnl ======================================================== + MOZ_ARG_DISABLE_BOOL(crypto, +diff -up mozilla-1.9.1/js/src/config/system-headers.libnotify mozilla-1.9.1/js/src/config/system-headers +--- mozilla-1.9.1/js/src/config/system-headers.libnotify 2009-07-30 17:30:17.000000000 +0200 ++++ mozilla-1.9.1/js/src/config/system-headers 2009-08-21 15:31:20.000000000 +0200 +@@ -432,6 +432,7 @@ libgnomevfs/gnome-vfs-ops.h + libgnomevfs/gnome-vfs-standard-callbacks.h + libIDL/IDL.h + lib$routines.h ++libnotify/notify.h + limits + limits.h + link.h +diff -up mozilla-1.9.1/toolkit/components/alerts/src/Makefile.in.libnotify mozilla-1.9.1/toolkit/components/alerts/src/Makefile.in +--- mozilla-1.9.1/toolkit/components/alerts/src/Makefile.in.libnotify 2009-07-30 17:30:31.000000000 +0200 ++++ mozilla-1.9.1/toolkit/components/alerts/src/Makefile.in 2009-08-21 15:31:20.000000000 +0200 +@@ -60,6 +60,8 @@ CPPSRCS = \ + nsAlertsService.cpp \ + $(NULL) + ++LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/components/build/ ++ + include $(topsrcdir)/config/rules.mk + + EXTRA_DSO_LDOPTS += $(MOZ_COMPONENT_LIBS) +diff -up mozilla-1.9.1/toolkit/components/alerts/src/nsAlertsService.cpp.libnotify mozilla-1.9.1/toolkit/components/alerts/src/nsAlertsService.cpp +--- mozilla-1.9.1/toolkit/components/alerts/src/nsAlertsService.cpp.libnotify 2009-07-30 17:30:31.000000000 +0200 ++++ mozilla-1.9.1/toolkit/components/alerts/src/nsAlertsService.cpp 2009-08-21 15:31:20.000000000 +0200 +@@ -47,6 +47,7 @@ + #include "nsDependentString.h" + #include "nsWidgetsCID.h" + #include "nsILookAndFeel.h" ++#include "nsToolkitCompsCID.h" + + static NS_DEFINE_CID(kLookAndFeelCID, NS_LOOKANDFEEL_CID); + +@@ -73,9 +74,18 @@ NS_IMETHODIMP nsAlertsService::ShowAlert + nsIObserver * aAlertListener, + const nsAString & aAlertName) + { ++ // Check if there is an optional service that handles system-level notifications ++ nsCOMPtr sysAlerts(do_GetService(NS_SYSTEMALERTSERVICE_CONTRACTID)); ++ nsresult rv; ++ if (sysAlerts) { ++ rv = sysAlerts->ShowAlertNotification(aImageUrl, aAlertTitle, aAlertText, aAlertTextClickable, ++ aAlertCookie, aAlertListener, aAlertName); ++ if (NS_SUCCEEDED(rv)) ++ return rv; ++ } ++ + nsCOMPtr wwatch(do_GetService(NS_WINDOWWATCHER_CONTRACTID)); + nsCOMPtr newWindow; +- nsresult rv; + + nsCOMPtr argsArray; + rv = NS_NewISupportsArray(getter_AddRefs(argsArray)); +diff -up mozilla-1.9.1/toolkit/components/build/nsToolkitCompsCID.h.libnotify mozilla-1.9.1/toolkit/components/build/nsToolkitCompsCID.h +--- mozilla-1.9.1/toolkit/components/build/nsToolkitCompsCID.h.libnotify 2009-07-30 17:30:31.000000000 +0200 ++++ mozilla-1.9.1/toolkit/components/build/nsToolkitCompsCID.h 2009-08-21 15:31:20.000000000 +0200 +@@ -38,6 +38,13 @@ + #define NS_ALERTSERVICE_CONTRACTID \ + "@mozilla.org/alerts-service;1" + ++// This separate service uses the same nsIAlertsService interface, ++// but instead sends a notification to a platform alerts API ++// if available. Using a separate CID allows us to overwrite the XUL ++// alerts service at runtime. ++#define NS_SYSTEMALERTSERVICE_CONTRACTID \ ++ "@mozilla.org/system-alerts-service;1" ++ + #define NS_AUTOCOMPLETECONTROLLER_CONTRACTID \ + "@mozilla.org/autocomplete/controller;1" + +@@ -115,6 +122,10 @@ + #define NS_ALERTSSERVICE_CID \ + { 0xa0ccaaf8, 0x9da, 0x44d8, { 0xb2, 0x50, 0x9a, 0xc3, 0xe9, 0x3c, 0x81, 0x17 } } + ++// {84E11F80-CA55-11DD-AD8B-0800200C9A66} ++#define NS_SYSTEMALERTSSERVICE_CID \ ++{ 0x84e11f80, 0xca55, 0x11dd, { 0xad, 0x8b, 0x08, 0x00, 0x20, 0x0c, 0x9a, 0x66 } } ++ + // {F6D5EBBD-34F4-487d-9D10-3D34123E3EB9} + #define NS_AUTOCOMPLETECONTROLLER_CID \ + { 0xf6d5ebbd, 0x34f4, 0x487d, { 0x9d, 0x10, 0x3d, 0x34, 0x12, 0x3e, 0x3e, 0xb9 } } +diff -up mozilla-1.9.1/toolkit/system/gnome/Makefile.in.libnotify mozilla-1.9.1/toolkit/system/gnome/Makefile.in +--- mozilla-1.9.1/toolkit/system/gnome/Makefile.in.libnotify 2009-07-30 17:30:33.000000000 +0200 ++++ mozilla-1.9.1/toolkit/system/gnome/Makefile.in 2009-08-21 15:31:20.000000000 +0200 +@@ -51,6 +51,13 @@ REQUIRES = \ + xpcom \ + string \ + necko \ ++ alerts \ ++ gfx \ ++ imglib2 \ ++ intl \ ++ widget \ ++ thebes \ ++ cairo \ + $(NULL) + + CPPSRCS = \ +@@ -59,6 +66,13 @@ CPPSRCS = \ + nsGnomeModule.cpp \ + $(NULL) + ++ifdef MOZ_ENABLE_LIBNOTIFY ++CPPSRCS += \ ++ nsAlertsService.cpp \ ++ nsAlertsIconListener.cpp \ ++ $(NULL) ++endif ++ + EXTRA_DSO_LDOPTS += \ + $(XPCOM_GLUE_LDOPTS) \ + $(XPCOM_FROZEN_LDOPTS) \ +@@ -67,8 +81,11 @@ EXTRA_DSO_LDOPTS += \ + $(MOZ_GNOMEVFS_LIBS) \ + $(MOZ_LIBGNOME_LIBS) \ + $(GLIB_LIBS) \ ++ $(MOZ_LIBNOTIFY_LIBS) \ + $(NULL) + ++LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/components/build/ ++ + include $(topsrcdir)/config/rules.mk + + CXXFLAGS += \ +@@ -76,4 +93,5 @@ CXXFLAGS += \ + $(MOZ_GNOMEVFS_CFLAGS) \ + $(MOZ_LIBGNOME_CFLAGS) \ + $(GLIB_CFLAGS) \ ++ $(MOZ_LIBNOTIFY_CFLAGS) \ + $(NULL) +diff -up /dev/null mozilla-1.9.1/toolkit/system/gnome/nsAlertsIconListener.cpp +--- /dev/null 2009-08-21 10:27:01.489538501 +0200 ++++ mozilla-1.9.1/toolkit/system/gnome/nsAlertsIconListener.cpp 2009-08-21 15:31:20.000000000 +0200 +@@ -0,0 +1,326 @@ ++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode:nil; c-basic-offset: 2 -*- */ ++/* ***** BEGIN LICENSE BLOCK ***** ++ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 ++ * ++ * The contents of this file are subject to the Mozilla Public License Version ++ * 1.1 (the "License"); you may not use this file except in compliance with ++ * the License. You may obtain a copy of the License at ++ * http://www.mozilla.org/MPL/ ++ * ++ * Software distributed under the License is distributed on an "AS IS" basis, ++ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License ++ * for the specific language governing rights and limitations under the ++ * License. ++ * ++ * The Original Code is mozilla.org code. ++ * ++ * The Initial Developer of the Original Code is ++ * Mozilla Corporation. ++ * Portions created by the Initial Developer are Copyright (C) 2008 ++ * the Initial Developer. All Rights Reserved. ++ * ++ * Contributor(s): ++ * ++ * Alternatively, the contents of this file may be used under the terms of ++ * either the GNU General Public License Version 2 or later (the "GPL"), or ++ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), ++ * in which case the provisions of the GPL or the LGPL are applicable instead ++ * of those above. If you wish to allow use of your version of this file only ++ * under the terms of either the GPL or the LGPL, and not to allow others to ++ * use your version of this file under the terms of the MPL, indicate your ++ * decision by deleting the provisions above and replace them with the notice ++ * and other provisions required by the GPL or the LGPL. If you do not delete ++ * the provisions above, a recipient may use your version of this file under ++ * the terms of any one of the MPL, the GPL or the LGPL. ++ * ++ * ***** END LICENSE BLOCK ***** */ ++ ++#include "nsAlertsIconListener.h" ++#include "imgILoader.h" ++#include "imgIRequest.h" ++#include "gfxIImageFrame.h" ++#include "nsIImage.h" ++#include "nsNetUtil.h" ++#include "nsIImageToPixbuf.h" ++#include "nsIStringBundle.h" ++ ++#include ++#include ++#include ++ ++static PRBool gHasActions = PR_FALSE; ++ ++static void notify_action_cb(NotifyNotification *notification, ++ gchar *action, gpointer user_data) ++{ ++ nsAlertsIconListener* alert = static_cast (user_data); ++ alert->SendCallback(); ++} ++ ++static void notify_closed_cb(NotifyNotification *notification, ++ gpointer user_data) ++{ ++ g_object_unref(notification); ++ ++ nsAlertsIconListener* alert = static_cast (user_data); ++ alert->SendClosed(); ++ NS_RELEASE(alert); ++} ++ ++NS_IMPL_ISUPPORTS2(nsAlertsIconListener, imgIContainerObserver, imgIDecoderObserver) ++ ++nsAlertsIconListener::nsAlertsIconListener() ++: mLoadedFrame(PR_FALSE) ++{ ++ MOZ_COUNT_CTOR(nsAlertsIconListener); ++} ++ ++nsAlertsIconListener::~nsAlertsIconListener() ++{ ++ MOZ_COUNT_DTOR(nsAlertsIconListener); ++ ++ if (mIconRequest) ++ mIconRequest->CancelAndForgetObserver(NS_BINDING_ABORTED); ++} ++ ++NS_IMETHODIMP ++nsAlertsIconListener::OnStartRequest(imgIRequest* aRequest) ++{ ++ return NS_OK; ++} ++ ++NS_IMETHODIMP ++nsAlertsIconListener::OnStartDecode(imgIRequest* aRequest) ++{ ++ return NS_OK; ++} ++ ++ ++NS_IMETHODIMP ++nsAlertsIconListener::OnStartContainer(imgIRequest* aRequest, ++ imgIContainer* aContainer) ++{ ++ return NS_OK; ++} ++ ++ ++NS_IMETHODIMP ++nsAlertsIconListener::OnStartFrame(imgIRequest* aRequest, ++ gfxIImageFrame* aFrame) ++{ ++ return NS_OK; ++} ++ ++ ++NS_IMETHODIMP ++nsAlertsIconListener::OnDataAvailable(imgIRequest* aRequest, ++ gfxIImageFrame* aFrame, ++ const nsIntRect* aRect) ++{ ++ return NS_OK; ++} ++ ++NS_IMETHODIMP ++nsAlertsIconListener::OnStopContainer(imgIRequest* aRequest, ++ imgIContainer* aContainer) ++{ ++ return NS_OK; ++} ++ ++ ++NS_IMETHODIMP ++nsAlertsIconListener::OnStopDecode(imgIRequest* aRequest, ++ nsresult status, ++ const PRUnichar* statusArg) ++{ ++ return NS_OK; ++} ++ ++NS_IMETHODIMP ++nsAlertsIconListener::FrameChanged(imgIContainer* aContainer, ++ gfxIImageFrame* aFrame, ++ nsIntRect* aDirtyRect) ++{ ++ return NS_OK; ++} ++ ++NS_IMETHODIMP ++nsAlertsIconListener::OnStopRequest(imgIRequest* aRequest, ++ PRBool aIsLastPart) ++{ ++ PRUint32 imgStatus = imgIRequest::STATUS_ERROR; ++ nsresult rv = aRequest->GetImageStatus(&imgStatus); ++ NS_ENSURE_SUCCESS(rv, rv); ++ if (imgStatus == imgIRequest::STATUS_ERROR && !mLoadedFrame) { ++ // We have an error getting the image. Display the notification with no icon. ++ ShowAlert(NULL); ++ } ++ ++ if (mIconRequest) { ++ mIconRequest->Cancel(NS_BINDING_ABORTED); ++ mIconRequest = nsnull; ++ } ++ return NS_OK; ++} ++ ++NS_IMETHODIMP ++nsAlertsIconListener::OnStopFrame(imgIRequest* aRequest, ++ gfxIImageFrame* aFrame) ++{ ++ if (aRequest != mIconRequest) ++ return NS_ERROR_FAILURE; ++ ++ if (mLoadedFrame) ++ return NS_OK; // only use one frame ++ ++ nsCOMPtr frame = aFrame; ++ nsCOMPtr image = do_GetInterface(frame); ++ if (!image) ++ return NS_ERROR_FAILURE; ++ ++ nsresult rv = image->LockImagePixels(PR_FALSE); ++ if (NS_FAILED(rv)) ++ return rv; ++ ++ nsCOMPtr imgToPixbuf = ++ do_GetService("@mozilla.org/widget/image-to-gdk-pixbuf;1"); ++ ++ GdkPixbuf* imagePixbuf = imgToPixbuf->ConvertImageToPixbuf(image); ++ if (!imagePixbuf) ++ return NS_ERROR_FAILURE; ++ ++ rv = image->UnlockImagePixels(PR_FALSE); ++ if (NS_FAILED(rv)) ++ return rv; ++ ++ ShowAlert(imagePixbuf); ++ ++ g_object_unref(imagePixbuf); ++ ++ mLoadedFrame = PR_TRUE; ++ return NS_OK; ++} ++ ++nsresult ++nsAlertsIconListener::ShowAlert(GdkPixbuf* aPixbuf) ++{ ++ NotifyNotification* notify = notify_notification_new(mAlertTitle.get(), ++ mAlertText.get(), ++ NULL, NULL); ++ if (!notify) ++ return NS_ERROR_OUT_OF_MEMORY; ++ ++ if (aPixbuf) ++ notify_notification_set_icon_from_pixbuf(notify, aPixbuf); ++ ++ NS_ADDREF(this); ++ if (mAlertHasAction) { ++ // What we put as the label doesn't matter here, if the action ++ // string is "default" then that makes the entire bubble clickable ++ // rather than creating a button. ++ notify_notification_add_action(notify, "default", "Activate", ++ notify_action_cb, this, NULL); ++ } ++ ++ g_signal_connect(notify, "closed", G_CALLBACK(notify_closed_cb), this); ++ gboolean result = notify_notification_show(notify, NULL); ++ ++ return result ? NS_OK : NS_ERROR_FAILURE; ++} ++ ++nsresult ++nsAlertsIconListener::StartRequest(const nsAString & aImageUrl) ++{ ++ if (mIconRequest) { ++ // Another icon request is already in flight. Kill it. ++ mIconRequest->Cancel(NS_BINDING_ABORTED); ++ mIconRequest = nsnull; ++ } ++ ++ nsCOMPtr imageUri; ++ NS_NewURI(getter_AddRefs(imageUri), aImageUrl); ++ if (!imageUri) ++ return ShowAlert(NULL); ++ ++ nsCOMPtr il(do_GetService("@mozilla.org/image/loader;1")); ++ if (!il) ++ return ShowAlert(NULL); ++ ++ return il->LoadImage(imageUri, nsnull, nsnull, nsnull, this, ++ nsnull, nsIRequest::LOAD_NORMAL, nsnull, nsnull, ++ getter_AddRefs(mIconRequest)); ++} ++ ++void ++nsAlertsIconListener::SendCallback() ++{ ++ mAlertListener->Observe(NULL, "alertclickcallback", mAlertCookie.get()); ++} ++ ++void ++nsAlertsIconListener::SendClosed() ++{ ++ mAlertListener->Observe(NULL, "alertfinished", mAlertCookie.get()); ++} ++ ++nsresult ++nsAlertsIconListener::InitAlertAsync(const nsAString & aImageUrl, ++ const nsAString & aAlertTitle, ++ const nsAString & aAlertText, ++ PRBool aAlertTextClickable, ++ const nsAString & aAlertCookie, ++ nsIObserver * aAlertListener) ++{ ++ if (!notify_is_initted()) { ++ // Give the name of this application to libnotify ++ nsCOMPtr bundleService = ++ do_GetService(NS_STRINGBUNDLE_CONTRACTID); ++ ++ nsCAutoString appShortName; ++ if (bundleService) { ++ nsCOMPtr bundle; ++ bundleService->CreateBundle("chrome://branding/locale/brand.properties", ++ getter_AddRefs(bundle)); ++ nsAutoString appName; ++ ++ if (bundle) { ++ bundle->GetStringFromName(NS_LITERAL_STRING("brandShortName").get(), ++ getter_Copies(appName)); ++ appShortName = NS_ConvertUTF16toUTF8(appName); ++ } else { ++ NS_WARNING("brand.properties not present, using default application name"); ++ appShortName.AssignLiteral("Mozilla"); ++ } ++ } else { ++ appShortName.AssignLiteral("Mozilla"); ++ } ++ ++ if (!notify_init(appShortName.get())) ++ return NS_ERROR_FAILURE; ++ ++ GList *server_caps = notify_get_server_caps(); ++ if (server_caps) { ++ for (GList* cap = server_caps; cap != NULL; cap = cap->next) { ++ if (!strcmp((char*) cap->data, "actions")) { ++ gHasActions = PR_TRUE; ++ break; ++ } ++ } ++ g_list_foreach(server_caps, (GFunc)g_free, NULL); ++ g_list_free(server_caps); ++ } ++ } ++ ++ if (!gHasActions && aAlertTextClickable) ++ return NS_ERROR_FAILURE; // No good, fallback to XUL ++ ++ mAlertTitle = NS_ConvertUTF16toUTF8(aAlertTitle); ++ mAlertText = NS_ConvertUTF16toUTF8(aAlertText); ++ ++ mAlertHasAction = aAlertTextClickable; ++ ++ mAlertListener = aAlertListener; ++ mAlertCookie = aAlertCookie; ++ ++ return StartRequest(aImageUrl); ++} +diff -up /dev/null mozilla-1.9.1/toolkit/system/gnome/nsAlertsIconListener.h +--- /dev/null 2009-08-21 10:27:01.489538501 +0200 ++++ mozilla-1.9.1/toolkit/system/gnome/nsAlertsIconListener.h 2009-08-21 15:31:20.000000000 +0200 +@@ -0,0 +1,85 @@ ++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ ++/* ***** BEGIN LICENSE BLOCK ***** ++ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 ++ * ++ * The contents of this file are subject to the Mozilla Public License Version ++ * 1.1 (the "License"); you may not use this file except in compliance with ++ * the License. You may obtain a copy of the License at ++ * http://www.mozilla.org/MPL/ ++ * ++ * Software distributed under the License is distributed on an "AS IS" basis, ++ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License ++ * for the specific language governing rights and limitations under the ++ * License. ++ * ++ * The Original Code is mozilla.org code. ++ * ++ * The Initial Developer of the Original Code is ++ * Mozilla Corporation. ++ * Portions created by the Initial Developer are Copyright (C) 2008 ++ * the Initial Developer. All Rights Reserved. ++ * ++ * Contributor(s): ++ * ++ * Alternatively, the contents of this file may be used under the terms of ++ * either the GNU General Public License Version 2 or later (the "GPL"), or ++ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), ++ * in which case the provisions of the GPL or the LGPL are applicable instead ++ * of those above. If you wish to allow use of your version of this file only ++ * under the terms of either the GPL or the LGPL, and not to allow others to ++ * use your version of this file under the terms of the MPL, indicate your ++ * decision by deleting the provisions above and replace them with the notice ++ * and other provisions required by the GPL or the LGPL. If you do not delete ++ * the provisions above, a recipient may use your version of this file under ++ * the terms of any one of the MPL, the GPL or the LGPL. ++ * ++ * ***** END LICENSE BLOCK ***** */ ++ ++#ifndef nsAlertsIconListener_h__ ++#define nsAlertsIconListener_h__ ++ ++#include "nsCOMPtr.h" ++#include "imgIDecoderObserver.h" ++#include "nsStringAPI.h" ++#include "nsIObserver.h" ++ ++#include ++ ++class imgIRequest; ++ ++class nsAlertsIconListener : public imgIDecoderObserver ++{ ++public: ++ NS_DECL_ISUPPORTS ++ NS_DECL_IMGICONTAINEROBSERVER ++ NS_DECL_IMGIDECODEROBSERVER ++ ++ nsAlertsIconListener(); ++ virtual ~nsAlertsIconListener(); ++ ++ nsresult InitAlertAsync(const nsAString & aImageUrl, ++ const nsAString & aAlertTitle, ++ const nsAString & aAlertText, ++ PRBool aAlertTextClickable, ++ const nsAString & aAlertCookie, ++ nsIObserver * aAlertListener); ++ ++ void SendCallback(); ++ void SendClosed(); ++ ++protected: ++ nsCOMPtr mIconRequest; ++ nsCString mAlertTitle; ++ nsCString mAlertText; ++ ++ nsCOMPtr mAlertListener; ++ nsString mAlertCookie; ++ ++ PRPackedBool mLoadedFrame; ++ PRPackedBool mAlertHasAction; ++ ++ nsresult StartRequest(const nsAString & aImageUrl); ++ nsresult ShowAlert(GdkPixbuf* aPixbuf); ++}; ++ ++#endif +diff -up /dev/null mozilla-1.9.1/toolkit/system/gnome/nsAlertsService.cpp +--- /dev/null 2009-08-21 10:27:01.489538501 +0200 ++++ mozilla-1.9.1/toolkit/system/gnome/nsAlertsService.cpp 2009-08-21 15:31:20.000000000 +0200 +@@ -0,0 +1,73 @@ ++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode:nil; c-basic-offset: 2 -*- */ ++/* ***** BEGIN LICENSE BLOCK ***** ++ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 ++ * ++ * The contents of this file are subject to the Mozilla Public License Version ++ * 1.1 (the "License"); you may not use this file except in compliance with ++ * the License. You may obtain a copy of the License at ++ * http://www.mozilla.org/MPL/ ++ * ++ * Software distributed under the License is distributed on an "AS IS" basis, ++ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License ++ * for the specific language governing rights and limitations under the ++ * License. ++ * ++ * The Original Code is mozilla.org code. ++ * ++ * The Initial Developer of the Original Code is ++ * Mozilla Corporation. ++ * Portions created by the Initial Developer are Copyright (C) 2008 ++ * the Initial Developer. All Rights Reserved. ++ * ++ * Contributor(s): ++ * ++ * Alternatively, the contents of this file may be used under the terms of ++ * either the GNU General Public License Version 2 or later (the "GPL"), or ++ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), ++ * in which case the provisions of the GPL or the LGPL are applicable instead ++ * of those above. If you wish to allow use of your version of this file only ++ * under the terms of either the GPL or the LGPL, and not to allow others to ++ * use your version of this file under the terms of the MPL, indicate your ++ * decision by deleting the provisions above and replace them with the notice ++ * and other provisions required by the GPL or the LGPL. If you do not delete ++ * the provisions above, a recipient may use your version of this file under ++ * the terms of any one of the MPL, the GPL or the LGPL. ++ * ++ * ***** END LICENSE BLOCK ***** */ ++ ++#include "nsAlertsService.h" ++#include "nsAlertsIconListener.h" ++ ++NS_IMPL_THREADSAFE_ADDREF(nsAlertsService) ++NS_IMPL_THREADSAFE_RELEASE(nsAlertsService) ++ ++NS_INTERFACE_MAP_BEGIN(nsAlertsService) ++ NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIAlertsService) ++ NS_INTERFACE_MAP_ENTRY(nsIAlertsService) ++NS_INTERFACE_MAP_END_THREADSAFE ++ ++nsAlertsService::nsAlertsService() ++{} ++ ++nsAlertsService::~nsAlertsService() ++{} ++ ++nsresult ++nsAlertsService::Init() ++{ ++ return NS_OK; ++} ++ ++NS_IMETHODIMP nsAlertsService::ShowAlertNotification(const nsAString & aImageUrl, const nsAString & aAlertTitle, ++ const nsAString & aAlertText, PRBool aAlertTextClickable, ++ const nsAString & aAlertCookie, ++ nsIObserver * aAlertListener, ++ const nsAString & aAlertName) ++{ ++ nsCOMPtr alertListener = new nsAlertsIconListener(); ++ if (!alertListener) ++ return NS_ERROR_OUT_OF_MEMORY; ++ ++ return alertListener->InitAlertAsync(aImageUrl, aAlertTitle, aAlertText, aAlertTextClickable, ++ aAlertCookie, aAlertListener); ++} +diff -up /dev/null mozilla-1.9.1/toolkit/system/gnome/nsAlertsService.h +--- /dev/null 2009-08-21 10:27:01.489538501 +0200 ++++ mozilla-1.9.1/toolkit/system/gnome/nsAlertsService.h 2009-08-21 15:31:20.000000000 +0200 +@@ -0,0 +1,59 @@ ++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ ++/* ***** BEGIN LICENSE BLOCK ***** ++ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 ++ * ++ * The contents of this file are subject to the Mozilla Public License Version ++ * 1.1 (the "License"); you may not use this file except in compliance with ++ * the License. You may obtain a copy of the License at ++ * http://www.mozilla.org/MPL/ ++ * ++ * Software distributed under the License is distributed on an "AS IS" basis, ++ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License ++ * for the specific language governing rights and limitations under the ++ * License. ++ * ++ * The Original Code is mozilla.org code. ++ * ++ * The Initial Developer of the Original Code is ++ * Mozilla Corporation. ++ * Portions created by the Initial Developer are Copyright (C) 2008 ++ * the Initial Developer. All Rights Reserved. ++ * ++ * Contributor(s): ++ * ++ * Alternatively, the contents of this file may be used under the terms of ++ * either the GNU General Public License Version 2 or later (the "GPL"), or ++ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), ++ * in which case the provisions of the GPL or the LGPL are applicable instead ++ * of those above. If you wish to allow use of your version of this file only ++ * under the terms of either the GPL or the LGPL, and not to allow others to ++ * use your version of this file under the terms of the MPL, indicate your ++ * decision by deleting the provisions above and replace them with the notice ++ * and other provisions required by the GPL or the LGPL. If you do not delete ++ * the provisions above, a recipient may use your version of this file under ++ * the terms of any one of the MPL, the GPL or the LGPL. ++ * ++ * ***** END LICENSE BLOCK ***** */ ++ ++#ifndef nsAlertsService_h__ ++#define nsAlertsService_h__ ++ ++#include "nsIAlertsService.h" ++#include "nsCOMPtr.h" ++ ++class nsAlertsService : public nsIAlertsService ++{ ++public: ++ NS_DECL_NSIALERTSSERVICE ++ NS_DECL_ISUPPORTS ++ ++ nsAlertsService(); ++ virtual ~nsAlertsService(); ++ ++ nsresult Init(); ++ ++protected: ++ ++}; ++ ++#endif /* nsAlertsService_h__ */ +diff -up mozilla-1.9.1/toolkit/system/gnome/nsGnomeModule.cpp.libnotify mozilla-1.9.1/toolkit/system/gnome/nsGnomeModule.cpp +--- mozilla-1.9.1/toolkit/system/gnome/nsGnomeModule.cpp.libnotify 2009-07-30 17:30:33.000000000 +0200 ++++ mozilla-1.9.1/toolkit/system/gnome/nsGnomeModule.cpp 2009-08-21 15:31:20.000000000 +0200 +@@ -38,11 +38,20 @@ + + #include "nsGConfService.h" + #include "nsGnomeVFSService.h" ++#include "nsToolkitCompsCID.h" + #include "nsIGenericFactory.h" + ++#ifdef MOZ_ENABLE_LIBNOTIFY ++#include "nsAlertsService.h" ++#endif ++ + NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGConfService, Init) + NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGnomeVFSService, Init) + ++#ifdef MOZ_ENABLE_LIBNOTIFY ++NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsAlertsService, Init) ++#endif ++ + static const nsModuleComponentInfo components[] = { + { "GConf Service", + NS_GCONFSERVICE_CID, +@@ -51,7 +60,13 @@ static const nsModuleComponentInfo compo + { "GnomeVFS Service", + NS_GNOMEVFSSERVICE_CID, + NS_GNOMEVFSSERVICE_CONTRACTID, +- nsGnomeVFSServiceConstructor } ++ nsGnomeVFSServiceConstructor }, ++#ifdef MOZ_ENABLE_LIBNOTIFY ++ { "Gnome Alerts Service", ++ NS_SYSTEMALERTSSERVICE_CID, ++ NS_SYSTEMALERTSERVICE_CONTRACTID, ++ nsAlertsServiceConstructor }, ++#endif + }; + + NS_IMPL_NSGETMODULE(mozgnome, components) diff --git a/mozilla-ps-pdf-simplify-operators.patch b/mozilla-ps-pdf-simplify-operators.patch new file mode 100644 index 0000000..cab1341 --- /dev/null +++ b/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 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 mStream; diff --git a/sources b/sources new file mode 100644 index 0000000..d2ad1e7 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +876699d59db7419bacc03cae9576f5a1 xulrunner-1.9.1.15.source.tar.bz2 diff --git a/xulrunner-1.9.1-sparc-linux-sync_instruction_memory.patch b/xulrunner-1.9.1-sparc-linux-sync_instruction_memory.patch new file mode 100644 index 0000000..99f5689 --- /dev/null +++ b/xulrunner-1.9.1-sparc-linux-sync_instruction_memory.patch @@ -0,0 +1,24 @@ +diff -up xulrunner-1.9.1/mozilla-1.9.1/js/src/nanojit/Assembler.cpp.BAD xulrunner-1.9.1/mozilla-1.9.1/js/src/nanojit/Assembler.cpp +--- xulrunner-1.9.1/mozilla-1.9.1/js/src/nanojit/Assembler.cpp.BAD 2009-07-01 15:22:47.534707233 -0400 ++++ xulrunner-1.9.1/mozilla-1.9.1/js/src/nanojit/Assembler.cpp 2009-07-02 13:18:40.509279263 -0400 +@@ -50,8 +50,20 @@ extern "C" void __clear_cache(char *BEG, + #endif + + #ifdef AVMPLUS_SPARC ++#ifdef __linux__ ++void sync_instruction_memory(caddr_t v, u_int len) ++{ ++ caddr_t end = v + len; ++ caddr_t p = v; ++ while (p < end) { ++ asm("flush %0" : : "r" (p)); ++ p += 32; ++ } ++} ++#else + extern "C" void sync_instruction_memory(caddr_t v, u_int len); + #endif ++#endif + + namespace nanojit + { diff --git a/xulrunner-gtk-include.patch b/xulrunner-gtk-include.patch new file mode 100644 index 0000000..07f0066 --- /dev/null +++ b/xulrunner-gtk-include.patch @@ -0,0 +1,12 @@ +diff -up mozilla-1.9.1/widget/src/gtk2/nsNativeKeyBindings.cpp.gtk mozilla-1.9.1/widget/src/gtk2/nsNativeKeyBindings.cpp +--- mozilla-1.9.1/widget/src/gtk2/nsNativeKeyBindings.cpp.gtk 2009-07-15 14:23:24.000000000 +0200 ++++ mozilla-1.9.1/widget/src/gtk2/nsNativeKeyBindings.cpp 2009-07-15 14:23:29.000000000 +0200 +@@ -42,7 +42,7 @@ + #include "nsGtkKeyUtils.h" + #include "nsGUIEvent.h" + +-#include ++#include + #include + #include + #include diff --git a/xulrunner-mozconfig b/xulrunner-mozconfig new file mode 100644 index 0000000..aeab2c2 --- /dev/null +++ b/xulrunner-mozconfig @@ -0,0 +1,37 @@ +. $topsrcdir/xulrunner/config/mozconfig + +# --with-system-png is disabled because Mozilla requires APNG support in libpng +#ac_add_options --with-system-png + +ac_add_options --prefix="$PREFIX" +ac_add_options --libdir="$LIBDIR" +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 --enable-system-hunspell +ac_add_options --enable-system-sqlite +ac_add_options --enable-system-cairo +ac_add_options --with-pthreads +ac_add_options --disable-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-extensions=default,python/xpcom +ac_add_options --enable-libnotify + +export BUILD_OFFICIAL=1 +export MOZILLA_OFFICIAL=1 +mk_add_options BUILD_OFFICIAL=1 +mk_add_options MOZILLA_OFFICIAL=1 + diff --git a/xulrunner-redhat-default-prefs.js b/xulrunner-redhat-default-prefs.js new file mode 100644 index 0000000..425be0a --- /dev/null +++ b/xulrunner-redhat-default-prefs.js @@ -0,0 +1,10 @@ +pref("app.update.enabled", false); +pref("app.update.autoInstallEnabled", false); +pref("browser.display.use_system_colors", true); +pref("browser.link.open_external", 3); +pref("general.smoothScroll", true); +pref("general.useragent.vendor", "Fedora"); +pref("general.useragent.vendorSub", "RPM_VERREL"); +pref("intl.locale.matchOS", true); +pref("toolkit.networkmanager.disable", false); +pref("toolkit.storage.synchronous", 0); diff --git a/xulrunner-version.patch b/xulrunner-version.patch new file mode 100644 index 0000000..d08bde9 --- /dev/null +++ b/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="__RPM_VERSION_INTERNAL__" ++ + NO_PKG_FILES = \ + xulrunner-config \ + regchrome* \ diff --git a/xulrunner.1 b/xulrunner.1 new file mode 100644 index 0000000..2086325 --- /dev/null +++ b/xulrunner.1 @@ -0,0 +1,125 @@ +.TH FIREFOX 1 "August 07, 2001" firefox "Linux User's Manual" +.SH NAME +firefox \- a Web browser for X11 derived from the Mozilla browser + +.SH SYNOPSIS +.B firefox +[\fIOPTIONS\fR] [\fIURL\fR] + +.B firefox-bin +[\fIOPTIONS\fR] [\fIURL\fR] + +.SH DESCRIPTION +\fBMozilla Firefox\fR is an open-source web browser, designed for +standards compliance, performance and portability. + +.SH USAGE +\fBfirefox\fR is a simple shell script that will set up the +environment for the actual executable, \fBfirefox-bin\fR. + +.SH OPTIONS +A summary of the options supported by \fBfirefox\fR is included below. + +.SS "GTK options" +\fB\-\-gdk-debug=\fR\fIFLAGS\fR +Gdk debugging flags to set +.TP +\fB\-\-gdk-no-debug=\fR\fIFLAGS\fR +Gdk debugging flags to unset +.TP +\fB\-\-gtk-debug=\fR\fIFLAGS\fR +Gtk+ debugging flags to set +.TP +\fB\-\-gtk-no-debug=\fR\fIFLAGS\fR +Gtk+ debugging flags to unset +.TP +\fB\-\-gtk-module=\fR\fIMODULE\fR +Load an additional Gtk module + +.SS "X11 options" +.TP +.BI \-\-display= DISPLAY +X display to use +.TP +.B \--sync +Make X calls synchronous +.TP +.B \-\-no-xshm +Don't use X shared memory extension +.TP +.BI \-\-xim-preedit= STYLE +.TP +.BI \-\-xim-status= STYLE +.TP +.B \-\-g-fatal-warnings +Make all warnings fatal + +.SS "Firefox options" +.TP +\fB\-height\fR \fIvalue\fR +Set height of startup window to \fIvalue\fR. +.TP +.B \-h, \-help +Show summary of options. +.TP +.B \-installer +Start with 4.x migration window. +.TP +\fB\-width\fR \fIvalue\fR +Set width of startup window to \fIvalue\fR. +.TP +.B \-v, \-version +Print \fB/usr/bin/firefox-bin\fR version. +.TP +\fB\-CreateProfile\fR \fIprofile\fR +Create \fIprofile\fR. +.TP +\fB\-P\fR \fIprofile\fR +Start with \fIprofile\fR. +.TP +.B \-ProfileWizard +Start with profile wizard. +.TP +.B \-ProfileManager +Start with profile manager. +.TP +.B \-SelectProfile +Start with profile selection dialog. +.TP +\fB\-lang\fR \fIlang-region\fR +Start with \fIlang-region\fR resources. +.TP +\fB\-remote\fR \fIcommand\fR +Execute \fIcommand\fR in an already running Firefox process. For more info, +see: \fIhttp://www.mozilla.org/unix/remote.html\fR +.TP +.B \-splash +Enable splash screen. +.TP +.B \-jsconsole +Start with Javascript Console +.TP +\fB\-chrome\fR \fIurl\fR +Load the specified chrome. +.TP + +.SH FILES +\fI/usr/bin/firefox\fR - shell script wrapping +\fBfirefox\fR +.br +\fI/usr/lib/mozilla/firefox-bin\fR - \fBfirefox\fR +executable + +.SH VERSION +1.0 + +.SH BUGS +To report a bug, please visit \fIhttp://bugzilla.mozilla.org/\fR + +.SH "SEE ALSO" +.BR mozilla(1) + +.SH AUTHORS +.TP +.B The Mozilla Organization +.I http://www.mozilla.org/about.html diff --git a/xulrunner.sh.in b/xulrunner.sh.in new file mode 100644 index 0000000..b776138 --- /dev/null +++ b/xulrunner.sh.in @@ -0,0 +1,62 @@ +#!/bin/sh +# +# The contents of this file are subject to the Netscape Public +# License Version 1.1 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.mozilla.org/NPL/ +# +# Software distributed under the License is distributed on an "AS +# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or +# implied. See the License for the specific language governing +# rights and limitations under the License. +# +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is Netscape +# Communications Corporation. Portions created by Netscape are +# Copyright (C) 1998 Netscape Communications Corporation. All +# Rights Reserved. +# +# Contributor(s): +# + +## +## Usage: +## +## $ xulrunner +## +## This script is meant to run a xulrunner program from the xulrunner +## rpm installation. +## + +cmdname=`basename $0` + +## +## Variables +## +XUL_ARCH=$(uname -m) +case $XUL_ARCH in + x86_64 | ia64 | s390 ) + XUL_LIB_DIR="/usr/lib64" + SECONDARY_LIB_DIR="/usr/lib" + ;; + * ) + XUL_LIB_DIR="/usr/lib" + SECONDARY_LIB_DIR="/usr/lib64" + ;; +esac + +if [ ! -x $XUL_LIB_DIR/xulrunner-XULRUNNER_VERSION/xulrunner ]; then + if [ ! -x $SECONDARY_LIB_DIR/xulrunner-XULRUNNER_VERSION/xulrunner ]; then + echo "Error: $XUL_LIB_DIR/xulrunner-XULRUNNER_VERSION/xulrunner not found" + if [ -d $SECONDARY_LIB_DIR ]; then + echo " $SECONDARY_LIB_DIR/xulrunner-XULRUNNER_VERSION/xulrunner not found" + fi + exit 1 + fi + XUL_LIB_DIR="$SECONDARY_LIB_DIR" +fi +XUL_DIST_BIN="$XUL_LIB_DIR/xulrunner-XULRUNNER_VERSION" +XUL_PROGRAM="$XUL_DIST_BIN/xulrunner" + +exec $XUL_PROGRAM "$@" diff --git a/xulrunner.spec b/xulrunner.spec new file mode 100644 index 0000000..ffa215b --- /dev/null +++ b/xulrunner.spec @@ -0,0 +1,888 @@ +# Minimal required versions +%define nspr_version 4.8 +%define nss_version 3.12.3.99 +%define cairo_version 1.6.0 +%define freetype_version 2.1.9 +%define sqlite_version 3.6.16 +%define tarballdir mozilla-1.9.1 + +%define version_internal 1.9.1 +%define mozappdir %{_libdir}/%{name}-%{version_internal} + +# The actual sqlite version (see #480989): +%global sqlite_build_version %(pkg-config --silence-errors --modversion sqlite3 2>/dev/null || echo 65536) + +Summary: XUL Runtime for Gecko Applications +Name: xulrunner +Version: 1.9.1.15 +Release: 1%{?dist} +URL: http://developer.mozilla.org/En/XULRunner +License: MPLv1.1 or GPLv2+ or LGPLv2+ +Group: Applications/Internet +Source0: %{name}-%{version}.source.tar.bz2 +Source10: %{name}-mozconfig +Source12: %{name}-redhat-default-prefs.js +Source21: %{name}.sh.in +Source23: %{name}.1 + +# build patches +Patch0: xulrunner-version.patch +Patch2: mozilla-191-path.patch +Patch3: mozilla-jemalloc.patch +Patch4: mozilla-about-firefox-version.patch +Patch5: xulrunner-gtk-include.patch +Patch6: mozilla-libnotify.patch +Patch7: mozilla-516124.patch + +# Fedora specific patches +Patch10: mozilla-191-pkgconfig.patch + +# Upstream patches +Patch100: mozilla-ps-pdf-simplify-operators.patch +Patch101: xulrunner-1.9.1-sparc-linux-sync_instruction_memory.patch + +# --------------------------------------------------- + +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) +BuildRequires: nspr-devel >= %{nspr_version} +BuildRequires: nss-devel >= %{nss_version} +BuildRequires: cairo-devel >= %{cairo_version} +BuildRequires: libpng-devel +BuildRequires: libjpeg-devel +BuildRequires: zip +BuildRequires: bzip2-devel +BuildRequires: zlib-devel +BuildRequires: libIDL-devel +BuildRequires: gtk2-devel +BuildRequires: gnome-vfs2-devel +BuildRequires: libgnome-devel +BuildRequires: libgnomeui-devel +BuildRequires: krb5-devel +BuildRequires: pango-devel +BuildRequires: freetype-devel >= %{freetype_version} +BuildRequires: libXt-devel +BuildRequires: libXrender-devel +BuildRequires: hunspell-devel +BuildRequires: sqlite-devel >= %{sqlite_version} +BuildRequires: startup-notification-devel +BuildRequires: alsa-lib-devel +BuildRequires: libnotify-devel +BuildRequires: autoconf213 + +Requires: mozilla-filesystem +Requires: nspr >= %{nspr_version} +Requires: nss >= %{nss_version} +Requires: sqlite >= %{sqlite_build_version} +Provides: gecko-libs = %{version} + +%description +XULRunner provides the XUL Runtime environment for Gecko applications. + +%package devel +Summary: Development files for Gecko +Group: Development/Libraries +Obsoletes: mozilla-devel < 1.9 +Obsoletes: firefox-devel < 2.1 +Provides: gecko-devel = %{version} + +Requires: xulrunner = %{version}-%{release} +Requires: nspr-devel >= %{nspr_version} +Requires: nss-devel >= %{nss_version} +Requires: cairo-devel >= %{cairo_version} +Requires: libjpeg-devel +Requires: zip +Requires: bzip2-devel +Requires: zlib-devel +Requires: libIDL-devel +Requires: gtk2-devel +Requires: gnome-vfs2-devel +Requires: libgnome-devel +Requires: libgnomeui-devel +Requires: krb5-devel +Requires: pango-devel +Requires: freetype-devel >= %{freetype_version} +Requires: libXt-devel +Requires: libXrender-devel +Requires: hunspell-devel +Requires: sqlite-devel +Requires: startup-notification-devel +Requires: alsa-lib-devel +Requires: libnotify-devel + +%description devel +Gecko development files. + +%package devel-unstable +Summary: Development files for Gecko, which are not considered stable +Group: Development/Libraries +Requires: xulrunner-devel = %{version}-%{release} +Provides: gecko-devel-unstable = %{version} + +%description devel-unstable +Unstable files for use with development of Gecko applications. These headers +are not frozen and APIs can change at any time, so should not be relied on. + +%package python +Summary: Files needed to run Gecko applications written in python. +Group: Applications/Internet +BuildRequires: python-devel +Requires: gecko-libs = %{version}-%{release} +Provides: pyxpcom = %{version}-%{release} +Provides: gecko-python = %{version}-%{release} + +%description python +Files needed to run Gecko applications written in python. + +%package python-devel +Summary: Development files for building Gecko applications written in python. +Group: Development/Libraries +Requires: gecko-devel = %{version}-%{release} +Provides: pyxpcom-devel = %{version}-%{release} +Provides: gecko-python-devel = %{version}-%{release} + +%description python-devel +Development files for building Gecko applications written in python. + +#--------------------------------------------------------------------- + +%prep +%setup -q -c +cd %{tarballdir} + +sed -e 's/__RPM_VERSION_INTERNAL__/%{version_internal}/' %{P:%%PATCH0} \ + > version.patch +%{__patch} -p1 -b --suffix .version --fuzz=0 < version.patch + + +%patch2 -p1 -b .path +%patch3 -p1 -b .jemalloc +%patch4 -p1 -b .about-firefox-version +%patch5 -p1 -b .gtk-include +%patch6 -p1 -b .libnotify +%patch7 -p1 -b .516124 + +%patch10 -p1 -b .pk + +%patch100 -p1 -b .ps-pdf-simplify-operators +%patch101 -p2 -b .sparc-linux-sync_instruction_memory + +%{__rm} -f .mozconfig +%{__cp} %{SOURCE10} .mozconfig + +# Upstream bug filed without resolution +# for now make sure jit is not enabled on sparc64 +%ifarch sparc64 +echo "ac_add_options --disable-jit" >> .mozconfig +%endif + +#--------------------------------------------------------------------- + +%build +# Do not proceed with build if the sqlite require would be broken: +# make sure the minimum requirement is non-empty, ... +sqlite_version=$(expr "%{sqlite_version}" : '\([0-9]*\.\)[0-9]*\.') || exit 1 +# ... and that major number of the computed build-time version matches: +case "%{sqlite_build_version}" in + "$sqlite_version"*) ;; + *) exit 1 ;; +esac + +cd %{tarballdir} + +INTERNAL_GECKO=%{version_internal} +MOZ_APP_DIR=%{_libdir}/%{name}-${INTERNAL_GECKO} + +# Mozilla builds with -Wall with exception of a few warnings which show up +# everywhere in the code; so, don't override that. +MOZ_OPT_FLAGS=$(echo $RPM_OPT_FLAGS | %{__sed} -e 's/-Wall//') +export CFLAGS=$MOZ_OPT_FLAGS +export CXXFLAGS=$MOZ_OPT_FLAGS + +export PREFIX='%{_prefix}' +export LIBDIR='%{_libdir}' + +MOZ_SMP_FLAGS=-j1 +%ifnarch ppc ppc64 s390 s390x +[ -z "$RPM_BUILD_NCPUS" ] && \ + RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`" +[ "$RPM_BUILD_NCPUS" -gt 1 ] && MOZ_SMP_FLAGS=-j2 +%endif + +export LDFLAGS="-Wl,-rpath,${MOZ_APP_DIR}" +make -f client.mk build STRIP="/bin/true" MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS" + +#--------------------------------------------------------------------- + +%install +cd %{tarballdir} +%{__rm} -rf $RPM_BUILD_ROOT + +INTERNAL_GECKO=%{version_internal} + +INTERNAL_APP_NAME=%{name}-${INTERNAL_GECKO} +MOZ_APP_DIR=%{_libdir}/${INTERNAL_APP_NAME} + +INTERNAL_APP_SDK_NAME=%{name}-sdk-${INTERNAL_GECKO} +MOZ_APP_SDK_DIR=%{_libdir}/${INTERNAL_APP_SDK_NAME} + +DESTDIR=$RPM_BUILD_ROOT make install + +%{__mkdir_p} $RPM_BUILD_ROOT/${MOZ_APP_DIR} \ + $RPM_BUILD_ROOT%{_datadir}/idl/${INTERNAL_APP_SDK_NAME} \ + $RPM_BUILD_ROOT%{_includedir}/${INTERNAL_APP_SDK_NAME} +%{__install} -p dist/sdk/bin/regxpcom $RPM_BUILD_ROOT/$MOZ_APP_DIR + +%{__mkdir_p} $RPM_BUILD_ROOT{%{_libdir},%{_bindir},%{_datadir}/applications} + +# set up our default preferences +%{__cat} %{SOURCE12} | %{__sed} -e 's,RPM_VERREL,%{version}-%{release},g' > rh-default-prefs +%{__install} -p -D -m 644 rh-default-prefs $RPM_BUILD_ROOT/${MOZ_APP_DIR}/defaults/pref/all-redhat.js +%{__rm} rh-default-prefs + +# Start script install +%{__rm} -rf $RPM_BUILD_ROOT%{_bindir}/%{name} +%{__cat} %{SOURCE21} | %{__sed} -e 's,XULRUNNER_VERSION,%{version_internal},g' > \ + $RPM_BUILD_ROOT%{_bindir}/%{name} +%{__chmod} 755 $RPM_BUILD_ROOT%{_bindir}/%{name} + +%{__rm} -f $RPM_BUILD_ROOT${MOZ_APP_DIR}/%{name}-config + +cd $RPM_BUILD_ROOT${MOZ_APP_DIR}/chrome +find . -name "*" -type d -maxdepth 1 -exec %{__rm} -rf {} \; +cd - + +# Prepare our devel package +%{__mkdir_p} $RPM_BUILD_ROOT/%{_includedir}/${INTERNAL_APP_SDK_NAME} +%{__mkdir_p} $RPM_BUILD_ROOT/%{_datadir}/idl/${INTERNAL_APP_SDK_NAME} +%{__mkdir_p} $RPM_BUILD_ROOT/%{_libdir}/pkgconfig + +%{__cp} -rL dist/include/* \ + $RPM_BUILD_ROOT/%{_includedir}/${INTERNAL_APP_SDK_NAME} + +# Copy mozilla-config to stable include dir +%{__cp} dist/include/mozilla-config.h \ + $RPM_BUILD_ROOT/%{_includedir}/${INTERNAL_APP_SDK_NAME}/stable + +# Fix multilib devel conflicts... +%ifarch x86_64 ia64 s390x ppc64 sparc64 +%define mozbits 64 +%else +%define mozbits 32 +%endif + +function install_file() { +genheader=$* +mv ${genheader}.h ${genheader}%{mozbits}.h +cat > ${genheader}.h << EOF +/* This file exists to fix multilib conflicts */ +#if defined(__x86_64__) || defined(__ia64__) || defined(__s390x__) || defined(__powerpc64__) || (defined(__sparc__) && defined(__arch64__)) +#include "${genheader}64.h" +#else +#include "${genheader}32.h" +#endif +EOF +} + +pushd $RPM_BUILD_ROOT/%{_includedir}/${INTERNAL_APP_SDK_NAME} +install_file "mozilla-config" +popd + +pushd $RPM_BUILD_ROOT/%{_includedir}/${INTERNAL_APP_SDK_NAME}/stable +install_file "mozilla-config" +popd + +pushd $RPM_BUILD_ROOT/%{_includedir}/${INTERNAL_APP_SDK_NAME}/unstable +install_file "mozilla-config" +popd + +pushd $RPM_BUILD_ROOT/%{_includedir}/${INTERNAL_APP_SDK_NAME}/js +install_file "jsautocfg" +popd + +pushd $RPM_BUILD_ROOT/%{_includedir}/${INTERNAL_APP_SDK_NAME}/unstable +install_file "jsautocfg" +popd + +pushd $RPM_BUILD_ROOT/%{_includedir}/${INTERNAL_APP_SDK_NAME}/js +install_file "js-config" +popd + +%{__install} -p -c -m 755 dist/bin/xpcshell \ + dist/bin/xpidl \ + dist/bin/xpt_dump \ + dist/bin/xpt_link \ + $RPM_BUILD_ROOT/${MOZ_APP_DIR} + +%{__rm} -rf $RPM_BUILD_ROOT/%{_includedir}/${INTERNAL_APP_NAME} +%{__rm} -rf $RPM_BUILD_ROOT/%{_datadir}/idl/${INTERNAL_APP_NAME} + +%{__rm} -rf $RPM_BUILD_ROOT${MOZ_APP_SDK_DIR}/include +ln -s %{_includedir}/${INTERNAL_APP_SDK_NAME}/unstable \ + $RPM_BUILD_ROOT${MOZ_APP_SDK_DIR}/include +%{__rm} -rf $RPM_BUILD_ROOT${MOZ_APP_SDK_DIR}/idl +ln -s %{_datadir}/idl/${INTERNAL_APP_SDK_NAME}/unstable \ + $RPM_BUILD_ROOT${MOZ_APP_SDK_DIR}/idl + +%{__rm} -rf $RPM_BUILD_ROOT${MOZ_APP_SDK_DIR}/sdk/include +ln -s %{_includedir}/${INTERNAL_APP_SDK_NAME}/stable \ + $RPM_BUILD_ROOT${MOZ_APP_SDK_DIR}/sdk/include +%{__rm} -rf $RPM_BUILD_ROOT${MOZ_APP_SDK_DIR}/sdk/idl +ln -s %{_datadir}/idl/${INTERNAL_APP_SDK_NAME}/stable \ + $RPM_BUILD_ROOT${MOZ_APP_SDK_DIR}/sdk/idl + +find $RPM_BUILD_ROOT/%{_includedir} -type f -name "*.h" | xargs chmod 644 +find $RPM_BUILD_ROOT/%{_datadir}/idl -type f -name "*.idl" | xargs chmod 644 + +%{__rm} -rf $RPM_BUILD_ROOT${MOZ_APP_SDK_DIR}/sdk/lib/*.so +pushd $RPM_BUILD_ROOT${MOZ_APP_DIR} +for i in *.so; do + ln -s ${MOZ_APP_DIR}/$i $RPM_BUILD_ROOT${MOZ_APP_SDK_DIR}/sdk/lib/$i +done +popd + +# GRE stuff +%ifarch x86_64 ia64 ppc64 s390x sparc64 +%define gre_conf_file gre64.conf +%else +%define gre_conf_file gre.conf +%endif + +MOZILLA_GECKO_VERSION=`./config/milestone.pl --topsrcdir=.` +%{__mv} $RPM_BUILD_ROOT/etc/gre.d/$MOZILLA_GECKO_VERSION".system.conf" \ + $RPM_BUILD_ROOT/etc/gre.d/%{gre_conf_file} +chmod 644 $RPM_BUILD_ROOT/etc/gre.d/%{gre_conf_file} + +# Library path +%ifarch x86_64 ia64 ppc64 s390x sparc64 +%define ld_conf_file xulrunner-64.conf +%else +%define ld_conf_file xulrunner-32.conf +%endif + +%{__mkdir_p} $RPM_BUILD_ROOT/etc/ld.so.conf.d +%{__cat} > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{ld_conf_file} << EOF +${MOZ_APP_DIR} +EOF + +# Copy over the LICENSE +%{__install} -p -c -m 644 LICENSE $RPM_BUILD_ROOT${MOZ_APP_DIR} + +# Use the system hunspell dictionaries +%{__rm} -rf ${RPM_BUILD_ROOT}${MOZ_APP_DIR}/dictionaries +ln -s %{_datadir}/myspell ${RPM_BUILD_ROOT}${MOZ_APP_DIR}/dictionaries + +# ghost files +%{__mkdir_p} $RPM_BUILD_ROOT${MOZ_APP_DIR}/components +touch $RPM_BUILD_ROOT${MOZ_APP_DIR}/components/compreg.dat +touch $RPM_BUILD_ROOT${MOZ_APP_DIR}/components/xpti.dat + +#--------------------------------------------------------------------- + +%clean +%{__rm} -rf $RPM_BUILD_ROOT + +#--------------------------------------------------------------------- + +%post +/sbin/ldconfig + +%postun +/sbin/ldconfig + +%preun +# is it a final removal? +if [ $1 -eq 0 ]; then + %{__rm} -rf ${MOZ_APP_DIR}/components +fi + +%files +%defattr(-,root,root,-) +%{_bindir}/xulrunner +%dir /etc/gre.d +/etc/gre.d/%{gre_conf_file} +%dir %{mozappdir} +%doc %attr(644, root, root) %{mozappdir}/LICENSE +%doc %attr(644, root, root) %{mozappdir}/README.txt +%{mozappdir}/chrome +%{mozappdir}/dictionaries +%dir %{mozappdir}/components +%ghost %{mozappdir}/components/compreg.dat +%ghost %{mozappdir}/components/xpti.dat +%{mozappdir}/components/*.so +%{mozappdir}/components/*.xpt +%exclude %{mozappdir}/components/libpyloader.so +%attr(644, root, root) %{mozappdir}/components/*.js +%{mozappdir}/defaults +%{mozappdir}/greprefs +%dir %{mozappdir}/icons +%attr(644, root, root) %{mozappdir}/icons/* +%{mozappdir}/modules +%{mozappdir}/plugins +%{mozappdir}/res +%{mozappdir}/*.so +%{mozappdir}/mozilla-xremote-client +%{mozappdir}/run-mozilla.sh +%{mozappdir}/regxpcom +%{mozappdir}/xulrunner +%{mozappdir}/xulrunner-bin +%{mozappdir}/xulrunner-stub +%{mozappdir}/platform.ini +%{mozappdir}/dependentlibs.list +%{_sysconfdir}/ld.so.conf.d/xulrunner*.conf + +# XXX See if these are needed still +%{mozappdir}/updater* + +%exclude %{mozappdir}/update.locale + +%files devel +%defattr(-,root,root,-) +%dir %{_datadir}/idl/%{name}*%{version_internal} +%{_datadir}/idl/%{name}*%{version_internal}/stable +%{_includedir}/%{name}*%{version_internal} +%exclude %{_includedir}/%{name}*%{version_internal}/unstable +%exclude %{_includedir}/%{name}*%{version_internal}/pyxpcom +%dir %{_libdir}/%{name}-sdk-* +%dir %{_libdir}/%{name}-sdk-*/sdk +%{mozappdir}/xpcshell +%{mozappdir}/xpidl +%{mozappdir}/xpt_dump +%{mozappdir}/xpt_link +%{_libdir}/%{name}-sdk-*/*.h +%{_libdir}/%{name}-sdk-*/sdk/* +%exclude %{_libdir}/%{name}-sdk-%{version_internal}/sdk/lib/libpyxpcom.so +%exclude %{_libdir}/pkgconfig/*unstable*.pc +%exclude %{_libdir}/pkgconfig/*gtkmozembed*.pc +%{_libdir}/pkgconfig/*.pc + +%files devel-unstable +%defattr(-,root,root,-) +%{_datadir}/idl/%{name}*%{version_internal}/unstable +%{_includedir}/%{name}*%{version_internal}/unstable +%dir %{_libdir}/%{name}-sdk-* +%{_libdir}/%{name}-sdk-*/* +%exclude %{_libdir}/%{name}-sdk-*/*.h +%exclude %{_libdir}/%{name}-sdk-*/sdk +%{_libdir}/pkgconfig/*unstable*.pc +%{_libdir}/pkgconfig/*gtkmozembed*.pc + +%files python +%{mozappdir}/components/pyabout.py* +%{mozappdir}/components/libpyloader.so +%{mozappdir}/python + +%files python-devel +%{_includedir}/%{name}*%{version_internal}/pyxpcom +%{_libdir}/%{name}-sdk-%{version_internal}/sdk/lib/libpyxpcom.so + +#--------------------------------------------------------------------- + +%changelog +* Wed Oct 27 2010 Martin Stransky - 1.9.1.15-1 +- Update to 1.9.1.15 + +* Tue Oct 19 2010 Jan Horak - 1.9.1.14-1 +- Update to 1.9.1.14 + +* Mon Sep 6 2010 Jan Horak - 1.9.1.12-1 +- Update to 1.9.1.12 + +* Fri Jul 23 2010 Christopher Aillon - 1.9.1.11-2 +- Add patch for mozbz#575836 (1.9.1.12) + +* Tue Jul 20 2010 Jan Horak - 1.9.1.11-1 +- Update to 1.9.1.11 + +* Tue Jun 22 2010 Jan Horak - 1.9.1.10-1 +- Update to 1.9.1.10 + +* Mon May 17 2010 Martin Stransky - 1.9.1.9-3 +- Added fix for mozbz#499295 + +* Mon May 10 2010 Martin Stransky - 1.9.1.9-2 +- Added fix for mozbz#516124 + +* Tue Mar 30 2010 Jan Horak - 1.9.1.9-1 +- Update to 1.9.1.9 + +* Wed Mar 24 2010 Dennis Gilmore - 1.9.1.8-2.1 +- fix sparc arch multilib +- dont try and build nanojit on sparc64 + +* Wed Feb 17 2010 Martin Stransky - 1.9.1.8-2 +- Added fix for #564184 - xulrunner-devel multilib conflict + +* Tue Feb 16 2010 Jan Horak - 1.9.1.8-1 +- Update to 1.9.1.8 + +* Thu Jan 7 2010 Martin Stransky - 1.9.1.6-2 +- Added fix for #480989 + +* Wed Dec 16 2009 Jan Horak - 1.9.1.6-1 +- Update to 1.9.1.6 + +* Thu Nov 5 2009 Jan Horak - 1.9.1.5-1 +- Update to 1.9.1.5 + +* Mon Oct 26 2009 Jan Horak - 1.9.1.4-1 +- Update to 1.9.1.4 + +* Mon Sep 7 2009 Jan Horak - 1.9.1.3-1 +- Update to 1.9.1.3 + +* Fri Aug 21 2009 Jan Horak - 1.9.1.2-4 +- Added libnotify support + +* Wed Aug 12 2009 Martin Stransky 1.9.1.2-3 +- Added fix from #516118 - Headers not C89 + +* Mon Aug 6 2009 Martin Stransky 1.9.1.2-2 +- Rebuilt + +* Mon Aug 3 2009 Martin Stransky 1.9.1.2-1 +- Update to 1.9.1.2 + +* Mon Jul 27 2009 Fedora Release Engineering - 1.9.1.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Fri Jul 17 2009 Christopher Aillon - 1.9.1.1-1 +- Update to 1.9.1.1 + +* Mon Jul 13 2009 Jan Horak - 1.9.1-3 +- Fixed wrong version of Firefox when loading 'about:' as location +- Added patch to compile against latest GTK + +* Tue Jun 30 2009 Yanko Kaneti - 1.9.1-2 +- Build using system hunspell + +* Tue Jun 30 2009 Christopher Aillon 1.9.1-1 +- Update to 1.9.1 final release + +* Wed Jun 24 2009 Martin Stransky 1.9.1-0.23 +- Rebuilt because of gcc update (#506952) + +* Thu Jun 18 2009 Martin Stransky 1.9.1-0.22 +- Backed out last change, it does not work inside mock (koji) + +* Tue Jun 16 2009 Stepan Kasal 1.9.1-0.21 +- require sqlite of version >= what was used at buildtime (#480989) +- in devel subpackage, drop version from sqlite-devel require; that's + handled indirectly through the versioned require in main package + +* Mon Apr 27 2009 Christopher Aillon 1.9.1-0.20 +- 1.9.1 beta 4 + +* Fri Mar 27 2009 Christopher Aillon 1.9.1-0.11 +- Add patches for MFSA-2009-12, MFSA-2009-13 + +* Fri Mar 13 2009 Christopher Aillon 1.9.1-0.10 +- 1.9.1 beta 3 + +* Fri Feb 27 2009 Martin Stransky 1.9.1-0.9 +- Build fix for pango 1.23 +- Misc. build fixes + +* Thu Feb 26 2009 Fedora Release Engineering - 1.9.1-0.8.beta2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Jan 28 2009 Christopher Aillon 1.9.1-0.7 +- Re-enable NM by default + +* Wed Jan 7 2009 Martin Stransky 1.9.1-0.6 +- Copied mozilla-config.h to stable include dir (#478445) + +* Mon Dec 22 2008 Christopher Aillon 1.9.1-0.5 +- Typo fix + +* Sat Dec 20 2008 Christopher Aillon 1.9.1-0.4 +- 1.9.1 beta 2 + +* Tue Dec 9 2008 Christopher Aillon 1.9.1-0.3 +- Mark this as a pre-release + +* Tue Dec 9 2008 Christopher Aillon 1.9.1-0.2 +- Add needed -devel requires to the -devel package + +* Thu Dec 4 2008 Christopher Aillon 1.9.1-0.1 +- 1.9.1 beta 1 + +* Wed Nov 12 2008 Christopher Aillon 1.9.0.4-1 +- Update to 1.9.0.4 + +* Mon Oct 27 2008 Christopher Aillon 1.9.0.2-5 +- Password manager fixes from upstream + +* Tue Oct 7 2008 Marco Pesenti Gritti 1.9.0.2-4 +- Add missing dependency on python-devel + +* Sun Oct 5 2008 Christopher Aillon 1.9.0.2-3 +- Enable PyXPCOM + +* Thu Sep 25 2008 Martin Stransky 1.9.0.2-2 +- Build with system cairo (#463341) + +* Tue Sep 23 2008 Christopher Aillon 1.9.0.2-1 +- Update to 1.9.0.2 + +* Wed Jul 23 2008 Christopher Aillon 1.9.0.1-2 +- Disable system hunspell for now as it's causing some crashes (447444) + +* Wed Jul 16 2008 Christopher Aillon 1.9.0.1-1 +- Update to 1.9.0.1 + +* Tue Jun 17 2008 Christopher Aillon 1.9-1 +- Update to 1.9 final + +* Thu May 29 2008 Christopher Aillon 1.9-0.63 +- Simplify PS/PDF operators + +* Thu May 22 2008 Christopher Aillon 1.9-0.62 +- Upstream patch to fsync() less + +* Thu May 08 2008 Colin Walters 1.9-0.61 +- Ensure we enable startup notification; add BR and modify config + (bug #445543) + +* Wed Apr 30 2008 Christopher Aillon 1.9-0.60 +- Some files moved to mozilla-filesystem; kill them and add the Req + +* Mon Apr 28 2008 Christopher Aillon 1.9-0.59 +- Clean up the %%files list and get rid of the executable bit on some files + +* Sat Apr 26 2008 Christopher Aillon 1.9-0.58 +- Fix font scaling + +* Fri Apr 25 2008 Martin Stransky 1.9-0.57 +- Enabled phishing protection (#443403) + +* Wed Apr 23 2008 Martin Stransky 1.9-0.56 +- Changed "__ppc64__" to "__powerpc64__", + "__ppc64__" doesn't work anymore +- Added fix for #443725 - Critical hanging bug with fix + available upstream (mozbz#429903) + +* Fri Apr 18 2008 Martin Stransky 1.9-0.55 +- Fixed multilib issues, added starting script instead of a symlink + to binary (#436393) + +* Sat Apr 12 2008 Christopher Aillon 1.9-0.54 +- Add upstream patches for dpi, toolbar buttons, and invalid keys +- Re-enable system cairo + +* Mon Apr 7 2008 Christopher Aillon 1.9-0.53 +- Spec cleanups + +* Wed Apr 2 2008 Christopher Aillon 1.9-0.52 +- Beta 5 + +* Mon Mar 31 2008 Christopher Aillon 1.9-0.51 +- Beta 5 RC2 + +* Thu Mar 27 2008 Christopher Aillon 1.9-0.50 +- Update to latest trunk (2008-03-27) + +* Wed Mar 26 2008 Christopher Aillon 1.9-0.49 +- Update to latest trunk (2008-03-26) + +* Tue Mar 25 2008 Christopher Aillon 1.9-0.48 +- Update to latest trunk (2008-03-25) + +* Mon Mar 24 2008 Christopher Aillon 1.9-0.47 +- Update to latest trunk (2008-03-24) + +* Thu Mar 20 2008 Christopher Aillon 1.9-0.46 +- Update to latest trunk (2008-03-20) + +* Mon Mar 17 2008 Christopher Aillon 1.9-0.45 +- Update to latest trunk (2008-03-17) + +* Mon Mar 17 2008 Christopher Aillon 1.9-0.44 +- Revert to trunk from the 15th to fix crashes on HTTPS sites + +* Sun Mar 16 2008 Christopher Aillon 1.9-0.43 +- Update to latest trunk (2008-03-16) +- Add patch to negate a11y slowdown on some pages (#431162) + +* Sat Mar 15 2008 Christopher Aillon 1.9-0.42 +- Update to latest trunk (2008-03-15) + +* Sat Mar 15 2008 Christopher Aillon 1.9-0.41 +- Avoid conflicts between gecko debuginfo packages + +* Wed Mar 12 2008 Christopher Aillon 1.9-0.40 +- Update to latest trunk (2008-03-12) + +* Tue Mar 11 2008 Christopher Aillon 1.9-0.39 +- Update to latest trunk (2008-03-11) + +* Mon Mar 10 2008 Christopher Aillon 1.9-0.38 +- Update to latest trunk (2008-03-10) + +* Sun Mar 9 2008 Christopher Aillon 1.9-0.37 +- Update to latest trunk (2008-03-09) + +* Fri Mar 7 2008 Christopher Aillon 1.9-0.beta4.36 +- Update to latest trunk (2008-03-07) + +* Thu Mar 6 2008 Christopher Aillon 1.9-0.beta4.35 +- Update to latest trunk (2008-03-06) + +* Tue Mar 4 2008 Christopher Aillon 1.9-0.beta4.34 +- Update to latest trunk (2008-03-04) + +* Sun Mar 2 2008 Christopher Aillon 1.9-0.beta3.33 +- Update to latest trunk (2008-03-02) + +* Sat Mar 1 2008 Christopher Aillon 1.9-0.beta3.32 +- Update to latest trunk (2008-03-01) + +* Fri Feb 29 2008 Christopher Aillon 1.9-0.beta3.31 +- Update to latest trunk (2008-02-29) + +* Thu Feb 28 2008 Christopher Aillon 1.9-0.beta3.30 +- Update to latest trunk (2008-02-28) + +* Wed Feb 27 2008 Christopher Aillon 1.9-0.beta3.29 +- Update to latest trunk (2008-02-27) + +* Tue Feb 26 2008 Christopher Aillon 1.9-0.beta3.28 +- Update to latest trunk (2008-02-26) + +* Sat Feb 23 2008 Christopher Aillon 1.9-0.beta3.27 +- Update to latest trunk (2008-02-23) + +* Fri Feb 22 2008 Christopher Aillon 1.9-0.beta3.26 +- Update to latest trunk (2008-02-22) + +* Thu Feb 21 2008 Christopher Aillon 1.9-0.beta3.25 +- Update to latest trunk (2008-02-21) + +* Wed Feb 20 2008 Christopher Aillon 1.9-0.beta3.24 +- Update to latest trunk (2008-02-20) + +* Sun Feb 17 2008 Christopher Aillon 1.9-0.beta3.23 +- Update to latest trunk (2008-02-17) + +* Fri Feb 15 2008 Christopher Aillon 1.9-0.beta3.22 +- Update to latest trunk (2008-02-15) + +* Thu Feb 14 2008 Christopher Aillon 1.9-0.beta3.21 +- Update to latest trunk (2008-02-14) +- Use system hunspell + +* Mon Feb 11 2008 Christopher Aillon 1.9-0.beta2.19 +- Update to latest trunk (2008-02-11) + +* Mon Feb 11 2008 Adam Jackson 1.9-0.beta2.19 +- STRIP="/bin/true" on the %%make line so xulrunner-debuginfo contains, + you know, debuginfo. + +* Sun Feb 10 2008 Christopher Aillon 1.9-0.beta2.18 +- Update to latest trunk (2008-02-10) + +* Sat Feb 9 2008 Christopher Aillon 1.9-0.beta2.17 +- Update to latest trunk (2008-02-09) + +* Wed Feb 6 2008 Christopher Aillon 1.9-0.beta2.16 +- Update to latest trunk (2008-02-06) + +* Tue Jan 29 2008 Christopher Aillon 1.9-0.beta2.15 +- Update to latest trunk (2008-01-30) + +* Wed Jan 25 2008 Martin Stransky 1.9-0.beta2.14 +- rebuild agains new nss +- enabled gnome vfs + +* Wed Jan 23 2008 Martin Stransky 1.9-0.beta2.13 +- fixed stable pkg-config files (#429654) +- removed sqlite patch + +* Mon Jan 21 2008 Christopher Aillon 1.9-0.beta2.12 +- Update to latest trunk (2008-01-21) + +* Tue Jan 15 2008 Christopher Aillon 1.9-0.beta2.11 +- Update to latest trunk (2008-01-15) +- Now with system extensions directory support + +* Sat Jan 13 2008 Christopher Aillon 1.9-0.beta2.10 +- Update to latest trunk (2008-01-13) +- Use CFLAGS instead of configure arguments +- Random cleanups: BuildRequires, scriptlets, prefs, etc. + +* Sat Jan 12 2008 Christopher Aillon 1.9-0.beta2.9 +- Provide gecko-devel-unstable as well + +* Wed Jan 9 2008 Martin Stransky 1.9-0.beta2.8 +- divided devel package to devel and devel-unstable + +* Mon Jan 7 2008 Martin Stransky 1.9-0.beta2.7 +- removed fedora specific pkg-config files +- updated to the latest trunk (2008-01-07) +- removed unnecessary patches +- fixed idl dir (#427965) + +* Thu Jan 3 2008 Christopher Aillon 1.9-0.beta2.6 +- Re-enable camellia256 support now that NSS supports it + +* Thu Jan 3 2008 Martin Stransky 1.9-0.beta2.5 +- updated to the latest trunk (2008-01-03) + +* Mon Dec 24 2007 Christopher Aillon 1.9-0.beta2.4 +- Don't Provide webclient (xulrunner is not itself a webclient) +- Don't Obsolete old firefox, only firefox-devel +- Kill legacy obsoletes (phoenix, etc) that were never in rawhide + +* Thu Dec 21 2007 Martin Stransky 1.9-0.beta2.3 +- added java and plugin subdirs to plugin includes + +* Thu Dec 20 2007 Martin Stransky 1.9-0.beta2.2 +- dependency fixes, obsoletes firefox < 3 and firefox-devel now + +* Wed Dec 12 2007 Martin Stransky 1.9-0.beta2.1 +- updated to Beta 2. +- moved SDK to xulrunner-sdk + +* Thu Dec 06 2007 Martin Stransky 1.9-0.beta1.4 +- fixed mozilla-plugin.pc (#412971) + +* Tue Nov 27 2007 Martin Stransky 1.9-0.beta1.3 +- export /etc/gre.d/gre.conf (it's used by python gecko applications) + +* Mon Nov 26 2007 Martin Stransky 1.9-0.beta1.2 +- added xulrunner/js include dir to xulrunner-js + +* Tue Nov 20 2007 Martin Stransky 1.9-0.beta1.1 +- update to beta 1 + +* Mon Nov 19 2007 Martin Stransky 1.9-0.alpha9.6 +- packed all gecko libraries (#389391) + +* Thu Nov 15 2007 Martin Stransky 1.9-0.alpha9.5 +- registered xulrunner libs system-wide +- added xulrunner-gtkmozembed.pc + +* Wed Nov 14 2007 Martin Stransky 1.9-0.alpha9.4 +- added proper nss/nspr dependencies + +* Wed Nov 14 2007 Martin Stransky 1.9-0.alpha9.3 +- more build fixes, use system nss libraries + +* Tue Nov 6 2007 Martin Stransky 1.9-0.alpha9.2 +- build fixes + +* Tue Oct 30 2007 Martin Stransky 1.9-0.alpha9.1 +- updated to the latest trunk + +* Thu Sep 20 2007 David Woodhouse 1.9-0.alpha7.4 +- build fixes for ppc/ppc64 + +* Tue Sep 20 2007 Martin Stransky 1.9-0.alpha7.3 +- removed conflicts with the current gecko-based apps +- added updated ppc64 patch + +* Tue Sep 18 2007 Martin Stransky 1.9-0.alpha7.2 +- build fixes + +* Wed Sep 5 2007 Christopher Aillon 1.9-0.alpha7.1 +- Initial cut at XULRunner 1.9 Alpha 7 +- Temporarily revert camellia 256 support since our nss doesn't support it yet