| 1 |
# Copyright 1999-2007 Gentoo Foundation |
|---|
| 2 |
# Distributed under the terms of the GNU General Public License v2 |
|---|
| 3 |
# $Header: $ |
|---|
| 4 |
|
|---|
| 5 |
inherit eutils |
|---|
| 6 |
|
|---|
| 7 |
DESCRIPTION="OpenSG is a portable scenegraph system to create realtime graphics programs, e.g. for virtual reality applications." |
|---|
| 8 |
HOMEPAGE="http://www.opensg.org" |
|---|
| 9 |
LICENSE="LGPL-2" |
|---|
| 10 |
|
|---|
| 11 |
SRC_URI="http://superb-east.dl.sourceforge.net/sourceforge/opensg/opensg_dailybuild.070704.source.tgz" |
|---|
| 12 |
|
|---|
| 13 |
SLOT="1" |
|---|
| 14 |
KEYWORDS="~x86 ~amd64" |
|---|
| 15 |
|
|---|
| 16 |
# TODO: add use flags for distcc, qt4, tests |
|---|
| 17 |
IUSE="debug tiff png openexr gif cal3d jpeg qt3 cg tests doc" |
|---|
| 18 |
|
|---|
| 19 |
DEPEND=" |
|---|
| 20 |
virtual/opengl |
|---|
| 21 |
virtual/glut |
|---|
| 22 |
>=sys-libs/zlib-1.2.3-r1 |
|---|
| 23 |
tiff? ( >=media-libs/tiff-3.8.2-r2 ) |
|---|
| 24 |
png? ( >=media-libs/libpng-1.2.16 ) |
|---|
| 25 |
gif? ( >=media-libs/giflib-4.1.4 ) |
|---|
| 26 |
jpeg? ( >=media-libs/jpeg-6b-r7 ) |
|---|
| 27 |
openexr? ( media-libs/openexr ) |
|---|
| 28 |
cal3d? ( >=media-libs/cal3d-0.11.0-r1 ) |
|---|
| 29 |
qt3? ( >=x11-libs/qt-3.3.8 ) |
|---|
| 30 |
cg? ( >=media-gfx/nvidia-cg-toolkit-1.5.0 ) |
|---|
| 31 |
doc? ( >=app-doc/doxygen-1.4.2 ) |
|---|
| 32 |
doc? ( sci-visualization/gnuplot ) |
|---|
| 33 |
doc? ( media-gfx/imagemagick ) |
|---|
| 34 |
doc? ( media-gfx/transfig ) |
|---|
| 35 |
" |
|---|
| 36 |
|
|---|
| 37 |
RDEPEND="${DEPEND}" |
|---|
| 38 |
|
|---|
| 39 |
#S="${WORKDIR}/${P}" |
|---|
| 40 |
|
|---|
| 41 |
# globally set the type of OpenSG to be build |
|---|
| 42 |
OSGTYPE="opt" |
|---|
| 43 |
if use debug ; then |
|---|
| 44 |
OSGTYPE="dbg" |
|---|
| 45 |
fi |
|---|
| 46 |
|
|---|
| 47 |
src_unpack() |
|---|
| 48 |
{ |
|---|
| 49 |
unpack ${A} |
|---|
| 50 |
|
|---|
| 51 |
# add scons modifications for the docs |
|---|
| 52 |
cd ${WORKDIR}/OpenSG |
|---|
| 53 |
epatch ${FILESDIR}/opensg_1.8_scons_doc_all.diff |
|---|
| 54 |
} |
|---|
| 55 |
|
|---|
| 56 |
src_compile() |
|---|
| 57 |
{ |
|---|
| 58 |
# setup scons options |
|---|
| 59 |
osg_gif="0" |
|---|
| 60 |
if use gif ; then |
|---|
| 61 |
osg_gif="1" |
|---|
| 62 |
fi |
|---|
| 63 |
|
|---|
| 64 |
osg_png="0" |
|---|
| 65 |
if use png ; then |
|---|
| 66 |
osg_png="1" |
|---|
| 67 |
fi |
|---|
| 68 |
|
|---|
| 69 |
osg_tiff="0" |
|---|
| 70 |
if use tiff ; then |
|---|
| 71 |
osg_tiff="1" |
|---|
| 72 |
fi |
|---|
| 73 |
|
|---|
| 74 |
osg_jpeg="0" |
|---|
| 75 |
if use jpeg ; then |
|---|
| 76 |
osg_jpeg="1" |
|---|
| 77 |
fi |
|---|
| 78 |
|
|---|
| 79 |
osg_cal3d="0" |
|---|
| 80 |
if use cal3d ; then |
|---|
| 81 |
osg_cal3d="/usr" |
|---|
| 82 |
fi |
|---|
| 83 |
|
|---|
| 84 |
osg_qt3="0" |
|---|
| 85 |
if use qt3 ; then |
|---|
| 86 |
osg_qt3="/usr/qt/3" |
|---|
| 87 |
fi |
|---|
| 88 |
|
|---|
| 89 |
osg_cgchunk="0" |
|---|
| 90 |
osg_cg="0" |
|---|
| 91 |
osg_cgfxmaterial2="0" |
|---|
| 92 |
osg_cg="0" |
|---|
| 93 |
if use cg ; then |
|---|
| 94 |
elog "Nvidia Cg support is currently disabled. i'm sorry." |
|---|
| 95 |
#osg_cg="/usr" |
|---|
| 96 |
#osg_cgchunk="1" |
|---|
| 97 |
#osg_cgfxmaterial2="1" |
|---|
| 98 |
fi |
|---|
| 99 |
|
|---|
| 100 |
osg_tests="0" |
|---|
| 101 |
if use tests ; then |
|---|
| 102 |
osg_tests="1" |
|---|
| 103 |
fi |
|---|
| 104 |
|
|---|
| 105 |
osg_doc="0" |
|---|
| 106 |
if use doc ; then |
|---|
| 107 |
osg_doc="1" |
|---|
| 108 |
fi |
|---|
| 109 |
|
|---|
| 110 |
|
|---|
| 111 |
# call scons (this customized scons is part of the opensg package) |
|---|
| 112 |
cd ${WORKDIR}/OpenSG |
|---|
| 113 |
./scons ${MAKEOPTS} \ |
|---|
| 114 |
type=${OSGTYPE} \ |
|---|
| 115 |
gif=${osg_gif} \ |
|---|
| 116 |
tif=${osg_tiff} \ |
|---|
| 117 |
png=${osg_png} \ |
|---|
| 118 |
jpg=${osg_jpeg} \ |
|---|
| 119 |
qt=${osg_qt3} \ |
|---|
| 120 |
contrib_cal3d=${osg_cal3d} \ |
|---|
| 121 |
cg=${osg_cg} \ |
|---|
| 122 |
contrib_cgchunk=${osg_cgchunk} \ |
|---|
| 123 |
contrib_cgfxmaterial2=${osg_cgfxmaterial2} \ |
|---|
| 124 |
tests=${osg_tests} \ |
|---|
| 125 |
userdocs=${osg_doc} \ |
|---|
| 126 |
|| die \ |
|---|
| 127 |
"!!! Please add ${S}/config.log when filing bugs reports to bugs.gentoo.org" |
|---|
| 128 |
} |
|---|
| 129 |
|
|---|
| 130 |
|
|---|
| 131 |
src_install() |
|---|
| 132 |
{ |
|---|
| 133 |
osg_install="OpenSG/Build/linux-gcc/installed" |
|---|
| 134 |
|
|---|
| 135 |
# install tool binaries |
|---|
| 136 |
exeinto /usr/bin |
|---|
| 137 |
doexe ${WORKDIR}/${osg_install}/lib/${OSGTYPE}/fcdCompile |
|---|
| 138 |
doexe ${WORKDIR}/${osg_install}/lib/${OSGTYPE}/runGraphOp |
|---|
| 139 |
doexe ${WORKDIR}/${osg_install}/lib/${OSGTYPE}/proxyBuilder |
|---|
| 140 |
|
|---|
| 141 |
if use qt3 ; then |
|---|
| 142 |
doexe ${WORKDIR}/${osg_install}/lib/${OSGTYPE}/fcdEdit |
|---|
| 143 |
doexe ${WORKDIR}/${osg_install}/lib/${OSGTYPE}/osgSceneViewer |
|---|
| 144 |
fi |
|---|
| 145 |
|
|---|
| 146 |
# install libraries |
|---|
| 147 |
dolib.so ${WORKDIR}/${osg_install}/lib/${OSGTYPE}/*.so |
|---|
| 148 |
|
|---|
| 149 |
# install headers |
|---|
| 150 |
# the headers are split into two commands |
|---|
| 151 |
insinto /usr/include/OpenSG |
|---|
| 152 |
doins ${WORKDIR}/${osg_install}/include/OpenSG/*.inl |
|---|
| 153 |
doins ${WORKDIR}/${osg_install}/include/OpenSG/OSG[0-9A-Ma-m]*.h |
|---|
| 154 |
doins ${WORKDIR}/${osg_install}/include/OpenSG/OSG[N-Zn-z]*.h |
|---|
| 155 |
|
|---|
| 156 |
# install tutorials |
|---|
| 157 |
exeinto /usr/share/${PN}/tutorials |
|---|
| 158 |
doexe ${WORKDIR}/${osg_install}/Tutorials/* |
|---|
| 159 |
insinto /usr/share/${PN}/tutorials |
|---|
| 160 |
doins ${WORKDIR}/OpenSG/Tutorials/*.cpp |
|---|
| 161 |
doins ${WORKDIR}/OpenSG/Tutorials/Makefile |
|---|
| 162 |
|
|---|
| 163 |
# install documentation |
|---|
| 164 |
if use doc ; then |
|---|
| 165 |
cd ${WORKDIR}/OpenSG/Doc/Code/user/html; |
|---|
| 166 |
for i in $( ls ); do |
|---|
| 167 |
dodoc ${i}; |
|---|
| 168 |
done |
|---|
| 169 |
#dodoc ${WORKDIR}/OpenSG/Doc/Code/user/html/* |
|---|
| 170 |
fi |
|---|
| 171 |
} |
|---|