aboutsummaryrefslogtreecommitdiff
blob: 796019f21d4f563bb02a22073e3c496aa3e390c8 (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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# Copyright 2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

# @ECLASS: rhvoice-voice.eclass
# @MAINTAINER:
# Anna <cyber+gentoo@sysrq.in>
# @AUTHOR:
# Anna <cyber+gentoo@sysrq.in>
# @SUPPORTED_EAPIS: 8
# @BLURB: eclass for packaging RHVoice voices
# @DESCRIPTION:
# An eclass streamlining the construction of ebuilds for the officially
# supported RHVoice voices.
#
# Look at "copyright" files to identify voice's license.
# @EXAMPLE:
#
# Most ebuilds will look like this:
#
# @CODE
#
# EAPI=8
#
# RHVOICE_VOICE="arina"
# RHVOICE_VOICE_REPO="arina-rus"
# RHVOICE_VOICE_L10N="ru"
# inherit rhvoice-voice
#
# LICENSE="CC-BY-NC-ND-4.0"
#
# @CODE

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

if [[ ! ${_RHVOICE_VOICE_ECLASS} ]]; then
_RHVOICE_VOICE_ECLASS=1

# @ECLASS_VARIABLE: RHVOICE_VOICE
# @PRE_INHERIT
# @REQUIRED
# @DESCRIPTION:
# Voice name (see "data/voices" in RHVoice source code).

# @ECLASS_VARIABLE: RHVOICE_VOICE_L10N
# @PRE_INHERIT
# @REQUIRED
# @DESCRIPTION:
# Language name in L10N USE_EXPAND syntax.

if [[ ! ${RHVOICE_VOICE} ]]; then
	die "RHVOICE_VOICE must be set before inherit"
fi

if [[ ! ${RHVOICE_VOICE_L10N} ]]; then
	die "RHVOICE_VOICE_L10N must be set before inherit"
fi

# @ECLASS_VARIABLE: RHVOICE_VOICE_REPO
# @PRE_INHERIT
# @DESCRIPTION:
# Repository name under the RHVoice GitHub organization.
: "${RHVOICE_VOICE_REPO:=${RHVOICE_VOICE:?}}"

# @ECLASS_VARIABLE: RHVOICE_VOICE_TAG
# @PRE_INHERIT
# @DESCRIPTION:
# Tag name for generating SRC_URI.
: "${RHVOICE_VOICE_TAG:=${PV}}"

# @ECLASS_VARIABLE: RHVOICE_VOICE_DISTFILE
# @PRE_INHERIT
# @DESCRIPTION:
# Distfile name for generating SRC_URI, should be a ZIP archive.
: "${RHVOICE_VOICE_DISTFILE:=data.zip}"

DESCRIPTION="RHVoice voice: ${RHVOICE_VOICE:?} (${RHVOICE_VOICE_L10N:?})"
HOMEPAGE="https://github.com/RHVoice/${RHVOICE_VOICE_REPO:?}"
SRC_URI="https://github.com/RHVoice/${RHVOICE_VOICE_REPO}/releases/download/${RHVOICE_VOICE_TAG}/${RHVOICE_VOICE_DISTFILE} -> ${P}.zip"
S="${WORKDIR}"

KEYWORDS="~amd64 ~x86"
SLOT="0"

RDEPEND="app-accessibility/rhvoice-core[l10n_${RHVOICE_VOICE_L10N}]"
BDEPEND="app-arch/unzip"

# @FUNCTION: rhvoice-voice_src_install
# @DESCRIPTION:
# Install the voice.
rhvoice-voice_src_install() {
	debug-print-function ${FUNCNAME} "${@}"

	insinto /usr/share/RHVoice/voices/${RHVOICE_VOICE:?}
	doins -r .
}

fi

EXPORT_FUNCTIONS src_install