Subject: [PATCH v2 2/2] gnu: Add texlive-halloweenmath.

From: Nicolas Goaziou <[email-masked]>
Date: Tue, 21 Mar 2023 22:36:13 +0100

* gnu/packages/tex.scm (texlive-halloweenmath): New variable.
---
 gnu/packages/tex.scm | 54 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 89f5ba2942..4b07c8fe1a 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -1620,6 +1620,60 @@ (define-public texlive-tex-plain
 discussed in the book).")
     (license license:knuth)))
 
+(define-public texlive-halloweenmath
+  (let ((template (simple-texlive-package
+                   "texlive-halloweenmath"
+                   (list "doc/latex/halloweenmath/"
+                         "source/latex/halloweenmath/"
+                         "tex/latex/halloweenmath/")
+                   (base32
+                    "1xq72k1p820b5q3haxf936g69p6gv34hr30870l96jnxa3ad7y05"))))
+    (package
+      (inherit template)
+      (outputs '("out" "doc"))
+      (arguments
+       (substitute-keyword-arguments (package-arguments template)
+         ((#:tex-directory _ #t) "latex/halloweenmath")
+         ((#:build-targets _ '()) '(list "halloweenmath.ins"))
+         ((#:phases phases)
+          #~(modify-phases #$phases
+              (add-after 'unpack 'chdir
+                (lambda _ (chdir "source/latex/halloweenmath/")))
+              (add-after 'chdir 'non-interactive-build
+                ;; When it realizes it cannot employ the usedir directive, the
+                ;; build process stops and waits for an input before inserting
+                ;; generated files in the working directory.  Do not ask for
+                ;; an input.
+                (lambda _
+                  (substitute* "halloweenmath.ins"
+                    (("\\Ask.*") "")
+                    (("\\(your .*? will be ignored\\).*") ""))))
+              (replace 'copy-files
+                (lambda* (#:key inputs #:allow-other-keys)
+                  (let ((origin (assoc-ref inputs "source"))
+                        (source (string-append #$output
+                                               "/share/texmf-dist/source"))
+                        (doc (string-append #$output:doc
+                                            "/share/texmf-dist/doc")))
+                    (copy-recursively (string-append origin "/source") source)
+                    (copy-recursively (string-append origin "/doc") doc))))))))
+      (native-inputs
+       (list texlive-bin
+             texlive-kpathsea
+             (texlive-updmap.cfg)))     ;for psfonts.map
+      (propagated-inputs
+       (list texlive-amsmath texlive-pict2e))
+      (home-page "https://ctan.org/pkg/halloweenmath")
+      (synopsis "Scary and creepy math symbols with AMS-LaTeX integration")
+      (description
+       "The package defines a handful of commands for typesetting mathematical
+symbols of various kinds, ranging from large operators to extensible
+arrow-like relations and growing arrow-like math accents that all draw from
+the classic Halloween-related iconography (pumpkins, witches, ghosts, cats,
+and so on) while being, at the same time, seamlessly integrated within the
+rest of the mathematics produced by (AmS-)LaTeX.")
+      (license license:lppl1.3+))))
+
 (define-public texlive-hardwrap
   (package
     (inherit (simple-texlive-package
-- 
2.39.2