diff mbox series

[bug#67019,04/16] gnu: Add ocaml-wtf8.

Message ID 065050593a0d2dc5d2743ed0b8f1af728f9bc18f.1699540553.git.philip@philipmcgrath.com
State New
Headers show
Series gnu: Add KaTeX, lessc, and flow-remove-types. | expand

Commit Message

Philip McGrath Nov. 9, 2023, 4:26 p.m. UTC
* gnu/packages/ocaml.scm (ocaml-wtf8): New variable.
---
 gnu/packages/ocaml.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
diff mbox series

Patch

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 7993dbaa73..50b0d1ddb7 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -29,6 +29,7 @@ 
 ;;; Copyright © 2022 Garek Dyszel <garekdyszel@disroot.org>
 ;;; Copyright © 2023 Csepp <raingloom@riseup.net>
 ;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
+;;; Copyright © 2023 Philip McGrath <philip@philipmcgrath.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3655,6 +3656,30 @@  (define-public ocaml-uutf
 string values and to directly encode characters in OCaml Buffer.t values.")
     (license license:isc)))
 
+(define-public ocaml-wtf8
+  (package
+    (name "ocaml-wtf8")
+    (version "1.0.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/flow/ocaml-wtf8/releases/download/"
+                    "v" version "/wtf8-v" version ".tbz"))
+              (sha256
+               (base32
+                "09ygcxxd5warkdzz17rgpidrd0pg14cy2svvnvy1hna080lzg7vp"))))
+    (build-system dune-build-system)
+    (home-page "https://github.com/flow/ocaml-wtf8")
+    (synopsis "OCaml encoder and decoder for @acronym{WTF-8}")
+    (description
+     "This library provides an OCaml encoder and decoder for @acronym{WTF-8,
+Wobbly Transformation Format---8 bit}, a superset of UTF-8 that allows
+unpaired surrogates while preserving the other well-formedness constraints of
+UTF-8.  This format is useful for interoperating with systems that use
+potentially ill-formed UTF-16, notably including ECMAScript strings and
+Windows filesystems.")
+    (license license:expat)))
+
 (define-public ocaml-uunf
   (package
     (name "ocaml-uunf")