Date: Thursday, April 6, 2023 @ 15:46:41
  Author: felixonmars
Revision: 1439473

archrelease: copy trunk to community-staging-x86_64

Added:
  libsvm/repos/community-staging-x86_64/
  libsvm/repos/community-staging-x86_64/010-libsvm-fix-qt-headers-path.patch
    (from rev 1439472, libsvm/trunk/010-libsvm-fix-qt-headers-path.patch)
  libsvm/repos/community-staging-x86_64/020-libsvm-use-archlinux-flags.patch
    (from rev 1439472, libsvm/trunk/020-libsvm-use-archlinux-flags.patch)
  libsvm/repos/community-staging-x86_64/030-libsvm-fix-tools-path.patch
    (from rev 1439472, libsvm/trunk/030-libsvm-fix-tools-path.patch)
  libsvm/repos/community-staging-x86_64/PKGBUILD
    (from rev 1439472, libsvm/trunk/PKGBUILD)

--------------------------------------+
 010-libsvm-fix-qt-headers-path.patch |   11 ++++
 020-libsvm-use-archlinux-flags.patch |   46 +++++++++++++++++++
 030-libsvm-fix-tools-path.patch      |   28 ++++++++++++
 PKGBUILD                             |   76 +++++++++++++++++++++++++++++++++
 4 files changed, 161 insertions(+)

Copied: 
libsvm/repos/community-staging-x86_64/010-libsvm-fix-qt-headers-path.patch 
(from rev 1439472, libsvm/trunk/010-libsvm-fix-qt-headers-path.patch)
===================================================================
--- community-staging-x86_64/010-libsvm-fix-qt-headers-path.patch               
                (rev 0)
+++ community-staging-x86_64/010-libsvm-fix-qt-headers-path.patch       
2023-04-06 15:46:41 UTC (rev 1439473)
@@ -0,0 +1,11 @@
+--- 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
+ CXX? = g++
+-INCLUDE = /usr/include/x86_64-linux-gnu/qt5
++INCLUDE = /usr/include/qt
+ CFLAGS = -Wall -O3 -I$(INCLUDE) -I$(INCLUDE)/QtWidgets -I$(INCLUDE)/QtGui 
-I$(INCLUDE)/QtCore -fPIC -std=c++11
+ LIB = -lQt5Widgets -lQt5Gui -lQt5Core
+ MOC = /usr/bin/moc

Copied: 
libsvm/repos/community-staging-x86_64/020-libsvm-use-archlinux-flags.patch 
(from rev 1439472, libsvm/trunk/020-libsvm-use-archlinux-flags.patch)
===================================================================
--- community-staging-x86_64/020-libsvm-use-archlinux-flags.patch               
                (rev 0)
+++ community-staging-x86_64/020-libsvm-use-archlinux-flags.patch       
2023-04-06 15:46:41 UTC (rev 1439473)
@@ -0,0 +1,46 @@
+--- a/Makefile
++++ b/Makefile
+@@ -1,5 +1,5 @@
+ CXX ?= g++
+-CFLAGS = -Wall -Wconversion -O3 -fPIC
++CXXFLAGS += -Wall -Wconversion -fPIC
+ SHVER = 3
+ OS = $(shell uname)
+ ifeq ($(OS),Darwin)
+@@ -15,14 +15,14 @@ endif
+ all: svm-train svm-predict svm-scale
+ 
+ lib: svm.o
+-      $(CXX) $(SHARED_LIB_FLAG) svm.o -o libsvm.so.$(SHVER)
++      $(CXX) $(SHARED_LIB_FLAG) svm.o -o libsvm.so.$(SHVER) $(LDFLAGS)
+ svm-predict: svm-predict.c svm.o
+-      $(CXX) $(CFLAGS) svm-predict.c svm.o -o svm-predict -lm
++      $(CXX) $(CXXFLAGS) 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) $(CXXFLAGS) svm-train.c svm.o -o svm-train -lm $(LDFLAGS)
+ svm-scale: svm-scale.c
+-      $(CXX) $(CFLAGS) svm-scale.c -o svm-scale
++      $(CXX) $(CXXFLAGS) svm-scale.c -o svm-scale $(LDFLAGS)
+ svm.o: svm.cpp svm.h
+-      $(CXX) $(CFLAGS) -c svm.cpp
++      $(CXX) $(CXXFLAGS) -c svm.cpp
+ clean:
+       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++
+ INCLUDE = /usr/include/qt
+-CFLAGS = -Wall -O3 -I$(INCLUDE) -I$(INCLUDE)/QtWidgets -I$(INCLUDE)/QtGui 
-I$(INCLUDE)/QtCore -fPIC -std=c++11
++CXXFLAGS += -Wall -I$(INCLUDE) -I$(INCLUDE)/QtWidgets -I$(INCLUDE)/QtGui 
-I$(INCLUDE)/QtCore -fPIC -std=c++11
+ LIB = -lQt5Widgets -lQt5Gui -lQt5Core
+ MOC = /usr/bin/moc
+ 
+ svm-toy: svm-toy.cpp svm-toy.moc ../../svm.o
+-      $(CXX) $(CFLAGS) svm-toy.cpp ../../svm.o -o svm-toy $(LIB)
++      $(CXX) $(CXXFLAGS) svm-toy.cpp ../../svm.o -o svm-toy $(LIB) $(LDFLAGS)
+ 
+ svm-toy.moc: svm-toy.cpp
+       $(MOC) svm-toy.cpp -o svm-toy.moc

