commit 3ed7b17062af940540e0ee204581bc9f21fb1824
Author: Jakub Bogusz <[email protected]>
Date:   Tue Jan 17 22:05:54 2023 +0100

    - updated to 2.45 (new soname, changed python packaging)

 liblinear-make.patch   | 34 +++++++++++++--------------
 liblinear-matlab.patch | 14 +++++------
 liblinear-python.patch | 62 ++++++++++++++++++++++++++++++++++++++----------
 liblinear.spec         | 64 ++++++++++++++++++++++++++------------------------
 4 files changed, 106 insertions(+), 68 deletions(-)
---
diff --git a/liblinear.spec b/liblinear.spec
index a75e538..7cc9c72 100644
--- a/liblinear.spec
+++ b/liblinear.spec
@@ -12,12 +12,12 @@
 Summary:       LIBLINEAR - a Library for Large Linear Classification
 Summary(pl.UTF-8):     LIBLINEAR - biblioteka do liniowej klasyfikacji dużych 
danych
 Name:          liblinear
-Version:       2.30
-Release:       5
+Version:       2.45
+Release:       1
 License:       BSD
 Group:         Libraries
 Source0:       
https://www.csie.ntu.edu.tw/~cjlin/liblinear/%{name}-%{version}.tar.gz
-# Source0-md5: 5c807aebd62c3eca72b809d66e1432e8
+# Source0-md5: 28357277645087a39b5d8ac2212eed51
 Patch0:                %{name}-python.patch
 Patch1:                %{name}-make.patch
 Patch2:                %{name}-matlab.patch
@@ -25,10 +25,10 @@ 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}
+%{?with_python2:BuildRequires: python-devel >= 1:2.7}
+%{?with_python3:BuildRequires: python3-devel >= 1:3.5}
 BuildRequires: rpm-pythonprov
-BuildRequires: rpmbuild(macros) >= 1.507
+BuildRequires: rpmbuild(macros) >= 1.714
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                octave_oct_dir  %(octave-config --oct-site-dir)
@@ -79,7 +79,7 @@ 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 >= 1:2.6
+Requires:      python-libs >= 1:2.7
 BuildArch:     noarch
 
 %description -n python-liblinear
@@ -93,7 +93,7 @@ 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 >= 1:3.2
+Requires:      python3-libs >= 1:3.5
 BuildArch:     noarch
 
 %description -n python3-liblinear
@@ -125,13 +125,25 @@ Interfejs Pythona 3 do biblioteki LIBLINEAR.
        MEX_EXT=mex
 %endif
 
+%if %{with python2}
+cd python
+%py_build
+cd ..
+%endif
+
+%if %{with python3}
+cd python
+%py3_build
+cd ..
+%endif
+
 %install
 rm -rf $RPM_BUILD_ROOT
 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}
+cp -p linear.h newton.h $RPM_BUILD_ROOT%{_includedir}
 install train $RPM_BUILD_ROOT%{_bindir}/liblinear-train
 install predict $RPM_BUILD_ROOT%{_bindir}/liblinear-predict
 
@@ -141,20 +153,15 @@ 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
+cd python
+%py_install
+cd ..
 %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}
+cd python
+%py3_install
+cd ..
 %endif
 
 %clean
@@ -168,13 +175,13 @@ rm -rf $RPM_BUILD_ROOT
 %doc COPYRIGHT README
 %attr(755,root,root) %{_bindir}/liblinear-predict
 %attr(755,root,root) %{_bindir}/liblinear-train
-%attr(755,root,root) %{_libdir}/liblinear.so.3
+%attr(755,root,root) %{_libdir}/liblinear.so.5
 
 %files devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/liblinear.so
 %{_includedir}/linear.h
-%{_includedir}/tron.h
+%{_includedir}/newton.h
 
 %if %{with octave}
 %files -n octave-liblinear
@@ -190,19 +197,14 @@ rm -rf $RPM_BUILD_ROOT
 %files -n python-liblinear
 %defattr(644,root,root,755)
 %doc python/README
-%{py_sitescriptdir}/commonutil.py[co]
-%{py_sitescriptdir}/liblinear.py[co]
-%{py_sitescriptdir}/liblinearutil.py[co]
+%{py_sitescriptdir}/liblinear
+%{py_sitescriptdir}/liblinear_official-2.45.0-py*.egg-info
 %endif
 
 %if %{with python3}
 %files -n python3-liblinear
 %defattr(644,root,root,755)
 %doc python/README
