[packages/mozilla-addon-gnome-keyring] - the old C extension is unmaintaned and dead, switched to new JS based implementation - noarch pack

baggins baggins at pld-linux.org
Sun Nov 1 11:15:48 CET 2015


commit 7f552d17c8bbae979613fda779c790d82c410bd1
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Sun Nov 1 11:14:33 2015 +0100

    - the old C extension is unmaintaned and dead, switched to new JS based implementation
    - noarch package

 firefox-32.patch                 | 135 ---------------------------------------
 firefox-33.patch                 |  10 ---
 firefox-version.patch            |  20 ++++++
 mozilla-addon-gnome-keyring.spec |  88 ++++++++++---------------
 4 files changed, 55 insertions(+), 198 deletions(-)
---
diff --git a/mozilla-addon-gnome-keyring.spec b/mozilla-addon-gnome-keyring.spec
index e115d45..82fbd14 100644
--- a/mozilla-addon-gnome-keyring.spec
+++ b/mozilla-addon-gnome-keyring.spec
@@ -1,36 +1,23 @@
-%define		extension gnome-keyring
 Summary:	Extension that enables Gnome Keyring integration
-Name:		mozilla-addon-%{extension}
-Version:	0.6.11
-Release:	10
+Name:		mozilla-addon-gnome-keyring
+Version:	0.10
+Release:	1
 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
