2017-05-17 20:26:11 +01:00
|
|
|
{ mkDerivation, stdenv, lib, fetchFromGitHub, procps ? null
|
2017-03-03 08:28:48 +00:00
|
|
|
, qtbase, qtwebengine, qtwebkit
|
2017-05-17 20:26:11 +01:00
|
|
|
, cmake
|
2017-03-03 08:28:48 +00:00
|
|
|
, syncthing, syncthing-inotify ? null
|
|
|
|
, preferQWebView ? false }:
|
2016-10-31 20:06:32 +00:00
|
|
|
|
2017-05-17 20:26:11 +01:00
|
|
|
mkDerivation rec {
|
2017-07-07 20:20:19 +01:00
|
|
|
version = "0.5.8";
|
2016-10-31 20:06:32 +00:00
|
|
|
name = "qsyncthingtray-${version}";
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
2017-03-03 08:28:48 +00:00
|
|
|
owner = "sieren";
|
|
|
|
repo = "QSyncthingTray";
|
|
|
|
rev = "${version}";
|
2017-07-07 20:20:19 +01:00
|
|
|
sha256 = "1n9g4j7qznvg9zl6x163pi9f7wsc3x6q76i33psnm7x2v1i22x5w";
|
2016-10-31 20:06:32 +00:00
|
|
|
};
|
|
|
|
|
2017-03-03 08:28:48 +00:00
|
|
|
buildInputs = [ qtbase qtwebengine ] ++ lib.optional preferQWebView qtwebkit;
|
2017-05-17 20:26:11 +01:00
|
|
|
nativeBuildInputs = [ cmake ];
|
2017-03-13 03:46:02 +00:00
|
|
|
|
2017-03-03 08:28:48 +00:00
|
|
|
cmakeFlags = lib.optional preferQWebView "-DQST_BUILD_WEBKIT=1";
|
|
|
|
|
|
|
|
postPatch = ''
|
|
|
|
${lib.optionalString stdenv.isLinux ''
|
|
|
|
substituteInPlace includes/platforms/linux/posixUtils.hpp \
|
|
|
|
--replace '"/usr/local/bin/syncthing"' '"${syncthing}/bin/syncthing"' \
|
|
|
|
--replace '"/usr/local/bin/syncthing-inotify"' '"${syncthing-inotify}/bin/syncthing-inotify"' \
|
|
|
|
--replace '"pgrep -x' '"${procps}/bin/pgrep -x'
|
|
|
|
''}
|
|
|
|
|
|
|
|
${lib.optionalString stdenv.isDarwin ''
|
|
|
|
substituteInPlace includes/platforms/darwin/macUtils.hpp \
|
|
|
|
--replace '"/usr/local/bin/syncthing"' '"${syncthing}/bin/syncthing"'
|
|
|
|
''}
|
|
|
|
'';
|
|
|
|
|
|
|
|
installPhase = let qst = "qsyncthingtray"; in ''
|
2017-04-27 05:06:26 +01:00
|
|
|
runHook preInstall
|
|
|
|
|
2016-10-31 20:06:32 +00:00
|
|
|
mkdir -p $out/bin
|
2017-03-03 08:28:48 +00:00
|
|
|
install -m755 QSyncthingTray $out/bin/${qst}
|
|
|
|
ln -s $out/bin/${qst} $out/bin/QSyncthingTray
|
2017-04-27 05:06:26 +01:00
|
|
|
|
|
|
|
runHook postInstall
|
2016-10-31 20:06:32 +00:00
|
|
|
'';
|
|
|
|
|
2017-05-17 20:26:11 +01:00
|
|
|
meta = with lib; {
|
2016-10-31 20:06:32 +00:00
|
|
|
homepage = https://github.com/sieren/QSyncthingTray/;
|
|
|
|
description = "A Traybar Application for Syncthing written in C++";
|
|
|
|
longDescription = ''
|
|
|
|
A cross-platform status bar for Syncthing.
|
2017-08-06 23:05:18 +01:00
|
|
|
Currently supports macOS, Windows and Linux.
|
2016-10-31 20:06:32 +00:00
|
|
|
Written in C++ with Qt.
|
|
|
|
'';
|
|
|
|
license = licenses.lgpl3;
|
2017-03-03 08:28:48 +00:00
|
|
|
maintainers = with maintainers; [ zraexy peterhoeg ];
|
2016-10-31 20:06:32 +00:00
|
|
|
platforms = platforms.all;
|
2017-05-12 09:45:27 +01:00
|
|
|
# 0.5.7 segfaults when opening the main panel with qt 5.7 and fails to compile with qt 5.8
|
|
|
|
broken = builtins.compareVersions qtbase.version "5.7.0" >= 0;
|
2016-10-31 20:06:32 +00:00
|
|
|
};
|
|
|
|
}
|