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.2" ; } ;
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 . "Vis" or ( errorHandler . buildDepError "Vis" ) )
32
+ ( hsPkgs . "diagrams-cairo" or ( errorHandler . buildDepError "diagrams-cairo" ) )
33
+ ( hsPkgs . "diagrams-lib" or ( errorHandler . buildDepError "diagrams-lib" ) )
34
+ ( hsPkgs . "gloss" or ( errorHandler . buildDepError "gloss" ) )
35
+ ( hsPkgs . "gnuplot" or ( errorHandler . buildDepError "gnuplot" ) )
36
+ ] ;
37
+ buildable = true ;
38
+ } ;
39
+ exes = {
40
+ "LPFP-hello" = {
41
+ depends = [
42
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
43
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
44
+ ] ;
45
+ buildable = true ;
46
+ } ;
47
+ "LPFP-MakeTrajectoryGraph" = {
48
+ depends = [
49
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
50
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
51
+ ( hsPkgs . "gnuplot" or ( errorHandler . buildDepError "gnuplot" ) )
52
+ ] ;
53
+ buildable = true ;
54
+ } ;
55
+ "LPFP-GlossDisplay" = {
56
+ depends = [
57
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
58
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
59
+ ( hsPkgs . "gloss" or ( errorHandler . buildDepError "gloss" ) )
60
+ ] ;
61
+ buildable = true ;
62
+ } ;
63
+ "LPFP-GlossDisplay2" = {
64
+ depends = [
65
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
66
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
67
+ ( hsPkgs . "gloss" or ( errorHandler . buildDepError "gloss" ) )
68
+ ] ;
69
+ buildable = true ;
70
+ } ;
71
+ "LPFP-GlossAnimate" = {
72
+ depends = [
73
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
74
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
75
+ ( hsPkgs . "gloss" or ( errorHandler . buildDepError "gloss" ) )
76
+ ] ;
77
+ buildable = true ;
78
+ } ;
79
+ "LPFP-GlossSimulate" = {
80
+ depends = [
81
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
82
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
83
+ ( hsPkgs . "gloss" or ( errorHandler . buildDepError "gloss" ) )
84
+ ] ;
85
+ buildable = true ;
86
+ } ;
87
+ "LPFP-GlossSimulate2" = {
88
+ depends = [
89
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
90
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
91
+ ( hsPkgs . "gloss" or ( errorHandler . buildDepError "gloss" ) )
92
+ ] ;
93
+ buildable = true ;
94
+ } ;
95
+ "LPFP-VisDisplay" = {
96
+ depends = [
97
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
98
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
99
+ ( hsPkgs . "Vis" or ( errorHandler . buildDepError "Vis" ) )
100
+ ] ;
101
+ buildable = true ;
102
+ } ;
103
+ "LPFP-VisDisplay2" = {
104
+ depends = [
105
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
106
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
107
+ ( hsPkgs . "Vis" or ( errorHandler . buildDepError "Vis" ) )
108
+ ] ;
109
+ buildable = true ;
110
+ } ;
111
+ "LPFP-VisDisplay3" = {
112
+ depends = [
113
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
114
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
115
+ ( hsPkgs . "Vis" or ( errorHandler . buildDepError "Vis" ) )
116
+ ( hsPkgs . "SpatialMath" or ( errorHandler . buildDepError "SpatialMath" ) )
117
+ ] ;
118
+ buildable = true ;
119
+ } ;
120
+ "LPFP-VisAnimate" = {
121
+ depends = [
122
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
123
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
124
+ ( hsPkgs . "Vis" or ( errorHandler . buildDepError "Vis" ) )
125
+ ( hsPkgs . "SpatialMath" or ( errorHandler . buildDepError "SpatialMath" ) )
126
+ ] ;
127
+ buildable = true ;
128
+ } ;
129
+ "LPFP-VisSimulate" = {
130
+ depends = [
131
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
132
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
133
+ ( hsPkgs . "Vis" or ( errorHandler . buildDepError "Vis" ) )
134
+ ] ;
135
+ buildable = true ;
136
+ } ;
137
+ "LPFP-GlossHalley" = {
138
+ depends = [
139
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
140
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
141
+ ( hsPkgs . "gloss" or ( errorHandler . buildDepError "gloss" ) )
142
+ ] ;
143
+ buildable = true ;
144
+ } ;
145
+ "LPFP-GlossProjectile" = {
146
+ depends = [
147
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
148
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
149
+ ( hsPkgs . "gloss" or ( errorHandler . buildDepError "gloss" ) )
150
+ ] ;
151
+ buildable = true ;
152
+ } ;
153
+ "LPFP-VisProjectile" = {
154
+ depends = [
155
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
156
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
157
+ ( hsPkgs . "Vis" or ( errorHandler . buildDepError "Vis" ) )
158
+ ] ;
159
+ buildable = true ;
160
+ } ;
161
+ "LPFP-Mech3Proton" = {
162
+ depends = [
163
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
164
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
165
+ ( hsPkgs . "gloss" or ( errorHandler . buildDepError "gloss" ) )
166
+ ] ;
167
+ buildable = true ;
168
+ } ;
169
+ "LPFP-GlossProton" = {
170
+ depends = [
171
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
172
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
173
+ ( hsPkgs . "gloss" or ( errorHandler . buildDepError "gloss" ) )
174
+ ] ;
175
+ buildable = true ;
176
+ } ;
177
+ "LPFP-VisTwoSprings" = {
178
+ depends = [
179
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
180
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
181
+ ( hsPkgs . "Vis" or ( errorHandler . buildDepError "Vis" ) )
182
+ ] ;
183
+ buildable = true ;
184
+ } ;
185
+ "LPFP-GlossBilliard" = {
186
+ depends = [
187
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
188
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
189
+ ( hsPkgs . "gloss" or ( errorHandler . buildDepError "gloss" ) )
190
+ ] ;
191
+ buildable = true ;
192
+ } ;
193
+ "LPFP-GlossWave" = {
194
+ depends = [
195
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
196
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
197
+ ( hsPkgs . "gloss" or ( errorHandler . buildDepError "gloss" ) )
198
+ ] ;
199
+ buildable = true ;
200
+ } ;
201
+ "LPFP-GnuplotWave" = {
202
+ depends = [
203
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
204
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
205
+ ( hsPkgs . "gnuplot" or ( errorHandler . buildDepError "gnuplot" ) )
206
+ ] ;
207
+ buildable = true ;
208
+ } ;
209
+ "LPFP-GlossBilliardAnimate" = {
210
+ depends = [
211
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
212
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
213
+ ] ;
214
+ buildable = true ;
215
+ } ;
216
+ "LPFP-ProtonEB" = {
217
+ depends = [
218
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
219
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
220
+ ( hsPkgs . "Vis" or ( errorHandler . buildDepError "Vis" ) )
221
+ ] ;
222
+ buildable = true ;
223
+ } ;
224
+ "LPFP-Hydrogen" = {
225
+ depends = [
226
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
227
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
228
+ ( hsPkgs . "Vis" or ( errorHandler . buildDepError "Vis" ) )
229
+ ] ;
230
+ buildable = true ;
231
+ } ;
232
+ "LPFP-ElectricWave" = {
233
+ depends = [
234
+ ( hsPkgs . "LPFP" or ( errorHandler . buildDepError "LPFP" ) )
235
+ ( hsPkgs . "base" or ( errorHandler . buildDepError "base" ) )
236
+ ( hsPkgs . "diagrams-cairo" or ( errorHandler . buildDepError "diagrams-cairo" ) )
237
+ ( hsPkgs . "diagrams-lib" or ( errorHandler . buildDepError "diagrams-lib" ) )
238
+ ] ;
239
+ buildable = true ;
240
+ } ;
241
+ } ;
242
+ } ;
243
+ }
0 commit comments