blob: abb687f734956f8586b1157d564cb6ea95a12691 (
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
|
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/playonlinux/playonlinux-4.1.1.ebuild,v 1.1 2012/06/16 19:12:24 pacho Exp $
EAPI="4"
PYTHON_DEPEND="2"
inherit eutils python games
MY_PN="PlayOnLinux"
DESCRIPTION="Set of scripts to easily install and use Windows games and software"
HOMEPAGE="http://playonlinux.com/"
SRC_URI="http://www.playonlinux.com/script_files/${MY_PN}/${PV}/${MY_PN}_${PV}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="winbind"
DEPEND=""
RDEPEND="app-emulation/wine
app-arch/cabextract
app-arch/p7zip
app-arch/unzip
app-crypt/gnupg
net-analyzer/netcat6
dev-python/wxpython:2.8
|| ( media-gfx/imagemagick media-gfx/graphicsmagick[imagemagick] )
net-misc/wget
x11-apps/mesa-progs
x11-terms/xterm
media-gfx/icoutils
winbind? ( net-fs/samba[winbind] ) "
S=${WORKDIR}/${PN}
# TODO:
# Having a real install script and let playonlinux use standard filesystem
# architecture to prevent having everything installed into GAMES_DATADIR
# It will let using LANGUAGES easily
# How to deal with Microsoft Fonts installation asked every time ?
# How to deal with wine version installed ? (have a better mgmt of system one)
# Look at debian pkg: http://packages.debian.org/sid/playonlinux
pkg_setup() {
python_set_active_version 2
python_pkg_setup
games_pkg_setup
}
src_prepare() {
sed -i -e "s/\(Categories=\).*/\1Game;Emulator;/" etc/PlayOnLinux.desktop \
|| die
sed -e 's/PYTHON="python"/PYTHON="python2"/' -i lib/variables playonlinux || die
python_convert_shebangs -r 2 .
}
src_install() {
# all things without exec permissions
insinto "${GAMES_DATADIR}/${PN}"
doins -r resources lang lib etc plugins
# bash/ install
exeinto "${GAMES_DATADIR}/${PN}/bash"
doexe bash/*
#exeinto "${GAMES_DATADIR}/${PN}/bash/terminals"
#doexe bash/terminals/*
exeinto "${GAMES_DATADIR}/${PN}/bash/expert"
doexe bash/expert/*
# python/ install
exeinto "${GAMES_DATADIR}/${PN}/python"
doexe python/*
# sub dir without exec permissions
insinto "${GAMES_DATADIR}/${PN}/python"
doins -r python/lib
# main executable files
exeinto "${GAMES_DATADIR}/${PN}"
doexe ${PN}{,-pkg,-bash,-shell,-url_handler}
# making a script to run playonlinux from ${GAMES_BINDIR}
echo "#!/bin/bash" > ${PN}_launcher
echo "cd \"${GAMES_DATADIR}/${PN}\" && ./${PN} \$*" >> ${PN}_launcher
newgamesbin playonlinux_launcher playonlinux
# making a script to run playonlinux-cmd from ${GAMES_BINDIR}
echo "#!/bin/bash" > ${PN}_cmd_launcher
echo "cd \"${GAMES_DATADIR}/${PN}\" && ./${PN}-cmd \$*" >> ${PN}_cmd_launcher
newgamesbin playonlinux_cmd_launcher playonlinux-cmd
#dodoc CHANGELOG
doicon etc/${PN}.png
domenu etc/${MY_PN}.desktop
prepgamesdirs
if [ -f "/usr/bin/python2.6" ]; then
addwrite /usr/local/bin/
if [ ! -f "/usr/local/bin/python2.6" ]; then
dosym /usr/bin/python2.6 /usr/local/bin/ || die
else
echo "The file already existed"
rm /usr/local/bin/python2.6 || die
dosym /usr/bin/python2.6 /usr/local/bin/ || die
echo "Replaced it"
fi
if [ ! -f "/usr/local/bin/python2.6-config" ]; then
dosym /usr/bin/python-config-2.6 /usr/local/bin/python2.6-config || die
else
echo "The file already existed"
rm /usr/local/bin/python2.6-config || die
dosym /usr/bin/python-config-2.6 /usr/local/bin/python2.6-config || die
echo "Replaced it"
fi
else
ewarn "There is no python2.6, you should emerge python2.6"
fi
}
pkg_postinst() {
games_pkg_postinst
python_mod_optimize "${GAMES_DATADIR}/${PN}"
}
pkg_postrm() {
python_mod_cleanup "${GAMES_DATADIR}/${PN}"
elog "Installed softwares and games with playonlinux have not been removed."
elog "To remove them, you can re-install playonlinux and remove them using it"
elog "or do it manually by removing .PlayOnLinux/ in your home directory."
}
|