diff options
| -rw-r--r-- | ports/orc/0001-dependencies-from-vcpkg.patch | 141 | ||||
| -rw-r--r-- | ports/orc/0002-fix-executable-output-folder.patch | 13 | ||||
| -rw-r--r-- | ports/orc/CONTROL | 4 | ||||
| -rw-r--r-- | ports/orc/portfile.cmake | 64 | ||||
| -rw-r--r-- | ports/orc/usage | 10 |
5 files changed, 232 insertions, 0 deletions
diff --git a/ports/orc/0001-dependencies-from-vcpkg.patch b/ports/orc/0001-dependencies-from-vcpkg.patch new file mode 100644 index 000000000..7930bf148 --- /dev/null +++ b/ports/orc/0001-dependencies-from-vcpkg.patch @@ -0,0 +1,141 @@ +diff --git a/c++/src/CMakeLists.txt b/c++/src/CMakeLists.txt
+index 91c67d5..4377b83 100644
+--- a/c++/src/CMakeLists.txt
++++ b/c++/src/CMakeLists.txt
+@@ -197,11 +197,12 @@ endif(BUILD_LIBHDFSPP)
+ add_library (orc STATIC ${SOURCE_FILES})
+
+ target_link_libraries (orc
+- protobuf
+- zlib
+- snappy
+- lz4
+- ${LIBHDFSPP_LIBRARIES}
++ PUBLIC
++ protobuf::libprotobuf
++ ZLIB::ZLIB
++ Snappy::snappy
++ ${LZ4_STATIC_LIB}
++ ${LIBHDFSPP_LIBRARIES}
+ )
+
+ install(TARGETS orc DESTINATION lib)
+\ No newline at end of file
+diff --git a/c++/test/CMakeLists.txt b/c++/test/CMakeLists.txt
+index 015814a..2b55f4e 100644
+--- a/c++/test/CMakeLists.txt
++++ b/c++/test/CMakeLists.txt
+@@ -48,10 +48,6 @@ add_executable (orc-test
+
+ target_link_libraries (orc-test
+ orc
+- lz4
+- protobuf
+- snappy
+- zlib
+ ${GTEST_LIBRARIES}
+ )
+
+diff --git a/cmake_modules/ThirdpartyToolchain.cmake b/cmake_modules/ThirdpartyToolchain.cmake
+index 0272263..8b79a12 100644
+--- a/cmake_modules/ThirdpartyToolchain.cmake
++++ b/cmake_modules/ThirdpartyToolchain.cmake
+@@ -51,8 +51,8 @@ endif ()
+ # ----------------------------------------------------------------------
+ # Snappy
+
+-if (NOT "${SNAPPY_HOME}" STREQUAL "")
+- find_package (Snappy REQUIRED)
++if (NOT "${SNAPPY_HOME}" STREQUAL "" OR 1)
++ find_package (Snappy CONFIG REQUIRED)
+ set(SNAPPY_VENDORED FALSE)
+ else ()
+ set(SNAPPY_HOME "${THIRDPARTY_DIR}/snappy_ep-install")
+@@ -70,10 +70,6 @@ else ()
+ set(SNAPPY_VENDORED TRUE)
+ endif ()
+
+-include_directories (SYSTEM ${SNAPPY_INCLUDE_DIR})
+-add_library (snappy STATIC IMPORTED)
+-set_target_properties (snappy PROPERTIES IMPORTED_LOCATION ${SNAPPY_STATIC_LIB})
+-
+ if (SNAPPY_VENDORED)
+ add_dependencies (snappy snappy_ep)
+ if (INSTALL_VENDORED_LIBS)
+@@ -85,7 +81,7 @@ endif ()
+ # ----------------------------------------------------------------------
+ # ZLIB
+
+-if (NOT "${ZLIB_HOME}" STREQUAL "")
++if (NOT "${ZLIB_HOME}" STREQUAL "" OR 1)
+ find_package (ZLIB REQUIRED)
+ set(ZLIB_VENDORED FALSE)
+ else ()
+@@ -112,10 +108,6 @@ else ()
+ set(ZLIB_VENDORED TRUE)
+ endif ()
+
+-include_directories (SYSTEM ${ZLIB_INCLUDE_DIR})
+-add_library (zlib STATIC IMPORTED)
+-set_target_properties (zlib PROPERTIES IMPORTED_LOCATION ${ZLIB_STATIC_LIB})
+-
+ if (ZLIB_VENDORED)
+ add_dependencies (zlib zlib_ep)
+ if (INSTALL_VENDORED_LIBS)
+@@ -127,8 +119,8 @@ endif ()
+ # ----------------------------------------------------------------------
+ # LZ4
+
+-if (NOT "${LZ4_HOME}" STREQUAL "")
+- find_package (LZ4 REQUIRED)
++if (NOT "${LZ4_HOME}" STREQUAL "" OR 1)
++ find_library(LZ4_STATIC_LIB NAMES lz4d lz4)
+ set(LZ4_VENDORED FALSE)
+ else ()
+ set(LZ4_PREFIX "${THIRDPARTY_DIR}/lz4_ep-install")
+@@ -154,8 +146,6 @@ else ()
+ endif ()
+
+ include_directories (SYSTEM ${LZ4_INCLUDE_DIR})
+-add_library (lz4 STATIC IMPORTED)
+-set_target_properties (lz4 PROPERTIES IMPORTED_LOCATION ${LZ4_STATIC_LIB})
+
+ if (LZ4_VENDORED)
+ add_dependencies (lz4 lz4_ep)
+@@ -230,8 +220,8 @@ endif ()
+ # ----------------------------------------------------------------------
+ # Protobuf
+
+-if (NOT "${PROTOBUF_HOME}" STREQUAL "")
+- find_package (Protobuf REQUIRED)
++if (NOT "${PROTOBUF_HOME}" STREQUAL "" OR 1)
++ find_package(protobuf CONFIG REQUIRED)
+ set(PROTOBUF_VENDORED FALSE)
+ else ()
+ set(PROTOBUF_PREFIX "${THIRDPARTY_DIR}/protobuf_ep-install")
+@@ -266,13 +256,8 @@ else ()
+ set(PROTOBUF_VENDORED TRUE)
+ endif ()
+
+-include_directories (SYSTEM ${PROTOBUF_INCLUDE_DIR})
+
+-add_library (protobuf STATIC IMPORTED)
+-set_target_properties (protobuf PROPERTIES IMPORTED_LOCATION ${PROTOBUF_STATIC_LIB})
+
+-add_library (protoc STATIC IMPORTED)
+-set_target_properties (protoc PROPERTIES IMPORTED_LOCATION ${PROTOC_STATIC_LIB})
+
+ if (PROTOBUF_VENDORED)
+ add_dependencies (protoc protobuf_ep)
+diff --git a/tools/src/CMakeLists.txt b/tools/src/CMakeLists.txt
+index 667fab4..eb6d232 100644
+--- a/tools/src/CMakeLists.txt
++++ b/tools/src/CMakeLists.txt
+@@ -49,7 +49,6 @@ add_executable (orc-metadata
+
+ target_link_libraries (orc-metadata
+ orc
+- protobuf
+ )
+
+ add_executable (orc-statistics
diff --git a/ports/orc/0002-fix-executable-output-folder.patch b/ports/orc/0002-fix-executable-output-folder.patch new file mode 100644 index 000000000..5fa992dc1 --- /dev/null +++ b/ports/orc/0002-fix-executable-output-folder.patch @@ -0,0 +1,13 @@ +diff --git a/tools/src/CMakeLists.txt b/tools/src/CMakeLists.txt +index eb6d232..5a99f5c 100644 +--- a/tools/src/CMakeLists.txt ++++ b/tools/src/CMakeLists.txt +@@ -87,4 +87,7 @@ install(TARGETS + orc-contents + orc-metadata + orc-statistics +- DESTINATION bin) ++ orc-scan ++ orc-memory ++ csv-import ++ DESTINATION tools/orc) diff --git a/ports/orc/CONTROL b/ports/orc/CONTROL new file mode 100644 index 000000000..45532cad3 --- /dev/null +++ b/ports/orc/CONTROL @@ -0,0 +1,4 @@ +Source: orc +Version: 1.5.2-f47e02c-2 +Build-Depends: zlib, protobuf, lz4, snappy, gtest +Description: The smallest, fastest columnar storage for Hadoop workloads. diff --git a/ports/orc/portfile.cmake b/ports/orc/portfile.cmake new file mode 100644 index 000000000..f9a23b708 --- /dev/null +++ b/ports/orc/portfile.cmake @@ -0,0 +1,64 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO apache/orc + REF f47e02cfbf346f14d7f38c3ddd45d39e3b515847 + SHA512 5a389f4ab3b0ce4e7c8869493cf9e91feb4917a42bf2740abd71602fa03a2a53217b572e60af7328b7568dab084c07275ea275438ec8ae87f230a87fb60f2601 + HEAD_REF master + PATCHES + 0001-dependencies-from-vcpkg.patch + 0002-fix-executable-output-folder.patch +) + +file(REMOVE "${SOURCE_PATH}/cmake_modules/FindGTest.cmake") +file(REMOVE "${SOURCE_PATH}/cmake_modules/FindLZ4.cmake") +file(REMOVE "${SOURCE_PATH}/cmake_modules/FindProtobuf.cmake") +file(REMOVE "${SOURCE_PATH}/cmake_modules/FindSnappy.cmake") +file(REMOVE "${SOURCE_PATH}/cmake_modules/FindZLIB.cmake") + +if(CMAKE_HOST_WIN32) + set(PROTOBUF_EXECUTABLE ${CURRENT_INSTALLED_DIR}/tools/protobuf/protoc.exe) +else() + set(PROTOBUF_EXECUTABLE ${CURRENT_INSTALLED_DIR}/tools/protobuf/protoc) +endif() + +if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(BUILD_TOOLS OFF) +else() + set(BUILD_TOOLS ON) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_TOOLS=${BUILD_TOOLS} + -DBUILD_CPP_TESTS=OFF + -DBUILD_JAVA=OFF + -DINSTALL_VENDORED_LIBS=OFF + -DBUILD_LIBHDFSPP=OFF + -DPROTOBUF_EXECUTABLE:FILEPATH=${PROTOBUF_EXECUTABLE} +) + +vcpkg_install_cmake() + +file(GLOB TOOLS ${CURRENT_PACKAGES_DIR}/bin/orc-*) +if(TOOLS) + file(COPY ${TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/orc) + file(REMOVE ${TOOLS}) +endif() + +file(GLOB BINS ${CURRENT_PACKAGES_DIR}/bin/*) +if(NOT BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/orc RENAME copyright) + +vcpkg_copy_pdbs() + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) diff --git a/ports/orc/usage b/ports/orc/usage new file mode 100644 index 000000000..6a20ccb89 --- /dev/null +++ b/ports/orc/usage @@ -0,0 +1,10 @@ +The package orc does not provide CMake targets: + + find_package(protobuf CONFIG REQUIRED) + find_package(ZLIB REQUIRED) + find_package(Snappy CONFIG REQUIRED) + + find_library(LZ4_LIBRARY NAMES lz4d lz4) + find_library(ORC_LIBRARY NAMES orc) + + target_link_libraries(main PRIVATE ${ORC_LIBRARY} protobuf::libprotoc protobuf::libprotobuf Snappy::snappy ${LZ4_LIBRARY} ZLIB::ZLIB) |
