Page MenuHomeSolus

D8457.diff
No OneTemporary

D8457.diff

diff --git a/Makefile b/Makefile
new file mode 100644
--- /dev/null
+++ b/Makefile
@@ -0,0 +1 @@
+include ../Makefile.common
diff --git a/abi_symbols b/abi_symbols
new file mode 100644
diff --git a/abi_used_libs b/abi_used_libs
new file mode 100644
--- /dev/null
+++ b/abi_used_libs
@@ -0,0 +1,21 @@
+ld-linux-x86-64.so.2
+libQt5Core.so.5
+libQt5Gui.so.5
+libQt5Widgets.so.5
+libc.so.6
+libcairo.so.2
+libgcc_s.so.1
+libgdk-x11-2.0.so.0
+libgio-2.0.so.0
+libglib-2.0.so.0
+libgobject-2.0.so.0
+libgtk-x11-2.0.so.0
+libibus-1.0.so.5
+libm.so.6
+libpango-1.0.so.0
+libprotobuf.so.22
+libpthread.so.0
+libstdc++.so.6
+libxcb-xfixes.so.0
+libxcb.so.1
+libzinnia.so.0
diff --git a/files/new-era.patch b/files/new-era.patch
new file mode 100644
--- /dev/null
+++ b/files/new-era.patch
@@ -0,0 +1,42 @@
+--- a/src/data/dictionary_oss/dictionary09.txt
++++ b/src/data/dictionary_oss/dictionary09.txt
+@@ -116919,3 +116919,6 @@ ー 2635 2635 2002
+ ヽと 1847 1847 8409 ヽト
+ ヾの 1847 1847 7320 ヾノ
+ しゅみれーしょん 1847 1847 5940 シミュレーション SPELLING_CORRECTION
++れいわ 1916 1916 1598 令和
++れいわうまれ 1919 1918 4687 令和生まれ
++れいわ 1916 1916 8252 レイワ
+--- a/src/data/symbol/categorized.tsv
++++ b/src/data/symbol/categorized.tsv
+@@ -405,6 +405,7 @@ m MATH
+ ㍽ MATH たいしょう ねんごう
+ ㍼ MATH しょうわ ねんごう
+ ㍻ MATH へいせい ねんごう
++㋿ MATH れいわ ねんごう
+
+ ㌣ MATH せんと たんい
+ ㌦ MATH どる たんい
+--- a/src/data/symbol/symbol.tsv
++++ b/src/data/symbol/symbol.tsv
+@@ -528,6 +528,7 @@ 記号 ㊥ なか ちゅう 丸
+ 記号 ㊦ した げ 丸下
+ 記号 ㊧ ひだり 丸左
+ 記号 ㊨ みぎ 丸右
++記号 ㋿ れいわ ねんごう 年号 OTHER
+ 記号 ㍻ へいせい ねんごう 年号 OTHER
+ 記号 ㍼ しょうわ ねんごう 年号 OTHER
+ 記号 ㍽ たいしょう ねんごう 年号 OTHER
+--- a/src/rewriter/date_rewriter.cc
++++ b/src/rewriter/date_rewriter.cc
+@@ -1239,6 +1239,10 @@ const YearData kEraData[] = {
+ 1989,
+ "平成",
+ "へいせい",
++ }, {
++ 2019,
++ "令和",
++ "れいわ",
+ }
+ };
+
diff --git a/files/protobuf-370.patch b/files/protobuf-370.patch
new file mode 100644
--- /dev/null
+++ b/files/protobuf-370.patch
@@ -0,0 +1,327 @@
+--- a/src/dictionary/user_dictionary.cc
++++ b/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:
+--- a/src/dictionary/user_dictionary_session.cc
++++ b/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;
+--- a/src/dictionary/user_dictionary_storage.cc
++++ b/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;
+ }
+--- a/src/dictionary/user_dictionary_storage.h
++++ b/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;
+
+--- a/src/prediction/user_history_predictor.cc
++++ b/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;
+ }
+--- a/src/prediction/user_history_predictor.h
++++ b/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();
+
diff --git a/package.yml b/package.yml
new file mode 100644
--- /dev/null
+++ b/package.yml
@@ -0,0 +1,115 @@
+name : mozc
+version : 2.23.2815.102
+release : 1
+source :
+ - https://gitlab.com/fcitx/mozc/repository/dad94584ea5012110ad1d204e433964243a1639d/archive.tar.bz2 : e38457e63a7fa8d62d87b4f8b3e89fe5f6939d92e3c4fd287a93358375693892
+ - git|https://chromium.googlesource.com/external/gyp.git : e87d37d6bce611abed35e854d5ae1a401e9ce04c
+ - https://github.com/hiroyuki-komatsu/japanese-usage-dictionary/archive/e5b3425575734c323e1d947009dd74709437b684.tar.gz : 0b6efee0eebac2c1a8eeea333278aa40fcef7846bba9a379962c6e567e7e3dc1
+ - https://download.fcitx-im.org/fcitx-mozc/fcitx-mozc-icon.tar.gz : e1da3026bd79f8c5b1dc07080309f9568934a829271f4ab71850cb8088956d81
+license : BSD-3-Clause
+component :
+ - desktop.core
+ - ^fcitx-mozc: desktop.core
+ - ^ibus-mozc: desktop.core
+summary :
+ - Japanese Input Method for Linux
+ - ^fcitx-mozc: Mozc engine for Fcitx
+ - ^ibus-mozc: Mozc engine for IBus
+description: |
+ Mozc is a Japanese Input Method Editor (IME) for Linux that provides support for Fcitx or IBus.
+builddeps :
+ - pkgconfig(fcitx)
+ - pkgconfig(gtk+-2.0)
+ - pkgconfig(ibus-1.0)
+ - pkgconfig(protobuf)
+ - pkgconfig(Qt5Core)
+ - pkgconfig(zinnia)
+ - llvm-clang
+rundeps :
+ - ^fcitx-mozc:
+ - fcitx
+ - mozc
+ - ^ibus-mozc:
+ - mozc
+patterns :
+ - ^fcitx-mozc:
+ - /usr/lib/fcitx
+ - /usr/share/fcitx
+ - ^ibus-mozc:
+ - /usr/lib/ibus-mozc
+ - /usr/share/ibus
+setup : |
+ %patch -p1 < $pkgfiles/protobuf-370.patch
+ %patch -p1 < $pkgfiles/new-era.patch
+ rm -rf src/unix/fcitx5
+ pushd ..
+ ln -s mozc-* mozc
+ ln -s $sources/gyp.git gyp
+ tar xf $sources/e5b3425575734c323e1d947009dd74709437b684.tar.gz
+ ln -s japanese-usage-dictionary-* japanese_usage_dictionary
+ tar xf $sources/fcitx-mozc-icon.tar.gz
+
+ for src in gyp japanese_usage_dictionary; do
+ rmdir mozc/src/third_party/$src
+ ln -sr $src mozc/src/third_party/$src
+ done
+
+ popd
+ GYP_DEFINES="server_dir=/usr/lib64/mozc
+ ibus_mozc_path=/usr/lib64/ibus-mozc/ibus-engine-mozc
+ use_libprotobuf=1 use_libzinnia=1" \
+ python2 src/build_mozc.py gyp --target_platform=Linux
+build : |
+ pushd mozc
+ targets="
+ server/server.gyp:mozc_server
+ gui/gui.gyp:mozc_tool
+ unix/fcitx/fcitx.gyp:fcitx-mozc
+ unix/ibus/ibus.gyp:ibus_mozc
+ renderer/renderer.gyp:mozc_renderer"
+ python2 src/build_mozc.py build -c Release $targets
+install : |
+ pushd mozc/src
+ install -d $installdir/usr/lib/{mozc,fcitx}
+ pushd out_linux/Release
+ install -Dm00755 mozc_server $installdir/usr/lib/mozc
+ install -Dm00755 mozc_tool $installdir/usr/lib/mozc
+ install -Dm00644 fcitx-mozc.so $installdir/usr/lib/fcitx
+ mv ibus_mozc ibus-engine-mozc
+ for bin in ibus-engine-mozc; do
+ install -Dm00755 $bin $installdir/usr/lib/ibus-mozc/$bin
+ done
+ for bin in mozc_renderer mozc_server mozc_tool; do
+ install -Dm00755 $bin $installdir/usr/lib/mozc/$bin
+ done
+ for xml in gen/unix/ibus/mozc.xml; do
+ install -Dm00644 $xml $installdir/usr/share/ibus/component/${xml##*/}
+ done
+ popd
+ pushd data/images/unix
+ cp ime_product_icon_opensource-32.png product_icon.png
+ for icon in *.png; do
+ install -Dm00644 $icon $installdir/usr/share/ibus-mozc/${icon#ui-}
+ done
+ popd
+ install -Dm00644 unix/fcitx/fcitx-mozc.conf $installdir/usr/share/fcitx/addon/fcitx-mozc.conf
+ install -Dm00644 unix/fcitx/mozc.conf $installdir/usr/share/fcitx/inputmethod/mozc.conf
+
+ for dotmo in out_linux/Release/gen/unix/fcitx/po/*.mo; do
+ filename=$(basename $dotmo)
+ lang=${filename/.mo/}
+ install -Dm00644 $dotmo $installdir/usr/share/locale/$lang/LC_MESSAGES/fcitx-mozc.mo
+ done
+ popd
+
+ install -d $installdir/usr/share/fcitx/mozc/icon
+ install -m00644 fcitx-mozc-icons/mozc.png $installdir/usr/share/fcitx/mozc/icon/mozc.png
+ install -m00644 fcitx-mozc-icons/mozc-alpha_full.png $installdir/usr/share/fcitx/mozc/icon/mozc-alpha_full.png
+ install -m00644 fcitx-mozc-icons/mozc-alpha_half.png $installdir/usr/share/fcitx/mozc/icon/mozc-alpha_half.png
+ install -m00644 fcitx-mozc-icons/mozc-direct.png $installdir/usr/share/fcitx/mozc/icon/mozc-direct.png
+ install -m00644 fcitx-mozc-icons/mozc-hiragana.png $installdir/usr/share/fcitx/mozc/icon/mozc-hiragana.png
+ install -m00644 fcitx-mozc-icons/mozc-katakana_full.png $installdir/usr/share/fcitx/mozc/icon/mozc-katakana_full.png
+ install -m00644 fcitx-mozc-icons/mozc-katakana_half.png $installdir/usr/share/fcitx/mozc/icon/mozc-katakana_half.png
+ install -m00644 fcitx-mozc-icons/mozc-dictionary.png $installdir/usr/share/fcitx/mozc/icon/mozc-dictionary.png
+ install -m00644 fcitx-mozc-icons/mozc-properties.png $installdir/usr/share/fcitx/mozc/icon/mozc-properties.png
+ install -m00644 fcitx-mozc-icons/mozc-tool.png $installdir/usr/share/fcitx/mozc/icon/mozc-tool.png
diff --git a/pspec_x86_64.xml b/pspec_x86_64.xml
new file mode 100644
--- /dev/null
+++ b/pspec_x86_64.xml
@@ -0,0 +1,94 @@
+<PISI>
+ <Source>
+ <Name>mozc</Name>
+ <Packager>
+ <Name>Martin Reboredo</Name>
+ <Email>gc1000ll@gmail.com</Email>
+ </Packager>
+ <License>BSD-3-Clause</License>
+ <PartOf>desktop.core</PartOf>
+ <Summary xml:lang="en">Japanese Input Method for Linux</Summary>
+ <Description xml:lang="en">Mozc is a Japanese Input Method Editor (IME) for Linux that provides support for Fcitx or IBus.
+</Description>
+ <Archive type="binary" sha1sum="79eb0752a961b8e0d15c77d298c97498fbc89c5a">https://getsol.us/sources/README.Solus</Archive>
+ </Source>
+ <Package>
+ <Name>mozc</Name>
+ <Summary xml:lang="en">Japanese Input Method for Linux</Summary>
+ <Description xml:lang="en">Mozc is a Japanese Input Method Editor (IME) for Linux that provides support for Fcitx or IBus.
+</Description>
+ <PartOf>desktop.core</PartOf>
+ <Files>
+ <Path fileType="library">/usr/lib/mozc/mozc_renderer</Path>
+ <Path fileType="library">/usr/lib/mozc/mozc_server</Path>
+ <Path fileType="library">/usr/lib/mozc/mozc_tool</Path>
+ <Path fileType="data">/usr/share/ibus-mozc/alpha_full.png</Path>
+ <Path fileType="data">/usr/share/ibus-mozc/alpha_half.png</Path>
+ <Path fileType="data">/usr/share/ibus-mozc/dictionary.png</Path>
+ <Path fileType="data">/usr/share/ibus-mozc/direct.png</Path>
+ <Path fileType="data">/usr/share/ibus-mozc/hiragana.png</Path>
+ <Path fileType="data">/usr/share/ibus-mozc/ime_product_icon_opensource-32.png</Path>
+ <Path fileType="data">/usr/share/ibus-mozc/katakana_full.png</Path>
+ <Path fileType="data">/usr/share/ibus-mozc/katakana_half.png</Path>
+ <Path fileType="data">/usr/share/ibus-mozc/product_icon.png</Path>
+ <Path fileType="data">/usr/share/ibus-mozc/properties.png</Path>
+ <Path fileType="data">/usr/share/ibus-mozc/tool.png</Path>
+ <Path fileType="localedata">/usr/share/locale/ca/LC_MESSAGES/fcitx-mozc.mo</Path>
+ <Path fileType="localedata">/usr/share/locale/da/LC_MESSAGES/fcitx-mozc.mo</Path>
+ <Path fileType="localedata">/usr/share/locale/de/LC_MESSAGES/fcitx-mozc.mo</Path>
+ <Path fileType="localedata">/usr/share/locale/ja/LC_MESSAGES/fcitx-mozc.mo</Path>
+ <Path fileType="localedata">/usr/share/locale/ko/LC_MESSAGES/fcitx-mozc.mo</Path>
+ <Path fileType="localedata">/usr/share/locale/ru/LC_MESSAGES/fcitx-mozc.mo</Path>
+ <Path fileType="localedata">/usr/share/locale/zh_CN/LC_MESSAGES/fcitx-mozc.mo</Path>
+ <Path fileType="localedata">/usr/share/locale/zh_TW/LC_MESSAGES/fcitx-mozc.mo</Path>
+ </Files>
+ </Package>
+ <Package>
+ <Name>fcitx-mozc</Name>
+ <Summary xml:lang="en">Mozc engine for Fcitx</Summary>
+ <Description xml:lang="en">Mozc is a Japanese Input Method Editor (IME) for Linux that provides support for Fcitx or IBus.
+</Description>
+ <PartOf>desktop.core</PartOf>
+ <RuntimeDependencies>
+ <Dependency releaseFrom="1">mozc</Dependency>
+ </RuntimeDependencies>
+ <Files>
+ <Path fileType="library">/usr/lib/fcitx/fcitx-mozc.so</Path>
+ <Path fileType="data">/usr/share/fcitx/addon/fcitx-mozc.conf</Path>
+ <Path fileType="data">/usr/share/fcitx/inputmethod/mozc.conf</Path>
+ <Path fileType="data">/usr/share/fcitx/mozc/icon/mozc-alpha_full.png</Path>
+ <Path fileType="data">/usr/share/fcitx/mozc/icon/mozc-alpha_half.png</Path>
+ <Path fileType="data">/usr/share/fcitx/mozc/icon/mozc-dictionary.png</Path>
+ <Path fileType="data">/usr/share/fcitx/mozc/icon/mozc-direct.png</Path>
+ <Path fileType="data">/usr/share/fcitx/mozc/icon/mozc-hiragana.png</Path>
+ <Path fileType="data">/usr/share/fcitx/mozc/icon/mozc-katakana_full.png</Path>
+ <Path fileType="data">/usr/share/fcitx/mozc/icon/mozc-katakana_half.png</Path>
+ <Path fileType="data">/usr/share/fcitx/mozc/icon/mozc-properties.png</Path>
+ <Path fileType="data">/usr/share/fcitx/mozc/icon/mozc-tool.png</Path>
+ <Path fileType="data">/usr/share/fcitx/mozc/icon/mozc.png</Path>
+ </Files>
+ </Package>
+ <Package>
+ <Name>ibus-mozc</Name>
+ <Summary xml:lang="en">Mozc engine for IBus</Summary>
+ <Description xml:lang="en">Mozc is a Japanese Input Method Editor (IME) for Linux that provides support for Fcitx or IBus.
+</Description>
+ <PartOf>desktop.core</PartOf>
+ <RuntimeDependencies>
+ <Dependency releaseFrom="1">mozc</Dependency>
+ </RuntimeDependencies>
+ <Files>
+ <Path fileType="library">/usr/lib/ibus-mozc/ibus-engine-mozc</Path>
+ <Path fileType="data">/usr/share/ibus/component/mozc.xml</Path>
+ </Files>
+ </Package>
+ <History>
+ <Update release="1">
+ <Date>2020-04-13</Date>
+ <Version>2.23.2815.102</Version>
+ <Comment>Packaging update</Comment>
+ <Name>Martin Reboredo</Name>
+ <Email>gc1000ll@gmail.com</Email>
+ </Update>
+ </History>
+</PISI>
\ No newline at end of file

File Metadata

Mime Type
text/plain
Expires
May 21 2023, 12:52 AM (11 w, 5 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5803926
Default Alt Text
D8457.diff (27 KB)

Event Timeline