summaryrefslogtreecommitdiff
path: root/gnu/packages/lisp-xyz.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/lisp-xyz.scm')
-rw-r--r--gnu/packages/lisp-xyz.scm151
1 files changed, 151 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index cde879f210..27312cb369 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -7095,6 +7095,46 @@ the return type of a function.")
;; The tests get stuck indefinitly
'(#:tests? #f))))
+(define-public sbcl-simplified-types
+ (let ((commit "8fd0727a70a9de76289ac62c1567b8d278e7434e")
+ (revision "0"))
+ (package
+ (name "sbcl-simplified-types")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/marcoheisig/simplified-types")
+ (commit commit)))
+ (file-name (git-file-name "cl-simplified-types" version))
+ (sha256
+ (base32 "1hdwmn5lz717aj6qdqmfmr3cbjl8l3giwn0fb5ca9pj83cx7fg8y"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ (list sbcl-alexandria
+ sbcl-introspect-environment
+ sbcl-trivia))
+ (home-page "https://github.com/marcoheisig/simplified-types")
+ (synopsis "Simplify Common Lisp type specifiers")
+ (description
+ "Simplified-Types is a library that provides functions for simplifying
+Common Lisp type specifiers. The API consists of two functions:
+
+@itemize
+@item @code{simplify-type} takes a type specifier and, optionally, an
+environment, and returns the corresponding simplified type.
+@item @code{simplified-type-of} takes an object and returns the simplified
+type of that object.
+@end itemize")
+ (license license:expat))))
+
+(define-public cl-simplified-types
+ (sbcl-package->cl-source-package sbcl-simplified-types))
+
+(define-public ecl-simplified-types
+ (sbcl-package->ecl-package sbcl-simplified-types))
+
(define-public sbcl-typo
(let ((commit "0e883490f81edf2a1be4e5b101d1caec78d7853b")
(revision "0"))
@@ -19164,6 +19204,77 @@ fit together as required by any particular game.")
(define-public cl-trial
(sbcl-package->cl-source-package sbcl-trial))
+(define-public sbcl-virality
+ (package
+ (name "sbcl-virality")
+ (version "0.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bufferswap/ViralityEngine")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "cl-virality" version))
+ (sha256
+ (base32 "0hvjcvyd628jh4if6swk1wrfb9qdlnpk9ax1y3jarr8ms7ghfcdb"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:asd-systems '("virality"
+ "vorigin"
+ "vorigin.test"
+ "vshadow"
+ "vumbra"
+ "vutils")
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'delete-examples
+ (lambda _
+ ;; Don't install the big "examples" directory.
+ (delete-file-recursively "examples"))))))
+ (inputs
+ (list sbcl-3b-bmfont
+ sbcl-babel
+ sbcl-cl-cpus
+ sbcl-cl-graph
+ sbcl-cl-opengl
+ sbcl-cl-ppcre
+ sbcl-cl-slug
+ sbcl-closer-mop
+ sbcl-fast-io
+ sbcl-global-vars
+ sbcl-glsl-packing
+ sbcl-jsown
+ sbcl-lparallel
+ sbcl-pngload
+ sbcl-printv
+ sbcl-queues
+ sbcl-sdl2
+ sbcl-serapeum
+ sbcl-split-sequence
+ sbcl-static-vectors
+ sbcl-trivial-features
+ sbcl-varjo))
+ (home-page "https://github.com/bufferswap/ViralityEngine")
+ (synopsis "Component-based game engine written in Common Lisp")
+ (description
+ "Virality Engine provides a system and workflow that helps describe the
+elements needed to write 2D or 3D games. It was designed with several domain
+specific languages that make it easier to describe, manipulate, and use assets
+commonly found in game making. Such assets include (but are not limited to)
+textures, materials, shader programs, and scene trees of actors that are
+available for instantiation. Virality Engine also knows how to accept input
+from keyboards and most joysticks and gamepads.
+
+The component system is a hybrid model between an ECS and an object model. The
+components are defined similar to CLOS defclass, and regular generic methods
+can be used with them. Components are added to Actors which represent game
+concepts like players, scenery, effects, etc. We define a component protocol
+invoked by Virality Engine to move your components to the next state and
+render them each frame.")
+ (license license:expat)))
+
+(define-public cl-virality
+ (sbcl-package->cl-source-package sbcl-virality))
+
(define-public sbcl-cl-liballegro
(let ((commit "49f632ce97fc4f835bf5d450588793234b980a64")
(revision "1"))
@@ -20364,6 +20475,46 @@ configuration file format.")
(define-public ecl-clop
(sbcl-package->ecl-package sbcl-clop))
+(define-public sbcl-pp-toml
+ (let ((commit "54f7d08c939d18b24363342c98c19b6812d7afb9")
+ (revision "0"))
+ (package
+ (name "sbcl-pp-toml")
+ (version (git-version "1.0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pnathan/pp-toml")
+ (commit commit)))
+ (file-name (git-file-name "cl-pp-toml" version))
+ (sha256
+ (base32 "136d7jzz7l2ck9wwld0ac46jmpm94lvja6m50sy73s232slka2hg"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ (list sbcl-fiveam))
+ (inputs
+ (list sbcl-alexandria
+ sbcl-cl-ppcre
+ sbcl-esrap
+ sbcl-generic-comparability
+ sbcl-local-time
+ sbcl-parse-number
+ sbcl-split-sequence))
+ (home-page "https://github.com/pnathan/pp-toml")
+ (synopsis "TOML parser for Common Lisp")
+ (description
+ "PP-TOML is a Common Lisp library for parsing strings in the TOML
+configuration file format. It implements only the 0.1.0 specification of
+TOML.")
+ (license license:llgpl))))
+
+(define-public cl-pp-toml
+ (sbcl-package->cl-source-package sbcl-pp-toml))
+
+(define-public ecl-pp-toml
+ (sbcl-package->ecl-package sbcl-pp-toml))
+
(define-public sbcl-linedit
(let ((commit "0561c97dfca2f5854fcc66558a567a9875ddcb8f")
(revision "1"))