# Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit nsplugins eutils perl-module IUSE="minimal joystick doc" MY_PV="${PV/_/-}" MY_P="FreeWRL-${MY_PV}" DESCRIPTION="VRML2 and X3D compliant browser" SRC_URI="mirror://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" src_unpack() { unpack ${MY_P}.tar.gz cd ${S} if use joystick; then unpack ${LIBSBALL}.tar.gz unpack ${INPUT_DEV}.tar.gz cp -a `find libsball -name sball.h` ${DIR_INPUT_DEV} fi cd ${S} einfo "" 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 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 einfo "Done." epatch "${FILESDIR}/FreeWRL-1.11-nostrip.patch" } src_compile() { einfo "" einfo "Starting compilation task" einfo "" perl Makefile.PL INSTALLDIRS=vendor make || die "make failed" if use joystick ; then cd ${DIR_LIBSBALL} make || ewarn "make failed - no LibSBall support" cd ${DIR_INPUT_DEV} econf 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() { einfo "" einfo "Installing FreeWRL on your system :)" einfo "" perlinfo cd ${S} # cp Config.pm oldConfig.pm # 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 cd JS cp Makefile oldMakefile sed -e "s/ blib\//\.\.\/blib\//g" oldMakefile > Makefile cd ${S} # make needed dirs so that make install eval `perl -V:installprivlib` dodir ${installprivlib}/VRML if ! use minimal; then dodir /opt/netscape/plugins fi make DESTDIR=${D} install || die "make install failed" dohtml *.html if use doc ; then dodir "/usr/share/doc/${PF}" cp -r tests "${D}usr/share/doc/${PF}" fi if ! use minimal ; then inst_plugin /opt/netscape/plugins/npfreewrl.so inst_plugin ${VENDOR_ARCH}/vrml.jar fi if use joystick ; then cd ${DIR_LIBSBALL} dolib libsball.a dobin testsball cd ${DIR_INPUT_DEV} dobin FreeWRLduneInputDevice doman FreeWRLduneInputDevice.1 insinto "/usr/share/doc/${PF}/FreeWRLduneInputDevice/commandline_examples" 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 prepall }