Submitted By: DJ Lucas <dj_AT_linuxfromscratch_DOT_org>
Date: 2006-04-22
Initial Package Version: 2.0.2
Origin: http://ooo.ximian.com/ and self
Description: Fixes compilation with Mozilla Firefox.
             Adds support for Seamonkey.
             Adds support for standalone NSS/NSPR. 
Upstream Status: submitted

--- OOB680_m5-orig/config_office/configure.in	2006-04-20 22:55:18.000000000 -0500
+++ OOB680_m5/config_office/configure.in	2006-04-20 23:00:01.000000000 -0500
@@ -45,6 +45,10 @@
 AC_ARG_WITH(firefox,
 [  --with-firefox          Use Firefox instead of Mozilla Suite for building.
                           Only honoured with --with-system-mozilla
+],,enable_mozilla="yes")
+AC_ARG_WITH(seamonkey,
+[  --with-seamonkey        Use Seamonkey instead of Mozilla Suite for building.
+                          Only honoured with --with-system-mozilla
 ],,)
 AC_ARG_WITH(fonts,
 [  --without-fonts         Removes Bitstream Vera fonts from
@@ -2871,9 +2875,11 @@
 if test -n "$with_system_mozilla"; then
     AC_MSG_RESULT([external])
     SYSTEM_MOZILLA=YES
-    AC_MSG_CHECKING([whether to use Mozilla or Firefox])
+    AC_MSG_CHECKING([whether to use Firefox, Mozilla, or Seamonkey])
     if test -n "$with_firefox" && test "$with_firefox" != "no"; then
       moz_flavour=firefox
+    elif test -n "$with_seamonkey" && test "$with_seamonkey" != "no"; then
+      moz_flavour=seamonkey
      else
       moz_flavour=mozilla
     fi
@@ -2906,6 +2912,8 @@
     CPPFLAGS="$save_CPPFLAGS"
     LIBS="$save_LIBS"
 
+    PKG_CHECK_MODULES( MOZ_PLUGIN, $moz_flavour-plugin )
+
     MOZ_INC=`$PKG_CONFIG --variable=includedir $moz_flavour-xpcom`
     MOZ_LIB=`$PKG_CONFIG --variable=libdir $moz_flavour-xpcom`
     MOZ_LIB_XPCOM=$MOZILLAXPCOM_LIBS
@@ -3028,6 +3036,7 @@
 AC_SUBST(MOZ_LIB_XPCOM)
 AC_SUBST(MOZ_NSPR_CFLAGS)
 AC_SUBST(MOZ_NSS_CFLAGS)
+AC_SUBST(MOZ_PLUGIN_CFLAGS)
 AC_SUBST(MOZ_LDAP_CFLAGS)
 
 dnl ===================================================================
diff -Naur OOB680_m5-orig/config_office/set_soenv.in OOB680_m5/config_office/set_soenv.in
--- OOB680_m5-orig/config_office/set_soenv.in	2006-02-10 09:00:26.000000000 -0600
+++ OOB680_m5/config_office/set_soenv.in	2006-04-20 22:36:39.000000000 -0500
@@ -1745,6 +1745,7 @@
 ToFile( "MOZ_LIB_XPCOM",     "@MOZ_LIB_XPCOM@",    "e" );
 ToFile( "MOZ_NSPR_CFLAGS",   "@MOZ_NSPR_CFLAGS@",  "e" );
 ToFile( "MOZ_NSS_CFLAGS",    "@MOZ_NSS_CFLAGS@",   "e" );
+ToFile( "MOZ_PLUGIN_CFLAGS", "@MOZ_PLUGIN_CFLAGS@","e" );
 ToFile( "MOZ_LDAP_CFLAGS",   "@MOZ_LDAP_CFLAGS@",  "e" );
 ToFile( "WITH_FONTS",        "@WITH_FONTS@",       "e" );
 ToFile( "WITHOUT_AFMS",      "@WITHOUT_AFMS@",     "e" );
diff -Naur OOB680_m5-orig/extensions/source/plugin/util/makefile.pmk OOB680_m5/extensions/source/plugin/util/makefile.pmk
--- OOB680_m5-orig/extensions/source/plugin/util/makefile.pmk	2005-12-21 05:14:30.000000000 -0600
+++ OOB680_m5/extensions/source/plugin/util/makefile.pmk	2006-04-20 22:36:39.000000000 -0500
@@ -40,7 +40,6 @@
 .INCLUDE :  sv.mk
 
 .IF "$(SYSTEM_MOZILLA)" == "YES"
+INCPRE+=$(MOZ_PLUGIN_CFLAGS)
 CFLAGS+=-DSYSTEM_MOZILLA
-PKGCONFIG_MODULES=mozilla-plugin
-.INCLUDE : pkg_config.mk
 .ENDIF
diff -Naur OOB680_m5-orig/libxmlsec/xmlsec1-1.2.6.patch OOB680_m5/libxmlsec/xmlsec1-1.2.6.patch
--- OOB680_m5-orig/libxmlsec/xmlsec1-1.2.6.patch	2005-12-29 10:14:51.000000000 -0600
+++ OOB680_m5/libxmlsec/xmlsec1-1.2.6.patch	2006-04-20 22:36:39.000000000 -0500
@@ -54,6 +54,122 @@
   NSS_CRYPTO_LIB="$PACKAGE-nss"
   NSS_FOUND="no"
 ***************
+*** 25766,25771 ****
+--- 25766,25868 ----
+    else
+       PKG_CONFIG_MIN_VERSION=0.9.0
+       if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
++         echo "$as_me:$LINENO: checking for nspr >= $NSPR_MIN_VERSION nss >= $NSS_MIN_VERSION" >&5
++ echo $ECHO_N "checking for nspr >= $NSPR_MIN_VERSION nss >= $NSS_MIN_VERSION... $ECHO_C" >&6
++ 
++         if $PKG_CONFIG --exists "nspr >= $NSPR_MIN_VERSION nss >= $NSS_MIN_VERSION" ; then
++             echo "$as_me:$LINENO: result: yes" >&5
++ echo "${ECHO_T}yes" >&6
++             succeeded=yes
++ 
++             echo "$as_me:$LINENO: checking NSS_CFLAGS" >&5
++ echo $ECHO_N "checking NSS_CFLAGS... $ECHO_C" >&6
++             NSS_CFLAGS=`$PKG_CONFIG --cflags "nspr >= $NSPR_MIN_VERSION nss >= $NSS_MIN_VERSION"`
++             echo "$as_me:$LINENO: result: $NSS_CFLAGS" >&5
++ echo "${ECHO_T}$NSS_CFLAGS" >&6
++ 
++             echo "$as_me:$LINENO: checking NSS_LIBS" >&5
++ echo $ECHO_N "checking NSS_LIBS... $ECHO_C" >&6
++             NSS_LIBS=`$PKG_CONFIG --libs "nspr >= $NSPR_MIN_VERSION nss >= $NSS_MIN_VERSION"`
++             echo "$as_me:$LINENO: result: $NSS_LIBS" >&5
++ echo "${ECHO_T}$NSS_LIBS" >&6
++         else
++             NSS_CFLAGS=""
++             NSS_LIBS=""
++             ## If we have a custom action on failure, don't print errors, but
++             ## do set a variable so people can do so.
++             NSS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "nspr >= $NSPR_MIN_VERSION nss >= $NSS_MIN_VERSION"`
++ 
++         fi
++ 
++ 
++ 
++      else
++         echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
++         echo "*** See http://www.freedesktop.org/software/pkgconfig"
++      fi
++   fi
++ 
++   if test $succeeded = yes; then
++      NSS_FOUND=yes
++   else
++      NSS_FOUND=no
++   fi
++ 
++         if test "z$NSS_FOUND" = "zno" ; then
++ 
++   succeeded=no
++ 
++   if test -z "$PKG_CONFIG"; then
++     # Extract the first word of "pkg-config", so it can be a program name with args.
++ set dummy pkg-config; ac_word=$2
++ echo "$as_me:$LINENO: checking for $ac_word" >&5
++ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++ if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
++   echo $ECHO_N "(cached) $ECHO_C" >&6
++ else
++   case $PKG_CONFIG in
++   [\\/]* | ?:[\\/]*)
++   ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
++   ;;
++   *)
++   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++ for as_dir in $PATH
++ do
++   IFS=$as_save_IFS
++   test -z "$as_dir" && as_dir=.
++   for ac_exec_ext in '' $ac_executable_extensions; do
++   if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++     ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
++     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++     break 2
++   fi
++ done
++ done
++ 
++   test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
++   ;;
++ esac
++ fi
++ PKG_CONFIG=$ac_cv_path_PKG_CONFIG
++ 
++ if test -n "$PKG_CONFIG"; then
++   echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
++ echo "${ECHO_T}$PKG_CONFIG" >&6
++ else
++   echo "$as_me:$LINENO: result: no" >&5
++ echo "${ECHO_T}no" >&6
++ fi
++ 
++   fi
++ 
++   if test "$PKG_CONFIG" = "no" ; then
++      echo "*** The pkg-config script could not be found. Make sure it is"
++      echo "*** in your path, or set the PKG_CONFIG environment variable"
++      echo "*** to the full path to pkg-config."
++      echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
++   else
++      PKG_CONFIG_MIN_VERSION=0.9.0
++      if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+          echo "$as_me:$LINENO: checking for mozilla-nspr >= $MOZILLA_MIN_VERSION mozilla-nss >= $MOZILLA_MIN_VERSION" >&5
+  echo $ECHO_N "checking for mozilla-nspr >= $MOZILLA_MIN_VERSION mozilla-nss >= $MOZILLA_MIN_VERSION... $ECHO_C" >&6
+  
+***************
+*** 25808,25813 ****
+--- 25905,25911 ----
+       NSS_FOUND=no
+    fi
+  
++     fi
+  fi
+  
+  if test "z$NSS_FOUND" = "zno" ; then
+***************
 *** 25817,25824 ****
           ac_mozilla_name=mozilla-$MOZILLA_MIN_VERSION
       fi
@@ -63,7 +179,7 @@
   
       echo "$as_me:$LINENO: checking for nspr libraries >= $NSPR_MIN_VERSION" >&5
   echo $ECHO_N "checking for nspr libraries >= $NSPR_MIN_VERSION... $ECHO_C" >&6
---- 25817,25824 ----
+--- 25915,25922 ----
           ac_mozilla_name=mozilla-$MOZILLA_MIN_VERSION
       fi
   
@@ -81,7 +197,7 @@
   		        	if test "z$dir" = "z/usr/lib" ; then
               	    NSPR_LIBS="$NSPR_LIBS_LIST"
       		else
---- 25853,25859 ----
+--- 25951,25957 ----
   	done
   
   	for dir in $ac_nss_lib_dir ; do
@@ -98,7 +214,7 @@
           	    		if test "z$dir" = "z/usr/lib" ; then
           	    NSS_LIBS="$NSS_LIBS_LIST"
                   else
---- 25939,25945 ----
+--- 26037,26043 ----
           done
   
           for dir in $ac_nss_lib_dir ; do
@@ -143,6 +259,34 @@
   NSS_CRYPTO_LIB="$PACKAGE-nss"
   NSS_FOUND="no"
 ***************
+*** 521,529 ****
+      AC_MSG_RESULT(no)
+      NSS_FOUND="without"
+  elif test "z$with_nss" = "z" -a "z$with_nspr" = "z" -a "z$with_mozilla_ver" = "z" -a "z$PKG_CONFIG_ENABLED" = "zyes" ; then
+!     PKG_CHECK_MODULES(NSS, mozilla-nspr >= $MOZILLA_MIN_VERSION mozilla-nss >= $MOZILLA_MIN_VERSION,
+  	[NSS_FOUND=yes],
+  	[NSS_FOUND=no])
+  fi
+  
+  if test "z$NSS_FOUND" = "zno" ; then 
+--- 521,536 ----
+      AC_MSG_RESULT(no)
+      NSS_FOUND="without"
+  elif test "z$with_nss" = "z" -a "z$with_nspr" = "z" -a "z$with_mozilla_ver" = "z" -a "z$PKG_CONFIG_ENABLED" = "zyes" ; then
+!     dnl try system nspr and nss
+!     PKG_CHECK_MODULES(NSS, nspr >= $NSPR_MIN_VERSION nss >= $NSS_MIN_VERSION,
+  	[NSS_FOUND=yes],
+  	[NSS_FOUND=no])
++     dnl fallback to the mozilla nspr and nss
++     if test "z$NSS_FOUND" = "zno" ; then
++ 	PKG_CHECK_MODULES(NSS, mozilla-nspr >= $MOZILLA_MIN_VERSION mozilla-nss >= $MOZILLA_MIN_VERSION,
++ 	    [NSS_FOUND=yes],
++ 	    [NSS_FOUND=no])
++     fi
+  fi
+  
+  if test "z$NSS_FOUND" = "zno" ; then 
+***************
 *** 534,541 ****
           ac_mozilla_name=mozilla-$MOZILLA_MIN_VERSION
       fi
@@ -152,7 +296,7 @@
   
       AC_MSG_CHECKING(for nspr libraries >= $NSPR_MIN_VERSION)
       NSPR_INCLUDES_FOUND="no"
---- 534,541 ----
+--- 541,548 ----
           ac_mozilla_name=mozilla-$MOZILLA_MIN_VERSION
       fi
   
@@ -170,7 +314,7 @@
   		dnl do not add -L/usr/lib because compiler does it anyway
           	if test "z$dir" = "z/usr/lib" ; then
               	    NSPR_LIBS="$NSPR_LIBS_LIST"
---- 570,576 ----
+--- 577,583 ----
   	done
   	
   	for dir in $ac_nss_lib_dir ; do
@@ -187,7 +331,7 @@
           	dnl do not add -L/usr/lib because compiler does it anyway
       		if test "z$dir" = "z/usr/lib" ; then
           	    NSS_LIBS="$NSS_LIBS_LIST"
---- 641,647 ----
+--- 648,654 ----
           done
          
           for dir in $ac_nss_lib_dir ; do
