summaryrefslogtreecommitdiffstats
path: root/pkgs/games/crossfire
diff options
context:
space:
mode:
authorB. Kelly <bk@ancilla.ca>2019-08-02 19:16:16 -0400
committerRebecca Kelly <btk@google.com>2021-08-27 21:54:36 -0400
commit5e65827139f158bb5f9d3040f3083146bec786a3 (patch)
treeb61f64d27cb3bf81535328f8160f8405ecae790d /pkgs/games/crossfire
parent308c004ace14c471d904a065582f8a51be9750f4 (diff)
crossfire-server: init at r22111
This adds the Crossfire server package and the corresponding data packages (maps and archetypes). Note that this tracks a recent SVN commit; the latest official release is many years old and no longer widely used (or supported).
Diffstat (limited to 'pkgs/games/crossfire')
-rw-r--r--pkgs/games/crossfire/crossfire-arch.nix27
-rw-r--r--pkgs/games/crossfire/crossfire-maps.nix27
-rw-r--r--pkgs/games/crossfire/crossfire-server.nix37
-rw-r--r--pkgs/games/crossfire/default.nix22
4 files changed, 113 insertions, 0 deletions
diff --git a/pkgs/games/crossfire/crossfire-arch.nix b/pkgs/games/crossfire/crossfire-arch.nix
new file mode 100644
index 000000000000..ff9e0f9dea6d
--- /dev/null
+++ b/pkgs/games/crossfire/crossfire-arch.nix
@@ -0,0 +1,27 @@
+{ stdenv, lib, fetchsvn,
+ version, rev, sha256 }:
+
+stdenv.mkDerivation rec {
+ pname = "crossfire-arch";
+ version = "r${toString rev}";
+
+ src = fetchsvn {
+ url = "http://svn.code.sf.net/p/crossfire/code/arch/trunk/";
+ sha256 = sha256;
+ rev = rev;
+ };
+
+ installPhase = ''
+ mkdir -p "$out"
+ cp -a . "$out/"
+ '';
+
+ meta = with lib; {
+ description = "Archetype data for the Crossfire free MMORPG";
+ homepage = "http://crossfire.real-time.com/";
+ license = licenses.gpl2Plus;
+ platforms = platforms.linux;
+ hydraPlatforms = [];
+ maintainers = with maintainers; [ ToxicFrog ];
+ };
+}
diff --git a/pkgs/games/crossfire/crossfire-maps.nix b/pkgs/games/crossfire/crossfire-maps.nix
new file mode 100644
index 000000000000..0521b038d361
--- /dev/null
+++ b/pkgs/games/crossfire/crossfire-maps.nix
@@ -0,0 +1,27 @@
+{ stdenv, lib, fetchsvn,
+ version, rev, sha256 }:
+
+stdenv.mkDerivation rec {
+ pname = "crossfire-maps";
+ version = "r${toString rev}";
+
+ src = fetchsvn {
+ url = "http://svn.code.sf.net/p/crossfire/code/maps/trunk/";
+ sha256 = sha256;
+ rev = rev;
+ };
+
+ installPhase = ''
+ mkdir -p "$out"
+ cp -a . "$out/"
+ '';
+
+ meta = with lib; {
+ description = "Map data for the Crossfire free MMORPG";
+ homepage = "http://crossfire.real-time.com/";
+ license = licenses.gpl2Plus;
+ platforms = platforms.linux;
+ hydraPlatforms = [];
+ maintainers = with maintainers; [ ToxicFrog ];
+ };
+}
diff --git a/pkgs/games/crossfire/crossfire-server.nix b/pkgs/games/crossfire/crossfire-server.nix
new file mode 100644
index 000000000000..9259e8e52faa
--- /dev/null
+++ b/pkgs/games/crossfire/crossfire-server.nix
@@ -0,0 +1,37 @@
+{ stdenv, lib, fetchsvn, autoreconfHook,
+ autoconf, automake, libtool, flex, perl, check, pkg-config, python3,
+ version, rev, sha256, maps, arch }:
+
+stdenv.mkDerivation rec {
+ pname = "crossfire-server";
+ version = "r${toString rev}";
+
+ src = fetchsvn {
+ url = "http://svn.code.sf.net/p/crossfire/code/server/trunk/";
+ sha256 = sha256;
+ rev = rev;
+ };
+
+ nativeBuildInputs = [ autoconf automake libtool flex perl check pkg-config python3 ];
+ hardeningDisable = [ "format" ];
+
+ preConfigure = ''
+ ln -s ${arch} lib/arch
+ ln -s ${maps} lib/maps
+ sh autogen.sh
+ '';
+
+ configureFlags = [ "--with-python=${python3}" ];
+
+ postInstall = ''
+ ln -s ${maps} "$out/share/crossfire/maps"
+ '';
+
+ meta = with lib; {
+ description = "Server for the Crossfire free MMORPG";
+ homepage = "http://crossfire.real-time.com/";
+ license = licenses.gpl2Plus;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ ToxicFrog ];
+ };
+}
diff --git a/pkgs/games/crossfire/default.nix b/pkgs/games/crossfire/default.nix
new file mode 100644
index 000000000000..cfe6448928c0
--- /dev/null
+++ b/pkgs/games/crossfire/default.nix
@@ -0,0 +1,22 @@
+{ callPackage, ... }:
+
+rec {
+ crossfire-server = callPackage ./crossfire-server.nix {
+ version = "latest";
+ rev = 22111;
+ sha256 = "04fjif6zv642n2zlw27cgzkak2kknwrxqzg42bvzl7q901bsr9l7";
+ maps = crossfire-maps; arch = crossfire-arch;
+ };
+
+ crossfire-arch = callPackage ./crossfire-arch.nix {
+ version = "latest";
+ rev = 22111;
+ sha256 = "0l4rp3idvbhknpxxs0w4i4nqfg01wblzm4v4j375xwxxbf00j0ms";
+ };
+
+ crossfire-maps = callPackage ./crossfire-maps.nix {
+ version = "latest";
+ rev = 22111;
+ sha256 = "1dwfc84acjvbjgjakkb8z8pdlksbsn90j0z8z8rq37lqx0kx1sap";
+ };
+}