1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonOlder,
6 bitarray,
7 setuptools,
8 pytest-benchmark,
9 pytestCheckHook,
10}:
11
12buildPythonPackage rec {
13 pname = "bitstring";
14 version = "4.3.1";
15 pyproject = true;
16
17 disabled = pythonOlder "3.7";
18
19 src = fetchFromGitHub {
20 owner = "scott-griffiths";
21 repo = "bitstring";
22 tag = "bitstring-${version}";
23 hash = "sha256-ZABAd42h+BqcpKTFV5PxcBN3F8FKV6Qw3rhP13eX57k=";
24 };
25
26 pythonRelaxDeps = [ "bitarray" ];
27
28 build-system = [ setuptools ];
29
30 dependencies = [ bitarray ];
31
32 nativeCheckInputs = [
33 pytest-benchmark
34 pytestCheckHook
35 ];
36
37 pytestFlags = [
38 "--benchmark-disable"
39 ];
40
41 disabledTestPaths = [
42 "tests/test_bits.py"
43 "tests/test_fp8.py"
44 "tests/test_mxfp.py"
45 ];
46
47 pythonImportsCheck = [ "bitstring" ];
48
49 meta = with lib; {
50 description = "Module for binary data manipulation";
51 homepage = "https://github.com/scott-griffiths/bitstring";
52 changelog = "https://github.com/scott-griffiths/bitstring/releases/tag/${src.tag}";
53 license = licenses.mit;
54 platforms = platforms.unix;
55 maintainers = with maintainers; [ bjornfor ];
56 };
57}