[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#72060] [PATCH v2] gnu: Add xml-namespace-xsd.
From: |
gemmaro |
Subject: |
[bug#72060] [PATCH v2] gnu: Add xml-namespace-xsd. |
Date: |
Sun, 21 Jul 2024 11:46:34 +0900 |
Liliana Marie Prikler <liliana.prikler@gmail.com> writes:
> Am Freitag, dem 12.07.2024 um 21:50 +0900 schrieb gemmaro:
>> * gnu/packages/xml.scm (xml-namespace-xsd): New variable.
>>
>> Change-Id: Iec2d68f1d9190ba9e1723ca10adf1de0dfd2d722
>> ---
>> I forgot to add copy-build-system in the first revision.
>>
>> gnu/packages/xml.scm | 39 +++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 39 insertions(+)
>>
>> diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
>> index c6ddae50ae..71344dea0f 100644
>> --- a/gnu/packages/xml.scm
>> +++ b/gnu/packages/xml.scm
>> @@ -33,6 +33,7 @@
>> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
>> ;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
>> ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
>> +;;; Copyright © 2024 gemmaro <gemmaro.dev@gmail.com>
>> ;;;
>> ;;; This file is part of GNU Guix.
>> ;;;
>> @@ -76,6 +77,7 @@ (define-module (gnu packages xml)
>> #:use-module (guix download)
>> #:use-module (guix git-download)
>> #:use-module (guix build-system cmake)
>> + #:use-module (guix build-system copy)
>> #:use-module (guix build-system gnu)
>> #:use-module (guix build-system meson)
>> #:use-module (guix build-system perl)
>> @@ -1953,3 +1955,40 @@ (define-public python-xmltodict
>> (description "This package provides a Python library to convert
>> XML to
>> @code{OrderedDict}.")
>> (license license:expat)))
>> +
>> +(define-public xml-namespace-xsd
>> + (package
>> + (name "xml-namespace-xsd")
>> + (version "2009-01")
>> + (source
>> + (origin
>> + (method url-fetch)
>> + (uri "https://www.w3.org/2009/01/xml.xsd")
> It's a good idea to formulate URI in terms of version. In this case,
> replacing the dash with a slash.
>> + (sha256
>> + (base32
>> "0agqmxbhk2q9xa38m02z7ggbb124z6avnqyhz8k43iicqhv1fw6c"))))
>> + (build-system copy-build-system)
>> + (arguments
>> + (list
>> + #:install-plan #~'(("xml.xsd" "/xml/dtd/namespace/xml.xsd"))
>> + #:phases #~(modify-phases %standard-phases
>> + (add-before 'install 'create-catalog
>> + (lambda* (#:key inputs #:allow-other-keys)
>> + (let ((out (string-append #$output
>> "/xml/dtd/namespace")))
>> + (mkdir-p out)
>> + (invoke (search-input-file inputs
>> "/bin/xmlcatalog")
> You can probably invoke the command by command name. Otherwise you'd
> need to go through (or native-inputs inputs)
>> + "--noout"
>> + "--create"
>> + "--add"
>> + "uri"
>> + "http://www.w3.org/2001/xml.xsd"
>> + (string-append out "/xml.xsd")
>> + (string-append out
>> "/catalog.xml"))))))))
> Don't forget that you can write to the local directory. You should
> also do so and reflect the added file in the install-plan.
>> + (native-inputs (list libxml2))
>> + (home-page "https://www.w3.org/XML/1998/namespace")
>> + (synopsis "XML Schema for XML namespace")
>> + (description
>> + "This package provides an XML Schema fragment and its catalog.
> An XML Schema fragment?
>> The schema
>> +constrains the syntax of @code{xml:lang}, @code{xml:spec},
>> @code{xml:base}, and
>> +@code{xml:id} in the schema language defined by the XML Schema
>> Recommendation Second
>> +Edition of 28 October 2004.")
>> + (license license:w3c)))
> Cheers
Thank you for your review.
I sent revision 3 [1].
I may have forgotten to include your email address in X-Debbugs-Cc.
If that is the case, I apologise for the inconvenience.
[1] https://issues.guix.gnu.org/72060#3
Regards,
gemmaro.