sci-libs/mlpack: new package, add 3.4.2_p20220501

Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
Alessandro Barbieri
2022-05-04 01:24:37 +02:00
parent 30de3971db
commit edd4bbf46b
6 changed files with 291 additions and 0 deletions

19
sci-libs/mlpack/Manifest Normal file
View File

@@ -0,0 +1,19 @@
DIST github.com%2Fajstarks%2Fsvgo%2F@v%2Fv0.0.0-20180226025133-644b8db467af.mod 32 BLAKE2B b8647c299d1f9a1c4f8ade152cfcb58f73d4bba4b6803f7fed7e0584607c6da369f9f622e70c1a415af2f5f53cdd1c8de7f29a7843b3ce505821ff1ffacaaec7 SHA512 031c2c2f683d57f81b504c68d24aa328a8f03af7d3ab9021b0acffd541d9a295a80cc7b1c9051d19ba30caad619d3e454ec5b804f14e24e9e39b008ec27dfaf5
DIST github.com%2Ffogleman%2Fgg%2F@v%2Fv1.2.1-0.20190220221249-0403632d5b90.mod 30 BLAKE2B 725b27caadd05c18fc518e46ce4f1a213cd6ed7b4da3edb02cd74b7c7d3dc37891692f195144bbfc455bdc9bc77e683b41122bb3d646796555e92f565cc0133c SHA512 d64a7c87d6a40c48684a61ed0f6a7e75590df7d72d55242863f1bf18af9bb9ef51c40ecf0c41fbc039e06f1651898a238375afb12f41af5978195887a9a16c9c
DIST github.com%2Fgolang%2Ffreetype%2F@v%2Fv0.0.0-20170609003504-e2365dfdc4a0.mod 34 BLAKE2B 55487f18e815e30ee3653a5dcc9370d2cf044641f7cf12c566e165fa173efe9af3ab18fed752dc36ee0fa25ae2e81a5094e18cebaa61d997ae599b9cc3d09bf1 SHA512 a34e950c565fa284163c40712c9f5e53881996c85153f972a78f27a5cdcaebfdbcce60556e173bbef2db32939f1b8721325846b705ef1504a1c5680598343b10
DIST github.com%2Fjung-kurt%2Fgofpdf%2F@v%2Fv1.0.3-0.20190309125859-24315acbbda5.mod 35 BLAKE2B c1b6f3da9b37c5e0888f6ae304f7885901fb5f90bd94de7c980b7089d2477ea25f0fecf30b502f55fdb6a8dd7ba49683f33b89d761de0acd0e9ccbeff53a183b SHA512 824e0e8c8fe3985feb5f25c43725d4ff70f577373406b08767795e691f0bb10594dcbba4149e000bcebaf231bca5f72649c0d078b86cd4df38d0805e1939d63c
DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20180321215751-8460e604b9de.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf
DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20180807140117-3d87b88a115f.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf
DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190125153040-c74c464bbbf2.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf
DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190125153040-c74c464bbbf2.zip 1453241 BLAKE2B 3cefe5395bcd715cedaeff2add4c77d057025fb96b9bec7732d044cfcad027fd6c47633543957560194c04f4649646c72e12f998b17d6709965eb9c196ab4f14 SHA512 904202536557a2a73c421e242cbba38c1d68a94d49e3b80649c85f3353b7612cf0005325dbdc7b1c0b10d4334f2b59599278d5686843c479944eca58e8d84134
DIST golang.org%2Fx%2Fimage%2F@v%2Fv0.0.0-20180708004352-c73c2afc3b81.mod 26 BLAKE2B 99ea5bcf900233680c1e0fd7526b1e12c79143afc9e545e59796fe734cb5b788536d332179d2432924b39670e4067fb3d13752735e59b8b19b3d27e9de9403ef SHA512 e78afa02a8d030fcd336ae1c1d5d4071d14f2873a1ad72af64a744c0e5e3ec795957fbc527557f4ba5b747cbcdf31c0109b43a6d75342d85a69fac6cf97f233a
DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20180525024113-a5b4c53f6e8b.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190206041539-40960b6deb8e.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
DIST gonum.org%2Fv1%2Fgonum%2F@v%2Fv0.0.0-20180816165407-929014505bf4.mod 147 BLAKE2B 6124c221210cb16cf7f0ea44ad962d904b2e8b050b4a86777f8a21114609c99866c53cd32572005bce9778317e2e13425cafee613ccacefa52933ae35c2fa65f SHA512 ff99bdfc473f5d75904731fc4e507a08743e5f4943d3fda12160a81dbcd1d7340935effad4e053be14da69240d6797d0462a823ba705e9f849607b8a069720d2
DIST gonum.org%2Fv1%2Fgonum%2F@v%2Fv0.7.0.mod 266 BLAKE2B d241028f3c3d7408750924b5e1b47f9d38be1f1cf21b2fec130c6e8ba20bcb1a672534d1e217a8bb19c9b4c5287b8db9e7a35a24265e9b036c3409938f4cbd00 SHA512 92bd37879c7f1de52f3f5d045abfe085c6008700fd5bc4a790aa6cb2828ded7a0accc0e6e0247f88d3555e3afff81ede44f9aded6fce8a66468e77f571527461
DIST gonum.org%2Fv1%2Fgonum%2F@v%2Fv0.7.0.zip 4032901 BLAKE2B aeda41183afe8899b189c135c287bfa97c55304dd15ec9a898be98a8ec102dd58201fbf2c7b6a10ef01984a9918fbdaa054d995c4ae75d6a19fccdbd742330d4 SHA512 f7da6a8e62d376e22d0db35e1ffd04e597e8f234aadc8bb6482c7d5cb31f31e11821f187904ca5a8797f6271933b752fd0926b0f4ecab9ab612544f4e691863c
DIST gonum.org%2Fv1%2Fnetlib%2F@v%2Fv0.0.0-20190313105609-8cb42192e0e0.mod 27 BLAKE2B 7947d397295d9d1d7bd22c96f4310e54ade7afe7baf1850cead3176780d46b4f517dc1a1e3ee22e15f0345a043110cb0f32bc0175ad70de62fbaf2ee755e25a2 SHA512 1576aa0b64384add0cbec0e1e5187ba992022ba5d1ac2ed6ad2d3cd888a8f97218bd42aeb8cb5e53677e8192dc4db4c7800b15fb18c6bcc320a2c67b5bd07a37
DIST gonum.org%2Fv1%2Fnetlib%2F@v%2Fv0.0.0-20190313105609-8cb42192e0e0.zip 220616 BLAKE2B ee0e947ce59df10c713766f1c8fdf27d37f64da46ffb095e7ff30da8583309f8ee15c9fa38a1790b71da466fadf87b1918600b5610fc632cd051658da32bfa50 SHA512 4439ea5da9742ca27d2ccb0604edae491594299db5b2062a4a117e8f2c08a64c6e3a87c5a3d9a606d816e89aab5eb870c13a0849b79cbb47b2659840efebc355
DIST gonum.org%2Fv1%2Fplot%2F@v%2Fv0.0.0-20190515093506-e2840ee46a6b.mod 471 BLAKE2B 92356c493b1e94781571e05eb5096e6b40beb88c57927a955f899e8610597192fe82622f8e8f84b4c96ec00b1965552e6d5fb9166a6e3fa4f603d4fba72a4913 SHA512 ee8422d1041c7ba9306c5a49eb3bebb8c8243563250b7b3f19326769a3fb08660414625130cc1941077e7778104f6243aa5a5eb45797b72b4daf4f6abddaa32b
DIST mlpack-3.4.2_p20220501.tar.gz 5944464 BLAKE2B c4c27bddaa7dd177a1f39131e7bae159ad044fe41fbb863dbbc0d2207e1bccca75807f607de567725e69818f28a72e9de09c4c5eaac2c76aee0c8f06f3a42b3d SHA512 ed6762c9be2e7c63a926bafedc8d2cea0c9946eca9313db84cfcca40a562ba90199829daf438a1196bfa8c7c20882c180a18b449f9c9fe4b69324233d521417d
DIST rsc.io%2Fpdf%2F@v%2Fv0.1.1.mod 18 BLAKE2B 02f32b5a77e5009f179cf1fdc9acbb977fe219698f19ef41acee8129e0de7ad93b0b39ce82ac1538c82a7cdd33776e270f0acec114716c791727b021a4d3e147 SHA512 f911a889614d9177295952c82f8b4a0942fcbb7b4fca7378c0b98a63ed0e37e1319d51905f906ad08144eb0f3f829a2ccc2af04c2147e60cc2ac1ea8d7dab16f

