diff --git a/pkgs/applications/networking/p2p/lokinet/default.nix b/pkgs/applications/networking/p2p/lokinet/default.nix new file mode 100644 index 000000000000..e3e2c8e58831 --- /dev/null +++ b/pkgs/applications/networking/p2p/lokinet/default.nix @@ -0,0 +1,64 @@ +{ stdenv +, lib +, fetchFromGitHub +, cmake +, libevent +, libsodium +, libuv +, nlohmann_json +, pkg-config +, sqlite +, systemd +, unbound +, zeromq +}: + +stdenv.mkDerivation rec { + pname = "lokinet"; + version = "0.9.9"; + + src = fetchFromGitHub { + owner = "oxen-io"; + repo = "lokinet"; + rev = "v${version}"; + fetchSubmodules = true; + sha256 = "sha256-AaGsRg9S9Cng9emI/mN09QSOIRbE+x3916clWAwLnRs="; + }; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + libevent + libuv + libsodium + nlohmann_json + sqlite + systemd + unbound + zeromq + ]; + + cmakeFlags = [ + "-DGIT_VERSION=v${version}" + "-DWITH_BOOTSTRAP=OFF" # we provide bootstrap files manually + "-DWITH_SETCAP=OFF" + ]; + + # copy bootstrap files + # see https://github.com/oxen-io/lokinet/issues/1765#issuecomment-938208774 + postInstall = '' + mkdir -p $out/share/testnet + cp $src/contrib/bootstrap/mainnet.signed $out/share/bootstrap.signed + cp $src/contrib/bootstrap/testnet.signed $out/share/testnet/bootstrap.signed + ''; + + meta = with lib; { + description = "Anonymous, decentralized and IP based overlay network for the internet"; + homepage = "https://lokinet.org/"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ wyndon ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6b396cf56189..6ff981e99b1a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -28105,6 +28105,8 @@ with pkgs; portaudio = null; }; + lokinet = callPackage ../applications/networking/p2p/lokinet { }; + losslesscut-bin = callPackage ../applications/video/losslesscut-bin { }; loxodo = callPackage ../applications/misc/loxodo { };