summaryrefslogtreecommitdiff
path: root/eclass/stardict.eclass
blob: 74a93b3f7c56bd2936c72165310aa0cdd71ecda8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

# @ECLASS: stardict.eclass
# @MAINTAINER:
# No maintainer <maintainer-needed@gentoo.org>
# @AUTHOR:
# Alastair Tse <liquidx@gentoo.org>
# @SUPPORTED_EAPIS: 6 7
# @BLURB: Convenience class to do stardict dictionary installations.
# @DESCRIPTION:
# Usage:
#   - Variables to set :
#      * FROM_LANG     -  From this language
#      * TO_LANG       -  To this language
#      * DICT_PREFIX   -  SRC_URI prefix, like "dictd_www.mova.org_"
#	   * DICT_SUFFIX   -  SRC_URI after the prefix.

case ${EAPI:-0} in
	[67]) ;;
	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac

EXPORT_FUNCTIONS src_compile src_install

if [[ -z ${_STARDICT_ECLASS} ]] ; then
_STARDICT_ECLASS=1

RESTRICT="strip"

[ -z "${DICT_SUFFIX}" ] && DICT_SUFFIX=${PN#stardict-[[:lower:]]*-}
[ -z "${DICT_P}" ] && DICT_P=stardict-${DICT_PREFIX}${DICT_SUFFIX}-${PV}

if [ -n "${FROM_LANG}" -a -n "${TO_LANG}" ]; then
	DESCRIPTION="Stardict Dictionary ${FROM_LANG} to ${TO_LANG}"
elif [ -z "${DESCRIPTION}" ]; then
	DESCRIPTION="Another Stardict Dictionary"
fi

HOMEPAGE="http://stardict.sourceforge.net/"
SRC_URI="mirror://sourceforge/stardict/${DICT_P}.tar.bz2"
S="${WORKDIR}"/${DICT_P}

LICENSE="GPL-2"
SLOT="0"
IUSE="+zlib"

DEPEND="
	|| (
		>=app-text/stardict-2.4.2
		app-text/sdcv
		app-text/goldendict
	)
	zlib? (
		app-arch/gzip
		app-text/dictd
	)"

stardict_src_compile() {
	if use zlib; then
		for file in *.idx; do
			[[ -f $file ]] && gzip ${file}
		done
		for file in *.dict; do
			[[ -f $file ]] && dictzip ${file}
		done
	fi
}

stardict_src_install() {
	insinto /usr/share/stardict/dic
	doins *.dict.dz*
	doins *.idx*
	doins *.ifo
}

fi