Skip to content

Commit

Permalink
[kenlm] New Port (#13692)
Browse files Browse the repository at this point in the history
  • Loading branch information
jacobkahn committed Oct 20, 2020
1 parent 93eed24 commit 8ab8add
Show file tree
Hide file tree
Showing 3 changed files with 92 additions and 0 deletions.
12 changes: 12 additions & 0 deletions ports/kenlm/fix-boost.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bec81d4..44fd48a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.1)

-if (WIN32)
+if (WIN32 AND BUILD_SHARED_LIBS)
set(Boost_USE_STATIC_LIBS OFF)
# The auto-linking feature has problems with USE_STATIC_LIBS off, so we use
# BOOST_ALL_NO_LIB to turn it off.
48 changes: 48 additions & 0 deletions ports/kenlm/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO kpu/kenlm
REF 1f054617eca14eae921e987b4b4eeb2b1d91de6b
SHA512 c18f9c22fbbb1f54ebe9c3b771fb2d7c09d502141d1b3645cff9db44cc51b3c976311ff0db79b60f410622579d043f185c56a4c7386e1b0ba8708e433238968b
HEAD_REF master
PATCHES fix-boost.patch
)

file(REMOVE ${SOURCE_PATH}/cmake/modules/FindEigen3.cmake)

vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
interpolate ENABLE_INTERPOLATE
)

if ("interpolate" IN_LIST FEATURES AND VCPKG_TARGET_IS_WINDOWS)
message(FATAL_ERROR "The interpolate feature does not support Windows.")
endif()

vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
${FEATURE_OPTIONS}
-DFORCE_STATIC=OFF #already handled by vcpkg
-DENABLE_PYTHON=OFF # kenlm.lib(bhiksha.cc.obj) : fatal error LNK1000: Internal error during IMAGE::Pass2
-DCOMPILE_TESTS=OFF
)
vcpkg_install_cmake()

set(KENLM_TOOLS count_ngrams filter fragment kenlm_benchmark lmplz phrase_table_vocab query build_binary)
if (NOT VCPKG_TARGET_IS_WINDOWS)
list(APPEND KENLM_TOOLS probing_hash_table_benchmark)
if ("interpolate" IN_LIST FEATURES)
list(APPEND KENLM_TOOLS interpolate)
endif()
endif()
vcpkg_copy_tools(TOOL_NAMES ${KENLM_TOOLS} AUTO_CLEAN)

vcpkg_copy_pdbs()

file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")

# Copyright and License
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME license)
32 changes: 32 additions & 0 deletions ports/kenlm/vcpkg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"name": "kenlm",
"version-string": "20200924",
"description": "KenLM: Faster and Smaller Language Model Queries",
"supports": "!(arm64 & windows)",
"dependencies": [
"boost-interprocess",
"boost-program-options",
"boost-ptr-container",
"boost-system",
"boost-test",
"boost-thread",
"bzip2",
{
"name": "eigen3",
"platform": "!windows"
},
"liblzma",
"zlib"
],
"features": {
"interpolate": {
"description": "Build interpolation program",
"dependencies": [
{
"name": "eigen3",
"platform": "!windows"
}
]
}
}
}

0 comments on commit 8ab8add

Please sign in to comment.