diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..371eef9
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/tinyxml2-6.0.0-8c8293b.tar.gz
diff --git a/EMPTY b/EMPTY
deleted file mode 100644
index 0519ecb..0000000
--- a/EMPTY
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/GNUInstallDirs.cmake b/GNUInstallDirs.cmake
new file mode 100644
index 0000000..0302e4b
--- /dev/null
+++ b/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 b/sources
new file mode 100644
index 0000000..f8fa7fd
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (tinyxml2-6.0.0-8c8293b.tar.gz) = 80700958a11dc06b9a9ef37f5fad38e71a5ffb3949d94ac93cd0deb872f82242478e84d1c7196cc1a8343c9a2e943781d4bbff2aeaa660f8e3c4cf8f31226ded
diff --git a/tinyxml2-epelbuild.patch b/tinyxml2-epelbuild.patch
new file mode 100644
index 0000000..d3b398c
--- /dev/null
+++ b/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/tinyxml2.spec b/tinyxml2.spec
new file mode 100644
index 0000000..90fdfbf
--- /dev/null
+++ b/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.
+