Debian Patches

Status for ioquake3/1.36+u20240217.7d711f8+dfsg-1

Patch Description Author Forwarded Bugs Origin Last update
build-Link-game-cgame-ui-modules-to-LIBS.patch build: Link game, cgame, ui modules to $(LIBS)
All three modules call mathematical functions like atan2(). On glibc
systems, when compiled to native code with an ordinary C compiler
(as opposed to bytecode from q3lcc), they get the definition of those
functions from libm.

Until now, they were not explicitly linked to libm, and instead relied
on the fact that libm is linked into the main executable. However,
doing it this way defeats glibc's symbol-versioning mechanisms, and
can fail in some situations, in particular binaries built with
-ffast-math on a pre-2.31 version of glibc (where atan2() resolves to
__atan2_finite()), and used without recompilation on a post-2.31 version
of glibc (where __atan2_finite() has become a deprecated hidden symbol
that is only available as a versioned symbol).

When building shared libraries and loadable modules, it's most robust
to link them explicitly to their dependencies, as is done here.
$(LIBS) also includes -ldl, which is unnecessary but harmless.
Simon McVittie <> yes debian 2020-07-24
debian/Add-sv_dorestart-which-can-be-set-by-game-code-to-re.patch Add sv_dorestart, which can be set by game code to restart the map Simon McVittie <> no OpenArena 2012-02-24
debian/Let-servers-set-sv_fps-too.patch Let servers set sv_fps, too Simon McVittie <> no 2012-02-24
debian/Add-a-special-vmMagic-that-causes-equivalent-native-.patch Add a special vmMagic that causes equivalent native code to be loaded instead

This means that mods can build everything from source without relying on
the non-GPL q3lcc compiler. By padding the fake QVM with bytes chosen
to match the CRC-32 of the upstream-released QVM, it's even possible to
be network-compatible with the upstream one, and so play on pure servers.

If the magic number in the fake QVM file is immediately followed by a
non-empty string (e.g. "pak0"), we try using it as a subdirectory name,
so we end up loading something like pak0/; otherwise we
just use the base name, as if for VMI_NATIVE. This is necessary for mods
like OpenArena, where the game-code for 0.8.1 and 0.8.5 is not
network-compatible, so 0.8.5 clients on a 0.8.1 pure server need to load
the 0.8.1 game-code.
Simon McVittie <> no vendor, Debian 2011-08-04
debian/Run-in-a-window-by-default-on-new-installations.patch Run in a window by default on new installations
Debian Games Team policy seems to be to default to windowed to avoid
resetting screen geometry, breaking multi-head, etc. r_fullscreen
is "archived" (saved to the user configuration), so this doesn't
affect current players.

Most people will want to configure a higher resolution than 640x480
anyway, at which point it's easy to switch fullscreen on too.

Also set default r_mode to 3 (640x480) in renderergl2, matching
Simon McVittie <> invalid 2014-01-18
debian/ui-reinstate-minimal-code-to-determine-whether-this-.patch ui: reinstate minimal code to determine whether this is the demo Simon McVittie <> no 2015-01-20
debian/Request-confirmation-if-a-user-enables-auto-downloading.patch Request confirmation if a user enables auto-downloading
The Q3 UI toolkit isn't great at large amounts of text, so just point
to a link into the Debian wiki.

[Adapted from src:openarena for src:ioquake3]
Simon McVittie <> no debian vendor, Debian 2012-09-14
debian/Compile-successfully-against-libcurl-7.52.x.patch Compile successfully against libcurl 7.52.x
Older versions of libcurl didn't have this constant. It's non-critical,
and is only there to speed up downloads; skip that when compiling
against an older system copy of libcurl, such as 7.52.x in Debian 9.
Simon McVittie <> no 2018-09-12

All known versions for source package 'ioquake3'