Gentoo Archives: gentoo-commits

From: David Seifert <soap@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-libs/libsvm/files/, sci-libs/libsvm/
Date: Sat, 14 May 2022 21:30:45
Message-Id: 1652563824.3413ca5341ea5ea6e4a39c228f684ee351534a56.soap@gentoo
1 commit: 3413ca5341ea5ea6e4a39c228f684ee351534a56
2 Author: David Seifert <soap <AT> gentoo <DOT> org>
3 AuthorDate: Sat May 14 21:30:24 2022 +0000
4 Commit: David Seifert <soap <AT> gentoo <DOT> org>
5 CommitDate: Sat May 14 21:30:24 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3413ca53
7
8 sci-libs/libsvm: [QA] tc-has-openmp → tc-check-openmp
9
10 Signed-off-by: David Seifert <soap <AT> gentoo.org>
11
12 ...4-makefile.patch => libsvm-3.25-makefile.patch} | 38 ++++++++++------------
13 ...{3.11-openmp.patch => libsvm-3.25-openmp.patch} | 12 +++----
14 .../{libsvm-3.25.ebuild => libsvm-3.25-r1.ebuild} | 33 +++++++++----------
15 3 files changed, 39 insertions(+), 44 deletions(-)
16
17 diff --git a/sci-libs/libsvm/files/3.14-makefile.patch b/sci-libs/libsvm/files/libsvm-3.25-makefile.patch
18 similarity index 63%
19 rename from sci-libs/libsvm/files/3.14-makefile.patch
20 rename to sci-libs/libsvm/files/libsvm-3.25-makefile.patch
21 index e38dafc10b20..ea48368b27a5 100644
22 --- a/sci-libs/libsvm/files/3.14-makefile.patch
23 +++ b/sci-libs/libsvm/files/libsvm-3.25-makefile.patch
24 @@ -3,15 +3,13 @@
25 * propagate and respect user's LDFLAGS
26 * PIC only used for the library
27 * link the shared version library
28 -nov 2012 - bicatali@g.o
29
30 ---- a/Makefile.orig 2012-11-29 10:39:07.149421728 -0800
31 -+++ b/Makefile 2012-11-29 10:57:19.727766521 -0800
32 -@@ -1,9 +1,12 @@
33 - CXX ?= g++
34 +--- a/Makefile
35 ++++ b/Makefile
36 +@@ -1,9 +1,10 @@
37 +-CXX ?= g++
38 -CFLAGS = -Wall -Wconversion -O3 -fPIC
39 -+CC ?= gcc
40 -+CFLAGS ?= -Wall -Wconversion -O3
41 ++CFLAGS ?= -Wall -Wconversion
42 +CXXFLAGS ?= $(CFLAGS)
43 SHVER = 2
44 OS = $(shell uname)
45 @@ -22,30 +20,30 @@ nov 2012 - bicatali@g.o
46
47 lib: svm.o
48 if [ "$(OS)" = "Darwin" ]; then \
49 -@@ -11,15 +14,20 @@
50 +@@ -11,15 +12,17 @@
51 else \
52 SHARED_LIB_FLAG="-shared -Wl,-soname,libsvm.so.$(SHVER)"; \
53 fi; \
54 - $(CXX) $${SHARED_LIB_FLAG} svm.o -o libsvm.so.$(SHVER)
55 -+ $(CXX) $(LDFLAGS) $${SHARED_LIB_FLAG} svm.o -o libsvm.so.$(SHVER) ; \
56 ++ $(CXX) $(LDFLAGS) $${SHARED_LIB_FLAG} svm.o -o libsvm.so.$(SHVER) $(OPENMP_LIBS) ; \
57 + ln -s libsvm.so.$(SHVER) libsvm.so
58 ++
59 ++svm-predict: svm-predict.o lib
60 ++ $(CXX) $(LDFLAGS) $< -o $@ $(LIBS) -L. -lsvm -lm
61 ++svm-train: svm-train.o lib
62 ++ $(CXX) $(LDFLAGS) $< -o $@ $(LIBS) -L. -lsvm -lm
63 ++svm-scale: svm-scale.o
64 ++ $(CXX) $(LDFLAGS) $< -o $@ $(LIBS)
65
66 - svm-predict: svm-predict.c svm.o
67 +-svm-predict: svm-predict.c svm.o
68 - $(CXX) $(CFLAGS) svm-predict.c svm.o -o svm-predict -lm
69 -+ $(CC) $(CFLAGS) -c $@.c -o $@.o
70 -+ $(CXX) $(LDFLAGS) $@.o svm.o -lm -o $@
71 - svm-train: svm-train.c svm.o
72 +-svm-train: svm-train.c svm.o
73 - $(CXX) $(CFLAGS) svm-train.c svm.o -o svm-train -lm
74 -+ $(CC) $(CFLAGS) -c $@.c -o $@.o
75 -+ $(CXX) $(LDFLAGS) $@.o svm.o -lm -o $@
76 - svm-scale: svm-scale.c
77 +-svm-scale: svm-scale.c
78 - $(CXX) $(CFLAGS) svm-scale.c -o svm-scale
79 -+ $(CC) $(CFLAGS) -c $@.c -o $@.o
80 -+ $(CXX) $(LDFLAGS) $@.o -o $@
81 -+
82 svm.o: svm.cpp svm.h
83 - $(CXX) $(CFLAGS) -c svm.cpp
84 -+ $(CXX) $(CXXFLAGS) $(PICFLAGS) -c svm.cpp -o $@
85 ++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(PICFLAGS) $(OPENMP_CFLAGS) -c svm.cpp -o $@
86 clean:
87 - rm -f *~ svm.o svm-train svm-predict svm-scale libsvm.so.$(SHVER)
88 + rm -f *~ svm.o svm-train svm-predict svm-scale libsvm.so.$(SHVER) libsvm.so
89
90 diff --git a/sci-libs/libsvm/files/3.11-openmp.patch b/sci-libs/libsvm/files/libsvm-3.25-openmp.patch
91 similarity index 81%
92 rename from sci-libs/libsvm/files/3.11-openmp.patch
93 rename to sci-libs/libsvm/files/libsvm-3.25-openmp.patch
94 index e07b03e57380..1d12e198648e 100644
95 --- a/sci-libs/libsvm/files/3.11-openmp.patch
96 +++ b/sci-libs/libsvm/files/libsvm-3.25-openmp.patch
97 @@ -1,6 +1,6 @@
98 ---- a/svm.cpp.orig 2011-05-27 04:32:19.000000000 +0100
99 -+++ b/svm.cpp 2011-12-29 19:17:07.000000000 +0000
100 -@@ -1281,6 +1281,9 @@
101 +--- a/svm.cpp
102 ++++ b/svm.cpp
103 +@@ -1282,6 +1282,9 @@
104 int start, j;
105 if((start = cache->get_data(i,&data,len)) < len)
106 {
107 @@ -10,7 +10,7 @@
108 for(j=start;j<len;j++)
109 data[j] = (Qfloat)(y[i]*y[j]*(this->*kernel_function)(i,j));
110 }
111 -@@ -2463,7 +2466,10 @@
112 +@@ -2506,7 +2509,10 @@
113 model->param.svm_type == NU_SVR)
114 {
115 double *sv_coef = model->sv_coef[0];
116 @@ -22,9 +22,9 @@
117 for(i=0;i<model->l;i++)
118 sum += sv_coef[i] * Kernel::k_function(x,model->SV[i],model->param);
119 sum -= model->rho[0];
120 -@@ -2480,6 +2486,9 @@
121 +@@ -2523,6 +2529,9 @@
122 int l = model->l;
123 -
124 +
125 double *kvalue = Malloc(double,l);
126 +#ifdef OPENMP
127 +#pragma omp parallel for private(i)
128
129 diff --git a/sci-libs/libsvm/libsvm-3.25.ebuild b/sci-libs/libsvm/libsvm-3.25-r1.ebuild
130 similarity index 82%
131 rename from sci-libs/libsvm/libsvm-3.25.ebuild
132 rename to sci-libs/libsvm/libsvm-3.25-r1.ebuild
133 index fb3107631476..78e21cefa8d4 100644
134 --- a/sci-libs/libsvm/libsvm-3.25.ebuild
135 +++ b/sci-libs/libsvm/libsvm-3.25-r1.ebuild
136 @@ -27,27 +27,16 @@ RDEPEND="
137 "
138
139 PATCHES=(
140 - "${FILESDIR}/3.11-openmp.patch"
141 - "${FILESDIR}/3.14-makefile.patch"
142 + "${FILESDIR}"/${PN}-3.25-openmp.patch
143 + "${FILESDIR}"/${PN}-3.25-makefile.patch
144 )
145
146 -pkg_setup() {
147 - if use openmp; then
148 - if ! tc-has-openmp; then
149 - ewarn "OpenMP is not supported by your currently selected compiler"
150 -
151 - if tc-is-clang; then
152 - ewarn "OpenMP support in sys-devel/clang is provided by sys-libs/libomp,"
153 - ewarn "which you will need to build ${CATEGORY}/${PN} for USE=\"openmp\""
154 - fi
155 -
156 - die "need openmp capable compiler"
157 - fi
158 +pkg_pretend() {
159 + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
160 +}
161
162 - append-cflags -fopenmp
163 - append-cxxflags -fopenmp
164 - append-cppflags -DOPENMP
165 - fi
166 +pkg_setup() {
167 + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
168 }
169
170 src_prepare() {
171 @@ -66,6 +55,14 @@ src_prepare() {
172 -e "s/JAVAC_FLAGS =/JAVAC_FLAGS=${JAVAC_FLAGS}/g" \
173 java/Makefile || die "Failed to fix java makefile"
174 fi
175 +}
176 +
177 +src_configure() {
178 + if use openmp; then
179 + export OPENMP_CFLAGS="-fopenmp -DOPENMP"
180 + export OPENMP_LIBS="-fopenmp"
181 + fi
182 +
183 tc-export CXX CC
184 }