[146806] users/raimue/ports/sysutils/synergy-devel

raimue at macports.org raimue at macports.org
Thu Mar 17 17:05:28 PDT 2016


Revision: 146806
          https://trac.macports.org/changeset/146806
Author:   raimue at macports.org
Date:     2016-03-17 17:05:28 -0700 (Thu, 17 Mar 2016)
Log Message:
-----------
sysutils/synergy-devel:
Proposed update to 1.7.5, includes GUI
Still needs some polishing to use the external libcryptopp from ports.

Modified Paths:
--------------
    users/raimue/ports/sysutils/synergy-devel/Portfile

Added Paths:
-----------
    users/raimue/ports/sysutils/synergy-devel/files/patch-ArchFileUnix.cpp.diff
    users/raimue/ports/sysutils/synergy-devel/files/patch-external-cryptopp.diff
    users/raimue/ports/sysutils/synergy-devel/files/patch-external-openssl.diff
    users/raimue/ports/sysutils/synergy-devel/files/patch-qobject-include.diff

Removed Paths:
-------------
    users/raimue/ports/sysutils/synergy-devel/files/patch-CArchFileUnix.cpp.diff

Modified: users/raimue/ports/sysutils/synergy-devel/Portfile
===================================================================
--- users/raimue/ports/sysutils/synergy-devel/Portfile	2016-03-18 00:03:03 UTC (rev 146805)
+++ users/raimue/ports/sysutils/synergy-devel/Portfile	2016-03-18 00:05:28 UTC (rev 146806)
@@ -1,16 +1,21 @@
 # $Id$
 
 PortSystem 1.0
+PortGroup github 1.0
+PortGroup qt5 1.0
 PortGroup cmake 1.0
 
+github.setup    synergy synergy 1.7.5-stable v
 name            synergy-devel
 set realname    synergy
+version         [lindex [split ${github.version} -] 0]
 conflicts       synergy
-version         1.4.10
 categories      sysutils
 license         GPL-2
 platforms       darwin
-maintainers     nomaintainer
+maintainers     raimue \
+                openmaintainer
+
 description     A client/server for sharing a single mouse and keyboard
 long_description \
     Synergy lets you easily share a single mouse and keyboard \
@@ -18,39 +23,72 @@
     without special hardware. It is intended for users with \
     multiple computers on their desk since each system uses its \
     own display.
-homepage        http://synergy-foss.org
-master_sites    googlecode:${realname}
-distname        ${realname}-${version}-Source
 
-checksums       rmd160  829fb9c59312df9698b0e97b9a028396fe9078df \
-                sha256  06d5a2ceb4cf8808cdab22441897c7b54ec8b4bc8351ac116f9accf54c720fbe
+homepage        http://synergy-project.org
 
-patchfiles	patch-CArchFileUnix.cpp.diff \
-                patch-uSynergyUnix.diff
+depends_build-append \
+                bin:unzip:unzip \
+                port:openssl
 
-# Force 32-bit, all kinds of Carbon cruft in here. (#20908)
-supported_archs i386 ppc
+checksums       rmd160  af02eaab3c860ac180417206c9a3b1de224dc9c6 \
+                sha256  c75794c749636bfe4633f7f4b1587e1c216b606869d707a59e44180ecd7a059f
 
+patchfiles	    patch-ArchFileUnix.cpp.diff \
+                patch-qobject-include.diff \
+                patch-external-openssl.diff
+#                patch-external-cryptopp.diff
+
+post-extract {
+    foreach lib {gmock-1.6.0 gtest-1.6.0} {
+        system -W ${worksrcpath}/ext "unzip -d $lib $lib.zip"
+    }
+}
+
 post-patch {
     # Set default config path
-    reinplace "s|@@SYSCONFDIR@@|${prefix}/etc/${realname}|g" ${worksrcpath}/src/lib/arch/CArchFileUnix.cpp
+    reinplace "s|@@SYSCONFDIR@@|${prefix}/etc/${realname}|g" ${worksrcpath}/src/lib/arch/unix/ArchFileUnix.cpp
 
     # Fix build architectures
-    reinplace "s:CMAKE_OSX_ARCHITECTURES \"ppc;i386\":CMAKE_OSX_ARCHITECTURES \"[join [get_canonical_archs] ;]\":" ${worksrcpath}/CMakeLists.txt
+    reinplace -E "s:CMAKE_OSX_ARCHITECTURES \"\[\[:alnum:\];\]+\":CMAKE_OSX_ARCHITECTURES \"[join [get_canonical_archs] ;]\":" ${worksrcpath}/CMakeLists.txt
 }
 
