]> git.pld-linux.org Git - packages/yelp.git/blame - yelp-libxul.patch
- rel 9
[packages/yelp.git] / yelp-libxul.patch
CommitLineData
a22c2851 1diff -urN yelp-2.30.2/m4/gecko.m4 yelp-2.30.2.new//m4/gecko.m4
2--- yelp-2.30.2/m4/gecko.m4 2010-08-03 21:41:59.000000000 +0200
3+++ yelp-2.30.2.new//m4/gecko.m4 2011-03-24 20:18:42.866573902 +0100
4@@ -119,8 +119,8 @@
5 _GECKO_PREFIX="`$PKG_CONFIG --variable=prefix ${gecko_cv_gecko}-xpcom`"
6 _GECKO_NSPR=no # XXX asac: this is currently a blind guess and should be a AC test
7 else
8- _GECKO_INCLUDE_ROOT="`$PKG_CONFIG --variable=includedir ${gecko_cv_gecko}`/unstable"
9- _GECKO_CFLAGS="`$PKG_CONFIG --cflags ${gecko_cv_gecko}` `$PKG_CONFIG --cflags ${gecko_cv_gecko}-unstable`"
10+ _GECKO_INCLUDE_ROOT="`$PKG_CONFIG --variable=includedir ${gecko_cv_gecko}`"
11+ _GECKO_CFLAGS="`$PKG_CONFIG --cflags ${gecko_cv_gecko}` `$PKG_CONFIG --cflags ${gecko_cv_gecko}`"
12 _GECKO_LIBDIR="`$PKG_CONFIG --variable=sdkdir ${gecko_cv_gecko}`/bin"
13 _GECKO_HOME=$with_gecko_home
14 _GECKO_PREFIX="`$PKG_CONFIG --variable=prefix ${gecko_cv_gecko}`"
15@@ -212,25 +212,6 @@
16 _SAVE_CPPFLAGS="$CPPFLAGS"
17 CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS $_GECKO_CFLAGS"
18
19-AC_MSG_CHECKING([[whether we have a gtk 2 gecko build]])
20-AC_RUN_IFELSE(
21- [AC_LANG_SOURCE(
22- [[#include <mozilla-config.h>
23- #include <string.h>
24- #include <stdlib.h>
25- int main(void) {
26- if (strcmp (MOZ_DEFAULT_TOOLKIT, "gtk2") == 0 ||
27- strcmp (MOZ_DEFAULT_TOOLKIT, "cairo-gtk2") == 0)
28- return EXIT_SUCCESS;
29-
30- return EXIT_FAILURE;
31- } ]]
32- )],
33- [result=yes],
34- [AC_MSG_ERROR([[This program needs a gtk 2 gecko build]])],
35- [result=maybe])
36-AC_MSG_RESULT([$result])
37-
38 AC_MSG_CHECKING([[whether we have a gecko debug build]])
39 AC_COMPILE_IFELSE(
40 [AC_LANG_SOURCE(
41@@ -304,7 +285,9 @@
42 #ifdef MOZILLA_1_8_BRANCH
43 version = "1.8.1";
44 #else
45-if (strncmp (MOZILLA_VERSION, "1.9", strlen ("1.9")) == 0) {
46+if (strncmp (MOZILLA_VERSION, "2.0", strlen ("2.0")) == 0) {
47+ version = "2.0";
48+} else if (strncmp (MOZILLA_VERSION, "1.9", strlen ("1.9")) == 0) {
49 version = "1.9";
50 } else if (strncmp (MOZILLA_VERSION, "1.8", strlen ("1.8")) == 0) {
51 version = "1.8";
52@@ -328,7 +311,7 @@
53
54 gecko_cv_gecko_version_int="$(echo "$gecko_cv_gecko_version" | $AWK -F . '{print [$]1 * 1000000 + [$]2 * 1000 + [$]3}')"
55
56-if test "$gecko_cv_gecko_version_int" -lt "1007000" -o "$gecko_cv_gecko_version_int" -gt "1009000"; then
57+if test "$gecko_cv_gecko_version_int" -lt "1007000" -o "$gecko_cv_gecko_version_int" -gt "2000000"; then
58 AC_MSG_ERROR([Gecko version $gecko_cv_gecko_version is not supported!])
59 fi
60
61@@ -350,7 +333,10 @@
62 fi
63
64 if test "${gecko_cv_gecko}" = "libxul-embedding" -o "${gecko_cv_gecko}" = "libxul"; then
65- PKG_CHECK_EXISTS([${gecko_cv_gecko} >= 1.9.1],[gecko_cv_have_gecko_1_9_1=yes gecko_cv_gecko_version="1.9.1" gecko_cv_gecko_version_int=1009001],[gecko_cv_have_gecko_1_9_1=no])
66+ PKG_CHECK_EXISTS([${gecko_cv_gecko} >= 1.9.1],
67+ [ gecko_cv_have_gecko_1_9_1=yes
68+ if test "$gecko_cv_gecko_version_int" -lt "2000000"; then gecko_cv_gecko_version="1.9.1" gecko_cv_gecko_version_int=1009001; fi
69+ ],[gecko_cv_have_gecko_1_9_1=no])
70 else
71 gecko_cv_have_gecko_1_9_1=no
72 fi
73@@ -359,6 +345,11 @@
74 AC_DEFINE([HAVE_GECKO_1_9_1],[1],[Define if we have gecko 1.9.1])
75 fi
76
77+if test "$gecko_cv_gecko_version_int" -ge "2000000"; then
78+ AC_DEFINE([HAVE_GECKO_2_0],[1],[Define if we have gecko 2.0])
79+ gecko_cv_have_gecko_2_0=yes
80+fi
81+
82 fi # if gecko_cv_have_gecko
83
84 $1[]_VERSION=$gecko_cv_gecko_version
85@@ -376,7 +367,7 @@
86 if ! test "$gecko_cv_have_xpcom_glue" = "yes"; then
87 gecko_cv_extra_libs="-L$_GECKO_LIBDIR -lxul"
88 else
89- gecko_cv_glue_libs="-L$_GECKO_LIBDIR -lxpcomglue"
90+ gecko_cv_glue_libs="-L$_GECKO_LIBDIR -lxpcomglue -ldl"
91 fi
92 else
93 gecko_cv_extra_pkg_dependencies="${gecko_cv_gecko}-gtkmozembed"
94@@ -407,6 +398,7 @@
95 AM_CONDITIONAL([HAVE_GECKO_1_8_1],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_gecko_version_int" -ge "1008001"])
96 AM_CONDITIONAL([HAVE_GECKO_1_9],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_gecko_version_int" -ge "1009000"])
97 AM_CONDITIONAL([HAVE_GECKO_1_9_1],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_have_gecko_1_9_1" = "yes"])
98+AM_CONDITIONAL([HAVE_GECKO_2_0],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_have_gecko_2_0" = "yes"])
99 AM_CONDITIONAL([HAVE_GECKO_HOME],[test "x$_GECKO_HOME" != "x"])
100 AM_CONDITIONAL([HAVE_GECKO_DEBUG],[test "$gecko_cv_have_debug" = "yes"])
101 AM_CONDITIONAL([HAVE_GECKO_XPCOM_GLUE],[test "$gecko_cv_have_xpcom_glue" = "yes"])
102@@ -432,8 +424,8 @@
103 _SAVE_LDFLAGS="$LDFLAGS"
104 _SAVE_LIBS="$LIBS"
105 if test "${gecko_cv_gecko}" = "libxul-embedding" -o "${gecko_cv_gecko}" = "libxul"; then
106- CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --cflags-only-I ${gecko_cv_gecko}-unstable)"
107- CXXFLAGS="$CXXFLAGS $_GECKO_EXTRA_CXXFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --cflags-only-other ${gecko_cv_gecko}-unstable)"
108+ CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --cflags-only-I ${gecko_cv_gecko})"
109+ CXXFLAGS="$CXXFLAGS $_GECKO_EXTRA_CXXFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --cflags-only-other ${gecko_cv_gecko})"
110 LIBS="$LIBS $($PKG_CONFIG --libs ${gecko_cv_gecko}) -ldl"
111 else
112 CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --cflags-only-I ${gecko_cv_gecko}-xpcom)"
113diff -urN yelp-2.30.2/src/yelp-gecko-services.cpp yelp-2.30.2.new//src/yelp-gecko-services.cpp
114--- yelp-2.30.2/src/yelp-gecko-services.cpp 2010-08-03 21:41:59.000000000 +0200
115+++ yelp-2.30.2.new//src/yelp-gecko-services.cpp 2011-03-24 20:12:54.059907235 +0100
116@@ -32,7 +32,11 @@
117 #include <nsIComponentManager.h>
118 #include <nsComponentManagerUtils.h>
119 #include <nsIComponentRegistrar.h>
120+#ifndef HAVE_GECKO_2_0
121 #include <nsIGenericFactory.h>
122+#else
123+#include <nsIFactory.h>
124+#endif
125 #include <nsILocalFile.h>
126 #include <nsIPrintSettings.h>
127 #include <nsServiceManagerUtils.h>
128@@ -418,6 +422,8 @@
129
130 /* component registration */
131
132+#ifndef HAVE_GECKO_2_0
133+
134 NS_GENERIC_FACTORY_CONSTRUCTOR(GPrintingPromptService)
135
136 static const nsModuleComponentInfo sAppComps[] = {
137@@ -462,3 +468,115 @@
138 }
139
140 }
141+
142+#else
143+
144+/*
145+ * Adapted from code from ./embedding/browser/activex/src/control/PromptService.cpp in Firefox
146+ */
147+
148+//*****************************************************************************
149+// GPrintingPromptServiceFactory
150+//*****************************************************************************
151+
152+class GPrintingPromptServiceFactory : public nsIFactory
153+{
154+public:
155+ NS_DECL_ISUPPORTS
156+ NS_DECL_NSIFACTORY
157+
158+ GPrintingPromptServiceFactory();
159+ virtual ~GPrintingPromptServiceFactory();
160+};
161+
162+//*****************************************************************************
163+
164+NS_IMPL_ISUPPORTS1(GPrintingPromptServiceFactory, nsIFactory)
165+
166+GPrintingPromptServiceFactory::GPrintingPromptServiceFactory()
167+{
168+}
169+
170+GPrintingPromptServiceFactory::~GPrintingPromptServiceFactory()
171+{
172+}
173+
174+NS_IMETHODIMP GPrintingPromptServiceFactory::CreateInstance(nsISupports *aOuter, const nsIID & aIID, void **aResult)
175+{
176+ NS_ENSURE_ARG_POINTER(aResult);
177+
178+ *aResult = NULL;
179+ GPrintingPromptService *inst = new GPrintingPromptService;
180+ if (!inst)
181+ return NS_ERROR_OUT_OF_MEMORY;
182+
183+ nsresult rv = inst->QueryInterface(aIID, aResult);
184+ if (rv != NS_OK) {
185+ // We didn't get the right interface, so clean up
186+ delete inst;
187+ }
188+
189+ return rv;
190+}
191+
192+NS_IMETHODIMP GPrintingPromptServiceFactory::LockFactory(PRBool lock)
193+{
194+ return NS_OK;
195+}
196+
197+//*****************************************************************************
198+
199+nsresult NS_NewPrintingPromptServiceFactory(nsIFactory** aFactory)
200+{
201+ NS_ENSURE_ARG_POINTER(aFactory);
202+ *aFactory = nsnull;
203+
204+ GPrintingPromptServiceFactory *result = new GPrintingPromptServiceFactory;
205+ if (!result)
206+ return NS_ERROR_OUT_OF_MEMORY;
207+
208+ NS_ADDREF(result);
209+ *aFactory = result;
210+
211+ return NS_OK;
212+}
213+
214+/*
215+ * End of adapted code.
216+ */
217+
218+static NS_DEFINE_CID(kGPrintingPromptServiceCID, G_PRINTINGPROMPTSERVICE_CID);
219+
220+void
221+yelp_register_printing ()
222+{
223+ nsresult rv;
224+ nsCOMPtr<nsIComponentRegistrar> cr;
225+ rv = NS_GetComponentRegistrar(getter_AddRefs(cr));
226+ NS_ENSURE_SUCCESS (rv, );
227+
228+ nsCOMPtr<nsIComponentManager> cm;
229+ rv = NS_GetComponentManager (getter_AddRefs (cm));
230+ NS_ENSURE_SUCCESS (rv, );
231+
232+ nsCOMPtr<nsIFactory> componentFactory;
233+ rv = NS_NewPrintingPromptServiceFactory(getter_AddRefs(componentFactory));
234+
235+ if (NS_FAILED(rv) || !componentFactory)
236+ {
237+ g_warning ("Failed to make a factory for %s\n", G_PRINTINGPROMPTSERVICE_CLASSNAME);
238+ return;
239+ }
240+
241+ rv = cr->RegisterFactory(kGPrintingPromptServiceCID,
242+ G_PRINTINGPROMPTSERVICE_CLASSNAME,
243+ G_PRINTINGPROMPTSERVICE_CONTRACTID,
244+ componentFactory);
245+ if (NS_FAILED(rv))
246+ {
247+ g_warning ("Failed to register %s\n", G_PRINTINGPROMPTSERVICE_CLASSNAME);
248+ }
249+
250+}
251+
252+#endif
253diff -urN yelp-2.30.2/src/yelp-gecko-utils.cpp yelp-2.30.2.new//src/yelp-gecko-utils.cpp
254--- yelp-2.30.2/src/yelp-gecko-utils.cpp 2010-08-03 21:41:59.000000000 +0200
255+++ yelp-2.30.2.new//src/yelp-gecko-utils.cpp 2011-03-24 20:12:54.059907235 +0100
256@@ -213,8 +213,8 @@
257 nsresult rv;
258 #ifdef XPCOM_GLUE
259 static const GREVersionRange greVersion = {
260- "1.9a", PR_TRUE,
261- "2", PR_TRUE
262+ "2.0a", PR_TRUE,
263+ "2.0", PR_TRUE
264 };
265 char xpcomLocation[PATH_MAX];
266 rv = GRE_GetGREPathWithProperties(&greVersion, 1, nsnull, 0, xpcomLocation, sizeof (xpcomLocation));
This page took 1.355247 seconds and 4 git commands to generate.