View File

@@ -0,0 +1,53 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -111,7 +111,7 @@
enable_testing()
# Set required standard to C++11.
-set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Ensure that GCC is new enough, if the compiler is GCC.
--- a/src/mlpack/bindings/python/setup.py.in
+++ b/src/mlpack/bindings/python/setup.py.in
@@ -52,7 +52,7 @@
else:
cxx_flags = '${CMAKE_CXX_FLAGS}'.strip()
cxx_flags = re.sub(' +', ' ', cxx_flags)
- extra_args = ['-DBINDING_TYPE=BINDING_TYPE_PYX', '-std=c++11']
+ extra_args = ['-DBINDING_TYPE=BINDING_TYPE_PYX', '-std=c++17']
if '${OpenMP_CXX_FLAGS}' != '':
extra_args.append('${OpenMP_CXX_FLAGS}')
if cxx_flags:
--- a/src/mlpack/bindings/R/mlpack/src/Makevars
+++ b/src/mlpack/bindings/R/mlpack/src/Makevars
@@ -1,3 +1,3 @@
PKG_CXXFLAGS = -DBOOST_MATH_PROMOTE_DOUBLE_POLICY=false -I. $(SHLIB_OPENMP_CXXFLAGS)
PKG_LIBS = $(SHLIB_OPENMP_CXXFLAGS) $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
-CXX_STD = CXX11
+CXX_STD = CXX17
--- a/src/mlpack/core/cereal/CMakeLists.txt
+++ b/src/mlpack/core/cereal/CMakeLists.txt
@@ -4,10 +4,8 @@
array_wrapper.hpp
is_loading.hpp
is_saving.hpp
- pair_associative_container.hpp
pointer_wrapper.hpp
pointer_vector_wrapper.hpp
- unordered_map.hpp
)
# add directory name to sources
--- a/src/mlpack/prereqs.hpp
+++ b/src/mlpack/prereqs.hpp
@@ -110,7 +110,7 @@
#include <cereal/types/array.hpp>
#include <cereal/types/string.hpp>
#include <cereal/types/tuple.hpp>
-#include <mlpack/core/cereal/unordered_map.hpp>
+#include <cereal/types/unordered_map.hpp>
#include <cereal/types/utility.hpp>
#include <cereal/types/vector.hpp>

