1 ;;; Chickadee Game Toolkit
2 ;;; Copyright © 2016 David Thompson <davet@gnu.org>
4 ;;; Chickadee is free software: you can redistribute it and/or modify it
5 ;;; under the terms of the GNU General Public License as published by
6 ;;; the Free Software Foundation, either version 3 of the License, or
7 ;;; (at your option) any later version.
9 ;;; Chickadee is distributed in the hope that it will be useful, but WITHOUT
10 ;;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
11 ;;; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
12 ;;; License for more details.
14 ;;; You should have received a copy of the GNU General Public License
15 ;;; along with this program. If not, see
16 ;;; <http://www.gnu.org/licenses/>.
20 ;; Development environment for GNU Guix.
22 ;; To setup the development environment, run the following:
24 ;; guix environment -l guix.scm
25 ;; ./bootstrap && ./configure;
27 ;; To build the development snapshot, run:
29 ;; guix build -f guix.scm
31 ;; To install the development snapshot, run:
33 ;; guix install -f guix.scm
37 (use-modules (ice-9 match
)
43 (guix build-system gnu
)
46 (gnu packages autotools
)
47 (gnu packages pkg-config
)
48 (gnu packages texinfo
)
55 (define (package-with-guile p guile
)
63 (package-inputs p
)))))
65 (define (package-with-guile-2.2 p
)
66 (package-with-guile p guile-2.2
.4))
70 (inherit guile-opengl
)
74 `("guile" ,guile-next
))
76 (package-inputs guile-opengl
)))
78 (append (package-native-inputs guile-opengl
)
79 `(("autoconf" ,autoconf
)
80 ("automake" ,automake
))))
82 (substitute-keyword-arguments (package-arguments guile-opengl
)
84 `(modify-phases ,phases
85 (delete 'patch-makefile
)
86 (add-before 'bootstrap
'patch-configure.ac
88 ;; The Guile version check doesn't work for the 3.0
89 ;; pre-release, so just remove it.
90 (substitute* "configure.ac"
91 (("GUILE_PKG\\(\\[2.2 2.0\\]\\)") ""))
92 (substitute* "Makefile.am"
93 (("\\$\\(GUILE_EFFECTIVE_VERSION\\)") "3.0")
94 (("ccache") "site-ccache"))
98 (invoke "autoreconf" "-vfi")))))))))
101 (let ((commit "d0f9c26dce6e23533c23e401f604d712b43d4420"))
104 (version (string-append "0.3.1-1." (string-take commit
7)))
108 (url "git://dthompson.us/guile-sdl2.git")
112 "183r50bsf317f4iclsdw4ag83s915nymvadh3izw04iv7fm8xbwj"))))
113 (build-system gnu-build-system
)
116 (list (string-append "--with-libsdl2-prefix="
117 (assoc-ref %build-inputs
"sdl2"))
118 (string-append "--with-libsdl2-image-prefix="
119 (assoc-ref %build-inputs
"sdl2-image"))
120 (string-append "--with-libsdl2-ttf-prefix="
121 (assoc-ref %build-inputs
"sdl2-ttf"))
122 (string-append "--with-libsdl2-mixer-prefix="
123 (assoc-ref %build-inputs
"sdl2-mixer")))
124 #:make-flags
'("GUILE_AUTO_COMPILE=0")
126 (modify-phases %standard-phases
127 (add-after 'unpack
'bootstrap
129 (zero?
(system* "sh" "bootstrap")))))))
131 `(("autoconf" ,autoconf
)
132 ("automake" ,automake
)
133 ("pkg-config" ,pkg-config
)
134 ("texinfo" ,texinfo
)))
136 `(("guile" ,guile-next
)
138 ("sdl2-image" ,sdl2-image
)
139 ("sdl2-mixer" ,sdl2-mixer
)
140 ("sdl2-ttf" ,sdl2-ttf
)))
141 (synopsis "Guile bindings for SDL2")
142 (description "Guile-sdl2 provides pure Guile Scheme bindings to the
143 SDL2 C shared library via the foreign function interface.")
144 (home-page "https://git.dthompson.us/guile-sdl2.git")
151 (build-system gnu-build-system
)
153 `(("autoconf" ,autoconf
)
154 ("automake" ,automake
)
155 ("pkg-config" ,pkg-config
)
156 ("texinfo" ,texinfo
)))
158 `(("guile" ,guile-next
)))
160 `(("guile-opengl" ,guile-opengl
)
161 ("guile-sdl2" ,guile-sdl2
)))
162 (synopsis "Game development toolkit for Guile Scheme")
163 (description "Chickadee is a game development toolkit for Guile
164 Scheme. It contains all of the basic components needed to develop
166 (home-page "https://dthompson.us/projects/chickadee.html")