diff --git a/pkgs/applications/networking/instant-messengers/tensor/default.nix b/pkgs/applications/networking/instant-messengers/tensor/default.nix new file mode 100644 index 000000000000..ed78274c799d --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/tensor/default.nix @@ -0,0 +1,55 @@ +{ stdenv, fetchgit, qtbase, qtquickcontrols, qmakeHook, makeQtWrapper, makeDesktopItem }: + +let + rev = "f3f3056d770d7fb4a21c610cee7936ee900569f5"; + +in stdenv.mkDerivation rec { + name = "tensor-git-${stdenv.lib.strings.substring 0 8 rev}"; + + src = fetchgit { + url = "https://github.com/davidar/tensor.git"; + fetchSubmodules = true; + inherit rev; + sha256 = "19in8c7a2hxsx2c4lj540w5c3pn1882645m21l91mcriynqr67k9"; + }; + + parallelBuilding = true; + + buildInputs = [ qtbase qtquickcontrols ]; + nativeBuildInputs = [ qmakeHook makeQtWrapper ]; + + desktopItem = makeDesktopItem { + name = "tensor"; + exec = "@bin@"; + icon = "tensor.png"; + comment = meta.description; + desktopName = "Tensor Matrix Client"; + genericName = meta.description; + categories = "Chat;Utility"; + mimeType = "text/xml"; + }; + + installPhase = '' + 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 + + wrapQtProgram $out/bin/tensor + + substituteInPlace $out/share/applications/tensor.desktop \ + --subst-var-by bin $out/bin/tensor + + runHook postInstall + ''; + + meta = with stdenv.lib; { + homepage = https://matrix.org/docs/projects/client/tensor.html; + description = "Cross-platform Qt5/QML-based Matrix client"; + license = licenses.gpl3; + maintainers = with maintainers; [ peterhoeg ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 309ef69e6eec..39aeecfcdbb1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -652,6 +652,8 @@ with pkgs; blink = callPackage ../applications/networking/instant-messengers/blink { }; + tensor = libsForQt5.callPackage ../applications/networking/instant-messengers/tensor { }; + blink1-tool = callPackage ../tools/misc/blink1-tool { }; blitz = callPackage ../development/libraries/blitz {