diff options
| author | NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> | 2020-05-16 07:37:54 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-05-15 16:37:54 -0700 |
| commit | 184c7240337b0ab5ef39176e7eb304afaf8226aa (patch) | |
| tree | 9471fb0fe8afca0823d91c9ea643ae7ccece5e11 | |
| parent | 21848ba4de6735c535e9fb95f35a725f1da326dc (diff) | |
| download | vcpkg-184c7240337b0ab5ef39176e7eb304afaf8226aa.tar.gz vcpkg-184c7240337b0ab5ef39176e7eb304afaf8226aa.zip | |
[libmysql] Update to 8.0.20 (#11303)
* [libmysql] Update to 8.0.20
* Fix the redefinition'MYSQL_BIND' between libmysql and libodb-mysql
| -rw-r--r-- | ports/libmysql/CONTROL | 4 | ||||
| -rw-r--r-- | ports/libmysql/ignore-boost-version.patch | 10 | ||||
| -rw-r--r-- | ports/libmysql/linux_libmysql.patch | 18 | ||||
| -rw-r--r-- | ports/libmysql/portfile.cmake | 30 | ||||
| -rw-r--r-- | ports/libmysql/re2_add_compile_flags.patch | 12 | ||||
| -rw-r--r-- | ports/libmysql/system-libs.patch | 74 | ||||
| -rw-r--r-- | ports/libodb-mysql/CONTROL | 2 | ||||
| -rw-r--r-- | ports/libodb-mysql/fix-redefinttion.patch | 32 | ||||
| -rw-r--r-- | ports/libodb-mysql/portfile.cmake | 5 |
9 files changed, 82 insertions, 105 deletions
diff --git a/ports/libmysql/CONTROL b/ports/libmysql/CONTROL index 84dc4a974..3979b9344 100644 --- a/ports/libmysql/CONTROL +++ b/ports/libmysql/CONTROL @@ -1,6 +1,6 @@ Source: libmysql -Version: 8.0.4-7 +Version: 8.0.20 Homepage: https://github.com/mysql/mysql-server -Build-Depends: boost-algorithm, boost-geometry, boost-optional, boost-functional, boost-graph, openssl, icu, libevent, liblzma, lz4, zlib +Build-Depends: boost-algorithm, boost-geometry, boost-optional, boost-functional, boost-graph, openssl, icu, libevent, lz4, zlib Description: A MySQL client library for C development. Supports: !(windows&x86)&!uwp
\ No newline at end of file diff --git a/ports/libmysql/ignore-boost-version.patch b/ports/libmysql/ignore-boost-version.patch index ea7111ded..99cee2450 100644 --- a/ports/libmysql/ignore-boost-version.patch +++ b/ports/libmysql/ignore-boost-version.patch @@ -1,13 +1,13 @@ diff --git a/cmake/boost.cmake b/cmake/boost.cmake
-index 2851181..8788322 100644
+index 592a67f..202a770 100644
--- a/cmake/boost.cmake
+++ b/cmake/boost.cmake
-@@ -280,7 +280,7 @@ IF(NOT BOOST_MAJOR_VERSION EQUAL 10)
+@@ -297,7 +297,7 @@ IF(NOT BOOST_MAJOR_VERSION EQUAL 10)
COULD_NOT_FIND_BOOST()
ENDIF()
--IF(NOT BOOST_MINOR_VERSION EQUAL 65)
-+IF(NOT BOOST_MINOR_VERSION EQUAL 65 AND NOT IGNORE_BOOST_VERSION)
+-IF(NOT BOOST_MINOR_VERSION EQUAL 70)
++IF(NOT BOOST_MINOR_VERSION EQUAL 70 AND NOT IGNORE_BOOST_VERSION)
MESSAGE(WARNING "Boost minor version found is ${BOOST_MINOR_VERSION} "
- "we need 65"
+ "we need 70"
)
diff --git a/ports/libmysql/linux_libmysql.patch b/ports/libmysql/linux_libmysql.patch deleted file mode 100644 index 42dfa73d8..000000000 --- a/ports/libmysql/linux_libmysql.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/configure.cmake b/configure.cmake -index 1f3d8e2..9e45f48 100644 ---- a/configure.cmake -+++ b/configure.cmake -@@ -456,7 +456,11 @@ IF(NOT HAVE_FCNTL_NONBLOCK) - ENDIF() - - IF(NOT CMAKE_CROSSCOMPILING AND NOT MSVC) -- STRING(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} processor) -+ IF(${CMAKE_SYSTEM_PROCESSOR}) -+ STRING(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} processor) -+ ELSE() -+ STRING(TOLOWER ${CMAKE_HOST_SYSTEM_PROCESSOR} processor) -+ ENDIF() - IF(processor MATCHES "86" OR processor MATCHES "amd64" OR processor MATCHES "x64") - IF(NOT CMAKE_SYSTEM_NAME MATCHES "SunOS") - # The loader in some Solaris versions has a bug due to which it refuses to - diff --git a/ports/libmysql/portfile.cmake b/ports/libmysql/portfile.cmake index bdf5a2440..b943805cf 100644 --- a/ports/libmysql/portfile.cmake +++ b/ports/libmysql/portfile.cmake @@ -1,34 +1,37 @@ vcpkg_fail_port_install(ON_TARGET "UWP" ON_ARCH "x86") if (EXISTS "${CURRENT_INSTALLED_DIR}/include/mysql/mysql.h") - message(FATAL_ERROR "FATAL ERROR: libmysql and libmariadb are incompatible.") + message(FATAL_ERROR "FATAL ERROR: ${PORT} and libmariadb are incompatible.") endif() -if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") - message(WARNING "libmysql needs ncurses on LINUX, please install ncurses first.\nOn Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.") +if (VCPKG_TARGET_IS_LINUX) + message(WARNING "${PORT} needs ncurses on LINUX, please install ncurses first.\nOn Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.") endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mysql/mysql-server - REF mysql-8.0.4 - SHA512 8d9129e7670e88df14238299052a5fe6d4f3e40bf27ef7a3ca8f4f91fb40507b13463e9bd24435b34e5d06c5d056dfb259fb04e77cc251b188eea734db5642be + REF 7d10c82196c8e45554f27c00681474a9fb86d137 # 8.0.20 + SHA512 9f5e8cc254ea2a4cf76313287c7bb6fc693400810464dd2901e67d51ecb27f8916009464fd8aed8365c3038314b845b3d517db6e82ae5c7908612f0b3b72335f HEAD_REF master PATCHES ignore-boost-version.patch system-libs.patch - linux_libmysql.patch - re2_add_compile_flags.patch rename-version.patch ) -file(REMOVE_RECURSE ${SOURCE_PATH}/include/boost_1_65_0) +file(REMOVE_RECURSE ${SOURCE_PATH}/include/boost_1_70_0) set(STACK_DIRECTION) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") set(STACK_DIRECTION -DSTACK_DIRECTION=-1) endif() +#Skip the version check for Visual Studio +if(VCPKG_TARGET_IS_WINDOWS) + set(FORCE_UNSUPPORTED_COMPILER 1) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -37,16 +40,14 @@ vcpkg_configure_cmake( -DWITH_UNIT_TESTS=OFF -DENABLED_PROFILING=OFF -DWIX_DIR=OFF - -DHAVE_LLVM_LIBCPP_EXITCODE=1 ${STACK_DIRECTION} - -DWINDOWS_RUNTIME_MD=ON # Note: this disables _replacement_ of /MD with /MT. If /MT is specified, it will be preserved. -DIGNORE_BOOST_VERSION=ON -DWITH_SSL=system -DWITH_ICU=system -DWITH_LIBEVENT=system - -DWITH_LZMA=system -DWITH_LZ4=system -DWITH_ZLIB=system + -DFORCE_UNSUPPORTED_COMPILER=${FORCE_UNSUPPORTED_COMPILER} ) vcpkg_install_cmake(ADD_BIN_TO_PATH) @@ -71,18 +72,13 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/debug ${CURRENT_PACKAGES_DIR}/lib/plugin/debug) -# remove misc files +## remove misc files file(REMOVE ${CURRENT_PACKAGES_DIR}/LICENSE ${CURRENT_PACKAGES_DIR}/README ${CURRENT_PACKAGES_DIR}/debug/LICENSE ${CURRENT_PACKAGES_DIR}/debug/README) -# remove not-related libs -file (REMOVE - ${CURRENT_PACKAGES_DIR}/lib/mysqlservices.lib - ${CURRENT_PACKAGES_DIR}/debug/lib/mysqlservices.lib) - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libmysql.lib diff --git a/ports/libmysql/re2_add_compile_flags.patch b/ports/libmysql/re2_add_compile_flags.patch deleted file mode 100644 index 4734e84f6..000000000 --- a/ports/libmysql/re2_add_compile_flags.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/extra/re2/CMakeLists.txt b/extra/re2/CMakeLists.txt -index ca39db726..965f2c8dc 100644 ---- a/extra/re2/CMakeLists.txt -+++ b/extra/re2/CMakeLists.txt -@@ -71,6 +71,7 @@ IF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") - HAVE_TAUTOLOGICAL_UNDEFINED_COMPARE) - IF(HAVE_TAUTOLOGICAL_UNDEFINED_COMPARE) - # Boost source has unused local typedefs. -+ INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake) - ADD_COMPILE_FLAGS(${RE2_SOURCES} - COMPILE_FLAGS "-Wno-tautological-undefined-compare") - ENDIF() diff --git a/ports/libmysql/system-libs.patch b/ports/libmysql/system-libs.patch index 3fb4d35c8..2715823ea 100644 --- a/ports/libmysql/system-libs.patch +++ b/ports/libmysql/system-libs.patch @@ -1,8 +1,8 @@ diff --git a/cmake/icu.cmake b/cmake/icu.cmake
-index ce9cc67..64445c5 100644
+index fde3a75..9f694b9 100644
--- a/cmake/icu.cmake
+++ b/cmake/icu.cmake
-@@ -40,49 +40,10 @@ SET(DEFAULT_ICU "bundled")
+@@ -38,49 +38,11 @@
# install_root is either 'system' or is assumed to be a path.
#
MACRO (FIND_ICU install_root)
@@ -48,16 +48,16 @@ index ce9cc67..64445c5 100644 -
- # Needed for version information.
- SET(ICU_COMMON_DIR ${ICU_INCLUDE_DIR})
--
-+ find_package(ICU REQUIRED COMPONENTS uc io dt in)
-+ set(ICU_SYSTEM_LIBRARIES ICU::uc ICU::io ICU::dt ICU::in)
-+ set(ICU_COMMON_DIR ${ICU_INCLUDE_DIR})
-+ SET(ICU_INCLUDE_DIRS ${ICU_INCLUDE_DIR})
+
++ find_package(ICU REQUIRED COMPONENTS uc io dt in)
++ set(ICU_SYSTEM_LIBRARIES ICU::uc ICU::io ICU::dt ICU::in)
++ set(ICU_COMMON_DIR ${ICU_INCLUDE_DIR})
++ SET(ICU_INCLUDE_DIRS ${ICU_INCLUDE_DIR})
ENDMACRO()
MACRO (MYSQL_USE_BUNDLED_ICU)
diff --git a/cmake/lz4.cmake b/cmake/lz4.cmake
-index 6e576c3..60cb8ba 100644
+index 9aad130..68cbaba 100644
--- a/cmake/lz4.cmake
+++ b/cmake/lz4.cmake
@@ -25,7 +25,7 @@
@@ -69,69 +69,49 @@ index 6e576c3..60cb8ba 100644 IF (PATH_TO_LZ4 AND LZ4_SYSTEM_LIBRARY)
SET(SYSTEM_LZ4_FOUND 1)
INCLUDE_DIRECTORIES(SYSTEM ${PATH_TO_LZ4})
-diff --git a/cmake/lzma.cmake b/cmake/lzma.cmake
-index ac8aaa7..78d8e8d 100644
---- a/cmake/lzma.cmake
-+++ b/cmake/lzma.cmake
-@@ -24,15 +24,10 @@
- # bundled is the default
-
- MACRO (FIND_SYSTEM_LZMA)
-- FIND_PATH(PATH_TO_LZMA NAMES lzma/lzma.h)
-- FIND_LIBRARY(LZMA_SYSTEM_LIBRARY NAMES lzma)
-- IF (PATH_TO_LZMA AND LZMA_SYSTEM_LIBRARY)
-- SET(SYSTEM_LZMA_FOUND 1)
-- SET(LZMA_INCLUDE_DIR ${PATH_TO_LZMA})
-- SET(LZMA_LIBRARY ${LZMA_SYSTEM_LIBRARY})
-- MESSAGE(STATUS "LZMA_INCLUDE_DIR ${LZMA_INCLUDE_DIR}")
-- MESSAGE(STATUS "LZMA_LIBRARY ${LZMA_LIBRARY}")
-- ENDIF()
-+ find_package(LibLZMA REQUIRED)
-+ set(LZMA_INCLUDE_DIR ${LZMA_INCLUDE_DIRS})
-+ set(LZMA_LIBRARY ${LZMA_LIBRARIES})
-+ set(SYSTEM_LZMA_FOUND 1)
- ENDMACRO()
-
- MACRO (MYSQL_USE_BUNDLED_LZMA)
diff --git a/cmake/ssl.cmake b/cmake/ssl.cmake
-index 8af9699..2bdfe14 100644
+index 52feade..4a0237a 100644
--- a/cmake/ssl.cmake
+++ b/cmake/ssl.cmake
-@@ -104,6 +104,17 @@ ENDMACRO()
+@@ -93,7 +93,20 @@ ENDMACRO()
# Provides the following configure options:
- # WITH_SSL=[yes|bundled|system|<path/to/custom/installation>]
+ # WITH_SSL=[yes|system|<path/to/custom/installation>]
MACRO (MYSQL_CHECK_SSL)
+ find_package(OpenSSL REQUIRED)
-+ find_package(Threads REQUIRED)
+ set(OPENSSL_LIBRARY ${OPENSSL_SSL_LIBRARY} CACHE STRING "")
+ set(CRYPTO_LIBRARY ${OPENSSL_CRYPTO_LIBRARY} CACHE STRING "")
+ FIND_PROGRAM(OPENSSL_EXECUTABLE openssl
+ DOC "path to the openssl executable")
+ SET(SSL_DEFINES "-DHAVE_OPENSSL")
-+ set(SSL_LIBRARIES ${OPENSSL_LIBRARIES} Threads::Threads)
++ set(SSL_LIBRARIES ${OPENSSL_LIBRARIES})
++ if(NOT WIN32)
++ find_package(Threads REQUIRED)
++ list(APPEND SSL_LIBRARIES Threads::Threads)
++ endif()
+ENDMACRO()
-+
+
+MACRO (MYSQL_CHECK_SSL_OLD)
IF(NOT WITH_SSL)
- IF(WIN32)
- CHANGE_SSL_SETTINGS("bundled")
+ SET(WITH_SSL "system" CACHE STRING ${WITH_SSL_DOC_STRING} FORCE)
+ ENDIF()
diff --git a/cmake/zlib.cmake b/cmake/zlib.cmake
-index e74b8c9..6695075 100644
+index 26c56fe..65bebb4 100644
--- a/cmake/zlib.cmake
+++ b/cmake/zlib.cmake
-@@ -51,27 +51,7 @@ MACRO (MYSQL_CHECK_ZLIB_WITH_COMPRESS)
+@@ -51,28 +51,7 @@ MACRO (MYSQL_CHECK_ZLIB_WITH_COMPRESS)
IF(WITH_ZLIB STREQUAL "bundled")
MYSQL_USE_BUNDLED_ZLIB()
ELSE()
- SET(ZLIB_FIND_QUIETLY TRUE)
- INCLUDE(FindZLIB)
- IF(ZLIB_FOUND)
-- INCLUDE(CheckFunctionExists)
-- SET(CMAKE_REQUIRED_LIBRARIES z)
+- INCLUDE(CheckFunctionExists)
+- SET(SAVE_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
+- SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} z)
- CHECK_FUNCTION_EXISTS(crc32 HAVE_CRC32)
- CHECK_FUNCTION_EXISTS(compressBound HAVE_COMPRESSBOUND)
- CHECK_FUNCTION_EXISTS(deflateBound HAVE_DEFLATEBOUND)
-- SET(CMAKE_REQUIRED_LIBRARIES)
+- SET(CMAKE_REQUIRED_LIBRARIES ${SAVE_CMAKE_REQUIRED_LIBRARIES})
- IF(HAVE_CRC32 AND HAVE_COMPRESSBOUND AND HAVE_DEFLATEBOUND)
- SET(ZLIB_LIBRARY ${ZLIB_LIBRARIES} CACHE INTERNAL "System zlib library")
- SET(WITH_ZLIB "system" CACHE STRING
@@ -145,7 +125,7 @@ index e74b8c9..6695075 100644 - IF(NOT ZLIB_FOUND)
- MYSQL_USE_BUNDLED_ZLIB()
- ENDIF()
-+ find_package(ZLIB REQUIRED)
-+ SET(ZLIB_LIBRARY ZLIB::ZLIB CACHE INTERNAL "System zlib library")
++ find_package(ZLIB REQUIRED)
++ SET(ZLIB_LIBRARY ZLIB::ZLIB CACHE INTERNAL "System zlib library")
ENDIF()
ENDMACRO()
diff --git a/ports/libodb-mysql/CONTROL b/ports/libodb-mysql/CONTROL index 53db9a2ff..e6a4e0689 100644 --- a/ports/libodb-mysql/CONTROL +++ b/ports/libodb-mysql/CONTROL @@ -1,5 +1,5 @@ Source: libodb-mysql -Version: 2.4.0-6 +Version: 2.4.0-7 Homepage: https://www.codesynthesis.com/products/odb/ Description: MySQL support for the ODB ORM library Build-Depends: libodb, libmysql diff --git a/ports/libodb-mysql/fix-redefinttion.patch b/ports/libodb-mysql/fix-redefinttion.patch new file mode 100644 index 000000000..ec6dab459 --- /dev/null +++ b/ports/libodb-mysql/fix-redefinttion.patch @@ -0,0 +1,32 @@ +diff --git a/odb/mysql/mysql-types.hxx b/odb/mysql/mysql-types.hxx
+index 5396791..32a2a03 100644
+--- a/odb/mysql/mysql-types.hxx
++++ b/odb/mysql/mysql-types.hxx
+@@ -7,13 +7,24 @@
+
+ #include <odb/mysql/details/config.hxx>
+
++#include <odb/mysql/version.hxx>
++
+ typedef bool my_bool;
++
++#if !defined(LIBODB_MYSQL_MARIADB) && MYSQL_VERSION_ID >= 80011
++struct MYSQL_BIND;
++#else
+ typedef struct st_mysql_bind MYSQL_BIND;
++#endif
+
+-#ifdef LIBODB_MYSQL_INCLUDE_SHORT
+-# include <mysql_time.h>
++#ifdef LIBODB_MYSQL_MARIADB
++# include <mysql/mysql.h>
+ #else
+-# include <mysql/mysql_time.h>
++# ifdef LIBODB_MYSQL_INCLUDE_SHORT
++# include <mysql_time.h>
++# else
++# include <mysql/mysql_time.h>
++# endif
+ #endif
+
+ #endif // ODB_MYSQL_MYSQL_TYPES_HXX
diff --git a/ports/libodb-mysql/portfile.cmake b/ports/libodb-mysql/portfile.cmake index 7731c167a..a52f6fc05 100644 --- a/ports/libodb-mysql/portfile.cmake +++ b/ports/libodb-mysql/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - vcpkg_download_distfile(ARCHIVE URLS "https://www.codesynthesis.com/download/odb/2.4/libodb-mysql-2.4.0.tar.gz" FILENAME "libodb-mysql-2.4.0.tar.gz" @@ -10,7 +8,8 @@ vcpkg_extract_source_archive_ex( ARCHIVE ${ARCHIVE} OUT_SOURCE_PATH SOURCE_PATH PATCHES - ${CMAKE_CURRENT_LIST_DIR}/adapter_mysql_8.0.patch + adapter_mysql_8.0.patch + fix-redefinttion.patch ) file(COPY |
