diff --git a/net/freerdp/Makefile b/net/freerdp/Makefile index 9966736e7168..d7c03a1c4711 100644 --- a/net/freerdp/Makefile +++ b/net/freerdp/Makefile @@ -3,7 +3,7 @@ PORTNAME= freerdp PORTVERSION= 1.2.0 -PORTREVISION= 4 +PORTREVISION= 5 CATEGORIES= net comms ipv6 MAINTAINER= ports@FreeBSD.org @@ -18,7 +18,7 @@ USES= alias cmake:outsource cpe execinfo pkgconfig compiler:c++11-lib USE_GITHUB= yes GH_ACCOUNT= FreeRDP GH_PROJECT= ${GH_ACCOUNT} -GH_TAGNAME= 20878e50fe +GH_TAGNAME= f5ff6e1 CPE_VENDOR= freerdp_project @@ -69,10 +69,6 @@ X11_USE= xorg=x11,xkbfile,xcursor,xextproto,xv,xinerama,xext,xcursor,xrandr,xi, .include -.if ${PORT_OPTIONS:MDIRECTFB} -BROKEN= DIRECTFB no longer builds -.endif - post-extract: ${REINPLACE_CMD} -e 's|$${CMAKE_INSTALL_LIBDIR}/pkgconfig|libdata/pkgconfig|' \ -e '/CMAKE_INSTALL_RPATH /d' \ diff --git a/net/freerdp/distinfo b/net/freerdp/distinfo index c1c701d146ef..7ce12b3cab1a 100644 --- a/net/freerdp/distinfo +++ b/net/freerdp/distinfo @@ -1,2 +1,2 @@ -SHA256 (FreeRDP-FreeRDP-1.2.0-20878e50fe_GH0.tar.gz) = 450930683a9fc8dc9bfff9503dcb7913c81087e4bfa275975378e871f660d206 -SIZE (FreeRDP-FreeRDP-1.2.0-20878e50fe_GH0.tar.gz) = 6212473 +SHA256 (FreeRDP-FreeRDP-1.2.0-f5ff6e1_GH0.tar.gz) = f39c7eaa007a3aef580f364f8f5c0b9208c6c3c8f5f00a4c0ed020a81535eb32 +SIZE (FreeRDP-FreeRDP-1.2.0-f5ff6e1_GH0.tar.gz) = 6033856 diff --git a/net/freerdp/files/patch-cmake-FindOpenSSL.cmake b/net/freerdp/files/patch-cmake-FindOpenSSL.cmake new file mode 100644 index 000000000000..ca2a8c0f075c --- /dev/null +++ b/net/freerdp/files/patch-cmake-FindOpenSSL.cmake @@ -0,0 +1,11 @@ +--- cmake/FindOpenSSL.cmake.orig 2013-07-10 04:00:21.000000000 -0400 ++++ cmake/FindOpenSSL.cmake 2015-03-25 19:26:35.154024000 -0400 +@@ -270,7 +270,7 @@ + set(OPENSSL_VERSION "${_OPENSSL_VERSION}") + elseif(OPENSSL_INCLUDE_DIR AND EXISTS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h") + file(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h" openssl_version_str +- REGEX "^#define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*") ++ REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*") + + # The version number is encoded as 0xMNNFFPPS: major minor fix patch status + # The status gives if this is a developer or prerelease and is ignored here. diff --git a/net/freerdp/files/patch-freerdp.pc.in b/net/freerdp/files/patch-freerdp.pc.in new file mode 100644 index 000000000000..9bbcc5bfe247 --- /dev/null +++ b/net/freerdp/files/patch-freerdp.pc.in @@ -0,0 +1,13 @@ +Index: freerdp.pc.in +diff -u freerdp.pc.in.orig freerdp.pc.in +--- freerdp.pc.in.orig 2014-09-12 07:46:32.000000000 +0900 ++++ freerdp.pc.in 2015-05-26 02:05:37.874925433 +0900 +@@ -9,7 +9,7 @@ + URL: http://www.freerdp.com/ + Version: @FREERDP_VERSION_FULL@ + Requires: +-Requires.private: winpr zlib libssl ++Requires.private: winpr + Libs: -L${libdir} ${libs} + Libs.private: -ldl -lpthread + Cflags: -I${includedir} diff --git a/net/freerdp/files/patch-git_1b663cef b/net/freerdp/files/patch-git_1b663cef new file mode 100644 index 000000000000..5d697c226490 --- /dev/null +++ b/net/freerdp/files/patch-git_1b663cef @@ -0,0 +1,57 @@ +The patch below comes from upstream and has been slightly adjusted to apply +on the tarball we build. + +From 1b663ceffe51008af7ae9749e5b7999b2f7d6698 Mon Sep 17 00:00:00 2001 +From: Bernhard Miklautz +Date: Fri, 12 Dec 2014 18:26:45 +0100 +Subject: [PATCH] build: cmake 3.1 compatibility + +* fix problem with REMOVE_DUPLICATES on undefined lists +* since 3.1 file(GLOB FILEPATHS RELATIVE .. returns single / instead of // as + previously - necessary adoptions for regex and matches done. Should + work with all cmake versions. + +Tested with 3.1.0-rc3 +--- channels/CMakeLists.txt ++++ channels/CMakeLists.txt +@@ -202,8 +202,8 @@ set(FILENAME "ChannelOptions.cmake") + file(GLOB FILEPATHS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/${FILENAME}") + + foreach(FILEPATH ${FILEPATHS}) +- if(${FILEPATH} MATCHES "^([^/]*)//${FILENAME}") +- string(REGEX REPLACE "^([^/]*)//${FILENAME}" "\\1" DIR ${FILEPATH}) ++ if(${FILEPATH} MATCHES "^([^/]*)/+${FILENAME}") ++ string(REGEX REPLACE "^([^/]*)/+${FILENAME}" "\\1" DIR ${FILEPATH}) + set(CHANNEL_OPTION) + include(${FILEPATH}) + if(${CHANNEL_OPTION}) +--- channels/client/CMakeLists.txt ++++ channels/client/CMakeLists.txt +@@ -24,7 +24,9 @@ set(${MODULE_PREFIX}_SRCS + ${CMAKE_CURRENT_SOURCE_DIR}/addin.c + ${CMAKE_CURRENT_SOURCE_DIR}/addin.h) + ++if(CHANNEL_STATIC_CLIENT_ENTRIES) + list(REMOVE_DUPLICATES CHANNEL_STATIC_CLIENT_ENTRIES) ++endif() + + foreach(STATIC_ENTRY ${CHANNEL_STATIC_CLIENT_ENTRIES}) + foreach(STATIC_MODULE ${CHANNEL_STATIC_CLIENT_MODULES}) +--- third-party/CMakeLists.txt ++++ third-party/CMakeLists.txt +@@ -22,11 +22,11 @@ + file(GLOB all_valid_subdirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/CMakeLists.txt") + + foreach(dir ${all_valid_subdirs}) +- if(${dir} MATCHES "^([^/]*)//CMakeLists.txt") +- string(REGEX REPLACE "^([^/]*)//CMakeLists.txt" "\\1" dir_trimmed ${dir}) ++ if(${dir} MATCHES "^([^/]*)/+CMakeLists.txt") ++ string(REGEX REPLACE "^([^/]*)/+CMakeLists.txt" "\\1" dir_trimmed ${dir}) + message(STATUS "Adding third-party component ${dir_trimmed}") + add_subdirectory(${dir_trimmed}) + endif() + endforeach(dir) + +-set(THIRD_PARTY_INCLUDES ${THIRD_PARTY_INCLUDES} PARENT_SCOPE) +\ No newline at end of file ++set(THIRD_PARTY_INCLUDES ${THIRD_PARTY_INCLUDES} PARENT_SCOPE) diff --git a/net/freerdp/files/patch-git_434436b7 b/net/freerdp/files/patch-git_434436b7 new file mode 100644 index 000000000000..6db84088dede --- /dev/null +++ b/net/freerdp/files/patch-git_434436b7 @@ -0,0 +1,74 @@ +From 434436b75f00c5475f66ff0f4062e168aa409688 Mon Sep 17 00:00:00 2001 +From: ivan-83 +Date: Tue, 10 Mar 2015 01:21:28 +0300 +Subject: [PATCH] * BSD/FreeBSD build fix + +--- + CMakeLists.txt | 14 ++++++++++++++ + winpr/libwinpr/synch/wait.c | 2 +- + winpr/libwinpr/sysinfo/sysinfo.c | 1 + + winpr/libwinpr/utils/CMakeLists.txt | 4 ++++ + 4 files changed, 20 insertions(+), 1 deletion(-) + +diff CMakeLists.txt CMakeLists.txt +index 0a9144a..386ae67 100644 +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -358,6 +358,14 @@ if(APPLE) + endif() + endif(APPLE) + ++# BSD ++if(${CMAKE_SYSTEM_NAME} MATCHES "BSD") ++ set(BSD TRUE) ++ if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") ++ set(FREEBSD TRUE) ++ endif() ++endif() ++ + # Android + if(ANDROID) + set(WITH_LIBRARY_VERSIONING "OFF") +@@ -618,6 +626,12 @@ set(FREERDP_EXTENSION_PATH "${CMAKE_INSTALL_FULL_LIBDIR}/freerdp/extensions") + include_directories(${CMAKE_CURRENT_BINARY_DIR}) + include_directories(${CMAKE_CURRENT_BINARY_DIR}/include) + include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) ++if(BSD) ++ if(IS_DIRECTORY /usr/local/include) ++ include_directories(/usr/local/include) ++ link_directories(/usr/local/lib) ++ endif() ++endif() + + # Configure files + add_definitions("-DHAVE_CONFIG_H") +diff winpr/libwinpr/sysinfo/sysinfo.c winpr/libwinpr/sysinfo/sysinfo.c +index 1529d54..457ab9d 100644 +--- winpr/libwinpr/sysinfo/sysinfo.c ++++ winpr/libwinpr/sysinfo/sysinfo.c +@@ -54,6 +54,7 @@ + #ifndef _WIN32 + + #include ++#include + + #ifdef HAVE_UNISTD_H + #include +diff winpr/libwinpr/utils/CMakeLists.txt winpr/libwinpr/utils/CMakeLists.txt +index e524bf9..501f605 100644 +--- winpr/libwinpr/utils/CMakeLists.txt ++++ winpr/libwinpr/utils/CMakeLists.txt +@@ -113,6 +113,10 @@ if(UNIX) + winpr_library_add(m) + endif() + ++if(BSD) ++ winpr_library_add(execinfo) ++endif() ++ + if(BUILD_TESTING) + add_subdirectory(test) + endif() +-- +2.4.1 + diff --git a/net/freerdp/files/patch-libfreerdp-locale-timezone.c b/net/freerdp/files/patch-libfreerdp-locale-timezone.c new file mode 100644 index 000000000000..ee8d2e4bb070 --- /dev/null +++ b/net/freerdp/files/patch-libfreerdp-locale-timezone.c @@ -0,0 +1,42 @@ +From f5dbe2c9a5fe050c1d7e014d3c1529befb8eea3b Mon Sep 17 00:00:00 2001 +From: ivan-83 +Date: Tue, 10 Mar 2015 04:40:47 +0300 +Subject: [PATCH] * FreeBSD timezone detection patch + +--- + libfreerdp/locale/timezone.c | 15 +++++++++++---- + 1 file changed, 11 insertions(+), 4 deletions(-) + +diff libfreerdp/locale/timezone.c libfreerdp/locale/timezone.c +index 92b74e8..0375f9c 100644 +--- libfreerdp/locale/timezone.c ++++ libfreerdp/locale/timezone.c +@@ -1521,8 +1523,11 @@ char* freerdp_get_unix_timezone_identifier() + return tzid; + } + ++#ifdef __FreeBSD__ ++ fp = fopen("/var/db/zoneinfo", "r"); ++#else + fp = fopen("/etc/timezone", "r"); +- ++#endif + if (fp != NULL) + { + fseek(fp, 0, SEEK_END); +@@ -1678,8 +1683,10 @@ void freerdp_time_zone_detect(TIME_ZONE_INFO* clientTimeZone) + + #ifdef HAVE_TM_GMTOFF + #if defined(__FreeBSD__) +- /*not the best solution, but could not get the right tyepcast*/ +- clientTimeZone->bias = 0; ++ if (local_time->tm_gmtoff >= 0) ++ clientTimeZone->bias = (UINT32) (local_time->tm_gmtoff / 60); ++ else ++ clientTimeZone->bias = (UINT32) (1440 + (INT32) (local_time->tm_gmtoff / 60)); + #else + clientTimeZone->bias = timezone / 60; + #endif +-- +2.4.1 + diff --git a/net/freerdp/files/patch-winpr.pc.in b/net/freerdp/files/patch-winpr.pc.in new file mode 100644 index 000000000000..b3e01821f0eb --- /dev/null +++ b/net/freerdp/files/patch-winpr.pc.in @@ -0,0 +1,12 @@ +Index: winpr.pc.in +diff -u winpr.pc.in.orig winpr.pc.in +--- winpr.pc.in.orig 2014-09-12 07:46:32.000000000 +0900 ++++ winpr.pc.in 2015-05-26 02:05:59.353925013 +0900 +@@ -9,7 +9,6 @@ + URL: http://www.freerdp.com/ + Version: @WINPR_VERSION_FULL@ + Requires: +-Requires.private: zlib libssl + Libs: -L${libdir} ${libs} + Libs.private: -ldl -lrt -lm -lpthread + Cflags: -I${includedir} diff --git a/net/freerdp/files/patch-z001-CMakeLists.txt b/net/freerdp/files/patch-z001-CMakeLists.txt new file mode 100644 index 000000000000..6c9c2194b421 --- /dev/null +++ b/net/freerdp/files/patch-z001-CMakeLists.txt @@ -0,0 +1,13 @@ +--- CMakeLists.txt.intermediate 2015-06-06 13:17:20 UTC ++++ CMakeLists.txt +@@ -322,6 +322,10 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "BSD") + set(FREEBSD TRUE) + endif() + endif() ++if(${CMAKE_SYSTEM_NAME} MATCHES "DragonFly") ++ set(BSD TRUE) ++ set(FREEBSD TRUE) ++endif() + + # Android + if(ANDROID) diff --git a/net/freerdp/pkg-plist b/net/freerdp/pkg-plist index a9707ca07954..de35b4e558b3 100644 --- a/net/freerdp/pkg-plist +++ b/net/freerdp/pkg-plist @@ -1,9 +1,9 @@ +%%DIRECTFB%%bin/dfreerdp %%X11%%bin/xfreerdp include/freerdp/addin.h include/freerdp/altsec.h include/freerdp/api.h include/freerdp/assistance.h -include/freerdp/autodetect.h include/freerdp/cache/bitmap.h include/freerdp/cache/brush.h include/freerdp/cache/cache.h @@ -19,7 +19,6 @@ include/freerdp/channels/encomsp.h include/freerdp/channels/log.h include/freerdp/channels/rail.h include/freerdp/channels/rdpdr.h -include/freerdp/channels/rdpei.h include/freerdp/channels/rdpgfx.h include/freerdp/channels/rdpsnd.h include/freerdp/channels/remdesk.h @@ -81,7 +80,6 @@ include/freerdp/gdi/clipping.h include/freerdp/gdi/dc.h include/freerdp/gdi/drawing.h include/freerdp/gdi/gdi.h -include/freerdp/gdi/gfx.h include/freerdp/gdi/line.h include/freerdp/gdi/palette.h include/freerdp/gdi/pen.h @@ -101,6 +99,10 @@ include/freerdp/pointer.h include/freerdp/primary.h include/freerdp/primitives.h include/freerdp/rail.h +include/freerdp/rail/icon.h +include/freerdp/rail/rail.h +include/freerdp/rail/window.h +include/freerdp/rail/window_list.h include/freerdp/scancode.h include/freerdp/secondary.h include/freerdp/server/audin.h @@ -110,7 +112,6 @@ include/freerdp/server/drdynvc.h include/freerdp/server/echo.h include/freerdp/server/encomsp.h include/freerdp/server/rdpdr.h -include/freerdp/server/rdpei.h include/freerdp/server/rdpsnd.h include/freerdp/server/remdesk.h include/freerdp/server/shadow.h @@ -118,21 +119,25 @@ include/freerdp/settings.h include/freerdp/svc.h include/freerdp/types.h include/freerdp/update.h +include/freerdp/utils/debug.h +include/freerdp/utils/event.h include/freerdp/utils/msusb.h include/freerdp/utils/passphrase.h include/freerdp/utils/pcap.h include/freerdp/utils/profiler.h +include/freerdp/utils/rail.h include/freerdp/utils/ringbuffer.h include/freerdp/utils/signal.h include/freerdp/utils/stopwatch.h +include/freerdp/utils/svc_plugin.h +include/freerdp/utils/tcp.h +include/freerdp/utils/time.h +include/freerdp/utils/uds.h include/freerdp/version.h include/freerdp/window.h -include/rdtk/api.h -include/rdtk/rdtk.h include/winpr/asn1.h include/winpr/bcrypt.h include/winpr/bitstream.h -include/winpr/clipboard.h include/winpr/cmdline.h include/winpr/collections.h include/winpr/comm.h @@ -152,7 +157,6 @@ include/winpr/image.h include/winpr/ini.h include/winpr/input.h include/winpr/interlocked.h -include/winpr/intrin.h include/winpr/io.h include/winpr/library.h include/winpr/locale.h @@ -161,7 +165,6 @@ include/winpr/midl.h include/winpr/ndr.h include/winpr/nt.h include/winpr/ntlm.h -include/winpr/pack.h include/winpr/path.h include/winpr/pipe.h include/winpr/platform.h @@ -172,7 +175,6 @@ include/winpr/rpc.h include/winpr/sam.h include/winpr/schannel.h include/winpr/security.h -include/winpr/shell.h include/winpr/smartcard.h include/winpr/spec.h include/winpr/ssl.h @@ -186,7 +188,6 @@ include/winpr/tchar.h include/winpr/thread.h include/winpr/timezone.h include/winpr/tools/makecert.h -include/winpr/user.h include/winpr/windows.h include/winpr/winhttp.h include/winpr/winpr.h @@ -199,59 +200,49 @@ lib/cmake/FreeRDP/FreeRDPConfig.cmake lib/cmake/FreeRDP/FreeRDPConfigVersion.cmake lib/cmake/FreeRDP/FreeRDPTargets-%%CMAKE_BUILD_TYPE%%.cmake lib/cmake/FreeRDP/FreeRDPTargets.cmake -lib/cmake/RdTk/RdTkConfig.cmake -lib/cmake/RdTk/RdTkConfigVersion.cmake -lib/cmake/RdTk/RdTkTargets-%%CMAKE_BUILD_TYPE%%.cmake -lib/cmake/RdTk/RdTkTargets.cmake lib/cmake/WinPR/WinPRConfig.cmake lib/cmake/WinPR/WinPRConfigVersion.cmake lib/cmake/WinPR/WinPRTargets-%%CMAKE_BUILD_TYPE%%.cmake lib/cmake/WinPR/WinPRTargets.cmake -%%ALSA%%lib/freerdp/libaudin-client-alsa.a -%%PULSEAUDIO%%lib/freerdp/libaudin-client-pulse.a -lib/freerdp/libaudin-client-oss.a -lib/freerdp/libaudin-client.a -lib/freerdp/libcliprdr-client.a -lib/freerdp/libdisp-client.a -lib/freerdp/libdrdynvc-client.a -lib/freerdp/libdrive-client.a -lib/freerdp/libecho-client.a -lib/freerdp/libencomsp-client.a -lib/freerdp/libparallel-client.a -%%CUPS%%lib/freerdp/libprinter-client.a -lib/freerdp/librail-client.a -lib/freerdp/librdpdr-client.a -lib/freerdp/librdpei-client.a -lib/freerdp/librdpgfx-client.a -%%ALSA%%lib/freerdp/librdpsnd-client-alsa.a -lib/freerdp/librdpsnd-client-oss.a -%%PULSEAUDIO%%lib/freerdp/librdpsnd-client-pulse.a -lib/freerdp/librdpsnd-client.a -lib/freerdp/libremdesk-client.a -lib/freerdp/libserial-client.a -lib/freerdp/libsmartcard-client.a -%%ALSA%%lib/freerdp/libtsmf-client-alsa-audio.a -%%FFMPEG%%lib/freerdp/libtsmf-client-ffmpeg-decoder.a -%%GSTREAMER%%lib/freerdp/libtsmf-client-gstreamer-decoder.a -lib/freerdp/libtsmf-client-oss-audio.a -%%PULSEAUDIO%%lib/freerdp/libtsmf-client-pulse-audio.a -lib/freerdp/libtsmf-client.a +%%ALSA%%lib/freerdp/audin-client-alsa.a +%%PULSEAUDIO%%lib/freerdp/audin-client-pulse.a +lib/freerdp/audin-client.a +lib/freerdp/cliprdr-client.a +lib/freerdp/disp-client.a +lib/freerdp/drdynvc-client.a +lib/freerdp/drive-client.a +lib/freerdp/echo-client.a +lib/freerdp/encomsp-client.a +lib/freerdp/parallel-client.a +%%CUPS%%lib/freerdp/printer-client.a +lib/freerdp/rail-client.a +lib/freerdp/rdpdr-client.a +lib/freerdp/rdpei-client.a +lib/freerdp/rdpgfx-client.a +%%ALSA%%lib/freerdp/rdpsnd-client-alsa.a +%%PULSEAUDIO%%lib/freerdp/rdpsnd-client-pulse.a +lib/freerdp/rdpsnd-client.a +lib/freerdp/remdesk-client.a +lib/freerdp/serial-client.a +lib/freerdp/smartcard-client.a +%%ALSA%%lib/freerdp/tsmf-client-alsa-audio.a +%%FFMPEG%%lib/freerdp/tsmf-client-ffmpeg-decoder.a +%%GSTREAMER%%lib/freerdp/tsmf-client-gstreamer-decoder.a +%%PULSEAUDIO%%lib/freerdp/tsmf-client-pulse-audio.a +lib/freerdp/tsmf-client.a +lib/libfreerdp.so +lib/libfreerdp.so.1.2 +lib/libfreerdp.so.1.2.0 lib/libfreerdp-client.so lib/libfreerdp-client.so.1.2 -lib/libfreerdp-client.so.1.2.4 -lib/libfreerdp.so -lib/libfreerdp.so.1.2 -lib/libfreerdp.so.1.2.4 -lib/librdtk.so -lib/librdtk.so.1.1 -lib/librdtk.so.1.1.0 +lib/libfreerdp-client.so.1.2.0 +lib/libwinpr.so +lib/libwinpr.so.1.1 +lib/libwinpr.so.1.1.0 lib/libwinpr-makecert-tool.a -lib/libwinpr.so -lib/libwinpr.so.1.1 -lib/libwinpr.so.1.1.0 %%X11%%lib/libxfreerdp-client.so %%X11%%lib/libxfreerdp-client.so.1.2 -%%X11%%lib/libxfreerdp-client.so.1.2.4 +%%X11%%lib/libxfreerdp-client.so.1.2.0 libdata/pkgconfig/freerdp.pc libdata/pkgconfig/winpr.pc %%X11%%man/man1/xfreerdp.1.gz