4 Summary: Improved Quake C Compiler
6 URL: http://graphitemaster.github.io/gmqcc/
7 Source0: https://github.com/graphitemaster/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
8 # fix build on big endian arches - stdlib.h required for exit()
9 Patch0: %{name}-0.3.5-stdlib.patch
11 # tests fail on big endians
12 ExclusiveArch: %{ix86} x86_64 %{arm}
15 Modern written-from-scratch compiler for the QuakeC language with
16 support for many common features found in other QC compilers.
19 Summary: Standalone QuakeC VM binary executor
22 Executor for QuakeC VM binary files created using a QC compiler such
23 as gmqcc or fteqcc. It provides a small set of built-in functions, and
24 by default executes the main function if there is one. Some options
25 useful for debugging are available as well.
28 Summary: Standalone Quake PAK file utility
30 %description -n gmqpak
31 Standalone Quake PAK file utility supporting the extraction of files,
32 directories, or whole PAKs, as well as the opposite (creation of PAK files).
37 echo '#!/bin/sh' > ./configure
40 # and for all for all of those switches they increase the runtime of the compile
41 # making compiles of code slower
43 # we don't need compiel time buffer protection, we test with clangs address
44 # sanatizer and valgrind before releases
45 %global optflags %(echo %{optflags} | sed 's/-D_FORTIFY_SOURCE=2 //')
46 # there is no exceptions in C
47 %global optflags %(echo %{optflags} | sed 's/-fexceptions //')
48 # same with clangs address sanatizer and valgrind testing
49 %global optflags %(echo %{optflags} | sed 's/-fstack-protector-strong //')
50 # buffer overflow protection is unrequired since most (if not all) allocations
51 # happen dynamically and we have our own memory allocator which checks this
52 # (with valgrind integration), also clangs address santatizer cathes it as
53 # for grecord-gcc-switches, that just adds pointless information to the binary
55 %global optflags %(echo %{optflags} | sed 's/--param=ssp-buffer-size=4 //')
62 %make_install PREFIX=%{_prefix}
68 %doc LICENSE README AUTHORS CHANGES TODO
69 %doc gmqcc.ini.example
70 %{_mandir}/man1/gmqcc.1*
74 %doc LICENSE README AUTHORS CHANGES TODO
75 %{_mandir}/man1/qcvm.1*
79 %doc LICENSE README AUTHORS CHANGES TODO
80 %{_mandir}/man1/gmqpak.1*
84 * Sat Nov 16 2013 Dan HorĂ¡k <dan[at]danny.cz> - 0.3.5-2
85 - fix build on big endian arches
86 - use the standard wildcarded filename for man pages
87 - and make it Exclusive for little endians because tests fail on big endians
89 * Thu Nov 14 2013 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 0.3.5-1
90 - 0.3.5 upstream release
92 * Thu Sep 26 2013 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 0.3.0-2
93 - Optimizing compile flags
95 * Fri Sep 20 2013 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 0.3.0-1
96 - Update to 0.3.0 (improved new package: gmqpak)
98 * Sat Jul 27 2013 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 0.2.9-1