also going to make new gentoo ebuild files for portage.
the version in gentoo is 1.0.5 and totally does not work… not even a bit…
right now messing around creating ebuids for 1.4.2 stable and the new 1.5.0
however, I am not a major ebuild maker (I mostly just use them to install general software and install special software manually, however in the case of the panda builds I think it might be very helpful to have a working gentoo ebuild)
if anyone here has an input on specifics for gentoo would be nice…
typically software like this in gentoo would be installed in /opt so p3d would be /opt/panda3d and the we set the lib dirs to /opt/panda3d/lib and add the bin dir to the path.
Might also be nice to have a setup script to handle some of the more mundane tasks involved in setting this up.
to use (in case you don’t know)
~# ebuild /usr/local/portage/media-libs/panda3d/panda3d-1.4.2.ebuild digest
If you name the following panda3d-1.4.2.ebuild in media-libs/panda3d and then copy it to panda3d-1.5.0.ebuild it should work the same.
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# 1.4.2 'stable' by joeldg - blog.peoplesdns.com
# $Header: $
inherit eutils python
DESCRIPTION="A 3D framework in C++ with python bindings"
HOMEPAGE="http://panda3d.org"
SRC_URI="http://panda3d.org/download/${P}/${P}.tar.gz"
LICENSE="Panda3D"
SLOT="0"
KEYWORDS="~x86"
IUSE="png jpeg tiff fmod nspr python ssl truetype doc zlib"
DEPEND="doc? ( dev-python/epydoc )
png? ( media-libs/libpng )
jpeg? ( media-libs/jpeg )
tiff? ( media-libs/tiff )
nspr? ( >=dev-libs/nspr-4.4.1-r2 )
fmod? ( =media-libs/fmod-3* )
ssl? ( dev-libs/openssl )
truetype? ( media-libs/freetype )
zlib? ( sys-libs/zlib )
python? ( dev-lang/python )"
pkg_setup() {
ewarn "Please note that python bindings are now"
ewarn "set by the python USE flag to coordinate"
ewarn "with upstream."
}
src_unpack()
{
unpack ${A}
}
src_compile()
{
#
# the everything keyword has checks for your current libs
# and will skip them if not available..
# this also adds support for maya and max models.
#
./makepanda/makepanda.py --everything || 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
python_version
dodir /usr/$(get_libdir)/python${PYVER}/site-packages
cat <<- EOF > ${D}/usr/$(get_libdir)/python${PYVER}/site-packages/panda3d.pth
# This document sets up paths for python to access the
# panda3d modules
/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
use python && touch ${D}/opt/panda3d/built/__init__.py
}
pkg_postinst()
{
elog "Panda3d is installed in /opt/panda3d"
elog
if use doc ; then
elog "Documentation is avaliable in /opt/panda3d/doc"
elog "Samples are avalaible in /opt/panda3d/samples"
fi
elog "For C++ compiling, include directory must be set:"
elog "g++ -I/opt/panda3d/include [other flags]"
if use python ; then
elog
elog "ppython is depricated and panda3d modules are"
elog "now installed as standard python modules."
fi
elog
elog "Tutorials avaliable at http://panda3d.org"
}