2018-06-17 10:33:14 -07:00
|
|
|
{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig, libpng, libjpeg
|
2017-09-03 05:22:13 -07:00
|
|
|
, guiSupport ? false, libX11
|
2019-03-03 05:21:04 -08:00
|
|
|
|
|
|
|
# see http://dlib.net/compile.html
|
2019-05-05 16:40:20 -07:00
|
|
|
, avxSupport ? builtins.elem (stdenv.hostPlatform.platform.gcc.arch or "default") [ "sandybridge" "ivybridge" "haswell" "broadwell" "skylake" "skylake-avx512" "btver2" "bdver1" "bdver2" "bdver3" "bdver4" "znver1"]
|
2020-04-12 09:22:45 -07:00
|
|
|
, cudaSupport ? true
|
2017-09-03 05:22:13 -07:00
|
|
|
}:
|
2014-10-06 22:36:30 -07:00
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
2019-08-15 05:41:18 -07:00
|
|
|
pname = "dlib";
|
2020-06-07 07:09:18 -07:00
|
|
|
version = "19.20";
|
2014-10-06 22:36:30 -07:00
|
|
|
|
2017-03-12 09:15:38 -07:00
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "davisking";
|
|
|
|
repo = "dlib";
|
|
|
|
rev ="v${version}";
|
2020-06-07 07:09:18 -07:00
|
|
|
sha256 = "10b5hrprlls0nhljx18ys8cms7bgqirvhxlx6gbvbprbi6q16f9r";
|
2014-10-06 22:36:30 -07:00
|
|
|
};
|
|
|
|
|
2017-09-03 05:22:13 -07:00
|
|
|
postPatch = ''
|
|
|
|
rm -rf dlib/external
|
|
|
|
'';
|
|
|
|
|
2019-05-05 16:40:20 -07:00
|
|
|
cmakeFlags = [
|
2020-04-12 09:22:45 -07:00
|
|
|
"-DUSE_DLIB_USE_CUDA=${if cudaSupport then "1" else "0"}"
|
|
|
|
"-DUSE_AVX_INSTRUCTIONS=${if avxSupport then "yes" else "no"}" ];
|
2019-03-03 05:21:04 -08:00
|
|
|
|
2014-10-06 22:36:30 -07:00
|
|
|
enableParallelBuilding = true;
|
2017-09-03 05:22:13 -07:00
|
|
|
nativeBuildInputs = [ cmake pkgconfig ];
|
2018-06-17 10:33:14 -07:00
|
|
|
buildInputs = [ libpng libjpeg ] ++ lib.optional guiSupport libX11;
|
2014-10-06 22:36:30 -07:00
|
|
|
|
2014-10-09 16:18:42 -07:00
|
|
|
meta = with stdenv.lib; {
|
2014-11-11 05:20:43 -08:00
|
|
|
description = "A general purpose cross-platform C++ machine learning library";
|
2020-03-31 18:11:51 -07:00
|
|
|
homepage = "http://www.dlib.net";
|
2017-03-12 09:15:38 -07:00
|
|
|
license = licenses.boost;
|
2018-06-17 10:33:14 -07:00
|
|
|
maintainers = with maintainers; [ christopherpoole ma27 ];
|
2018-03-17 09:34:32 -07:00
|
|
|
platforms = platforms.linux;
|
2014-10-06 22:36:30 -07:00
|
|
|
};
|
|
|
|
}
|