]> git.pld-linux.org Git - packages/yelp.git/blob - yelp-libxul.patch
- fixed build with xulrunner 2.0
[packages/yelp.git] / yelp-libxul.patch
1 diff -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)"
113 diff -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
253 diff -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 0.039734 seconds and 3 git commands to generate.