nixpkgs/pkgs/development/web/bloomrpc/default.nix
2023-09-22 18:37:42 +02:00

47 lines
1.5 KiB
Nix

{ lib, fetchurl, appimageTools }:
let
pname = "bloomrpc";
version = "1.5.3";
src = fetchurl {
url = "https://github.com/uw-labs/${pname}/releases/download/${version}/BloomRPC-${version}.AppImage";
name = "${pname}-${version}.AppImage";
hash = "sha512-PebdYDpcplPN5y3mRu1mG6CXenYfYvBXNLgIGEr7ZgKnR5pIaOfJNORSNYSdagdGDb/B1sxuKfX4+4f2cqgb6Q==";
};
appimageContents = appimageTools.extractType2 {
inherit pname src version;
};
in
appimageTools.wrapType2 {
inherit pname src version;
profile = ''
export LC_ALL=C.UTF-8
'';
multiArch = false; # no 32bit needed
extraPkgs = pkgs: appimageTools.defaultFhsEnvArgs.multiPkgs pkgs ++ [ pkgs.bash ];
extraInstallCommands = ''
ln -s $out/bin/${pname}-${version} $out/bin/${pname}
install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
install -m 444 -D ${appimageContents}/${pname}.png \
$out/share/icons/hicolor/512x512/apps/${pname}.png
substituteInPlace $out/share/applications/${pname}.desktop \
--replace 'Exec=AppRun' 'Exec=${pname}'
'';
meta = with lib; {
description = "GUI Client for GRPC Services";
longDescription = ''
Inspired by Postman and GraphQL Playground BloomRPC aims to provide the simplest
and most efficient developer experience for exploring and querying your GRPC services.
'';
homepage = "https://github.com/uw-labs/bloomrpc";
license = licenses.lgpl3Plus;
maintainers = with maintainers; [ zoedsoupe ];
platforms = [ "x86_64-linux" ];
};
}