View File

@@ -0,0 +1,7 @@
--- a/src/mlpack/bindings/R/mlpack/src/Makevars
+++ b/src/mlpack/bindings/R/mlpack/src/Makevars
@@ -1,3 +1,3 @@
PKG_CXXFLAGS = -DBOOST_MATH_PROMOTE_DOUBLE_POLICY=false -I. $(SHLIB_OPENMP_CXXFLAGS)
-PKG_LIBS = $(SHLIB_OPENMP_CXXFLAGS) $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
+PKG_LIBS = $(SHLIB_OPENMP_CXXFLAGS) $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS) -larmadillo
CXX_STD = CXX11

View File

@@ -0,0 +1,11 @@
--- a/src/mlpack/bindings/python/setup.py.in
+++ b/src/mlpack/bindings/python/setup.py.in
@@ -137,7 +137,7 @@
packages=['mlpack'],
cmdclass={ 'build_ext': build_ext },
ext_modules = modules,
- setup_requires=['cython', 'pytest-runner'],
+ setup_requires=['cython'],
tests_require=['pytest>3;python_version>"3.4"', 'pytest>3,<=4.6;python_version<="3.4"',
'more-itertools>=4.0.0,<6.0.0;python_version<="2.7"',
'more-itertools>=4.0.0;python_version>"2.7"'],

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<description>co-maintainers welcome</description>
<email>lssndrbarbieri@gmail.com</email>
<name>Alessandro Barbieri</name>
</maintainer>
<longdescription lang="en">
mlpack is a C++ machine learning library with emphasis on
scalability, speed, and ease-of-use. Its aim is to make machine
learning possible for novice users by means of a simple, consistent
API, while simultaneously exploiting C++ language features to
provide maximum performance and maximum flexibility for expert
users.
</longdescription>
<use>
<flag name="go">build go bindings</flag>
<flag name="julia">build julia bindings</flag>
<flag name="R">build R bindings</flag>
</use>
</pkgmetadata>

View File

