From a373462233e8308caaacae4ef5812d0d51857909 Mon Sep 17 00:00:00 2001 From: Bruno Victal Date: Mon, 9 Oct 2023 21:06:00 +0100 Subject: [PATCH] gnu: docbook2x: Import patches from debian. * gnu/packages/docbook.scm (docbook2x)[source]: Import patches from debian. Prefer patching in source over 'patch-sources phase. Drop docbook-xml workaround. [arguments]<#:phases>: Drop 'patch-sources. [inputs]: Move after arguments. Remove docbook-xml-4.5. [natine-inputs]: Add autoconf, automake and libtool. * gnu/packages/patches/docbook2x-filename-handling.patch: New file. * gnu/packages/patches/docbook2x-fix-synopsis.patch: Ditto. * gnu/packages/patches/docbook2x-manpage-typo.patch: Ditto. * gnu/packages/patches/docbook2x-preprocessor-declaration.patch: Ditto. * gnu/packages/patches/docbook2x-static-datadir-evaluation.patch: Ditto. * gnu/local.mk: Register it. Signed-off-by: Maxim Cournoyer --- gnu/local.mk | 5 + gnu/packages/docbook.scm | 59 ++++++------ .../patches/docbook2x-filename-handling.patch | 44 +++++++++ .../patches/docbook2x-fix-synopsis.patch | 26 ++++++ .../patches/docbook2x-manpage-typo.patch | 26 ++++++ .../docbook2x-preprocessor-declaration.patch | 91 +++++++++++++++++++ .../docbook2x-static-datadir-evaluation.patch | 21 +++++ 7 files changed, 241 insertions(+), 31 deletions(-) create mode 100644 gnu/packages/patches/docbook2x-filename-handling.patch create mode 100644 gnu/packages/patches/docbook2x-fix-synopsis.patch create mode 100644 gnu/packages/patches/docbook2x-manpage-typo.patch create mode 100644 gnu/packages/patches/docbook2x-preprocessor-declaration.patch create mode 100644 gnu/packages/patches/docbook2x-static-datadir-evaluation.patch diff --git a/gnu/local.mk b/gnu/local.mk index a88fce02c7..45219ed2f9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1130,6 +1130,11 @@ dist_patch_DATA = \ %D%/packages/patches/docbook-utils-respect-refentry-for-name.patch \ %D%/packages/patches/docbook-utils-source-date-epoch.patch \ %D%/packages/patches/docbook-utils-use-date-element.patch \ + %D%/packages/patches/docbook2x-filename-handling.patch \ + %D%/packages/patches/docbook2x-fix-synopsis.patch \ + %D%/packages/patches/docbook2x-manpage-typo.patch \ + %D%/packages/patches/docbook2x-preprocessor-declaration.patch \ + %D%/packages/patches/docbook2x-static-datadir-evaluation.patch \ %D%/packages/patches/doc++-include-directives.patch \ %D%/packages/patches/doc++-segfault-fix.patch \ %D%/packages/patches/dovecot-opensslv3.patch \ diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm index 8f973d0814..26f8499cc8 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm @@ -27,6 +27,7 @@ (define-module (gnu packages docbook) #:use-module (gnu packages) + #:use-module (gnu packages autotools) #:use-module (gnu packages bash) #:use-module (gnu packages compression) #:use-module (gnu packages imagemagick) @@ -864,42 +865,27 @@ (define-public docbook2x version "/docbook2X-" version ".tar.gz")) (sha256 (base32 - "0ifwzk99rzjws0ixzimbvs83x6cxqk1xzmg84wa1p7bs6rypaxs0")))) + "0ifwzk99rzjws0ixzimbvs83x6cxqk1xzmg84wa1p7bs6rypaxs0")) + (patches + (search-patches "docbook2x-filename-handling.patch" + "docbook2x-fix-synopsis.patch" + "docbook2x-manpage-typo.patch" + "docbook2x-preprocessor-declaration.patch" + "docbook2x-static-datadir-evaluation.patch")) + (modules '((guix build utils))) + (snippet + ;; Fix a failing test (maybe it worked with old texinfo?) + #~(begin + (substitute* "test/complete-manuals/at1.xml" + (("") + "")) + ;; Force a new autoreconf run. + (delete-file "configure"))))) (build-system gnu-build-system) - (inputs - (list bash-minimal - docbook-xml-4.5 - perl - perl-xml-namespacesupport - perl-xml-parser - perl-xml-sax - perl-xml-sax-base - texinfo - libxslt)) (arguments (list #:phases #~(modify-phases %standard-phases - (add-after 'configure 'patch-sources - (lambda* (#:key inputs #:allow-other-keys) - ;; Fix failed substitution in config.pl - (substitute* "perl/config.pl" - (("\\$\\{prefix\\}") - #$output)) - ;; Fix a failing test (maybe it worked with old texinfo?) - (substitute* "test/complete-manuals/at1.xml" - (("") - "")) - ;; Patch all the tests use DocBook 4.5 - (substitute* (find-files "test" "\\.xml$") - (("\"-//OASIS//DTD DocBook XML V4\\..+//EN\"") - "\"-//OASIS//DTD DocBook XML V4.5//EN\"") - (("\"http://www\\.oasis-open\\.org/docbook/xml/4\\..+/docbookx.dtd\"") - "\"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd\"")) - ;; Set XML catalogs for tests to pass - (setenv "XML_CATALOG_FILES" - (string-append (assoc-ref inputs "docbook-xml") - "/xml/dtd/docbook/catalog.xml")))) (add-after 'install 'wrap-programs (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((programs @@ -933,6 +919,17 @@ (define-public docbook2x (symlink prog (string-append #$output "/bin/db2x_" prog))) '("docbook2man" "docbook2texi"))))))) + (inputs + (list bash-minimal + perl + perl-xml-namespacesupport + perl-xml-parser + perl-xml-sax + perl-xml-sax-base + texinfo + libxslt)) + (native-inputs + (list autoconf automake libtool)) (home-page "https://docbook2x.sourceforge.net") (synopsis "Convert DocBook to man page and Texinfo format") (description diff --git a/gnu/packages/patches/docbook2x-filename-handling.patch b/gnu/packages/patches/docbook2x-filename-handling.patch new file mode 100644 index 0000000000..ebffd7b7ae --- /dev/null +++ b/gnu/packages/patches/docbook2x-filename-handling.patch @@ -0,0 +1,44 @@ +# Source: + +## 03_fix_420153_filename_whitespace_handling.dpatch by +## Daniel Leidert (dale) +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Peter Eisentraut reported a regression in the whitespace handling of +## DP: refentrytitle content during filename creation: +## DP: http://bugs.debian.org/420153. The problem is, that upstream first +## DP: replaces all spaces (but not linebreaks btw) with underlines and then +## DP: it tries to normalize the result. This means, that a linebreak with +## DP: additional whitespaces results in manpage names like 'foo_ ____bar.9'. +## DP: So what we basically do in this patch is, that we first normalize the +## DP: refentrytitle and then replace any spaces left with underlines. + +Edit by Bruno Victal : + Removed dpatch lines. + +--- docbook2x-0.8.8~/xslt/man/manpage.xsl 2006-04-20 15:45:55.000000000 +0200 ++++ docbook2x-0.8.8/xslt/man/manpage.xsl 2007-04-20 16:19:28.000000000 +0200 +@@ -30,7 +30,7 @@ + + + +- ++ + + + +--- docbook2x-0.8.8~/xslt/man/refentry.xsl 2006-04-21 04:39:55.000000000 +0200 ++++ docbook2x-0.8.8/xslt/man/refentry.xsl 2007-04-20 16:21:53.000000000 +0200 +@@ -38,7 +38,11 @@ + + + +- ++ ++ ++ ++ ++ + +