# Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 inherit nsplugins eutils perl-module IUSE="minimal joystick doc" MY_P="FreeWRL-${PV}" DESCRIPTION="VRML2 and X3D compliant browser" SRC_URI="http://193.1.219.87/sourceforge/freewrl/${MY_P}.tar.gz joystick? ( http://www.csv.ica.uni-stuttgart.de/vrml/dune/FreeWRLduneInputDevice-1.9.tar.gz http://jedi.ks.uiuc.edu/~johns/code/libsball-1.0.tar.gz)" HOMEPAGE="http://freewrl.sourceforge.net/" LICENSE="GPL-2" SLOT="0" KEYWORDS="~x86" S="${WORKDIR}/${MY_P}" INPUT_DEV="FreeWRLduneInputDevice-1.9" LIBSBALL="libsball-1.0" DIR_INPUT_DEV="${S}/${INPUT_DEV}" DIR_LIBSBALL="${S}/libsball" DEPEND=" media-gfx/imagemagick media-libs/libpng media-libs/jpeg media-libs/freetype media-sound/sox net-misc/wget sys-libs/zlib virtual/glut virtual/jdk virtual/opengl virtual/x11 x11-libs/Xaw3d =dev-java/saxon-bin-7.8 >=dev-lang/perl-5.8.2 >=dev-perl/Digest-MD5-2.09 >=dev-perl/HTML-Parser-2.25 >=dev-perl/MIME-Base64-2.11 >=dev-perl/URI-1.04 >=dev-perl/libnet-1.0607 >=dev-perl/libwww-perl-5.47 !media-gfx/freewrl-dev" src_unpack() { perlinfo unpack ${MY_P}.tar.gz cd ${S} make realclean if use joystick; then unpack ${LIBSBALL}.tar.gz unpack ${INPUT_DEV}.tar.gz cp -a `find libsball -name sball.h` ${DIR_INPUT_DEV} cd ${DIR_INPUT_DEV} econf fi cd ${S} einfo "Generating appropriate config file for your Gentoo Machine" echo "%VRML_CONFIG = (" > vrml.conf echo "PLATFORM => 'LINUX'," >> vrml.conf echo "BIN_DIR => '/usr/bin'," >> vrml.conf echo "LIB_DIR => '/usr/lib'," >> vrml.conf if ! use minimal; then echo "NETSCAPE_CLASSES => '/opt/netscape/plugins'," >> vrml.conf echo "NETSCAPE_PLUGINS => '/opt/netscape/plugins'," >> vrml.conf echo "NETSCAPE_INST => '/opt/netscape/plugins'," >> vrml.conf else echo "NETSCAPE_INST => '/tmp'," >> vrml.conf echo "NETSCAPE_CLASSES => '/tmp'," >> vrml.conf echo "NETSCAPE_PLUGINS => '/tmp'," >> vrml.conf fi if [ ${BROWSER} ] ; then echo "BROWSER => '/usr/bin/${BROWSER}'," >> vrml.conf else ewarn ewarn "Your preferred browser is not set, simply use mozilla :)" ewarn echo "BROWSER => '/usr/bin/mozilla'," >> vrml.conf fi echo "WGET => '/usr/bin/wget'," >> vrml.conf echo "ASCIITERM => '/usr/bin/xterm'," >> vrml.conf echo "CONVERT => '/usr/bin/convert'," >> vrml.conf echo "UNZIP => '/bin/gunzip'," >> vrml.conf echo "JAVA => '${JAVA_HOME}/bin/java'," >> vrml.conf echo "COPIER => '/bin/cp'," >> vrml.conf echo "SOUNDCONV => '/usr/bin/sox'," >> vrml.conf echo "WARNINGS => 'off'," >> vrml.conf echo "BOUNDS_CHECK => 'off'," >> vrml.conf echo "LIBCHECK_INST => ''," >> vrml.conf echo "FREEWRL_INC => '-I/usr/X11R6/include/ -I/usr/include/freetype2 -I/usr/include/freetype2/freetype'," >> vrml.conf echo "FREEWRL_LIBS => '-L/usr/lib -L/usr/X11R6/lib -lGL -lGLU -lXext -lX11 -lfreetype -lz -ljpeg -lpng'," >> vrml.conf echo "FREEWRL_DEFINE => '-DXP_UNIX -D_GNU_SOURCE '," >> vrml.conf echo "JAVA_INST => '${JAVA_HOME}'," >> vrml.conf echo "JAVA_INC => '-I${JAVA_HOME}/include -I${JAVA_HOME}/include/linux'," >> vrml.conf echo "LDFLAGS => '-shared -L/usr/lib'," >> vrml.conf echo "SOUND_ENGINE => 'yes'," >> vrml.conf echo ");" >> vrml.conf cp Makefile.PL oldMakefile.PL sed -e "/cp -r/d" oldMakefile.PL > tmp sed -e "/cp JS/d" tmp > oldMakefile.PL sed -e "s/\$LIB_DIR\/libFreeWRLFunc.so/blib\/arch\/auto\/VRML\/VRMLFunc\/libFreeWRLFunc.so/" oldMakefile.PL > tmp sed -e "/install/d" tmp > Makefile.PL perl Makefile.PL cp Config.pm oldConfig.pm echo "#define INSTALLDIR \"${SITE_LIB}\"" > CFuncs/installdir.h } src_compile() { einfo "" einfo "Starting compilation task" einfo "" make || die "make failed" if use joystick; then cd ${DIR_LIBSBALL} make || ewarn "make failed - no LibSBall support" cd ${DIR_INPUT_DEV} make || ewarn "make failed - no joystick support" fi if ! use minimal; then cd ${S}/Plugin make all || ewarn "For some reasons no plugin is compiled" fi } src_install() { perlinfo sed -e "/1\;/d" oldConfig.pm > tmp sed -e "/FREEWRL_BUILDDIR/d" tmp > Config.pm echo "\$VRML::ENV{FREEWRL_BUILDDIR} = \"${SITE_LIB}/VRML/\";" >> Config.pm echo "" >> Config.pm echo "1;" >> Config.pm einfo "" einfo "Installing FreeWRL on your system :)" einfo "" cd ${S} dolib JS/js/src/Linux_All_OPT.OBJ/libjs.so dolib blib/arch/auto/VRML/VRMLFunc/libFreeWRLFunc.so cd JS cp Makefile oldMakefile sed -e "s/ blib\//\.\.\/blib\//g" oldMakefile > Makefile cd ${S} make DESTDIR=${D} install || die "make install failed" dobin CFrontEnd/freewrl dobin SoundEngine/FreeWRL_SoundServer dodir ${SITE_LIB}/VRML/ exeinto ${SITE_LIB}/VRML/ doexe CFrontEnd/fw2init.pl dohtml README.html dodir ${SITE_LIB}/VRML/fonts insinto ${SITE_LIB}/VRML/fonts doins fonts/* if use doc ; then dodoc tests/*.wrl dodoc tests/README fi if ! use minimal ; then dodir /opt/netscape/plugins exeinto /opt/netscape/plugins doexe Plugin/npfreewrl.so insinto /opt/netscape/plugins doins java/classes/vrml.jar inst_plugin /opt/netscape/plugins/npfreewrl.so inst_plugin /opt/netscape/plugins/vrml.jar fi if use joystick ; then cd ${DIR_LIBSBALL} dolib libsball.a dobin testsball cd ${DIR_INPUT_DEV} dobin FreeWRLduneInputDevice doman FreeWRLduneInputDevice.1 dodir /usr/share/doc/freeWRLduneInputDevice/ insinto /usr/share/doc/freeWRLduneInputDevice/ doins commandline_examples/* einfo "This is a inputdevice driver for FreeWRL, based on FreeWRL's '/tmp/inpdev'" einfo "joystick input interface and white_dune's inputdevice mechanism." einfo "Currently supported devices are:" einfo "6D joystick devices" einfo "LabTec Spaceball" einfo "Ascension Flock of Birds magnetic headtracker" einfo "Any device supported by the X11 Xinput protocol" einfo "MacOSX USB joystick" einfo einfo "man FreeWRLduneInputDevice" einfo "to see how the joystick works and read the documentation to see some examples" fi }