biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / development / tools / wails / default.nix
blob7ebd579ae2df30b2d2e66f1426e1045ea4fd67a7
1 { lib
2 , stdenv
3 , buildGoModule
4 , fetchFromGitHub
5 , pkg-config
6 , makeWrapper
7 , go
8 , nodejs
9 , zlib
10   # Linux specific dependencies
11 , gtk3
12 , webkitgtk
15 buildGoModule rec {
16   pname = "wails";
17   version = "2.8.1";
19   src = fetchFromGitHub {
20     owner = "wailsapp";
21     repo = pname;
22     rev = "v${version}";
23     hash = "sha256-yIoCKnYKky+BlMjGBNRk0lKyxr3UWMdRsvyW2KUItBk=";
24   } + "/v2";
26   vendorHash = "sha256-6QFnLuRnSzIqkQkK1qg7VBYxwjK8fSQWz5RxpuyutoY=";
28   proxyVendor = true;
30   subPackages = [ "cmd/wails" ];
32   # These packages are needed to build wails
33   # and will also need to be used when building a wails app.
34   nativeBuildInputs = [
35     pkg-config
36     makeWrapper
37   ];
39   # Wails apps are built with Go, so we need to be able to
40   # add it in propagatedBuildInputs.
41   allowGoReference = true;
43   # Following packages are required when wails used as a builder.
44   propagatedBuildInputs = [
45     pkg-config
46     go
47     stdenv.cc
48     nodejs
49   ] ++ lib.optionals stdenv.isLinux [
50     gtk3
51     webkitgtk
52   ];
54   ldflags = [
55     "-s"
56     "-w"
57   ];
59   # As Wails calls a compiler, certain apps and libraries need to be made available.
60   postFixup = ''
61     wrapProgram $out/bin/wails \
62       --prefix PATH : ${lib.makeBinPath [ pkg-config go stdenv.cc nodejs ]} \
63       --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath (lib.optionals stdenv.isLinux [ gtk3 webkitgtk ])}" \
64       --set PKG_CONFIG_PATH "$PKG_CONFIG_PATH" \
65       --set CGO_LDFLAGS "-L${lib.makeLibraryPath [ zlib ]}"
66   '';
68   meta = {
69     description = "Build applications using Go + HTML + CSS + JS";
70     homepage = "https://wails.io";
71     license = lib.licenses.mit;
72     maintainers = with lib.maintainers; [ ianmjones ];
73     mainProgram = "wails";
74     platforms = lib.platforms.unix;
75   };