[packages/mozilla-addon-gnome-keyring] - fix building with firefox 32+ - rel 2

baggins baggins at pld-linux.org
Sat Oct 4 22:48:45 CEST 2014


commit 8dffe3f56faff9679dba0f30665542dbd87a1709
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Sat Oct 4 22:48:30 2014 +0200

    - fix building with firefox 32+
    - rel 2

 firefox-32.patch                 | 135 +++++++++++++++++++++++++++++++++++++++
 mozilla-addon-gnome-keyring.spec |   4 +-
 2 files changed, 138 insertions(+), 1 deletion(-)
---
diff --git a/mozilla-addon-gnome-keyring.spec b/mozilla-addon-gnome-keyring.spec
index c6ccd2a..9c40660 100644
--- a/mozilla-addon-gnome-keyring.spec
+++ b/mozilla-addon-gnome-keyring.spec
@@ -2,11 +2,12 @@
 Summary:	Extension that enables Gnome Keyring integration
 Name:		mozilla-addon-%{extension}
 Version:	0.6.11
-Release:	1
+Release:	2
 License:	MPL v1.1 or GPL v2+ or LGPL v2.1+
 Group:		X11/Applications/Networking
 Source0:	https://github.com/infinity0/mozilla-gnome-keyring/archive/%{version}/%{name}-%{version}.tar.gz
 # Source0-md5:	f6abf2e5bc5de7ad3472998bfd68a763
+Patch0:		firefox-32.patch
 URL:		https://github.com/infinity0/mozilla-gnome-keyring/
 BuildRequires:	libgnome-keyring-devel >= 3.4.0
 BuildRequires:	libstdc++-devel
@@ -40,6 +41,7 @@ password after Firefox or Thunderbird has been started.
 
 %prep
 %setup -qn mozilla-gnome-keyring-%{version}
+%patch0 -p1
 
 %{__sed} -i -e '/^CXXFLAGS/ s/$/ $(OPTFLAGS)/' Makefile
 
