summary refs log tree commit diff
path: root/gnu
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
parentd2a93264c322b45d4dd61cf64f51ea5f4e58bb8c (diff)
downloadguix-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')
-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))