+cmake.out_of_source yes
+configure.args-append   -DOSX_TARGET_MAJOR=[lindex [split ${macosx_deployment_target} .] 0] \
+                        -DOSX_TARGET_MINOR=[lindex [split ${macosx_deployment_target} .] 1]
+
+post-configure {
+    system -W ${worksrcpath}/src/gui "${qt_qmake_cmd} gui.pro -r -spec ${qt_qmake_spec} \
+        \"MACX_LIBS=-framework ApplicationServices -framework Security -framework cocoa -framework ServiceManagement\""
+
+        # QMAKE_MACOSX_DEPLOYMENT_TARGET= QMAKE_MAC_SDK=macosx10.11 \
+        # QMAKE_MAC_SDK.macosx10.11.path=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk
+}
+
+build.cmd   ${build.cmd} && make -C ${worksrcpath}/src/gui
+
 destroot {
-        xinstall -d ${destroot}${prefix}/bin
-        xinstall -m 755 ${worksrcpath}/bin/synergyc ${destroot}${prefix}/bin
-        xinstall -m 755 ${worksrcpath}/bin/synergys ${destroot}${prefix}/bin
-        xinstall -m 644 ${worksrcpath}/doc/synergyc.man ${destroot}${prefix}/share/man/man1/synergyc.1
-        xinstall -m 644 ${worksrcpath}/doc/synergys.man ${destroot}${prefix}/share/man/man1/synergys.1
-        xinstall -d ${destroot}${prefix}/etc/${realname}
-        xinstall -m 644 -W ${worksrcpath}/doc/ \
-            synergy.conf.example \
-            synergy.conf.example-advanced \
-            synergy.conf.example-basic \
-            ${destroot}${prefix}/etc/${realname}
+    if [variant_isset debug] {
+        set bindir ${worksrcpath}/bin/debug
+    } else {
+        set bindir ${worksrcpath}/bin
+    }
+
+    xinstall -d ${destroot}${prefix}/bin
+    copy ${worksrcpath}/bin/Synergy.app ${destroot}${applications_dir}
+    for tool {synergyc synergyd synergys syntool usynergy} {
+        xinstall -m 755 -W ${bindir} ${tool} ${destroot}${prefix}/bin
+        ln -s ${prefix}/bin/${tool} ${destroot}${applications_dir}/Contents/MacOS/${tool}
+    }
+
+    xinstall -m 644 -W ${worksrcpath}/doc synergyc.man ${destroot}${prefix}/share/man/man1/synergyc.1
+    xinstall -m 644 -W ${worksrcpath}/doc synergys.man ${destroot}${prefix}/share/man/man1/synergys.1
+
+    xinstall -d ${destroot}${prefix}/etc/${realname}
+    xinstall -m 644 -W ${worksrcpath}/doc/ \
+        synergy.conf.example \
+        synergy.conf.example-advanced \
+        synergy.conf.example-basic \
+        ${destroot}${prefix}/etc/${realname}
 }
 
 startupitem.create      yes

Copied: users/raimue/ports/sysutils/synergy-devel/files/patch-ArchFileUnix.cpp.diff (from rev 146805, users/raimue/ports/sysutils/synergy-devel/files/patch-CArchFileUnix.cpp.diff)
===================================================================
--- users/raimue/ports/sysutils/synergy-devel/files/patch-ArchFileUnix.cpp.diff	                        (rev 0)
+++ users/raimue/ports/sysutils/synergy-devel/files/patch-ArchFileUnix.cpp.diff	2016-03-18 00:05:28 UTC (rev 146806)
@@ -0,0 +1,11 @@
+--- src/lib/arch/unix/ArchFileUnix.cpp.orig	2015-03-22 18:16:45.000000000 +0100
++++ src/lib/arch/unix/ArchFileUnix.cpp	2015-03-22 18:17:09.000000000 +0100
+@@ -85,7 +85,7 @@
+ std::string
+ ArchFileUnix::getSystemDirectory()
+ {
+-	return "/etc";
++	return "@@SYSCONFDIR@@";
+ }
+ 
+ std::string

Deleted: users/raimue/ports/sysutils/synergy-devel/files/patch-CArchFileUnix.cpp.diff
===================================================================
--- users/raimue/ports/sysutils/synergy-devel/files/patch-CArchFileUnix.cpp.diff	2016-03-18 00:03:03 UTC (rev 146805)
+++ users/raimue/ports/sysutils/synergy-devel/files/patch-CArchFileUnix.cpp.diff	2016-03-18 00:05:28 UTC (rev 146806)
@@ -1,11 +0,0 @@
---- src/lib/arch/CArchFileUnix.cpp.orig	Wed Feb  9 13:29:56 2005
-+++ src/lib/arch/CArchFileUnix.cpp	Wed Feb  9 13:30:27 2005
-@@ -83,7 +83,7 @@
- std::string
- CArchFileUnix::getSystemDirectory()
- {
--	return "/etc";
-+	return "@@SYSCONFDIR@@";
- }
- 
- std::string

