From ea6aa5ef309dd699107cb9ac810cd56a85971b28 Mon Sep 17 00:00:00 2001
From: Alberto Mardegan <mardy@users.sourceforge.net>
Date: Tue, 21 May 2019 18:51:41 +0300
Subject: [PATCH] [buteo-sync-plugins-social] Allow building without
 sailfishkeyprovider

Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
---
 src/common.pri                           | 6 +++++-
 src/google/googledatatypesyncadaptor.cpp | 6 ++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/common.pri b/src/common.pri
index c0c9fc6..9d554f7 100644
--- a/src/common.pri
+++ b/src/common.pri
@@ -1,12 +1,16 @@
 QMAKE_CXXFLAGS += -Werror
 CONFIG += link_pkgconfig
 PKGCONFIG += \
-    libsailfishkeyprovider \
     libsignon-qt5 \
     accounts-qt5 \
     buteosyncfw5 \
     socialcache
 
+packagesExist(libsailfishkeyprovider) {
+    PKGCONFIG += libsailfishkeyprovider
+    DEFINES += USE_SAILFISHKEYPROVIDER
+}
+
 QT += \
     network \
     dbus \
diff --git a/src/google/googledatatypesyncadaptor.cpp b/src/google/googledatatypesyncadaptor.cpp
index 8bb6e68..f47f94a 100644
--- a/src/google/googledatatypesyncadaptor.cpp
+++ b/src/google/googledatatypesyncadaptor.cpp
@@ -28,8 +28,10 @@
 #include <QtCore/QString>
 #include <QtCore/QByteArray>
 
+#ifdef USE_SAILFISHKEYPROVIDER
 //libsailfishkeyprovider
 #include <sailfishkeyprovider.h>
+#endif
 
 // libaccounts-qt5
 #include <Accounts/Manager>
@@ -169,6 +171,7 @@ QString GoogleDataTypeSyncAdaptor::clientSecret()
 
 void GoogleDataTypeSyncAdaptor::loadClientIdAndSecret()
 {
+#ifdef USE_SAILFISHKEYPROVIDER
     m_triedLoading = true;
     char *cClientId = NULL;
     char *cClientSecret = NULL;
@@ -194,6 +197,7 @@ void GoogleDataTypeSyncAdaptor::loadClientIdAndSecret()
 
     m_clientSecret = QLatin1String(cClientSecret);
     free(cClientSecret);
+#endif
 }
 
 void GoogleDataTypeSyncAdaptor::setCredentialsNeedUpdate(Accounts::Account *account)
@@ -244,8 +248,10 @@ void GoogleDataTypeSyncAdaptor::signIn(Accounts::Account *account)
     }
 
     QVariantMap signonSessionData = accSrv.authData().parameters();
+#ifdef USE_SAILFISHKEYPROVIDER
     signonSessionData.insert("ClientId", clientId());
     signonSessionData.insert("ClientSecret", clientSecret());
+#endif
     signonSessionData.insert("UiPolicy", SignOn::NoUserInteractionPolicy);
 
     connect(session, SIGNAL(response(SignOn::SessionData)),
-- 
2.39.5

