123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234 |
- # Copyright 1999-2017 Gentoo Foundation
- # Distributed under the terms of the GNU General Public License v2
- EAPI=6
- # 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.
- GNOME2_LA_PUNT=yes
- PYTHON_COMPAT=( python2_7 )
- inherit autotools flag-o-matic gnome2 python-single-r1
- DESCRIPTION="A international dictionary supporting fuzzy and glob style matching"
- HOMEPAGE="http://stardict-4.sourceforge.net/
- https://github.com/huzheng001/stardict-3"
- SRC_URI="https://dev.gentoo.org/~bircoph/distfiles/${P}.tar.xz
- pronounce? ( https://${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="advertisement cal debug dictdotcn espeak examples flite
- fortune gnome gucharmap +htmlparse info man perl +powerwordparse
- pronounce python qqwry spell tools updateinfo +wikiparse +wordnet
- +xdxfparse youdaodict"
- RESTRICT="test"
- COMMON_DEPEND="
- >=dev-libs/glib-2.32:2
- dev-libs/libsigc++:2=
- media-libs/libcanberra[gtk3]
- sys-libs/zlib:=
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3
- x11-libs/libX11
- x11-libs/pango
- espeak? ( >=app-accessibility/espeak-1.29 )
- flite? ( app-accessibility/flite )
- gnome? (
- gnome-base/gconf:2
- gnome-base/libbonobo
- gnome-base/libgnome
- gnome-base/orbit:2
- )
- gucharmap? ( gnome-extra/gucharmap:0= )
- spell? ( >=app-text/enchant-1.2 )
- tools? (
- dev-libs/expat
- dev-libs/libpcre:=
- dev-libs/libxml2:=
- virtual/mysql
- python? ( ${PYTHON_DEPS} )
- )
- "
- RDEPEND="${COMMON_DEPEND}
- info? ( sys-apps/texinfo )
- fortune? ( games-misc/fortune-mod )
- perl? ( dev-lang/perl )
- "
- DEPEND="${COMMON_DEPEND}
- app-text/docbook-xml-dtd:4.3
- app-text/gnome-doc-utils
- dev-libs/libxslt
- dev-util/intltool
- sys-devel/gettext
- virtual/pkgconfig
- "
- REQUIRED_USE="tools? ( python? ( ${PYTHON_REQUIRED_USE} ) )"
- # docs are messy, installed manually below
- DOCS=""
- PATCHES=( "${FILESDIR}/${P}-tabfile.patch" )
- src_prepare() {
- # From Fedora
- # Remove unneeded sigc++ header files to make it sure
- # that we are using system-wide libsigc++
- # (and these does not work on gcc43)
- find dict/src/sigc++* -name \*.h -or -name \*.cc | xargs rm -f || die
- # libsigc++ started to require c++11 support
- append-cxxflags "-std=c++11"
- if use python; then
- local f
- # force python shebangs handlable by python_doscript
- for f in tools/src/*.py; do
- [[ $(head -n1 "${f}") =~ ^#! ]] || continue
- sed -i '1 s|.*|#!/usr/bin/python|' tools/src/*.py || die
- done
- # script contains UTF-8 symbols, but has no ecoding set
- sed -i '1 a # -*- coding: utf-8 -*-' tools/src/uyghur2dict.py || die
- fi
- # bug 604318
- if ! use gnome; then
- sed -i '/AM_GCONF_SOURCE_2/d' dict/configure.ac || die
- fi
- eapply_user
- eautoreconf
- gnome2_src_prepare
- }
- src_configure() {
- # Hint: EXTRA_ECONF="--enable-gnome-support" and manual install of
- # libbonobo-2, libgnome-2, libgnomeui-2, gconf-2 and orbit-2 will
- # give you GNOME 2.x support, that is otherwise considered deprecated
- # because of the deep GNOME 2.x core library dependencies
- # Festival plugin crashes, bug 188684. Disable for now.
- gnome2_src_configure \
- --disable-darwin-support \
- --disable-festival \
- --disable-gpe-support \
- --disable-maemo-support \
- --disable-schemas-install \
- --disable-scrollkeeper \
- $(use_enable advertisement) \
- $(use_enable cal) \
- $(use_enable debug) \
- $(use_enable dictdotcn) \
- $(use_enable espeak) \
- $(use_enable flite) \
- $(use_enable fortune) \
- $(use_enable gnome gnome-support) \
- $(use_enable gucharmap) \
- $(use_enable htmlparse) \
- $(use_enable info) \
- $(use_enable man) \
- $(use_enable powerwordparse) \
- $(use_enable qqwry) \
- $(use_enable spell) \
- $(use_enable tools) \
- $(use_enable updateinfo) \
- $(use_enable wikiparse) \
- $(use_enable wordnet) \
- $(use_enable xdxfparse) \
- $(use_enable youdaodict)
- }
- src_install() {
- gnome2_src_install
- dodoc AUTHORS ChangeLog README
- docinto dict
- dodoc dict/{AUTHORS,ChangeLog,README,TODO}
- dodoc dict/doc/{Documentation,FAQ,HowToCreateDictionary,Skins,StarDictFileFormat,TextualDictionaryFileFormat,Translation}
- dodoc -r dict/doc/wiki
- docinto lib
- dodoc lib/{AUTHORS,ChangeLog,README}
- if use examples; then
- insinto /usr/share/doc/${PF}/dict
- doins dict/doc/stardict-textual-dict*
- fi
- 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
- # and additional scripts from tools dir
- 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 kingsoft2 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"
- use perl && apps+=" dicts-dump.pl ncce2stardict.pl parse-oxford.perl"
- use python && apps+=" hanzim2dict.py jm2stardict.py lingea-trd-decoder.py
- makevietdict.py uyghur2dict.py"
- for app in ${apps}; do
- if [[ "${app}" =~ ^${PN} ]]; then
- dobin "tools/src/${app}"
- else
- newbin "tools/src/${app}" "${PN}_${app}"
- fi
- done
- use python && python_doscript "${ED}"usr/bin/*.py
- docinto tools
- dodoc tools/{AUTHORS,ChangeLog,README}
- if use examples; then
- insinto /usr/share/doc/${PF}/tools
- doins tools/src/{dictbuilder.{example,readme},example.ifo,example_treedict.tar.bz2}
- fi
- fi
- }
- pkg_postinst() {
- elog
- 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 " emerge -s ${PN}-"
- elog
- elog "Additionally you may install any stardict dictionary from the net"
- elog "by unpacking it to:"
- elog " /usr/share/stardict/dic"
- elog
- gnome2_pkg_postinst
- }
|