diff --git a/.cvsignore b/.cvsignore
index 9161481..9708a72 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1 +1,2 @@
-libsvm-2.84.tar.gz
+guide.pdf
+libsvm-2.85.tar.gz
diff --git a/libsvm-2.84.patch b/libsvm-2.85.patch
similarity index 60%
rename from libsvm-2.84.patch
rename to libsvm-2.85.patch
index 8347e43..351f2ee 100644
--- a/libsvm-2.84.patch
+++ b/libsvm-2.85.patch
@@ -1,6 +1,6 @@
diff -up ./java/test_applet.html.orig ./java/test_applet.html
---- ./java/test_applet.html.orig 2008-01-02 09:37:14.000000000 +1000
-+++ ./java/test_applet.html 2008-01-02 09:43:19.000000000 +1000
+--- ./java/test_applet.html.orig 2008-02-04 10:11:00.000000000 +1000
++++ ./java/test_applet.html 2008-02-04 10:13:02.000000000 +1000
@@ -1 +1,3 @@
-
+
@@ -8,8 +8,8 @@ diff -up ./java/test_applet.html.orig ./java/test_applet.html
+
diff -up ./java/svm_train.java.orig ./java/svm_train.java
diff -up ./java/libsvm/svm_parameter.java.orig ./java/libsvm/svm_parameter.java
---- ./java/libsvm/svm_parameter.java.orig 2006-03-04 01:44:14.000000000 +1000
-+++ ./java/libsvm/svm_parameter.java 2008-01-02 09:43:19.000000000 +1000
+--- ./java/libsvm/svm_parameter.java.orig 2007-11-06 23:32:49.000000000 +1000
++++ ./java/libsvm/svm_parameter.java 2008-02-04 10:13:02.000000000 +1000
@@ -1,6 +1,7 @@
package libsvm;
public class svm_parameter implements Cloneable,java.io.Serializable
@@ -19,8 +19,8 @@ diff -up ./java/libsvm/svm_parameter.java.orig ./java/libsvm/svm_parameter.java
public static final int C_SVC = 0;
public static final int NU_SVC = 1;
diff -up ./java/libsvm/svm_problem.java.orig ./java/libsvm/svm_problem.java
---- ./java/libsvm/svm_problem.java.orig 2003-10-11 22:30:47.000000000 +1000
-+++ ./java/libsvm/svm_problem.java 2008-01-02 09:43:19.000000000 +1000
+--- ./java/libsvm/svm_problem.java.orig 2007-11-06 23:32:49.000000000 +1000
++++ ./java/libsvm/svm_problem.java 2008-02-04 10:13:02.000000000 +1000
@@ -1,6 +1,7 @@
package libsvm;
public class svm_problem implements java.io.Serializable
@@ -30,8 +30,8 @@ diff -up ./java/libsvm/svm_problem.java.orig ./java/libsvm/svm_problem.java
public double[] y;
public svm_node[][] x;
diff -up ./java/libsvm/svm_node.java.orig ./java/libsvm/svm_node.java
---- ./java/libsvm/svm_node.java.orig 2003-10-11 22:30:47.000000000 +1000
-+++ ./java/libsvm/svm_node.java 2008-01-02 09:43:19.000000000 +1000
+--- ./java/libsvm/svm_node.java.orig 2007-11-06 23:32:49.000000000 +1000
++++ ./java/libsvm/svm_node.java 2008-02-04 10:13:02.000000000 +1000
@@ -1,6 +1,7 @@
package libsvm;
public class svm_node implements java.io.Serializable
@@ -41,8 +41,8 @@ diff -up ./java/libsvm/svm_node.java.orig ./java/libsvm/svm_node.java
public double value;
}
diff -up ./java/libsvm/svm_model.java.orig ./java/libsvm/svm_model.java
---- ./java/libsvm/svm_model.java.orig 2007-01-13 08:23:39.000000000 +1000
-+++ ./java/libsvm/svm_model.java 2008-01-02 09:43:19.000000000 +1000
+--- ./java/libsvm/svm_model.java.orig 2007-11-06 23:32:49.000000000 +1000
++++ ./java/libsvm/svm_model.java 2008-02-04 10:13:02.000000000 +1000
@@ -4,6 +4,7 @@
package libsvm;
public class svm_model implements java.io.Serializable
@@ -53,36 +53,37 @@ diff -up ./java/libsvm/svm_model.java.orig ./java/libsvm/svm_model.java
int l; // total #SV
diff -up ./java/libsvm/svm.java.orig ./java/libsvm/svm.java
diff -up ./java/Makefile.orig ./java/Makefile
---- ./java/Makefile.orig 2008-01-02 09:32:55.000000000 +1000
-+++ ./java/Makefile 2008-01-02 09:43:19.000000000 +1000
-@@ -1,15 +1,18 @@
- .SUFFIXES: .class .java
--FILES = libsvm/svm.class libsvm/svm_model.class libsvm/svm_node.class \
-- libsvm/svm_parameter.class libsvm/svm_problem.class \
-+FILES = libsvm/svm_node.class libsvm/svm_parameter.class \
-+ libsvm/svm_model.class libsvm/svm_problem.class libsvm/svm.class\
+--- ./java/Makefile.orig 2007-11-06 23:32:49.000000000 +1000
++++ ./java/Makefile 2008-02-04 14:26:38.000000000 +1000
+@@ -3,13 +3,22 @@ FILES = libsvm/svm.class libsvm/svm_mode
+ libsvm/svm_parameter.class libsvm/svm_problem.class \
svm_train.class svm_predict.class svm_toy.class
-#JAVAC = jikes
--#JAVAC_FLAGS = -target 1.1 -source 1.3
+-JAVAC_FLAGS = -target 1.5 -source 1.5
-JAVAC = javac
--JAVAC_FLAGS =
+-# JAVAC_FLAGS =
+JAVA_TARGETDIR=${INSTDIR}/share/libsvm/java
+JAVA_DOCDIR=${INSTDIR}/share/javadoc/libsvm-${LIBSVM_VER}
-+JAVAC = ecj
-+#JAVAC_FLAGS = -target 1.3 -source 1.3
+CLASSPATH = .
-+#JAVAC_FLAGS = --classpath=${CLASSPATH}
-+JAVAC_FLAGS = -classpath ${CLASSPATH}
++JAVAC_FLAGS = -target 1.5 -source 1.5 -classpath ${CLASSPATH}
++
++ifndef JAVAC
++JAVAC=javac
++endif
++
++ifndef JAR
++JAR=jar
++endif
++
--all: $(FILES)
+ all: $(FILES)
- jar cvf libsvm.jar *.class libsvm/*.class
-+all: $(FILES)
-+ gjar cvf libsvm.jar *.class libsvm/*.class
++ ${JAR} cvf libsvm.jar *.class libsvm/*.class
.java.class:
$(JAVAC) $(JAVAC_FLAGS) $<
-@@ -17,8 +20,22 @@ all: $(FILES)
+@@ -17,8 +26,22 @@ all: $(FILES)
libsvm/svm.java: libsvm/svm.m4
m4 libsvm/svm.m4 > libsvm/svm.java
@@ -106,8 +107,8 @@ diff -up ./java/Makefile.orig ./java/Makefile
dist: clean all
rm *.class libsvm/*.class
diff -up ./java/svm_toy.java.orig ./java/svm_toy.java
---- ./java/svm_toy.java.orig 2006-03-04 17:40:11.000000000 +1000
-+++ ./java/svm_toy.java 2008-01-02 09:43:19.000000000 +1000
+--- ./java/svm_toy.java.orig 2007-11-06 23:32:49.000000000 +1000
++++ ./java/svm_toy.java 2008-02-04 10:13:02.000000000 +1000
@@ -6,7 +6,7 @@ import java.awt.event.*;
import java.io.*;
@@ -129,9 +130,9 @@ diff -up ./java/svm_predict.java.orig ./java/svm_predict.java
diff -up ./python/cross_validation.py.orig ./python/cross_validation.py
diff -up ./python/svm_test.py.orig ./python/svm_test.py
diff -up ./python/Makefile.orig ./python/Makefile
---- ./python/Makefile.orig 2008-01-02 09:38:18.000000000 +1000
-+++ ./python/Makefile 2008-01-02 11:26:08.000000000 +1000
-@@ -2,9 +2,16 @@ CC = g++
+--- ./python/Makefile.orig 2007-11-06 23:32:49.000000000 +1000
++++ ./python/Makefile 2008-02-04 16:49:05.000000000 +1000
+@@ -2,9 +2,16 @@ CXX? = g++
SWIG ?= swig
#Windows: see ../README ../Makefile.win
@@ -150,22 +151,22 @@ diff -up ./python/Makefile.orig ./python/Makefile
LDFLAGS = -shared
# Mac OS
# LDFLAGS = -framework Python -bundle
-@@ -15,16 +22,35 @@ svmc.so: svmc_wrap.o svm.o
- $(CC) $(LDFLAGS) -o svmc.so svmc_wrap.o svm.o
+@@ -15,16 +22,34 @@ svmc.so: svmc_wrap.o svm.o
+ $(CXX) $(LDFLAGS) -o svmc.so svmc_wrap.o svm.o
svmc_wrap.o: svmc_wrap.c ../svm.h
-- $(CC) $(CFLAGS) -fPIC -c svmc_wrap.c
-+ echo "PYTHON_VERSION=${PYTHON_VERSION}"
-+ echo "CFLAGS=${CFLAGS}"
-+ echo "CFLAGS_PYTHON=${CFLAGS_PYTHON}"
-+ $(CC) $(CFLAGS_PYTHON) -fPIC -c svmc_wrap.c
+- $(CXX) $(CFLAGS) -fPIC -c svmc_wrap.c
++# echo "PYTHON_VERSION=${PYTHON_VERSION}"
++# echo "CFLAGS=${CFLAGS}"
++# echo "CFLAGS_PYTHON=${CFLAGS_PYTHON}"
++ $(CXX) $(CFLAGS_PYTHON) -fPIC -c svmc_wrap.c
svmc_wrap.c: svmc.i
$(SWIG) -python -noproxy svmc.i
svm.o: ../svm.cpp ../svm.h
-- $(CC) $(CFLAGS) -fPIC -c ../svm.cpp
-+ $(CC) $(CFLAGS_PYTHON) -fPIC -c ../svm.cpp
+- $(CXX) $(CFLAGS) -fPIC -c ../svm.cpp
++ $(CXX) $(CFLAGS_PYTHON) -fPIC -c ../svm.cpp
clean:
rm -f *~ *.o *.so *.pyc *.pyo svm.o
@@ -173,6 +174,7 @@ diff -up ./python/Makefile.orig ./python/Makefile
moreclean: clean
rm -f svmc_wrap.c
+
++
+install: all
+ mkdir -p ${PYTHON_TARGETDIR}
+ install -m 755 cross_validation.py ${PYTHON_TARGETDIR}
@@ -186,23 +188,22 @@ diff -up ./python/Makefile.orig ./python/Makefile
+uninstall:
+ rm -fr ${LIBDIR}/python${PYTHON_VERSION}/site-packages/libsvm
+
-+
-+
diff -up ./python/test_cross_validation.py.orig ./python/test_cross_validation.py
diff -up ./python/svm.py.orig ./python/svm.py
diff -up ./tools/subset.py.orig ./tools/subset.py
+diff -up ./tools/checkdata.py.orig ./tools/checkdata.py
diff -up ./tools/easy.py.orig ./tools/easy.py
---- ./tools/easy.py.orig 2004-06-26 23:42:52.000000000 +1000
-+++ ./tools/easy.py 2008-01-03 11:31:31.000000000 +1000
+--- ./tools/easy.py.orig 2007-11-06 23:32:49.000000000 +1000
++++ ./tools/easy.py 2008-02-04 10:23:49.000000000 +1000
@@ -2,6 +2,7 @@
import sys
import os
+from distutils.sysconfig import get_python_lib
+ from subprocess import *
if len(sys.argv) <= 1:
- print 'Usage: %s training_file [testing_file]' % sys.argv[0]
-@@ -11,10 +12,10 @@ if len(sys.argv) <= 1:
+@@ -12,10 +13,10 @@ if len(sys.argv) <= 1:
is_win32 = (sys.platform == 'win32')
if not is_win32:
@@ -218,9 +219,9 @@ diff -up ./tools/easy.py.orig ./tools/easy.py
else:
# example for windows
diff -up ./tools/grid.py.orig ./tools/grid.py
---- ./tools/grid.py.orig 2006-11-30 03:24:59.000000000 +1000
-+++ ./tools/grid.py 2008-01-03 13:03:06.000000000 +1000
-@@ -11,7 +11,7 @@ from string import find, split, join, at
+--- ./tools/grid.py.orig 2007-11-06 23:32:49.000000000 +1000
++++ ./tools/grid.py 2008-02-04 10:13:02.000000000 +1000
+@@ -11,7 +11,7 @@ from subprocess import *
is_win32 = (sys.platform == 'win32')
if not is_win32:
@@ -238,15 +239,15 @@ diff -up ./tools/grid.py.orig ./tools/grid.py
assert os.path.exists(gnuplot_exe),"gnuplot executable not found"
assert os.path.exists(dataset_pathname),"dataset not found"
diff -up ./Makefile.orig ./Makefile
---- ./Makefile.orig 2008-01-02 09:36:22.000000000 +1000
-+++ ./Makefile 2008-01-02 09:43:19.000000000 +1000
-@@ -1,8 +1,41 @@
- CXXC = g++
+--- ./Makefile.orig 2007-11-06 23:32:49.000000000 +1000
++++ ./Makefile 2008-02-04 17:22:47.000000000 +1000
+@@ -1,8 +1,46 @@
+ CXX? = g++
CFLAGS = -Wall -O3
+MAKE = make
+LIBSVM_VER_MAJOR=2
-+LIBSVM_VER_MINOR=84
-+LIBSVM_VER =${LIBSVM_VER_MAJOR}.${LIBSVM_VER_MINOR}
++LIBSVM_VER_MINOR=85
++LIBSVM_VER=${LIBSVM_VER_MAJOR}.${LIBSVM_VER_MINOR}
+export LIBSVM_VER
-all: svm-train svm-predict svm-scale
@@ -271,42 +272,51 @@ diff -up ./Makefile.orig ./Makefile
+LIB_INSTDIR=${INSTDIR}/..${LIBDIR}
+endif
+
++ifndef LIBDIR
++LIBDIR=/usr/lib${X86_64}
++endif
++
++export LIBDIR
+export LIB_INSTDIR
+
-+all: svm-train svm-predict svm-scale svm-python svm-java svm-lib
++all: svm-train svm-predict svm-scale svm-python svm-java svm-lib svm-toy-gtk svm-toy-qt
+
+svm-lib: svm-share.o
-+ $(CXXC) -shared -Wl,-soname,libsvm.so.${LIBSVM_VER_MAJOR}\
++ $(CXX) -shared -Wl,-soname,libsvm.so.${LIBSVM_VER_MAJOR}\
+ -o libsvm.so.${LIBSVM_VER} svm-share.o -lm
+svm-share.o: svm.cpp svm.h
-+ $(CXXC) -g -fPIC $(CFLAGS) -c svm.cpp -o svm-share.o
++ $(CXX) -g -fPIC $(CFLAGS) -c svm.cpp -o svm-share.o
svm-predict: svm-predict.c svm.o
- $(CXXC) $(CFLAGS) svm-predict.c svm.o -o svm-predict -lm
+ $(CXX) $(CFLAGS) svm-predict.c svm.o -o svm-predict -lm
svm-train: svm-train.c svm.o
-@@ -11,5 +44,61 @@ svm-scale: svm-scale.c
- $(CXXC) $(CFLAGS) svm-scale.c -o svm-scale
+@@ -12,4 +50,61 @@ svm-scale: svm-scale.c
svm.o: svm.cpp svm.h
- $(CXXC) $(CFLAGS) -c svm.cpp
+ $(CXX) $(CFLAGS) -c svm.cpp
+ clean:
+- rm -f *~ svm.o svm-train svm-predict svm-scale
++ rm -f *~ svm.o svm-train svm-predict svm-scale svm-toy/gtk/svm-toy-gtk svm-toy/qt/svm-toy-qt
++ ${MAKE} -C python clean
++ ${MAKE} -C java clean
+svm-python:
+ ${MAKE} -C python
+svm-java:
+ ${MAKE} -C java
-+
++svm-toy-gtk:
++ ${MAKE} -C svm-toy/gtk
++svm-toy-qt:
++ ${MAKE} -C svm-toy/qt
++
+install: all
+ mkdir -p ${INSTDIR}/bin
+ install -m 755 svm-train ${INSTDIR}/bin
+ install -m 755 svm-predict ${INSTDIR}/bin
+ install -m 755 svm-scale ${INSTDIR}/bin
-+# mkdir -p ${LIB_INSTDIR}/libsvm
++ mkdir -p ${LIB_INSTDIR}/libsvm
+ mkdir -p ${LIB_INSTDIR}
-+# install -m 755 libsvm.so.${LIBSVM_VER} ${LIB_INSTDIR}/libsvm
-+ install -m 755 libsvm.so.${LIBSVM_VER} ${LIB_INSTDIR}
++ install -m 755 libsvm.so.${LIBSVM_VER} ${LIB_INSTDIR}/libsvm
+# cd ${LIB_INSTDIR}/libsvm; ln -fs libsvm.so.${LIBSVM_VER_MAJOR} libsvm.so
-+# cd ${LIB_INSTDIR}; ln -fs libsvm.so.${LIBSVM_VER} libsvm.so.${LIBSVM_VER_MAJOR} ;ln -fs libsvm.so.${LIBSVM_VER_MAJOR} libsvm.so
-+ /sbin/ldconfig -n ${LIB_INSTDIR}
-+ cd ${LIB_INSTDIR}; ln -fs libsvm.so.${LIBSVM_VER_MAJOR} libsvm.so
++ /sbin/ldconfig -n ${LIB_INSTDIR}/libsvm/
+# install package libsvm-devel
-+# install -m 644 svm.o ${LIB_INSTDIR}/libsvm
+ mkdir -p ${INSTDIR}/include/libsvm
+ install -m 644 svm.h ${INSTDIR}/include/libsvm
+ mkdir -p ${INSTDIR}/share/libsvm/src/java/libsvm
@@ -318,16 +328,16 @@ diff -up ./Makefile.orig ./Makefile
+ install -m 644 java/Makefile ${INSTDIR}/share/libsvm/src/java
+ install -m 644 java/libsvm/*.java ${INSTDIR}/share/libsvm/src/java/libsvm
+ install -m 644 java/libsvm/*.m4 ${INSTDIR}/share/libsvm/src/java/libsvm
-+# cp -R java ${INSTDIR}/share/libsvm/src
-+# cp -R svm-toy ${INSTDIR}/share/libsvm/src
-+# cp -R tools ${INSTDIR}/share/libsvm/src
-+# cp -R windows ${INSTDIR}/share/libsvm/src
-+ mkdir -p ${INSTDIR}/share/libsvm/examples
-+ install -m 644 heart_scale ${INSTDIR}/share/libsvm/examples
+# install package libsvm-python
+ ${MAKE} -C python install
++# install package libsvm-java
+ ${MAKE} -C java install
-+
++# install package svm-toy
++ install -m 755 svm-toy/gtk/svm-toy-gtk ${INSTDIR}/bin
++ install -m 755 svm-toy/qt/svm-toy-qt ${INSTDIR}/bin
++# install examples
++ mkdir -p ${INSTDIR}/share/libsvm/examples
++ install -m 644 heart_scale ${INSTDIR}/share/libsvm/examples
+uninstall:
+ rm -f ${INSTDIR}/bin/svm-train
+ rm -f ${INSTDIR}/bin/svm-predict
@@ -339,10 +349,77 @@ diff -up ./Makefile.orig ./Makefile
+ rm -fr ${INSTDIR}/libsvm
+ ${MAKE} -C python uninstall
+ ${MAKE} -C java uninstall
++ rm -f ${INSTDIR}/bin/svm-toy-gtk
++ rm -f ${INSTDIR}/bin/svm-toy-qt
+
- clean:
- rm -f *~ svm.o svm-train svm-predict svm-scale
-+ ${MAKE} -C python clean
-+ ${MAKE} -C java clean
+diff -up ./svm-toy/qt/Makefile.orig ./svm-toy/qt/Makefile
+--- ./svm-toy/qt/Makefile.orig 2008-02-04 15:59:51.000000000 +1000
++++ ./svm-toy/qt/Makefile 2008-02-04 17:19:43.000000000 +1000
+@@ -1,5 +1,6 @@
+ CXX? = g++
+ CFLAGS = -Wall -O3 -DQT_THREAD_SUPPORT
++QTDIR = $(LIBDIR)/qt-3.3
+ BIN = $(QTDIR)/bin
+ INCLUDE = $(QTDIR)/include
+ LIB = $(QTDIR)/lib
+@@ -7,13 +8,17 @@ LIB = $(QTDIR)/lib
+ #INCLUDE = /usr/include/qt3
+ #LIB = /usr/lib/qt3
+
+-svm-toy: svm-toy.cpp svm-toy.moc ../../svm.o
+- $(CXX) -I$(INCLUDE) $(CFLAGS) svm-toy.cpp ../../svm.o -o svm-toy -L$(LIB) -lqt-mt
++all: svm-toy-qt
+
++svm-toy-qt: svm-toy.cpp svm-toy.moc ../../svm.o
++ $(CXX) -I$(INCLUDE) $(CFLAGS) svm-toy.cpp ../../svm.o -o svm-toy-qt -L$(LIB) -lqt-mt
+ # add -pthread for bsd
+
+ svm-toy.moc: svm-toy.cpp
++ echo "LIBDIR=${LIBDIR}"
++ echo "QTDIR=${QTDIR}"
+ $(BIN)/moc svm-toy.cpp -o svm-toy.moc
+-../../svm.o:
+- cd ../..; make svm.o
++#../../svm.o:
++# cd ../..; make svm.o
+ clean:
+ rm -f *~ svm-toy svm-toy.moc ../../svm.o
diff -up ./svm-toy/gtk/Makefile.orig ./svm-toy/gtk/Makefile
+--- ./svm-toy/gtk/Makefile.orig 2008-02-04 15:44:19.000000000 +1000
++++ ./svm-toy/gtk/Makefile 2008-02-04 17:19:37.000000000 +1000
+@@ -1,22 +1,25 @@
+ CC? = gcc
+ CXX? = g++
+-CFLAGS = -Wall -O3 -g `gtk-config --cflags`
+-LIBS = `gtk-config --libs`
++#CFLAGS = -Wall -O3 -g `gtk-config --cflags`
++#LIBS = `gtk-config --libs`
++COPT = `pkg-config --cflags --libs gtk+-2.0`
+
+-svm-toy: main.o interface.o callbacks.o ../../svm.o
+- $(CXX) $(CFLAGS) main.o interface.o callbacks.o ../../svm.o -o svm-toy $(LIBS)
++all: svm-toy-gtk
++
++svm-toy-gtk: main.o interface.o callbacks.o ../../svm.o
++ $(CXX) $(COPT) main.o interface.o callbacks.o ../../svm.o -o svm-toy-gtk
+
+ main.o: main.c
+- $(CC) $(CFLAGS) -c main.c
++ $(CC) $(COPT) -c main.c
+
+ interface.o: interface.c interface.h
+- $(CC) $(CFLAGS) -c interface.c
++ $(CC) $(COPT) -c interface.c
+
+ callbacks.o: callbacks.cpp callbacks.h
+- $(CXX) $(CFLAGS) -c callbacks.cpp
++ $(CXX) $(COPT) -c callbacks.cpp
+
+-../../svm.o:
+- cd ../..; make svm.o
++#../../svm.o:
++# cd ../..; make svm.o
+
+ clean:
+- rm -f *~ callbacks.o svm-toy main.o interface.o callbacks.o ../../svm.o
++ rm -f *~ callbacks.o svm-toy main.o interface.o callbacks.o
diff --git a/libsvm.spec b/libsvm.spec
index b79a093..1bd43d4 100644
--- a/libsvm.spec
+++ b/libsvm.spec
@@ -1,6 +1,6 @@
Name: libsvm
-Version: 2.84
-Release: 9%{?dist}
+Version: 2.85
+Release: 0%{?dist}
Summary: A Library for Support Vector Machines
Group: Development/Libraries
@@ -8,17 +8,20 @@ License: BSD
URL: http://www.csie.ntu.edu.tw/~cjlin/libsvm/
Source0: %{name}-%{version}.tar.gz
#Source0: http://www.csie.ntu.edu.tw/~cjlin/cgi-bin/libsvm.cgi?+http://www.csie.ntu.edu.tw/~cjlin/%{name}+tar.gz
-Source1: ChangeLog
-#Source1: http://www.csie.ntu.edu.tw/~cjlin/libsvm/log
+Source1: http://www.csie.ntu.edu.tw/~cjlin/libsvm/log
+Source2: http://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf
Patch0: %{name}-%{version}.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
-#BuildRequires: glibc-devel
%define libsvm_ver_major 2
-%{!?pyver: %define pyver %(python -c 'import sys; print(sys.version[0:3])')}%{!?pyver: %define pyver %(python -c 'import sys; print(sys.version[0:3])')}
+%{!?pyver: %define pyver %(python -c 'import sys; print(sys.version[0:3])')}
%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
%define libsvm_python_dir %{python_sitearch}/libsvm
+%define javac javac
+%define jar jar
+%define libdir_libsvm %{_libdir}/libsvm
+
%description
LIBSVM is an integrated software for support vector classification,
@@ -51,8 +54,9 @@ programs with libsvm in Python.
%package java
Summary: Java tools and interfaces for libsvm
Group: Development/Libraries
-BuildRequires: eclipse-ecj >= 3
-Requires: eclipse-ecj >= 3
+BuildRequires: java-1.5.0-gcj-devel >= 1.5.0.0
+#Client doesn't necessory use gcj
+#Requires: java-1.5.0-gcj >= 1.5.0.0
Requires: %{name} = %{version}-%{release}
%description java
@@ -60,29 +64,58 @@ Java tools and interfaces for libsvm.
Install this package if you want to develop
programs with libsvm in Java.
+%package svm-toy-gtk
+Summary: GTK version of svm-toy (libsvm demostration program)
+Group: Development/Libraries
+BuildRequires: gtk2-devel
+BuildRequires: gtk2
+Requires: %{name} = %{version}-%{release}
+
+%description svm-toy-gtk
+svm-toy is a libsvm demostration program which has a gtk-GUI to
+display the derived separating hyperplane.
+
+%package svm-toy-qt
+Summary: QT version of svm-toy (libsvm demostration program)
+Group: Development/Libraries
+BuildRequires: qt-devel
+BuildRequires: qt
+Requires: %{name} = %{version}-%{release}
+
+%description svm-toy-qt
+svm-toy is a libsvm demostration program which has a qt-GUI to
+display the derived separating hyperplane.
%prep
-%setup -q
+%setup -q
%patch0 -p0 -b .bak
+cp ../../SOURCES/log ChangeLog
+cp ../../SOURCES/guide.pdf .
%build
-make all CFLAGS="$RPM_OPT_FLAGS" PYTHON_VERSION="%{pyver}"
+make all CFLAGS="$RPM_OPT_FLAGS" PYTHON_VERSION="%{pyver}" JAVAC="%{javac}" JAR="%{jar}"
%{__sed} -i 's/\r//' FAQ.html
+%{__sed} -i 's/\r//' ChangeLog
mv python/README python/README-Python
mv tools/README tools/README-Tools
cp README java/README-Java
+cp README svm-toy/gtk
+cp README svm-toy/qt
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT LIBDIR=%{_libdir} PYTHON_VERSION="%{pyver}"
+#cd ${RPM_BUILD_ROOT}%{libdir_libsvm}; ln -sf %{name}.so.%{version} %{name}.so
rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/src
-%post -p /sbin/ldconfig
+%post
+/sbin/ldconfig %{libdir_libsvm}
-%postun -p /sbin/ldconfig
+%postun
+/sbin/ldconfig %{libdir_libsvm}
%clean
rm -rf $RPM_BUILD_ROOT
@@ -90,21 +123,22 @@ rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
-%doc COPYRIGHT FAQ.html
+%doc COPYRIGHT FAQ.html ChangeLog guide.pdf
%{_bindir}/svm-predict
%{_bindir}/svm-scale
%{_bindir}/svm-train
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/examples
-%{_libdir}/%{name}.so.%{version}
-%{_libdir}/%{name}.so.%{libsvm_ver_major}
+%dir %{libdir_libsvm}
+%{libdir_libsvm}/%{name}.so.%{version}
+%{libdir_libsvm}/%{name}.so.%{libsvm_ver_major}
%files devel
%defattr(-,root,root,-)
%doc README
%{_includedir}/%{name}/
-%{_libdir}/%{name}.so
+#%{libdir_libsvm}/%{name}.so
%files python
%defattr(-,root,root,-)
@@ -117,7 +151,25 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/%{name}/java
#%{_datadir}/javadoc/%{name}-%{version}
+%files svm-toy-gtk
+%defattr(-,root,root,-)
+%doc svm-toy/gtk/README
+%{_bindir}/svm-toy-gtk
+
+%files svm-toy-qt
+%defattr(-,root,root,-)
+%doc svm-toy/qt/README
+%{_bindir}/svm-toy-qt
+
+
%changelog
+* Mon Feb 04 2008 Ding-Yi Chen - 2.85-0
+- Upgrade to 2.85
+- Include guide.pdf in main package
+- Change the dependent from eclipse-ecj to java-1.5.0-gcj
+- Add svm-toy-gtk
+- Add svm-toy-qt
+
* Wed Dec 20 2007 Ding-Yi Chen - 2.84-9
- [Bug 254091] Comment 19
- Fix python/Makefile
diff --git a/ChangeLog b/log
similarity index 89%
rename from ChangeLog
rename to log
index d0f9c71..75df634 100644
--- a/ChangeLog
+++ b/log
@@ -123,5 +123,13 @@ file updated.
Modify do_shrinking() so variable names are the same as libsvm
document
-2.85: 2007/11/?
- fix minor memory leak in svm-predict.c
\ No newline at end of file
+2.85: 2007/11/6
+ fix minor memory leak in svm-predict.c
+ add tools/checkdata.py
+ java to 1.5
+ Makefile: CXX?
+ Makefile.win: avoid warning from .net 2005
+ avoid warning of gcc 4.2
+ sigma 0.001 to 1e-12; in Newton direction of prob output
+ 2 * (long int) l avoid warning of old Visual C++
+ grid.py: avoid gnuplot problem
\ No newline at end of file
diff --git a/sources b/sources
index 502194e..03692b7 100644
--- a/sources
+++ b/sources
@@ -1 +1,2 @@
-a7bd21b21510e9634950715c2b4a4ce9 libsvm-2.84.tar.gz
+aae7a8f7e357e86e1c893b706bb02a63 guide.pdf
+c839d919cc6fa7b5ad86ea37b7cebcc3 libsvm-2.85.tar.gz