diff options
| author | Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> | 2020-01-14 00:43:36 +0100 |
|---|---|---|
| committer | Victor Romero <romerosanchezv@gmail.com> | 2020-01-13 15:43:36 -0800 |
| commit | bdae0904c41a0ee2c5204d6449038d3b5d551726 (patch) | |
| tree | ea710e1a326e02ed34a28afef72407d8855bb7bf /ports/libwebsockets | |
| parent | 5c0b7b55771fe4b40d3f4b7a8069b1c71022490e (diff) | |
| download | vcpkg-bdae0904c41a0ee2c5204d6449038d3b5d551726.tar.gz vcpkg-bdae0904c41a0ee2c5204d6449038d3b5d551726.zip | |
[libpq, openssl, librtmp] libpq 12 and others with openssl 1.1.1d (#8566)
* [ports] Update openssl-unix to 1.1.1c
* [ports] Update openssl-unix to 1.1.1d
* [ports] openssl-unix platform 'AMD64' is called 'x86_64' on Linux
* [ports] fix openssl platform
* [ports] openssl-windows update openssl to 1.1.1d
* [ports] Fix openssl post build
* [ports] openssl add EnableUWPSupport.patch
Reference:
https://github.com/openssl/openssl/pull/8917
https://github.com/openssl/openssl/pull/9440
* [ports] openssl-uwp update openssl to 1.1.1d
* Updated support for OpenSSL v1.1
With OpenSSL v1.1 we need an additional flag for ACE
* update to 12.0 and change to vcpkg_configure_make
* remove msys line
* remove custom cmakelists
* use --without-readline on linux
* Update CONTROL
Fix version
* fix portfile
* add all possible libpq features
* create vcpkg_get_build_depends
* create vcpkg_read_dependent_port_info
* add vcpkg_write_port_info
* fix a few bugs
* libpq first succesful x86 build with core features.
(files still must be moved)
* always write the variable
* Fix separate make and install execution error issue.
* trigger CI system.
* add openssl and win_bison win_flex patch
* add configuration dependent patches
* add bonjour as a dependency on macosx
* apply patches and configure features
* more patches to fix the windows build
* more install fixes
* remove unnecessary code
* bit of code cleanup
* remove unrelated files
* remove unrelated function call. function was removed with last commit
* removed hardcoded platform
* fix patch
* build only the interface libraries and nothing more
* forgot to remove tool ecpg from install
* seperate minimal install patch from normal install patch and introduce client feature
* fix x86 Platform variable being x86 and not Win32 as required by the generated project
* make linux build work
* make more linux work
* openssl return version number directly without calling openssl
(should probably be done differently)
* fix some more path and platform identification
* comments to reduce install. currently libpq installs static and shared libraries and some tools on linux
* patch arm
* fix platform detection logic
* make libpq osx buildable
* Rename debug import library after build.
(So that we don't affect external CMake users.)
* revert debug naming and install a wrapper instead.
* fix gdal regression due to name change
* fix cutelyst regression due to qt5-base wrapper
(why was it not using the target in the first place?)
* correct wrapper install path
* correct the arm patch.
* trying to fix static gdal build
* gdal still needs more work
* update version of openssl in libpq openssl patch
* nmap fix openssl
* qt5 fix openssl
* gdal fix openssl
* librtmp migrate to openssl 1.1.1
* fail in patch since what is intended is not going to work in openssl 1.1.1
* fix static yara build
* freedtds deactivate openssl feature until freetds decides to upgrade to 1.1
* fix libwebsockets cmakelists
* fix the patch so that the generated targets also include crypt32
* xmlsec add threads dependency
* bump control since I am unable to reproduce the regression
* add pthread to openssl detection logic
* fix freetds linkage missing crypt32 and fix the cmake checks.
* fix the openssl wrapper to add the threads library
* fix libmysql regression
* add threads to openssl libraries.
* upgrade libssh to 0.9
* fix nmap regression
* fix mosquitto regression
* fix openssl wrapper to make libarchive work
* fix quickfix
* changed patch a bit
* improve freetds patch
* fix case in librtmp
* update control
* bump control
* fix case
* make jasper a dependency of qt5-imageformats to fix flaky CI build.
* add jasper libraries explicitly
* jasper depends on freeglut so add it as a dependency. turbo_jpeg is also a dependency but that should already be handled in qt5-base
* more glut names
* bump control for macosx ci retry
* fix slikenet regression
* fix linebreak in qt5-base
* update baseline
* Update ci.baseline.txt
those ports are not supported on UWP
* [libevent] add dependency on libevent[threads] to openssl feature
* [pdal,freerdp] Update CI baseline to fail
* fix static pdal build
* fix freerdp on linux
* trying to revert some changes
* revert changes in build make
* revert x264 version bump
Co-authored-by: Force Charlie <6904176+fcharlie@users.noreply.github.com>
Co-authored-by: Johnny Willemsen <jwillemsen@remedy.nl>
Co-authored-by: Lennart Trunk <lennart.trunk@outlook.de>
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
Co-authored-by: Victor Romero <romerosanchezv@gmail.com>
Diffstat (limited to 'ports/libwebsockets')
| -rw-r--r-- | ports/libwebsockets/CMakeLists.patch | 13 | ||||
| -rw-r--r-- | ports/libwebsockets/CONTROL | 2 | ||||
| -rw-r--r-- | ports/libwebsockets/portfile.cmake | 120 |
3 files changed, 134 insertions, 1 deletions
diff --git a/ports/libwebsockets/CMakeLists.patch b/ports/libwebsockets/CMakeLists.patch new file mode 100644 index 000000000..c2263f709 --- /dev/null +++ b/ports/libwebsockets/CMakeLists.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4daeec85e..34e5e197d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1822,7 +1822,7 @@ endif() + if (WINCE) + list(APPEND LIB_LIST ws2.lib) + elseif (WIN32) +- list(APPEND LIB_LIST ws2_32.lib userenv.lib psapi.lib iphlpapi.lib) ++ list(APPEND LIB_LIST ws2_32.lib userenv.lib psapi.lib iphlpapi.lib crypt32.lib) + endif() + + if (${CMAKE_SYSTEM_NAME} MATCHES "QNX") diff --git a/ports/libwebsockets/CONTROL b/ports/libwebsockets/CONTROL index 66a4af024..cadb53873 100644 --- a/ports/libwebsockets/CONTROL +++ b/ports/libwebsockets/CONTROL @@ -1,5 +1,5 @@ Source: libwebsockets -Version: 3.2.0 +Version: 3.2.0-2 Build-Depends: zlib, openssl Homepage: https://github.com/warmcat/libwebsockets Description: Libwebsockets is a lightweight pure C library built to use minimal CPU and memory resources, and provide fast throughput in both directions as client or server. diff --git a/ports/libwebsockets/portfile.cmake b/ports/libwebsockets/portfile.cmake index 6f00115eb..8a9000468 100644 --- a/ports/libwebsockets/portfile.cmake +++ b/ports/libwebsockets/portfile.cmake @@ -6,11 +6,130 @@ vcpkg_from_github( REF v3.2.0 SHA512 afc1c9e259d6d48000b09da111af4129680d50474cdfedbad197ee22260d57a837b67cc6a3f8e6b1aa7ce7dc5d3fd900569783631540501709868125c6d1e4da HEAD_REF master + PATCHES + CMakeLists.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" LWS_WITH_STATIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LWS_WITH_SHARED) +## All LWS options could be possible features: +# # +# # Major individual features +# # +# option(LWS_WITH_NETWORK "Compile with network-related code" ON) +# option(LWS_ROLE_H1 "Compile with support for http/1 (needed for ws)" ON) +# option(LWS_ROLE_WS "Compile with support for websockets" ON) +# option(LWS_ROLE_DBUS "Compile with support for DBUS" OFF) +# option(LWS_ROLE_RAW_PROXY "Raw packet proxy" OFF) +# option(LWS_WITH_HTTP2 "Compile with server support for HTTP/2" ON) +# option(LWS_WITH_LWSWS "Libwebsockets Webserver" OFF) +# option(LWS_WITH_CGI "Include CGI (spawn process with network-connected stdin/out/err) APIs" OFF) +# option(LWS_IPV6 "Compile with support for ipv6" OFF) +# option(LWS_UNIX_SOCK "Compile with support for UNIX domain socket" OFF) +# option(LWS_WITH_PLUGINS "Support plugins for protocols and extensions" OFF) +# option(LWS_WITH_HTTP_PROXY "Support for HTTP proxying" OFF) +# option(LWS_WITH_ZIP_FOPS "Support serving pre-zipped files" OFF) +# option(LWS_WITH_SOCKS5 "Allow use of SOCKS5 proxy on client connections" OFF) +# option(LWS_WITH_GENERIC_SESSIONS "With the Generic Sessions plugin" OFF) +# option(LWS_WITH_PEER_LIMITS "Track peers and restrict resources a single peer can allocate" OFF) +# option(LWS_WITH_ACCESS_LOG "Support generating Apache-compatible access logs" OFF) +# option(LWS_WITH_RANGES "Support http ranges (RFC7233)" OFF) +# option(LWS_WITH_SERVER_STATUS "Support json + jscript server monitoring" OFF) +# option(LWS_WITH_THREADPOOL "Managed worker thread pool support (relies on pthreads)" OFF) +# option(LWS_WITH_HTTP_STREAM_COMPRESSION "Support HTTP stream compression" OFF) +# option(LWS_WITH_HTTP_BROTLI "Also offer brotli http stream compression (requires LWS_WITH_HTTP_STREAM_COMPRESSION)" OFF) +# option(LWS_WITH_ACME "Enable support for ACME automatic cert acquisition + maintenance (letsencrypt etc)" OFF) +# option(LWS_WITH_HUBBUB "Enable libhubbub rewriting support" OFF) +# option(LWS_WITH_FTS "Full Text Search support" OFF) +# # +# # TLS library options... all except mbedTLS are basically OpenSSL variants. +# # +# option(LWS_WITH_SSL "Include SSL support (defaults to OpenSSL or similar, mbedTLS if LWS_WITH_MBEDTLS is set)" ON) +# option(LWS_WITH_MBEDTLS "Use mbedTLS (>=2.0) replacement for OpenSSL. When setting this, you also may need to specify LWS_MBEDTLS_LIBRARIES and LWS_MBEDTLS_INCLUDE_DIRS" OFF) +# option(LWS_WITH_BORINGSSL "Use BoringSSL replacement for OpenSSL" OFF) +# option(LWS_WITH_CYASSL "Use CyaSSL replacement for OpenSSL. When setting this, you also need to specify LWS_CYASSL_LIBRARIES and LWS_CYASSL_INCLUDE_DIRS" OFF) +# option(LWS_WITH_WOLFSSL "Use wolfSSL replacement for OpenSSL. When setting this, you also need to specify LWS_WOLFSSL_LIBRARIES and LWS_WOLFSSL_INCLUDE_DIRS" OFF) +# option(LWS_SSL_CLIENT_USE_OS_CA_CERTS "SSL support should make use of the OS-installed CA root certs" ON) +# # +# # Event library options (may select multiple, or none for default poll() +# # +# option(LWS_WITH_LIBEV "Compile with support for libev" OFF) +# option(LWS_WITH_LIBUV "Compile with support for libuv" OFF) +# option(LWS_WITH_LIBEVENT "Compile with support for libevent" OFF) +# # +# # Static / Dynamic build options +# # +# option(LWS_WITH_STATIC "Build the static version of the library" ON) +# option(LWS_WITH_SHARED "Build the shared version of the library" ON) +# option(LWS_LINK_TESTAPPS_DYNAMIC "Link the test apps to the shared version of the library. Default is to link statically" OFF) +# option(LWS_STATIC_PIC "Build the static version of the library with position-independent code" OFF) +# # +# # Specific platforms +# # +# option(LWS_WITH_ESP32 "Build for ESP32" OFF) +# option(LWS_WITH_ESP32_HELPER "Build ESP32 helper" OFF) +# option(LWS_PLAT_OPTEE "Build for OPTEE" OFF) +# # +# # Client / Server / Test Apps build control +# # +# option(LWS_WITHOUT_CLIENT "Don't build the client part of the library" OFF) +# option(LWS_WITHOUT_SERVER "Don't build the server part of the library" OFF) +# option(LWS_WITHOUT_TESTAPPS "Don't build the libwebsocket-test-apps" OFF) +# option(LWS_WITHOUT_TEST_SERVER "Don't build the test server" OFF) +# option(LWS_WITHOUT_TEST_SERVER_EXTPOLL "Don't build the test server version that uses external poll" OFF) +# option(LWS_WITHOUT_TEST_PING "Don't build the ping test application" OFF) +# option(LWS_WITHOUT_TEST_CLIENT "Don't build the client test application" OFF) +# # +# # Extensions (permessage-deflate) +# # +# option(LWS_WITHOUT_EXTENSIONS "Don't compile with extensions" ON) +# # +# # Helpers + misc +# # +# option(LWS_WITHOUT_BUILTIN_GETIFADDRS "Don't use the BSD getifaddrs implementation from libwebsockets if it is missing (this will result in a compilation error) ... The default is to assume that your libc provides it. On some systems such as uclibc it doesn't exist." OFF) +# option(LWS_FALLBACK_GETHOSTBYNAME "Also try to do dns resolution using gethostbyname if getaddrinfo fails" OFF) +# option(LWS_WITHOUT_BUILTIN_SHA1 "Don't build the lws sha-1 (eg, because openssl will provide it" OFF) +# option(LWS_WITH_LATENCY "Build latency measuring code into the library" OFF) +# option(LWS_WITHOUT_DAEMONIZE "Don't build the daemonization api" ON) +# option(LWS_SSL_SERVER_WITH_ECDH_CERT "Include SSL server use ECDH certificate" OFF) +# option(LWS_WITH_LEJP "With the Lightweight JSON Parser" ON) +# option(LWS_WITH_SQLITE3 "Require SQLITE3 support" OFF) +# option(LWS_WITH_STRUCT_JSON "Generic struct serialization to and from JSON" ON) +# option(LWS_WITH_STRUCT_SQLITE3 "Generic struct serialization to and from SQLITE3" OFF) +# option(LWS_WITH_SMTP "Provide SMTP support" OFF) +# if (WIN32 OR LWS_WITH_ESP32) +# option(LWS_WITH_DIR "Directory scanning api support" OFF) +# option(LWS_WITH_LEJP_CONF "With LEJP configuration parser as used by lwsws" OFF) +# else() +# option(LWS_WITH_DIR "Directory scanning api support" ON) +# option(LWS_WITH_LEJP_CONF "With LEJP configuration parser as used by lwsws" ON) +# endif() +# option(LWS_WITH_NO_LOGS "Disable all logging from being compiled in" OFF) +# option(LWS_AVOID_SIGPIPE_IGN "Android 7+ reportedly needs this" OFF) +# option(LWS_WITH_STATS "Keep statistics of lws internal operations" OFF) +# option(LWS_WITH_JOSE "JSON Web Signature / Encryption / Keys (RFC7515/6/) API" OFF) +# option(LWS_WITH_GENCRYPTO "Enable support for Generic Crypto apis independent of TLS backend" OFF) +# option(LWS_WITH_SELFTESTS "Selftests run at context creation" OFF) +# option(LWS_WITH_GCOV "Build with gcc gcov coverage instrumentation" OFF) +# option(LWS_WITH_EXPORT_LWSTARGETS "Export libwebsockets CMake targets. Disable if they conflict with an outer cmake project." ON) +# option(LWS_REPRODUCIBLE "Build libwebsockets reproducible. It removes the build user and hostname from the build" ON) +# option(LWS_WITH_MINIMAL_EXAMPLES "Also build the normally standalone minimal examples, for QA" OFF) +# option(LWS_WITH_LWSAC "lwsac Chunk Allocation api" ON) +# option(LWS_WITH_CUSTOM_HEADERS "Store and allow querying custom HTTP headers (H1 only)" ON) +# option(LWS_WITH_DISKCACHE "Hashed cache directory with lazy LRU deletion to size limit" OFF) +# option(LWS_WITH_ASAN "Build with gcc runtime sanitizer options enabled (needs libasan)" OFF) +# option(LWS_WITH_DIR "Directory scanning api support" OFF) +# option(LWS_WITH_LEJP_CONF "With LEJP configuration parser as used by lwsws" OFF) +# option(LWS_WITH_ZLIB "Include zlib support (required for extensions)" OFF) +# option(LWS_WITH_BUNDLED_ZLIB "Use bundled zlib version (Windows only)" ${LWS_WITH_BUNDLED_ZLIB_DEFAULT}) +# option(LWS_WITH_MINIZ "Use miniz instead of zlib" OFF) +# option(LWS_WITH_DEPRECATED_LWS_DLL "Migrate to lws_dll2 instead ASAP" OFF) +# option(LWS_WITH_SEQUENCER "lws_seq_t support" ON) +# option(LWS_WITH_EXTERNAL_POLL "Support external POLL integration using callback messages (not recommended)" OFF) +# option(LWS_WITH_LWS_DSH "Support lws_dsh_t Disordered Shared Heap" OFF) +## + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -21,6 +140,7 @@ vcpkg_configure_cmake( -DLWS_WITHOUT_TESTAPPS=ON -DLWS_IPV6=ON -DLWS_HTTP2=ON + -DLWS_WITH_HTTP_STREAM_COMPRESSION=ON # Since zlib is already a dependency # OPTIONS_RELEASE -DOPTIMIZE=1 # OPTIONS_DEBUG -DDEBUGGABLE=1 ) |
