New package: mozc-2.23.2815.102
Co-authored-by: maxice8 <thinkabit.ukim@gmail.com>
This commit is contained in:
parent
6d96620ef5
commit
c90670d8b9
|
@ -1 +0,0 @@
|
||||||
mozc is no longer provided by Void Linux, and will be fully removed from the repos on 2019/06/08
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
To enable Mozc mode, add this to your ~/.emacs.d/init.el file:
|
||||||
|
|
||||||
|
(set-language-environment "Japanese")
|
||||||
|
(require 'mozc) ; or (load-file "/path/to/mozc.el")
|
||||||
|
(setq default-input-method "japanese-mozc")
|
||||||
|
|
||||||
|
C-\ is bound to `toggle-input-method' by default.
|
|
@ -0,0 +1,7 @@
|
||||||
|
ibus-mozc always starts up in Direct Input mode. If you prefer Hiragana
|
||||||
|
mode by default, set the IBUS_MOZC_DEFAULT_HIRAGANA environment variable
|
||||||
|
for ibus-daemon, e.g.:
|
||||||
|
|
||||||
|
IBUS_MOZC_DEFAULT_HIRAGANA= ibus-daemon --xim -d
|
||||||
|
|
||||||
|
This is a Void Linux extension.
|
|
@ -0,0 +1,40 @@
|
||||||
|
--- mozc/src/gyp/common.gypi
|
||||||
|
+++ mozc/src/gyp/common.gypi
|
||||||
|
@@ -444,12 +444,12 @@
|
||||||
|
}],
|
||||||
|
['target_platform=="Linux"', {
|
||||||
|
'make_global_settings': [
|
||||||
|
- ['AR', '<!(which ar)'],
|
||||||
|
- ['CC', '<!(which clang)'],
|
||||||
|
- ['CXX', '<!(which clang++)'],
|
||||||
|
- ['LD', '<!(which ld)'],
|
||||||
|
- ['NM', '<!(which nm)'],
|
||||||
|
- ['READELF', '<!(which readelf)'],
|
||||||
|
+ ['AR', '<!(which ${AR_target:-ar})'],
|
||||||
|
+ ['CC', '<!(which ${CC_target:-cc})'],
|
||||||
|
+ ['CXX', '<!(which ${CXX_target:-c++})'],
|
||||||
|
+ ['LD', '<!(which ${LD_target:-ld})'],
|
||||||
|
+ ['NM', '<!(which ${NM_target:-nm})'],
|
||||||
|
+ ['READELF', '<!(which ${READELF_target:-readelf})'],
|
||||||
|
],
|
||||||
|
}],
|
||||||
|
['target_platform=="Android"', {
|
||||||
|
@@ -494,12 +494,12 @@
|
||||||
|
['LD', '<(ndk_bin_dir)/<(toolchain_prefix)-ld'],
|
||||||
|
['NM', '<(ndk_bin_dir)/<(toolchain_prefix)-nm'],
|
||||||
|
['READELF', '<(ndk_bin_dir)/<(toolchain_prefix)-readelf'],
|
||||||
|
- ['AR.host', '<!(which ar)'],
|
||||||
|
- ['CC.host', '<!(which clang)'],
|
||||||
|
- ['CXX.host', '<!(which clang++)'],
|
||||||
|
- ['LD.host', '<!(which ld)'],
|
||||||
|
- ['NM.host', '<!(which nm)'],
|
||||||
|
- ['READELF.host', '<!(which readelf)'],
|
||||||
|
+ ['AR.host', '<!(which ${AR:-ar})'],
|
||||||
|
+ ['CC.host', '<!(which ${CC:-cc})'],
|
||||||
|
+ ['CXX.host', '<!(which ${CXX:-c++})'],
|
||||||
|
+ ['LD.host', '<!(which ${LD:-ld})'],
|
||||||
|
+ ['NM.host', '<!(which ${NM:-nm})'],
|
||||||
|
+ ['READELF.host', '<!(which ${READELF:-readelf})'],
|
||||||
|
],
|
||||||
|
}],
|
||||||
|
],
|
|
@ -0,0 +1,20 @@
|
||||||
|
--- mozc/src/unix/ibus/property_handler.cc
|
||||||
|
+++ mozc/src/unix/ibus/property_handler.cc
|
||||||
|
@@ -40,6 +40,8 @@
|
||||||
|
#include "unix/ibus/mozc_engine_property.h"
|
||||||
|
#include "unix/ibus/path_util.h"
|
||||||
|
|
||||||
|
+#include <cstdlib>
|
||||||
|
+
|
||||||
|
// On Gnome Shell with IBus 1.5, new property named "symbol" is used to
|
||||||
|
// represent the mode indicator on the system panel. Note that "symbol" does
|
||||||
|
// not exist in IBus 1.4.x.
|
||||||
|
@@ -80,7 +82,7 @@ bool GetDisabled(IBusEngine *engine) {
|
||||||
|
// On IBus 1.4.x, IBus expects that an IME should always be turned on and
|
||||||
|
// IME on/off keys are handled by IBus itself rather than each IME.
|
||||||
|
#if IBUS_CHECK_VERSION(1, 5, 0)
|
||||||
|
-const bool kActivatedOnLaunch = false;
|
||||||
|
+const bool kActivatedOnLaunch = !!::std::getenv("IBUS_MOZC_DEFAULT_HIRAGANA");
|
||||||
|
#else
|
||||||
|
const bool kActivatedOnLaunch = true;
|
||||||
|
#endif // IBus>=1.5.0
|
|
@ -0,0 +1,10 @@
|
||||||
|
--- mozc/src/build_mozc.py
|
||||||
|
+++ mozc/src/build_mozc.py
|
||||||
|
@@ -728,6 +728,7 @@ def GypMain(options, unused_args):
|
||||||
|
gyp_options.extend(['--generator-output=.'])
|
||||||
|
short_basename = GetBuildShortBaseName(target_platform)
|
||||||
|
gyp_options.extend(['-G', 'output_dir=%s' % short_basename])
|
||||||
|
+ gyp_options.extend(['--no-parallel']) # Parallel generation requires writable /dev/shm
|
||||||
|
|
||||||
|
# Enable cross-compile
|
||||||
|
# TODO(yukawa): Enable GYP_CROSSCOMPILE for Windows.
|
|
@ -0,0 +1,327 @@
|
||||||
|
--- mozc/src/dictionary/user_dictionary.cc
|
||||||
|
+++ mozc/src/dictionary/user_dictionary.cc
|
||||||
|
@@ -289,7 +289,7 @@ class UserDictionary::UserDictionaryReloader : public Thread {
|
||||||
|
}
|
||||||
|
|
||||||
|
auto_register_mode_ = false;
|
||||||
|
- dic_->Load(*(storage.get()));
|
||||||
|
+ dic_->Load(*(storage->storage()));
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
--- mozc/src/dictionary/user_dictionary_session.cc
|
||||||
|
+++ mozc/src/dictionary/user_dictionary_session.cc
|
||||||
|
@@ -144,7 +144,7 @@ class UndoRenameDictionaryCommand : public UserDictionarySession::UndoCommand {
|
||||||
|
virtual bool RunUndo(mozc::UserDictionaryStorage *storage) {
|
||||||
|
UserDictionary *dictionary =
|
||||||
|
UserDictionaryUtil::GetMutableUserDictionaryById(
|
||||||
|
- storage, dictionary_id_);
|
||||||
|
+ storage->storage(), dictionary_id_);
|
||||||
|
if (dictionary == NULL) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
@@ -169,7 +169,7 @@ class UndoAddEntryCommand : public UserDictionarySession::UndoCommand {
|
||||||
|
virtual bool RunUndo(mozc::UserDictionaryStorage *storage) {
|
||||||
|
UserDictionary *dictionary =
|
||||||
|
UserDictionaryUtil::GetMutableUserDictionaryById(
|
||||||
|
- storage, dictionary_id_);
|
||||||
|
+ storage->storage(), dictionary_id_);
|
||||||
|
if (dictionary == NULL || dictionary->entries_size() == 0) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
@@ -195,7 +195,7 @@ class UndoEditEntryCommand : public UserDictionarySession::UndoCommand {
|
||||||
|
virtual bool RunUndo(mozc::UserDictionaryStorage *storage) {
|
||||||
|
UserDictionary *dictionary =
|
||||||
|
UserDictionaryUtil::GetMutableUserDictionaryById(
|
||||||
|
- storage, dictionary_id_);
|
||||||
|
+ storage->storage(), dictionary_id_);
|
||||||
|
if (dictionary == NULL ||
|
||||||
|
index_ < 0 || dictionary->entries_size() <= index_) {
|
||||||
|
return false;
|
||||||
|
@@ -240,7 +240,7 @@ class UndoDeleteEntryCommand : public UserDictionarySession::UndoCommand {
|
||||||
|
virtual bool RunUndo(mozc::UserDictionaryStorage *storage) {
|
||||||
|
UserDictionary *dictionary =
|
||||||
|
UserDictionaryUtil::GetMutableUserDictionaryById(
|
||||||
|
- storage, dictionary_id_);
|
||||||
|
+ storage->storage(), dictionary_id_);
|
||||||
|
if (dictionary == NULL) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
@@ -306,7 +306,7 @@ class UndoImportFromStringCommand : public UserDictionarySession::UndoCommand {
|
||||||
|
virtual bool RunUndo(mozc::UserDictionaryStorage *storage) {
|
||||||
|
UserDictionary *dictionary =
|
||||||
|
UserDictionaryUtil::GetMutableUserDictionaryById(
|
||||||
|
- storage, dictionary_id_);
|
||||||
|
+ storage->storage(), dictionary_id_);
|
||||||
|
if (dictionary == NULL) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
@@ -345,7 +345,7 @@ UserDictionarySession::~UserDictionarySession() {
|
||||||
|
|
||||||
|
// TODO(hidehiko) move this to header.
|
||||||
|
const UserDictionaryStorage &UserDictionarySession::storage() const {
|
||||||
|
- return *storage_;
|
||||||
|
+ return *storage_->storage();
|
||||||
|
}
|
||||||
|
mozc::UserDictionaryStorage *UserDictionarySession::mutable_storage() {
|
||||||
|
return storage_.get();
|
||||||
|
@@ -464,7 +464,7 @@ UserDictionaryCommandStatus::Status UserDictionarySession::CreateDictionary(
|
||||||
|
const string &dictionary_name, uint64 *new_dictionary_id) {
|
||||||
|
UserDictionaryCommandStatus::Status status =
|
||||||
|
UserDictionaryUtil::CreateDictionary(
|
||||||
|
- storage_.get(), dictionary_name, new_dictionary_id);
|
||||||
|
+ storage_->storage(), dictionary_name, new_dictionary_id);
|
||||||
|
if (status == UserDictionaryCommandStatus::USER_DICTIONARY_COMMAND_SUCCESS) {
|
||||||
|
AddUndoCommand(new UndoCreateDictionaryCommand);
|
||||||
|
}
|
||||||
|
@@ -488,7 +488,7 @@ UserDictionarySession::DeleteDictionaryInternal(
|
||||||
|
int original_index;
|
||||||
|
UserDictionary *deleted_dictionary;
|
||||||
|
if (!UserDictionaryUtil::DeleteDictionary(
|
||||||
|
- storage_.get(), dictionary_id,
|
||||||
|
+ storage_->storage(), dictionary_id,
|
||||||
|
&original_index, &deleted_dictionary)) {
|
||||||
|
// Failed to delete the dictionary.
|
||||||
|
return UserDictionaryCommandStatus::UNKNOWN_DICTIONARY_ID;
|
||||||
|
@@ -510,7 +510,7 @@ UserDictionaryCommandStatus::Status UserDictionarySession::RenameDictionary(
|
||||||
|
uint64 dictionary_id, const string &dictionary_name) {
|
||||||
|
string original_name;
|
||||||
|
const UserDictionary *dictionary =
|
||||||
|
- UserDictionaryUtil::GetUserDictionaryById(*storage_, dictionary_id);
|
||||||
|
+ UserDictionaryUtil::GetUserDictionaryById(*storage_->storage(), dictionary_id);
|
||||||
|
if (dictionary != NULL) {
|
||||||
|
// Note that if dictionary is null, it means the dictionary_id is invalid
|
||||||
|
// so following RenameDictionary will fail, and error handling is done
|
||||||
|
@@ -547,7 +547,7 @@ UserDictionaryCommandStatus::Status UserDictionarySession::AddEntry(
|
||||||
|
uint64 dictionary_id, const UserDictionary::Entry &entry) {
|
||||||
|
UserDictionary *dictionary =
|
||||||
|
UserDictionaryUtil::GetMutableUserDictionaryById(
|
||||||
|
- storage_.get(), dictionary_id);
|
||||||
|
+ storage_->storage(), dictionary_id);
|
||||||
|
if (dictionary == NULL) {
|
||||||
|
return UserDictionaryCommandStatus::UNKNOWN_DICTIONARY_ID;
|
||||||
|
}
|
||||||
|
@@ -575,7 +575,7 @@ UserDictionaryCommandStatus::Status UserDictionarySession::EditEntry(
|
||||||
|
uint64 dictionary_id, int index, const UserDictionary::Entry &entry) {
|
||||||
|
UserDictionary *dictionary =
|
||||||
|
UserDictionaryUtil::GetMutableUserDictionaryById(
|
||||||
|
- storage_.get(), dictionary_id);
|
||||||
|
+ storage_->storage(), dictionary_id);
|
||||||
|
if (dictionary == NULL) {
|
||||||
|
return UserDictionaryCommandStatus::UNKNOWN_DICTIONARY_ID;
|
||||||
|
}
|
||||||
|
@@ -604,7 +604,7 @@ UserDictionaryCommandStatus::Status UserDictionarySession::DeleteEntry(
|
||||||
|
uint64 dictionary_id, const std::vector<int> &index_list) {
|
||||||
|
UserDictionary *dictionary =
|
||||||
|
UserDictionaryUtil::GetMutableUserDictionaryById(
|
||||||
|
- storage_.get(), dictionary_id);
|
||||||
|
+ storage_->storage(), dictionary_id);
|
||||||
|
if (dictionary == NULL) {
|
||||||
|
return UserDictionaryCommandStatus::UNKNOWN_DICTIONARY_ID;
|
||||||
|
}
|
||||||
|
@@ -644,7 +644,7 @@ UserDictionaryCommandStatus::Status UserDictionarySession::ImportFromString(
|
||||||
|
uint64 dictionary_id, const string &data) {
|
||||||
|
UserDictionary *dictionary =
|
||||||
|
UserDictionaryUtil::GetMutableUserDictionaryById(
|
||||||
|
- storage_.get(), dictionary_id);
|
||||||
|
+ storage_->storage(), dictionary_id);
|
||||||
|
if (dictionary == NULL) {
|
||||||
|
return UserDictionaryCommandStatus::UNKNOWN_DICTIONARY_ID;
|
||||||
|
}
|
||||||
|
@@ -699,7 +699,7 @@ UserDictionarySession::ImportToNewDictionaryFromString(
|
||||||
|
uint64 *new_dictionary_id) {
|
||||||
|
UserDictionaryCommandStatus::Status status =
|
||||||
|
UserDictionaryUtil::CreateDictionary(
|
||||||
|
- storage_.get(), dictionary_name, new_dictionary_id);
|
||||||
|
+ storage_->storage(), dictionary_name, new_dictionary_id);
|
||||||
|
if (status != UserDictionaryCommandStatus::USER_DICTIONARY_COMMAND_SUCCESS) {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
@@ -709,7 +709,7 @@ UserDictionarySession::ImportToNewDictionaryFromString(
|
||||||
|
|
||||||
|
UserDictionary *dictionary =
|
||||||
|
UserDictionaryUtil::GetMutableUserDictionaryById(
|
||||||
|
- storage_.get(), *new_dictionary_id);
|
||||||
|
+ storage_->storage(), *new_dictionary_id);
|
||||||
|
if (dictionary == NULL) {
|
||||||
|
// The dictionary should be always found.
|
||||||
|
return UserDictionaryCommandStatus::UNKNOWN_ERROR;
|
||||||
|
@@ -728,7 +728,7 @@ bool UserDictionarySession::EnsureNonEmptyStorage() {
|
||||||
|
uint64 new_dictionary_id;
|
||||||
|
UserDictionaryCommandStatus::Status status =
|
||||||
|
UserDictionaryUtil::CreateDictionary(
|
||||||
|
- storage_.get(), default_dictionary_name_, &new_dictionary_id);
|
||||||
|
+ storage_->storage(), default_dictionary_name_, &new_dictionary_id);
|
||||||
|
CHECK_EQ(
|
||||||
|
status, UserDictionaryCommandStatus::USER_DICTIONARY_COMMAND_SUCCESS);
|
||||||
|
return true;
|
||||||
|
--- mozc/src/dictionary/user_dictionary_storage.cc
|
||||||
|
+++ mozc/src/dictionary/user_dictionary_storage.cc
|
||||||
|
@@ -109,7 +109,7 @@ bool UserDictionaryStorage::LoadInternal() {
|
||||||
|
mozc::protobuf::io::IstreamInputStream zero_copy_input(&ifs);
|
||||||
|
mozc::protobuf::io::CodedInputStream decoder(&zero_copy_input);
|
||||||
|
decoder.SetTotalBytesLimit(kDefaultTotalBytesLimit, -1);
|
||||||
|
- if (!ParseFromCodedStream(&decoder)) {
|
||||||
|
+ if (!storage_.ParseFromCodedStream(&decoder)) {
|
||||||
|
LOG(ERROR) << "Failed to parse";
|
||||||
|
if (!decoder.ConsumedEntireMessage() || !ifs.eof()) {
|
||||||
|
LOG(ERROR) << "ParseFromStream failed: file seems broken";
|
||||||
|
@@ -141,7 +141,7 @@ bool UserDictionaryStorage::Load() {
|
||||||
|
const UserDictionary &dict = dictionaries(i);
|
||||||
|
if (dict.id() == 0) {
|
||||||
|
mutable_dictionaries(i)->set_id(
|
||||||
|
- UserDictionaryUtil::CreateNewDictionaryId(*this));
|
||||||
|
+ UserDictionaryUtil::CreateNewDictionaryId(storage_));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -171,7 +171,7 @@ bool UserDictionaryStorage::Save() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (!SerializeToOstream(&ofs)) {
|
||||||
|
+ if (!storage_.SerializeToOstream(&ofs)) {
|
||||||
|
LOG(ERROR) << "SerializeToString failed";
|
||||||
|
last_error_type_ = SYNC_FAILURE;
|
||||||
|
return false;
|
||||||
|
@@ -241,7 +241,7 @@ bool UserDictionaryStorage::ExportDictionary(
|
||||||
|
bool UserDictionaryStorage::CreateDictionary(
|
||||||
|
const string &dic_name, uint64 *new_dic_id) {
|
||||||
|
UserDictionaryCommandStatus::Status status =
|
||||||
|
- UserDictionaryUtil::CreateDictionary(this, dic_name, new_dic_id);
|
||||||
|
+ UserDictionaryUtil::CreateDictionary(&storage_, dic_name, new_dic_id);
|
||||||
|
// Update last_error_type_
|
||||||
|
switch (status) {
|
||||||
|
case UserDictionaryCommandStatus::DICTIONARY_NAME_EMPTY:
|
||||||
|
@@ -273,7 +273,7 @@ bool UserDictionaryStorage::CreateDictionary(
|
||||||
|
}
|
||||||
|
|
||||||
|
bool UserDictionaryStorage::DeleteDictionary(uint64 dic_id) {
|
||||||
|
- if (!UserDictionaryUtil::DeleteDictionary(this, dic_id, NULL, NULL)) {
|
||||||
|
+ if (!UserDictionaryUtil::DeleteDictionary(&storage_, dic_id, NULL, NULL)) {
|
||||||
|
// Failed to delete dictionary.
|
||||||
|
last_error_type_ = INVALID_DICTIONARY_ID;
|
||||||
|
return false;
|
||||||
|
@@ -318,7 +318,7 @@ bool UserDictionaryStorage::RenameDictionary(uint64 dic_id,
|
||||||
|
}
|
||||||
|
|
||||||
|
int UserDictionaryStorage::GetUserDictionaryIndex(uint64 dic_id) const {
|
||||||
|
- return UserDictionaryUtil::GetUserDictionaryIndexById(*this, dic_id);
|
||||||
|
+ return UserDictionaryUtil::GetUserDictionaryIndexById(storage_, dic_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool UserDictionaryStorage::GetUserDictionaryId(const string &dic_name,
|
||||||
|
@@ -335,7 +335,7 @@ bool UserDictionaryStorage::GetUserDictionaryId(const string &dic_name,
|
||||||
|
|
||||||
|
user_dictionary::UserDictionary *UserDictionaryStorage::GetUserDictionary(
|
||||||
|
uint64 dic_id) {
|
||||||
|
- return UserDictionaryUtil::GetMutableUserDictionaryById(this, dic_id);
|
||||||
|
+ return UserDictionaryUtil::GetMutableUserDictionaryById(&storage_, dic_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
UserDictionaryStorage::UserDictionaryStorageErrorType
|
||||||
|
@@ -361,14 +361,14 @@ bool UserDictionaryStorage::AddToAutoRegisteredDictionary(
|
||||||
|
|
||||||
|
UserDictionary *dic = NULL;
|
||||||
|
if (auto_index == -1) {
|
||||||
|
- if (UserDictionaryUtil::IsStorageFull(*this)) {
|
||||||
|
+ if (UserDictionaryUtil::IsStorageFull(storage_)) {
|
||||||
|
last_error_type_ = TOO_MANY_DICTIONARIES;
|
||||||
|
LOG(ERROR) << "too many dictionaries";
|
||||||
|
UnLock();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
dic = add_dictionaries();
|
||||||
|
- dic->set_id(UserDictionaryUtil::CreateNewDictionaryId(*this));
|
||||||
|
+ dic->set_id(UserDictionaryUtil::CreateNewDictionaryId(storage_));
|
||||||
|
dic->set_name(kAutoRegisteredDictionaryName);
|
||||||
|
} else {
|
||||||
|
dic = mutable_dictionaries(auto_index);
|
||||||
|
@@ -410,7 +410,7 @@ bool UserDictionaryStorage::AddToAutoRegisteredDictionary(
|
||||||
|
}
|
||||||
|
|
||||||
|
bool UserDictionaryStorage::ConvertSyncDictionariesToNormalDictionaries() {
|
||||||
|
- if (CountSyncableDictionaries(*this) == 0) {
|
||||||
|
+ if (CountSyncableDictionaries(storage_) == 0) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -445,7 +445,7 @@ bool UserDictionaryStorage::ConvertSyncDictionariesToNormalDictionaries() {
|
||||||
|
kDictionaryNameConvertedFromSyncableDictionary;
|
||||||
|
int index = 0;
|
||||||
|
while (UserDictionaryUtil::ValidateDictionaryName(
|
||||||
|
- *this, new_dictionary_name)
|
||||||
|
+ storage_, new_dictionary_name)
|
||||||
|
!= UserDictionaryCommandStatus::USER_DICTIONARY_COMMAND_SUCCESS) {
|
||||||
|
++index;
|
||||||
|
new_dictionary_name = Util::StringPrintf(
|
||||||
|
@@ -456,7 +456,7 @@ bool UserDictionaryStorage::ConvertSyncDictionariesToNormalDictionaries() {
|
||||||
|
dic->set_syncable(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
- DCHECK_EQ(0, CountSyncableDictionaries(*this));
|
||||||
|
+ DCHECK_EQ(0, CountSyncableDictionaries(storage_));
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
--- mozc/src/dictionary/user_dictionary_storage.h
|
||||||
|
+++ mozc/src/dictionary/user_dictionary_storage.h
|
||||||
|
@@ -74,8 +74,20 @@ class ProcessMutex;
|
||||||
|
|
||||||
|
// Inherit from ProtocolBuffer
|
||||||
|
// TODO(hidehiko): Get rid of this implementation.
|
||||||
|
-class UserDictionaryStorage : public user_dictionary::UserDictionaryStorage {
|
||||||
|
+class UserDictionaryStorage {
|
||||||
|
+ private:
|
||||||
|
+ user_dictionary::UserDictionaryStorage storage_;
|
||||||
|
public:
|
||||||
|
+ static const user_dictionary::UserDictionaryStorage& default_instance() { return user_dictionary::UserDictionaryStorage::default_instance(); }
|
||||||
|
+ user_dictionary::UserDictionaryStorage *storage() { return &storage_; }
|
||||||
|
+ int dictionaries_size() const { return storage_.dictionaries_size(); }
|
||||||
|
+ void clear_dictionaries() { storage_.clear_dictionaries(); }
|
||||||
|
+ user_dictionary::UserDictionary* mutable_dictionaries(int index) { return storage_.mutable_dictionaries(index); }
|
||||||
|
+ ::google::protobuf::RepeatedPtrField<user_dictionary::UserDictionary >* mutable_dictionaries() { return storage_.mutable_dictionaries(); }
|
||||||
|
+ const ::google::protobuf::RepeatedPtrField<user_dictionary::UserDictionary >& dictionaries() const { return storage_.dictionaries(); }
|
||||||
|
+ const user_dictionary::UserDictionary& dictionaries(int index) const { return storage_.dictionaries(index); }
|
||||||
|
+ user_dictionary::UserDictionary* add_dictionaries() { return storage_.add_dictionaries(); }
|
||||||
|
+
|
||||||
|
typedef user_dictionary::UserDictionary UserDictionary;
|
||||||
|
typedef user_dictionary::UserDictionary::Entry UserDictionaryEntry;
|
||||||
|
|
||||||
|
--- mozc/src/prediction/user_history_predictor.cc
|
||||||
|
+++ mozc/src/prediction/user_history_predictor.cc
|
||||||
|
@@ -291,7 +291,7 @@ bool UserHistoryStorage::Load() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (!ParseFromString(input)) {
|
||||||
|
+ if (!userHistory_.ParseFromString(input)) {
|
||||||
|
LOG(ERROR) << "ParseFromString failed. message looks broken";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
@@ -307,7 +307,7 @@ bool UserHistoryStorage::Save() const {
|
||||||
|
}
|
||||||
|
|
||||||
|
string output;
|
||||||
|
- if (!AppendToString(&output)) {
|
||||||
|
+ if (!userHistory_.AppendToString(&output)) {
|
||||||
|
LOG(ERROR) << "AppendToString failed";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
--- mozc/src/prediction/user_history_predictor.h
|
||||||
|
+++ mozc/src/prediction/user_history_predictor.h
|
||||||
|
@@ -61,8 +61,13 @@ class Segments;
|
||||||
|
class UserHistoryPredictorSyncer;
|
||||||
|
|
||||||
|
// Added serialization method for UserHistory.
|
||||||
|
-class UserHistoryStorage : public mozc::user_history_predictor::UserHistory {
|
||||||
|
+class UserHistoryStorage {
|
||||||
|
+ private:
|
||||||
|
+ user_history_predictor::UserHistory userHistory_;
|
||||||
|
public:
|
||||||
|
+ int entries_size() const { return userHistory_.entries_size(); }
|
||||||
|
+ const user_history_predictor::UserHistory_Entry& entries(int index) const { return userHistory_.entries(index); }
|
||||||
|
+ user_history_predictor::UserHistory_Entry* add_entries() { return userHistory_.add_entries(); }
|
||||||
|
explicit UserHistoryStorage(const string &filename);
|
||||||
|
~UserHistoryStorage();
|
||||||
|
|
|
@ -1,24 +1,119 @@
|
||||||
# Template file for 'mozc'
|
# Template file for 'mozc'
|
||||||
pkgname=mozc
|
pkgname=mozc
|
||||||
version=2.23.2815.102
|
version=2.23.2815.102
|
||||||
revision=3
|
revision=4
|
||||||
archs=noarch
|
create_wrksrc=yes
|
||||||
build_style=meta
|
build_wrksrc=mozc/src
|
||||||
short_desc="Japanese IME (Open Source version of Google Japanese Input) (removed package)"
|
hostmakedepends="ninja pkg-config protobuf protobuf-devel python"
|
||||||
license="metapackage"
|
makedepends="gtk+-devel ibus-devel libzinnia-devel protobuf-devel qt5-devel
|
||||||
|
fcitx-devel"
|
||||||
|
depends="tegaki-zinnia-japanese>=0.3"
|
||||||
|
short_desc="Japanese IME (Open Source version of Google Japanese Input)"
|
||||||
|
maintainer="Matthias von Faber <mvf@gmx.eu>"
|
||||||
|
license="BSD-3-Clause"
|
||||||
homepage="https://github.com/google/mozc"
|
homepage="https://github.com/google/mozc"
|
||||||
|
distfiles="
|
||||||
|
https://gitlab.com/fcitx/mozc/repository/dad94584ea5012110ad1d204e433964243a1639d/archive.tar.bz2>${pkgname}-${version}.tar.bz2
|
||||||
|
https://github.com/bnoordhuis/gyp/archive/c6f471687407bf28ddfc63f1a8f47aeb7bf54edc.tar.gz
|
||||||
|
https://github.com/hiroyuki-komatsu/japanese-usage-dictionary/archive/e5b3425575734c323e1d947009dd74709437b684.tar.gz
|
||||||
|
"
|
||||||
|
checksum="
|
||||||
|
e38457e63a7fa8d62d87b4f8b3e89fe5f6939d92e3c4fd287a93358375693892
|
||||||
|
882f074cbb3a4f2bba550fb615e63949c0fbf39eeb1718a0330b4a545ab97616
|
||||||
|
0b6efee0eebac2c1a8eeea333278aa40fcef7846bba9a379962c6e567e7e3dc1
|
||||||
|
"
|
||||||
|
|
||||||
emacs-mozc_package() {
|
CXXFLAGS="-D_GNU_SOURCE"
|
||||||
build_style=meta
|
|
||||||
archs=noarch
|
if [ "$CROSS_BUILD" ]; then
|
||||||
|
hostmakedepends+=" qt5-devel"
|
||||||
|
fi
|
||||||
|
|
||||||
|
post_extract() {
|
||||||
|
ln -s mozc-* mozc
|
||||||
|
rm -rf mozc/src/unix/fcitx5
|
||||||
|
|
||||||
|
# symlink "submodules" into place
|
||||||
|
for _src_dest in gyp japanese-usage-dictionary:japanese_usage_dictionary; do
|
||||||
|
_src=${_src_dest%:*}
|
||||||
|
_dst=mozc/src/third_party/${_src_dest#*:}
|
||||||
|
rmdir $_dst
|
||||||
|
ln -sr $_src-* $_dst
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "$CROSS_BUILD" ]; then
|
||||||
|
# find fcitx4-config
|
||||||
|
sed -i -e "s;fcitx4-config;${XBPS_CROSS_BASE}/usr/bin/fcitx4-config;" mozc/src/unix/fcitx/fcitx.gyp
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
fcitx-mozc_package() {
|
do_configure() {
|
||||||
build_style=meta
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
archs=noarch
|
*-musl) sed -i -e 's|PTHREAD_MUTEX_RECURSIVE_NP|PTHREAD_MUTEX_RECURSIVE|g' base/mutex.cc ;;
|
||||||
|
esac
|
||||||
|
GYP_DEFINES="
|
||||||
|
document_dir=/usr/share/licenses/${pkgname}
|
||||||
|
use_libprotobuf=1
|
||||||
|
use_libzinnia=1
|
||||||
|
" python2 build_mozc.py gyp --target_platform=Linux
|
||||||
|
}
|
||||||
|
|
||||||
|
do_build() {
|
||||||
|
local targets
|
||||||
|
targets="
|
||||||
|
server/server.gyp:mozc_server
|
||||||
|
gui/gui.gyp:mozc_tool
|
||||||
|
unix/emacs/emacs.gyp:mozc_emacs_helper
|
||||||
|
unix/ibus/ibus.gyp:ibus_mozc
|
||||||
|
renderer/renderer.gyp:mozc_renderer
|
||||||
|
unix/fcitx/fcitx.gyp:fcitx-mozc
|
||||||
|
"
|
||||||
|
python2 build_mozc.py build -c Release $targets
|
||||||
|
|
||||||
|
sed -i 's|/usr/libexec/|/usr/lib/ibus-mozc/|g' out_linux/Release/gen/unix/ibus/mozc.xml
|
||||||
|
}
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
vinstall out_linux/Release/mozc_server 755 usr/lib/mozc/mozc_server
|
||||||
|
vinstall out_linux/Release/mozc_tool 755 usr/lib/mozc_tool
|
||||||
|
|
||||||
|
head -n 29 server/mozc_server.cc > LICENSE
|
||||||
|
for i in LICENSE data/installer/*.html; do
|
||||||
|
vlicense "$i"
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
ibus-mozc_package() {
|
ibus-mozc_package() {
|
||||||
build_style=meta
|
short_desc="Mozc engine for IBus - Client of the Mozc input method"
|
||||||
archs=noarch
|
depends="${sourcepkg}-${version}_${revision} ibus>=1.5.14"
|
||||||
|
pkg_install() {
|
||||||
|
vinstall out_linux/Release/ibus_mozc 755 usr/lib/ivus/mozc/ibus-engine-mozc
|
||||||
|
vinstall out_linux/Release/gen/unix/ibus/mozc.xml 644 usr/share/ibus/component/mozc.xml
|
||||||
|
vinstall data/images/unix/ime_product_icon_opensource-32.png 644 usr/share/ibus-mozc/product_icon.png
|
||||||
|
for i in data/images/unix/ui-*.png; do
|
||||||
|
vinstall "${i}" 644 usr/share/ibus/mozc/"${i##/ui-}"
|
||||||
|
done
|
||||||
|
vinstall out_linux/Release/mozc_renderer 755 usr/lib/mozc/mozc_renderer
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
emacs-mozc_package() {
|
||||||
|
pkgdesc="Mozc for Emacs"
|
||||||
|
depends="${sourcepkg}-${version}_${revision} emacs"
|
||||||
|
pkg_install() {
|
||||||
|
vbin out_linux/Release/mozc_emacs_helper
|
||||||
|
vinstall unix/emacs/mozc.el 644 usr/share/emacs/site-list/emacs-mozc/mozc.el
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fcitx-mozc_package() {
|
||||||
|
short_desc="Mozc engine for fcitx - Client of the Mozc input method"
|
||||||
|
depends="${sourcepkg}-${version}_${revision} fcitx>=4.2.9"
|
||||||
|
homepage="https://fcitx-im.org/"
|
||||||
|
license="GPL-2"
|
||||||
|
pkg_install() {
|
||||||
|
vinstall out_linux/Release/fcitx-mozc.so 644 usr/lib/fcitx/fcitx-mozc.so
|
||||||
|
vinstall unix/fcitx/fcitx-mozc.conf 644 usr/share/fcitx/addon/fcitx-mozc.conf
|
||||||
|
vinstall unix/fcitx/mozc.conf 644 usr/share/fcitx/inputmethod/mozc.conf
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue