diff options
-rw-r--r-- | .SRCINFO | 21 | ||||
-rw-r--r-- | CMakeLists.txt | 161 | ||||
-rw-r--r-- | PKGBUILD | 70 |
3 files changed, 218 insertions, 34 deletions
@@ -1,23 +1,24 @@ -# Generated by mksrcinfo v8 -# Sat Jan 7 17:17:56 UTC 2017 pkgbase = cld2-git - pkgdesc = Compact Language Detector 2 - pkgver = 20150820 - pkgrel = 3 + pkgdesc = Probabilistically detects over 80 languages in Unicode UTF-8 text, either plain text or HTML/XML + pkgver = r152.b56fa78 + pkgrel = 1 + epoch = 1 url = https://github.com/CLD2Owners/cld2 arch = x86_64 license = Apache makedepends = git + makedepends = cmake + depends = glibc + depends = gcc-libs provides = cld2 - provides = cld2-hg - provides = cld2-svn - conflicts = cld2-hg conflicts = cld2 + conflicts = cld2-hg conflicts = cld2-svn replaces = cld2-hg replaces = cld2-svn source = git+https://github.com/CLD2Owners/cld2.git - md5sums = SKIP + source = CMakeLists.txt + b2sums = SKIP + b2sums = 1e5d8282a8a88735cb2114766efbee1747fe3817fcfae48c74366f3094c348c9850fa89bc6f94e4a009b01de8b3256a974d652694206e2e6d691dcef6334a0ee pkgname = cld2-git - diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 000000000000..b04a604e06ff --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,161 @@ +cmake_minimum_required(VERSION 2.8.12) +project (cld2) +enable_language(CXX) + +set (VERSION "0.0.198") +set (common_SOURCE_FILES + internal/cldutil.cc + internal/cldutil_shared.cc + internal/compact_lang_det.cc + internal/compact_lang_det_hint_code.cc + internal/compact_lang_det_impl.cc + internal/debug.cc + internal/fixunicodevalue.cc + internal/generated_entities.cc + internal/generated_language.cc + internal/generated_ulscript.cc + internal/getonescriptspan.cc + internal/lang_script.cc + internal/offsetmap.cc + internal/scoreonescriptspan.cc + internal/tote.cc + internal/utf8statetable.cc + ) + +set (cld2_SOURCE_FILES + internal/generated_distinct_bi_0.cc + internal/cld_generated_cjk_uni_prop_80.cc + internal/cld2_generated_cjk_compatible.cc + internal/cld_generated_cjk_delta_bi_4.cc + internal/cld2_generated_quadchrome_2.cc + internal/cld2_generated_deltaoctachrome.cc + internal/cld2_generated_distinctoctachrome.cc + internal/cld_generated_score_quad_octa_2.cc + ) + +set (cld2_full_SOURCE_FILES + internal/generated_distinct_bi_0.cc + internal/cld_generated_cjk_uni_prop_80.cc + internal/cld2_generated_cjk_compatible.cc + internal/cld_generated_cjk_delta_bi_32.cc + internal/cld2_generated_quad0122.cc + internal/cld2_generated_deltaocta0122.cc + internal/cld2_generated_distinctocta0122.cc + internal/cld_generated_score_quad_octa_0122.cc + ) + +set (cld2_dynamic_SOURCE_FILES + internal/cld2_dynamic_data.cc + internal/cld2_dynamic_data_loader.cc + ) + +add_library(cld2 SHARED ${common_SOURCE_FILES} ${cld2_SOURCE_FILES}) +set_target_properties(cld2 PROPERTIES + ENABLE_EXPORTS On + OUTPUT_NAME cld2 + VERSION ${VERSION} + SOVERSION 0 + ) +#add_library(cld2_full SHARED ${cld2_full_SOURCE_FILES}) +# 2017-05-03, Wolfgang Stöggl +# added common_SOURCE_FILES to cld2_full, otherwise shared-lib-without-dependency-information +add_library(cld2_full SHARED ${common_SOURCE_FILES} ${cld2_full_SOURCE_FILES}) +set_target_properties(cld2_full PROPERTIES + ENABLE_EXPORTS On + OUTPUT_NAME cld2_full + VERSION ${VERSION} + SOVERSION 0 + ) + +add_library(cld2_dynamic SHARED ${cld2_dynamic_SOURCE_FILES}) +set_target_properties(cld2_dynamic PROPERTIES + ENABLE_EXPORTS On + OUTPUT_NAME cld2_dynamic + VERSION ${VERSION} + SOVERSION 0 + COMPILE_FLAGS "-DCLD2_DYNAMIC_MODE" + ) +#install(TARGETS cld2 DESTINATION lib/${CMAKE_LIBRARY_ARCHITECTURE}) +#install(TARGETS cld2_full DESTINATION lib/${CMAKE_LIBRARY_ARCHITECTURE}) +#install(TARGETS cld2_dynamic DESTINATION lib/${CMAKE_LIBRARY_ARCHITECTURE}) +install(TARGETS cld2 DESTINATION ${CMAKE_INSTALL_LIBDIR}) +install(TARGETS cld2_full DESTINATION ${CMAKE_INSTALL_LIBDIR}) +install(TARGETS cld2_dynamic DESTINATION ${CMAKE_INSTALL_LIBDIR}) + +set (cld2_internal_HEADERS + internal/cld2_dynamic_compat.h + internal/cld2_dynamic_data_extractor.h + internal/cld2_dynamic_data.h + internal/cld2_dynamic_data_loader.h + internal/cld2tablesummary.h + internal/cldutil.h + internal/cldutil_offline.h + internal/cldutil_shared.h + internal/compact_lang_det_hint_code.h + internal/compact_lang_det_impl.h + internal/debug.h + internal/fixunicodevalue.h + internal/generated_language.h + internal/generated_ulscript.h + internal/getonescriptspan.h + internal/integral_types.h + internal/lang_script.h + internal/langspan.h + internal/offsetmap.h + internal/port.h + internal/scoreonescriptspan.h + internal/stringpiece.h + internal/tote.h + internal/unittest_data.h + internal/utf8acceptinterchange.h + internal/utf8prop_lettermarkscriptnum.h + internal/utf8repl_lettermarklower.h + internal/utf8scannot_lettermarkspecial.h + internal/utf8statetable.h + ) + +install(FILES ${cld2_internal_HEADERS} DESTINATION include/cld2/internal) +set (cld2_public_HEADERS + public/compact_lang_det.h + public/encodings.h + ) +install(FILES ${cld2_public_HEADERS} DESTINATION include/cld2/public) + +set (full_SOURCE_FILES + internal/cld_generated_cjk_uni_prop_80.cc + internal/cld2_generated_cjk_compatible.cc + internal/cld_generated_cjk_delta_bi_32.cc + internal/generated_distinct_bi_0.cc + internal/cld2_generated_quad0122.cc + internal/cld2_generated_deltaocta0122.cc + internal/cld2_generated_distinctocta0122.cc + internal/cld_generated_score_quad_octa_0122.cc + ) + +add_executable(compact_lang_det_test_full ${full_SOURCE_FILES} internal/compact_lang_det_test.cc) +add_executable(cld2_unittest_full ${full_SOURCE_FILES} internal/cld2_unittest_full.cc) +add_executable(cld2_unittest_full_avoid ${full_SOURCE_FILES} internal/cld2_unittest_full.cc) +set_target_properties(cld2_unittest_full_avoid PROPERTIES COMPILE_FLAGS "-Davoid_utf8_string_constants") + +add_executable(cld2_dynamic_data_tool internal/cld2_dynamic_data_extractor.cc internal/cld2_dynamic_data_tool.cc) +add_executable(compact_lang_det_dynamic_test_chrome ${common_SOURCE_FILES} internal/cld2_dynamic_data_extractor.cc internal/compact_lang_det_test.cc) +add_executable(cld2_dynamic_unittest ${common_SOURCE_FILES} internal/cld2_unittest.cc) +set_target_properties(compact_lang_det_dynamic_test_chrome PROPERTIES COMPILE_FLAGS "-DCLD2_DYNAMIC_MODE") +set_target_properties(cld2_dynamic_unittest PROPERTIES COMPILE_FLAGS "-DCLD2_DYNAMIC_MODE") + +add_executable(compact_lang_det_test_chrome_2 internal/compact_lang_det_test.cc) +add_executable(compact_lang_det_test_chrome_16 internal/compact_lang_det_test.cc) +add_executable(cld2_unittest_chrome_2 internal/cld2_unittest.cc) +add_executable(cld2_unittest_avoid_chrome_2 internal/cld2_unittest.cc) +set_target_properties(cld2_unittest_avoid_chrome_2 PROPERTIES COMPILE_FLAGS "-Davoid_utf8_string_constants") + +target_link_libraries(compact_lang_det_test_full cld2) +target_link_libraries(cld2_unittest_full cld2) +target_link_libraries(cld2_unittest_full_avoid cld2) +target_link_libraries(cld2_dynamic_data_tool cld2 cld2_dynamic) +target_link_libraries(compact_lang_det_dynamic_test_chrome cld2_dynamic) +target_link_libraries(cld2_dynamic_unittest cld2_dynamic) +target_link_libraries(compact_lang_det_test_chrome_2 cld2) +target_link_libraries(compact_lang_det_test_chrome_16 cld2) +target_link_libraries(cld2_unittest_chrome_2 cld2) +target_link_libraries(cld2_unittest_avoid_chrome_2 cld2) @@ -1,42 +1,64 @@ -# Maintainer: lilydjwg <lilydjwg@gmail.com> +# Maintainer: Beini <bane at iki dot fi> +# Contributor: lilydjwg <lilydjwg@gmail.com> _pkgname=cld2 pkgname=${_pkgname}-git -pkgver=20150820 -pkgrel=3 -pkgdesc='Compact Language Detector 2' +pkgver=r152.b56fa78 +pkgrel=1 +epoch=1 +pkgdesc='Probabilistically detects over 80 languages in Unicode UTF-8 text, either plain text or HTML/XML' arch=('x86_64') url='https://github.com/CLD2Owners/cld2' license=('Apache') -provides=('cld2' 'cld2-hg' 'cld2-svn') +provides=('cld2') +conflicts=('cld2' 'cld2-hg' 'cld2-svn') replaces=('cld2-hg' 'cld2-svn') -conflicts=('cld2-hg' 'cld2' 'cld2-svn') -makedepends=('git') -source=('git+https://github.com/CLD2Owners/cld2.git') -md5sums=('SKIP') +depends=('glibc' 'gcc-libs') +makedepends=('git' 'cmake') +source=('git+https://github.com/CLD2Owners/cld2.git' + 'CMakeLists.txt') +b2sums=('SKIP' + '1e5d8282a8a88735cb2114766efbee1747fe3817fcfae48c74366f3094c348c9850fa89bc6f94e4a009b01de8b3256a974d652694206e2e6d691dcef6334a0ee') + +prepare() { + cp "$srcdir/CMakeLists.txt" "$srcdir/$_pkgname/" +} pkgver() { cd "$srcdir/$_pkgname" - git log -1 --pretty='%cd' --date=short | tr -d '-' + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)" } build() { - cd "$srcdir/$_pkgname" - cd internal - # use C++98, or it won't compile; see - # https://github.com/CLD2Owners/cld2/pull/52 - CXXFLAGS="-std=c++98 $CXXFLAGS" sh ./compile_libs.sh + # -std=c++98 is needed for gcc-6 + # https://github.com/CLD2Owners/cld2/issues/47 + CXXFLAGS="$CXXFLAGS -std=c++98 -Wl,--as-needed" cmake \ + -B build \ + -S "$_pkgname" \ + -DCMAKE_BUILD_TYPE:STRING='None' \ + -DCMAKE_INSTALL_PREFIX:PATH='/usr' \ + -DCMAKE_INSTALL_LIBDIR:PATH='lib' + cmake --build build } -package() { - cd "$srcdir/$_pkgname" - install -Dm755 internal/libcld2.so "${pkgdir}/usr/lib/libcld2.so" - install -Dm755 internal/libcld2_full.so "${pkgdir}/usr/lib/libcld2_full.so" +check() { + cd build + # Tests from: internal/compile_and_test_all.sh + echo "this is some english text" | ./compact_lang_det_test_chrome_2 + echo "this is some english text" | ./compact_lang_det_test_chrome_16 + ./cld2_unittest_chrome_2 > /dev/null + ./cld2_unittest_avoid_chrome_2 > /dev/null + echo "this is some english text" | ./compact_lang_det_test_full + ./cld2_unittest_full > /dev/null + ./cld2_unittest_full_avoid > /dev/null + ./cld2_dynamic_data_tool --dump cld2_data.bin + ./cld2_dynamic_data_tool --verify cld2_data.bin + echo "this is some english text" | ./compact_lang_det_dynamic_test_chrome --data-file cld2_data.bin + ./cld2_dynamic_unittest --data-file cld2_data.bin > /dev/null +} - for header in internal/*.h public/*.h; do - install -Dm644 "$header" "${pkgdir}/usr/include/cld2/$header" - done +package() { + DESTDIR="$pkgdir" cmake --install build - install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + install -Dm644 "$srcdir/$_pkgname/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" } - |