From 91cf5a6a45e2eed0bf558f3a080b7ae3f267a619 Mon Sep 17 00:00:00 2001 From: zhongluping <278527840@qq.com> Date: Mon, 8 May 2023 11:32:38 +0800 Subject: [PATCH] add hunspell Signed-off-by: zhongluping <278527840@qq.com> --- thirdparty/hunspell/HPKBUILD | 79 ++++++++++++++++ thirdparty/hunspell/README.OpenSource | 11 +++ thirdparty/hunspell/README_zh.md | 17 ++++ thirdparty/hunspell/SHA512SUM | 1 + thirdparty/hunspell/docs/hap_integrate.md | 88 ++++++++++++++++++ .../docs/pic/hunspell_install_dir.png | Bin 0 -> 6872 bytes .../hunspell/docs/pic/hunspell_test.png | Bin 0 -> 15553 bytes .../hunspell/docs/pic/hunspell_usage.png | Bin 0 -> 17236 bytes .../hunspell/docs/pic/tinyxpath_usage.png | Bin 0 -> 25259 bytes 9 files changed, 196 insertions(+) create mode 100644 thirdparty/hunspell/HPKBUILD create mode 100755 thirdparty/hunspell/README.OpenSource create mode 100755 thirdparty/hunspell/README_zh.md create mode 100644 thirdparty/hunspell/SHA512SUM create mode 100755 thirdparty/hunspell/docs/hap_integrate.md create mode 100755 thirdparty/hunspell/docs/pic/hunspell_install_dir.png create mode 100755 thirdparty/hunspell/docs/pic/hunspell_test.png create mode 100755 thirdparty/hunspell/docs/pic/hunspell_usage.png create mode 100755 thirdparty/hunspell/docs/pic/tinyxpath_usage.png diff --git a/thirdparty/hunspell/HPKBUILD b/thirdparty/hunspell/HPKBUILD new file mode 100644 index 00000000..8ef04ba3 --- /dev/null +++ b/thirdparty/hunspell/HPKBUILD @@ -0,0 +1,79 @@ +# Contributor: Jeff Han +# Maintainer: Jeff Han +pkgname=hunspell +pkgver=v1.7.2 +pkgrel=0 +pkgdesc="" +url="" +archs=("armeabi-v7a" "arm64-v8a") +license="LGPL-2.1 GPL-2.0" +depends=() +makedepends=() +install= +source="https://github.com/hunspell/$pkgname/archive/refs/tags/$pkgver.tar.gz" + +autounpack=true +downloadpackage=true +buildtools="configure" + +builddir=$pkgname-${pkgver:1} +packagename=$builddir.tar.gz + +source envset.sh +host= +prepare() { + cp -arf $builddir $builddir-$ARCH-build + if [ $ARCH == ${archs[0]} ] + then + setarm32ENV + host=arm-linux + export LDFLAGS="${OHOS_SDK}/native/llvm/lib/clang/12.0.1/lib/arm-linux-ohos/a7_hard_neon-vfpv4/libclang_rt.builtins.a ${LDFLAGS}" + fi + if [ $ARCH == ${archs[1]} ] + then + setarm64ENV + host=aarch64-linux + export LDFLAGS="${OHOS_SDK}/native/llvm/lib/clang/12.0.1/lib/aarch64-linux-ohos/libclang_rt.builtins.a ${LDFLAGS}" + fi + cd $builddir-$ARCH-build + autoreconf -ifv > `pwd`/build.log 2>&1 + cd $OLDPWD +} + +build() { + cd $builddir-$ARCH-build + ./configure "$@" --host=$host >> `pwd`/build.log 2>&1 + make -j4 >> `pwd`/build.log 2>&1 + ret=$? + cd $OLDPWD + return $ret +} + +package() { + cd $builddir-$ARCH-build + make install >> `pwd`/build.log 2>&1 + cd $OLDPWD + if [ $ARCH == ${archs[0]} ] + then + unsetarm32ENV + fi + if [ $ARCH == ${archs[1]} ] + then + unsetarm64ENV + fi + + unset host +} + +check() { + echo "The test must be on an OpenHarmony device!" + + ## real test CMD + ## 进入到编译目录执行 + ## make check-TESTS -C tests +} + +# 清理环境 +cleanbuild(){ + rm -rf ${PWD}/$builddir ${PWD}/$builddir-${archs[0]}-build ${PWD}/$builddir-${archs[1]}-build #${PWD}/$packagename +} diff --git a/thirdparty/hunspell/README.OpenSource b/thirdparty/hunspell/README.OpenSource new file mode 100755 index 00000000..eeb45f4f --- /dev/null +++ b/thirdparty/hunspell/README.OpenSource @@ -0,0 +1,11 @@ +[ + { + "Name": "hunspell", + "License": "LGPL-2.1/GPL-2.0 License", + "License File": "COPYING.LESSER", + "Version Number": "v1.7.2", + "Owner": "zhongluping1@huawei.com", + "Upstream URL": "https://github.com/hunspell/hunspell/tree/v1.7.2", + "Description": "Hunspell is a free spell checker and morphological analyzer library and command-line tool" + } +] diff --git a/thirdparty/hunspell/README_zh.md b/thirdparty/hunspell/README_zh.md new file mode 100755 index 00000000..4123db3c --- /dev/null +++ b/thirdparty/hunspell/README_zh.md @@ -0,0 +1,17 @@ +# hunspell 三方库说明 + +## 功能简介 + +hunspell 是一个免费的拼写检查器和形态分析器库和命令行工具. + +## 使用约束 + +- IDE版本:DevEco Studio 3.1 Release +- SDK版本:ohos_sdk_public 3.2.11.9 (API Version 9 Release) +- 三方库版本:v1.7.2 +- 当前适配的功能:支持拼写检查以及形态分析。 +- [LGPL-2.1/GPL-2.0 License](https://github.com/hunspell/hunspell/blob/master/COPYING.LESSER) + +## 集成方式 + +- [应用hap包集成](docs/hap_integrate.md) diff --git a/thirdparty/hunspell/SHA512SUM b/thirdparty/hunspell/SHA512SUM new file mode 100644 index 00000000..83160010 --- /dev/null +++ b/thirdparty/hunspell/SHA512SUM @@ -0,0 +1 @@ +d007edc8cb7ff95048361418b088bb062962973247c940aa826c9859a5ef90a9734100bffe7c7ac9a774f2e233605e814efb9e7fd3fc8c4ef4b978e9ec990cba hunspell-1.7.2.tar.gz \ No newline at end of file diff --git a/thirdparty/hunspell/docs/hap_integrate.md b/thirdparty/hunspell/docs/hap_integrate.md new file mode 100755 index 00000000..737f132d --- /dev/null +++ b/thirdparty/hunspell/docs/hap_integrate.md @@ -0,0 +1,88 @@ +# hunspell 集成到应用hap + +本库是在RK3568开发板上基于OpenHarmony3.2 Release版本的镜像验证的,如果是从未使用过RK3568,可以先查看[润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld)。 + +## 开发环境 + +- ubuntu20.04 +- [OpenHarmony3.2Release镜像](https://gitee.com/link?target=https%3A%2F%2Frepo.huaweicloud.com%2Fopenharmony%2Fos%2F3.2-Release%2Fdayu200_standard_arm32.tar.gz) +- [ohos_sdk_public 3.2.11.9 (API Version 9 Release)](https://gitee.com/link?target=https%3A%2F%2Frepo.huaweicloud.com%2Fopenharmony%2Fos%2F3.2-Release%2Fohos-sdk-windows_linux-public.tar.gz) +- [DevEco Studio 3.1 Beta2](https://gitee.com/link?target=https%3A%2F%2Fcontentcenter-vali-drcn.dbankcdn.cn%2Fpvt_2%2FDeveloperAlliance_package_901_9%2Ff3%2Fv3%2FuJyuq3syQ2ak4hE1QZmAug%2Fdevecostudio-windows-3.1.0.400.zip%3FHW-CC-KV%3DV1%26HW-CC-Date%3D20230408T013335Z%26HW-CC-Expire%3D315360000%26HW-CC-Sign%3D96262721EDC9B34E6F62E66884AB7AE2A94C2A7B8C28D6F7FC891F46EB211A70) +- [准备三方库构建环境](../../../tools/README.md#编译环境准备) +- [准备三方库测试环境](../../../tools/README.md#ci环境准备) + +## 编译三方库 + +- 下载本仓库 + + ```shell + git clone https://gitee.com/openharmony-sig/tpc_c_cplusplus.git --depth=1 + ``` + +- 三方库目录结构 + + ```shell + tpc_c_cplusplus/thirdparty/hunspell #三方库hunspell的目录结构如下 + ├── docs #三方库相关文档的文件夹 + ├── HPKBUILD #构建脚本 + ├── SHA512SUM #三方库校验文件 + ├── README.OpenSource #说明三方库源码的下载地址,版本,license等信息 + ├── README_zh.md + ``` + +- 将hunspell拷贝至tools/main目录下 + + ```shell + cd tpc_c_cplusplus + cp thirdparty/hunspell tools/main -rf + ``` + +- 在tools目录下编译三方库 + + 编译环境的搭建参考[准备三方库构建环境](../../../tools/README.md#编译环境准备) + + ```shell + cd tools + ./build.sh hunspell + ``` + +- 三方库头文件及生成的库 + + 在tools目录下会生成usr目录,该目录下存在已编译完成的32位和64位三方库 + + ```shell + hunspell/arm64-v8a hunspell/armeabi-v7a + ``` + +- [测试三方库](#测试三方库) + +## 应用中使用三方库 + +- 在IDE的cpp目录下新增thirdparty目录,将编译生成的库拷贝到该目录下,如下图所示 +  ![thirdparty_install_dir](pic/hunspell_install_dir.png) + +- 在最外层(cpp目录下)CMakeLists.txt中添加如下语句 + + ```shell + #将三方库加入工程中 + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/hunspell/${OHOS_ARCH}/lib/libhunspell-1.7.a) + #将三方库的头文件加入工程中 + target_include_directories(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/hunspell/${OHOS_ARCH}/include) + ``` + + ![hunspell_usage](pic/hunspell_usage.png) + +## 测试三方库 + +三方库的测试使用原库自带的测试用例来做测试,[准备三方库测试环境](../../../tools/README.md#ci环境准备) + +进入到构建目录执行make check-TEST -C ./tests 运行测试用例(arm64-v8a-build为构建64位的目录,armeabi-v7a-build为构建32位的目录) + + ![hunspell_test](pic/hunspell_test.png) + +## 参考资料 + +- [润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld) +- [OpenHarmony三方库地址](https://gitee.com/openharmony-tpc) +- [OpenHarmony知识体系](https://gitee.com/openharmony-sig/knowledge) +- [通过DevEco Studio开发一个NAPI工程](https://gitee.com/openharmony-sig/knowledge_demo_temp/blob/master/docs/napi_study/docs/hello_napi.md) diff --git a/thirdparty/hunspell/docs/pic/hunspell_install_dir.png b/thirdparty/hunspell/docs/pic/hunspell_install_dir.png new file mode 100755 index 0000000000000000000000000000000000000000..25cbbc722e5307cadd1b59edef21820a12fbfd96 GIT binary patch literal 6872 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 Hu#fm3a`*sy literal 0 HcmV?d00001 diff --git a/thirdparty/hunspell/docs/pic/hunspell_test.png b/thirdparty/hunspell/docs/pic/hunspell_test.png new file mode 100755 index 0000000000000000000000000000000000000000..fe4c14f0904774447d4ea856d5992e56eb3f8753 GIT binary patch literal 15553 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 WZC>^fSO)Q5Z@&A6_&-1V>;D12bvU^I literal 0 HcmV?d00001 diff --git a/thirdparty/hunspell/docs/pic/hunspell_usage.png b/thirdparty/hunspell/docs/pic/hunspell_usage.png new file mode 100755 index 0000000000000000000000000000000000000000..7cf91ecf78b0a8869011a6245f52ec61c28263d0 GIT binary patch literal 17236 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 G=>GvI8DN?K literal 0 HcmV?d00001 -- Gitee