Gentoo Archives: gentoo-commits

From: Alessandro Barbieri <lssndrbarbieri@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:dev commit in: sci-libs/mlpack/, sci-libs/mlpack/files/
Date: Wed, 04 May 2022 00:05:43
Message-Id: 1651620469.edd4bbf46b30ee203ab8845e618dbd32534510d5.Alessandro-Barbieri@gentoo
1 commit: edd4bbf46b30ee203ab8845e618dbd32534510d5
2 Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
3 AuthorDate: Tue May 3 23:24:37 2022 +0000
4 Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
5 CommitDate: Tue May 3 23:27:49 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=edd4bbf4
7
8 sci-libs/mlpack: new package, add 3.4.2_p20220501
9
10 Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>
11
12 sci-libs/mlpack/Manifest | 19 +++
13 .../mlpack-3.4.2_p20220501-no-backports.patch | 53 ++++++
14 sci-libs/mlpack/files/mlpack-link-armadillo.patch | 7 +
15 .../mlpack/files/mlpack-no-pytest-runner.patch | 11 ++
16 sci-libs/mlpack/metadata.xml | 22 +++
17 sci-libs/mlpack/mlpack-3.4.2_p20220501.ebuild | 179 +++++++++++++++++++++
18 6 files changed, 291 insertions(+)
19
20 diff --git a/sci-libs/mlpack/Manifest b/sci-libs/mlpack/Manifest
21 new file mode 100644
22 index 000000000..9e645dd8e
23 --- /dev/null
24 +++ b/sci-libs/mlpack/Manifest
25 @@ -0,0 +1,19 @@
26 +DIST github.com%2Fajstarks%2Fsvgo%2F@v%2Fv0.0.0-20180226025133-644b8db467af.mod 32 BLAKE2B b8647c299d1f9a1c4f8ade152cfcb58f73d4bba4b6803f7fed7e0584607c6da369f9f622e70c1a415af2f5f53cdd1c8de7f29a7843b3ce505821ff1ffacaaec7 SHA512 031c2c2f683d57f81b504c68d24aa328a8f03af7d3ab9021b0acffd541d9a295a80cc7b1c9051d19ba30caad619d3e454ec5b804f14e24e9e39b008ec27dfaf5
27 +DIST github.com%2Ffogleman%2Fgg%2F@v%2Fv1.2.1-0.20190220221249-0403632d5b90.mod 30 BLAKE2B 725b27caadd05c18fc518e46ce4f1a213cd6ed7b4da3edb02cd74b7c7d3dc37891692f195144bbfc455bdc9bc77e683b41122bb3d646796555e92f565cc0133c SHA512 d64a7c87d6a40c48684a61ed0f6a7e75590df7d72d55242863f1bf18af9bb9ef51c40ecf0c41fbc039e06f1651898a238375afb12f41af5978195887a9a16c9c
28 +DIST github.com%2Fgolang%2Ffreetype%2F@v%2Fv0.0.0-20170609003504-e2365dfdc4a0.mod 34 BLAKE2B 55487f18e815e30ee3653a5dcc9370d2cf044641f7cf12c566e165fa173efe9af3ab18fed752dc36ee0fa25ae2e81a5094e18cebaa61d997ae599b9cc3d09bf1 SHA512 a34e950c565fa284163c40712c9f5e53881996c85153f972a78f27a5cdcaebfdbcce60556e173bbef2db32939f1b8721325846b705ef1504a1c5680598343b10
29 +DIST github.com%2Fjung-kurt%2Fgofpdf%2F@v%2Fv1.0.3-0.20190309125859-24315acbbda5.mod 35 BLAKE2B c1b6f3da9b37c5e0888f6ae304f7885901fb5f90bd94de7c980b7089d2477ea25f0fecf30b502f55fdb6a8dd7ba49683f33b89d761de0acd0e9ccbeff53a183b SHA512 824e0e8c8fe3985feb5f25c43725d4ff70f577373406b08767795e691f0bb10594dcbba4149e000bcebaf231bca5f72649c0d078b86cd4df38d0805e1939d63c
30 +DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20180321215751-8460e604b9de.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf
31 +DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20180807140117-3d87b88a115f.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf
32 +DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190125153040-c74c464bbbf2.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf
33 +DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190125153040-c74c464bbbf2.zip 1453241 BLAKE2B 3cefe5395bcd715cedaeff2add4c77d057025fb96b9bec7732d044cfcad027fd6c47633543957560194c04f4649646c72e12f998b17d6709965eb9c196ab4f14 SHA512 904202536557a2a73c421e242cbba38c1d68a94d49e3b80649c85f3353b7612cf0005325dbdc7b1c0b10d4334f2b59599278d5686843c479944eca58e8d84134
34 +DIST golang.org%2Fx%2Fimage%2F@v%2Fv0.0.0-20180708004352-c73c2afc3b81.mod 26 BLAKE2B 99ea5bcf900233680c1e0fd7526b1e12c79143afc9e545e59796fe734cb5b788536d332179d2432924b39670e4067fb3d13752735e59b8b19b3d27e9de9403ef SHA512 e78afa02a8d030fcd336ae1c1d5d4071d14f2873a1ad72af64a744c0e5e3ec795957fbc527557f4ba5b747cbcdf31c0109b43a6d75342d85a69fac6cf97f233a
35 +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20180525024113-a5b4c53f6e8b.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
36 +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190206041539-40960b6deb8e.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
37 +DIST gonum.org%2Fv1%2Fgonum%2F@v%2Fv0.0.0-20180816165407-929014505bf4.mod 147 BLAKE2B 6124c221210cb16cf7f0ea44ad962d904b2e8b050b4a86777f8a21114609c99866c53cd32572005bce9778317e2e13425cafee613ccacefa52933ae35c2fa65f SHA512 ff99bdfc473f5d75904731fc4e507a08743e5f4943d3fda12160a81dbcd1d7340935effad4e053be14da69240d6797d0462a823ba705e9f849607b8a069720d2
38 +DIST gonum.org%2Fv1%2Fgonum%2F@v%2Fv0.7.0.mod 266 BLAKE2B d241028f3c3d7408750924b5e1b47f9d38be1f1cf21b2fec130c6e8ba20bcb1a672534d1e217a8bb19c9b4c5287b8db9e7a35a24265e9b036c3409938f4cbd00 SHA512 92bd37879c7f1de52f3f5d045abfe085c6008700fd5bc4a790aa6cb2828ded7a0accc0e6e0247f88d3555e3afff81ede44f9aded6fce8a66468e77f571527461
39 +DIST gonum.org%2Fv1%2Fgonum%2F@v%2Fv0.7.0.zip 4032901 BLAKE2B aeda41183afe8899b189c135c287bfa97c55304dd15ec9a898be98a8ec102dd58201fbf2c7b6a10ef01984a9918fbdaa054d995c4ae75d6a19fccdbd742330d4 SHA512 f7da6a8e62d376e22d0db35e1ffd04e597e8f234aadc8bb6482c7d5cb31f31e11821f187904ca5a8797f6271933b752fd0926b0f4ecab9ab612544f4e691863c
40 +DIST gonum.org%2Fv1%2Fnetlib%2F@v%2Fv0.0.0-20190313105609-8cb42192e0e0.mod 27 BLAKE2B 7947d397295d9d1d7bd22c96f4310e54ade7afe7baf1850cead3176780d46b4f517dc1a1e3ee22e15f0345a043110cb0f32bc0175ad70de62fbaf2ee755e25a2 SHA512 1576aa0b64384add0cbec0e1e5187ba992022ba5d1ac2ed6ad2d3cd888a8f97218bd42aeb8cb5e53677e8192dc4db4c7800b15fb18c6bcc320a2c67b5bd07a37
41 +DIST gonum.org%2Fv1%2Fnetlib%2F@v%2Fv0.0.0-20190313105609-8cb42192e0e0.zip 220616 BLAKE2B ee0e947ce59df10c713766f1c8fdf27d37f64da46ffb095e7ff30da8583309f8ee15c9fa38a1790b71da466fadf87b1918600b5610fc632cd051658da32bfa50 SHA512 4439ea5da9742ca27d2ccb0604edae491594299db5b2062a4a117e8f2c08a64c6e3a87c5a3d9a606d816e89aab5eb870c13a0849b79cbb47b2659840efebc355
42 +DIST gonum.org%2Fv1%2Fplot%2F@v%2Fv0.0.0-20190515093506-e2840ee46a6b.mod 471 BLAKE2B 92356c493b1e94781571e05eb5096e6b40beb88c57927a955f899e8610597192fe82622f8e8f84b4c96ec00b1965552e6d5fb9166a6e3fa4f603d4fba72a4913 SHA512 ee8422d1041c7ba9306c5a49eb3bebb8c8243563250b7b3f19326769a3fb08660414625130cc1941077e7778104f6243aa5a5eb45797b72b4daf4f6abddaa32b
43 +DIST mlpack-3.4.2_p20220501.tar.gz 5944464 BLAKE2B c4c27bddaa7dd177a1f39131e7bae159ad044fe41fbb863dbbc0d2207e1bccca75807f607de567725e69818f28a72e9de09c4c5eaac2c76aee0c8f06f3a42b3d SHA512 ed6762c9be2e7c63a926bafedc8d2cea0c9946eca9313db84cfcca40a562ba90199829daf438a1196bfa8c7c20882c180a18b449f9c9fe4b69324233d521417d
44 +DIST rsc.io%2Fpdf%2F@v%2Fv0.1.1.mod 18 BLAKE2B 02f32b5a77e5009f179cf1fdc9acbb977fe219698f19ef41acee8129e0de7ad93b0b39ce82ac1538c82a7cdd33776e270f0acec114716c791727b021a4d3e147 SHA512 f911a889614d9177295952c82f8b4a0942fcbb7b4fca7378c0b98a63ed0e37e1319d51905f906ad08144eb0f3f829a2ccc2af04c2147e60cc2ac1ea8d7dab16f
45
46 diff --git a/sci-libs/mlpack/files/mlpack-3.4.2_p20220501-no-backports.patch b/sci-libs/mlpack/files/mlpack-3.4.2_p20220501-no-backports.patch
47 new file mode 100644
48 index 000000000..eae88d692
49 --- /dev/null
50 +++ b/sci-libs/mlpack/files/mlpack-3.4.2_p20220501-no-backports.patch
51 @@ -0,0 +1,53 @@
52 +--- a/CMakeLists.txt
53 ++++ b/CMakeLists.txt
54 +@@ -111,7 +111,7 @@
55 + enable_testing()
56 +
57 + # Set required standard to C++11.
58 +-set(CMAKE_CXX_STANDARD 11)
59 ++set(CMAKE_CXX_STANDARD 17)
60 + set(CMAKE_CXX_STANDARD_REQUIRED ON)
61 +
62 + # Ensure that GCC is new enough, if the compiler is GCC.
63 +--- a/src/mlpack/bindings/python/setup.py.in
64 ++++ b/src/mlpack/bindings/python/setup.py.in
65 +@@ -52,7 +52,7 @@
66 + else:
67 + cxx_flags = '${CMAKE_CXX_FLAGS}'.strip()
68 + cxx_flags = re.sub(' +', ' ', cxx_flags)
69 +- extra_args = ['-DBINDING_TYPE=BINDING_TYPE_PYX', '-std=c++11']
70 ++ extra_args = ['-DBINDING_TYPE=BINDING_TYPE_PYX', '-std=c++17']
71 + if '${OpenMP_CXX_FLAGS}' != '':
72 + extra_args.append('${OpenMP_CXX_FLAGS}')
73 + if cxx_flags:
74 +--- a/src/mlpack/bindings/R/mlpack/src/Makevars
75 ++++ b/src/mlpack/bindings/R/mlpack/src/Makevars
76 +@@ -1,3 +1,3 @@
77 + PKG_CXXFLAGS = -DBOOST_MATH_PROMOTE_DOUBLE_POLICY=false -I. $(SHLIB_OPENMP_CXXFLAGS)
78 + PKG_LIBS = $(SHLIB_OPENMP_CXXFLAGS) $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
79 +-CXX_STD = CXX11
80 ++CXX_STD = CXX17
81 +--- a/src/mlpack/core/cereal/CMakeLists.txt
82 ++++ b/src/mlpack/core/cereal/CMakeLists.txt
83 +@@ -4,10 +4,8 @@
84 + array_wrapper.hpp
85 + is_loading.hpp
86 + is_saving.hpp
87 +- pair_associative_container.hpp
88 + pointer_wrapper.hpp
89 + pointer_vector_wrapper.hpp
90 +- unordered_map.hpp
91 + )
92 +
93 + # add directory name to sources
94 +--- a/src/mlpack/prereqs.hpp
95 ++++ b/src/mlpack/prereqs.hpp
96 +@@ -110,7 +110,7 @@
97 + #include <cereal/types/array.hpp>
98 + #include <cereal/types/string.hpp>
99 + #include <cereal/types/tuple.hpp>
100 +-#include <mlpack/core/cereal/unordered_map.hpp>
101 ++#include <cereal/types/unordered_map.hpp>
102 + #include <cereal/types/utility.hpp>
103 + #include <cereal/types/vector.hpp>
104 +
105
106 diff --git a/sci-libs/mlpack/files/mlpack-link-armadillo.patch b/sci-libs/mlpack/files/mlpack-link-armadillo.patch
107 new file mode 100644
108 index 000000000..d37d12f4f
109 --- /dev/null
110 +++ b/sci-libs/mlpack/files/mlpack-link-armadillo.patch
111 @@ -0,0 +1,7 @@
112 +--- a/src/mlpack/bindings/R/mlpack/src/Makevars
113 ++++ b/src/mlpack/bindings/R/mlpack/src/Makevars
114 +@@ -1,3 +1,3 @@
115 + PKG_CXXFLAGS = -DBOOST_MATH_PROMOTE_DOUBLE_POLICY=false -I. $(SHLIB_OPENMP_CXXFLAGS)
116 +-PKG_LIBS = $(SHLIB_OPENMP_CXXFLAGS) $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
117 ++PKG_LIBS = $(SHLIB_OPENMP_CXXFLAGS) $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS) -larmadillo
118 + CXX_STD = CXX11
119
120 diff --git a/sci-libs/mlpack/files/mlpack-no-pytest-runner.patch b/sci-libs/mlpack/files/mlpack-no-pytest-runner.patch
121 new file mode 100644
122 index 000000000..649d407d9
123 --- /dev/null
124 +++ b/sci-libs/mlpack/files/mlpack-no-pytest-runner.patch
125 @@ -0,0 +1,11 @@
126 +--- a/src/mlpack/bindings/python/setup.py.in
127 ++++ b/src/mlpack/bindings/python/setup.py.in
128 +@@ -137,7 +137,7 @@
129 + packages=['mlpack'],
130 + cmdclass={ 'build_ext': build_ext },
131 + ext_modules = modules,
132 +- setup_requires=['cython', 'pytest-runner'],
133 ++ setup_requires=['cython'],
134 + tests_require=['pytest>3;python_version>"3.4"', 'pytest>3,<=4.6;python_version<="3.4"',
135 + 'more-itertools>=4.0.0,<6.0.0;python_version<="2.7"',
136 + 'more-itertools>=4.0.0;python_version>"2.7"'],
137
138 diff --git a/sci-libs/mlpack/metadata.xml b/sci-libs/mlpack/metadata.xml
139 new file mode 100644
140 index 000000000..083fe9f20
141 --- /dev/null
142 +++ b/sci-libs/mlpack/metadata.xml
143 @@ -0,0 +1,22 @@
144 +<?xml version="1.0" encoding="UTF-8"?>
145 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
146 +<pkgmetadata>
147 + <maintainer type="person">
148 + <description>co-maintainers welcome</description>
149 + <email>lssndrbarbieri@×××××.com</email>
150 + <name>Alessandro Barbieri</name>
151 + </maintainer>
152 + <longdescription lang="en">
153 + mlpack is a C++ machine learning library with emphasis on
154 + scalability, speed, and ease-of-use. Its aim is to make machine
155 + learning possible for novice users by means of a simple, consistent
156 + API, while simultaneously exploiting C++ language features to
157 + provide maximum performance and maximum flexibility for expert
158 + users.
159 + </longdescription>
160 + <use>
161 + <flag name="go">build go bindings</flag>
162 + <flag name="julia">build julia bindings</flag>
163 + <flag name="R">build R bindings</flag>
164 + </use>
165 +</pkgmetadata>
166
167 diff --git a/sci-libs/mlpack/mlpack-3.4.2_p20220501.ebuild b/sci-libs/mlpack/mlpack-3.4.2_p20220501.ebuild
168 new file mode 100644
169 index 000000000..8c4e12677
170 --- /dev/null
171 +++ b/sci-libs/mlpack/mlpack-3.4.2_p20220501.ebuild
172 @@ -0,0 +1,179 @@
173 +# Copyright 1999-2022 Gentoo Authors
174 +# Distributed under the terms of the GNU General Public License v2
175 +
176 +EAPI=8
177 +
178 +CMAKE_IN_SOURCE_BUILD=1
179 +CMAKE_MAKEFILE_GENERATOR="emake"
180 +COMMIT="54c6ebe03a07d7c32db46a6a06a03e8b821da4f2"
181 +EGO_PN="mlpack.org/v1/mlpack"
182 +EGO_SUM=(
183 + "github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod"
184 + "github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod"
185 + "github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod"
186 + "github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod"
187 + "golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod"
188 + "golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod"
189 + "golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2"
190 + "golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod"
191 + "golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod"
192 + "golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod"
193 + "golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod"
194 + "gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod"
195 + "gonum.org/v1/gonum v0.7.0"
196 + "gonum.org/v1/gonum v0.7.0/go.mod"
197 + "gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0"
198 + "gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod"
199 + "gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod"
200 + "rsc.io/pdf v0.1.1/go.mod"
201 + )
202 +GO_OPTIONAL=1
203 +PYTHON_COMPAT=( python3_{8..9} )
204 +
205 +inherit cmake flag-o-matic go-module python-single-r1
206 +
207 +go-module_set_globals
208 +
209 +DESCRIPTION="scalable C++ machine learning library"
210 +HOMEPAGE="
211 + https://www.mlpack.org
212 + https://github.com/mlpack/mlpack
213 +"
214 +SRC_URI="
215 + https://github.com/mlpack/mlpack/archive/${COMMIT}.tar.gz -> ${PF}.tar.gz
216 + go? ( ${EGO_SUM_SRC_URI} )
217 +"
218 +S="${WORKDIR}/${PN}-${COMMIT}"
219 +
220 +LICENSE="LGPL-3 BSD"
221 +SLOT="0"
222 +KEYWORDS="~amd64"
223 +IUSE="debug doc go julia openmp profile R source test"
224 +
225 +CDEPEND="
226 + ${PYTHON_DEPS}
227 + go? ( >=dev-lang/go-1.11.0 )
228 + julia? ( || ( >=dev-lang/julia-1.3.0 >=dev-lang/julia-bin-1.3.0:* ) )
229 + R? ( >=dev-lang/R-4.0 )
230 +"
231 +RDEPEND="
232 + ${CDEPEND}
233 + R? (
234 + dev-R/BH
235 + >=dev-R/Rcpp-0.12.12
236 + dev-R/RcppArmadillo
237 + dev-R/RcppEnsmallen
238 + dev-R/roxygen2
239 + >=dev-R/testthat-2.1.0
240 + )
241 +
242 + $(python_gen_cond_dep '
243 + >=dev-libs/boost-1.58[python,${PYTHON_USEDEP}]
244 + dev-libs/libxml2[${PYTHON_USEDEP}]
245 + >=dev-python/cython-0.24[${PYTHON_USEDEP}]
246 + dev-python/numpy[${PYTHON_USEDEP}]
247 + dev-python/pandas[${PYTHON_USEDEP}]
248 + dev-python/wheel[${PYTHON_USEDEP}]
249 + ')
250 +
251 + >=dev-libs/cereal-1.1.2
252 + dev-libs/stb
253 + >=sci-libs/armadillo-8.4.0[arpack,blas,lapack]
254 + >=sci-libs/ensmallen-2.10.0
255 +"
256 +DEPEND="
257 + ${RDEPEND}
258 + R? ( dev-R/pkgbuild )
259 +"
260 +BDEPEND="
261 + app-arch/unzip
262 + app-text/txt2man
263 + virtual/pkgconfig
264 +
265 + doc? (
266 + app-doc/doxygen
267 + dev-libs/mathjax
268 + )
269 + test? ( $(python_gen_cond_dep 'dev-python/pytest[${PYTHON_USEDEP}]') )
270 +"
271 +
272 +PATCHES=(
273 + "${FILESDIR}/${PN}-no-pytest-runner.patch"
274 + "${FILESDIR}/${PN}-link-armadillo.patch"
275 + "${FILESDIR}/${PN}-3.4.2_p20220501-no-backports.patch"
276 +)
277 +RESTRICT="!test? ( test )"
278 +REQUIRED_USE="${PYTHON_REQUIRED_USE}"
279 +
280 +src_unpack() {
281 + go-module_src_unpack
282 + use go && go-module_setup_proxy
283 +}
284 +
285 +src_prepare() {
286 + rm -r src/mlpack/core/std_backport || die
287 + rm -r src/mlpack/core/cereal/{pair_associative_container,unordered_map}.hpp || die
288 +
289 + sed -i \
290 + -e "s:share/doc/mlpack:share/doc/${PF}:" \
291 + -e 's/-O3//g' \
292 + CMakeLists.txt || die
293 + cmake_src_prepare
294 +}
295 +
296 +src_compile() {
297 + cmake_src_compile
298 +}
299 +
300 +src_configure() {
301 + use R && append-cxxflags "-larmadillo"
302 +
303 + local mycmakeargs=(
304 + -DBUILD_CLI_EXECUTABLES=ON
305 + -DBUILD_PYTHON_BINDINGS=ON
306 + -DBUILD_SHARED_LIBS=ON
307 + -DDOWNLOAD_DEPENDENCIES=OFF
308 +
309 + -DARMADILLO_INCLUDE_DIR="${EPREFIX}/usr/include"
310 + -DARMADILLO_LIBRARY="${EPREFIX}/usr/$(get_libdir)/libarmadillo.so"
311 + -DCEREAL_INCLUDE_DIR="${EPREFIX}/usr/include"
312 + -DENSMALLEN_INCLUDE_DIR="${EPREFIX}/usr/include"
313 + -DSTB_IMAGE_INCLUDE_DIR="${EPREFIX}/usr/include/stb"
314 +
315 + -DARMA_EXTRA_DEBUG=$(usex debug)
316 + -DBUILD_DOCS=$(usex doc)
317 + -DBUILD_GO_BINDINGS=OFF
318 + -DFORCE_BUILD_GO_BINDINGS=$(usex go)
319 + -DBUILD_GO_SHLIB=$(usex go)
320 + -DBUILD_JULIA_BINDINGS=$(usex julia)
321 + -DBUILD_MARKDOWN_BINDINGS=$(usex doc)
322 + -DBUILD_R_BINDINGS=$(usex R)
323 + -DBUILD_TESTS=$(usex test)
324 + -DDEBUG=$(usex debug)
325 + -DMATHJAX=$(usex doc)
326 + -DPROFILE=$(usex profile)
327 + -DTEST_VERBOSE=$(usex test)
328 + -DUSE_OPENMP=$(usex openmp)
329 + )
330 + cmake_src_configure
331 +}
332 +
333 +src_install() {
334 + cmake_src_install
335 +
336 + if use R; then
337 + pushd "${BUILD_DIR}/src/mlpack/bindings/R/" || die
338 + insinto "/usr/$(get_libdir)/R/site-library"
339 + rm -r mlpack/src || die
340 + doins -r mlpack
341 + popd || die
342 + fi
343 +
344 + if use source; then
345 + gosrc="$(go env GOROOT)/src" || die
346 + insinto "${gosrc}/${EGO_PN}"
347 + doins -r src/mlpack/bindings/go/mlpack/*
348 + fi
349 +
350 + python_optimize
351 +}