Files
nixpkgs/pkgs/by-name/tu/tun2proxy/package.nix
2026-07-29 22:56:07 +00:00

58 lines
1.5 KiB
Nix

{
lib,
stdenv,
rustPlatform,
fetchCrate,
rust-cbindgen,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "tun2proxy";
version = "0.8.3";
src = fetchCrate {
pname = "tun2proxy";
inherit (finalAttrs) version;
hash = "sha256-TuO7mYK58V4Wedk+jVtrvXXPQ0s8u9vABk3hmrBRm6I=";
};
cargoHash = "sha256-MJYaNxG8vPpdMCPVRDdZM8juyuOxlLOn6wEDjK6QIJ0=";
env.GIT_HASH = "000000000000000000000000000000000000000000000000000";
nativeBuildInputs = [ rust-cbindgen ];
outputs = [
"out"
"dev"
"lib"
];
postBuild = ''
cbindgen --config cbindgen.toml -o target/tun2proxy.h
'';
installPhase = ''
runHook preInstall
install -D target/${stdenv.hostPlatform.rust.rustcTarget}/release/tun2proxy-bin -t $out/bin
install -D target/${stdenv.hostPlatform.rust.rustcTarget}/release/udpgw-server -t $out/bin
install -D target/tun2proxy.h -t $dev/include
install -D target/${stdenv.hostPlatform.rust.rustcTarget}/release/libtun2proxy.a -t $lib/lib
install -D target/${stdenv.hostPlatform.rust.rustcTarget}/release/libtun2proxy${stdenv.hostPlatform.extensions.library} -t $lib/lib
runHook postInstall
'';
meta = {
homepage = "https://github.com/tun2proxy/tun2proxy";
description = "Tunnel (TUN) interface for SOCKS and HTTP proxies";
changelog = "https://github.com/tun2proxy/tun2proxy/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
mainProgram = "tun2proxy-bin";
maintainers = with lib.maintainers; [ mksafavi ];
};
})