Without the change `wesnoth` fails to build against `gcc-13` as: $ nix build --impure --expr 'with import <nixpkgs> {}; wesnoth.override { stdenv = gcc13Stdenv; }' -L In file included from /build/source/src/serialization/base64.cpp:16: /build/source/src/serialization/base64.hpp:23:49: error: 'uint8_t' was not declared in this scope 23 | using byte_string_view = std::basic_string_view<uint8_t>; | ^~~~~~~ /build/source/src/serialization/base64.hpp:20:1: note: 'uint8_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'? 19 | #include <vector> +++ |+#include <cstdint> 20 |
52 lines
1.7 KiB
Nix
52 lines
1.7 KiB
Nix
{ lib, stdenv, fetchFromGitHub, fetchpatch
|
|
, cmake, pkg-config, SDL2, SDL2_image, SDL2_mixer, SDL2_net, SDL2_ttf
|
|
, pango, gettext, boost, libvorbis, fribidi, dbus, libpng, pcre, openssl, icu
|
|
, Cocoa, Foundation
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "wesnoth";
|
|
version = "1.16.9";
|
|
|
|
src = fetchFromGitHub {
|
|
rev = version;
|
|
owner = "wesnoth";
|
|
repo = "wesnoth";
|
|
hash = "sha256-KtAPc2nsqSoHNsLTLom/yaUECn+IWBdBFpiMclrUHxM=";
|
|
};
|
|
|
|
patches = [
|
|
# Pull upstream fix https://github.com/wesnoth/wesnoth/pull/6726
|
|
# for gcc-13 support.
|
|
(fetchpatch {
|
|
name = "gcc-134.patch";
|
|
url = "https://github.com/wesnoth/wesnoth/commit/f073493ebc279cefa391d364c48265058795e1d2.patch";
|
|
hash = "sha256-uTB65DEBZwHFRgDwNx/yVjzmnW3jRoiibadXhNcwMkI=";
|
|
})
|
|
];
|
|
|
|
nativeBuildInputs = [ cmake pkg-config ];
|
|
|
|
buildInputs = [ SDL2 SDL2_image SDL2_mixer SDL2_net SDL2_ttf pango gettext boost
|
|
libvorbis fribidi dbus libpng pcre openssl icu ]
|
|
++ lib.optionals stdenv.isDarwin [ Cocoa Foundation];
|
|
|
|
NIX_LDFLAGS = lib.optionalString stdenv.isDarwin "-framework AppKit";
|
|
|
|
meta = with lib; {
|
|
description = "The Battle for Wesnoth, a free, turn-based strategy game with a fantasy theme";
|
|
longDescription = ''
|
|
The Battle for Wesnoth is a Free, turn-based tactical strategy
|
|
game with a high fantasy theme, featuring both single-player, and
|
|
online/hotseat multiplayer combat. Fight a desperate battle to
|
|
reclaim the throne of Wesnoth, or take hand in any number of other
|
|
adventures.
|
|
'';
|
|
|
|
homepage = "https://www.wesnoth.org/";
|
|
license = licenses.gpl2Plus;
|
|
maintainers = with maintainers; [ abbradar ];
|
|
platforms = platforms.unix;
|
|
};
|
|
}
|