summaryrefslogtreecommitdiff
path: root/gnu/packages/game-development.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/game-development.scm')
-rw-r--r--gnu/packages/game-development.scm65
1 files changed, 65 insertions, 0 deletions
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 7054685dc6a..8c7a79f0c11 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -28,9 +28,11 @@
28;;; Copyright © 2022 Felix Gruber <felgru@posteo.net> 28;;; Copyright © 2022 Felix Gruber <felgru@posteo.net>
29;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com> 29;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
30;;; Copyright © 2022 dan <i@dan.games> 30;;; Copyright © 2022 dan <i@dan.games>
31;;; Copyright © 2022 Cairn <cairn@pm.me>
31;;; Copyright © 2023, 2024 John Kehayias <john.kehayias@protonmail.com> 32;;; Copyright © 2023, 2024 John Kehayias <john.kehayias@protonmail.com>
32;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr> 33;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
33;;; Copyright © 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com> 34;;; Copyright © 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
35;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
34;;; 36;;;
35;;; This file is part of GNU Guix. 37;;; This file is part of GNU Guix.
36;;; 38;;;
@@ -60,6 +62,7 @@
60 #:use-module (guix build-system cmake) 62 #:use-module (guix build-system cmake)
61 #:use-module (guix build-system copy) 63 #:use-module (guix build-system copy)
62 #:use-module (guix build-system gnu) 64 #:use-module (guix build-system gnu)
65 #:use-module (guix build-system go)
63 #:use-module (guix build-system pyproject) 66 #:use-module (guix build-system pyproject)
64 #:use-module (guix build-system python) 67 #:use-module (guix build-system python)
65 #:use-module (guix build-system scons) 68 #:use-module (guix build-system scons)
@@ -76,6 +79,7 @@
76 #:use-module (gnu packages check) 79 #:use-module (gnu packages check)
77 #:use-module (gnu packages curl) 80 #:use-module (gnu packages curl)
78 #:use-module (gnu packages documentation) 81 #:use-module (gnu packages documentation)
82 #:use-module (gnu packages golang-xyz)
79 #:use-module (gnu packages fltk) 83 #:use-module (gnu packages fltk)
80 #:use-module (gnu packages fonts) 84 #:use-module (gnu packages fonts)
81 #:use-module (gnu packages fontutils) 85 #:use-module (gnu packages fontutils)
@@ -296,6 +300,67 @@ conversions (for example, from PPM to Doom picture format). In addition,
296DeuTex has functions such as merging wads, etc.") 300DeuTex has functions such as merging wads, etc.")
297 (license license:gpl2+))) 301 (license license:gpl2+)))
298 302
303(define-public go-github-com-veandco-go-sdl2
304 (package
305 (name "go-github-com-veandco-go-sdl2")
306 (version "0.4.40")
307 (source
308 (origin
309 (method git-fetch)
310 (uri (git-reference
311 (url "https://github.com/veandco/go-sdl2")
312 (commit (string-append "v" version))))
313 (file-name (git-file-name name version))
314 (sha256
315 (base32 "0wi74j32dj5bzlp85v2qlhxn03p9p3500vxmm3d2wj656nwjw3cg"))))
316 (build-system go-build-system)
317 (arguments
318 (list
319 #:skip-build? #t
320 #:import-path "github.com/veandco/go-sdl2"
321 #:test-flags
322 #~(list "-skip" (string-join
323 (list
324 ;; QuitSubSystem(32): subsystem still initialized.
325 "TestInitQuit"
326 ;; Field not found "lockData" and type size mismatch.
327 "TestStructABI"
328 ;; Parameter 'src' is invalid.
329 "TestSurface"
330 ;; Test examples is provided as git submodule
331 ;; <https://github.com/veandco/go-sdl2-examples>.
332 "TestTTF")
333 "|"))
334 #:phases
335 #~(modify-phases %standard-phases
336 (add-after 'unpack 'patch-sdl-wrapper-headers
337 (lambda* (#:key import-path #:allow-other-keys)
338 (with-directory-excursion (string-append "src/" import-path)
339 (substitute* (find-files "." "\\.h")
340 (("<SDL_image.h>") "<SDL2/SDL_image.h>")
341 (("<SDL_mixer.h>") "<SDL2/SDL_mixer.h>")
342 (("<SDL_ttf.h>") "<SDL2/SDL_ttf.h>")))))
343 (add-before 'check 'pre-check
344 (lambda _
345 (setenv "HOME" "/tmp")
346 (setenv "XDG_RUNTIME_DIR" (getcwd)))))))
347 (native-inputs
348 (list pkg-config))
349 (propagated-inputs
350 (list go-github-com-golang-freetype
351 sdl2
352 sdl2-gfx
353 sdl2-image
354 sdl2-mixer
355 sdl2-ttf))
356 (home-page "https://github.com/veandco/go-sdl2")
357 (synopsis "SDL2 binding for Go")
358 (description
359 "@code{go-sdl2} is SDL2 wrapped for Go users. It enables
360interoperability between Go and the SDL2 library which is written in C. That
361means the original SDL2 installation is required for this to work.")
362 (license license:bsd-3)))
363
299(define-public grfcodec 364(define-public grfcodec
300 ;; Latest release 6.0.6 requires an older boost and does not build with our 365 ;; Latest release 6.0.6 requires an older boost and does not build with our
301 ;; newer GCC. 366 ;; newer GCC.