nixpkgs/pkgs/games/chocolate-doom/default.nix
Sergei Trofimovich a679de55a4 chocolateDoom: pull upstream fix for -fno-common toolchains
Without the change build fails on -fno-common toolchains like upstream
gcc-10:

    ld: hexen/libhexen.a(g_game.o):/build/source/src/hexen/g_game.c:101:
      multiple definition of `demoextend'; hexen/libhexen.a(mn_menu.o):
        /build/source/src/hexen/mn_menu.c:134: first defined here
2022-05-12 22:24:53 +01:00

40 lines
1.3 KiB
Nix

{ lib, stdenv, autoreconfHook, pkg-config, SDL2, SDL2_mixer, SDL2_net, fetchFromGitHub, fetchpatch }:
stdenv.mkDerivation rec {
pname = "chocolate-doom";
version = "3.0.1";
src = fetchFromGitHub {
owner = "chocolate-doom";
repo = pname;
rev = "${pname}-${version}";
sha256 = "1zlcqhd49c5n8vaahgaqrc2y10z86xng51sbd82xm3rk2dly25jp";
};
patches = [
# Pull upstream patch to fix builx against gcc-10:
# https://github.com/chocolate-doom/chocolate-doom/pull/1257
(fetchpatch {
name = "fno-common.patch";
url = "https://github.com/chocolate-doom/chocolate-doom/commit/a8fd4b1f563d24d4296c3e8225c8404e2724d4c2.patch";
sha256 = "1dmbygn952sy5n8qqp0asg11pmygwgygl17lrj7i0fxa0nrhixhj";
})
];
postPatch = ''
sed -e 's#/games#/bin#g' -i src{,/setup}/Makefile.am
'';
nativeBuildInputs = [ autoreconfHook pkg-config ];
buildInputs = [ SDL2 SDL2_mixer SDL2_net ];
enableParallelBuilding = true;
meta = {
homepage = "http://chocolate-doom.org/";
description = "A Doom source port that accurately reproduces the experience of Doom as it was played in the 1990s";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.unix;
hydraPlatforms = lib.platforms.linux; # darwin times out
maintainers = with lib.maintainers; [ MP2E ];
};
}