# Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI=5 inherit autotools nsplugins eutils flag-o-matic java-pkg-opt-2 multilib DESCRIPTION="VRML97 and X3D compliant browser, library, and web-browser plugin" HOMEPAGE="http://freewrl.sourceforge.net/" SRC_URI="mirror://sourceforge/freewrl/${P}.1.tar.bz2" LICENSE="GPL-3" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="curl debug +glew java libeai motif +nsplugin osc +sox static-libs" COMMONDEPEND="x11-libs/libXau x11-libs/libXdmcp x11-libs/libXext x11-libs/libX11 motif? ( x11-libs/motif ) !motif? ( x11-libs/libXaw ) media-libs/mesa glew? ( media-libs/glew ) virtual/opengl media-libs/libpng virtual/jpeg media-libs/imlib2 >=media-libs/freetype-2 media-libs/fontconfig curl? ( net-misc/curl ) osc? ( media-libs/liblo ) dev-lang/spidermonkey:0=" DEPEND="${COMMONDEPEND} virtual/pkgconfig java? ( >=virtual/jdk-1.4 ) nsplugin? ( net-misc/npapi-sdk )" RDEPEND="${COMMONDEPEND} media-fonts/dejavu || ( media-gfx/imagemagick media-gfx/graphicsmagick[imagemagick] ) app-arch/unzip java? ( >=virtual/jre-1.4 ) sox? ( media-sound/sox )" src_prepare() { epatch "${FILESDIR}"/${P}-fontconfig-match.patch if has_version ">=dev-lang/spidermonkey-1.8.7:0" ; then epatch "${FILESDIR}"/${P}-mozjs187-config.patch fi epatch "${FILESDIR}"/${P}-desktop.patch epatch "${FILESDIR}"/${P}-java-fix.patch epatch "${FILESDIR}"/${PN}-2.3.3-ld.gold.patch eautoreconf } src_configure() { local myconf="--enable-fontconfig --without-expat --with-x --with-imageconvert=/usr/bin/convert --with-unzip=/usr/bin/unzip" if use motif; then myconf+=" --with-target=motif --with-statusbar=standard" else myconf+=" --with-target=x11 --with-statusbar=hud" fi if use nsplugin; then myconf+=" --with-plugindir=/usr/$(get_libdir)/${PLUGINS_DIR}" myconf+=" --disable-mozilla-plugin --disable-xulrunner-plugin" fi if use sox; then myconf+=" --with-soundconv=/usr/bin/sox" fi # disable the checks for other js libs, in case they are installed if has_version ">=dev-lang/spidermonkey-1.8.5:0" ; then # spidermonkey-1.8.5 provides a .pc to pkg-config, it should be findable via mozjs185 for x in mozilla-js xulrunner-js firefox-js firefox2-js seamonkey-js; do myconf+=" --disable-${x}" done else for x in mozjs187 mozjs185 mozilla-js xulrunner-js firefox-js seamonkey-js; do myconf+=" --disable-${x}" done # spidermonkey pre-1.8.5 has no pkg-config, so override ./configure JAVASCRIPT_ENGINE_CFLAGS="-I/usr/include/js -DXP_UNIX" if has_version ">=dev-lang/spidermonkey-1.8:0" ; then # spidermonkey-1.8 changed the name of the lib JAVASCRIPT_ENGINE_LIBS="-lmozjs" else JAVASCRIPT_ENGINE_LIBS="-ljs" fi if has_version "dev-lang/spidermonkey:0[threadsafe]" ; then JAVASCRIPT_ENGINE_CFLAGS+=" -DJS_THREADSAFE $(pkg-config --cflags nspr)" JAVASCRIPT_ENGINE_LIBS="$(pkg-config --libs nspr) ${JAVASCRIPT_ENGINE_LIBS}" fi export JAVASCRIPT_ENGINE_CFLAGS export JAVASCRIPT_ENGINE_LIBS fi econf ${myconf} \ $(use_enable curl libcurl) \ $(use_with glew) \ $(use_enable debug) $(use_enable debug thread_colorized) \ $(use_enable libeai) \ $(use_enable java) \ $(use_enable nsplugin plugin) \ $(use_enable osc) \ $(use_enable static-libs static) \ $(use_enable sox sound) } src_install() { emake DESTDIR="${D}" install if use java; then insinto /usr/share/${PN}/lib doins src/java/java.policy java-pkg_regjar src/java/vrml.jar # install vrml.jar as a JRE extension dodir /usr/java/packages/lib/ext dosym /usr/share/${PN}/lib/vrml.jar /usr/java/packages/lib/ext/vrml.jar if ! has_version "media-gfx/freewrl[java]" ; then elog "Because vrml.jar requires access to sockets, you will need to incorporate the" elog "contents of /usr/share/${PN}/lib/java.policy into your system or user's default" elog "java policy:" elog " cat /usr/share/${PN}/lib/java.policy >>~/.java.policy" fi fi # remove unneeded .la files (as per Flameeyes' rant) cd "${D}" rm "usr/$(get_libdir)"/*.la "usr/$(get_libdir)/${PLUGINS_DIR}"/*.la } pkg_postinst() { if [[ -z ${REPLACING_VERSIONS} ]]; then elog "By default, FreeWRL expects to find the 'firefox' binary in your include" elog "path. If you do not have firefox installed or you wish to use a different" elog "web browser to open links that are within VRML / X3D files, please be sure to" elog "specify the command via your BROWSER environment variable." fi }