From 54b83867911893878170e89635f8486550c42788 Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Mon, 30 Jan 2017 17:47:23 +0100 Subject: [PATCH] - initial --- libsvm-make.patch | 21 ++++++++++ libsvm-python.patch | 16 ++++++++ libsvm.spec | 98 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 135 insertions(+) create mode 100644 libsvm-make.patch create mode 100644 libsvm-python.patch create mode 100644 libsvm.spec diff --git a/libsvm-make.patch b/libsvm-make.patch new file mode 100644 index 0000000..8c88c57 --- /dev/null +++ b/libsvm-make.patch @@ -0,0 +1,21 @@ +--- libsvm-3.22/Makefile.orig 2016-12-21 19:58:48.000000000 +0100 ++++ libsvm-3.22/Makefile 2017-01-30 17:23:09.309548196 +0100 +@@ -11,12 +11,13 @@ + else \ + SHARED_LIB_FLAG="-shared -Wl,-soname,libsvm.so.$(SHVER)"; \ + fi; \ +- $(CXX) $${SHARED_LIB_FLAG} svm.o -o libsvm.so.$(SHVER) ++ $(CXX) $${SHARED_LIB_FLAG} svm.o -o libsvm.so.$(SHVER) ; \ ++ ln -s libsvm.so.$(SHVER) libsvm.so + +-svm-predict: svm-predict.c svm.o +- $(CXX) $(CFLAGS) svm-predict.c svm.o -o svm-predict -lm +-svm-train: svm-train.c svm.o +- $(CXX) $(CFLAGS) svm-train.c svm.o -o svm-train -lm ++svm-predict: lib svm-predict.c ++ $(CXX) $(CFLAGS) svm-predict.c -o svm-predict -L. -lsvm -lm ++svm-train: lib svm-train.c ++ $(CXX) $(CFLAGS) svm-train.c -o svm-train -L. -lsvm -lm + svm-scale: svm-scale.c + $(CXX) $(CFLAGS) svm-scale.c -o svm-scale + svm.o: svm.cpp svm.h diff --git a/libsvm-python.patch b/libsvm-python.patch new file mode 100644 index 0000000..96231db --- /dev/null +++ b/libsvm-python.patch @@ -0,0 +1,16 @@ +--- libsvm-3.22/python/svm.py.orig 2016-12-21 19:58:55.000000000 +0100 ++++ libsvm-3.22/python/svm.py 2017-01-30 16:49:35.296237859 +0100 +@@ -1,5 +1,3 @@ +-#!/usr/bin/env python +- + from ctypes import * + from ctypes.util import find_library + from os import path +--- libsvm-3.22/python/svmutil.py.orig 2016-12-21 19:58:55.000000000 +0100 ++++ libsvm-3.22/python/svmutil.py 2017-01-30 16:49:41.606237787 +0100 +@@ -1,5 +1,3 @@ +-#!/usr/bin/env python +- + import os + import sys + from svm import * diff --git a/libsvm.spec b/libsvm.spec new file mode 100644 index 0000000..27e6aa6 --- /dev/null +++ b/libsvm.spec @@ -0,0 +1,98 @@ +Summary: LIBSVM - simple, easy-to-use and efficient software for SVM classification and regression +Summary(pl.UTF-8): LIBSVM - proste, łatwe w użyciu i wydajne oprogramowanie do klasyfikacji i regresji SVM +Name: libsvm +Version: 3.22 +Release: 1 +License: BSD +Group: Libraries +Source0: http://www.csie.ntu.edu.tw/~cjlin/libsvm/%{name}-%{version}.tar.gz +# Source0-md5: 7c5c521a6a68c0f879c82f376e3557b6 +Patch0: %{name}-python.patch +Patch1: %{name}-make.patch +URL: http://www.csie.ntu.edu.tw/~cjlin/libsvm/ +BuildRequires: libstdc++-devel +BuildRequires: rpm-pythonprov +BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) + +%description +Libsvm is a simple, easy-to-use, and efficient software for SVM +classification and regression. It solves C-SVM classification, nu-SVM +classification, one-class-SVM, epsilon-SVM regression, and nu-SVM +regression. It also provides an automatic model selection tool for +C-SVM classification. + +%description -l pl.UTF-8 +Libsvm tio proste, łatwe w użyciu i wydajne oprogramowanie do +klasyfikacji i regresji SVM. Rozwiązuje problemy klasyfikacji C-SVM, +klasyfikacji nu-SVM, jednoklasowe SVM, regresji epsilon-SVM oraz +regresji nu-SVM. Udostępnia także narzędzie do automatycznego wyboru +modelu dla klasyfikacji C-SVM. + +%package devel +Summary: Header files for LIBSVM library +Summary(pl.UTF-8): Pliki nagłówkowe biblioteki LIBSVM +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} + +%description devel +Header files for LIBSVM library. + +%description devel -l pl.UTF-8 +Pliki nagłówkowe biblioteki LIBSVM. + +%package -n python-libsvm +Summary: Python interface for LIBSVM library +Summary(pl.UTF-8): Interfejs Pythona do biblioteki LIBSVM +Group: Libraries/Python +Requires: %{name} = %{version}-%{release} + +%description -n python-libsvm +Python interface for LIBSVM library. + +%description -n python-libsvm -l pl.UTF-8 +Interfejs Pythona do biblioteki LIBSVM. + +%prep +%setup -q +%patch0 -p1 +%patch1 -p1 + +%build +%{__make} \ + CC="%{__cc}" \ + CXX="%{__cxx}" \ + CFLAGS="%{rpmcflags} -fPIC -Wall" + +%install +rm -rf $RPM_BUILD_ROOT +install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_includedir},%{py_sitescriptdir}} + +install libsvm.so.* $RPM_BUILD_ROOT%{_libdir} +ln -sf $(basename $RPM_BUILD_ROOT%{_libdir}/libsvm.so.*) $RPM_BUILD_ROOT%{_libdir}/libsvm.so +cp -p svm.h $RPM_BUILD_ROOT%{_includedir} +install svm-predict svm-scale svm-train $RPM_BUILD_ROOT%{_bindir} +cp -p python/*.py $RPM_BUILD_ROOT%{py_sitescriptdir} + +%clean +rm -rf $RPM_BUILD_ROOT + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%defattr(644,root,root,755) +%doc COPYRIGHT FAQ.html README +%attr(755,root,root) %{_bindir}/svm-predict +%attr(755,root,root) %{_bindir}/svm-scale +%attr(755,root,root) %{_bindir}/svm-train +%attr(755,root,root) %{_libdir}/libsvm.so.2 + +%files devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libsvm.so +%{_includedir}/svm.h + +%files -n python-libsvm +%defattr(644,root,root,755) +%{py_sitescriptdir}/svm.py +%{py_sitescriptdir}/svmutil.py -- 2.44.0