summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorBruno Victal <mirai@makinata.eu>2023-10-09 21:06:09 +0100
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-10-10 21:10:57 -0400
commite5edd17dee64544798ed566ad0b91ccaddf19d99 (patch)
tree64e743f0b89628086725cde75a0e088158890384 /gnu
parentc9db398a3884202e0d94dee4ab850d5dd6f2860d (diff)
gnu: dblatex: Fix missing texlive binaries and fig2dev.
The binaries for dblatex aren't provided by texlive-updmap.cfg but by texlive-bin. * gnu/packages/patches/dblatex-inkscape-1.0.patch: New file. * gnu/local.mk: Register it. * gnu/packages/docbook.scm (dblatex)[source]: Use dblatex-inkscape-1.0.patch. [arguments]<#:tests?>: Enable tests. <#:phases>: Rename 'set-path to 'wrap-dblatex. Wrap with texlive-bin rather than texlive-updmap.cfg in PATH and wrap GUIX_TEXMF in 'wrap-dblatex. Add 'check-wrap phase. [native-inputs]: Add docbook-mathml-1.0. [inputs]: Restyle. Add texlive-bin. Replace inkscape/stable with inkscape. Within texlive-updmap.cfg add previously missing: texlive-amsmath, texlive-auxhook, texlive-bigintcalc, texlive-bin, texlive-bitset, texlive-bookmark, texlive-colortbl, texlive-courier, texlive-eepic, texlive-epstopdf-pkg, texlive-eso-pic, texlive-etexcmds, texlive-fancyhdr, texlive-gettitlestring, texlive-graphics, texlive-graphics-cfg, texlive-helvetic, texlive-hycolor, texlive-hyperref, texlive-infwarerr, texlive-intcalc, texlive-kpathsea, texlive-kvdefinekeys, texlive-kvoptions, texlive-kvsetkeys, texlive-l3backend, texlive-latex, texlive-latex-bin, texlive-letltxmacro, texlive-ltxcmds, texlive-pdfescape, texlive-pdflscape, texlive-pdftexcmds, texlive-psnfss, texlive-rerunfilecheck, texlive-symbol, texlive-times, texlive-tools, texlive-uniquecounter, texlive-url and texlive-zapfding. Add fig2dev. (dblatex/stable)[inputs]: Replace inkscape with inkscape/stable. Co-authored-by: Nicolas Goaziou <mail@nicolasgoaziou.fr> Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk3
-rw-r--r--gnu/packages/docbook.scm118
-rw-r--r--gnu/packages/patches/dblatex-inkscape-1.0.patch39
3 files changed, 126 insertions, 34 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index d26a2e73b8..7a99b6d869 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1058,7 +1058,8 @@ dist_patch_DATA = \
%D%/packages/patches/date-output-pkg-config-files.patch \
%D%/packages/patches/datefudge-gettimeofday.patch \
%D%/packages/patches/dbacl-include-locale.h.patch \
- %D%/packages/patches/dbacl-icheck-multiple-definitions.patch \
+ %D%/packages/patches/dbacl-icheck-multiple-definitions.patch \
+ %D%/packages/patches/dblatex-inkscape-1.0.patch \
%D%/packages/patches/dbus-helper-search-path.patch \
%D%/packages/patches/dbus-c++-gcc-compat.patch \
%D%/packages/patches/dbus-c++-threading-mutex.patch \
diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm
index d8336c4f84..1cd85efbc1 100644
--- a/gnu/packages/docbook.scm
+++ b/gnu/packages/docbook.scm
@@ -51,7 +51,8 @@
#:use-module (guix git-download)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
- #:use-module (guix build-system python))
+ #:use-module (guix build-system python)
+ #:use-module (srfi srfi-26))
;; The fetch-plan, install-plan and phases for docbook-xml tend to vary
;; between releases therefore we use a “template” package for the
@@ -750,7 +751,9 @@ the in DocBook SGML DTDs.")
version ".tar.bz2"))
(sha256
(base32
- "0yd09nypswy3q4scri1dg7dr99d7gd6r2dwx0xm81l9f4y32gs0n"))))
+ "0yd09nypswy3q4scri1dg7dr99d7gd6r2dwx0xm81l9f4y32gs0n"))
+ (patches
+ (search-patches "dblatex-inkscape-1.0.patch"))))
(outputs '("out" "doc"))
(build-system python-build-system)
(arguments
@@ -772,41 +775,89 @@ the in DocBook SGML DTDs.")
(new (string-append #$output:doc "/share/doc")))
(mkdir-p (dirname new))
(rename-file old new))))
- (add-after 'wrap 'set-path
+ (add-after 'wrap 'wrap-dblatex
(lambda* (#:key inputs #:allow-other-keys)
- (let ((path (map (lambda (x)
- (string-append (assoc-ref inputs x)
- "/bin"))
- (list "libxslt"
- "imagemagick" "inkscape"
- "texlive-updmap.cfg"))))
+ (let ((path
+ (search-path-as-list
+ '("bin")
+ '#$(map (cut this-package-input <>)
+ (list "libxslt" "imagemagick" "inkscape"
+ "fig2dev" "texlive-bin")))))
;; dblatex executes helper programs at runtime.
(wrap-program (string-append #$output "/bin/dblatex")
- `("PATH" ":" prefix ,path))))))))
- ;; TODO: Add fig2dev for fig2dev utility.
+ `("PATH" ":" prefix ,path)
+ `("GUIX_TEXMF" prefix (,(getenv "GUIX_TEXMF")))))))
+ (add-after 'check 'check-wrap
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (unsetenv "GUIX_TEXMF")
+ (invoke/quiet (string-append #$output "/bin/dblatex")
+ "--quiet" "tests/mathml/mmltest2.xml")))))))
+ (native-inputs (list docbook-mathml-1.0))
(inputs
- (list (texlive-updmap.cfg (list texlive-anysize
- texlive-appendix
- texlive-changebar
- texlive-fancybox
- texlive-fancyvrb
- texlive-float
- texlive-footmisc
- texlive-jknapltx
- texlive-listings
- texlive-multirow
- texlive-overpic
- texlive-pdfpages
- texlive-refcount
- texlive-rsfs
- texlive-stmaryrd
- texlive-subfigure
- texlive-titlesec
- texlive-wasysym))
- ;; FIXME: transfig causes the build to fail.
- ;;transfig ;for fig2dev
+ (list texlive-bin
+ (texlive-updmap.cfg (list texlive-amsmath
+ texlive-anysize
+ texlive-appendix
+ texlive-auxhook
+ texlive-bigintcalc
+ texlive-bin
+ texlive-bitset
+ texlive-bookmark
+ texlive-changebar
+ texlive-colortbl
+ texlive-courier
+ texlive-eepic
+ texlive-epstopdf-pkg
+ texlive-eso-pic
+ texlive-etexcmds
+ texlive-fancybox
+ texlive-fancyhdr
+ texlive-fancyvrb
+ texlive-float
+ texlive-footmisc
+ texlive-gettitlestring
+ texlive-graphics
+ texlive-graphics-cfg
+ texlive-helvetic
+ texlive-hycolor
+ texlive-hyperref
+ texlive-infwarerr
+ texlive-intcalc
+ texlive-jknapltx
+ texlive-kpathsea
+ texlive-kvdefinekeys
+ texlive-kvoptions
+ texlive-kvsetkeys
+ texlive-l3backend
+ texlive-latex
+ texlive-latex-bin
+ texlive-letltxmacro
+ texlive-listings
+ texlive-ltxcmds
+ texlive-multirow
+ texlive-overpic
+ texlive-pdfescape
+ texlive-pdflscape
+ texlive-pdfpages
+ texlive-pdftexcmds
+ texlive-psnfss
+ texlive-refcount
+ texlive-rerunfilecheck
+ texlive-rsfs
+ texlive-stmaryrd
+ texlive-subfigure
+ texlive-symbol
+ texlive-times
+ texlive-titlesec
+ texlive-tools
+ texlive-uniquecounter
+ texlive-url
+ texlive-wasysym
+ texlive-zapfding))
+ fig2dev
imagemagick ;for convert
- inkscape/stable ;for svg conversion
+ inkscape ;for svg conversion
docbook-xml
libxslt)) ;for xsltproc
;; lib/dbtexmf/xslt/4xslt.py shows that this package
@@ -832,7 +883,8 @@ DB2LaTeX.")
(hidden-package
(package/inherit dblatex
(inputs (modify-inputs (package-inputs dblatex)
- (replace "imagemagick" imagemagick/stable))))))
+ (replace "imagemagick" imagemagick/stable)
+ (replace "inkscape" inkscape/stable))))))
(define-public docbook-utils
(package
diff --git a/gnu/packages/patches/dblatex-inkscape-1.0.patch b/gnu/packages/patches/dblatex-inkscape-1.0.patch
new file mode 100644
index 0000000000..634c99481a
--- /dev/null
+++ b/gnu/packages/patches/dblatex-inkscape-1.0.patch
@@ -0,0 +1,39 @@
+# Imported from <https://sourceforge.net/p/dblatex/dblatex/merge-requests/4/>
+
+# HG changeset patch
+# User Jan Tojnar <jtojnar@gmail.com>
+# Date 1588714251 -7200
+# Tue May 05 23:30:51 2020 +0200
+# Branch inkscape1
+# Node ID 611cc4a4a878d57f5877f2d418864560f68d25cf
+# Parent 3ddf5d6cedcbc9c8b98c4da77fd545b2478d90a3
+Port to Inkscape 1.0
+
+Inkscape revamped the CLI flags:
+
+https://gitlab.com/inkscape/inbox/issues/2416
+
+diff -r 3ddf5d6cedcb -r 611cc4a4a878 docs/custom/dblatex.xconf
+--- a/docs/custom/dblatex.xconf Tue Sep 10 00:40:26 2019 +0200
++++ b/docs/custom/dblatex.xconf Tue May 05 23:30:51 2020 +0200
+@@ -18,7 +18,7 @@
+ <imagedata>
+ <converter src="svg" dst="*" docformat="pdf">
+ <command>
+- inkscape -z -D --export-dpi=600 --export-%(dst)s=%(output)s %(input)s
++ inkscape -D --export-dpi=600 --export-type=%(dst)s --export-filename=%(output)s %(input)s
+ </command>
+ </converter>
+ </imagedata>
+diff -r 3ddf5d6cedcb -r 611cc4a4a878 lib/dbtexmf/core/imagedata.py
+--- a/lib/dbtexmf/core/imagedata.py Tue Sep 10 00:40:26 2019 +0200
++++ b/lib/dbtexmf/core/imagedata.py Tue May 05 23:30:51 2020 +0200
+@@ -178,7 +178,7 @@
+ class SvgConverter(ImageConverter):
+ def __init__(self, imgsrc, imgdst="", docformat="", backend=""):
+ ImageConverter.__init__(self, imgsrc="svg", imgdst=imgdst)
+- self.add_command(["inkscape", "-z", "-D", "--export-%(dst)s=%(output)s",
++ self.add_command(["inkscape", "-D", "--export-type=%(dst)s", "--export-filename=%(output)s",
+ "%(input)s"])
+
+