diff --git a/ports/libvncserver/portfile.cmake b/ports/libvncserver/portfile.cmake new file mode 100644 index 00000000000000..8793f3867e9b3b --- /dev/null +++ b/ports/libvncserver/portfile.cmake @@ -0,0 +1,63 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO LibVNC/libvncserver + REF "LibVNCServer-${VERSION}" + SHA512 3ad7e14eef3b591574714e320257ac465778e05bd157ddff09e48b990f35890bfa6883ce4ac027fcb08dccd96f721117d56aaee681482f7643cfee9adc59804b + HEAD_REF master +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LIBVNCSERVER_BUILD_SHARED) + +if(VCPKG_TARGET_IS_WINDOWS) + set(LIBVNCSERVER_PREFER_WIN32THREADS ON) +else() + set(LIBVNCSERVER_PREFER_WIN32THREADS OFF) +endif() + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + gcrypt WITH_GCRYPT + gnutls WITH_GNUTLS + jpeg WITH_JPEG + lzo WITH_LZO + png WITH_PNG + sasl WITH_SASL + ssl WITH_OPENSSL + systemd WITH_SYSTEMD + tightvnc-filetransfer WITH_TIGHTVNC_FILETRANSFER + websockets WITH_WEBSOCKETS + zlib WITH_ZLIB +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_SHARED_LIBS=${LIBVNCSERVER_BUILD_SHARED} + -DWITH_EXAMPLES=OFF + -DWITH_TESTS=OFF + -DWITH_THREADS=ON + -DPREFER_WIN32THREADS=${LIBVNCSERVER_PREFER_WIN32THREADS} + -DWITH_24BPP=ON + -DWITH_IPv6=ON + -DWITH_ZLIB=OFF + -DWITH_LZO=OFF + -DWITH_JPEG=OFF + -DWITH_PNG=OFF + -DWITH_GCRYPT=OFF + -DWITH_GNUTLS=OFF + -DWITH_SASL=OFF + -DWITH_OPENSSL=OFF + -DWITH_SYSTEMD=OFF + -DWITH_TIGHTVNC_FILETRANSFER=OFF + -DWITH_WEBSOCKETS=OFF + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/LibVNCServer" PACKAGE_NAME LibVNCServer) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libvncserver/usage b/ports/libvncserver/usage new file mode 100644 index 00000000000000..1ed65dbda3595d --- /dev/null +++ b/ports/libvncserver/usage @@ -0,0 +1,5 @@ +libvncserver provides CMake targets: + + find_package(LibVNCServer CONFIG REQUIRED) + target_link_libraries(main PRIVATE LibVNCServer::vncclient) + target_link_libraries(main PRIVATE LibVNCServer::vncserver) diff --git a/ports/libvncserver/vcpkg.json b/ports/libvncserver/vcpkg.json new file mode 100644 index 00000000000000..a60d1e34468f62 --- /dev/null +++ b/ports/libvncserver/vcpkg.json @@ -0,0 +1,80 @@ +{ + "name": "libvncserver", + "version": "0.9.15", + "description": "Libraries for implementing VNC servers and clients", + "homepage": "https://github.com/LibVNC/libvncserver", + "license": "GPL-2.0-or-later", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "gcrypt": { + "description": "Use Libgcrypt as crypto backend", + "dependencies": [ + "libgcrypt" + ] + }, + "gnutls": { + "description": "Use GnuTLS for TLS support", + "dependencies": [ + "libgnutls" + ] + }, + "jpeg": { + "description": "Enable JPEG support", + "dependencies": [ + "libjpeg-turbo" + ] + }, + "lzo": { + "description": "Enable LZO support", + "dependencies": [ + "lzo" + ] + }, + "png": { + "description": "Enable PNG support", + "dependencies": [ + "libpng" + ] + }, + "sasl": { + "description": "Enable SASL support", + "dependencies": [ + "cyrus-sasl" + ] + }, + "ssl": { + "description": "Enable SSL/TLS support", + "dependencies": [ + "openssl" + ] + }, + "systemd": { + "description": "Enable systemd socket activation support", + "supports": "!windows & !uwp", + "dependencies": [ + "libsystemd" + ] + }, + "tightvnc-filetransfer": { + "description": "Enable TightVNC file transfer support" + }, + "websockets": { + "description": "Enable websockets support" + }, + "zlib": { + "description": "Enable zlib support", + "dependencies": [ + "zlib" + ] + } + } +} diff --git a/versions/baseline.json b/versions/baseline.json index db58016fadd36c..38644ab3e1abb8 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5936,6 +5936,10 @@ "baseline": "3.2.0", "port-version": 0 }, + "libvncserver": { + "baseline": "0.9.15", + "port-version": 3 + }, "libvorbis": { "baseline": "1.3.7", "port-version": 4 diff --git a/versions/l-/libvncserver.json b/versions/l-/libvncserver.json new file mode 100644 index 00000000000000..92262f98a62e80 --- /dev/null +++ b/versions/l-/libvncserver.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "b3c94074744dee0f82c6b19d598782e83db99b0f", + "version": "0.9.15", + "port-version": 0 + } + ] +}