aboutsummaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/thumbor
diff options
context:
space:
mode:
authorMaximilian Bosch <maximilian@mbosch.me>2018-03-15 22:34:10 +0100
committerMaximilian Bosch <maximilian@mbosch.me>2018-03-18 10:31:59 +0100
commit23e6689578d8d4dbc498d70874546512df7c656c (patch)
tree716f29d646631fa931b0a080a8c1cc330f1fee2b /pkgs/development/python-modules/thumbor
parenta5551103b50033d2ef6e0eb9ca1d7cab5528caf9 (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.nix54
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 ];
+ };
+}