From patchwork Wed Aug 23 22:34:53 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bruno Victal X-Patchwork-Id: 53117 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id DD97727BBEC; Wed, 23 Aug 2023 23:37:16 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 84A0927BBE2 for ; Wed, 23 Aug 2023 23:37:13 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qYwTJ-0007n0-A7; Wed, 23 Aug 2023 18:37:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qYwTD-0007jE-NA for guix-patches@gnu.org; Wed, 23 Aug 2023 18:37:00 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qYwTD-0004vC-FP for guix-patches@gnu.org; Wed, 23 Aug 2023 18:36:59 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qYwTH-00049m-2j for guix-patches@gnu.org; Wed, 23 Aug 2023 18:37:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#65479] [PATCH core-updates 01/61] gnu: docbook-xml: Fix installation paths. Resent-From: Bruno Victal Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 23 Aug 2023 22:37:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65479 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 65479@debbugs.gnu.org Cc: Bruno Victal Received: via spool by 65479-submit@debbugs.gnu.org id=B65479.169283017715448 (code B ref 65479); Wed, 23 Aug 2023 22:37:03 +0000 Received: (at 65479) by debbugs.gnu.org; 23 Aug 2023 22:36:17 +0000 Received: from localhost ([127.0.0.1]:35323 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qYwSW-00040p-Cp for submit@debbugs.gnu.org; Wed, 23 Aug 2023 18:36:17 -0400 Received: from smtpmciv2.myservices.hosting ([185.26.107.238]:34728) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qYwSQ-00040A-RM for 65479@debbugs.gnu.org; Wed, 23 Aug 2023 18:36:12 -0400 Received: from mail1.netim.hosting (unknown [185.26.106.173]) by smtpmciv2.myservices.hosting (Postfix) with ESMTP id 367DC20D1B for <65479@debbugs.gnu.org>; Thu, 24 Aug 2023 00:36:05 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mail1.netim.hosting (Postfix) with ESMTP id 785DE80097; Thu, 24 Aug 2023 00:36:05 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mail1.netim.hosting Received: from mail1.netim.hosting ([127.0.0.1]) by localhost (mail1-2.netim.hosting [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id leys1ghvjB1W; Thu, 24 Aug 2023 00:36:04 +0200 (CEST) Received: from guix-nuc.home.arpa (unknown [10.192.1.83]) (Authenticated sender: lumen@makinata.eu) by mail1.netim.hosting (Postfix) with ESMTPSA id 79AD08005B; Thu, 24 Aug 2023 00:36:04 +0200 (CEST) From: Bruno Victal Date: Wed, 23 Aug 2023 23:34:53 +0100 Message-Id: <943b678133cfef78ab30417b7b0184408b8d962a.1692830149.git.mirai@makinata.eu> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches Using xml/dtd/docbook as installation path had two problems: * The paths would conflict in profile, which made it impossible for two different docbook-xml packages to coexist within the XML_CATALOG_FILES variable. * It was technically incorrect since non-DTD schemas were also placed here. This commit makes docbook-xml use versioned paths instead. * gnu/packages/docbook.scm (docbook-xml-package, docbook-xml-4.x-package): New procedure. (docbook-xml): Make docbook-xml an alias for docbook-xml-5.1. (docbook-xml-5.1): New variable. (docbook-xml-4.5, docbook-xml-4.4, docbook-xml-4.3, docbook-xml-4.2) (docbook-xml-4.1.2): Refactor to use docbook-xml-4.x-package procedure. --- gnu/packages/docbook.scm | 265 ++++++++++++++++++++++++--------------- 1 file changed, 163 insertions(+), 102 deletions(-) base-commit: c365cc69881f3aec633b88ba22c7fe8faec3597e diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm index 4461293e1e..329d19a05d 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm @@ -50,17 +50,17 @@ (define-module (gnu packages docbook) #:use-module (guix build-system trivial) #:use-module (guix build-system python)) -(define-public docbook-xml +;; The fetch-plan, install-plan and phases for docbook-xml tend to vary +;; between releases therefore we use a “template” package for the +;; transformations that are common to these packages. +(define* (docbook-xml-package source version) + "Return a package for a docbook-xml package version @var{version} and +downloading from @var{source}, where @var{version} is a string and +@var{source} is a @code{} record." (package (name "docbook-xml") - (version "5.1") - (source (origin - (method url-fetch) - (uri (string-append "https://docbook.org/xml/" version - "/docbook-v" version "-os.zip")) - (sha256 - (base32 - "0zqy9prj9wam9dn7v3mgr7ld1axqxdhgrmv06dviwg00ahv43wxk")))) + (version version) + (source source) (build-system copy-build-system) (arguments (list @@ -71,23 +71,27 @@ (define-public docbook-xml #~(modify-phases %standard-phases (add-after 'unpack 'fix-permissions (lambda _ - ;; XXX: These files do not need 0755 permission. + ;; These files do not need 0755 permission. (for-each (cut chmod <> #o644) (find-files ".")))) (add-before 'install 'patch-catalog-xml (lambda* (#:key inputs #:allow-other-keys) (let ((xsltproc (search-input-file inputs "/bin/xsltproc")) - (dtd-path (string-append #$output "/xml/dtd/docbook"))) - (invoke xsltproc "--nonet" "--noout" - "--stringparam" "prefix" dtd-path - "--output" "catalog.xml.new" - #$(local-file - (search-auxiliary-file "xml/patch-catalog-xml.xsl")) - "catalog.xml") - (rename-file "catalog.xml.new" "catalog.xml")))) - (replace 'install - (lambda _ - (let ((dtd-path (string-append #$output "/xml/dtd/docbook"))) - (copy-recursively "." dtd-path))))))) + (xslt-file #$(local-file + (search-auxiliary-file + "xml/patch-catalog-xml.xsl"))) + ;; Avoid profile conflicts by installing to a + ;; versioned path. + (dest-path + (format #f "~a/xml/docbook/~a" #$output #$version))) + (for-each + (lambda (catalog) + (let ((catalog* (string-append catalog ".new"))) + (invoke xsltproc "--nonet" "--novalid" "--noout" + "--stringparam" "prefix" dest-path + "--output" catalog* + xslt-file catalog) + (rename-file catalog* catalog))) + (find-files "." "catalog\\.xml$")))))))) (native-inputs (list libxslt unzip)) (home-page "https://docbook.org") (synopsis "DocBook XML DTDs for document authoring") @@ -97,95 +101,152 @@ (define-public docbook-xml by no means limited to these applications.) This package provides XML DTDs.") (license (license:x11-style "" "See file headers.")))) +(define-public docbook-xml-5.1 + (let* ((version "5.1") + (source (origin + (method url-fetch/zipbomb) + (uri (string-append "https://docbook.org/xml/" version + "/docbook-v" version "-os.zip")) + (sha256 + (base32 + "0zqy9prj9wam9dn7v3mgr7ld1axqxdhgrmv06dviwg00ahv43wxk")))) + (template (docbook-xml-package source version))) + (package + (inherit template) + (arguments + (let ((dest-dir (format #f "xml/docbook/~a/" version))) + (substitute-keyword-arguments (package-arguments template) + ;; XXX: A default value must be provided otherwise this + ;; substitution has no effect. + ((#:install-plan _ #f) + #~`(("schemas/" #$dest-dir))))))))) +;; XXX: docbook-xml-4.x versions use the same #:install-plan but since the +;; paths are versioned we can't use (inherit …). +(define* (docbook-xml-4.x-package source version) + "Return a template for a docbook-xml-4.x package version @var{version} and +downloading from @var{source}, where @var{version} is a string and +@var{source} is a @code{} record." + (let ((base-template (docbook-xml-package source version))) + (package + (inherit base-template) + (arguments + (let* ((dest-dir (format #f "xml/docbook/~a/" version))) + (substitute-keyword-arguments (package-arguments base-template) + ((#:phases phases) + ;; Some programs, such as kdoctools, instead of using + ;; XML_CATALOG_FILES, prefer to use cmake to locate + ;; the DTDs for docbook-xml-4.x packages but + ;; since there's no agreed standard as to where these files + ;; should be placed, in practice the .cmake files + ;; end up searching for paths that are distribution specific. + #~(modify-phases #$phases + (add-after 'install 'symlink-alternate-path + (lambda _ + ;; kdoctools searches under xml/dtd/docbook/ + ;; which is the convention used by Nix. + (mkdir-p (string-append #$output "/xml/dtd")) + (symlink (string-append #$output "/" #$dest-dir) + (string-append #$output "/xml/dtd/docbook")))))) + ((#:install-plan _ #f) + #~`(("./" #$dest-dir + #:exclude-regexp ("ChangeLog$" + "README$" + "docbook\\.cat$" + "\\.txt$")))))))))) + (define-public docbook-xml-4.5 - (package - (inherit docbook-xml) - (version "4.5") - (source (origin - (method url-fetch/zipbomb) - (uri (string-append "https://docbook.org/xml/" version - "/docbook-xml-" version ".zip")) - (sha256 - (base32 - "1d671lcjckjri28xfbf6dq7y3xnkppa910w1jin8rjc35dx06kjf")))))) + (let* ((version "4.5") + (source (origin + (method url-fetch/zipbomb) + (uri (string-append "https://docbook.org/xml/" version + "/docbook-xml-" version ".zip")) + (sha256 + (base32 + "1d671lcjckjri28xfbf6dq7y3xnkppa910w1jin8rjc35dx06kjf"))))) + (docbook-xml-4.x-package source version))) (define-public docbook-xml-4.4 - (package (inherit docbook-xml) - (version "4.4") - (source (origin - (method url-fetch/zipbomb) - (uri (string-append "https://docbook.org/xml/" version - "/docbook-xml-" version ".zip")) - (sha256 - (base32 - "141h4zsyc71sfi2zzd89v4bb4qqq9ca1ri9ix2als9f4i3mmkw82")))))) + (let* ((version "4.4") + (source (origin + (method url-fetch/zipbomb) + (uri (string-append "https://docbook.org/xml/" version + "/docbook-xml-" version ".zip")) + (sha256 + (base32 + "141h4zsyc71sfi2zzd89v4bb4qqq9ca1ri9ix2als9f4i3mmkw82"))))) + (docbook-xml-4.x-package source version))) (define-public docbook-xml-4.3 - (package (inherit docbook-xml) - (version "4.3") - (source (origin - (method url-fetch/zipbomb) - (uri (string-append "https://docbook.org/xml/" version - "/docbook-xml-" version ".zip")) - (sha256 - (base32 - "0r1l2if1z4wm2v664sqdizm4gak6db1kx9y50jq89m3gxaa8l1i3")))))) + (let* ((version "4.3") + (source (origin + (method url-fetch/zipbomb) + (uri (string-append "https://docbook.org/xml/" version + "/docbook-xml-" version ".zip")) + (sha256 + (base32 + "0r1l2if1z4wm2v664sqdizm4gak6db1kx9y50jq89m3gxaa8l1i3"))))) + (docbook-xml-4.x-package source version))) (define-public docbook-xml-4.2 - (package (inherit docbook-xml) - (version "4.2") - (source (origin - (method url-fetch/zipbomb) - (uri (string-append "https://docbook.org/xml/" version - "/docbook-xml-" version ".zip")) - (sha256 - (base32 - "18hgwvmywh6a5jh38szjmg3hg2r4v5lb6r3ydc3rd8cp9wg61i5c")))))) + (let* ((version "4.2") + (source (origin + (method url-fetch/zipbomb) + (uri (string-append "https://docbook.org/xml/" version + "/docbook-xml-" version ".zip")) + (sha256 + (base32 + "18hgwvmywh6a5jh38szjmg3hg2r4v5lb6r3ydc3rd8cp9wg61i5c"))))) + (docbook-xml-4.x-package source version))) (define-public docbook-xml-4.1.2 - (package - (inherit docbook-xml) - (version "4.1.2") - (source (origin - (method url-fetch/zipbomb) - (uri (string-append "https://docbook.org/xml/" version - "/docbkx412.zip")) - (sha256 - (base32 - "0wkp5rvnqj0ghxia0558mnn4c7s3n501j99q2isp3sp0ci069w1h")))) - (arguments - (substitute-keyword-arguments (package-arguments docbook-xml) - ((#:phases phases) - #~(modify-phases #$phases - (add-after 'unpack 'copy-catalog-file - ;; docbook-xml-4.1.2 is unique in the fact that it doesn't come - ;; with a catalog.xml file, requiring it to be generated by hand - ;; from the docbook.cat SGML catalog. We could automatically - ;; generate it here at the cost of enlarging the package - ;; definition with a rudimentary (PEG) parser for the SGML - ;; catalog but this is overkill since this file is unlikely to - ;; change, therefore we ship a pre-generated catalog.xml. - (lambda _ - (copy-file - #$(local-file - (search-auxiliary-file - "xml/docbook-xml/catalog-4.1.2.xml")) - "catalog.xml"))) - (add-after 'patch-catalog-xml 'add-rewrite-entries - (lambda* (#:key inputs #:allow-other-keys) - (let ((xmlcatalog (search-input-file inputs "/bin/xmlcatalog")) - (dtd-path (string-append #$output "/xml/dtd/docbook"))) - (for-each - (lambda (type) - (invoke xmlcatalog "--noout" - "--add" type - "http://www.oasis-open.org/docbook/xml/4.1.2/" - (string-append "file://" dtd-path "/") - "catalog.xml")) - (list "rewriteSystem" "rewriteURI"))))))))) - (native-inputs - (modify-inputs (package-native-inputs docbook-xml) - (prepend libxml2))))) + (let* ((version "4.1.2") + (source (origin + (method url-fetch/zipbomb) + (uri (string-append "https://docbook.org/xml/" version + "/docbkx412.zip")) + (sha256 + (base32 + "0wkp5rvnqj0ghxia0558mnn4c7s3n501j99q2isp3sp0ci069w1h")))) + (template (docbook-xml-4.x-package source version))) + (package + (inherit template) + (arguments + (substitute-keyword-arguments (package-arguments template) + ((#:phases phases) + #~(modify-phases #$phases + (add-after 'unpack 'copy-catalog-file + ;; docbook-xml-4.1.2 is unique in the fact that it doesn't come + ;; with a catalog.xml file, requiring it to be generated by hand + ;; from the docbook.cat SGML catalog. We could automatically + ;; generate it here at the cost of enlarging the package + ;; definition with a rudimentary (PEG) parser for the SGML + ;; catalog but this is overkill since this file is unlikely to + ;; change, therefore we ship a pre-generated catalog.xml. + (lambda _ + (copy-file + #$(local-file + (search-auxiliary-file + "xml/docbook-xml/catalog-4.1.2.xml")) + "catalog.xml"))) + (add-after 'patch-catalog-xml 'add-rewrite-entries + (lambda* (#:key inputs #:allow-other-keys) + (let ((xmlcatalog (search-input-file inputs + "/bin/xmlcatalog")) + (dtd-path (format #f "~a/xml/docbook/~a" + #$output #$version))) + (for-each + (lambda (type) + (invoke xmlcatalog "--noout" + "--add" type + "http://www.oasis-open.org/docbook/xml/4.1.2/" + (string-append "file://" dtd-path "/") + "catalog.xml")) + (list "rewriteSystem" "rewriteURI"))))))))) + (native-inputs + (modify-inputs (package-native-inputs template) + (prepend libxml2)))))) + +(define-public docbook-xml docbook-xml-5.1) ;;; There's an issue in docbook-xsl 1.79.2 that causes manpages to be ;;; generated incorrectly and embed raw nroff syntax such as '.PP' when there From patchwork Wed Aug 23 22:34:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bruno Victal X-Patchwork-Id: 53145 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 9432727BBEA; Wed, 23 Aug 2023 23:39:04 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 1702E27BBE9 for ; Wed, 23 Aug 2023 23:39:04 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qYwTL-0007pO-N7; Wed, 23 Aug 2023 18:37:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qYwTE-0007jF-35 for guix-patches@gnu.org; Wed, 23 Aug 2023 18:37:00 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qYwTD-0004vH-R8 for guix-patches@gnu.org; Wed, 23 Aug 2023 18:36:59 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qYwTH-00049w-EZ for guix-patches@gnu.org; Wed, 23 Aug 2023 18:37:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#65479] [PATCH core-updates 02/61] gnu: Add docbook-xml-5.0.1. Resent-From: Bruno Victal Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 23 Aug 2023 22:37:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65479 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 65479@debbugs.gnu.org Cc: Bruno Victal Received: via spool by 65479-submit@debbugs.gnu.org id=B65479.169283017715458 (code B ref 65479); Wed, 23 Aug 2023 22:37:03 +0000 Received: (at 65479) by debbugs.gnu.org; 23 Aug 2023 22:36:17 +0000 Received: from localhost ([127.0.0.1]:35326 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qYwSX-000414-9Y for submit@debbugs.gnu.org; Wed, 23 Aug 2023 18:36:17 -0400 Received: from smtpm5.myservices.hosting ([185.26.105.236]:33626) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qYwSR-00040D-Oj for 65479@debbugs.gnu.org; Wed, 23 Aug 2023 18:36:13 -0400 Received: from mail1.netim.hosting (unknown [185.26.106.173]) by smtpm5.myservices.hosting (Postfix) with ESMTP id 63B9520CC3 for <65479@debbugs.gnu.org>; Thu, 24 Aug 2023 00:36:06 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mail1.netim.hosting (Postfix) with ESMTP id 9CDA28009A; Thu, 24 Aug 2023 00:36:06 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mail1.netim.hosting Received: from mail1.netim.hosting ([127.0.0.1]) by localhost (mail1-2.netim.hosting [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id hZmv377b5GNP; Thu, 24 Aug 2023 00:36:05 +0200 (CEST) Received: from guix-nuc.home.arpa (unknown [10.192.1.83]) (Authenticated sender: lumen@makinata.eu) by mail1.netim.hosting (Postfix) with ESMTPSA id CC38380060; Thu, 24 Aug 2023 00:36:04 +0200 (CEST) From: Bruno Victal Date: Wed, 23 Aug 2023 23:34:54 +0100 Message-Id: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/docbook.xml (docbook-xml-5.0.1): New variable. --- gnu/packages/docbook.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm index 329d19a05d..ec1b9acb36 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm @@ -120,6 +120,30 @@ (define-public docbook-xml-5.1 ;; substitution has no effect. ((#:install-plan _ #f) #~`(("schemas/" #$dest-dir))))))))) + +(define-public docbook-xml-5.0.1 + (let* ((version "5.0.1") + (source (origin + (method url-fetch) + (uri (string-append "https://docbook.org/xml/" version + "/docbook-" version ".zip")) + (sha256 + (base32 + "1iz3hq1lqgnshvlz4j9gvh4jy1ml74qf90vqf2ikbq0h4i2xzybs")))) + (template (docbook-xml-package source version))) + (package + (inherit template) + (arguments + (let ((dest-dir (format #f "xml/docbook/~a/" version))) + (substitute-keyword-arguments (package-arguments template) + ((#:install-plan _ #f) + #~`(("catalog.xml" #$dest-dir) + ("docbook.nvdl" #$dest-dir) + ("dtd" #$dest-dir) + ("rng" #$dest-dir) + ("sch" #$dest-dir) + ("xsd" #$dest-dir))))))))) + ;; XXX: docbook-xml-4.x versions use the same #:install-plan but since the ;; paths are versioned we can't use (inherit …). (define* (docbook-xml-4.x-package source version) From patchwork Wed Aug 23 22:34:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruno Victal X-Patchwork-Id: 53146 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 837F827BBEC; Wed, 23 Aug 2023 23:39:09 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 123DD27BBE2 for ; Wed, 23 Aug 2023 23:39:09 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qYwTX-0008Em-NI; Wed, 23 Aug 2023 18:37:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qYwTL-0007pn-SH for guix-patches@gnu.org; Wed, 23 Aug 2023 18:37:09 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qYwTK-0004wz-J1 for guix-patches@gnu.org; Wed, 23 Aug 2023 18:37:07 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qYwTO-0004CI-65 for guix-patches@gnu.org; Wed, 23 Aug 2023 18:37:10 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#65479] [PATCH core-updates 03/61] gnu: docbook-xml-5.1: Fix URIs in catalog.xml. Resent-From: Bruno Victal Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 23 Aug 2023 22:37:10 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65479 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 65479@debbugs.gnu.org Cc: Bruno Victal Received: via spool by 65479-submit@debbugs.gnu.org id=B65479.169283021615840 (code B ref 65479); Wed, 23 Aug 2023 22:37:10 +0000 Received: (at 65479) by debbugs.gnu.org; 23 Aug 2023 22:36:56 +0000 Received: from localhost ([127.0.0.1]:35385 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qYwT9-00047N-P1 for submit@debbugs.gnu.org; Wed, 23 Aug 2023 18:36:56 -0400 Received: from smtpm1.myservices.hosting ([185.26.105.232]:41844) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qYwSk-00043W-S4 for 65479@debbugs.gnu.org; Wed, 23 Aug 2023 18:36:31 -0400 Received: from mail1.netim.hosting (unknown [185.26.106.173]) by smtpm1.myservices.hosting (Postfix) with ESMTP id CEC0D209A0 for <65479@debbugs.gnu.org>; Thu, 24 Aug 2023 00:36:12 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mail1.netim.hosting (Postfix) with ESMTP id ED56980099; Thu, 24 Aug 2023 00:36:05 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mail1.netim.hosting Received: from mail1.netim.hosting ([127.0.0.1]) by localhost (mail1-2.netim.hosting [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id tE6_JixZfRiM; Thu, 24 Aug 2023 00:36:05 +0200 (CEST) Received: from guix-nuc.home.arpa (unknown [10.192.1.83]) (Authenticated sender: lumen@makinata.eu) by mail1.netim.hosting (Postfix) with ESMTPSA id 2B7E680092; Thu, 24 Aug 2023 00:36:05 +0200 (CEST) From: Bruno Victal Date: Wed, 23 Aug 2023 23:34:55 +0100 Message-Id: <0c3332e82119f2674bca5f4d0183dab75e187953.1692830149.git.mirai@makinata.eu> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/docbook.scm (docbook-xml-5.1)[source]: Patch version in URI. --- gnu/packages/docbook.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm index ec1b9acb36..4a0104c253 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm @@ -109,7 +109,13 @@ (define-public docbook-xml-5.1 "/docbook-v" version "-os.zip")) (sha256 (base32 - "0zqy9prj9wam9dn7v3mgr7ld1axqxdhgrmv06dviwg00ahv43wxk")))) + "0zqy9prj9wam9dn7v3mgr7ld1axqxdhgrmv06dviwg00ahv43wxk")) + (modules '((guix build utils))) + (snippet + ;; The .zip release mistakenly uses '5.1CR4' instead of + ;; '5.1' as intended by . + #~(substitute* "schemas/catalog.xml" + (("5\\.1CR4") #$version))))) (template (docbook-xml-package source version))) (package (inherit template) From patchwork Wed Aug 23 22:34:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bruno Victal X-Patchwork-Id: 53118 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 9911927BBE2; Wed, 23 Aug 2023 23:37:17 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, SPF_HELO_PASS autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 25C3227BBEA for ; Wed, 23 Aug 2023 23:37:16 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qYwTJ-0007mw-9w; Wed, 23 Aug 2023 18:37:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qYwTD-0007jD-97 for guix-patches@gnu.org; Wed, 23 Aug 2023 18:37:00 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qYwTD-0004v7-18 for guix-patches@gnu.org; Wed, 23 Aug 2023 18:36:59 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qYwTG-00049X-GB for guix-patches@gnu.org; Wed, 23 Aug 2023 18:37:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#65479] [PATCH core-updates 04/61] gnu: docbook-xsl: Add compatibility entry. Resent-From: Bruno Victal Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 23 Aug 2023 22:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65479 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 65479@debbugs.gnu.org Cc: Bruno Victal Received: via spool by 65479-submit@debbugs.gnu.org id=B65479.169283017415416 (code B ref 65479); Wed, 23 Aug 2023 22:37:02 +0000 Received: (at 65479) by debbugs.gnu.org; 23 Aug 2023 22:36:14 +0000 Received: from localhost ([127.0.0.1]:35319 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qYwST-00040a-Tj for submit@debbugs.gnu.org; Wed, 23 Aug 2023 18:36:14 -0400 Received: from smtpm1.myservices.hosting ([185.26.105.232]:41770) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qYwSR-00040C-LR for 65479@debbugs.gnu.org; Wed, 23 Aug 2023 18:36:12 -0400 Received: from mail1.netim.hosting (unknown [185.26.106.173]) by smtpm1.myservices.hosting (Postfix) with ESMTP id 4BC9E20724 for <65479@debbugs.gnu.org>; Thu, 24 Aug 2023 00:36:06 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mail1.netim.hosting (Postfix) with ESMTP id 5517080097; Thu, 24 Aug 2023 00:36:06 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mail1.netim.hosting Received: from mail1.netim.hosting ([127.0.0.1]) by localhost (mail1-2.netim.hosting [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id Le90anriZGRF; Thu, 24 Aug 2023 00:36:06 +0200 (CEST) Received: from guix-nuc.home.arpa (unknown [10.192.1.83]) (Authenticated sender: lumen@makinata.eu) by mail1.netim.hosting (Postfix) with ESMTPSA id 8D8DC8005B; Thu, 24 Aug 2023 00:36:05 +0200 (CEST) From: Bruno Victal Date: Wed, 23 Aug 2023 23:34:56 +0100 Message-Id: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches Remap "http://docbook.sourceforge.net/release/xsl-ns/" to "http://docbook.sourceforge.net/release/xsl/". * gnu/packages/docbook.scm (docbook-xsl)[arguments]<#:phases>: Add compatibility entry. --- gnu/packages/docbook.scm | 41 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm index 4a0104c253..55f99aae62 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm @@ -388,7 +388,46 @@ (define-public docbook-xsl "http://docbook.sourceforge.net/release/xsl/current/" store-uri catalog)) - (list "rewriteSystem" "rewriteURI"))) + (list "rewriteSystem" "rewriteURI")) + + ;; Originally the + ;; "http://docbook.sourceforge.net/release/xsl/" + ;; URI referred to the non-namespaced docbook-xsl, + ;; with its namespaced version using a URI differing in + ;; the path component as '…/xsl-ns/'. + ;; At some point the namespaced version was made the + ;; canonical docbook-xsl package whilst preserving the + ;; original URI. + ;; + ;; For compatibility with XML files that still specify + ;; the legacy namespaced docbook-xsl URIs we re-add them + ;; here. + (for-each + (lambda (type) + ;; Remap /xsl-ns/ to /xsl/. + ;; Note: URI resolutions are not recursive. + ;; A rewrite rule from: + ;; 'http://docbook.sourceforge.net/release/xsl-ns/' + ;; to + ;; 'http://docbook.sourceforge.net/release/xsl/' + ;; will not trigger the rewrite rule that ultimately + ;; remaps to a /gnu/store URI, as can be seen by + ;; invoking: + ;; $ xmlcatalog "" \ + ;; 'http://docbook.sourceforge.net/release/xsl-ns/current/' + ;; http://docbook.sourceforge.net/release/xsl/current/ + ;; $ xmlcatalog "" \ + ;; 'http://docbook.sourceforge.net/release/xsl/current/' + ;; file://gnu/store/…/xml/xsl/… + ;; + ;; See XML Catalog specification, item 7.2.2. for + ;; details. + (invoke xmlcatalog "--noout" + "--add" type + "http://docbook.sourceforge.net/release/xsl-ns/current/" + store-uri + catalog)) + (list "rewriteSystem" "rewriteURI"))) catalog-files)))) (replace 'install (lambda _ From patchwork Wed Aug 23 22:34:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bruno Victal X-Patchwork-Id: 53136 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id A3A9D27BBEC; Wed, 23 Aug 2023 23:38:35 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 4284727BBE2 for ; Wed, 23 Aug 2023 23:38:34 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qYwTP-0007rv-0f; Wed, 23 Aug 2023 18:37:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qYwTF-0007mO-Jk for guix-patches@gnu.org; Wed, 23 Aug 2023 18:37:01 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qYwTE-0004vW-I2 for guix-patches@gnu.org; Wed, 23 Aug 2023 18:37:00 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qYwTI-0004AC-65 for guix-patches@gnu.org; Wed, 23 Aug 2023 18:37:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#65479] [PATCH core-updates 05/61] gnu: docbook-xsl: Add rewrite entries for http. Resent-From: Bruno Victal Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 23 Aug 2023 22:37:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65479 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 65479@debbugs.gnu.org Cc: Bruno Victal Received: via spool by 65479-submit@debbugs.gnu.org id=B65479.169283018715526 (code B ref 65479); Wed, 23 Aug 2023 22:37:04 +0000 Received: (at 65479) by debbugs.gnu.org; 23 Aug 2023 22:36:27 +0000 Received: from localhost ([127.0.0.1]:35336 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qYwSf-00042E-Ov for submit@debbugs.gnu.org; Wed, 23 Aug 2023 18:36:26 -0400 Received: from smtpm3.myservices.hosting ([185.26.105.234]:44612) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qYwSR-00040F-Qh for 65479@debbugs.gnu.org; Wed, 23 Aug 2023 18:36:16 -0400 Received: from mail1.netim.hosting (unknown [185.26.106.173]) by smtpm3.myservices.hosting (Postfix) with ESMTP id 78F892106A for <65479@debbugs.gnu.org>; Thu, 24 Aug 2023 00:36:07 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mail1.netim.hosting (Postfix) with ESMTP id D68DD80060; Thu, 24 Aug 2023 00:36:06 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mail1.netim.hosting Received: from mail1.netim.hosting ([127.0.0.1]) by localhost (mail1-2.netim.hosting [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id DBzkZOMJp4JM; Thu, 24 Aug 2023 00:36:06 +0200 (CEST) Received: from guix-nuc.home.arpa (unknown [10.192.1.83]) (Authenticated sender: lumen@makinata.eu) by mail1.netim.hosting (Postfix) with ESMTPSA id DDB9B80098; Thu, 24 Aug 2023 00:36:05 +0200 (CEST) From: Bruno Victal Date: Wed, 23 Aug 2023 23:34:57 +0100 Message-Id: <74a2b06314c7715c7121a63e398141a19d913295.1692830149.git.mirai@makinata.eu> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches Refactored 'patch-catalog.xml to reduce code duplication. The catalog for docbook-xsl hosted on the CDN [1] have entries for the 'http' scheme yet when building from source only 'https' entries are generated. Patch the XML catalog to provide them both. [1]: * gnu/packages/docbook.scm (docbook-xsl)[arguments]<#:phases>: Rename 'patch-catalog-xml to 'patch-catalog.xml. Refactor this phase for deduplication and add 'https' entries. --- gnu/packages/docbook.scm | 140 +++++++++++++++++---------------------- 1 file changed, 59 insertions(+), 81 deletions(-) diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm index 55f99aae62..83a5496a0e 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm @@ -342,93 +342,71 @@ (define-public docbook-xsl (add-before 'install 'generate-catalog.xml (lambda* (#:key make-flags #:allow-other-keys) (apply invoke "make" "-C" "xsl" "catalog.xml" make-flags))) - (add-before 'install 'patch-catalog-xml + (add-after 'generate-catalog.xml 'patch-catalog.xml + ;; Note: URI resolutions are not recursive. + ;; A rewrite rule from: + ;; 'http://docbook.sourceforge.net/release/xsl-ns/' + ;; to + ;; 'http://docbook.sourceforge.net/release/xsl/' + ;; will not trigger the rewrite rule that ultimately + ;; remaps to a /gnu/store URI, as can be seen by + ;; invoking: + ;; $ xmlcatalog "" \ + ;; 'http://docbook.sourceforge.net/release/xsl-ns/current/' + ;; http://docbook.sourceforge.net/release/xsl/current/ + ;; $ xmlcatalog "" \ + ;; 'http://docbook.sourceforge.net/release/xsl/current/' + ;; file://gnu/store/…/xml/xsl/… + ;; + ;; See XML Catalog specification, item 7.2.2. for + ;; details. (lambda* (#:key inputs #:allow-other-keys) (let ((xmlcatalog (search-input-file inputs "/bin/xmlcatalog")) - (catalog-files (find-files "." "catalog\\.xml$")) + (catalog-file "xsl/catalog.xml") (store-uri (string-append "file://" dest-path "/"))) + ;; Remove /snapshot/ references. (for-each - (lambda (catalog) - ;; Replace /snapshot/ reference with one based on - ;; BASE-VERSION. - (let ((versioned-uri - (format - #f "https://cdn.docbook.org/release/xsl/~a/" - #$base-version))) - (invoke xmlcatalog "--noout" - "--del" - "https://cdn.docbook.org/release/xsl/snapshot/" - catalog) - (for-each - (lambda (type) - (invoke xmlcatalog "--noout" - "--add" type - versioned-uri - store-uri - catalog)) - (list "rewriteSystem" "rewriteURI"))) - - ;; Patch /current/ references to point to /gnu/store/…. - (for-each - (lambda (type) - (invoke xmlcatalog "--noout" - "--add" type - "https://cdn.docbook.org/release/xsl/current/" - store-uri - catalog)) - (list "rewriteSystem" "rewriteURI")) - - ;; Re-add the no longer present compatibility entries for - ;; v.1.79.1 or earlier URIs. - (for-each - (lambda (type) - (invoke xmlcatalog "--noout" - "--add" type - "http://docbook.sourceforge.net/release/xsl/current/" - store-uri - catalog)) - (list "rewriteSystem" "rewriteURI")) - - ;; Originally the - ;; "http://docbook.sourceforge.net/release/xsl/" - ;; URI referred to the non-namespaced docbook-xsl, - ;; with its namespaced version using a URI differing in - ;; the path component as '…/xsl-ns/'. - ;; At some point the namespaced version was made the - ;; canonical docbook-xsl package whilst preserving the - ;; original URI. - ;; - ;; For compatibility with XML files that still specify - ;; the legacy namespaced docbook-xsl URIs we re-add them - ;; here. + (lambda (scheme) + (invoke xmlcatalog "--noout" + "--del" + (string-append + scheme + "://cdn.docbook.org/release/xsl/snapshot/") + catalog-file)) + (list "http" "https")) + ;; Rewrite both http:// and https:// URIs. + (for-each + (lambda (path) (for-each - (lambda (type) - ;; Remap /xsl-ns/ to /xsl/. - ;; Note: URI resolutions are not recursive. - ;; A rewrite rule from: - ;; 'http://docbook.sourceforge.net/release/xsl-ns/' - ;; to - ;; 'http://docbook.sourceforge.net/release/xsl/' - ;; will not trigger the rewrite rule that ultimately - ;; remaps to a /gnu/store URI, as can be seen by - ;; invoking: - ;; $ xmlcatalog "" \ - ;; 'http://docbook.sourceforge.net/release/xsl-ns/current/' - ;; http://docbook.sourceforge.net/release/xsl/current/ - ;; $ xmlcatalog "" \ - ;; 'http://docbook.sourceforge.net/release/xsl/current/' - ;; file://gnu/store/…/xml/xsl/… - ;; - ;; See XML Catalog specification, item 7.2.2. for - ;; details. - (invoke xmlcatalog "--noout" - "--add" type - "http://docbook.sourceforge.net/release/xsl-ns/current/" - store-uri - catalog)) - (list "rewriteSystem" "rewriteURI"))) - catalog-files)))) + (lambda (scheme) + (for-each + (lambda (entry-type) + (let ((uri (string-append scheme "://" path))) + (invoke xmlcatalog "--noout" + "--add" entry-type uri store-uri + catalog-file))) + (list "rewriteSystem" "rewriteURI"))) + (list "http" "https"))) + (list #$(format #f "cdn.docbook.org/release/xsl/~a/" + base-version) + "cdn.docbook.org/release/xsl/current/" + ;; Re-add the no longer present compatibility entries for + ;; v.1.79.1 or earlier URIs. + "docbook.sourceforge.net/release/xsl/current/" + ;; Originally the + ;; "http://docbook.sourceforge.net/release/xsl/" + ;; URI referred to the non-namespaced docbook-xsl, + ;; with its namespaced version using a URI differing in + ;; the path component as '…/xsl-ns/'. + ;; At some point the namespaced version was made the + ;; canonical docbook-xsl package whilst preserving the + ;; original URI. + ;; + ;; For compatibility with XML files that still specify + ;; the legacy namespaced docbook-xsl URIs we re-add them + ;; here. + "docbook.sourceforge.net/release/xsl-ns/current/"))))) (replace 'install (lambda _ (let ((select-rx (make-regexp From patchwork Wed Aug 23 22:34:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruno Victal X-Patchwork-Id: 53130 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 5621C27BBE9; Wed, 23 Aug 2023 23:38:19 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-1.6 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, SPF_HELO_PASS,URIBL_ABUSE_SURBL,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 793B927BBE2 for ; Wed, 23 Aug 2023 23:38:16 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qYwTR-0007xG-IK; Wed, 23 Aug 2023 18:37:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qYwTF-0007mQ-Jx for guix-patches@gnu.org; Wed, 23 Aug 2023 18:37:01 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qYwTE-0004vX-Tl for guix-patches@gnu.org; Wed, 23 Aug 2023 18:37:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qYwTI-0004AJ-HS for guix-patches@gnu.org; Wed, 23 Aug 2023 18:37:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#65479] [PATCH core-updates 06/61] gnu: docbook: Remove leftovers. Resent-From: Bruno Victal Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 23 Aug 2023 22:37:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65479 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 65479@debbugs.gnu.org Cc: Bruno Victal Received: via spool by 65479-submit@debbugs.gnu.org id=B65479.169283018815543 (code B ref 65479); Wed, 23 Aug 2023 22:37:04 +0000 Received: (at 65479) by debbugs.gnu.org; 23 Aug 2023 22:36:28 +0000 Received: from localhost ([127.0.0.1]:35340 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qYwSg-00042N-R1 for submit@debbugs.gnu.org; Wed, 23 Aug 2023 18:36:27 -0400 Received: from smtpm1.myservices.hosting ([185.26.105.232]:41784) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qYwSV-00040i-SN for 65479@debbugs.gnu.org; Wed, 23 Aug 2023 18:36:16 -0400 Received: from mail1.netim.hosting (unknown [185.26.106.173]) by smtpm1.myservices.hosting (Postfix) with ESMTP id 121F82086C for <65479@debbugs.gnu.org>; Thu, 24 Aug 2023 00:36:07 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mail1.netim.hosting (Postfix) with ESMTP id 55EF38009C; Thu, 24 Aug 2023 00:36:07 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mail1.netim.hosting Received: from mail1.netim.hosting ([127.0.0.1]) by localhost (mail1-2.netim.hosting [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id VFb9uEne33sw; Thu, 24 Aug 2023 00:36:06 +0200 (CEST) Received: from guix-nuc.home.arpa (unknown [10.192.1.83]) (Authenticated sender: lumen@makinata.eu) by mail1.netim.hosting (Postfix) with ESMTPSA id 3807180092; Thu, 24 Aug 2023 00:36:06 +0200 (CEST) From: Bruno Victal Date: Wed, 23 Aug 2023 23:34:58 +0100 Message-Id: <65fd1b35abc1b81ae36e4ed52bad3173d71a8f0a.1692830149.git.mirai@makinata.eu> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches docbook-xsl patches are probably remnants from 1f7d94597f1e78776f854eeca46c03a3aded8466. * gnu/packages/docbook.scm: Remove unused import. * gnu/packages/patches/docbook-xsl-nonrecursive-string-subst.patch: Remove. * gnu/packages/patches/docbook-xsl-support-old-url.patch: Ditto. * gnu/local.mk: Unregister it. * gnu/packages/moreutils.scm (moreutils)[native-inputs]: Drop obsolete comment. --- gnu/local.mk | 2 - gnu/packages/docbook.scm | 1 - gnu/packages/moreutils.scm | 2 +- ...ocbook-xsl-nonrecursive-string-subst.patch | 40 ------------------- .../patches/docbook-xsl-support-old-url.patch | 17 -------- 5 files changed, 1 insertion(+), 61 deletions(-) delete mode 100644 gnu/packages/patches/docbook-xsl-nonrecursive-string-subst.patch delete mode 100644 gnu/packages/patches/docbook-xsl-support-old-url.patch diff --git a/gnu/local.mk b/gnu/local.mk index 6dcacd3d6e..b229b21603 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1063,8 +1063,6 @@ dist_patch_DATA = \ %D%/packages/patches/diffutils-fix-signal-processing.patch \ %D%/packages/patches/directfb-davinci-glibc-228-compat.patch \ %D%/packages/patches/dkimproxy-add-ipv6-support.patch \ - %D%/packages/patches/docbook-xsl-nonrecursive-string-subst.patch \ - %D%/packages/patches/docbook-xsl-support-old-url.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 83a5496a0e..47d3a04479 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm @@ -47,7 +47,6 @@ (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 trivial) #:use-module (guix build-system python)) ;; The fetch-plan, install-plan and phases for docbook-xml tend to vary diff --git a/gnu/packages/moreutils.scm b/gnu/packages/moreutils.scm index d219c78d4f..d7f4a8522a 100644 --- a/gnu/packages/moreutils.scm +++ b/gnu/packages/moreutils.scm @@ -71,7 +71,7 @@ (define-public moreutils ;; For building the manual pages. (native-inputs (list docbook-xml-4.4 - docbook-xsl ;without -next, man pages are corrupted + docbook-xsl libxml2 libxslt)) (home-page "https://joeyh.name/code/moreutils/") diff --git a/gnu/packages/patches/docbook-xsl-nonrecursive-string-subst.patch b/gnu/packages/patches/docbook-xsl-nonrecursive-string-subst.patch deleted file mode 100644 index fed4b76429..0000000000 --- a/gnu/packages/patches/docbook-xsl-nonrecursive-string-subst.patch +++ /dev/null @@ -1,40 +0,0 @@ -Use a non-recursive replace function when the parser supports it. - -https://bugs.gnu.org/29782 -https://bugzilla.samba.org/show_bug.cgi?id=9515 -https://bugzilla.gnome.org/show_bug.cgi?id=736077 (for xsltproc) - -Patch copied from Debian: -https://salsa.debian.org/debian/docbook-xsl/-/blob/master/debian/patches/765567_non-recursive_string_subst.patch - -Description: use EXSLT "replace" function when available - A recursive implementation of string.subst is problematic, - long strings with many matches will cause stack overflows. -Author: Peter De Wachter -Bug-Debian: https://bugs.debian.org/750593 - ---- a/lib/lib.xsl -+++ b/lib/lib.xsl -@@ -6,7 +6,11 @@ - - This module implements DTD-independent functions - -- ******************************************************************** --> -+ ******************************************************************** --> -+ - - - -@@ -52,6 +56,9 @@ - - - -+ -+ -+ - - - diff --git a/gnu/packages/patches/docbook-xsl-support-old-url.patch b/gnu/packages/patches/docbook-xsl-support-old-url.patch deleted file mode 100644 index 5b7dda458f..0000000000 --- a/gnu/packages/patches/docbook-xsl-support-old-url.patch +++ /dev/null @@ -1,17 +0,0 @@ -Docbook 1.79.2 makes very few changes apart from changing the canonical URL -to cdn.docbook.org. This patch adds support for the previous URL to avoid -breaking packages that still use that. - -Adapted from Debian: -https://salsa.debian.org/debian/docbook-xsl/-/blob/master/debian/patches/0005-catalog.xml-Compatibility-with-1.79.1-or-earlier.patch - ---- a/catalog.xml -+++ b/catalog.xml -@@ -5,4 +5,7 @@ - - - -+ -+ -+ - From patchwork Wed Aug 23 22:34:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bruno Victal X-Patchwork-Id: 53126 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 57BA727BBEA; Wed, 23 Aug 2023 23:38:12 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, SPF_HELO_PASS,URIBL_BLOCKED,URI_NOVOWEL autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 19B8D27BBE2 for ; Wed, 23 Aug 2023 23:38:09 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qYwTP-0007sP-VX; Wed, 23 Aug 2023 18:37:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qYwTH-0007n4-GR for guix-patches@gnu.org; Wed, 23 Aug 2023 18:37:05 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qYwTH-0004wF-55 for guix-patches@gnu.org; Wed, 23 Aug 2023 18:37:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qYwTK-0004B6-Nw for guix-patches@gnu.org; Wed, 23 Aug 2023 18:37:06 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#65479] [PATCH core-updates 07/61] gnu: docbook-utils: Import patches from debian. Resent-From: Bruno Victal Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 23 Aug 2023 22:37:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65479 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 65479@debbugs.gnu.org Cc: Bruno Victal Received: via spool by 65479-submit@debbugs.gnu.org id=B65479.169283019215619 (code B ref 65479); Wed, 23 Aug 2023 22:37:06 +0000 Received: (at 65479) by debbugs.gnu.org; 23 Aug 2023 22:36:32 +0000 Received: from localhost ([127.0.0.1]:35353 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qYwSk-00043Q-0k for submit@debbugs.gnu.org; Wed, 23 Aug 2023 18:36:32 -0400 Received: from smtpm1.myservices.hosting ([185.26.105.232]:41810) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qYwSb-00041h-2W for 65479@debbugs.gnu.org; Wed, 23 Aug 2023 18:36:23 -0400 Received: from mail1.netim.hosting (unknown [185.26.106.173]) by smtpm1.myservices.hosting (Postfix) with ESMTP id CF77520724 for <65479@debbugs.gnu.org>; Thu, 24 Aug 2023 00:36:08 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mail1.netim.hosting (Postfix) with ESMTP id 1A79480097; Thu, 24 Aug 2023 00:36:08 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mail1.netim.hosting Received: from mail1.netim.hosting ([127.0.0.1]) by localhost (mail1-2.netim.hosting [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id tcf4ZTN4-q9U; Thu, 24 Aug 2023 00:36:06 +0200 (CEST) Received: from guix-nuc.home.arpa (unknown [10.192.1.83]) (Authenticated sender: lumen@makinata.eu) by mail1.netim.hosting (Postfix) with ESMTPSA id 88ECE8005B; Thu, 24 Aug 2023 00:36:06 +0200 (CEST) From: Bruno Victal Date: Wed, 23 Aug 2023 23:34:59 +0100 Message-Id: <40aa16c4ec5e774fa7ad47a488eb1c89250490b1.1692830149.git.mirai@makinata.eu> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/docbook.scm (docbook-utils)[source]: Import patches from debian. Drop snippet for patching OpenSP and OpenJade. [arguments]<:phases>: Add 'autoreconf phase. [native-inputs]: Add autoconf, automake and libtool. * gnu/packages/patches/docbook-utils-documentation-edits.patch: New file. * gnu/packages/patches/docbook-utils-escape-characters.patch: Ditto. * gnu/packages/patches/docbook-utils-remove-jade-sp.patch: Ditto. * gnu/packages/patches/docbook-utils-respect-refentry-for-name.patch: Ditto. * gnu/packages/patches/docbook-utils-source-date-epoch.patch: Ditto. * gnu/packages/patches/docbook-utils-use-date-element.patch: Ditto. * gnu/local.mk: Register them. --- gnu/local.mk | 6 + gnu/packages/docbook.scm | 24 +- .../docbook-utils-documentation-edits.patch | 100 ++++++++ .../docbook-utils-escape-characters.patch | 34 +++ .../docbook-utils-remove-jade-sp.patch | 215 ++++++++++++++++++ ...book-utils-respect-refentry-for-name.patch | 34 +++ .../docbook-utils-source-date-epoch.patch | 29 +++ .../docbook-utils-use-date-element.patch | 61 +++++ 8 files changed, 496 insertions(+), 7 deletions(-) create mode 100644 gnu/packages/patches/docbook-utils-documentation-edits.patch create mode 100644 gnu/packages/patches/docbook-utils-escape-characters.patch create mode 100644 gnu/packages/patches/docbook-utils-remove-jade-sp.patch create mode 100644 gnu/packages/patches/docbook-utils-respect-refentry-for-name.patch create mode 100644 gnu/packages/patches/docbook-utils-source-date-epoch.patch create mode 100644 gnu/packages/patches/docbook-utils-use-date-element.patch diff --git a/gnu/local.mk b/gnu/local.mk index b229b21603..565a1860ea 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1063,6 +1063,12 @@ dist_patch_DATA = \ %D%/packages/patches/diffutils-fix-signal-processing.patch \ %D%/packages/patches/directfb-davinci-glibc-228-compat.patch \ %D%/packages/patches/dkimproxy-add-ipv6-support.patch \ + %D%/packages/patches/docbook-utils-documentation-edits.patch \ + %D%/packages/patches/docbook-utils-escape-characters.patch \ + %D%/packages/patches/docbook-utils-remove-jade-sp.patch \ + %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/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 47d3a04479..994aa57f18 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm @@ -773,18 +773,20 @@ (define-public docbook-utils (sha256 (base32 "1scj5vgw1xz872pq54a89blcxqqm11p90yzv8a9mqq57x27apyj8")) + (patches + (search-patches "docbook-utils-documentation-edits.patch" + "docbook-utils-escape-characters.patch" + "docbook-utils-remove-jade-sp.patch" + "docbook-utils-respect-refentry-for-name.patch" + "docbook-utils-use-date-element.patch" + "docbook-utils-source-date-epoch.patch")) (modules '((guix build utils))) (snippet #~(begin ;; Patch build system. - (substitute* (find-files "." "\\.in$") + (substitute* (find-files "." "\\.((in)|(am))$") ;; Do not hard-code SGML_CATALOG_FILES. - ((".*SGML_CATALOG_FILES=/etc/sgml/catalog.*") "") - ;; Use OpenSP and OpenJade. - (("\\bjade\\b") - "openjade") - (("\\bnsgmls\\b") - "onsgmls")) + ((".*SGML_CATALOG_FILES=/etc/sgml/catalog.*") "")) ;; Do not override the SGML_CATALOG_FILES environment ;; variable. @@ -805,6 +807,14 @@ (define-public docbook-utils "CONVERT=") (("\\[ -x /usr/bin/([^ ]+) \\]" _ command) (format #f "command -v ~a > /dev/null" command))))))) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'autoreconf + (lambda _ + (invoke "autoreconf" "-vif")))))) + (native-inputs (list autoconf automake libtool)) (build-system gnu-build-system) ;; Propagated for convenience. All these tools are used at run time to ;; provide the complete functionality of the docbook-utils commands. diff --git a/gnu/packages/patches/docbook-utils-documentation-edits.patch b/gnu/packages/patches/docbook-utils-documentation-edits.patch new file mode 100644 index 0000000000..03c0a4abcf --- /dev/null +++ b/gnu/packages/patches/docbook-utils-documentation-edits.patch @@ -0,0 +1,100 @@ +Description: Fix some typos in man pages +Author: Mathieu Malaterre + +Index: docbook-utils-0.6.14/doc/man/docbook2man-spec.pl.1 +=================================================================== +--- docbook-utils-0.6.14.orig/doc/man/docbook2man-spec.pl.1 2012-05-09 18:39:17.932819095 +0200 ++++ docbook-utils-0.6.14/doc/man/docbook2man-spec.pl.1 2012-05-09 18:39:24.780818845 +0200 +@@ -17,7 +17,7 @@ + .SH "DESCRIPTION" + .PP + \fBdocbook2man\fR is a sgmlspl spec file that produced man +-pages (using the -man macros) from DocBook RefEntry markup. ++pages (using the \-man macros) from DocBook RefEntry markup. + .PP + The program reads ESIS produced by nsgmls (or other SGML parsers) from + standard input. Markup not found in RefEntry is discarded. +Index: docbook-utils-0.6.14/doc/man/frontend-spec.7 +=================================================================== +--- docbook-utils-0.6.14.orig/doc/man/frontend-spec.7 2012-05-09 18:41:45.172813778 +0200 ++++ docbook-utils-0.6.14/doc/man/frontend-spec.7 2012-05-09 18:42:03.176813129 +0200 +@@ -10,7 +10,7 @@ + .SH "DESCRIPTION" + .PP + \fBjw\fR(1) calls frontends like +-\fIfrontends/docbook\fR to get the informations ++\fIfrontends/docbook\fR to get the information + specific to a given input format. The frontend knows which information + to return from the first command line parameter. It gets all necessary + data via environment variables ready to use. +Index: docbook-utils-0.6.14/doc/man/jw.1 +=================================================================== +--- docbook-utils-0.6.14.orig/doc/man/jw.1 2012-05-09 18:39:35.612818456 +0200 ++++ docbook-utils-0.6.14/doc/man/jw.1 2012-05-09 18:40:51.736815708 +0200 +@@ -142,7 +142,7 @@ + The following options apply to the conversion script: + .TP + \fB -f \fIfrontend\fB | --frontend \fIfrontend\fB \fR +-Allows to specify another frontend than default \fIdocbook\fR\&. ++Allows one to specify another frontend than default \fIdocbook\fR\&. + The list of currently available frontends is: + .RS + .TP +@@ -156,13 +156,13 @@ + .RE + .TP + \fB -b \fIbackend\fB | --backend \fIbackend\fB \fR +-Allows to specify another backend than default ++Allows one to specify another backend than default + \fIHTML\fR\&. The list of currently available + backends is: + .RS + .TP + \fB\fIdvi\fB\fR +-Converts to DVI (DeVice Independant ++Converts to DVI (DeVice Independent + files) by calling \fBJade\fR or + \fBOpenJade\fR\&. + .TP +@@ -210,7 +210,7 @@ + .RE + .TP + \fB -c \fIfile\fB | --cat \fIfile\fB \fR +-Allows to use an extra SGML Open Catalog that will list ++Allows one to use an extra SGML Open Catalog that will list + other files like customization style sheets, adaptations to the + DocBook Document Type Definition, special character entities, + etc. This catalog is added to the list of catalogs determined +@@ -241,7 +241,7 @@ + are specified on the command line. + .TP + \fB -d \fIfile\fB|default|none | --dsl \fIfile\fB|default|none \fR +-Allows to use a customized style sheet instead ++Allows one to use a customized style sheet instead + of the default one. + + A "target" starting with a hash mark "#" can be appended +Index: docbook-utils-0.6.14/doc/man/sgmldiff.1 +=================================================================== +--- docbook-utils-0.6.14.orig/doc/man/sgmldiff.1 2012-05-09 18:41:13.316814927 +0200 ++++ docbook-utils-0.6.14/doc/man/sgmldiff.1 2012-05-09 18:41:38.032814038 +0200 +@@ -17,7 +17,7 @@ + + .SH "DESCRIPTION" + .PP +-This perl script allows to determine the structural differences ++This perl script allows one to determine the structural differences + between two SGML files. It compares the files, regardless of what + is in between the tags, to only focus on the markup. Its output + is similar to \fBdiff\fR(1)\&. +@@ -62,8 +62,8 @@ + Lines 5 to 7 of the first file have been changed + into lines 8 to 10 of the second line. + In addition to those summaries, the lines of the first file are +-shown preceeded by '<' and the lines of the second file are +-shown preceeded by '>". ++shown preceded by '<' and the lines of the second file are ++shown preceded by '>". + .SH "OPTIONS" + .PP + Here is the list of actions that can be requested to diff --git a/gnu/packages/patches/docbook-utils-escape-characters.patch b/gnu/packages/patches/docbook-utils-escape-characters.patch new file mode 100644 index 0000000000..58fca8bace --- /dev/null +++ b/gnu/packages/patches/docbook-utils-escape-characters.patch @@ -0,0 +1,34 @@ +Description: incorrectly strips whitespace (patch included) + In the previous upload, docbook2man was patched to escape the special + characters . and ' at the beginning of a line (see #399947). + Unfortunately that patch was incorrect -- as well as escaping the special + characters, it also removes all whitespace from the beginning of + affected lines. As a result, if you are in a block where whitespace + matters (such as ...) then the output is now incorrect. + + This is very easy to fix -- just match the whitespace and preserve it, + instead of tossing it away. The full patch (just two lines) is included + below. +Author: Ben Burton +Forwarded: not-needed +Bug-Debian: http://bugs.debian.org/528334 + +Edit by Bruno Victal : + Patch was edited so that it could be applied against the original + docbook-utils-0.6.14 sources. + +Index: docbook-utils-0.6.14/helpers/docbook2man-spec.pl +=================================================================== +--- docbook-utils-0.6.14.orig/helpers/docbook2man-spec.pl 2012-05-09 18:59:42.584774885 +0200 ++++ docbook-utils-0.6.14/helpers/docbook2man-spec.pl 2012-05-09 19:00:34.788773002 +0200 +@@ -1212,8 +1212,8 @@ + $_[0] =~ s/\\/\\\\/g; + + # Escape dots and single quotes in column 1 +- $_[0] =~ s/^\./\\\&\./; +- $_[0] =~ s/^\'/\\\&\'/; ++ $_[0] =~ s/^([ \t]*)\./$1\\\&\./; ++ $_[0] =~ s/^([ \t]*)\'/$1\\\&\'/; + + # In non-'pre'-type elements: + if(!$nocollapse_whitespace) { diff --git a/gnu/packages/patches/docbook-utils-remove-jade-sp.patch b/gnu/packages/patches/docbook-utils-remove-jade-sp.patch new file mode 100644 index 0000000000..8aae51373f --- /dev/null +++ b/gnu/packages/patches/docbook-utils-remove-jade-sp.patch @@ -0,0 +1,215 @@ +Description: Change dependencies on jade and sp to openjade and opensp +Author: Neil Roeth +Last-Update: 2016-07-24 + +Edit by Bruno Victal : + Patch was edited so that it could be applied against the original + docbook-utils-0.6.14 sources. +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/doc/HTML/Makefile.am ++++ b/doc/HTML/Makefile.am +@@ -1,4 +1,4 @@ +-htmldir = $(docdir)/html/docbook-utils-@VERSION@ ++htmldir = $(docdir)/html + html_DATA = api.html \ + backend-spec.html \ + docbook2man.html \ +@@ -25,6 +25,6 @@ + $(top_srcdir)/doc/refentry/sgmldiff.sgml + SGML_CATALOG_FILES=/etc/sgml/catalog \ + SGML_SEARCH_PATH=$(top_srcdir):$(top_srcdir)/doc:.. \ +- jade -t sgml -i html -d $(top_srcdir)/docbook-utils.dsl\#html \ ++ openjade -t sgml -i html -d $(top_srcdir)/docbook-utils.dsl\#html \ + -V '%use-id-as-filename%' $< + +--- a/doc/man/Makefile.am ++++ b/doc/man/Makefile.am +@@ -12,5 +12,5 @@ + $(top_srcdir)/helpers/docbook2man-spec.pl + SGML_CATALOG_FILES=/etc/sgml/catalog \ + SGML_SEARCH_PATH=$(top_srcdir)/doc:.. \ +- nsgmls $< | \ ++ onsgmls $< | \ + sgmlspl $(top_srcdir)/helpers/docbook2man-spec.pl +--- a/backends/man.in ++++ b/backends/man.in +@@ -7,8 +7,8 @@ + TMPDIR=`mktemp -d /tmp/man.XXXXXX` || \ + { echo >&2 "man backend: could not create secure temporary directory"; exit 1;} + trap 'rm -rf "${TMPDIR}"' EXIT +-nsgmls $SGML_FILE > "${TMPDIR}/nsgmls.tmp" +-sgmlspl $HELPER <"${TMPDIR}/nsgmls.tmp" 2>"${TMPDIR}/errs" ++onsgmls $SGML_FILE > "${TMPDIR}/onsgmls.tmp" ++sgmlspl $HELPER <"${TMPDIR}/onsgmls.tmp" 2>"${TMPDIR}/errs" + if [ $? -ne 0 ] + then + cat "${TMPDIR}/errs" +@@ -18,7 +18,7 @@ + if grep unresolved "${TMPDIR}/errs" >/dev/null 2>&1 + then + echo "Resolving references.." +- sgmlspl $HELPER <"${TMPDIR}/nsgmls.tmp" ++ sgmlspl $HELPER <"${TMPDIR}/onsgmls.tmp" + if [ $? -ne 0 ] + then exit 1 + fi +--- a/backends/texi.in ++++ b/backends/texi.in +@@ -3,7 +3,7 @@ + # This program is under GPL license. See LICENSE file for details. + + # Convert to texinfo +-nsgmls $SGML_FILE | sgmlspl $SGML_BASE_DIR/docbook/utils-@VERSION@/helpers/docbook2texi-spec.pl >$SGML_FILE_NAME.texi ++onsgmls $SGML_FILE | sgmlspl docbook2texi-spec.pl >$SGML_FILE_NAME.texi + if [ $? -ne 0 ] + then exit 1 + fi +--- a/bin/sgmldiff.in ++++ b/bin/sgmldiff.in +@@ -22,13 +22,13 @@ + + use strict; + use integer; +-use vars qw($nsgmls $errors $errorlog $VERSION); ++use vars qw($onsgmls $errors $errorlog $VERSION); + use Getopt::Long 2.01; + + $VERSION = 1.03; + +-my $nsgmls; +-$nsgmls = "@jade_bindir@/nsgmls"; ++my $onsgmls; ++$onsgmls = "@jade_bindir@/onsgmls"; + + #---------------------------------------------------------------------- + # TODO: +@@ -37,7 +37,7 @@ + # - Wait for suggestions ;-) + # + # Note: the input file need not be valid, nor is it necessary to have +-# the DTDs. nsgmls always returns a structure. ++# the DTDs. onsgmls always returns a structure. + #---------------------------------------------------------------------- + + # Get file name +@@ -141,11 +141,11 @@ + unlink $diff2; + + #--------------------------------------------------------------------- +-# Process nsgmls output: keep all stuff that is important for the ++# Process onsgmls output: keep all stuff that is important for the + # structure comparison. Make two structures: one that is diffed + # (without text) (DIFF) and one that is used to present the + # differences to the user (@full). For more info: see SP +-# documentation, nsgmls output format. ++# documentation, onsgmls output format. + + sub prepare { + my($filename,$todiffname) = @_; +@@ -161,7 +161,7 @@ + my @line_numbered = (); + my $line = 0; + +- open(ESIS, "$nsgmls -l $errors $errorlog -onotation-sysid -oid -oempty $filename | "); #-oentity generates strange output; ? -ononsgml ++ open(ESIS, "$onsgmls -l $errors $errorlog -onotation-sysid -oid -oempty $filename | "); #-oentity generates strange output; ? -ononsgml + open(DIFF, "> $todiffname"); + while () { + chomp $_; +@@ -375,7 +375,7 @@ + }; + + #---------------------------------------------------------------------- +-# Normalise data text from nsgmls (i.e. don't print the escaped text). ++# Normalise data text from onsgmls (i.e. don't print the escaped text). + sub normalise_text { + my($string,$prefix) = @_; + my $result = "$prefix"; +--- a/configure.in ++++ b/configure.in +@@ -21,7 +21,7 @@ + + dnl Checks for programs. + jade_bindirs="/usr/bin /usr/local/bin" +-AC_FIND_PROGRAM(nsgmls, $jade_bindirs, jade_bindir) ++AC_FIND_PROGRAM(onsgmls, $jade_bindirs, jade_bindir) + AC_SUBST(jade_bindir) + + perl_bindirs="/usr/bin /usr/local/bin" +--- a/doc/refentry/docbook2man-spec.pl.sgml ++++ b/doc/refentry/docbook2man-spec.pl.sgml +@@ -19,7 +19,7 @@ + + + +-nsgmls ++onsgmls + sgml document + | sgmlspl + docbook2man-spec.pl +@@ -35,7 +35,7 @@ + + + +-The program reads ESIS produced by nsgmls (or other SGML parsers) from ++The program reads ESIS produced by onsgmls (or other SGML parsers) from + standard input. Markup not found in RefEntry is discarded. + + +--- a/doc/refentry/docbook2texi-spec.pl.sgml ++++ b/doc/refentry/docbook2texi-spec.pl.sgml +@@ -20,7 +20,7 @@ + + + +-nsgmls ++onsgmls + sgml document + | sgmlspl + docbook2texi-spec.pl +@@ -37,7 +37,7 @@ + + + +-The program reads ESIS produced by nsgmls (or other SGML parsers) from ++The program reads ESIS produced by onsgmls (or other SGML parsers) from + standard input. Currently the document element must be Book, + otherwise the results are undefined. + +--- a/doc/refentry/jw.sgml ++++ b/doc/refentry/jw.sgml +@@ -630,7 +630,7 @@ + 1, + install-catalog + 8, +- nsgmls ++ onsgmls + 1, docbook-utils + homepage. +--- a/doc/refentry/sgmldiff.sgml ++++ b/doc/refentry/sgmldiff.sgml +@@ -238,10 +238,10 @@ + + + +- nsgmls 1 ++ onsgmls 1 + + +- a base component of Jade DSSSL engine ++ a base component of OpenJade DSSSL engine + + + +--- a/helpers/docbook2man-spec.pl ++++ b/helpers/docbook2man-spec.pl +@@ -7,7 +7,7 @@ + The SGMLSpm package from CPAN. This contains the sgmlspl script which + is used to grok this file. Use it like this: + +-nsgmls some-docbook-document.sgml | sgmlspl docbook2man-spec.pl ++onsgmls some-docbook-document.sgml | sgmlspl docbook2man-spec.pl + + =head1 DESCRIPTION + diff --git a/gnu/packages/patches/docbook-utils-respect-refentry-for-name.patch b/gnu/packages/patches/docbook-utils-respect-refentry-for-name.patch new file mode 100644 index 0000000000..d577fed748 --- /dev/null +++ b/gnu/packages/patches/docbook-utils-respect-refentry-for-name.patch @@ -0,0 +1,34 @@ +Description: docbook2man should translate the NAME section according to the REFENTRY's lang attribute + Currently, docbook2man translates the NAME section according to the lang + attribute provided to the REFNAMEDIV tag. + When a lang attribute is specified in the REFENTRY tag and no lang + attribute is specified with the REFNAMEDIV, the lang attribute of the + REFENTRY should be used. +Author: Nicolas François +Forwarded: not-needed +Bug-Debian: http://bugs.debian.org/394511 + +Index: docbook-utils-0.6.14/helpers/docbook2man-spec.pl +=================================================================== +--- docbook-utils-0.6.14.orig/helpers/docbook2man-spec.pl 2012-05-09 18:55:53.276783163 +0200 ++++ docbook-utils-0.6.14/helpers/docbook2man-spec.pl 2012-05-09 18:58:04.792778418 +0200 +@@ -359,11 +359,14 @@ + # NAME section + man_sgml('', sub { + my %words = qw( fr NOM es NOMBRE de NAME ); +- if (defined($_[0]->attribute('LANG')->value)) { +- my $id = $_[0]->attribute('LANG')->value; +- my $ad = $words{$id}; +- output("\n.SH $ad\n");} +- else {output("\n.SH NAME\n");} ++ # Use the REFNAMEDIV's lang attribute, and default to the ++ # REFENTRY's lang attribute. ++ my $lang = $_[0]->attribute('LANG')->value; ++ $lang = $manpage_lang unless defined $lang; ++ if (defined($lang) and defined $words{lc($lang)}) { ++ my $ad = $words{lc($lang)}; ++ output("\n.SH $ad\n");} ++ else { output("\n.SH NAME\n");} + }); + + sgml('', \&save_cdata); diff --git a/gnu/packages/patches/docbook-utils-source-date-epoch.patch b/gnu/packages/patches/docbook-utils-source-date-epoch.patch new file mode 100644 index 0000000000..ee3510a1d0 --- /dev/null +++ b/gnu/packages/patches/docbook-utils-source-date-epoch.patch @@ -0,0 +1,29 @@ +Author: Reiner Herrmann +Description: Support SOURCE_DATE_EPOCH for timestamps + To allow generating documents in a reproducible way, + allow overriding the timestamp through the environment. + . + See also: https://reproducible-builds.org/specs/source-date-epoch/ +Bug-Debian: https://bugs.debian.org/800797 + +--- a/helpers/docbook2man-spec.pl ++++ b/helpers/docbook2man-spec.pl +@@ -57,6 +57,7 @@ + use SGMLS; # Use the SGMLS package. + use SGMLS::Output; # Use stack-based output. + use SGMLS::Refs; ++use POSIX qw(strftime setlocale LC_TIME); + + ######################################################################## + # SGMLSPL script produced automatically by the script sgmlspl.pl +@@ -279,6 +280,10 @@ + _END_BANNER + + my $date = `date "+%d %B %Y"`; ++ if ($ENV{SOURCE_DATE_EPOCH}) { ++ setlocale(LC_TIME, "C"); ++ $date = strftime("%d %B %Y", gmtime($ENV{SOURCE_DATE_EPOCH} || time)); ++ } + my $manpage_date = $manpage_date || $date ; + + output '.TH "'; diff --git a/gnu/packages/patches/docbook-utils-use-date-element.patch b/gnu/packages/patches/docbook-utils-use-date-element.patch new file mode 100644 index 0000000000..192233d41f --- /dev/null +++ b/gnu/packages/patches/docbook-utils-use-date-element.patch @@ -0,0 +1,61 @@ +Description: patch to get the from the sgml file + For the moment, docbook2man doesn't use the tag date in + to but `date "+%d %B %Y"`, and thus depend on the current locale. + + + + 06 September 2003 + + + + A patch against /usr/share/perl5/sgmlspl-specs/docbook2man-spec.pl + allows to use the date written in the source SGML file (which can be + localized) instead of the current date. + + However, if no correct date tag is present in the SGML file, the date + written in the manpage will depend on the current locale. +Author: Simon Paillard +Forwarded: not-needed +Bug-Debian: http://bugs.debian.org/214982 + +Index: docbook-utils-0.6.14/helpers/docbook2man-spec.pl +=================================================================== +--- docbook-utils-0.6.14.orig/helpers/docbook2man-spec.pl 2012-05-09 18:27:28.000000000 +0200 ++++ docbook-utils-0.6.14/helpers/docbook2man-spec.pl 2012-05-09 18:55:53.276783163 +0200 +@@ -278,8 +278,9 @@ + .\\" etc. to Steve Cheng . + _END_BANNER + +- my $manpage_date = `date "+%d %B %Y"`; +- ++ my $date = `date "+%d %B %Y"`; ++ my $manpage_date = $manpage_date || $date ; ++ + output '.TH "'; + + # If the title is not mixed-case, convention says to +@@ -292,7 +293,7 @@ + } + + output '" "', fold_string($manpage_sect), +- '" "', fold_string(`date "+%d %B %Y"`), ++ '" "', fold_string($manpage_date), + '" "', $manpage_misc, + '" "', $manpage_manual, + "\"\n"; +@@ -568,6 +569,15 @@ + sgml('', sub { $_[0]->parent->ext->{'attribution'} = pop_output(); }); + + ++sgml('', sub { ++ save_cdata(); ++}); ++sgml('', sub { ++ $manpage_date = fold_string(pop_output()); ++ $raw_cdata--; ++}); ++ ++ + # IGNORE. + sgml('', sub { push_output('nul'); }); + sgml('', sub { pop_output(); }); From patchwork Wed Aug 23 22:35:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bruno Victal X-Patchwork-Id: 53162 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 89EDC27BBE9; Wed, 23 Aug 2023 23:40:47 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 0DEF627BBE2 for ; Wed, 23 Aug 2023 23:40:45 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qYwTN-0007qr-UT; Wed, 23 Aug 2023 18:37:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qYwTE-0007lW-EA for guix-patches@gnu.org; Wed, 23 Aug 2023 18:37:00 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qYwTE-0004vR-6O for guix-patches@gnu.org; Wed, 23 Aug 2023 18:37:00 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qYwTH-0004A4-QR for guix-patches@gnu.org; Wed, 23 Aug 2023 18:37:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#65479] [PATCH core-updates 08/61] gnu: docbook2x: Import patches from debian. Resent-From: Bruno Victal Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 23 Aug 2023 22:37:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65479 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 65479@debbugs.gnu.org Cc: Bruno Victal Received: via spool by 65479-submit@debbugs.gnu.org id=B65479.169283017815465 (code B ref 65479); Wed, 23 Aug 2023 22:37:03 +0000 Received: (at 65479) by debbugs.gnu.org; 23 Aug 2023 22:36:18 +0000 Received: from localhost ([127.0.0.1]:35328 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qYwSX-00041H-O4 for submit@debbugs.gnu.org; Wed, 23 Aug 2023 18:36:18 -0400 Received: from smtpm2.myservices.hosting ([185.26.105.233]:37292) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qYwST-00040T-Tu for 65479@debbugs.gnu.org; Wed, 23 Aug 2023 18:36:15 -0400 Received: from mail1.netim.hosting (unknown [185.26.106.173]) by smtpm2.myservices.hosting (Postfix) with ESMTP id 8D26320E53 for <65479@debbugs.gnu.org>; Thu, 24 Aug 2023 00:36:09 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mail1.netim.hosting (Postfix) with ESMTP id E07EE80060; Thu, 24 Aug 2023 00:36:08 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mail1.netim.hosting Received: from mail1.netim.hosting ([127.0.0.1]) by localhost (mail1-2.netim.hosting [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id CwAZDIWFczT3; Thu, 24 Aug 2023 00:36:07 +0200 (CEST) Received: from guix-nuc.home.arpa (unknown [10.192.1.83]) (Authenticated sender: lumen@makinata.eu) by mail1.netim.hosting (Postfix) with ESMTPSA id F102880098; Thu, 24 Aug 2023 00:36:06 +0200 (CEST) From: Bruno Victal Date: Wed, 23 Aug 2023 23:35:00 +0100 Message-Id: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/docbook.scm (docbook2x)[source]: Import patches from debian. Prefer patching in source over 'patch-sources phase. [arguments]<#:phases>: Drop 'patch-sources phase. Add 'autoreconf phase. [inputs]: Move after arguments. Relocate docbook-xml-4.5 to … [natine-inputs]: … here. Add autoconf, automake and libtool. * gnu/packages/patches/docbook2x-filename-handling.patch: New file. * 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. --- gnu/local.mk | 4 + gnu/packages/docbook.scm | 47 ++++++---- .../patches/docbook2x-filename-handling.patch | 42 +++++++++ .../patches/docbook2x-manpage-typo.patch | 24 +++++ .../docbook2x-preprocessor-declaration.patch | 89 +++++++++++++++++++ .../docbook2x-static-datadir-evaluation.patch | 19 ++++ 6 files changed, 206 insertions(+), 19 deletions(-) create mode 100644 gnu/packages/patches/docbook2x-filename-handling.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 565a1860ea..08b3904128 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1069,6 +1069,10 @@ 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-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 994aa57f18..6a138dcb77 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) @@ -867,32 +868,25 @@ (define-public docbook2x version "/docbook2X-" version ".tar.gz")) (sha256 (base32 - "0ifwzk99rzjws0ixzimbvs83x6cxqk1xzmg84wa1p7bs6rypaxs0")))) + "0ifwzk99rzjws0ixzimbvs83x6cxqk1xzmg84wa1p7bs6rypaxs0")) + (patches + (search-patches "docbook2x-filename-handling.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?) + #~(substitute* "test/complete-manuals/at1.xml" + (("") + ""))))) (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\"") @@ -903,6 +897,9 @@ (define-public docbook2x (setenv "XML_CATALOG_FILES" (string-append (assoc-ref inputs "docbook-xml") "/xml/dtd/docbook/catalog.xml")))) + (add-after 'unpack 'autoreconf + (lambda _ + (invoke "autoreconf" "-vif"))) (add-after 'install 'wrap-programs (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((programs @@ -936,6 +933,18 @@ (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 + docbook-xml-4.5)) (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..b6895dd0d3 --- /dev/null +++ b/gnu/packages/patches/docbook2x-filename-handling.patch @@ -0,0 +1,42 @@ +## 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 @@ + + + +- ++ ++ ++ ++ ++ + +