# # spec file for package docbook-xsl # # Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define realversion 1.79.2 # %define db4rootdir %{_datadir}/xml/docbook/stylesheet/nwalsh %define db4package docbook-xsl-stylesheets %define db4style_catalog %{db4package}.xml # %define db5rootdir %{_datadir}/xml/docbook/stylesheet/nwalsh5 %define db5package docbook5-xsl-stylesheets %define db5style_catalog %{db5package}.xml # %define etcxmlcatalogd %{_sysconfdir}/xml/catalog.d # Name: docbook-xsl Version: 1.79.2.1 Release: 0 Summary: XSL Stylesheets for DocBook License: MIT AND MPL-1.1 Group: Productivity/Publishing/DocBook URL: https://github.com/docbook/xslt10-stylesheets Source0: https://github.com/docbook/xslt10-stylesheets/releases/download/release/%{realversion}/docbook-xsl-%{realversion}.tar.bz2 Source1: https://github.com/docbook/xslt10-stylesheets/releases/download/release/%{realversion}/docbook-xsl-doc-%{realversion}.tar.bz2 Source2: %{db4style_catalog} Source3: %{db5style_catalog} # Build scripts Source10: dbxslt-install.sh Source11: xslnons-build ## PATCH-FIX-OPENSUSE docbook-xsl-stylesheets-dbtoepub.patch Fixed dirname Patch0: %{name}-dbtoepub.patch ## PATCH-FIX-OPENSUSE docbook-xsl-stylesheets-non-recursive_string_subst.patch Use EXSLT replace function to avoid recursive implementation of string.subst Patch1: %{name}-non-recursive_string_subst.patch ## PATCH-FIX-OPENSUSE docbook-xsl-1.79.2-assembly-assemble.xsl.patch Copy xml:lang of to result (assemble.xsl) Patch2: %{name}-%{realversion}-assembly-assemble.xsl.patch BuildRequires: fdupes BuildRequires: sgml-skel >= 0.7 BuildRequires: unzip Requires: docbook_4 Requires: sgml-skel >= 0.7 Requires: xmlcharent Requires(post): sgml-skel >= 0.7 Requires(postun):sgml-skel >= 0.7 Requires(pre): %{_bindir}/xmlcatalog BuildArch: noarch #-------------------------------------------------------------------------- %description %{summary}. Wrapper package for DocBook 4 and 5 stylesheets. %package -n %{db4package} Summary: XSL Stylesheets for DocBook 4 Group: Productivity/Publishing/XML Requires: docbook_4 Requires: sgml-skel >= 0.7 Requires: xmlcharent Requires(post): sgml-skel >= 0.7 Requires(postun):sgml-skel >= 0.7 Suggests: rubygem(dbtoepub) %description -n %{db4package} These are the XSL stylesheets for DocBook XML and "Simplified" DocBook DTDs. Use these stylesheets for documents based on DocBook 4 and earlier; they are not aware of the namespace feature. The stylesheets transform DocBook 4 documents into HTML, XHTML, Manpages, XSL-FO (for PDF), and a few other formats. XSL is a standard W3C stylesheet language for both print and online rendering. For more information about XSL, see the XSL page at the W3C: http://www.w3.org/Style/XSL/ %package -n docbook5-xsl-stylesheets Summary: XSL Stylesheets for DocBook 5 Group: Productivity/Publishing/XML Requires: docbook_5 Requires: sgml-skel >= 0.7 Requires: xmlcharent Requires(post): sgml-skel >= 0.7 Requires(postun):sgml-skel >= 0.7 Suggests: rubygem(dbtoepub) %description -n docbook5-xsl-stylesheets These are the XSL stylesheets for DocBook 5 XML and "Simplified" DocBook 5. Use these stylesheets for documents based on DocBook 5; they are aware of the namespace feature. The stylesheets transform DocBook 5 documents into HTML, XHTML, Manpages, XSL-FO (for PDF), and a few other formats. XSL is a standard W3C stylesheet language for both print and online rendering. For more information about XSL, see the XSL page at the W3C: http://www.w3.org/Style/XSL/ %package pdf2index # License: MPL-1.1 and MIT Summary: Script to create Indices for FOP Group: Productivity/Publishing/XML Requires: ImageMagick Requires: perl %description pdf2index Contains the script pdf2index which creates indices for FOP. %prep # %%setup -q -n docbook-xsl-%%{realversion} -b1 %setup -q -c -T -n docbook-xsl # Prepare directories: mkdir docbook-xsl-%{realversion}-ns docbook-xsl-%{realversion}-nons # Copy all source files and make scripts executable: cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} . chmod +x $(basename %{SOURCE10}) $(basename %{SOURCE11}) # Replace version in XML catalog files db4=$(basename %{SOURCE2}) db5=$(basename %{SOURCE3}) sed --in-place 's/@VERSION@/%{realversion}/g' $db4 sed --in-place 's/@VERSION@/%{realversion}/g' $db5 # Unpack stylesheet and doc sources into the correct directory: tar xf %{SOURCE0} -C docbook-xsl-%{realversion}-ns --strip-components 1 tar xf %{SOURCE1} -C docbook-xsl-%{realversion}-ns --strip-components 1 # Patch the orginal source and remove unnecessary files: (cd docbook-xsl-%{realversion}-ns %patch0 -p1 %patch1 -p1 %patch2 -p1 # Remove some Python and Java extensions # Remove dbtoepub Ruby script. This has been moved to devel:languages:ruby:extensions # see rubygem-dbtoepub rm -rf extensions/*.py extensions/saxon65.jar extensions/xalan27.jar \ extensions/build.xml epub/bin ) %build pushd docbook-xsl-%{realversion}-ns find slides -regex ".*\.\(xml\|htc\|\|hu\|js\|svg\|css\|html\.*\|txt\|rnc\|xhtml\)" \ -exec sed -i 's/\r//' {} \; # Fix wrong end-of-line encoding: sed -i 's/\r//' params/* # Correct file and directory properties: find -type f -exec chmod 644 {} \; find -type d -exec chmod 755 {} \; # Remove any .htaccess files: find -type f -name "\.htaccess" -exec rm {} \; popd # Create the non-NS variant from the NS original source: ./xslnons-build docbook-xsl-%{realversion}-ns docbook-xsl-%{realversion}-nons %install mkdir -p %{buildroot}%{_sysconfdir}/xml/catalog.d \ %{buildroot}%{rb_libdir}/ ./dbxslt-install.sh --debug --buildroot=%{buildroot} \ --package-version=%{realversion} \ --package-name=%{db4package} \ --sourcedir=docbook-xsl-%{realversion}-nons ./dbxslt-install.sh --debug --buildroot=%{buildroot} \ --package-version=%{realversion} \ --package-name=%{db5package} \ --db-xsl-suffix=nwalsh5 \ --sourcedir=docbook-xsl-%{realversion}-ns # The directory is already available at this point: install -m644 %{db4style_catalog} %{db5style_catalog} %{buildroot}%{etcxmlcatalogd} %fdupes -s %{buildroot} %post -n %{db4package} update-xml-catalog %postun -n %{db4package} update-xml-catalog %post -n %{db5package} update-xml-catalog %postun -n %{db5package} update-xml-catalog %files -n %{db4package} %config %{_sysconfdir}/xml/catalog.d/%{db4style_catalog} %doc docbook-xsl-%{realversion}-nons/BUGS docbook-xsl-%{realversion}-nons/NEWS %doc docbook-xsl-%{realversion}-nons/README docbook-xsl-%{realversion}-nons/RELEASE-NOTES.* %doc docbook-xsl-%{realversion}-nons/TODO %dir %{_datadir}/xml/docbook/stylesheet %dir %{db4rootdir} %dir %{db4rootdir}/%{realversion} %exclude %{db4rootdir}/%{realversion}/fo/pdf2index %{db4rootdir}/current %{db4rootdir}/%{realversion}/* %files -n %{db5package} %config %{_sysconfdir}/xml/catalog.d/%{db5style_catalog} %doc docbook-xsl-%{realversion}-ns/BUGS docbook-xsl-%{realversion}-ns/NEWS %doc docbook-xsl-%{realversion}-ns/README docbook-xsl-%{realversion}-ns/RELEASE-NOTES.* %doc docbook-xsl-%{realversion}-ns/TODO %dir %{_datadir}/xml/docbook/stylesheet %dir %{db5rootdir} %dir %{db5rootdir}/%{realversion} %exclude %{db5rootdir}/%{realversion}/fo/pdf2index %{db5rootdir}/current %{db5rootdir}/%{realversion}/* %files pdf2index %attr(0755,root,root) %{_bindir}/pdf2index %changelog