summaryrefslogtreecommitdiff
path: root/guix.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix.scm')
-rw-r--r--guix.scm55
1 files changed, 50 insertions, 5 deletions
diff --git a/guix.scm b/guix.scm
index c425dd3..0effc5d 100644
--- a/guix.scm
+++ b/guix.scm
@@ -36,7 +36,9 @@
;;
;;; Code:
-(use-modules (guix packages)
+(use-modules (ice-9 match)
+ (srfi srfi-1)
+ (guix packages)
(guix licenses)
(guix git-download)
(guix build-system gnu)
@@ -50,6 +52,50 @@
(gnu packages maths)
(gnu packages image))
+(define guile-sdl2
+ (package
+ (name "guile-sdl2")
+ (version "0.1.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://dthompson.us/guile-sdl2.git")
+ (commit "6f1b62d")))
+ (sha256
+ (base32
+ "0l2fxbdbw0hggqrs6ai862zdi9x6jibaqb79qfinf6d1rvnyavw3"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags
+ (list (string-append "--with-libsdl2-prefix="
+ (assoc-ref %build-inputs "sdl2"))
+ (string-append "--with-libsdl2-image-prefix="
+ (assoc-ref %build-inputs "sdl2-image"))
+ (string-append "--with-libsdl2-ttf-prefix="
+ (assoc-ref %build-inputs "sdl2-ttf"))
+ (string-append "--with-libsdl2-mixer-prefix="
+ (assoc-ref %build-inputs "sdl2-mixer")))
+ #:make-flags '("GUILE_AUTO_COMPILE=0")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'bootstrap
+ (lambda _ (zero? (system* "sh" "bootstrap")))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("guile" ,guile-2.0)
+ ("sdl2" ,sdl2)
+ ("sdl2-image" ,sdl2-image)
+ ("sdl2-mixer" ,sdl2-mixer)
+ ("sdl2-ttf" ,sdl2-ttf)))
+ (synopsis "Guile bindings for SDL2")
+ (description "Guile-sdl2 provides pure Guile Scheme bindings to the
+SDL2 C shared library via the foreign function interface.")
+ (home-page "https://git.dthompson.us/guile-sdl2.git")
+ (license lgpl3+)))
+
(package
(name "sly")
(version "0.1")
@@ -78,12 +124,11 @@
("automake" ,automake)
("texinfo" ,texinfo)))
(propagated-inputs
- `(("guile" ,guile-2.0)
- ("guile-sdl" ,guile-sdl)
+ `(("guile-sdl2" ,guile-sdl2)
("guile-opengl" ,guile-opengl)))
(inputs
- `(("gsl" ,gsl)
- ("freeimage" ,freeimage)
+ `(("guile" ,guile-2.0)
+ ("gsl" ,gsl)
("mesa" ,mesa)))
(synopsis "2D/3D game engine for GNU Guile")
(description "Sly is a 2D/3D game engine written in Guile Scheme.