diff options
| author | Andrei Lebedev <lebdron@gmail.com> | 2019-05-10 01:22:50 +0300 |
|---|---|---|
| committer | Phil Christensen <philc@microsoft.com> | 2019-05-09 15:22:50 -0700 |
| commit | 010e88c647f591d8bf0ed38004883291caeab8d4 (patch) | |
| tree | b806eab59c7fbdb9be5a421370cfbffeabe0180f | |
| parent | f0d575c2f3c69abf161692b04eaf843bd3bf951f (diff) | |
| download | vcpkg-010e88c647f591d8bf0ed38004883291caeab8d4.tar.gz vcpkg-010e88c647f591d8bf0ed38004883291caeab8d4.zip | |
[soci] Add patches for boost and postgresql (#6328)
Signed-off-by: Andrei Lebedev <lebdron@gmail.com>
| -rw-r--r-- | ports/soci/0001-Deduce-reference-in-boost-fusion-for_each.patch | 75 | ||||
| -rw-r--r-- | ports/soci/0002-Find-PostgreSQL-debug-library.patch | 62 | ||||
| -rw-r--r-- | ports/soci/CONTROL | 2 | ||||
| -rw-r--r-- | ports/soci/portfile.cmake | 2 |
4 files changed, 140 insertions, 1 deletions
diff --git a/ports/soci/0001-Deduce-reference-in-boost-fusion-for_each.patch b/ports/soci/0001-Deduce-reference-in-boost-fusion-for_each.patch new file mode 100644 index 000000000..cab358512 --- /dev/null +++ b/ports/soci/0001-Deduce-reference-in-boost-fusion-for_each.patch @@ -0,0 +1,75 @@ +From 5c3b1e0a61d83d7a3c70fb882c7e0918777f0e00 Mon Sep 17 00:00:00 2001 +From: Andrei Lebedev <lebdron@gmail.com> +Date: Sun, 5 May 2019 19:52:01 +0300 +Subject: [PATCH] Deduce reference in boost::fusion::for_each + +Signed-off-by: Andrei Lebedev <lebdron@gmail.com> +--- + include/soci/bind-values.h | 27 +++++++++++++++++++++++---- + 1 file changed, 23 insertions(+), 4 deletions(-) + +diff --git a/include/soci/bind-values.h b/include/soci/bind-values.h +index eee416e..e84fb0e 100644 +--- a/include/soci/bind-values.h ++++ b/include/soci/bind-values.h +@@ -13,6 +13,13 @@ + #ifdef SOCI_HAVE_BOOST + # include <boost/fusion/algorithm/iteration/for_each.hpp> + # include <boost/mpl/bool.hpp> ++# include <boost/version.hpp> ++ ++# if BOOST_VERSION >= 106800 ++# define SOCI_BOOST_FUSION_FOREACH_REFERENCE & ++# else ++# define SOCI_BOOST_FUSION_FOREACH_REFERENCE ++# endif + #endif // SOCI_HAVE_BOOST + #include <vector> + +@@ -83,13 +90,19 @@ private: + template <typename T, typename Indicator> + void exchange_(use_container<T, Indicator> const &uc, boost::mpl::true_ * /* fusion sequence */) + { +- boost::fusion::for_each(uc.t, use_sequence<T, Indicator>(*this, uc.ind)); ++ use_sequence<T, Indicator> f(*this, uc.ind); ++ boost::fusion::for_each<T, ++ use_sequence<T, Indicator> ++ SOCI_BOOST_FUSION_FOREACH_REFERENCE>(uc.t, f); + } + + template <typename T> + void exchange_(use_container<T, details::no_indicator> const &uc, boost::mpl::true_ * /* fusion sequence */) + { +- boost::fusion::for_each(uc.t, use_sequence<T, details::no_indicator>(*this)); ++ use_sequence<T, details::no_indicator> f(*this); ++ boost::fusion::for_each<T, ++ use_sequence<T, details::no_indicator> ++ SOCI_BOOST_FUSION_FOREACH_REFERENCE>(uc.t, f); + } + + #endif // SOCI_HAVE_BOOST +@@ -173,13 +186,19 @@ private: + template <typename T, typename Indicator> + void exchange_(into_container<T, Indicator> const &ic, boost::mpl::true_ * /* fusion sequence */) + { +- boost::fusion::for_each(ic.t, into_sequence<T, Indicator>(*this, ic.ind)); ++ into_sequence<T, Indicator> f(*this, ic.ind); ++ boost::fusion::for_each<T, ++ into_sequence<T, Indicator> ++ SOCI_BOOST_FUSION_FOREACH_REFERENCE>(ic.t, f); + } + + template <typename T> + void exchange_(into_container<T, details::no_indicator> const &ic, boost::mpl::true_ * /* fusion sequence */) + { +- boost::fusion::for_each(ic.t, into_sequence<T, details::no_indicator>(*this)); ++ into_sequence<T, details::no_indicator> f(*this); ++ boost::fusion::for_each<T, ++ into_sequence<T, details::no_indicator> ++ SOCI_BOOST_FUSION_FOREACH_REFERENCE>(ic.t, f); + } + #endif // SOCI_HAVE_BOOST + +-- +2.20.1.windows.1 + diff --git a/ports/soci/0002-Find-PostgreSQL-debug-library.patch b/ports/soci/0002-Find-PostgreSQL-debug-library.patch new file mode 100644 index 000000000..fef23b751 --- /dev/null +++ b/ports/soci/0002-Find-PostgreSQL-debug-library.patch @@ -0,0 +1,62 @@ +From f1fa9cc84e67c9f28f651b926f55f93d60bbb963 Mon Sep 17 00:00:00 2001 +From: Andrei Lebedev <lebdron@gmail.com> +Date: Sun, 5 May 2019 21:22:49 +0300 +Subject: [PATCH] Find PostgreSQL debug library + +Signed-off-by: Andrei Lebedev <lebdron@gmail.com> +--- + cmake/modules/FindPostgreSQL.cmake | 31 +++++++++++++++++++----------- + 1 file changed, 20 insertions(+), 11 deletions(-) + +diff --git a/cmake/modules/FindPostgreSQL.cmake b/cmake/modules/FindPostgreSQL.cmake +index 48937e2..e2e557b 100644 +--- a/cmake/modules/FindPostgreSQL.cmake ++++ b/cmake/modules/FindPostgreSQL.cmake +@@ -124,16 +124,21 @@ if ( WIN32 ) + set (POSTGRESQL_LIBRARY_TO_FIND ${POSTGRESQL_LIB_PREFIX}${POSTGRESQL_LIBRARY_TO_FIND}) + endif() + +-find_library(POSTGRESQL_LIBRARY +- NAMES ${POSTGRESQL_LIBRARY_TO_FIND} +- PATHS +- ${POSTGRESQL_ROOT_DIRECTORIES} +- PATH_SUFFIXES +- lib +- ${POSTGRESQL_LIBRARY_ADDITIONAL_SEARCH_SUFFIXES} +- # Help the user find it if we cannot. +- DOC "The ${POSTGRESQL_LIBRARY_DIR_MESSAGE}" +-) ++function(__postgresql_find_library _name) ++ find_library(${_name} ++ NAMES ${ARGN} ++ PATHS ++ ${POSTGRESQL_ROOT_DIRECTORIES} ++ PATH_SUFFIXES ++ lib ++ ${POSTGRESQL_LIBRARY_ADDITIONAL_SEARCH_SUFFIXES} ++ # Help the user find it if we cannot. ++ DOC "The ${POSTGRESQL_LIBRARY_DIR_MESSAGE}" ++ ) ++endfunction() ++ ++__postgresql_find_library(POSTGRESQL_LIBRARY ${POSTGRESQL_LIBRARY_TO_FIND}) ++__postgresql_find_library(POSTGRESQL_LIBRARY_DEBUG ${POSTGRESQL_LIBRARY_TO_FIND}d) + get_filename_component(POSTGRESQL_LIBRARY_DIR ${POSTGRESQL_LIBRARY} PATH) + + if (POSTGRESQL_INCLUDE_DIR) +@@ -169,7 +174,11 @@ set(POSTGRESQL_FOUND ${POSTGRESQL_FOUND}) + if(POSTGRESQL_FOUND) + set(POSTGRESQL_INCLUDE_DIRS ${POSTGRESQL_INCLUDE_DIR}) + set(POSTGRESQL_LIBRARY_DIRS ${POSTGRESQL_LIBRARY_DIR}) +- set(POSTGRESQL_LIBRARIES ${POSTGRESQL_LIBRARY}) ++ if(POSTGRESQL_LIBRARY AND POSTGRESQL_LIBRARY_DEBUG) ++ set(POSTGRESQL_LIBRARIES optimized ${POSTGRESQL_LIBRARY} debug ${POSTGRESQL_LIBRARY_DEBUG}) ++ else() ++ set(POSTGRESQL_LIBRARIES ${POSTGRESQL_LIBRARY}) ++ endif() + set(POSTGRESQL_VERSION ${POSTGRESQL_VERSION_STRING}) + endif() + +-- +2.20.1.windows.1 + diff --git a/ports/soci/CONTROL b/ports/soci/CONTROL index aaab2490e..33de13eb7 100644 --- a/ports/soci/CONTROL +++ b/ports/soci/CONTROL @@ -1,5 +1,5 @@ Source: soci -Version: 3.2.3-3 +Version: 3.2.3-4 Description: SOCI database access library Feature: boost diff --git a/ports/soci/portfile.cmake b/ports/soci/portfile.cmake index 1ba4115ae..b70e43d3c 100644 --- a/ports/soci/portfile.cmake +++ b/ports/soci/portfile.cmake @@ -5,6 +5,8 @@ vcpkg_from_github( REF c15b178a44b99ed3ff7fd953837fb97f6314abb7 SHA512 037c44f29e80b5ec57046606b4672088917d469e9d2254e3e15253e170026cf0fe17e4f79a4b01df22fe7032708ca87354b1560d9880d4d165cdef869c3c6081 HEAD_REF master + PATCHES "${CMAKE_CURRENT_LIST_DIR}/0001-Deduce-reference-in-boost-fusion-for_each.patch" + "${CMAKE_CURRENT_LIST_DIR}/0002-Find-PostgreSQL-debug-library.patch" ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SOCI_DYNAMIC) |
