package/synergy: bump to version 1.8.5

The project moved from SourceForge to GitHub.

The buildsystem changed from autotools to CMake.

Removed patches:
- 0001-includes.patch
    Not needed anymore, was fixed upstream.
- 0002-remove-werror.patch
    Autotools patch, no longer applicable.
- 0003-Fix-build-with-gcc-6.patch
    This patch was applied upstream:
    3d963bfbe7

Add patch to disable building of tests and allow building without gtest.

Signed-off-by: Pieterjan Camerlynck <pieterjan.camerlynck@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Pieterjan Camerlynck 2017-03-29 12:14:05 +02:00 committed by Thomas Petazzoni
parent 9ebafdbde2
commit 3c94060304
8 changed files with 118 additions and 282 deletions

View File

@ -1270,6 +1270,7 @@ F: package/libvips/
N: Pieterjan Camerlynck <pieterjan.camerlynck@gmail.com>
F: package/libdvbpsi/
F: package/mraa/
F: package/synergy/
N: Pranit Sirsat <Pranit.Sirsat@imgtec.com>
F: package/paho-mqtt-c/

View File

@ -0,0 +1,86 @@
From cb6b00947ea125c3246654bb3dd3986b64e974d4 Mon Sep 17 00:00:00 2001
From: Pieterjan Camerlynck <pieterjan.camerlynck@gmail.com>
Date: Mon, 27 Mar 2017 21:51:59 +0200
Subject: [PATCH] allow building of synergy without tests
Upstream status: https://github.com/symless/synergy/pull/5943
Signed-off-by: Pieterjan Camerlynck <pieterjan.camerlynck@gmail.com>
---
CMakeLists.txt | 2 ++
src/CMakeLists.txt | 2 +-
src/lib/synergy/KeyMap.h | 4 ++++
src/test/unittests/synergy/KeyMapTests.cpp | 2 ++
4 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 94c474e..cceac45 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -39,6 +39,8 @@ endif()
# First, declare project (important for prerequisite checks).
project(synergy C CXX)
+option(BUILD_TESTS "Override building of tests" ON)
+
# put binaries in a different dir to make them easier to find.
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 237ba48..96dadd2 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -50,6 +50,6 @@ add_subdirectory(lib)
add_subdirectory(cmd)
add_subdirectory(micro)
-if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "IRIX")
+if (BUILD_TESTS AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "IRIX")
add_subdirectory(test)
endif()
diff --git a/src/lib/synergy/KeyMap.h b/src/lib/synergy/KeyMap.h
index de869e6..51e7e07 100644
--- a/src/lib/synergy/KeyMap.h
+++ b/src/lib/synergy/KeyMap.h
@@ -24,7 +24,9 @@
#include "common/stdset.h"
#include "common/stdvector.h"
+#ifdef TEST_ENV
#include "gtest/gtest_prod.h"
+#endif
namespace synergy {
@@ -326,6 +328,7 @@ public:
//@}
+#ifdef TEST_ENV
private:
FRIEND_TEST(KeyMapTests,
findBestKey_requiredDown_matchExactFirstItem);
@@ -340,6 +343,7 @@ private:
FRIEND_TEST(KeyMapTests,
findBestKey_onlyOneRequiredDown_matchTwoRequiredChangesItem);
FRIEND_TEST(KeyMapTests, findBestKey_noRequiredDown_cannotMatch);
+#endif
private:
//! Ways to synthesize a key
diff --git a/src/test/unittests/synergy/KeyMapTests.cpp b/src/test/unittests/synergy/KeyMapTests.cpp
index 1a195af..fe2a5e4 100644
--- a/src/test/unittests/synergy/KeyMapTests.cpp
+++ b/src/test/unittests/synergy/KeyMapTests.cpp
@@ -15,6 +15,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#define TEST_ENV
+
#include "synergy/KeyMap.h"
#include "test/global/gtest.h"
--
2.7.4

View File

@ -1,167 +0,0 @@
[PATCH] fix build with modern toolchains
Several files are missing the correct includes for exit/getenvmemcpy/strlen/..
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
lib/arch/CArchDaemonUnix.cpp | 1 +
lib/arch/CMultibyte.cpp | 1 +
lib/base/CStringUtil.cpp | 1 +
lib/client/CClient.cpp | 3 ++-
lib/client/CServerProxy.cpp | 1 +
lib/net/CTCPSocket.cpp | 2 +-
lib/platform/CXWindowsScreen.cpp | 1 +
lib/server/CClientProxy1_3.cpp | 1 +
lib/server/CServer.cpp | 1 +
lib/synergy/CPacketStreamFilter.cpp | 1 +
lib/synergy/IKeyState.cpp | 1 +
lib/synergy/IPrimaryScreen.cpp | 1 +
12 files changed, 13 insertions(+), 2 deletions(-)
Index: synergy-1.3.1/lib/arch/CArchDaemonUnix.cpp
===================================================================
--- synergy-1.3.1.orig/lib/arch/CArchDaemonUnix.cpp
+++ synergy-1.3.1/lib/arch/CArchDaemonUnix.cpp
@@ -19,6 +19,7 @@
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
+#include <stdlib.h>
//
// CArchDaemonUnix
Index: synergy-1.3.1/lib/arch/CMultibyte.cpp
===================================================================
--- synergy-1.3.1.orig/lib/arch/CMultibyte.cpp
+++ synergy-1.3.1/lib/arch/CMultibyte.cpp
@@ -19,6 +19,7 @@
#include "CArch.h"
#include <limits.h>
#include <string.h>
+#include <stdlib.h>
#if HAVE_LOCALE_H
# include <locale.h>
#endif
Index: synergy-1.3.1/lib/base/CStringUtil.cpp
===================================================================
--- synergy-1.3.1.orig/lib/base/CStringUtil.cpp
+++ synergy-1.3.1/lib/base/CStringUtil.cpp
@@ -19,6 +19,7 @@
#include <cctype>
#include <cstdio>
#include <cstdlib>
+#include <cstring>
#include <algorithm>
//
Index: synergy-1.3.1/lib/client/CClient.cpp
===================================================================
--- synergy-1.3.1.orig/lib/client/CClient.cpp
+++ synergy-1.3.1/lib/client/CClient.cpp
@@ -26,7 +26,8 @@
#include "CLog.h"
#include "IEventQueue.h"
#include "TMethodEventJob.h"
-
+#include <string.h>
+#include <stdlib.h>
//
// CClient
//
Index: synergy-1.3.1/lib/client/CServerProxy.cpp
===================================================================
--- synergy-1.3.1.orig/lib/client/CServerProxy.cpp
+++ synergy-1.3.1/lib/client/CServerProxy.cpp
@@ -24,6 +24,7 @@
#include "TMethodEventJob.h"
#include "XBase.h"
#include <memory>
+#include <string.h>
//
// CServerProxy
Index: synergy-1.3.1/lib/net/CTCPSocket.cpp
===================================================================
--- synergy-1.3.1.orig/lib/net/CTCPSocket.cpp
+++ synergy-1.3.1/lib/net/CTCPSocket.cpp
@@ -24,7 +24,7 @@
#include "CArch.h"
#include "XArch.h"
#include <string.h>
-
+#include <stdlib.h>
//
// CTCPSocket
//
Index: synergy-1.3.1/lib/platform/CXWindowsScreen.cpp
===================================================================
--- synergy-1.3.1.orig/lib/platform/CXWindowsScreen.cpp
+++ synergy-1.3.1/lib/platform/CXWindowsScreen.cpp
@@ -27,6 +27,7 @@
#include "IEventQueue.h"
#include "TMethodEventJob.h"
#include <cstring>
+#include <stdlib.h>
#if X_DISPLAY_MISSING
# error X11 is required to build synergy
#else
Index: synergy-1.3.1/lib/server/CClientProxy1_3.cpp
===================================================================
--- synergy-1.3.1.orig/lib/server/CClientProxy1_3.cpp
+++ synergy-1.3.1/lib/server/CClientProxy1_3.cpp
@@ -17,6 +17,7 @@
#include "CLog.h"
#include "IEventQueue.h"
#include "TMethodEventJob.h"
+#include <string.h>
//
// CClientProxy1_3
Index: synergy-1.3.1/lib/server/CServer.cpp
===================================================================
--- synergy-1.3.1.orig/lib/server/CServer.cpp
+++ synergy-1.3.1/lib/server/CServer.cpp
@@ -29,6 +29,7 @@
#include "TMethodEventJob.h"
#include "CArch.h"
#include <string.h>
+#include <stdlib.h>
//
// CServer
Index: synergy-1.3.1/lib/synergy/CPacketStreamFilter.cpp
===================================================================
--- synergy-1.3.1.orig/lib/synergy/CPacketStreamFilter.cpp
+++ synergy-1.3.1/lib/synergy/CPacketStreamFilter.cpp
@@ -16,6 +16,7 @@
#include "IEventQueue.h"
#include "CLock.h"
#include "TMethodEventJob.h"
+#include <string.h>
//
// CPacketStreamFilter
Index: synergy-1.3.1/lib/synergy/IKeyState.cpp
===================================================================
--- synergy-1.3.1.orig/lib/synergy/IKeyState.cpp
+++ synergy-1.3.1/lib/synergy/IKeyState.cpp
@@ -14,6 +14,7 @@
#include "IKeyState.h"
#include <string.h>
+#include <stdlib.h>
//
// IKeyState
Index: synergy-1.3.1/lib/synergy/IPrimaryScreen.cpp
===================================================================
--- synergy-1.3.1.orig/lib/synergy/IPrimaryScreen.cpp
+++ synergy-1.3.1/lib/synergy/IPrimaryScreen.cpp
@@ -13,6 +13,7 @@
*/
#include "IPrimaryScreen.h"
+#include <stdlib.h>
//
// IPrimaryScreen

View File

@ -1,16 +0,0 @@
Remove -Werror from CXXFLAGS
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Index: synergy-1.3.1/configure.in
===================================================================
--- synergy-1.3.1.orig/configure.in
+++ synergy-1.3.1/configure.in
@@ -239,7 +239,6 @@ dnl checks for system services
dnl enable maximum compiler warnings and warnings are errors.
ACX_CXX_WARNINGS
-ACX_CXX_WARNINGS_ARE_ERRORS
dnl adjust compiler and linker variables
CXXFLAGS="$CXXFLAGS $SYNERGY_CXXFLAGS $ARCH_CFLAGS"

View File

@ -1,86 +0,0 @@
From b79d478c21ed6af20554ead97da72de845dc3206 Mon Sep 17 00:00:00 2001
From: Peter Korsgaard <peter@korsgaard.com>
Date: Sat, 25 Feb 2017 21:57:19 +0100
Subject: [PATCH] Fix build with gcc 6
Gcc 6.x defaults to C++14, and the iostream operator bool behaviour changed
in C++11. In previous versions, a somewhat odd operator void* was used to
return the status of the stream as a pointer. Since C++11 a more sensible
operator bool is used to return the stream staus.
For details, see:
http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool
The code in CConfigReadContext assumes the pre-C++11 behaviour and provides
its own operator void overload to return the status of the embedded
iostream. With C++11, iostream no longer provides this overload, breaking
the build:
CConfig.cpp: In member function 'CConfigReadContext::operator void*() const':
CConfig.cpp:1851:9: error: cannot convert 'std::istream {aka std::basic_istream<char>}' to 'void*' in return
return m_stream;
To fix it, backport part of upstream commit 3d963bfbe7897d0a33ad (possible
fix for mavericks) which changes the code to simply provide a getStream()
method which returns a reference to the embedded stream and the calling code
is changed to use operator bool on the returned stream, making the code
compatible with both old and new compilers.
This upstream commit is part of the 1.6.0 release, so can be dropped when
the version is bumped.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
lib/server/CConfig.cpp | 7 +------
lib/server/CConfig.h | 2 +-
2 files changed, 2 insertions(+), 7 deletions(-)
diff --git a/lib/server/CConfig.cpp b/lib/server/CConfig.cpp
index a502fe78..d67dde20 100644
--- a/lib/server/CConfig.cpp
+++ b/lib/server/CConfig.cpp
@@ -607,7 +607,7 @@ void
CConfig::read(CConfigReadContext& context)
{
CConfig tmp;
- while (context) {
+ while (context.getStream()) {
tmp.readSection(context);
}
*this = tmp;
@@ -1846,11 +1846,6 @@ CConfigReadContext::getLineNumber() const
return m_line;
}
-CConfigReadContext::operator void*() const
-{
- return m_stream;
-}
-
bool
CConfigReadContext::operator!() const
{
diff --git a/lib/server/CConfig.h b/lib/server/CConfig.h
index c0d2faa8..0ee453cb 100644
--- a/lib/server/CConfig.h
+++ b/lib/server/CConfig.h
@@ -480,7 +480,6 @@ public:
bool readLine(CString&);
UInt32 getLineNumber() const;
- operator void*() const;
bool operator!() const;
OptionValue parseBoolean(const CString&) const;
@@ -502,6 +501,7 @@ public:
IPlatformScreen::CButtonInfo*
parseMouse(const CString& mouse) const;
KeyModifierMask parseModifier(const CString& modifiers) const;
+ std::istream& getStream() const { return m_stream; };
private:
// not implemented
--
2.11.0

View File

@ -4,6 +4,9 @@ config BR2_PACKAGE_SYNERGY
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_LIBCURL
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_XLIB_LIBX11
select BR2_PACKAGE_XLIB_LIBXTST
help
Synergy lets you easily share a single mouse and
@ -11,7 +14,7 @@ config BR2_PACKAGE_SYNERGY
operating systems, each with its own display,
without special hardware.
http://synergy2.sourceforge.net/
https://github.com/symless/synergy/
comment "synergy needs a toolchain w/ C++, wchar"
depends on BR2_PACKAGE_XORG7

View File

@ -1,2 +1,2 @@
# Locally computed:
sha256 4a15e26456498dda5f3aa7d688a4892e0c50394a2f01685136fbc954bacc9691 synergy-1.3.1.tar.gz
sha256 d913005e911bb6e5aa459f88fe91b40d59c37ea7207399814e4d450fd8634ec1 synergy-v1.8.5-stable.tar.gz

View File

@ -4,16 +4,31 @@
#
################################################################################
SYNERGY_VERSION = 1.3.1
SYNERGY_SITE = http://downloads.sourceforge.net/project/synergy2/Sources/$(SYNERGY_VERSION)
SYNERGY_AUTORECONF = YES
SYNERGY_CONF_OPTS = \
--x-includes=$(STAGING_DIR)/usr/include/X11 \
--x-libraries=$(STAGING_DIR)/usr/lib
SYNERGY_DEPENDENCIES = \
xlib_libXtst \
$(if $(BR2_PACKAGE_XLIB_LIBXINERAMA),xlib_libXinerama)
SYNERGY_VERSION = v1.8.5-stable
SYNERGY_SITE = $(call github,symless,synergy,$(SYNERGY_VERSION))
SYNERGY_LICENSE = GPLv2
SYNERGY_LICENSE_FILES = COPYING
SYNERGY_LICENSE_FILES = LICENSE
SYNERGY_DEPENDENCIES = libcurl openssl xlib_libX11 xlib_libXtst
$(eval $(autotools-package))
ifeq ($(BR2_PACKAGE_XLIB_LIBXEXT),y)
SYNERGY_DEPENDENCIES += xlib_libXext
endif
ifeq ($(BR2_PACKAGE_XLIB_LIBXI),y)
SYNERGY_DEPENDENCIES += xlib_libXi
endif
ifeq ($(BR2_PACKAGE_XLIB_LIBXINERAMA),y)
SYNERGY_DEPENDENCIES += xlib_libXinerama
endif
ifeq ($(BR2_PACKAGE_XLIB_LIBXRANDR),y)
SYNERGY_DEPENDENCIES += xlib_libXrandr
endif
define SYNERGY_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 $(@D)/bin/synergyc $(TARGET_DIR)/usr/bin/synergyc
$(INSTALL) -D -m 0755 $(@D)/bin/synergys $(TARGET_DIR)/usr/bin/synergys
endef
$(eval $(cmake-package))