From 15b0c1a4b664ce2dbfbda100ca2b14adfabb10aa Mon Sep 17 00:00:00 2001 From: Arkady Shapkin Date: Thu, 17 Aug 2017 03:02:09 +0300 Subject: [PATCH] [tesseract] Initial port. Closes #465 --- ports/tesseract/CONTROL | 4 +++ ports/tesseract/portfile.cmake | 49 +++++++++++++++++++++++++++++ ports/tesseract/use-vcpkg-icu.patch | 11 +++++++ 3 files changed, 64 insertions(+) create mode 100644 ports/tesseract/CONTROL create mode 100644 ports/tesseract/portfile.cmake create mode 100644 ports/tesseract/use-vcpkg-icu.patch diff --git a/ports/tesseract/CONTROL b/ports/tesseract/CONTROL new file mode 100644 index 0000000000..5bbc7b7e54 --- /dev/null +++ b/ports/tesseract/CONTROL @@ -0,0 +1,4 @@ +Source: tesseract +Version: 3.05.01 +Description: An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google. +Build-Depends: leptonica, icu diff --git a/ports/tesseract/portfile.cmake b/ports/tesseract/portfile.cmake new file mode 100644 index 0000000000..31ed2cd1fe --- /dev/null +++ b/ports/tesseract/portfile.cmake @@ -0,0 +1,49 @@ +include(vcpkg_common_functions) + +if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + message(STATUS "Warning: Dynamic building not supported yet. Building static.") + set(VCPKG_LIBRARY_LINKAGE static) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO tesseract-ocr/tesseract + REF 3.05.01 + SHA512 a49c20c98386684cd89582e57b772811204fad8e5ff18214fb0da109f73629c70845054985e31e8deeb49107fbcf56e546aff661f08eb5dd60fbf83dbe976e81 + HEAD_REF master +) + +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES + ${CMAKE_CURRENT_LIST_DIR}/use-vcpkg-icu.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DSTATIC=ON + -DUSE_SYSTEM_ICU=True +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake") + +# Install tool +file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/tesseract) +file(COPY ${CURRENT_PACKAGES_DIR}/bin/tesseract.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/tesseract) +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/tesseract) + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) + +# Handle copyright +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/tesseract) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/tesseract/LICENSE ${CURRENT_PACKAGES_DIR}/share/tesseract/copyright) diff --git a/ports/tesseract/use-vcpkg-icu.patch b/ports/tesseract/use-vcpkg-icu.patch new file mode 100644 index 0000000000..9c75726e1f --- /dev/null +++ b/ports/tesseract/use-vcpkg-icu.patch @@ -0,0 +1,11 @@ +--- a/training/CMakeLists.txt Thu Aug 17 02:46:15 2017 ++++ b/training/CMakeLists.txt Thu Aug 17 02:46:15 2017 +@@ -11,7 +11,7 @@ + endif() + + # experimental +-if (MSVC AND NOT CPPAN_BUILD) ++if (MSVC AND NOT CPPAN_BUILD AND NOT USE_SYSTEM_ICU) + + include(CheckTypeSize) + check_type_size("void *" SIZEOF_VOID_P)