summaryrefslogtreecommitdiff
path: root/dev-games/cegui/cegui-0.7.7.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'dev-games/cegui/cegui-0.7.7.ebuild')
-rw-r--r--dev-games/cegui/cegui-0.7.7.ebuild160
1 files changed, 160 insertions, 0 deletions
diff --git a/dev-games/cegui/cegui-0.7.7.ebuild b/dev-games/cegui/cegui-0.7.7.ebuild
new file mode 100644
index 0000000..0946b9f
--- /dev/null
+++ b/dev-games/cegui/cegui-0.7.7.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-games/cegui/cegui-0.7.7.ebuild,v 1.1 2012/07/09 03:14:07 mr_bones_ Exp $
+
+EAPI=4
+inherit eutils
+
+MY_P=CEGUI-${PV}
+MY_D=CEGUI-DOCS-${PV}
+DESCRIPTION="Crazy Eddie's GUI System"
+HOMEPAGE="http://www.cegui.org.uk/"
+SRC_URI="mirror://sourceforge/crayzedsgui/${MY_P}.tar.gz
+ doc? ( mirror://sourceforge/crayzedsgui/${MY_D}.tar.gz )"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 -ppc ~x86"
+IUSE="bidi debug devil doc examples expat freeimage gtk irrlicht lua ogre opengl pcre static-libs tinyxml truetype xerces-c xml zip"
+REQUIRED_USE="|| ( expat tinyxml xerces-c xml )" # bug 362223
+
+RDEPEND="bidi? ( dev-libs/fribidi )
+ devil? ( media-libs/devil )
+ expat? ( dev-libs/expat )
+ freeimage? ( media-libs/freeimage )
+ truetype? ( media-libs/freetype:2 )
+ irrlicht? ( dev-games/irrlicht )
+ lua? (
+ dev-lang/lua
+ dev-lua/toluapp
+ )
+ ogre? ( >=dev-games/ogre-1.7 )
+ opengl? (
+ virtual/opengl
+ virtual/glu
+ media-libs/freeglut
+ media-libs/glew
+ )
+ pcre? ( dev-libs/libpcre )
+ tinyxml? ( dev-libs/tinyxml )
+ xerces-c? ( dev-libs/xerces-c )
+ xml? ( dev-libs/libxml2 )
+ zip? ( sys-libs/zlib[minizip] )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen )"
+
+S=${WORKDIR}/${MY_P}
+S2=${WORKDIR}/${MY_P}_static
+
+src_unpack() {
+ default
+ cp -a "${S}" "${S2}" || die
+}
+
+src_prepare() {
+ # use minizip from zlib rather than local code
+ if use zip ; then
+ sed -i \
+ -e '/CEGUI_BUILD_MINIZIP_RESOURCE_PROVIDER_TRUE/{
+ s:minizip/ioapi.cpp minizip/unzip.cpp::;
+ s:libCEGUIBase@cegui_bsfx@_la-ioapi.lo::;
+ s:libCEGUIBase@cegui_bsfx@_la-unzip.lo::
+ }' \
+ -e '/^ZLIB_LIBS/s:=.*:= -lminizip:' \
+ cegui/src/Makefile.in || die
+ fi
+ rm -rf cegui/src/minizip
+
+ if use examples ; then
+ cp -r Samples Samples.clean
+ rm -f $(find Samples.clean -name 'Makefile*')
+ fi
+}
+
+src_configure() {
+ local myconf=(
+ $(use_enable bidi bidirectional-text)
+ $(use_enable debug)
+ $(use_enable devil)
+ $(use_enable examples samples)
+ $(use_enable expat)
+ $(use_enable truetype freetype)
+ $(use_enable irrlicht irrlicht-renderer)
+ $(use_enable lua lua-module)
+ $(use_enable lua toluacegui)
+ --enable-external-toluapp
+ $(use_enable ogre ogre-renderer)
+ $(use_enable opengl opengl-renderer)
+ --enable-external-glew
+ $(use_enable pcre)
+ $(use_enable tinyxml)
+ --enable-external-tinyxml
+ $(use_enable xerces-c)
+ $(use_enable xml libxml)
+ $(use_enable zip minizip-resource-provider)
+ --enable-null-renderer
+ --enable-stb
+ --enable-tga
+ --disable-corona
+ --disable-dependency-tracking
+ $(use_enable freeimage)
+ --disable-rapidxml
+ --disable-samples
+ --disable-silly
+ $(use_with gtk gtk2)
+ )
+
+ econf \
+ "${myconf[@]}" \
+ --disable-static \
+ --enable-shared
+
+ if use static-libs ; then
+ cd "${S2}" || die
+ econf \
+ "${myconf[@]}" \
+ --enable-static \
+ --disable-shared
+ fi
+
+ # we are doing a double build here cause
+ # the build system does not permit
+ # "--enable-static --enable-shared"
+}
+
+src_compile() {
+ default
+
+ if use static-libs ; then
+ emake -C "${S2}"
+ fi
+}
+
+src_install() {
+ local i
+ default
+
+ if use doc ; then
+ emake html || die
+ dohtml -r doc/doxygen/html/* || die
+ fi
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/Samples
+ doins -r Samples.clean/* || die
+ fi
+
+ if use static-libs ; then
+ find "${S2}" -name "*CEGUI*.a" -exec dolib.a '{}' \;
+
+ # fix/merge .la files
+ for i in `find "${D}" -name "*.la"` ; do
+ sed \
+ -e "s/old_library=''/old_library='$(basename ${i%.la}).a'/" \
+ -i ${i} || die "fixing .la files failed"
+ done
+ else
+ # remove .la files
+ prune_libtool_files --all
+ fi
+}