diff options
Diffstat (limited to 'gnu/packages/sdl.scm')
-rw-r--r-- | gnu/packages/sdl.scm | 102 |
1 files changed, 97 insertions, 5 deletions
diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index 55ce45ce78..6198925727 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015, 2017 Sou Bunnbu <iyzsong@member.fsf.org> ;;; Copyright © 2015 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> +;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; @@ -33,6 +33,7 @@ #:use-module (guix download) #:use-module (guix utils) #:use-module (guix build-system gnu) + #:use-module (guix build-system haskell) #:use-module (guix build-system trivial) #:use-module (gnu packages audio) #:use-module (gnu packages fcitx) @@ -40,6 +41,7 @@ #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) #:use-module (gnu packages guile) + #:use-module (gnu packages haskell) #:use-module (gnu packages ibus) #:use-module (gnu packages image) #:use-module (gnu packages linux) @@ -100,7 +102,7 @@ joystick, and graphics hardware.") (define-public sdl2 (package (inherit sdl) (name "sdl2") - (version "2.0.8") + (version "2.0.9") (source (origin (method url-fetch) (uri @@ -108,7 +110,7 @@ joystick, and graphics hardware.") version ".tar.gz")) (sha256 (base32 - "1v4js1gkr75hzbxzhwzzif0sf9g07234sd23x1vdaqc661bprizd")))) + "1c94ndagzkdfqaa838yqg589p1nnqln8mv0hpwfhrkbfczf8cl95")))) (arguments (substitute-keyword-arguments (package-arguments sdl) ((#:configure-flags flags) @@ -484,7 +486,7 @@ sound and device input (keyboards, joysticks, mice, etc.).") (define-public guile-sdl2 (package (name "guile-sdl2") - (version "0.3.0") + (version "0.3.1") (source (origin (method url-fetch) (uri (string-append @@ -492,7 +494,7 @@ sound and device input (keyboards, joysticks, mice, etc.).") version ".tar.gz")) (sha256 (base32 - "0iq6fw213qw292fxhrsg40al7hqyqyh4qpgl0x9rh08y949h2w97")))) + "0bw7x2lx90k4banc5k7yfkn3as93y25gr1xdr225ll7lmij21k64")))) (build-system gnu-build-system) (arguments '(#:make-flags '("GUILE_AUTO_COMPILE=0") @@ -520,3 +522,93 @@ sound and device input (keyboards, joysticks, mice, etc.).") The bindings are written in pure Scheme using Guile's foreign function interface.") (license lgpl3+))) + +(define-public ghc-sdl2 + (package + (name "ghc-sdl2") + (version "2.4.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "sdl2/sdl2-" version ".tar.gz")) + (sha256 + (base32 + "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991")))) + (build-system haskell-build-system) + (arguments '(#:tests? #f)) ; tests require graphical environment + (inputs + `(("ghc-exceptions" ,ghc-exceptions) + ("ghc-linear" ,ghc-linear) + ("ghc-statevar" ,ghc-statevar) + ("ghc-text" ,ghc-text) + ("ghc-vector" ,ghc-vector) + ("sdl2" ,sdl2))) + (native-inputs + `(("ghc-weigh" ,ghc-weigh) + ("pkg-config" ,pkg-config))) + (home-page "http://hackage.haskell.org/package/sdl2") + (synopsis "High- and low-level bindings to the SDL library") + (description + "This package contains bindings to the SDL 2 library, in both high- and +low-level forms. The @code{SDL} namespace contains high-level bindings, where +enumerations are split into sum types, and we perform automatic +error-checking. The @code{SDL.Raw} namespace contains an almost 1-1 +translation of the C API into Haskell FFI calls. As such, this does not +contain sum types nor error checking. Thus this namespace is suitable for +building your own abstraction over SDL, but is not recommended for day-to-day +programming.") + (license bsd-3))) + +(define-public ghc-sdl2-mixer + (package + (name "ghc-sdl2-mixer") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/" + "sdl2-mixer-" version ".tar.gz")) + (sha256 + (base32 + "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g")))) + (build-system haskell-build-system) + (inputs + `(("ghc-data-default-class" ,ghc-data-default-class) + ("ghc-lifted-base" ,ghc-lifted-base) + ("ghc-monad-control" ,ghc-monad-control) + ("ghc-sdl2" ,ghc-sdl2) + ("ghc-vector" ,ghc-vector) + ("sdl2-mixer" ,sdl2-mixer))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://hackage.haskell.org/package/sdl2-mixer") + (synopsis "Bindings to SDL2 mixer") + (description "This package provides Haskell bindings to +@code{SDL2_mixer}.") + (license bsd-3))) + +(define-public ghc-sdl2-image + (package + (name "ghc-sdl2-image") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/sdl2-image/" + "sdl2-image-" version ".tar.gz")) + (sha256 + (base32 + "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr")))) + (build-system haskell-build-system) + (inputs + `(("ghc-sdl2" ,ghc-sdl2) + ("ghc-text" ,ghc-text) + ("sdl2-image" ,sdl2-image))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://hackage.haskell.org/package/sdl2-image") + (synopsis "Bindings to SDL2_image") + (description "This package provides Haskell bindings to +@code{SDL2_image}.") + (license expat))) |