app-i18n/tagainijisho: Version bump (1.2.0_pre20200118132551_p20200401_p20200401).
authorArfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
Thu, 2 Apr 2020 19:15:57 +0000 (19:15 +0000)
committerMike Gilbert <floppym@gentoo.org>
Thu, 2 Apr 2020 19:25:37 +0000 (15:25 -0400)
Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
app-i18n/tagainijisho/Manifest
app-i18n/tagainijisho/tagainijisho-1.2.0_pre20200118132551_p20200401_p20200401.ebuild [new file with mode: 0644]

index f19d2ff603738dda456814b258c16ee8a135c30f..73397ef9cbc50c051877a74c89039f8ba9ec6187 100644 (file)
@@ -1,4 +1,7 @@
 DIST JMdict-2020-01-01.gz 19493878 BLAKE2B a797cbabffaafdcc967078ebf91ba27280d9a2ba040021fa605e674246ad3837774b2f17a7f4386cec3a2f53afb742fcd9f0bb6784b2014659d8785d59e321cd SHA512 691077030421e909dc171c217e6951edd48b567bf0821c7b68da7a2fc410e3f55d73db1943a9b99128763655d03e175e431590d869032645ae32d69dae5acdc1
+DIST JMdict-2020-04-01.gz 19606278 BLAKE2B aa4f4287dc57ad825df6a8606840d2dd64bf9901cfc546cf25cacda3c838bc0827430bfb948c92183f6f35d356eb97eaf09b743e70740364293dc278168510ba SHA512 ad3907bff000b684af2d78135da0258756757cc715c5827f02a8703e6b9a3f0796fd6e3d24509ec13d84464ec6591e7acb0b9c253724e55a2cb44a564a7e5602
 DIST kanjidic2-2020-01-01.xml.gz 1482692 BLAKE2B f50f45e982842b1fc161551640aa7bb8bc13e858c64576af25101c0bbdcb5d5734ebba86be180434781ba62d37370eae9b53bad7a30eb06bcffb86233f85f3fe SHA512 df0d0827525ff0406b33811f9b0eb24f7ab99288879dc316af8125c24448b9919224d6cc7c20648791dbbe8f29d05d977e77c9316a9aeb69513e29cf2bc40e92
+DIST kanjidic2-2020-04-01.xml.gz 1482869 BLAKE2B 05a8ed51adaf56023b41d6ac956496fda780d14e55d1947dfdec0647a78d4bcb2f5cab730e729ab42a176bed7de7548276d9d9fd668ca2c6e045296ba0ab4f7a SHA512 87d0562bb5d4ae7153be8d684d1bd9b199039417a76289d783e96e09ea52b6741d923dc2f38500a7b2299c9f4cd0f6c8d7b8b7e00da2f102681387ec858ce852
 DIST kanjivg-20160426.xml.gz 3587660 BLAKE2B c85291f3671f0980186e8deb296cfa743322df438d6f09fd69a4f5a30c3db6f097d6ff0a817b88c5c9a2c8d4a40c90b31c0a54cb71d681849b557ee364707c48 SHA512 1d35a8cc5d4947f6bedfc71a2f08e2d1fda832d7a02588c00953e1746812b0e51d4d1c39dff49999b4f65ec850788359f6e0d1465f0e688b1bf753c4c67b3c54
 DIST tagainijisho-1.2.0_pre20191230120610.tar.gz 3635034 BLAKE2B 4f86febae1dfe1de236668bd405294c1e11510b8a942abfcb378d0e46c38cc179d16f5365dbb8322c7ad47cc333a816ce883af5993e0be90f11a43f2710cd45d SHA512 4fa93b7a51415c57f1d81748f15f23e90e4d9a1f91c3f0d96447d08a5bf1bbfc6bc2dbd4083e0b9328e32795f01de94bae834b4e7ff1830cfbe0ec215f20d7f8
