From 595aec683a5a78e7fc19af0914a19de2038eb0b5 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Tue, 5 Sep 2023 04:33:55 +0200 Subject: [PATCH] contrib: vncclient: update to 0.9.15 Updates to latest upstream release 0.9.15 and switches the build system to CMake as autotools was removed. Co-authored-by: Johannes Kauffmann --- ...es-for-.pc-generation-don-t-parse-li.patch | 170 ++++++++++++++++++ contrib/src/vncclient/SHA512SUMS | 2 +- ...install-components-for-client-server.patch | 91 ++++++++++ contrib/src/vncclient/cross-ar.patch | 24 --- contrib/src/vncclient/gnutls-recent.patch | 42 ----- .../libvncclient-libjpeg-win32.patch | 12 -- contrib/src/vncclient/png-detection.patch | 11 -- contrib/src/vncclient/rfbproto.patch | 12 -- contrib/src/vncclient/rules.mak | 49 ++--- contrib/src/vncclient/vnc-gnutls-anon.patch | 10 +- contrib/src/vncclient/vnc-gnutls-pkg.patch | 11 -- 11 files changed, 294 insertions(+), 140 deletions(-) create mode 100644 contrib/src/vncclient/CMake-use-Requires-for-.pc-generation-don-t-parse-li.patch create mode 100644 contrib/src/vncclient/build-add-install-components-for-client-server.patch delete mode 100644 contrib/src/vncclient/cross-ar.patch delete mode 100644 contrib/src/vncclient/gnutls-recent.patch delete mode 100644 contrib/src/vncclient/libvncclient-libjpeg-win32.patch delete mode 100644 contrib/src/vncclient/png-detection.patch delete mode 100644 contrib/src/vncclient/rfbproto.patch delete mode 100644 contrib/src/vncclient/vnc-gnutls-pkg.patch diff --git a/contrib/src/vncclient/CMake-use-Requires-for-.pc-generation-don-t-parse-li.patch b/contrib/src/vncclient/CMake-use-Requires-for-.pc-generation-don-t-parse-li.patch new file mode 100644 index 0000000000..f19141b6da --- /dev/null +++ b/contrib/src/vncclient/CMake-use-Requires-for-.pc-generation-don-t-parse-li.patch @@ -0,0 +1,170 @@ +From ed84d209bae973cd29b94f111749b1c003e05601 Mon Sep 17 00:00:00 2001 +From: Johannes Kauffmann +Date: Sat, 21 Feb 2026 15:17:26 +0100 +Subject: [PATCH] CMake: use Requires: for .pc generation (don't parse link + flags) + +Instead of trying to translate/parse the INTERFACE link flags from CMake +to the .pc file, make use of the more native-to-pkg-config "Requires" +and "Requires.private", so that we can refer to the whole dependent .pc +pacakge name. + +This fixes static linking when the dependencies of static libraries are +also static, and allows for using pkg-config all the way down. + +When sasl and zlib are found, Rfb public headers also include headers +from these libraries so they are the only ones listed in "Requires". +The others can be in "Requires.private". + +Signed-off-by: Johannes Kauffmann +--- + CMakeLists.txt | 36 ++++++++---------------- + src/libvncclient/libvncclient.pc.cmakein | 6 ++-- + src/libvncserver/libvncserver.pc.cmakein | 5 ++-- + 3 files changed, 15 insertions(+), 32 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d9cbfda7..c86fb6fa 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -281,6 +281,7 @@ if(SYSTEMD_FOUND) + add_definitions(-DLIBVNCSERVER_WITH_SYSTEMD) + include_directories(${SYSTEMD_INCLUDE_DIRS}) + set(ADDITIONAL_LIBS ${ADDITIONAL_LIBS} ${SYSTEMD_LIBRARIES}) ++ list(APPEND LIBVNC_REQUIRES_PRIVATE libsystemd) + endif(SYSTEMD_FOUND) + + # common crypto used by both libvncserver and libvncclient +@@ -288,6 +289,7 @@ if(WITH_GCRYPT AND LIBGCRYPT_LIBRARIES) + message(STATUS "Building crypto with Libgcrypt") + set(CRYPTO_LIBRARIES ${LIBGCRYPT_LIBRARIES}) + set(CRYPTO_SOURCES ${COMMON_DIR}/crypto_libgcrypt.c) ++ list(APPEND LIBVNC_REQUIRES_PRIVATE libgcrypt) + elseif(OPENSSL_FOUND) + message(STATUS "Building crypto with OpenSSL") + set(CRYPTO_LIBRARIES ${OPENSSL_LIBRARIES}) +@@ -378,6 +380,7 @@ if(WITH_SASL AND LIBSASL2_LIBRARIES AND SASL2_INCLUDE_DIR) + set(LIBVNCSERVER_HAVE_SASL 1) + set(ADDITIONAL_LIBS ${ADDITIONAL_LIBS} ${LIBSASL2_LIBRARIES}) + include_directories(${SASL2_INCLUDE_DIR}) ++ list(APPEND LIBVNC_REQUIRES sasl) + endif(WITH_SASL AND LIBSASL2_LIBRARIES AND SASL2_INCLUDE_DIR) + + # TODO: +@@ -439,6 +442,7 @@ if(GNUTLS_FOUND) + ${LIBVNCSERVER_DIR}/rfbssl_gnutls.c + ) + include_directories(${GNUTLS_INCLUDE_DIR}) ++ list(APPEND LIBVNC_REQUIRES_PRIVATE gnutls) + elseif(OPENSSL_FOUND) + message(STATUS "Building TLS with OpenSSL") + set(LIBVNCCLIENT_SOURCES +@@ -450,6 +454,7 @@ elseif(OPENSSL_FOUND) + ${LIBVNCSERVER_DIR}/rfbssl_openssl.c + ) + include_directories(${OPENSSL_INCLUDE_DIR}) ++ list(APPEND LIBVNC_REQUIRES_PRIVATE openssl) + else() + message(STATUS "Building without TLS") + set(LIBVNCCLIENT_SOURCES +@@ -472,6 +477,7 @@ endif() + if(ZLIB_FOUND) + add_definitions(-DLIBVNCSERVER_HAVE_LIBZ) + include_directories(${ZLIB_INCLUDE_DIR}) ++ list(APPEND LIBVNC_REQUIRES zlib) + set(LIBVNCSERVER_SOURCES + ${LIBVNCSERVER_SOURCES} + ${LIBVNCSERVER_DIR}/zlib.c +@@ -484,6 +490,7 @@ endif(ZLIB_FOUND) + if(LZO_FOUND) + add_definitions(-DLIBVNCSERVER_HAVE_LZO) + include_directories(${LZO_INCLUDE_DIR}) ++ list(APPEND LIBVNC_REQUIRES_PRIVATE lzo2) + else() + set(LIBVNCSERVER_SOURCES + ${LIBVNCSERVER_SOURCES} +@@ -498,6 +505,7 @@ endif() + if(JPEG_FOUND) + add_definitions(-DLIBVNCSERVER_HAVE_LIBJPEG) + include_directories(${JPEG_INCLUDE_DIR}) ++ list(APPEND LIBVNC_REQUIRES_PRIVATE libjpeg) + if(PNG_FOUND OR ZLIB_FOUND) + set(TIGHT_C ${LIBVNCSERVER_DIR}/tight.c ${COMMON_DIR}/turbojpeg.c) + endif(PNG_FOUND OR ZLIB_FOUND) +@@ -506,6 +514,7 @@ endif(JPEG_FOUND) + if(PNG_FOUND) + add_definitions(-DLIBVNCSERVER_HAVE_LIBPNG) + include_directories(${PNG_INCLUDE_DIR}) ++ list(APPEND LIBVNC_REQUIRES_PRIVATE libpng) + endif(PNG_FOUND) + + set(LIBVNCSERVER_SOURCES +@@ -768,32 +777,9 @@ endif(LIBVNCSERVER_WITH_WEBSOCKETS) + + endif(WITH_TESTS) + +-# +-# this gets the libraries needed by TARGET in "-libx -liby ..." form +-# +-function(get_link_libraries OUT TARGET) +- set(RESULT "") +- get_target_property(LIBRARIES ${TARGET} INTERFACE_LINK_LIBRARIES) +- foreach(LIB ${LIBRARIES}) +- if("${LIB}" MATCHES ".*NOTFOUND.*") +- continue() +- endif() +- string(REGEX REPLACE "^.*/lib" "" LIB ${LIB}) # remove leading path and "lib" name prefix +- string(REGEX REPLACE "-l" "" LIB ${LIB}) # remove leading -l +- string(REGEX REPLACE "\\.so$" "" LIB ${LIB}) # remove trailing .so +- list(APPEND RESULT "-l${LIB}") +- endforeach() +- list(REMOVE_DUPLICATES RESULT) +- string(CONCAT RESULT ${RESULT}) # back to string +- if(RESULT) +- string(REPLACE "-l" " -l" RESULT ${RESULT}) # re-add separators +- endif(RESULT) +- set(${OUT} ${RESULT} PARENT_SCOPE) +-endfunction() +- +-get_link_libraries(PRIVATE_LIBS vncserver) ++string(REPLACE ";" " " LIBVNC_REQUIRES "${LIBVNC_REQUIRES}") ++string(REPLACE ";" " " LIBVNC_REQUIRES_PRIVATE "${LIBVNC_REQUIRES_PRIVATE}") + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/libvncserver/libvncserver.pc.cmakein ${CMAKE_CURRENT_BINARY_DIR}/libvncserver.pc @ONLY) +-get_link_libraries(PRIVATE_LIBS vncclient) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/libvncclient/libvncclient.pc.cmakein ${CMAKE_CURRENT_BINARY_DIR}/libvncclient.pc @ONLY) + + if(LIBVNCSERVER_INSTALL) +diff --git a/src/libvncclient/libvncclient.pc.cmakein b/src/libvncclient/libvncclient.pc.cmakein +index ceeda39d..3f121d71 100644 +--- a/src/libvncclient/libvncclient.pc.cmakein ++++ b/src/libvncclient/libvncclient.pc.cmakein +@@ -6,9 +6,7 @@ includedir=@CMAKE_INSTALL_PREFIX@/include + Name: LibVNCClient + Description: A library for easy implementation of a VNC client. + Version: @LibVNCServer_VERSION@ +-Requires: +-Requires.private: ++Requires: @LIBVNC_REQUIRES@ ++Requires.private: @LIBVNC_REQUIRES_PRIVATE@ + Libs: -L${libdir} -lvncclient +-Libs.private: @PRIVATE_LIBS@ + Cflags: -I${includedir} +- +diff --git a/src/libvncserver/libvncserver.pc.cmakein b/src/libvncserver/libvncserver.pc.cmakein +index 33ec6685..b491240f 100644 +--- a/src/libvncserver/libvncserver.pc.cmakein ++++ b/src/libvncserver/libvncserver.pc.cmakein +@@ -6,8 +6,7 @@ includedir=@CMAKE_INSTALL_PREFIX@/include + Name: LibVNCServer + Description: A library for easy implementation of a VNC server. + Version: @LibVNCServer_VERSION@ +-Requires: +-Requires.private: ++Requires: @LIBVNC_REQUIRES@ ++Requires.private: @LIBVNC_REQUIRES_PRIVATE@ + Libs: -L${libdir} -lvncserver +-Libs.private: @PRIVATE_LIBS@ + Cflags: -I${includedir} +-- +2.43.0 + diff --git a/contrib/src/vncclient/SHA512SUMS b/contrib/src/vncclient/SHA512SUMS index 18f754898b..537707bff5 100644 --- a/contrib/src/vncclient/SHA512SUMS +++ b/contrib/src/vncclient/SHA512SUMS @@ -1 +1 @@ -eb637dfb72dc50fb713a715c9d0cc8824a6871527c2edb497e70c92e2e708021fbd5d8134f2dee6a9e90d1c8fd3fee53c5f5ece790c2804e938011a980ffceae LibVNCServer-0.9.10.tar.gz +3ad7e14eef3b591574714e320257ac465778e05bd157ddff09e48b990f35890bfa6883ce4ac027fcb08dccd96f721117d56aaee681482f7643cfee9adc59804b LibVNCServer-0.9.15.tar.gz diff --git a/contrib/src/vncclient/build-add-install-components-for-client-server.patch b/contrib/src/vncclient/build-add-install-components-for-client-server.patch new file mode 100644 index 0000000000..5afa5f2b55 --- /dev/null +++ b/contrib/src/vncclient/build-add-install-components-for-client-server.patch @@ -0,0 +1,91 @@ +From f1c9d1d63455e18f2c74eb95ed6c2f9003239d83 Mon Sep 17 00:00:00 2001 +From: Marvin Scholz +Date: Tue, 5 Sep 2023 03:12:16 +0200 +Subject: [PATCH] build: add install components for client/server + +This allows to install only the client or only +the server. +--- + CMakeLists.txt | 54 ++++++++++++++++++++++++++++++++++++-------------- + 1 file changed, 39 insertions(+), 15 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ab5c34f4..53ab9352 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -761,25 +761,44 @@ if(LIBVNCSERVER_INSTALL) + + set_property(TARGET vncclient PROPERTY PUBLIC_HEADER ${INSTALL_HEADER_FILES}) + set_property(TARGET vncserver PROPERTY PUBLIC_HEADER ${INSTALL_HEADER_FILES}) +- if(WIN32) +- INSTALL(TARGETS vncclient vncserver ++ ++ INSTALL(TARGETS vncclient + EXPORT LibVNCServerTargets +- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" +- LIBRARY DESTINATION "${CMAKE_INSTALL_BINDIR}" +- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" +- PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/rfb +- INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ++ RUNTIME ++ DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ COMPONENT vncclient ++ LIBRARY ++ DESTINATION "$" ++ COMPONENT vncclient ++ ARCHIVE ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ COMPONENT vncclient ++ PUBLIC_HEADER ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/rfb ++ COMPONENT vncclient ++ INCLUDES ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ++ COMPONENT vncclient + ) +- else() +- INSTALL(TARGETS vncclient vncserver ++ ++ INSTALL(TARGETS vncserver + EXPORT LibVNCServerTargets +- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" +- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" +- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" +- PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/rfb +- INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ++ RUNTIME ++ DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ COMPONENT vncserver ++ LIBRARY ++ DESTINATION "$" ++ COMPONENT vncserver ++ ARCHIVE ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ COMPONENT vncserver ++ PUBLIC_HEADER ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/rfb ++ COMPONENT vncserver ++ INCLUDES ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ++ COMPONENT vncserver + ) +- endif() + + # Install cmake configure files + install(EXPORT LibVNCServerTargets +@@ -807,7 +826,12 @@ if(LIBVNCSERVER_INSTALL) + + install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/libvncserver.pc ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig ++ COMPONENT vncserver ++ ) ++ install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/libvncclient.pc + DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig ++ COMPONENT vncclient + ) + endif() +-- +2.39.2 + diff --git a/contrib/src/vncclient/cross-ar.patch b/contrib/src/vncclient/cross-ar.patch deleted file mode 100644 index 92cb82cb7a..0000000000 --- a/contrib/src/vncclient/cross-ar.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 2dc984dcaa28fd4df90fe011a58fd8fe329bc7a1 Mon Sep 17 00:00:00 2001 -From: Thomas Anderson -Date: Wed, 15 Apr 2015 03:42:32 +0000 -Subject: [PATCH] configure.ac: Use AC_CHECK_TOOL for cross-compiling support. - -When cross-compiling the ar program has the appropriate prefix prepended. -Respect that here and have autotools autodetect the appropriate tool. ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index bcf51283..3069eedd 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -24,7 +24,7 @@ test "x$GCC" = "xyes" && CFLAGS="$CFLAGS -Wall" - AC_PROG_MAKE_SET - AC_LIBTOOL_WIN32_DLL - AC_PROG_LIBTOOL --AC_PATH_PROG([AR], [ar], [/usr/bin/ar], -+AC_CHECK_TOOL([AR], [ar], [/usr/bin/ar], - [$PATH:/usr/ccs/bin]) - - # Options diff --git a/contrib/src/vncclient/gnutls-recent.patch b/contrib/src/vncclient/gnutls-recent.patch deleted file mode 100644 index c4c0616ed1..0000000000 --- a/contrib/src/vncclient/gnutls-recent.patch +++ /dev/null @@ -1,42 +0,0 @@ ---- vncserver/libvncclient/tls_gnutls.c 2014-10-21 17:57:11.000000000 +0200 -+++ vncserver.new/libvncclient/tls_gnutls.c 2016-03-20 20:56:31.769384909 +0100 -@@ -67,17 +67,17 @@ - * libvncclient are linked to different versions of msvcrt.dll. - */ - #ifdef WIN32 --static void WSAtoTLSErrno() -+static void WSAtoTLSErrno(rfbClient *client) - { - switch(WSAGetLastError()) { - case WSAEWOULDBLOCK: -- gnutls_transport_set_global_errno(EAGAIN); -+ gnutls_transport_set_errno(client->tlsSession, EAGAIN); - break; - case WSAEINTR: -- gnutls_transport_set_global_errno(EINTR); -+ gnutls_transport_set_errno(client->tlsSession, EINTR); - break; - default: -- gnutls_transport_set_global_errno(EIO); -+ gnutls_transport_set_errno(client->tlsSession, EIO); - break; - } - } -@@ -96,7 +96,7 @@ - if (ret < 0) - { - #ifdef WIN32 -- WSAtoTLSErrno(); -+ WSAtoTLSErrno(client); - #endif - if (errno == EINTR) continue; - return -1; -@@ -118,7 +118,7 @@ - if (ret < 0) - { - #ifdef WIN32 -- WSAtoTLSErrno(); -+ WSAtoTLSErrno(client); - #endif - if (errno == EINTR) continue; - return -1; diff --git a/contrib/src/vncclient/libvncclient-libjpeg-win32.patch b/contrib/src/vncclient/libvncclient-libjpeg-win32.patch deleted file mode 100644 index acf070ed78..0000000000 --- a/contrib/src/vncclient/libvncclient-libjpeg-win32.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- vncserver/libvncclient/rfbproto.c 2012-05-04 16:19:00.000000000 +0200 -+++ vncserver/libvncclient/rfbproto.c.new 2013-07-11 14:51:35.951976814 +0200 -@@ -50,6 +50,9 @@ - #ifdef _RPCNDR_H /* This Windows header typedefs 'boolean', jpeglib has to know */ - #define HAVE_BOOLEAN - #endif -+#ifdef WIN32 -+#include -+#endif - #include - #endif - #include diff --git a/contrib/src/vncclient/png-detection.patch b/contrib/src/vncclient/png-detection.patch deleted file mode 100644 index d2b8ba046b..0000000000 --- a/contrib/src/vncclient/png-detection.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- vncserver/configure.ac 2014-10-21 17:57:11.000000000 +0200 -+++ vncserver.new/configure.ac 2016-03-20 19:01:59.541057066 +0100 -@@ -295,7 +295,7 @@ - fi - AC_CHECK_HEADER(png.h, HAVE_PNGLIB_H="true") - if test "x$HAVE_PNGLIB_H" = "xtrue"; then -- AC_CHECK_LIB(png, png_create_write_struct, , HAVE_PNGLIB_H="") -+ AC_CHECK_LIB(png, png_create_write_struct, , HAVE_PNGLIB_H="", -lz) - fi - if test ! -z "$with_png" -a "x$with_png" != "xyes"; then - if test "x$HAVE_PNGLIB_H" != "xtrue"; then diff --git a/contrib/src/vncclient/rfbproto.patch b/contrib/src/vncclient/rfbproto.patch deleted file mode 100644 index 5240044a96..0000000000 --- a/contrib/src/vncclient/rfbproto.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- vncserver/libvncclient/rfbproto.c.orig 2013-07-11 22:15:57.000000000 +0200 -+++ vncserver/libvncclient/rfbproto.c 2013-07-11 22:25:21.000000000 +0200 -@@ -52,6 +52,9 @@ - #endif - #ifdef WIN32 - #include -+#else -+#undef TRUE -+#undef FALSE - #endif - #include - #endif diff --git a/contrib/src/vncclient/rules.mak b/contrib/src/vncclient/rules.mak index d8c2b4909b..79b64fcda8 100644 --- a/contrib/src/vncclient/rules.mak +++ b/contrib/src/vncclient/rules.mak @@ -1,6 +1,6 @@ # vncclient -VNCCLIENT_VERSION := 0.9.10 +VNCCLIENT_VERSION := 0.9.15 VNCCLIENT_URL := $(GITHUB)/LibVNC/libvncserver/archive/LibVNCServer-$(VNCCLIENT_VERSION).tar.gz ifdef GPL @@ -19,35 +19,40 @@ $(TARBALLS)/LibVNCServer-$(VNCCLIENT_VERSION).tar.gz: vncclient: LibVNCServer-$(VNCCLIENT_VERSION).tar.gz .sum-vncclient $(UNPACK) - # $(call update_autoconfig,.) mv libvncserver-LibVNCServer-$(VNCCLIENT_VERSION) LibVNCServer-$(VNCCLIENT_VERSION) - $(APPLY) $(SRC)/vncclient/libvncclient-libjpeg-win32.patch - $(APPLY) $(SRC)/vncclient/rfbproto.patch - $(APPLY) $(SRC)/vncclient/png-detection.patch - $(APPLY) $(SRC)/vncclient/vnc-gnutls-pkg.patch - $(APPLY) $(SRC)/vncclient/gnutls-recent.patch $(APPLY) $(SRC)/vncclient/vnc-gnutls-anon.patch - $(APPLY) $(SRC)/vncclient/cross-ar.patch - $(call pkg_static,"libvncclient.pc.in") + $(APPLY) $(SRC)/vncclient/build-add-install-components-for-client-server.patch + $(APPLY) $(SRC)/vncclient/CMake-use-Requires-for-.pc-generation-don-t-parse-li.patch + $(call pkg_static,"src/libvncclient/libvncclient.pc.cmakein") $(MOVE) DEPS_vncclient = gcrypt $(DEPS_gcrypt) jpeg $(DEPS_jpeg) png $(DEPS_png) gnutls $(DEPS_gnutls) -VNCCLIENT_CONF = --without-libva -ifeq ($(findstring gcrypt,$(PKGS_FOUND)),) -VNCCLIENT_CONF += --with-libgcrypt-prefix=$(PREFIX) -endif +VNCCLIENT_CONF := \ + -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ + -DWITH_OPENSSL:BOOL=OFF \ + -DWITH_GCRYPT:BOOL=ON \ + -DWITH_ZLIB:BOOL=ON \ + -DWITH_JPEG:BOOL=ON \ + -DWITH_PNG:BOOL=ON \ + -DWITH_SDL:BOOL=OFF \ + -DWITH_GTK:BOOL=OFF \ + -DWITH_LIBSSHTUNNEL:BOOL=OFF \ + -DWITH_THREADS:BOOL=ON \ + -DWITH_SYSTEMD:BOOL=OFF \ + -DWITH_FFMPEG:BOOL=OFF \ + -DWITH_WEBSOCKETS:BOOL=OFF \ + -DWITH_EXAMPLES:BOOL=OFF \ + -DWITH_TESTS:BOOL=OFF + ifdef HAVE_WIN32 -VNCCLIENT_CONF += --without-pthread +VNCCLIENT_CONF += -DPREFER_WIN32THREADS:BOOL=ON endif -.vncclient: vncclient +.vncclient: vncclient toolchain.cmake $(REQUIRE_GPL) - $(RECONF) - $(MAKEBUILDDIR) - $(MAKECONFIGURE) $(VNCCLIENT_CONF) - +$(MAKEBUILD) -C libvncclient - +$(MAKEBUILD) -C libvncclient install - +$(MAKEBUILD) install-data - rm $(PREFIX)/lib/pkgconfig/libvncserver.pc + $(CMAKECLEAN) + $(HOSTVARS) $(CMAKE) $(VNCCLIENT_CONF) + +$(CMAKEBUILD) --target vncclient + $(CMAKEINSTALL) --component vncclient touch $@ diff --git a/contrib/src/vncclient/vnc-gnutls-anon.patch b/contrib/src/vncclient/vnc-gnutls-anon.patch index dc46f1baa1..e8024f06f8 100644 --- a/contrib/src/vncclient/vnc-gnutls-anon.patch +++ b/contrib/src/vncclient/vnc-gnutls-anon.patch @@ -1,7 +1,7 @@ ---- vncserver/libvncclient/tls_gnutls.c 2016-03-20 21:03:17.093404245 +0100 -+++ vncserver/libvncclient/tls_gnutls.c.new 2016-03-20 21:03:56.265406113 +0100 -@@ -162,6 +162,9 @@ - gnutls_anon_client_credentials anonCred; +--- a/src/libvncclient/tls_gnutls.c 2016-03-20 21:03:17.093404245 +0100 ++++ b/src/libvncclient/tls_gnutls.c 2016-03-20 21:03:56.265406113 +0100 +@@ -285,6 +285,9 @@ + gnutls_anon_client_credentials_t anonCred; int ret; + return FALSE; @@ -10,7 +10,7 @@ if ((ret = gnutls_anon_allocate_client_credentials(&anonCred)) < 0 || (ret = gnutls_credentials_set((gnutls_session_t)client->tlsSession, GNUTLS_CRD_ANON, anonCred)) < 0) { -@@ -171,6 +174,7 @@ +@@ -294,6 +297,7 @@ } rfbClientLog("TLS anonymous credential created.\n"); return TRUE; diff --git a/contrib/src/vncclient/vnc-gnutls-pkg.patch b/contrib/src/vncclient/vnc-gnutls-pkg.patch deleted file mode 100644 index 1cd2ca7ddf..0000000000 --- a/contrib/src/vncclient/vnc-gnutls-pkg.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- vncserver.new/libvncclient.pc.in 2014-10-21 17:57:11.000000000 +0200 -+++ vncserver/libvncclient.pc.in 2016-03-20 20:31:25.809313066 +0100 -@@ -7,7 +7,7 @@ - Description: A library for easy implementation of a VNC client. - Version: @VERSION@ - Requires: --Requires.private: zlib -+Requires.private: zlib, gnutls - Libs: -L${libdir} -lvncclient - Libs.private: @LIBS@ @WSOCKLIB@ - Cflags: -I${includedir}