/ shell.nix
shell.nix
 1  {
 2    pkgs ? import <nixpkgs> { },
 3  }:
 4  
 5  pkgs.mkShellNoCC {
 6    packages = with pkgs; [
 7      go_1_23
 8      nixfmt-rfc-style
 9      (lilipod.overrideAttrs (p: {
10        version = "dev";
11        src = fetchFromGitHub {
12          inherit (p.src) owner repo;
13          rev = "refs/heads/main";
14          hash = "sha256-pSImeXLYZ7jQJWagvkgKVGgjdhd84FiCCozv6m5Ijqs=";
15        };
16        vendorHash = null;
17        preBuild = ''
18          cp ${pkgsStatic.busybox}/bin/busybox .
19        '';
20        ldflags = [ ];
21        patches = [
22          (writeText "busybox_unvendor.patch" ''
23            diff --git a/Makefile b/Makefile
24            index 3e7468c..92e1d82 100644
25            --- a/Makefile
26            +++ b/Makefile
27            @@ -1,6 +1,6 @@
28             .PHONY: all lilipod pty coverage
29  
30            -all: busybox pty lilipod
31            +all: pty lilipod
32  
33             clean:
34             	@rm -f lilipod
35            @@ -19,12 +19,8 @@ coverage:
36             	@rm -f pty.tar.gz
37             	CGO_ENABLED=0 go build -mod vendor -gcflags=all="-l -B -C" -ldflags="-s -w" -o pty ptyagent/main.go ptyagent/pty.go
38             	tar czfv pty.tar.gz pty
39            -	@wget -c "https://busybox.net/downloads/binaries/1.35.0-x86_64-linux-musl/busybox"
40             	CGO_ENABLED=0 go build -mod vendor -cover -o coverage/lilipod main.go
41  
42            -busybox:
43            -	@wget -c "https://busybox.net/downloads/binaries/1.35.0-x86_64-linux-musl/busybox"
44            -
45             pty:
46             	@rm -f pty
47             	@rm -f pty.tar.gz
48          '')
49        ];
50      }))
51  
52      (callPackage ./default.nix { })
53    ];
54  }