blob: e1d65d2cc00de683464f17dce4c54598753b690b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-gfx/freewrl/freewrl-1.22.10-r1.ebuild,v 1.4 2011/06/22 02:28:51 nirbheek Exp $
EAPI="2"
inherit nsplugins eutils flag-o-matic java-pkg-opt-2
DESCRIPTION="VRML2 and X3D compliant browser"
SRC_URI="mirror://sourceforge/freewrl/${P}.tar.bz2"
HOMEPAGE="http://freewrl.sourceforge.net/"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="curl debug libeai +glew +java +motif +sox static-libs"
COMMONDEPEND="x11-libs/libXau
x11-libs/libXdmcp
x11-libs/libXext
x11-libs/libX11
motif? ( x11-libs/openmotif )
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 )
>=dev-lang/spidermonkey-1.8"
DEPEND="${COMMONDEPEND}
>=dev-util/pkgconfig-0.22
java? ( >=virtual/jdk-1.4 )"
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() {
# A hack to get around expat being grabbed from xulrunner
mkdir "${S}/src/lib/include";
cp /usr/include/expat.h "${S}/src/lib/include/";
cp /usr/include/expat_external.h "${S}/src/lib/include/";
}
src_configure() {
local myconf="--enable-fontconfig --disable-plugin
--with-imageconvert=/usr/bin/convert
--with-unzip=/usr/bin/unzip"
if use motif; then
myconf="${myconf} --with-x --with-target=motif"
else
myconf="${myconf} --with-x --with-target=x11"
fi
if use sox; then
myconf="${myconf} --with-soundconv=/usr/bin/sox"
fi
# disable the checks for other js libs, in case they are installed
myconf="${myconf} --disable-mozilla-js --disable-xulrunner-js --disable-firefox-js --disable-seamonkey-js"
# spidermonkey has no pkg-config, so override ./configure
JAVASCRIPT_ENGINE_CFLAGS="-I/usr/include/js -DXP_UNIX"
JAVASCRIPT_ENGINE_LIBS="-lmozjs"
if has_version dev-lang/spidermonkey[threadsafe] ; then
JAVASCRIPT_ENGINE_CFLAGS="${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
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 static-libs static) \
$(use_enable sox sound)
}
src_install() {
emake DESTDIR="${D}" install || die "emake install failed"
if use java; then
java-pkg_dojar src/java/vrml.jar
insinto /usr/share/${PN}/lib
doins src/java/java.policy
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."
fi
# remove unneeded .la files (as per Flameeyes' rant)
cd "${D}"
rm "usr/$(get_libdir)"/*.la "usr/$(get_libdir)/${PLUGINS_DIR}"/*.la
}
pkg_postinst() {
elog "All versions of FreeWRL are incompatible with xulrunner-2.0 and above."
elog "This ebuild gets around it by removing support for browser plugins and forcing"
elog "the javascript engine to spidermonkey. If you are willing to downgrade to"
elog "xulrunner-1.9 (as well as downgrade/rebuild all packages depending on it), then"
elog "you can get this functionality back by adding =media-gfx/freewrl-1.22.10-r1 to your"
elog "package.mask"
}
|