diff options
Diffstat (limited to 'media-libs/panda3d/panda3d-1.8.0.ebuild')
-rw-r--r-- | media-libs/panda3d/panda3d-1.8.0.ebuild | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/media-libs/panda3d/panda3d-1.8.0.ebuild b/media-libs/panda3d/panda3d-1.8.0.ebuild new file mode 100644 index 0000000..5bb6e7d --- /dev/null +++ b/media-libs/panda3d/panda3d-1.8.0.ebuild @@ -0,0 +1,128 @@ +# Copyright 2008-2012 Funtoo Technologies +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +inherit base eutils python + +DESCRIPTION="A 3D game engine and framework for Python and C++." +HOMEPAGE="http://www.panda3d.org" +SRC_URI="http://www.panda3d.org/download/${P}/${P}.tar.gz" + +LICENSE="Panda3D" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="artoolkit bullet doc eigen ffmpeg fftw fmod jpeg openal opencv png python ssl tiff truetype zlib" + +DEPEND=" + artoolkit? ( media-libs/artoolkit ) + bullet? ( sci-physics/bullet ) + doc? ( dev-python/epydoc ) + eigen? ( dev-cpp/eigen:3 ) + ffmpeg? ( media-video/ffmpeg ) + fftw? ( sci-libs/fftw:2.1 ) + fmod? ( media-libs/fmod ) + jpeg? ( virtual/jpeg ) + openal? ( media-libs/openal ) + opencv? ( media-libs/opencv ) + png? ( media-libs/libpng ) + python? ( dev-lang/python ) + ssl? ( dev-libs/openssl ) + tiff? ( media-libs/tiff ) + truetype? ( media-libs/freetype ) + zlib? ( sys-libs/zlib ) + virtual/opengl" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}/${P}-pkgconfig.patch" +) + +use_no() { + local UWORD="$2" + if [ -z "${UWORD}" ]; then + UWORD="$1" + fi + + if use $1 ; then + echo "--use-${UWORD}" + else + echo "--no-${UWORD}" + fi +} + +src_compile() { + ./makepanda/makepanda.py \ + $(use_no artoolkit) \ + $(use_no bullet) \ + $(use_no eigen) \ + $(use_no ffmpeg) \ + $(use_no fftw) \ + $(use_no fmod) \ + $(use_no jpeg) \ + $(use_no png) \ + $(use_no openal) \ + $(use_no opencv) \ + $(use_no python) \ + $(use_no ssl openssl) \ + $(use_no tiff) \ + $(use_no truetype freetype) \ + $(use_no zlib) \ + --no-fcollada \ + --no-gles \ + --no-gles2 \ + --no-osmesa \ + --no-ode \ + --no-rocket \ + --no-squish \ + --no-vrpn \ + || die "build failed" +} + +src_install() { + dodir /opt/panda3d + + doenvd "${FILESDIR}"/50panda3d + sed -i -e "s:lib:$(get_libdir):g" \ + "${D}"/etc/env.d/50panda3d \ + || die "libdir patching failed" + + if use doc; then + cp -R "${S}"/samples "${S}"/built + cp -R "${S}"/direct/src "${S}"/built/direct/src + cd "${S}"/built + fi + + if use python ; then + # python installation + dodir $(python_get_sitedir) + cat <<- EOF > "${D}"$(python_get_sitedir)/panda3d.pth + # This document sets up paths for python to access the + # panda3d modules + /opt/panda3d + /opt/panda3d/lib + /opt/panda3d/direct + /opt/panda3d/pandac + /opt/panda3d/built + /opt/panda3d/built/$(get_libdir) + EOF + fi + + cp -R "${S}"/direct/src "${S}"/built/direct/ + cp -R "${S}"/built/* "${D}"/opt/panda3d +} + +pkg_postinst() +{ + elog "Panda3D is installed in /opt/panda3d" + elog + if use doc ; then + elog "Documentation is installed in /opt/panda3d/doc" + elog "Samples are installed in /opt/panda3d/samples" + fi + elog "For C++ compiling, include directory must be set:" + elog "g++ -I/opt/panda3d/include [other flags]" + elog + elog "Tutorials available at http://panda3d.org" +} |