chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / by-name / ta / tana / package.nix
blobd9e37f2b8711ab89a5f7bb2c092c37894983b28d
1 { libX11
2 , libxcb
3 , libXcomposite
4 , libXdamage
5 , libXext
6 , libXfixes
7 , libXrandr
8 , stdenv
9 , lib
10 , alsa-lib
11 , at-spi2-atk
12 , atkmm
13 , cairo
14 , cups
15 , dbus
16 , expat
17 , glib
18 , gtk3
19 , libdrm
20 , libglvnd
21 , libxkbcommon
22 , mesa
23 , nspr
24 , nss
25 , pango
26 , systemd
27 , fetchurl
28 , autoPatchelfHook
29 , dpkg
31 let
32   glLibs = [ libglvnd mesa ];
33   libs = [
34     alsa-lib
35     atkmm
36     at-spi2-atk
37     cairo
38     cups
39     dbus
40     expat
41     glib
42     gtk3
43     libdrm
44     libX11
45     libxcb
46     libXcomposite
47     libXdamage
48     libXext
49     libXfixes
50     libxkbcommon
51     libXrandr
52     nspr
53     nss
54     pango
55   ];
56   buildInputs = glLibs ++ libs;
57   runpathPackages = glLibs ++ [ stdenv.cc.cc stdenv.cc.libc ];
58   version = "1.0.16";
60 stdenv.mkDerivation {
61   pname = "tana";
62   inherit version buildInputs;
64   src = fetchurl {
65     url = "https://github.com/tanainc/tana-desktop-releases/releases/download/v${version}/tana_${version}_amd64.deb";
66     hash = "sha256-XLjzvMai5HyxEGK02DfBAKy5jva9wEGcf5A/38jzu+s=";
67   };
69   nativeBuildInputs = [
70     autoPatchelfHook
71     dpkg
72   ];
74   appendRunpaths = map (pkg: "${lib.getLib pkg}/lib") runpathPackages ++ [ "${placeholder "out"}/lib/tana" ];
76   # Needed for Zygote
77   runtimeDependencies = [
78     systemd
79   ];
81   installPhase = ''
82     runHook preInstall
83     mkdir -p $out
84     cp -r usr/* $out
85     runHook postInstall
86   '';
88   postFixup = ''
89     substituteInPlace $out/share/applications/tana.desktop \
90       --replace "Exec=tana" "Exec=$out/bin/tana" \
91       --replace "Name=tana" "Name=Tana"
92   '';
94   meta = with lib; {
95     description = "Tana is an intelligent all-in-one workspace";
96     longDescription = ''
97       At its core, Tana is an outline editor which can be extended to
98       cover multiple use-cases and different workflows.
99       For individuals, it supports GTD, P.A.R.A., Zettelkasten note-taking
100       out of the box. Teams can leverage the powerful project management
101       views, like Kanban.
102       To complete all, a powerful AI system is integrated to help with most
103       of the tasks.
104     '';
105     homepage = "https://tana.inc";
106     changelog = "https://tana.inc/releases";
107     license = licenses.unfree;
108     maintainers = [ maintainers.massimogengarelli ];
109     platforms = platforms.linux;
110     mainProgram = "tana";
111   };