Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
126 changes: 126 additions & 0 deletions ports/kaldi/fix-build.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ff24df434..2d55253cb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,6 +8,10 @@ set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake;${CMAKE_MODULE_PATH}")
include(GNUInstallDirs)
include(Utils)

+add_definitions(-DNDEBUG)
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O3 -pipe -W -Wall -Wno-unused-variable -Wno-unused-parameter -Wno-sign-compare -Wno-unused-local-typedefs -Wno-deprecated-declarations -Winit-self -fPIC -m64 -msse -msse2")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_C_FLAGS} -ftemplate-backtrace-limit=0")
+
if(CONDA_ROOT)
message(STATUS "Adding ${CONDA_ROOT} directories")
set(CMAKE_INCLUDE_PATH "${CONDA_ROOT}/include")
@@ -20,10 +24,6 @@ if(CONDA_ROOT)

endif()

-include(third_party/get_third_party)
-
-include(cmake/third_party/openfst.cmake)
-
find_package(PythonInterp)
if(NOT PYTHON_EXECUTABLE)
message(FATAL_ERROR "Needs python to auto-generate most CMake files, but not found.")
@@ -68,10 +68,12 @@ option(KALDI_BUILD_EXE "If disabled, will make add_kaldi_executable a no-op" ON)
option(KALDI_BUILD_TEST "If disabled, will make add_kaldi_test_executable a no-op" ON)
option(KALDI_USE_PATCH_NUMBER "Use MAJOR.MINOR.PATCH format, otherwise MAJOR.MINOR" OFF)

+if(BUILD_UNIT_TESTS)
if (KALDI_BUILD_TEST)
include(CTest)
enable_testing()
endif()
+endif()

link_libraries(${CMAKE_DL_LIBS})

@@ -102,6 +104,7 @@ else()
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/tools/CLAPACK)
link_libraries(${BLAS_LIBRARIES} ${LAPACK_LIBRARIES})
elseif(MATHLIB STREQUAL "MKL")
+ set(ENV{MKLROOT} "/opt/intel/compilers_and_libraries/linux/mkl")
if(NOT DEFINED ENV{MKLROOT} OR "$ENV{MKLROOT}" STREQUAL "")
message(FATAL_ERROR "Environment variable MKLROOT is not defined")
else()
@@ -109,6 +112,7 @@ else()
endif()
normalize_env_path(ENV{MKLROOT})
set(BLA_VENDOR "Intel10_64lp_seq") # use the single threaded MKL by default
+ find_package(BLAS REQUIRED)
find_package(LAPACK REQUIRED)
add_definitions(-DHAVE_MKL=1)
include_directories($ENV{MKLROOT}/include)
@@ -176,6 +180,9 @@ if(CUDA_FOUND)
add_definitions(-DHAVE_CUDA=1)
add_definitions(-DCUDA_API_PER_THREAD_DEFAULT_STREAM=1)
include_directories(${CUDA_INCLUDE_DIRS})
+ set(CUDA_CUDA_LIBRARY ${CUDA_TOOLKIT_ROOT_DIR}/lib64/stubs/libcuda.so)
+ set(CMAKE_BUILD_RPATH ${CUDA_TOOLKIT_ROOT_DIR}/lib64)
+
link_libraries(
${CUDA_LIBRARIES}
${CUDA_CUDA_LIBRARY}
@@ -189,8 +196,8 @@ if(CUDA_FOUND)
include_directories(${NvToolExt_INCLUDE_DIR})
link_libraries(${NvToolExt_LIBRARIES})

-
- find_package(CUB REQUIRED)
+ find_package(cub CONFIG REQUIRED)
+ get_target_property(CUB_INCLUDE_DIR CUB::CUB INTERFACE_INCLUDE_DIRECTORIES)
include_directories(${CUB_INCLUDE_DIR})
endif()

@@ -219,7 +226,10 @@ endif()
# PATHS "${CMAKE_CURRENT_SOURCE_DIR}/tools/openfst/include"
# REQUIRED)

-link_libraries(fst)
+find_package(openfst CONFIG REQUIRED)
+find_path(OPENFST_INCLUDE_DIR fst/fst.h)
+include_directories(${OPENFST_INCLUDE_DIR})
+link_libraries(openfst::fst)

# add all native libraries
add_subdirectory(src/base) # NOTE, we need to patch the target with version from outside
@@ -261,6 +271,7 @@ if(CUDA_FOUND)
add_subdirectory(src/cudadecoder)
endif()

+if(BUILD_TOOLS)
# add all native executables
add_subdirectory(src/bin)
add_subdirectory(src/gmmbin)
@@ -285,6 +296,7 @@ if(CUDA_FOUND)
add_subdirectory(src/cudafeatbin)
add_subdirectory(src/cudadecoderbin)
endif()
+endif()

if(NOT CONDA_ROOT)
include(CMakePackageConfigHelpers)
@@ -300,7 +312,7 @@ if(NOT CONDA_ROOT)
COMPATIBILITY AnyNewerVersion
)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cmake/kaldi-config.cmake ${CMAKE_CURRENT_BINARY_DIR}/cmake/kaldi-config-version.cmake
- DESTINATION lib/cmake/kaldi
+ DESTINATION share/kaldi
)
- install(EXPORT kaldi-targets DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/cmake/kaldi)
+ install(EXPORT kaldi-targets DESTINATION share/kaldi)
endif()
diff --git a/cmake/kaldi-config.cmake.in b/cmake/kaldi-config.cmake.in
index 123f58c56..e6a322169 100644
--- a/cmake/kaldi-config.cmake.in
+++ b/cmake/kaldi-config.cmake.in
@@ -1,6 +1,7 @@
@PACKAGE_INIT@

find_package(Threads)
+find_package(openfst CONFIG)

if(NOT TARGET kaldi-base)
include(${CMAKE_CURRENT_LIST_DIR}/kaldi-targets.cmake)
29 changes: 29 additions & 0 deletions ports/kaldi/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO kaldi-asr/kaldi
REF ac29a6ff09823d1cbb4814da60360c966f33cd0d
SHA512 0
HEAD_REF master
PATCHES
fix-build.patch
)

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DMATHLIB=MKL
-DKALDI_BUILD_EXE=OFF
-DKALDI_BUILD_TEST=OFF
-DKALDI_USE_PATCH_NUMBER=OFF
)

vcpkg_cmake_install()
vcpkg_cmake_config_fixup(PACKAGE_NAME kaldi CONFIG_PATH share/kaldi)

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

vcpkg_copy_pdbs()

file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

vcpkg_fixup_pkgconfig()
21 changes: 21 additions & 0 deletions ports/kaldi/vcpkg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"name": "kaldi",
"version-date": "2021-06-14",
"port-version": 2,
"description": "kaldi-asr/kaldi is the official location of the Kaldi project.",
"homepage": "https://github.com/kaldi-asr/kaldi",
"license": "Apache-2.0",
"supports": "!arm",
"dependencies": [
"cub",
"openfst",
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
]
}
4 changes: 4 additions & 0 deletions versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -3256,6 +3256,10 @@
"baseline": "2019.10.9",
"port-version": 5
},
"kaldi": {
"baseline": "2021-06-14",
"port-version": 2
},
"kangaru": {
"baseline": "4.3.1",
"port-version": 0
Expand Down
9 changes: 9 additions & 0 deletions versions/k-/kaldi.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "2c3f16cef2dc4e71e0eb662bc6b79070a5f793bf",
"version-date": "2021-06-14",
"port-version": 2
}
]
}