@@ -0,0 +1,179 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CMAKE_IN_SOURCE_BUILD=1
CMAKE_MAKEFILE_GENERATOR="emake"
COMMIT="54c6ebe03a07d7c32db46a6a06a03e8b821da4f2"
EGO_PN="mlpack.org/v1/mlpack"
EGO_SUM=(
"github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod"
"github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod"
"github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod"
"github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod"
"golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod"
"golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod"
"golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2"
"golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod"
"golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod"
"golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod"
"golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod"
"gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod"
"gonum.org/v1/gonum v0.7.0"
"gonum.org/v1/gonum v0.7.0/go.mod"
"gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0"
"gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod"
"gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod"
"rsc.io/pdf v0.1.1/go.mod"
)
GO_OPTIONAL=1
PYTHON_COMPAT=( python3_{8..9} )
inherit cmake flag-o-matic go-module python-single-r1
go-module_set_globals
DESCRIPTION="scalable C++ machine learning library"
HOMEPAGE="
https://www.mlpack.org
https://github.com/mlpack/mlpack
"
SRC_URI="
https://github.com/mlpack/mlpack/archive/${COMMIT}.tar.gz -> ${PF}.tar.gz
go? ( ${EGO_SUM_SRC_URI} )
"
S="${WORKDIR}/${PN}-${COMMIT}"
LICENSE="LGPL-3 BSD"
SLOT="0"
KEYWORDS="~amd64"
IUSE="debug doc go julia openmp profile R source test"
CDEPEND="
${PYTHON_DEPS}
go? ( >=dev-lang/go-1.11.0 )
julia? ( || ( >=dev-lang/julia-1.3.0 >=dev-lang/julia-bin-1.3.0:* ) )
R? ( >=dev-lang/R-4.0 )
"
RDEPEND="
${CDEPEND}
R? (
dev-R/BH
>=dev-R/Rcpp-0.12.12
dev-R/RcppArmadillo
dev-R/RcppEnsmallen
dev-R/roxygen2
>=dev-R/testthat-2.1.0
)
$(python_gen_cond_dep '
>=dev-libs/boost-1.58[python,${PYTHON_USEDEP}]
dev-libs/libxml2[${PYTHON_USEDEP}]
>=dev-python/cython-0.24[${PYTHON_USEDEP}]
dev-python/numpy[${PYTHON_USEDEP}]
dev-python/pandas[${PYTHON_USEDEP}]
dev-python/wheel[${PYTHON_USEDEP}]
')
>=dev-libs/cereal-1.1.2
dev-libs/stb
>=sci-libs/armadillo-8.4.0[arpack,blas,lapack]
>=sci-libs/ensmallen-2.10.0
"
DEPEND="
${RDEPEND}
R? ( dev-R/pkgbuild )
"
BDEPEND="
app-arch/unzip
app-text/txt2man
virtual/pkgconfig
doc? (
app-doc/doxygen
dev-libs/mathjax
)
test? ( $(python_gen_cond_dep 'dev-python/pytest[${PYTHON_USEDEP}]') )
"
PATCHES=(
"${FILESDIR}/${PN}-no-pytest-runner.patch"
"${FILESDIR}/${PN}-link-armadillo.patch"
"${FILESDIR}/${PN}-3.4.2_p20220501-no-backports.patch"
)
RESTRICT="!test? ( test )"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
src_unpack() {
go-module_src_unpack
use go && go-module_setup_proxy
}
src_prepare() {
rm -r src/mlpack/core/std_backport || die
rm -r src/mlpack/core/cereal/{pair_associative_container,unordered_map}.hpp || die
sed -i \
-e "s:share/doc/mlpack:share/doc/${PF}:" \
-e 's/-O3//g' \
CMakeLists.txt || die
cmake_src_prepare
}
src_compile() {
cmake_src_compile
}
src_configure() {
use R && append-cxxflags "-larmadillo"
local mycmakeargs=(
-DBUILD_CLI_EXECUTABLES=ON
-DBUILD_PYTHON_BINDINGS=ON
-DBUILD_SHARED_LIBS=ON
-DDOWNLOAD_DEPENDENCIES=OFF
-DARMADILLO_INCLUDE_DIR="${EPREFIX}/usr/include"
-DARMADILLO_LIBRARY="${EPREFIX}/usr/$(get_libdir)/libarmadillo.so"
-DCEREAL_INCLUDE_DIR="${EPREFIX}/usr/include"
-DENSMALLEN_INCLUDE_DIR="${EPREFIX}/usr/include"
-DSTB_IMAGE_INCLUDE_DIR="${EPREFIX}/usr/include/stb"
-DARMA_EXTRA_DEBUG=$(usex debug)
-DBUILD_DOCS=$(usex doc)
-DBUILD_GO_BINDINGS=OFF
-DFORCE_BUILD_GO_BINDINGS=$(usex go)
-DBUILD_GO_SHLIB=$(usex go)
-DBUILD_JULIA_BINDINGS=$(usex julia)
-DBUILD_MARKDOWN_BINDINGS=$(usex doc)
-DBUILD_R_BINDINGS=$(usex R)
-DBUILD_TESTS=$(usex test)
-DDEBUG=$(usex debug)
-DMATHJAX=$(usex doc)
-DPROFILE=$(usex profile)
-DTEST_VERBOSE=$(usex test)
-DUSE_OPENMP=$(usex openmp)
)
cmake_src_configure
}
src_install() {
cmake_src_install
if use R; then
pushd "${BUILD_DIR}/src/mlpack/bindings/R/" || die
insinto "/usr/$(get_libdir)/R/site-library"
rm -r mlpack/src || die
doins -r mlpack
popd || die
fi
if use source; then
gosrc="$(go env GOROOT)/src" || die
insinto "${gosrc}/${EGO_PN}"
doins -r src/mlpack/bindings/go/mlpack/*
fi
python_optimize
}