1{ stdenv
2, lib
3, fetchFromGitHub
4, buildPythonPackage
5, rustPlatform
6, setuptools-rust
7, unittestCheckHook
8}:
9
10buildPythonPackage rec {
11 pname = "gb-io";
12 version = "0.1.1";
13
14 src = fetchFromGitHub {
15 owner = "althonos";
16 repo = "gb-io.py";
17 rev = "v${version}";
18 sha256 = "05fpz11rqqjrb8lc8id6ssv7sni9i1h7x1ra5v5flw9ghpf29ncm";
19 };
20
21 cargoDeps = rustPlatform.fetchCargoTarball {
22 inherit src sourceRoot;
23 name = "${pname}-${version}";
24 sha256 = "1qh31jysg475f2qc70b3bczmzywmg9987kn2vsmk88h8sx4nnwc5";
25 };
26
27 sourceRoot = "source";
28
29 nativeBuildInputs = [ setuptools-rust ] ++ (with rustPlatform; [
30 cargoSetupHook
31 rust.cargo
32 rust.rustc
33 ]);
34
35 checkInputs = [ unittestCheckHook ];
36
37 pythonImportsCheck = [ "gb_io" ];
38
39 meta = with lib; {
40 broken = stdenv.isDarwin;
41 homepage = "https://github.com/althonos/gb-io.py";
42 description = "A Python interface to gb-io, a fast GenBank parser written in Rust";
43 license = licenses.mit;
44 maintainers = with lib.maintainers; [ dlesl ];
45 };
46}