From 65f90f9c67027586d554e9098cfc540386791bcd Mon Sep 17 00:00:00 2001 From: Bignaux Ronan Date: Mon, 5 Feb 2018 16:06:49 +0100 Subject: assaultcube: init at official master branch , rev = "9f537b0876a39d7686e773040469fbb1417de18b" (#34623) * assaultcube: init at official git master branch --- pkgs/games/assaultcube/default.nix | 82 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 pkgs/games/assaultcube/default.nix (limited to 'pkgs/games/assaultcube/default.nix') diff --git a/pkgs/games/assaultcube/default.nix b/pkgs/games/assaultcube/default.nix new file mode 100644 index 00000000000..cef48978b6d --- /dev/null +++ b/pkgs/games/assaultcube/default.nix @@ -0,0 +1,82 @@ +{ fetchFromGitHub, stdenv, makeDesktopItem, openal, pkgconfig, libogg, + libvorbis, SDL, SDL_image, makeWrapper, zlib, + client ? true, server ? true }: + +with stdenv.lib; + +stdenv.mkDerivation rec { + + # master branch has legacy (1.2.0.2) protocol 1201 and gcc 6 fix. + pname = "assaultcube"; + version = "01052017"; + name = "${pname}-${version}"; + + meta = { + description = "Fast and fun first-person-shooter based on the Cube fps"; + homepage = http://assault.cubers.net; + maintainers = [ maintainers.genesis ]; + platforms = platforms.linux; # should work on darwin with a little effort. + license = stdenv.lib.licenses.zlib; + }; + + src = fetchFromGitHub { + owner = "assaultcube"; + repo = "AC"; + rev = "9f537b0876a39d7686e773040469fbb1417de18b"; + sha256 = "0nvckn67mmfaa7x3j41xyxjllxqzfx1dxg8pnqsaak3kkzds34pl"; + }; + + # ${branch} not accepted as a value ? + # TODO: write a functional BUNDLED_ENET option and restore it in deps. + patches = [ ./assaultcube-next.patch ]; + + nativeBuildInputs = [ pkgconfig ]; + + # add optional for server only ? + buildInputs = [ makeWrapper openal SDL SDL_image libogg libvorbis zlib ]; + + #makeFlags = [ "CXX=g++" ]; + + targets = (optionalString server "server") + (optionalString client " client"); + buildPhase = '' + make -C source/src ${targets} + ''; + + desktop = makeDesktopItem { + name = "AssaultCube"; + desktopName = "AssaultCube"; + comment = "A multiplayer, first-person shooter game, based on the CUBE engine. Fast, arcade gameplay."; + genericName = "First-person shooter"; + categories = "Application;Game;ActionGame;Shooter"; + icon = "assaultcube.png"; + exec = "${pname}"; + }; + + gamedatadir = "/share/games/${pname}"; + + installPhase = '' + + bindir=$out/bin + + mkdir -p $bindir $out/$gamedatadir + + cp -r config packages $out/$gamedatadir + + # install custom script + substituteAll ${./launcher.sh} $bindir/assaultcube + chmod +x $bindir/assaultcube + + if (test -e source/src/ac_client) then + cp source/src/ac_client $bindir + mkdir -p $out/share/applications + cp ${desktop}/share/applications/* $out/share/applications + install -Dpm644 packages/misc/icon.png $out/share/icons/assaultcube.png + install -Dpm644 packages/misc/icon.png $out/share/pixmaps/assaultcube.png + fi + + if (test -e source/src/ac_server) then + cp source/src/ac_server $bindir + ln -s $bindir/${pname} $bindir/${pname}-server + fi + ''; +} -- cgit 1.4.1