public
Description: a haskell IRC bot
Homepage:
Clone URL: git://github.com/thoughtpolice/infinity.git
infinity / INSTALL
100644 86 lines (55 sloc) 2.325 kb
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
74
75
76
77
78
79
80
81
82
83
84
85
86
Prerequisites:
 1. ghc >= 6.8
 2. irc >= 0.4
 3. quickcheck >= 2.0
 4. binary >= 0.4
 
Optional:
 1. hs-plugins >= 1.1
 
building and running the bot itself
===================================
 
Required:
 
1. ghc 6.8 may be downloaded from http://haskell.org/ghc/
 
2. irc >= 0.4 may be downloaded from http://hackage.haskell.org
 
3. quickcheck >= 2.0 may be downloaded by running
   `darcs get http://code.haskell.org/QuickCheck/`
   and building and installing from there.
 
4. binary >= 0.4 may be downloaded from http://hackage.haskell.org
 
 
Optional:
 
1. hs-plugins 1.1, which works with ghc 6.8, may be downloaded by simply
doing:
 
darcs get http://code.haskell.org/~dons/code/hs-plugins/
 
NOTE: this repo is changing to accomodate windows, and therefore I make
no guarantee that it will be working for you at any given time. However,
the latest repo as of this writing (1-8-08) works fine with ghc 6.8 under
linux.
 
 
building the bot itself
-----------------------
After you have installed the above, you may configure infinity
in one of two ways:
 
$ runghc Setup.hs configure
 
Or:
 
$ runghc Setup.hs configure -fdynamic
 
If you configure the second way, you will configure infinity to
create a 'dynamic build,' meaning the bot can be reloaded in
situ and save and preserve state. To use this, you must have
hs-plugins >= 1.1 installed.
 
If you configure with no special flag flag, it will configure a
static build, and the bot will not have the reboot feature enabled.
For this build, you do not need hs-plugins.
 
After you have configured it, you may build by simply doing:
 
$ runghc Setup.hs build
 
Do not bother installing, as infinity depends on being in
the base directory. The build system will take care of this.
 
after building, there should be a binary named 'infinity' in
the base dir. at this point, you may just run.
 
$ ./infinity
 
If it is a dynamic build, then you can reload your configuration,
otherwise you will simply have to run the build process again.
 
you may also run:
 
$ ./infinity -offline
 
this will run an 'offline' version of infinity which is basically
just a REPL for plugin commands. this requires readline to be installed,
but it should come with any ghc installation on a *nix system.
 
in order to clean out the entire directory, including executable,
you may do
 
$ runghc Setup.hs clean