mirror of
https://github.com/lelgenio/dzgui-nix.git
synced 2024-12-24 11:55:36 -03:00
track releases using commit hash, add update script
This commit is contained in:
parent
d3b2f98b54
commit
36b7c8eb1d
82
default.nix
82
default.nix
|
@ -1,80 +1,6 @@
|
||||||
{ lib
|
{
|
||||||
, stdenv
|
pkgs ? import <nixpkgs> { },
|
||||||
, fetchFromGitHub
|
|
||||||
, makeWrapper
|
|
||||||
, curl
|
|
||||||
, jq
|
|
||||||
, python3
|
|
||||||
, wmctrl
|
|
||||||
, xdotool
|
|
||||||
, gnome
|
|
||||||
, gobject-introspection
|
|
||||||
, wrapGAppsHook
|
|
||||||
}:
|
}:
|
||||||
stdenv.mkDerivation rec {
|
{
|
||||||
pname = "dzgui";
|
dzgui = pkgs.callPackage ./package { };
|
||||||
version = "5.3.2";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "aclist";
|
|
||||||
repo = "dztui";
|
|
||||||
rev = "release/${version}";
|
|
||||||
sha256 = "sha256-bTn5O/NhrP0zwmOlvSLofYzB6PifXYT1KCF2MErRFZo=";
|
|
||||||
};
|
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
sed -i 's@/usr/bin/zenity@zenity@g' dzgui.sh
|
|
||||||
sed -i '/ check_map_count/d' dzgui.sh
|
|
||||||
sed -i '/ check_version/d' dzgui.sh
|
|
||||||
sed -i '/ write_desktop_file >/d' dzgui.sh
|
|
||||||
'';
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
makeWrapper
|
|
||||||
gobject-introspection
|
|
||||||
wrapGAppsHook
|
|
||||||
];
|
|
||||||
|
|
||||||
runtimeDeps = [
|
|
||||||
curl
|
|
||||||
jq
|
|
||||||
(python3.withPackages (p: with p; [
|
|
||||||
pygobject3
|
|
||||||
]))
|
|
||||||
|
|
||||||
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
|
|
||||||
];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
install -DT dzgui.sh $out/bin/dzgui
|
|
||||||
|
|
||||||
install -DT ${./dzgui.desktop} $out/share/applications/dzgui.desktop
|
|
||||||
install -DT images/dzgui $out/share/icons/hicolor/256x256/apps/dzgui.png
|
|
||||||
'';
|
|
||||||
|
|
||||||
preFixup = ''
|
|
||||||
gappsWrapperArgs+=(
|
|
||||||
--prefix PATH ':' ${lib.makeBinPath runtimeDeps}
|
|
||||||
)
|
|
||||||
'';
|
|
||||||
|
|
||||||
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;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
overlays = {
|
overlays = {
|
||||||
default = (final: _: {
|
default = (final: _: {
|
||||||
dzgui = (final.callPackage ./. { });
|
dzgui = (final.callPackage ./package { });
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
80
package/default.nix
Normal file
80
package/default.nix
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, makeWrapper
|
||||||
|
, curl
|
||||||
|
, jq
|
||||||
|
, python3
|
||||||
|
, wmctrl
|
||||||
|
, xdotool
|
||||||
|
, gnome
|
||||||
|
, gobject-introspection
|
||||||
|
, wrapGAppsHook
|
||||||
|
}:
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "dzgui";
|
||||||
|
version = "5.3.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "aclist";
|
||||||
|
repo = "dztui";
|
||||||
|
rev = "8e6cf7e7925c6e6bc390a10d286ba1e7b2562d08";
|
||||||
|
sha256 = "sha256-+FlAYTDpjDDmCAFxgmgHVnXGcIw63e5ia38zKbYI2ZI=";
|
||||||
|
};
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
sed -i 's@/usr/bin/zenity@zenity@g' dzgui.sh
|
||||||
|
sed -i '/ check_map_count/d' dzgui.sh
|
||||||
|
sed -i '/ check_version/d' dzgui.sh
|
||||||
|
sed -i '/ write_desktop_file >/d' dzgui.sh
|
||||||
|
'';
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
makeWrapper
|
||||||
|
gobject-introspection
|
||||||
|
wrapGAppsHook
|
||||||
|
];
|
||||||
|
|
||||||
|
runtimeDeps = [
|
||||||
|
curl
|
||||||
|
jq
|
||||||
|
(python3.withPackages (p: with p; [
|
||||||
|
pygobject3
|
||||||
|
]))
|
||||||
|
|
||||||
|
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
|
||||||
|
];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -DT dzgui.sh $out/bin/dzgui
|
||||||
|
|
||||||
|
install -DT ${./dzgui.desktop} $out/share/applications/dzgui.desktop
|
||||||
|
install -DT images/dzgui $out/share/icons/hicolor/256x256/apps/dzgui.png
|
||||||
|
'';
|
||||||
|
|
||||||
|
preFixup = ''
|
||||||
|
gappsWrapperArgs+=(
|
||||||
|
--prefix PATH ':' ${lib.makeBinPath runtimeDeps}
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
|
||||||
|
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;
|
||||||
|
};
|
||||||
|
}
|
16
package/update.sh
Executable file
16
package/update.sh
Executable file
|
@ -0,0 +1,16 @@
|
||||||
|
#!/usr/bin/env nix-shell
|
||||||
|
#!nix-shell -i bash -p curl jq ripgrep common-updater-scripts
|
||||||
|
|
||||||
|
set -xe
|
||||||
|
|
||||||
|
latest_commit="$(
|
||||||
|
curl -L -s ${GITHUB_TOKEN:+-u ":${GITHUB_TOKEN}"} https://api.github.com/repos/aclist/dztui/branches/master \
|
||||||
|
| jq -r .commit.sha
|
||||||
|
)"
|
||||||
|
|
||||||
|
version="$(
|
||||||
|
curl https://raw.githubusercontent.com/aclist/dztui/$latest_commit/dzgui.sh \
|
||||||
|
| rg '^version=(.*)$' --replace '$1'
|
||||||
|
)"
|
||||||
|
|
||||||
|
update-source-version dzgui "$version" --rev=$latest_commit
|
Loading…
Reference in a new issue