1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 parameterized,
6 ply,
7 pytestCheckHook,
8 pythonOlder,
9 setuptools,
10}:
11
12buildPythonPackage rec {
13 pname = "pyomo";
14 version = "6.7.3";
15 pyproject = true;
16
17 disabled = pythonOlder "3.8";
18
19 src = fetchFromGitHub {
20 repo = "pyomo";
21 owner = "pyomo";
22 rev = "refs/tags/${version}";
23 hash = "sha256-6qpJH6WkrTzsDCtvoGMzZgw1UeSIIyI3jSA8JMsUC4E=";
24 };
25
26 build-system = [ setuptools ];
27
28 dependencies = [ ply ];
29
30 nativeCheckInputs = [
31 parameterized
32 pytestCheckHook
33 ];
34
35 pythonImportsCheck = [ "pyomo" ];
36
37 preCheck = ''
38 export HOME=$(mktemp -d);
39 '';
40
41 disabledTestPaths = [
42 # Don't test the documentation and the examples
43 "doc/"
44 "examples/"
45 # Tests don't work properly in the sandbox
46 "pyomo/environ/tests/test_environ.py"
47 ];
48
49 disabledTests = [
50 # Test requires lsb_release
51 "test_get_os_version"
52 ];
53
54 meta = with lib; {
55 description = "Python Optimization Modeling Objects";
56 homepage = "http://www.pyomo.org/";
57 changelog = "https://github.com/Pyomo/pyomo/releases/tag/${version}";
58 license = licenses.bsd3;
59 maintainers = [ ];
60 mainProgram = "pyomo";
61 };
62}