File jeuclid.spec of Package jeuclid

Name:		jeuclid
Version:	3.1.3
Release:	18%{?dist}
Summary:	MathML rendering solution
Group:		Development/Libraries
License:	ASL 2.0 and SPL
URL:		http://jeuclid.sourceforge.net/index.html
Source0:	http://downloads.sourceforge.net/%{name}/%{name}-parent-%{version}-src.zip
#fedora specific build script based on debian
Source1:	build.xml
Source2:	jeuclid-mathviewer.desktop
Source3:	jeuclid-mathviewer.sh
Source4:	jeuclid-cli.sh

#removes FreeHep support as per the build README, optional feature (not upstream)
Patch0:		jeuclid-core-FreeHep.patch
#Allows for compiling code that uses Apple EAWT without the lib
Patch1:		AppleJavaExtensions.patch
#removes OSX dep for the viewer
Patch2:		MacOSX.patch

BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch:	noarch

BuildRequires:	jpackage-utils
BuildRequires:	java-devel
BuildRequires:	ant
BuildRequires:	batik >= 1.7 
BuildRequires:	apache-commons-logging
BuildRequires:	jcip-annotations
BuildRequires:	xmlgraphics-commons >= 1.3
BuildRequires:	xmlgraphics-fop
BuildRequires:	fop >= 0.95
BuildRequires:	apache-commons-cli >= 1.1
BuildRequires:	apache-commons-lang
BuildRequires:	desktop-file-utils
BuildRequires:  hicolor-icon-theme
BuildRequires:  update-desktop-files

Requires:	jpackage-utils
Requires:	java
Requires:	apache-commons-logging
Requires:	batik >= 1.7
Requires:	xmlgraphics-commons >= 1.3	
Requires:	jcip-annotations

%description
Core module containing basic JEuclid rendering and document handling classes.

%package	mathviewer
Summary:	Viewer for MathML files
Group:		Applications/Publishing
Requires:	%{name} = %{version}-%{release}
Requires:	hicolor-icon-theme

%description	mathviewer
The %{name}-mathviewer package contains the Swing MathViewer application.

%package	fop
Summary:	JEuclid plug-in for FOP
Group:		Applications/Publishing
Requires:	%{name} = %{version}-%{release}
Requires:	fop >= 0.95

%description	fop
The %{name}-fop package is a jeuclid plug-in for FOP.

%package	cli
Summary:	Command line interface for Jeuclid
Group:		Applications/Publishing
Requires:	%{name} = %{version}-%{release}
Requires:	apache-commons-cli >= 1.1
Requires:	apache-commons-lang
Requires:	apache-commons-io

%description	cli
The %{name}-cli package provides a command line interface for jeuclid

%prep
%setup -q -n %{name}-parent-%{version}
cp %{SOURCE1} %{_builddir}/%{name}-parent-%{version}/ 
#fix line endings
sed 's/\r//' NOTICE > NOTICE.unix
touch -r NOTICE NOTICE.unix;
mv NOTICE.unix NOTICE

mkdir lib
build-jar-repository -s -p lib jcip-annotations commons-logging xmlgraphics-commons batik-all xmlgraphics-fop.jar commons-cli commons-lang

%patch0 -p1
%patch1 -p1
%patch2 -p1

find -name '*.jar' -o -name '*.class' -exec rm -f '{}' \;

#removes the FreeHep support from the build per the build README
rm -f %{name}-core/src/main/java/net/sourceforge/jeuclid/converter/FreeHep*;

%build
ant compile-core compile-mathviewer compile-cli compile-fop -verbose 

%install
mkdir -p $RPM_BUILD_ROOT%{_javadir}
cp -p target/%{name}-core.jar \
$RPM_BUILD_ROOT%{_javadir}/%{name}-core.jar
cp -p target/%{name}-fop.jar \
$RPM_BUILD_ROOT%{_javadir}/%{name}-fop.jar
cp -p target/%{name}-mathviewer.jar \
$RPM_BUILD_ROOT%{_javadir}/%{name}-mathviewer.jar
cp -p target/%{name}-cli.jar \
$RPM_BUILD_ROOT%{_javadir}/%{name}-cli.jar

install -dm 755 $RPM_BUILD_ROOT%{_bindir}
install -pm 755 %{SOURCE3} $RPM_BUILD_ROOT%{_bindir}/jeuclid-mathviewer
install -pm 755 %{SOURCE4} $RPM_BUILD_ROOT%{_bindir}/jeuclid-cli

mkdir -p $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/48x48/apps/
cp -p src/icons/jeuclid_48x48.png $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/48x48/apps/

mkdir -p $RPM_BUILD_ROOT/%{_datadir}/applications
desktop-file-install --dir=$RPM_BUILD_ROOT/%{_datadir}/applications \
%{SOURCE2}

#%post
#touch --no-create %{_datadir}/icons/hicolor || :
#if [ -x %{_bindir}/gtk-update-icon-cache ] ; then
#%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
#fi
%if 0%{?suse_version} >= 1140
%post
%desktop_database_post
%icon_theme_cache_post
%endif

#%postun
#touch --no-create %{_datadir}/icons/hicolor || :
#if [ -x %{_bindir}/gtk-update-icon-cache ] ; then
#%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
#fi
%if 0%{?suse_version} >= 1140
%postun
%desktop_database_postun
%icon_theme_cache_postun
%endif

%files
%defattr(-,root,root,-)
%doc NOTICE LICENSE.txt README.Release
%{_javadir}/%{name}-core.jar

%files mathviewer
%defattr(-,root,root,-)
%{_javadir}/%{name}-mathviewer.jar
%{_bindir}/jeuclid-mathviewer
%{_datadir}/icons/hicolor/48x48/apps/jeuclid_48x48.png
%{_datadir}/applications/jeuclid-mathviewer.desktop

%files fop
%defattr(-,root,root,-)
%{_javadir}/%{name}-fop.jar

%files cli 
%defattr(-,root,root,-)
%{_javadir}/%{name}-cli.jar
%{_bindir}/jeuclid-cli

%changelog

openSUSE Build Service is sponsored by