summaryrefslogtreecommitdiff
blob: e3f31da7bc8c431fd92633675703b8e1225c17e3 (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-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-accessibility/espeak/espeak-1.36.ebuild,v 1.5 2008/04/12 21:51:00 armin76 Exp $

inherit eutils

MY_P="${P}-source"
SRC_URI="mirror://sourceforge/${PN}/${MY_P}.zip"
DESCRIPTION="Speech synthesizer for English and other languages"
HOMEPAGE="http://espeak.sourceforge.net/"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha amd64 ~hppa ~ppc ppc64 sparc x86"
IUSE="portaudio pulseaudio"
DEPEND="portaudio? ( >=media-libs/portaudio-18.1-r5 )
	pulseaudio? ( media-sound/pulseaudio )
	app-arch/unzip"

S=${WORKDIR}/${MY_P}

get_audio() {
	local MY_AUDIO

	MY_AUDIO=none
	if use portaudio; then
		MY_AUDIO=portaudio
	elif use pulseaudio; then
		MY_AUDIO=pulseaudio
	fi
	echo ${MY_AUDIO}
}

pkg_setup() {
	if ! use portaudio; then
		if ! use pulseaudio; then
			ewarn
			ewarn Since portaudio and pulseaudio are not in your use flags, espeak
			ewarn will only bbe able to create wav files.
			ewarn If this is not what you want, press ctrl-c and put either
			ewarn portaudio or pulseaudio in your use flags.
			ebeep
			epause 10
		fi
	fi
}

src_unpack() {
	unpack ${A}

	# portaudio.h is by default the same as portaudio18.h, but use the version
	# 19 API if available
	if use portaudio; then
		if has_version "=media-libs/portaudio-19*" ; then
			mv -f "${S}/src/portaudio19.h" "${S}/src/portaudio.h"
		fi
	fi
}

src_compile() {
	cd src
	emake AUDIO="$(get_audio)" CXXFLAGS="${CXXFLAGS}" all || die "Compilation failed"

	einfo "Fixing byte order of phoneme data files"
	cd "${S}/platforms/big_endian"
	make
	./espeak-phoneme-data "${S}/espeak-data"
	cp -f phondata phonindex phontab "${S}/espeak-data"
}

src_install() {
	cd src
	make DESTDIR="${D}" LIBDIR="/usr/$(get_libdir)" AUDIO="$(get_audio)" install || die "Installation failed"

	cd ..
	dodoc ChangeLog ReadMe
	dohtml -r docs/*
}