1{ lib
2, pkgs
3, stdenv
4, fetchFromGitHub
5}:
6
7stdenv.mkDerivation rec {
8 pname = "gmqcc";
9 version = "0-unstable-2023-05-05";
10
11 src = fetchFromGitHub {
12 owner = "graphitemaster";
13 repo = "gmqcc";
14 rev = "2fe0af00e78d55edecd7ca7ee1808c4ea946b05f";
15 hash = "sha256-AyuwsUIt+P/D4ABuIXGJxpp0TMAbnDg+R2iNMy6WjRw=";
16 };
17
18 installPhase = ''
19 runHook preInstall
20
21 mkdir -p $out/bin
22 install -m755 gmqcc $out/bin
23
24 runHook postInstall
25 '';
26
27 meta = with lib; {
28 homepage = "https://graphitemaster.github.io/gmqcc/";
29 description = "A modern QuakeC compiler";
30 mainProgram = "gmqcc";
31 longDescription = ''
32 For an enduring period of time the options for a decent compiler for
33 the Quake C programming language were confined to a specific compiler
34 known as QCC. Attempts were made to extend and improve upon the design
35 of QCC, but many foreseen the consequences of building on a broken
36 foundation. The solution was obvious, a new compiler; one born from
37 the NIH realm of sarcastic wit.
38 We welcome you. You won't find a better Quake C compiler.
39 '';
40 license = lib.licenses.mit;
41 maintainers = with lib.maintainers; [ necrophcodr ];
42 platforms = platforms.linux;
43 };
44}