blob: 06e8eef6c7e0368c5448e19febb66b5306ac9db9 (
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
PYTHON_COMPAT=( python2_7 )
inherit eutils python-single-r1 games
DESCRIPTION="A suite of educational games for young children"
HOMEPAGE="http://childsplay.sourceforge.net/"
PLUGINS_VERSION="0.90"
PLUGINS_LFC_VERSION="0.90"
SRC_URI="mirror://sourceforge/childsplay/${P}.tgz
mirror://sourceforge/childsplay/${PN}_plugins-${PLUGINS_VERSION}.tgz
mirror://sourceforge/childsplay/${PN}_plugins_lfc-${PLUGINS_LFC_VERSION}.tgz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
DEPEND="${PYTHON_DEPS}
dev-python/pygame[${PYTHON_USEDEP}]
media-libs/sdl-image[gif,jpeg,png]
media-libs/sdl-ttf
media-libs/sdl-mixer[vorbis]
media-libs/libogg"
RDEPEND="${DEPEND}"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
pkg_setup() {
python-single-r1_pkg_setup
games_pkg_setup
}
src_prepare() {
local DIR
# Copy the plugins into the main package.
mv ../${PN}_plugins-${PLUGINS_VERSION}/Data/AlphabetSounds Data || die
mv ../${PN}_plugins-${PLUGINS_VERSION}/add-score.py . || die
for DIR in ${PN}_plugins-${PLUGINS_VERSION} ${PN}_plugins_lfc-${PLUGINS_LFC_VERSION}; do
mv ../${DIR}/Data/*.icon.png Data/icons || die
cp -r ../${DIR}/lib/* lib || die
mv ../${DIR}/assetml/${PN}/* assetml/${PN} || die
rm -rf ../${DIR}
done
gunzip man/childsplay.6.gz
epatch "${FILESDIR}"/${P}-gentoo.patch
python_fix_shebang .
}
src_install() {
local fn
# The following variables are based on Childsplay's INSTALL.sh
_LOCALEDIR=/usr/share/locale
_ASSETMLDIR=/usr/share/assetml
_SCOREDIR=${GAMES_STATEDIR}
_SCOREFILE=${_SCOREDIR}/childsplay.score
_CPDIR=$(games_get_libdir)/childsplay
_SHAREDIR=${GAMES_DATADIR}/childsplay
_LIBDIR=${_CPDIR}/lib
_MODULESDIR=${_LIBDIR}
_SHARELIBDATADIR=${_SHAREDIR}/lib
_SHAREDATADIR=${_SHAREDIR}/Data
_RCDIR=${_SHARELIBDATADIR}/ConfigData
_HOME_DIR_NAME=.childsplay
_CHILDSPLAYRC=childsplayrc
dodir \
"${_CPDIR}" \
"${_LIBDIR}" \
"${_SHAREDIR}" \
"${_SHARELIBDATADIR}" \
"${_SCOREDIR}" \
"${_LOCALEDIR}" \
"${_ASSETMLDIR}"
# create BASEPATH.py
cat >BASEPATH.py <<EOF
## Automated file--please do not edit
LOCALEDIR="${_LOCALEDIR}"
ASSETMLDIR="${_ASSETMLDIR}"
SCOREDIR="${_SCOREDIR}"
SCOREFILE="${_SCOREFILE}"
CPDIR="${_CPDIR}"
SHAREDIR="${_SHAREDIR}"
LIBDIR="${_LIBDIR}"
MODULESDIR="${_MODULESDIR}"
SHARELIBDATADIR="${_SHARELIBDATADIR}"
SHAREDATADIR="${_SHAREDATADIR}"
RCDIR="${_RCDIR}"
HOME_DIR_NAME="${_HOME_DIR_NAME}"
CHILDSPLAYRC="${_CHILDSPLAYRC}"
EOF
# copy software and data
cp -r *.py "${D}/${_CPDIR}" || die "cp failed"
cp -r Data "${D}/${_SHAREDIR}" || die "cp failed"
rm "${D}/${_SHAREDIR}/Data/childsplay.score" # this copy won't be used
for fn in $(ls lib); do
if [[ -d lib/${fn} ]] ; then
cp -r lib/${fn} "${D}/${_SHARELIBDATADIR}" || die
else
cp lib/${fn} "${D}/${_LIBDIR}" || die
fi
done
if [[ ${LINGUAS+set} ]]; then
for lang in $LINGUAS; do
[[ -d locale/$lang ]] && cp -r locale/$lang "${D}/${_LOCALEDIR}"
done
else
cp -r locale/* "${D}/${_LOCALEDIR}" || die
fi
cp -r assetml/* "${D}/${_ASSETMLDIR}" || die
# initialize the score file
cp Data/childsplay.score "${D}/${_SCOREFILE}" || die
SCORE_GAMES="Packid,Numbers,Soundmemory,Fallingletters,Findsound,Findsound2,Billiard"
${PYTHON} add-score.py "${D}/${_SCOREDIR}" $SCORE_GAMES
# translate for the letters game
${PYTHON} letters-trans.py "${D}/${_ASSETMLDIR}" << EOF
Q
EOF
doman man/childsplay.6
dodoc doc/README* doc/Changelog doc/copyright
# Make a launcher.
dogamesbin "${FILESDIR}"/childsplay
sed -i \
-e "s:GENTOO_DIR:${_CPDIR}:" \
-e "s:python:${PYTHON}:" \
"${D}${GAMES_BINDIR}"/childsplay \
|| die "sed failed"
python_optimize "${D}${_CPDIR}"
newicon assetml/childsplay/childsplay-images/chpl-icon-48.png ${PN}.png
make_desktop_entry childsplay Childsplay
prepgamesdirs
fperms g+w "${_SCOREFILE}"
}
|