diff options
Diffstat (limited to 'dev-games')
-rw-r--r-- | dev-games/crystalspace/crystalspace-2.0-r1.ebuild | 132 | ||||
-rw-r--r-- | dev-games/crystalspace/files/crystalspace-2.0-wxgtk.patch | 48 |
2 files changed, 180 insertions, 0 deletions
diff --git a/dev-games/crystalspace/crystalspace-2.0-r1.ebuild b/dev-games/crystalspace/crystalspace-2.0-r1.ebuild new file mode 100644 index 000000000000..2c0de56e9b8f --- /dev/null +++ b/dev-games/crystalspace/crystalspace-2.0-r1.ebuild @@ -0,0 +1,132 @@ +# Copyright 1999-2015 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 ) + 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 + 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}-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 +} diff --git a/dev-games/crystalspace/files/crystalspace-2.0-wxgtk.patch b/dev-games/crystalspace/files/crystalspace-2.0-wxgtk.patch new file mode 100644 index 000000000000..740f22eaa24a --- /dev/null +++ b/dev-games/crystalspace/files/crystalspace-2.0-wxgtk.patch @@ -0,0 +1,48 @@ +Description: Fix to build with wxwidgets3.0 +Author: Olly Betts <olly@survex.com> +Last-Update: 2014-06-14 + +--- crystalspace-2.0+dfsg.orig/plugins/video/canvas/wxgl/GLWXDriver2D.cpp ++++ crystalspace-2.0+dfsg/plugins/video/canvas/wxgl/GLWXDriver2D.cpp +@@ -292,7 +292,7 @@ bool csGraphics2DWX::Open() + { + Display* dpy = (Display*) wxGetDisplay (); + GLXContext active_GLContext = glXGetCurrentContext(); +- XVisualInfo *xvis = (XVisualInfo*)theCanvas->m_vi; ++ XVisualInfo *xvis = theCanvas->GetXVisualInfo(); + + Report (CS_REPORTER_SEVERITY_NOTIFY, "Video driver GL/X version %s", + glXIsDirect (dpy, active_GLContext) ? "(direct renderer)" : +@@ -705,8 +705,8 @@ static bool wxCodeToCSCode(int wxkey, ut + MAP (MENU, CONTEXT, CONTEXT) + MAP (PAUSE, PAUSE, PAUSE) + MAP (CAPITAL, CAPSLOCK, CAPSLOCK) +- MAP (PRIOR, PGUP, PGUP) +- MAP (NEXT, PGDN, PGDN) ++ MAP (PAGEUP, PGUP, PGUP) ++ MAP (PAGEDOWN, PGDN, PGDN) + MAP (END, END, END) + MAP (HOME, HOME, HOME) + MAP (LEFT, LEFT, LEFT) +@@ -722,10 +722,7 @@ static bool wxCodeToCSCode(int wxkey, ut + MAPC (NUMPAD2, PAD2, '2') + MAP (NUMPAD_DOWN, PAD2, DOWN) + MAPC (NUMPAD3, PAD3, '3') +- MAP (NUMPAD_NEXT, PAD3, PGDN) +-#if wxVERSION_NUMBER < 2700 + MAP (NUMPAD_PAGEDOWN, PAD3, PGDN) +-#endif + MAPC (NUMPAD4, PAD4, '4') + MAP (NUMPAD_LEFT, PAD4, LEFT) + MAPC (NUMPAD5, PAD5, '5') +@@ -736,10 +733,7 @@ static bool wxCodeToCSCode(int wxkey, ut + MAPC (NUMPAD8, PAD8, '8') + MAP (NUMPAD_UP, PAD8, UP) + MAPC (NUMPAD9, PAD9, '9') +- MAP (NUMPAD_PRIOR, PAD9, PGUP) +-#if wxVERSION_NUMBER < 2700 + MAP (NUMPAD_PAGEUP, PAD9, PGUP) +-#endif + MAPC (MULTIPLY, PADMULT, '*') + MAPC (NUMPAD_MULTIPLY,PADMULT, '*') + MAPC (ADD, PADPLUS, '+') |