1{
2 stdenv,
3 lib,
4 pkgs,
5 fetchgit,
6 autoconf,
7 automake,
8 libtool,
9 flex,
10 perl,
11 check,
12 pkg-config,
13 python3,
14 # Included here so that hosts using custom maps/archetypes can easily override.
15 maps ? pkgs.crossfire-maps,
16 arch ? pkgs.crossfire-arch,
17}:
18
19stdenv.mkDerivation {
20 pname = "crossfire-server";
21 version = "2025-04";
22
23 src = fetchgit {
24 url = "https://git.code.sf.net/p/crossfire/crossfire-server";
25 rev = "5f742b9f9f785e4a59a3a463bee1f31c9bc67098";
26 hash = "sha256-e7e3xN7B1cv9+WkZGzOJgrFer50Cs0L/2dYB9RmGCiE=";
27 };
28
29 nativeBuildInputs = [
30 autoconf
31 automake
32 libtool
33 flex
34 perl
35 check
36 pkg-config
37 python3
38 ];
39 hardeningDisable = [ "format" ];
40
41 preConfigure = ''
42 ln -s ${arch} lib/arch
43 ln -s ${maps} lib/maps
44 sh autogen.sh
45 '';
46
47 configureFlags = [ "--with-python=${python3}" ];
48
49 postInstall = ''
50 ln -s ${maps} "$out/share/crossfire/maps"
51 '';
52
53 meta = with lib; {
54 description = "Server for the Crossfire free MMORPG";
55 homepage = "http://crossfire.real-time.com/";
56 license = licenses.gpl2Plus;
57 platforms = platforms.linux;
58 maintainers = with maintainers; [ ToxicFrog ];
59 };
60}