Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 buildGoModule,
4 fetchFromGitHub,
5 installShellFiles,
6}:
7
8buildGoModule rec {
9 pname = "roadrunner";
10 version = "2025.1.2";
11
12 src = fetchFromGitHub {
13 repo = "roadrunner";
14 owner = "roadrunner-server";
15 tag = "v${version}";
16 hash = "sha256-j/OXeKMsym09m1kh6Ox4Vy/VLJ2YI7NTcR+NerHweos=";
17 };
18
19 nativeBuildInputs = [
20 installShellFiles
21 ];
22
23 # Flags as provided by the build automation of the project:
24 # https://github.com/roadrunner-server/roadrunner/blob/fe572d0eceae8fd05225fbd99ba50a9eb10c4393/.github/workflows/release.yml#L89
25 ldflags = [
26 "-s"
27 "-X=github.com/roadrunner-server/roadrunner/v2023/internal/meta.version=${version}"
28 "-X=github.com/roadrunner-server/roadrunner/v2023/internal/meta.buildTime=1970-01-01T00:00:00Z"
29 ];
30
31 postInstall = ''
32 installShellCompletion --cmd rr \
33 --bash <($out/bin/rr completion bash) \
34 --zsh <($out/bin/rr completion zsh) \
35 --fish <($out/bin/rr completion fish)
36 '';
37
38 postPatch = ''
39 substituteInPlace internal/rpc/client_test.go \
40 --replace "127.0.0.1:55555" "127.0.0.1:55554"
41
42 substituteInPlace internal/rpc/test/config_rpc_ok.yaml \
43 --replace "127.0.0.1:55555" "127.0.0.1:55554"
44
45 substituteInPlace internal/rpc/test/config_rpc_conn_err.yaml \
46 --replace "127.0.0.1:0" "127.0.0.1:55554"
47 '';
48
49 __darwinAllowLocalNetworking = true;
50
51 vendorHash = "sha256-Kl5YzTIgl5gza5iV9PlZ8BR5C5DANvtZ849aJtMrGSw=";
52
53 meta = {
54 changelog = "https://github.com/roadrunner-server/roadrunner/blob/v${version}/CHANGELOG.md";
55 description = "High-performance PHP application server, process manager written in Go and powered with plugins";
56 homepage = "https://roadrunner.dev";
57 license = lib.licenses.mit;
58 mainProgram = "rr";
59 maintainers = with lib.maintainers; [ shyim ];
60 };
61}