1{
2 lib,
3 stdenv,
4 fetchurl,
5 autoPatchelfHook,
6 dpkg,
7 makeBinaryWrapper,
8 alsa-lib,
9 e2fsprogs,
10 fontconfig,
11 gmp,
12 harfbuzz,
13 hicolor-icon-theme,
14 libdrm,
15 libGL,
16 libgpg-error,
17 libthai,
18 nss,
19 p11-kit,
20 zlib,
21}:
22
23stdenv.mkDerivation (finalAttrs: {
24 pname = "webull-desktop";
25 version = "8.9.0";
26
27 src = fetchurl {
28 url = "https://u1sweb.webullfintech.com/us/Webull%20Desktop_8.9.0_80009000_global_x64signed.deb";
29 hash = "sha256-brt5EXUE9g72vN2Kx9/jf4P/lkVfWLsbzJIf13phgdI=";
30 };
31
32 nativeBuildInputs = [
33 autoPatchelfHook
34 dpkg
35 makeBinaryWrapper
36 ];
37
38 buildInputs = [
39 stdenv.cc.cc.lib
40 alsa-lib
41 e2fsprogs
42 fontconfig
43 gmp
44 harfbuzz
45 libdrm
46 libGL
47 libgpg-error
48 libthai
49 nss
50 p11-kit
51 zlib
52 ];
53
54 installPhase = ''
55 runHook preInstall
56
57 mkdir -p $out
58 cp -r * $out
59
60 mkdir $out/bin
61 ln -s $out/usr/local/WebullDesktop/WebullDesktop $out/bin/webull-desktop
62 substituteInPlace $out/usr/share/applications/WebullDesktop.desktop \
63 --replace-fail Categories=Utiltity Categories=Finance
64
65 addAutoPatchelfSearchPath $out/usr/local/WebullDesktop
66 addAutoPatchelfSearchPath $out/usr/local/WebullDesktop/platforms
67 addAutoPatchelfSearchPath $out/usr/local/WebullDesktop/plugins/bearer
68 addAutoPatchelfSearchPath $out/usr/local/WebullDesktop/plugins/iconengines
69 addAutoPatchelfSearchPath $out/usr/local/WebullDesktop/plugins/imageformats
70 addAutoPatchelfSearchPath $out/usr/local/WebullDesktop/plugins/platforminputcontexts
71 addAutoPatchelfSearchPath $out/usr/local/WebullDesktop/plugins/platforms
72 addAutoPatchelfSearchPath $out/usr/local/WebullDesktop/plugins/position
73 addAutoPatchelfSearchPath $out/usr/local/WebullDesktop/plugins/printsupport
74 addAutoPatchelfSearchPath $out/usr/local/WebullDesktop/plugins/sqldrivers
75 addAutoPatchelfSearchPath $out/usr/local/WebullDesktop/plugins/xcbglintegrations
76
77 wrapProgram $out/usr/local/WebullDesktop/WebullDesktop --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath finalAttrs.buildInputs}:$out:$out/usr/local/WebullDesktop/platforms:$out/usr/local/WebullDesktop/platformsbearer:$out/usr/local/WebullDesktop/platformsiconengines:$out/usr/local/WebullDesktop/platformsimageformats:$out/usr/local/WebullDesktop/platformsplatforminputcontexts:$out/usr/local/WebullDesktop/platformsplatforms:$out/usr/local/WebullDesktop/platformsposition:$out/usr/local/WebullDesktop/platformsprintsupport:$out/usr/local/WebullDesktop/platformssqldrivers:$out/usr/local/WebullDesktop/platformsxcbglintegrations
78
79 runHook postInstall
80 '';
81
82 meta = with lib; {
83 description = "Webull desktop trading application";
84 homepage = "https://www.webull.com/trading-platforms/desktop-app";
85 sourceProvenance = with sourceTypes; [ binaryNativeCode ];
86 license = licenses.unfree;
87 maintainers = with maintainers; [ fauxmight ];
88 platforms = [ "x86_64-linux" ];
89 mainProgram = "webull-desktop";
90 };
91})