nixpkgs/pkgs/development/libraries/dlib/default.nix
Maximilian Bosch 9732c44225
dlib: add flag to disable AVX support
Especially older hardware doesn't support AVX instructions. DLib is
still functional there, but significantly slower[1].

By setting `avxInstructions` to false, DLib will be compiled without
this feature.

[1] http://dlib.net/compile.html
2019-03-03 15:35:58 +01:00

37 lines
962 B
Nix

{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig, libpng, libjpeg
, guiSupport ? false, libX11
# see http://dlib.net/compile.html
, avxSupport ? true
}:
stdenv.mkDerivation rec {
version = "19.16";
name = "dlib-${version}";
src = fetchFromGitHub {
owner = "davisking";
repo = "dlib";
rev ="v${version}";
sha256 = "0ix52npsxfm6324jli7y0zkyijl5yirv2yzfncyd4sq0r9fcwb4p";
};
postPatch = ''
rm -rf dlib/external
'';
cmakeFlags = [ "-DUSE_AVX_INSTRUCTIONS=${if avxSupport then "yes" else "no"}" ];
enableParallelBuilding = true;
nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [ libpng libjpeg ] ++ lib.optional guiSupport libX11;
meta = with stdenv.lib; {
description = "A general purpose cross-platform C++ machine learning library";
homepage = http://www.dlib.net;
license = licenses.boost;
maintainers = with maintainers; [ christopherpoole ma27 ];
platforms = platforms.linux;
};
}