summaryrefslogtreecommitdiff
path: root/python-xml2rfc.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-xml2rfc.spec')
-rw-r--r--python-xml2rfc.spec228
1 files changed, 228 insertions, 0 deletions
diff --git a/python-xml2rfc.spec b/python-xml2rfc.spec
new file mode 100644
index 0000000..d7fb645
--- /dev/null
+++ b/python-xml2rfc.spec
@@ -0,0 +1,228 @@
+%global _empty_manifest_terminate_build 0
+Name: python-xml2rfc
+Version: 3.16.0
+Release: 1
+Summary: Xml2rfc generates RFCs and IETF drafts from document source in XML according to the IETF xml2rfc v2 and v3 vocabularies.
+License: BSD-3-Clause
+URL: https://github.com/ietf-tools/xml2rfc
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/0f/b9/2f0bea168c220aff886e9ec7fba2bbc08b0b166ee22296cd79ff8e04b330/xml2rfc-3.16.0.tar.gz
+BuildArch: noarch
+
+
+%description
+### Introduction
+The [IETF] uses a specific format for the standards and other documents it publishes as [RFCs], and for the draft documents which are produced when developing documents for publications. There exists a number of different tools to facilitate the formatting of drafts and RFCs according to the existing rules, and this tool, **xml2rfc**, is one of them. It takes as input an xml file that contains the text and meta-information about author names etc., and transforms it into suitably formatted output. The input xml file should follow the grammars in [RFC7749] *(for v2 documents)* or [RFC7991] *(for v3 documents)*. Note that the grammar for v3 is still being refined, and changes will eventually be captured in the [bis draft for 7991]. Changes not yet captured can be seen in the xml2rfc source [v3.rng], or in the [documentation xml2rfc produces] with its `--doc` flag.
+**xml2rfc** provides a variety of output formats. See the command line help for a full list of formats. It also provides conversion from v2 to v3, and can run the [preptool] on its input.
+### Installation
+Installation of the python package is done as usual with `pip install xml2rfc`, using appropriate switches.
+#### Installation of support libraries for the PDF-formatter
+In order to generate PDFs, **xml2rfc** uses the [WeasyPrint] module, which depends on external libraries that must be installed as native packages on your platform, separately from the **xml2rfc** install.
+1. First, install the **Pango**, and other required libraries on your system. See installation instructions on the [WeasyPrint Docs].
+2. Next, install WeasyPrint python modules using pip.
+```sh
+pip install 'weasyprint==55.0'
+```
+3. Finally, install the full **Noto Font** and **Roboto Mono** packages:
+ * Download the full font file from:
+ https://noto-website-2.storage.googleapis.com/pkgs/Noto-unhinted.zip
+ * Follow the installation instructions at
+ https://www.google.com/get/noto/help/install/
+ * Go to https://fonts.google.com/specimen/Roboto+Mono, and download the
+ font. Follow the installation instructions above, as applied to this download.
+With these installed and available to **xml2rfc**, the `--pdf` switch will be enabled.
+### Usage
+**xml2rfc** accepts a single XML document as input and outputs to one or more conversion formats.
+#### Basic Usage
+```sh
+xml2rfc SOURCE [options] FORMATS...
+```
+Run `xml2rfc --help` for a full listing of command-line options.
+### Getting Started
+This project is following the standard **Git Feature Workflow** development model. Learn about all the various steps of the development workflow, from creating a fork to submitting a pull request, in the [Contributing](https://github.com/ietf-tools/.github/blob/main/CONTRIBUTING.md) guide.
+> Make sure to read the [Styleguides](https://github.com/ietf-tools/.github/blob/main/CONTRIBUTING.md#styleguides) section to ensure a cohesive code format across the project.
+You can submit bug reports, enhancements and new feature requests in the [discussions](https://github.com/ietf-tools/xml2rfc/discussions) area. Accepted tickets will be converted to issues.
+#### Git Cloning Tips
+As outlined in the [Contributing](https://github.com/ietf-tools/.github/blob/main/CONTRIBUTING.md) guide, you will first want to create a fork of the xml2rfc project in your personal GitHub account before cloning it.
+For example *(replace `USERNAME` with your GitHub username)*:
+```sh
+git clone https://github.com/USERNAME/xml2rfc.git
+```
+#### Docker Dev Environment
+Run `./run.sh` command to build and start a docker development environment.
+The initial build may take time because it downloads all required fonts as well.
+```sh
+./run.sh
+```
+[IETF]: https://www.ietf.org/
+[RFCs]: https://www.rfc-editor.org/
+[RFC7749]: https://www.rfc-editor.org/info/rfc7749
+[RFC7991]: https://www.rfc-editor.org/info/rfc7991
+[bis draft for 7991]: https://datatracker.ietf.org/doc/draft-iab-rfc7991bis/
+[v3.rng]: xml2rfc/data/v3.rng
+[documentation xml2rfc produces]: https://ietf-tools.github.io/xml2rfc/
+[preptool]: https://www.rfc-editor.org/info/rfc7998
+[WeasyPrint]: https://weasyprint.org/
+[WeasyPrint Docs]: https://doc.courtbouillon.org/weasyprint/stable/first_steps.html
+
+%package -n python3-xml2rfc
+Summary: Xml2rfc generates RFCs and IETF drafts from document source in XML according to the IETF xml2rfc v2 and v3 vocabularies.
+Provides: python-xml2rfc
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-xml2rfc
+### Introduction
+The [IETF] uses a specific format for the standards and other documents it publishes as [RFCs], and for the draft documents which are produced when developing documents for publications. There exists a number of different tools to facilitate the formatting of drafts and RFCs according to the existing rules, and this tool, **xml2rfc**, is one of them. It takes as input an xml file that contains the text and meta-information about author names etc., and transforms it into suitably formatted output. The input xml file should follow the grammars in [RFC7749] *(for v2 documents)* or [RFC7991] *(for v3 documents)*. Note that the grammar for v3 is still being refined, and changes will eventually be captured in the [bis draft for 7991]. Changes not yet captured can be seen in the xml2rfc source [v3.rng], or in the [documentation xml2rfc produces] with its `--doc` flag.
+**xml2rfc** provides a variety of output formats. See the command line help for a full list of formats. It also provides conversion from v2 to v3, and can run the [preptool] on its input.
+### Installation
+Installation of the python package is done as usual with `pip install xml2rfc`, using appropriate switches.
+#### Installation of support libraries for the PDF-formatter
+In order to generate PDFs, **xml2rfc** uses the [WeasyPrint] module, which depends on external libraries that must be installed as native packages on your platform, separately from the **xml2rfc** install.
+1. First, install the **Pango**, and other required libraries on your system. See installation instructions on the [WeasyPrint Docs].
+2. Next, install WeasyPrint python modules using pip.
+```sh
+pip install 'weasyprint==55.0'
+```
+3. Finally, install the full **Noto Font** and **Roboto Mono** packages:
+ * Download the full font file from:
+ https://noto-website-2.storage.googleapis.com/pkgs/Noto-unhinted.zip
+ * Follow the installation instructions at
+ https://www.google.com/get/noto/help/install/
+ * Go to https://fonts.google.com/specimen/Roboto+Mono, and download the
+ font. Follow the installation instructions above, as applied to this download.
+With these installed and available to **xml2rfc**, the `--pdf` switch will be enabled.
+### Usage
+**xml2rfc** accepts a single XML document as input and outputs to one or more conversion formats.
+#### Basic Usage
+```sh
+xml2rfc SOURCE [options] FORMATS...
+```
+Run `xml2rfc --help` for a full listing of command-line options.
+### Getting Started
+This project is following the standard **Git Feature Workflow** development model. Learn about all the various steps of the development workflow, from creating a fork to submitting a pull request, in the [Contributing](https://github.com/ietf-tools/.github/blob/main/CONTRIBUTING.md) guide.
+> Make sure to read the [Styleguides](https://github.com/ietf-tools/.github/blob/main/CONTRIBUTING.md#styleguides) section to ensure a cohesive code format across the project.
+You can submit bug reports, enhancements and new feature requests in the [discussions](https://github.com/ietf-tools/xml2rfc/discussions) area. Accepted tickets will be converted to issues.
+#### Git Cloning Tips
+As outlined in the [Contributing](https://github.com/ietf-tools/.github/blob/main/CONTRIBUTING.md) guide, you will first want to create a fork of the xml2rfc project in your personal GitHub account before cloning it.
+For example *(replace `USERNAME` with your GitHub username)*:
+```sh
+git clone https://github.com/USERNAME/xml2rfc.git
+```
+#### Docker Dev Environment
+Run `./run.sh` command to build and start a docker development environment.
+The initial build may take time because it downloads all required fonts as well.
+```sh
+./run.sh
+```
+[IETF]: https://www.ietf.org/
+[RFCs]: https://www.rfc-editor.org/
+[RFC7749]: https://www.rfc-editor.org/info/rfc7749
+[RFC7991]: https://www.rfc-editor.org/info/rfc7991
+[bis draft for 7991]: https://datatracker.ietf.org/doc/draft-iab-rfc7991bis/
+[v3.rng]: xml2rfc/data/v3.rng
+[documentation xml2rfc produces]: https://ietf-tools.github.io/xml2rfc/
+[preptool]: https://www.rfc-editor.org/info/rfc7998
+[WeasyPrint]: https://weasyprint.org/
+[WeasyPrint Docs]: https://doc.courtbouillon.org/weasyprint/stable/first_steps.html
+
+%package help
+Summary: Development documents and examples for xml2rfc
+Provides: python3-xml2rfc-doc
+%description help
+### Introduction
+The [IETF] uses a specific format for the standards and other documents it publishes as [RFCs], and for the draft documents which are produced when developing documents for publications. There exists a number of different tools to facilitate the formatting of drafts and RFCs according to the existing rules, and this tool, **xml2rfc**, is one of them. It takes as input an xml file that contains the text and meta-information about author names etc., and transforms it into suitably formatted output. The input xml file should follow the grammars in [RFC7749] *(for v2 documents)* or [RFC7991] *(for v3 documents)*. Note that the grammar for v3 is still being refined, and changes will eventually be captured in the [bis draft for 7991]. Changes not yet captured can be seen in the xml2rfc source [v3.rng], or in the [documentation xml2rfc produces] with its `--doc` flag.
+**xml2rfc** provides a variety of output formats. See the command line help for a full list of formats. It also provides conversion from v2 to v3, and can run the [preptool] on its input.
+### Installation
+Installation of the python package is done as usual with `pip install xml2rfc`, using appropriate switches.
+#### Installation of support libraries for the PDF-formatter
+In order to generate PDFs, **xml2rfc** uses the [WeasyPrint] module, which depends on external libraries that must be installed as native packages on your platform, separately from the **xml2rfc** install.
+1. First, install the **Pango**, and other required libraries on your system. See installation instructions on the [WeasyPrint Docs].
+2. Next, install WeasyPrint python modules using pip.
+```sh
+pip install 'weasyprint==55.0'
+```
+3. Finally, install the full **Noto Font** and **Roboto Mono** packages:
+ * Download the full font file from:
+ https://noto-website-2.storage.googleapis.com/pkgs/Noto-unhinted.zip
+ * Follow the installation instructions at
+ https://www.google.com/get/noto/help/install/
+ * Go to https://fonts.google.com/specimen/Roboto+Mono, and download the
+ font. Follow the installation instructions above, as applied to this download.
+With these installed and available to **xml2rfc**, the `--pdf` switch will be enabled.
+### Usage
+**xml2rfc** accepts a single XML document as input and outputs to one or more conversion formats.
+#### Basic Usage
+```sh
+xml2rfc SOURCE [options] FORMATS...
+```
+Run `xml2rfc --help` for a full listing of command-line options.
+### Getting Started
+This project is following the standard **Git Feature Workflow** development model. Learn about all the various steps of the development workflow, from creating a fork to submitting a pull request, in the [Contributing](https://github.com/ietf-tools/.github/blob/main/CONTRIBUTING.md) guide.
+> Make sure to read the [Styleguides](https://github.com/ietf-tools/.github/blob/main/CONTRIBUTING.md#styleguides) section to ensure a cohesive code format across the project.
+You can submit bug reports, enhancements and new feature requests in the [discussions](https://github.com/ietf-tools/xml2rfc/discussions) area. Accepted tickets will be converted to issues.
+#### Git Cloning Tips
+As outlined in the [Contributing](https://github.com/ietf-tools/.github/blob/main/CONTRIBUTING.md) guide, you will first want to create a fork of the xml2rfc project in your personal GitHub account before cloning it.
+For example *(replace `USERNAME` with your GitHub username)*:
+```sh
+git clone https://github.com/USERNAME/xml2rfc.git
+```
+#### Docker Dev Environment
+Run `./run.sh` command to build and start a docker development environment.
+The initial build may take time because it downloads all required fonts as well.
+```sh
+./run.sh
+```
+[IETF]: https://www.ietf.org/
+[RFCs]: https://www.rfc-editor.org/
+[RFC7749]: https://www.rfc-editor.org/info/rfc7749
+[RFC7991]: https://www.rfc-editor.org/info/rfc7991
+[bis draft for 7991]: https://datatracker.ietf.org/doc/draft-iab-rfc7991bis/
+[v3.rng]: xml2rfc/data/v3.rng
+[documentation xml2rfc produces]: https://ietf-tools.github.io/xml2rfc/
+[preptool]: https://www.rfc-editor.org/info/rfc7998
+[WeasyPrint]: https://weasyprint.org/
+[WeasyPrint Docs]: https://doc.courtbouillon.org/weasyprint/stable/first_steps.html
+
+%prep
+%autosetup -n xml2rfc-3.16.0
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-xml2rfc -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Thu Mar 09 2023 Python_Bot <Python_Bot@openeuler.org> - 3.16.0-1
+- Package Spec generated