[arch-commits] Commit in libsvm/trunk (4 files)

Daniel Bermond dbermond at archlinux.org
Sat Jun 26 00:49:07 UTC 2021


    Date: Saturday, June 26, 2021 @ 00:49:07
  Author: dbermond
Revision: 967505

upgpkg: libsvm 3.25-1

Modified:
  libsvm/trunk/010-libsvm-fix-qt-headers-path.patch
  libsvm/trunk/020-libsvm-use-archlinux-flags.patch
  libsvm/trunk/030-libsvm-fix-tools-path.patch
  libsvm/trunk/PKGBUILD

--------------------------------------+
 010-libsvm-fix-qt-headers-path.patch |    5 +-
 020-libsvm-use-archlinux-flags.patch |   24 ++++++-------
 030-libsvm-fix-tools-path.patch      |   53 +++++++++++++++--------------
 PKGBUILD                             |   59 ++++++++++++---------------------
 4 files changed, 64 insertions(+), 77 deletions(-)

Modified: 010-libsvm-fix-qt-headers-path.patch
===================================================================
--- 010-libsvm-fix-qt-headers-path.patch	2021-06-26 00:23:46 UTC (rev 967504)
+++ 010-libsvm-fix-qt-headers-path.patch	2021-06-26 00:49:07 UTC (rev 967505)
@@ -1,6 +1,5 @@
-diff -Naurp a/svm-toy/qt/Makefile b/svm-toy/qt/Makefile
---- a/svm-toy/qt/Makefile	2018-12-04 18:34:40.715220500 +0000
-+++ b/svm-toy/qt/Makefile	2018-12-04 18:45:00.689709128 +0000
+--- a/svm-toy/qt/Makefile
++++ b/svm-toy/qt/Makefile
 @@ -1,7 +1,7 @@
  # use  ``export QT_SELECT=qt5'' in a command window for using qt5
  # may need to adjust the path of header files

Modified: 020-libsvm-use-archlinux-flags.patch
===================================================================
--- 020-libsvm-use-archlinux-flags.patch	2021-06-26 00:23:46 UTC (rev 967504)
+++ 020-libsvm-use-archlinux-flags.patch	2021-06-26 00:49:07 UTC (rev 967505)
@@ -1,6 +1,5 @@
-diff -Naurp a/Makefile b/Makefile
---- a/Makefile	2018-07-15 14:15:32.000000000 +0000
-+++ b/Makefile	2018-12-04 18:32:24.627133671 +0000
+--- a/Makefile
++++ b/Makefile
 @@ -1,5 +1,5 @@
  CXX ?= g++
 -CFLAGS = -Wall -Wconversion -O3 -fPIC
@@ -8,7 +7,7 @@
  SHVER = 2
  OS = $(shell uname)
  
-@@ -11,14 +11,14 @@ lib: svm.o
+@@ -11,15 +11,15 @@ lib: svm.o
  	else \
  		SHARED_LIB_FLAG="-shared -Wl,-soname,libsvm.so.$(SHVER)"; \
  	fi; \
@@ -17,19 +16,20 @@
  
  svm-predict: svm-predict.c svm.o
 -	$(CXX) $(CFLAGS) svm-predict.c svm.o -o svm-predict -lm
-+	$(CXX) $(CFLAGS) svm-predict.c svm.o -o svm-predict -lm $(LDFLAGS)
++	$(CXX) $(CPPFLAGS) $(CFLAGS) svm-predict.c svm.o -o svm-predict -lm $(LDFLAGS)
  svm-train: svm-train.c svm.o
 -	$(CXX) $(CFLAGS) svm-train.c svm.o -o svm-train -lm
-+	$(CXX) $(CFLAGS) svm-train.c svm.o -o svm-train -lm $(LDFLAGS)
++	$(CXX) $(CPPFLAGS) $(CFLAGS) svm-train.c svm.o -o svm-train -lm $(LDFLAGS)
  svm-scale: svm-scale.c
 -	$(CXX) $(CFLAGS) svm-scale.c -o svm-scale
