From 6ad4a95654cb0a8ab909067153ea263cc2ca4025 Mon Sep 17 00:00:00 2001 From: xrelkd <46590321+xrelkd@users.noreply.github.com> Date: Fri, 12 Apr 2019 17:25:26 +0800 Subject: [PATCH] boringtun: init at 20190407 --- pkgs/tools/networking/boringtun/default.nix | 34 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 36 insertions(+) create mode 100644 pkgs/tools/networking/boringtun/default.nix diff --git a/pkgs/tools/networking/boringtun/default.nix b/pkgs/tools/networking/boringtun/default.nix new file mode 100644 index 00000000000..c7ddb44d0fe --- /dev/null +++ b/pkgs/tools/networking/boringtun/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchFromGitHub, rustPlatform }: + +rustPlatform.buildRustPackage rec { + pname = "boringtun"; + # "boringtun" is still undergoing review for security concerns. + # The GitHub page does not show any release yet, + # use 20190407 as version number to indicate that it is an unstable version. + version = "20190407"; + + src = fetchFromGitHub { + owner = "cloudflare"; + repo = pname; + rev = "b040eb4fd1591b1d5ceb07c6cbb0856553f50adc"; + sha256 = "04i53dvxld2a0xzr0gfl895rcwfvisj1rfs7rl0444gml8s8xyb3"; + }; + + cargoSha256 = "0mqgd5r3rdzaw3vkmz0rswn3cwq9b4im6g4rrq7wr7pgrzq96xwm"; + + # To prevent configuration phase error that is caused by + # lacking a new line in file ".cargo/config", + # we append a new line to the end of file. + preConfigure = "echo '' >> .cargo/config"; + + # Testing this project requires sudo, Docker and network access, etc. + doCheck = false; + + meta = with stdenv.lib; { + description = "Userspace WireGuard® implementation in Rust"; + homepage = https://github.com/cloudflare/boringtun; + license = licenses.bsd3; + maintainers = with maintainers; [ xrelkd ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 34db5cf8982..68e8cf713a0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1042,6 +1042,8 @@ in borgbackup = callPackage ../tools/backup/borg { }; + boringtun = callPackage ../tools/networking/boringtun { }; + boomerang = libsForQt5.callPackage ../development/tools/boomerang { }; boost-build = callPackage ../development/tools/boost-build { };