mirror of
https://anongit.gentoo.org/git/repo/gentoo.git
synced 2026-05-06 07:27:03 -04:00
sci-libs/libsvm: add 3.37
Closes: https://bugs.gentoo.org/952674 Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
@@ -1 +1,2 @@
|
||||
DIST libsvm-3.3.tar.gz 910001 BLAKE2B 69364210998e496e333c6a87a66ad3f1515f2b3e98fe7bc579e8aee6d4df0473a4282f979d4f7d1729ce7080fd8b009ce830caab0ac37b57fafff0d2686e86e0 SHA512 705cdebffce0d9ea053cf51b2bfd46303d306b7a2c34ee46065f19e1227459fbdbe6fde6e4769935a0c225da831ec137fb9c0c28fbc2efa06724a94bdd76500d
|
||||
DIST libsvm-3.37.tar.gz 943582 BLAKE2B 6b085d8473242d35d7416baecba887fedb432a803b47e99dccee9f46859d6e22f63fc487df3448fd535aa8673b22d529bdb28fc23a53326eb74361dd72431ec5 SHA512 c5ecee6e46dc4b16995af16ab90330aa0804155787301fb6046d790828634d809b90f85675d252020ae7ca60ca2c19cd9eaa3ac53ac50f2674d76ac2b12001cc
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 1bc5d4e..a8a46a9 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1,28 +1,30 @@
|
||||
CXX ?= g++
|
||||
-CFLAGS = -Wall -Wconversion -O3 -fPIC
|
||||
+CFLAGS ?= -Wall -Wconversion
|
||||
+CXXFLAGS ?= $(CFLAGS)
|
||||
SHVER = 4
|
||||
OS = $(shell uname)
|
||||
ifeq ($(OS),Darwin)
|
||||
- SHARED_LIB_FLAG = -dynamiclib -Wl,-install_name,libsvm.so.$(SHVER)
|
||||
+ SHARED_LIB_FLAG = -dynamiclib -Wl,-install_name,libsvm.so.$(SHVER) -fPIC
|
||||
else
|
||||
- SHARED_LIB_FLAG = -shared -Wl,-soname,libsvm.so.$(SHVER)
|
||||
+ SHARED_LIB_FLAG = -shared -Wl,-soname,libsvm.so.$(SHVER) -fPIC
|
||||
endif
|
||||
|
||||
# Uncomment the following lines to enable parallelization with OpenMP
|
||||
# CFLAGS += -fopenmp
|
||||
# SHARED_LIB_FLAG += -fopenmp
|
||||
|
||||
-all: svm-train svm-predict svm-scale
|
||||
+all: svm-train svm-predict svm-scale lib
|
||||
|
||||
lib: svm.o
|
||||
- $(CXX) $(SHARED_LIB_FLAG) svm.o -o libsvm.so.$(SHVER)
|
||||
+ $(CXX) $(LDFLAGS) $(SHARED_LIB_FLAG) svm.o -o libsvm.so.$(SHVER)
|
||||
+ ln -s libsvm.so.$(SHVER) libsvm.so
|
||||
svm-predict: svm-predict.c svm.o
|
||||
- $(CXX) $(CFLAGS) svm-predict.c svm.o -o svm-predict -lm
|
||||
+ $(CXX) $(CFLAGS) $(LDFLAGS) svm-predict.c svm.o -o svm-predict -lm
|
||||
svm-train: svm-train.c svm.o
|
||||
- $(CXX) $(CFLAGS) svm-train.c svm.o -o svm-train -lm
|
||||
+ $(CXX) $(CFLAGS) $(LDFLAGS) svm-train.c svm.o -o svm-train -lm
|
||||
svm-scale: svm-scale.c
|
||||
- $(CXX) $(CFLAGS) svm-scale.c -o svm-scale
|
||||
+ $(CXX) $(CFLAGS) $(LDFLAGS) svm-scale.c -o svm-scale
|
||||
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)
|
||||
@@ -0,0 +1,111 @@
|
||||
# Copyright 1999-2026 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{11..14} )
|
||||
|
||||
inherit java-pkg-opt-2 python-r1 toolchain-funcs
|
||||
|
||||
DESCRIPTION="Library for Support Vector Machines"
|
||||
HOMEPAGE="https://www.csie.ntu.edu.tw/~cjlin/libsvm/"
|
||||
SRC_URI="https://www.csie.ntu.edu.tw/~cjlin/libsvm/${PN}-${PV/0}.tar.gz"
|
||||
S="${WORKDIR}/${PN}-${PV/0}"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0/2"
|
||||
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
|
||||
IUSE="java openmp python tools"
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
DEPEND="
|
||||
java? ( >=virtual/jdk-1.8:* )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
"
|
||||
RDEPEND="
|
||||
java? ( >=virtual/jre-1.8:* )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
tools? ( sci-visualization/gnuplot )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-3.37-makefile.patch
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
java-pkg_clean
|
||||
|
||||
sed -i -e "s@\.\./@${EPREFIX}/usr/bin/@g" tools/*.py \
|
||||
|| die "Failed to fix paths in python files"
|
||||
sed -i -e "s|./grid.py|${EPREFIX}/usr/bin/svm-grid|g" tools/*.py \
|
||||
|| die "Failed to fix paths for svm-grid"
|
||||
sed -i -e 's/grid.py/svm-grid/g' tools/grid.py \
|
||||
|| die "Failed to rename grid.py to svm-grid"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use java && export JAVAC_FLAGS="$(java-pkg_javac-args)"
|
||||
if use openmp; then
|
||||
export OPENMP_CFLAGS="-fopenmp -DOPENMP"
|
||||
export OPENMP_LIBS="-fopenmp"
|
||||
fi
|
||||
|
||||
tc-export CXX CC
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
use java && emake -C java
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin svm-train svm-predict svm-scale
|
||||
dolib.so *.so*
|
||||
doheader svm.h
|
||||
|
||||
DOCS=( README )
|
||||
|
||||
if use tools; then
|
||||
local t
|
||||
for t in tools/*.py; do
|
||||
python_foreach_impl python_newscript ${t} svm-$(basename ${t} .py)
|
||||
done
|
||||
|
||||
mv tools/README{,.tools} || die
|
||||
DOCS+=( tools/README.tools )
|
||||
|
||||
docinto examples
|
||||
dodoc heart_scale
|
||||
dodoc -r svm-toy
|
||||
docompress -x /usr/share/doc/${PF}/examples
|
||||
fi
|
||||
|
||||
if use python ; then
|
||||
installation() {
|
||||
touch python/__init__.py || die
|
||||
python_moduleinto libsvm
|
||||
python_domodule python/*.py
|
||||
}
|
||||
python_foreach_impl installation
|
||||
|
||||
mv python/README{,.python} || die
|
||||
DOCS+=( python/README.python )
|
||||
fi
|
||||
|
||||
HTML_DOCS=( FAQ.html )
|
||||
if use java; then
|
||||
java-pkg_dojar java/libsvm.jar
|
||||
HTML_DOCS+=( java/test_applet.html )
|
||||
fi
|
||||
|
||||
einstalldocs
|
||||
}
|
||||
Reference in New Issue
Block a user