1
+ { system
2
+ , compiler
3
+ , flags
4
+ , pkgs
5
+ , hsPkgs
6
+ , pkgconfPkgs
7
+ , errorHandler
8
+ , config
9
+ , ... } :
10
+ {
11
+ flags = {
12
+ static = false ;
13
+ terminfo = true ;
14
+ threaded = true ;
15
+ executable = true ;
16
+ rts = false ;
17
+ warn-as-error = false ;
18
+ } ;
19
+ package = {
20
+ specVersion = "2.4" ;
21
+ identifier = { name = "darcs" ; version = "2.18.3" ; } ;
22
+ license = "GPL-2.0-or-later" ;
23
+ copyright = "" ;
24
+ maintainer = "<[email protected] >" ;
25
+
26
+ homepage = "http://darcs.net/" ;
27
+ url = "" ;
28
+ synopsis = "a distributed, interactive, smart revision control system" ;
29
+ description = "Darcs is a free, open source revision control\n system. It is:\n \n * Distributed: Darcs was one of the first revision control\n systems in which every user has access to the full command\n set, removing boundaries between server and client or\n committer and non-committers.\n \n * Interactive: Darcs is easy to learn and efficient to use\n because it asks you questions in response to simple\n commands, giving you choices in your work flow. You can\n choose to record one change in a file, while ignoring\n another. As you update from upstream, you can review each\n patch, picking and choosing which patches are appropriate.\n \n * Smart: Darcs is different from most revision control\n systems in that it is based on the notion of change (or\n patch), rather than version. An underlying algebra of\n patches determines whether changes can be re-ordered. The\n laws of this algebra guarantee that the result of merging\n depends only on the final set of patches applied in a\n repository and not on their order.\n \n * Simple: As a consequence, Darcs offers a conceptually\n simpler view of the state of a repository: it is given by\n the set of patches it contains. Pulling and pushing\n patches merely transfers them from one set to another. So\n called \" cherry-picking\" is the default mode of operation,\n and it fully preserves the identity of patches." ;
30
+ buildType = "Custom" ;
31
+ setup-depends = [
32
+ ( hsPkgs . buildPackages . base or ( pkgs . buildPackages . base or ( errorHandler . setupDepError "base" ) ) )
33
+ ( hsPkgs . buildPackages . Cabal or ( pkgs . buildPackages . Cabal or ( errorHandler . setupDepError "Cabal" ) ) )
34
+ ( hsPkgs . buildPackages . process or ( pkgs . buildPackages . process or ( errorHandler . setupDepError "process" ) ) )
35
+ ( hsPkgs . buildPackages . filepath or ( pkgs . buildPackages . filepath or ( errorHandler . setupDepError "filepath" ) ) )
36
+ ( hsPkgs . buildPackages . directory or ( pkgs . buildPackages . directory or ( errorHandler . setupDepError "directory" ) ) )
37
+ ] ;
38
+ } ;
39
+ components = {
40
+ "library" = {
41
+ depends = ( ( [
42
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
43
+ ( hsPkgs . "safe" or ( errorHandler . buildDepError "safe" ) )
44
+ ( hsPkgs . "stm" or ( errorHandler . buildDepError "stm" ) )
45
+ ( hsPkgs . "binary" or ( errorHandler . buildDepError "binary" ) )
46
+ ( hsPkgs . "containers" or ( errorHandler . buildDepError "containers" ) )
47
+ ( hsPkgs . "regex-base" or ( errorHandler . buildDepError "regex-base" ) )
48
+ ( hsPkgs . "regex-tdfa" or ( errorHandler . buildDepError "regex-tdfa" ) )
49
+ ( hsPkgs . "regex-applicative" or ( errorHandler . buildDepError "regex-applicative" ) )
50
+ ( hsPkgs . "mtl" or ( errorHandler . buildDepError "mtl" ) )
51
+ ( hsPkgs . "transformers" or ( errorHandler . buildDepError "transformers" ) )
52
+ ( hsPkgs . "parsec" or ( errorHandler . buildDepError "parsec" ) )
53
+ ( hsPkgs . "fgl" or ( errorHandler . buildDepError "fgl" ) )
54
+ ( hsPkgs . "html" or ( errorHandler . buildDepError "html" ) )
55
+ ( hsPkgs . "filepath" or ( errorHandler . buildDepError "filepath" ) )
56
+ ( hsPkgs . "haskeline" or ( errorHandler . buildDepError "haskeline" ) )
57
+ ( hsPkgs . "memory" or ( errorHandler . buildDepError "memory" ) )
58
+ ( hsPkgs . "cryptonite" or ( errorHandler . buildDepError "cryptonite" ) )
59
+ ( hsPkgs . "base16-bytestring" or ( errorHandler . buildDepError "base16-bytestring" ) )
60
+ ( hsPkgs . "utf8-string" or ( errorHandler . buildDepError "utf8-string" ) )
61
+ ( hsPkgs . "vector" or ( errorHandler . buildDepError "vector" ) )
62
+ ( hsPkgs . "tar" or ( errorHandler . buildDepError "tar" ) )
63
+ ( hsPkgs . "data-ordlist" or ( errorHandler . buildDepError "data-ordlist" ) )
64
+ ( hsPkgs . "attoparsec" or ( errorHandler . buildDepError "attoparsec" ) )
65
+ ( hsPkgs . "zip-archive" or ( errorHandler . buildDepError "zip-archive" ) )
66
+ ( hsPkgs . "async" or ( errorHandler . buildDepError "async" ) )
67
+ ( hsPkgs . "constraints" or ( errorHandler . buildDepError "constraints" ) )
68
+ ( hsPkgs . "unix-compat" or ( errorHandler . buildDepError "unix-compat" ) )
69
+ ( hsPkgs . "bytestring" or ( errorHandler . buildDepError "bytestring" ) )
70
+ ( hsPkgs . "old-time" or ( errorHandler . buildDepError "old-time" ) )
71
+ ( hsPkgs . "time" or ( errorHandler . buildDepError "time" ) )
72
+ ( hsPkgs . "text" or ( errorHandler . buildDepError "text" ) )
73
+ ( hsPkgs . "directory" or ( errorHandler . buildDepError "directory" ) )
74
+ ( hsPkgs . "temporary" or ( errorHandler . buildDepError "temporary" ) )
75
+ ( hsPkgs . "process" or ( errorHandler . buildDepError "process" ) )
76
+ ( hsPkgs . "array" or ( errorHandler . buildDepError "array" ) )
77
+ ( hsPkgs . "hashable" or ( errorHandler . buildDepError "hashable" ) )
78
+ ( hsPkgs . "mmap" or ( errorHandler . buildDepError "mmap" ) )
79
+ ( hsPkgs . "zlib" or ( errorHandler . buildDepError "zlib" ) )
80
+ ( hsPkgs . "network-uri" or ( errorHandler . buildDepError "network-uri" ) )
81
+ ( hsPkgs . "network" or ( errorHandler . buildDepError "network" ) )
82
+ ( hsPkgs . "conduit" or ( errorHandler . buildDepError "conduit" ) )
83
+ ( hsPkgs . "http-conduit" or ( errorHandler . buildDepError "http-conduit" ) )
84
+ ( hsPkgs . "http-types" or ( errorHandler . buildDepError "http-types" ) )
85
+ ( hsPkgs . "exceptions" or ( errorHandler . buildDepError "exceptions" ) )
86
+ ( hsPkgs . "terminal-size" or ( errorHandler . buildDepError "terminal-size" ) )
87
+ ( hsPkgs . "strict-identity" or ( errorHandler . buildDepError "strict-identity" ) )
88
+ ] ++ ( if system . isWindows
89
+ then [ ( hsPkgs . "Win32" or ( errorHandler . buildDepError "Win32" ) ) ]
90
+ else [
91
+ ( hsPkgs . "unix" or ( errorHandler . buildDepError "unix" ) )
92
+ ] ) ) ++ ( if compiler . isGhc && compiler . version . ge "9.6"
93
+ then [
94
+ ( hsPkgs . "crypton-connection" or ( errorHandler . buildDepError "crypton-connection" ) )
95
+ ( hsPkgs . "data-default-class" or ( errorHandler . buildDepError "data-default-class" ) )
96
+ ( hsPkgs . "http-client-tls" or ( errorHandler . buildDepError "http-client-tls" ) )
97
+ ( hsPkgs . "tls" or ( errorHandler . buildDepError "tls" ) )
98
+ ]
99
+ else [
100
+ ( hsPkgs . "tls" or ( errorHandler . buildDepError "tls" ) )
101
+ ] ) ) ++ pkgs . lib . optional ( flags . terminfo && ! system . isWindows ) ( hsPkgs . "terminfo" or ( errorHandler . buildDepError "terminfo" ) ) ;
102
+ buildable = true ;
103
+ } ;
104
+ exes = {
105
+ "darcs" = {
106
+ depends = [
107
+ ( hsPkgs . "darcs" or ( errorHandler . buildDepError "darcs" ) )
108
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
109
+ ] ;
110
+ buildable = if ! flags . executable then false else true ;
111
+ } ;
112
+ } ;
113
+ tests = {
114
+ "darcs-test" = {
115
+ depends = [
116
+ ( hsPkgs . "darcs" or ( errorHandler . buildDepError "darcs" ) )
117
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
118
+ ( hsPkgs . "array" or ( errorHandler . buildDepError "array" ) )
119
+ ( hsPkgs . "bytestring" or ( errorHandler . buildDepError "bytestring" ) )
120
+ ( hsPkgs . "cmdargs" or ( errorHandler . buildDepError "cmdargs" ) )
121
+ ( hsPkgs . "containers" or ( errorHandler . buildDepError "containers" ) )
122
+ ( hsPkgs . "constraints" or ( errorHandler . buildDepError "constraints" ) )
123
+ ( hsPkgs . "filepath" or ( errorHandler . buildDepError "filepath" ) )
124
+ ( hsPkgs . "mtl" or ( errorHandler . buildDepError "mtl" ) )
125
+ ( hsPkgs . "safe" or ( errorHandler . buildDepError "safe" ) )
126
+ ( hsPkgs . "transformers" or ( errorHandler . buildDepError "transformers" ) )
127
+ ( hsPkgs . "text" or ( errorHandler . buildDepError "text" ) )
128
+ ( hsPkgs . "directory" or ( errorHandler . buildDepError "directory" ) )
129
+ ( hsPkgs . "FindBin" or ( errorHandler . buildDepError "FindBin" ) )
130
+ ( hsPkgs . "QuickCheck" or ( errorHandler . buildDepError "QuickCheck" ) )
131
+ ( hsPkgs . "quickcheck-instances" or ( errorHandler . buildDepError "quickcheck-instances" ) )
132
+ ( hsPkgs . "leancheck" or ( errorHandler . buildDepError "leancheck" ) )
133
+ ( hsPkgs . "HUnit" or ( errorHandler . buildDepError "HUnit" ) )
134
+ ( hsPkgs . "test-framework" or ( errorHandler . buildDepError "test-framework" ) )
135
+ ( hsPkgs . "test-framework-hunit" or ( errorHandler . buildDepError "test-framework-hunit" ) )
136
+ ( hsPkgs . "test-framework-quickcheck2" or ( errorHandler . buildDepError "test-framework-quickcheck2" ) )
137
+ ( hsPkgs . "test-framework-leancheck" or ( errorHandler . buildDepError "test-framework-leancheck" ) )
138
+ ( hsPkgs . "vector" or ( errorHandler . buildDepError "vector" ) )
139
+ ( hsPkgs . "zip-archive" or ( errorHandler . buildDepError "zip-archive" ) )
140
+ ( hsPkgs . "async" or ( errorHandler . buildDepError "async" ) )
141
+ ( hsPkgs . "exceptions" or ( errorHandler . buildDepError "exceptions" ) )
142
+ ( hsPkgs . "monad-control" or ( errorHandler . buildDepError "monad-control" ) )
143
+ ( hsPkgs . "process" or ( errorHandler . buildDepError "process" ) )
144
+ ( hsPkgs . "system-filepath" or ( errorHandler . buildDepError "system-filepath" ) )
145
+ ( hsPkgs . "system-fileio" or ( errorHandler . buildDepError "system-fileio" ) )
146
+ ( hsPkgs . "time" or ( errorHandler . buildDepError "time" ) )
147
+ ( hsPkgs . "transformers-base" or ( errorHandler . buildDepError "transformers-base" ) )
148
+ ( hsPkgs . "unix-compat" or ( errorHandler . buildDepError "unix-compat" ) )
149
+ ] ++ pkgs . lib . optional ( system . isWindows ) ( hsPkgs . "Win32" or ( errorHandler . buildDepError "Win32" ) ) ;
150
+ build-tools = [
151
+ ( hsPkgs . buildPackages . darcs . components . exes . darcs or ( pkgs . buildPackages . darcs or ( errorHandler . buildToolDepError "darcs:darcs" ) ) )
152
+ ] ;
153
+ buildable = true ;
154
+ } ;
155
+ } ;
156
+ } ;
157
+ }
0 commit comments