1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, fetchpatch
5, numpy
6, pytestCheckHook
7, pythonOlder
8, rdkit
9, scipy
10}:
11
12buildPythonPackage rec {
13 pname = "meeko";
14 version = "0.5.0";
15 format = "setuptools";
16
17 disabled = pythonOlder "3.5";
18
19 src = fetchFromGitHub {
20 owner = "forlilab";
21 repo = "Meeko";
22 rev = "refs/tags/v${version}";
23 hash = "sha256-pngFu6M63W26P7wd6FUNLuf0NikxtRtVR/pnR5PR6Wo=";
24 };
25
26 patches = [
27 # https://github.com/forlilab/Meeko/issues/60
28 (fetchpatch {
29 name = "fix-unknown-sidechains.patch";
30 url = "https://github.com/forlilab/Meeko/commit/28c9fbfe3b778aa1bd5e8d7e4f3e6edf44633a0c.patch";
31 hash = "sha256-EJbLnbKTTOsTxKtLiU7Af07yjfY63ungGUHbGvrm0AU=";
32 })
33 (fetchpatch {
34 name = "add-test-data.patch";
35 url = "https://github.com/forlilab/Meeko/commit/57b52e3afffb82685cdd1ef1bf6820d55924b97a.patch";
36 hash = "sha256-nLnyIjT68iaY3lAEbH9EJ5jZflhxABBwDqw8kaRKf3k=";
37 })
38 ];
39
40 propagatedBuildInputs = [
41 # setup.py only requires numpy but others are needed at runtime
42 numpy
43 rdkit
44 scipy
45 ];
46
47 nativeCheckInputs = [
48 pytestCheckHook
49 ];
50
51 pythonImportsCheck = [
52 "meeko"
53 ];
54
55 meta = {
56 description = "Python package for preparing small molecule for docking";
57 homepage = "https://github.com/forlilab/Meeko";
58 changelog = "https://github.com/forlilab/Meeko/releases/tag/${src.rev}";
59 license = lib.licenses.lgpl21Only;
60 maintainers = with lib.maintainers; [ natsukium ];
61 };
62}