summaryrefslogtreecommitdiff
path: root/extra/gluezilla
diff options
context:
space:
mode:
authorParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
committerParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
commit415856bdd4f48ab4f2732996f0bae58595092bbe (patch)
treeede2018b591f6dfb477fe9341ba17b9bc000fab9 /extra/gluezilla
Tue Apr 5 14:26:38 UTC 2011
Diffstat (limited to 'extra/gluezilla')
-rw-r--r--extra/gluezilla/PKGBUILD29
-rw-r--r--extra/gluezilla/configure_xulrunner.patch11
-rw-r--r--extra/gluezilla/xulrunner2.0.patch150
-rw-r--r--extra/gluezilla/xulrunner2.0_configure.patch51
4 files changed, 241 insertions, 0 deletions
diff --git a/extra/gluezilla/PKGBUILD b/extra/gluezilla/PKGBUILD
new file mode 100644
index 000000000..224068bd6
--- /dev/null
+++ b/extra/gluezilla/PKGBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Daniel Isenmann <daniel@archlinux.org>
+
+pkgname=gluezilla
+pkgver=2.6
+pkgrel=3
+pkgdesc="Web browser implementation (Gecko) for Mono, the free .NET runtime"
+arch=(i686 x86_64)
+license=('LGPL2' 'MPL')
+url="http://www.mono-project.com/"
+depends=('mono' 'xulrunner>=2.0')
+makedepends=('pkgconfig')
+options=('!libtool')
+source=(http://ftp.novell.com/pub/mono/sources/${pkgname}/${pkgname}-${pkgver}.tar.bz2 xulrunner2.0.patch xulrunner2.0_configure.patch)
+md5sums=('bd4eb89747498945227877295fcd36b5'
+ '26ea3af3ef5ce045a13a3f3ee54cf0f6'
+ '06faa671dd791868701d98e610fcbc7e')
+
+build() {
+ cd ${srcdir}/gluezilla-${pkgver}
+ patch -p1 < ${srcdir}/xulrunner2.0.patch || return 1
+ patch -p1 < ${srcdir}/xulrunner2.0_configure.patch || return 1
+
+ rm configure
+ autoconf
+ ./configure --prefix=/usr
+ make || return 1
+ make DESTDIR=${pkgdir} install || return 1
+
+}
diff --git a/extra/gluezilla/configure_xulrunner.patch b/extra/gluezilla/configure_xulrunner.patch
new file mode 100644
index 000000000..6537a2066
--- /dev/null
+++ b/extra/gluezilla/configure_xulrunner.patch
@@ -0,0 +1,11 @@
+--- configure_old 2009-10-01 20:27:13.000000000 +0200
++++ configure 2010-03-25 12:31:10.000000000 +0100
+@@ -19988,7 +19988,7 @@
+
+ { echo "$as_me:$LINENO: checking Mozilla XPCOM > 1.8" >&5
+ echo $ECHO_N "checking Mozilla XPCOM > 1.8... $ECHO_C" >&6; }
+- mozilla_xpcom_pcs="libxul-embedding-unstable"
++ mozilla_xpcom_pcs="libxul-embedding"
+ for pc in $mozilla_xpcom_pcs; do
+ if $PKG_CONFIG --exists $pc; then
+ { echo "$as_me:$LINENO: result: $pc" >&5
diff --git a/extra/gluezilla/xulrunner2.0.patch b/extra/gluezilla/xulrunner2.0.patch
new file mode 100644
index 000000000..913795908
--- /dev/null
+++ b/extra/gluezilla/xulrunner2.0.patch
@@ -0,0 +1,150 @@
+diff --git a/src/BrowserWindow.cpp b/src/BrowserWindow.cpp
+index f260295..10ae7bd 100755
+--- a/src/BrowserWindow.cpp
++++ b/src/BrowserWindow.cpp
+@@ -28,23 +28,6 @@
+ NS_GENERIC_FACTORY_CONSTRUCTOR(SecurityWarningDialogs)
+ NS_GENERIC_FACTORY_CONSTRUCTOR(PromptService)
+
+-static const nsModuleComponentInfo components[] = {
+- {
+- SECURITYWARNINGSDIALOGS_CLASSNAME,
+- SECURITYWARNINGSDIALOGS_CID,
+- NS_SECURITYWARNINGDIALOGS_CONTRACTID,
+- SecurityWarningDialogsConstructor
+- },
+- {
+- PROMPTSERVICE_CLASSNAME,
+- PROMPTSERVICE_CID,
+- NS_PROMPTSERVICE_CONTRACTID,
+- PromptServiceConstructor
+- }
+-
+-};
+-
+-
+ BrowserWindow::BrowserWindow (void)
+ {
+ owner = nsnull;
+@@ -162,17 +145,17 @@ nsresult BrowserWindow::RegisterComponents ()
+ nsCOMPtr<nsIFactory> componentFactory;
+ rv = NS_NewSecurityWarningServiceFactory(getter_AddRefs(componentFactory));
+ if (NS_SUCCEEDED(rv)) {
+- compReg->RegisterFactory(components[0].mCID,
+- components[0].mDescription,
+- components[0].mContractID,
++ compReg->RegisterFactory(kSECURITYWARNINGSDIALOGS_CID,
++ SECURITYWARNINGSDIALOGS_CLASSNAME,
++ NS_SECURITYWARNINGDIALOGS_CONTRACTID,
+ componentFactory);
+ }
+
+ rv = NS_NewPromptServiceFactory(getter_AddRefs(componentFactory), this);
+ if (NS_SUCCEEDED(rv)) {
+- compReg->RegisterFactory(components[1].mCID,
+- components[1].mDescription,
+- components[1].mContractID,
++ compReg->RegisterFactory(kPROMPTSERVICE_CID,
++ PROMPTSERVICE_CLASSNAME,
++ NS_PROMPTSERVICE_CONTRACTID,
+ componentFactory);
+ }
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 3b7bce3..cd6ec99 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -26,7 +26,7 @@ libgluezilla_la_SOURCES = \
+ gluezilla.h \
+ FastDelegate.h
+
+-if OLDXUL
++if XUL_2
+ libgluezilla_la_SOURCES += \
+ gluezilla_nsIScriptContext.h \
+ gluezilla_nsIScriptGlobalObject.h
+diff --git a/src/PromptService.h b/src/PromptService.h
+index 04fddb9..174bca4 100644
+--- a/src/PromptService.h
++++ b/src/PromptService.h
+@@ -20,8 +20,9 @@
+ // {77686174-2061-6d20-6920-746F20646F20}
+ #define PROMPTSERVICE_CID \
+ { 0x77686174, 0x2061, 0x6d20, { 0x69, 0x20, 0x74, 0x6F, 0x20, 0x64, 0x6F, 0x20 } }
+-
+-
++
++static NS_DEFINE_CID(kPROMPTSERVICE_CID, PROMPTSERVICE_CID);
++
+ class PromptService : public nsIPromptService
+ {
+ NS_DECL_ISUPPORTS
+diff --git a/src/SecurityWarningsDialogs.h b/src/SecurityWarningsDialogs.h
+index b75f529..ae352ad 100644
+--- a/src/SecurityWarningsDialogs.h
++++ b/src/SecurityWarningsDialogs.h
+@@ -21,8 +21,9 @@
+ // {696E7465-7265-7374-696E-67206C696665}
+ #define SECURITYWARNINGSDIALOGS_CID \
+ { 0x696E7465, 0x7265, 0x7374, { 0x69, 0x6E, 0x67, 0x20, 0x6C, 0x69, 0x66, 0x65 } }
+-
+-
++
++static NS_DEFINE_CID(kSECURITYWARNINGSDIALOGS_CID, SECURITYWARNINGSDIALOGS_CID);
++
+ class SecurityWarningDialogs : public nsISecurityWarningDialogs
+ {
+ public:
+diff --git a/src/interfaces.h b/src/interfaces.h
+index 3a9f9dd..6acebb8 100644
+--- a/src/interfaces.h
++++ b/src/interfaces.h
+@@ -4,7 +4,18 @@
+ #define TO_STRING(x) #x
+
+ //Gecko Embedding API
++#if XUL_VERSION < 4
+ #include <nsEmbedAPI.h>
++#else
++#include <nscore.h>
++#include <nsXPCOM.h>
++#include <nsILocalFile.h>
++#include <nsIDirectoryService.h>
++#define NS_GRE_COMPONENT_DIR "GreComsD"
++#define NS_XPCOM_COMPONENT_DIR "ComsD"
++#define NS_XPCOM_COMPONENT_REGISTRY_FILE "ComRegF"
++#define NS_XPCOM_XPTI_REGISTRY_FILE "XptiRegF"
++#endif
+
+ //XPCOM API
+ #include <nsCOMPtr.h>
+@@ -78,8 +89,12 @@
+ #include <nsIPromptService.h>
+ #include <nsISecurityWarningDialogs.h>
+ #include <nsIComponentRegistrar.h>
++#if XUL_VERSION < 4
+ #include <nsIGenericFactory.h>
+-
++#else
++#include <mozilla/ModuleUtils.h>
++struct nsModuleComponentInfo;
++#endif
+ // preferences
+ #include <nsIPrefBranch.h>
+ #include <nsIPrefService.h>
+@@ -131,12 +146,15 @@
+ typedef type (NS_FROZENCALL * name##Type) params; \
+ extern name##Type name NS_HIDDEN;
+
++#if XUL_VERSION < 4
+ XRE_API(nsresult,
+ XRE_InitEmbedding, (nsILocalFile *aLibXULDirectory,
+ nsILocalFile *aAppDirectory,
+ nsIDirectoryServiceProvider *aAppDirProvider,
+ nsStaticModuleInfo const *aStaticComponents,
+ PRUint32 aStaticComponentCount))
++#endif
++
+
+ XRE_API(void, XRE_TermEmbedding, ())
+
diff --git a/extra/gluezilla/xulrunner2.0_configure.patch b/extra/gluezilla/xulrunner2.0_configure.patch
new file mode 100644
index 000000000..cb64208e3
--- /dev/null
+++ b/extra/gluezilla/xulrunner2.0_configure.patch
@@ -0,0 +1,51 @@
+--- a/configure.ac
++++ b/configure.ac_new
+@@ -87,16 +87,23 @@
+
+ if test "x${oldxul}" != xyes ; then
+
+- AC_MSG_CHECKING(Mozilla XPCOM > 1.8)
+- mozilla_xpcom_pcs="libxul-embedding-unstable"
+- for pc in $mozilla_xpcom_pcs; do
+- if $PKG_CONFIG --exists $pc; then
+- AC_MSG_RESULT($pc)
+- mozilla_xpcom=$pc
+- XUL_VERSION=3
+- break;
+- fi
+- done
++ if test -z $mozilla_xpcom; then
++ AC_MSG_CHECKING(Mozilla XPCOM > 1.8)
++ mozilla_xpcom_pcs="libxul-embedding libxul-embedding-unstable"
++ for pc in $mozilla_xpcom_pcs; do
++ if $PKG_CONFIG --exists $pc; then
++ mozilla_xpcom=$pc
++ XUL_VERSION=3
++ version="$(pkg-config --modversion $pc)"
++ minor=`echo "$version" | sed -e 's,\([[0-9]]*\)\..*,\1,'`
++ if test $minor -ge 2; then
++ XUL_VERSION=4
++ fi
++ AC_MSG_RESULT(Found $version)
++ break;
++ fi
++ done
++ fi
+ fi
+
+ if test -z $mozilla_xpcom; then
+@@ -121,9 +128,12 @@
+ XPCOM_PKGS="$mozilla_xpcom"
+ fi
+
+-AM_CONDITIONAL([OLDXUL], [test x$XUL_VERSION = x2])
+-
+ AC_SUBST(XUL_VERSION)
++
++AM_CONDITIONAL([XUL_4], [test x$XUL_VERSION = x4])
++AM_CONDITIONAL([XUL_3], [test x$XUL_VERSION = x3])
++AM_CONDITIONAL([XUL_2], [test x$XUL_VERSION = x2])
++
+
+ AC_ARG_ENABLE([optimize],
+ AC_HELP_STRING([--enable-optimize], [Enable optimizations (-O2)]),