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 |
+} |