summary refs log tree commit diff
path: root/gnu/packages/tex.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-03-31 14:48:07 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-05-12 12:45:23 -0400
commit92f573f63aadb597031c991adfffe1031e393f89 (patch)
treec00a6bf912795321bd8c4c30a983b44b55d9bac3 /gnu/packages/tex.scm
parentfba5c0ca313d52947f872ebe4ed6612ef3e4c077 (diff)
downloadguix-92f573f63aadb597031c991adfffe1031e393f89.tar.gz
gnu: Add texlive-makecmds.
* gnu/packages/tex.scm (texlive-makecmds): New variable.
Diffstat (limited to 'gnu/packages/tex.scm')
-rw-r--r--gnu/packages/tex.scm44
1 files changed, 44 insertions, 0 deletions
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index dea153643d..40390e9970 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -5417,6 +5417,50 @@ which adds some minor changes to LaTeX maths; a rewrite of LaTeX's tabular and
 array environments; verbatim handling; and syntax diagrams.")
     (license license:gpl3+)))
 
+(define-public texlive-makecmds
+  (package
+    (inherit (simple-texlive-package
+              "texlive-makecmds"
+              (list "doc/latex/makecmds/README"
+                    "source/latex/makecmds/makecmds.dtx"
+                    "source/latex/makecmds/makecmds.ins")
+              (base32 "0znx80x6ic7a25v9dw8yjibq7lx65wangcyii18kk5x5z4jljba9")))
+    (outputs '("out" "doc"))
+    (arguments
+     (list
+      #:tex-directory "latex/makecmds"
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'build 'chdir
+            (lambda _
+              (setenv "ROOT_DIR" (getcwd))
+              (chdir "source/latex/makecmds")))
+          (add-after 'build 'build-doc
+            (lambda _
+              (copy-file "makecmds.dtx" "build/makecmds.dtx")
+              (chdir "build")
+              (invoke "pdflatex" "makecmds.dtx"))) ;generate makecmds.pdf
+          (replace 'install
+            (lambda* (#:key outputs tex-directory #:allow-other-keys)
+              (let ((doc (string-append (assoc-ref outputs "doc")
+                                        "/share/doc/" tex-directory))
+                    (out (string-append #$output "/share/texmf-dist/tex/"
+                                        tex-directory)))
+                (install-file "makecmds.pdf" doc)
+                (install-file (car (find-files (getenv "ROOT_DIR") "README"))
+                              doc)
+                (install-file "makecmds.sty" out)))))))
+    (native-inputs (list (texlive-updmap.cfg
+                          (list texlive-amsfonts
+                                texlive-cm))))
+    (home-page "https://www.ctan.org/pkg/makecmds")
+    (synopsis "TeX macro to define or redefine a command")
+    (description "The package provides a @code{\\makecommand} command, which
+is like @code{\\newcommand} or @code{\\renewcommand} except it
+always (re)defines a command.  There is also @code{\\makeenvironment} and
+@code{\\provideenvironment} for environments.")
+    (license license:lppl1.3c+)))
+
 (define-public texlive-metalogo
   (package
     (inherit (simple-texlive-package