blob: 4be2a8fa77cd3579355d41aa773c3839bd7ebd95 [file] [log] [blame]
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
if [[ ${PV} == *9999* ]] ; then
SCM_ECLASS="git-r3"
else
SCM_ECLASS="vcs-snapshot"
fi
inherit versionator eutils multilib cmake-utils ${SCM_ECLASS}
DESCRIPTION="Stream based read/write library for COLLADA files"
HOMEPAGE="http://www.opencollada.org/"
LICENSE="MIT"
IUSE="expat"
# seems like the Khronos Group hasnt invented the SOVERSION yet
MY_SOVERSION="1.2"
SLOT="0"
if [[ ${PV} != *9999* ]]; then
#
# UPDATE THE COMMIT WHEN BUMPING!
COMMIT="ceb409cabdccda3000aa2e5c065850b8fde60b0f"
#
SRC_URI="https://github.com/KhronosGroup/OpenCOLLADA/tarball/${COMMIT} -> ${P}.tar.gz"
KEYWORDS="~amd64 ~ppc64 ~x86"
else
EGIT_REPO_URI="http://github.com/KhronosGroup/OpenCOLLADA.git"
fi
RDEPEND="dev-libs/libpcre
dev-libs/zziplib
media-libs/lib3ds
sys-libs/zlib
>=sys-devel/gcc-4.7
expat? ( dev-libs/expat )
!expat? ( dev-libs/libxml2 )"
DEPEND="${RDEPEND}
sys-apps/findutils
sys-apps/sed"
BUILD_DIR="${S}"/build
src_prepare() {
# Remove some bundled dependencies
edos2unix CMakeLists.txt || die
epatch "${FILESDIR}"/${PN}-0_p864-expat.patch
epatch "${FILESDIR}"/${PN}-1.2.2-soversion.patch
epatch "${FILESDIR}"/${PN}-1.2.2-no-undefined.patch
epatch "${FILESDIR}"/${PN}-1.2.2-libdir.patch
rm -R Externals/{expat,lib3ds,LibXML,pcre,zlib,zziplib} || die
ewarn "$(echo "Remaining bundled dependencies:";
find Externals -mindepth 1 -maxdepth 1 -type d | sed 's|^|- |')"
# Remove unused build systems
rm Makefile scripts/{unixbuild.sh,vcproj2cmake.rb} || die
find "${S}" -name SConscript -delete || die
}
src_configure() {
local mycmakeargs=" -DUSE_SHARED=ON -DUSE_STATIC=OFF"
# Master CMakeLists.txt says "EXPAT support not implemented"
# Something like "set(LIBEXPAT_LIBRARIES expat)" is missing to make it build
use expat \
&& mycmakeargs+=' -DUSE_EXPAT=ON -DUSE_LIBXML=OFF' \
|| mycmakeargs+=' -DUSE_EXPAT=OFF -DUSE_LIBXML=ON'
# Seems like the Khronos Group hasnt invented the SOVERSION yet.
mycmakeargs+=" -Dsoversion=${MY_SOVERSION}"
cmake-utils_src_configure
}
src_install() {
cmake-utils_src_install
dodir /etc/env.d || die
echo "LDPATH=/usr/$(get_libdir)/opencollada" \
> "${D}"/etc/env.d/99opencollada || die
dobin build/bin/OpenCOLLADAValidator || die
}