From 43172e23188cc8014ac1b73bca8b24f664ff3324 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Fri, 23 Feb 2018 03:27:49 -0800 Subject: [rocksdb] Update --- ports/rocksdb/0001-third-party.patch | 76 ++++++++++++++++++ ports/rocksdb/0002-disable-gtest.patch | 25 ++++++ ports/rocksdb/0003-only-build-one-flavor.patch | 48 ++++++++++++ ports/rocksdb/CONTROL | 2 +- .../fix-building-both-static-and-shared.patch | 91 ---------------------- ports/rocksdb/fix-third-party-deps.patch | 64 --------------- ports/rocksdb/portfile.cmake | 33 +++++--- 7 files changed, 172 insertions(+), 167 deletions(-) create mode 100644 ports/rocksdb/0001-third-party.patch create mode 100644 ports/rocksdb/0002-disable-gtest.patch create mode 100644 ports/rocksdb/0003-only-build-one-flavor.patch delete mode 100644 ports/rocksdb/fix-building-both-static-and-shared.patch delete mode 100644 ports/rocksdb/fix-third-party-deps.patch diff --git a/ports/rocksdb/0001-third-party.patch b/ports/rocksdb/0001-third-party.patch new file mode 100644 index 000000000..c28181623 --- /dev/null +++ b/ports/rocksdb/0001-third-party.patch @@ -0,0 +1,76 @@ +From 533ab1b3f3f4286aa756e965e22aa88612479e01 Mon Sep 17 00:00:00 2001 +From: Robert Schumacher +Date: Fri, 23 Feb 2018 01:44:44 -0800 +Subject: [PATCH 1/3] third-party + +--- + thirdparty.inc | 32 ++++++++++++++++---------------- + 1 file changed, 16 insertions(+), 16 deletions(-) + +diff --git a/thirdparty.inc b/thirdparty.inc +index a364d1d..1d85d50 100644 +--- a/thirdparty.inc ++++ b/thirdparty.inc +@@ -19,10 +19,10 @@ set (THIRDPARTY_LIBS "") # Initialization, don't touch + # + # Edit these 4 lines to define paths to GFLAGS + # +-set(GFLAGS_HOME $ENV{THIRDPARTY_HOME}/Gflags.Library) +-set(GFLAGS_INCLUDE ${GFLAGS_HOME}/inc/include) +-set(GFLAGS_LIB_DEBUG ${GFLAGS_HOME}/bin/debug/amd64/gflags.lib) +-set(GFLAGS_LIB_RELEASE ${GFLAGS_HOME}/bin/retail/amd64/gflags.lib) ++set(GFLAGS_HOME ${CURRENT_INSTALLED_DIR}) ++set(GFLAGS_INCLUDE ${GFLAGS_HOME}/include) ++find_library(GFLAGS_LIB_DEBUG NAMES gflags gflags_static) ++set(GFLAGS_LIB_RELEASE ${GFLAGS_LIB_DEBUG}) + + # ================================================== GFLAGS ================================================== + # +@@ -63,10 +63,10 @@ endif () + # + # Edit these 4 lines to define paths to Snappy + # +-set(SNAPPY_HOME $ENV{THIRDPARTY_HOME}/Snappy.Library) +-set(SNAPPY_INCLUDE ${SNAPPY_HOME}/inc/inc) +-set(SNAPPY_LIB_DEBUG ${SNAPPY_HOME}/bin/debug/amd64/snappy.lib) +-set(SNAPPY_LIB_RELEASE ${SNAPPY_HOME}/bin/retail/amd64/snappy.lib) ++set(SNAPPY_HOME ${CURRENT_INSTALLED_DIR}) ++set(SNAPPY_INCLUDE ${SNAPPY_HOME}/include) ++set(SNAPPY_LIB_DEBUG ${SNAPPY_HOME}/debug/lib/snappy.lib) ++set(SNAPPY_LIB_RELEASE ${SNAPPY_HOME}/lib/snappy.lib) + + # + # Don't touch these lines +@@ -106,10 +106,10 @@ endif () + # + # Edit these 4 lines to define paths to LZ4 + # +-set(LZ4_HOME $ENV{THIRDPARTY_HOME}/LZ4.Library) +-set(LZ4_INCLUDE ${LZ4_HOME}/inc/include) +-set(LZ4_LIB_DEBUG ${LZ4_HOME}/bin/debug/amd64/lz4.lib) +-set(LZ4_LIB_RELEASE ${LZ4_HOME}/bin/retail/amd64/lz4.lib) ++set(LZ4_HOME ${CURRENT_INSTALLED_DIR}) ++set(LZ4_INCLUDE ${LZ4_HOME}/include) ++set(LZ4_LIB_DEBUG ${LZ4_HOME}/debug/lib/lz4.lib) ++set(LZ4_LIB_RELEASE ${LZ4_HOME}/lib/lz4.lib) + + # + # Don't touch these lines +@@ -149,10 +149,10 @@ endif () + # + # Edit these 4 lines to define paths to ZLIB + # +-set(ZLIB_HOME $ENV{THIRDPARTY_HOME}/ZLIB.Library) +-set(ZLIB_INCLUDE ${ZLIB_HOME}/inc/include) +-set(ZLIB_LIB_DEBUG ${ZLIB_HOME}/bin/debug/amd64/zlib.lib) +-set(ZLIB_LIB_RELEASE ${ZLIB_HOME}/bin/retail/amd64/zlib.lib) ++set(ZLIB_HOME ${CURRENT_INSTALLED_DIR}) ++set(ZLIB_INCLUDE ${ZLIB_HOME}/include) ++set(ZLIB_LIB_DEBUG ${ZLIB_HOME}/debug/lib/zlibd.lib) ++set(ZLIB_LIB_RELEASE ${ZLIB_HOME}/lib/zlib.lib) + + # + # Don't touch these lines +-- +2.16.2.windows.1 + diff --git a/ports/rocksdb/0002-disable-gtest.patch b/ports/rocksdb/0002-disable-gtest.patch new file mode 100644 index 000000000..8d42bbaf1 --- /dev/null +++ b/ports/rocksdb/0002-disable-gtest.patch @@ -0,0 +1,25 @@ +From f1ecf23b8a10ab5a917da4a39fba343a00cab1a9 Mon Sep 17 00:00:00 2001 +From: Robert Schumacher +Date: Fri, 23 Feb 2018 01:44:57 -0800 +Subject: [PATCH 2/3] disable gtest + +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5fb551a..faffc91 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -393,7 +393,7 @@ include_directories(${PROJECT_SOURCE_DIR}/include) + include_directories(SYSTEM ${PROJECT_SOURCE_DIR}/third-party/gtest-1.7.0/fused-src) + find_package(Threads REQUIRED) + +-add_subdirectory(third-party/gtest-1.7.0/fused-src/gtest) ++#add_subdirectory(third-party/gtest-1.7.0/fused-src/gtest) + + # Main library source code + +-- +2.16.2.windows.1 + diff --git a/ports/rocksdb/0003-only-build-one-flavor.patch b/ports/rocksdb/0003-only-build-one-flavor.patch new file mode 100644 index 000000000..d9b4cf6e5 --- /dev/null +++ b/ports/rocksdb/0003-only-build-one-flavor.patch @@ -0,0 +1,48 @@ +From f77366e2bf8c136990b89ab235af8e0cf0e566f4 Mon Sep 17 00:00:00 2001 +From: Robert Schumacher +Date: Fri, 23 Feb 2018 01:45:18 -0800 +Subject: [PATCH 3/3] only build one flavor + +--- + CMakeLists.txt | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index faffc91..89dc537 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -723,6 +723,7 @@ if(NOT WIN32 OR ROCKSDB_INSTALL_ON_WINDOWS) + + install(DIRECTORY include/rocksdb COMPONENT devel DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") + ++ if(NOT ROCKSDB_DISABLE_INSTALL_STATIC_LIB) + install( + TARGETS ${ROCKSDB_STATIC_LIB} + EXPORT RocksDBTargets +@@ -730,15 +731,23 @@ if(NOT WIN32 OR ROCKSDB_INSTALL_ON_WINDOWS) + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + ) ++ else() ++ set_target_properties(${ROCKSDB_STATIC_LIB} PROPERTIES EXCLUDE_FROM_ALL TRUE) ++ endif() + ++ if(NOT ROCKSDB_DISABLE_INSTALL_SHARED_LIB) + install( + TARGETS ${ROCKSDB_SHARED_LIB} + EXPORT RocksDBTargets + COMPONENT runtime + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + ) ++ else() ++ set_target_properties(${ROCKSDB_SHARED_LIB} PROPERTIES EXCLUDE_FROM_ALL TRUE) ++ endif() + + install( + EXPORT RocksDBTargets +-- +2.16.2.windows.1 + diff --git a/ports/rocksdb/CONTROL b/ports/rocksdb/CONTROL index 59850ff03..d9e8585f2 100644 --- a/ports/rocksdb/CONTROL +++ b/ports/rocksdb/CONTROL @@ -1,4 +1,4 @@ Source: rocksdb -Version: 2017-06-28-18c63af6ef2b9f014c404b88488ae52e6fead03c-1 +Version: 5.10.3 Description: A library that provides an embeddable, persistent key-value store for fast storage Build-Depends: snappy, lz4, gflags, zlib, gtest diff --git a/ports/rocksdb/fix-building-both-static-and-shared.patch b/ports/rocksdb/fix-building-both-static-and-shared.patch deleted file mode 100644 index c9742450b..000000000 --- a/ports/rocksdb/fix-building-both-static-and-shared.patch +++ /dev/null @@ -1,91 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index cbbde8e..cb19649 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -315,10 +315,13 @@ endif() - - include_directories(${PROJECT_SOURCE_DIR}) - include_directories(${PROJECT_SOURCE_DIR}/include) --include_directories(SYSTEM ${PROJECT_SOURCE_DIR}/third-party/gtest-1.7.0/fused-src) -+ - find_package(Threads REQUIRED) - --add_subdirectory(third-party/gtest-1.7.0/fused-src/gtest) -+if(BUILD_TEST) -+ include_directories(SYSTEM ${PROJECT_SOURCE_DIR}/third-party/gtest-1.7.0/fused-src) -+ add_subdirectory(third-party/gtest-1.7.0/fused-src/gtest) -+endif() - - # Main library source code - -@@ -574,22 +577,28 @@ if(WITH_LIBRADOS) - list(APPEND THIRDPARTY_LIBS rados) - endif() - --add_library(${ROCKSDB_STATIC_LIB} STATIC ${SOURCES}) --target_link_libraries(${ROCKSDB_STATIC_LIB} -+if(NOT BUILD_SHARED_LIBS) -+ add_library(${ROCKSDB_STATIC_LIB} STATIC ${SOURCES}) -+ target_link_libraries(${ROCKSDB_STATIC_LIB} - ${THIRDPARTY_LIBS} ${SYSTEM_LIBS}) -- --if(WIN32) -- add_library(${ROCKSDB_IMPORT_LIB} SHARED ${SOURCES}) -- target_link_libraries(${ROCKSDB_IMPORT_LIB} -- ${THIRDPARTY_LIBS} ${SYSTEM_LIBS}) -- set_target_properties(${ROCKSDB_IMPORT_LIB} PROPERTIES -- COMPILE_DEFINITIONS "ROCKSDB_DLL;ROCKSDB_LIBRARY_EXPORTS") - if(MSVC) - set_target_properties(${ROCKSDB_STATIC_LIB} PROPERTIES -- COMPILE_FLAGS "/Fd${CMAKE_CFG_INTDIR}/${ROCKSDB_STATIC_LIB}.pdb") -+ COMPILE_FLAGS "/Fd${CMAKE_CFG_INTDIR}/${ROCKSDB_STATIC_LIB}.pdb") -+ endif() -+ set(INSTALL_TARGETS ${INSTALL_TARGETS} ${ROCKSDB_STATIC_LIB}) -+else() -+ if(WIN32) -+ add_library(${ROCKSDB_IMPORT_LIB} SHARED ${SOURCES}) -+ target_link_libraries(${ROCKSDB_IMPORT_LIB} -+ ${THIRDPARTY_LIBS} ${SYSTEM_LIBS}) - set_target_properties(${ROCKSDB_IMPORT_LIB} PROPERTIES -+ COMPILE_DEFINITIONS "ROCKSDB_DLL;ROCKSDB_LIBRARY_EXPORTS") -+ if(MSVC) -+ set_target_properties(${ROCKSDB_IMPORT_LIB} PROPERTIES - COMPILE_FLAGS "/Fd${CMAKE_CFG_INTDIR}/${ROCKSDB_IMPORT_LIB}.pdb") -+ endif() - endif() -+ set(INSTALL_TARGETS ${INSTALL_TARGETS} ${ROCKSDB_IMPORT_LIB}) - endif() - - option(WITH_JNI "build with JNI" OFF) -@@ -600,6 +609,7 @@ else() - message(STATUS "JNI library is disabled") - endif() - -+if(BUILD_TEST) - set(TESTS - cache/cache_test.cc - cache/lru_cache_test.cc -@@ -810,6 +820,7 @@ foreach(sourcefile ${C_TEST_EXES}) - add_dependencies(check ${exename}${ARTIFACT_SUFFIX}) - endforeach(sourcefile ${C_TEST_EXES}) - add_subdirectory(tools) -+endif() - - # Installation and packaging for Linux - if(NOT WIN32) -@@ -819,4 +830,15 @@ install(DIRECTORY "${PROJECT_SOURCE_DIR}/include/rocksdb/" - COMPONENT devel - DESTINATION include/rocksdb) - set(CMAKE_INSTALL_PREFIX /usr) -+else() -+ install( -+ TARGETS ${INSTALL_TARGETS} -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib -+ ) -+endif() -+ -+if(NOT DISABLE_INSTALL_HEADERS) -+ install(DIRECTORY "include/rocksdb/" DESTINATION include/rocksdb) - endif() diff --git a/ports/rocksdb/fix-third-party-deps.patch b/ports/rocksdb/fix-third-party-deps.patch deleted file mode 100644 index 7f832d158..000000000 --- a/ports/rocksdb/fix-third-party-deps.patch +++ /dev/null @@ -1,64 +0,0 @@ -diff --git a/thirdparty.inc b/thirdparty.inc -index 9fffd9b..2e1ea9d 100644 ---- a/thirdparty.inc -+++ b/thirdparty.inc -@@ -21,10 +21,10 @@ set (THIRDPARTY_LIBS "") # Initialization, don't touch - # - # Edit these 4 lines to define paths to GFLAGS - # --set(GFLAGS_HOME $ENV{THIRDPARTY_HOME}/Gflags.Library) --set(GFLAGS_INCLUDE ${GFLAGS_HOME}/inc/include) --set(GFLAGS_LIB_DEBUG ${GFLAGS_HOME}/bin/debug/amd64/gflags.lib) --set(GFLAGS_LIB_RELEASE ${GFLAGS_HOME}/bin/retail/amd64/gflags.lib) -+set(GFLAGS_HOME ${CURRENT_INSTALLED_DIR}) -+set(GFLAGS_INCLUDE ${GFLAGS_HOME}/include) -+set(GFLAGS_LIB_DEBUG ${GFLAGS_HOME}/debug/lib/gflags.lib) -+set(GFLAGS_LIB_RELEASE ${GFLAGS_HOME}/lib/gflags.lib) - - # ================================================== GFLAGS ================================================== - # -@@ -65,10 +65,10 @@ endif () - # - # Edit these 4 lines to define paths to Snappy - # --set(SNAPPY_HOME $ENV{THIRDPARTY_HOME}/Snappy.Library) --set(SNAPPY_INCLUDE ${SNAPPY_HOME}/inc/inc) --set(SNAPPY_LIB_DEBUG ${SNAPPY_HOME}/bin/debug/amd64/snappy.lib) --set(SNAPPY_LIB_RELEASE ${SNAPPY_HOME}/bin/retail/amd64/snappy.lib) -+set(SNAPPY_HOME ${CURRENT_INSTALLED_DIR}) -+set(SNAPPY_INCLUDE ${SNAPPY_HOME}/include) -+set(SNAPPY_LIB_DEBUG ${SNAPPY_HOME}/debug/lib/snappy.lib) -+set(SNAPPY_LIB_RELEASE ${SNAPPY_HOME}/lib/snappy.lib) - - # - # Don't touch these lines -@@ -108,10 +108,10 @@ endif () - # - # Edit these 4 lines to define paths to LZ4 - # --set(LZ4_HOME $ENV{THIRDPARTY_HOME}/LZ4.Library) --set(LZ4_INCLUDE ${LZ4_HOME}/inc/include) --set(LZ4_LIB_DEBUG ${LZ4_HOME}/bin/debug/amd64/lz4.lib) --set(LZ4_LIB_RELEASE ${LZ4_HOME}/bin/retail/amd64/lz4.lib) -+set(LZ4_HOME ${CURRENT_INSTALLED_DIR}) -+set(LZ4_INCLUDE ${LZ4_HOME}/include) -+set(LZ4_LIB_DEBUG ${LZ4_HOME}/debug/lib/lz4.lib) -+set(LZ4_LIB_RELEASE ${LZ4_HOME}/lib/lz4.lib) - - # - # Don't touch these lines -@@ -151,10 +151,10 @@ endif () - # - # Edit these 4 lines to define paths to ZLIB - # --set(ZLIB_HOME $ENV{THIRDPARTY_HOME}/ZLIB.Library) --set(ZLIB_INCLUDE ${ZLIB_HOME}/inc/include) --set(ZLIB_LIB_DEBUG ${ZLIB_HOME}/bin/debug/amd64/zlib.lib) --set(ZLIB_LIB_RELEASE ${ZLIB_HOME}/bin/retail/amd64/zlib.lib) -+set(ZLIB_HOME ${CURRENT_INSTALLED_DIR}) -+set(ZLIB_INCLUDE ${ZLIB_HOME}/include) -+set(ZLIB_LIB_DEBUG ${ZLIB_HOME}/debug/lib/zlibd.lib) -+set(ZLIB_LIB_RELEASE ${ZLIB_HOME}/lib/zlib.lib) - - # - # Don't touch these lines diff --git a/ports/rocksdb/portfile.cmake b/ports/rocksdb/portfile.cmake index a12ba4ca5..1eb0c1165 100644 --- a/ports/rocksdb/portfile.cmake +++ b/ports/rocksdb/portfile.cmake @@ -9,25 +9,28 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/rocksdb - REF 18c63af6ef2b9f014c404b88488ae52e6fead03c - SHA512 8dd4d27768feba6d9ddb61debe6cae21fa6d25c27dc347cba3b28cc39d2c1fa860dba7c8adedba4b40883eccccca190b60941cf958855c6b70ec5a3b96c20ac5 + REF rocksdb-5.10.3 + SHA512 2443e993271e0fbcbb3bfedba72cb9ecf109705f8cd0d7184abe10784646c3111e06ed2bd8456a2773990e5670151a623094632b33c9e36380ba6ad003977044 HEAD_REF master ) vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} PATCHES - "${CMAKE_CURRENT_LIST_DIR}/fix-building-both-static-and-shared.patch" - "${CMAKE_CURRENT_LIST_DIR}/fix-third-party-deps.patch" + "${CMAKE_CURRENT_LIST_DIR}/0001-third-party.patch" + "${CMAKE_CURRENT_LIST_DIR}/0002-disable-gtest.patch" + "${CMAKE_CURRENT_LIST_DIR}/0003-only-build-one-flavor.patch" ) - -if(VCPKG_CRT_LINKAGE STREQUAL static) +if(VCPKG_CRT_LINKAGE STREQUAL "static") set(WITH_MD_LIBRARY OFF) else() set(WITH_MD_LIBRARY ON) endif() +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ROCKSDB_DISABLE_INSTALL_SHARED_LIB) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ROCKSDB_DISABLE_INSTALL_STATIC_LIB) + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -37,15 +40,23 @@ vcpkg_configure_cmake( -DSNAPPY=1 -DLZ4=1 -DZLIB=1 - -DCURRENT_INSTALLED_DIR=${CURRENT_INSTALLED_DIR} + -DWITH_TESTS=OFF + -DROCKSDB_INSTALL_ON_WINDOWS=ON -DFAIL_ON_WARNINGS=OFF -DWITH_MD_LIBRARY=${WITH_MD_LIBRARY} - OPTIONS_DEBUG - -DDISABLE_INSTALL_HEADERS=ON + -DROCKSDB_DISABLE_INSTALL_SHARED_LIB=${ROCKSDB_DISABLE_INSTALL_SHARED_LIB} + -DROCKSDB_DISABLE_INSTALL_STATIC_LIB=${ROCKSDB_DISABLE_INSTALL_STATIC_LIB} + -DROCKSDB_VERSION=5.10.3 + -DCURRENT_INSTALLED_DIR=${CURRENT_INSTALLED_DIR} ) -vcpkg_install_cmake(DISABLE_PARALLEL) +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/rocksdb) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/rocksdb RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE.Apache DESTINATION ${CURRENT_PACKAGES_DIR}/share/rocksdb RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE.leveldb DESTINATION ${CURRENT_PACKAGES_DIR}/share/rocksdb) vcpkg_copy_pdbs() -- cgit v1.2.3