diff options
author | xeji <36407913+xeji@users.noreply.github.com> | 2018-08-08 10:58:25 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-08 10:58:25 +0200 |
commit | 90e72bb7697e19e215ecb845e43c03705ea1a20c (patch) | |
tree | 1c1f48a4438be4842434647c456a300365f19b15 | |
parent | c2e7a20f34e9af65aa61bbb30f5e4fbd18fb8025 (diff) | |
parent | 5a25e176281064b8dce64a963d4f120ee717fe83 (diff) | |
download | nixlib-90e72bb7697e19e215ecb845e43c03705ea1a20c.tar nixlib-90e72bb7697e19e215ecb845e43c03705ea1a20c.tar.gz nixlib-90e72bb7697e19e215ecb845e43c03705ea1a20c.tar.bz2 nixlib-90e72bb7697e19e215ecb845e43c03705ea1a20c.tar.lz nixlib-90e72bb7697e19e215ecb845e43c03705ea1a20c.tar.xz nixlib-90e72bb7697e19e215ecb845e43c03705ea1a20c.tar.zst nixlib-90e72bb7697e19e215ecb845e43c03705ea1a20c.zip |
Merge pull request #44146 from Izorkin/tengine
tengine: init init at v2.2.2
-rw-r--r-- | pkgs/servers/http/tengine/default.nix | 85 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 4 |
2 files changed, 89 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..36f326d5590b --- /dev/null +++ b/pkgs/servers/http/tengine/default.nix @@ -0,0 +1,85 @@ +{ 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" + "-Wno-error=implicit-fallthrough" + ] ++ 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 7d1d73249c38..25759b0e7923 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20031,6 +20031,10 @@ with pkgs; teeworlds = callPackage ../games/teeworlds { }; + tengine = callPackage ../servers/http/tengine { + modules = with nginxModules; [ rtmp dav moreheaders modsecurity-nginx ]; + }; + tennix = callPackage ../games/tennix { }; terraria-server = callPackage ../games/terraria-server { }; |