diff options
author | Maximilian Bosch <maximilian@mbosch.me> | 2018-03-15 22:34:10 +0100 |
---|---|---|
committer | Maximilian Bosch <maximilian@mbosch.me> | 2018-03-18 10:31:59 +0100 |
commit | 23e6689578d8d4dbc498d70874546512df7c656c (patch) | |
tree | 716f29d646631fa931b0a080a8c1cc330f1fee2b /pkgs/development/python-modules/thumbor | |
parent | a5551103b50033d2ef6e0eb9ca1d7cab5528caf9 (diff) |
pythonPackages.thumbor: 6.3.2 -> 6.4.2; fix build
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
Diffstat (limited to 'pkgs/development/python-modules/thumbor')
-rw-r--r-- | pkgs/development/python-modules/thumbor/default.nix | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/thumbor/default.nix b/pkgs/development/python-modules/thumbor/default.nix new file mode 100644 index 000000000000..21b391b8e758 --- /dev/null +++ b/pkgs/development/python-modules/thumbor/default.nix @@ -0,0 +1,54 @@ +{ buildPythonPackage, stdenv, tornado, pycrypto, pycurl, pytz +, pillow, derpconf, python_magic, pexif, libthumbor, opencv, webcolors +, piexif, futures, statsd, thumborPexif, fetchPypi, fetchpatch, isPy3k, lib +}: + +buildPythonPackage rec { + pname = "thumbor"; + version = "6.4.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "0y9mf78j80vjh4y0xvgnybc1wqfcwm5s19xhsfgkn12hh8pmh14d"; + }; + + patches = [ + (fetchpatch { + url = "https://github.com/thumbor/thumbor/commit/4f2bc99451409e404f7fa0f3e4a3bdaea7b49869.patch"; + sha256 = "0qqw1n1pfd8f8cn168718gzwf4b35j2j9ajyw643xpf92s0iq2cc"; + }) + ]; + + postPatch = '' + substituteInPlace "setup.py" \ + --replace '"argparse",' "" ${lib.optionalString isPy3k ''--replace '"futures",' ""''} + ''; + + propagatedBuildInputs = [ + tornado + pycrypto + pycurl + pytz + pillow + derpconf + python_magic + pexif + libthumbor + opencv + webcolors + piexif + statsd + ] ++ lib.optionals (!isPy3k) [ futures thumborPexif ]; + + # disabled due to too many impure tests and issues with native modules in + # the pure testing environment. See https://github.com/NixOS/nixpkgs/pull/37147 + # for further reference. + doCheck = false; + + meta = with stdenv.lib; { + description = "A smart imaging service"; + homepage = https://github.com/thumbor/thumbor/wiki; + license = licenses.mit; + maintainers = with maintainers; [ ma27 ]; + }; +} |