-%{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]
+%{py3_sitescriptdir}/liblinear
+%{py3_sitescriptdir}/liblinear_official-2.45.0-py*.egg-info
 %endif
diff --git a/liblinear-make.patch b/liblinear-make.patch
index b91ee14..6b1f5a9 100644
--- a/liblinear-make.patch
+++ b/liblinear-make.patch
@@ -1,29 +1,29 @@
---- liblinear-2.1/Makefile.orig        2015-09-27 00:03:26.000000000 +0200
-+++ liblinear-2.1/Makefile     2017-01-29 09:07:42.640874155 +0100
-@@ -8,19 +8,20 @@
+--- liblinear-2.45/Makefile.orig       2023-01-17 21:01:39.637840513 +0100
++++ liblinear-2.45/Makefile    2023-01-17 21:05:06.673385572 +0100
+@@ -8,18 +8,21 @@ OS = $(shell uname)
  
  all: train predict
  
--lib: linear.o tron.o blas/blas.a
-+lib: linear.o tron.o
+-lib: linear.o newton.o blas/blas.a
++lib: liblinear.so
++
++liblinear.so: linear.o newton.o
        if [ "$(OS)" = "Darwin" ]; then \
                SHARED_LIB_FLAG="-dynamiclib 
-Wl,-install_name,liblinear.so.$(SHVER)"; \
        else \
                SHARED_LIB_FLAG="-shared -Wl,-soname,liblinear.so.$(SHVER)"; \
        fi; \
--      $(CXX) $${SHARED_LIB_FLAG} linear.o tron.o blas/blas.a -o 
liblinear.so.$(SHVER)
-+      $(CXX) $${SHARED_LIB_FLAG} linear.o tron.o -o liblinear.so.$(SHVER) 
$(LIBS) ; \
-+      ln -s liblinear.so.$(SHVER) liblinear.so
+-      $(CXX) $${SHARED_LIB_FLAG} linear.o newton.o blas/blas.a -o 
liblinear.so.$(SHVER)
++      $(CXX) $${SHARED_LIB_FLAG} linear.o newton.o -o liblinear.so.$(SHVER) 
$(LIBS) ; \
++      ln -sf liblinear.so.$(SHVER) liblinear.so
  
--train: tron.o linear.o train.c blas/blas.a
--      $(CXX) $(CFLAGS) -o train train.c tron.o linear.o $(LIBS)
-+train: lib train.c
+-train: newton.o linear.o train.c blas/blas.a
+-      $(CXX) $(CFLAGS) -o train train.c newton.o linear.o $(LIBS)
++train: liblinear.so train.c
 +      $(CXX) $(CFLAGS) -o train train.c -L. -llinear $(LIBS)
  
--predict: tron.o linear.o predict.c blas/blas.a
--      $(CXX) $(CFLAGS) -o predict predict.c tron.o linear.o $(LIBS)
-+predict: lib predict.c
-+      $(CXX) $(CFLAGS) -o predict predict.c -L. -llinear $(LIBS)
+-predict: newton.o linear.o predict.c blas/blas.a
++predict: liblinear.so predict.c
+       $(CXX) $(CFLAGS) -o predict predict.c newton.o linear.o $(LIBS)
  
- tron.o: tron.cpp tron.h
-       $(CXX) $(CFLAGS) -c -o tron.o tron.cpp
+ newton.o: newton.cpp newton.h
diff --git a/liblinear-matlab.patch b/liblinear-matlab.patch
index b5be3a7..70483d6 100644
--- a/liblinear-matlab.patch
+++ b/liblinear-matlab.patch
@@ -1,19 +1,19 @@
---- 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 @@
+--- liblinear-2.45/matlab/Makefile.orig        2023-01-17 21:05:21.933302902 
+0100
++++ liblinear-2.45/matlab/Makefile     2023-01-17 21:06:23.029638581 +0100
+@@ -22,14 +22,14 @@ octave:
  binary: train.$(MEX_EXT) predict.$(MEX_EXT) libsvmread.$(MEX_EXT) 
libsvmwrite.$(MEX_EXT)
  
