diff options
Diffstat (limited to 'ports/libssh')
| -rw-r--r-- | ports/libssh/0001-export-pkgconfig-file.patch | 43 | ||||
| -rw-r--r-- | ports/libssh/CONTROL | 4 | ||||
| -rw-r--r-- | ports/libssh/portfile.cmake | 24 |
3 files changed, 59 insertions, 12 deletions
diff --git a/ports/libssh/0001-export-pkgconfig-file.patch b/ports/libssh/0001-export-pkgconfig-file.patch new file mode 100644 index 000000000..c84510ce5 --- /dev/null +++ b/ports/libssh/0001-export-pkgconfig-file.patch @@ -0,0 +1,43 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1f5b0bf5..c51fb0d3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -111,8 +111,28 @@ add_subdirectory(include) + add_subdirectory(src) + + # pkg-config file +-if (UNIX) + configure_file(libssh.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc) ++ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc "Requires:") ++ if (WITH_ZLIB) ++ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc " zlib") ++ endif () ++ if (WITH_GCRYPT) ++ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc "\nLibs.private: -lgcrypt") ++ elseif (WITH_MBEDTLS) ++ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc "\nLibs.private: -lmbedcrypto -lpthread") ++ else () ++ if (WIN32) ++ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc "\nLibs.private: -llibcrypto -lUser32 -lCrypt32") ++ else () ++ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc " libcrypto\nLibs.private:") ++ endif () ++ endif () ++ if (CMAKE_USE_PTHREADS_INIT) ++ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc " -lpthread") ++ endif () ++ if (WIN32) ++ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc " -lws2_32 -lShell32 -lAdvapi32") ++ endif () + install( + FILES + ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc +@@ -121,7 +141,6 @@ install( + COMPONENT + pkgconfig + ) +-endif (UNIX) + + # CMake config files + include(CMakePackageConfigHelpers) + diff --git a/ports/libssh/CONTROL b/ports/libssh/CONTROL index d1e607e8c..0a138fcd9 100644 --- a/ports/libssh/CONTROL +++ b/ports/libssh/CONTROL @@ -1,11 +1,11 @@ Source: libssh Version: 0.9.5 -Port-Version: 1 +Port-Version: 2 Homepage: https://www.libssh.org/ Build-Depends: libssh[core,mbedtls] (android) Description: libssh is a multiplatform C library implementing the SSHv2 protocol on client and server side Default-Features: crypto -Supports: !uwp +Supports: !(uwp | arm) Feature: crypto Build-Depends: libssh[mbedtls] diff --git a/ports/libssh/portfile.cmake b/ports/libssh/portfile.cmake index ee7f0ac8f..a35ee1162 100644 --- a/ports/libssh/portfile.cmake +++ b/ports/libssh/portfile.cmake @@ -1,16 +1,12 @@ vcpkg_fail_port_install(ON_TARGET "UWP") -set(VERSION 0.9.5) -vcpkg_download_distfile(ARCHIVE - URLS "https://www.libssh.org/files/0.9/libssh-${VERSION}.tar.xz" - FILENAME "libssh-${VERSION}.tar.xz" - SHA512 64e692a0bfa7f73585ea7b7b8b1d4c9a7f9be59565bfd4de32ca8cd9db121f87e7ad51f5c80269fbd99545af34dcf1894374ed8a6d6c1ac5f8601c026572ac18 -) - -vcpkg_extract_source_archive_ex( +vcpkg_from_git( OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${VERSION} + URL https://git.libssh.org/projects/libssh.git + REF 9c4af47965d284b2de26407bcd80473aba4ee4c9 # REFERENCE VERSION 0.9.5 + SHA512 64e692a0bfa7f73585ea7b7b8b1d4c9a7f9be59565bfd4de32ca8cd9db121f87e7ad51f5c80269fbd99545af34dcf1894374ed8a6d6c1ac5f8601c026572ac18 + PATCHES + 0001-export-pkgconfig-file.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -40,6 +36,14 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) vcpkg_copy_pdbs() +#Fixup pthread naming +if(NOT VCPKG_TARGET_IS_MINGW AND VCPKG_TARGET_IS_WINDOWS) + if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libssh.pc" "-lpthread" "-lpthreadVC3d") + endif() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libssh.pc" "-lpthread" "-lpthreadVC3") +endif() +vcpkg_fixup_pkgconfig() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) |
