-
Notifications
You must be signed in to change notification settings - Fork 0
/
package.nix
52 lines (48 loc) · 1.19 KB
/
package.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
{
lib,
platforms,
src,
buildGoModule,
system,
version,
lastModifiedDate,
rev,
}:
buildGoModule rec {
inherit version src;
pname = "hysteria";
modRoot = "./app";
vendorHash = "sha256-IKcgfyeiQ+JbeKdnpM+MfEJ5hcAPMn0rLhsLqbcmXSY=";
env.GOWORK = "off";
ldflags =
let
cmd = "github.com/apernet/hysteria/app/v2/cmd";
pla-arc = index: builtins.elemAt (builtins.split "-" system) index;
in
[
"-s"
"-w"
"-X ${cmd}.appVersion=${version}"
"-X ${cmd}.appDate=${lastModifiedDate}"
"-X ${cmd}.appType=release"
"-X ${cmd}.appCommit=${rev}"
"-X ${cmd}.appPlatform=${pla-arc 2}"
"-X ${cmd}.appArch=${pla-arc 0}"
];
patchPhase = ''
rm app/internal/http/server_test.go \
app/internal/sockopts/sockopts_linux_test.go \
app/internal/socks5/server_test.go \
app/internal/utils/certloader_test.go
'';
postInstall = ''
mv $out/bin/app $out/bin/hysteria
'';
meta = with lib; {
inherit platforms;
mainProgram = "hysteria";
description = "A powerful, lightning fast and censorship resistant proxy.";
homepage = "https://v2.hysteria.network/";
license = licenses.mit;
};
}