Added: users/raimue/ports/sysutils/synergy-devel/files/patch-external-cryptopp.diff
===================================================================
--- users/raimue/ports/sysutils/synergy-devel/files/patch-external-cryptopp.diff	                        (rev 0)
+++ users/raimue/ports/sysutils/synergy-devel/files/patch-external-cryptopp.diff	2016-03-18 00:05:28 UTC (rev 146806)
@@ -0,0 +1,98 @@
+Upstream: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-misc/synergy/files/synergy-1.4.15-cryptopp.patch?revision=1.1
+--- CMakeLists.txt
++++ CMakeLists.txt
+@@ -133,6 +133,10 @@
+	check_type_size(long SIZEOF_LONG)
+	check_type_size(short SIZEOF_SHORT)
+ 
++	set(CMAKE_REQUIRED_LIBRARIES crypto++)
++	set(CMAKE_REQUIRED_LIBRARIES)
++	set(CMAKE_INCLUDE_DIRECTORIES)
++
+	# pthread is used on both Linux and Mac
+	check_library_exists("pthread" pthread_create "" HAVE_PTHREAD)
+	if (HAVE_PTHREAD)
+--- tools/CMakeLists.txt
++++ tools/CMakeLists.txt
+@@ -13,47 +13,6 @@
+ # You should have received a copy of the GNU General Public License
+ # along with this program.  If not, see <http://www.gnu/licenses/>.
+ 
+-set(cryptopp_dir cryptopp562)
+-
+-# only compile the crypto++ files we need.
+-set(cryptopp_src
+-	${cryptopp_dir}/3way.cpp
+-	${cryptopp_dir}/algparam.cpp
+-	${cryptopp_dir}/asn.cpp
+-	${cryptopp_dir}/authenc.cpp
+-	${cryptopp_dir}/basecode.cpp
+-	${cryptopp_dir}/cpu.cpp
+-	${cryptopp_dir}/cryptlib.cpp
+-	${cryptopp_dir}/des.cpp
+-	${cryptopp_dir}/dessp.cpp
+-	${cryptopp_dir}/dll.cpp
+-	${cryptopp_dir}/ec2n.cpp
+-	${cryptopp_dir}/ecp.cpp
+-	${cryptopp_dir}/filters.cpp
+-	${cryptopp_dir}/fips140.cpp
+-	${cryptopp_dir}/gcm.cpp
+-	${cryptopp_dir}/gf2n.cpp
+-	${cryptopp_dir}/gfpcrypt.cpp
+-	${cryptopp_dir}/hex.cpp
+-	${cryptopp_dir}/hmac.cpp
+-	${cryptopp_dir}/hrtimer.cpp
+-	${cryptopp_dir}/integer.cpp
+-	${cryptopp_dir}/iterhash.cpp
+-	${cryptopp_dir}/misc.cpp
+-	${cryptopp_dir}/modes.cpp
+-	${cryptopp_dir}/mqueue.cpp
+-	${cryptopp_dir}/nbtheory.cpp
+-	${cryptopp_dir}/oaep.cpp
+-	${cryptopp_dir}/osrng.cpp
+-	${cryptopp_dir}/pubkey.cpp
+-	${cryptopp_dir}/queue.cpp
+-	${cryptopp_dir}/randpool.cpp
+-	${cryptopp_dir}/rdtables.cpp
+-	${cryptopp_dir}/rijndael.cpp
+-	${cryptopp_dir}/rng.cpp
+-	${cryptopp_dir}/sha.cpp
+-)
+-
+ # if 64-bit windows, compile asm file.
+ if (CMAKE_CL_64)
+ 	list(APPEND cryptopp_src ${cryptopp_dir}/x64dll.asm ${cryptopp_dir}/x64masm.asm)
+@@ -83,5 +42,3 @@
+ 		set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
+ 	endif()
+ endif()
+-
+-add_library(cryptopp STATIC ${cryptopp_src})
+--- src/lib/io/CCryptoMode.h
++++ src/lib/io/CCryptoMode.h
+@@ -17,9 +17,9 @@
+ 
+ #pragma once
+ 
+-#include <cryptopp562/gcm.h>
+-#include <cryptopp562/modes.h>
+-#include <cryptopp562/aes.h>
++#include <crypto++/gcm.h>
++#include <crypto++/modes.h>
++#include <crypto++/aes.h>
+ #include "ECryptoMode.h"
+ #include "CString.h"
+ 
+--- src/lib/io/CCryptoStream.h
++++ src/lib/io/CCryptoStream.h
+@@ -20,8 +20,8 @@
+ #include "BasicTypes.h"
+ #include "CStreamFilter.h"
+ #include "CCryptoMode.h"
+-#include <cryptopp562/osrng.h>
+-#include <cryptopp562/sha.h>
++#include <crypto++/osrng.h>
++#include <crypto++/sha.h>
+ 
+ class CCryptoOptions;
+ 

