forked from mirrors/nixpkgs
65 lines
1.5 KiB
Nix
65 lines
1.5 KiB
Nix
{ lib
|
|
, stdenvNoCC
|
|
, fetchurl
|
|
, libnotify
|
|
, nss
|
|
, gtk3
|
|
, fetchFromGitHub
|
|
, makeDesktopItem
|
|
, itch-setup
|
|
, runtimeShell
|
|
}:
|
|
stdenvNoCC.mkDerivation rec{
|
|
pname = "itch";
|
|
version = "25.5.1";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "itchio";
|
|
repo = pname;
|
|
rev = "v${version}";
|
|
hash = "sha256-Pi3l3uK4kr+N3p7fGQuqckYIzycRqJHDVX00reoSbp4=";
|
|
};
|
|
|
|
desktopItems = [
|
|
(makeDesktopItem {
|
|
name = pname;
|
|
exec = pname;
|
|
icon = pname;
|
|
desktopName = pname;
|
|
mimeType = "x-scheme-handler/itchio;x-scheme-handler/itch";
|
|
comment = "Install and play itch.io games easily";
|
|
extraDesktopEntries = {
|
|
TryExec = "itch %U";
|
|
Categories = "Game;";
|
|
};
|
|
})
|
|
];
|
|
|
|
itchBin = ''
|
|
#!${runtimeShell}
|
|
exec ${itch-setup}/bin/itch-setup --prefer-launch -- "$@"
|
|
'';
|
|
|
|
passAsFile = [ "itchBin" ];
|
|
|
|
# as taken from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=itch
|
|
installPhase = ''
|
|
install -Dm0777 $itchBinPath $out/bin/itch
|
|
for icon in release/images/itch-icons/icon*.png
|
|
do
|
|
iconsize="''${icon#release/images/itch-icons/icon}"
|
|
iconsize="''${iconsize%.png}"
|
|
icondir="$out/share/icons/hicolor/''${iconsize}x''${iconsize}/apps/"
|
|
install -Dm644 "$icon" "$icondir/itch.png"
|
|
done
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "The best way to play itch.io games";
|
|
homepage = "https://github.com/itchio/itch";
|
|
license = licenses.mit;
|
|
platforms = platforms.linux;
|
|
maintainers = with maintainers; [ pasqui23 ];
|
|
};
|
|
}
|