-+	$(CXX) $(CFLAGS) svm-scale.c -o svm-scale $(LDFLAGS)
++	$(CXX) $(CPPFLAGS) $(CFLAGS) svm-scale.c -o svm-scale $(LDFLAGS)
  svm.o: svm.cpp svm.h
- 	$(CXX) $(CFLAGS) -c svm.cpp
+-	$(CXX) $(CFLAGS) -c svm.cpp
++	$(CXX) $(CPPFLAGS) $(CFLAGS) -c svm.cpp
  clean:
-diff -Naurp a/svm-toy/qt/Makefile b/svm-toy/qt/Makefile
---- a/svm-toy/qt/Makefile	2018-12-04 18:34:40.715220500 +0000
-+++ b/svm-toy/qt/Makefile	2018-12-04 18:40:33.446873531 +0000
+ 	rm -f *~ svm.o svm-train svm-predict svm-scale libsvm.so.$(SHVER)
+--- a/svm-toy/qt/Makefile
++++ b/svm-toy/qt/Makefile
 @@ -2,12 +2,12 @@
  # may need to adjust the path of header files
  CXX? = g++
@@ -41,7 +41,7 @@
  
  svm-toy: svm-toy.cpp svm-toy.moc ../../svm.o
 -	$(CXX) $(CFLAGS) svm-toy.cpp ../../svm.o -o svm-toy $(LIB)
-+	$(CXX) $(CFLAGS) svm-toy.cpp ../../svm.o -o svm-toy $(LIB) $(LDFLAGS)
++	$(CXX) $(CPPFLAGS) $(CFLAGS) svm-toy.cpp ../../svm.o -o svm-toy $(LIB) $(LDFLAGS)
  
  svm-toy.moc: svm-toy.cpp
  	$(MOC) svm-toy.cpp -o svm-toy.moc

Modified: 030-libsvm-fix-tools-path.patch
===================================================================
--- 030-libsvm-fix-tools-path.patch	2021-06-26 00:23:46 UTC (rev 967504)
+++ 030-libsvm-fix-tools-path.patch	2021-06-26 00:49:07 UTC (rev 967505)
@@ -1,30 +1,33 @@
-diff -up ./tools/easy.py.toolsDir ./tools/easy.py
---- ./tools/easy.py.toolsDir	2013-03-31 17:06:49.000000000 +1000
-+++ ./tools/easy.py	2013-04-13 23:17:53.399526910 +1000
+--- a/tools/easy.py
++++ b/tools/easy.py
 @@ -12,10 +12,10 @@ if len(sys.argv) <= 1:
-
+ 
  is_win32 = (sys.platform == 'win32')
  if not is_win32:
--	svmscale_exe = "../svm-scale"
--	svmtrain_exe = "../svm-train"
--	svmpredict_exe = "../svm-predict"
--	grid_py = "./grid.py"
-+	svmscale_exe = "/usr/bin/svm-scale"
-+	svmtrain_exe = "/usr/bin/svm-train"
-+	svmpredict_exe = "/usr/bin/svm-predict"
-+	grid_py = "/usr/bin/svm-grid.py"
- 	gnuplot_exe = "/usr/bin/gnuplot"
+-    svmscale_exe = "../svm-scale"
+-    svmtrain_exe = "../svm-train"
+-    svmpredict_exe = "../svm-predict"
+-    grid_py = "./grid.py"
++    svmscale_exe = "/usr/bin/svm-scale"
++    svmtrain_exe = "/usr/bin/svm-train"
++    svmpredict_exe = "/usr/bin/svm-predict"
++    grid_py = "/usr/bin/svm-grid.py"
+     gnuplot_exe = "/usr/bin/gnuplot"
  else:
          # example for windows
