diff mbox series

[bug#52187] : gnu: Add cl-liballegro

Message ID CAO+9K5ra5yvmtZbih9HYj+jbjPOFRTPhkN_ThLDO1KEjqLgf4w@mail.gmail.com
State Accepted
Headers show
Series [bug#52187] : gnu: Add cl-liballegro | expand

Checks

Context Check Description
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Sharlatan Hellseher Nov. 29, 2021, 8:42 p.m. UTC
Hi Guix team,

I would like to add some more game development wrappers in Common
Lisp, where is the best place to keep them?

There is a gnu/packages/game-development.scm which contains few
libraries, does it make sense to occumulate them there?


-- 
… наш разум - превосходная объяснительная машина которая способна
найти смысл почти в чем угодно, истолковать любой феномен, но
совершенно не в состоянии принять мысль о непредсказуемости.

Comments

Guillaume Le Vaillant Dec. 1, 2021, 8:45 a.m. UTC | #1
Sharlatan Hellseher <sharlatanus@gmail.com> skribis:

> Hi Guix team,
>
> I would like to add some more game development wrappers in Common
> Lisp, where is the best place to keep them?
>
> There is a gnu/packages/game-development.scm which contains few
> libraries, does it make sense to occumulate them there?

So far we put CL libraries in the lisp-xyz module, and CL programs
in the most suitable module.

Patch pushed as 4beb013c84cd44a2e6dc03a2697615c660985f4a.
Thanks.
diff mbox series

Patch

From fdc5b1ad6a2a24751a3bf63a538fed614e081183 Mon Sep 17 00:00:00 2001
From: Sharlatan Hellseher <sharlatanus@gmail.com>
Date: Mon, 29 Nov 2021 20:28:03 +0000
Subject: [PATCH] gnu: Add cl-liballegro

* gnu/packages/lisp-xyz.scm: (sbcl-cl-liballegro, ecl-cl-liballegro,
cl-liballegro): New variables.
---
 gnu/packages/lisp-xyz.scm | 46 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 6ddc13e951..c71858ac10 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -69,6 +69,7 @@  (define-module (gnu packages lisp-xyz)
   #:use-module (gnu packages file)
   #:use-module (gnu packages fonts)
   #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages game-development)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
@@ -17742,6 +17743,51 @@  (define-public ecl-trial
 (define-public cl-trial
   (sbcl-package->cl-source-package sbcl-trial))
 
+(define-public sbcl-cl-liballegro
+  (let ((commit "49f632ce97fc4f835bf5d450588793234b980a64")
+        (revision "1"))
+    (package
+      (name "sbcl-cl-liballegro")
+      (version (git-version "0.2.15" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/resttime/cl-liballegro")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0brbr7i342s0gadlnzd3a61w2b9ihhx60l19ararnc2asvyhmz7x"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'patch-allegro-lib-path
+                      (lambda* (#:key inputs #:allow-other-keys)
+                        (let ((allegro-lib-path (string-append
+                       (assoc-ref inputs "allegro") "/lib/")))
+                 (substitute* "src/library.lisp"
+                   (("lib \".so\"" all)
+                    (string-append "\"" allegro-lib-path "\"" " lib \".so\"")))))))))
+      (inputs
+       `(("allegro" ,allegro)
+         ("cffi" ,sbcl-cffi)
+         ("float-features" ,sbcl-float-features)
+         ("trivial-garbage" ,sbcl-trivial-garbage)
+         ("trivial-main-thread" ,sbcl-trivial-main-thread)))
+      (home-page "https://github.com/resttime/cl-liballegro")
+      (synopsis "Allegro 5 game programming library bindings for Common Lisp")
+      (description
+       "This package provides CFFI bindings and interface to Allegro 5 game
+developing library for Common Lisp.")
+      (license license:zlib))))
+
+(define-public ecl-cl-liballegro
+  (sbcl-package->ecl-package sbcl-cl-liballegro))
+
+(define-public cl-liballegro
+  (sbcl-package->cl-source-package sbcl-cl-liballegro))
+
 (define-public sbcl-alloy
   (let ((commit "e86e22c2887836ec31cd97e039f0bca5248d8f1c")
         (revision "1"))
-- 
2.34.0