diff --git a/net/freerdp/Makefile b/net/freerdp/Makefile index 086dba47649b..e0d0ab951951 100644 --- a/net/freerdp/Makefile +++ b/net/freerdp/Makefile @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= freerdp -DISTVERSION= 2.0.0-rc0 -PORTREVISION= 3 +DISTVERSION= 2.0.0-rc1 CATEGORIES= net comms ipv6 MAINTAINER= kevans@FreeBSD.org @@ -12,21 +11,22 @@ COMMENT= Free implementation of Remote Desktop Protocol LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE -USE_GITHUB= yes -GH_ACCOUNT= FreeRDP -GH_PROJECT= ${GH_ACCOUNT} - USES= alias cmake:outsource compiler:c++11-lib cpe gettext localbase pathfix pkgconfig ssl USE_LDCONFIG= yes CPE_VENDOR= freerdp_project +USE_GITHUB= yes +GH_ACCOUNT= FreeRDP +GH_PROJECT= ${GH_ACCOUNT} + CMAKE_ARGS+= -DWITH_LIBSYSTEMD=OFF -DWITH_GSTREAMER_0_10=OFF ${CMAKE_ARGS_${ARCH}} CMAKE_ARGS_aarch64= -DWITH_NEON=ON CFLAGS_aarch64= -D__ARM_NEON__=__ARM_NEON # clang -OPTIONS_DEFINE= ALSA CUPS FFMPEG GSTREAMER PULSEAUDIO WAYLAND X11 -OPTIONS_DEFAULT= CUPS GSTREAMER WAYLAND X11 +OPTIONS_DEFINE= ALSA CUPS FFMPEG GSTREAMER ICU KERBEROS MANPAGES \ + PULSEAUDIO WAYLAND X11 +OPTIONS_DEFAULT= CUPS GSTREAMER ICU KERBEROS MANPAGES WAYLAND X11 OPTIONS_SUB= yes OPTIONS_DEFINE_armv6= NEON @@ -49,6 +49,15 @@ GSTREAMER_CMAKE_BOOL= WITH_GSTREAMER_1_0 GSTREAMER_USE= gnome=glib20 gstreamer1=yes xorg=x11,xext,xextproto,xrandr GSTREAMER_LIB_DEPENDS= libgstbase-1.0.so:multimedia/gstreamer1 +ICU_LIB_DEPENDS= libicuuc.so:devel/icu +ICU_CMAKE_BOOL= WITH_ICU + +KERBEROS_CMAKE_BOOL= WITH_GSSAPI_HEIMDAL + +MANPAGES_BUILD_DEPENDS= xsltproc:textproc/libxslt +MANPAGES_CMAKE_BOOL= WITH_MANPAGES +MANPAGES_CMAKE_OFF= -DWITH_MANPAGES=OFF + NEON_DESC= Enable Media Processing Engine instructions NEON_CMAKE_BOOL= WITH_NEON .if ! ${CFLAGS:M-march*} @@ -69,7 +78,6 @@ WAYLAND_LIB_DEPENDS= libepoll-shim.so:devel/libepoll-shim \ WAYLAND_CMAKE_BOOL= WITH_WAYLAND X11_DESC= Build FreeRDP X11 client -X11_BUILD_DEPENDS= xmlto:textproc/xmlto X11_CMAKE_BOOL= WITH_X11 X11_CMAKE_OFF= -DWITH_XKBFILE=OFF X11_USE= xorg=x11,xcursor,xext,xextproto,xfixes,xi,xinerama,xkbfile,xrandr,xrender,xv @@ -88,9 +96,8 @@ BROKEN= Fails to build on ARMv6 (libm bug). See: r305380 (HEAD), r305971 (stable post-patch: @${REINPLACE_CMD} -e '/CMAKE_INSTALL_RPATH /d' \ ${WRKSRC}/CMakeLists.txt - @${REINPLACE_CMD} -e 's/OPENBSD/BSD/' \ - ${WRKSRC}/winpr/CMakeLists.txt \ - ${WRKSRC}/client/X11/CMakeLists.txt + @${REINPLACE_CMD} -e 's/Linux/Linux|FreeBSD/' \ + ${WRKSRC}/winpr/CMakeLists.txt @${REINPLACE_CMD} -e 's/NetBSD__)/NetBSD__) || defined(__FreeBSD__)/' \ ${WRKSRC}/winpr/libwinpr/utils/trio/triodef.h @${RM} ${WRKSRC}/cmake/FindOpenSSL.cmake diff --git a/net/freerdp/distinfo b/net/freerdp/distinfo index 0d7c7924d46b..713b2219f1c5 100644 --- a/net/freerdp/distinfo +++ b/net/freerdp/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1501924476 -SHA256 (FreeRDP-FreeRDP-2.0.0-rc0_GH0.tar.gz) = b432d92f529646f3e914513c8202c66ce167405082ee5b9e6d15ba4321ff6664 -SIZE (FreeRDP-FreeRDP-2.0.0-rc0_GH0.tar.gz) = 6486533 +TIMESTAMP = 1514888037 +SHA256 (FreeRDP-FreeRDP-2.0.0-rc1_GH0.tar.gz) = a2c1c83072489d56da78bbe76c29729022f5c35a3ec3a1ce26cea8823de043c2 +SIZE (FreeRDP-FreeRDP-2.0.0-rc1_GH0.tar.gz) = 6530403 diff --git a/net/freerdp/files/patch-client_Wayland_CMakeLists.txt b/net/freerdp/files/patch-client_Wayland_CMakeLists.txt new file mode 100644 index 000000000000..6b61bfbfc46f --- /dev/null +++ b/net/freerdp/files/patch-client_Wayland_CMakeLists.txt @@ -0,0 +1,16 @@ +--- client/Wayland/CMakeLists.txt.orig 2017-11-28 14:26:30 UTC ++++ client/Wayland/CMakeLists.txt +@@ -39,5 +39,12 @@ target_link_libraries(${MODULE_NAME} ${$ + install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT client) + + set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Client/Wayland") ++ ++if(WITH_MANPAGES) + configure_file(wlfreerdp.1.in ${CMAKE_CURRENT_BINARY_DIR}/wlfreerdp.1) +-install_freerdp_man(${CMAKE_CURRENT_BINARY_DIR}/wlfreerdp.1 1) ++ if(BSD) ++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/wlfreerdp.1 DESTINATION man/man1) ++ else() ++ install_freerdp_man(${CMAKE_CURRENT_BINARY_DIR}/wlfreerdp.1 1) ++ endif() ++endif(WITH_MANPAGES) diff --git a/net/freerdp/files/patch-client_X11_CMakeLists.txt b/net/freerdp/files/patch-client_X11_CMakeLists.txt new file mode 100644 index 000000000000..e714acb95c95 --- /dev/null +++ b/net/freerdp/files/patch-client_X11_CMakeLists.txt @@ -0,0 +1,15 @@ +--- client/X11/CMakeLists.txt.orig 2017-11-28 14:26:30 UTC ++++ client/X11/CMakeLists.txt +@@ -111,7 +111,11 @@ if(WITH_MANPAGES) + add_custom_target(xfreerdp.manpage ALL + DEPENDS xfreerdp.1) + +- install_freerdp_man(${CMAKE_CURRENT_BINARY_DIR}/xfreerdp.1 1) ++ if(BSD) ++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/xfreerdp.1 DESTINATION man/man1) ++ else() ++ install_freerdp_man(${CMAKE_CURRENT_BINARY_DIR}/xfreerdp.1 1) ++ endif() + else() + message(WARNING "WITH_MANPAGES was set, but xsltproc was not found. man-pages will not be installed") + endif() diff --git a/net/freerdp/files/patch-winpr_CMakeLists.txt b/net/freerdp/files/patch-winpr_CMakeLists.txt new file mode 100644 index 000000000000..d405ef71061a --- /dev/null +++ b/net/freerdp/files/patch-winpr_CMakeLists.txt @@ -0,0 +1,18 @@ +--- winpr/CMakeLists.txt.orig 2017-11-28 14:26:30 UTC ++++ winpr/CMakeLists.txt +@@ -180,7 +180,14 @@ if(BUILD_TESTING) + add_subdirectory(test) + endif() + +-install_freerdp_man(wlog.7 7) ++if(WITH_MANPAGES) ++ if(BSD) ++ install(FILES wlog.7 DESTINATION man/man7) ++ else() ++ install_freerdp_man(wlog.7 7) ++ endif() ++endif(WITH_MANPAGES) ++ + # Exporting + + if(${CMAKE_VERSION} VERSION_GREATER "2.8.10") diff --git a/net/freerdp/files/patch-winpr_libwinpr_crypto_hash.c b/net/freerdp/files/patch-winpr_libwinpr_crypto_hash.c index c00c797ec640..cde32a9cc918 100644 --- a/net/freerdp/files/patch-winpr_libwinpr_crypto_hash.c +++ b/net/freerdp/files/patch-winpr_libwinpr_crypto_hash.c @@ -1,6 +1,6 @@ ---- winpr/libwinpr/crypto/hash.c.orig 2017-08-05 09:37:24 UTC +--- winpr/libwinpr/crypto/hash.c.orig 2017-11-28 14:26:30 UTC +++ winpr/libwinpr/crypto/hash.c -@@ -178,7 +178,7 @@ BOOL winpr_HMAC_Init(WINPR_HMAC_CTX* ctx, WINPR_MD_TYP +@@ -179,7 +179,7 @@ BOOL winpr_HMAC_Init(WINPR_HMAC_CTX* ctx if (!evp || !hmac) return FALSE; @@ -9,16 +9,16 @@ HMAC_Init_ex(hmac, key, keylen, evp, NULL); /* no return value on OpenSSL 0.9.x */ return TRUE; #else -@@ -214,7 +214,7 @@ BOOL winpr_HMAC_Update(WINPR_HMAC_CTX* ctx, const BYTE +@@ -215,7 +215,7 @@ BOOL winpr_HMAC_Update(WINPR_HMAC_CTX* c + { #if defined(WITH_OPENSSL) HMAC_CTX* hmac = (HMAC_CTX*) ctx; - -#if (OPENSSL_VERSION_NUMBER < 0x10000000L) +#if (OPENSSL_VERSION_NUMBER < 0x10000000L) || defined(LIBRESSL_VERSION_NUMBER) HMAC_Update(hmac, input, ilen); /* no return value on OpenSSL 0.9.x */ return TRUE; #else -@@ -244,7 +244,7 @@ BOOL winpr_HMAC_Final(WINPR_HMAC_CTX* ctx, BYTE* outpu +@@ -247,7 +247,7 @@ BOOL winpr_HMAC_Final(WINPR_HMAC_CTX* ct #if defined(WITH_OPENSSL) hmac = (HMAC_CTX*) ctx; diff --git a/net/freerdp/files/patch-winpr_libwinpr_utils_ssl.c b/net/freerdp/files/patch-winpr_libwinpr_utils_ssl.c index 7cddc9cd83ec..1b503ddde0d9 100644 --- a/net/freerdp/files/patch-winpr_libwinpr_utils_ssl.c +++ b/net/freerdp/files/patch-winpr_libwinpr_utils_ssl.c @@ -1,4 +1,4 @@ ---- winpr/libwinpr/utils/ssl.c.orig 2017-07-24 08:46:54 UTC +--- winpr/libwinpr/utils/ssl.c.orig 2017-11-28 14:26:30 UTC +++ winpr/libwinpr/utils/ssl.c @@ -58,7 +58,7 @@ struct CRYPTO_dynlock_value }; @@ -9,7 +9,7 @@ static unsigned long _winpr_openssl_id(void) { return (unsigned long)GetCurrentThreadId(); -@@ -172,7 +172,7 @@ static BOOL _winpr_openssl_initialize_locking(void) +@@ -174,7 +174,7 @@ static BOOL _winpr_openssl_initialize_lo } /* Use the deprecated CRYPTO_get_id_callback() if building against OpenSSL < 1.0.0 */ @@ -18,7 +18,7 @@ if (CRYPTO_get_id_callback()) { -@@ -222,7 +222,7 @@ static BOOL _winpr_openssl_cleanup_locking(void) +@@ -224,7 +224,7 @@ static BOOL _winpr_openssl_cleanup_locki CRYPTO_set_dynlock_destroy_callback(NULL); } @@ -27,30 +27,21 @@ if (CRYPTO_get_id_callback() == _winpr_openssl_id) { -@@ -255,7 +255,7 @@ static BOOL CALLBACK _winpr_openssl_initialize(PINIT_O - } - #endif - /* SSL_load_error_strings() is void */ --#if (OPENSSL_VERSION_NUMBER < 0x10100000L) -+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) - SSL_load_error_strings(); - /* SSL_library_init() always returns "1" */ - SSL_library_init(); -@@ -296,7 +296,7 @@ BOOL winpr_CleanupSSL(DWORD flags) - #ifdef WINPR_OPENSSL_LOCKING_REQUIRED - _winpr_openssl_cleanup_locking(); - #endif --#if (OPENSSL_VERSION_NUMBER < 0x10100000L) -+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) - CRYPTO_cleanup_all_ex_data(); - ERR_free_strings(); - EVP_cleanup(); -@@ -307,7 +307,7 @@ BOOL winpr_CleanupSSL(DWORD flags) - #ifdef WINPR_OPENSSL_LOCKING_REQUIRED - if (flags & WINPR_SSL_CLEANUP_THREAD) +@@ -279,7 +279,7 @@ static BOOL CALLBACK _winpr_openssl_init + + if (flags & WINPR_SSL_INIT_ENABLE_FIPS) { --#if (OPENSSL_VERSION_NUMBER < 0x10000000L) -+#if (OPENSSL_VERSION_NUMBER < 0x10000000L) || defined(LIBRESSL_VERSION_NUMBER) - ERR_remove_state(0); +-#if (OPENSSL_VERSION_NUMBER < 0x10001000L) ++#if (OPENSSL_VERSION_NUMBER < 0x10001000L) || defined(LIBRESSL_VERSION_NUMBER) + WLog_ERR(TAG, "Openssl fips mode ENable not available on openssl versions less than 1.0.1!"); #else - ERR_remove_thread_state(NULL); + WLog_DBG(TAG, "Ensuring openssl fips mode is ENabled"); +@@ -348,7 +348,7 @@ BOOL winpr_CleanupSSL(DWORD flags) + + BOOL winpr_FIPSMode(void) + { +-#if (OPENSSL_VERSION_NUMBER < 0x10001000L) ++#if (OPENSSL_VERSION_NUMBER < 0x10001000L) || defined(LIBRESSL_VERSION_NUMBER) + return FALSE; + #else + return (FIPS_mode() == 1); diff --git a/net/freerdp/files/patch-winpr_tools_hash-cli_CMakeLists.txt b/net/freerdp/files/patch-winpr_tools_hash-cli_CMakeLists.txt new file mode 100644 index 000000000000..b894630ed3d4 --- /dev/null +++ b/net/freerdp/files/patch-winpr_tools_hash-cli_CMakeLists.txt @@ -0,0 +1,15 @@ +--- winpr/tools/hash-cli/CMakeLists.txt.orig 2017-11-28 14:26:30 UTC ++++ winpr/tools/hash-cli/CMakeLists.txt +@@ -50,5 +50,11 @@ if (WITH_DEBUG_SYMBOLS AND MSVC) + endif() + + set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR/Tools") ++if(WITH_MANPAGES) + configure_file(winpr-hash.1.in ${CMAKE_CURRENT_BINARY_DIR}/winpr-hash.1) +-install_freerdp_man(${CMAKE_CURRENT_BINARY_DIR}/winpr-hash.1 1) ++ if(BSD) ++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/winpr-hash.1 DESTINATION man/man1) ++ else() ++ install_freerdp_man(${CMAKE_CURRENT_BINARY_DIR}/winpr-hash.1 1) ++ endif() ++endif(WITH_MANPAGES) diff --git a/net/freerdp/files/patch-winpr_tools_makecert-cli_CMakeLists.txt b/net/freerdp/files/patch-winpr_tools_makecert-cli_CMakeLists.txt new file mode 100644 index 000000000000..df778cb67ddd --- /dev/null +++ b/net/freerdp/files/patch-winpr_tools_makecert-cli_CMakeLists.txt @@ -0,0 +1,15 @@ +--- winpr/tools/makecert-cli/CMakeLists.txt.orig 2017-11-28 14:26:30 UTC ++++ winpr/tools/makecert-cli/CMakeLists.txt +@@ -51,5 +51,11 @@ if (WITH_DEBUG_SYMBOLS AND MSVC) + install(FILES ${CMAKE_PDB_BINARY_DIR}/${MODULE_NAME}.pdb DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT symbols) + endif() + ++if(WITH_MANPAGES) + configure_file(winpr-makecert.1.in ${CMAKE_CURRENT_BINARY_DIR}/winpr-makecert.1) +-install_freerdp_man(${CMAKE_CURRENT_BINARY_DIR}/winpr-makecert.1 1) ++ if(BSD) ++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/winpr-makecert.1 DESTINATION man/man1) ++ else() ++ install_freerdp_man(${CMAKE_CURRENT_BINARY_DIR}/winpr-makecert.1 1) ++ endif() ++endif(WITH_MANPAGES) diff --git a/net/freerdp/files/patch-winpr_tools_makecert_makecert.c b/net/freerdp/files/patch-winpr_tools_makecert_makecert.c index b3b2dd77438f..d85dc49c104c 100644 --- a/net/freerdp/files/patch-winpr_tools_makecert_makecert.c +++ b/net/freerdp/files/patch-winpr_tools_makecert_makecert.c @@ -1,33 +1,6 @@ ---- winpr/tools/makecert/makecert.c.orig 2017-07-24 08:46:54 UTC +--- winpr/tools/makecert/makecert.c.orig 2017-11-28 14:26:30 UTC +++ winpr/tools/makecert/makecert.c -@@ -620,7 +620,7 @@ int makecert_context_output_certificate_file(MAKECERT_ - printf("Using default export password \"password\"\n"); - } - --#if OPENSSL_VERSION_NUMBER < 0x10100000L -+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) - OpenSSL_add_all_algorithms(); - OpenSSL_add_all_ciphers(); - OpenSSL_add_all_digests(); -@@ -1008,7 +1008,7 @@ int makecert_context_process(MAKECERT_CONTEXT* context - key_length = atoi(arg->Value); - } - --#if (OPENSSL_VERSION_NUMBER < 0x10100000L) -+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) - context->rsa = RSA_generate_key(key_length, RSA_F4, NULL, NULL); - #else - { -@@ -1043,7 +1043,7 @@ int makecert_context_process(MAKECERT_CONTEXT* context - { - ASN1_TIME* before; - ASN1_TIME* after; --#if (OPENSSL_VERSION_NUMBER < 0x10100000L) -+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) - before = X509_get_notBefore(context->x509); - after = X509_get_notAfter(context->x509); - #else -@@ -1242,7 +1242,7 @@ void makecert_context_free(MAKECERT_CONTEXT* context) +@@ -1275,7 +1275,7 @@ void makecert_context_free(MAKECERT_CONT #ifdef WITH_OPENSSL X509_free(context->x509); EVP_PKEY_free(context->pkey); diff --git a/net/freerdp/pkg-descr b/net/freerdp/pkg-descr index c40b0cc19a5c..06abbce47da8 100644 --- a/net/freerdp/pkg-descr +++ b/net/freerdp/pkg-descr @@ -3,4 +3,4 @@ released under the Apache license. Enjoy the freedom of using your software wherever you want, the way you want it, in a world where interoperability can finally liberate your computing experience. -WWW: http://www.freerdp.com/ +WWW: http://www.freerdp.com diff --git a/net/freerdp/pkg-plist b/net/freerdp/pkg-plist index b08d4d8baf7f..4dac3c60d5c5 100644 --- a/net/freerdp/pkg-plist +++ b/net/freerdp/pkg-plist @@ -43,6 +43,7 @@ include/freerdp2/freerdp/client/rdpei.h include/freerdp2/freerdp/client/rdpgfx.h include/freerdp2/freerdp/client/rdpsnd.h include/freerdp2/freerdp/client/remdesk.h +include/freerdp2/freerdp/client/sshagent.h include/freerdp2/freerdp/client/tsmf.h include/freerdp2/freerdp/codec/audio.h include/freerdp2/freerdp/codec/bitmap.h @@ -229,8 +230,8 @@ share/cmake/Modules/WinPR2/WinPRConfig.cmake share/cmake/Modules/WinPR2/WinPRConfigVersion.cmake share/cmake/Modules/WinPR2/WinPRTargets-%%CMAKE_BUILD_TYPE%%.cmake share/cmake/Modules/WinPR2/WinPRTargets.cmake -share/man/man1/winpr-hash.1 -share/man/man1/winpr-makecert.1 -%%WAYLAND%%share/man/man1/wlfreerdp.1 -%%X11%%share/man/man1/xfreerdp.1 -share/man/man7/wlog.7 +%%MANPAGES%%man/man1/winpr-hash.1.gz +%%MANPAGES%%man/man1/winpr-makecert.1.gz +%%WAYLAND%%%%MANPAGES%%man/man1/wlfreerdp.1.gz +%%X11%%%%MANPAGES%%man/man1/xfreerdp.1.gz +%%MANPAGES%%man/man7/wlog.7.gz