summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Thompson <dthompson2@worcester.edu>2018-12-02 17:46:25 -0500
committerDavid Thompson <dthompson2@worcester.edu>2018-12-02 21:01:10 -0500
commit1d50c43baa360a45fe0ae2d6982bde30a2cecf6b (patch)
tree501ec7316f3e470ddd8b27fc331bc03844d6d53d
parent2e354c9e235b382c1870dcaad166b846dbc7287e (diff)
guix: Upgrade to Guile with JIT.
-rw-r--r--guix.scm61
1 files changed, 40 insertions, 21 deletions
diff --git a/guix.scm b/guix.scm
index f0bf114..b54af4b 100644
--- a/guix.scm
+++ b/guix.scm
@@ -35,11 +35,12 @@
(use-modules (ice-9 match)
(srfi srfi-1)
- (guix packages)
- (guix licenses)
+ (guix build-system gnu)
(guix download)
(guix git-download)
- (guix build-system gnu)
+ (guix licenses)
+ (guix packages)
+ (guix utils)
(gnu packages)
(gnu packages autotools)
(gnu packages pkg-config)
@@ -50,24 +51,43 @@
(gnu packages maths)
(gnu packages image))
-(define (package-with-guile p guile)
+(define guile-opengl
(package
- (inherit p)
+ (inherit guile-opengl)
(inputs
(map (match-lambda
(("guile" _)
- `("guile" ,guile))
+ `("guile" ,guile-next))
(input input))
- (package-inputs p)))))
-
-(define (package-with-guile-2.2 p)
- (package-with-guile p guile-2.2.4))
+ (package-inputs guile-opengl)))
+ (native-inputs
+ (append (package-native-inputs guile-opengl)
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments guile-opengl)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (delete 'patch-makefile)
+ (add-before 'bootstrap 'patch-configure.ac
+ (lambda _
+ ;; The Guile version check doesn't work for the 3.0
+ ;; pre-release, so just remove it.
+ (substitute* "configure.ac"
+ (("GUILE_PKG\\(\\[2.2 2.0\\]\\)") ""))
+ (substitute* "Makefile.am"
+ (("\\$\\(GUILE_EFFECTIVE_VERSION\\)") "3.0")
+ (("ccache") "site-ccache"))
+ #t))
+ (replace 'bootstrap
+ (lambda _
+ (invoke "autoreconf" "-vfi")))))))))
(define guile-sdl2
- (let ((commit "5a6ea82c9ad859972c01d2908b2f66fb3addcfbb"))
+ (let ((commit "d0f9c26dce6e23533c23e401f604d712b43d4420"))
(package
(name "guile-sdl2")
- (version "0.2.0-1.")
+ (version (string-append "0.3.1-1." (string-take commit 7)))
(source (origin
(method git-fetch)
(uri (git-reference
@@ -75,7 +95,7 @@
(commit commit)))
(sha256
(base32
- "1gc8f24l2y939a673kix0jd0kqr4zgwr8kd5qy60czqbqbjqrn96"))))
+ "183r50bsf317f4iclsdw4ag83s915nymvadh3izw04iv7fm8xbwj"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
@@ -105,7 +125,7 @@
("pkg-config" ,pkg-config)
("texinfo" ,texinfo)))
(inputs
- `(("guile" ,guile-2.2.4)
+ `(("guile" ,guile-next)
("sdl2" ,sdl2)
("sdl2-image" ,sdl2-image)
("sdl2-mixer" ,sdl2-mixer)
@@ -117,7 +137,7 @@ SDL2 C shared library via the foreign function interface.")
(license lgpl3+))))
(define chickadee
- (let ((commit "b69cdffb9e86e62325b8bc5560162b044b8b30b6"))
+ (let ((commit "3a5f0b977dd6ef7581b200515275cc67d8378138"))
(package
(name "chickadee")
(version "0.1")
@@ -128,7 +148,7 @@ SDL2 C shared library via the foreign function interface.")
(commit commit)))
(sha256
(base32
- "1n0kiria124wwgbbwwhd8b7r2lgs9pk9vhh3fn82rmrq7c3sk8ix"))))
+ "0f0l5ndla2j8b0dwygr79mh26brsshrdg9zfn9g1pbk4gxjghip0"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags '("GUILE_AUTO_COMPILE=0")
@@ -150,9 +170,9 @@ SDL2 C shared library via the foreign function interface.")
("pkg-config" ,pkg-config)
("texinfo" ,texinfo)))
(inputs
- `(("guile" ,guile-2.2.2)))
+ `(("guile" ,guile-next)))
(propagated-inputs
- `(("guile-opengl" ,(package-with-guile-2.2 guile-opengl))
+ `(("guile-opengl" ,guile-opengl)
("guile-sdl2" ,guile-sdl2)))
(synopsis "Game development toolkit for Guile Scheme")
(description "Chickadee is a game development toolkit for Guile
@@ -172,10 +192,9 @@ Scheme. It contains all of the basic components needed to develop
("pkg-config" ,pkg-config)
("texinfo" ,texinfo)))
(inputs
- `(("guile" ,guile-2.2.4)))
+ `(("guile" ,guile-next)))
(propagated-inputs
- `(("guile-opengl" ,(package-with-guile-2.2 guile-opengl))
- ("guile-sdl2" ,guile-sdl2)
+ `(("guile-sdl2" ,guile-sdl2)
("chickadee" ,chickadee)))
(synopsis "Game engine for Scheme programmers")
(description "Starling is a game engine written in Guile Scheme.")