diff options
author | Jacob MacDonald <jaccarmac@gmail.com> | 2021-12-13 12:10:07 -0600 |
---|---|---|
committer | Guillaume Le Vaillant <glv@posteo.net> | 2021-12-16 11:02:25 +0100 |
commit | d1269c65d3ab36bd9a9a10af5eb085b92f710280 (patch) | |
tree | 2c9aeb4efd65d3506a443762c1772d38f7d55a41 | |
parent | abd2aed92681594251f11cf65db813767c9552af (diff) |
gnu: Add cl-random-state.
* gnu/packages/lisp-xyz.scm (sbcl-random-state, cl-random-state,
ecl-random-state): New variables.
Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
-rw-r--r-- | gnu/packages/lisp-xyz.scm | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 4120e551ba..77f8defb6f 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -20030,3 +20030,42 @@ parsers.") (define-public ecl-maxpc (sbcl-package->ecl-package sbcl-maxpc)) + +(define-public sbcl-random-state + (let ((commit "c270d4f15e0b66ba9680ca8734a5de56959cb118") + (revision "1")) + (package + (name "sbcl-random-state") + (version (git-version "0.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shinmera/random-state") + (commit commit))) + (file-name (git-file-name "cl-random-state" version)) + (sha256 + (base32 "0r3bk6hqpr0qmpza93pknl8wpsd6y0yy9qg7vz751a7gzzww9vj6")))) + (build-system asdf-build-system/sbcl) + (inputs + (list sbcl-documentation-utils)) + (home-page "https://shinmera.github.io/random-state/") + (synopsis "Portable random number generation") + (description + "This library is a collection of @dfn{pseudo random number generators}. + +While Common Lisp does provide a @code{RANDOM} function, it does not allow the +user to pass an explicit @code{SEED}, nor to portably exchange the random +state between implementations. This can be a headache in cases like games, +where a controlled seeding process can be very useful. + +For both curiosity and convenience, this library offers multiple algorithms to +generate random numbers, as well as a bunch of generally useful methods to +produce desired ranges.") + (license license:zlib)))) + +(define-public cl-random-state + (sbcl-package->cl-source-package sbcl-random-state)) + +(define-public ecl-random-state + (sbcl-package->ecl-package sbcl-random-state)) |