1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, fetchpatch
5, pymysql
6, pythonOlder
7, setuptools-scm
8, wheel
9}:
10
11buildPythonPackage rec {
12 pname = "aiomysql";
13 version = "0.2.0";
14 format = "pyproject";
15
16 disabled = pythonOlder "3.7";
17
18 src = fetchFromGitHub {
19 owner = "aio-libs";
20 repo = pname;
21 rev = "refs/tags/v${version}";
22 hash = "sha256-m/EgoBU3e+s3soXyYtACMDSjJfMLBOk/00qPtgawwQ8=";
23 };
24
25 patches = [
26 # https://github.com/aio-libs/aiomysql/pull/955
27 (fetchpatch {
28 name = "remove-setuptools-scm-git-archive-dependency.patch";
29 url = "https://github.com/aio-libs/aiomysql/commit/fee997d2e848b634a84ce0c4e9025e3b3e761640.patch";
30 hash = "sha256-qKcOfdDaA9DLS2fdHOEUW37aCCdtZjN0zsFV9dK/umQ=";
31 includes = [ "pyproject.toml" ];
32 })
33 ];
34
35 nativeBuildInputs = [
36 setuptools-scm
37 wheel
38 ];
39
40 propagatedBuildInputs = [
41 pymysql
42 ];
43
44 # Tests require MySQL database
45 doCheck = false;
46
47 pythonImportsCheck = [
48 "aiomysql"
49 ];
50
51 meta = with lib; {
52 description = "MySQL driver for asyncio";
53 homepage = "https://github.com/aio-libs/aiomysql";
54 license = licenses.mit;
55 maintainers = with maintainers; [ ];
56 };
57}