+DIST tagainijisho-1.2.0_pre20200118132551.tar.gz 3635265 BLAKE2B f8f831f698bf0ca56c57e8343adee92d3b42842c95fb971c9d8696eaf660ce458d8fd2108ab4568463bed6711c5295d27efc34f2fab512c3d0bc2a11a4f76c1b SHA512 14d6fc5ce891437159ca2b3db53c776420a6d4e305f6753c7ccf5ce773d43fa31f875ee9582c9db1fe05364b18772cec43dd046a6492b6eb45c12b62f7d60407
diff --git a/app-i18n/tagainijisho/tagainijisho-1.2.0_pre20200118132551_p20200401_p20200401.ebuild b/app-i18n/tagainijisho/tagainijisho-1.2.0_pre20200118132551_p20200401_p20200401.ebuild
new file mode 100644 (file)
index 0000000..9d17001
--- /dev/null
@@ -0,0 +1,200 @@
+# Copyright 2014-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit cmake-utils xdg-utils
+
+if [[ "${PV}" == 9999 ]]; then
+       inherit git-r3
+
+       EGIT_REPO_URI="https://github.com/Gnurou/tagainijisho"
+elif [[ "${PV}" == *_pre* ]]; then
+       inherit vcs-snapshot
+
+       TAGAINIJISHO_GIT_REVISION="2d2a3182a70a22bf27b0be42a3e896283513761e"
+fi
+if [[ "${PV}" != 9999 ]]; then
+       TAGAINIJISHO_VERSION="${PV%_p*_p*}"
+       JMDICT_DATE="${PV#${TAGAINIJISHO_VERSION}_p}"
+       JMDICT_DATE="${JMDICT_DATE%_p*}"
+       JMDICT_DATE="${JMDICT_DATE:0:4}-${JMDICT_DATE:4:2}-${JMDICT_DATE:6}"
+       KANJIDIC2_DATE="${PV#${TAGAINIJISHO_VERSION}_p*_p}"
+       KANJIDIC2_DATE="${KANJIDIC2_DATE:0:4}-${KANJIDIC2_DATE:4:2}-${KANJIDIC2_DATE:6}"
+fi
+if [[ "${PV}" == 9999 || "${PV}" == *_pre* ]]; then
+       KANJIVG_VERSION="20160426"
+fi
+
+DESCRIPTION="Open-source Japanese dictionary and kanji lookup tool"
+HOMEPAGE="https://www.tagaini.net/ https://github.com/Gnurou/tagainijisho"
+if [[ "${PV}" == 9999 ]]; then
+       SRC_URI=""
+elif [[ "${PV}" == *_pre* ]]; then
+       SRC_URI="https://github.com/Gnurou/${PN}/archive/${TAGAINIJISHO_GIT_REVISION}.tar.gz -> ${PN}-${TAGAINIJISHO_VERSION}.tar.gz"
+else
+       SRC_URI="https://github.com/Gnurou/${PN}/releases/download/${PV}/${PN}-${TAGAINIJISHO_VERSION}.tar.gz"
+fi
+if [[ "${PV}" != 9999 ]]; then
+       # Upstream: http://ftp.monash.edu.au/pub/nihongo/JMdict.gz
+       SRC_URI+=" https://home.apache.org/~arfrever/distfiles/JMdict-${JMDICT_DATE}.gz"
+       # Upstream: http://www.edrdg.org/kanjidic/kanjidic2.xml.gz
+       SRC_URI+=" https://home.apache.org/~arfrever/distfiles/kanjidic2-${KANJIDIC2_DATE}.xml.gz"
+fi
+if [[ "${PV}" == 9999 || "${PV}" == *_pre* ]]; then
+       SRC_URI+=" https://github.com/KanjiVG/kanjivg/releases/download/r${KANJIVG_VERSION}/kanjivg-${KANJIVG_VERSION}.xml.gz"
+fi
+
+LICENSE="GPL-3+ public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+if [[ "${PV}" == 9999 ]]; then
+       PROPERTIES="live"
+fi
+
+BDEPEND="dev-qt/linguist-tools:5"
+DEPEND=">=dev-db/sqlite-3.12:3
+       dev-qt/qtcore:5
+       dev-qt/qtnetwork:5
+       dev-qt/qtprintsupport:5
+       dev-qt/qtwidgets:5"
+RDEPEND="${DEPEND}"
+
+pkg_langs=(ar cs de es fa fi fr hu id it nb nl pl pt ru sv th tr uk vi zh)
+IUSE+=" ${pkg_langs[@]/#/l10n_}"
+unset pkg_langs
+
+if [[ "${PV}" != 9999 ]]; then
+       S="${WORKDIR}/${PN}-${TAGAINIJISHO_VERSION}"
+fi
+
+src_unpack() {
+       if [[ "${PV}" == 9999 ]]; then
+               git-r3_src_unpack
+       elif [[ "${PV}" == *_pre* ]]; then
+               unpack ${PN}-${TAGAINIJISHO_VERSION}.tar.gz
+               mv ${PN}-${TAGAINIJISHO_GIT_REVISION} ${PN}-${TAGAINIJISHO_VERSION} || die
+       else
+               unpack ${PN}-${TAGAINIJISHO_VERSION}.tar.gz
+       fi
+
+       if [[ "${PV}" == 9999 ]]; then
+               # JMdict.gz and kanjidic2.xml.gz are updated once per day.
+
+               local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
+               local today="$(TZ="UTC" date --date=today "+%Y-%m-%d")"
+               local yesterday="$(TZ="UTC" date --date=yesterday "+%Y-%m-%d")"
+
+               if [[ -f ${distdir}/JMdict-${today}.gz && -s ${distdir}/JMdict-${today}.gz ]]; then
+                       # Use previously downloaded file from today.
+                       JMDICT_DATE="${today}"
+               elif [[ -f ${distdir}/JMdict-${yesterday}.gz && -s ${distdir}/JMdict-${yesterday}.gz ]]; then
+                       # Use previously downloaded file from yesterday. File from today may still be nonexistent.
+                       JMDICT_DATE="${yesterday}"
+               else
+                       # Download file from today or yesterday.
+                       wget http://ftp.monash.edu.au/pub/nihongo/JMdict.gz -O JMdict.gz || die
+                       JMDICT_DATE="$(gzip -cd JMdict.gz | grep -E "^<!-- JMdict created: [[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2} -->$" | sed -e "s/.*\([[:digit:]]\{4\}-[[:digit:]]\{2\}-[[:digit:]]\{2\}\).*/\1/")"
+                       if [[ ${JMDICT_DATE} != ${today} && ${JMDICT_DATE} != ${yesterday} ]]; then
+                               die "Unexpected date in JMdict.gz: '${JMDICT_DATE}'"
+                       fi
+                       (
+                               addwrite "${distdir}"
+                               mv JMdict.gz "${distdir}/JMdict-${JMDICT_DATE}.gz" || die
+                       )
+               fi
+               einfo "Date in JMdict.gz: '${JMDICT_DATE}'"
+
+               if [[ -f ${distdir}/kanjidic2-${today}.xml.gz && -s ${distdir}/kanjidic2-${today}.xml.gz ]]; then
+                       # Use previously downloaded file from today.
+                       KANJIDIC2_DATE="${today}"
+               elif [[ -f ${distdir}/kanjidic2-${yesterday}.xml.gz && -s ${distdir}/kanjidic2-${yesterday}.xml.gz ]]; then
+                       # Use previously downloaded file from yesterday. File from today may still be nonexistent.
+                       KANJIDIC2_DATE="${yesterday}"
+               else
+                       # Download file from today or yesterday.
+                       wget http://www.edrdg.org/kanjidic/kanjidic2.xml.gz -O kanjidic2.xml.gz || die
+                       KANJIDIC2_DATE="$(gzip -cd kanjidic2.xml.gz | grep -E "^<date_of_creation>[[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}</date_of_creation>$" | sed -e "s/.*\([[:digit:]]\{4\}-[[:digit:]]\{2\}-[[:digit:]]\{2\}\).*/\1/")"
+                       if [[ ${KANJIDIC2_DATE} != ${today} && ${KANJIDIC2_DATE} != ${yesterday} ]]; then
+                               die "Unexpected date in kanjidic2.xml.gz: '${KANJIDIC2_DATE}'"
+                       fi
+                       (
+                               addwrite "${distdir}"
+                               mv kanjidic2.xml.gz "${distdir}/kanjidic2-${KANJIDIC2_DATE}.xml.gz" || die
+                       )
+               fi
+               einfo "Date in kanjidic2.xml.gz: '${KANJIDIC2_DATE}'"
+
+               mkdir "${S}/3rdparty" || die
+               gzip -cd "${distdir}/JMdict-${JMDICT_DATE}.gz" > "${S}/3rdparty/JMdict" || die
+               gzip -cd "${distdir}/kanjidic2-${KANJIDIC2_DATE}.xml.gz" > "${S}/3rdparty/kanjidic2.xml" || die
+       else
+               mkdir "${S}/3rdparty" || die
+               pushd "${S}/3rdparty" > /dev/null || die
+
+               unpack JMdict-${JMDICT_DATE}.gz
+               mv JMdict-${JMDICT_DATE} JMdict || die
+
+               unpack kanjidic2-${KANJIDIC2_DATE}.xml.gz
+               mv kanjidic2-${KANJIDIC2_DATE}.xml kanjidic2.xml || die
+
+               popd > /dev/null || die
+       fi
+
+       if [[ "${PV}" == 9999 || "${PV}" == *_pre* ]]; then
+               pushd "${S}/3rdparty" > /dev/null || die
+
+               unpack kanjivg-${KANJIVG_VERSION}.xml.gz
+               mv kanjivg-${KANJIVG_VERSION}.xml kanjivg.xml || die
+
+               popd > /dev/null || die
+       fi
+}
+
+src_configure() {
+       # GUI linguae
+       # en is not optional, and build fails if none other than en is set, so adding ja as non-optional too.
+       local lang use_lang
+       for lang in i18n/*.ts; do
+               lang=${lang#i18n/tagainijisho_}
+               lang=${lang%.ts}
+               case ${lang} in
+                       fa_IR|fi_FI|pt_BR)
+                               # Use generic tags.
+                               use_lang=${lang%%_*}
+                               ;;
+                       *)
+                               use_lang=${lang}
+                               ;;
+               esac
+
+               if [[ ${lang} != en && ${lang} != ja ]] && ! use l10n_${use_lang}; then
+                       rm i18n/tagainijisho_${lang}.ts || die
+               fi
+       done
+
+       # Dictionary linguae
+       # en is not optional here either, but nothing special needs to be done.
+       local dict_langs
+       for lang in $(sed -e 's/;/ /g' -ne '/set(DICT_LANG ".*")/s/.*"\(.*\)".*/\1/p' CMakeLists.txt); do
+               if use l10n_${lang}; then
+                       dict_langs+="${dict_langs:+;}${lang}"
+               fi
+       done
+
+       local mycmakeargs=(
+               -DDICT_LANG="${dict_langs:-;}"
+               -DEMBED_SQLITE=OFF
+       )
+
+       cmake-utils_src_configure
+}
+
+pkg_postinst() {
+       xdg_icon_cache_update
+}
+
+pkg_postrm() {
+       xdg_icon_cache_update
+}