Skip to content

Commit

Permalink
rev bump to use wxGTK:3.0 (bug #563968)
Browse files Browse the repository at this point in the history
Package-Manager: portage-2.2.20.1
  • Loading branch information
Michael Sterrett committed Nov 15, 2015
1 parent b0b2bbb commit 381f7ea
Show file tree
Hide file tree
Showing 2 changed files with 180 additions and 0 deletions.
132 changes: 132 additions & 0 deletions dev-games/crystalspace/crystalspace-2.0-r1.ebuild
Original file line number Diff line number Diff line change
@@ -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
}
48 changes: 48 additions & 0 deletions dev-games/crystalspace/files/crystalspace-2.0-wxgtk.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
Description: Fix to build with wxwidgets3.0
Author: Olly Betts <[email protected]>
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, '+')

0 comments on commit 381f7ea

Please sign in to comment.