diff --git a/.gitignore b/.gitignore index e69de29..6052736 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,15 @@ +/xmlada-gpl-3.2.1-src.tgz +/xmlada-gpl-4.1-src.tgz +/xmlada-gpl-4.3-src.tgz +/xmlada-gpl-2013-src.tgz +/xmlada-gpl-2015-src.tar.gz +/xmlada-gpl-2016-src.tar.gz +/xmlada-gpl-2017-src.tar.gz +/xmlada-gpl-2018-20180524-src.tar.gz +/xmlada-2019-20190429-19B9D-src.tar.gz +/xmlada-2020-20200429-19A99-src.tar.gz +/xmlada-22.0.0.tar.gz +/xmlada-23.0.0.tar.gz +/xmlada-24.0.0.tar.gz +/xmlada-25.0.0.tar.gz +/xmlada-26.0.0.tar.gz diff --git a/sources b/sources index e69de29..313a9f1 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +SHA512 (xmlada-26.0.0.tar.gz) = b97f7727df52229f8e76ab169f4b42b9b82b20c82555607d65455f6cb7836c83219017a45b832de38b348e595f5a68d0987e3c568293b45fc285ffdc3ec3aa01 diff --git a/xmlada.gpr b/xmlada.gpr new file mode 100644 index 0000000..b755c81 --- /dev/null +++ b/xmlada.gpr @@ -0,0 +1,9 @@ +with "xmlada_unicode"; +with "xmlada_sax"; +with "xmlada_input"; +with "xmlada_dom"; +with "xmlada_schema"; + +project Xmlada is + for Source_Dirs use (); +end Xmlada; diff --git a/xmlada.spec b/xmlada.spec new file mode 100644 index 0000000..bb65e7e --- /dev/null +++ b/xmlada.spec @@ -0,0 +1,550 @@ +# This package has a bootstrap build mode that can be used to create a source +# code package for bootstrapping GPRbuild. See the 'gprbuild' spec file for more +# information. +%bcond_with bootstrap + +# Upstream source information. +%global upstream_owner AdaCore +%global upstream_name xmlada +%global upstream_version 26.0.0 +%global upstream_commit 5e5b761eb827f458efd2043a5e9ab03e1a614720 + +Name: xmlada +Epoch: 2 +Version: %{upstream_version} +Release: 5%{?dist} +Summary: XML library for Ada + +License: GPL-3.0-or-later WITH GCC-exception-3.1 AND Unicode-DFS-2016 +# XML/Ada itself is licensed under GPL v3 or later with a runtime exception. The +# Unicode license is mentioned as Unicode data files were used as an input for +# generating some of XML/Ada's source code. + +URL: https://github.com/%{upstream_owner}/%{upstream_name} +Source0: %{url}/archive/%{upstream_commit}.tar.gz#/%{upstream_name}-%{upstream_version}.tar.gz + +# XML/Ada's aggregate project file. This project file is normally generated and +# installed by GPRinstall, but as we'll install each XML/Ada component +# separately, we need to maintain and install it manually. +Source1: xmlada.gpr + +BuildRequires: make +%if %{without bootstrap} +BuildRequires: gcc-gnat gprbuild sed +BuildRequires: fedora-gnat-project-common +BuildRequires: python3-sphinx +BuildRequires: python3-sphinx-latex +BuildRequires: python3-sphinx_rtd_theme +%else +BuildRequires: findutils +%endif + +# Build only on architectures where GPRbuild is available. +ExclusiveArch: %{GPRbuild_arches} + +%global common_description_en \ +XML/Ada includes support for parsing XML files, including DTDs, full support for \ +SAX, and an almost complete support for the core part of the DOM. It includes \ +support for validating XML files with XML schemas. + +%description %{common_description_en} + + +################# +## Subpackages ## +################# + +%if %{without bootstrap} + +%package devel +Summary: Development files for the XML/Ada library +Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} +Requires: fedora-gnat-project-common +Recommends: %{name}-doc + +%description devel %{common_description_en} + +This package contains source code and linking information for developing +applications that use the XML/Ada library. + + +%package static +Summary: Static libraries of XML/Ada +Requires: %{name}-devel%{?_isa} = %{epoch}:%{version}-%{release} + +%description static %{common_description_en} + +This package contains the XML/Ada libraries for static linking. It is needed +for linking GPRbuild statically so that GPRbuild will remain functional when +libraries are upgraded. + +Other Fedora packages shall require xmlada-devel rather than xmlada-static if +possible. + + +%package doc +Summary: Documentation for the XML/Ada library +BuildArch: noarch +License: AdaCore-doc AND MIT AND BSD-2-Clause +# License for the documentation is AdaCore-doc. The Javascript and CSS files +# that Sphinx includes with the documentation are BSD 2-Clause and MIT-licensed. +Requires: font(fontawesome) +Requires: font(lato) +Requires: font(robotoslab) +# Fonts are required by the Read the Docs Sphinx theme. + +%description doc %{common_description_en} + +This package contains the documentation in HTML and PDF, and some examples. + + +%else + +# When bootstrapping gprbuild, only a package that contains source code is +# produced, so a debug package is not needed. +%global debug_package %{nil} + +%package sources +Summary: Sources of the XML/Ada library (for bootstrapping GPRbuild) +BuildArch: noarch + +%description sources %{common_description_en} + +This package contains source code for bootstrapping GPRbuild on architectures +on which GPRbuild is not yet available. + +%endif + + +############# +## Prepare ## +############# + +%prep +%autosetup -C -p1 + +# Set version number. +sed --in-place --expression 's/18.0w/%{version}/' configure configure.in + + +########### +## Build ## +########### + +%build +%if %{without bootstrap} +%configure --enable-build=distrib --enable-shared + +# Build the libraries. +%{make_build} shared static-pic GPROPTS='%{GPRbuild_flags}' + +# Make the documentation. +make -C docs html latexpdf + +%else +%{configure} --enable-build=distrib + +%endif + + +############# +## Install ## +############# + +%install +%if %{without bootstrap} + +# Verify that the ALI files of both builds (relocatable and static-pic) match. +# The verfication is necessary as GPRinstall will overwrite the ALI files during +# the installation of the static-pic build (which is installed after the +# relocatable build). +for component_dir in dom schema unicode sax input_sources ; do + diff --exclude "*.a" --exclude "*.so*" --exclude ".cvsignore" \ + %{_builddir}/%{name}-%{version}/${component_dir}/lib/relocatable \ + %{_builddir}/%{name}-%{version}/${component_dir}/lib/static-pic +done + +# Install each component. +function run_gprinstall { + local libtype=$1 + local component=$2 + local directory=$3 # directory name in the source tree + %{GPRinstall -s xmlada/${component}} \ + --build-var=LIBRARY_TYPE --build-var=XMLADA_BUILD \ + --build-name=${libtype} -XLIBRARY_TYPE=${libtype} \ + -P ${directory}/%{name}_${component}.gpr +} + +for libtype in relocatable static-pic ; do + for component in dom schema unicode sax ; do + run_gprinstall ${libtype} ${component} ${component} + done + + # The "input" component needs special treatment as its dirname in the source + # tree ("input_sources") is not reflected in its GNAT project file + # ("xmlada_input.gpr"). + run_gprinstall ${libtype} input input_sources +done + +# Install the aggregate project file ("xmlada.gpr"). +install --mode=u=rw,go=r,a-s --preserve-timestamps \ + %{SOURCE1} --target-directory=%{buildroot}%{_GNAT_project_dir} + +# Fix up the symbolic links for the shared libraries. +for component in dom input_sources schema unicode sax ; do + ln --symbolic --force lib%{name}_${component}.so.%{version} \ + %{buildroot}%{_libdir}/lib%{name}_${component}.so +done + +# Move examples to the _pkgdocdir and remove the remaining empty directory. +mv --no-target-directory %{buildroot}%{_datadir}/examples/%{name} \ + %{buildroot}%{_pkgdocdir}/examples + +rmdir %{buildroot}%{_datadir}/examples + +# Make the generated project files architecture-independent. +for component in dom input schema unicode sax ; do + sed --regexp-extended --in-place \ + '--expression=1i with "directories";' \ + '--expression=/^-- This project has been generated/d' \ + '--expression=s|^( *for +Source_Dirs +use +).*;$|\1(Directories.Includedir \& "/'%{name}/${component}'");|i' \ + '--expression=s|^( *for +Library_Dir +use +).*;$|\1Directories.Libdir;|i' \ + '--expression=s|^( *for +Library_ALI_Dir +use +).*;$|\1Directories.Libdir \& "/'%{name}'";|i' \ + %{buildroot}%{_GNAT_project_dir}/%{name}_${component}.gpr + # The Sed commands are: + # 1: Insert a with clause before the first line to import the directories + # project. + # 2: Delete a comment that mentions the architecture. + # 3: Replace the value of Source_Dirs with a pathname based on + # Directories.Includedir. + # 4: Replace the value of Library_Dir with Directories.Libdir. + # 5: Replace the value of Library_ALI_Dir with a pathname based on + # Directories.Libdir. +done + +%else + +# Copy the source files. +mkdir --parents %{buildroot}%{_includedir}/%{name}/sources +cp -r . %{buildroot}%{_includedir}/%{name}/sources +find %{buildroot}%{_includedir}/%{name}/sources -type f ! -name "*ad[sb]" ! -name "*gpr" -delete +find %{buildroot}%{_includedir}/%{name}/sources -type d -empty -delete + +%endif + + +########### +## Files ## +########### + +%if %{without bootstrap} + +%files +%license COPYING3 COPYING.RUNTIME +%doc README* TODO AUTHORS +%{_libdir}/lib%{name}*.so.%{version} + +%files devel +%{_GNAT_project_dir}/%{name}*.gpr +%{_includedir}/%{name} +%dir %{_libdir}/%{name} +%attr(444,-,-) %{_libdir}/%{name}/*.ali +%{_libdir}/lib%{name}*.so + +%files static +%{_libdir}/lib%{name}*.a + +%files doc +%dir %{_pkgdocdir} +%{_pkgdocdir}/*.html +%{_pkgdocdir}/searchindex.js +%{_pkgdocdir}/_sources +%{_pkgdocdir}/_static +%{_pkgdocdir}/XMLAda.pdf +%{_pkgdocdir}/examples +# Exclude Sphinx-generated files that aren't needed in the package. +%exclude %{_pkgdocdir}/.buildinfo +%exclude %{_pkgdocdir}/objects.inv + +%else + +%files sources +%{_includedir}/%{name} + +%endif + + +############### +## Changelog ## +############### + +%changelog +* Fri Jul 17 2026 Fedora Release Engineering - 2:26.0.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Sun May 10 2026 Björn Persson - 2:26.0.0-4 +- Rebuilt because GCC broke ALI again. + +* Sat Mar 28 2026 Björn Persson - 2:26.0.0-3 +- Rebuilt because GCC 16.0.1-0.10 broke ALI. + +* Sat Jan 17 2026 Fedora Release Engineering - 2:26.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Tue Dec 23 2025 Dennis van Raaij - 2:26.0.0-1 +- Updated to v26.0.0. + +* Fri Aug 08 2025 Björn Persson - 2:25.0.0-7 +- Rebuilt because the ALI of System.OS_Constants changed. + +* Fri Jul 25 2025 Fedora Release Engineering - 2:25.0.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sun Jan 19 2025 Fedora Release Engineering - 2:25.0.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Jan 15 2025 Björn Persson - 2:25.0.0-4 +- Rebuilt with another GCC 15 prerelease. + +* Mon Jan 13 2025 Björn Persson - 2:25.0.0-3 +- Rebuilt with GCC 15 prerelease. + +* Wed Dec 04 2024 Pavel Zhukov - 2:25.0.0-2 +- Disable bootstrap + +* Sun Oct 27 2024 Dennis van Raaij - 2:25.0.0-1 +- Updated to v25.0.0. + +* Sat Jul 20 2024 Fedora Release Engineering - 2:24.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sun Jan 28 2024 Dennis van Raaij - 2:24.0.0-1 +- Updated to v24.0.0. +- Generated HTML-documentation now uses the 'Read the Docs' Sphinx theme. + +* Sat Jan 27 2024 Fedora Release Engineering - 2:23.0.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Tue Jan 16 2024 Björn Persson - 2:23.0.0-4 +- Rebuilt with GCC 14 prerelease. + +* Sat Jul 22 2023 Fedora Release Engineering - 2:23.0.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Mar 13 2023 Björn Persson - 2:23.0.0-2 +- Set a minimum version of fedora-gnat-project-common. +- Simplified the install section a bit. + +* Tue Feb 14 2023 Dennis van Raaij - 2:23.0.0-1 +- Updated to v23.0.0, using the archive available on GitHub. +- Removed backport patch for improved Unicode support. +- Removed fix for file permissions; has been fixed upstream (commit: 9e1bd23). +- Removed patch gprbuild-gprinstall-relocate-artifacts.patch; move files after + GPRinstall has run. +- Moved the documentation back to where is was until version 2:22.0.0. + +* Sun Feb 12 2023 Dennis van Raaij - 2:22.0.0-1 +- Updated to v22.0.0, using the archive available on GitHub. +- Changed the epoch to mark the new upstream version scheme. +- Changed the epoch to 2 instead of 1 for consistency with the GNATcoll + packages. +- Updated the license, a runtime exception has now been added. +- Added new build dependencies to build the documentation with Sphinx and LaTeX. +- Examples are now located in _pkgdocdir/examples. +- License field now contains an SPDX license expression. +- Added the Unicode license to cover all code that has been generated using + Unicode data. +- Removed some post-install steps that are no longer required. +- Static libraries are now build position independent (PIC). +- Fix permission errors in the prep step; these are source packaging errors. +- Updated some summaries and descriptions. +- Improved spec file readability. +- Marked the source package as architecture independent. +- Removed empty directory '_libdir/static'; it seems to have no purpose. +- Moved all libraries from '_libdir/xmlada' to '_libdir'. +- Fix up the symbolic links for the shared libraries. +- Moved documentation and examples into a separate package. +- Made the generated project files architecture-independent. +- Added a build dependency on sed, removed the explicit version dependency on + GPRbuild. +- Bootstrap mode can now be enabled via a configuration option. + +* Sat Jan 21 2023 Fedora Release Engineering - 2020-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Jan 17 2023 Björn Persson - 2020-9 +- Rebuilt with GCC 13. + +* Sat Jul 23 2022 Fedora Release Engineering - 2020-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jan 22 2022 Fedora Release Engineering - 2020-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sun Jan 16 2022 Björn Persson - 2020-6 +- Rebuilt with GCC 12 prerelease. + +* Fri Jul 23 2021 Fedora Release Engineering - 2020-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Jan 28 2021 Fedora Release Engineering - 2020-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Dec 21 2020 Pavel Zhukov - 2020-3 +- Rebuild. Ali files invalidated by gcc update + +* Tue Dec 8 2020 Pavel Zhukov - 2020-2 +- Disable gprbuild's bootstraping + +* Tue Dec 8 2020 Pavel Zhukov - 2020-1 +- New version v2020 + +* Mon Dec 07 2020 Jeff Law - 2019-4 +- Gcc 11 bootstrap + +* Sat Aug 01 2020 Fedora Release Engineering - 2019-3 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 2019-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Feb 3 2020 Björn Persson - 2019-1 +- Upgraded to the 2019 release. + +* Mon Feb 3 2020 Pavel Zhukov - 2018-11 +- rebuild with new gprbuild + +* Mon Feb 3 2020 Pavel Zhukov - 2018-10 +- Gcc 10 bootstrap + +* Fri Jan 31 2020 Fedora Release Engineering - 2018-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jul 27 2019 Fedora Release Engineering - 2018-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat Feb 9 2019 Pavel Zhukov - 2018-7 +- Rebuld with new gnat-rpm-macros +- Build with gprbuild 2018 + +* Tue Feb 5 2019 Pavel Zhukov - 2018-4 +- Rebuild with new gprbuild + +* Tue Feb 5 2019 Pavel Zhukov - 2018-2 +- Produce source only package in bootstrap mode + +* Sun Feb 03 2019 Fedora Release Engineering - 2017-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 2017-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Apr 3 2018 Pavel Zhukov - 2017-6 +- Build source packages on non gprbuild enabled arches for bootstraping + +* Tue Feb 6 2018 Pavel Zhukov - 2017-5 +- Rebuild with new gnat + +* Thu Aug 03 2017 Fedora Release Engineering - 2017-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 2017-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Jul 15 2017 Pavel Zhukov - 2017-2 +- rebuild with new gprbuild + +* Fri Jul 7 2017 Pavel Zhukov - 2017-1 +- New version (2017) + +* Wed Apr 20 2017 Pavel Zhukov <> - 2016-5 +- Rebuild to fix non x86 arches ali versions + +* Fri Feb 17 2017 Björn Persson - 2016-4 +- Reverted the temporary workaround. + +* Sun Feb 12 2017 Björn Persson - 2016-3 +- Made a temporary workaround to rebuild with GCC 7 prerelease. + +* Sat Feb 4 2017 Pavel Zhukov - 2016-1 +- Rebuild with new gnat + +* Mon Aug 08 2016 Björn Persson - 2016-1 +- Upgraded to the 2016 release. +- Removed the irrelevant and FHS-violating manifest file. +- The license has changed to GPLv3+. + +* Sun May 01 2016 Björn Persson - 2015-12 +- Tagged the license file as such. + +* Fri Feb 05 2016 Fedora Release Engineering - 2015-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Sun Jan 31 2016 Björn Persson - 2015-10 +- Rebuilt with GCC 6 prerelease. + +* Sat Dec 19 2015 Björn Persson - 2015-8 +- Added a -static subpackage for linking GPRbuild statically. + +* Wed Jun 24 2015 Pavel Zhukov <> - 2015-7 +- Remove temporary links + +* Wed Jun 24 2015 Pavel Zhukov <> - 2015-6 +- Move sources to separate directories +- Add temporary symlinks to allow gprbuiild bootstraping +- Fix temporary (upgrade) links pattern +- Provide previous version to upgrade gprbuild + +* Tue Jun 23 2015 Pavel Zhukov <> - 2015-2 +- Install xmlada.gpr + +* Wed Jun 17 2015 Pavel Zhukov <> - 2015-1 +- New release (#2015) + +* Wed Apr 29 2015 Peter Robinson 2013-11 +- rebuild (gcc / gnat 5) + +* Sun Mar 15 2015 Pavel Zhukov - 2013-10 +- Create unversioned symlinks + +* Sat Feb 14 2015 Pavel Zhukov - 2013-9 +- Rebuild with new gcc 4.9 + +* Mon Aug 18 2014 Fedora Release Engineering - 2013-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sun Jun 08 2014 Fedora Release Engineering - 2013-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue May 13 2014 Peter Robinson 2013-6 +- Use GNAT_arches rather than an explicit list + +* Tue May 13 2014 Peter Robinson 2013-5 +- aarch64 now has Ada + +* Sun Apr 20 2014 Pavel Zhukov - 2013-4 +- Rebuild for new gcc + +* Sun Aug 04 2013 Fedora Release Engineering - 2013-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Sat Jul 13 2013 Pavel ZHukov - 2013-2 +- New release +- AdaCore has moved to years in version. +- Fix gpr error + +* Sat Mar 09 2013 Pavel Zhukov - 4.3-5 +- Aws failed to bind with xmlada + +* Fri Jan 25 2013 Kevin Fenzi 4.3-4 +- Rebuild for new libgnat + +* Fri Jan 25 2013 Pavel Zhukov - 4.3-3 +- Rebuild with GCC 4.8 + +* Tue Dec 18 2012 Pavel Zhukov - 4.3-2 +- Fix gpr patch + +* Mon Dec 17 2012 Pavel Zhukov - 4.3-1 +- New release