diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index ab5575f4a..000000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "cmake/corrosion"] - path = cmake/corrosion - url = https://github.com/corrosion-rs/corrosion.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 6fb45c6d2..462c22653 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,8 +1,9 @@ cmake_minimum_required(VERSION 3.21.0) project(libchewing) -set(LIBCHEWING_VERSION 0.5.1) -set(PACKAGE_VERSION ${LIBCHEWING_VERSION}) +set(CMAKE_PROJECT_VERSION 0.6.0-rc.1) +set(LIBCHEWING_VERSION ${CMAKE_PROJECT_VERSION}) +set(PACKAGE_VERSION ${CMAKE_PROJECT_VERSION}) set(LIBCHEWING_BINARY_VERSION 1.0.0) set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) @@ -81,7 +82,14 @@ option(USE_VALGRIND "Use valgrind when testing" true) option(WITH_RUST "Use rust implemented internals (experimental)" false) if(WITH_RUST) - add_subdirectory(cmake/corrosion) + include(FetchContent) + FetchContent_Declare( + Corrosion + GIT_REPOSITORY https://github.com/corrosion-rs/corrosion.git + GIT_TAG be76480232216a64f65e3b1d9794d68cbac6c690 # v0.4.5 + ) + FetchContent_MakeAvailable(Corrosion) + corrosion_import_crate(MANIFEST_PATH Cargo.toml CRATES chewing CRATE_TYPES staticlib FEATURES capi) corrosion_import_crate(MANIFEST_PATH Cargo.toml CRATES chewing-tools) add_compile_definitions(WITH_RUST) @@ -324,3 +332,10 @@ install(FILES ${ALL_INC} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/chewing) install(FILES ${PROJECT_BINARY_DIR}/chewing.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) install(TARGETS libchewing DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + +set(CPACK_PACKAGE_CHECKSUM SHA256) +set(CPACK_SOURCE_IGNORE_FILES "/out" "/\\\\..*") +set(CPACK_SOURCE_GENERATOR TXZ) +set(CPACK_SOURCE_PACKAGE_FILE_NAME libchewing-${CMAKE_PROJECT_VERSION}) +include(CPack) \ No newline at end of file diff --git a/NEWS b/NEWS index 058189a10..7e18f9697 100644 --- a/NEWS +++ b/NEWS @@ -1,20 +1,63 @@ -What's New in libchewing GIT +What's New in libchewing 0.6.0-rc.1 (UNRELEASED) --------------------------------------------------------- -* New APIs: - - chewing_phone_to_bopomofo [ShengYenPeng]. #166 +This release contains many improvements and bug fixes. It's the first +release since 2016. We have started a major rewrite in Rust so we expect +to have more frequent releases in the following months. + +* Added + - New API chewing_phone_to_bopomofo to convert syllable in u16 to bopomofo + string [ShengYenPeng]. #166 + - New API chewing_set_autoLearn and chewing_get_autoLearn can be used to + disable and enable new phrase auto learning. [Hiunn-hué] #261 + - Add default config test for autoLearn option [Billy Su]. + - Add Android platform support [hiroshiyui]. #408 + - New chewing Rust crate can be downloaded from + [crates.io](https://crates.io/crates/chewing) [Kan-ru Chen]. #423 + - Add several CMake presets for supported configurations [Kan-ru Chen]. #424 + +* Changed + - Implement has_userphrase in testhelper with the public + chewing_userphrase_lookup API. [ShengYenPeng]. #223 + - Updated HSU layout's JVC conversion to be more intuitive [Hiunn-hué]. #259 + - Phrase auto learning now only triggers after committing [Hiunn-hué]. #260 + - chewing_handle_CtrlNum now handles cursor better and has clearer error + message if there is nothing to be added to user phrase. [Hiunn-hué] #277 + - chewing_handle_ShiftLeft and chewing_handle_ShiftRight now also displays + aux message for new user phrases added. [Hiunn-hué] #278 + - Symbol used for full-width colon changed from ︰ (U+FE30) to : (U+FF1A) + [school510587] #304 + - Support cross compiling with qemu. [sgn] #333 + - CMake minimum version changed to 3.21.0 + - Rewrite chewing internal in Rust [Kan-ru Chen] #347 #378 -* Platform-specific - - Install instructions for Mac OS [Chocobo1]. +* Dictionary + - Add new syllable ㄒㄩㄢ for 亘 [yan12125] #252 #253 -* Bug fixed: - - Unable to input some Bopomofos with ET26 layout [Hiunn-hué]. #235 +* Bug fixed + - Fix ChoiceEndChoice expression always true [Billy Su]. + - Fix strncpy warning in hash.c [Bo-Cheng Jhan]. + - Fix unable to input some Bopomofos with ET26 layout [Hiunn-hué]. #235 + - Fix double free in userphrase-hash's TerminateUserphrase [cwlin]. #254 + - Fix hash item offsett calculation in uhash [cwlin]. #255 + - Fix ChoiceEndChoice expression always true [Billy Su]. #258 + - Fix clearing bopomofo buffer after switching Chi-Eng mode [Hiunn-hué]. #268 + - Fix chewing_handle_Space cannot input space with empty buffer [Hiunn-hué]. #274 + - Fix a strncpy warning and use ARRAY_SIZE [school510587] #296 + - Enhance chewing.py to support platforms with 64-bit pointer [cheese] #310 + - Fix init_database to correctly read phrase frequency for sorting [yan12125] #334 #337 + - Fix installation of data files [yan12125] #350 + - Fix building shared library on all supported platforms [Kan-ru Chen] #375 #376 + - Fix dvorak-qwerty symbol mapping [hiroshiyui] #407 - prevent memory leak in error case of GetDefaultUserPhrasePath [Kuang-che Wu]. - Fix PinYinData keySeq buffer overflow in PinYinInput() [Kuang-che Wu]. #238 - Fix trying to allocate buffer of negative size [Kuang-che Wu]. - Fix access violation due to negative cursor position [Kuang-che Wu]. - Fix several buffer overflow. [ChangZhuo Chen]. #241 #242 +* Platform-specific + - Install instructions for Mac OS [Chocobo1]. + What's New in libchewing 0.5.1 (May 18, 2016) --------------------------------------------------------- diff --git a/README.md b/README.md index e205c548c..873059688 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,11 @@ as full open source efforts. - Coverity Scan: [![Coverity Scan Build Status](https://scan.coverity.com/projects/1273/badge.svg)](https://scan.coverity.com/projects/1273) - Codecov: [![codecov](https://codecov.io/gh/chewing/libchewing/graph/badge.svg?token=r1piKsG5uF)](https://codecov.io/gh/chewing/libchewing) +libchewing releases can be verified with the following [minisign][] public key + + RWRzJFnXiLZleAyCIv1talBjyRewelcy9gzYQq9pd3SKSFBPoy57sf5s + +[minisign]: https://jedisct1.github.io/minisign/ ## History diff --git a/cmake/corrosion b/cmake/corrosion deleted file mode 160000 index be7648023..000000000 --- a/cmake/corrosion +++ /dev/null @@ -1 +0,0 @@ -Subproject commit be76480232216a64f65e3b1d9794d68cbac6c690 diff --git a/rsign.pub b/rsign.pub new file mode 100644 index 000000000..837012198 --- /dev/null +++ b/rsign.pub @@ -0,0 +1,2 @@ +untrusted comment: minisign public key: 7865B688D7592473 +RWRzJFnXiLZleAyCIv1talBjyRewelcy9gzYQq9pd3SKSFBPoy57sf5s