summary refs log tree commit diff
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)
downloadnixpkgs-5e65827139f158bb5f9d3040f3083146bec786a3.tar
nixpkgs-5e65827139f158bb5f9d3040f3083146bec786a3.tar.gz
nixpkgs-5e65827139f158bb5f9d3040f3083146bec786a3.tar.bz2
nixpkgs-5e65827139f158bb5f9d3040f3083146bec786a3.tar.lz
nixpkgs-5e65827139f158bb5f9d3040f3083146bec786a3.tar.xz
nixpkgs-5e65827139f158bb5f9d3040f3083146bec786a3.tar.zst
nixpkgs-5e65827139f158bb5f9d3040f3083146bec786a3.zip
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 00000000000..ff9e0f9dea6
--- /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 00000000000..0521b038d36
--- /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 00000000000..9259e8e52fa
--- /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 00000000000..cfe6448928c
--- /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";
+  };
+}