1{
2 lib,
3 baseline,
4 buildPythonPackage,
5 fetchFromGitLab,
6 pytestCheckHook,
7 pythonOlder,
8}:
9
10buildPythonPackage rec {
11 pname = "plum-py";
12 version = "0.8.6";
13 format = "setuptools";
14
15 disabled = pythonOlder "3.8";
16
17 src = fetchFromGitLab {
18 owner = "dangass";
19 repo = "plum";
20 rev = "refs/tags/${version}";
21 hash = "sha256-gZSRqijKdjqOZe1+4aeycpCPsh6HC5sRbyVjgK+g4wM=";
22 };
23
24 postPatch = ''
25 # Drop broken version specifier
26 sed -i "/python_requires =/d" setup.cfg
27 '';
28
29 nativeCheckInputs = [
30 baseline
31 pytestCheckHook
32 ];
33
34 pythonImportsCheck = [ "plum" ];
35
36 enabledTestPaths = [ "tests" ];
37
38 disabledTestPaths = [
39 # tests enum.IntFlag behaviour which has been disallowed in python 3.11.6
40 # https://gitlab.com/dangass/plum/-/issues/150
41 "tests/flag/test_flag_invalid.py"
42 ];
43
44 meta = with lib; {
45 description = "Classes and utilities for packing/unpacking bytes";
46 homepage = "https://plum-py.readthedocs.io/";
47 changelog = "https://gitlab.com/dangass/plum/-/blob/${version}/docs/release_notes.rst";
48 license = licenses.mit;
49 maintainers = with maintainers; [ dnr ];
50 };
51}