Add gnuplot dependency for libsvm-python, as tools/easy.py needs it.

epel8
Ding-Yi Chen 17 years ago
parent 6dc1773da8
commit eeaa2da16d

@ -1,6 +1,6 @@
diff -up ./java/libsvm/svm_problem.java.orig ./java/libsvm/svm_problem.java diff -up ./java/libsvm/svm_problem.java.orig ./java/libsvm/svm_problem.java
--- ./java/libsvm/svm_problem.java.orig 2007-12-03 09:36:06.000000000 +1000 --- ./java/libsvm/svm_problem.java.orig 2007-12-12 14:22:51.000000000 +1000
+++ ./java/libsvm/svm_problem.java 2007-12-03 10:00:40.000000000 +1000 +++ ./java/libsvm/svm_problem.java 2007-12-13 10:05:16.000000000 +1000
@@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
package libsvm; package libsvm;
public class svm_problem implements java.io.Serializable public class svm_problem implements java.io.Serializable
@ -10,8 +10,8 @@ diff -up ./java/libsvm/svm_problem.java.orig ./java/libsvm/svm_problem.java
public double[] y; public double[] y;
public svm_node[][] x; public svm_node[][] x;
diff -up ./java/libsvm/svm_node.java.orig ./java/libsvm/svm_node.java diff -up ./java/libsvm/svm_node.java.orig ./java/libsvm/svm_node.java
--- ./java/libsvm/svm_node.java.orig 2007-12-03 09:35:56.000000000 +1000 --- ./java/libsvm/svm_node.java.orig 2007-12-12 14:23:11.000000000 +1000
+++ ./java/libsvm/svm_node.java 2007-12-03 10:00:40.000000000 +1000 +++ ./java/libsvm/svm_node.java 2007-12-13 10:05:16.000000000 +1000
@@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
package libsvm; package libsvm;
public class svm_node implements java.io.Serializable public class svm_node implements java.io.Serializable
@ -21,8 +21,8 @@ diff -up ./java/libsvm/svm_node.java.orig ./java/libsvm/svm_node.java
public double value; public double value;
} }
diff -up ./java/libsvm/svm_parameter.java.orig ./java/libsvm/svm_parameter.java diff -up ./java/libsvm/svm_parameter.java.orig ./java/libsvm/svm_parameter.java
--- ./java/libsvm/svm_parameter.java.orig 2007-12-03 09:35:45.000000000 +1000 --- ./java/libsvm/svm_parameter.java.orig 2007-12-12 14:25:43.000000000 +1000
+++ ./java/libsvm/svm_parameter.java 2007-12-03 10:00:40.000000000 +1000 +++ ./java/libsvm/svm_parameter.java 2007-12-13 10:05:16.000000000 +1000
@@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
package libsvm; package libsvm;
public class svm_parameter implements Cloneable,java.io.Serializable public class svm_parameter implements Cloneable,java.io.Serializable
@ -32,8 +32,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 C_SVC = 0;
public static final int NU_SVC = 1; public static final int NU_SVC = 1;
diff -up ./java/libsvm/svm_model.java.orig ./java/libsvm/svm_model.java diff -up ./java/libsvm/svm_model.java.orig ./java/libsvm/svm_model.java
--- ./java/libsvm/svm_model.java.orig 2007-12-03 09:35:34.000000000 +1000 --- ./java/libsvm/svm_model.java.orig 2007-12-12 14:27:38.000000000 +1000
+++ ./java/libsvm/svm_model.java 2007-12-03 10:00:40.000000000 +1000 +++ ./java/libsvm/svm_model.java 2007-12-13 10:05:16.000000000 +1000
@@ -4,6 +4,7 @@ @@ -4,6 +4,7 @@
package libsvm; package libsvm;
public class svm_model implements java.io.Serializable public class svm_model implements java.io.Serializable
@ -42,11 +42,9 @@ diff -up ./java/libsvm/svm_model.java.orig ./java/libsvm/svm_model.java
svm_parameter param; // parameter svm_parameter param; // parameter
int nr_class; // number of classes, = 2 in regression/one class svm int nr_class; // number of classes, = 2 in regression/one class svm
int l; // total #SV int l; // total #SV
diff -up ./java/libsvm/svm.java.orig ./java/libsvm/svm.java
diff -up ./java/libsvm/svm.m4.orig ./java/libsvm/svm.m4
diff -up ./java/svm_toy.java.orig ./java/svm_toy.java diff -up ./java/svm_toy.java.orig ./java/svm_toy.java
--- ./java/svm_toy.java.orig 2007-12-03 09:34:36.000000000 +1000 --- ./java/svm_toy.java.orig 2007-12-12 14:28:14.000000000 +1000
+++ ./java/svm_toy.java 2007-12-03 10:31:03.000000000 +1000 +++ ./java/svm_toy.java 2007-12-13 10:05:16.000000000 +1000
@@ -6,7 +6,7 @@ import java.awt.event.*; @@ -6,7 +6,7 @@ import java.awt.event.*;
import java.io.*; import java.io.*;
@ -66,8 +64,8 @@ diff -up ./java/svm_toy.java.orig ./java/svm_toy.java
super(title); super(title);
diff -up ./java/svm_predict.java.orig ./java/svm_predict.java diff -up ./java/svm_predict.java.orig ./java/svm_predict.java
diff -up ./java/Makefile.orig ./java/Makefile diff -up ./java/Makefile.orig ./java/Makefile
--- ./java/Makefile.orig 2007-12-03 09:33:44.000000000 +1000 --- ./java/Makefile.orig 2007-12-12 15:03:30.000000000 +1000
+++ ./java/Makefile 2007-12-04 09:38:06.000000000 +1000 +++ ./java/Makefile 2007-12-13 10:05:16.000000000 +1000
@@ -1,15 +1,18 @@ @@ -1,15 +1,18 @@
.SUFFIXES: .class .java .SUFFIXES: .class .java
-FILES = libsvm/svm.class libsvm/svm_model.class libsvm/svm_node.class \ -FILES = libsvm/svm.class libsvm/svm_model.class libsvm/svm_node.class \
@ -106,7 +104,7 @@ diff -up ./java/Makefile.orig ./java/Makefile
+ mkdir -p ${JAVA_TARGETDIR} + mkdir -p ${JAVA_TARGETDIR}
+ install -m 644 libsvm.jar ${JAVA_TARGETDIR} + install -m 644 libsvm.jar ${JAVA_TARGETDIR}
+ install -m 644 test_applet.html ${JAVA_TARGETDIR} + install -m 644 test_applet.html ${JAVA_TARGETDIR}
+ mkdir -p ${JAVA_DOCDIR} +# mkdir -p ${JAVA_DOCDIR}
+# cd docs; cp -R * ${JAVA_DOCDIR} +# cd docs; cp -R * ${JAVA_DOCDIR}
+uninstall: +uninstall:
+ rm -fr ${JAVA_TARGETDIR} + rm -fr ${JAVA_TARGETDIR}
@ -119,8 +117,8 @@ diff -up ./java/Makefile.orig ./java/Makefile
dist: clean all dist: clean all
rm *.class libsvm/*.class rm *.class libsvm/*.class
diff -up ./java/test_applet.html.orig ./java/test_applet.html diff -up ./java/test_applet.html.orig ./java/test_applet.html
--- ./java/test_applet.html.orig 2007-12-03 09:35:06.000000000 +1000 --- ./java/test_applet.html.orig 2007-12-12 14:49:48.000000000 +1000
+++ ./java/test_applet.html 2007-12-03 10:00:40.000000000 +1000 +++ ./java/test_applet.html 2007-12-13 10:05:16.000000000 +1000
@@ -1 +1,3 @@ @@ -1 +1,3 @@
-<APPLET code="svm_toy.class" archive="libsvm.jar" width=300 height=350></APPLET> -<APPLET code="svm_toy.class" archive="libsvm.jar" width=300 height=350></APPLET>
+<html> +<html>
@ -128,13 +126,15 @@ diff -up ./java/test_applet.html.orig ./java/test_applet.html
+</html> +</html>
diff -up ./java/svm_train.java.orig ./java/svm_train.java diff -up ./java/svm_train.java.orig ./java/svm_train.java
diff -up ./Makefile.orig ./Makefile diff -up ./Makefile.orig ./Makefile
--- ./Makefile.orig 2007-12-03 09:33:37.000000000 +1000 --- ./Makefile.orig 2007-12-12 15:52:58.000000000 +1000
+++ ./Makefile 2007-12-03 15:16:15.000000000 +1000 +++ ./Makefile 2007-12-14 10:55:02.000000000 +1000
@@ -1,8 +1,39 @@ @@ -1,8 +1,41 @@
CXXC = g++ CXXC = g++
CFLAGS = -Wall -O3 CFLAGS = -Wall -O3
+MAKE = make +MAKE = make
+LIBSVM_VER =2.84 +LIBSVM_VER_MAJOR=2
+LIBSVM_VER_MINOR=84
+LIBSVM_VER =${LIBSVM_VER_MAJOR}.${LIBSVM_VER_MINOR}
+export LIBSVM_VER +export LIBSVM_VER
-all: svm-train svm-predict svm-scale -all: svm-train svm-predict svm-scale
@ -164,14 +164,14 @@ diff -up ./Makefile.orig ./Makefile
+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-lib: svm-share.o +svm-lib: svm-share.o
+ $(CXXC) -shared -Wl,-soname,libsvm.so.${LIBSVM_VER}\ \ + $(CXXC) -shared -Wl,-soname,libsvm.so.${LIBSVM_VER_MAJOR}\
+ -o libsvm.so.${LIBSVM_VER} svm-share.o -lm + -o libsvm.so.${LIBSVM_VER} svm-share.o -lm
+svm-share.o: svm.cpp svm.h +svm-share.o: svm.cpp svm.h
+ $(CXXC) -g -fPIC $(CFLAGS) -c svm.cpp -o svm-share.o + $(CXXC) -g -fPIC $(CFLAGS) -c svm.cpp -o svm-share.o
svm-predict: svm-predict.c svm.o svm-predict: svm-predict.c svm.o
$(CXXC) $(CFLAGS) svm-predict.c svm.o -o svm-predict -lm $(CXXC) $(CFLAGS) svm-predict.c svm.o -o svm-predict -lm
svm-train: svm-train.c svm.o svm-train: svm-train.c svm.o
@@ -11,5 +42,56 @@ svm-scale: svm-scale.c @@ -11,5 +44,61 @@ svm-scale: svm-scale.c
$(CXXC) $(CFLAGS) svm-scale.c -o svm-scale $(CXXC) $(CFLAGS) svm-scale.c -o svm-scale
svm.o: svm.cpp svm.h svm.o: svm.cpp svm.h
$(CXXC) $(CFLAGS) -c svm.cpp $(CXXC) $(CFLAGS) -c svm.cpp
@ -185,11 +185,16 @@ diff -up ./Makefile.orig ./Makefile
+ install -m 755 svm-train ${INSTDIR}/bin + install -m 755 svm-train ${INSTDIR}/bin
+ install -m 755 svm-predict ${INSTDIR}/bin + install -m 755 svm-predict ${INSTDIR}/bin
+ install -m 755 svm-scale ${INSTDIR}/bin + install -m 755 svm-scale ${INSTDIR}/bin
+ mkdir -p ${LIB_INSTDIR}/libsvm +# mkdir -p ${LIB_INSTDIR}/libsvm
+ install -m 755 libsvm.so.2.84 ${LIB_INSTDIR}/libsvm + mkdir -p ${LIB_INSTDIR}
+ cd ${LIB_INSTDIR}/libsvm; ln -s libsvm.so.${LIBSVM_VER} libsvm.so +# install -m 755 libsvm.so.${LIBSVM_VER} ${LIB_INSTDIR}/libsvm
+ install -m 755 libsvm.so.${LIBSVM_VER} ${LIB_INSTDIR}
+# 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
+# install package libsvm-devel +# install package libsvm-devel
+ install -m 644 svm.o ${LIB_INSTDIR}/libsvm +# install -m 644 svm.o ${LIB_INSTDIR}/libsvm
+ mkdir -p ${INSTDIR}/include/libsvm + mkdir -p ${INSTDIR}/include/libsvm
+ install -m 644 svm.h ${INSTDIR}/include/libsvm + install -m 644 svm.h ${INSTDIR}/include/libsvm
+ mkdir -p ${INSTDIR}/share/libsvm/src/java/libsvm + mkdir -p ${INSTDIR}/share/libsvm/src/java/libsvm
@ -229,8 +234,8 @@ diff -up ./Makefile.orig ./Makefile
+ ${MAKE} -C java clean + ${MAKE} -C java clean
+ +
diff -up ./python/Makefile.orig ./python/Makefile diff -up ./python/Makefile.orig ./python/Makefile
--- ./python/Makefile.orig 2007-12-03 11:13:21.000000000 +1000 --- ./python/Makefile.orig 2007-12-13 09:33:32.000000000 +1000
+++ ./python/Makefile 2007-12-03 11:14:48.000000000 +1000 +++ ./python/Makefile 2007-12-13 10:05:16.000000000 +1000
@@ -2,7 +2,14 @@ CC = g++ @@ -2,7 +2,14 @@ CC = g++
SWIG ?= swig SWIG ?= swig
@ -269,4 +274,3 @@ diff -up ./python/Makefile.orig ./python/Makefile
+ +
diff -up ./tools/easy.py.orig ./tools/easy.py diff -up ./tools/easy.py.orig ./tools/easy.py
diff -up ./tools/grid.py.orig ./tools/grid.py diff -up ./tools/grid.py.orig ./tools/grid.py
diff -up ./tools/subset.py.orig ./tools/subset.py

@ -1,6 +1,6 @@
Name: libsvm Name: libsvm
Version: 2.84 Version: 2.84
Release: 7%{?dist} Release: 8%{?dist}
Summary: A Library for Support Vector Machines Summary: A Library for Support Vector Machines
Group: Development/Libraries Group: Development/Libraries
@ -10,11 +10,15 @@ 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 #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: ChangeLog
#Source1: http://www.csie.ntu.edu.tw/~cjlin/libsvm/log #Source1: http://www.csie.ntu.edu.tw/~cjlin/libsvm/log
Patch0: libsvm-2.84-7.patch Patch0: libsvm-2.84-8.patch
#BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: glibc-devel dos2unix BuildRequires: glibc-devel
%define libsvm_ver_major 2
%define temp_file /tmp/python.ver
%define python_version %(python -V 2> %{temp_file} ; cat %{temp_file} | awk 'BEGIN {FS= "[ .]"} {printf("%s.%s",$2,$3)}'; rm -f %{temp_file})
%define libsvm_python_dir %{_libdir}/python%{python_version}/site-packages/libsvm
%description %description
LIBSVM is an integrated software for support vector classification, LIBSVM is an integrated software for support vector classification,
@ -35,7 +39,8 @@ Install this package if you want to develop programs with libsvm.
%package python %package python
Summary: Python tools and interfaces for libsvm Summary: Python tools and interfaces for libsvm
Group: Development/Libraries Group: Development/Libraries
BuildRequires: python-devel >= 2.4 gawk BuildRequires: python-devel >= 2.4 gawk gnuplot
#gnuplot is required by easy.py
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
%description python %description python
@ -59,46 +64,57 @@ programs with libsvm in Java.
%prep %prep
%setup -q %setup -q
%patch0 -p0 -b .bak %patch0 -p0 -b .bak
%define temp_file /tmp/python.ver
%define python_version %(python -V 2> %{temp_file} ; cat %{temp_file} | awk 'BEGIN {FS= "[ .]"} {printf("%s.%s",$2,$3)}'; rm -f %{temp_file})
%define libsvm_python_dir %{_libdir}/python%{python_version}/site-packages/libsvm
%build %build
make all DESTDIR=%{_builddir} LIBDIR=%{_libdir} make all DESTDIR=%{_builddir} LIBDIR=%{_libdir}
dos2unix -o %{_builddir}/%{name}-%{version}/FAQ.html %{__sed} -i 's/\r//' FAQ.html
mv %{_builddir}/%{name}-%{version}/python/README %{_builddir}/%{name}-%{version}/python/README-Python mv python/README python/README-Python
mv %{_builddir}/%{name}-%{version}/tools/README %{_builddir}/%{name}-%{version}/tools/README-Tools mv tools/README tools/README-Tools
cp %{_builddir}/%{name}-%{version}/README %{_builddir}/%{name}-%{version}/java/README-Java cp README java/README-Java
%install %install
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT LIBDIR=%{_libdir} make install DESTDIR=$RPM_BUILD_ROOT LIBDIR=%{_libdir}
ldconfig -n %{_libdir}/libsvm #This is required for rpmbuild
#/sbin/ldconfig -n %{_libdir}
%post
/sbin/ldconfig -n %{_libdir}
%postun
if [ "$1" = "0" ]; then
/sbin/ldconfig
fi
%clean %clean
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT
%files %files
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc COPYRIGHT FAQ.html %doc COPYRIGHT FAQ.html
%{_bindir}/svm-predict %{_bindir}/svm-predict
%{_bindir}/svm-scale %{_bindir}/svm-scale
%{_bindir}/svm-train %{_bindir}/svm-train
%dir %{_datadir}/libsvm %dir %{_datadir}/%{name}
%{_datadir}/libsvm/examples %{_datadir}/%{name}/examples
%{_libdir}/libsvm/ #%dir %{_libdir}/%{name}
#%{_libdir}/%{name}/%{name}.so.%{version}
%{_libdir}/%{name}.so.%{version}
%{_libdir}/%{name}.so.%{libsvm_ver_major}
%files devel %files devel
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc README %doc README
%{_includedir}/libsvm/ %{_includedir}/%{name}/
%{_datadir}/libsvm/src #including source for developeer
%{_datadir}/%{name}/src
#%{_libdir}/%{name}/%{name}.so
%{_libdir}/%{name}.so
%files python %files python
%defattr(-,root,root,-) %defattr(-,root,root,-)
@ -108,13 +124,17 @@ rm -rf $RPM_BUILD_ROOT
%files java %files java
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc java/README-Java %doc java/README-Java
%{_datadir}/libsvm/java %{_datadir}/%{name}/java
#%{_datadir}/javadoc/%{name}-%{version} #%{_datadir}/javadoc/%{name}-%{version}
%changelog %changelog
* Thu Dec 13 2007 Ding-Yi Chen <dchen@redhat.com> - 2.84-8
- Fix improper sed.
- Change ldconfig to /sbin/ldconfig
- Add gnuplot dependency for libsvm-python, as tools/easy.py needs it.
* Mon Dec 03 2007 Ding-Yi Chen <dchen@redhat.com> - 2.84-7 * Mon Dec 03 2007 Ding-Yi Chen <dchen@redhat.com> - 2.84-7
- [Bug 254091] Review Request: libsvm - A Library for Support Vector Machines (Comment #12) - [Bug 254091] Review Request: libsvm - A Library for Support Vector Machines (Comment #12)
- Move javadoc to proper place
* Thu Sep 26 2007 Ding-Yi Chen <dchen@redhat.com> - 2.84-6 * Thu Sep 26 2007 Ding-Yi Chen <dchen@redhat.com> - 2.84-6
- Add defattr to each subpackage - Add defattr to each subpackage

Loading…
Cancel
Save