Page Menu
Home
Solus
Search
Configure Global Search
Log In
Files
F10767568
D8457.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
27 KB
Referenced Files
None
Subscribers
None
D8457.diff
View Options
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
Details
Attached
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)
Attached To
Mode
D8457: Initial commit of mozc
Attached
Detach File
Event Timeline
Log In to Comment