Subject: [bug#56759] [PATCH 04/20] gnu: Add ruby-ritex.

From: Philip McGrath <[email-masked]>
Date: Mon, 25 Jul 2022 08:16:19 -0400

* gnu/packages/ruby.scm (ruby-ritex): New variable.
---
 gnu/packages/ruby.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 2f47d898db..746bb9b6ce 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13069,3 +13069,45 @@ (define-public ruby-namae
 of various cultural backgrounds and tries to split them into their component
 parts (e.g., given and family names, honorifics etc.).")
     (license (list license:bsd-2 license:agpl3+))))
+
+(define-public ruby-ritex
+  (package
+    (name "ruby-ritex")
+    (version "1.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "ritex" version))
+              (sha256
+               (base32
+                "07rlm3nyz9sxzy1srxs6a31hw81r6w7swrb85fiwi393z8npwc3a"))))
+    (build-system ruby-build-system)
+    (native-inputs
+     (list itex2mml))
+    (arguments
+     ;; thanks to the Gentoo packagers for figuring this out
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'extract-gemspec 'fix-tests
+            (lambda* (#:key native-inputs inputs #:allow-other-keys)
+              (substitute* "test/mathml.rb"
+                (("\\./itex2MML")
+                 ;; don't use the absolute path to avoid keeping a reference
+                 "itex2MML")
+                (("cmp ',\\\\,\\\\,,,\\\\,'" orig)
+                 (string-append "# " orig " # patched for Guix")))
+              (substitute* "test/answer-key.yaml"
+                (("- ,\\\\,\\\\,,,\\\\," orig)
+                 (string-append "# " orig " # patched for Guix")))))
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "ruby" "-Ilib:." "test/all.rb")))))))
+    (home-page "https://rubygems.org/gems/ritex")
+    (synopsis "Convert expressions from WebTeX into MathML")
+    (description
+     "Ritex converts expressions from WebTeX into MathML.  WebTeX is an
+adaptation of TeX math syntax for web display.  Ritex makes inserting math
+into HTML pages easy.  It supports most TeX math syntax as well as macros.")
+    ;; doesn't clearly state -only vs -or-later
+    (license license:gpl2)))
-- 
2.32.0