summaryrefslogtreecommitdiff
path: root/gnu/packages/lisp.scm
diff options
context:
space:
mode:
authorPierre Neidhardt <mail@ambrevar.xyz>2019-05-29 15:21:23 +0200
committerPierre Neidhardt <mail@ambrevar.xyz>2019-06-26 13:02:28 +0200
commitccba380a60e39972548db93c86f3b429e1daaf1a (patch)
tree572849b5e8cfddf97ce87f7844f3b3762b673be0 /gnu/packages/lisp.scm
parentd2a93264c322b45d4dd61cf64f51ea5f4e58bb8c (diff)
downloadguix-patches-ccba380a60e39972548db93c86f3b429e1daaf1a.tar
guix-patches-ccba380a60e39972548db93c86f3b429e1daaf1a.tar.gz
gnu: Add swap-bytes.
* gnu/packages/lisp.scm (cl-swap-bytes, ecl-swap-bytes, sbcl-swap-bytes): New variables.
Diffstat (limited to 'gnu/packages/lisp.scm')
-rw-r--r--gnu/packages/lisp.scm36
1 files changed, 36 insertions, 0 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 48c678bd44..5418817005 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -5692,3 +5692,39 @@ decoding routines for IDNA, the International Domain Names in Applications.")
(define-public ecl-idna
(sbcl-package->ecl-package sbcl-idna))
+
+(define-public sbcl-swap-bytes
+ (package
+ (name "sbcl-swap-bytes")
+ (build-system asdf-build-system/sbcl)
+ (version "1.1")
+ (home-page "https://github.com/sionescu/swap-bytes")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1qysbv0jngdfkv53y874qjhcxc4qi8ixaqq6j8bzxh5z0931wv55"))))
+ (inputs
+ `(("trivial-features" ,sbcl-trivial-features)))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (arguments
+ ;; TODO: Tests fail, why?
+ `(#:tests? #f))
+ (synopsis "Efficient endianness conversion for Common Lisp")
+ (description "This Common Lisp library provides optimized byte-swapping
+primitives. The library can change endianness of unsigned integers of length
+1/2/4/8. Very useful in implementing various network protocols and file
+formats.")
+ (license license:expat)))
+
+(define-public cl-swap-bytes
+ (sbcl-package->cl-source-package sbcl-swap-bytes))
+
+(define-public ecl-swap-bytes
+ (sbcl-package->ecl-package sbcl-swap-bytes))