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>
Change-Id: I4fb2e1f894b98a4e33a0438a1dda569eeb9eae81
This commit is contained in:
Bruno Victal 2023-10-09 21:06:09 +01:00 committed by Ludovic Courtès
parent 1ddb4dde8b
commit 4a82b3f92e
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
3 changed files with 126 additions and 33 deletions

View file

@ -1112,7 +1112,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 \

View file

@ -51,7 +51,8 @@ (define-module (gnu packages docbook)
#: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 @@ (define-public dblatex
version ".tar.bz2"))
(sha256
(base32
"0yd09nypswy3q4scri1dg7dr99d7gd6r2dwx0xm81l9f4y32gs0n"))))
"0yd09nypswy3q4scri1dg7dr99d7gd6r2dwx0xm81l9f4y32gs0n"))
(patches
(search-patches "dblatex-inkscape-1.0.patch"))))
(outputs '("out" "doc"))
(build-system python-build-system)
(arguments
@ -773,40 +776,89 @@ (define-public dblatex
(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))))))))
`("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 +884,8 @@ (define-public dblatex/stable
(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

View file

@ -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"])