1{
2 lib,
3 buildGoModule,
4 buildFHSEnv,
5 binutils,
6 dejavu_fonts,
7 pkg-config,
8 fetchFromGitHub,
9 roboto,
10 xorg,
11 libglvnd,
12 addDriverRunpath,
13 makeWrapper,
14 gcc,
15 go,
16 flutter,
17}:
18
19let
20 pname = "hover";
21 version = "0.47.2";
22
23 libs = with xorg; [
24 libX11.dev
25 libXcursor.dev
26 libXext.dev
27 libXi.dev
28 libXinerama.dev
29 libXrandr.dev
30 libXrender.dev
31 libXfixes.dev
32 libXxf86vm
33 libglvnd.dev
34 xorgproto
35 ];
36 hover = buildGoModule {
37 inherit pname version;
38
39 meta = {
40 description = "Build tool to run Flutter applications on desktop";
41 homepage = "https://github.com/go-flutter-desktop/hover";
42 license = [ lib.licenses.bsd3 ];
43 platforms = lib.platforms.linux;
44 maintainers = [ lib.maintainers.ericdallo ];
45 };
46
47 subPackages = [ "." ];
48
49 vendorHash = "sha256-LDVF1vt1kTm7G/zqWHcjtGK+BsydgmJUET61+sILiE0=";
50
51 src = fetchFromGitHub {
52 tag = "v${version}";
53 owner = "go-flutter-desktop";
54 repo = "hover";
55 sha256 = "sha256-xS4qfsGZAt560dxHpwEnAWdJCd5vuTdX+7fpUGrSqhw=";
56 };
57
58 nativeBuildInputs = [
59 addDriverRunpath
60 makeWrapper
61 ];
62
63 buildInputs = libs;
64
65 checkRun = false;
66
67 postInstall = ''
68 wrapProgram "$out/bin/hover" \
69 --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath libs}
70 '';
71
72 postFixup = ''
73 addDriverRunpath $out/bin/hover
74 '';
75 };
76
77in
78buildFHSEnv {
79 inherit pname version;
80 targetPkgs =
81 pkgs:
82 [
83 binutils
84 dejavu_fonts
85 flutter
86 gcc
87 go
88 hover
89 pkg-config
90 roboto
91 ]
92 ++ libs;
93
94 runScript = "hover";
95}