diff --git a/pkgs/applications/networking/instant-messengers/quaternion/default.nix b/pkgs/applications/networking/instant-messengers/quaternion/default.nix index 55b24f71fb64..5acf71dbcb63 100644 --- a/pkgs/applications/networking/instant-messengers/quaternion/default.nix +++ b/pkgs/applications/networking/instant-messengers/quaternion/default.nix @@ -1,36 +1,42 @@ { stdenv, lib, fetchFromGitHub, qtbase, qtquickcontrols, cmake -, qttools, libqmatrixclient }: +, qttools, qtmultimedia +, libqmatrixclient_0_4, libqmatrixclient_0_5 }: -stdenv.mkDerivation rec { - name = "quaternion-${version}"; - version = "0.0.9.3"; +let + generic = version: sha256: prefix: library: stdenv.mkDerivation rec { + name = "quaternion-${version}"; - src = fetchFromGitHub { - owner = "QMatrixClient"; - repo = "Quaternion"; - rev = "v${version}"; - sha256 = "1hr9zqf301rg583n9jv256vzj7y57d8qgayk7c723bfknf1s6hh3"; + src = fetchFromGitHub { + owner = "QMatrixClient"; + repo = "Quaternion"; + rev = "${prefix}${version}"; + inherit sha256; + }; + + buildInputs = [ qtbase qtmultimedia qtquickcontrols qttools library ]; + + nativeBuildInputs = [ cmake ]; + + postInstall = if stdenv.isDarwin then '' + mkdir -p $out/Applications + mv $out/bin/quaternion.app $out/Applications + rmdir $out/bin || : + '' else '' + substituteInPlace $out/share/applications/quaternion.desktop \ + --replace 'Exec=quaternion' "Exec=$out/bin/quaternion" + ''; + + meta = with lib; { + description = "Cross-platform desktop IM client for the Matrix protocol"; + homepage = https://matrix.org/docs/projects/client/quaternion.html; + license = licenses.gpl3; + maintainers = with maintainers; [ peterhoeg ]; + inherit (qtbase.meta) platforms; + inherit version; + }; }; - buildInputs = [ qtbase qtquickcontrols qttools libqmatrixclient ]; - - nativeBuildInputs = [ cmake ]; - - postInstall = if stdenv.isDarwin then '' - mkdir -p $out/Applications - mv $out/bin/quaternion.app $out/Applications - rmdir $out/bin || : - '' else '' - substituteInPlace $out/share/applications/quaternion.desktop \ - --replace 'Exec=quaternion' "Exec=$out/bin/quaternion" - ''; - - meta = with lib; { - description = "Cross-platform desktop IM client for the Matrix protocol"; - homepage = https://matrix.org/docs/projects/client/quaternion.html; - license = licenses.gpl3; - maintainers = with maintainers; [ peterhoeg ]; - inherit (qtbase.meta) platforms; - inherit version; - }; +in rec { + quaternion = generic "0.0.9.3" "1hr9zqf301rg583n9jv256vzj7y57d8qgayk7c723bfknf1s6hh3" "v" libqmatrixclient_0_4; + quaternion-git = generic "0.0.9.4-rc3" "1fc3ya9fr3zw1cx7565s2rswzry98avslrryvdi0qa9yn0m3sw7p" "" libqmatrixclient_0_5; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d744f9866f13..cc359a681398 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -992,7 +992,9 @@ in libqmatrixclient_0_5 libqmatrixclient; - quaternion = libsForQt5.callPackage ../applications/networking/instant-messengers/quaternion { }; + inherit (libsForQt5.callPackage ../applications/networking/instant-messengers/quaternion { }) + quaternion + quaternion-git; tensor = libsForQt5.callPackage ../applications/networking/instant-messengers/tensor { };