This repository has no description
1.5 kB
53 lines
1{
2 lib,
3 rustPlatform,
4 fetchFromGitHub,
5 installShellFiles,
6}:
7
8rustPlatform.buildRustPackage {
9 pname = "tincr";
10 version = "0-unstable-2026-08-09";
11
12 # Lassulus/tincr = upstream main + fix/pmtu-blackhole-recovery. Point
13 # back at Mic92/main (and revert update.sh) once that lands upstream.
14 # Without it a UDP path that dies after being confirmed is never
15 # abandoned: udp_confirmed stays pinned, maxmtu sticks at 0, and the
16 # peer logs "Fixing MTU ... to 0" every 3.4s forever. Bites any two
17 # nodes behind the same non-hairpinning NAT (ignavia <-> coaxmetal).
18 src = fetchFromGitHub {
19 owner = "Lassulus";
20 repo = "tincr";
21 rev = "32a10488622ad271942078712c3708cab66347ba";
22 hash = "sha256-zagrdeJIhS6G0fDjf2tM5oA3HS9kX42UuVm8zOqVvtE=";
23 };
24
25 cargoHash = "sha256-3zq9SoOiBRqwXWr7N0NRW+oM2OLu8/IY3B3WCCZ0Chw=";
26
27 # Just the deployable bin crates; --workspace would pull tinc-ffi's cc.
28 cargoBuildFlags = [
29 "-p"
30 "tincd"
31 "-p"
32 "tinc-tools"
33 ];
34
35 # netns tests need bwrap+userns the build sandbox lacks.
36 doCheck = false;
37
38 nativeBuildInputs = [ installShellFiles ];
39
40 postInstall = ''
41 installManPage man/*.[0-9]
42 '';
43
44 passthru.updateScript = ./update.sh;
45
46 meta = {
47 description = "Drop-in Rust rewrite of tinc 1.1 VPN (SPTPS-only, Ed25519)";
48 homepage = "https://github.com/Mic92/tincr";
49 license = lib.licenses.gpl2Plus;
50 mainProgram = "tincd";
51 platforms = lib.platforms.linux;
52 };
53}