packages (GNOME_2): yelp/yelp-libxul.patch (NEW) - restored for GNOME_2 branch

lisu lisu at pld-linux.org
Mon Aug 8 16:10:04 CEST 2011


Author: lisu                         Date: Mon Aug  8 14:10:04 2011 GMT
Module: packages                      Tag: GNOME_2
---- Log message:
- restored for GNOME_2 branch

---- Files affected:
packages/yelp:
   yelp-libxul.patch (NONE -> 1.5.2.1)  (NEW)

---- Diffs:

================================================================
Index: packages/yelp/yelp-libxul.patch
diff -u /dev/null packages/yelp/yelp-libxul.patch:1.5.2.1
--- /dev/null	Mon Aug  8 16:10:04 2011
+++ packages/yelp/yelp-libxul.patch	Mon Aug  8 16:09:59 2011
@@ -0,0 +1,266 @@
+diff -urN yelp-2.30.2/m4/gecko.m4 yelp-2.30.2.new//m4/gecko.m4
+--- yelp-2.30.2/m4/gecko.m4	2010-08-03 21:41:59.000000000 +0200
++++ yelp-2.30.2.new//m4/gecko.m4	2011-03-24 20:18:42.866573902 +0100
+@@ -119,8 +119,8 @@
+ 	_GECKO_PREFIX="`$PKG_CONFIG --variable=prefix ${gecko_cv_gecko}-xpcom`"
+ 	_GECKO_NSPR=no # XXX asac: this is currently a blind guess and should be a AC test
+ else
+-	_GECKO_INCLUDE_ROOT="`$PKG_CONFIG --variable=includedir ${gecko_cv_gecko}`/unstable"
+-	_GECKO_CFLAGS="`$PKG_CONFIG --cflags ${gecko_cv_gecko}` `$PKG_CONFIG --cflags ${gecko_cv_gecko}-unstable`"
++	_GECKO_INCLUDE_ROOT="`$PKG_CONFIG --variable=includedir ${gecko_cv_gecko}`"
++	_GECKO_CFLAGS="`$PKG_CONFIG --cflags ${gecko_cv_gecko}` `$PKG_CONFIG --cflags ${gecko_cv_gecko}`"
+ 	_GECKO_LIBDIR="`$PKG_CONFIG --variable=sdkdir ${gecko_cv_gecko}`/bin"
+ 	_GECKO_HOME=$with_gecko_home
+ 	_GECKO_PREFIX="`$PKG_CONFIG --variable=prefix ${gecko_cv_gecko}`"
+@@ -212,25 +212,6 @@
+ _SAVE_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS $_GECKO_CFLAGS"
+ 
+-AC_MSG_CHECKING([[whether we have a gtk 2 gecko build]])
+-AC_RUN_IFELSE(
+-	[AC_LANG_SOURCE(
+-		[[#include <mozilla-config.h>
+-		  #include <string.h>
+-		  #include <stdlib.h>
+-                  int main(void) {
+-		    if (strcmp (MOZ_DEFAULT_TOOLKIT, "gtk2") == 0 ||
+-		        strcmp (MOZ_DEFAULT_TOOLKIT, "cairo-gtk2") == 0)
+-			    return EXIT_SUCCESS;
+-		
+-		    return EXIT_FAILURE;
+-		  } ]]
+-	)],
+-	[result=yes],
+-	[AC_MSG_ERROR([[This program needs a gtk 2 gecko build]])],
+-        [result=maybe])
+-AC_MSG_RESULT([$result])
+-
+ AC_MSG_CHECKING([[whether we have a gecko debug build]])
+ AC_COMPILE_IFELSE(
+ 	[AC_LANG_SOURCE(
+@@ -304,7 +285,9 @@
+ #ifdef MOZILLA_1_8_BRANCH
+ version = "1.8.1";
+ #else
+-if (strncmp (MOZILLA_VERSION, "1.9", strlen ("1.9")) == 0) {
++if (strncmp (MOZILLA_VERSION, "2.0", strlen ("2.0")) == 0) {
++	version = "2.0";
++} else if (strncmp (MOZILLA_VERSION, "1.9", strlen ("1.9")) == 0) {
+ 	version = "1.9";
+ } else if (strncmp (MOZILLA_VERSION, "1.8", strlen ("1.8")) == 0) {
+ 	version = "1.8";
+@@ -328,7 +311,7 @@
+ 
+ gecko_cv_gecko_version_int="$(echo "$gecko_cv_gecko_version" | $AWK -F . '{print [$]1 * 1000000 + [$]2 * 1000 + [$]3}')"
+ 
+-if test "$gecko_cv_gecko_version_int" -lt "1007000" -o "$gecko_cv_gecko_version_int" -gt "1009000"; then
++if test "$gecko_cv_gecko_version_int" -lt "1007000" -o "$gecko_cv_gecko_version_int" -gt "2000000"; then
+ 	AC_MSG_ERROR([Gecko version $gecko_cv_gecko_version is not supported!])
+ fi
+ 
+@@ -350,7 +333,10 @@
+ fi
+ 
+ if test "${gecko_cv_gecko}" = "libxul-embedding" -o "${gecko_cv_gecko}" = "libxul"; then
+-	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])
++	PKG_CHECK_EXISTS([${gecko_cv_gecko} >= 1.9.1],
++        [ gecko_cv_have_gecko_1_9_1=yes
++          if test "$gecko_cv_gecko_version_int" -lt "2000000"; then gecko_cv_gecko_version="1.9.1" gecko_cv_gecko_version_int=1009001; fi
++        ],[gecko_cv_have_gecko_1_9_1=no])
+ else
+ 	gecko_cv_have_gecko_1_9_1=no
+ fi
+@@ -359,6 +345,11 @@
+         AC_DEFINE([HAVE_GECKO_1_9_1],[1],[Define if we have gecko 1.9.1])
+ fi
+ 
++if test "$gecko_cv_gecko_version_int" -ge "2000000"; then
++	AC_DEFINE([HAVE_GECKO_2_0],[1],[Define if we have gecko 2.0])
++	gecko_cv_have_gecko_2_0=yes
++fi
++
+ fi # if gecko_cv_have_gecko
+ 
+ $1[]_VERSION=$gecko_cv_gecko_version
+@@ -376,7 +367,7 @@
+ 	if ! test "$gecko_cv_have_xpcom_glue" = "yes"; then
+ 		gecko_cv_extra_libs="-L$_GECKO_LIBDIR -lxul"
+ 	else
+-		gecko_cv_glue_libs="-L$_GECKO_LIBDIR -lxpcomglue"
++		gecko_cv_glue_libs="-L$_GECKO_LIBDIR -lxpcomglue -ldl"
+ 	fi
+ else
+ 	gecko_cv_extra_pkg_dependencies="${gecko_cv_gecko}-gtkmozembed"
+@@ -407,6 +398,7 @@
+ AM_CONDITIONAL([HAVE_GECKO_1_8_1],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_gecko_version_int" -ge "1008001"])
+ AM_CONDITIONAL([HAVE_GECKO_1_9],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_gecko_version_int" -ge "1009000"])
+ AM_CONDITIONAL([HAVE_GECKO_1_9_1],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_have_gecko_1_9_1" = "yes"])
++AM_CONDITIONAL([HAVE_GECKO_2_0],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_have_gecko_2_0" = "yes"])
+ AM_CONDITIONAL([HAVE_GECKO_HOME],[test "x$_GECKO_HOME" != "x"])
+ AM_CONDITIONAL([HAVE_GECKO_DEBUG],[test "$gecko_cv_have_debug" = "yes"])
+ AM_CONDITIONAL([HAVE_GECKO_XPCOM_GLUE],[test "$gecko_cv_have_xpcom_glue" = "yes"])
+@@ -432,8 +424,8 @@
+ _SAVE_LDFLAGS="$LDFLAGS"
+ _SAVE_LIBS="$LIBS"
+ if test "${gecko_cv_gecko}" = "libxul-embedding" -o "${gecko_cv_gecko}" = "libxul"; then
+-	CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --cflags-only-I ${gecko_cv_gecko}-unstable)"
+-	CXXFLAGS="$CXXFLAGS $_GECKO_EXTRA_CXXFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --cflags-only-other ${gecko_cv_gecko}-unstable)"
++	CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --cflags-only-I ${gecko_cv_gecko})"
++	CXXFLAGS="$CXXFLAGS $_GECKO_EXTRA_CXXFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --cflags-only-other ${gecko_cv_gecko})"
+ 	LIBS="$LIBS $($PKG_CONFIG --libs ${gecko_cv_gecko}) -ldl"
+ else
+ 	CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --cflags-only-I ${gecko_cv_gecko}-xpcom)"
+diff -urN yelp-2.30.2/src/yelp-gecko-services.cpp yelp-2.30.2.new//src/yelp-gecko-services.cpp
+--- yelp-2.30.2/src/yelp-gecko-services.cpp	2010-08-03 21:41:59.000000000 +0200
++++ yelp-2.30.2.new//src/yelp-gecko-services.cpp	2011-03-24 20:12:54.059907235 +0100
+@@ -32,7 +32,11 @@
+ #include <nsIComponentManager.h>
+ #include <nsComponentManagerUtils.h>
+ #include <nsIComponentRegistrar.h>
++#ifndef HAVE_GECKO_2_0
+ #include <nsIGenericFactory.h>
++#else
++#include <nsIFactory.h>
++#endif
+ #include <nsILocalFile.h>
+ #include <nsIPrintSettings.h>
+ #include <nsServiceManagerUtils.h>
+@@ -418,6 +422,8 @@
+ 
+ /* component registration */
+ 
++#ifndef HAVE_GECKO_2_0
++
+ NS_GENERIC_FACTORY_CONSTRUCTOR(GPrintingPromptService)
+ 
+ static const nsModuleComponentInfo sAppComps[] = {
+@@ -462,3 +468,115 @@
+     }
+     
+ }
++
++#else
++
++/*
++ * Adapted from code from ./embedding/browser/activex/src/control/PromptService.cpp in Firefox
++ */
++
++//*****************************************************************************
++// GPrintingPromptServiceFactory
++//*****************************************************************************
++
++class GPrintingPromptServiceFactory : public nsIFactory
++{
++public:
++    NS_DECL_ISUPPORTS
++    NS_DECL_NSIFACTORY
++
++    GPrintingPromptServiceFactory();
++    virtual ~GPrintingPromptServiceFactory();
++};
++
++//*****************************************************************************
++
++NS_IMPL_ISUPPORTS1(GPrintingPromptServiceFactory, nsIFactory)
++
++GPrintingPromptServiceFactory::GPrintingPromptServiceFactory()
++{
++}
++
++GPrintingPromptServiceFactory::~GPrintingPromptServiceFactory()
++{
++}
++
++NS_IMETHODIMP GPrintingPromptServiceFactory::CreateInstance(nsISupports *aOuter, const nsIID & aIID, void **aResult)
++{
++    NS_ENSURE_ARG_POINTER(aResult);
++
++    *aResult = NULL;
++    GPrintingPromptService *inst = new GPrintingPromptService;
++    if (!inst)
++    return NS_ERROR_OUT_OF_MEMORY;
++
++    nsresult rv = inst->QueryInterface(aIID, aResult);
++    if (rv != NS_OK) {
++        // We didn't get the right interface, so clean up
++        delete inst;
++    }
++
++    return rv;
++}
++
++NS_IMETHODIMP GPrintingPromptServiceFactory::LockFactory(PRBool lock)
++{
++    return NS_OK;
++}
++
++//*****************************************************************************
++
++nsresult NS_NewPrintingPromptServiceFactory(nsIFactory** aFactory)
++{
++    NS_ENSURE_ARG_POINTER(aFactory);
++    *aFactory = nsnull;
++
++    GPrintingPromptServiceFactory *result = new GPrintingPromptServiceFactory;
++    if (!result)
++        return NS_ERROR_OUT_OF_MEMORY;
++
++    NS_ADDREF(result);
++    *aFactory = result;
++
++    return NS_OK;
++}
++
++/*
++ * End of adapted code.
++ */
++
++static NS_DEFINE_CID(kGPrintingPromptServiceCID, G_PRINTINGPROMPTSERVICE_CID);
++
++void
++yelp_register_printing ()
++{
++  nsresult rv;
++  nsCOMPtr<nsIComponentRegistrar> cr;
++  rv = NS_GetComponentRegistrar(getter_AddRefs(cr));
++  NS_ENSURE_SUCCESS (rv, );
++
++  nsCOMPtr<nsIComponentManager> cm;
++  rv = NS_GetComponentManager (getter_AddRefs (cm));
++  NS_ENSURE_SUCCESS (rv, );
++
++  nsCOMPtr<nsIFactory> componentFactory;
++  rv = NS_NewPrintingPromptServiceFactory(getter_AddRefs(componentFactory));
++
++  if (NS_FAILED(rv) || !componentFactory)
++    {
++      g_warning ("Failed to make a factory for %s\n", G_PRINTINGPROMPTSERVICE_CLASSNAME);
++      return;
++    }
++
++  rv = cr->RegisterFactory(kGPrintingPromptServiceCID,
++			   G_PRINTINGPROMPTSERVICE_CLASSNAME,
++			   G_PRINTINGPROMPTSERVICE_CONTRACTID,
++			   componentFactory);
++  if (NS_FAILED(rv))
++    {
++      g_warning ("Failed to register %s\n", G_PRINTINGPROMPTSERVICE_CLASSNAME);
++    }
++
++}
++
++#endif
+diff -urN yelp-2.30.2/src/yelp-gecko-utils.cpp yelp-2.30.2.new//src/yelp-gecko-utils.cpp
+--- yelp-2.30.2/src/yelp-gecko-utils.cpp	2010-08-03 21:41:59.000000000 +0200
++++ yelp-2.30.2.new//src/yelp-gecko-utils.cpp	2011-03-24 20:12:54.059907235 +0100
+@@ -213,8 +213,8 @@
+ 	nsresult rv;
+ #ifdef XPCOM_GLUE
+     static const GREVersionRange greVersion = {
+-    "1.9a", PR_TRUE,
+-    "2", PR_TRUE
++    "2.0a", PR_TRUE,
++    "2.0", PR_TRUE
+     };
+     char xpcomLocation[PATH_MAX];
+     rv = GRE_GetGREPathWithProperties(&greVersion, 1, nsnull, 0, xpcomLocation, sizeof (xpcomLocation));
================================================================


More information about the pld-cvs-commit mailing list