summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/tex.scm55
1 files changed, 40 insertions, 15 deletions
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 69d7cc82ab..540ad5b490 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -3464,7 +3464,7 @@ XML, using UTF-8 or a suitable 8-bit encoding.")
              texlive-infwarerr
              texlive-intcalc
              texlive-kvdefinekeys
-             texlive-generic-kvsetkeys
+             texlive-kvsetkeys
              texlive-generic-ltxcmds
              texlive-generic-pdfescape
              texlive-latex-auxhook
@@ -5853,7 +5853,7 @@ in SGML; use maths minus in text as appropriate; simple Young tableaux.")
                "02i4n2n3j4lg68d3nam08m63kb4irc99wfhyc2z51r02lm1wwmvw")
               #:trivial? #t))
     (propagated-inputs
-     (list texlive-generic-kvsetkeys texlive-generic-ltxcmds))
+     (list texlive-kvsetkeys texlive-generic-ltxcmds))
     (home-page "https://www.ctan.org/pkg/kvoptions")
     (synopsis "Key/value format for package options")
     (description
@@ -8373,22 +8373,47 @@ keyval’s @code{\\define@@key}, to define keys for use by @code{kvsetkeys}.")
 
 (define-deprecated-package texlive-generic-kvdefinekeys texlive-kvdefinekeys)
 
-(define-public texlive-generic-kvsetkeys
-  (package
-    (inherit (simple-texlive-package
-              "texlive-generic-kvsetkeys"
-              '("/tex/generic/kvsetkeys/")
-              (base32
-               "149vpmv4vms269dzq4sghlngg380sasvxnb3sx9rfs7d9j0finvi")
-              #:trivial? #t))
-    (home-page "https://www.ctan.org/pkg/kvsetkeys")
-    (synopsis "Key value parser with default handler support")
-    (description
-     "This package provides @code{\\kvsetkeys}, a variant of @code{\\setkeys}
+(define-public texlive-kvsetkeys
+  (let ((template (simple-texlive-package
+                   "texlive-kvsetkeys"
+                   (list "doc/latex/kvsetkeys/"
+                         "source/latex/kvsetkeys/"
+                         "tex/generic/kvsetkeys/")
+                   (base32
+                    "0b2f2r49vi8x54qshm1h9sh8zhdmy0mc2y44yd05kcmmbiiq7hfz"))))
+    (package
+      (inherit template)
+      (outputs '("out" "doc"))
+      (arguments
+       (substitute-keyword-arguments (package-arguments template)
+         ((#:tex-directory _ '())
+          "generic/kvsetkeys")
+         ((#:build-targets _ '())
+          #~(list "kvsetkeys.dtx"))
+         ((#:phases phases)
+          #~(modify-phases #$phases
+              (add-after 'unpack 'chdir
+                (lambda _
+                  (chdir "source/latex/kvsetkeys")))
+              (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))))))))
+      (home-page "https://www.ctan.org/pkg/kvsetkeys")
+      (synopsis "Key value parser with default handler support")
+      (description
+       "This package provides @code{\\kvsetkeys}, a variant of @code{\\setkeys}
 from the @code{keyval} package.  Users can specify a handler that deals with
 unknown options.  Active commas and equal signs may be used, and only one
 level of curly braces are removed from the values.")
-    (license license:lppl1.3c+)))
+      (license license:lppl1.3c+))))
+
+(define-deprecated-package texlive-generic-kvsetkeys texlive-kvsetkeys)
 
 (define-public texlive-generic-listofitems
   (package