Hi ports -- Here's a rather large update for Synergy. Changelog is here: http://synergy-foss.org/blog/synergy-1-4-17-released/
Works on amd64 and macppc. Testing on some of the past troublesome arches (mips64*/sparc64/hppa) appreciated, especially sparc64 or hppa.
OK? ~Brian
Index: Makefile =================================================================== RCS file: /cvs/ports/net/synergy/Makefile,v retrieving revision 1.23 diff -u -p -r1.23 Makefile --- Makefile 5 Dec 2013 15:53:14 -0000 1.23 +++ Makefile 16 Apr 2014 02:46:48 -0000 @@ -2,27 +2,26 @@ COMMENT= mouse and keyboard sharing utility -V= 1.4.15 -DISTNAME= synergy-${V}-Source +V= 1.4.17 +DISTNAME= synergy-${V}-r2055-Source PKGNAME= synergy-${V} -REVISION= 0 CATEGORIES= net x11 MAINTAINER= Brian Callahan <bcal...@openbsd.org> - HOMEPAGE= http://synergy-foss.org/ # GPLv2 PERMIT_PACKAGE_CDROM= Yes WANTLIB= ICE SM X11 Xext Xi Xinerama Xrandr Xtst \ - c cryptopp m pthread stdc++ + c cryptopp curl m pthread stdc++ -MASTER_SITES= https://synergy.googlecode.com/files/ +MASTER_SITES= http://fossfiles.com/synergy/ BUILD_DEPENDS= archivers/gtar -LIB_DEPENDS= devel/cryptopp +LIB_DEPENDS= devel/cryptopp \ + net/curl # tar: Invalid header, starting valid header search. TAR= ${LOCALBASE}/bin/gtar @@ -31,8 +30,7 @@ MODULES= devel/cmake NO_TEST= Yes -pre-patch: - @cd ${WRKSRC} ; perl -pi -e 's/\r$$//' CMakeLists.txt +WRKDIST= ${WRKDIR}/synergy-${V}-Source do-install: ${INSTALL_PROGRAM} ${WRKSRC}/bin/synergy[cs] ${PREFIX}/bin/ Index: distinfo =================================================================== RCS file: /cvs/ports/net/synergy/distinfo,v retrieving revision 1.8 diff -u -p -r1.8 distinfo --- distinfo 18 Nov 2013 23:56:35 -0000 1.8 +++ distinfo 16 Apr 2014 02:46:48 -0000 @@ -1,2 +1,2 @@ -SHA256 (synergy-1.4.15-Source.tar.gz) = ZDdFiI7GFQ50y22pgT+MdXLy+HzzXwvU9kzB5GfvNVA= -SIZE (synergy-1.4.15-Source.tar.gz) = 4122349 +SHA256 (synergy-1.4.17-r2055-Source.tar.gz) = lcfkDQuiSfkYZtQz8/JAd3HD2fcuJXxbBlXvhPdVitc= +SIZE (synergy-1.4.17-r2055-Source.tar.gz) = 4320555 Index: patches/patch-CMakeLists_txt =================================================================== RCS file: /cvs/ports/net/synergy/patches/patch-CMakeLists_txt,v retrieving revision 1.4 diff -u -p -r1.4 patch-CMakeLists_txt --- patches/patch-CMakeLists_txt 18 Nov 2013 23:56:35 -0000 1.4 +++ patches/patch-CMakeLists_txt 16 Apr 2014 02:46:48 -0000 @@ -1,7 +1,16 @@ $OpenBSD: patch-CMakeLists_txt,v 1.4 2013/11/18 23:56:35 bcallah Exp $ ---- CMakeLists.txt.orig Sun Nov 17 15:00:17 2013 -+++ CMakeLists.txt Sun Nov 17 15:00:17 2013 -@@ -87,7 +87,7 @@ if (UNIX) +--- CMakeLists.txt.orig Fri Mar 14 16:34:19 2014 ++++ CMakeLists.txt Tue Apr 15 22:35:21 2014 +@@ -77,7 +77,7 @@ if (UNIX) + + # warnings as errors: + # we have a problem with people checking in code with warnings. +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + + # For config.h, detect the libraries, functions, etc. + include(CheckIncludeFiles) +@@ -99,7 +99,7 @@ if (UNIX) check_include_files(strings.h HAVE_STRINGS_H) check_include_files(string.h HAVE_STRING_H) check_include_files(sys/select.h HAVE_SYS_SELECT_H) @@ -10,7 +19,7 @@ $OpenBSD: patch-CMakeLists_txt,v 1.4 201 check_include_files(sys/stat.h HAVE_SYS_STAT_H) check_include_files(sys/time.h HAVE_SYS_TIME_H) check_include_files(sys/utsname.h HAVE_SYS_UTSNAME_H) -@@ -98,7 +98,6 @@ if (UNIX) +@@ -110,7 +110,6 @@ if (UNIX) check_function_exists(gmtime_r HAVE_GMTIME_R) check_function_exists(nanosleep HAVE_NANOSLEEP) check_function_exists(poll HAVE_POLL) @@ -18,18 +27,18 @@ $OpenBSD: patch-CMakeLists_txt,v 1.4 201 check_function_exists(strftime HAVE_STRFTIME) check_function_exists(vsnprintf HAVE_VSNPRINTF) check_function_exists(inet_aton HAVE_INET_ATON) -@@ -140,6 +139,8 @@ if (UNIX) - else (HAVE_PTHREAD) +@@ -153,6 +152,8 @@ if (UNIX) message(FATAL_ERROR "Missing library: pthread") endif() -+ + + check_library_exists("pthread" sigwait "" HAVE_POSIX_SIGWAIT) - - if (APPLE) - exec_program(uname ARGS -v OUTPUT_VARIABLE DARWIN_VERSION) -@@ -174,78 +175,58 @@ if (UNIX) ++ + # curl is used on both Linux and Mac + find_package(CURL) + if (CURL_FOUND) +@@ -194,78 +195,60 @@ if (UNIX) - else() + else() # not-apple - # add include dir for bsd (posix uses /usr/include/) - set(CMAKE_INCLUDE_PATH "${CMAKE_INCLUDE_PATH}:/usr/local/include") @@ -65,7 +74,7 @@ $OpenBSD: patch-CMakeLists_txt,v 1.4 201 + set(HAVE_X11_EXTENSIONS_XTEST_H 1) + list(APPEND libs ${X11_XTest_LIB}) + else() -+ message(FATAL_ERROR "Xtst is needed") ++ message(FATAL_ERROR "XTest is needed") endif() - check_library_exists("SM;ICE" IceConnectionNumber "" HAVE_ICE) @@ -102,11 +111,8 @@ $OpenBSD: patch-CMakeLists_txt,v 1.4 201 + list(APPEND libs ${X11_Xext_LIB}) endif() -- if (HAVE_Xext) -- list(APPEND libs Xext) -+ if(X11_Xinerama_FOUND) -+ set(HAVE_X11_EXTENSIONS_XINERAMA_H 1) -+ list(APPEND libs ${X11_Xinerama_LIB}) + if (HAVE_Xext) + list(APPEND libs Xext) endif() - if (HAVE_Xinerama) @@ -116,35 +122,40 @@ $OpenBSD: patch-CMakeLists_txt,v 1.4 201 - set(HAVE_X11_EXTENSIONS_XINERAMA_H 0) - message(WARNING "Old Xinerama implementation detected, disabled") - endif() -+ if(X11_Xinput_FOUND) -+ set(HAVE_XI2 1) -+ list(APPEND libs ${X11_Xinput_LIB}) ++ if(X11_Xinerama_FOUND) ++ set(HAVE_X11_EXTENSIONS_XINERAMA_H 1) ++ list(APPEND libs ${X11_Xinerama_LIB}) endif() - if (HAVE_Xrandr) - list(APPEND libs Xrandr) ++ if(X11_Xinput_FOUND) ++ set(HAVE_XI2 1) ++ list(APPEND libs ${X11_Xinput_LIB}) + endif() +- +- # this was outside of the linux scope, +- # not sure why, moving it back inside. +- if(HAVE_Xi) +- list(APPEND libs Xi) ++ + if(X11_Xrandr_FOUND) + set(HAVE_X11_EXTENSIONS_XRANDR_H 1) + list(APPEND libs ${X11_Xrandr_LIB}) endif() ++ ++ if (CMAKE_SYSTEM_NAME MATCHES "OpenBSD") ++ include_directories(${OPENBSD_LOCALBASE}/include) ++ link_directories(${OPENBSD_LOCALBASE}/lib) ++ endif() endif() -- IF(HAVE_Xi) -- LIST(APPEND libs Xi) -- ENDIF() -+ if (CMAKE_SYSTEM_NAME MATCHES "OpenBSD") -+ include_directories(${OPENBSD_LOCALBASE}/include) -+ link_directories(${OPENBSD_LOCALBASE}/lib) -+ endif() - - # For config.h, set some static values; it may be a good idea to make - # these values dynamic for non-standard UNIX compilers. -@@ -295,7 +276,6 @@ else (UNIX) +@@ -317,7 +300,6 @@ else() # not-unix endif() add_subdirectory(src) --add_subdirectory(tools) +-add_subdirectory(ext) if (WIN32) - # add /analyze in order to unconver potential bugs in the source code + # TODO: consider using /analyze to uncover potential bugs in the source code. Index: patches/patch-src_CMakeLists_txt =================================================================== RCS file: /cvs/ports/net/synergy/patches/patch-src_CMakeLists_txt,v retrieving revision 1.1 diff -u -p -r1.1 patch-src_CMakeLists_txt --- patches/patch-src_CMakeLists_txt 5 Dec 2013 15:53:14 -0000 1.1 +++ patches/patch-src_CMakeLists_txt 16 Apr 2014 02:46:48 -0000 @@ -1,12 +1,11 @@ $OpenBSD: patch-src_CMakeLists_txt,v 1.1 2013/12/05 15:53:14 bcallah Exp $ ---- src/CMakeLists.txt.orig Wed Dec 4 14:58:15 2013 -+++ src/CMakeLists.txt Wed Dec 4 14:58:26 2013 -@@ -16,8 +16,5 @@ - - add_subdirectory(lib) +--- src/CMakeLists.txt.orig Tue Apr 15 22:26:08 2014 ++++ src/CMakeLists.txt Tue Apr 15 22:26:13 2014 +@@ -18,7 +18,3 @@ add_subdirectory(lib) add_subdirectory(cmd) + add_subdirectory(plugin) + add_subdirectory(micro) +- -if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "IRIX") - add_subdirectory(test) -endif() - add_subdirectory(plugin) - add_subdirectory(micro) Index: patches/patch-src_lib_io_CCryptoMode_h =================================================================== RCS file: patches/patch-src_lib_io_CCryptoMode_h diff -N patches/patch-src_lib_io_CCryptoMode_h --- patches/patch-src_lib_io_CCryptoMode_h 18 Nov 2013 23:56:35 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,16 +0,0 @@ -$OpenBSD: patch-src_lib_io_CCryptoMode_h,v 1.1 2013/11/18 23:56:35 bcallah Exp $ ---- src/lib/io/CCryptoMode.h.orig Sun Nov 17 15:03:30 2013 -+++ src/lib/io/CCryptoMode.h Sun Nov 17 15:03:44 2013 -@@ -17,9 +17,9 @@ - - #pragma once - --#include <cryptopp562/gcm.h> --#include <cryptopp562/modes.h> --#include <cryptopp562/aes.h> -+#include <cryptopp/gcm.h> -+#include <cryptopp/modes.h> -+#include <cryptopp/aes.h> - #include "ECryptoMode.h" - #include "CString.h" - Index: patches/patch-src_lib_io_CCryptoStream_h =================================================================== RCS file: patches/patch-src_lib_io_CCryptoStream_h diff -N patches/patch-src_lib_io_CCryptoStream_h --- patches/patch-src_lib_io_CCryptoStream_h 18 Nov 2013 23:56:35 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,14 +0,0 @@ -$OpenBSD: patch-src_lib_io_CCryptoStream_h,v 1.1 2013/11/18 23:56:35 bcallah Exp $ ---- src/lib/io/CCryptoStream.h.orig Sun Nov 17 15:04:03 2013 -+++ src/lib/io/CCryptoStream.h Sun Nov 17 15:04:14 2013 -@@ -20,8 +20,8 @@ - #include "BasicTypes.h" - #include "CStreamFilter.h" - #include "CCryptoMode.h" --#include <cryptopp562/osrng.h> --#include <cryptopp562/sha.h> -+#include <cryptopp/osrng.h> -+#include <cryptopp/sha.h> - - class CCryptoOptions; - Index: patches/patch-src_lib_io_CryptoMode_cryptopp_h =================================================================== RCS file: patches/patch-src_lib_io_CryptoMode_cryptopp_h diff -N patches/patch-src_lib_io_CryptoMode_cryptopp_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_lib_io_CryptoMode_cryptopp_h 16 Apr 2014 02:46:48 -0000 @@ -0,0 +1,13 @@ +$OpenBSD$ +--- src/lib/io/CryptoMode_cryptopp.h.orig Tue Apr 15 22:33:00 2014 ++++ src/lib/io/CryptoMode_cryptopp.h Tue Apr 15 22:33:25 2014 +@@ -25,6 +25,6 @@ + # pragma GCC system_header + #endif + +-#include <cryptopp562/gcm.h> +-#include <cryptopp562/modes.h> +-#include <cryptopp562/aes.h> ++#include <cryptopp/gcm.h> ++#include <cryptopp/modes.h> ++#include <cryptopp/aes.h> Index: patches/patch-src_lib_io_CryptoStream_cryptopp_h =================================================================== RCS file: patches/patch-src_lib_io_CryptoStream_cryptopp_h diff -N patches/patch-src_lib_io_CryptoStream_cryptopp_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_lib_io_CryptoStream_cryptopp_h 16 Apr 2014 02:46:48 -0000 @@ -0,0 +1,11 @@ +$OpenBSD$ +--- src/lib/io/CryptoStream_cryptopp.h.orig Tue Apr 15 22:34:13 2014 ++++ src/lib/io/CryptoStream_cryptopp.h Tue Apr 15 22:34:21 2014 +@@ -25,5 +25,5 @@ + # pragma GCC system_header + #endif + +-#include <cryptopp562/osrng.h> +-#include <cryptopp562/sha.h> ++#include <cryptopp/osrng.h> ++#include <cryptopp/sha.h> Index: patches/patch-src_lib_ipc_CIpcClientProxy_cpp =================================================================== RCS file: patches/patch-src_lib_ipc_CIpcClientProxy_cpp diff -N patches/patch-src_lib_ipc_CIpcClientProxy_cpp --- patches/patch-src_lib_ipc_CIpcClientProxy_cpp 18 Nov 2013 23:56:35 -0000 1.5 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,19 +0,0 @@ -$OpenBSD: patch-src_lib_ipc_CIpcClientProxy_cpp,v 1.5 2013/11/18 23:56:35 bcallah Exp $ - -On loongson/sparc64/hppa: -Same as CIpcServerProxy.cpp - ---- src/lib/ipc/CIpcClientProxy.cpp.orig Sat Jun 29 10:17:49 2013 -+++ src/lib/ipc/CIpcClientProxy.cpp Sun Nov 17 15:00:17 2013 -@@ -146,7 +146,11 @@ CIpcClientProxy::send(const CIpcMessage& message) - case kIpcLogLine: { - const CIpcLogLineMessage& llm = static_cast<const CIpcLogLineMessage&>(message); - CString logLine = llm.logLine(); -+#if defined(__mips64__) || defined(__sparc64__) || defined(__hppa__) -+ CProtocolUtil::writef(static_cast<void*>(&m_stream), static_cast<const char*>(kIpcMsgLogLine), &logLine); -+#else - CProtocolUtil::writef(&m_stream, kIpcMsgLogLine, &logLine); -+#endif - break; - } - Index: patches/patch-src_lib_ipc_CIpcServerProxy_cpp =================================================================== RCS file: patches/patch-src_lib_ipc_CIpcServerProxy_cpp diff -N patches/patch-src_lib_ipc_CIpcServerProxy_cpp --- patches/patch-src_lib_ipc_CIpcServerProxy_cpp 18 Nov 2013 23:56:35 -0000 1.5 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,26 +0,0 @@ -$OpenBSD: patch-src_lib_ipc_CIpcServerProxy_cpp,v 1.5 2013/11/18 23:56:35 bcallah Exp $ - -On loongson/sparc64/hppa: -CIpcServerProxy.cpp: In member function 'void CIpcServerProxy::send(const CIpcMessage&)': -CIpcServerProxy.cpp:93: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second: -../synergy/CProtocolUtil.h:81: note: candidate 1: static void CProtocolUtil::writef(void*, const char*, void*) -../synergy/CProtocolUtil.h:53: note: candidate 2: static void CProtocolUtil::writef(synergy::IStream*, const char*, ...) -../synergy/CProtocolUtil.h:81: error: 'static void CProtocolUtil::writef(void*, const char*, void*)' is private -CIpcServerProxy.cpp:93: error: within this context - -gcc bug fixed in 4.3.3 - ---- src/lib/ipc/CIpcServerProxy.cpp.orig Sat Jun 29 10:17:49 2013 -+++ src/lib/ipc/CIpcServerProxy.cpp Sun Nov 17 15:00:17 2013 -@@ -94,7 +94,11 @@ CIpcServerProxy::send(const CIpcMessage& message) - case kIpcCommand: { - const CIpcCommandMessage& cm = static_cast<const CIpcCommandMessage&>(message); - CString command = cm.command(); -+#if defined(__mips64__) || defined(__sparc64__) || defined(__hppa__) -+ CProtocolUtil::writef(static_cast<void*>(&m_stream), static_cast<const char*>(kIpcMsgCommand), &command); -+#else - CProtocolUtil::writef(&m_stream, kIpcMsgCommand, &command); -+#endif - break; - } - Index: patches/patch-src_lib_server_CClientProxy1_4_cpp =================================================================== RCS file: patches/patch-src_lib_server_CClientProxy1_4_cpp diff -N patches/patch-src_lib_server_CClientProxy1_4_cpp --- patches/patch-src_lib_server_CClientProxy1_4_cpp 18 Nov 2013 23:56:35 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,19 +0,0 @@ -$OpenBSD: patch-src_lib_server_CClientProxy1_4_cpp,v 1.3 2013/11/18 23:56:35 bcallah Exp $ - -On loongson/sparc64/hppa: -Same issue as CIpcServerProxy.cpp - ---- src/lib/server/CClientProxy1_4.cpp.orig Fri Aug 16 14:06:30 2013 -+++ src/lib/server/CClientProxy1_4.cpp Sun Nov 17 15:00:17 2013 -@@ -81,7 +81,11 @@ CClientProxy1_4::cryptoIv() - CString data(reinterpret_cast<const char*>(iv), CRYPTO_IV_SIZE); - - LOG((CLOG_DEBUG2 "send crypto iv change to \"%s\"", getName().c_str())); -+#if defined(__mips64__) || defined(__sparc64__) || defined(__hppa__) -+ CProtocolUtil::writef(static_cast<void*>(getStream()), static_cast<const char*>(kMsgDCryptoIv), &data); -+#else - CProtocolUtil::writef(getStream(), kMsgDCryptoIv, &data); -+#endif - - // change IV only after we've sent the current IV, otherwise - // the client won't be able to decrypt the new IV. Index: patches/patch-src_lib_synergy_CProtocolUtil_h =================================================================== RCS file: patches/patch-src_lib_synergy_CProtocolUtil_h diff -N patches/patch-src_lib_synergy_CProtocolUtil_h --- patches/patch-src_lib_synergy_CProtocolUtil_h 12 May 2013 16:09:04 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,22 +0,0 @@ -$OpenBSD: patch-src_lib_synergy_CProtocolUtil_h,v 1.2 2013/05/12 16:09:04 bcallah Exp $ - -Move private function to public so loongson can use it. - ---- src/lib/synergy/CProtocolUtil.h.orig Mon Sep 3 22:09:56 2012 -+++ src/lib/synergy/CProtocolUtil.h Thu Apr 18 10:50:31 2013 -@@ -72,6 +72,7 @@ class CProtocolUtil { (public) - static bool readf(synergy::IStream*, - const char* fmt, ...); - -+ static void writef(void*, const char* fmt, va_list); - private: - static void vwritef(synergy::IStream*, - const char* fmt, UInt32 size, va_list); -@@ -79,7 +80,6 @@ class CProtocolUtil { (public) - const char* fmt, va_list); - - static UInt32 getLength(const char* fmt, va_list); -- static void writef(void*, const char* fmt, va_list); - static UInt32 eatLength(const char** fmt); - static void read(synergy::IStream*, void*, UInt32); - };