nixpkgs/pkgs/development/python-modules/face_recognition/default.nix
Maximilian Bosch 6fec5aac83
pythonPackages.face_recognition: 1.2.2 -> 1.2.3
There's no git tag for 1.2.3, hence we need to pin to the corresponding
revision because we build from a git source.

After recent breakage on Hydra[1], the tests were disabled. Although
some build machines don't support AVX, we shouldn't use a DLib without
AVX as the builder's result is also used on modern machines with AVX
support. Before merging changes, maintainers should run the check phase
locally in a `nix-shell`.

[1] https://hydra.nixos.org/build/89533530
2019-03-03 15:35:59 +01:00

43 lines
1.4 KiB
Nix

{ buildPythonPackage, fetchFromGitHub, pillow, click, dlib, numpy
, face_recognition_models, stdenv, flake8, pytest, glibcLocales
}:
buildPythonPackage rec {
pname = "face_recognition";
version = "1.2.3";
src = fetchFromGitHub {
repo = pname;
owner = "ageitgey";
rev = "634db2e4309a365cee2503cb65d6f2e88f519d1e";
sha256 = "06zw5hq417d5yp17zynhxhb73074lx2qy64fqfzf711rw5vrn2mx";
};
postPatch = ''
substituteInPlace setup.py --replace "flake8==2.6.0" "flake8"
'';
propagatedBuildInputs = [ pillow click dlib numpy face_recognition_models ];
# Our dlib is compiled with AVX instructions by default which breaks
# with "Illegal instruction" on some builders due to missing hardware features.
#
# As this makes the build fairly unreliable, it's better to skip the test and to ensure that
# the build is working and after each change to the package, manual testing should be done.
doCheck = false;
# Although tests are disabled by default, checkPhase still exists, so
# maintainers can check the package's functionality locally before modifying it.
checkInputs = [ flake8 pytest glibcLocales ];
checkPhase = ''
LC_ALL="en_US.UTF-8" py.test
'';
meta = with stdenv.lib; {
license = licenses.mit;
homepage = https://github.com/ageitgey/face_recognition;
maintainers = with maintainers; [ ma27 ];
description = "The world's simplest facial recognition api for Python and the command line";
};
}