# TODO:
# - install fonts system-wide (subpackage?)
+# - install one copy of vrml.jar
%include /usr/lib/rpm/macros.perl
-Summary: FreeWRL - VRML browser
-Summary(pl): FreeWRL - przegl±darka VRML
+%define pdir VRML
+%define pnam VRMLFunc
+Summary: FreeWRL - VRML/X3D browser
+Summary(pl.UTF-8): FreeWRL - przeglądarka VRM/X3D
Name: freewrl
-Version: 1.03
-Release: 2
-License: LGPL
+Version: 1.19.8
+Release: 1
+License: LGPL v2
Group: X11/Applications/Graphics
-Source0: http://dl.sourceforge.net/freewrl/FreeWRL-%{version}.tar.gz
-# Source0-md5: cb4435f5f64cebd6b0cc5cf831fb186f
+Source0: http://dl.sourceforge.net/freewrl/%{name}-%{version}.tar.gz
+# Source0-md5: c193a1eb6e88c4253b6aec02098a9d3c
Patch0: %{name}-config.patch
-Patch1: %{name}-DESTDIR.patch
-Patch2: %{name}-mozilla.patch
-Patch3: %{name}-gcc3.patch
-Patch4: %{name}-system-js.patch
+Patch1: %{name}-makefile.patch
+Patch2: %{name}-system-js.patch
+Patch3: %{name}-optimize.patch
URL: http://freewrl.sourceforge.net/
-BuildRequires: ImageMagick
+BuildRequires: ImageMagick-devel
BuildRequires: OpenGL-devel
-BuildRequires: XFree86-devel
-BuildRequires: freetype-devel
-BuildRequires: gtk+2-devel
+BuildRequires: freetype-devel >= 2.0
BuildRequires: jdk
BuildRequires: js-devel
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
-BuildRequires: mozilla-devel
-BuildRequires: mozilla-embedded(gtk2)
+BuildRequires: motif-devel
BuildRequires: perl-devel >= 1:5.8.0
-BuildRequires: pkgconfig
BuildRequires: rpm-perlprov >= 4.1-13
+BuildRequires: rpmbuild(macros) >= 1.357
BuildRequires: saxon
+BuildRequires: xorg-lib-libXaw-devel
+%ifarch %{x8664} ia64 ppc64 s390x sparc64
+Provides: libFreeWRLFunc.so()(64-bit)
+%else
+Provides: libFreeWRLFunc.so
+%endif
+Requires: perl(DynaLoader) = %(%{__perl} -MDynaLoader -e 'print DynaLoader->VERSION')
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define mozilladir /usr/lib/mozilla
-%define netscapedir /usr/lib/netscape
-
%define _noautoreqdep libGL.so.1 libGLU.so.1
# false positives found by perlreq from rpm 4.1
%define _noautoreq 'perl(VRML::Events)' 'perl(VRML::VRMLCU)' 'perl(VRML::VRMLFields)' 'perl(VRML::VRMLNodes)' 'perl(VRMLFields)' 'perl(VRMLNodes)' 'perl(VRMLRend)'
%description
-FreeWRL - VRML browser.
-
-%description -l pl
-FreeWRL - przegl±darka VRML.
-
-%package -n mozilla-plugin-freewrl
-Summary: VRML plugin for Mozilla WWW browser
-Summary(pl): Wtyczka VRML dla przegl±darki WWW Mozilla
-Group: Libraries
-Requires: %{name} = %{version}
-Requires: mozilla-embedded(gtk2)
+FreeWRL - VRML/X3D browser.
-%description -n mozilla-plugin-freewrl
-VRML plugin for Mozilla WWW browser.
+%description -l pl.UTF-8
+FreeWRL - przeglądarka VRM/X3D.
-%description -n mozilla-plugin-freewrl -l pl
-Wtyczka VRML dla przegl±darki WWW Mozilla.
-
-%package -n netscape-plugin-freewrl
-Summary: VRML plugin for Netscape WWW browser
-Summary(pl): Wtyczka VRML dla przegl±darki WWW Netscape
+%package -n browser-plugin-%{name}
+Summary: VRML/X3D plugin for WWW browser
+Summary(pl.UTF-8): Wtyczka VRML/X3D dla przeglądarki WWW
Group: Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
+Requires: browser-plugins >= 2.0
+Obsoletes: konqueror-plugin-freewrl
+Obsoletes: mozilla-firefox-plugin-freewrl
+Obsoletes: mozilla-plugin-freewrl
+Obsoletes: netscape-plugin-freewrl
-%description -n netscape-plugin-freewrl
-VRML plugin for Netscape WWW browser.
+%description -n browser-plugin-%{name}
+VRML and X3D plugin for WWW browser.
-%description -n netscape-plugin-freewrl -l pl
-Wtyczka VRML dla przegl±darki WWW Netscape.
+%description -n browser-plugin-%{name} -l pl.UTF-8
+Wtyczka VRML i X3D dla przeglądarki WW.
%prep
-%setup -q -n FreeWRL-%{version}
+%setup -q
%patch0 -p1
%patch1 -p1
-# for mozilla plugin - removed intentionaly?
-#%patch2 -p1
-#%patch3 -p1
-%patch4 -p1
+%patch2 -p1
+%patch3 -p1
+
+# avoid using included js
+rm -rf JS
+
+%{__sed} -i -e 's#\(NETSCAPE_\(INST\|CLASSES\|PLUGINS\)\) =>.*#\1 => "%{_browserpluginsdir}",#' vrml.conf*
%build
%{__perl} Makefile.PL \
INSTALLDIRS=vendor
-%{__make} \
+
+%{__make} -j1 \
+ CC="%{__cc}" \
OPTIMIZE="%{rpmcflags}" \
- OPTIMIZER="%{rpmcflags}"
-# MOZILLA_INC="/usr/include/mozilla" \
-# GTK_CONFIG="pkg-config gtk+-2.0"
+ DESTINSTALLPRIVLIB=%{perl_vendorlib}
-%{__make} -C Plugin/netscape \
+%{__make} -C Plugin \
+ CC="%{__cc}" \
OPTIMIZER="%{rpmcflags}"
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{mozilladir}/{plugins,java/classes},%{netscapedir}/plugins}
+install -d $RPM_BUILD_ROOT{%{_bindir},%{_browserpluginsdir},%{perl_vendorlib}/VRML}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT \
- SITEARCHEXP=$RPM_BUILD_ROOT%{perl_vendorarch}
-
-#install Plugin/mozilla/_lib/npFreeWRL.so $RPM_BUILD_ROOT%{mozilladir}/plugins
+ SITEARCHEXP=$RPM_BUILD_ROOT%{perl_vendorarch} \
+ DESTINSTALLPRIVLIB=$RPM_BUILD_ROOT%{perl_vendorlib} \
+ PLUGDIR=%{_browserpluginsdir} \
+ CHCON=true
-install Plugin/netscape/_lib/npfreewrl.so $RPM_BUILD_ROOT%{mozilladir}/plugins
-install Plugin/netscape/_lib/npfreewrl.so $RPM_BUILD_ROOT%{netscapedir}/plugins
+# specified in java/classes/Makefile.PL, but finally not installed
+install java/classes/vrml.jar $RPM_BUILD_ROOT%{perl_vendorlib}/VRML
+install java/classes/java.policy $RPM_BUILD_ROOT%{perl_vendorlib}/VRML
-# no such directory, don't know how to make mozilla+java load this jar
-# without placing it in /usr/lib/java/jre/lib/ext :/
-#install java/classes/vrml.jar $RPM_BUILD_ROOT%{mozilladir}/java/classes
+rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/fonts/{COPYRIGHT,README,RELEASENOTES}.TXT
%clean
rm -rf $RPM_BUILD_ROOT
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+%post -n browser-plugin-%{name}
+%update_browser_plugins
+
+%postun -n browser-plugin-%{name}
+if [ "$1" = 0 ]; then
+ %update_browser_plugins
+fi
+
%files
%defattr(644,root,root,755)
-%doc README.html
-%attr(755,root,root) %{_bindir}/*
-%{perl_vendorarch}/VRML
-%dir %{perl_vendorarch}/auto/VRML
-%dir %{perl_vendorarch}/auto/VRML/*
-%{perl_vendorarch}/auto/VRML/*/*.bs
-%attr(755,root,root) %{perl_vendorarch}/auto/VRML/*/*.so
-%{_mandir}/man1/*.1*
-%{_mandir}/man3/*.3*
-
-%files -n mozilla-plugin-freewrl
-%defattr(644,root,root,755)
-%attr(755,root,root) %{mozilladir}/plugins/*.so
-
-%files -n netscape-plugin-freewrl
+%doc CHANGELOG README.html
+%attr(755,root,root) %{_bindir}/FreeWRL_Message
+%attr(755,root,root) %{_bindir}/FreeWRL_SoundServer
+%attr(755,root,root) %{_bindir}/freewrl
+%attr(755,root,root) %{_libdir}/libFreeWRLFunc.so
+%dir %{perl_vendorlib}/VRML
+%{perl_vendorlib}/VRML/java.policy
+%{perl_vendorlib}/VRML/vrml.jar
+%dir %{_datadir}/%{name}
+%dir %{_datadir}/%{name}/fonts
+%{_datadir}/%{name}/fonts/*.ttf
+%{_datadir}/%{name}/fonts/*.conf
+%{_pixmapsdir}/%{name}.png
+%{_desktopdir}/%{name}.desktop
+
+%files -n browser-plugin-%{name}
%defattr(644,root,root,755)
-%{netscapedir}/java/classes/*.jar
-%attr(755,root,root) %{netscapedir}/plugins/*.so
+%attr(755,root,root) %{_browserpluginsdir}/npfreewrl.so
+%{_browserpluginsdir}/vrml.jar