diff options
author | Andrew Ammerlaan <andrewammerlaan@gentoo.org> | 2023-02-24 09:53:19 +0100 |
---|---|---|
committer | Andrew Ammerlaan <andrewammerlaan@gentoo.org> | 2023-02-24 09:53:50 +0100 |
commit | 49d3c67aaeabe28c66ae80ffb0df1dec2ec73dc3 (patch) | |
tree | 9f31455ee113bc78c95d8907671da0b5e93a5c0b /sci-libs/libsvm | |
parent | www-client/firefox: update icu version requirement on 110.0 (diff) | |
download | gentoo-49d3c67aaeabe28c66ae80ffb0df1dec2ec73dc3.tar.gz gentoo-49d3c67aaeabe28c66ae80ffb0df1dec2ec73dc3.tar.bz2 gentoo-49d3c67aaeabe28c66ae80ffb0df1dec2ec73dc3.zip |
sci-libs/libsvm: add 3.30
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
Diffstat (limited to 'sci-libs/libsvm')
-rw-r--r-- | sci-libs/libsvm/Manifest | 1 | ||||
-rw-r--r-- | sci-libs/libsvm/files/libsvm-3.30-makefile.patch | 44 | ||||
-rw-r--r-- | sci-libs/libsvm/libsvm-3.30.ebuild | 117 |
3 files changed, 162 insertions, 0 deletions
diff --git a/sci-libs/libsvm/Manifest b/sci-libs/libsvm/Manifest index 0dbb0b08cf6f..6c6be2ee9892 100644 --- a/sci-libs/libsvm/Manifest +++ b/sci-libs/libsvm/Manifest @@ -1 +1,2 @@ DIST libsvm-3.25.tar.gz 892471 BLAKE2B a80b7192981811f57446a966c911a07a2de17042e67faa26451c23129dafeac642596a619731b57a27d9845f904e2e4c5c11ae8aa3006fa49e2f62d7cec4cca2 SHA512 91afbcfd204f5fc9c367df446550cecaf01d5e34770fa10fc6bb02277d79b756393f7d057290df0f72fc941faaf0f4c84a863a3bf9d8628eeff1f99b6bc57a98 +DIST libsvm-3.3.tar.gz 910001 BLAKE2B 69364210998e496e333c6a87a66ad3f1515f2b3e98fe7bc579e8aee6d4df0473a4282f979d4f7d1729ce7080fd8b009ce830caab0ac37b57fafff0d2686e86e0 SHA512 705cdebffce0d9ea053cf51b2bfd46303d306b7a2c34ee46065f19e1227459fbdbe6fde6e4769935a0c225da831ec137fb9c0c28fbc2efa06724a94bdd76500d diff --git a/sci-libs/libsvm/files/libsvm-3.30-makefile.patch b/sci-libs/libsvm/files/libsvm-3.30-makefile.patch new file mode 100644 index 000000000000..6f8266d5cb02 --- /dev/null +++ b/sci-libs/libsvm/files/libsvm-3.30-makefile.patch @@ -0,0 +1,44 @@ +diff --git a/Makefile b/Makefile +index 76fd929..a454f56 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,9 +1,10 @@ +-CXX ?= g++ +-CFLAGS = -Wall -Wconversion -O3 -fPIC ++CFLAGS ?= -Wall -Wconversion ++CXXFLAGS ?= $(CFLAGS) + SHVER = 3 + OS = $(shell uname) ++PICFLAGS ?= -fPIC + +-all: svm-train svm-predict svm-scale ++all: svm-train svm-predict svm-scale lib + + lib: svm.o + if [ "$(OS)" = "Darwin" ]; then \ +@@ -11,15 +12,16 @@ lib: svm.o + else \ + SHARED_LIB_FLAG="-shared -Wl,-soname,libsvm.so.$(SHVER)"; \ + fi; \ +- $(CXX) $${SHARED_LIB_FLAG} svm.o -o libsvm.so.$(SHVER) ++ $(CXX) $(LDFLAGS) $${SHARED_LIB_FLAG} svm.o -o libsvm.so.$(SHVER) $(OPENMP_LIBS) ; \ ++ 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 +-svm-train: svm-train.c svm.o +- $(CXX) $(CFLAGS) svm-train.c svm.o -o svm-train -lm +-svm-scale: svm-scale.c +- $(CXX) $(CFLAGS) svm-scale.c -o svm-scale ++svm-predict: svm-predict.o lib ++ $(CXX) $(LDFLAGS) $< -o $@ $(LIBS) -L. -lsvm -lm ++svm-train: svm-train.o lib ++ $(CXX) $(LDFLAGS) $< -o $@ $(LIBS) -L. -lsvm -lm ++svm-scale: svm-scale.o ++ $(CXX) $(LDFLAGS) $< -o $@ $(LIBS) + svm.o: svm.cpp svm.h +- $(CXX) $(CFLAGS) -c svm.cpp ++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(PICFLAGS) $(OPENMP_CFLAGS) -c svm.cpp -o $@ + clean: +- rm -f *~ svm.o svm-train svm-predict svm-scale libsvm.so.$(SHVER) ++ rm -f *~ svm.o svm-train svm-predict svm-scale libsvm.so.$(SHVER) libsvm.so diff --git a/sci-libs/libsvm/libsvm-3.30.ebuild b/sci-libs/libsvm/libsvm-3.30.ebuild new file mode 100644 index 000000000000..0b94b44306ae --- /dev/null +++ b/sci-libs/libsvm/libsvm-3.30.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) + +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 ~amd64-linux ~x86-linux" +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.25-openmp.patch + "${FILESDIR}"/${PN}-3.30-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 + + 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" + + if use java; then + local JAVAC_FLAGS="$(java-pkg_javac-args)" + sed -i \ + -e "s/JAVAC_FLAGS =/JAVAC_FLAGS=${JAVAC_FLAGS}/g" \ + java/Makefile || die "Failed to fix java makefile" + fi +} + +src_configure() { + 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 +} |