[libgwenhywfar] new port (#16810)

* [libgnutls] macOS fix; additional optimizations

- add missing macOS SDK CoreFoundation framework reference
- add OpenSSL compatibility feature
- explicitly disable libdane (was disabled implicitly due to
  a missing libunbound)
- no need for autoconfig

* [libgnutls] update versions

* [libgwenhywfar] new port

* [libgwenhywfar] add versions

* [libgwenhywfar] use semver versioning scheme

Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>

* [libgwenhywfar] use semver versioning scheme

Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>

* [libgwenhywfar] update versions

* [libgwenhywfar] make sure to fail a windows build

* [libgwenhywfar] update versions

Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
This commit is contained in:
Dawid Wróbel 2021-03-25 15:16:08 -04:00 committed by GitHub
parent 9a49e3df7f
commit 70f73854cb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 147 additions and 4 deletions

View File

@ -14,8 +14,17 @@ vcpkg_extract_source_archive_ex(
REF ${GNUTLS_VERSION}
)
if(VCPKG_TARGET_IS_OSX)
set(LDFLAGS "-framework CoreFoundation")
else()
set(LDFLAGS "")
endif()
if ("openssl" IN_LIST FEATURES)
set(OPENSSL_COMPATIBILITY "--enable-openssl-compatibility")
endif()
vcpkg_configure_make(
AUTOCONFIG
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
--disable-doc
@ -23,8 +32,11 @@ vcpkg_configure_make(
--disable-tests
--disable-maintainer-mode
--disable-rpath
--disable-libdane
--with-included-unistring
--without-p11-kit
${OPENSSL_COMPATIBILITY}
"LDFLAGS=${LDFLAGS}"
)
vcpkg_install_make()

View File

@ -1,13 +1,20 @@
{
"name": "libgnutls",
"version": "3.6.15",
"port-version": 1,
"description": "A secure communications library implementing the SSL, TLS and DTLS protocols",
"homepage": "https://www.gnutls.org/",
"supports": "!windows",
"dependencies": [
"gettext",
"gmp",
"libidn2",
"libtasn1",
"nettle"
]
],
"features": {
"openssl": {
"description": "enables the OpenSSL compatibility library"
}
}
}

View File

@ -0,0 +1,67 @@
vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports unix platforms" ON_TARGET "Windows")
set(VERSION_MAJOR 5)
set(VERSION_MINOR 6)
set(VERSION_PATCH 0)
set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
vcpkg_download_distfile(ARCHIVE
URLS "https://www.aquamaniac.de/rdm/attachments/download/364/gwenhywfar-${VERSION}.tar.gz"
FILENAME "gwenhywfar-${VERSION}.tar.gz"
SHA512 9875d677f49fc0a46f371fd1954d15d99c7d5994e90b16f1be7a5b8a1cbcd74ae9733e4541afd6d8251a2ba1a0a37c28e0f248952b7c917313fbf5b38b1d8d11
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
REF ${VERSION}
)
if ("libxml2" IN_LIST FEATURES)
set(WITH_LIBXML2_CODE "--with-libxml2-code=yes")
endif()
if ("cpp" IN_LIST FEATURES)
list(APPEND FEATURES_GUI "cpp")
endif()
if ("qt5" IN_LIST FEATURES)
list(APPEND FEATURES_GUI "qt5")
endif()
list(JOIN FEATURES_GUI " " GUIS)
if(VCPKG_TARGET_IS_OSX)
set(LDFLAGS "-framework CoreFoundation -framework Security")
else()
set(LDFLAGS "")
endif()
vcpkg_configure_make(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
--disable-silent-rules
--disable-binreloc
--with-guis=${GUIS}
--with-libgpg-error-prefix=${CURRENT_INSTALLED_DIR}/tools/libgpg-error
--with-libgcrypt-prefix=${CURRENT_INSTALLED_DIR}/tools/libgcrypt
--with-qt5-qmake=${CURRENT_INSTALLED_DIR}/tools/qt5/bin/qmake
--with-qt5-moc=${CURRENT_INSTALLED_DIR}/tools/qt5/bin/moc
--with-qt5-uic=${CURRENT_INSTALLED_DIR}/tools/qt5/bin/uic
${WITH_LIBXML2_CODE}
"LDFLAGS=${LDFLAGS}"
)
vcpkg_install_make()
vcpkg_copy_pdbs()
vcpkg_fixup_pkgconfig()
foreach(GUI IN LISTS FEATURES_GUI)
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/gwengui-${GUI}-${VERSION_MAJOR}.${VERSION_MINOR} TARGET_PATH share/gwengui-${GUI}-${VERSION_MAJOR}.${VERSION_MINOR} DO_NOT_DELETE_PARENT_CONFIG_PATH)
endforeach()
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/gwenhywfar-${VERSION_MAJOR}.${VERSION_MINOR})
if ("tools" IN_LIST FEATURES)
vcpkg_copy_tools(SEARCH_DIR ${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin TOOL_NAMES gct-tool gsa mklistdoc typemaker typemaker2 xmlmerge AUTO_CLEAN)
endif()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)

View File

@ -0,0 +1,40 @@
{
"name": "libgwenhywfar",
"version-semver": "5.6.0",
"description": "A helper library for networking and security applications and libraries",
"homepage": "https://www.aquamaniac.de/rdm/",
"supports": "!windows",
"dependencies": [
"libgcrypt",
{
"name": "libgnutls",
"features": [
"openssl"
]
}
],
"default-features": [
"cpp",
"libxml2"
],
"features": {
"cpp": {
"description": "C++ bindings"
},
"libxml2": {
"description": "Enables libXML2-depending functionality",
"dependencies": [
"libxml2"
]
},
"qt5": {
"description": "Qt bindings",
"dependencies": [
"qt5-base"
]
},
"tools": {
"description": "Some helper tools provided by Gwenhywfar and useful for applications using it"
}
}
}

View File

@ -611,7 +611,6 @@ libfreenect2:x64-linux=fail
libfreenect2:x64-osx=fail
libgit2:arm-uwp=fail
libgit2:x64-uwp=fail
libgnutls:x64-osx=fail
libgo:arm-uwp=fail
libgo:x64-uwp=fail
libgo:arm64-windows=fail

View File

@ -3058,7 +3058,7 @@
},
"libgnutls": {
"baseline": "3.6.15",
"port-version": 0
"port-version": 1
},
"libgo": {
"baseline": "3.1-1",
@ -3080,6 +3080,10 @@
"baseline": "2019-08-27-1",
"port-version": 0
},
"libgwenhywfar": {
"baseline": "5.6.0",
"port-version": 0
},
"libharu": {
"baseline": "2017-08-15-9",
"port-version": 0

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "09f2d8c5e4e07d2076324767d251fef3bc4acb8c",
"version": "3.6.15",
"port-version": 1
},
{
"git-tree": "089f1c103a3f2c52e6ae54e8956a98345502e286",
"version": "3.6.15",

View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "5be9e6060d67e8aad23d1de86effb0ce52605ec4",
"version-semver": "5.6.0",
"port-version": 0
}
]
}