1
+ { system
2
+ , compiler
3
+ , flags
4
+ , pkgs
5
+ , hsPkgs
6
+ , pkgconfPkgs
7
+ , errorHandler
8
+ , config
9
+ , ... } :
10
+ {
11
+ flags = { } ;
12
+ package = {
13
+ specVersion = "1.12" ;
14
+ identifier = { name = "LPFP" ; version = "1.1.1" ; } ;
15
+ license = "BSD-3-Clause" ;
16
+ copyright = "2023 Scott N. Walck" ;
17
+
18
+ author = "Scott N. Walck" ;
19
+ homepage = "https://lpfp.io" ;
20
+ url = "" ;
21
+ synopsis = "Code for the book Learn Physics with Functional Programming" ;
22
+ description = "Haskell code to help the user learn mechanics of one particle,\n mechanics of multiple interacting particles, and electromagnetic theory." ;
23
+ buildType = "Simple" ;
24
+ } ;
25
+ components = {
26
+ "library" = {
27
+ depends = [
28
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
29
+ ( hsPkgs . "SpatialMath" or ( errorHandler . buildDepError "SpatialMath" ) )
30
+ ( hsPkgs . "containers" or ( errorHandler . buildDepError "containers" ) )
31
+ ( hsPkgs . "linear" or ( errorHandler . buildDepError "linear" ) )
32
+ ( hsPkgs . "Vis" or ( errorHandler . buildDepError "Vis" ) )
33
+ ( hsPkgs . "diagrams-cairo" or ( errorHandler . buildDepError "diagrams-cairo" ) )
34
+ ( hsPkgs . "diagrams-lib" or ( errorHandler . buildDepError "diagrams-lib" ) )
35
+ ( hsPkgs . "gloss" or ( errorHandler . buildDepError "gloss" ) )
36
+ ( hsPkgs . "gnuplot" or ( errorHandler . buildDepError "gnuplot" ) )
37
+ ] ;
38
+ buildable = true ;
39
+ } ;
40
+ exes = {
41
+ "LPFP-hello" = {
42
+ depends = [
43
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
44
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
45
+ ] ;
46
+ buildable = true ;
47
+ } ;
48
+ "LPFP-MakeTrajectoryGraph" = {
49
+ depends = [
50
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
51
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
52
+ ( hsPkgs . "gnuplot" or ( errorHandler . buildDepError "gnuplot" ) )
53
+ ] ;
54
+ buildable = true ;
55
+ } ;
56
+ "LPFP-GlossDisplay" = {
57
+ depends = [
58
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
59
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
60
+ ( hsPkgs . "gloss" or ( errorHandler . buildDepError "gloss" ) )
61
+ ] ;
62
+ buildable = true ;
63
+ } ;
64
+ "LPFP-GlossDisplay2" = {
65
+ depends = [
66
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
67
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
68
+ ( hsPkgs . "gloss" or ( errorHandler . buildDepError "gloss" ) )
69
+ ] ;
70
+ buildable = true ;
71
+ } ;
72
+ "LPFP-GlossAnimate" = {
73
+ depends = [
74
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
75
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
76
+ ( hsPkgs . "gloss" or ( errorHandler . buildDepError "gloss" ) )
77
+ ] ;
78
+ buildable = true ;
79
+ } ;
80
+ "LPFP-GlossSimulate" = {
81
+ depends = [
82
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
83
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
84
+ ( hsPkgs . "gloss" or ( errorHandler . buildDepError "gloss" ) )
85
+ ] ;
86
+ buildable = true ;
87
+ } ;
88
+ "LPFP-GlossSimulate2" = {
89
+ depends = [
90
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
91
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
92
+ ( hsPkgs . "gloss" or ( errorHandler . buildDepError "gloss" ) )
93
+ ] ;
94
+ buildable = true ;
95
+ } ;
96
+ "LPFP-VisDisplay" = {
97
+ depends = [
98
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
99
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
100
+ ( hsPkgs . "Vis" or ( errorHandler . buildDepError "Vis" ) )
101
+ ] ;
102
+ buildable = true ;
103
+ } ;
104
+ "LPFP-VisDisplay2" = {
105
+ depends = [
106
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
107
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
108
+ ( hsPkgs . "Vis" or ( errorHandler . buildDepError "Vis" ) )
109
+ ( hsPkgs . "linear" or ( errorHandler . buildDepError "linear" ) )
110
+ ] ;
111
+ buildable = true ;
112
+ } ;
113
+ "LPFP-VisDisplay3" = {
114
+ depends = [
115
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
116
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
117
+ ( hsPkgs . "Vis" or ( errorHandler . buildDepError "Vis" ) )
118
+ ( hsPkgs . "linear" or ( errorHandler . buildDepError "linear" ) )
119
+ ( hsPkgs . "SpatialMath" or ( errorHandler . buildDepError "SpatialMath" ) )
120
+ ] ;
121
+ buildable = true ;
122
+ } ;
123
+ "LPFP-VisAnimate" = {
124
+ depends = [
125
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
126
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
127
+ ( hsPkgs . "Vis" or ( errorHandler . buildDepError "Vis" ) )
128
+ ( hsPkgs . "SpatialMath" or ( errorHandler . buildDepError "SpatialMath" ) )
129
+ ] ;
130
+ buildable = true ;
131
+ } ;
132
+ "LPFP-VisSimulate" = {
133
+ depends = [
134
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
135
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
136
+ ( hsPkgs . "Vis" or ( errorHandler . buildDepError "Vis" ) )
137
+ ] ;
138
+ buildable = true ;
139
+ } ;
140
+ "LPFP-GlossHalley" = {
141
+ depends = [
142
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
143
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
144
+ ( hsPkgs . "gloss" or ( errorHandler . buildDepError "gloss" ) )
145
+ ] ;
146
+ buildable = true ;
147
+ } ;
148
+ "LPFP-GlossProjectile" = {
149
+ depends = [
150
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
151
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
152
+ ( hsPkgs . "gloss" or ( errorHandler . buildDepError "gloss" ) )
153
+ ] ;
154
+ buildable = true ;
155
+ } ;
156
+ "LPFP-VisProjectile" = {
157
+ depends = [
158
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
159
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
160
+ ( hsPkgs . "Vis" or ( errorHandler . buildDepError "Vis" ) )
161
+ ] ;
162
+ buildable = true ;
163
+ } ;
164
+ "LPFP-Mech3Proton" = {
165
+ depends = [
166
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
167
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
168
+ ( hsPkgs . "gloss" or ( errorHandler . buildDepError "gloss" ) )
169
+ ] ;
170
+ buildable = true ;
171
+ } ;
172
+ "LPFP-GlossProton" = {
173
+ depends = [
174
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
175
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
176
+ ( hsPkgs . "gloss" or ( errorHandler . buildDepError "gloss" ) )
177
+ ] ;
178
+ buildable = true ;
179
+ } ;
180
+ "LPFP-VisTwoSprings" = {
181
+ depends = [
182
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
183
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
184
+ ( hsPkgs . "Vis" or ( errorHandler . buildDepError "Vis" ) )
185
+ ] ;
186
+ buildable = true ;
187
+ } ;
188
+ "LPFP-GlossBilliard" = {
189
+ depends = [
190
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
191
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
192
+ ( hsPkgs . "gloss" or ( errorHandler . buildDepError "gloss" ) )
193
+ ] ;
194
+ buildable = true ;
195
+ } ;
196
+ "LPFP-GlossWave" = {
197
+ depends = [
198
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
199
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
200
+ ( hsPkgs . "gloss" or ( errorHandler . buildDepError "gloss" ) )
201
+ ] ;
202
+ buildable = true ;
203
+ } ;
204
+ "LPFP-GnuplotWave" = {
205
+ depends = [
206
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
207
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
208
+ ( hsPkgs . "gnuplot" or ( errorHandler . buildDepError "gnuplot" ) )
209
+ ] ;
210
+ buildable = true ;
211
+ } ;
212
+ "LPFP-GlossBilliardAnimate" = {
213
+ depends = [
214
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
215
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
216
+ ] ;
217
+ buildable = true ;
218
+ } ;
219
+ "LPFP-ProtonEB" = {
220
+ depends = [
221
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
222
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
223
+ ( hsPkgs . "Vis" or ( errorHandler . buildDepError "Vis" ) )
224
+ ] ;
225
+ buildable = true ;
226
+ } ;
227
+ "LPFP-Hydrogen" = {
228
+ depends = [
229
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
230
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
231
+ ( hsPkgs . "Vis" or ( errorHandler . buildDepError "Vis" ) )
232
+ ] ;
233
+ buildable = true ;
234
+ } ;
235
+ "LPFP-ElectricWave" = {
236
+ depends = [
237
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
238
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
239
+ ( hsPkgs . "diagrams-cairo" or ( errorHandler . buildDepError "diagrams-cairo" ) )
240
+ ( hsPkgs . "diagrams-lib" or ( errorHandler . buildDepError "diagrams-lib" ) )
241
+ ] ;
242
+ buildable = true ;
243
+ } ;
244
+ } ;
245
+ } ;
246
+ }
0 commit comments