This is a commonly-used package for spatial indexing.
Strangely enough, the tests are broken due to memory unsafety that I was unable
to reproduce under Debian. For instance, when run with Python 3.6 valgrind
reports,
==10453== Invalid read of size 4
==10453== at 0x4EF1DFA: _PyObject_Free (in /nix/store/azw9ys2m2fpfzf730xjcxja890gpyp58-python3-3.6.4/lib/libpython3.6m.so.1.0)
==10453== by 0x4FE7D96: _PyFaulthandler_Fini (in /nix/store/azw9ys2m2fpfzf730xjcxja890gpyp58-python3-3.6.4/lib/libpython3.6m.so.1.0)
==10453== by 0x4F8438D: Py_FinalizeEx (in /nix/store/azw9ys2m2fpfzf730xjcxja890gpyp58-python3-3.6.4/lib/libpython3.6m.so.1.0)
==10453== by 0x4F9F398: Py_Main (in /nix/store/azw9ys2m2fpfzf730xjcxja890gpyp58-python3-3.6.4/lib/libpython3.6m.so.1.0)
==10453== by 0x400BDF: main (in /nix/store/azw9ys2m2fpfzf730xjcxja890gpyp58-python3-3.6.4/bin/python3.6)
==10453== Address 0x67b1020 is 352 bytes inside a block of size 640 free'd
==10453== at 0x4C2DD6B: free (in /nix/store/6z028lfnxyhh8dlngpm6zrkwqxmbglj4-valgrind-3.13.0/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==10453== by 0x4EDDC4A: free_keys_object (in /nix/store/azw9ys2m2fpfzf730xjcxja890gpyp58-python3-3.6.4/lib/libpython3.6m.so.1.0)
==10453== by 0x4EDEE63: dict_dealloc (in /nix/store/azw9ys2m2fpfzf730xjcxja890gpyp58-python3-3.6.4/lib/libpython3.6m.so.1.0)
==10453== by 0x4EECF59: module_clear (in /nix/store/azw9ys2m2fpfzf730xjcxja890gpyp58-python3-3.6.4/lib/libpython3.6m.so.1.0)
==10453== by 0x4FA062B: collect (in /nix/store/azw9ys2m2fpfzf730xjcxja890gpyp58-python3-3.6.4/lib/libpython3.6m.so.1.0)
==10453== by 0x4FA13A0: _PyGC_CollectNoFail (in /nix/store/azw9ys2m2fpfzf730xjcxja890gpyp58-python3-3.6.4/lib/libpython3.6m.so.1.0)
==10453== by 0x4F79CED: PyImport_Cleanup (in /nix/store/azw9ys2m2fpfzf730xjcxja890gpyp58-python3-3.6.4/lib/libpython3.6m.so.1.0)
==10453== by 0x4F8436F: Py_FinalizeEx (in /nix/store/azw9ys2m2fpfzf730xjcxja890gpyp58-python3-3.6.4/lib/libpython3.6m.so.1.0)
==10453== by 0x4F9F398: Py_Main (in /nix/store/azw9ys2m2fpfzf730xjcxja890gpyp58-python3-3.6.4/lib/libpython3.6m.so.1.0)
==10453== by 0x400BDF: main (in /nix/store/azw9ys2m2fpfzf730xjcxja890gpyp58-python3-3.6.4/bin/python3.6)
==10453==
==10453== Conditional jump or move depends on uninitialised value(s)
==10453== at 0x4EF1E03: _PyObject_Free (in /nix/store/azw9ys2m2fpfzf730xjcxja890gpyp58-python3-3.6.4/lib/libpython3.6m.so.1.0)
==10453== by 0x4EFEF2D: type_dealloc (in /nix/store/azw9ys2m2fpfzf730xjcxja890gpyp58-python3-3.6.4/lib/libpython3.6m.so.1.0)
==10453== by 0x4EFD009: subtype_dealloc (in /nix/store/azw9ys2m2fpfzf730xjcxja890gpyp58-python3-3.6.4/lib/libpython3.6m.so.1.0)
==10453== by 0x4FA063E: collect (in /nix/store/azw9ys2m2fpfzf730xjcxja890gpyp58-python3-3.6.4/lib/libpython3.6m.so.1.0)
==10453== by 0x4FA13A0: _PyGC_CollectNoFail (in /nix/store/azw9ys2m2fpfzf730xjcxja890gpyp58-python3-3.6.4/lib/libpython3.6m.so.1.0)
==10453== by 0x4F79DF8: PyImport_Cleanup (in /nix/store/azw9ys2m2fpfzf730xjcxja890gpyp58-python3-3.6.4/lib/libpython3.6m.so.1.0)
==10453== by 0x4F8436F: Py_FinalizeEx (in /nix/store/azw9ys2m2fpfzf730xjcxja890gpyp58-python3-3.6.4/lib/libpython3.6m.so.1.0)
==10453== by 0x4F9F398: Py_Main (in /nix/store/azw9ys2m2fpfzf730xjcxja890gpyp58-python3-3.6.4/lib/libpython3.6m.so.1.0)
==10453== by 0x400BDF: main (in /nix/store/azw9ys2m2fpfzf730xjcxja890gpyp58-python3-3.6.4/bin/python3.6)
==10453==
...
Tests broke on Hydra as the `checkPhase` wasn't configured properly. By
explicitly relying on `nosetests` and injecting `LC_ALL` into the
`checkPhase` the tests work again.
The license (bsd3) according to `LICENSE` distributed with the upstream
package wasn't specified in the meta section which could've caused legal
issues.
The expression has been moved into its own file to reduce the length and
complexity of `pkgs/top-level/python-packages.nix`.
See https://hydra.nixos.org/build/70689499/log
See #36453
Uses the HTTPS url for cases where the existing URL has a permanent
redirect. For each domain, at least one fixed derivation URL was
downloaded to test the domain is properly serving downloads.
Also fixes jbake source URL, which was broken.
Adds the python package `face_recognition` and its dependency
`face_recognition_models`.
This package is a wrapper for `dlib` which is able to detect faces in a
given image. I checked the package with the following expression:
```
with import ./. { };
stdenv.mkDerivation {
name = "facetest";
src = null;
buildInputs = with pythonPackages; [ face_recognition ];
}
```
The package works perfectly fine in a `nix-shell`:
```
$ nix-shell
[nix-shell:~]$ python
Python 2.7.14 (default, Sep 16 2017, 17:49:51)
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import face_recognition
>>> img = face_recognition.load_image_file("/home/ma27/me.jpg")
>>> print(face_recognition.face_locations(img))
```
Djblets is unmaintained: has not been updated since 2015, but had many releases.
Dependency django_pipeline_1_3 is broken and should anyway be removed from pythonPackages because we want to have a consistent package set.
Because the reviewboard package also hasn't been updated since 2015 and depends on djblets, it is removed as well.
Origianlly the package was broken as bumping `pythonPackages.pillow` to
5.x broke `thumbor`. The latest upstream version `6.4.2` solved this
issue, so a simple package bump was sufficient.
Furthermore the following changes were made:
- moved the expression into its own file
- added myself as maintainer in case of any further breackage
- re-enabled python3 build: 6.4.2 is fine with python3, however the
`futures` dependency can't be satisfied anymore as it's part of
Python3. Therefore a patch for `setup.py` will be applied for Python3
buildsto drop the dependency
Note: the testsuite is disabled for now as several impure tests are done
and our testing environment seems to be unable to work the with the
natively compiled python modules properly.
Therefore I tested the module using the following expression:
``` nix
with import ./. {};
stdenv.mkDerivation {
name = "thumbor-test";
src = null;
buildInputs = [ python pythonPackages.thumbor ];
}
```
Inside this nix shell `thumbor` works fine and the native modules can be
imported.
See https://hydra.nixos.org/build/71062729/log
See ticket #36453
Negative reasoning like `allBut` is a bad idea with an open world of
platforms. Concretely, if we add a new, quite different sort of
platform, existing packages with `allBut` will claim they work on it
even though they probably won't.
conan has very strict requirements on the versions of its dependencies.
This patch adds downgraded versinos of node-semver and distro to
statisfy these requirements.
Resolved the following conflicts (by carefully applying patches from the both
branches since the fork point):
pkgs/development/libraries/epoxy/default.nix
pkgs/development/libraries/gtk+/3.x.nix
pkgs/development/python-modules/asgiref/default.nix
pkgs/development/python-modules/daphne/default.nix
pkgs/os-specific/linux/systemd/default.nix
Citing from PyPI:
DEPRECATION NOTE: Please do not use this library ! It’s not working correctly in python 3, and besides that might be called a failed experiment.
This commit introduces the `toPythonApplication` function. Certain
Python packages are considered both a library and an application, that
is, they expose importable modules, but typically executables that are
part of the package are used instead.
In this case, the package needs to be added to `python-packages.nix` in
order for it to be available as a library. An alias with this function
can then be added in `all-packages.nix`, e.g.:
```
ansible = with pythonPackages; toPythonApplication ansible;
```