From cefec62a277cdbb737ada4555d38e921e1d2cf4c Mon Sep 17 00:00:00 2001 From: Michiel Leenaars Date: Mon, 11 Dec 2017 21:53:19 +0000 Subject: lwan: init at 0.1 --- pkgs/servers/http/lwan/default.nix | 35 +++++++++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 37 insertions(+) create mode 100644 pkgs/servers/http/lwan/default.nix diff --git a/pkgs/servers/http/lwan/default.nix b/pkgs/servers/http/lwan/default.nix new file mode 100644 index 000000000000..878211ebf024 --- /dev/null +++ b/pkgs/servers/http/lwan/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchFromGitHub, pkgconfig, zlib, cmake, jemalloc }: + +stdenv.mkDerivation rec { + pname = "lwan"; + version = "0.1"; + name = "${pname}-${version}"; + + src = fetchFromGitHub { + owner = "lpereira"; + repo = pname; + rev = "v${version}"; + sha256 = "1mckryzb06smky0bx2bkqwqzpnq4pb8vlgmmwsvqmwi4mmw9wmi1"; + }; + + nativeBuildInputs = [ cmake pkgconfig ]; + + buildInputs = [ jemalloc zlib ]; + + meta = with stdenv.lib; { + description = "Lightweight high-performance multi-threaded web server"; + longDescription = "A lightweight and speedy web server with a low memory + footprint (~500KiB for 10k idle connections), with minimal system calls and + memory allocation. Lwan contains a hand-crafted HTTP request parser. Files are + served using the most efficient way according to their size: no copies between + kernel and userland for files larger than 16KiB. Smaller files are sent using + vectored I/O of memory-mapped buffers. Header overhead is considered before + compressing small files. Features include: mustache templating engine and IPv6 + support. + "; + homepage = "https://lwan.ws/"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ leenaars ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 58f5b38bb766..b301b55d4f5b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11792,6 +11792,8 @@ with pkgs; lighttpd = callPackage ../servers/http/lighttpd { }; + lwan = callPackage ../servers/http/lwan { }; + mailman = callPackage ../servers/mail/mailman { }; mattermost = callPackage ../servers/mattermost { }; -- cgit 1.4.1