[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