diff --git a/firefox-32.patch b/firefox-32.patch
new file mode 100644
index 0000000..01299b8
--- /dev/null
+++ b/firefox-32.patch
@@ -0,0 +1,135 @@
+From e600ce95b830536bb48770a4448f91b9802ba999 Mon Sep 17 00:00:00 2001
+From: Andreas Allacher <andreas.allacher at cyberhouse.at>
+Date: Fri, 5 Sep 2014 16:53:36 +0200
+Subject: [PATCH] [TASK] xulrunner-sdk v32.0 support
+
+---
+ GnomeKeyring.cpp | 21 +++++++++++++++++++--
+ Makefile         |  2 +-
+ config.sh        | 26 +++++++++++++++++++++++++-
+ 3 files changed, 45 insertions(+), 4 deletions(-)
+
+diff --git a/GnomeKeyring.cpp b/GnomeKeyring.cpp
+index fd179d6..b1e8b1b 100644
+--- a/GnomeKeyring.cpp
++++ b/GnomeKeyring.cpp
+@@ -578,8 +578,11 @@ NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsILoginManagerStorage)
+ NS_INTERFACE_MAP_END
+ 
+ // End code to deal with 4.0  / 3.6 compatibility
+-
++#if HAVE_NSILMS_INITALIZE_MUTABLEHANDLE
++NS_IMETHODIMP GnomeKeyring::Initialize(JS::MutableHandleValue _retval)
++#else
+ NS_IMETHODIMP GnomeKeyring::Init()
++#endif
+ {
+   nsresult ret;
+   nsCOMPtr<nsIServiceManager> servMan;
+@@ -624,6 +627,14 @@ NS_IMETHODIMP GnomeKeyring::Init()
+   return ret;
+ }
+ 
++#if HAVE_NSILMS_TERMINATE_MUTABLEHANDLE
++NS_IMETHODIMP GnomeKeyring::Terminate(JS::MutableHandleValue _retval)
++{
++    return NS_ERROR_NOT_IMPLEMENTED;
++}
++#endif
++
++#if (HAVE_NSILMS_INITWITHFILE_2 || HAVE_NSILMS_INITWITHFILE_1)
+ #if HAVE_NSILMS_INITWITHFILE_2
+ NS_IMETHODIMP GnomeKeyring::InitWithFile(nsIFile *aInputFile,
+                                          nsIFile *aOutputFile)
+@@ -631,9 +642,13 @@ NS_IMETHODIMP GnomeKeyring::InitWithFile(nsIFile *aInputFile,
+ NS_IMETHODIMP GnomeKeyring::InitWithFile(nsIFile *aInputFile)
+ #endif
+ {
+-  // TODO
++#if HAVE_NSILMS_INITALIZE_MUTABLEHANDLE
++  return NS_ERROR_NOT_IMPLEMENTED;
++#else
+   return Init();
++#endif
+ }
++#endif
+ 
+ NS_IMETHODIMP GnomeKeyring::AddLogin(nsILoginInfo *aLogin)
+ {
+@@ -766,11 +781,13 @@ NS_IMETHODIMP GnomeKeyring::GetAllLogins(PRUint32 *aCount,
+   return foundListToArray(foundToLoginInfo, foundList, aCount, aLogins);
+ }
+ 
++#if HAVE_NSILMS_GETALLENCRYPTEDLOGINS
+ NS_IMETHODIMP GnomeKeyring::GetAllEncryptedLogins(unsigned int*,
+                                                   nsILoginInfo***)
+ {
+   return NS_ERROR_NOT_IMPLEMENTED;
+ }
++#endif
+ 
+ NS_IMETHODIMP GnomeKeyring::SearchLogins(PRUint32 *count,
+                                          nsIPropertyBag *matchData,
+diff --git a/Makefile b/Makefile
+index 38e4edd..dcc8984 100644
+--- a/Makefile
++++ b/Makefile
+@@ -62,7 +62,7 @@ else
+ endif
+ 
+ SHELL_EXPORT := $(foreach v,CXX XUL_CFLAGS XUL_LDFLAGS XPCOM_ABI_FLAGS GNOME_CFLAGS GNOME_LDFLAGS CXXFLAGS LDFLAGS,$(v)="$($(v))")
+-CXX_MACRO_EXPORT := $(foreach v,HAVE_NSILMS_CHAR16_T HAVE_NSILMS_GETISLOGGEDIN HAVE_NSILMS_INITWITHFILE_2 HAVE_MOZ_BUG_956507 HAVE_MOZGLUE,-D$(v)="$($(v))")
++CXX_MACRO_EXPORT := $(foreach v,HAVE_NSILMS_CHAR16_T HAVE_NSILMS_GETISLOGGEDIN HAVE_NSILMS_INITWITHFILE_1 HAVE_NSILMS_INITWITHFILE_2 HAVE_NSILMS_INITALIZE_MUTABLEHANDLE HAVE_NSILMS_TERMINATE_MUTABLEHANDLE HAVE_NSILMS_GETALLENCRYPTEDLOGINS HAVE_MOZ_BUG_956507 HAVE_MOZGLUE,-D$(v)="$($(v))")
+ 
+ config.vars: config.sh GnomeKeyring.h xpcom_abi.cpp Makefile
+ 	$(SHELL_EXPORT) sh $^ > $@
+diff --git a/config.sh b/config.sh
+index c36d7e6..d2c8136 100755
+--- a/config.sh
++++ b/config.sh
+@@ -25,12 +25,36 @@ NS_IMETHODIMP GnomeKeyring::GetIsLoggedIn(bool *aIsLoggedIn) { return NS_OK; }
+ EOF
+ )
+ 
++HAVE_NSILMS_INITWITHFILE_1=$({ cat <<EOF; } | $CXX $XUL_CFLAGS $GNOME_CFLAGS $CXXFLAGS -x c++ -w -c -o /dev/null - 2>/dev/null && echo 1 || echo 0
++#include "$SRC_GNOME_KEYRING_H"
++NS_IMETHODIMP GnomeKeyring::InitWithFile(nsIFile *aInputFile) { return NS_OK; }
++EOF
++)
++
+ HAVE_NSILMS_INITWITHFILE_2=$({ cat <<EOF; } | $CXX $XUL_CFLAGS $GNOME_CFLAGS $CXXFLAGS -x c++ -w -c -o /dev/null - 2>/dev/null && echo 1 || echo 0
+ #include "$SRC_GNOME_KEYRING_H"
+ NS_IMETHODIMP GnomeKeyring::InitWithFile(nsIFile *aInputFile, nsIFile *aOutputFile) { return NS_OK; }
+ EOF
+ )
+ 
++HAVE_NSILMS_INITALIZE_MUTABLEHANDLE=$({ cat <<EOF; } | $CXX $XUL_CFLAGS $GNOME_CFLAGS $CXXFLAGS -x c++ -w -c -o /dev/null - 2>/dev/null && echo 1 || echo 0
++#include "$SRC_GNOME_KEYRING_H"
++NS_IMETHODIMP GnomeKeyring::Initialize(JS::MutableHandleValue _retval) { return NS_OK; }
++EOF
++)
++
++HAVE_NSILMS_TERMINATE_MUTABLEHANDLE=$({ cat <<EOF; } | $CXX $XUL_CFLAGS $GNOME_CFLAGS $CXXFLAGS -x c++ -w -c -o /dev/null - 2>/dev/null && echo 1 || echo 0
++#include "$SRC_GNOME_KEYRING_H"
++NS_IMETHODIMP GnomeKeyring::Terminate(JS::MutableHandleValue _retval) { return NS_OK; }
++EOF
++)
++
++HAVE_NSILMS_GETALLENCRYPTEDLOGINS=$({ cat <<EOF; } | $CXX $XUL_CFLAGS $GNOME_CFLAGS $CXXFLAGS -x c++ -w -c -o /dev/null - 2>/dev/null && echo 1 || echo 0
++#include "$SRC_GNOME_KEYRING_H"
++NS_IMETHODIMP GnomeKeyring::GetAllEncryptedLogins(unsigned int*, nsILoginInfo***) { return NS_OK; }
++EOF
++)
++
+ HAVE_MOZ_BUG_956507=$({ cat <<EOF; } | $CXX $XUL_CFLAGS $GNOME_CFLAGS $CXXFLAGS -x c++ -w -c -o /dev/null - 2>/dev/null && echo 0 || echo 1
+ #include <nspr/prtypes.h>
+ #include "mozilla/Char16.h"
+@@ -48,7 +72,7 @@ $CXX $SRC_XPCOM_ABI_CPP -DHAVE_MOZ_BUG_956507="$HAVE_MOZ_BUG_956507" -o "$DST_XP
+ PLATFORM="$("$DST_XPCOM_ABI")"
+ 
+ for var in XUL_VERSION XUL_VER_MIN XUL_VER_MAX PLATFORM \
+-  HAVE_NSILMS_CHAR16_T HAVE_NSILMS_GETISLOGGEDIN HAVE_NSILMS_INITWITHFILE_2 HAVE_MOZ_BUG_956507 HAVE_MOZGLUE; do
++  HAVE_NSILMS_CHAR16_T HAVE_NSILMS_GETISLOGGEDIN HAVE_NSILMS_INITWITHFILE_1 HAVE_NSILMS_INITWITHFILE_2 HAVE_NSILMS_INITALIZE_MUTABLEHANDLE HAVE_NSILMS_TERMINATE_MUTABLEHANDLE HAVE_NSILMS_GETALLENCRYPTEDLOGINS HAVE_MOZ_BUG_956507 HAVE_MOZGLUE; do
+ 	eval val=\$$var
+ 	echo export $var=$val
+ done;
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/mozilla-addon-gnome-keyring.git/commitdiff/8dffe3f56faff9679dba0f30665542dbd87a1709



More information about the pld-cvs-commit mailing list