ghostOne: remove

broken and unmaintained
This commit is contained in:
Robin Gloster 2017-12-27 15:28:11 +01:00
parent fe437d70ec
commit 445e3d7390
5 changed files with 2 additions and 165 deletions

View file

@ -65,7 +65,7 @@
foldingathome = 37;
sabnzbd = 38;
#kdm = 39; # dropped in 17.03
ghostone = 40;
#ghostone = 40; # dropped in 18.03
git = 41;
fourstore = 42;
fourstorehttp = 43;
@ -348,7 +348,7 @@
#foldingathome = 37; # unused
#sabnzd = 38; # unused
#kdm = 39; # unused, even before 17.03
ghostone = 40;
#ghostone = 40; # dropped in 18.03
git = 41;
fourstore = 42;
fourstorehttp = 43;

View file

@ -220,7 +220,6 @@
./services/editors/emacs.nix
./services/editors/infinoted.nix
./services/games/factorio.nix
./services/games/ghost-one.nix
./services/games/minecraft-server.nix
./services/games/minetest-server.nix
./services/games/terraria.nix

View file

@ -1,105 +0,0 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.ghostOne;
ghostUser = "ghostone";
stateDir = "/var/lib/ghost-one";
in
{
###### interface
options = {
services.ghostOne = {
enable = mkOption {
default = false;
description = "Enable Ghost-One Warcraft3 game hosting server.";
};
language = mkOption {
default = "English";
type = types.enum [ "English" "Spanish" "Russian" "Serbian" "Turkish" ];
description = "The language of bot messages: English, Spanish, Russian, Serbian or Turkish.";
};
war3path = mkOption {
default = "";
description = ''
The path to your local Warcraft III directory, which must contain war3.exe, storm.dll, and game.dll.
'';
};
mappath = mkOption {
default = "";
description = ''
The path to the directory where you keep your map files. GHost One doesn't require
map files but if it has access to them it can send them to players and automatically
calculate most map config values. GHost One will search [bot_mappath + map_localpath]
for the map file (map_localpath is set in each map's config file).
'';
};
config = mkOption {
default = "";
description = "Extra configuration options.";
};
};
};
###### implementation
config = mkIf cfg.enable {
users.extraUsers = singleton
{ name = ghostUser;
uid = config.ids.uids.ghostone;
description = "Ghost One game server user";
home = stateDir;
};
users.extraGroups = singleton
{ name = ghostUser;
gid = config.ids.gids.ghostone;
};
services.ghostOne.config = ''
# bot_log = /dev/stderr
bot_language = ${pkgs.ghostOne}/share/ghost-one/languages/${cfg.language}.cfg
bot_war3path = ${cfg.war3path}
bot_mapcfgpath = mapcfgs
bot_savegamepath = savegames
bot_mappath = ${cfg.mappath}
bot_replaypath = replays
'';
systemd.services."ghost-one" = {
wantedBy = [ "multi-user.target" ];
script = ''
mkdir -p ${stateDir}
cd ${stateDir}
chown ${ghostUser}:${ghostUser} .
mkdir -p mapcfgs
chown ${ghostUser}:${ghostUser} mapcfgs
mkdir -p replays
chown ${ghostUser}:${ghostUser} replays
mkdir -p savegames
chown ${ghostUser}:${ghostUser} savegames
ln -sf ${pkgs.writeText "ghost.cfg" cfg.config} ghost.cfg
ln -sf ${pkgs.ghostOne}/share/ghost-one/ip-to-country.csv
${pkgs.su}/bin/su -s ${pkgs.stdenv.shell} ${ghostUser} \
-c "LANG=C ${pkgs.ghostOne}/bin/ghost++"
'';
};
};
}

View file

@ -1,55 +0,0 @@
{ stdenv, fetchurl, unzip, gmp, zlib, bzip2, boost, mysql }:
stdenv.mkDerivation rec {
name = "ghost-one-${version}";
version = "1.7.265";
src = fetchurl {
url = "http://www.maxdevlon.com/ghost/ghostone${version}.zip";
sha256 = "1sm2ca3lcdr4vjg7v94d8zhqz8cdp44rg8yinzzwkgsr0hj74fv2";
};
buildInputs = [ unzip gmp zlib bzip2 boost mysql.connector-c ];
patchPhase = ''
substituteInPlace ghost/Makefile --replace "/usr/local/lib/mysql" \
"${mysql.connector-c}/lib/mariadb"
'';
buildPhase = ''
cd bncsutil/src/bncsutil
make
cd ../../../StormLib/stormlib/
make
mkdir -p $out/lib
cd ../..
# cp bncsutil/src/bncsutil/libbncutil.so $out/lib
# cp StormLib/stormlib/libStorm.so $out/lib
cd ghost
make
cd ..
'';
installPhase = ''
mkdir -p $out/lib
cp bncsutil/src/bncsutil/libbncsutil.so $out/lib
cp StormLib/stormlib/libStorm.so $out/lib
mkdir -p $out/bin
cp ghost/ghost++ $out/bin
mkdir -p $out/share/ghost-one/languages
cp -r mapcfgs $out/share/ghost-one
cp Languages/*.cfg $out/share/ghost-one/languages
cp language.cfg $out/share/ghost-one/languages/English.cfg
cp ip-to-country.csv $out/share/ghost-one/
'';
meta = with stdenv.lib; {
homepage = http://www.codelain.com/forum/;
description = "A Warcraft III: Reign of Chaos and Warcraft III: The Frozen Throne game hosting bot";
license = licenses.asl20;
maintainers = [ maintainers.phreedom ];
broken = true; # can't even get downloaded
};
}

View file

@ -18085,8 +18085,6 @@ with pkgs;
gemrb = callPackage ../games/gemrb { };
ghostOne = callPackage ../servers/games/ghost-one { };
gl117 = callPackage ../games/gl-117 {};
globulation2 = callPackage ../games/globulation {