Merge pull request #156217 from smancill/shogun-fixes

Shogun: use Python 3 and fix CMake targets
This commit is contained in:
Dmitry Kalinkin 2022-01-26 04:25:27 -05:00 committed by GitHub
commit f66b63a7cb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -6,7 +6,7 @@
# build
, cmake
, ctags
, python2Packages
, python3Packages
, swig
# math
, eigen
@ -30,13 +30,13 @@
, lp_solve
, colpack
# extra support
, pythonSupport ? true
, pythonSupport ? false
, opencvSupport ? false
, opencv ? null
, withSvmLight ? false
}:
assert pythonSupport -> python2Packages != null;
assert pythonSupport -> python3Packages != null;
assert opencvSupport -> opencv != null;
assert (!blas.isILP64) && (!lapack.isILP64);
@ -101,7 +101,7 @@ stdenv.mkDerivation rec {
] ++ lib.optional (!withSvmLight) ./svmlight-scrubber.patch;
nativeBuildInputs = [ cmake swig ctags ]
++ (with python2Packages; [ python jinja2 ply ]);
++ (with python3Packages; [ python jinja2 ply ]);
buildInputs = [
eigen
@ -121,7 +121,7 @@ stdenv.mkDerivation rec {
nlopt
lp_solve
colpack
] ++ lib.optionals pythonSupport (with python2Packages; [ python numpy ])
] ++ lib.optionals pythonSupport (with python3Packages; [ python numpy ])
++ lib.optional opencvSupport opencv;
cmakeFlags = let
@ -139,7 +139,7 @@ stdenv.mkDerivation rec {
"-DENABLE_TESTING=${enableIf doCheck}"
"-DDISABLE_META_INTEGRATION_TESTS=ON"
"-DTRAVIS_DISABLE_META_CPP=ON"
"-DPythonModular=${enableIf pythonSupport}"
"-DINTERFACE_PYTHON=${enableIf pythonSupport}"
"-DOpenCV=${enableIf opencvSupport}"
"-DUSE_SVMLIGHT=${enableIf withSvmLight}"
];
@ -177,6 +177,12 @@ stdenv.mkDerivation rec {
rm -r $out/share
'';
postFixup = ''
# CMake incorrectly calculates library path from dev prefix
substituteInPlace $dev/lib/cmake/shogun/ShogunTargets-release.cmake \
--replace "\''${_IMPORT_PREFIX}/lib/" "$out/lib/"
'';
meta = with lib; {
description = "A toolbox which offers a wide range of efficient and unified machine learning methods";
homepage = "http://shogun-toolbox.org/";