guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

05/06: gnu: docbook: Refactor dblatex packages.


From: guix-commits
Subject: 05/06: gnu: docbook: Refactor dblatex packages.
Date: Thu, 10 Aug 2023 10:09:11 -0400 (EDT)

apteryx pushed a commit to branch core-updates
in repository guix.

commit a2ee092ff2f3c37be0d47fc19e6cd7aa84bd9490
Author: Bruno Victal <mirai@makinata.eu>
AuthorDate: Wed Apr 26 01:56:59 2023 +0100

    gnu: docbook: Refactor dblatex packages.
    
    * gnu/packages/docbook.scm (dblatex): Rewrite using G-Expressions.
    (dblatex/stable): Use modify-inputs.
    
    Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
    Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
---
 gnu/packages/docbook.scm | 70 +++++++++++++++++++++++++-----------------------
 1 file changed, 36 insertions(+), 34 deletions(-)

diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm
index a3f5ba7f29..8e61592f3b 100644
--- a/gnu/packages/docbook.scm
+++ b/gnu/packages/docbook.scm
@@ -37,6 +37,7 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages base)
   #:use-module (gnu packages web-browsers)
+  #:use-module (gnu packages xfig)
   #:use-module (gnu packages xml)
   #:use-module (guix gexp)
   #:use-module (guix utils)
@@ -44,7 +45,6 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
-  #:use-module ((guix build utils) #:select (alist-replace))
   #:use-module (guix build-system copy)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
@@ -600,9 +600,33 @@ the in DocBook SGML DTDs.")
                (base32
                 "0yd09nypswy3q4scri1dg7dr99d7gd6r2dwx0xm81l9f4y32gs0n"))))
     (build-system python-build-system)
-    ;; TODO: Add xfig/transfig for fig2dev utility
+    (arguments
+     (list
+      ;; Using setuptools causes an invalid "package_base" path in
+      ;; out/bin/.dblatex-real due to a missing leading '/'.  This is caused
+      ;; by dblatex's setup.py stripping the root path when creating the
+      ;; script.  (dblatex's setup.py still uses distutils and thus has to
+      ;; create the script by itself. The feature for creating scripts is one
+      ;; of setuptools' features.)
+      ;; See this thread for details:
+      ;; https://lists.gnu.org/archive/html/guix-devel/2016-12/msg00030.html
+      #:use-setuptools? #f
+      #:tests? #f                       ;no test suite
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'wrap 'set-path
+            (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"))))
+                ;; dblatex executes helper programs at runtime.
+                (wrap-program (string-append #$output "/bin/dblatex")
+                  `("PATH" ":" prefix ,path))))))))
     (inputs
-     `(("texlive" ,(texlive-updmap.cfg (list texlive-anysize
+     (list (texlive-updmap.cfg (list texlive-anysize
                                              texlive-appendix
                                              texlive-changebar
                                              texlive-fancybox
@@ -619,35 +643,13 @@ the in DocBook SGML DTDs.")
                                              texlive-stmaryrd
                                              texlive-subfigure
                                              texlive-titlesec
-                                             texlive-wasysym)))
-       ("imagemagick" ,imagemagick)     ;for convert
-       ("inkscape" ,inkscape/stable)    ;for svg conversion
-       ("docbook" ,docbook-xml)
-       ("libxslt" ,libxslt)))           ;for xsltproc
-    (arguments
-     `( ;; Using setuptools causes an invalid "package_base" path in
-       ;; out/bin/.dblatex-real due to a missing leading '/'.  This is caused
-       ;; by dblatex's setup.py stripping the root path when creating the
-       ;; script.  (dblatex's setup.py still uses distutils and thus has to
-       ;; create the script by itself. The feature for creating scripts is one
-       ;; of setuptools' features.)
-       ;; See this thread for details:
-       ;; https://lists.gnu.org/archive/html/guix-devel/2016-12/msg00030.html
-       #:use-setuptools? #f
-       #:tests? #f                      ;no 'test' command
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'wrap 'set-path
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               ;; dblatex executes helper programs at runtime.
-               (wrap-program (string-append out "/bin/dblatex")
-                 `("PATH" ":" prefix
-                   ,(map (lambda (input)
-                           (string-append (assoc-ref inputs input)
-                                          "/bin"))
-                         '("libxslt" "texlive"
-                           "imagemagick" "inkscape"))))))))))
+                                             texlive-wasysym))
+           ;; FIXME: transfig causes the build to fail.
+           ;;transfig                   ;for fig2dev
+           imagemagick                  ;for convert
+           inkscape/stable              ;for svg conversion
+           docbook-xml
+           libxslt))                    ;for xsltproc
     (home-page "https://dblatex.sourceforge.net";)
     (synopsis "DocBook to LaTeX Publishing")
     (description
@@ -666,8 +668,8 @@ DB2LaTeX.")
 (define-public dblatex/stable
   (hidden-package
    (package/inherit dblatex
-     (inputs (alist-replace "imagemagick" `(,imagemagick/stable)
-                            (package-inputs dblatex))))))
+     (inputs (modify-inputs (package-inputs dblatex)
+               (replace "imagemagick" imagemagick/stable))))))
 
 (define-public docbook-utils
   (package



reply via email to

[Prev in Thread] Current Thread [Next in Thread]