Subject: [bug#71914] [PATCH 04/10] gnu: Add rust-ammonia-4.

From: Nguyễn Gia Phong <[email-masked]>
Date: Wed, 3 Jul 2024 16:57:55 +0900

* gnu/packages/crates-web.scm (rust-ammonia-4): New variable.

Change-Id: Ibe8921d7119c5c75959f50c427d2d11024f30b88
---
 gnu/packages/crates-web.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-web.scm b/gnu/packages/crates-web.scm
index 60c735efa76b..2d5a4a56e59f 100644
--- a/gnu/packages/crates-web.scm
+++ b/gnu/packages/crates-web.scm
@@ -9,6 +9,7 @@
 ;;; Copyright © 2023 VÖRÖSKŐI András <[email-masked]>
 ;;; Copyright © 2024 Wilko Meyer <[email-masked]>
 ;;; Copyright © 2024 Tomas Volf <[email-masked]>
+;;; Copyright © 2024 Nguyễn Gia Phong <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1490,6 +1491,34 @@ (define-public rust-actix-web-codegen-0.1
     (inputs
      (list openssl))))
 
+(define-public rust-ammonia-4
+  (package
+    (name "rust-ammonia")
+    (version "4.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ammonia" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0nd432yg1cl9kj4i9c37a9hvwffayqh6zsvb4fmh31g5bsp9xf8s"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("html5ever" ,rust-html5ever-0.27)
+                       ("maplit" ,rust-maplit-1)
+                       ("tendril" ,rust-tendril-0.4)
+                       ("url" ,rust-url-2)
+                       ("once_cell" ,rust-once-cell-1))
+       #:cargo-development-inputs (("version-sync" ,rust-version-sync-0.9)
+                                   ("env_logger" ,rust-env-logger-0.10))))
+    (home-page "https://github.com/rust-ammonia/ammonia")
+    (synopsis "Repair and secure untrusted HTML")
+    (description "Ammonia is a whitelist-based HTML sanitization library.
+It is designed to prevent cross-site scripting, layout breaking,
+and clickjacking caused by untrusted user-provided HTML
+being mixed into a larger web page.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-async-h1-2
   (package
     (name "rust-async-h1")
-- 
2.45.2