From ef5161984c7b9c2f4a0bb8a9cd4e83149fa80561 Mon Sep 17 00:00:00 2001 From: Izorkin Date: Thu, 6 Dec 2018 13:08:40 +0300 Subject: [PATCH] unit: init at v1.6 --- pkgs/servers/http/unit/default.nix | 67 ++++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 20 ++++++++- 2 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 pkgs/servers/http/unit/default.nix diff --git a/pkgs/servers/http/unit/default.nix b/pkgs/servers/http/unit/default.nix new file mode 100644 index 000000000000..68676a07bf03 --- /dev/null +++ b/pkgs/servers/http/unit/default.nix @@ -0,0 +1,67 @@ +{ stdenv, fetchurl +, which +, python +, php71 +, php72 +, perl526 +, perl +, perldevel +, ruby_2_3 +, ruby_2_4 +, ruby +, withSSL ? true, openssl ? null +, withIPv6 ? true +, withDebug ? false +}: + +with stdenv.lib; + +stdenv.mkDerivation rec { + version = "1.6"; + name = "unit-${version}"; + + src = fetchurl { + url = "https://unit.nginx.org/download/${name}.tar.gz"; + sha256 = "0lws5xpzkcmv0gc7vi8pgnymin02dq4gw0zb41jfzq0vbljxxl14"; + }; + + buildInputs = [ + which + python + php71 + php72 + perl526 + perl + perldevel + ruby_2_3 + ruby_2_4 + ruby + ] ++ optional withSSL openssl; + + configureFlags = [ + "--control=unix:/run/control.unit.sock" + "--pid=/run/unit.pid" + ] ++ optional withSSL [ "--openssl" ] + ++ optional (!withIPv6) [ "--no-ipv6" ] + ++ optional withDebug [ "--debug" ]; + + postConfigure = '' + ./configure python --module=python --config=${python}/bin/python-config --lib-path=${python}/lib + ./configure php --module=php71 --config=${php71.dev}/bin/php-config --lib-path=${php71}/lib + ./configure php --module=php72 --config=${php72.dev}/bin/php-config --lib-path=${php72}/lib + ./configure perl --module=perl526 --perl=${perl526}/bin/perl + ./configure perl --module=perl --perl=${perl}/bin/perl + ./configure perl --module=perl529 --perl=${perldevel}/bin/perl + ./configure ruby --module=ruby23 --ruby=${ruby_2_3}/bin/ruby + ./configure ruby --module=ruby24 --ruby=${ruby_2_4}/bin/ruby + ./configure ruby --module=ruby --ruby=${ruby}/bin/ruby + ''; + + meta = { + description = "Dynamic web and application server, designed to run applications in multiple languages."; + homepage = https://unit.nginx.org/; + license = licenses.asl20; + platforms = platforms.linux; + maintainers = with maintainers; [ izorkin ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e939afa1808a..a273d1162933 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7829,7 +7829,6 @@ in php = php72; }); - inherit (callPackages ../development/interpreters/php { }) php71 php72; @@ -7846,6 +7845,20 @@ in config.php.apxs2 = false; }; + php-unit = php72-unit; + + php71-unit = php71.override { + config.php.embed = true; + config.php.apxs2 = false; + config.php.fpm = false; + }; + + php72-unit = php72.override { + config.php.embed = true; + config.php.apxs2 = false; + config.php.fpm = false; + }; + picoc = callPackage ../development/interpreters/picoc {}; picolisp = callPackage ../development/interpreters/picolisp {}; @@ -13514,6 +13527,11 @@ in neard = callPackage ../servers/neard { }; + unit = callPackage ../servers/http/unit { + php71 = php71-unit; + php72 = php72-unit; + }; + nginx = nginxStable; nginxStable = callPackage ../servers/http/nginx/stable.nix {