diff --git a/.gitignore b/.gitignore index 812bbbe..6052736 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +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 3dfd44e..313a9f1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c17ac563b8375bd652a0eb8e141cda59 xmlada-gpl-4.1-src.tgz +SHA512 (xmlada-26.0.0.tar.gz) = b97f7727df52229f8e76ab169f4b42b9b82b20c82555607d65455f6cb7836c83219017a45b832de38b348e595f5a68d0987e3c568293b45fc285ffdc3ec3aa01 diff --git a/xmlada-4.1-destdir.patch b/xmlada-4.1-destdir.patch deleted file mode 100644 index f501632..0000000 --- a/xmlada-4.1-destdir.patch +++ /dev/null @@ -1,157 +0,0 @@ ---- a/Makefile.in 2011-07-16 11:17:09.335569486 +0400 -+++ b/Makefile.in 2011-07-16 11:19:13.406569528 +0400 -@@ -2,7 +2,7 @@ - ## relocatable - ## static - LIBRARY_TYPE=static -- -+DESTDIR ?= - # Replace with the location for the installation directory - INSTALL=@INSTALL@ - PACKAGE_TARNAME=@PACKAGE_TARNAME@ -@@ -114,30 +114,30 @@ - cd ${xmllib}; ${CHMOD} ugo-w *.ali - - install_dirs: force -- @${MKDIR} ${bindir} -- @${MKDIR} ${xmllib} -- @${MKDIR} ${libdir}/gnat/xmlada -- @${MKDIR} ${datadir}/doc/xmlada -- @${MKDIR} ${includedir}/xmlada -- @${MKDIR} ${datadir}/gps/plug-ins/ -+ @${MKDIR} ${DESTDIR}/${bindir} -+ @${MKDIR} ${DESTDIR}/${xmllib} -+ @${MKDIR} ${DESTDIR}/${libdir}/gnat/xmlada -+ @${MKDIR} ${DESTDIR}/${datadir}/doc/xmlada -+ @${MKDIR} ${DESTDIR}/${includedir}/xmlada -+ @${MKDIR} ${DESTDIR}/${datadir}/gps/plug-ins/ - - ## Do the installation for either shared or static, depending on - ## $LIBRARY_TYPE - install_library_type: install_dirs ${MODULE_INSTALL} -- ${INSTALL} distrib/xmlada_shared.gpr ${libdir}/gnat -- ${INSTALL} distrib/xmlada.gpr ${libdir}/gnat/ -- ${INSTALL} distrib/xmlada_dom.gpr ${libdir}/gnat/ -- ${INSTALL} distrib/xmlada_sax.gpr ${libdir}/gnat/ -- ${INSTALL} distrib/xmlada_input.gpr ${libdir}/gnat/ -- ${INSTALL} distrib/xmlada_schema.gpr ${libdir}/gnat/ -- ${INSTALL} distrib/xmlada_unicode.gpr ${libdir}/gnat/ -- ${INSTALL} xmlada-config ${bindir} -- -${INSTALL} docs/xml.ps ${datadir}/doc/xmlada 2>/dev/null -- -${INSTALL} docs/xml.pdf ${datadir}/doc/xmlada -- -${INSTALL} docs/xml.html ${datadir}/doc/xmlada -- -${INSTALL} docs/xml.info ${datadir}/doc/xmlada -- ${CHMOD} +x ${bindir}/xmlada-config -- ${INSTALL} distrib/xmlada_gps.py ${datadir}/gps/plug-ins/ -+ ${INSTALL} distrib/xmlada_shared.gpr ${DESTDIR}/${libdir}/gnat -+ ${INSTALL} distrib/xmlada.gpr ${DESTDIR}/${libdir}/gnat/ -+ ${INSTALL} distrib/xmlada_dom.gpr ${DESTDIR}/${libdir}/gnat/ -+ ${INSTALL} distrib/xmlada_sax.gpr ${DESTDIR}/${libdir}/gnat/ -+ ${INSTALL} distrib/xmlada_input.gpr ${DESTDIR}/${libdir}/gnat/ -+ ${INSTALL} distrib/xmlada_schema.gpr ${DESTDIR}/${libdir}/gnat/ -+ ${INSTALL} distrib/xmlada_unicode.gpr ${DESTDIR}/${libdir}/gnat/ -+ ${INSTALL} xmlada-config ${DESTDIR}/${bindir} -+ -${INSTALL} docs/xml.ps ${DESTDIR}/${datadir}/doc/xmlada 2>/dev/null -+ -${INSTALL} docs/xml.pdf ${DESTDIR}/${datadir}/doc/xmlada -+ -${INSTALL} docs/xml.html ${DESTDIR}/${datadir}/doc/xmlada -+ -${INSTALL} docs/xml.info ${DESTDIR}/${datadir}/doc/xmlada -+ ${CHMOD} +x ${DESTDIR}/${bindir}/xmlada-config -+ ${INSTALL} distrib/xmlada_gps.py ${DESTDIR}/${datadir}/gps/plug-ins/ - - ## Do the installation for an explicit target - install_static: ---- a/Makefile.in 2011-07-16 11:21:57.232569582 +0400 -+++ b/Makefile.in 2011-07-16 11:22:12.952569588 +0400 -@@ -1,7 +1,7 @@ - ## The type of library we want to build. Possible values: - ## relocatable - ## static --LIBRARY_TYPE=static -+LIBRARY_TYPE=relocatable - DESTDIR ?= - # Replace with the location for the installation directory - INSTALL=@INSTALL@ ---- a/Makefile.in 2011-07-16 11:27:57.295569704 +0400 -+++ b/Makefile.in 2011-07-16 11:30:25.628569754 +0400 -@@ -91,27 +91,27 @@ - - # Rule for installing the modules - %_inst: force -- ${CP} $*/*.ad[bs] ${includedir}/xmlada -- cd $*; ls *.ad[bs] > ${libdir}/gnat/xmlada/xmlada_$*.lgpr -- -cd ${xmllib}; ${CHMOD} ugo+w *.ali -- -${CP} $*/lib/${LIBRARY_TYPE}/*.ali ${xmllib} -- ${RM} ${libdir}/libxmlada_$** -- ${RM} ${xmllib}libxmlada_$** -+ ${CP} $*/*.ad[bs] ${DESTDIR}/${includedir}/xmlada -+ cd $*; ls *.ad[bs] > ${DESTDIR}/${libdir}/gnat/xmlada/xmlada_$*.lgpr -+ -cd ${DESTDIR}/${xmllib}; ${CHMOD} ugo+w *.ali -+ -${CP} $*/lib/${LIBRARY_TYPE}/*.ali ${DESTDIR}/${xmllib} -+ ${RM} ${DESTDIR}/${libdir}/libxmlada_$** -+ ${RM} ${DESTDIR}/${xmllib}libxmlada_$** - ifeq (${LIBRARY_TYPE},static) -- ${INSTALL} $*/lib/${LIBRARY_TYPE}/libxmlada_$*.a ${xmllib} -+ ${INSTALL} $*/lib/${LIBRARY_TYPE}/libxmlada_$*.a ${DESTDIR}/${xmllib} - else - ifeq (${OS},Windows_NT) - ${INSTALL} $*/lib/${LIBRARY_TYPE}/libxmlada_$*.${LIBEXT} ${xmllib} - cd ${bindir}; ${CP} ${libdir}/xmlada/${LIBRARY_TYPE}/libxmlada_$*.${LIBEXT} libxmlada_$*.${LIBEXT} - else -- ${INSTALL} $*/lib/${LIBRARY_TYPE}/libxmlada_$*.${LIBEXT}.${VERSION} ${xmllib} -- cd ${xmllib}; ${LN_S} libxmlada_$*.${LIBEXT}.${VERSION} libxmlada_$*.${LIBEXT} -- cd ${xmllib}; ${LN_S} libxmlada_$*.${LIBEXT}.${VERSION} libxmlada_$*.${LIBEXT}.${basename ${VERSION}} -- cd ${libdir}; ${LN_S} xmlada/${LIBRARY_TYPE}/libxmlada_$*.${LIBEXT}.${VERSION} libxmlada_$*.${LIBEXT}.${basename ${VERSION}} -- cd ${libdir}; ${LN_S} xmlada/${LIBRARY_TYPE}/libxmlada_$*.${LIBEXT}.${VERSION} libxmlada_$*.${LIBEXT}.${VERSION} -+ ${INSTALL} $*/lib/${LIBRARY_TYPE}/libxmlada_$*.${LIBEXT}.${VERSION} ${DESTDIR}/${xmllib} -+ cd ${DESTDIR}/${xmllib}; ${LN_S} libxmlada_$*.${LIBEXT}.${VERSION} libxmlada_$*.${LIBEXT} -+ cd ${DESTDIR}/${xmllib}; ${LN_S} libxmlada_$*.${LIBEXT}.${VERSION} libxmlada_$*.${LIBEXT}.${basename ${VERSION}} -+ cd ${DESTDIR}/${libdir}; ${LN_S} xmlada/${LIBRARY_TYPE}/libxmlada_$*.${LIBEXT}.${VERSION} libxmlada_$*.${LIBEXT}.${basename ${VERSION}} -+ cd ${DESTDIR}/${libdir}; ${LN_S} xmlada/${LIBRARY_TYPE}/libxmlada_$*.${LIBEXT}.${VERSION} libxmlada_$*.${LIBEXT}.${VERSION} - endif - endif -- cd ${xmllib}; ${CHMOD} ugo-w *.ali -+ cd ${DESTDIR}/${xmllib}; ${CHMOD} ugo-w *.ali - - install_dirs: force - @${MKDIR} ${DESTDIR}/${bindir} ---- a/Makefile.in 2011-07-16 11:47:49.580570102 +0400 -+++ b/Makefile.in 2011-07-16 11:49:47.465570142 +0400 -@@ -92,7 +92,7 @@ - # Rule for installing the modules - %_inst: force - ${CP} $*/*.ad[bs] ${DESTDIR}/${includedir}/xmlada -- cd $*; ls *.ad[bs] > ${DESTDIR}/${libdir}/gnat/xmlada/xmlada_$*.lgpr -+ cd $*; ls *.ad[bs] > ${DESTDIR}/${ADA_PROJECT_PATH}/xmlada/xmlada_$*.lgpr - -cd ${DESTDIR}/${xmllib}; ${CHMOD} ugo+w *.ali - -${CP} $*/lib/${LIBRARY_TYPE}/*.ali ${DESTDIR}/${xmllib} - ${RM} ${DESTDIR}/${libdir}/libxmlada_$** -@@ -116,7 +116,7 @@ - install_dirs: force - @${MKDIR} ${DESTDIR}/${bindir} - @${MKDIR} ${DESTDIR}/${xmllib} -- @${MKDIR} ${DESTDIR}/${libdir}/gnat/xmlada -+ @${MKDIR} ${DESTDIR}/${ADA_PROJECT_PATH}/xmlada - @${MKDIR} ${DESTDIR}/${datadir}/doc/xmlada - @${MKDIR} ${DESTDIR}/${includedir}/xmlada - @${MKDIR} ${DESTDIR}/${datadir}/gps/plug-ins/ -@@ -124,13 +124,13 @@ - ## Do the installation for either shared or static, depending on - ## $LIBRARY_TYPE - install_library_type: install_dirs ${MODULE_INSTALL} -- ${INSTALL} distrib/xmlada_shared.gpr ${DESTDIR}/${libdir}/gnat -- ${INSTALL} distrib/xmlada.gpr ${DESTDIR}/${libdir}/gnat/ -- ${INSTALL} distrib/xmlada_dom.gpr ${DESTDIR}/${libdir}/gnat/ -- ${INSTALL} distrib/xmlada_sax.gpr ${DESTDIR}/${libdir}/gnat/ -- ${INSTALL} distrib/xmlada_input.gpr ${DESTDIR}/${libdir}/gnat/ -- ${INSTALL} distrib/xmlada_schema.gpr ${DESTDIR}/${libdir}/gnat/ -- ${INSTALL} distrib/xmlada_unicode.gpr ${DESTDIR}/${libdir}/gnat/ -+ ${INSTALL} distrib/xmlada_shared.gpr ${DESTDIR}/${ADA_PROJECT_PATH} -+ ${INSTALL} distrib/xmlada.gpr ${DESTDIR}/${ADA_PROJECT_PATH}/ -+ ${INSTALL} distrib/xmlada_dom.gpr ${DESTDIR}/${ADA_PROJECT_PATH}/ -+ ${INSTALL} distrib/xmlada_sax.gpr ${DESTDIR}/${ADA_PROJECT_PATH}/ -+ ${INSTALL} distrib/xmlada_input.gpr ${DESTDIR}/${ADA_PROJECT_PATH}/ -+ ${INSTALL} distrib/xmlada_schema.gpr ${DESTDIR}/${ADA_PROJECT_PATH}/ -+ ${INSTALL} distrib/xmlada_unicode.gpr ${DESTDIR}/${ADA_PROJECT_PATH}/ - ${INSTALL} xmlada-config ${DESTDIR}/${bindir} - -${INSTALL} docs/xml.ps ${DESTDIR}/${datadir}/doc/xmlada 2>/dev/null - -${INSTALL} docs/xml.pdf ${DESTDIR}/${datadir}/doc/xmlada diff --git a/xmlada-4.1-gnatflags.patch b/xmlada-4.1-gnatflags.patch deleted file mode 100644 index 6f1008d..0000000 --- a/xmlada-4.1-gnatflags.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- a/Makefile.in 2011-07-16 12:05:27.728570456 +0400 -+++ b/Makefile.in 2011-07-16 12:06:24.945570476 +0400 -@@ -3,6 +3,7 @@ - ## static - LIBRARY_TYPE=relocatable - DESTDIR ?= -+GNATFLAGS ?= - # Replace with the location for the installation directory - INSTALL=@INSTALL@ - PACKAGE_TARNAME=@PACKAGE_TARNAME@ -@@ -20,7 +21,7 @@ - - # Set a default value (ignored if set in the environment) - PROCESSORS?=1 --GNATMAKE=@gnatmake@ -j${PROCESSORS} -+GNATMAKE=@gnatmake@ ${GNATFLAGS} - - # Compiler mode: one of "distrib", "debug", "optimize", "profile" - MODE=distrib diff --git a/xmlada-gpr.patch b/xmlada-gpr.patch deleted file mode 100644 index 74384fe..0000000 --- a/xmlada-gpr.patch +++ /dev/null @@ -1,97 +0,0 @@ ---- a/distrib/xmlada_dom.gpr 2011-03-01 12:18:26.928536602 +0300 -+++ b/distrib/xmlada_dom.gpr 2011-03-01 12:17:54.631541017 +0300 -@@ -1,12 +1,13 @@ -+with "directories"; - with "xmlada_shared"; - with "xmlada_sax"; - project XmlAda_Dom is - for Library_Name use "xmlada_dom"; - - for Library_Kind use Xmlada_Shared.Xmlada_Kind; -- for Source_Dirs use ("../../include/xmlada"); -+ for Source_Dirs use (Directories.Includedir & "/xmlada"); - for Source_List_File use "xmlada/" & Project'Library_Name & ".lgpr"; -- for Library_Dir use "../xmlada/" & Project'Library_Kind; -+ for Library_Dir use Directories.Libdir & "/xmlada/" & Project'Library_Kind; - for Library_Version use - "lib" & Project'Library_Name & ".so." & Xmlada_Shared.Version; - for Externally_Built use "true"; ---- a/distrib/xmlada_sax.gpr 2011-03-01 12:18:26.928536602 +0300 -+++ b/distrib/xmlada_sax.gpr 2011-03-01 12:17:54.633540891 +0300 -@@ -1,3 +1,4 @@ -+with "directories"; - with "xmlada_shared"; - with "xmlada_input"; - with "xmlada_unicode"; -@@ -5,9 +6,9 @@ - for Library_Name use "xmlada_sax"; - - for Library_Kind use Xmlada_Shared.Xmlada_Kind; -- for Source_Dirs use ("../../include/xmlada"); -+ for Source_Dirs use (Directories.Includedir & "/xmlada"); - for Source_List_File use "xmlada/" & Project'Library_Name & ".lgpr"; -- for Library_Dir use "../xmlada/" & Project'Library_Kind; -+ for Library_Dir use Directories.Libdir & "/xmlada/" & Project'Library_Kind; - for Library_Version use - "lib" & Project'Library_Name & ".so." & Xmlada_Shared.Version; - for Externally_Built use "true"; ---- a/distrib/xmlada_input.gpr 2011-03-01 12:18:26.928536602 +0300 -+++ b/distrib/xmlada_input.gpr 2011-03-01 12:17:54.632540953 +0300 -@@ -1,12 +1,13 @@ -+with "directories"; - with "xmlada_shared"; - with "xmlada_unicode"; - project XmlAda_Input is - for Library_Name use "xmlada_input_sources"; - - for Library_Kind use Xmlada_Shared.Xmlada_Kind; -- for Source_Dirs use ("../../include/xmlada"); -+ for Source_Dirs use (Directories.Includedir & "/xmlada"); - for Source_List_File use "xmlada/" & Project'Library_Name & ".lgpr"; -- for Library_Dir use "../xmlada/" & Project'Library_Kind; -+ for Library_Dir use Directories.Libdir & "/xmlada/" & Project'Library_Kind; - for Library_Version use - "lib" & Project'Library_Name & ".so." & Xmlada_Shared.Version; - for Externally_Built use "true"; ---- a/distrib/xmlada.gpr 2011-03-01 12:18:26.928536602 +0300 -+++ b/distrib/xmlada.gpr 2011-03-01 12:17:54.632540953 +0300 -@@ -1,3 +1,4 @@ -+with "directories"; - -- Project file for use of XML/Ada. - -- Put the directory that contains xmlada.gpr in your ADA_PROJECT_PATH - -- variable. Then, in our own project file, add a "with" dependency on ---- a/distrib/xmlada_schema.gpr 2011-03-01 12:18:26.928536602 +0300 -+++ b/distrib/xmlada_schema.gpr 2011-03-01 12:17:54.633540891 +0300 -@@ -1,12 +1,13 @@ -+with "directories"; - with "xmlada_shared"; - with "xmlada_dom"; - project XmlAda_Schema is - for Library_Name use "xmlada_schema"; - - for Library_Kind use Xmlada_Shared.Xmlada_Kind; -- for Source_Dirs use ("../../include/xmlada"); -+ for Source_Dirs use (Directories.Includedir & "/xmlada"); - for Source_List_File use "xmlada/" & Project'Library_Name & ".lgpr"; -- for Library_Dir use "../xmlada/" & Project'Library_Kind; -+ for Library_Dir use Directories.Libdir & "/xmlada/" & Project'Library_Kind; - for Library_Version use - "lib" & Project'Library_Name & ".so." & Xmlada_Shared.Version; - for Externally_Built use "true"; ---- a/distrib/xmlada_unicode.gpr 2011-03-01 12:18:26.928536602 +0300 -+++ b/distrib/xmlada_unicode.gpr 2011-03-01 12:17:54.633540891 +0300 -@@ -1,11 +1,12 @@ -+with "directories"; - with "xmlada_shared"; - project XmlAda_Unicode is - for Library_Name use "xmlada_unicode"; - - for Library_Kind use Xmlada_Shared.Xmlada_Kind; -- for Source_Dirs use ("../../include/xmlada"); -+ for Source_Dirs use (Directories.Includedir & "/xmlada"); - for Source_List_File use "xmlada/" & Project'Library_Name & ".lgpr"; -- for Library_Dir use "../xmlada/" & Project'Library_Kind; -+ for Library_Dir use Directories.Libdir & "/xmlada/" & Project'Library_Kind; - for Library_Version use - "lib" & Project'Library_Name & ".so." & Xmlada_Shared.Version; - for Externally_Built use "true"; 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 index b155ab8..bb65e7e 100644 --- a/xmlada.spec +++ b/xmlada.spec @@ -1,146 +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 -Version: 4.1 -Release: 2%{?dist} +Epoch: 2 +Version: %{upstream_version} +Release: 5%{?dist} Summary: XML library for Ada -Group: System Environment/Libraries -License: GPLv2+ -URL: http://libre.adacore.com -## Direct download link is unavailable -## http://libre.adacore.com/libre/download/ -Source0: xmlada-gpl-%{version}-src.tgz -## Patch for use relocatable libs instead static -## and add DESTDIR option for make install -Patch0: %{name}-%{version}-destdir.patch -## Fedora-specific -Patch1: %{name}-gpr.patch -Patch2: %{name}-%{version}-gnatflags.patch -BuildRequires: chrpath -BuildRequires: gcc-gnat -BuildRequires: fedora-gnat-project-common >= 2 -%description -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. +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. -%package devel -Summary: XML library for Ada devel package -Group: Development/Libraries -License: GPLv2+ -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: fedora-gnat-project-common >= 2 +URL: https://github.com/%{upstream_owner}/%{upstream_name} +Source0: %{url}/archive/%{upstream_commit}.tar.gz#/%{upstream_name}-%{upstream_version}.tar.gz -%description devel -Xml library for ada devel package. +# 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 -%setup -q -n xmlada-4.1-src -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 +%autosetup -C -p1 + +# Set version number. +sed --in-place --expression 's/18.0w/%{version}/' configure configure.in + + +########### +## Build ## +########### %build -%configure --disable-rpath --enable-shared --disable-static -make %{?_smp_mflags} GNATFLAGS="%{GNAT_optflags}" ADA_PROJECT_PATH=%_GNAT_project_dir +%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 -rm -rf %{buildroot} -export BUILDS_SHARED=yes -make install DESTDIR=%{buildroot} ADA_PROJECT_PATH=%_GNAT_project_dir BUILDS_SHARED=yes -## Revoke exec permissions -find %{buildroot} -name '*.gpr' -exec chmod -x {} \; -find %{buildroot}%{_docdir} -type f -exec chmod -x {} \; -## Delete old bash script (not needed now) -rm -f %{buildroot}%{_bindir}/xmlada-config -## delete rpath manually (#674793) -chrpath --delete %{buildroot}%{_libdir}/%{name}/relocatable/libxmlada* -install -d -m 0755 %{buildroot}/%{_libdir}/%{name}/static/ -## There is not GNAT programming studio in Fedora -## To enable GPS plugin delete this string and create subpackage -rm -f %{buildroot}/%{_datadir}/gps/plug-ins/%{name}_gps.py* -rm -f %{buildroot}/%{_libdir}/%{name}/static/* -## only-non-binary-in-usr-lib +%if %{without bootstrap} -%files -%defattr(-,root,root,-) -%doc README TODO AUTHORS COPYING -%dir %{_libdir}/%{name} -%dir %{_docdir}/%{name} -%dir %{_libdir}/%{name}/relocatable -%dir %{_libdir}/%{name}/static -%{_libdir}/lib%{name}_dom.so.* -%{_libdir}/lib%{name}_input_sources.so.* -%{_libdir}/lib%{name}_schema.so.* -%{_libdir}/lib%{name}_unicode.so.* -%{_libdir}/lib%{name}_sax.so.* -%{_libdir}/%{name}/relocatable/lib%{name}*.so.* -%{_docdir}/%{name}/xml.html -%{_docdir}/%{name}/xml.info -%{_docdir}/%{name}/xml.pdf +# 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 -%defattr(-,root,root,-) -%dir %{_includedir}/%{name} -%dir %{_GNAT_project_dir}/%{name} -%{_GNAT_project_dir}/%{name}.gpr -%{_GNAT_project_dir}/xmlada_shared.gpr -%{_GNAT_project_dir}/%{name}/xmlada_dom.lgpr -%{_GNAT_project_dir}/%{name}/xmlada_input_sources.lgpr -%{_GNAT_project_dir}/%{name}/xmlada_sax.lgpr -%{_GNAT_project_dir}/%{name}/xmlada_schema.lgpr -%{_GNAT_project_dir}/%{name}/xmlada_unicode.lgpr -%{_GNAT_project_dir}/%{name}_dom.gpr -%{_GNAT_project_dir}/%{name}_input.gpr -%{_GNAT_project_dir}/%{name}_sax.gpr -%{_GNAT_project_dir}/%{name}_schema.gpr -%{_GNAT_project_dir}/%{name}_unicode.gpr -%{_includedir}/%{name}/*.adb -%{_includedir}/%{name}/*.ads -%{_libdir}/%{name}/relocatable/*.ali -%{_libdir}/%{name}/relocatable/lib%{name}*.so +%{_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 -* Sat Jul 15 2011 Pavel Zhukov - 4.1-2 -- Update to new release GNAT-GPL-2011 -- Fix permissions +* Fri Jul 17 2026 Fedora Release Engineering - 2:26.0.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild -* Wed Mar 30 2011 Pavel Zhukov - 3.2.1-11 -- Fix library type (add configure options) +* Sun May 10 2026 Björn Persson - 2:26.0.0-4 +- Rebuilt because GCC broke ALI again. -* Tue Mar 01 2011 Pavel Zhukov - 3.2.1-10 -- fix path for fedora-gnat-project-common +* Sat Mar 28 2026 Björn Persson - 2:26.0.0-3 +- Rebuilt because GCC 16.0.1-0.10 broke ALI. -* Tue Mar 01 2011 Pavel Zhukov - 3.2.1-9 -- use macros _GNAT_project_di -- fix hardcode includedir -- fix BuildRequires -- fix owned dir -- fix ?_isa +* Sat Jan 17 2026 Fedora Release Engineering - 2:26.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild -* Sun Feb 20 2011 Pavel Zhukov - 3.2.1-8 -- fix spec errors -- fix directories for rawhide -- fix gcc-4.6 issues -- fix libdir +* Tue Dec 23 2025 Dennis van Raaij - 2:26.0.0-1 +- Updated to v26.0.0. -* Fri Feb 11 2011 Pavel Zhukov - 3.2.1-6 -- move gpr to /usr/share/gpr(/xmlada) +* Fri Aug 08 2025 Björn Persson - 2:25.0.0-7 +- Rebuilt because the ALI of System.OS_Constants changed. -* Mon Feb 7 2011 Pavel Zhukov - 3.2.1-5 -- move so to -devel package fix spec errors +* Fri Jul 25 2025 Fedora Release Engineering - 2:25.0.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild -* Sun Feb 6 2011 Pavel Zhukov - 3.2.1-4 -- fix dir owner +* Sun Jan 19 2025 Fedora Release Engineering - 2:25.0.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild -* Sat Feb 5 2011 Pavel Zhukov - 3.2.1-3 -- fix errors in Makefile -- fix files list +* Wed Jan 15 2025 Björn Persson - 2:25.0.0-4 +- Rebuilt with another GCC 15 prerelease. -* Fri Feb 4 2011 Pavel Zhukov - 3.2.1-1 -- Initial spec +* 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