summaryrefslogtreecommitdiff
blob: 450fa04294406c360421a00488b124cc894b2c95 (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
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-python/cgkit/cgkit-2.0.0_alpha8.ebuild,v 1.4 2009/08/16 20:42:09 arfrever Exp $

inherit distutils flag-o-matic

MY_P=${P/_/}
DESCRIPTION="Python library for creating 3D images"
SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
HOMEPAGE="http://cgkit.sourceforge.net"
RDEPEND="dev-lang/python
	dev-python/pyrex
	dev-libs/boost
	dev-python/pyprotocols
	dev-python/pyopengl
	dev-python/pygame
	dev-python/imaging
	3ds? ( media-libs/lib3ds )"
DEPEND="${RDEPEND}
	dev-util/scons"

SLOT="0"
LICENSE="LGPL-2.1 MPL-1.1 GPL-2"
KEYWORDS="~amd64 ~ppc x86"
IUSE="3ds"

S=${WORKDIR}/${MY_P}

src_unpack() {
	unpack ${A}
	cd "${S}"

	sed -i -e "s/fPIC/fPIC\",\"${CFLAGS// /\",\"}/" supportlib/SConstruct
	cp config_template.cfg config.cfg
	echo 'LIBS += ["GL", "GLU", "glut"]' >> config.cfg
	if use 3ds; then
		echo 'LIB3DS_AVAILABLE = True' >> config.cfg
	fi

	# Ogre viewer is no longer maintained by upstream
	# bug 210731
	#if use ogre; then
	#	echo 'OGRE_AVAILABLE = True' >> config.cfg
	#	echo 'INC_DIRS += ["/usr/include/OGRE"]' >> config.cfg
	#	echo 'MACROS += [("EXT_HASH", None),("GCC_3_1",None)]' >> config.cfg
	#	sed -i -e "s/#include <Math.h>//" wrappers/ogre/OgreCore.h
	#fi

	sed -i -e "s:INC_DIRS = \[\]:INC_DIRS = \['/usr/include'\]:" "${S}"/setup.py

	sed -i -e "160s/as/as_/;168s/as/as_/" cgkit/flockofbirds.py
}

src_compile() {
	cd "${S}"/supportlib
	scons ${MAKEOPTS}
	cd "${S}"
	distutils_src_compile
}

src_test() {
	cd unittests
	# Remove failing tests due to non-existing files
	rm test_maimport.py test_mayaascii.py test_mayabinary.py test_ri.py \
		test_slparams.py
	PYTHONPATH=$(ls -d ../build/lib*) ${python} all.py || die "tests failed"
}