From ab968d7dd0df4f13d7ff1ae6d4794950a55c63f7 Mon Sep 17 00:00:00 2001 From: DarkOnion0 Date: Sat, 23 Apr 2022 19:01:47 +0200 Subject: assaultcube: 1.2.0.2 -> 1.3.0.2 assaultcube: update meta field assaultcube: update nix expression assaultcube: reformat expression assaultcube: add hooks and update desktop item --- pkgs/games/assaultcube/default.nix | 84 +++++++++++++++++++++++++------------- 1 file changed, 55 insertions(+), 29 deletions(-) diff --git a/pkgs/games/assaultcube/default.nix b/pkgs/games/assaultcube/default.nix index 4a0951d0964..7164e66feeb 100644 --- a/pkgs/games/assaultcube/default.nix +++ b/pkgs/games/assaultcube/default.nix @@ -1,42 +1,67 @@ -{ fetchFromGitHub, lib, stdenv, makeDesktopItem, openal, pkg-config, libogg, - libvorbis, SDL, SDL_image, makeWrapper, zlib, file, - client ? true, server ? true }: - -with lib; +{ lib +, stdenv +, fetchFromGitHub +, makeDesktopItem +, copyDesktopItems +, openal +, pkg-config +, libogg +, libvorbis +, SDL2 +, SDL2_image +, makeWrapper +, zlib +, file +, client ? true, server ? true +}: stdenv.mkDerivation rec { - - # master branch has legacy (1.2.0.2) protocol 1201 and gcc 6 fix. pname = "assaultcube"; - version = "unstable-2018-05-20"; + version = "1.3.0.2"; src = fetchFromGitHub { owner = "assaultcube"; repo = "AC"; - rev = "f58ea22b46b5013a520520670434b3c235212371"; - sha256 = "1vfn3d55vmmipdykrcfvgk6dddi9y95vlclsliirm7jdp20f15hd"; + rev = "v${version}"; + sha256 = "0qv339zw9q5q1y7bghca03gw7z4v89sl4lbr6h3b7siy08mcwiz9"; }; - nativeBuildInputs = [ makeWrapper pkg-config ]; - - buildInputs = [ file zlib ] ++ optionals client [ openal SDL SDL_image libogg libvorbis ]; - - targets = (optionalString server "server") + (optionalString client " client"); + nativeBuildInputs = [ + makeWrapper + pkg-config + copyDesktopItems + ]; + + buildInputs = [ + file + zlib + ] ++ lib.optionals client [ + openal + SDL2 + SDL2_image + libogg + libvorbis + ]; + + targets = (lib.optionalString server "server") + (lib.optionalString client " client"); makeFlags = [ "-C source/src" "CXX=${stdenv.cc.targetPrefix}c++" 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 = [ "Game" "ActionGame" "Shooter" ]; - icon = "assaultcube.png"; - exec = pname; - }; + desktopItems = [ + (makeDesktopItem { + name = pname; + desktopName = "AssaultCube"; + comment = "A multiplayer, first-person shooter game, based on the CUBE engine. Fast, arcade gameplay."; + genericName = "First-person shooter"; + categories = [ "Game" "ActionGame" "Shooter" ]; + icon = "assaultcube"; + exec = pname; + }) + ]; gamedatadir = "/share/games/${pname}"; installPhase = '' + runHook preInstall bindir=$out/bin @@ -47,7 +72,6 @@ stdenv.mkDerivation rec { 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 @@ -60,13 +84,15 @@ stdenv.mkDerivation rec { makeWrapper $out/bin/ac_server $out/bin/${pname}-server \ --chdir "$out/$gamedatadir" --add-flags "-Cconfig/servercmdline.txt" fi - ''; - meta = { + runHook postInstall + ''; + + meta = with lib; { description = "Fast and fun first-person-shooter based on the Cube fps"; homepage = "https://assault.cubers.net"; - maintainers = [ ]; platforms = platforms.linux; # should work on darwin with a little effort. - license = lib.licenses.unfree; + license = licenses.unfree; + maintainers = with maintainers; [ darkonion0 ]; }; } -- cgit 1.4.1