# 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.6-r1.ebuild,v 1.8 2012/06/18 18:10:06 hasufell 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 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 ) 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 # zlib-1.2.5.1-r1 renames the OF macro in zconf.h, bug #420293 # and http://www.cegui.org.uk/mantis/view.php?id=813 sed -i '1i#define OF(x) x' \ "${S2}"/cegui/src/minizip/{ioapi,unzip}.h || die } 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 --disable-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 }