summaryrefslogtreecommitdiff
blob: 9c286fc89784da7a35962c2acef634823394cb0f (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
109
110
111
112
113
114
115
116
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-gfx/freewrl/freewrl-1.22.5.ebuild,v 1.3 2010/02/01 20:14:09 maekke Exp $

EAPI="2"

inherit nsplugins eutils flag-o-matic

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 +motif nsplugin +sox spidermonkey static +xulrunner"

COMMONDEPEND="x11-libs/libXau
	x11-libs/libXdmcp
	x11-libs/libXext
	x11-libs/libX11
	motif? ( x11-libs/openmotif )
	media-libs/mesa
	media-libs/glew
	virtual/opengl
	media-libs/libpng
	media-libs/jpeg
	media-libs/imlib2
	>=media-libs/freetype-2
	curl? ( net-misc/curl )
	xulrunner? ( net-libs/xulrunner )
	!xulrunner? (
		spidermonkey? ( dev-lang/spidermonkey )
		!spidermonkey? ( || (
			=www-client/mozilla-firefox-3*[-xulrunner]
			=www-client/mozilla-firefox-2*
		) )
	)
	nsplugin? ( || ( xulrunner? ( net-libs/xulrunner )
		>=www-client/mozilla-firefox-2.0 ) )"
DEPEND="${COMMONDEPEND}
	>=dev-util/pkgconfig-0.22"
RDEPEND="${COMMONDEPEND}
	media-fonts/ttf-bitstream-vera
	media-gfx/imagemagick
	app-arch/unzip
	sox? ( media-sound/sox )"

pkg_setup() {
	if use xulrunner && use spidermonkey; then
		eerror "Please choose only one of xulrunner or spidermonkey."
		die "Cannot USE both spidermonkey and xulrunner"
	fi
}

src_configure() {
	local myconf="--with-fontsdir=/usr/share/fonts/ttf-bitstream-vera
		--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 nsplugin; then
		myconf="${myconf} --with-plugindir=/usr/$(get_libdir)/${PLUGINS_DIR}"
	fi
	if use sox; then
		myconf="${myconf} --with-soundconv=/usr/bin/sox"
	fi
	if use xulrunner; then
		if has_version net-libs/xulrunner:1.9 ; then
			# fix missing library path to xulrunner-1.9 libraries
			append-ldflags "-R/usr/$(get_libdir)/xulrunner-1.9/lib"
		fi
	elif use spidermonkey; then
		# 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="-ljs"
		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
	else
		# disable checks for xulrunner libs, in case they are installed
		myconf="${myconf} --disable-mozilla-js --disable-xulrunner-js"
		# not using xulrunner, so ./configure grabs js directly from firefox/mozilla/thunderbird/wherever
		if has_version =www-client/mozilla-firefox-3* ; then
			# override ./configure for firefox-3 as pkg-config doesn't detect the right settings
			export MOZILLA_PLUGIN_CFLAGS="-I/usr/include/mozilla-firefox/stable $(pkg-config --cflags nspr)"
			export MOZILLA_PLUGIN_LIBS=" "
			export JAVASCRIPT_ENGINE_CFLAGS="-DXP_UNIX -DJS_THREADSAFE -DMOZILLA_JS_UNSTABLE_INCLUDES ${MOZILLA_PLUGIN_CFLAGS}"
			export JAVASCRIPT_ENGINE_LIBS="$(pkg-config --libs nspr) -L/usr/$(get_libdir)/mozilla-firefox -lmozjs"
			append-ldflags "-R/usr/$(get_libdir)/mozilla-firefox"
		fi
	fi
	econf	${myconf} \
		$(use_enable curl libcurl) \
		$(use_enable debug) \
		$(use_enable libeai) \
		$(use_enable nsplugin plugin) \
		$(use_enable static) \
		$(use_enable sox sound)
}

src_install() {
	emake DESTDIR="${D}" install || die "emake install failed"

	# remove unneeded .la files (as per Flameeyes' rant)
	cd "${D}"
	rm "usr/$(get_libdir)"/*.la "usr/$(get_libdir)/${PLUGINS_DIR}"/*.la
}