blob: aed316e3b02766e46843ff255229941e5f3aa752 (
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
|
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-python/wxpython/wxpython-2.6.1.0.ebuild,v 1.6 2005/10/17 15:16:37 gustavoz Exp $
inherit python wxwidgets eutils multilib
MY_P="${P/wxpython-/wxPython-src-}"
DESCRIPTION="A blending of the wxWindows C++ class library with Python"
HOMEPAGE="http://www.wxpython.org/"
SRC_URI="mirror://sourceforge/wxpython/${MY_P}.tar.gz"
LICENSE="wxWinLL-3"
SLOT="2.6"
KEYWORDS="alpha ~amd64 arm hppa ia64 ~ppc sparc x86"
IUSE="gtk gtk2 unicode opengl"
RDEPEND=">=dev-lang/python-2.1
=x11-libs/wxGTK-2.6*
!<dev-python/wxpython-2.4.2.4-r1
gtk2? ( >=x11-libs/gtk+-2.0
>=x11-libs/pango-1.2
>=dev-libs/glib-2.0 )
unicode? ( >=x11-libs/gtk+-2.0
>=x11-libs/pango-1.2
>=dev-libs/glib-2.0 )
!gtk2? ( =x11-libs/gtk+-1.2*
=dev-libs/glib-1.2* )
media-libs/libpng
media-libs/jpeg
media-libs/tiff
>=sys-libs/zlib-1.1.4
opengl? ( >=dev-python/pyopengl-2.0.0.44 )
!<dev-python/wxpython-2.4.2.4-r1"
DEPEND="${RDEPEND}
gtk2? ( dev-util/pkgconfig )
sys-apps/sed"
S="${WORKDIR}/${MY_P}/wxPython/"
pkg_setup() {
if use unicode; then
! use gtk2 && die "You must put gtk2 in your USE if you need unicode support"
fi
}
src_unpack() {
unpack ${A}
cd ${S} || die "failed to cd to ${S}"
sed -i "s:cflags.append('-O3'):pass:" config.py || die "sed failed"
epatch ${FILESDIR}/scripts-multiver-${PV}.diff
}
src_compile() {
local mypyconf
export WX_GTK_VER="2.6"
if ! use gtk2; then
need-wxwidgets gtk
elif use unicode; then
need-wxwidgets unicode
else
need-wxwidgets gtk2
fi
mypyconf="${mypyconf} WX_CONFIG=${WX_CONFIG}"
use opengl \
&& mypyconf="${mypyconf} BUILD_GLCANVAS=1" \
|| mypyconf="${mypyconf} BUILD_GLCANVAS=0"
use gtk2 \
&& mypyconf="${mypyconf} WXPORT=gtk2" \
|| mypyconf="${mypyconf} WXPORT=gtk"
use unicode && mypyconf="${mypyconf} UNICODE=1"
python setup.py ${mypyconf} build || die "build failed"
}
src_install() {
python_version
local mypyconf
local site_pkgs=/usr/$(get_libdir)/python${PYVER}/site-packages
dodir ${site_pkgs}
if ! use gtk2; then
need-wxwidgets gtk || die "Emerge wxGTK with wxgtk1 in USE"
elif use unicode; then
need-wxwidgets unicode || die "Emerge wxGTK with unicode in USE"
else
need-wxwidgets gtk2 || die "Emerge wxGTK with gtk2 in USE"
fi
mypyconf="${mypyconf} WX_CONFIG=${WX_CONFIG}"
use opengl \
&& mypyconf="${mypyconf} BUILD_GLCANVAS=1" \
|| mypyconf="${mypyconf} BUILD_GLCANVAS=0"
use gtk2 \
&& mypyconf="${mypyconf} WXPORT=gtk2" \
|| mypyconf="${mypyconf} WXPORT=gtk"
use unicode && mypyconf="${mypyconf} UNICODE=1"
python setup.py ${mypyconf} install --prefix=/usr --root=${D} || die
if [ -e "${site_pkgs}/wx.pth" ] && [ "`grep -o 2.4 ${site_pkgs}/wx.pth`" = "2.4" ]; then
rm ${D}/${site_pkgs}/wx.pth
einfo "Keeping 2.4 as system default wxPython"
else
if use unicode; then
wx_name=wx-${PV:0:3}-gtk2-unicode
elif use gtk2; then
wx_name=wx-${PV:0:3}-gtk2-ansi
else
wx_name=wx-${PV:0:3}-gtk-ansi
fi
einfo "Setting ${wx_name} as system default wxPython"
echo ${wx_name} > ${D}/${site_pkgs}/wx.pth || \
die "Couldn't create wx.pth"
fi
cp ${FILESDIR}/wxpy-config.py ${D}/${site_pkgs}/
#Add ${PV} suffix to all /usr/bin/* programs to avoid clobbering SLOT'd
for filename in ${D}/usr/bin/* ; do
mv ${filename} ${filename}-2.6
done
}
pkg_postinst() {
einfo "Gentoo now uses the Multi-version method for SLOT'ing"
einfo "Developers see this site for instructions on using 2.4 or 2.6"
einfo "with your apps:"
einfo "http://wiki.wxpython.org/index.cgi/MultiVersionInstalls"
einfo "2.4 is still the default wxpython for now, but 2.6 apps should"
einfo "see the above website for selecting the 2.6 lib"
}
|