From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id qII5ALv0DmUuxwAAG6o9tA:P1 (envelope-from ) for ; Sat, 23 Sep 2023 16:22:51 +0200 Received: from aspmx1.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id qII5ALv0DmUuxwAAG6o9tA (envelope-from ) for ; Sat, 23 Sep 2023 16:22:51 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id AFA7F522B2 for ; Sat, 23 Sep 2023 16:22:50 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1695478970; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post; bh=FY534gZDt8PTDuzNZogvppcw6abvhNiqrupTBzzMZDc=; b=cWPk8VPTdPiTZn21wJccuWpKKEoeX+hpw8MSzvdBEZN953EcMK3mVA8vqP/kvEJeM3Mool iKRhqM4z/SvcCa7a1dgY7wNY/yXuNN9+SlXiBXjA3fbHpUy3AdR6SAk/tLxQ9Mnfvmqkpf d9/kD3BFpDrMYFfZW7kLh6qN2YraImnUjnQlnsZKBDmkrdVTEVZvbWsXKvogzz+N77B/MB i1KQ0P5XrHEL+lyFgoM69tWapGHQmpl7h8zkOz/k7xanc86WC8lBR9OX3zEU2FmnsgzUhI Y+soraFSYgYtlp4rv7j4D4fmzxBVNuNfmuSOiVu0tZB1R7RTxsgeApj8qDb22g== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=none ARC-Seal: i=1; s=key1; d=yhetil.org; t=1695478970; a=rsa-sha256; cv=none; b=aNq8r3YhYefOhvTB5sxJXXoMzmpigKtFb2itb/kTWqPkJqJO0xZ35k68IXSuyPIC/yQ5aY 73zs6CvbbqvUGvQUf8gg0dlATVozahe+QLsBfNMfMfQKRUhVN4X1PisaNp2SP1oI4HvrbL fkNJ3TY4UPYqzHokdryXvPnr1OfH9z4YFTzkXPF2jtzRyn/n+vl2ZRwI6FLiQg6ZXbluWl ffKK/AWXUp2VTsX+nh5Ae88nKewKuxae90uOrkXlZ0bEpdHPi/u26x5J4RtlH1AxYWGlzD b1Mle2SAijlY/mxDv7PSBbwxMGPSjblvSuHd46bvpPR8t2GCylZ/XTorbY8mrg== Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qk3WE-0006yY-ED; Sat, 23 Sep 2023 10:22:02 -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 1qk3W5-0006tr-LE for guix-patches@gnu.org; Sat, 23 Sep 2023 10:21:53 -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 1qk3W5-00038l-D3 for guix-patches@gnu.org; Sat, 23 Sep 2023 10:21:53 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qk3WG-00082D-H1 for guix-patches@gnu.org; Sat, 23 Sep 2023 10:22:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#65479] [PATCH core-updates v2 05/62] gnu: docbook-xsl: Add rewrite entries for http. Resent-From: Bruno Victal Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 23 Sep 2023 14:22: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.169547890730701 (code B ref 65479); Sat, 23 Sep 2023 14:22:04 +0000 Received: (at 65479) by debbugs.gnu.org; 23 Sep 2023 14:21:47 +0000 Received: from localhost ([127.0.0.1]:40183 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qk3Vy-0007z5-Th for submit@debbugs.gnu.org; Sat, 23 Sep 2023 10:21:47 -0400 Received: from smtpmciv4.myservices.hosting ([185.26.107.240]:34976) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qk3Vn-0007xa-4J for 65479@debbugs.gnu.org; Sat, 23 Sep 2023 10:21:35 -0400 Received: from mail1.netim.hosting (unknown [185.26.106.173]) by smtpmciv4.myservices.hosting (Postfix) with ESMTP id E9B5E209E8 for <65479@debbugs.gnu.org>; Sat, 23 Sep 2023 16:21:16 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mail1.netim.hosting (Postfix) with ESMTP id 51BF080095; Sat, 23 Sep 2023 16:21:16 +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 ADEC271ZDQP4; Sat, 23 Sep 2023 16:21:15 +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 A38398009B; Sat, 23 Sep 2023 16:21:15 +0200 (CEST) From: Bruno Victal Date: Sat, 23 Sep 2023 15:19:40 +0100 Message-ID: <0fb6a173cbcc7ae9bd0b2cd2362c9c599bb6a000.1695478390.git.mirai@makinata.eu> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -5.20 X-Migadu-Scanner: mx2.migadu.com X-Migadu-Queue-Id: AFA7F522B2 X-Spam-Score: -5.20 X-TUID: f9mV4c5h/HhK 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 -- 2.41.0