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