%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: 4%{?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 Requires: libsvm-java Requires: java_cup Requires: hsqldb Requires: postgresql-jdbc Requires: mysql-connector-java Requires: javasqlite %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" set_classpath "java_cup.jar" set_classpath "postgresql-jdbc" set_classpath "hsqldb" set_classpath "mysql-connector-java" export CLASSPATH="\$CLASSPATH:%{_libdir}/javasqlite/sqlite.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 * Mon May 03 2010 MiloÅ¡ JakubÃÄek <xjakub@fi.muni.cz> - 3.6.2-4 - Fix typo causing $CLASSPATH in %%{_bindir}/weka to be expanded during the build * Fri Apr 30 2010 MiloÅ¡ JakubÃÄek <xjakub@fi.muni.cz> - 3.6.2-3 - java_cup, hsqldb, postgresql-jdbc, mysql-connector-java, sqlite added to CLASSPATH and required (resolve BZ#587596) * Wed Mar 03 2010 MiloÅ¡ JakubÃÄek <xjakub@fi.muni.cz> - 3.6.2-2 - Added Requires: libsvm-java (BZ#523684) * 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.