nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 88 lines 1.5 kB view raw
1{ 2 lib, 3 buildGoModule, 4 fetchFromGitHub, 5 nix-update-script, 6 nodejs, 7 pnpm_9, 8 fetchPnpmDeps, 9 pnpmConfigHook, 10}: 11 12let 13 pname = "pgrok"; 14 version = "1.4.6"; 15 src = fetchFromGitHub { 16 owner = "pgrok"; 17 repo = "pgrok"; 18 tag = "v${version}"; 19 hash = "sha256-Meavhgq0xHRAfCgzdazC1wu8aDw39qQCZrVtZUScwgs="; 20 }; 21in 22 23buildGoModule { 24 inherit pname version src; 25 26 outputs = [ 27 "out" 28 "server" 29 ]; 30 31 nativeBuildInputs = [ 32 nodejs 33 pnpmConfigHook 34 pnpm_9 35 ]; 36 37 env.pnpmDeps = fetchPnpmDeps { 38 inherit 39 pname 40 version 41 src 42 ; 43 pnpm = pnpm_9; 44 fetcherVersion = 1; 45 hash = "sha256-o6wxO8EGRmhcYggJnfxDkH+nbt+isc8bfHji8Hu9YKg="; 46 }; 47 48 vendorHash = "sha256-l/tUO7fevi+zUmUp6CQoVNrzMF7LIzbo2Qsa/ez6LiA="; 49 50 ldflags = [ 51 "-s" 52 "-w" 53 "-X main.version=${version}" 54 "-X main.commit=unknown" 55 "-X main.date=unknown" 56 ]; 57 58 subPackages = [ 59 "pgrok/pgrok" 60 "pgrokd/pgrokd" 61 ]; 62 63 preBuild = '' 64 pushd pgrokd/web 65 66 pnpm run build 67 68 popd 69 70 # rename packages due to naming conflict 71 mv pgrok/cli/ pgrok/pgrok/ 72 mv pgrokd/cli/ pgrokd/pgrokd/ 73 ''; 74 75 postInstall = '' 76 moveToOutput bin/pgrokd $server 77 ''; 78 79 passthru.updateScript = nix-update-script { }; 80 81 meta = { 82 description = "Selfhosted TCP/HTTP tunnel, ngrok alternative, written in Go"; 83 homepage = "https://github.com/pgrok/pgrok"; 84 license = lib.licenses.mit; 85 maintainers = with lib.maintainers; [ marie ]; 86 mainProgram = "pgrok"; 87 }; 88}