diff options
author | Izorkin <Izorkin@gmail.com> | 2018-07-27 11:28:27 +0300 |
---|---|---|
committer | Izorkin <Izorkin@gmail.com> | 2018-08-06 08:11:03 +0300 |
commit | 5fce5fadf5950affadddcfb313e25f176c4f4cb2 (patch) | |
tree | 00549fb713abfafdd0bafbde9feb7e5877463197 | |
parent | a01a52a2d7e116e059d43d7803be313fb1a825ad (diff) | |
download | nixlib-5fce5fadf5950affadddcfb313e25f176c4f4cb2.tar nixlib-5fce5fadf5950affadddcfb313e25f176c4f4cb2.tar.gz nixlib-5fce5fadf5950affadddcfb313e25f176c4f4cb2.tar.bz2 nixlib-5fce5fadf5950affadddcfb313e25f176c4f4cb2.tar.lz nixlib-5fce5fadf5950affadddcfb313e25f176c4f4cb2.tar.xz nixlib-5fce5fadf5950affadddcfb313e25f176c4f4cb2.tar.zst nixlib-5fce5fadf5950affadddcfb313e25f176c4f4cb2.zip |
tengine: init init at v2.2.2
-rw-r--r-- | pkgs/servers/http/tengine/default.nix | 82 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 5 |
2 files changed, 87 insertions, 0 deletions
diff --git a/pkgs/servers/http/tengine/default.nix b/pkgs/servers/http/tengine/default.nix new file mode 100644 index 000000000000..b527b318e225 --- /dev/null +++ b/pkgs/servers/http/tengine/default.nix @@ -0,0 +1,82 @@ +{ stdenv, fetchurl, openssl, zlib, pcre, libxml2, libxslt +, gd, geoip +, withDebug ? false +, withMail ? false +, withIPv6 ? true +, modules ? [] +, ... +}: + +with stdenv.lib; + +stdenv.mkDerivation rec { + version = "2.2.2"; + name = "tengine-${version}"; + + src = fetchurl { + url = "https://github.com/alibaba/tengine/archive/${name}.tar.gz"; + sha256 = "1vq73wsldvj7rc61ag85pvnaacrrq9rs0pfqv71z5iyvb5r3bxc2"; + }; + + buildInputs = + [ openssl zlib pcre libxml2 libxslt gd geoip ] + ++ concatMap (mod: mod.inputs or []) modules; + + configureFlags = [ + "--with-http_ssl_module" + "--with-http_v2_module" + "--with-http_realip_module" + "--with-http_addition_module" + "--with-http_xslt_module" + "--with-http_geoip_module" + "--with-http_sub_module" + "--with-http_dav_module" + "--with-http_flv_module" + "--with-http_mp4_module" + "--with-http_gunzip_module" + "--with-http_gzip_static_module" + "--with-http_auth_request_module" + "--with-http_concat_module" + "--with-http_random_index_module" + "--with-http_secure_link_module" + "--with-http_degradation_module" + "--with-http_stub_status_module" + "--with-http_sysguard_module" + "--with-threads" + "--with-pcre-jit" + "--with-http_slice_module" + ] ++ optional withDebug [ + "--with-debug" + ] ++ optional withMail [ + "--with-mail" + "--with-mail_ssl_module" + ] ++ optional (withMail != true) [ + "--without-mail_pop3_module" + "--without-mail_imap_module" + "--without-mail_smtp_module" + ] ++ optional withIPv6 [ + "--with-ipv6" + ] ++ optional (gd != null) "--with-http_image_filter_module" + ++ optional (with stdenv.hostPlatform; isLinux || isFreeBSD) "--with-file-aio" + ++ map (mod: "--add-module=${mod.src}") modules; + + NIX_CFLAGS_COMPILE = [ "-I${libxml2.dev}/include/libxml2" ] ++ optional stdenv.isDarwin "-Wno-error=deprecated-declarations"; + + preConfigure = (concatMapStringsSep "\n" (mod: mod.preConfigure or "") modules); + + hardeningEnable = optional (!stdenv.isDarwin) "pie"; + + enableParallelBuilding = true; + + postInstall = '' + mv $out/sbin $out/bin + ''; + + meta = { + description = "A web server based on Nginx and has many advanced features, originated by Taobao."; + homepage = https://tengine.taobao.org; + license = licenses.bsd2; + platforms = platforms.all; + maintainers = with maintainers; [ izorkin ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d1bcfaced0ad..35d6918e869c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19954,6 +19954,11 @@ with pkgs; teeworlds = callPackage ../games/teeworlds { }; + tengine = callPackage ../servers/http/tengine { + stdenv = overrideCC stdenv gcc6; + modules = [ nginxModules.rtmp nginxModules.dav nginxModules.moreheaders nginxModules.modsecurity-nginx]; + }; + tennix = callPackage ../games/tennix { }; terraria-server = callPackage ../games/terraria-server { }; |