-
Notifications
You must be signed in to change notification settings - Fork 3
/
cpiwb.cabal
73 lines (64 loc) · 3.66 KB
/
cpiwb.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
name: cpiwb
version: 0.6.0.0
synopsis: The CPi Workbench: An interactive command-line tool for working with the Continuous pi-Calculus
description: The Continuous pi-Calculus is a process algebra for modelling continuous behaviour in biochemical systems. The CPi Workbench is an interactive command-line tool for working with the calculus. It provides facilities to read and parse .cpi files containing descriptions of CPi systems; to analyse their possible behaviour; and generate ODEs and numerical simulations of the systems they describe.
license: GPL-3
license-file: LICENSE
author: Chris Banks, Ian Stark
maintainer: [email protected], [email protected]
copyright: Chris Banks, Ian Stark
category: SystemsBiology
build-type: Simple
extra-source-files: README, build
cabal-version: >=1.18
-- The version must be able 1.18 to use sandboxes.
-- In fact it must also be <1.22; but cabal-version won't accept an upper
-- bound:
--
-- Warning: Packages relying on Cabal 1.10 or later must only specify a
-- version range of the form 'cabal-version: >= x.y'. Use 'cabal-version: >=
-- 1.10'.
--
-- The reason for needing cabal <1.22 is because we're using gtk2hs <0.13.
-- Gtk2HsSetup uses generateRegistrationInfo from Cabal's
-- Distribution.Simple.Register, and that had an API change at 1.22
-- Where the version of cabal is 1.22 or greater it's necessary to use the
-- --cabal-lib-version=1.??.??.?? switch in ./build to explicitly select an
-- earlier one (which must then be installed)
-- There's also a requirement that gcc must be at version <5. I'm not sure
-- whether I can enforce this here. There's a --with-gcc switch on cabal
-- install to point to the path for an appropriate gcc executable. Again,
-- that needs to be set by hand in ./build
executable cpiwb
main-is: cpiwb.hs
other-modules: CPi.Logic, CPi.ODE, CPi.Plot, CPi.Signals,
CPi.Lib, CPi.Matlab, CPi.Parser,
CPi.Semantics, CPi.Tests
other-extensions: DeriveDataTypeable, TypeSynonymInstances,
FlexibleInstances, PatternGuards
build-depends: base >=4.7 && <4.8, parsec >=3.1 && <3.2,
containers >=0.5 && <0.6, transformers >=0.3 && <0.4,
process >=1.2 && <1.3, colour >=2.3 && <2.4,
data-accessor >=0.2 && <0.3,
hmatrix-gsl, hmatrix, haskeline,
Chart<1.0, Chart-gtk, gtk<0.13
-- There's also a requirement to install gtk2hs-buildtools<0.13 first, which
-- this file cannot pick up. I wonder if I can manually adjust Setup.hs for
-- this? Why it has to be an earlier version, I don't know; could be the
-- String/Text issue noted below for gtk.
-- Chart/Chart-gtk must be at <1.0 to some things incorporated that were later
-- broken out into cairo.
-- Going up to higher versions, there's a problem with Plot.hs locating
-- renderabletoPDFFile; possibly because it only imports
-- Graphics.Rendering.Chart and ...Gtk There's a transition going to Chart1.0
-- where that command disappears (into Chart-cairo?)
-- We need gtk <0.13 so that eventKeyName in Graphics.UI.Gtk.Gdk.Events is
-- String not Text. So an explicit mention of gtk with that constraint.
-- The source code directly uses the following modules
-- Numeric.GSL from hmatrix-gsl
-- Numeric.LinearAlgebra from hmatrix
-- Graphics.Rendering.Chart from Chart
-- Graphics.Rendering.Chart.Gtk from Chart-gtk
-- System.Console.Haskeline from haskeline
-- hs-source-dirs:
default-language: Haskell2010