Compare commits

..

No commits in common. "rawhide" and "f16" have entirely different histories.

7 changed files with 394 additions and 547 deletions

13
.gitignore vendored
View file

@ -1,15 +1,2 @@
/xmlada-gpl-3.2.1-src.tgz /xmlada-gpl-3.2.1-src.tgz
/xmlada-gpl-4.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

View file

@ -1 +1 @@
SHA512 (xmlada-26.0.0.tar.gz) = b97f7727df52229f8e76ab169f4b42b9b82b20c82555607d65455f6cb7836c83219017a45b832de38b348e595f5a68d0987e3c568293b45fc285ffdc3ec3aa01 c17ac563b8375bd652a0eb8e141cda59 xmlada-gpl-4.1-src.tgz

157
xmlada-4.1-destdir.patch Normal file
View file

@ -0,0 +1,157 @@
--- 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

View file

@ -0,0 +1,19 @@
--- 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

97
xmlada-gpr.patch Normal file
View file

@ -0,0 +1,97 @@
--- 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";

View file

@ -1,9 +0,0 @@
with "xmlada_unicode";
with "xmlada_sax";
with "xmlada_input";
with "xmlada_dom";
with "xmlada_schema";
project Xmlada is
for Source_Dirs use ();
end Xmlada;

View file