- train.$(MEX_EXT): train.c ../linear.h ../tron.cpp ../linear.cpp 
linear_model_matlab.c \
+ train.$(MEX_EXT): train.c ../linear.h ../newton.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 \
+       $(MEX) $(MEX_OPTION) train.c ../newton.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.cpp ../linear.cpp 
linear_model_matlab.c \
+ predict.$(MEX_EXT): predict.c ../linear.h ../newton.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 \
+       $(MEX) $(MEX_OPTION) predict.c ../newton.cpp ../linear.cpp 
linear_model_matlab.c \
 -              ../blas/daxpy.c ../blas/ddot.c ../blas/dnrm2.c ../blas/dscal.c
 +              -lblas
  
diff --git a/liblinear-python.patch b/liblinear-python.patch
index 94ea8ed..e8ce53b 100644
--- a/liblinear-python.patch
+++ b/liblinear-python.patch
@@ -1,24 +1,60 @@
---- liblinear-2.1/python/liblinear.py.orig     2015-09-27 00:03:39.000000000 
+0200
-+++ liblinear-2.1/python/liblinear.py  2017-01-28 23:38:33.691264075 +0100
+--- liblinear-2.45/python/liblinear/commonutil.py.orig 2022-08-11 
09:26:17.000000000 +0200
++++ liblinear-2.45/python/liblinear/commonutil.py      2023-01-17 
21:00:29.844885280 +0100
+@@ -1,5 +1,3 @@
+-#!/usr/bin/env python
+-
+ from __future__ import print_function
+ from array import array
+ import sys
+--- liblinear-2.45/python/liblinear/liblinear.py.orig  2022-08-11 
09:26:18.000000000 +0200
++++ liblinear-2.45/python/liblinear/liblinear.py       2023-01-17 
21:00:59.301392367 +0100
 @@ -1,5 +1,3 @@
 -#!/usr/bin/env python
 -
  from ctypes import *
  from ctypes.util import find_library
  from os import path
---- liblinear-2.1/python/liblinearutil.py.orig 2015-09-27 00:03:40.000000000 
+0200
-+++ liblinear-2.1/python/liblinearutil.py      2017-01-28 23:38:44.447930619 
+0100
+@@ -25,10 +23,7 @@ __all__ = ['liblinear', 'feature_node',
+            'print_null']
+ 
+ try:
+-    dirname = path.dirname(path.abspath(__file__))
+-    dynamic_lib_name = 'clib.cp*'
+-    path_to_so = glob(path.join(dirname, dynamic_lib_name))[0]
+-    liblinear = CDLL(path_to_so)
++    liblinear = CDLL("liblinear.so.5")
+ except:
+     try :
+         if sys.platform == 'win32':
+--- liblinear-2.45/python/liblinear/liblinearutil.py.orig      2022-08-11 
09:26:18.000000000 +0200
++++ liblinear-2.45/python/liblinear/liblinearutil.py   2023-01-17 
21:01:09.311338139 +0100
 @@ -1,5 +1,3 @@
 -#!/usr/bin/env python
 -
  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 .liblinear import *
+ from .liblinear import __all__ as liblinear_all
+--- liblinear-2.45/python/setup.py.orig        2022-08-11 09:26:18.000000000 
+0200
++++ liblinear-2.45/python/setup.py     2023-01-17 21:31:10.778245422 +0100
+@@ -84,9 +84,6 @@ class CleanCommand(clean_cmd):
+                 rmtree(f)
+ 
+ def main():
+-    if not path.exists(cpp_dir):
+-        create_cpp_source()
 -
- from __future__ import print_function
- from array import array
- import sys
+     with open("README") as f:
+         long_description = f.read()
+ 
+@@ -101,11 +98,6 @@ def main():
+         author_email="[email protected]",
+         url="https://www.csie.ntu.edu.tw/~cjlin/liblinear";,
+         install_requires=["scipy"],
+-        ext_modules=[
+-            Extension(
+-                "{}.{}".format(PACKAGE_DIR, dynamic_lib_name), 
**kwargs_for_extension
+-            )
+-        ],
+         cmdclass={"clean": CleanCommand},
+     )
+ 
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/liblinear.git/commitdiff/3ed7b17062af940540e0ee204581bc9f21fb1824

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to