You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-games/cegui/cegui-0.7.6-r1.ebuild

166 lines
3.8 KiB

# 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
}