X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=blobdiff_plain;f=distro%2Ffedora%2Fspec%2Fgmqcc.spec;fp=distro%2Ffedora%2Fspec%2Fgmqcc.spec;h=95fb611abc87a499b0961a07d4772e20329dd997;hp=0000000000000000000000000000000000000000;hb=90533079c873b31458a272ed4b7ffc90c593e1f5;hpb=fe14d1b056935d726cca09b2c0f2607c831244ef diff --git a/distro/fedora/spec/gmqcc.spec b/distro/fedora/spec/gmqcc.spec new file mode 100644 index 0000000..95fb611 --- /dev/null +++ b/distro/fedora/spec/gmqcc.spec @@ -0,0 +1,96 @@ +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 - 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 - 0.3.5-1 +- 0.3.5 upstream release + +* Thu Sep 26 2013 Igor Gnatenko - 0.3.0-2 +- Optimizing compile flags + +* Fri Sep 20 2013 Igor Gnatenko - 0.3.0-1 +- Update to 0.3.0 (improved new package: gmqpak) + +* Sat Jul 27 2013 Igor Gnatenko - 0.2.9-1 +- Initial release