133 lines
3.3 KiB
Bash
133 lines
3.3 KiB
Bash
# Copyright 1999-2016 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Id$
|
|
|
|
EAPI=5
|
|
WX_GTK_VER="3.0"
|
|
inherit eutils flag-o-matic multilib java-pkg-opt-2 autotools wxwidgets versionator multiprocessing
|
|
|
|
MY_P=${PN}-src-${PV}
|
|
PATH_P=${PN}-$(get_version_component_range 1-2)
|
|
|
|
DESCRIPTION="Portable 3D Game Development Kit written in C++"
|
|
HOMEPAGE="http://crystal.sourceforge.net/"
|
|
SRC_URI="mirror://sourceforge/crystal/${MY_P}.tar.bz2"
|
|
|
|
LICENSE="LGPL-2.1"
|
|
SLOT="0"
|
|
KEYWORDS="amd64 x86"
|
|
IUSE="3ds alsa bullet cal3d cegui cg doc java jpeg mng ode png speex truetype vorbis wxwidgets"
|
|
|
|
COMMON_DEP="virtual/opengl
|
|
media-libs/openal
|
|
x11-libs/libXt
|
|
x11-libs/libXxf86vm
|
|
sys-libs/zlib
|
|
cg? ( media-gfx/nvidia-cg-toolkit )
|
|
ode? ( <dev-games/ode-0.12 )
|
|
cal3d? ( >=media-libs/cal3d-0.11 )
|
|
jpeg? ( virtual/jpeg:0 )
|
|
bullet? ( sci-physics/bullet )
|
|
vorbis? ( media-libs/libvorbis )
|
|
speex? ( media-libs/libogg
|
|
media-libs/speex )
|
|
truetype? ( >=media-libs/freetype-2.1 )
|
|
alsa? ( media-libs/alsa-lib )
|
|
mng? ( media-libs/libmng )
|
|
png? ( media-libs/libpng:0 )
|
|
wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
|
|
cegui? ( >=dev-games/cegui-0.5.0 )
|
|
3ds? ( media-libs/lib3ds )"
|
|
|
|
RDEPEND="${COMMON_DEP}
|
|
java? ( >=virtual/jre-1.5 )"
|
|
|
|
DEPEND="${COMMON_DEP}
|
|
java? ( >=virtual/jdk-1.5
|
|
dev-java/ant-core )
|
|
dev-util/ftjam
|
|
<dev-lang/swig-3
|
|
virtual/pkgconfig"
|
|
|
|
S=${WORKDIR}/${MY_P}
|
|
|
|
src_prepare() {
|
|
# Installing doc conflict with dodoc on src_install
|
|
# Removing conflicting target
|
|
sed -i \
|
|
-e "/^InstallDoc/d" \
|
|
Jamfile.in \
|
|
docs/Jamfile || die
|
|
epatch \
|
|
"${FILESDIR}"/${P}-gcc47.patch \
|
|
"${FILESDIR}"/${P}-gcc52.patch \
|
|
"${FILESDIR}"/${P}-wxgtk.patch
|
|
use wxwidgets && append-libs -lGL
|
|
AT_M4DIR=mk/autoconf \
|
|
eautoreconf
|
|
}
|
|
|
|
src_configure() {
|
|
if use wxwidgets; then
|
|
need-wxwidgets unicode
|
|
fi
|
|
|
|
econf \
|
|
--disable-as-needed \
|
|
--enable-cpu-specific-optimizations=no \
|
|
--disable-separate-debug-info \
|
|
--without-lcms \
|
|
--without-jackasyn \
|
|
--without-perl \
|
|
$(use_with java) \
|
|
--disable-make-emulation \
|
|
$(use_with bullet) \
|
|
--without-python \
|
|
$(use_with png) \
|
|
$(use_with jpeg) \
|
|
$(use_with mng) \
|
|
$(use_with vorbis) \
|
|
$(use_with speex) \
|
|
$(use_with 3ds) \
|
|
$(use_with ode) \
|
|
$(use_with truetype freetype2) \
|
|
$(use_with cal3d) \
|
|
$(use_with wxwidgets wx) \
|
|
$(use_with cegui CEGUI) \
|
|
$(use_with cg Cg) \
|
|
$(use_with alsa asound)
|
|
#remove unwanted CFLAGS added by ./configure
|
|
sed -i -e '/COMPILER\.CFLAGS\.optimize/d' \
|
|
Jamconfig || die
|
|
}
|
|
|
|
src_compile() {
|
|
jam -q -dx -j$(makeopts_jobs) || die
|
|
}
|
|
|
|
src_install() {
|
|
for installTarget in bin plugin lib include data config bindings
|
|
do
|
|
jam -q -s DESTDIR="${D}" install_${installTarget} || die
|
|
done
|
|
if use doc; then
|
|
jam -q -s DESTDIR="${D}" install_doc || die
|
|
fi
|
|
dodoc README docs/history*
|
|
|
|
echo "CRYSTAL_PLUGIN=/usr/$(get_libdir)/${PATH_P}" > 90crystalspace
|
|
echo "CRYSTAL_CONFIG=/etc/${PATH_P}" >> 90crystalspace
|
|
doenvd 90crystalspace
|
|
}
|
|
|
|
pkg_postinst() {
|
|
elog "Examples coming with this package, need correct light calculation"
|
|
elog "Do the following commands, with the root account, to fix that:"
|
|
# Fill cache directory for the examples
|
|
local dir
|
|
for dir in castle flarge isomap parallaxtest partsys r3dtest stenciltest \
|
|
terrain terrainf;
|
|
do
|
|
elog "cslight -video=null /usr/share/${PATH_P}/data/maps/${dir}"
|
|
done
|
|
}
|