summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2024-05-27 18:46:41 +0200
committerChristopher Baines <mail@cbaines.net>2024-06-29 12:13:07 +0100
commit5dc808aa1ab682e48e07d1fc5bc06126f2474aa1 (patch)
treecebd94cc700eaf2fe1e11183f5c6b2f2ad096d46 /gnu
parenta7ac67b58dd09a356fc67a9660af864759ff1958 (diff)
gnu: Add texlive-dvipdfmx-bin.
* gnu/packages/tex.scm (texlive-dvipdfmx-bin): New variable. (texlive-dvipdfmx)[propagated-inputs]: Add TEXLIVE-DVIPDFMX-BIN. Change-Id: I189a1561dd19613775b8c2e4422ffceeb5f2f27a
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/tex.scm93
1 files changed, 92 insertions, 1 deletions
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index b641ae16f2..4fbc7e604e 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -38474,7 +38474,7 @@ TeX tree.")
;; This map file is supposed to be generated in a profile hook.
(lambda _
(delete-file "fonts/map/dvipdfmx/updmap/kanjix.map"))))))
- (propagated-inputs (list texlive-glyphlist))
+ (propagated-inputs (list texlive-glyphlist texlive-dvipdfmx-bin))
(home-page "https://ctan.org/pkg/dvipdfmx")
(synopsis "Extended version of dvipdfm")
(description
@@ -38486,6 +38486,97 @@ executable. A secondary design goal is to support as many PDF features as
does pdfTeX.")
(license license:gpl3+)))
+(define-public texlive-dvipdfmx-bin
+ (package
+ (inherit texlive-bin)
+ (name "texlive-dvipdfmx-bin")
+ (source
+ (origin
+ (inherit texlive-source)
+ (modules '((guix build utils)
+ (ice-9 ftw)))
+ (snippet
+ #~(let ((delete-other-directories
+ (lambda (root dirs)
+ (with-directory-excursion root
+ (for-each
+ delete-file-recursively
+ (scandir "."
+ (lambda (file)
+ (and (not (member file (append '("." "..") dirs)))
+ (eq? 'directory (stat:type (stat file)))))))))))
+ (delete-other-directories "libs" '())
+ (delete-other-directories "utils" '())
+ (delete-other-directories "texk" '("dvipdfm-x"))))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments texlive-bin)
+ ((#:configure-flags flags)
+ #~(cons "--enable-dvipdfm-x" (delete "--enable-web2c" #$flags)))
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "texk/dvipdfm-x"
+ (invoke "make" "check")))))
+ (replace 'install
+ (lambda _
+ (with-directory-excursion "texk/dvipdfm-x"
+ (invoke "make" "install"))))))))
+ (native-inputs (list pkg-config))
+ (inputs (list libpaper libpng texlive-libkpathsea))
+ (propagated-inputs '())
+ (home-page (package-home-page texlive-dvipdfmx))
+ (synopsis "Binaries for @code{texlive-dvipdfmx}")
+ (description
+ "This package provides the binaries for @code{texlive-dvipdfmx}.")
+ (license (package-license texlive-dvipdfmx))))
+
+(define texlive-dvips-bin
+ (package
+ (inherit texlive-bin)
+ (name "texlive-dvips-bin")
+ (source
+ (origin
+ (inherit texlive-source)
+ (modules '((guix build utils)
+ (ice-9 ftw)))
+ (snippet
+ #~(let ((delete-other-directories
+ (lambda (root dirs)
+ (with-directory-excursion root
+ (for-each
+ delete-file-recursively
+ (scandir "."
+ (lambda (file)
+ (and (not (member file (append '("." "..") dirs)))
+ (eq? 'directory (stat:type (stat file)))))))))))
+ (delete-other-directories "libs" '())
+ (delete-other-directories "utils" '())
+ ;; XXX: One test needs "texmf.cnf" file to be present in the tree.
+ (delete-other-directories "texk" '("dvipsk" "kpathsea" "tests"))
+ (with-directory-excursion "texk/kpathsea"
+ (for-each
+ delete-file-recursively
+ (scandir "." (lambda (f)
+ (not (member f '("." ".." "texmf.cnf")))))))))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments texlive-bin)
+ ((#:configure-flags flags)
+ #~(cons* "--enable-dvipsk" (delete "--enable-web2c" #$flags)))
+ ((#:phases _)
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "texk/dvipsk"
+ (invoke "make" "check")))))
+ (replace 'install
+ (lambda _
+ (with-directory-excursion "texk/dvipsk"
+ (invoke "make" "install"))))))))
+ (inputs '())))
+
(define-public texlive-dvips
(package
(name "texlive-dvips")