Message ID | 0771c5bdac599f05154969c2ec23f95d546dbeb5.1720788607.git.gemmaro.dev@gmail.com |
---|---|
State | New |
Headers | show |
Series | [bug#72060,v2] gnu: Add xml-namespace-xsd. | expand |
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
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.
Am Sonntag, dem 21.07.2024 um 11:46 +0900 schrieb gemmaro: > 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 Thanks for the hint. I've pushed v3 just now. Cheers
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") + (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") + "--noout" + "--create" + "--add" + "uri" + "http://www.w3.org/2001/xml.xsd" + (string-append out "/xml.xsd") + (string-append out "/catalog.xml")))))))) + (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. 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)))