Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / tools / hover / default.nix
blobdfaa976aa9e083db794bcc215cc5eaacf6fdf19a
1 { lib
2 , buildGoModule
3 , buildFHSEnv
4 , binutils
5 , dejavu_fonts
6 , pkg-config
7 , fetchFromGitHub
8 , roboto
9 , writeScript
10 , xorg
11 , libglvnd
12 , addOpenGLRunpath
13 , makeWrapper
14 , gcc
15 , go
16 , flutter
19 let
20   pname = "hover";
21   version = "0.47.0";
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 rec {
37     inherit pname version;
39     meta = with lib; {
40       description = "A build tool to run Flutter applications on desktop";
41       homepage = "https://github.com/go-flutter-desktop/hover";
42       license = licenses.bsd3;
43       platforms = platforms.linux;
44       maintainers = with maintainers; [ ericdallo ];
45     };
47     subPackages = [ "." ];
49     vendorHash = "sha256-GDoX5d2aDfaAx9JsKuS4r8137t3swT6rgcCghmaThSM=";
51     src = fetchFromGitHub {
52       rev = "v${version}";
53       owner = "go-flutter-desktop";
54       repo = pname;
55       sha256 = "sha256-ch59Wx4g72u7x99807ppURI4I+5aJ/W8Zr35q8X68v4=";
56     };
58     nativeBuildInputs = [ addOpenGLRunpath makeWrapper ];
60     buildInputs = libs;
62     checkRun = false;
64     patches = [
65       ./fix-assets-path.patch
66     ];
68     postPatch = ''
69       sed -i 's|@assetsFolder@|'"''${out}/share/assets"'|g' internal/fileutils/assets.go
70     '';
72     postInstall = ''
73       mkdir -p $out/share
74       cp -r assets $out/share/assets
75       chmod -R a+rx $out/share/assets
77       wrapProgram "$out/bin/hover" \
78       --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath libs}
79     '';
81     postFixup = ''
82       addOpenGLRunpath $out/bin/hover
83     '';
84   };
87 buildFHSEnv rec {
88   name = pname;
89   targetPkgs = pkgs: [
90     binutils
91     dejavu_fonts
92     flutter
93     gcc
94     go
95     hover
96     pkg-config
97     roboto
98   ] ++ libs;
100   runScript = "hover";