nixpkgs/pkgs/applications/networking/instant-messengers/tensor/default.nix
stuebinm ff1a94e523 treewide: add meta.mainProgram to packages with a single binary
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
2024-03-19 03:14:51 +01:00

71 lines
1.7 KiB
Nix

{ mkDerivation
, lib
, stdenv
, fetchFromGitHub
, qtbase
, qtquickcontrols
, qmake
, makeDesktopItem
}:
# we now have libqmatrixclient so a future version of tensor that supports it
# should use that
mkDerivation rec {
pname = "tensor";
version = "unstable-2017-02-21";
src = fetchFromGitHub {
owner = "davidar";
repo = "tensor";
rev = "f3f3056d770d7fb4a21c610cee7936ee900569f5";
sha256 = "sha256-aR6TsfUxsxoSDaIWYgRCwd7BCgekSEqY6LpDoQ5DNqY=";
fetchSubmodules = true;
};
buildInputs = [ qtbase qtquickcontrols ];
nativeBuildInputs = [ qmake ];
desktopItem = makeDesktopItem {
name = "tensor";
exec = "@bin@";
icon = "tensor.png";
comment = meta.description;
desktopName = "Tensor Matrix Client";
genericName = meta.description;
categories = [ "Chat" "Utility" ];
mimeTypes = [ "application/x-chat" ];
};
installPhase = if stdenv.isDarwin then ''
runHook preInstall
mkdir -p $out/Applications
cp -r tensor.app $out/Applications/tensor.app
runHook postInstall
'' else ''
runHook preInstall
install -Dm755 tensor $out/bin/tensor
install -Dm644 client/logo.png \
$out/share/icons/hicolor/512x512/apps/tensor.png
install -Dm644 ${desktopItem}/share/applications/tensor.desktop \
$out/share/applications/tensor.desktop
substituteInPlace $out/share/applications/tensor.desktop \
--subst-var-by bin $out/bin/tensor
runHook postInstall
'';
meta = with lib; {
homepage = "https://github.com/davidar/tensor";
description = "Cross-platform Qt5/QML-based Matrix client";
mainProgram = "tensor";
license = licenses.gpl3;
maintainers = with maintainers; [ peterhoeg ];
inherit (qtbase.meta) platforms;
};
}