1{ buildPythonPackage
2, isPy3k
3, fetchFromGitHub
4, lib
5, z3
6, ply
7, igraph
8, oset
9, ordered-set
10, dictionaries
11, setuptools
12}:
13
14buildPythonPackage {
15 pname = "cozy";
16 version = "2.0a1";
17 disabled = !isPy3k;
18
19 propagatedBuildInputs = [
20 setuptools
21 z3
22 ply
23 igraph
24 oset
25 ordered-set
26 dictionaries
27 ];
28
29 src = fetchFromGitHub {
30 owner = "CozySynthesizer";
31 repo = "cozy";
32 rev = "f553e9b";
33 sha256 = "1jhr5gzihj8dkg0yc5dmi081v2isxharl0ph7v2grqj0bwqzl40j";
34 };
35
36 # - yoink the Z3 dependency name, because our Z3 package doesn't provide it.
37 # - remove "dictionaries" version bound
38 # - patch igraph package name
39 postPatch = ''
40 sed -i -e '/z3-solver/d' \
41 -e 's/^dictionaries.*$/dictionaries/' \
42 -e 's/python-igraph/igraph/' \
43 requirements.txt
44 '';
45
46 # Tests are not correctly set up in the source tree.
47 doCheck = false;
48 pythonImportsCheck = [ "cozy" ];
49
50 # There is some first-time-run codegen that we will force to happen.
51 postInstall = ''
52 $out/bin/cozy --help
53 '';
54
55
56 meta = with lib; {
57 description = "The collection synthesizer";
58 homepage = "https://cozy.uwplse.org/";
59 license = licenses.asl20;
60 maintainers = with maintainers; [ MostAwesomeDude ];
61 };
62}