biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / applications / office / qownnotes / default.nix
blob924f683b52aa83095d00637bb5a964c373e60aff
1 { lib
2 , stdenv
3 , fetchurl
4 , qmake
5 , qttools
6 , qtbase
7 , qtdeclarative
8 , qtsvg
9 , qtwayland
10 , qtwebsockets
11 , qt5compat
12 , makeWrapper
13 , wrapQtAppsHook
14 , botan2
15 , pkg-config
16 , nixosTests
17 , installShellFiles
18 , xvfb-run
21 let
22   pname = "qownnotes";
23   appname = "QOwnNotes";
24   version = "24.4.3";
26 stdenv.mkDerivation {
27   inherit pname version;
29   src = fetchurl {
30     url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz";
31     hash = "sha256-dthb+FkytNiiS2s7VdMgYxvNbGeBx5gONOYkHHphigY=";
32   };
34   nativeBuildInputs = [
35     qmake
36     qttools
37     wrapQtAppsHook
38     pkg-config
39     installShellFiles
40     xvfb-run
41   ] ++ lib.optionals stdenv.isDarwin [ makeWrapper ];
43   buildInputs = [
44     qtbase
45     qtdeclarative
46     qtsvg
47     qtwebsockets
48     qt5compat
49     botan2
50   ] ++ lib.optionals stdenv.isLinux [ qtwayland ];
52   qmakeFlags = [
53     "USE_SYSTEM_BOTAN=1"
54   ];
56   postInstall = ''
57     installShellCompletion --cmd ${appname} \
58       --bash <(xvfb-run $out/bin/${appname} --completion bash) \
59       --fish <(xvfb-run $out/bin/${appname} --completion fish)
60     installShellCompletion --cmd ${pname} \
61       --bash <(xvfb-run $out/bin/${appname} --completion bash) \
62       --fish <(xvfb-run $out/bin/${appname} --completion fish)
63   ''
64   # Create a lowercase symlink for Linux
65   + lib.optionalString stdenv.isLinux ''
66     ln -s $out/bin/${appname} $out/bin/${pname}
67   ''
68   # Wrap application for macOS as lowercase binary
69   + lib.optionalString stdenv.isDarwin ''
70     mkdir -p $out/Applications
71     mv $out/bin/${appname}.app $out/Applications
72     makeWrapper $out/Applications/${appname}.app/Contents/MacOS/${appname} $out/bin/${pname}
73   '';
75   # Tests QOwnNotes using the NixOS module by launching xterm:
76   passthru.tests.basic-nixos-module-functionality = nixosTests.qownnotes;
78   meta = with lib; {
79     description = "Plain-text file notepad and todo-list manager with markdown support and Nextcloud/ownCloud integration";
80     homepage = "https://www.qownnotes.org/";
81     changelog = "https://www.qownnotes.org/changelog.html";
82     downloadPage = "https://github.com/pbek/QOwnNotes/releases/tag/v${version}";
83     license = licenses.gpl2Only;
84     maintainers = with maintainers; [ pbek totoroot ];
85     platforms = platforms.unix;
86   };