Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / by-name / tr / tradingview / package.nix
blob9c0086dfffcbdacd5f60c557443dae2f277bed1f
1 { lib
2 , stdenv
3 , fetchurl
4 , autoPatchelfHook
5 , squashfsTools
6 , makeBinaryWrapper
7 , alsa-lib
8 , atk
9 , at-spi2-atk
10 , cups
11 , gtk3
12 , libdrm
13 , libsecret
14 , libxkbcommon
15 , mesa
16 , pango
17 , sqlite
18 , systemd
19 , wayland
20 , xorg
23 stdenv.mkDerivation rec {
24   pname = "tradingview";
25   version = "2.6.1";
26   revision = "44";
27   src = fetchurl {
28     url = "https://api.snapcraft.io/api/v1/snaps/download/nJdITJ6ZJxdvfu8Ch7n5kH5P99ClzBYV_${revision}.snap";
29     hash = "sha512-Hd00TWjPskd0QDzpOSwQCuMw20nW4n1xxRkT1rA95pzbXtw7XFxrJdMWkzWDbucuokU2qR2b5tovAHAgw9E0tQ==";
30   };
32   nativeBuildInputs = [
33     autoPatchelfHook
34     makeBinaryWrapper
35     squashfsTools
36   ];
38   buildInputs = [
39     stdenv.cc.cc.lib
40     alsa-lib
41     atk
42     at-spi2-atk
43     cups
44     gtk3
45     libdrm
46     libsecret
47     libxkbcommon
48     mesa
49     pango
50     sqlite
51     systemd
52     wayland
53     xorg.libxcb
54     xorg.libX11
55     xorg.libXext
56   ];
58   unpackPhase = ''
59     runHook preUnpack
60     unsquashfs $src
61     runHook postUnpack
62   '';
64   installPhase = ''
65     runHook preInstall
67     mkdir -p $out/share
68     cp -r squashfs-root $out/share/tradingview
69     rm -rf $out/share/tradingview/meta
71     install -Dm444 squashfs-root/meta/gui/tradingview.desktop -t $out/share/applications
72     substituteInPlace $out/share/applications/tradingview.desktop --replace \$\{SNAP}/meta/gui/icon.png tradingview
74     mkdir $out/share/icons
75     cp squashfs-root/meta/gui/icon.png $out/share/icons/tradingview.png
77     mkdir $out/bin
78     makeBinaryWrapper $out/share/tradingview/tradingview $out/bin/tradingview --prefix LD_LIBRARY_PATH : ${ lib.makeLibraryPath buildInputs }
80     runHook postInstall
81   '';
83   meta = with lib; {
84     description = "Charting platform for traders and investors";
85     homepage = "https://www.tradingview.com/desktop/";
86     changelog = "https://www.tradingview.com/support/solutions/43000673888/";
87     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
88     license = licenses.unfree;
89     maintainers = with maintainers; [ prominentretail ];
90     platforms = [ "x86_64-linux" ];
91     mainProgram = "tradingview";
92   };