diff --git a/.gitignore b/.gitignore index 6052736..812bbbe 100644 --- a/.gitignore +++ b/.gitignore @@ -1,15 +1,2 @@ /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 313a9f1..3dfd44e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmlada-26.0.0.tar.gz) = b97f7727df52229f8e76ab169f4b42b9b82b20c82555607d65455f6cb7836c83219017a45b832de38b348e595f5a68d0987e3c568293b45fc285ffdc3ec3aa01 +c17ac563b8375bd652a0eb8e141cda59 xmlada-gpl-4.1-src.tgz diff --git a/xmlada-4.1-destdir.patch b/xmlada-4.1-destdir.patch new file mode 100644 index 0000000..f501632 --- /dev/null +++ b/xmlada-4.1-destdir.patch @@ -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 diff --git a/xmlada-4.1-gnatflags.patch b/xmlada-4.1-gnatflags.patch new file mode 100644 index 0000000..6f1008d --- /dev/null +++ b/xmlada-4.1-gnatflags.patch @@ -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 diff --git a/xmlada-gpr.patch b/xmlada-gpr.patch new file mode 100644 index 0000000..74384fe --- /dev/null +++ b/xmlada-gpr.patch @@ -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"; diff --git a/xmlada.gpr b/xmlada.gpr deleted file mode 100644 index b755c81..0000000 --- a/xmlada.gpr +++ /dev/null @@ -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; diff --git a/xmlada.spec b/xmlada.spec index bb65e7e..b155ab8 100644 --- a/xmlada.spec +++ b/xmlada.spec @@ -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 -Epoch: 2 -Version: %{upstream_version} -Release: 5%{?dist} +Version: 4.1 +Release: 2%{?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 -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. +%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. -URL: https://github.com/%{upstream_owner}/%{upstream_name} -Source0: %{url}/archive/%{upstream_commit}.tar.gz#/%{upstream_name}-%{upstream_version}.tar.gz +%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 -# 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 ## -############# +%description devel +Xml library for ada devel package. %prep -%autosetup -C -p1 - -# Set version number. -sed --in-place --expression 's/18.0w/%{version}/' configure configure.in - - -########### -## Build ## -########### +%setup -q -n xmlada-4.1-src +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 %build -%if %{without bootstrap} -%configure --enable-build=distrib --enable-shared +%configure --disable-rpath --enable-shared --disable-static +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 -%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. -# 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 +%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 -########### -## 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 +%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 -############### -## Changelog ## -############### %changelog -* Fri Jul 17 2026 Fedora Release Engineering - 2:26.0.0-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild +* Sat Jul 15 2011 Pavel Zhukov - 4.1-2 +- Update to new release GNAT-GPL-2011 +- Fix permissions -* Sun May 10 2026 Björn Persson - 2:26.0.0-4 -- Rebuilt because GCC broke ALI again. +* Wed Mar 30 2011 Pavel Zhukov - 3.2.1-11 +- Fix library type (add configure options) -* 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-10 +- fix path for fedora-gnat-project-common -* Sat Jan 17 2026 Fedora Release Engineering - 2:26.0.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild +* 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 -* Tue Dec 23 2025 Dennis van Raaij - 2:26.0.0-1 -- Updated to v26.0.0. +* Sun Feb 20 2011 Pavel Zhukov - 3.2.1-8 +- fix spec errors +- fix directories for rawhide +- fix gcc-4.6 issues +- fix libdir -* Fri Aug 08 2025 Björn Persson - 2:25.0.0-7 -- Rebuilt because the ALI of System.OS_Constants changed. +* Fri Feb 11 2011 Pavel Zhukov - 3.2.1-6 +- move gpr to /usr/share/gpr(/xmlada) -* Fri Jul 25 2025 Fedora Release Engineering - 2:25.0.0-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild +* Mon Feb 7 2011 Pavel Zhukov - 3.2.1-5 +- move so to -devel package fix spec errors -* Sun Jan 19 2025 Fedora Release Engineering - 2:25.0.0-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild +* Sun Feb 6 2011 Pavel Zhukov - 3.2.1-4 +- fix dir owner -* Wed Jan 15 2025 Björn Persson - 2:25.0.0-4 -- Rebuilt with another GCC 15 prerelease. +* Sat Feb 5 2011 Pavel Zhukov - 3.2.1-3 +- fix errors in Makefile +- fix files list -* 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 +* Fri Feb 4 2011 Pavel Zhukov - 3.2.1-1 +- Initial spec