# Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit eutils MY_P=OpenSceneGraph-${PV}-1 DESCRIPTION="Cross-platform, high performance 3D graphics toolkit." HOMEPAGE="http://www.openscenegraph.org/" SRC_URI="http://openscenegraph.org/downloads/developer/${MY_P}.tar.gz" LICENSE="OSGPL" SLOT="0" KEYWORDS="~x86" IUSE="coin doc examples gdal gif glut jasper jpeg png tiff truetype xine" DEPEND="virtual/opengl >=media-libs/openproducer-1.0.1 >=dev-libs/openthreads-1.4.2 coin? ( media-libs/coin ) doc? ( app-doc/doxygen ) gdal? ( sci-libs/gdal ) gif? ( media-libs/giflib ) glut? ( virtual/glut ) jasper? ( media-libs/jasper ) jpeg? ( media-libs/jpeg ) png? ( media-libs/libpng sys-libs/zlib ) tiff? ( media-libs/tiff ) truetype? ( media-libs/freetype ) xine? ( media-libs/xine-lib )" S="${WORKDIR}/${MY_P}" src_unpack() { unpack ${A} cd "${S}" sed -i "s:OPTF.*=.*:OPTF=\"${CXXFLAGS}\":" Make/makedefs \ || die "sed (CXXFLAGS) failed" if use gif ; then sed -i 's/-lungif/-lgif/' Make/makedefs \ || die "sed (lgif) failed" fi if use doc ; then sed -i 's/\$(OSGHOME)\///' doc/Doxyfiles/all_Doxyfile \ || die "sed (doxyfile) failed" fi } src_compile() { function do_myconf { myconf=( "${myconf[@]}" "${2} ?= ${1}" ) } # Some presets do_myconf "no" "COMPILE_INTROSPECTION" do_myconf "yes" "PRODUCER_INSTALLED" do_myconf "no" "INVENTOR_INSTALLED" do_myconf "no" "PERFORMER_INSTALLED" do_myconf "no" "QUICKTIME_INSTALLED" # USE conditional config... # Strip unwanted USE flags usedeps=(`echo "${IUSE}" | sed 's/doc //'`) # Do each flag once count=0 while [ ${count} != ${#usedeps[@]} ] do # Match conf options to the USE flags usetmp=${usedeps[${count}]} case ${usetmp} in coin) conftmp="COIN_INSTALLED" ;; examples) conftmp="COMPILE_EXAMPLES" ;; gdal) conftmp="GDAL_INSTALLED" ;; gif) conftmp="LIBUNGIF_INSTALLED" ;; glut) conftmp="GLUT_INSTALLED" ;; jasper) conftmp="JASPER_INSTALLED" ;; jpeg) conftmp="LIBJPEG_INSTALLED" ;; png) conftmp="LIBPNG_INSTALLED" ;; tiff) conftmp="LIBTIFF_INSTALLED" ;; truetype) conftmp="FREETYPE_INSTALLED" ;; xine) conftmp="XINE_INSTALLED" ;; esac if use ${usetmp} ; then do_myconf "yes" "${conftmp}" else do_myconf "no" "${conftmp}" fi let "count += 1" done # Write options to the config file count=0 while [ ${count} != ${#myconf[@]} ] do einfo "${myconf[${count}]}" echo "${myconf[${count}]}" >> "${T}"/my_dependencies let "count += 1" done export OSG_DEPENDENCIES="${T}"/my_dependencies emake || die "emake failed" use doc && doxygen doc/Doxyfiles/all_Doxyfile } src_install() { make install INST_LOCATION="${D}"/usr || die "make install failed" dodoc AUTHORS.txt ChangeLog NEWS.txt README.txt if use doc ; then dodoc doc/ProgrammingGuide/ProgrammingGuide.odt dohtml -r doc/doxygen/html/ fi insinto "${ROOT}"/usr/$(get_libdir)/pkgconfig doins "${S}"/Make/${PN}.pc use examples && mv "${S}"/examples/ "${D}"/usr/share/doc/${P}/ cd "${D}"/usr/share/OpenSceneGraph/bin/ dobin osgarchive osgconv osgversion osgviewer || die "dobin failed" cd - rm -rf "${D}"/usr/share/OpenSceneGraph/ }