commit a4e2ebc6e58c8d5db368085db802c029e0652973 Author: CentOS Sources Date: Tue May 7 08:18:12 2019 -0400 import tinyxml2-6.0.0-3.el8 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..780bdd3 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/tinyxml2-6.0.0-8c8293b.tar.gz diff --git a/.tinyxml2.metadata b/.tinyxml2.metadata new file mode 100644 index 0000000..e38c37f --- /dev/null +++ b/.tinyxml2.metadata @@ -0,0 +1 @@ +0fecab25bc98596c9b78080a6c3c77465a3508e9 SOURCES/tinyxml2-6.0.0-8c8293b.tar.gz diff --git a/SOURCES/GNUInstallDirs.cmake b/SOURCES/GNUInstallDirs.cmake new file mode 100644 index 0000000..0302e4b --- /dev/null +++ b/SOURCES/GNUInstallDirs.cmake @@ -0,0 +1,188 @@ +# - Define GNU standard installation directories +# Provides install directory variables as defined for GNU software: +# http://www.gnu.org/prep/standards/html_node/Directory-Variables.html +# Inclusion of this module defines the following variables: +# CMAKE_INSTALL_ - destination for files of a given type +# CMAKE_INSTALL_FULL_ - corresponding absolute path +# where is one of: +# BINDIR - user executables (bin) +# SBINDIR - system admin executables (sbin) +# LIBEXECDIR - program executables (libexec) +# SYSCONFDIR - read-only single-machine data (etc) +# SHAREDSTATEDIR - modifiable architecture-independent data (com) +# LOCALSTATEDIR - modifiable single-machine data (var) +# LIBDIR - object code libraries (lib or lib64 or lib/ on Debian) +# INCLUDEDIR - C header files (include) +# OLDINCLUDEDIR - C header files for non-gcc (/usr/include) +# DATAROOTDIR - read-only architecture-independent data root (share) +# DATADIR - read-only architecture-independent data (DATAROOTDIR) +# INFODIR - info documentation (DATAROOTDIR/info) +# LOCALEDIR - locale-dependent data (DATAROOTDIR/locale) +# MANDIR - man documentation (DATAROOTDIR/man) +# DOCDIR - documentation root (DATAROOTDIR/doc/PROJECT_NAME) +# Each CMAKE_INSTALL_ value may be passed to the DESTINATION options of +# install() commands for the corresponding file type. If the includer does +# not define a value the above-shown default will be used and the value will +# appear in the cache for editing by the user. +# Each CMAKE_INSTALL_FULL_ value contains an absolute path constructed +# from the corresponding destination by prepending (if necessary) the value +# of CMAKE_INSTALL_PREFIX. + +#============================================================================= +# Copyright 2011 Nikita Krupen'ko +# Copyright 2011 Kitware, Inc. +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= +# (To distribute this file outside of CMake, substitute the full +# License text for the above reference.) + +# Installation directories +# +if(NOT DEFINED CMAKE_INSTALL_BINDIR) + set(CMAKE_INSTALL_BINDIR "bin" CACHE PATH "user executables (bin)") +endif() + +if(NOT DEFINED CMAKE_INSTALL_SBINDIR) + set(CMAKE_INSTALL_SBINDIR "sbin" CACHE PATH "system admin executables (sbin)") +endif() + +if(NOT DEFINED CMAKE_INSTALL_LIBEXECDIR) + set(CMAKE_INSTALL_LIBEXECDIR "libexec" CACHE PATH "program executables (libexec)") +endif() + +if(NOT DEFINED CMAKE_INSTALL_SYSCONFDIR) + set(CMAKE_INSTALL_SYSCONFDIR "etc" CACHE PATH "read-only single-machine data (etc)") +endif() + +if(NOT DEFINED CMAKE_INSTALL_SHAREDSTATEDIR) + set(CMAKE_INSTALL_SHAREDSTATEDIR "com" CACHE PATH "modifiable architecture-independent data (com)") +endif() + +if(NOT DEFINED CMAKE_INSTALL_LOCALSTATEDIR) + set(CMAKE_INSTALL_LOCALSTATEDIR "var" CACHE PATH "modifiable single-machine data (var)") +endif() + +if(NOT DEFINED CMAKE_INSTALL_LIBDIR) + set(_LIBDIR_DEFAULT "lib") + # Override this default 'lib' with 'lib64' iff: + # - we are on Linux system but NOT cross-compiling + # - we are NOT on debian + # - we are on a 64 bits system + # reason is: amd64 ABI: http://www.x86-64.org/documentation/abi.pdf + # For Debian with multiarch, use 'lib/${CMAKE_LIBRARY_ARCHITECTURE}' if + # CMAKE_LIBRARY_ARCHITECTURE is set (which contains e.g. "i386-linux-gnu" + # See http://wiki.debian.org/Multiarch + if(CMAKE_SYSTEM_NAME MATCHES "Linux" + AND NOT CMAKE_CROSSCOMPILING) + if (EXISTS "/etc/debian_version") # is this a debian system ? + if(CMAKE_LIBRARY_ARCHITECTURE) + set(_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}") + endif() + else() # not debian, rely on CMAKE_SIZEOF_VOID_P: + if(NOT DEFINED CMAKE_SIZEOF_VOID_P) + message(AUTHOR_WARNING + "Unable to determine default CMAKE_INSTALL_LIBDIR directory because no target architecture is known. " + "Please enable at least one language before including GNUInstallDirs.") + else() + if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") + set(_LIBDIR_DEFAULT "lib64") + endif() + endif() + endif() + endif() + set(CMAKE_INSTALL_LIBDIR "${_LIBDIR_DEFAULT}" CACHE PATH "object code libraries (${_LIBDIR_DEFAULT})") +endif() + +if(NOT DEFINED CMAKE_INSTALL_INCLUDEDIR) + set(CMAKE_INSTALL_INCLUDEDIR "include" CACHE PATH "C header files (include)") +endif() + +if(NOT DEFINED CMAKE_INSTALL_OLDINCLUDEDIR) + set(CMAKE_INSTALL_OLDINCLUDEDIR "/usr/include" CACHE PATH "C header files for non-gcc (/usr/include)") +endif() + +if(NOT DEFINED CMAKE_INSTALL_DATAROOTDIR) + set(CMAKE_INSTALL_DATAROOTDIR "share" CACHE PATH "read-only architecture-independent data root (share)") +endif() + +#----------------------------------------------------------------------------- +# Values whose defaults are relative to DATAROOTDIR. Store empty values in +# the cache and store the defaults in local variables if the cache values are +# not set explicitly. This auto-updates the defaults as DATAROOTDIR changes. + +if(NOT CMAKE_INSTALL_DATADIR) + set(CMAKE_INSTALL_DATADIR "" CACHE PATH "read-only architecture-independent data (DATAROOTDIR)") + set(CMAKE_INSTALL_DATADIR "${CMAKE_INSTALL_DATAROOTDIR}") +endif() + +if(NOT CMAKE_INSTALL_INFODIR) + set(CMAKE_INSTALL_INFODIR "" CACHE PATH "info documentation (DATAROOTDIR/info)") + set(CMAKE_INSTALL_INFODIR "${CMAKE_INSTALL_DATAROOTDIR}/info") +endif() + +if(NOT CMAKE_INSTALL_LOCALEDIR) + set(CMAKE_INSTALL_LOCALEDIR "" CACHE PATH "locale-dependent data (DATAROOTDIR/locale)") + set(CMAKE_INSTALL_LOCALEDIR "${CMAKE_INSTALL_DATAROOTDIR}/locale") +endif() + +if(NOT CMAKE_INSTALL_MANDIR) + set(CMAKE_INSTALL_MANDIR "" CACHE PATH "man documentation (DATAROOTDIR/man)") + set(CMAKE_INSTALL_MANDIR "${CMAKE_INSTALL_DATAROOTDIR}/man") +endif() + +if(NOT CMAKE_INSTALL_DOCDIR) + set(CMAKE_INSTALL_DOCDIR "" CACHE PATH "documentation root (DATAROOTDIR/doc/PROJECT_NAME)") + set(CMAKE_INSTALL_DOCDIR "${CMAKE_INSTALL_DATAROOTDIR}/doc/${PROJECT_NAME}") +endif() + +#----------------------------------------------------------------------------- + +mark_as_advanced( + CMAKE_INSTALL_BINDIR + CMAKE_INSTALL_SBINDIR + CMAKE_INSTALL_LIBEXECDIR + CMAKE_INSTALL_SYSCONFDIR + CMAKE_INSTALL_SHAREDSTATEDIR + CMAKE_INSTALL_LOCALSTATEDIR + CMAKE_INSTALL_LIBDIR + CMAKE_INSTALL_INCLUDEDIR + CMAKE_INSTALL_OLDINCLUDEDIR + CMAKE_INSTALL_DATAROOTDIR + CMAKE_INSTALL_DATADIR + CMAKE_INSTALL_INFODIR + CMAKE_INSTALL_LOCALEDIR + CMAKE_INSTALL_MANDIR + CMAKE_INSTALL_DOCDIR + ) + +# Result directories +# +foreach(dir + BINDIR + SBINDIR + LIBEXECDIR + SYSCONFDIR + SHAREDSTATEDIR + LOCALSTATEDIR + LIBDIR + INCLUDEDIR + OLDINCLUDEDIR + DATAROOTDIR + DATADIR + INFODIR + LOCALEDIR + MANDIR + DOCDIR + ) + if(NOT IS_ABSOLUTE ${CMAKE_INSTALL_${dir}}) + set(CMAKE_INSTALL_FULL_${dir} "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_${dir}}") + else() + set(CMAKE_INSTALL_FULL_${dir} "${CMAKE_INSTALL_${dir}}") + endif() +endforeach() diff --git a/SOURCES/tinyxml2-epelbuild.patch b/SOURCES/tinyxml2-epelbuild.patch new file mode 100644 index 0000000..d3b398c --- /dev/null +++ b/SOURCES/tinyxml2-epelbuild.patch @@ -0,0 +1,11 @@ +diff -up tinyxml2-03238517b3718f0c977bb061747faa8ebfc4fb44/CMakeLists.txt.orig tinyxml2-03238517b3718f0c977bb061747faa8ebfc4fb44/CMakeLists.txt +--- tinyxml2-03238517b3718f0c977bb061747faa8ebfc4fb44/CMakeLists.txt.orig 2013-08-05 23:04:27.000000000 +0300 ++++ tinyxml2-03238517b3718f0c977bb061747faa8ebfc4fb44/CMakeLists.txt 2013-10-14 11:17:45.403298279 +0300 +@@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 2.6 FATAL + cmake_policy(VERSION 2.6) + + project(tinyxml2) ++set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_MODULE_PATH}) + include(GNUInstallDirs) + #enable_testing() + diff --git a/SPECS/tinyxml2.spec b/SPECS/tinyxml2.spec new file mode 100644 index 0000000..90fdfbf --- /dev/null +++ b/SPECS/tinyxml2.spec @@ -0,0 +1,160 @@ +# tinyml2 parses files potentially coming from untrusted sources. +%global _hardened_build 1 + +%global githubparent leethomason +%global commit 8c8293ba8969a46947606a93ff0cb5a083aab47a +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20171211 +%global gitversion .%{commitdate}git%{shortcommit} + +Name: tinyxml2 +Version: 6.0.0 +Release: 3%{?dist} +Summary: Simple, small and efficient C++ XML parser + +Group: Development/Libraries +License: zlib +URL: https://github.com/%{githubparent}/%{name} +Source0: https://github.com/%{githubparent}/%{name}/archive/%{commit}/%{name}-%{version}-%{shortcommit}.tar.gz + +# EPEL has a too old CMake which is missing GNUInstallDirs (copied from Fedora 19 CMake) +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) +Source1: GNUInstallDirs.cmake +Patch0: tinyxml2-epelbuild.patch + +BuildRequires: cmake + +%description +TinyXML-2 is a simple, small, efficient, C++ XML parser that can be +easily integrated into other programs. It uses a Document Object Model +(DOM), meaning the XML data is parsed into a C++ objects that can be +browsed and manipulated, and then written to disk or another output stream. + +TinyXML-2 doesn't parse or use DTDs (Document Type Definitions) nor XSLs +(eXtensible Stylesheet Language). + +TinyXML-2 uses a similar API to TinyXML-1, But the implementation of the +parser was completely re-written to make it more appropriate for use in a +game. It uses less memory, is faster, and uses far fewer memory allocations. + +%package devel +Summary: Development files for %{name} +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +This package contains the libraries and header files that are needed +for writing applications with the %{name} library. + +%prep +%setup -q -n %{name}-%{commit} +chmod -c -x *.cpp *.h + +# temporary fix for https://github.com/leethomason/tinyxml2/pull/653 +sed -i -e 's,lib/,${CMAKE_INSTALL_LIBDIR}/,g' CMakeLists.txt + +%if 0%{?rhel} == 5 || 0%{?rhel} == 6 +%patch0 -p1 -b .epel +cp -p %{SOURCE1} . +%endif + +%build +mkdir objdir +cd objdir +%cmake .. -DBUILD_STATIC_LIBS=OFF +make %{?_smp_mflags} + +# Library tests were disabled in 3.0.0 +#%check +#cd objdir +#make test +#export LD_LIBRARY_PATH=`pwd` +#./test + +# and partially re-enabled in 6.0.0 +%check +cd objdir +make test + +%install +rm -rf %{buildroot} +cd objdir +make install DESTDIR=%{buildroot} + +%clean +rm -rf %{buildroot} + +%ldconfig_scriptlets + +%files +%doc readme.md +%{_libdir}/lib%{name}.so.%{version} +%{_libdir}/lib%{name}.so.6 + +%files devel +%{_includedir}/%{name}.h +%{_libdir}/lib%{name}.so +%{_libdir}/pkgconfig/%{name}.pc +%{_libdir}/cmake/%{name}/tinyxml2Config.cmake +%{_libdir}/cmake/%{name}/tinyxml2Targets-noconfig.cmake +%{_libdir}/cmake/%{name}/tinyxml2Targets.cmake + + +%changelog +* Fri Feb 09 2018 Fedora Release Engineering - 6.0.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Feb 03 2018 Igor Gnatenko - 6.0.0-2 +- Switch to %%ldconfig_scriptlets + +* Mon Jan 22 2018 François Cami - 6.0.0-1 +- Update to latest upstream (rhbz#1357711) + +* Thu Aug 03 2017 Fedora Release Engineering - 3.0.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 3.0.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 3.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Sat May 21 2016 Rich Mattes - 3.0.0-1 +- Update to release 3.0.0 (rhbz#1202166) + +* Fri Feb 05 2016 Fedora Release Engineering - 2.2.0-4.20140914git5321a0e +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jun 19 2015 Fedora Release Engineering - 2.2.0-3.20140914git5321a0e +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat May 02 2015 Kalev Lember - 2.2.0-2.20140914git5321a0e +- Rebuilt for GCC 5 C++11 ABI change + +* Mon Jan 05 2015 François Cami - 2.2.0-1.20140914git5321a0e +- Update to 2.2.0. + +* Mon Aug 18 2014 Fedora Release Engineering - 2.1.0-4.20140406git6ee53e7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sun Jun 08 2014 Fedora Release Engineering - 2.1.0-3.20140406git6ee53e7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu May 22 2014 François Cami - 2.1.0-2.20140406git6ee53e7 +- Bump release and make it build (switch GNUInstallDirs.cmake from sources to git). + +* Sat May 17 2014 François Cami - 2.1.0-1.20140406git6ee53e7 +- Update to 2.1.0. + +* Mon Oct 14 2013 Susi Lehtola - 1.0.11-4.20130805git0323851 +- Patch to build in EPEL branches. + +* Mon Aug 12 2013 François Cami - 1.0.11-3.20130805git0323851 +- Fixes by Susi Lehtola: build in a separate directory and don't build anything static. + +* Mon Aug 12 2013 François Cami - 1.0.11-2.20130805git0323851 +- Fixes suggested by Ville Skyttä: drop -static, add check, etc. + +* Sat Aug 10 2013 François Cami - 1.0.11-1.20130805git0323851 +- Initial package. +