-diff -up ./tools/grid.py.toolsDir ./tools/grid.py
---- ./tools/grid.py.toolsDir	2013-03-31 17:06:50.000000000 +1000
-+++ ./tools/grid.py	2013-04-13 23:18:53.964522769 +1000
-@@ -18,7 +18,7 @@ class GridOption:
- 	def __init__(self, dataset_pathname, options):
- 		dirname = os.path.dirname(__file__)
- 		if sys.platform != 'win32':
--			self.svmtrain_pathname = os.path.join(dirname, '../svm-train')
-+			self.svmtrain_pathname = '/usr/bin/svm-train'
- 			self.gnuplot_pathname = '/usr/bin/gnuplot'
- 		else:
- 			# example for windows
+--- a/tools/grid.py
++++ b/tools/grid.py
+@@ -1,3 +1,4 @@
++
+ #!/usr/bin/env python
+ __all__ = ['find_parameters']
+ 
+@@ -18,7 +19,7 @@ class GridOption:
+     def __init__(self, dataset_pathname, options):
+         dirname = os.path.dirname(__file__)
+         if sys.platform != 'win32':
+-            self.svmtrain_pathname = os.path.join(dirname, '../svm-train')
++            self.svmtrain_pathname = '/usr/bin/svm-train'
+             self.gnuplot_pathname = '/usr/bin/gnuplot'
+         else:
+             # example for windows

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2021-06-26 00:23:46 UTC (rev 967504)
+++ PKGBUILD	2021-06-26 00:49:07 UTC (rev 967505)
@@ -5,9 +5,8 @@
 # Contributor: Tim Huetz <tim at huetz biz>
 
 pkgname=libsvm
-pkgver=3.24
-_srcver="${pkgver/./}"
-pkgrel=3
+pkgver=3.25
+pkgrel=1
 pkgdesc='A library for Support Vector Machines classification (includes binaries and bindings for python and java)'
 arch=('x86_64')
 url='https://www.csie.ntu.edu.tw/~cjlin/libsvm/'
@@ -18,60 +17,46 @@
             'python: for python modules and python CLI tools'
             'gnuplot: for using svm-easy.py'
             'java-runtime: for java bindings')
