nixpkgs/pkgs/applications/networking/instant-messengers/caprine-bin/build-from-appimage.nix
Shamrock Lee eba559008c caprine-bin.x86_64-appimage: passthru pname version src
Use pname version instead of name as appimageTools now support that

Passthru pname version src for users' convenience
2022-06-10 00:02:22 +08:00

49 lines
1.1 KiB
Nix

{ lib
, fetchurl
, appimageTools
, xorg
, pname
, version
, sha256
, metaCommon ? { }
}:
let
src = fetchurl {
url = "https://github.com/sindresorhus/caprine/releases/download/v${version}/Caprine-${version}.AppImage";
name = "Caprine-${version}.AppImage";
inherit sha256;
};
extracted = appimageTools.extractType2 { inherit pname version src; };
in
(appimageTools.wrapType2 {
inherit pname version src;
passthru = {
inherit pname version src;
};
profile = ''
export LC_ALL=C.UTF-8
'';
extraPkgs = pkgs: appimageTools.defaultFhsEnvArgs.multiPkgs pkgs;
extraInstallCommands = ''
mv $out/bin/{${pname}-${version},caprine}
mkdir -p $out/share
"${xorg.lndir}/bin/lndir" -silent "${extracted}/usr/share" "$out/share"
ln -s ${extracted}/caprine.png $out/share/icons/caprine.png
mkdir $out/share/applications
cp ${extracted}/caprine.desktop $out/share/applications/
substituteInPlace $out/share/applications/caprine.desktop \
--replace AppRun caprine
'';
meta = metaCommon // {
platforms = [ "x86_64-linux" ];
mainProgram = "caprine";
};
})