diff --git a/.gitignore b/.gitignore index f223af3..c5ed10e 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ libsvm-3.91.tar.gz /libsvm-svm-toy-gtk.desktop /libsvm-svm-toy-qt.desktop /libsvm-3.20.tar.gz +/libsvm-3.21.tar.gz diff --git a/libsvm-3.17.pom b/libsvm-3.17.pom index 511b1b2..7b7977b 100644 --- a/libsvm-3.17.pom +++ b/libsvm-3.17.pom @@ -3,7 +3,7 @@ 4.0.0 tw.edu.ntu.csie libsvm - 3.20 + 3.17 jar LIBSVM A Library for Support Vector Machines diff --git a/libsvm-3.20.javaDir.patch b/libsvm.javaDir.patch similarity index 100% rename from libsvm-3.20.javaDir.patch rename to libsvm.javaDir.patch diff --git a/libsvm-3.20.packageMain.patch b/libsvm.packageMain.patch similarity index 100% rename from libsvm-3.20.packageMain.patch rename to libsvm.packageMain.patch diff --git a/libsvm-3.20.pythonDir.patch b/libsvm.pythonDir.patch similarity index 100% rename from libsvm-3.20.pythonDir.patch rename to libsvm.pythonDir.patch diff --git a/libsvm.spec b/libsvm.spec index bf33982..28a7613 100644 --- a/libsvm.spec +++ b/libsvm.spec @@ -1,15 +1,15 @@ -%global shver 2 +%define shver 2 %{!?pyver: %global pyver %(python -c 'import sys; print(sys.version[0:3])')} -%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} -%global libdir_libsvm %{_libdir}/libsvm -%global libsvm_python_dir %{python_sitearch}/libsvm +%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} +%define libdir_libsvm %{_libdir}/libsvm +%define libsvm_python_dir %{python_sitearch}/libsvm %global maven_group_id tw.edu.ntu.csie %global pom_file_version 3.17 %global pom_file_name JPP.%{maven_group_id}-%{name}.pom Name: libsvm -Version: 3.20 -Release: 8%{?dist} +Version: 3.21 +Release: 1%{?dist} Summary: A Library for Support Vector Machines Group: Development/Libraries @@ -22,39 +22,39 @@ Source3: libsvm-svm-toy-gtk.desktop Source4: libsvm-svm-toy-qt.desktop Source5: LibSVM-svm-toy-48.png Source6: http://central.maven.org/maven2/tw/edu/ntu/csie/libsvm/%{pom_file_version}/libsvm-%{pom_file_version}.pom -Patch0: %{name}-%{version}.packageMain.patch -Patch1: %{name}-%{version}.pythonDir.patch -Patch2: %{name}-%{version}.javaDir.patch -Patch3: %{name}-%{version}.svm-toy.patch -Patch4: %{name}-%{version}.toolsDir.patch +Patch0: %{name}.packageMain.patch +Patch1: %{name}.pythonDir.patch +Patch2: %{name}.javaDir.patch +Patch3: %{name}.svm-toy.patch +Patch4: %{name}.toolsDir.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: grep %if 0%{?rhel} != 0 && 0%{?rhel} <= 5 -%global moc_path %{_libdir}/qt4/bin/moc -%global with_vendor "fedora" +%define moc_path %{_libdir}/qt4/bin/moc +%define with_vendor "fedora" %else -%global moc_path %{_bindir}/moc-qt4 +%define moc_path %{_bindir}/moc-qt4 %endif # RHEL6 does not have enable_add_maven_depmap %if 0%{?rhel} != 0 && 0%{?rhel} <= 6 -%global enable_add_maven_depmap FALSE +%define enable_add_maven_depmap FALSE %else -%global enable_add_maven_depmap TRUE +%define enable_add_maven_depmap TRUE %endif %ifnarch ppc ppc64 -%global no_java FALSE +%define no_java FALSE %if 0%{?rhel} <= 6 -%global java_dependency java -%else -%global java_dependency java-headless +%define java_dependency java +%else +%define java_dependency java-headless %endif %else -%global no_java NO_JAVA -%global enable_add_maven_depmap FALSE +%define no_java NO_JAVA +%define enable_add_maven_depmap FALSE Obsoletes: libsvm-java < 2.88-1 %endif @@ -200,16 +200,18 @@ desktop-file-install --delete-original \ %{buildroot}/%{_datadir}/applications/%{name}-svm-toy-qt.desktop %endif +# Python # Fix Bug 646154 - libsvm-python's pth is not set correctly echo 'libsvm' > %{buildroot}/%{python_sitearch}/libsvm.pth - +for p in %{buildroot}%{libsvm_python_dir}/*.py;do + sed -i -e 's|#!/usr/bin/env python|#!%{__python2}|' $p +done # Java %if "%{no_java}" == "FALSE" ## Move jars to correct directory mkdir -p %{buildroot}/%{_javadir}/%{maven_group_id} -mv %{buildroot}/%{_javadir}/%{name}.jar %{buildroot}/%{_javadir}/%{maven_group_id}/%{name}-%{version}.jar -ln -s %{name}-%{version}.jar %{buildroot}/%{_javadir}/%{maven_group_id}/%{name}.jar +mv %{buildroot}/%{_javadir}/%{name}.jar %{buildroot}/%{_javadir}/%{maven_group_id}/%{name}.jar ln -s %{_javadir}/%{maven_group_id}/%{name}.jar %{buildroot}/%{_javadir}/%{name}.jar ## Install the Java POM mkdir -p %{buildroot}%{_mavenpomdir} @@ -247,6 +249,7 @@ rm -rf %{buildroot} %files +%defattr(-,root,root,-) %doc COPYRIGHT FAQ.html ChangeLog guide.pdf %{_bindir}/svm-predict %{_bindir}/svm-scale @@ -256,11 +259,13 @@ rm -rf %{buildroot} %{_libdir}/%{name}.so.%{shver} %files devel +%defattr(-,root,root,-) %doc README %{_includedir}/%{name}/ %{_libdir}/%{name}.so %files python +%defattr(-,root,root,-) %doc python/README-Python tools/README-Tools %{libsvm_python_dir} %{_bindir}/svm-*.py @@ -272,9 +277,9 @@ rm -rf %{buildroot} %else %files java %endif +%defattr(-,root,root,-) %doc java/README-Java java/test_applet.html %{_javadir}/%{name}.jar -%{_javadir}/%{maven_group_id}/%{name}-%{version}.jar %if "%{enable_add_maven_depmap}" == "FALSE" %{_javadir}/%{maven_group_id}/%{name}.jar %{_mavenpomdir}/%{pom_file_name} @@ -282,29 +287,23 @@ rm -rf %{buildroot} %endif %files svm-toy-gtk +%defattr(-,root,root,-) %doc svm-toy/gtk/README %{_bindir}/svm-toy-gtk %{_datadir}/icons/hicolor/48x48/apps/%{name}-svm-toy-gtk-48.png %{_datadir}/applications/*%{name}-svm-toy-gtk.desktop %files svm-toy-qt +%defattr(-,root,root,-) %doc svm-toy/qt/README %{_bindir}/svm-toy-qt %{_datadir}/icons/hicolor/48x48/apps/%{name}-svm-toy-qt-48.png %{_datadir}/applications/*%{name}-svm-toy-qt.desktop - %changelog -* Tue Jul 19 2016 Fedora Release Engineering - 3.20-8 -- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages - -* Thu Feb 04 2016 Fedora Release Engineering - 3.20-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Fri Dec 25 2015 Björn Esser - 3.20-6 -- Replaced %%define with %%global -- dropped %%defattr -- clean trailing whitespaces +* Wed Jul 20 2016 Ding-Yi Chen - 3.21-1 +- Upstream update to 3.21 +- Fixes Bug 1277450 - libsvm(-java) remove versioned jars from {_javadir} * Wed Jun 17 2015 Fedora Release Engineering - 3.20-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild @@ -339,7 +338,7 @@ rm -rf %{buildroot} * Tue Apr 22 2014 Ding-Yi Chen - 3.18-1 - Upstream update to 3.18 - svm.cpp and svm-scale.c: check return values of fscanf -- matlab interface: Makefile no longer handles octave +- matlab interface: Makefile no longer handles octave because make.m should be used * Fri Mar 28 2014 Michael Simacek - 3.17-4 diff --git a/libsvm-3.20.svm-toy.patch b/libsvm.svm-toy.patch similarity index 75% rename from libsvm-3.20.svm-toy.patch rename to libsvm.svm-toy.patch index d2a9274..4fc0982 100644 --- a/libsvm-3.20.svm-toy.patch +++ b/libsvm.svm-toy.patch @@ -1,6 +1,6 @@ diff -up ./svm-toy/gtk/Makefile.svm-toy ./svm-toy/gtk/Makefile ---- ./svm-toy/gtk/Makefile.svm-toy 2011-05-11 12:15:45.000000000 +1000 -+++ ./svm-toy/gtk/Makefile 2012-04-04 17:02:28.366615284 +1000 +--- ./svm-toy/gtk/Makefile.svm-toy 2015-12-14 23:49:17.000000000 +1000 ++++ ./svm-toy/gtk/Makefile 2016-07-20 11:56:30.157119649 +1000 @@ -1,10 +1,12 @@ CC? = gcc CXX? = g++ @@ -31,24 +31,27 @@ diff -up ./svm-toy/gtk/Makefile.svm-toy ./svm-toy/gtk/Makefile - 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 ${LOCAL_LIBDIR}/svm.o diff -up ./svm-toy/qt/Makefile.svm-toy ./svm-toy/qt/Makefile ---- ./svm-toy/qt/Makefile.svm-toy 2011-05-11 12:15:45.000000000 +1000 -+++ ./svm-toy/qt/Makefile 2012-04-04 17:02:28.366615284 +1000 -@@ -1,17 +1,22 @@ +--- ./svm-toy/qt/Makefile.svm-toy 2016-07-20 11:56:30.157119649 +1000 ++++ ./svm-toy/qt/Makefile 2016-07-20 13:40:21.876341574 +1000 +@@ -1,17 +1,25 @@ CXX? = g++ --CFLAGS = -Wall -O3 -I$(INCLUDE) -I$(INCLUDE)/QtGui -lQtGui --INCLUDE = /usr/include/qt4 --MOC = /usr/bin/moc-qt4 ++-CFLAGS = -Wall -O3 -I$(INCLUDE) -I$(INCLUDE)/QtGui -lQtGui ++-MOC = /usr/bin/moc-qt4 + INCLUDE = /usr/include/qt4 +-CFLAGS = -Wall -O3 -I$(INCLUDE) -I$(INCLUDE)/QtGui -I$(INCLUDE)/QtCore +SHVER?=2 +CFLAGS = -Wall -O3 `pkg-config --cflags --libs QtGui` + LIB = -lQtGui -lQtCore +-MOC = /usr/bin/moc-qt4 +MOC=${MOC_PATH} +LOCAL_LIBDIR=../.. +LIBS = -L${LOCAL_LIBDIR} -lsvm +LIBSVM_SO_SHVER=${LOCAL_LIBDIR}/libsvm.so.$(SHVER) -svm-toy: svm-toy.cpp svm-toy.moc ../../svm.o -- $(CXX) $(CFLAGS) svm-toy.cpp ../../svm.o -o svm-toy +- $(CXX) $(CFLAGS) svm-toy.cpp ../../svm.o -o svm-toy $(LIB) +all: svm-toy-qt -+ ++ +svm-toy-qt: svm-toy.cpp svm-toy.moc $(LIBSVM_SO_SHVER) + $(CXX) $(CFLAGS) svm-toy.cpp ${LIBS} -o $@ @@ -61,6 +64,4 @@ diff -up ./svm-toy/qt/Makefile.svm-toy ./svm-toy/qt/Makefile + make -C ${LOCAL_LIBDIR} lib clean: -- rm -f *~ svm-toy svm-toy.moc ../../svm.o -+ rm -f *~ svm-toy svm-toy.moc $(LIBSVM_SO_SHVER) - + rm -f *~ svm-toy svm-toy.moc ../../svm.o diff --git a/libsvm-3.20.toolsDir.patch b/libsvm.toolsDir.patch similarity index 100% rename from libsvm-3.20.toolsDir.patch rename to libsvm.toolsDir.patch diff --git a/log b/log index 85ef1bb..c6074b0 100644 --- a/log +++ b/log @@ -277,3 +277,9 @@ i subroutines to get SVs 3.20: 2014/11/15 matlab interface: fix a bug in libsvmwrite.c introduced in 3.19 (cannot run on windows) + +3.21: 2015/12/14 + pre-built windows exe files changed from 32 to 64 bit + matlab interface: + now use #include "../svm.h" + fix some minor issues in make.m of matlab interface \ No newline at end of file diff --git a/sources b/sources index 2aa72d2..46bd5da 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -b1543809993e2653dd2787f62c3c390a guide.pdf -5f088e5f89da1c65b642300c9c5ea772 libsvm-3.20.tar.gz +e7392f325efd1c6ddacd8e2c8bb023d1 guide.pdf +30d2a0a8043e0f66cb7903b3ce45b3bf libsvm-3.21.tar.gz