Merge pull request #173613 from SuperSamus/itch
This commit is contained in:
commit
e24ce21faa
5 changed files with 94 additions and 51 deletions
|
@ -1,24 +0,0 @@
|
||||||
{ lib, writeShellScriptBin, steam-run, fetchurl }:
|
|
||||||
let
|
|
||||||
|
|
||||||
pname = "itch-setup";
|
|
||||||
version = "1.26.0";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://broth.itch.ovh/itch-setup/linux-amd64/${version}/unpacked/default";
|
|
||||||
hash = "sha256-bcJKqhgZK42Irx12BIvbTDMb/DHEOEXljetlDokF7x8=";
|
|
||||||
executable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
in
|
|
||||||
(writeShellScriptBin pname ''exec ${steam-run}/bin/steam-run ${src} "$@"'') // {
|
|
||||||
|
|
||||||
passthru = { inherit pname version src; };
|
|
||||||
meta = with lib; {
|
|
||||||
description = "An installer for the itch.io desktop app";
|
|
||||||
homepage = "https://github.com/itchio/itch-setup";
|
|
||||||
license = licenses.mit;
|
|
||||||
platforms = platforms.linux;
|
|
||||||
maintainers = with maintainers; [ pasqui23 ];
|
|
||||||
};
|
|
||||||
}
|
|
29
pkgs/games/itch/butler.nix
Normal file
29
pkgs/games/itch/butler.nix
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
{ lib
|
||||||
|
, buildGoModule
|
||||||
|
, fetchFromGitHub
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildGoModule rec {
|
||||||
|
pname = "butler";
|
||||||
|
version = "15.21.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "itchio";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "sha256-vciSmXR3wI3KcnC+Uz36AgI/WUfztA05MJv1InuOjJM=";
|
||||||
|
};
|
||||||
|
|
||||||
|
proxyVendor = true;
|
||||||
|
|
||||||
|
vendorSha256 = "sha256-EIl0ZFDKbZopUR22hp5a2vRUu0O1h1O953NrtoNa2x8=";
|
||||||
|
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Command-line itch.io helper";
|
||||||
|
homepage = "https://github.com/itchio/butler";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ martfont ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,30 +1,56 @@
|
||||||
{ lib
|
{ lib
|
||||||
, stdenvNoCC
|
, stdenvNoCC
|
||||||
, fetchurl
|
, fetchpatch
|
||||||
, libnotify
|
, fetchzip
|
||||||
, nss
|
|
||||||
, gtk3
|
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, butler
|
||||||
|
, electron_11
|
||||||
|
, steam-run
|
||||||
|
, makeWrapper
|
||||||
|
, copyDesktopItems
|
||||||
, makeDesktopItem
|
, makeDesktopItem
|
||||||
, itch-setup
|
|
||||||
, runtimeShell
|
|
||||||
}:
|
}:
|
||||||
stdenvNoCC.mkDerivation rec{
|
stdenvNoCC.mkDerivation rec {
|
||||||
pname = "itch";
|
pname = "itch";
|
||||||
version = "25.5.1";
|
version = "25.5.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchzip {
|
||||||
owner = "itchio";
|
url = "https://broth.itch.ovh/${pname}/linux-amd64/${version}/itch.zip";
|
||||||
repo = pname;
|
stripRoot = false;
|
||||||
rev = "v${version}";
|
sha256 = "sha256-ejfS+sqhacW2h8u96W4fout3V8xrBs0SrW5w/7X83m4=";
|
||||||
hash = "sha256-Pi3l3uK4kr+N3p7fGQuqckYIzycRqJHDVX00reoSbp4=";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# Fixes crash while browsing the store.
|
||||||
|
(fetchpatch {
|
||||||
|
name = "itch.patch";
|
||||||
|
url = "https://aur.archlinux.org/cgit/aur.git/plain/itch.patch?h=itch-bin&id=0b181454567029141749f870880b10093216e133";
|
||||||
|
sha256 = "sha256-gmLL/BMondSflERm0z+DuGDP56JhDXiyxEwLUavTD8Q=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
itch-setup = fetchzip {
|
||||||
|
url = "https://broth.itch.ovh/itch-setup/linux-amd64/1.26.0/itch-setup.zip";
|
||||||
|
stripRoot = false;
|
||||||
|
sha256 = "sha256-5MP6X33Jfu97o5R1n6Og64Bv4ZMxVM0A8lXeQug+bNA=";
|
||||||
|
};
|
||||||
|
|
||||||
|
icons = let sparseCheckout = "/release/images/itch-icons"; in
|
||||||
|
fetchFromGitHub {
|
||||||
|
owner = "itchio";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-1L6STTBHA9xL9IaERaH2OTvurTSng1D+P3KoW0ucEJc=";
|
||||||
|
inherit sparseCheckout;
|
||||||
|
} + sparseCheckout;
|
||||||
|
|
||||||
|
nativeBuildInputs = [ copyDesktopItems makeWrapper ];
|
||||||
|
|
||||||
desktopItems = [
|
desktopItems = [
|
||||||
(makeDesktopItem {
|
(makeDesktopItem {
|
||||||
name = pname;
|
name = pname;
|
||||||
exec = pname;
|
exec = "itch %U";
|
||||||
tryExec = "itch %U";
|
tryExec = pname;
|
||||||
icon = pname;
|
icon = pname;
|
||||||
desktopName = pname;
|
desktopName = pname;
|
||||||
mimeTypes = [ "x-scheme-handler/itchio" "x-scheme-handler/itch" ];
|
mimeTypes = [ "x-scheme-handler/itchio" "x-scheme-handler/itch" ];
|
||||||
|
@ -33,23 +59,33 @@ stdenvNoCC.mkDerivation rec{
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
itchBin = ''
|
# As taken from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=itch-bin
|
||||||
#!${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 = ''
|
installPhase = ''
|
||||||
install -Dm0777 $itchBinPath $out/bin/itch
|
runHook preInstall
|
||||||
for icon in release/images/itch-icons/icon*.png
|
|
||||||
|
mkdir -p $out/bin $out/share/${pname}/resources/app
|
||||||
|
cp -r resources/app "$out/share/${pname}/resources/"
|
||||||
|
|
||||||
|
install -Dm644 LICENSE -t "$out/share/licenses/$pkgname/"
|
||||||
|
install -Dm644 LICENSES.chromium.html -t "$out/share/licenses/$pkgname/"
|
||||||
|
|
||||||
|
for icon in $icons/icon*.png
|
||||||
do
|
do
|
||||||
iconsize="''${icon#release/images/itch-icons/icon}"
|
iconsize="''${icon#$icons/icon}"
|
||||||
iconsize="''${iconsize%.png}"
|
iconsize="''${iconsize%.png}"
|
||||||
icondir="$out/share/icons/hicolor/''${iconsize}x''${iconsize}/apps/"
|
icondir="$out/share/icons/hicolor/''${iconsize}x''${iconsize}/apps/"
|
||||||
install -Dm644 "$icon" "$icondir/itch.png"
|
install -Dm644 "$icon" "$icondir/itch.png"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
postFixup = ''
|
||||||
|
makeWrapper ${steam-run}/bin/steam-run $out/bin/${pname} \
|
||||||
|
--add-flags ${electron_11}/bin/electron \
|
||||||
|
--add-flags $out/share/${pname}/resources/app \
|
||||||
|
--set BROTH_USE_LOCAL butler,itch-setup \
|
||||||
|
--prefix PATH : ${butler}/bin/:${itch-setup}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
@ -57,6 +93,7 @@ stdenvNoCC.mkDerivation rec{
|
||||||
homepage = "https://github.com/itchio/itch";
|
homepage = "https://github.com/itchio/itch";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
sourceProvenance = lib.sourceTypes.binaryBytecode;
|
||||||
maintainers = with maintainers; [ pasqui23 ];
|
maintainers = with maintainers; [ pasqui23 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -619,6 +619,7 @@ mapAliases ({
|
||||||
iops = throw "iops was removed: upstream is gone"; # Added 2022-02-06
|
iops = throw "iops was removed: upstream is gone"; # Added 2022-02-06
|
||||||
iproute = iproute2; # moved from top-level 2021-03-14
|
iproute = iproute2; # moved from top-level 2021-03-14
|
||||||
ipsecTools = throw "ipsecTools has benn removed, because it was no longer maintained upstream"; # Added 2021-12-15
|
ipsecTools = throw "ipsecTools has benn removed, because it was no longer maintained upstream"; # Added 2021-12-15
|
||||||
|
itch-setup = throw "itch-setup has benn removed, use itch instead"; # Added 2022-06-02
|
||||||
|
|
||||||
### J ###
|
### J ###
|
||||||
|
|
||||||
|
|
|
@ -1139,6 +1139,8 @@ with pkgs;
|
||||||
|
|
||||||
asleap = callPackage ../tools/networking/asleap { };
|
asleap = callPackage ../tools/networking/asleap { };
|
||||||
|
|
||||||
|
butler = callPackage ../games/itch/butler.nix { };
|
||||||
|
|
||||||
cf-vault = callPackage ../tools/admin/cf-vault { };
|
cf-vault = callPackage ../tools/admin/cf-vault { };
|
||||||
|
|
||||||
bikeshed = python3Packages.callPackage ../applications/misc/bikeshed { };
|
bikeshed = python3Packages.callPackage ../applications/misc/bikeshed { };
|
||||||
|
@ -2435,8 +2437,6 @@ with pkgs;
|
||||||
|
|
||||||
itch = callPackage ../games/itch {};
|
itch = callPackage ../games/itch {};
|
||||||
|
|
||||||
itch-setup = callPackage ../games/itch-setup {};
|
|
||||||
|
|
||||||
lastpass-cli = callPackage ../tools/security/lastpass-cli { };
|
lastpass-cli = callPackage ../tools/security/lastpass-cli { };
|
||||||
|
|
||||||
leetcode-cli = callPackage ../applications/misc/leetcode-cli { };
|
leetcode-cli = callPackage ../applications/misc/leetcode-cli { };
|
||||||
|
|
Loading…
Reference in a new issue