2023-01-22 14:59:45 -03:00
|
|
|
{ pkgs, lib, stdenv, fetchFromGitHub, makeWrapper }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
pname = "dzgui";
|
2023-05-17 22:43:20 -03:00
|
|
|
version = "3.3.0";
|
2023-01-22 14:59:45 -03:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "aclist";
|
|
|
|
repo = "dztui";
|
|
|
|
rev = "10c29c0542a07fb81b5922f96b416e3a2e8079cc";
|
|
|
|
sha256 = "sha256-VmW0ohXK+9CAr4yGaA/NSW7+E1vUvZthom8MculmOEs=";
|
|
|
|
};
|
|
|
|
|
|
|
|
nativeBuildInputs = [ makeWrapper ];
|
|
|
|
|
|
|
|
runtimeDeps = with pkgs; [
|
|
|
|
curl
|
|
|
|
jq
|
|
|
|
python3
|
|
|
|
wmctrl
|
|
|
|
xdotool
|
|
|
|
gnome.zenity
|
|
|
|
|
|
|
|
## Here we don't declare steam as a dependency because
|
|
|
|
## we could either use the native or flatpack version
|
|
|
|
## and also so this does not become a non-free package
|
|
|
|
# steam
|
|
|
|
];
|
|
|
|
|
2023-04-21 23:16:41 -03:00
|
|
|
patches = [
|
2023-05-17 22:43:20 -03:00
|
|
|
./patches/dont-hardcode-zenity.patch
|
|
|
|
./patches/dont-write-desktop-entry-during-runtime.patch
|
|
|
|
./patches/dont-check-map-count.patch
|
2023-04-21 23:16:41 -03:00
|
|
|
];
|
|
|
|
|
2023-01-22 14:59:45 -03:00
|
|
|
installPhase = ''
|
2023-04-21 21:47:39 -03:00
|
|
|
install -DT dzgui.sh $out/bin/.dzgui-unwrapped_
|
2023-01-22 14:59:45 -03:00
|
|
|
makeWrapper $out/bin/.dzgui-unwrapped_ $out/bin/dzgui \
|
|
|
|
--prefix PATH ':' ${lib.makeBinPath runtimeDeps}
|
2023-05-17 22:43:20 -03:00
|
|
|
|
|
|
|
install -DT ${./dzgui.desktop} $out/share/applications/dzgui.desktop
|
|
|
|
install -DT images/dzgui $out/share/icons/hicolor/256x256/apps/dzgui.png
|
2023-01-22 14:59:45 -03:00
|
|
|
'';
|
|
|
|
|
|
|
|
meta = with lib; {
|
|
|
|
homepage = "https://github.com/pronovic/banner";
|
|
|
|
description = "DayZ TUI/GUI server browser";
|
|
|
|
license = licenses.gpl3;
|
|
|
|
|
|
|
|
longDescription = ''
|
|
|
|
DZGUI allows you to connect to both official and modded/community DayZ
|
|
|
|
servers on Linux and provides a graphical interface for doing so.
|
|
|
|
'';
|
|
|
|
|
|
|
|
platforms = platforms.all;
|
|
|
|
};
|
|
|
|
}
|