;;; Sly ;;; Copyright (C) 2014, 2015 David Thompson ;;; ;;; Sly is free software: you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation, either version 3 of the License, or ;;; (at your option) any later version. ;;; ;;; Sly is distributed in the hope that it will be useful, but WITHOUT ;;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ;;; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public ;;; License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program. If not, see ;;; . ;;; Commentary: ;; ;; Development environment for GNU Guix. ;; ;; To setup the development environment, run the following: ;; ;; guix environment -l guix.scm ;; ./bootstrap && ./configure \ ;; --with-libfreeimage-prefix=$(guix build freeimage) \ ;; --with-libgslcblas-prefix=$(guix build gsl) ;; ;; To build the development snapshot, run: ;; ;; guix build -f guix.scm ;; ;; To install the development snapshot, run: ;; ;; guix install -f guix.scm ;; ;;; Code: (use-modules (guix packages) (guix licenses) (guix git-download) (guix build-system gnu) (gnu packages) (gnu packages autotools) (gnu packages pkg-config) (gnu packages texinfo) (gnu packages guile) (gnu packages gl) (gnu packages sdl) (gnu packages maths) (gnu packages image)) (package (name "sly") (version "0.1") (source (origin (method git-fetch) (uri (git-reference (url "git://dthompson.us/sly.git") (commit "9c8c44a"))) (sha256 (base32 "021af35c2yz7hm8ax3mbxnrma0fbijplakl0xy61gjg3w89bjsll")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases (add-after 'unpack 'bootstrap (lambda _ (zero? (system* "sh" "bootstrap"))))) #:configure-flags (list (string-append "--with-libfreeimage-prefix=" (assoc-ref %build-inputs "freeimage")) (string-append "--with-libgslcblas-prefix=" (assoc-ref %build-inputs "gsl"))))) (native-inputs `(("pkg-config" ,pkg-config) ("autoconf" ,autoconf) ("automake" ,automake) ("texinfo" ,texinfo))) (propagated-inputs `(("guile" ,guile-2.0) ("guile-sdl" ,guile-sdl) ("guile-opengl" ,guile-opengl))) (inputs `(("gsl" ,gsl) ("freeimage" ,freeimage) ("mesa" ,mesa))) (synopsis "2D/3D game engine for GNU Guile") (description "Sly is a 2D/3D game engine written in Guile Scheme. Sly differs from most game engines in that it emphasizes functional reactive programming and live coding.") (home-page "http://dthompson.us/pages/software/sly.html") (license gpl3+))