@ -1,550 +1,146 @@
# 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 Name: xmlada
Epoch: 2 Version: 4.1
Version: %{upstream_version} Release: 2%{?dist}
Release: 5%{?dist}
Summary: XML library for Ada 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
License: GPL-3.0-or-later WITH GCC-exception-3.1 AND Unicode-DFS-2016 %description
# XML/Ada itself is licensed under GPL v3 or later with a runtime exception. The XML/Ada includes support for parsing XML files, including DTDs,
# Unicode license is mentioned as Unicode data files were used as an input for full support for SAX,
# generating some of XML/Ada's source code. and an almost complete support for the core part of the DOM.
It includes support for validating XML files with XML schemas.
URL: https://github.com/%{upstream_owner}/%{upstream_name} %package devel
Source0: %{url}/archive/%{upstream_commit}.tar.gz#/%{upstream_name}-%{upstream_version}.tar.gz Summary: XML library for Ada devel package
Group: Development/Libraries
License: GPLv2+
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: fedora-gnat-project-common >= 2
# XML/Ada's aggregate project file. This project file is normally generated and %description devel
# installed by GPRinstall, but as we'll install each XML/Ada component Xml library for ada devel package.
# 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 %prep
%autosetup -C -p1 %setup -q -n xmlada-4.1-src
%patch0 -p1
# Set version number. %patch1 -p1
sed --in-place --expression 's/18.0w/%{version}/' configure configure.in %patch2 -p1
###########
## Build ##
###########
%build %build
%if %{without bootstrap} %configure --disable-rpath --enable-shared --disable-static
%configure --enable-build=distrib --enable-shared make %{?_smp_mflags} GNATFLAGS="%{GNAT_optflags}" ADA_PROJECT_PATH=%_GNAT_project_dir
# 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 %install
%if %{without bootstrap} 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
# Verify that the ALI files of both builds (relocatable and static-pic) match. %files
# The verfication is necessary as GPRinstall will overwrite the ALI files during %defattr(-,root,root,-)
# the installation of the static-pic build (which is installed after the %doc README TODO AUTHORS COPYING
# relocatable build). %dir %{_libdir}/%{name}
for component_dir in dom schema unicode sax input_sources ; do %dir %{_docdir}/%{name}
diff --exclude "*.a" --exclude "*.so*" --exclude ".cvsignore" \ %dir %{_libdir}/%{name}/relocatable
%{_builddir}/%{name}-%{version}/${component_dir}/lib/relocatable \ %dir %{_libdir}/%{name}/static
%{_builddir}/%{name}-%{version}/${component_dir}/lib/static-pic %{_libdir}/lib%{name}_dom.so.*
done %{_libdir}/lib%{name}_input_sources.so.*
%{_libdir}/lib%{name}_schema.so.*
# Install each component. %{_libdir}/lib%{name}_unicode.so.*
function run_gprinstall { %{_libdir}/lib%{name}_sax.so.*
local libtype=$1 %{_libdir}/%{name}/relocatable/lib%{name}*.so.*
local component=$2 %{_docdir}/%{name}/xml.html
local directory=$3 # directory name in the source tree %{_docdir}/%{name}/xml.info
%{GPRinstall -s xmlada/${component}} \ %{_docdir}/%{name}/xml.pdf
--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 %files devel
%{_GNAT_project_dir}/%{name}*.gpr %defattr(-,root,root,-)
%{_includedir}/%{name} %dir %{_includedir}/%{name}
%dir %{_libdir}/%{name} %dir %{_GNAT_project_dir}/%{name}
%attr(444,-,-) %{_libdir}/%{name}/*.ali %{_GNAT_project_dir}/%{name}.gpr
%{_libdir}/lib%{name}*.so %{_GNAT_project_dir}/xmlada_shared.gpr
%{_GNAT_project_dir}/%{name}/xmlada_dom.lgpr
%files static %{_GNAT_project_dir}/%{name}/xmlada_input_sources.lgpr
%{_libdir}/lib%{name}*.a %{_GNAT_project_dir}/%{name}/xmlada_sax.lgpr
%{_GNAT_project_dir}/%{name}/xmlada_schema.lgpr
%files doc %{_GNAT_project_dir}/%{name}/xmlada_unicode.lgpr
%dir %{_pkgdocdir} %{_GNAT_project_dir}/%{name}_dom.gpr
%{_pkgdocdir}/*.html %{_GNAT_project_dir}/%{name}_input.gpr
%{_pkgdocdir}/searchindex.js %{_GNAT_project_dir}/%{name}_sax.gpr
%{_pkgdocdir}/_sources %{_GNAT_project_dir}/%{name}_schema.gpr
%{_pkgdocdir}/_static %{_GNAT_project_dir}/%{name}_unicode.gpr
%{_pkgdocdir}/XMLAda.pdf %{_includedir}/%{name}/*.adb
%{_pkgdocdir}/examples %{_includedir}/%{name}/*.ads
# Exclude Sphinx-generated files that aren't needed in the package. %{_libdir}/%{name}/relocatable/*.ali
%exclude %{_pkgdocdir}/.buildinfo %{_libdir}/%{name}/relocatable/lib%{name}*.so
%exclude %{_pkgdocdir}/objects.inv
%else
%files sources
%{_includedir}/%{name}
%endif
###############
## Changelog ##
###############
%changelog %changelog
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 2:26.0.0-5 * Sat Jul 15 2011 Pavel Zhukov <landgraf@fedoraproject.org> - 4.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild - Update to new release GNAT-GPL-2011
- Fix permissions
* Sun May 10 2026 Björn Persson <Bjorn@Rombobjörn.se> - 2:26.0.0-4 * Wed Mar 30 2011 Pavel Zhukov <landgraf@fedoraproject.org> - 3.2.1-11
- Rebuilt because GCC broke ALI again. - Fix library type (add configure options)
* Sat Mar 28 2026 Björn Persson <Bjorn@Rombobjörn.se> - 2:26.0.0-3 * Tue Mar 01 2011 Pavel Zhukov <landgraf@fedoraproject.org> - 3.2.1-10
- Rebuilt because GCC 16.0.1-0.10 broke ALI. - fix path for fedora-gnat-project-common
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 2:26.0.0-2 * Tue Mar 01 2011 Pavel Zhukov <landgraf@fedoraproject.org> - 3.2.1-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - use macros _GNAT_project_di
- fix hardcode includedir
- fix BuildRequires
- fix owned dir
- fix ?_isa
* Tue Dec 23 2025 Dennis van Raaij <dvraaij@fedoraproject.org> - 2:26.0.0-1 * Sun Feb 20 2011 Pavel Zhukov <landgraf@fedoraproject.com> - 3.2.1-8
- Updated to v26.0.0. - fix spec errors
- fix directories for rawhide
- fix gcc-4.6 issues
- fix libdir
* Fri Aug 08 2025 Björn Persson <Bjorn@Rombobjörn.se> - 2:25.0.0-7 * Fri Feb 11 2011 Pavel Zhukov <landgraf@fedoraproject.com> - 3.2.1-6
- Rebuilt because the ALI of System.OS_Constants changed. - move gpr to /usr/share/gpr(/xmlada)
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2:25.0.0-6 * Mon Feb 7 2011 Pavel Zhukov <landgraf@fedoraproject.com> - 3.2.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - move so to -devel package fix spec errors
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2:25.0.0-5 * Sun Feb 6 2011 Pavel Zhukov <landgraf@fedoraproject.com> - 3.2.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - fix dir owner
* Wed Jan 15 2025 Björn Persson <Bjorn@Rombobjörn.se> - 2:25.0.0-4 * Sat Feb 5 2011 Pavel Zhukov <landgraf@fedoraproject.com> - 3.2.1-3
- Rebuilt with another GCC 15 prerelease. - fix errors in Makefile
- fix files list
* Mon Jan 13 2025 Björn Persson <Bjorn@Rombobjörn.se> - 2:25.0.0-3 * Fri Feb 4 2011 Pavel Zhukov <landgraf@fedoraproject.com> - 3.2.1-1
- Rebuilt with GCC 15 prerelease. - Initial spec
* Wed Dec 04 2024 Pavel Zhukov <landgraf@fedoraproject.org> - 2:25.0.0-2
- Disable bootstrap
* Sun Oct 27 2024 Dennis van Raaij <dvraaij@fedoraproject.org> - 2:25.0.0-1
- Updated to v25.0.0.
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2:24.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sun Jan 28 2024 Dennis van Raaij <dvraaij@fedoraproject.org> - 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 <releng@fedoraproject.org> - 2:23.0.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Tue Jan 16 2024 Björn Persson <Bjorn@Rombobjörn.se> - 2:23.0.0-4
- Rebuilt with GCC 14 prerelease.
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2:23.0.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Mon Mar 13 2023 Björn Persson <Bjorn@Rombobjörn.se> - 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 <dvraaij@fedoraproject.org> - 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 <dvraaij@fedoraproject.org> - 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 <releng@fedoraproject.org> - 2020-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Jan 17 2023 Björn Persson <Bjorn@Rombobjörn.se> - 2020-9
- Rebuilt with GCC 13.
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2020-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2020-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Sun Jan 16 2022 Björn Persson <Bjorn@Rombobjörn.se> - 2020-6
- Rebuilt with GCC 12 prerelease.
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2020-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu Jan 28 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2020-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Dec 21 2020 Pavel Zhukov <pavel@zhukoff.net> - 2020-3
- Rebuild. Ali files invalidated by gcc update
* Tue Dec 8 2020 Pavel Zhukov <pzhukov@redhat.com> - 2020-2
- Disable gprbuild's bootstraping
* Tue Dec 8 2020 Pavel Zhukov <pzhukov@redhat.com> - 2020-1
- New version v2020
* Mon Dec 07 2020 Jeff Law <releng@fedoraproject.org> - 2019-4
- Gcc 11 bootstrap
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2019-3
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2019-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Feb 3 2020 Björn Persson <Bjorn@Rombobjörn.se> - 2019-1
- Upgraded to the 2019 release.
* Mon Feb 3 2020 Pavel Zhukov <pzhukov@redhat.com> - 2018-11
- rebuild with new gprbuild
* Mon Feb 3 2020 Pavel Zhukov <pzhukov@redhat.com> - 2018-10
- Gcc 10 bootstrap
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2018-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2018-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sat Feb 9 2019 Pavel Zhukov <pzhukov@redhat.com> - 2018-7
- Rebuld with new gnat-rpm-macros
- Build with gprbuild 2018
* Tue Feb 5 2019 Pavel Zhukov <pzhukov@redhat.com> - 2018-4
- Rebuild with new gprbuild
* Tue Feb 5 2019 Pavel Zhukov <pzhukov@redhat.com> - 2018-2
- Produce source only package in bootstrap mode
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2017-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2017-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Apr 3 2018 Pavel Zhukov <pzhukov@redhat.com> - 2017-6
- Build source packages on non gprbuild enabled arches for bootstraping
* Tue Feb 6 2018 Pavel Zhukov <pzhukov@redhat.com> - 2017-5
- Rebuild with new gnat
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2017-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2017-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sat Jul 15 2017 Pavel Zhukov <pzhukov@redhat.com> - 2017-2
- rebuild with new gprbuild
* Fri Jul 7 2017 Pavel Zhukov <pzhukov@redhat.com> - 2017-1
- New version (2017)
* Wed Apr 20 2017 Pavel Zhukov <<landgraf@fedoraproject.org>> - 2016-5
- Rebuild to fix non x86 arches ali versions
* Fri Feb 17 2017 Björn Persson <Bjorn@Rombobjörn.se> - 2016-4
- Reverted the temporary workaround.
* Sun Feb 12 2017 Björn Persson <Bjorn@Rombobjörn.se> - 2016-3
- Made a temporary workaround to rebuild with GCC 7 prerelease.
* Sat Feb 4 2017 Pavel Zhukov <pavel@zhukoff.net> - 2016-1
- Rebuild with new gnat
* Mon Aug 08 2016 Björn Persson <Bjorn@Rombobjörn.se> - 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 <Bjorn@Rombobjörn.se> - 2015-12
- Tagged the license file as such.
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2015-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Sun Jan 31 2016 Björn Persson <Bjorn@Rombobjörn.se> - 2015-10
- Rebuilt with GCC 6 prerelease.
* Sat Dec 19 2015 Björn Persson <Bjorn@Rombobjörn.se> - 2015-8
- Added a -static subpackage for linking GPRbuild statically.
* Wed Jun 24 2015 Pavel Zhukov <<landgraf@fedoraproject.org>> - 2015-7
- Remove temporary links
* Wed Jun 24 2015 Pavel Zhukov <<landgraf@fedoraproject.org>> - 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 <<landgraf@fedoraproject.org>> - 2015-2
- Install xmlada.gpr
* Wed Jun 17 2015 Pavel Zhukov <<landgraf@fedoraproject.org>> - 2015-1
- New release (#2015)
* Wed Apr 29 2015 Peter Robinson <pbrobinson@fedoraproject.org> 2013-11
- rebuild (gcc / gnat 5)
* Sun Mar 15 2015 Pavel Zhukov <landgraf@fedoraproject.org> - 2013-10
- Create unversioned symlinks
* Sat Feb 14 2015 Pavel Zhukov <landgraf@fedoraproject.org> - 2013-9
- Rebuild with new gcc 4.9
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2013-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2013-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Tue May 13 2014 Peter Robinson <pbrobinson@fedoraproject.org> 2013-6
- Use GNAT_arches rather than an explicit list
* Tue May 13 2014 Peter Robinson <pbrobinson@fedoraproject.org> 2013-5
- aarch64 now has Ada
* Sun Apr 20 2014 Pavel Zhukov <landgraf@fedoraproject.org> - 2013-4
- Rebuild for new gcc
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2013-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Sat Jul 13 2013 Pavel ZHukov <landgraf@fedoraproject.org> - 2013-2
- New release
- AdaCore has moved to years in version.
- Fix gpr error
* Sat Mar 09 2013 Pavel Zhukov <landgraf@fedoraproject.org> - 4.3-5
- Aws failed to bind with xmlada
* Fri Jan 25 2013 Kevin Fenzi <kevin@scrye.com> 4.3-4
- Rebuild for new libgnat
* Fri Jan 25 2013 Pavel Zhukov <landgraf@fedoraproject.org> - 4.3-3
- Rebuild with GCC 4.8
* Tue Dec 18 2012 Pavel Zhukov <landgraf@fedoraproject.org> - 4.3-2
- Fix gpr patch
* Mon Dec 17 2012 Pavel Zhukov <landgraf@fedoraproject.org> - 4.3-1
- New release