softether-5/package.nix
Git Sagar d0260c0d8c add exit-client-on-disconnect patch
When a startup account exhausts retries (including after an established
connection drops with NumRetry 0), exit the process so systemd can
restart it for a clean reconnect + DHCP.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-04 16:41:34 +05:30

60 lines
No EOL
1.4 KiB
Nix

{
pkgs,
lib,
stdenv,
fetchFromGitHub,
debug ? false,
pname ? "softether",
logDir ? "/var/log/${pname}",
pidDir ? "/run/${pname}",
dbDir ? "/var/lib/${pname}",
dataDir ? "/var/lib/${pname}",
version ? "master",
}:
stdenv.mkDerivation (finalAttrs: {
inherit pname version;
src = fetchFromGitHub {
owner = "SoftEtherVPN";
repo = "SoftEtherVPN";
tag = "${finalAttrs.version}";
hash = "sha256-KGcQNsHwEtJ0CR35XcW89UPqnnLlGus/zAGBZDgz5uo=";
fetchSubmodules = true;
};
patches = [ ./patches/ipb-profile-key.patch ./patches/tap-name-no-prefix.patch ./patches/prevent-dmesg-call.patch ./patches/simplify_l2tp_auth.patch ./patches/exit-client-on-disconnect.patch ];
nativeBuildInputs = with pkgs; [
cmake
pkg-config
libsodium
# Add other build tools here
];
buildInputs = with pkgs; [
openssl
readline
ncurses
zlib
bash
];
cmakeFlags = [
"-DSE_PIDDIR=${pidDir}" "-DSE_LOGDIR=${logDir}" "-DSE_DBDIR=${dbDir}" "-DCMAKE_INSTALL_SYSTEMD_UNITDIR="
(lib.optionalString debug "-DCMAKE_BUILD_TYPE=Debug")
"-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DCMAKE_INSTALL_INCLUDEDIR=include"
"-DCMAKE_INSTALL_LIBEXECDIR=libexec"
];
meta = {
description = "Softether 5";
homepage = "https://www.softether.org/";
platforms = [
"x86_64-linux"
"aarch64-linux"
];
};
})