--- /dev/null
+Name: gmqcc
+Version: 0.3.6
+Release: 2%{?dist}
+Summary: Improved Quake C Compiler
+License: MIT
+URL: http://graphitemaster.github.io/gmqcc/
+Source0: https://github.com/graphitemaster/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
+
+# tests fail on big endians
+ExclusiveArch: %{ix86} x86_64 %{arm}
+
+%description
+Modern written-from-scratch compiler for the QuakeC language with
+support for many common features found in other QC compilers.
+
+%package -n qcvm
+Summary: Standalone QuakeC VM binary executor
+
+%description -n qcvm
+Executor for QuakeC VM binary files created using a QC compiler such
+as gmqcc or fteqcc. It provides a small set of built-in functions, and
+by default executes the main function if there is one. Some options
+useful for debugging are available as well.
+
+%package -n gmqpak
+Summary: Standalone Quake PAK file utility
+
+%description -n gmqpak
+Standalone Quake PAK file utility supporting the extraction of files,
+directories, or whole PAKs, as well as the opposite (creation of PAK files).
+
+%prep
+%setup -q
+echo '#!/bin/sh' > ./configure
+chmod +x ./configure
+
+# and for all for all of those switches they increase the runtime of the compile
+# making compiles of code slower
+
+# we don't need compile time buffer protection, we test with clang's address
+# sanatizer and valgrind before releases
+%global optflags %(echo %{optflags} | sed 's/-D_FORTIFY_SOURCE=2 //')
+# there is no exceptions in C
+%global optflags %(echo %{optflags} | sed 's/-fexceptions //')
+# same with clangs address sanatizer and valgrind testing
+%global optflags %(echo %{optflags} | sed 's/-fstack-protector-strong //')
+# buffer overflow protection is unrequired since most (if not all) allocations
+# happen dynamically and we have our own memory allocator which checks this
+# (with valgrind integration), also clang's address santatizer cathes it as
+# for grecord-gcc-switches, that just adds pointless information to the binary
+# increasing its size
+%global optflags %(echo %{optflags} | sed 's/--param=ssp-buffer-size=4 //')
+
+%build
+%configure
+make %{?_smp_mflags}
+
+%install
+%make_install PREFIX=%{_prefix}
+
+%check
+make check
+
+%files
+%doc LICENSE README AUTHORS CHANGES TODO
+%doc gmqcc.ini.example
+%{_mandir}/man1/gmqcc.1*
+%{_bindir}/gmqcc
+
+%files -n qcvm
+%doc LICENSE README AUTHORS CHANGES TODO
+%{_mandir}/man1/qcvm.1*
+%{_bindir}/qcvm
+
+%files -n gmqpak
+%doc LICENSE README AUTHORS CHANGES TODO
+%{_mandir}/man1/gmqpak.1*
+%{_bindir}/gmqpak
+
+%changelog
+* Sat Nov 16 2013 Dan HorĂ¡k <dan[at]danny.cz> - 0.3.5-2
+- fix build on big endian arches
+- use the standard wildcarded filename for man pages
+- and make it Exclusive for little endians because tests fail on big endians
+
+* Thu Nov 14 2013 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 0.3.5-1
+- 0.3.5 upstream release
+
+* Thu Sep 26 2013 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 0.3.0-2
+- Optimizing compile flags
+
+* Fri Sep 20 2013 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 0.3.0-1
+- Update to 0.3.0 (improved new package: gmqpak)
+
+* Sat Jul 27 2013 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 0.2.9-1
+- Initial release