1{
2 lib,
3 attrs,
4 buildPythonPackage,
5 fetchFromGitHub,
6 mock,
7 okonomiyaki,
8 pytestCheckHook,
9 pythonOlder,
10 pyyaml,
11 setuptools,
12 six,
13}:
14
15buildPythonPackage rec {
16 pname = "simplesat";
17 version = "0.9.2";
18 pyproject = true;
19
20 disabled = pythonOlder "3.9";
21
22 src = fetchFromGitHub {
23 owner = "enthought";
24 repo = "sat-solver";
25 tag = "v${version}";
26 hash = "sha256-C3AQN999iuckaY9I0RTI8Uj6hrV4UB1XYvua5VG8hHw=";
27 };
28
29 postPatch = ''
30 substituteInPlace setup.cfg \
31 --replace-fail "version = file: VERSION" "version = ${version}"
32 '';
33
34 build-system = [ setuptools ];
35
36 dependencies = [
37 attrs
38 okonomiyaki
39 six
40 ];
41
42 nativeCheckInputs = [
43 mock
44 pytestCheckHook
45 pyyaml
46 ];
47
48 pythonImportsCheck = [ "simplesat" ];
49
50 enabledTestPaths = [ "simplesat/tests" ];
51
52 meta = with lib; {
53 description = "Prototype for SAT-based dependency handling";
54 homepage = "https://github.com/enthought/sat-solver";
55 changelog = "https://github.com/enthought/sat-solver/blob/${src.tag}/CHANGES.rst";
56 license = licenses.bsd3;
57 maintainers = with maintainers; [ genericnerdyusername ];
58 };
59}