mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-22 14:45:27 +00:00
ghostOne: remove
broken and unmaintained
This commit is contained in:
parent
fe437d70ec
commit
445e3d7390
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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++"
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
|
@ -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
|
||||
};
|
||||
}
|
|
@ -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 {
|
||||
|
|
Loading…
Reference in a new issue