# Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit versionator eutils MY_P=OpenSceneGraph-$(replace_version_separator 3 -) 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" sed -i 's/-lungif/-lgif/' Make/makedefs \ || die "sed (lgif) failed" sed -i "s/\$(OSGHOME)\///" doc/Doxyfiles/all_Doxyfile \ || die "sed (doxyfile) failed" } 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 echo "${myconf[${count}]}" >> ${T}/my_dependencies let "count += 1" done cat ${T}/my_dependencies export OSG_DEPENDENCIES=${T}/my_dependencies emake || die "emake failed" if use doc ; then doxygen doc/Doxyfiles/all_Doxyfile fi } 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 if use examples ; then mv "${S}"/examples \ "${D}"/usr/share/doc/${P}/ fi # Cleanup mv "${D}"/usr/share/OpenSceneGraph/bin "${D}"/usr/bin rm -rf "${D}"/usr/share/OpenSceneGraph/ }