1{ lib, buildPythonPackage, fetchPypi, fetchpatch, mock
2, future, six, setuptools_scm }:
3
4buildPythonPackage rec {
5 pname = "sievelib";
6 version = "1.1.1";
7
8 src = fetchPypi {
9 inherit pname version;
10 sha256 = "1sl1fnwr5jdacrrnq2rvzh4vv1dyxd3x31vnqga36gj8h546h7mz";
11 };
12
13 patches = [
14 (fetchpatch {
15 name = "pip-10-pip-req.patch";
16 url = "https://github.com/tonioo/sievelib/commit/1deef0e2bf039a0e817ea6f19aaf1947dc9fafbc.patch";
17 sha256 = "0vaj73mcij9dism8vfaai82irh8j1b2n8gf9jl1a19d2l26jrflk";
18 })
19 (fetchpatch {
20 name = "requirements-in-setup-py.patch";
21 url = "https://github.com/tonioo/sievelib/commit/91f40ec226ea288e98379da01672a46dabd89fc9.patch";
22 sha256 = "0hph89xn16r353rg6f05bh0cgigmwdc736bya089qc03jhssrgns";
23 })
24 ];
25
26 buildInputs = [ setuptools_scm ];
27 propagatedBuildInputs = [ future six ];
28 checkInputs = [ mock ];
29
30 meta = {
31 description = "Client-side Sieve and Managesieve library written in Python";
32 homepage = "https://github.com/tonioo/sievelib";
33 license = lib.licenses.mit;
34 maintainers = with lib.maintainers; [ leenaars ];
35 longDescription = ''
36 A library written in Python that implements RFC 5228 (Sieve: An Email
37 Filtering Language) and RFC 5804 (ManageSieve: A Protocol for
38 Remotely Managing Sieve Scripts), as well as the following extensions:
39
40 * Copying Without Side Effects (RFC 3894)
41 * Body (RFC 5173)
42 * Date and Index (RFC 5260)
43 * Vacation (RFC 5230)
44 * Imap4flags (RFC 5232)
45 '';
46 };
47}