[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