summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-text/stardict')
-rw-r--r--app-text/stardict/Manifest3
-rw-r--r--app-text/stardict/files/stardict-3.0.3-zlib-1.2.5.2.patch39
-rw-r--r--app-text/stardict/metadata.xml23
-rw-r--r--app-text/stardict/stardict-3.0.6.ebuild144
4 files changed, 209 insertions, 0 deletions
diff --git a/app-text/stardict/Manifest b/app-text/stardict/Manifest
new file mode 100644
index 00000000..bf64d7c7
--- /dev/null
+++ b/app-text/stardict/Manifest
@@ -0,0 +1,3 @@
+DIST QQWry.Dat.bz2 4114875 SHA256 3eda90ee8ea13ec88767336b078d2dfe2c971d6a31df60f409d526e3e29a4f83 SHA512 46fd677359a2144429eb9d16131ca6b19db1c086fa93e275aa3d702d3024a65d54064df931d1ed2ba5b0c1f7d9595a284f2a8995d9cd5aac96a45216422dc9ae WHIRLPOOL 456bab65658a8af76160f162fc66868c8a74653a88a1a115e2a20dd90ba9ae8a93b1aa1ee9856cc811d1b1229ca910868ea5db764a119ae9b31cbabf962cab5f
+DIST WyabdcRealPeopleTTS.tar.bz2 84329208 SHA256 96a398eaef3e84f6f23e61683e6439913a4d44055e695dd4a1936f9340d64870 SHA512 1553e62c139ecb005bb04163147d94aa58e4ba7f9ee3172b760c6e4776587c12bf816c42e0131c82195b7c738ec9ee5082f39b974790f5cacd522367919beaa0 WHIRLPOOL 210c121c25c7726cee62c2f2beb3186f0799d68c5537442eda967694f176cbbbc6d09a8c3759de093226e283ae651348ed7173a9f93bbf776325fb656e19720c
+DIST stardict-3.0.6.tar.bz2 9341740 SHA256 6a0a695a8977604e0509a3db1bc6a67e53599b14f29494ba942f21d2c26b82e7 SHA512 81d93324b6e8954af7c20ea6d2a3054bb564d786a21b1cb541c728da7a18a6e7ddb23e595055ccc77e6866bbb8c89fb4f17023e33664761dbe1ee8cd55768658 WHIRLPOOL 9502af310d5eba5ed23457fff9e9f00e2d8453873cece3c20e2c5daf861bd665fc7b9c8e292be5b1d886f9a9fd0d5ad9bd1d8fbd043d221e6637c1c8185f444f
diff --git a/app-text/stardict/files/stardict-3.0.3-zlib-1.2.5.2.patch b/app-text/stardict/files/stardict-3.0.3-zlib-1.2.5.2.patch
new file mode 100644
index 00000000..6a320bd4
--- /dev/null
+++ b/app-text/stardict/files/stardict-3.0.3-zlib-1.2.5.2.patch
@@ -0,0 +1,39 @@
+http://bugs.gentoo.org/401887
+
+diff --git a/lib/src/libcommon.cpp b/lib/src/libcommon.cpp
+index 16770a3..a4299e7 100644
+--- a/lib/src/libcommon.cpp
++++ b/lib/src/libcommon.cpp
+@@ -614,7 +614,7 @@ int unpack_zlib(const char* arch_file_name, const char* out_file_name)
+ return EXIT_FAILURE;
+ }
+ while(true) {
+- len = gzread(get_impl(in), buf, buffer_size);
++ len = gzread((gzFile)get_impl(in), buf, buffer_size);
+ if(len < 0) {
+ g_critical(read_file_err, arch_file_name, "");
+ return EXIT_FAILURE;
+@@ -871,3 +871,8 @@ int remove_recursive(const std::string& path)
+ return res;
+ }
+ }
++
++int gzclose_compat(void * file)
++{
++ return gzclose ((gzFile)file);
++}
+diff --git a/lib/src/libcommon.h b/lib/src/libcommon.h
+index 10f13b4..bdcbf2f 100644
+--- a/lib/src/libcommon.h
++++ b/lib/src/libcommon.h
+@@ -187,8 +187,9 @@ namespace clib {
+ typedef ResourceWrapper<FILE, FILE*, int, fclose> File;
+ }
+
++extern int gzclose_compat(void * file);
+ namespace zip {
+-typedef ResourceWrapper<void, void*, int, gzclose> gzFile;
++typedef ResourceWrapper<void, void*, int, gzclose_compat> gzFile;
+ }
+
+ /* Create a new temporary file. Return file name in file name encoding.
diff --git a/app-text/stardict/metadata.xml b/app-text/stardict/metadata.xml
new file mode 100644
index 00000000..ea6a8b5e
--- /dev/null
+++ b/app-text/stardict/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer><email>maintainer-needed@gentoo.org</email></maintainer>
+ <longdescription>
+ StarDict is an international dictionary Software. It has powerful features
+ such as "Glob-style pattern matching", "Scan selection word," "Fuzzy
+ query," etc. Stardict Version3.0 has developed a lot of new functions, such
+ as Full-text translation, Net Dict.
+ </longdescription>
+ <use>
+ <flag name='espeak'>Enable text to speech synthesizer using espeak
+ engine</flag>
+ <flag name='gnome2'>Enable deprecated gnome2 support</flag>
+ <flag name='gucharmap'>Enable gucharmap dictionary plugin</flag>
+ <flag name='pronounce'>Install WyabdcRealPeopleTTS package (it is just
+ many .wav files) to make StarDict pronounce English words</flag>
+ <flag name='qqwry'>Enable QQWry plugin, which provides information (in
+ Chinese language) about geographical positions, owner, etc. for IP
+ addresses</flag>
+ <flag name='tools'>Build and install the extra stardict tools</flag>
+ </use>
+</pkgmetadata>
diff --git a/app-text/stardict/stardict-3.0.6.ebuild b/app-text/stardict/stardict-3.0.6.ebuild
new file mode 100644
index 00000000..dabfe56f
--- /dev/null
+++ b/app-text/stardict/stardict-3.0.6.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# NOTE: Even though the *.dict.dz are the same as dictd/freedict's files,
+# their indexes seem to be in a different format. So we'll keep them
+# seperate for now.
+
+# NOTE: Festival plugin crashes, bug 188684. Disable for now.
+
+GNOME2_LA_PUNT=yes
+GCONF_DEBUG=no
+
+inherit autotools eutils gnome2
+
+DESCRIPTION="A international dictionary supporting fuzzy and glob style matching"
+HOMEPAGE="http://stardict-4.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}-4/${P}.tar.bz2
+ pronounce? ( http://${PN}-3.googlecode.com/files/WyabdcRealPeopleTTS.tar.bz2 )
+ qqwry? ( mirror://gentoo/QQWry.Dat.bz2 )"
+
+LICENSE="CPL-1.0 GPL-3 LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="espeak gnome gnome2 gucharmap qqwry pronounce spell tools"
+
+RESTRICT="test"
+
+COMMON_DEPEND=">=dev-libs/glib-2.16:2=
+ dev-libs/libsigc++:2=
+ sys-libs/zlib:=
+ >=x11-libs/gtk+-2.20:2=
+ gnome2? (
+ >=gnome-base/libbonobo-2
+ >=gnome-base/libgnome-2
+ >=gnome-base/libgnomeui-2
+ >=gnome-base/gconf-2
+ >=gnome-base/orbit-2
+ )
+ gucharmap? ( >=gnome-extra/gucharmap-2.22.1:0 )
+ spell? ( >=app-text/enchant-1.2 )
+ tools? (
+ dev-libs/libpcre:=
+ dev-libs/libxml2:=
+ virtual/mysql
+ )"
+RDEPEND="${COMMON_DEPEND}
+ espeak? ( >=app-accessibility/espeak-1.29 )"
+DEPEND="${COMMON_DEPEND}
+ gnome? (
+ app-text/docbook-xml-dtd:4.3
+ app-text/gnome-doc-utils
+ dev-libs/libxslt
+ )
+ dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+src_prepare() {
+ if ! use gnome
+ then sed -i \
+ -e 's/GNOME_DOC_INIT/GNOME_DOC_INIT([0.32],[:],[:])/' \
+ -e '/AM_GCONF_SOURCE/d' \
+ -e '/help\/Makefile/d' \
+ dict/configure.ac
+ sed -i \
+ -e 's/ help / /' \
+ dict/Makefile.am
+ sed -i \
+ -e 's/\(libstardict_la_LIBADD = \)/\1 -lgmodule-2.0 /' \
+ dict/src/lib/Makefile.am
+ eautoreconf
+ fi
+ gnome2_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ $(use_enable tools) \
+ --disable-scrollkeeper \
+ $(use_enable spell) \
+ $(use_enable gucharmap) \
+ --disable-festival \
+ $(use_enable espeak) \
+ $(use_enable qqwry) \
+ --disable-updateinfo \
+ $(use_enable gnome2 gnome-support) \
+ --disable-gpe-support \
+ --disable-schemas-install
+}
+
+src_install() {
+ gnome2_src_install
+
+ dodoc dict/doc/{Documentation,FAQ,HACKING,HowToCreateDictionary,Skins,StarDictFileFormat,Translation}
+
+ if use qqwry; then
+ insinto /usr/share/${PN}/data
+ doins ../QQWry.Dat
+ fi
+
+ if use pronounce; then
+ docinto WyabdcRealPeopleTTS
+ dodoc ../WyabdcRealPeopleTTS/{README,readme.txt}
+ rm -f ../WyabdcRealPeopleTTS/{README,readme.txt}
+ insinto /usr/share
+ doins -r ../WyabdcRealPeopleTTS
+ fi
+
+ # noinst_PROGRAMS with ${PN}_ prefix from tools/src/Makefile.am wrt #292773
+ if use tools; then
+ local app
+ local apps="${PN}-editor pydict2dic olddic2newdic oxford2dic directory2dic
+ dictd2dic wquick2dic ec50 directory2treedic treedict2dir jdictionary mova
+ xmlinout soothill kanjidic2 powerword kdic 21tech 21shiji buddhist
+ tabfile cedict edict duden ${PN}-dict-update degb2utf frgb2utf
+ jpgb2utf gmx2utf rucn kingsoft wikipedia wikipediaImage babylon
+ ${PN}2txt ${PN}-verify fest2dict i2e2dict downloadwiki
+ ooo2dict myspell2dic exc2i2e dictbuilder tabfile2sql KangXi Unihan
+ xiaoxuetang-ja wubi ydp2dict wordnet lingvosound2resdb
+ resdatabase2dir dir2resdatabase ${PN}-index sd2foldoc ${PN}-text2bin
+ ${PN}-bin2text ${PN}-repair"
+
+ for app in ${apps}; do
+ newbin tools/src/${app} ${PN}_${app}
+ done
+ fi
+}
+
+pkg_postinst() {
+ elog "Note: festival text to speech (TTS) plugin is not built. To use festival"
+ elog 'TTS plugin, please, emerge festival and enable "Use TTS program." at:'
+ elog '"Preferences -> Dictionary -> Sound" and fill in "Commandline" with:'
+ elog '"echo %s | festival --tts"'
+ elog
+ elog "You will now need to install ${PN} dictionary files. If"
+ elog "you have not, execute the below to get a list of dictionaries:"
+ elog
+ elog " emerge -s ${PN}-"
+
+ gnome2_pkg_postinst
+}