weka/weka.spec
Miloš Jakubíček db806e8e49 - Update to 3.6.2
- Fix libsvm usage (resolves BZ#523684)
- Fix removing jars
- Added BR: jflex, java_cup >= 1:0.11a
2010-01-17 20:12:27 +00:00

158 lines
4.5 KiB
RPMSpec

%global _version 3-6-2
# whether to run jUnit tests, caution: takes horribly long
# currently disabled as the tests fail, filed in upstream's bugtracker:
# https://sourceforge.net/tracker2/?func=detail&aid=2648813&group_id=5091&atid=105091
# %%global _with_tests 1
Name: weka
Version: 3.6.2
Release: 1%{?dist}
Summary: Waikato Environment for Knowledge Analysis
Group: Applications/Engineering
License: GPLv2+
URL: http://www.cs.waikato.ac.nz/ml/%{name}/
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{_version}.zip
Source1: weka.desktop
Patch0: weka-3.6.2-build.xml.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
BuildRequires: java-devel >= 1:1.6.0
BuildRequires: jpackage-utils
BuildRequires: ant
BuildRequires: desktop-file-utils
BuildRequires: ImageMagick
BuildRequires: junit
BuildRequires: jflex
BuildRequires: java_cup >= 1:0.11a
Requires: java >= 1:1.6.0
Requires: jpackage-utils
%description
Weka is a collection of machine learning algorithms for data mining tasks.
The algorithms can either be applied directly to a dataset or called from
your own Java code. Weka contains tools for data pre-processing,
classification, regression, clustering, association rules, and visualization.
It is also well-suited for developing new machine learning schemes.
%package javadoc
Summary: Javadocs for %{name}
Group: Documentation
Requires: %{name} = %{version}-%{release}
Requires: jpackage-utils
%description javadoc
This package contains the API documentation for %{name}.
%prep
%setup -q -n %{name}-%{_version}
# unzip the sources jar
unzip %{name}-src.jar
%patch0
# remove prebuilt jars
find -name '*.jar' -delete -o -name '*.class' -delete
# we won't run JUnit tests and 128m for making javadocs was not enough:(
sed -i -e 's/name="lib" value="lib"/name="lib" value="src"/' -e 's/maxmemory="128m"/maxmemory="256m"/' build.xml
%build
export CLASSPATH=$(build-classpath java_cup java_cup-runtime jflex)
ant compile
%if %{?_with_tests:1}%{!?_with_tests:0}
%check
export CLASSPATH=/usr/share/java/junit.jar ant run_tests
%endif
%install
rm -rf $RPM_BUILD_ROOT
# jar
ant exejar
mkdir -p $RPM_BUILD_ROOT%{_javadir}
cp -p dist/%{name}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}.jar
# javadoc
ant docs
mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}
cp -rp doc/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}
# wrapper script
mkdir -p $RPM_BUILD_ROOT%{_bindir}
cat > $RPM_BUILD_ROOT%{_bindir}/%{name} <<-EOF
#!/bin/bash
. /usr/share/java-utils/java-functions
MAIN_CLASS="weka.gui.GUIChooser"
set_classpath "weka.jar"
set_classpath "libsvm.jar"
run "$@"
EOF
chmod a+x $RPM_BUILD_ROOT%{_bindir}/%{name}
# desktop file and icon
desktop-file-install \
--dir=${RPM_BUILD_ROOT}%{_datadir}/applications %{SOURCE1}
# convert icon to png
convert %{name}.ico %{name}.png
install -Dp %{name}.png ${RPM_BUILD_ROOT}%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
%clean
rm -rf $RPM_BUILD_ROOT
%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
%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
%files
%defattr(-,root,root,-)
%{_javadir}/%{name}.jar
%{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
%doc documentation.html
%doc documentation.css
%doc WekaManual.pdf
%doc COPYING
%doc README
%doc changelogs
%doc data
%files javadoc
%defattr(-,root,root,-)
%{_javadocdir}/%{name}
%changelog
* Sat Jan 16 2010 Milos Jakubicek <xjakub@fi.muni.cz> - 3.6.2-1
- Update to 3.6.2
- Fix libsvm usage (resolves BZ#523684)
- Fix removing jars
- Added BR: jflex, java_cup >= 1:0.11a
* Mon Jul 27 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.6.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Sat Feb 28 2009 Milos Jakubicek <xjakub@fi.muni.cz> - 3.6.0-3
- Fixed desktop file name
- Added optional running junit tests into %%check, added BR:junit
- Fixed changelog entry
* Wed Feb 25 2009 Milos Jakubicek <xjakub@fi.muni.cz> - 3.6.0-2
- Running gtk-update-icon-cache
- Converting icon to png, added BR:ImageMagick, changed icon path
in desktop file "weka" only
- java/java-devel R: and BR: made versioned to >= 1:1.6.0
- removed vendor tag in desktop-file-install according to the guidelines
for new packages.
* Wed Jan 14 2009 Milos Jakubicek <xjakub@fi.muni.cz> - 3.6.0-1
- Initial release.