mlpack: new recipe (#1887)

This commit is contained in:
miqlas
2017-12-12 21:53:57 +01:00
committed by GitHub
parent 18369be6b3
commit e2f15a0f6c
2 changed files with 214 additions and 0 deletions

View File

@@ -0,0 +1,192 @@
SUMMARY="Scalable c++ machine learning library"
DESCRIPTION="mlpack is an intuitive, fast, scalable C++ machine learning \
library, meant to be a machine learning analog to LAPACK. It aims to implement \
a wide array of machine learning methods and functions as a \"swiss army \
knife\" for machine learning researchers."
HOMEPAGE="http://www.mlpack.org/"
COPYRIGHT="2011-2017 mlpack Team"
LICENSE="BSD (3-clause)"
REVISION="1"
SOURCE_URI="https://github.com/mlpack/mlpack/archive/mlpack-$portVersion.tar.gz"
CHECKSUM_SHA256="6bba8b28a50dc3b8afacd357aca57a658cf5b8d90a57d38f357d7e2eafcf09bb"
SOURCE_DIR="mlpack-mlpack-$portVersion"
PATCHES="mlpack-$portVersion.patchset"
ARCHITECTURES="!x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
mlpack$secondaryArchSuffix = $portVersion
cmd:mlpack_adaboost$secondaryArchSuffix
cmd:mlpack_allkfn$secondaryArchSuffix
cmd:mlpack_allknn$secondaryArchSuffix
cmd:mlpack_allkrann$secondaryArchSuffix
cmd:mlpack_approx_kfn$secondaryArchSuffix
cmd:mlpack_cf$secondaryArchSuffix
cmd:mlpack_dbscan$secondaryArchSuffix
cmd:mlpack_decision_stump$secondaryArchSuffix
cmd:mlpack_decision_tree$secondaryArchSuffix
cmd:mlpack_det$secondaryArchSuffix
cmd:mlpack_emst$secondaryArchSuffix
cmd:mlpack_fastmks$secondaryArchSuffix
cmd:mlpack_gmm_generate$secondaryArchSuffix
cmd:mlpack_gmm_probability$secondaryArchSuffix
cmd:mlpack_gmm_train$secondaryArchSuffix
cmd:mlpack_hmm_generate$secondaryArchSuffix
cmd:mlpack_hmm_loglik$secondaryArchSuffix
cmd:mlpack_hmm_train$secondaryArchSuffix
cmd:mlpack_hmm_viterbi$secondaryArchSuffix
cmd:mlpack_hoeffding_tree$secondaryArchSuffix
cmd:mlpack_kernel_pca$secondaryArchSuffix
cmd:mlpack_kfn$secondaryArchSuffix
cmd:mlpack_kmeans$secondaryArchSuffix
cmd:mlpack_knn$secondaryArchSuffix
cmd:mlpack_krann$secondaryArchSuffix
cmd:mlpack_lars$secondaryArchSuffix
cmd:mlpack_linear_regression$secondaryArchSuffix
cmd:mlpack_local_coordinate_coding$secondaryArchSuffix
cmd:mlpack_logistic_regression$secondaryArchSuffix
cmd:mlpack_lsh$secondaryArchSuffix
cmd:mlpack_mean_shift$secondaryArchSuffix
cmd:mlpack_nbc$secondaryArchSuffix
cmd:mlpack_nca$secondaryArchSuffix
cmd:mlpack_nmf$secondaryArchSuffix
cmd:mlpack_pca$secondaryArchSuffix
cmd:mlpack_perceptron$secondaryArchSuffix
cmd:mlpack_preprocess_binarize$secondaryArchSuffix
cmd:mlpack_preprocess_describe$secondaryArchSuffix
cmd:mlpack_preprocess_imputer$secondaryArchSuffix
cmd:mlpack_preprocess_split$secondaryArchSuffix
cmd:mlpack_radical$secondaryArchSuffix
cmd:mlpack_range_search$secondaryArchSuffix
cmd:mlpack_softmax_regression$secondaryArchSuffix
cmd:mlpack_sparse_coding$secondaryArchSuffix
lib:libmlpack$secondaryArchSuffix = $portVersion compat >= 2.2
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libarmadillo$secondaryArchSuffix
lib:libboost_program_options$secondaryArchSuffix
lib:libboost_serialization$secondaryArchSuffix
lib:libboost_system$secondaryArchSuffix
lib:libboost_unit_test_framework$secondaryArchSuffix
lib:libgomp$secondaryArchSuffix
lib:libhdf5$secondaryArchSuffix
lib:liblapack$secondaryArchSuffix
lib:libopenblas$secondaryArchSuffix
lib:libsuperlu$secondaryArchSuffix
"
PROVIDES_devel="
mlpack${secondaryArchSuffix}_devel = $portVersion
devel:libmlpack$secondaryArchSuffix = $portVersion compat >= 2.2
"
REQUIRES_devel="
mlpack$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libarmadillo$secondaryArchSuffix
devel:libboost_program_options$secondaryArchSuffix
devel:libboost_serialization$secondaryArchSuffix
devel:libboost_system$secondaryArchSuffix
devel:libboost_unit_test_framework$secondaryArchSuffix
devel:libhdf5$secondaryArchSuffix
devel:liblapack$secondaryArchSuffix
devel:libopenblas$secondaryArchSuffix
devel:libsuperlu$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:g++$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
cmd:strip$secondaryArchSuffix
"
defineDebugInfoPackage mlpack$secondaryArchSuffix \
$libDir/libmlpack.so.2.2 \
$binDir/mlpack_adaboost$secondaryArchSuffix \
$binDir/mlpack_allkfn$secondaryArchSuffix \
$binDir/mlpack_allknn$secondaryArchSuffix \
$binDir/mlpack_allkrann$secondaryArchSuffix \
$binDir/mlpack_approx_kfn$secondaryArchSuffix \
$binDir/mlpack_cf$secondaryArchSuffix \
$binDir/mlpack_dbscan$secondaryArchSuffix \
$binDir/mlpack_decision_stump$secondaryArchSuffix \
$binDir/mlpack_decision_tree$secondaryArchSuffix \
$binDir/mlpack_det$secondaryArchSuffix \
$binDir/mlpack_emst$secondaryArchSuffix \
$binDir/mlpack_fastmks$secondaryArchSuffix \
$binDir/mlpack_gmm_generate$secondaryArchSuffix \
$binDir/mlpack_gmm_probability$secondaryArchSuffix \
$binDir/mlpack_gmm_train$secondaryArchSuffix \
$binDir/mlpack_hmm_generate$secondaryArchSuffix \
$binDir/mlpack_hmm_loglik$secondaryArchSuffix \
$binDir/mlpack_hmm_train$secondaryArchSuffix \
$binDir/mlpack_hmm_viterbi$secondaryArchSuffix \
$binDir/mlpack_hoeffding_tree$secondaryArchSuffix \
$binDir/mlpack_kernel_pca$secondaryArchSuffix \
$binDir/mlpack_kfn$secondaryArchSuffix \
$binDir/mlpack_kmeans$secondaryArchSuffix \
$binDir/mlpack_knn$secondaryArchSuffix \
$binDir/mlpack_krann$secondaryArchSuffix \
$binDir/mlpack_lars$secondaryArchSuffix \
$binDir/mlpack_linear_regression$secondaryArchSuffix \
$binDir/mlpack_local_coordinate_coding$secondaryArchSuffix \
$binDir/mlpack_logistic_regression$secondaryArchSuffix \
$binDir/mlpack_lsh$secondaryArchSuffix \
$binDir/mlpack_mean_shift$secondaryArchSuffix \
$binDir/mlpack_nbc$secondaryArchSuffix \
$binDir/mlpack_nca$secondaryArchSuffix \
$binDir/mlpack_nmf$secondaryArchSuffix \
$binDir/mlpack_pca$secondaryArchSuffix \
$binDir/mlpack_perceptron$secondaryArchSuffix \
$binDir/mlpack_preprocess_binarize$secondaryArchSuffix \
$binDir/mlpack_preprocess_describe$secondaryArchSuffix \
$binDir/mlpack_preprocess_imputer$secondaryArchSuffix \
$binDir/mlpack_preprocess_split$secondaryArchSuffix \
$binDir/mlpack_radical$secondaryArchSuffix \
$binDir/mlpack_range_search$secondaryArchSuffix \
$binDir/mlpack_softmax_regression$secondaryArchSuffix \
$binDir/mlpack_sparse_coding$secondaryArchSuffix
BUILD()
{
mkdir -p build && cd "$_"
cmake .. \
-DCMAKE_INSTALL_BINDIR=$binDir \
-DCMAKE_INSTALL_DATADIR=$dataDir \
-DCMAKE_INSTALL_DOCDIR=$docDir \
-DCMAKE_INSTALL_INCLUDEDIR=$includeDir \
-DCMAKE_INSTALL_LIBDIR=$libDir \
-DCMAKE_INSTALL_MANDIR=$manDir
# mlpack easily eats up all your ram, so don't do parallel jobs!
make
}
INSTALL()
{
cd build
make install $jobArgs
mkdir -p $includeDir
mv $prefix/include/* $includeDir/
rmdir $prefix/include
prepareInstalledDevelLib libmlpack
fixPkgconfig
packageEntries devel \
$developDir
}
TEST()
{
cd build
make test
}

View File

@@ -0,0 +1,22 @@
From 371ded568630d4a1633585d310511fd2ee8a5236 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Tue, 12 Dec 2017 10:28:32 +0100
Subject: Haiku got no -lrt
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ae70f2d..7ce146e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -121,7 +121,7 @@ if(BUILD_WITH_COVERAGE)
endif()
# For clock_gettime().
-if (UNIX AND NOT APPLE)
+if (UNIX AND NOT APPLE AND NOT HAIKU)
set(MLPACK_LIBRARIES ${MLPACK_LIBRARIES} "rt")
endif ()
--
2.15.0