From 38cadb52444392b750832d981bb96f169649ab97 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich <kevin@archlinuxarm.org> Date: Sun, 11 Aug 2013 22:12:14 +0000 Subject: [PATCH] added community/synergy, fixes #535 --- community/synergy/PKGBUILD | 69 +++++++++++ community/synergy/synergy.desktop | 9 ++ community/synergy/synergy.png | Bin 0 -> 25433 bytes community/synergy/synergys.service | 10 ++ community/synergy/synergys.socket | 9 ++ community/synergy/system-cryptopp.patch | 152 ++++++++++++++++++++++++ 6 files changed, 249 insertions(+) create mode 100644 community/synergy/PKGBUILD create mode 100644 community/synergy/synergy.desktop create mode 100644 community/synergy/synergy.png create mode 100644 community/synergy/synergys.service create mode 100644 community/synergy/synergys.socket create mode 100644 community/synergy/system-cryptopp.patch diff --git a/community/synergy/PKGBUILD b/community/synergy/PKGBUILD new file mode 100644 index 000000000..1bd769c8c --- /dev/null +++ b/community/synergy/PKGBUILD @@ -0,0 +1,69 @@ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: Jelle van der Waa <jelle vdwaa nl> +# Contributor: Stéphane Gaudreault <stephane@archlinux.org> +# Contributor: Dale Blount <dale@archlinux.org> +# Contributor: Michael Düll <mail@akurei.me> + +# ALARM: Kevin Mihelich <kevin@archlinuxarm.org> +# - patch to use the system crypto++ library + +pkgname=synergy +pkgver=1.4.12 +pkgrel=1.2 +pkgdesc="Share a single mouse and keyboard between multiple computers" +url="http://synergy-foss.org" +arch=('i686' 'x86_64') +depends=('gcc-libs' 'libxtst' 'libxinerama' 'crypto++') +makedepends=('libxt' 'cmake' 'qt4' 'unzip') +optdepends=('qt4: gui support') +license=('GPL2') +source=("http://synergy.googlecode.com/files/$pkgname-$pkgver-Source.tar.gz" + "system-cryptopp.patch" + "synergys.socket" + "synergys.service" + "synergy.png" + "synergy.desktop") + +build() { + cd "${srcdir}/${pkgname}-${pkgver}-Source" + + patch -p1 -i ../system-cryptopp.patch + + # Unzip the crypto library + unzip -d tools/cryptopp562 tools/cryptopp562.zip + + cmake -D CMAKE_INSTALL_PREFIX=/usr . + make VERBOSE=1 + + cd src/gui + qmake-qt4 + make VERBOSE=1 +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}-Source/bin" + + # install binary + install -Dm755 synergy "$pkgdir/usr/bin/synergy" + install -Dm755 synergyc "$pkgdir/usr/bin/synergyc" + install -Dm755 synergys "$pkgdir/usr/bin/synergys" + + # install config + install -Dm644 "$srcdir/$pkgname-$pkgver-Source/doc/${pkgname}.conf.example" "${pkgdir}/etc/${pkgname}.conf.example" + + # install systemd service and socket + install -d "$pkgdir/usr/lib/systemd/system" + install -Dm644 "$srcdir/synergys.service" "$pkgdir/usr/lib/systemd/system/" + install -Dm644 "$srcdir/synergys.socket" "$pkgdir/usr/lib/systemd/system/" + + # install desktop/icon stuff + install -Dm644 "$srcdir/synergy.png" "$pkgdir/usr/share/pixmaps/synergy.png" + install -Dm644 "$srcdir/synergy.desktop" "$pkgdir/usr/share/applications/synergy.desktop" +} + +sha512sums=('5305e03d871e5408640ece55364067418f9b8b160dda31f994ebafe807b31291bdaa688a901f2e81710acb0857952c37f0c1823a50c927573feaec0c8659be9d' + '1a95d4b704ab4d54a7a9ec64eef3551752432c73540d94b69e2799fe615c5a4c61dc026bf40706030da0e649afa6b8ff3b8c26da245bb7e44846907f308566f1' + 'f7d918faf4a25654786f270fc48b6e4089ecd1b2f504bb90de543b47a862733f7be067e06fd613d621bba48d20dc63214966e2cfbd2cb3fcbfe623d6d41f10ad' + 'a10dfe5b24ac6f4a2ef3a3a9f8a6a3c432b91d5e59d1fae2258d37c5be00ac8f172656fa0d213012c7dc94ab8c04c3945ae33acfcd5db5fad8b37ccc9f5e980f' + 'cb3db9593c943bce11ce5ae962e120feb70e6afa9206887a6971c77491711afcebc78653e7413e87e33d031c43a507f4a9a6e8747d10b60c6642106ae1690f18' + 'c1c76ecfbed5c22f1a2a7562dce20971a784ff6b0edbf5c9b5f7c796f9ead882b82f970bb24f35533b928c341f87f66b0b10d9d96e122d14d74102cac8997445') diff --git a/community/synergy/synergy.desktop b/community/synergy/synergy.desktop new file mode 100644 index 000000000..e7bf87b9e --- /dev/null +++ b/community/synergy/synergy.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=Synergy +Comment=The Synergy GUI is based on QSynergy by Volker Lanz. +Exec=synergy +Icon=synergy +Terminal=false +Type=Application +Categories=Utility;DesktopUtility;Qt diff --git a/community/synergy/synergy.png b/community/synergy/synergy.png new file mode 100644 index 0000000000000000000000000000000000000000..5534f0fdf520d71ebf512a6d9545e105dfef384e GIT binary patch literal 25433 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 BH97zQ literal 0 HcmV?d00001 diff --git a/community/synergy/synergys.service b/community/synergy/synergys.service new file mode 100644 index 000000000..56c1ac061 --- /dev/null +++ b/community/synergy/synergys.service @@ -0,0 +1,10 @@ +[Unit] +Description=Synergy Server Daemon +After=network.target + +[Service] +Type=forking +ExecStart=/usr/bin/synergys --config /etc/synergy.conf + +[Install] +WantedBy=multi-user.target diff --git a/community/synergy/synergys.socket b/community/synergy/synergys.socket new file mode 100644 index 000000000..dda1537ca --- /dev/null +++ b/community/synergy/synergys.socket @@ -0,0 +1,9 @@ +[Unit] +Conflicts=synergys.service + +[Socket] +ListenStream=24800 +Accept=false + +[Install] +WantedBy=sockets.target diff --git a/community/synergy/system-cryptopp.patch b/community/synergy/system-cryptopp.patch new file mode 100644 index 000000000..bad4b01bd --- /dev/null +++ b/community/synergy/system-cryptopp.patch @@ -0,0 +1,152 @@ +Description: Use system libcrypto++ if available + Rather than always use the included libcrypto++ zipped source, check + for and use the system's libcrypto++. +Author: Jeff Licquia <licquia@debian.org> +Forwarded: no +Last-Update: 2013-06-01 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: synergy-1.4.12/CMakeLists.txt +=================================================================== +--- synergy-1.4.12.orig/CMakeLists.txt 2013-06-02 02:22:35.000000000 +0000 ++++ synergy-1.4.12/CMakeLists.txt 2013-06-02 02:22:35.000000000 +0000 +@@ -75,6 +75,7 @@ + include(CheckIncludeFileCXX) + include(CheckSymbolExists) + include(CheckCSourceCompiles) ++ include(FindPkgConfig) + + check_include_file_cxx(istream HAVE_ISTREAM) + check_include_file_cxx(ostream HAVE_OSTREAM) +@@ -204,6 +205,8 @@ + check_library_exists("Xi" XISelectEvents "" HAVE_Xi) + check_library_exists("Xrandr" XRRQueryExtension "" HAVE_Xrandr) + ++ pkg_search_module(CRYPTOPP libcrypto++) ++ + if (HAVE_ICE) + + # Assume we have SM if we have ICE. +@@ -241,6 +244,10 @@ + list(APPEND libs Xrandr) + endif() + ++ if (HAVE_CRYPTOPP) ++ list(APPEND libs CRYPTOPP_LIBRARIES) ++ endif() ++ + endif() + + IF(HAVE_Xi) +Index: synergy-1.4.12/tools/CMakeLists.txt +=================================================================== +--- synergy-1.4.12.orig/tools/CMakeLists.txt 2013-06-02 02:22:35.000000000 +0000 ++++ synergy-1.4.12/tools/CMakeLists.txt 2013-06-02 02:25:44.000000000 +0000 +@@ -13,7 +13,7 @@ + # You should have received a copy of the GNU General Public License + # along with this program. If not, see <http://www.gnu.org/licenses/>. + +-set(cpp_dir cryptopp562) ++set(cpp_dir cryptopp) + + file(GLOB cpp_src ${cpp_dir}/*.cpp) + +@@ -22,14 +22,16 @@ + list(APPEND cpp_src ${cpp_hdr}) + endif() + +-file(GLOB cpp_ignore +- ${cpp_dir}/simple.cpp +- ${cpp_dir}/strciphr.cpp +- ${cpp_dir}/polynomi.cpp +- ${cpp_dir}/eprecomp.cpp +- ${cpp_dir}/eccrypto.cpp +- ${cpp_dir}/algebra.cpp) +-list(REMOVE_ITEM cpp_src ${cpp_ignore}) ++if (NOT CRYPTOPP_FOUND) ++ file(GLOB cpp_ignore ++ ${cpp_dir}/simple.cpp ++ ${cpp_dir}/strciphr.cpp ++ ${cpp_dir}/polynomi.cpp ++ ${cpp_dir}/eprecomp.cpp ++ ${cpp_dir}/eccrypto.cpp ++ ${cpp_dir}/algebra.cpp) ++ list(REMOVE_ITEM cpp_src ${cpp_ignore}) ++endif() + + # if 64-bit windows, compile asm file. + if (CMAKE_CL_64) +@@ -49,16 +51,20 @@ + endif() + + if (UNIX) +- add_definitions(-DCRYPTOPP_DISABLE_ASM) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O2 -pipe") ++ if (NOT CRYPTOPP_FOUND) ++ add_definitions(-DCRYPTOPP_DISABLE_ASM) ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O2 -pipe") + +- if (APPLE) +- if (DARWIN_VERSION GREATER 10) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-tautological-compare") ++ if (APPLE) ++ if (DARWIN_VERSION GREATER 10) ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-tautological-compare") ++ endif() ++ else() ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native") + endif() +- else() +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native") + endif() + endif() + +-add_library(cryptopp STATIC ${cpp_src}) ++if (NOT CRYPTOPP_FOUND) ++ add_library(cryptopp STATIC ${cpp_src}) ++endif() +Index: synergy-1.4.12/src/lib/synergy/CCryptoMode.h +=================================================================== +--- synergy-1.4.12.orig/src/lib/synergy/CCryptoMode.h 2013-06-02 02:22:35.000000000 +0000 ++++ synergy-1.4.12/src/lib/synergy/CCryptoMode.h 2013-06-02 02:22:35.000000000 +0000 +@@ -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: synergy-1.4.12/src/lib/synergy/CCryptoStream.h +=================================================================== +--- synergy-1.4.12.orig/src/lib/synergy/CCryptoStream.h 2013-06-02 02:22:35.000000000 +0000 ++++ synergy-1.4.12/src/lib/synergy/CCryptoStream.h 2013-06-02 02:22:35.000000000 +0000 +@@ -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: synergy-1.4.12/tools/build/toolchain.py +=================================================================== +--- synergy-1.4.12.orig/tools/build/toolchain.py 2013-06-01 22:55:47.000000000 +0000 ++++ synergy-1.4.12/tools/build/toolchain.py 2013-06-02 02:25:00.000000000 +0000 +@@ -73,7 +73,7 @@ + macSdk = None + + # cryptoPP dir with version number +- cryptoPPDir = 'cryptopp562' ++ cryptoPPDir = 'cryptopp' + + win32_generators = { + 1 : Generator('Visual Studio 10'),