Added: users/raimue/ports/sysutils/synergy-devel/files/patch-external-openssl.diff
===================================================================
--- users/raimue/ports/sysutils/synergy-devel/files/patch-external-openssl.diff	                        (rev 0)
+++ users/raimue/ports/sysutils/synergy-devel/files/patch-external-openssl.diff	2016-03-18 00:05:28 UTC (rev 146806)
@@ -0,0 +1,55 @@
+--- src/lib/plugin/ns/CMakeLists.txt.orig	2016-01-15 18:17:01.000000000 +0100
++++ src/lib/plugin/ns/CMakeLists.txt	2016-01-15 18:19:54.000000000 +0100
+@@ -29,11 +29,6 @@
+ 	set(OPENSSL_INCLUDE ../../../../ext/${OPENSSL_PLAT_DIR}/inc32)
+ endif()
+ 
+-if (APPLE)
+-	set(OPENSSL_PLAT_DIR openssl-osx)
+-	set(OPENSSL_INCLUDE ../../../../ext/${OPENSSL_PLAT_DIR}/include)
+-endif()
+-
+ include_directories(
+ 	../../../lib/
+ 	../../../..
+@@ -50,14 +45,7 @@
+ endif()
+ 
+ if (UNIX)
+-	if (APPLE)
+-		set(OPENSSL_LIBS
+-		${CMAKE_SOURCE_DIR}/ext/${OPENSSL_PLAT_DIR}/libssl.a
+-		${CMAKE_SOURCE_DIR}/ext/${OPENSSL_PLAT_DIR}/libcrypto.a
+-		)
+-	else()
+ 		set(OPENSSL_LIBS ssl crypto)
+-	endif()
+ endif()
+ 
+ target_link_libraries(ns
+@@ -88,19 +76,6 @@
+ endif()
+ 
+ if (UNIX)
+-	if (APPLE)
+-		add_custom_command(
+-			TARGET ns
+-			POST_BUILD
+-			COMMAND
+-				mkdir -p
+-				${CMAKE_SOURCE_DIR}/bin/${CMAKE_CFG_INTDIR}/plugins
+-				&&
+-				cp
+-				${CMAKE_SOURCE_DIR}/lib/${CMAKE_CFG_INTDIR}/libns.*
+-				${CMAKE_SOURCE_DIR}/bin/${CMAKE_CFG_INTDIR}/plugins/
+-		)
+-	else()
+ 		if (CMAKE_BUILD_TYPE STREQUAL Debug)
+ 			add_custom_command(
+ 				TARGET ns
+@@ -124,5 +99,4 @@
+ 					${CMAKE_SOURCE_DIR}/bin/plugins/
+ 			)
+ 		endif()
+-	endif()
+ endif()

Added: users/raimue/ports/sysutils/synergy-devel/files/patch-qobject-include.diff
===================================================================
--- users/raimue/ports/sysutils/synergy-devel/files/patch-qobject-include.diff	                        (rev 0)
+++ users/raimue/ports/sysutils/synergy-devel/files/patch-qobject-include.diff	2016-03-18 00:05:28 UTC (rev 146806)
@@ -0,0 +1,25 @@
+Source: https://projects.archlinux.org/svntogit/community.git/tree/trunk/fix-incompetence.patch?h=packages/synergy
+
+From 5080bf0c679711f60ca14eb5979d92f181749bb7 Mon Sep 17 00:00:00 2001
+From: Manuel Frischknecht <manuel.frischknecht at bfh.ch>
+Date: Mon, 20 Jul 2015 17:55:02 +0200
+Subject: [PATCH] Fixed a missing include that breaks the build on linux
+
+---
+ src/gui/src/CommandProcess.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/gui/src/CommandProcess.h b/src/gui/src/CommandProcess.h
+index 62e89bf..f279dff 100644
+--- src/gui/src/CommandProcess.h
++++ src/gui/src/CommandProcess.h
+@@ -18,6 +18,7 @@
+ #ifndef COMMANDTHREAD_H
+ #define COMMANDTHREAD_H
+ 
++#include <QObject>
+ #include <QStringList>
+ 
+ class CommandProcess : public QObject
+-- 
+2.4.2
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20160317/d3d0043a/attachment.html>


More information about the macports-changes mailing list