-source=("${pkgname}-${pkgver}.tar.gz"::"https://github.com/cjlin1/libsvm/archive/v${_srcver}.tar.gz"
+source=("https://github.com/cjlin1/libsvm/archive/v${pkgver/./}/${pkgname}-${pkgver}.tar.gz"
         '010-libsvm-fix-qt-headers-path.patch'
         '020-libsvm-use-archlinux-flags.patch'
         '030-libsvm-fix-tools-path.patch')
-sha256sums=('3ba1ac74ee08c4dd57d3a9e4a861ffb57dab88c6a33fd53eac472fc84fbb2a8f'
-            '01d28d48ca955921cff3ee39e6235fbcbe6f13587c056b05797388afc0c45432'
-            'ba986c03199445ec0a9d1d113f54753e61f691ad4c66cad80b1f7d6ccf0c2d17'
-            '58338a8eac252459c665eb6f1f03f4b86cd541b2c6942357329be022f3bb6fce')
+sha256sums=('1f587ec0df6fd422dfe50f942f8836ac179b0723b768fe9d2fabdfd1601a0963'
+            '07bc50e50c3e34823e1669fec1be84a50fcea2307dcf33b00300135e08d2de4d'
+            '6891fcbedf246c6b73d43551ce2476678dc473cee45d12d9fcaf124a1aac0d92'
+            '17c54ef795209112f2e1c8f15aaf74bb0214681df09a8abca16b5bfb2506e193')
 
 prepare() {
-    patch -d "${pkgname}-${_srcver}" -Np1 -i "${srcdir}/010-libsvm-fix-qt-headers-path.patch"
-    patch -d "${pkgname}-${_srcver}" -Np1 -i "${srcdir}/020-libsvm-use-archlinux-flags.patch"
-    patch -d "${pkgname}-${_srcver}" -Np1 -i "${srcdir}/030-libsvm-fix-tools-path.patch"
+    patch -d "${pkgname}-${pkgver/./}" -Np1 -i "${srcdir}/010-libsvm-fix-qt-headers-path.patch"
+    patch -d "${pkgname}-${pkgver/./}" -Np1 -i "${srcdir}/020-libsvm-use-archlinux-flags.patch"
+    patch -d "${pkgname}-${pkgver/./}" -Np1 -i "${srcdir}/030-libsvm-fix-tools-path.patch"
 }
 
 build() {
-    cd "${pkgname}-${_srcver}"
-    
-    printf '%s\n' '  -> Building library and CLI binaries...'
-    make lib all
-    
-    printf '%s\n' '  -> Building Qt5 interface...'
-    make -C svm-toy/qt
+    make -C "${pkgname}-${pkgver/./}" lib all
+    make -C "${pkgname}-${pkgver/./}/svm-toy/qt"
 }
 
 package() {
-    cd "${pkgname}-${_srcver}"
+    cd "${pkgname}-${pkgver/./}"
     
-    local _pyver
-    local _sover
-    _pyver="$(python -c 'import sys; print("%s.%s" %sys.version_info[0:2])')"
-    _sover="$(find . -maxdepth 1 -type f -regextype posix-basic -regex '.*/libsvm.so.[0-9]*$' | awk -F'.' '{ print $NF }')"
-    
     # binaries
-    install -D -m755 svm-predict        -t "${pkgdir}/usr/bin"
-    install -D -m755 svm-scale          -t "${pkgdir}/usr/bin"
-    install -D -m755 svm-train          -t "${pkgdir}/usr/bin"
-    install -D -m755 svm-toy/qt/svm-toy -t "${pkgdir}/usr/bin"
+    install -D -m755 svm-{{predict,scale,train},toy/qt/svm-toy} -t "${pkgdir}/usr/bin"
     
     # library
-    install -D -m755 "libsvm.so.${_sover}" -t "${pkgdir}/usr/lib"
-    ln -s "libsvm.so.${_sover}" "${pkgdir}/usr/lib/libsvm.so"
+    install -D -m755 libsvm.so.* -t "${pkgdir}/usr/lib"
+    ln -s "$(find "${pkgdir}/usr/lib" -regex '.*libsvm.so.[0-9]*' -exec basename '{}' ';')" "${pkgdir}/usr/lib/libsvm.so"
     
     # header
     install -D -m644 svm.h -t "${pkgdir}/usr/include/libsvm"
     
     # python modules
-    ## NOTE: 'grid.py' can be used either as a python module or a CLI/tool
-    ## https://github.com/cjlin1/libsvm/blob/v324/tools/README#L163-L164
-    install -D -m644 python/commonutil.py -t "${pkgdir}/usr/lib/python${_pyver}/site-packages/libsvm"
-    install -D -m644 python/svm.py        -t "${pkgdir}/usr/lib/python${_pyver}/site-packages/libsvm"
-    install -D -m644 python/svmutil.py    -t "${pkgdir}/usr/lib/python${_pyver}/site-packages/libsvm"
-    ln -s ../../../../bin/svm-grid.py        "${pkgdir}/usr/lib/python${_pyver}/site-packages/libsvm/grid.py"
-    printf '' | install -D -m644 /dev/stdin  "${pkgdir}/usr/lib/python${_pyver}/site-packages/libsvm/__init__.py"
+    # NOTE: 'grid.py' can be used either as a python module or a CLI/tool
+    # https://github.com/cjlin1/libsvm/blob/v325/tools/README#L163-L164
+    local _pyver
+    _pyver="$(python -c 'import sys; print("%s.%s" %sys.version_info[0:2])')"
+    install -D -m644 python/libsvm/{{common,svm}util,svm,__init__}.py -t "${pkgdir}/usr/lib/python${_pyver}/site-packages/libsvm"
+    ln -s ../../../../bin/svm-grid.py "${pkgdir}/usr/lib/python${_pyver}/site-packages/libsvm/grid.py"
     
     # python CLI/tools
     install -D -m755 tools/checkdata.py "${pkgdir}/usr/bin/svm-checkdata.py"




More information about the arch-commits mailing list