summaryrefslogtreecommitdiff
path: root/INSTALL.org
blob: fb1fda4fa48810a2bca2379a2d1baa8d65b0afea (plain)
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
Installation Instructions

* Installation via Guix

   Users of the [[http://gnu.org/software/guix][GNU Guix]] package manager can easily install a
   development snapshot by running a single command from the root of
   the Sly source tree:

   #+BEGIN_SRC sh
     guix package -f guix.scm
   #+END_SRC

* Alternative Installation (for non-Guix users)

** Install dependencies

  Installing Sly is rather easy (but not easy enough) if you are on a
  GNU/Linux system.  This installation guide assumes that you have the
  GNU build system (automake, autoconf, texinfo, pkg-config) and git
  installed.

*** Guile

    *Debian*

    #+BEGIN_SRC sh
      sudo apt-get install guile-2.0-dev
    #+END_SRC

    This assumes that the version of Debian you are running has Guile
    2.0.11.

    Check the versions available to you with =sudo apt-cache show guile-2.0-dev=.

    *Gentoo*

    #+BEGIN_SRC sh
      sudo emerge ">=dev-scheme/guile-2.0.11"
    #+END_SRC

*** GSL

    The GNU Scientific Library (GSL) is a numerical library for C and C++.

    *Debian*

    #+BEGIN_SRC sh
      sudo apt-get install libgsl0-dev
    #+END_SRC

*** SDL

    SDL is a very popular, cross-platform game library.

    *Debian*

     #+BEGIN_SRC sh
       sudo apt-get install libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev
     #+END_SRC

    *Gentoo*

    #+BEGIN_SRC sh
      sudo emerge libsdl sdl-image sdl-mixer sdl-ttf
    #+END_SRC

*** Freeimage

    Freeimage is to used to load textures. Make sure that your distro
    provides at least version 3.14.

    *Debian*

    #+BEGIN_SRC sh
      sudo apt-get install libfreeimage-dev
    #+END_SRC

    *Gentoo*

    #+BEGIN_SRC sh
      sudo emerge freeimage
    #+END_SRC

*** guile-sdl

    guile-sdl is the GNU Guile wrapper for SDL.

    Grab the latest release tarball from http://www.gnu.org/software/guile-sdl/.

    *Source*

    #+BEGIN_SRC sh
      tar xf guile-sdl-<version>.tar.xz
      cd guile-sdl-<version>/
      ./configure --prefix=/usr
      make
      sudo make install
    #+END_SRC

    Note: guile-sdl is currently broken on OS X. Please see this issue
    for more information:
    https://github.com/davexunit/guile-2d/issues/2

*** guile-opengl

    *Source*

    guile-opengl is the GNU Guile wrapper for OpenGL.

    Grab the latest release tarball from http://ftp.gnu.org/gnu/guile-opengl/.

    #+BEGIN_SRC sh
      tar -xvf guile-opengl-<version>.tar.gz
      cd guile-opengl/
      ./configure --prefix=/usr
      make
      sudo make install
    #+END_SRC

** Install Sly

  Once the dependencies have been installed, installing Sly is
  pretty straightforward.

  *GNU/Linux*

  #+BEGIN_SRC sh
    git clone https://git.dthompson.us/sly.git
    cd sly/
    ./autogen.sh
    ./configure --prefix=/usr
    make
    sudo make install
  #+END_SRC

*** Install to /usr/local

   If you want to avoid installing to /usr, you can build like this:

   #+BEGIN_SRC sh
     ./configure
     GUILE_LOAD_PATH=/usr/local/share/guile/site/2.0/:/usr/local/share/guile/site/ make
     sudo make install
   #+END_SRC

   Then use the same call to run Guile:

   #+BEGIN_SRC
     GUILE_LOAD_PATH=/usr/local/share/guile/site/2.0/:/usr/local/share/guile/site/ guile
   #+END_SRC