From 0f558761aa2dee1017b4751e4017205e015a9560 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 29 Jun 2022 12:04:12 +0100 Subject: gentoo resync : 29.12.2022 --- sci-libs/libsvm/Manifest | 6 +- sci-libs/libsvm/files/3.11-openmp.patch | 34 ------- sci-libs/libsvm/files/3.14-makefile.patch | 51 ---------- sci-libs/libsvm/files/libsvm-3.25-makefile.patch | 49 ++++++++++ sci-libs/libsvm/files/libsvm-3.25-openmp.patch | 34 +++++++ sci-libs/libsvm/libsvm-3.25-r1.ebuild | 115 ++++++++++++++++++++++ sci-libs/libsvm/libsvm-3.25.ebuild | 118 ----------------------- 7 files changed, 201 insertions(+), 206 deletions(-) delete mode 100644 sci-libs/libsvm/files/3.11-openmp.patch delete mode 100644 sci-libs/libsvm/files/3.14-makefile.patch create mode 100644 sci-libs/libsvm/files/libsvm-3.25-makefile.patch create mode 100644 sci-libs/libsvm/files/libsvm-3.25-openmp.patch create mode 100644 sci-libs/libsvm/libsvm-3.25-r1.ebuild delete mode 100644 sci-libs/libsvm/libsvm-3.25.ebuild (limited to 'sci-libs/libsvm') diff --git a/sci-libs/libsvm/Manifest b/sci-libs/libsvm/Manifest index aa0986bd7ab2..876112d86a09 100644 --- a/sci-libs/libsvm/Manifest +++ b/sci-libs/libsvm/Manifest @@ -1,5 +1,5 @@ -AUX 3.11-openmp.patch 943 BLAKE2B 39f092a108f808711dd928595cd82d507f6154efd549c319047c7a94edb772887338209549dba99cca4ed0a8106dc40ef4afd3a42dfe41d7d884f7f630391bfe SHA512 17bcea4da6a6aa32192ce7fb66e7eefef5e037ca2afd968e67de385938555975abe2103ee2cc50d02cd21d9783e9334eac93de694d6e685f13af80c49e42af38 -AUX 3.14-makefile.patch 1634 BLAKE2B f25e5225e07040e43cc6057558914f177de4e3d40254df9668de8719fbacd6cbadd685d38e2935c13e1778d8a260ef0733672bfc5c719a9e5d9a8832cbbe8ca8 SHA512 f4c2e2f6556604bf3572e341176c855e87caf4c3db8c2b347ce4e7a7948d21b708a7df29d5bf9b741dd3f34e08a0750572b94bd5e94bb4052f1ba4b9ae50e918 +AUX libsvm-3.25-makefile.patch 1563 BLAKE2B ed88feaf7f2b6ce51b39f7ed875c6ab880a6e323a610d4f3a01b5830bc79e4bdb98a322fe1d150c3d4abd5f80761241ea81e4ac398dce0cfe307f8729793b999 SHA512 5d37a6298586273e772d0f249f876a31b39895a3394ea470626ea845ac28bad4c0a552b88bc1c3103331c72590e7c485b042c329d58384c3a7337e0d6da6d07d +AUX libsvm-3.25-openmp.patch 864 BLAKE2B ef67a094c7cd3cafa3c998caa78bd226d83e462e358caa4cf15382087962b1eb9214553ae560d7c13812178d5f9a528764589c9f805b479a4931f7f94f9b4fdc SHA512 60250a325b6d22a1d8404f1b1d8ecd1b47e28003982c8f851107598b0553125afefb9b0a2b2e940761646152c05d6fdcd438994cdc991c2bffe10a9d87923b04 DIST libsvm-3.25.tar.gz 892471 BLAKE2B a80b7192981811f57446a966c911a07a2de17042e67faa26451c23129dafeac642596a619731b57a27d9845f904e2e4c5c11ae8aa3006fa49e2f62d7cec4cca2 SHA512 91afbcfd204f5fc9c367df446550cecaf01d5e34770fa10fc6bb02277d79b756393f7d057290df0f72fc941faaf0f4c84a863a3bf9d8628eeff1f99b6bc57a98 -EBUILD libsvm-3.25.ebuild 2658 BLAKE2B 67355f60c6071c4f9ab900cdbbde0dc02bc71c43dbda9f1a6ca055d7c6b802ef64daf64952382f9c41a155e04848417e1c86302463b68a6d9af21cbd802d4173 SHA512 8dd28ea1eb14bc85a12690b8ff80ae7e6b5d06d84f72e68847cc0418edb54d8fa71465ec3cd9538adff71a269f7411108fde249b1ce9fdc1d7e1ca5fee627ead +EBUILD libsvm-3.25-r1.ebuild 2505 BLAKE2B baedba6258eb4f7e7a191a9cfa22a06bbf6aa6ba08cb0b14a8b4096e6301db0955cf5fc95e349364d192c32f6a873bcbb334cb82b2c7a06f505dae1d28d2ba32 SHA512 cc8a9625acc8b2e4e76c1d6651636c17b45b86cc1f4e4a50c70254ee123a952fe9083d0ba6e85db9650980adfc9d236b9b16665d2ddedcb38fd6a6e89b426f7a MISC metadata.xml 816 BLAKE2B 59108eaf569019b5adde56aa0197503346d53d3ab07285c65768e4663f8aec41d441c1c8b894ddd4cf86f16d40784800918345a15cd48b8bc6f3fcf1da8dc08b SHA512 8a6fe72c2ad1f017e36bef14eed3d61909395bd2aaa13c561d7818942099f3b20fe020b5548053758c30ec7ba09c0e4f7238c6906452ad6c3f049a857cf8eac6 diff --git a/sci-libs/libsvm/files/3.11-openmp.patch b/sci-libs/libsvm/files/3.11-openmp.patch deleted file mode 100644 index e07b03e57380..000000000000 --- a/sci-libs/libsvm/files/3.11-openmp.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- a/svm.cpp.orig 2011-05-27 04:32:19.000000000 +0100 -+++ b/svm.cpp 2011-12-29 19:17:07.000000000 +0000 -@@ -1281,6 +1281,9 @@ - int start, j; - if((start = cache->get_data(i,&data,len)) < len) - { -+#ifdef OPENMP -+#pragma omp parallel for private(j) -+#endif - for(j=start;j*kernel_function)(i,j)); - } -@@ -2463,7 +2466,10 @@ - model->param.svm_type == NU_SVR) - { - double *sv_coef = model->sv_coef[0]; -- double sum = 0; -+ double sum = 0; int i; -+#ifdef OPENMP -+#pragma omp parallel for private(i) reduction(+:sum) -+#endif - for(i=0;il;i++) - sum += sv_coef[i] * Kernel::k_function(x,model->SV[i],model->param); - sum -= model->rho[0]; -@@ -2480,6 +2486,9 @@ - int l = model->l; - - double *kvalue = Malloc(double,l); -+#ifdef OPENMP -+#pragma omp parallel for private(i) -+#endif - for(i=0;iSV[i],model->param); - diff --git a/sci-libs/libsvm/files/3.14-makefile.patch b/sci-libs/libsvm/files/3.14-makefile.patch deleted file mode 100644 index e38dafc10b20..000000000000 --- a/sci-libs/libsvm/files/3.14-makefile.patch +++ /dev/null @@ -1,51 +0,0 @@ -* respect CFLAGS and CXXFLAGS from user -* compile with CC for C and CXX for C++ files -* propagate and respect user's LDFLAGS -* PIC only used for the library -* link the shared version library -nov 2012 - bicatali@gentoo.org - ---- a/Makefile.orig 2012-11-29 10:39:07.149421728 -0800 -+++ b/Makefile 2012-11-29 10:57:19.727766521 -0800 -@@ -1,9 +1,12 @@ - CXX ?= g++ --CFLAGS = -Wall -Wconversion -O3 -fPIC -+CC ?= gcc -+CFLAGS ?= -Wall -Wconversion -O3 -+CXXFLAGS ?= $(CFLAGS) - SHVER = 2 - 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 +14,20 @@ - 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) ; \ -+ 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 -+ $(CC) $(CFLAGS) -c $@.c -o $@.o -+ $(CXX) $(LDFLAGS) $@.o svm.o -lm -o $@ - svm-train: svm-train.c svm.o -- $(CXX) $(CFLAGS) svm-train.c svm.o -o svm-train -lm -+ $(CC) $(CFLAGS) -c $@.c -o $@.o -+ $(CXX) $(LDFLAGS) $@.o svm.o -lm -o $@ - svm-scale: svm-scale.c -- $(CXX) $(CFLAGS) svm-scale.c -o svm-scale -+ $(CC) $(CFLAGS) -c $@.c -o $@.o -+ $(CXX) $(LDFLAGS) $@.o -o $@ -+ - svm.o: svm.cpp svm.h -- $(CXX) $(CFLAGS) -c svm.cpp -+ $(CXX) $(CXXFLAGS) $(PICFLAGS) -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/files/libsvm-3.25-makefile.patch b/sci-libs/libsvm/files/libsvm-3.25-makefile.patch new file mode 100644 index 000000000000..ea48368b27a5 --- /dev/null +++ b/sci-libs/libsvm/files/libsvm-3.25-makefile.patch @@ -0,0 +1,49 @@ +* respect CFLAGS and CXXFLAGS from user +* compile with CC for C and CXX for C++ files +* propagate and respect user's LDFLAGS +* PIC only used for the library +* link the shared version library + +--- a/Makefile ++++ b/Makefile +@@ -1,9 +1,10 @@ +-CXX ?= g++ +-CFLAGS = -Wall -Wconversion -O3 -fPIC ++CFLAGS ?= -Wall -Wconversion ++CXXFLAGS ?= $(CFLAGS) + SHVER = 2 + 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,17 @@ + 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.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-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.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/files/libsvm-3.25-openmp.patch b/sci-libs/libsvm/files/libsvm-3.25-openmp.patch new file mode 100644 index 000000000000..1d12e198648e --- /dev/null +++ b/sci-libs/libsvm/files/libsvm-3.25-openmp.patch @@ -0,0 +1,34 @@ +--- a/svm.cpp ++++ b/svm.cpp +@@ -1282,6 +1282,9 @@ + int start, j; + if((start = cache->get_data(i,&data,len)) < len) + { ++#ifdef OPENMP ++#pragma omp parallel for private(j) ++#endif + for(j=start;j*kernel_function)(i,j)); + } +@@ -2506,7 +2509,10 @@ + model->param.svm_type == NU_SVR) + { + double *sv_coef = model->sv_coef[0]; +- double sum = 0; ++ double sum = 0; int i; ++#ifdef OPENMP ++#pragma omp parallel for private(i) reduction(+:sum) ++#endif + for(i=0;il;i++) + sum += sv_coef[i] * Kernel::k_function(x,model->SV[i],model->param); + sum -= model->rho[0]; +@@ -2523,6 +2529,9 @@ + int l = model->l; + + double *kvalue = Malloc(double,l); ++#ifdef OPENMP ++#pragma omp parallel for private(i) ++#endif + for(i=0;iSV[i],model->param); + diff --git a/sci-libs/libsvm/libsvm-3.25-r1.ebuild b/sci-libs/libsvm/libsvm-3.25-r1.ebuild new file mode 100644 index 000000000000..78e21cefa8d4 --- /dev/null +++ b/sci-libs/libsvm/libsvm-3.25-r1.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python3_{7..10} ) + +inherit flag-o-matic 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/${P}.tar.gz" + +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.25-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 +} diff --git a/sci-libs/libsvm/libsvm-3.25.ebuild b/sci-libs/libsvm/libsvm-3.25.ebuild deleted file mode 100644 index fb3107631476..000000000000 --- a/sci-libs/libsvm/libsvm-3.25.ebuild +++ /dev/null @@ -1,118 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python3_{7..10} ) - -inherit flag-o-matic 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/${P}.tar.gz" - -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}/3.11-openmp.patch" - "${FILESDIR}/3.14-makefile.patch" -) - -pkg_setup() { - if use openmp; then - if ! tc-has-openmp; then - ewarn "OpenMP is not supported by your currently selected compiler" - - if tc-is-clang; then - ewarn "OpenMP support in sys-devel/clang is provided by sys-libs/libomp," - ewarn "which you will need to build ${CATEGORY}/${PN} for USE=\"openmp\"" - fi - - die "need openmp capable compiler" - fi - - append-cflags -fopenmp - append-cxxflags -fopenmp - append-cppflags -DOPENMP - fi -} - -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 - 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 -} -- cgit v1.2.3