summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /media-gfx/freewrl
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'media-gfx/freewrl')
-rw-r--r--media-gfx/freewrl/Manifest2
-rw-r--r--media-gfx/freewrl/files/freewrl-1.22.13-desktop.patch11
-rw-r--r--media-gfx/freewrl/files/freewrl-1.22.13-fontconfig-match.patch19
-rw-r--r--media-gfx/freewrl/files/freewrl-1.22.13-java-fix.patch54
-rw-r--r--media-gfx/freewrl/files/freewrl-1.22.13-mozjs187-config.patch10
-rw-r--r--media-gfx/freewrl/files/freewrl-2.3.3-ld.gold.patch35
-rw-r--r--media-gfx/freewrl/freewrl-1.22.13-r3.ebuild143
-rw-r--r--media-gfx/freewrl/freewrl-2.3.3.ebuild140
-rw-r--r--media-gfx/freewrl/freewrl-9999.ebuild144
-rw-r--r--media-gfx/freewrl/metadata.xml28
10 files changed, 586 insertions, 0 deletions
diff --git a/media-gfx/freewrl/Manifest b/media-gfx/freewrl/Manifest
new file mode 100644
index 000000000000..80dab2c5b08c
--- /dev/null
+++ b/media-gfx/freewrl/Manifest
@@ -0,0 +1,2 @@
+DIST freewrl-1.22.13.1.tar.bz2 1830305 SHA256 29069d63604dbbfde0f684f342f34e9d0eb216a026f83317a00fbdd31ece17e8 SHA512 6e751835a256ce08d4099e5301c0702e28e5cae2e77d8a51ab38f6f0c08680f22a9ef25ef9d2bb860680fc8c1fc22cfebf14cfb14b50ee514b5ef76e71ab1192 WHIRLPOOL 58d301f4f3c1d145b041bb626c8af18954d9cd3da88f348d2341928c2ff050b15e077855b1ef5a2fe18b2218b8d2f8a75e229ca5bf5d683c0c98e4ed132f71cd
+DIST freewrl-2.3.3.1.tar.gz 1731651 SHA256 71ed11f5f3b4b6a1d2fc740e8e3ed62a83b484c9695968fac5e30db14dbb6fef SHA512 e205e8d11a3650ddf4f7dd089bdca36fc1879424c88392229ca8c0d532ebc4662f4f2e3bc491a0a1d6300e78c55cebbb57eeef2145a8c96c727c35dfb2a7d00a WHIRLPOOL d61f65b9f0db94f73760d6b1800be5f77f9898e2305ec93cc43aa8a8631e5d002602a1b79bbec91d30a040479ae01530cb470cb411d803ff8f04c3792e35e545
diff --git a/media-gfx/freewrl/files/freewrl-1.22.13-desktop.patch b/media-gfx/freewrl/files/freewrl-1.22.13-desktop.patch
new file mode 100644
index 000000000000..6d620b7ab94b
--- /dev/null
+++ b/media-gfx/freewrl/files/freewrl-1.22.13-desktop.patch
@@ -0,0 +1,11 @@
+--- a/freewrl-1.22.13/data/freewrl.desktop 2009-06-08 06:26:21.000000000 -0400
++++ b/freewrl-1.22.13/data/freewrl.desktop 2013-12-23 10:45:54.916307951 -0500
+@@ -3,7 +3,7 @@
+ Name=FreeWRL
+ Comment=View X3D and VRML files
+ Exec=/usr/bin/freewrl
+-Icon=freewrl.png
++Icon=freewrl
+ Terminal=false
+ Type=Application
+ Categories=Graphics;3DGraphics;Viewer;
diff --git a/media-gfx/freewrl/files/freewrl-1.22.13-fontconfig-match.patch b/media-gfx/freewrl/files/freewrl-1.22.13-fontconfig-match.patch
new file mode 100644
index 000000000000..36b844ea8b62
--- /dev/null
+++ b/media-gfx/freewrl/files/freewrl-1.22.13-fontconfig-match.patch
@@ -0,0 +1,19 @@
+--- src/lib/scenegraph/Component_Text.c 15 Aug 2012 13:31:45 -0000 1.56
++++ src/lib/scenegraph/Component_Text.c 29 Aug 2012 14:18:43 -0000 1.57
+@@ -370,6 +370,7 @@
+ FcPattern *FW_fp=NULL;
+ FcPattern *FW_fm=NULL;
+ FcChar8 *FW_file=NULL;
++ FcResult fcjunkresult;
+ #else
+
+ if (!p->font_directory) {
+@@ -487,7 +488,7 @@
+ #ifdef HAVE_FONTCONFIG
+ FcConfigSubstitute(0,FW_fp,FcMatchPattern);
+ FcDefaultSubstitute(FW_fp);
+- if (!(FW_fm = FcFontMatch(0,FW_fp,0))) {
++ if (!(FW_fm = FcFontMatch(0,FW_fp,&fcjunkresult))) {
+ /* do whatever is done when no match found */
+ printf ("could not find font for id %x\n",num);
+ } else {
diff --git a/media-gfx/freewrl/files/freewrl-1.22.13-java-fix.patch b/media-gfx/freewrl/files/freewrl-1.22.13-java-fix.patch
new file mode 100644
index 000000000000..882062cb7e10
--- /dev/null
+++ b/media-gfx/freewrl/files/freewrl-1.22.13-java-fix.patch
@@ -0,0 +1,54 @@
+--- a/src/java/Makefile.sources
++++ b/src/java/Makefile.sources
+@@ -1,4 +1,4 @@
+-dist_noinst_JAVA = \
++noinst_JAVA = \
+ org/web3d/x3d/sai/Browser.java \
+ org/web3d/x3d/sai/BrowserEvent.java \
+ org/web3d/x3d/sai/BrowserFactoryImpl.java \
+@@ -309,6 +309,7 @@ noinst_JAVA = \
+ vrml/InvalidFieldException.java \
+ vrml/InvalidRouteException.java \
+ vrml/InvalidVRMLSyntaxException.java \
++ vrml/InvalidX3DSyntaxException.java \
+ vrml/MField.java \
+ vrml/field/ConstMFColor.java \
+ vrml/field/ConstMFFloat.java \
+--- /dev/null
++++ b/src/java/vrml/InvalidX3DSyntaxException.java
+@@ -0,0 +1,6 @@
++package vrml;
++
++public class InvalidX3DSyntaxException extends Exception {
++ public InvalidX3DSyntaxException() { super(); }
++ public InvalidX3DSyntaxException(String s) { super(s); }
++}
+--- a/src/java/Makefile.am 2014-03-10 10:37:09.000000000 -0400
++++ b/src/java/Makefile.am 2014-03-12 12:29:42.000000000 -0400
+@@ -1,5 +1,10 @@
+ # Java Classes for EAI/SAI/etc.
+
++# NOTE - automake-1.11.6 changed how class*.stamp is generated, now need
++# to use noinst_JAVA and EXTRA_DIST instead of dist_noinst_JAVA to
++# keep behaviour consistent and compatible with both automake-1.11.6 and
++# older automake
++
+ # Get global variables for Makefile defined by toplevel Makefile.globals
+ include $(top_srcdir)/Makefile.globals
+
+@@ -9,11 +14,12 @@
+ jarfile = vrml.jar
+ jardir = $(JAVA_DIR)
+
+-$(jarfile): $(dist_noinst_JAVA) classdist_noinst.stamp
+- $(JAR) cmf $(JAVAROOT)/manifest.extras $@ -C $(JAVAROOT) $$(echo $(dist_noinst_JAVA:.java=.class))
++$(jarfile): $(noinst_JAVA) manifest.extras classnoinst.stamp
++ $(JAR) cmf $(JAVAROOT)/manifest.extras $@ -C $(JAVAROOT) $$(echo $(noinst_JAVA:.java=.class))
+
+ jar_DATA = $(jarfile)
+
+-CLEANFILES = $(jarfile) $$(echo $(dist_noinst_JAVA:.java=.class))
++CLEANFILES = $(jarfile) $$(echo $(noinst_JAVA:.java=.class))
++EXTRA_DIST = $(noinst_JAVA) java.policy manifest.extras
+
+ include Makefile.sources
diff --git a/media-gfx/freewrl/files/freewrl-1.22.13-mozjs187-config.patch b/media-gfx/freewrl/files/freewrl-1.22.13-mozjs187-config.patch
new file mode 100644
index 000000000000..645a2315c161
--- /dev/null
+++ b/media-gfx/freewrl/files/freewrl-1.22.13-mozjs187-config.patch
@@ -0,0 +1,10 @@
+--- a/configure.ac 2012-06-13 13:17:43.000000000 -0400
++++ b/configure.ac 2012-06-18 15:34:59.000000000 -0400
+@@ -192,6 +192,7 @@
+ AC_MY_CHECK_MODULE(JAVASCRIPT_ENGINE,[spidermonkey],[>=],[1.7.0])
+ ;;
+ *)
++ AC_MY_CHECK_MODULE(JAVASCRIPT_ENGINE,[mozjs187])
+ AC_MY_CHECK_MODULE(JAVASCRIPT_ENGINE,[mozjs185])
+ AC_MY_CHECK_MODULE(JAVASCRIPT_ENGINE,[mozilla-js],[>=],[1.9])
+ AC_MY_CHECK_MODULE(JAVASCRIPT_ENGINE,[xulrunner-js],[>=],[1.8])
diff --git a/media-gfx/freewrl/files/freewrl-2.3.3-ld.gold.patch b/media-gfx/freewrl/files/freewrl-2.3.3-ld.gold.patch
new file mode 100644
index 000000000000..6660f175b502
--- /dev/null
+++ b/media-gfx/freewrl/files/freewrl-2.3.3-ld.gold.patch
@@ -0,0 +1,35 @@
+commit 57d2d3b900c7d57e167fb7c90b36ca8c9c80b8bd
+Author: Ian Stakenvicius <axs@gentoo.org>
+Date: Mon Apr 28 10:53:57 2014 -0400
+
+ autotools: fixed underlinking issue with libm
+
+ Signed-off-by: Ian Stakenvicius <axs@gentoo.org>
+
+diff --git a/freex3d/configure.ac b/freex3d/configure.ac
+index 49db07c..48b09c8 100644
+--- a/freex3d/configure.ac
++++ b/freex3d/configure.ac
+@@ -73,6 +73,8 @@ AC_PROG_GCC_TRADITIONAL
+ dnl AC_FUNC_MALLOC
+ AC_CHECK_FUNCS([strchr strrchr strdup strndup strerror getopt getopt_long getopt_long_only malloc calloc realloc usleep gettimeofday])
+
++# Check for math
++AC_CHECK_LIBM
+
+ # ====================================================
+ # FreeWRL specific configuration: target system
+diff --git a/freex3d/src/lib/Makefile.am b/freex3d/src/lib/Makefile.am
+index ae7fb05..1b1af8a 100644
+--- a/freex3d/src/lib/Makefile.am
++++ b/freex3d/src/lib/Makefile.am
+@@ -40,7 +40,8 @@ EXTERNAL_LIBS = \
+ $(PNG_LIBS) \
+ $(LIBCURL_LIBS) \
+ $(IMLIB2_LIBS) \
+- $(LIBLO_LIBS)
++ $(LIBLO_LIBS) \
++ $(LIBM)
+
+
+ # X11 flags specific to x11 target (default on Linux -- optional on Mac)
diff --git a/media-gfx/freewrl/freewrl-1.22.13-r3.ebuild b/media-gfx/freewrl/freewrl-1.22.13-r3.ebuild
new file mode 100644
index 000000000000..aaf371c7e816
--- /dev/null
+++ b/media-gfx/freewrl/freewrl-1.22.13-r3.ebuild
@@ -0,0 +1,143 @@
+# 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
+}
diff --git a/media-gfx/freewrl/freewrl-2.3.3.ebuild b/media-gfx/freewrl/freewrl-2.3.3.ebuild
new file mode 100644
index 000000000000..05dfd309df18
--- /dev/null
+++ b/media-gfx/freewrl/freewrl-2.3.3.ebuild
@@ -0,0 +1,140 @@
+# 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
+
+if [[ ${PV} == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://git.code.sf.net/p/freewrl/git"
+ S="${WORKDIR}/${P}/freex3d"
+ SRC_URI=
+ KEYWORDS=
+else
+ SRC_URI="mirror://sourceforge/freewrl/${P}.1.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="VRML97 and X3D compliant browser, library, and web-browser plugin"
+HOMEPAGE="http://freewrl.sourceforge.net/"
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="curl debug java libeai motif +nsplugin opencl 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
+ 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 )
+ opencl? ( virtual/opencl )
+ 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}-ld.gold.patch
+ epatch_user
+ eautoreconf
+}
+
+src_configure() {
+ # list of js libs without .pc support, to disable ./configure auto-checking
+ local spidermonkeys=( mozilla-js xulrunner-js firefox-js firefox2-js seamonkey-js )
+ # list of .pc supported spidermonkeys, to disable ./configure auto-checking
+ local spidermonkeys_pc=( mozjs187 mozjs185 )
+
+ local myconf="--enable-fontconfig
+ --without-expat
+ --with-x
+ --with-imageconvert=/usr/bin/convert
+ --with-unzip=/usr/bin/unzip
+ ${spidermonkeys[@]/#/ --disable-}"
+
+ if has_version "<dev-lang/spidermonkey-1.8.5" ; then
+ # spidermonkey pre-1.8.5 has no pkg-config, so override ./configure
+ myconf+="${spidermonkeys_pc[@]/#/ --disable-}"
+ 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
+ if use nsplugin; then
+ myconf+=" --with-plugindir=/usr/$(get_libdir)/${PLUGINS_DIR}"
+ myconf+=" --disable-mozilla-plugin --disable-xulrunner-plugin"
+ fi
+ econf ${myconf} \
+ $(use_enable curl libcurl) \
+ $(use_with opencl OpenCL) \
+ $(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) \
+ $(usex sox "--with-soundconv=/usr/bin/sox") \
+ $(usex motif "--with-target=motif" "--with-target=x11") \
+ $(usex motif "--with-statusbar=standard" "--with-statusbar=hud")
+}
+
+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
+}
diff --git a/media-gfx/freewrl/freewrl-9999.ebuild b/media-gfx/freewrl/freewrl-9999.ebuild
new file mode 100644
index 000000000000..f1c85f6628f8
--- /dev/null
+++ b/media-gfx/freewrl/freewrl-9999.ebuild
@@ -0,0 +1,144 @@
+# 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
+
+if [[ ${PV} == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://git.code.sf.net/p/freewrl/git"
+ S="${WORKDIR}/${P}/freex3d"
+ SRC_URI=
+ KEYWORDS=
+else
+ SRC_URI="mirror://sourceforge/freewrl/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="VRML97 and X3D compliant browser, library, and web-browser plugin"
+HOMEPAGE="http://freewrl.sourceforge.net/"
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="curl debug java libeai motif +nsplugin opencl 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
+ 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 )
+ opencl? ( virtual/opencl )
+ 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() {
+ if [[ ${PV} != "9999" ]]; then
+ epatch "${FILESDIR}"/${P}-fontconfig-match.patch
+ epatch "${FILESDIR}"/${P}-mozjs187-config.patch
+ fi
+ epatch_user
+ eautoreconf
+}
+
+src_configure() {
+ # list of js libs without .pc support, to disable ./configure auto-checking
+ local spidermonkeys=( mozilla-js xulrunner-js firefox-js firefox2-js seamonkey-js )
+ # list of .pc supported spidermonkeys, to disable ./configure auto-checking
+ local spidermonkeys_pc=( mozjs187 mozjs185 )
+
+ local myconf="--enable-fontconfig
+ --without-expat
+ --with-x
+ --with-imageconvert=/usr/bin/convert
+ --with-unzip=/usr/bin/unzip
+ --disable-mozjs-17.0
+ ${spidermonkeys[@]/#/ --disable-}"
+
+ if has_version "<dev-lang/spidermonkey-1.8.5" ; then
+ # spidermonkey pre-1.8.5 has no pkg-config, so override ./configure
+ myconf+="${spidermonkeys_pc[@]/#/ --disable-}"
+ 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
+ if use nsplugin; then
+ myconf+=" --with-plugindir=/usr/$(get_libdir)/${PLUGINS_DIR}"
+ myconf+=" --disable-mozilla-plugin --disable-xulrunner-plugin"
+ fi
+ econf ${myconf} \
+ $(use_enable curl libcurl) \
+ $(use_with opencl OpenCL) \
+ $(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) \
+ $(usex sox "--with-soundconv=/usr/bin/sox") \
+ $(usex motif "--with-target=motif" "--with-target=x11") \
+ $(usex motif "--with-statusbar=standard" "--with-statusbar=hud")
+}
+
+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
+}
diff --git a/media-gfx/freewrl/metadata.xml b/media-gfx/freewrl/metadata.xml
new file mode 100644
index 000000000000..548b124ab6bb
--- /dev/null
+++ b/media-gfx/freewrl/metadata.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>axs@gentoo.org</email>
+ <name>Ian Stakenvicius</name>
+ </maintainer>
+ <longdescription>
+FreeWRL is a VRML97 (VRML-2.0) and X3D interactive viewer, providing both a traditional Xorg application
+and a nsbrowser plugin for use with many available web browsers. The package depends heavily on OpenGL
+support for rendering. When developing your 3D world or model, you can program with GLSL Shaders using the
+X3D Shaders Component, put your model exactly where you want them with the Geospatial Component, or just
+throw triangles to the screen as Extrusions, IndexedFaceSets, TriangleSets, Circle2D, Disk2D, Spheres, Boxes,
+Cubes; the list goes on and on. With royalty free open standards, your models will continue to render, year after year.
+<pkg>=media-gfx/freewrl-1.22*</pkg> uses traditional OpenGL calls, while <pkg>&gt;=media-gfx/freewrl-2</pkg> uses
+"shaders" and requires hardware capable of at least OpenGL-2.0 or OpenGL-ES.
+</longdescription>
+ <use>
+ <flag name="glew">Enable glew extensions</flag>
+ <flag name="libeai">Build EAI C library</flag>
+ <flag name="opencl">Enable OpenCL support</flag>
+ <flag name="osc">Allows for OSC-based control and communication between multiple freewrl instances</flag>
+ <flag name="java">Build and install java EAI/SAI support library</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">freewrl</remote-id>
+ </upstream>
+</pkgmetadata>