[packages/liblinear] - updated to 2.30 - updated python,matlab patches
qboosh
qboosh at pld-linux.org
Wed Dec 25 13:48:10 CET 2019
commit 634caa8a7fc789c2707bc2c35616ef72a5bd3bdd
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Wed Dec 25 13:48:57 2019 +0100
- updated to 2.30
- updated python,matlab patches
liblinear-matlab.patch | 27 +++++++++--------
liblinear-python.patch | 8 +++++
liblinear.spec | 79 +++++++++++++++++++++++++++++++++++++++++---------
3 files changed, 89 insertions(+), 25 deletions(-)
---
diff --git a/liblinear.spec b/liblinear.spec
index 1bb3a3f..5e14089 100644
--- a/liblinear.spec
+++ b/liblinear.spec
@@ -1,23 +1,33 @@
#
# Conditional build:
%bcond_without octave # Octave (MATLAB) module
+%bcond_without python # Python (any) interface
+%bcond_without python2 # Python 2.x interface
+%bcond_without python3 # Python 3.x interface
#
+%if %{without python}
+%undefine with_python2
+%undefine with_python3
+%endif
Summary: LIBLINEAR - a Library for Large Linear Classification
Summary(pl.UTF-8): LIBLINEAR - biblioteka do liniowej klasyfikacji dużych danych
Name: liblinear
-Version: 2.1
-Release: 3
+Version: 2.30
+Release: 1
License: BSD
Group: Libraries
-Source0: http://www.csie.ntu.edu.tw/~cjlin/liblinear/%{name}-%{version}.tar.gz
-# Source0-md5: 0d87a71d054ed17c5ee7656efba06e89
+Source0: https://www.csie.ntu.edu.tw/~cjlin/liblinear/%{name}-%{version}.tar.gz
+# Source0-md5: 5c807aebd62c3eca72b809d66e1432e8
Patch0: %{name}-python.patch
Patch1: %{name}-make.patch
Patch2: %{name}-matlab.patch
-URL: http://www.csie.ntu.edu.tw/~cjlin/liblinear/
+URL: https://www.csie.ntu.edu.tw/~cjlin/liblinear/
BuildRequires: blas-devel
BuildRequires: libstdc++-devel
%{?with_octave:BuildRequires: octave-devel}
+%{?with_python2:BuildRequires: python-devel >= 1:2.6}
+%{?with_python3:BuildRequires: python3-devel >= 1:3.2}
+BuildRequires: rpmbuild(macros) >= 1.507
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define octave_oct_dir %(octave-config --oct-site-dir)
@@ -64,17 +74,30 @@ MATLAB/Octave interface for LIBLINEAR library.
Interfejs MATLAB-a/Octave do biblioteki LIBLINEAR.
%package -n python-liblinear
-Summary: Python interface for LIBLINEAR library
-Summary(pl.UTF-8): Interfejs Pythona do biblioteki LIBLINEAR
+Summary: Python 2 interface for LIBLINEAR library
+Summary(pl.UTF-8): Interfejs Pythona 2 do biblioteki LIBLINEAR
Group: Libraries/Python
Requires: %{name} = %{version}-%{release}
Requires: python-libs
%description -n python-liblinear
-Python interface for LIBLINEAR library.
+Python 2 interface for LIBLINEAR library.
%description -n python-liblinear -l pl.UTF-8
-Interfejs Pythona do biblioteki LIBLINEAR.
+Interfejs Pythona 2 do biblioteki LIBLINEAR.
+
+%package -n python3-liblinear
+Summary: Python 3 interface for LIBLINEAR library
+Summary(pl.UTF-8): Interfejs Pythona 3 do biblioteki LIBLINEAR
+Group: Libraries/Python
+Requires: %{name} = %{version}-%{release}
+Requires: python3-libs
+
+%description -n python3-liblinear
+Python 3 interface for LIBLINEAR library.
+
+%description -n python3-liblinear -l pl.UTF-8
+Interfejs Pythona 3 do biblioteki LIBLINEAR.
%prep
%setup -q
@@ -101,20 +124,36 @@ Interfejs Pythona do biblioteki LIBLINEAR.
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_includedir},%{py_sitescriptdir}}
+install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_includedir}}
install liblinear.so.* $RPM_BUILD_ROOT%{_libdir}
ln -sf $(basename $RPM_BUILD_ROOT%{_libdir}/liblinear.so.*) $RPM_BUILD_ROOT%{_libdir}/liblinear.so
cp -p linear.h tron.h $RPM_BUILD_ROOT%{_includedir}
install train $RPM_BUILD_ROOT%{_bindir}/liblinear-train
install predict $RPM_BUILD_ROOT%{_bindir}/liblinear-predict
-cp -p python/*.py $RPM_BUILD_ROOT%{py_sitescriptdir}
%if %{with octave}
install -d $RPM_BUILD_ROOT%{octave_oct_dir}/liblinear
install matlab/*.mex $RPM_BUILD_ROOT%{octave_oct_dir}/liblinear
%endif
+%if %{with python2}
+install -d $RPM_BUILD_ROOT%{py_sitescriptdir}
+cp -p python/*.py $RPM_BUILD_ROOT%{py_sitescriptdir}
+
+%py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}
+%py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}
+%py_postclean
+%endif
+
+%if %{with python3}
+install -d $RPM_BUILD_ROOT%{py3_sitescriptdir}
+cp -p python/*.py $RPM_BUILD_ROOT%{py3_sitescriptdir}
+
+%py3_comp $RPM_BUILD_ROOT%{py3_sitescriptdir}
+%py3_ocomp $RPM_BUILD_ROOT%{py3_sitescriptdir}
+%endif
+
%clean
rm -rf $RPM_BUILD_ROOT
@@ -144,7 +183,21 @@ rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{octave_oct_dir}/liblinear/train.mex
%endif
+%if %{with python2}
%files -n python-liblinear
%defattr(644,root,root,755)
-%{py_sitescriptdir}/liblinear.py
-%{py_sitescriptdir}/liblinearutil.py
+%{py_sitescriptdir}/commonutil.py[co]
+%{py_sitescriptdir}/liblinear.py[co]
+%{py_sitescriptdir}/liblinearutil.py[co]
+%endif
+
+%if %{with python3}
+%files -n python3-liblinear
+%defattr(644,root,root,755)
+%{py3_sitescriptdir}/commonutil.py
+%{py3_sitescriptdir}/liblinear.py
+%{py3_sitescriptdir}/liblinearutil.py
+%{py3_sitescriptdir}/__pycache__/commonutil.cpython-*.py[co]
+%{py3_sitescriptdir}/__pycache__/liblinear.cpython-*.py[co]
+%{py3_sitescriptdir}/__pycache__/liblinearutil.cpython-*.py[co]
+%endif
diff --git a/liblinear-matlab.patch b/liblinear-matlab.patch
index 629c77c..b5be3a7 100644
--- a/liblinear-matlab.patch
+++ b/liblinear-matlab.patch
@@ -1,18 +1,21 @@
---- liblinear-2.1/matlab/Makefile.orig 2015-09-27 00:03:34.000000000 +0200
-+++ liblinear-2.1/matlab/Makefile 2017-01-29 18:03:28.723840435 +0100
-@@ -20,11 +20,11 @@
- @echo "please type make under Octave"
+--- liblinear-2.30/matlab/Makefile.orig 2019-12-25 13:15:35.331813000 +0100
++++ liblinear-2.30/matlab/Makefile 2019-12-25 13:20:29.616885387 +0100
+@@ -21,14 +21,14 @@
binary: train.$(MEX_EXT) predict.$(MEX_EXT) libsvmread.$(MEX_EXT) libsvmwrite.$(MEX_EXT)
--train.$(MEX_EXT): train.c ../linear.h ../tron.o ../linear.o linear_model_matlab.o ../blas/blas.a
-- $(MEX) $(MEX_OPTION) train.c ../tron.o ../linear.o linear_model_matlab.o ../blas/blas.a
-+train.$(MEX_EXT): train.c ../linear.h ../tron.o ../linear.o linear_model_matlab.o
-+ $(MEX) $(MEX_OPTION) train.c ../tron.o ../linear.o linear_model_matlab.o -lblas
+ train.$(MEX_EXT): train.c ../linear.h ../tron.cpp ../linear.cpp linear_model_matlab.c \
+- ../blas/daxpy.c ../blas/ddot.c ../blas/dnrm2.c ../blas/dscal.c
++ $(nil)
+ $(MEX) $(MEX_OPTION) train.c ../tron.cpp ../linear.cpp linear_model_matlab.c \
+- ../blas/daxpy.c ../blas/ddot.c ../blas/dnrm2.c ../blas/dscal.c
++ -lblas
--predict.$(MEX_EXT): predict.c ../linear.h ../tron.o ../linear.o linear_model_matlab.o ../blas/blas.a
-- $(MEX) $(MEX_OPTION) predict.c ../tron.o ../linear.o linear_model_matlab.o ../blas/blas.a
-+predict.$(MEX_EXT): predict.c ../linear.h ../tron.o ../linear.o linear_model_matlab.o
-+ $(MEX) $(MEX_OPTION) predict.c ../tron.o ../linear.o linear_model_matlab.o -lblas
+ predict.$(MEX_EXT): predict.c ../linear.h ../tron.cpp ../linear.cpp linear_model_matlab.c \
+- ../blas/daxpy.c ../blas/ddot.c ../blas/dnrm2.c ../blas/dscal.c
++ $(nil)
+ $(MEX) $(MEX_OPTION) predict.c ../tron.cpp ../linear.cpp linear_model_matlab.c \
+- ../blas/daxpy.c ../blas/ddot.c ../blas/dnrm2.c ../blas/dscal.c
++ -lblas
libsvmread.$(MEX_EXT): libsvmread.c
$(MEX) $(MEX_OPTION) libsvmread.c
diff --git a/liblinear-python.patch b/liblinear-python.patch
index a4725af..d462cd3 100644
--- a/liblinear-python.patch
+++ b/liblinear-python.patch
@@ -14,3 +14,11 @@
import os, sys
sys.path = [os.path.dirname(os.path.abspath(__file__))] + sys.path
from liblinear import *
+--- liblinear-2.30/python/commonutil.py.orig 2019-03-20 18:28:22.000000000 +0100
++++ liblinear-2.30/python/commonutil.py 2019-12-25 13:22:28.729573432 +0100
+@@ -1,5 +1,3 @@
+-#!/usr/bin/env python
+-
+ from __future__ import print_function
+ from array import array
+ import sys
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/liblinear.git/commitdiff/634caa8a7fc789c2707bc2c35616ef72a5bd3bdd
More information about the pld-cvs-commit
mailing list