-Patch1:		firefox-33.patch
-URL:		https://github.com/infinity0/mozilla-gnome-keyring/
-BuildRequires:	libgnome-keyring-devel >= 3.4.0
-BuildRequires:	libstdc++-devel
-BuildRequires:	pkg-config
-BuildRequires:	xulrunner-devel
-BuildRequires:	zip
-Requires:	libgnome-keyring >= 3.4.0
-ExclusiveArch:	%{x8664} %{ix86}
+Source0:	https://github.com/swick/mozilla-gnome-keyring/archive/v%{version}/%{name}-%{version}.tar.gz
+# Source0-md5:	e633c093acd2ab86d342fb83fefb95f0
+Patch0:		firefox-version.patch
+URL:		https://github.com/swick/mozilla-gnome-keyring/
+Requires:	libsecret
+BuildArch:	noarch
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 # this comes from install.rdf
-%define		extension_id	\{6f9d85e0-794d-11dd-ad8b-0800200c9a66\}
-%define		extensionsdir	%{_libdir}/mozilla/extensions
+%define		extension_ffox_id	\{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
+%define		extension_tbird_id	\{3550f703-e582-4d05-9a08-453d09bdfdc6\}
+%define		extension_id		gnome-keyring-integration at sebastianwick.net
 
-# https://developer.mozilla.org/en/XPCOM_ABI#ABI_Naming
-%define		platform		unknown
-%ifarch %{ix86}
-%define		platform		Linux_x86-gcc3
-%endif
-%ifarch %{x8664}
-%define		platform		Linux_x86_64-gcc3
-%endif
+%define		extensionsdir		/usr/lib/mozilla/extensions
 
 %description
 This extension replaces the default password manager in both Firefox
@@ -43,46 +30,41 @@ password after Firefox or Thunderbird has been started.
 %prep
 %setup -qn mozilla-gnome-keyring-%{version}
 %patch0 -p1
-%patch1 -p1
-
-%{__sed} -i -e '/^CXXFLAGS/ s/$/ $(OPTFLAGS)/' Makefile
 
 %build
-# build ext for current arch only
-%{__make} build-xpi \
-	PLATFORM=%{platform} \
-	VERSION=%{version} \
-	XUL_VER_MIN=17.0 \
-	CXX="%{__cxx}" \
-	LDFLAGS="%{rpmldflags} -pthread" \
-	OPTFLAGS="%{rpmcxxflags} -fpermissive"
+%{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-# Install Gecko extension
-install -d $RPM_BUILD_ROOT%{extensionsdir}/%{extension_id}
-cp -a xpi/* $RPM_BUILD_ROOT%{extensionsdir}/%{extension_id}
+
+install -d $RPM_BUILD_ROOT%{extensionsdir}/%{extension_ffox_id}/%{extension_id}
+install -d $RPM_BUILD_ROOT%{extensionsdir}/%{extension_tbird_id}
+
+ln -s %{extensionsdir}/%{extension_ffox_id}/%{extension_id} $RPM_BUILD_ROOT%{extensionsdir}/%{extension_tbird_id}/%{extension_id}
+
+unzip bin/*.xpi -d $RPM_BUILD_ROOT%{extensionsdir}/%{extension_ffox_id}/%{extension_id}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %triggerin -- icedove
-test -L %{_libdir}/icedove/extensions/%{extension_id} || \
-	ln -sf %{extensionsdir}/%{extension_id} %{_libdir}/icedove/extensions/%{extension_id}
+test -L %{_libdir}/icedove/extensions/%{extension_tbird_id} || \
+	ln -sf %{extensionsdir}/%{extension_tbird_id} %{_libdir}/icedove/extensions/%{extension_tbird_id}
 
 %triggerun -- icedove
-if [ "$1" = "0" ] || [ "$2" = "0" ] && [ -L %{_libdir}/icedove/extensions/%{extension_id} ]; then
-	rm -f %{_libdir}/icedove/extensions/%{extension_id}
+if [ "$1" = "0" ] || [ "$2" = "0" ] && [ -L %{_libdir}/icedove/extensions/%{extension_tbird_id} ]; then
+	rm -f %{_libdir}/icedove/extensions/%{extension_tbird_id}
 fi
 
 %files
 %defattr(644,root,root,755)
-%dir %{extensionsdir}/%{extension_id}
-%{extensionsdir}/%{extension_id}/chrome
-%{extensionsdir}/%{extension_id}/chrome.manifest
-%{extensionsdir}/%{extension_id}/defaults
-%{extensionsdir}/%{extension_id}/install.rdf
-%dir %{extensionsdir}/%{extension_id}/platform
-%dir %{extensionsdir}/%{extension_id}/platform/%{platform}
-%dir %{extensionsdir}/%{extension_id}/platform/%{platform}/components
-%attr(755,root,root) %{extensionsdir}/%{extension_id}/platform/%{platform}/components/libgnomekeyring.so
+%dir %{extensionsdir}/%{extension_ffox_id}
+%dir %{extensionsdir}/%{extension_ffox_id}/%{extension_id}
+%{extensionsdir}/%{extension_ffox_id}/%{extension_id}/chrome.manifest
+%{extensionsdir}/%{extension_ffox_id}/%{extension_id}/install.rdf
+%{extensionsdir}/%{extension_ffox_id}/%{extension_id}/chrome
+%{extensionsdir}/%{extension_ffox_id}/%{extension_id}/components
+%{extensionsdir}/%{extension_ffox_id}/%{extension_id}/content
+%{extensionsdir}/%{extension_ffox_id}/%{extension_id}/defaults
+%dir %{extensionsdir}/%{extension_tbird_id}
+%{extensionsdir}/%{extension_tbird_id}/%{extension_id}
diff --git a/firefox-32.patch b/firefox-32.patch
deleted file mode 100644
index 01299b8..0000000
--- a/firefox-32.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-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;
diff --git a/firefox-33.patch b/firefox-33.patch
deleted file mode 100644
index b5b7256..0000000
--- a/firefox-33.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- mozilla-gnome-keyring-0.6.11/GnomeKeyring.h~	2014-10-18 22:19:04.000000000 +0200
-+++ mozilla-gnome-keyring-0.6.11/GnomeKeyring.h	2014-10-18 22:23:16.478743383 +0200
-@@ -84,6 +84,7 @@
-   GnomeKeyringResult
-   findHostItemsAll(GList** found);
- 
-+  ~GnomeKeyring() {}
- public:
-   NS_DECL_ISUPPORTS
-   NS_DECL_NSILOGINMANAGERSTORAGE
diff --git a/firefox-version.patch b/firefox-version.patch
new file mode 100644
index 0000000..6f2e79a
--- /dev/null
+++ b/firefox-version.patch
@@ -0,0 +1,20 @@
+--- mozilla-gnome-keyring-0.10/install.rdf~	2015-07-01 19:11:55.000000000 +0200
++++ mozilla-gnome-keyring-0.10/install.rdf	2015-10-31 10:27:34.839480083 +0100
+@@ -20,7 +20,7 @@
+       <Description>
+         <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
+         <em:minVersion>4.0</em:minVersion>
+-        <em:maxVersion>39.*</em:maxVersion>
++        <em:maxVersion>50.*</em:maxVersion>
+       </Description>
+     </em:targetApplication>
+ 
+@@ -29,7 +29,7 @@
+       <Description>
+         <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id>
+         <em:minVersion>5.0</em:minVersion>
+-        <em:maxVersion>39.*</em:maxVersion>
++        <em:maxVersion>50.*</em:maxVersion>
+       </Description>
+     </em:targetApplication>
+   </Description>
================================================================

---- gitweb:

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



More information about the pld-cvs-commit mailing list