nixpkgs/pkgs/games/cataclysm-dda/stable.nix
detroyejr 19efe422f0 cataclysm-dda: Patch cataclysm-dda and cataclysm-dda-git.
Release 0.G needs 3 patches to build successfully with gcc 13. These can
be removed after the next release.

[patch] disable dangling reference warning
[patch] fix build with gcc 13
[patch] cleanup autogenerated prefix.h
2024-01-28 21:13:53 -05:00

67 lines
1.8 KiB
Nix

{ lib
, callPackage
, CoreFoundation
, fetchFromGitHub
, fetchpatch
, pkgs
, wrapCDDA
, attachPkgs
, tiles ? true
, Cocoa
, debug ? false
, useXdgDir ? false
}:
let
common = callPackage ./common.nix {
inherit CoreFoundation tiles Cocoa debug useXdgDir;
};
self = common.overrideAttrs (common: rec {
version = "0.G";
src = fetchFromGitHub {
owner = "CleverRaven";
repo = "Cataclysm-DDA";
rev = version;
sha256 = "sha256-Hda0dVVHNeZ8MV5CaCbSpdOCG2iqQEEmXdh16vwIBXk=";
};
patches = [
# Unconditionally look for translation files in $out/share/locale
./locale-path.patch
# Fixes for failing build with GCC 13, remove on updating next release after 0.G
(fetchpatch {
url = "https://sources.debian.org/data/main/c/cataclysm-dda/0.G-4/debian/patches/gcc13-dangling-reference-warning.patch";
hash = "sha256-9nPbyz49IYBOVHqr7jzCIyS8z/SQgpK4EjEz1fruIPE=";
})
(fetchpatch {
url = "https://sources.debian.org/data/main/c/cataclysm-dda/0.G-4/debian/patches/gcc13-cstdint.patch";
hash = "sha256-8IBW2OzAHVgEJZoViQ490n37sl31hA55ePuqDL/lil0=";
})
(fetchpatch {
url = "https://sources.debian.org/data/main/c/cataclysm-dda/0.G-4/debian/patches/gcc13-keyword-requires.patch";
hash = "sha256-8yvHh0YKC7AC/qzia7AZAfMewMC0RiSepMXpOkMXRd8=";
})
];
makeFlags = common.makeFlags ++ [
# Makefile declares version as 0.F, with no minor release number
"VERSION=${version}"
];
env.NIX_CFLAGS_COMPILE = toString [
# Needed with GCC 12
"-Wno-error=array-bounds"
];
meta = common.meta // {
maintainers = with lib.maintainers;
common.meta.maintainers;
changelog = "https://github.com/CleverRaven/Cataclysm-DDA/blob/${version}/data/changelog.txt";
};
});
in
attachPkgs pkgs self