Copied: libsvm/repos/community-staging-x86_64/030-libsvm-fix-tools-path.patch 
(from rev 1439472, libsvm/trunk/030-libsvm-fix-tools-path.patch)
===================================================================
--- community-staging-x86_64/030-libsvm-fix-tools-path.patch                    
        (rev 0)
+++ community-staging-x86_64/030-libsvm-fix-tools-path.patch    2023-04-06 
15:46:41 UTC (rev 1439473)
@@ -0,0 +1,28 @@
+--- 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"
+ else:
+         # example for windows
+--- a/tools/grid.py
++++ b/tools/grid.py
+@@ -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

Copied: libsvm/repos/community-staging-x86_64/PKGBUILD (from rev 1439472, 
libsvm/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD                           (rev 0)
+++ community-staging-x86_64/PKGBUILD   2023-04-06 15:46:41 UTC (rev 1439473)
@@ -0,0 +1,76 @@
+# Maintainer : Daniel Bermond <[email protected]>
+# Contributor: saxonbeta <saxonbeta at gmail>
+# Contributor: Pierre Gueth <pierre.gueth at gmail>
+# Contributor: Daniel YC Lin <dlin.tw at gmail>
+# Contributor: Tim Huetz <tim at huetz biz>
+
+pkgname=libsvm
+pkgver=3.31
+pkgrel=2
+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/'
+license=('BSD')
+depends=('gnuplot' 'python')
+makedepends=('qt5-base' 'python-build' 'python-installer' 'python-setuptools' 
'python-wheel')
+optdepends=('qt5-base: for Qt5 interface with svm-toy'
+            'python-numpy: for python bindings'
+            'python-scipy: for python bindings'
+            'python-numba: for enabling JIT compiler in python bindings'
+            'java-runtime: for java bindings')
+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=('eb3c64d1cbf47254b7ac1941ed036eb4d95c97b0734f02fbc1789cf86d345c68'
+            '07bc50e50c3e34823e1669fec1be84a50fcea2307dcf33b00300135e08d2de4d'
+            '5542910c91c0a8ddeb020c4d941c5fbf67eeef6d4b9804f18d9bc4bafedae78f'
+            '67f57236a6c4b09f051e74f8cb1ef5dbc9b5de3fdbb2b1a6ff86a07db0dd5fb9')
+
+prepare() {
+    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() {
+    make -C "${pkgname}-${pkgver/./}" lib all
+    make -C "${pkgname}-${pkgver/./}/svm-toy/qt"
+    cd "${pkgname}-${pkgver/./}/python"
+    python -m build --wheel --no-isolation
+}
+
+package() {
+    cd "${pkgname}-${pkgver/./}"
+    
+    # binaries
+    install -D -m755 svm-{{predict,scale,train},toy/qt/svm-toy} -t 
"${pkgdir}/usr/bin"
+    
+    # library
+    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 CLI/tools
+    install -D -m755 tools/checkdata.py "${pkgdir}/usr/bin/svm-checkdata.py"
+    install -D -m755 tools/easy.py      "${pkgdir}/usr/bin/svm-easy.py"
+    install -D -m755 tools/grid.py      "${pkgdir}/usr/bin/svm-grid.py"
+    install -D -m755 tools/subset.py    "${pkgdir}/usr/bin/svm-subset.py"
+    
+    # python bindings
+    python -m installer --destdir="$pkgdir" python/dist/*.whl
+    
+    # NOTE: 'grid.py' can be used either as a CLI/tool or a python module
+    # https://github.com/cjlin1/libsvm/blob/v331/tools/README#L163-L164
+    local _pyver
+    _pyver="$(python -c 'import sys; print("%s.%s" %sys.version_info[0:2])')"
+    ln -s ../../../../bin/svm-grid.py 
"${pkgdir}/usr/lib/python${_pyver}/site-packages/libsvm/grid.py"
+    
+    # java bindings
+    install -D -m644 java/libsvm.jar -t "${pkgdir}/usr/share/java"
+    
+    # license
+    install -D -m644 COPYRIGHT 
"${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}

Reply via email to