[packages/liblinear] - added matlab patch and octave- package; release 2

qboosh qboosh at pld-linux.org
Sun Jan 29 21:36:34 CET 2017


commit 57cb4f833ccec5bdc2c53e19385e5f5a0a2c4728
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sun Jan 29 21:38:06 2017 +0100

    - added matlab patch and octave- package; release 2

 liblinear-matlab.patch | 18 ++++++++++++++++++
 liblinear.spec         | 49 ++++++++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 66 insertions(+), 1 deletion(-)
---
diff --git a/liblinear.spec b/liblinear.spec
index e5c7a43..6cb1cae 100644
--- a/liblinear.spec
+++ b/liblinear.spec
@@ -1,19 +1,27 @@
+#
+# Conditional build:
+%bcond_without	octave	# Octave (MATLAB) module
+#
 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:	1
+Release:	2
 License:	BSD
 Group:		Libraries
 Source0:	http://www.csie.ntu.edu.tw/~cjlin/liblinear/%{name}-%{version}.tar.gz
 # Source0-md5:	0d87a71d054ed17c5ee7656efba06e89
 Patch0:		%{name}-python.patch
 Patch1:		%{name}-make.patch
+Patch2:		%{name}-matlab.patch
 URL:		http://www.csie.ntu.edu.tw/~cjlin/liblinear/
 BuildRequires:	blas-devel
 BuildRequires:	libstdc++-devel
+%{?with_octave:BuildRequires:	octave-devel}
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define		octave_oct_dir	%(octave-config --oct-site-dir)
+
 %description
 LIBLINEAR is a simple package for solving large-scale regularized
 linear classification and regression. It currently supports:
@@ -43,11 +51,24 @@ Header files for LIBLINEAR library.
 %description devel -l pl.UTF-8
 Pliki nagłówkowe biblioteki LIBLINEAR.
 
+%package -n octave-liblinear
+Summary:	MATLAB/Octave interface for LIBLINEAR library
+Summary(pl.UTF-8):	Interfejs MATLAB-a/Octave do biblioteki LIBLINEAR
+Group:		Libraries
+Requires:	octave
+
+%description -n octave-liblinear
+MATLAB/Octave interface for LIBLINEAR library.
+
+%description -n octave-liblinear -l pl.UTF-8
+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
 Group:		Libraries/Python
 Requires:	%{name} = %{version}-%{release}
+Requires:	python-libs
 
 %description -n python-liblinear
 Python interface for LIBLINEAR library.
@@ -59,6 +80,7 @@ Interfejs Pythona do biblioteki LIBLINEAR.
 %setup -q
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 
 %build
 %{__make} \
@@ -67,6 +89,16 @@ Interfejs Pythona do biblioteki LIBLINEAR.
 	CFLAGS="%{rpmcflags} -fPIC -Wall" \
 	LIBS="-lblas"
 
+%if %{with octave}
+%{__make} -C matlab \
+	CC="%{__cc}" \
+	CXX="%{__cxx}" \
+	CFLAGS="%{rpmcflags} -fPIC -I.. -I/usr/include/octave -Wall" \
+	MEX=mkoctfile \
+	MEX_OPTION=--mex \
+	MEX_EXT=mex
+%endif
+
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_includedir},%{py_sitescriptdir}}
@@ -78,6 +110,11 @@ 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
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -97,6 +134,16 @@ rm -rf $RPM_BUILD_ROOT
 %{_includedir}/linear.h
 %{_includedir}/tron.h
 
+%if %{with octave}
+%files -n octave-liblinear
+%defattr(644,root,root,755)
+%dir %{octave_oct_dir}/liblinear
+%attr(755,root,root) %{octave_oct_dir}/liblinear/libsvmread.mex
+%attr(755,root,root) %{octave_oct_dir}/liblinear/libsvmwrite.mex
+%attr(755,root,root) %{octave_oct_dir}/liblinear/predict.mex
+%attr(755,root,root) %{octave_oct_dir}/liblinear/train.mex
+%endif
+
 %files -n python-liblinear
 %defattr(644,root,root,755)
 %{py_sitescriptdir}/liblinear.py
diff --git a/liblinear-matlab.patch b/liblinear-matlab.patch
new file mode 100644
index 0000000..629c77c
--- /dev/null
+++ b/liblinear-matlab.patch
@@ -0,0 +1,18 @@
+--- 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"
+ 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
+ 
+-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
+ 
+ libsvmread.$(MEX_EXT):	libsvmread.c
+ 	$(MEX) $(MEX_OPTION) libsvmread.c
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/liblinear.git/commitdiff/57cb4f833ccec5bdc2c53e19385e5f5a0a2c4728



More information about the pld-cvs-commit mailing list