diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-04-19 14:14:48 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-04-19 14:14:48 +0100 |
commit | 5cfef3c94cd7e82136c69a0322f5ba21f7e64632 (patch) | |
tree | 8f255dfacbacb657e3ac3654d01c1e11e651c066 /app-i18n/mozc | |
parent | 8aebb228036d5e2863b7eaa6e319ab41c1669269 (diff) |
gentoo resync : 19.04.2018
Diffstat (limited to 'app-i18n/mozc')
-rw-r--r-- | app-i18n/mozc/Manifest | 6 | ||||
-rw-r--r-- | app-i18n/mozc/files/mozc-2.23.2815.102-system_libraries.patch | 274 | ||||
-rw-r--r-- | app-i18n/mozc/mozc-2.23.2815.102.ebuild | 322 | ||||
-rw-r--r-- | app-i18n/mozc/mozc-9999.ebuild | 2 |
4 files changed, 602 insertions, 2 deletions
diff --git a/app-i18n/mozc/Manifest b/app-i18n/mozc/Manifest index 9fce3df38c89..7c47b5bf86b9 100644 --- a/app-i18n/mozc/Manifest +++ b/app-i18n/mozc/Manifest @@ -3,9 +3,13 @@ AUX mozc-2.20.2673.102-gcc-5.patch 413 BLAKE2B ba16d915653022d0991e75fbc36a1ac85 AUX mozc-2.20.2673.102-system_libraries.patch 9659 BLAKE2B 8f1a832596a5c4a56a8caca2d12724324826a40cd16fb66c900e0579c5739b425e92f496b65715651846af92a5e0f5b566516fb7a314213d3f4708a19f512c36 SHA512 c0f858a9536fc449e0d9fb3191df2419f0273a478c31d0404713fc4feae5ffb72afec7b47b57ae2111ed0bf40ead4a75e31a68286440113968e2f4e4d6c2d856 AUX mozc-2.20.2673.102-tests_build.patch 1037 BLAKE2B 8f3c0b3361371a994957a89f5b86020902262de65aef75f82e58fcfcea211b8a8d3c8418898781ac1de2a2c9bdc73ffc4cf68102122a22691d9592d5a02e6c62 SHA512 d99ee7edbb406e123b26ec186933608b42d36193b7bfe67232810c0fbd7a92bd8cfff26dc45eae4f020e82e9a8370cf2033c750250455585b6b3d88cc8c973ef AUX mozc-2.20.2673.102-tests_skipping.patch 2086 BLAKE2B a104d6a83b02b49e1208be1b39699b90ad419d8befa29ed0366f7cbc454fe9ce27361f21897a5c74dadfc2d9eb31a30d7237e20db8c1fb205b8e71b40f4a0e57 SHA512 4a2e5a35c5e65ebeb737f656d6efb313c660c2c7cf62abd5d9295fd16e2dffde21d069cd74fd0cfd2454cd7f7c9d136dfbadbf79832db8441c619ff37c7e4b0e +AUX mozc-2.23.2815.102-system_libraries.patch 9064 BLAKE2B 0cdf732a1bbf16d4af1d6dee81aacf3f3cb1f1c00c6aeb0fc12dac9dcd8611124e388e5fc721eb9b9472e073515d7457b182ee7cfe466b83bf319d572ae55240 SHA512 2d5b06e855f8c1889367b9b672e3ec81a037bc592872e28319e0180a0dcd177cdff817775a1a0f74ebf48e0b7558cf3b67953120411be753c662c43f409b05ce DIST fcitx-mozc-2.18.2612.102.1.patch 140722 BLAKE2B a412b8dd94bcf44f7fd946bcc1072f3dde7d8d8da55d3ad04ef5d8ef851a63f4d4d8e7e6249172a9d1e75e1f1672e32e6a673e6016d94b034f80d23b660a80e2 SHA512 725c464727f230707b90975705ef1565f1178f9144e66c5a688696a4ef520a6fec1d11f7aa68ee05f82aa9417060b1cccf49a155e30734871a525eaa4c76addb +DIST fcitx-mozc-2.23.2815.102.1.patch 295112 BLAKE2B 709b84f6eaed16da38a173f40ae7cccff362fd167e6deb4090ae8a9ec522ac8e11ccff3c9ef6433907249af8c9eb4b7be12d2c05564cabd45c25e26764286ed3 SHA512 e0d4645df919838f0fe31a97bf6dd759c222a696f68133f7584d2c771f70734ea634a25bebb03a756221000d3552423207ee5163d75778dbf480b6e267ba4cd0 DIST japanese-usage-dictionary-20120416091336.tar.gz 71051 BLAKE2B 08eecf0aa021e27a2813f58c2d37f1cec760448f6ae086ae7468b8a11575c6ef9f72f656cb4d53e0179b8a7b00f2d91ff51a0ad7825e078dcbac0810f1d8b3e1 SHA512 b7e997a979b6d50e49b9af5dc830ea4df0532f6ab1321b9ef14983f65bb54f1b2967375c82e07957ae7693ebbf43c9b56ecea6bfea8dd1fdaee444bd549d83a7 DIST mozc-2.20.2673.102.tar.gz 48624369 BLAKE2B 0d80065f989c1f61e5f2852e7f471dd83777323b21499c118dc87f4fd6596329ab096dd64db3419895090ab61d6aef9a07e61c7fddeaf4f3a40ce3f3acbad949 SHA512 ad7a78b03b29847057625fd5422c03ac8fc5755c5e85c66fd6e80f81be719dd56bf1349a1d745797118deed239641512789687b4f9ffe49bab1bc966385229ae +DIST mozc-2.23.2815.102.tar.gz 47739041 BLAKE2B 045a8a4a07e09cf923b67824111cdf672febc30256a6aef951ae779a3f582b3860042750d766120e376898c63be5b4baea870798a192cee34b0d48647e1ec5e6 SHA512 a3face616ca89990bca52371dcc8003604ebe0e9633116a64550add070152b1bc4d9b21e9f102c5afa6f8b1aa11d8dbc4bafbcebfaf4a12a934f085f245d548f EBUILD mozc-2.20.2673.102.ebuild 9276 BLAKE2B 9308d63a798e68954c444139908b498bc2a1a50e3c3cfeac4b68aa5858452a5edd04ef81bb86e01cbe0fa1a396f3f83790474b8a4949f1ca3f3b2230fb4d088c SHA512 008e15376cbd7ec69c23309d23f06a20981a2b8f77b8f218e24915bfd525aa6a564e495fd5362ca3d5c50c85f07056544bb02f2d6d5d307758e2db86af97ae4e -EBUILD mozc-9999.ebuild 9146 BLAKE2B f1142aabd7e3fd032d003bec42f211ea92e5375890be5f16eadbb50fd5ad48e135aa7de2384441a3829f4320ab2c9353ddd06c0bf60044970f0b735b400bcb18 SHA512 14227c13147f01fec14eef094de630e479c5fc0c44c5e20705afd62c5e1649e375841c2935ced640d450f4552ba1a125534164a0de2fb02ecbaa3fe6bf623354 +EBUILD mozc-2.23.2815.102.ebuild 9308 BLAKE2B f73c31538e1e77b7b7b05c4e76113b2de207203f736c9710168b8dcf378d2f5abd779c7732bf461eefe85196356050e589dff44fe9914f9022e5b29c4e9ffbaf SHA512 4f882f60ce69f1451e1e9f4ff2ff730ddf9b14f5cb3a13b8b9353920c68b57c28524177ba8372454da46b4f15808b4063992d035949c7ff81da8bfb4ec3730e0 +EBUILD mozc-9999.ebuild 9146 BLAKE2B 3b6dea8d23f165e78b3da5a2d2fa3465605703ce77fe2df8069e9e7dc75f72ef8106f049b2039cf2fd1c78e06dbfa803bf31b076db2c2f2a9c7af0095dce41cf SHA512 0fccc09b374549a312a4a561b70d8e34fd0fe8b2e7e8161ce680c6662ea529e0c797bbe23ed388c8318bd18b07cf79dc946306906e3de9e2bf6f0fb6a6d545e1 MISC metadata.xml 1127 BLAKE2B 55c44374c1d0c03845435544fb8bcd254bfa59faa54e773110fe2a9bcfba0f6863a1f5c167e3ca7d2a1108e566ae4d7d4155a1a1994bef006bbde906265fffe1 SHA512 8d1ee79d5e359c746627cc10ddae170088dd1be8a69379f60969e588c0c6141fea80ebcba0183a91e786116e8937c14e76888c9232526244aab584ed4ef27a54 diff --git a/app-i18n/mozc/files/mozc-2.23.2815.102-system_libraries.patch b/app-i18n/mozc/files/mozc-2.23.2815.102-system_libraries.patch new file mode 100644 index 000000000000..064b910c7026 --- /dev/null +++ b/app-i18n/mozc/files/mozc-2.23.2815.102-system_libraries.patch @@ -0,0 +1,274 @@ +--- /src/gyp/defines.gypi ++++ /src/gyp/defines.gypi +@@ -71,6 +71,12 @@ + # use_libibus represents if ibus library is used or not. + # This option is only for Linux. + 'use_libibus%': '0', ++ ++ # use_libgtest represents if gtest library is used or not. ++ 'use_libgtest%': '0', ++ ++ # use_libjsoncpp represents if jsoncpp library is used or not. ++ 'use_libjsoncpp%': '0', + }, + 'target_defaults': { + 'defines': [ +--- /src/net/jsoncpp.gyp ++++ /src/net/jsoncpp.gyp +@@ -31,32 +31,57 @@ + 'targets': [ + { + 'target_name': 'jsoncpp', +- 'type': 'static_library', +- 'variables': { +- 'jsoncpp_root': '<(third_party_dir)/jsoncpp', +- 'jsoncpp_srcs': [ +- '<(jsoncpp_root)/src/lib_json/json_reader.cpp', +- '<(jsoncpp_root)/src/lib_json/json_value.cpp', +- '<(jsoncpp_root)/src/lib_json/json_writer.cpp', +- ], +- 'jsoncpp_include_dirs': ['<(jsoncpp_root)/include'], +- 'jsoncpp_additional_macros': ['JSON_USE_EXCEPTION=0'], +- }, +- 'defines': [ +- '<@(jsoncpp_additional_macros)', ++ 'conditions': [ ++ ['use_libjsoncpp==1', { ++ 'type': 'none', ++ 'variables': { ++ 'jsoncpp_additional_macros': ['JSON_USE_EXCEPTION=0'], ++ }, ++ 'all_dependent_settings': { ++ 'defines': [ ++ '<@(jsoncpp_additional_macros)', ++ ], ++ 'cflags': [ ++ '<!@(pkg-config --cflags jsoncpp)', ++ ], ++ 'link_settings': { ++ 'libraries': [ ++ '<!@(pkg-config --libs-only-l jsoncpp)', ++ ], ++ 'ldflags': [ ++ '<!@(pkg-config --libs-only-L jsoncpp)', ++ ], ++ } ++ }, ++ }, { ++ 'type': 'static_library', ++ 'variables': { ++ 'jsoncpp_root': '<(third_party_dir)/jsoncpp', ++ 'jsoncpp_srcs': [ ++ '<(jsoncpp_root)/src/lib_json/json_reader.cpp', ++ '<(jsoncpp_root)/src/lib_json/json_value.cpp', ++ '<(jsoncpp_root)/src/lib_json/json_writer.cpp', ++ ], ++ 'jsoncpp_include_dirs': ['<(jsoncpp_root)/include'], ++ 'jsoncpp_additional_macros': ['JSON_USE_EXCEPTION=0'], ++ }, ++ 'defines': [ ++ '<@(jsoncpp_additional_macros)', ++ ], ++ 'sources': [ ++ '<@(jsoncpp_srcs)', ++ 'jsoncpp.h', ++ ], ++ 'include_dirs': [ ++ '<@(jsoncpp_include_dirs)', ++ ], ++ 'all_dependent_settings': { ++ 'defines': [ ++ '<@(jsoncpp_additional_macros)', ++ ], ++ }, ++ }], + ], +- 'sources': [ +- '<@(jsoncpp_srcs)', +- 'jsoncpp.h', +- ], +- 'include_dirs': [ +- '<@(jsoncpp_include_dirs)', +- ], +- 'all_dependent_settings': { +- 'defines': [ +- '<@(jsoncpp_additional_macros)', +- ], +- }, + }, + ], + } +--- /src/net/jsoncpp.h ++++ /src/net/jsoncpp.h +@@ -35,7 +35,7 @@ + // Mozc basically disables C++ exception. + #define JSON_USE_EXCEPTION 0 + #endif // !JSON_USE_EXCEPTION +-#include "third_party/jsoncpp/include/json/json.h" ++#include <json/json.h> + #define MOZC_JSONCPP_JSON_H_INCLUDED + #endif // !MOZC_JSONCPP_JSON_H_INCLUDED + +--- /src/testing/testing.gyp ++++ /src/testing/testing.gyp +@@ -53,66 +53,101 @@ + 'targets': [ + { + 'target_name': 'testing', +- 'type': 'static_library', +- 'variables': { +- 'gtest_defines': [ +- 'GTEST_LANG_CXX11=1', +- 'GTEST_HAS_TR1_TUPLE=0', # disable tr1 tuple in favor of C++11 tuple. +- ], +- 'gtest_dir': '<(third_party_dir)/gtest/googletest', +- 'gmock_dir': '<(third_party_dir)/gtest/googlemock', +- 'conditions': [ +- ['_toolset=="target" and target_platform=="Android"', { +- 'gtest_defines': [ +- 'GTEST_HAS_RTTI=0', # Android NDKr7 requires this. +- 'GTEST_HAS_CLONE=0', +- 'GTEST_HAS_GLOBAL_WSTRING=0', +- 'GTEST_HAS_POSIX_RE=0', +- 'GTEST_HAS_STD_WSTRING=0', +- 'GTEST_OS_LINUX=1', +- 'GTEST_OS_LINUX_ANDROID=1', +- ], +- }], +- ], +- }, +- 'sources': [ +- '<(gmock_dir)/src/gmock-cardinalities.cc', +- '<(gmock_dir)/src/gmock-internal-utils.cc', +- '<(gmock_dir)/src/gmock-matchers.cc', +- '<(gmock_dir)/src/gmock-spec-builders.cc', +- '<(gmock_dir)/src/gmock.cc', +- '<(gtest_dir)/src/gtest-death-test.cc', +- '<(gtest_dir)/src/gtest-filepath.cc', +- '<(gtest_dir)/src/gtest-port.cc', +- '<(gtest_dir)/src/gtest-printers.cc', +- '<(gtest_dir)/src/gtest-test-part.cc', +- '<(gtest_dir)/src/gtest-typed-test.cc', +- '<(gtest_dir)/src/gtest.cc', +- ], +- 'include_dirs': [ +- '<(gmock_dir)', +- '<(gmock_dir)/include', +- '<(gtest_dir)', +- '<(gtest_dir)/include', +- ], +- 'defines': [ +- '<@(gtest_defines)', +- ], +- 'all_dependent_settings': { +- 'defines': [ +- '<@(gtest_defines)', +- ], +- 'include_dirs': [ +- '<(gmock_dir)/include', +- '<(gtest_dir)/include', +- ], +- }, + 'conditions': [ +- ['(_toolset=="target" and compiler_target=="clang") or ' +- '(_toolset=="host" and compiler_host=="clang")', { +- 'cflags': [ +- '-Wno-missing-field-initializers', +- '-Wno-unused-private-field', ++ ['use_libgtest==1', { ++ 'type': 'none', ++ 'variables': { ++ 'gtest_defines': [ ++ 'GTEST_LANG_CXX11=1', ++ 'GTEST_HAS_TR1_TUPLE=0', # disable tr1 tuple in favor of C++11 tuple. ++ ], ++ 'conditions': [ ++ ['_toolset=="target" and target_platform=="Android"', { ++ 'gtest_defines': [ ++ 'GTEST_HAS_RTTI=0', # Android NDKr7 requires this. ++ 'GTEST_HAS_CLONE=0', ++ 'GTEST_HAS_GLOBAL_WSTRING=0', ++ 'GTEST_HAS_POSIX_RE=0', ++ 'GTEST_HAS_STD_WSTRING=0', ++ 'GTEST_OS_LINUX=1', ++ 'GTEST_OS_LINUX_ANDROID=1', ++ ], ++ }], ++ ], ++ }, ++ 'all_dependent_settings': { ++ 'defines': [ ++ '<@(gtest_defines)', ++ ], ++ 'link_settings': { ++ 'libraries': [ ++ '-lgmock -lgtest', ++ ], ++ }, ++ }, ++ }, { ++ 'type': 'static_library', ++ 'variables': { ++ 'gtest_defines': [ ++ 'GTEST_LANG_CXX11=1', ++ 'GTEST_HAS_TR1_TUPLE=0', # disable tr1 tuple in favor of C++11 tuple. ++ ], ++ 'gtest_dir': '<(third_party_dir)/gtest/googletest', ++ 'gmock_dir': '<(third_party_dir)/gtest/googlemock', ++ 'conditions': [ ++ ['_toolset=="target" and target_platform=="Android"', { ++ 'gtest_defines': [ ++ 'GTEST_HAS_RTTI=0', # Android NDKr7 requires this. ++ 'GTEST_HAS_CLONE=0', ++ 'GTEST_HAS_GLOBAL_WSTRING=0', ++ 'GTEST_HAS_POSIX_RE=0', ++ 'GTEST_HAS_STD_WSTRING=0', ++ 'GTEST_OS_LINUX=1', ++ 'GTEST_OS_LINUX_ANDROID=1', ++ ], ++ }], ++ ], ++ }, ++ 'sources': [ ++ '<(gmock_dir)/src/gmock-cardinalities.cc', ++ '<(gmock_dir)/src/gmock-internal-utils.cc', ++ '<(gmock_dir)/src/gmock-matchers.cc', ++ '<(gmock_dir)/src/gmock-spec-builders.cc', ++ '<(gmock_dir)/src/gmock.cc', ++ '<(gtest_dir)/src/gtest-death-test.cc', ++ '<(gtest_dir)/src/gtest-filepath.cc', ++ '<(gtest_dir)/src/gtest-port.cc', ++ '<(gtest_dir)/src/gtest-printers.cc', ++ '<(gtest_dir)/src/gtest-test-part.cc', ++ '<(gtest_dir)/src/gtest-typed-test.cc', ++ '<(gtest_dir)/src/gtest.cc', ++ ], ++ 'include_dirs': [ ++ '<(gmock_dir)', ++ '<(gmock_dir)/include', ++ '<(gtest_dir)', ++ '<(gtest_dir)/include', ++ ], ++ 'defines': [ ++ '<@(gtest_defines)', ++ ], ++ 'all_dependent_settings': { ++ 'defines': [ ++ '<@(gtest_defines)', ++ ], ++ 'include_dirs': [ ++ '<(gmock_dir)/include', ++ '<(gtest_dir)/include', ++ ], ++ }, ++ 'conditions': [ ++ ['(_toolset=="target" and compiler_target=="clang") or ' ++ '(_toolset=="host" and compiler_host=="clang")', { ++ 'cflags': [ ++ '-Wno-missing-field-initializers', ++ '-Wno-unused-private-field', ++ ], ++ }], + ], + }], + ], diff --git a/app-i18n/mozc/mozc-2.23.2815.102.ebuild b/app-i18n/mozc/mozc-2.23.2815.102.ebuild new file mode 100644 index 000000000000..d24cd9f07a0f --- /dev/null +++ b/app-i18n/mozc/mozc-2.23.2815.102.ebuild @@ -0,0 +1,322 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" +PYTHON_COMPAT=(python2_7) + +inherit elisp-common multiprocessing python-any-r1 toolchain-funcs + +if [[ "${PV}" == "9999" ]]; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/google/mozc" + EGIT_SUBMODULES=(src/third_party/japanese_usage_dictionary) +else + MOZC_GIT_REVISION="afb03ddfe72dde4cf2409863a3bfea160f7a66d8" + JAPANESE_USAGE_DICTIONARY_GIT_REVISION="e5b3425575734c323e1d947009dd74709437b684" + JAPANESE_USAGE_DICTIONARY_DATE="20120416091336" + FCITX_PATCH_VERSION="2.23.2815.102.1" +fi + +DESCRIPTION="Mozc - Japanese input method editor" +HOMEPAGE="https://github.com/google/mozc" +if [[ "${PV}" == "9999" ]]; then + SRC_URI="" +else + SRC_URI="https://github.com/google/${PN}/archive/${MOZC_GIT_REVISION}.tar.gz -> ${P}.tar.gz + https://github.com/hiroyuki-komatsu/japanese-usage-dictionary/archive/${JAPANESE_USAGE_DICTIONARY_GIT_REVISION}.tar.gz -> japanese-usage-dictionary-${JAPANESE_USAGE_DICTIONARY_DATE}.tar.gz + fcitx4? ( https://download.fcitx-im.org/fcitx-mozc/fcitx-mozc-${FCITX_PATCH_VERSION}.patch )" +fi + +# Mozc: BSD +# src/data/dictionary_oss: ipadic, public-domain +# src/data/unicode: unicode +# japanese-usage-dictionary: BSD-2 +LICENSE="BSD BSD-2 ipadic public-domain unicode" +SLOT="0" +KEYWORDS="~amd64 ~ppc64 ~x86" +IUSE="debug emacs fcitx4 +gui +handwriting-tegaki handwriting-tomoe ibus renderer test" +REQUIRED_USE="|| ( emacs fcitx4 ibus ) gui? ( ^^ ( handwriting-tegaki handwriting-tomoe ) ) !gui? ( !handwriting-tegaki !handwriting-tomoe )" + +RDEPEND=">=dev-libs/protobuf-3.0.0:= + emacs? ( virtual/emacs ) + fcitx4? ( app-i18n/fcitx:4 ) + gui? ( + app-i18n/zinnia + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + handwriting-tegaki? ( app-i18n/tegaki-zinnia-japanese ) + handwriting-tomoe? ( app-i18n/zinnia-tomoe ) + ) + ibus? ( + >=app-i18n/ibus-1.4.1 + dev-libs/glib:2 + x11-libs/libxcb + ) + renderer? ( + dev-libs/glib:2 + x11-libs/cairo + x11-libs/gtk+:2 + x11-libs/pango + )" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + dev-util/gyp + dev-util/ninja + virtual/pkgconfig + test? ( + >=dev-cpp/gtest-1.8.0 + dev-libs/jsoncpp + )" + +S="${WORKDIR}/${P}/src" + +SITEFILE="50${PN}-gentoo.el" + +execute() { + einfo "$@" + "$@" +} + +src_unpack() { + if [[ "${PV}" == "9999" ]]; then + git-r3_src_unpack + + if use fcitx4; then + local EGIT_SUBMODULES=() + git-r3_fetch https://github.com/fcitx/mozc refs/heads/fcitx + git-r3_checkout https://github.com/fcitx/mozc "${WORKDIR}/fcitx-mozc" + fi + else + unpack ${P}.tar.gz + mv mozc-${MOZC_GIT_REVISION} ${P} || die + + unpack japanese-usage-dictionary-${JAPANESE_USAGE_DICTIONARY_DATE}.tar.gz + cp -p japanese-usage-dictionary-${JAPANESE_USAGE_DICTIONARY_GIT_REVISION}/usage_dict.txt ${P}/src/third_party/japanese_usage_dictionary || die + fi +} + +src_prepare() { + eapply -p2 "${FILESDIR}/${PN}-2.23.2815.102-system_libraries.patch" + eapply -p2 "${FILESDIR}/${PN}-2.20.2673.102-tests_build.patch" + eapply -p2 "${FILESDIR}/${PN}-2.20.2673.102-tests_skipping.patch" + + if use fcitx4; then + if [[ "${PV}" == "9999" ]]; then + cp -pr "${WORKDIR}/fcitx-mozc/src/unix/fcitx" unix || die + else + eapply -p2 "${DISTDIR}/fcitx-mozc-${FCITX_PATCH_VERSION}.patch" + fi + fi + + eapply_user + + sed \ + -e "s/def GypMain(options, unused_args):/def GypMain(options, gyp_args):/" \ + -e "s/RunOrDie(gyp_command + gyp_options)/RunOrDie(gyp_command + gyp_options + gyp_args)/" \ + -e "s/RunOrDie(\[ninja/&, '-j$(makeopts_jobs)', '-l$(makeopts_loadavg "${MAKEOPTS}" 0)', '-v'/" \ + -i build_mozc.py || die + + sed \ + -e "s/'release_extra_cflags%': \['-O2'\]/'release_extra_cflags%': []/" \ + -e "s/'debug_extra_cflags%': \['-O0', '-g'\]/'debug_extra_cflags%': []/" \ + -i gyp/common.gypi || die + + local ar=($(tc-getAR)) + local cc=($(tc-getCC)) + local cxx=($(tc-getCXX)) + local ld=($(tc-getLD)) + local nm=($(tc-getNM)) + local readelf=($(tc-getPROG READELF readelf)) + + # Use absolute paths. Non-absolute paths are mishandled by GYP. + ar[0]=$(type -P ${ar[0]}) + cc[0]=$(type -P ${cc[0]}) + cxx[0]=$(type -P ${cxx[0]}) + ld[0]=$(type -P ${ld[0]}) + nm[0]=$(type -P ${nm[0]}) + readelf[0]=$(type -P ${readelf[0]}) + + sed \ + -e "s:<!(which ar):${ar[@]}:" \ + -e "s:<!(which clang):${cc[@]}:" \ + -e "s:<!(which clang++):${cxx[@]}:" \ + -e "s:<!(which ld):${ld[@]}:" \ + -e "s:<!(which nm):${nm[@]}:" \ + -e "s:<!(which readelf):${readelf[@]}:" \ + -i gyp/common.gypi || die +} + +src_configure() { + if use debug; then + BUILD_TYPE="Debug" + else + BUILD_TYPE="Release" + fi + + local gyp_arguments=() + + if tc-is-gcc; then + gyp_arguments+=(-D compiler_host=gcc -D compiler_target=gcc) + elif tc-is-clang; then + gyp_arguments+=(-D compiler_host=clang -D compiler_target=clang) + else + gyp_arguments+=(-D compiler_host=unknown -D compiler_target=unknown) + fi + + gyp_arguments+=(-D use_fcitx=$(usex fcitx4 YES NO)) + gyp_arguments+=(-D use_fcitx5=NO) + gyp_arguments+=(-D use_libgtest=$(usex test 1 0)) + gyp_arguments+=(-D use_libibus=$(usex ibus 1 0)) + gyp_arguments+=(-D use_libjsoncpp=$(usex test 1 0)) + gyp_arguments+=(-D use_libprotobuf=1) + gyp_arguments+=(-D use_libzinnia=$(usex gui 1 0)) + gyp_arguments+=(-D enable_gtk_renderer=$(usex renderer 1 0)) + + gyp_arguments+=(-D server_dir="${EPREFIX}/usr/libexec/mozc") + gyp_arguments+=(-D document_dir="${EPREFIX}/usr/libexec/mozc/documents") + + if use handwriting-tegaki; then + gyp_arguments+=(-D zinnia_model_file="${EPREFIX}/usr/share/tegaki/models/zinnia/handwriting-ja.model") + elif use handwriting-tomoe; then + gyp_arguments+=(-D zinnia_model_file="${EPREFIX}/usr/$(get_libdir)/zinnia/model/tomoe/handwriting-ja.model") + fi + + if use ibus; then + gyp_arguments+=(-D ibus_mozc_path="${EPREFIX}/usr/libexec/ibus-engine-mozc") + gyp_arguments+=(-D ibus_mozc_icon_path="${EPREFIX}/usr/share/ibus-mozc/product_icon.png") + fi + + unset AR CC CXX LD NM READELF + + execute "${PYTHON}" build_mozc.py gyp \ + --gypdir="${EPREFIX}/usr/bin" \ + --server_dir="${EPREFIX}/usr/libexec/mozc" \ + --verbose \ + $(usex gui "" --noqt) \ + -- "${gyp_arguments[@]}" || die "Configuration failed" +} + +src_compile() { + local targets=(server/server.gyp:mozc_server) + if use emacs; then + targets+=(unix/emacs/emacs.gyp:mozc_emacs_helper) + fi + if use fcitx4; then + targets+=(unix/fcitx/fcitx.gyp:fcitx-mozc) + fi + if use gui; then + targets+=(gui/gui.gyp:mozc_tool) + fi + if use ibus; then + targets+=(unix/ibus/ibus.gyp:ibus_mozc) + fi + if use renderer; then + targets+=(renderer/renderer.gyp:mozc_renderer) + fi + if use test; then + targets+=(gyp/tests.gyp:unittests) + fi + + execute "${PYTHON}" build_mozc.py build -c ${BUILD_TYPE} -v "${targets[@]}" || die "Building failed" + + if use emacs; then + elisp-compile unix/emacs/*.el + fi +} + +src_test() { + execute "${PYTHON}" build_mozc.py runtests -c ${BUILD_TYPE} --test_jobs 1 || die "Testing failed" +} + +src_install() { + exeinto /usr/libexec/mozc + doexe out_linux/${BUILD_TYPE}/mozc_server + + if use gui; then + doexe out_linux/${BUILD_TYPE}/mozc_tool + fi + + if use renderer; then + doexe out_linux/${BUILD_TYPE}/mozc_renderer + fi + + insinto /usr/libexec/mozc/documents + doins data/installer/credits_en.html + + if use emacs; then + dobin out_linux/${BUILD_TYPE}/mozc_emacs_helper + elisp-install ${PN} unix/emacs/*.{el,elc} + elisp-site-file-install "${FILESDIR}/${SITEFILE}" ${PN} + fi + + if use fcitx4; then + exeinto /usr/$(get_libdir)/fcitx + doexe out_linux/${BUILD_TYPE}/fcitx-mozc.so + + insinto /usr/share/fcitx/addon + doins unix/fcitx/fcitx-mozc.conf + + insinto /usr/share/fcitx/inputmethod + doins unix/fcitx/mozc.conf + + insinto /usr/share/fcitx/mozc/icon + newins data/images/product_icon_32bpp-128.png mozc.png + local image + for image in data/images/unix/ui-*.png; do + newins "${image}" "mozc-${image#data/images/unix/ui-}" + done + + local locale mo_file + for mo_file in out_linux/${BUILD_TYPE}/gen/unix/fcitx/po/*.mo; do + locale="${mo_file##*/}" + locale="${locale%.mo}" + insinto /usr/share/locale/${locale}/LC_MESSAGES + newins "${mo_file}" fcitx-mozc.mo + done + fi + + if use ibus; then + exeinto /usr/libexec + newexe out_linux/${BUILD_TYPE}/ibus_mozc ibus-engine-mozc + + insinto /usr/share/ibus/component + doins out_linux/${BUILD_TYPE}/gen/unix/ibus/mozc.xml + + insinto /usr/share/ibus-mozc + newins data/images/unix/ime_product_icon_opensource-32.png product_icon.png + local image + for image in data/images/unix/ui-*.png; do + newins "${image}" "${image#data/images/unix/ui-}" + done + fi +} + +pkg_postinst() { + if use emacs; then + elisp-site-regen + + elog "USAGE IN EMACS" + elog + elog "mozc-mode is minor mode to input Japanese text using Mozc server." + elog "mozc-mode can be used via LEIM (Library of Emacs Input Method)." + elog + elog "In order to use mozc-mode by default, the following settings should be added to" + elog "Emacs init file (~/.emacs.d/init.el or ~/.emacs):" + elog + elog " (require 'mozc)" + elog " (set-language-environment \"Japanese\")" + elog " (setq default-input-method \"japanese-mozc\")" + elog + elog "With the above settings, typing C-\\ (which is bound to \"toggle-input-method\"" + elog "by default) will enable mozc-mode." + elog + elog "Alternatively, at run time, after loading mozc.el, mozc-mode can be activated by" + elog "calling \"set-input-method\" and entering \"japanese-mozc\"." + fi +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/app-i18n/mozc/mozc-9999.ebuild b/app-i18n/mozc/mozc-9999.ebuild index 96d3d9bd6f2b..e2a00716e051 100644 --- a/app-i18n/mozc/mozc-9999.ebuild +++ b/app-i18n/mozc/mozc-9999.ebuild @@ -98,7 +98,7 @@ src_unpack() { } src_prepare() { - eapply -p2 "${FILESDIR}/${PN}-2.20.2673.102-system_libraries.patch" + eapply -p2 "${FILESDIR}/${PN}-2.23.2815.102-system_libraries.patch" eapply -p2 "${FILESDIR}/${PN}-2.20.2673.102-tests_build.patch" eapply -p2 "${FILESDIR}/${PN}-2.20.2673.102-tests_skipping.patch" |