%global _version 3-6-0 # 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.0 Release: 3%{?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 # wrapper script: Source1: weka.desktop 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 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 # remove prebuilt jars find -name '*.jar' -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 ant compile %if %{?_with_tests:1}%{!?_with_tests:0} %check 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" 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 Feb 28 2009 Milos Jakubicek - 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 - 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 - 3.6.0-1 - Initial release.