From patchwork Sun Oct 11 18:30:05 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Oleg Pykhalov X-Patchwork-Id: 24572 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 8979527BBEB; Sun, 11 Oct 2020 19:33:27 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 4DDCE27BBEA for ; Sun, 11 Oct 2020 19:33:27 +0100 (BST) Received: from localhost ([::1]:34628 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kRg9u-0007w7-Fh for patchwork@mira.cbaines.net; Sun, 11 Oct 2020 14:33:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37436) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kRg7a-00060W-JM for guix-patches@gnu.org; Sun, 11 Oct 2020 14:31:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:57720) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kRg7a-0008Ln-0M for guix-patches@gnu.org; Sun, 11 Oct 2020 14:31:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kRg7Z-0007Sk-TN for guix-patches@gnu.org; Sun, 11 Oct 2020 14:31:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#43933] [PATCH 1/8] gnu: Add lua-resty-core. References: <20201011181959.13871-1-go.wigust@gmail.com> In-Reply-To: <20201011181959.13871-1-go.wigust@gmail.com> Resent-From: Oleg Pykhalov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 11 Oct 2020 18:31:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43933 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 43933@debbugs.gnu.org Cc: Oleg Pykhalov Received: via spool by 43933-submit@debbugs.gnu.org id=B43933.160244104628585 (code B ref 43933); Sun, 11 Oct 2020 18:31:01 +0000 Received: (at 43933) by debbugs.gnu.org; 11 Oct 2020 18:30:46 +0000 Received: from localhost ([127.0.0.1]:41013 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kRg7J-0007Qy-QD for submit@debbugs.gnu.org; Sun, 11 Oct 2020 14:30:46 -0400 Received: from mail-lf1-f52.google.com ([209.85.167.52]:39189) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kRg7I-0007Qb-5H for 43933@debbugs.gnu.org; Sun, 11 Oct 2020 14:30:44 -0400 Received: by mail-lf1-f52.google.com with SMTP id 184so16070269lfd.6 for <43933@debbugs.gnu.org>; Sun, 11 Oct 2020 11:30:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=+y7cludnvj5rs5VM4GQzOJR5cvIKGCTbwWP2d5jTk5c=; b=fggjB3dcmEmty39fyKJUnJ7Q1hw0jFPTPp0EZDPfPufd5xgU4g2c7hOBHuL2h65A67 1aZfX0u140OwlBqN9yZzMc/dNp4hsJRCXhRV3wAWAiWhrx+5JRf71n2RM84BKeRFYmVb 9/uh/v+zJK9l5NgWVgdMrKeKebg4HiYhz7WQXcPyy7whpRaIN6LlUGS8MOZjtXlTS/4H LOnq0ldmhl93hmnBuloYdZwqTQ96nSZSkat9FZaTQILGhUayl+k1kufwPNgO9kQbISYb C1xq1Oo1UAAvansvxqCrAFLEPSZV/vzB/1JakgL/62gP6Nmd/NeVKlLiPUdoaaBVdlge uobQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=+y7cludnvj5rs5VM4GQzOJR5cvIKGCTbwWP2d5jTk5c=; b=pEQcJYxX3ciTtn5G0L7u8e1hKZPQUv1eA+IQj3s5LxZ+YyDV/WGO8tosoimxhrpDjH W08V5xjs490poxKL0+3Y/m1qaIEVRoBx6T+wfo8LXSpZUAf3mg4HyvbX65hbTHseetde 86M6ix1Xh+tPrI/LzZF45QaXpxipfB/ZfQADg2KPfUaegwA2GTIncbTSUIDE3xusOarQ 1UpH7y3oJQj2MRCvn5NkyQ+eV/a0eGwAWd6jripzM3OmW5y3mnOoiw1KdQN7nWHHEY4J S980k83cXHgAmqDnGp8FK/QEn43VEl1Ji2/LZpHwNZqaiEUZEgcM2mYwLSVabpP3sG2o i75Q== X-Gm-Message-State: AOAM531lK9AVYGBtDvuyVdNgMZv2C7WKRbL21ApnSJKpSkjVZxekpN0K 0rHPakVnAlxti8E7ZNmgRtZ0HBoQClU= X-Google-Smtp-Source: ABdhPJykU+zeKM92/7PQzp97Ge5rGUyQeONg/1YaOGsXwRFM5U0JXi+NZRB7zhugGxeLv3pxQYIoqw== X-Received: by 2002:ac2:5ca5:: with SMTP id e5mr6329470lfq.497.1602441037795; Sun, 11 Oct 2020 11:30:37 -0700 (PDT) Received: from localhost.localdomain (95-55-4-176.dynamic.avangarddsl.ru. [95.55.4.176]) by smtp.gmail.com with ESMTPSA id l188sm2669151lfd.127.2020.10.11.11.30.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 11 Oct 2020 11:30:37 -0700 (PDT) From: Oleg Pykhalov Date: Sun, 11 Oct 2020 21:30:05 +0300 Message-Id: <20201011183012.15932-1-go.wigust@gmail.com> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/lua.scm (lua-resty-core): New variable. --- gnu/packages/lua.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index 5479b891bd..774df85170 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -880,3 +880,40 @@ on numbers.") "Selene is a simple C++11 header-only library enabling seamless interoperability between C++ and Lua programming language.") (license license:zlib))) + +(define-public lua-resty-core + (package + (name "lua-resty-core") + (version "0.1.17") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/openresty/lua-resty-core") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "11fyli6yrg7b91nv9v2sbrc6y7z3h9lgf4lrrhcjk2bb906576a0")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((luajit-major+minor ,(version-major+minor (package-version lua))) + (package-lua-resty (lambda (input output) + (mkdir-p (string-append output "/lib/lua")) + (copy-recursively (string-append input "/lib/resty") + (string-append output "/lib/lua/resty")) + (copy-recursively (string-append input "/lib/ngx") + (string-append output "/lib/ngx")) + (symlink (string-append output "/lib/lua/resty") + (string-append output "/lib/resty"))))) + (package-lua-resty (assoc-ref %build-inputs "source") + (assoc-ref %outputs "out"))) + #t))) + (home-page "https://github.com/openresty/lua-resty-core") + (synopsis "Lua API for NGINX") + (description "This package provides a FFI-based Lua API for +@code{ngx_http_lua_module} or @code{ngx_stream_lua_module}.") + (license license:bsd-2))) From patchwork Sun Oct 11 18:30:06 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Oleg Pykhalov X-Patchwork-Id: 24569 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 2006027BBEB; Sun, 11 Oct 2020 19:32:43 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id E104527BBEA for ; Sun, 11 Oct 2020 19:32:42 +0100 (BST) Received: from localhost ([::1]:60744 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kRg9B-0006ny-TK for patchwork@mira.cbaines.net; Sun, 11 Oct 2020 14:32:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37440) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kRg7a-00060q-Pq for guix-patches@gnu.org; Sun, 11 Oct 2020 14:31:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:57721) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kRg7a-0008Lt-Bw for guix-patches@gnu.org; Sun, 11 Oct 2020 14:31:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kRg7a-0007Ss-9J for guix-patches@gnu.org; Sun, 11 Oct 2020 14:31:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#43933] [PATCH 2/8] gnu: Add lua-resty-lrucache. Resent-From: Oleg Pykhalov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 11 Oct 2020 18:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43933 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 43933@debbugs.gnu.org Cc: Oleg Pykhalov Received: via spool by 43933-submit@debbugs.gnu.org id=B43933.160244104828611 (code B ref 43933); Sun, 11 Oct 2020 18:31:02 +0000 Received: (at 43933) by debbugs.gnu.org; 11 Oct 2020 18:30:48 +0000 Received: from localhost ([127.0.0.1]:41018 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kRg7M-0007RK-4D for submit@debbugs.gnu.org; Sun, 11 Oct 2020 14:30:48 -0400 Received: from mail-lj1-f171.google.com ([209.85.208.171]:40046) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kRg7I-0007Qc-Tb for 43933@debbugs.gnu.org; Sun, 11 Oct 2020 14:30:45 -0400 Received: by mail-lj1-f171.google.com with SMTP id f21so14700256ljh.7 for <43933@debbugs.gnu.org>; Sun, 11 Oct 2020 11:30:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=buq388R7XUSH3B3TJjHdUhxOponCckf7N5hfYDtpbho=; b=Ejrrs+wIJY7Z1NRW84Oq6pfIF46bTMnvZHaABGCLzpy60bFEiiOLD+1zIzTWvlNXwm bR5fNsMUFKdbL73fbYFI/kNVVBsftM8Hehh5PSbp6NybsDLLkgdRWLb9MKdQ+brgJzs/ hJrtqwsUjtkNA7+Pop6HdZ/mnNcggw6PyoLQNZ3/O/CMJCh2gb+MpTh/CpQbXnKHS1Xu IyPz4P1zHTsgdPt5iEE3M0xdI87K1Ppn1nWQUepNWpnsJiKTVh42lJN9zbtbjPM8HIG8 dx842Q+mJ/bf7W1U2+2wjo0Y1IGBCzIxP7M5uQS5RnzjQQAFy3QSHTt/muZTiTSSUVuP ngOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=buq388R7XUSH3B3TJjHdUhxOponCckf7N5hfYDtpbho=; b=Ex+74SDxRkX8zpJVOSW0Wyy/9JRcY+idBsQMhh/RrV3rKFscwmMO6PfmsK+MKI4unx OuJ0w9sYWO+91wegb8+zrxfi6mxXkV5/fC0oCYZMZTD6Pa6qgH2yTgptf0FvX5GE//zq 6LQQQGN88RJW4Dmj2CGhnJKa7kc6TS7VofNnk2od6O2BkORjmSPlFllu1o8kX77ozkHs JhwxR+Jzteu5IVAPbGY7v1FSU9eOeRc+L7ZSF1/aJwCXzuCCm854ISaBvH4fqm8F9tYr wIDPvor6Pn/3G6KiQpWK+E3XfwZx0/BcXuQ3FSvkw3k9NYXTHJtmhkweePOnaZWRR+8p yBAw== X-Gm-Message-State: AOAM531v8QCFW72e+bf3DKAKxiia66HglX+9BDBr7VRvJZWrIX9A3eNR A0zeZFaECH8lKEvqOKEYl2fzwuwAoPE= X-Google-Smtp-Source: ABdhPJzzfIeAhte3NgVNeUSn3eEe7tRBj3ZRXekIhb2UnI4tauytZ+XzfC5n8er2qtL2lZ4Sqppb6Q== X-Received: by 2002:a05:651c:d3:: with SMTP id 19mr113699ljr.180.1602441038711; Sun, 11 Oct 2020 11:30:38 -0700 (PDT) Received: from localhost.localdomain (95-55-4-176.dynamic.avangarddsl.ru. [95.55.4.176]) by smtp.gmail.com with ESMTPSA id l188sm2669151lfd.127.2020.10.11.11.30.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 11 Oct 2020 11:30:38 -0700 (PDT) From: Oleg Pykhalov Date: Sun, 11 Oct 2020 21:30:06 +0300 Message-Id: <20201011183012.15932-2-go.wigust@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201011183012.15932-1-go.wigust@gmail.com> References: <20201011183012.15932-1-go.wigust@gmail.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/lua.scm (lua-resty-lrucache): New variable. --- gnu/packages/lua.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index 774df85170..59d449dfe5 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -917,3 +917,38 @@ on numbers.") (description "This package provides a FFI-based Lua API for @code{ngx_http_lua_module} or @code{ngx_stream_lua_module}.") (license license:bsd-2))) + +(define-public lua-resty-lrucache + (package + (name "lua-resty-lrucache") + (version "0.09") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/openresty/lua-resty-lrucache") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1mwiy55qs8bija1kpgizmqgk15ijizzv4sa1giaz9qlqs2kqd7q2")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((luajit-major+minor ,(version-major+minor (package-version lua))) + (package-lua-resty (lambda (input output) + (mkdir-p (string-append output "/lib/lua/" luajit-major+minor)) + (copy-recursively (string-append input "/lib/resty") + (string-append output "/lib/lua/" luajit-major+minor "/resty")) + (symlink (string-append output "/lib/lua/" luajit-major+minor "/resty") + (string-append output "/lib/resty"))))) + (package-lua-resty (assoc-ref %build-inputs "source") + (assoc-ref %outputs "out"))) + #t))) + (home-page "https://github.com/openresty/lua-resty-lrucache") + (synopsis "Lua LRU cache based on the LuaJIT FFI") + (description + "This package provides Lua LRU cache based on the LuaJIT FFI.") + (license license:bsd-2))) From patchwork Sun Oct 11 18:30:07 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Oleg Pykhalov X-Patchwork-Id: 24573 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 5BF4927BBEB; Sun, 11 Oct 2020 19:33:35 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 2810027BBEA for ; Sun, 11 Oct 2020 19:33:35 +0100 (BST) Received: from localhost ([::1]:35154 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kRgA2-00089Z-AS for patchwork@mira.cbaines.net; Sun, 11 Oct 2020 14:33:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37444) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kRg7b-00061Q-5R for guix-patches@gnu.org; Sun, 11 Oct 2020 14:31:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:57722) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kRg7a-0008M3-Q9 for guix-patches@gnu.org; Sun, 11 Oct 2020 14:31:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kRg7a-0007Sz-Mo for guix-patches@gnu.org; Sun, 11 Oct 2020 14:31:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#43933] [PATCH 3/8] gnu: Add lua-resty-signal. Resent-From: Oleg Pykhalov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 11 Oct 2020 18:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43933 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 43933@debbugs.gnu.org Cc: Oleg Pykhalov Received: via spool by 43933-submit@debbugs.gnu.org id=B43933.160244104828619 (code B ref 43933); Sun, 11 Oct 2020 18:31:02 +0000 Received: (at 43933) by debbugs.gnu.org; 11 Oct 2020 18:30:48 +0000 Received: from localhost ([127.0.0.1]:41020 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kRg7M-0007RQ-Dd for submit@debbugs.gnu.org; Sun, 11 Oct 2020 14:30:48 -0400 Received: from mail-lj1-f179.google.com ([209.85.208.179]:37958) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kRg7J-0007Qe-R1 for 43933@debbugs.gnu.org; Sun, 11 Oct 2020 14:30:46 -0400 Received: by mail-lj1-f179.google.com with SMTP id a23so13906184ljp.5 for <43933@debbugs.gnu.org>; Sun, 11 Oct 2020 11:30:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Xpsj/4aHwuqk2ttwh7hdH+xsKGLjtcX3yW8DcVez/5M=; b=mPrrjCfmmlgdi/imG+aYCHUBkPNrefpjBW9AY+AyCbMOk74vgKRkQ5seir9GSmjLyr lmEZAnWkJM6X8gOJ3sqrED1RvJPpVShfe3TS2kgXs57PNZcgtNY4RQPFBKtTKLhfVTel USxDQfUv5uYkkHr7hitSOJX8Y8+eacCKzzCExvpCWryEDB6FPs3e3kWLax62ToV6Nw17 Yk8IJA8G/Kr59EHT3HW+owuq546jThLOhB8L26Z4vO8+Y1FSL77cKKTZyFEMvBLd9tCI VLM7KRDO3dvJSSMY+FDunupq0DfGpIF9UkrciA6zHNMl1qUr5LeQu596gxklSjJJ77iv HfFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Xpsj/4aHwuqk2ttwh7hdH+xsKGLjtcX3yW8DcVez/5M=; b=t1eunYQ3Yr3f9uGeI78YZDI1Toi/gAvtLni8bmFX2MWfhyu3qBK1pMrOH4JK0vOV/d qm13Eb9fEzh6prL2c9KgP2GoRrToI6Y2EUpZWETdYY5PHwMgxMZGRzAT5FcUMMH3i3tn vWKGbLrNnwTEc9h15JxE+9MBOhEvn+lvb/4nxIW7MetMYxOhhiWleFRsKIpcDNuP/Aba kh++wJjZEcbZh2ZW+orNocqSN3vxJSxECBsdgYyJNMfqtZJF/tCCSH6WGWLBb2a2Hrfk 5DXDJUqhX+vhUQ3DkcQUguqcLTdvLBJOSa4lZSTAPR4RtD3+r91PR3+ihG2sldocu+aJ YTtA== X-Gm-Message-State: AOAM532+6mBsy944bDSdCex30h557LCxIP/wYkfzzHrA6CnxyMnyp38O 3N6Z08QyU3d0nKb8jmT/8H2/NPqC1AI= X-Google-Smtp-Source: ABdhPJxvH0PnLxMe3KyznhqUAJtS9YrH2+DOyLkw74VZpQnqDJi8ZvRO8tsgD55nl023FS0vyFooGg== X-Received: by 2002:a2e:9c88:: with SMTP id x8mr8427208lji.251.1602441039636; Sun, 11 Oct 2020 11:30:39 -0700 (PDT) Received: from localhost.localdomain (95-55-4-176.dynamic.avangarddsl.ru. [95.55.4.176]) by smtp.gmail.com with ESMTPSA id l188sm2669151lfd.127.2020.10.11.11.30.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 11 Oct 2020 11:30:38 -0700 (PDT) From: Oleg Pykhalov Date: Sun, 11 Oct 2020 21:30:07 +0300 Message-Id: <20201011183012.15932-3-go.wigust@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201011183012.15932-1-go.wigust@gmail.com> References: <20201011183012.15932-1-go.wigust@gmail.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/lua.scm (lua-resty-signal): New variable. --- gnu/packages/lua.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index 59d449dfe5..60f88c1536 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -952,3 +952,43 @@ on numbers.") (description "This package provides Lua LRU cache based on the LuaJIT FFI.") (license license:bsd-2))) + +(define-public lua-resty-signal + (package + (name "lua-resty-signal") + (version "0.02") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/openresty/lua-resty-signal") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "13y1pqn45y49mhqwywasfdsid46d0c33yi6mrnracbnmvyxz1cif")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;TODO: Run the test suite. + #:make-flags (list "CC=gcc" + (string-append "PREFIX=" %output)) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'install 'install-lua + (lambda* (#:key inputs outputs #:allow-other-keys) + (use-modules (guix build utils)) + (let* ((luajit-major+minor ,(version-major+minor (package-version lua))) + (package-lua-resty (lambda (input output) + (mkdir-p (string-append output "/lib/lua/" luajit-major+minor)) + (copy-recursively (string-append input "/lib/resty") + (string-append output "/lib/lua/" luajit-major+minor "/resty")) + (symlink (string-append output "/lib/lua/" luajit-major+minor "/resty") + (string-append output "/lib/resty"))))) + (package-lua-resty (assoc-ref inputs "source") + (assoc-ref outputs "out"))) + #t))))) + (home-page "https://github.com/openresty/lua-resty-signal") + (synopsis "Lua library for killing or sending signals to Linux processes") + (description "This package provides Lua library for killing or sending +signals to Linux processes.") + (license license:bsd-3))) From patchwork Sun Oct 11 18:30:08 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Oleg Pykhalov X-Patchwork-Id: 24576 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 4847C27BBEB; Sun, 11 Oct 2020 19:34:56 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id D2FE627BBEA for ; Sun, 11 Oct 2020 19:34:54 +0100 (BST) Received: from localhost ([::1]:38420 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kRgBK-00015B-2d for patchwork@mira.cbaines.net; Sun, 11 Oct 2020 14:34:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37450) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kRg7b-00061Y-IF for guix-patches@gnu.org; Sun, 11 Oct 2020 14:31:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:57723) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kRg7b-0008MC-6R for guix-patches@gnu.org; Sun, 11 Oct 2020 14:31:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kRg7b-0007T6-44 for guix-patches@gnu.org; Sun, 11 Oct 2020 14:31:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#43933] [PATCH 4/8] gnu: Add lua-tablepool. Resent-From: Oleg Pykhalov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 11 Oct 2020 18:31:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43933 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 43933@debbugs.gnu.org Cc: Oleg Pykhalov Received: via spool by 43933-submit@debbugs.gnu.org id=B43933.160244104928625 (code B ref 43933); Sun, 11 Oct 2020 18:31:03 +0000 Received: (at 43933) by debbugs.gnu.org; 11 Oct 2020 18:30:49 +0000 Received: from localhost ([127.0.0.1]:41022 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kRg7M-0007RY-Nx for submit@debbugs.gnu.org; Sun, 11 Oct 2020 14:30:49 -0400 Received: from mail-lj1-f172.google.com ([209.85.208.172]:39041) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kRg7K-0007Qg-TV for 43933@debbugs.gnu.org; Sun, 11 Oct 2020 14:30:47 -0400 Received: by mail-lj1-f172.google.com with SMTP id m16so14696263ljo.6 for <43933@debbugs.gnu.org>; Sun, 11 Oct 2020 11:30:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=pfRxKAviKt8oqNo9wVhFKfCw7ZFol2PBQsmyPqwH300=; b=UeRb154wGis0gNrt80U92tOAcujy2LIlrs+RV+oVei4CRZh95IDMAdvbVtgalalny7 rg4b5d+WQsw9TxFyGeXLLenwAwsuxKmMn6Taw5x2rk12yBded/S5ARMZMYJxS451LVHY wXSb/KEypfcX6jCyhz5JusSjWMsTpbXr88wl9zoWbrqZQnOga4JSp8meIMPfecRGrGUG VxR6BbhzR8+X9aFigsKnetkpKofrWcgA0EGqHf/ZnZbpCo7vkCQLUzv8AcR/QpsDg+1i oEnM4t2MQ0MB/bbK5rTsN2PnnQ9vfeSrv8M3ezBuukrXKmnJ+UAINrEUoaCifs+Vc2jK WG4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=pfRxKAviKt8oqNo9wVhFKfCw7ZFol2PBQsmyPqwH300=; b=R87UCnTJNrfJIZ3p6ADVUkhTApDQyZQ5wipPNbhB43TJtzU5GUkhPbgzEA2HsLGtaX gVzwtDcdm/o8JG6HQn6zwuQaruCKZs9lCeqz2nNwliRcbdF4GGBvzYghah+WCL05t8qZ k2C3qVgbAvBbR+4gdLYkA1IbQzmvBvJBVnwLJ1vjTFqPJkr0paMuuMd9DJCWa74CDH0K pTtCOPneMg3KMFREmGAEOcuIZ+E3KVUBl3iMn20sxRNJIOf6If1RzJBzut76Nu0ODcTh rV9C/gbWSsrJDvJlgC6DXw0OcdLCKCSpI2pv9bLbSjpUzlRmW28JL2z5BPoyONubMmaK Mr2Q== X-Gm-Message-State: AOAM532LA6ayEuB/lIlV4nOQRcR4A8VMBTn4wA1wZqILJw3NcXmIcQTL ngGFB/YoFqpFgJ0AqzhUBEgg3UleMyQ= X-Google-Smtp-Source: ABdhPJznSHElurvODmj2/IerYEm9T8x4qmU3wkWt9xeuHgnqdwc6wohS3qa90Ie2AIIkypRmhgebKQ== X-Received: by 2002:a2e:9f0f:: with SMTP id u15mr6184316ljk.80.1602441040879; Sun, 11 Oct 2020 11:30:40 -0700 (PDT) Received: from localhost.localdomain (95-55-4-176.dynamic.avangarddsl.ru. [95.55.4.176]) by smtp.gmail.com with ESMTPSA id l188sm2669151lfd.127.2020.10.11.11.30.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 11 Oct 2020 11:30:40 -0700 (PDT) From: Oleg Pykhalov Date: Sun, 11 Oct 2020 21:30:08 +0300 Message-Id: <20201011183012.15932-4-go.wigust@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201011183012.15932-1-go.wigust@gmail.com> References: <20201011183012.15932-1-go.wigust@gmail.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/lua.scm (lua-tablepool): New variable. --- gnu/packages/lua.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index 60f88c1536..d30692d2df 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -992,3 +992,35 @@ on numbers.") (description "This package provides Lua library for killing or sending signals to Linux processes.") (license license:bsd-3))) + +(define-public lua-tablepool + (package + (name "lua-tablepool") + (version "0.01") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/openresty/lua-tablepool") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "03yjj3w6znvj6843prg84m0lkrn49l901f9hj9bgy3cj9s0awl6y")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((luajit-major+minor ,(version-major+minor (package-version lua))) + (package-lua-resty (lambda (input output) + (mkdir-p (string-append output "/lib/lua/" luajit-major+minor)) + (copy-recursively (string-append input "/lib") + (string-append output "/lib"))))) + (package-lua-resty (assoc-ref %build-inputs "source") + (assoc-ref %outputs "out"))) + #t))) + (home-page "https://github.com/openresty/lua-tablepool") + (synopsis "Lua table recycling pools for LuaJIT") + (description "This package provides Lua table recycling pools for LuaJIT.") + (license license:bsd-2))) From patchwork Sun Oct 11 18:30:09 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Oleg Pykhalov X-Patchwork-Id: 24570 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 16BB527BBEB; Sun, 11 Oct 2020 19:32:51 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id D2BAE27BBEA for ; Sun, 11 Oct 2020 19:32:50 +0100 (BST) Received: from localhost ([::1]:33134 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kRg9K-0007Cm-0N for patchwork@mira.cbaines.net; Sun, 11 Oct 2020 14:32:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37456) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kRg7b-00061a-TF for guix-patches@gnu.org; Sun, 11 Oct 2020 14:31:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:57724) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kRg7b-0008ML-K1 for guix-patches@gnu.org; Sun, 11 Oct 2020 14:31:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kRg7b-0007TE-Hm for guix-patches@gnu.org; Sun, 11 Oct 2020 14:31:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#43933] [PATCH 5/8] gnu: Add lua-resty-shell. Resent-From: Oleg Pykhalov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 11 Oct 2020 18:31:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43933 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 43933@debbugs.gnu.org Cc: Oleg Pykhalov Received: via spool by 43933-submit@debbugs.gnu.org id=B43933.160244105328652 (code B ref 43933); Sun, 11 Oct 2020 18:31:03 +0000 Received: (at 43933) by debbugs.gnu.org; 11 Oct 2020 18:30:53 +0000 Received: from localhost ([127.0.0.1]:41027 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kRg7R-0007Rx-2A for submit@debbugs.gnu.org; Sun, 11 Oct 2020 14:30:53 -0400 Received: from mail-lj1-f171.google.com ([209.85.208.171]:47045) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kRg7L-0007Qi-O9 for 43933@debbugs.gnu.org; Sun, 11 Oct 2020 14:30:48 -0400 Received: by mail-lj1-f171.google.com with SMTP id c21so14667428ljn.13 for <43933@debbugs.gnu.org>; Sun, 11 Oct 2020 11:30:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=M5DMc0FOJvGF/4Qt6j1YTj3qo5CVMw7L+LKUFZOc5J4=; b=DS9ic8rZkvR/QQq8DLAu+KmuSQYZYVrTsoX8zjIYdAv5tA/tS7PUt4SRwTMsa/cXX9 Rjd6JTkiJjNmqAacxShY6387NvnYnL6b2LF6sR5pEF93TWuueVYbb7AbUpIJx1NbEtXE tZJxBn2LmRpDlG00u2uDbPoiMz12TVRH3HxjpgZXxW0N1KK2MaZrbzU8/4u77fiiWdB0 RPU3QAXrOrUY6tXDs2HpFOs9kogUnbKbFynqeO4JtqD4hYGx5PjPkEWwf7tzpJQOvx2t a+VY6d7/P0JvKVs17zMr1TKue07LfE05gQG2higmvs/B6YL/dGRT9skiORvzb8pczHqc 2iVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=M5DMc0FOJvGF/4Qt6j1YTj3qo5CVMw7L+LKUFZOc5J4=; b=niPA4zHd6vNtfF7cOm3OcwBd1mKSghHL06PWrnqzSM1LjhcFvE+gPpRcZwhAhiulMQ zsVOa72Suw8HJn431s9Bx6GIY9xrJmfJOoK6IOnZFHMajdOT3wKEm3S1AjGNbQE8oAqx 6YKja/pi69gxSriSNKS7DkwoZAtt0vKThV48MzD7O+IaFr4AHF/L/gR2ezrHlt1Pb6w7 zWD0euiFpdtqD68KznsJkypp6RzIR54XcOBvQ+9jxO1FpA/hAvcN3WtLHO/Y3K9dut2K aAsiR8blLqPTYuml+AVLjB1/QTe3OauuOJ3BYdY0fzYk+YQaMBLZfhdCjYDQwg5qEwCI l0jw== X-Gm-Message-State: AOAM531HXgyfPbXfLPMwN/XStEMVGr66EaeQgJ6Pd59/PyOR4tNrSSkd niFuoFylaH+LqQPl1BPylt58QWs8eus= X-Google-Smtp-Source: ABdhPJwYiXiSN8fEe6XQ5pLbEeirDTmfIxd9qVg4Yw+3pLhvM5WOGCduNIPw1NpHEdDPzcfRCN7fGg== X-Received: by 2002:a2e:b0c8:: with SMTP id g8mr9598349ljl.22.1602441041779; Sun, 11 Oct 2020 11:30:41 -0700 (PDT) Received: from localhost.localdomain (95-55-4-176.dynamic.avangarddsl.ru. [95.55.4.176]) by smtp.gmail.com with ESMTPSA id l188sm2669151lfd.127.2020.10.11.11.30.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 11 Oct 2020 11:30:41 -0700 (PDT) From: Oleg Pykhalov Date: Sun, 11 Oct 2020 21:30:09 +0300 Message-Id: <20201011183012.15932-5-go.wigust@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201011183012.15932-1-go.wigust@gmail.com> References: <20201011183012.15932-1-go.wigust@gmail.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/lua.scm (lua-resty-shell): New variable. --- gnu/packages/lua.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index d30692d2df..2f21d85d0b 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -1024,3 +1024,38 @@ signals to Linux processes.") (synopsis "Lua table recycling pools for LuaJIT") (description "This package provides Lua table recycling pools for LuaJIT.") (license license:bsd-2))) + +(define-public lua-resty-shell + (package + (name "lua-resty-shell") + (version "0.03") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/openresty/lua-resty-shell") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1s6g04ip4hr97r2pd8ry3alq063604s9a3l0hn9nsidh81ps4dp7")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((luajit-major+minor ,(version-major+minor (package-version lua))) + (package-lua-resty (lambda (input output) + (mkdir-p (string-append output "/lib/lua/" luajit-major+minor)) + (copy-recursively (string-append input "/lib/resty") + (string-append output "/lib/lua/" luajit-major+minor "/resty")) + (symlink (string-append output "/lib/lua/" luajit-major+minor "/resty") + (string-append output "/lib/resty"))))) + (package-lua-resty (assoc-ref %build-inputs "source") + (assoc-ref %outputs "out"))) + #t))) + (home-page "https://github.com/openresty/lua-resty-shell") + (synopsis "Lua module for nonblocking system shell command executions") + (description "This package provides Lua module for nonblocking system +shell command executions.") + (license license:bsd-3))) From patchwork Sun Oct 11 18:30:10 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Oleg Pykhalov X-Patchwork-Id: 24571 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 032B827BBEB; Sun, 11 Oct 2020 19:33:18 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 6A1A727BBEA for ; Sun, 11 Oct 2020 19:33:17 +0100 (BST) Received: from localhost ([::1]:33748 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kRg9k-0007XH-Gn for patchwork@mira.cbaines.net; Sun, 11 Oct 2020 14:33:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37466) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kRg7d-00062W-49 for guix-patches@gnu.org; Sun, 11 Oct 2020 14:31:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:57727) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kRg7c-0008MY-Oo for guix-patches@gnu.org; Sun, 11 Oct 2020 14:31:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kRg7c-0007Ta-M7 for guix-patches@gnu.org; Sun, 11 Oct 2020 14:31:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#43933] [PATCH 6/8] gnu: Add nginx-socket-cloexec. Resent-From: Oleg Pykhalov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 11 Oct 2020 18:31:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43933 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 43933@debbugs.gnu.org Cc: Oleg Pykhalov Received: via spool by 43933-submit@debbugs.gnu.org id=B43933.160244106028679 (code B ref 43933); Sun, 11 Oct 2020 18:31:04 +0000 Received: (at 43933) by debbugs.gnu.org; 11 Oct 2020 18:31:00 +0000 Received: from localhost ([127.0.0.1]:41033 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kRg7W-0007SO-0C for submit@debbugs.gnu.org; Sun, 11 Oct 2020 14:31:00 -0400 Received: from mail-lf1-f68.google.com ([209.85.167.68]:40542) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kRg7N-0007Qk-2F for 43933@debbugs.gnu.org; Sun, 11 Oct 2020 14:30:53 -0400 Received: by mail-lf1-f68.google.com with SMTP id a9so16059921lfc.7 for <43933@debbugs.gnu.org>; Sun, 11 Oct 2020 11:30:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=4TYAMrieN8xFTdlUKdlUltg7TmWuf9RDrZ3pQOL9isU=; b=c1F9MqUuwUU37r2ogr1c8bzRF0TX1YoodlynzvN/DZ4nKuDDfSw4qExkAEwSAhcBVq FSk8TgGbNwW6jtooY/doaK6mc82ziZHwf+2z9V0lZI0PH/2Dknn+Bbokk9dGIc2fJz/P 1QX/gP9Ohd1YnmKvvRR4J98+FxKu1wst+gU9JY4RVgNPblXJM2RMXjoratbSFCin0vWY 7H+Atts91mp5QbBYnwnQHHvc8AXJiGhmQqpOotpGC/lds/Yh9Jj/K4ZGu01VBwno97QS zQiuMrFSqtj+ZwIK/ax5rM5sVLQhhxePKro9m6zt0gnT0nZsudC9l+GeeltlBK4UDLCc 6GAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=4TYAMrieN8xFTdlUKdlUltg7TmWuf9RDrZ3pQOL9isU=; b=p9ojmHNJGrFU/kqwISsEEB9wqaSZYslqPa2/3lWJ68ho19Yx/QvhH3YfCrebe+xrVG NdUIaNQdmc03PrCC4GK8GMYY1BrMAc3mn3hl8aFJSw4B+4YswQ13rS/IpqhU7Ug+ezmK ww87EW+6vSSIwiZwEtlMoAg0HWvt7tXvH2oTELQqIOaAv3W2y+gWvlHkWUWJ3hjkom4Q 90B80AuTNxLtMFAQVXw+bzvBlovh458HDC0Drq/E/0xqOtGnd8XxUVtEw2EqC/Phy0ak 9ZnGlSzLdiOYSemKa68QHcJqjS8B6QbLJQOLcnFVyhmuxn0b6ZtJHOlHyRU3ChjFp2Vj H0zg== X-Gm-Message-State: AOAM531iqEjThoEHDADNj/YKGxeh+WJjPKrai6LgFmkokEwH+S1TGwOY b43mXz+fFD1VYusbNB72k6SExp//SIs= X-Google-Smtp-Source: ABdhPJzqbcFVd0Lq3Rb8mrI5JyQ2P2viqRYY2pA2YK0avOATk61A6gl+Qs9LOS/tU8QDDlNEvlp0+A== X-Received: by 2002:ac2:5c49:: with SMTP id s9mr6588351lfp.14.1602441042842; Sun, 11 Oct 2020 11:30:42 -0700 (PDT) Received: from localhost.localdomain (95-55-4-176.dynamic.avangarddsl.ru. [95.55.4.176]) by smtp.gmail.com with ESMTPSA id l188sm2669151lfd.127.2020.10.11.11.30.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 11 Oct 2020 11:30:42 -0700 (PDT) From: Oleg Pykhalov Date: Sun, 11 Oct 2020 21:30:10 +0300 Message-Id: <20201011183012.15932-6-go.wigust@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201011183012.15932-1-go.wigust@gmail.com> References: <20201011183012.15932-1-go.wigust@gmail.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/patches/nginx-socket-cloexec.patch: New file. * gnu/local.mk (dist_patch_DATA): Add this. * gnu/packages/web.scm (nginx-socket-cloexec): New variable. --- gnu/local.mk | 1 + .../patches/nginx-socket-cloexec.patch | 185 ++++++++++++++++++ gnu/packages/web.scm | 10 + 3 files changed, 196 insertions(+) create mode 100644 gnu/packages/patches/nginx-socket-cloexec.patch diff --git a/gnu/local.mk b/gnu/local.mk index b59b122e86..947b3ef17f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1362,6 +1362,7 @@ dist_patch_DATA = \ %D%/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch \ %D%/packages/patches/ngircd-handle-zombies.patch \ %D%/packages/patches/network-manager-plugin-path.patch \ + %D%/packages/patches/nginx-socket-cloexec.patch \ %D%/packages/patches/nsis-env-passthru.patch \ %D%/packages/patches/nss-increase-test-timeout.patch \ %D%/packages/patches/nss-pkgconfig.patch \ diff --git a/gnu/packages/patches/nginx-socket-cloexec.patch b/gnu/packages/patches/nginx-socket-cloexec.patch new file mode 100644 index 0000000000..985ce573b5 --- /dev/null +++ b/gnu/packages/patches/nginx-socket-cloexec.patch @@ -0,0 +1,185 @@ +diff --git a/auto/unix b/auto/unix +index 10835f6c..b5b33bb3 100644 +--- a/auto/unix ++++ b/auto/unix +@@ -990,3 +990,27 @@ ngx_feature_test='struct addrinfo *res; + if (getaddrinfo("localhost", NULL, NULL, &res) != 0) return 1; + freeaddrinfo(res)' + . auto/feature ++ ++ngx_feature="SOCK_CLOEXEC support" ++ngx_feature_name="NGX_HAVE_SOCKET_CLOEXEC" ++ngx_feature_run=no ++ngx_feature_incs="#include ++ #include " ++ngx_feature_path= ++ngx_feature_libs= ++ngx_feature_test="int fd; ++ fd = socket(AF_INET, SOCK_STREAM | SOCK_CLOEXEC, 0);" ++. auto/feature ++ ++ngx_feature="FD_CLOEXEC support" ++ngx_feature_name="NGX_HAVE_FD_CLOEXEC" ++ngx_feature_run=no ++ngx_feature_incs="#include ++ #include ++ #include " ++ngx_feature_path= ++ngx_feature_libs= ++ngx_feature_test="int fd; ++ fd = socket(AF_INET, SOCK_STREAM, 0); ++ fcntl(fd, F_SETFD, FD_CLOEXEC);" ++. auto/feature +diff --git a/src/core/ngx_resolver.c b/src/core/ngx_resolver.c +index cd55520c..438e0806 100644 +--- a/src/core/ngx_resolver.c ++++ b/src/core/ngx_resolver.c +@@ -4466,8 +4466,14 @@ ngx_tcp_connect(ngx_resolver_connection_t *rec) + ngx_event_t *rev, *wev; + ngx_connection_t *c; + ++#if (NGX_HAVE_SOCKET_CLOEXEC) ++ s = ngx_socket(rec->sockaddr->sa_family, SOCK_STREAM | SOCK_CLOEXEC, 0); ++ ++#else + s = ngx_socket(rec->sockaddr->sa_family, SOCK_STREAM, 0); + ++#endif ++ + ngx_log_debug1(NGX_LOG_DEBUG_EVENT, &rec->log, 0, "TCP socket %d", s); + + if (s == (ngx_socket_t) -1) { +@@ -4494,6 +4500,15 @@ ngx_tcp_connect(ngx_resolver_connection_t *rec) + goto failed; + } + ++#if (NGX_HAVE_FD_CLOEXEC) ++ if (ngx_cloexec(s) == -1) { ++ ngx_log_error(NGX_LOG_ALERT, &rec->log, ngx_socket_errno, ++ ngx_cloexec_n " failed"); ++ ++ goto failed; ++ } ++#endif ++ + rev = c->read; + wev = c->write; + +diff --git a/src/event/ngx_event.h b/src/event/ngx_event.h +index 19fec68..8c2f01a 100644 +--- a/src/event/ngx_event.h ++++ b/src/event/ngx_event.h +@@ -73,6 +73,9 @@ struct ngx_event_s { + /* to test on worker exit */ + unsigned channel:1; + unsigned resolver:1; ++#if (HAVE_SOCKET_CLOEXEC_PATCH) ++ unsigned skip_socket_leak_check:1; ++#endif + + unsigned cancelable:1; + +diff --git a/src/event/ngx_event_accept.c b/src/event/ngx_event_accept.c +index 77563709..5827b9d0 100644 +--- a/src/event/ngx_event_accept.c ++++ b/src/event/ngx_event_accept.c +@@ -62,7 +62,9 @@ ngx_event_accept(ngx_event_t *ev) + + #if (NGX_HAVE_ACCEPT4) + if (use_accept4) { +- s = accept4(lc->fd, &sa.sockaddr, &socklen, SOCK_NONBLOCK); ++ s = accept4(lc->fd, &sa.sockaddr, &socklen, ++ SOCK_NONBLOCK | SOCK_CLOEXEC); ++ + } else { + s = accept(lc->fd, &sa.sockaddr, &socklen); + } +@@ -202,6 +204,16 @@ ngx_event_accept(ngx_event_t *ev) + ngx_close_accepted_connection(c); + return; + } ++ ++#if (NGX_HAVE_FD_CLOEXEC) ++ if (ngx_cloexec(s) == -1) { ++ ngx_log_error(NGX_LOG_ALERT, ev->log, ngx_socket_errno, ++ ngx_cloexec_n " failed"); ++ ngx_close_accepted_connection(c); ++ return; ++ } ++#endif ++ + } + } + +diff --git a/src/event/ngx_event_connect.c b/src/event/ngx_event_connect.c +index c5bb8068..cf33b1d2 100644 +--- a/src/event/ngx_event_connect.c ++++ b/src/event/ngx_event_connect.c +@@ -38,8 +38,15 @@ ngx_event_connect_peer(ngx_peer_connection_t *pc) + + type = (pc->type ? pc->type : SOCK_STREAM); + ++#if (NGX_HAVE_SOCKET_CLOEXEC) ++ s = ngx_socket(pc->sockaddr->sa_family, type | SOCK_CLOEXEC, 0); ++ ++#else + s = ngx_socket(pc->sockaddr->sa_family, type, 0); + ++#endif ++ ++ + ngx_log_debug2(NGX_LOG_DEBUG_EVENT, pc->log, 0, "%s socket %d", + (type == SOCK_STREAM) ? "stream" : "dgram", s); + +@@ -80,6 +87,15 @@ ngx_event_connect_peer(ngx_peer_connection_t *pc) + goto failed; + } + ++#if (NGX_HAVE_FD_CLOEXEC) ++ if (ngx_cloexec(s) == -1) { ++ ngx_log_error(NGX_LOG_ALERT, pc->log, ngx_socket_errno, ++ ngx_cloexec_n " failed"); ++ ++ goto failed; ++ } ++#endif ++ + if (pc->local) { + + #if (NGX_HAVE_TRANSPARENT_PROXY) +diff --git a/src/os/unix/ngx_process_cycle.c b/src/os/unix/ngx_process_cycle.c +index c4376a5..48e8fa8 100644 +--- a/src/os/unix/ngx_process_cycle.c ++++ b/src/os/unix/ngx_process_cycle.c +@@ -1032,6 +1032,9 @@ ngx_worker_process_exit(ngx_cycle_t *cycle) + for (i = 0; i < cycle->connection_n; i++) { + if (c[i].fd != -1 + && c[i].read ++#if (HAVE_SOCKET_CLOEXEC_PATCH) ++ && !c[i].read->skip_socket_leak_check ++#endif + && !c[i].read->accept + && !c[i].read->channel + && !c[i].read->resolver) +diff --git a/src/os/unix/ngx_socket.h b/src/os/unix/ngx_socket.h +index fcc51533..d1eebf47 100644 +--- a/src/os/unix/ngx_socket.h ++++ b/src/os/unix/ngx_socket.h +@@ -38,6 +38,17 @@ int ngx_blocking(ngx_socket_t s); + + #endif + ++#if (NGX_HAVE_FD_CLOEXEC) ++ ++#define ngx_cloexec(s) fcntl(s, F_SETFD, FD_CLOEXEC) ++#define ngx_cloexec_n "fcntl(FD_CLOEXEC)" ++ ++/* at least FD_CLOEXEC is required to ensure connection fd is closed ++ * after execve */ ++#define HAVE_SOCKET_CLOEXEC_PATCH 1 ++ ++#endif ++ + int ngx_tcp_nopush(ngx_socket_t s); + int ngx_tcp_push(ngx_socket_t s); + diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 1699c92366..f7330aa749 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -550,6 +550,16 @@ This is modified version, specifically intended for use with the NGinx documentation.") (license license:bsd-2)))) +(define nginx-socket-cloexec + (package + (inherit nginx) + (name "nginx-socket-cloexec") ;required for lua-resty-shell + (source + (origin + (inherit (package-source nginx)) + (patches (append (search-patches "nginx-socket-cloexec.patch") + (origin-patches (package-source nginx)))))))) + (define-public lighttpd (package (name "lighttpd") From patchwork Sun Oct 11 18:30:11 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Oleg Pykhalov X-Patchwork-Id: 24575 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id A275227BBEB; Sun, 11 Oct 2020 19:34:47 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 388E127BBEA for ; Sun, 11 Oct 2020 19:34:47 +0100 (BST) Received: from localhost ([::1]:38006 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kRgBC-0000uw-Ej for patchwork@mira.cbaines.net; Sun, 11 Oct 2020 14:34:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37462) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kRg7c-00061b-AM for guix-patches@gnu.org; Sun, 11 Oct 2020 14:31:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:57725) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kRg7c-0008MP-0N for guix-patches@gnu.org; Sun, 11 Oct 2020 14:31:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kRg7b-0007TL-Ty for guix-patches@gnu.org; Sun, 11 Oct 2020 14:31:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#43933] [PATCH 7/8] gnu: Add nginx-lua-module. Resent-From: Oleg Pykhalov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 11 Oct 2020 18:31:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43933 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 43933@debbugs.gnu.org Cc: Oleg Pykhalov Received: via spool by 43933-submit@debbugs.gnu.org id=B43933.160244105328659 (code B ref 43933); Sun, 11 Oct 2020 18:31:03 +0000 Received: (at 43933) by debbugs.gnu.org; 11 Oct 2020 18:30:53 +0000 Received: from localhost ([127.0.0.1]:41029 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kRg7R-0007S5-C9 for submit@debbugs.gnu.org; Sun, 11 Oct 2020 14:30:53 -0400 Received: from mail-lj1-f194.google.com ([209.85.208.194]:34388) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kRg7O-0007Qr-10 for 43933@debbugs.gnu.org; Sun, 11 Oct 2020 14:30:50 -0400 Received: by mail-lj1-f194.google.com with SMTP id y16so13547282ljk.1 for <43933@debbugs.gnu.org>; Sun, 11 Oct 2020 11:30:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ijqUY900b6TGthORwAybl4TrXng6oAUmqYODosrSmmQ=; b=iLEJUkoiZvjkWr/UitRDKy8fMXEL4khBp5ogv6lrKoYrvs4p2pEnQk+QA2xP7q13Ur jiYD+y8MkOE8lW1dbNcZnaFDlQQ1nZYDEnyV36YtLTzNXbRy4oKKlfRp0C1Fkju96FEJ 4GawnHCcgn+UD7ukbHfnU0RK/djnbPfx/8S9hlfO6pEHiLIx+bBQ4v5Ill3TSBfPHujG tIimIWmhj1nEea25e0pXm37t31vgUyY27LKJQbdjCSpbwdVp7ZKD3hJzjaiTGlm7m/6L TVu6h6PCLsE83QvyP1SR+AM60SErWAvuc+ADgNdq1sg6/Ob993ZTaWd8Pu9x8cZn2Lt0 YRcg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ijqUY900b6TGthORwAybl4TrXng6oAUmqYODosrSmmQ=; b=UGyyaHcyRZ0O8p/5GEa1ahWIFKaWM13w6QKxftKq7lpXwyDu5URibKa3X54DXzFNuF E4IiCx/ATqexjOpkNxo5b3ntUIc8Ptn5369EHPFtP5yc82pWkV0shU55vUaDh4UUJhOI fbxSFz/Q0nGe16wuHBaovgbu7oLEgsglikynAlI1SpEfmZzFA2immhwoeXNT1SWQyjQd ZkemK48jZKjCrs5d/hhSvZx9MLpYHM5jWhAhbHPeuILDRLCqfQ7N28NNsWfzfEjGCJHe gkxkm+fpujXzyjP8sXt6xJsWbd5Ofp5jWp+BUiyI8zuivrt8/sI4LPthtbHCX3wxhXg/ WgzA== X-Gm-Message-State: AOAM533PSwlAvHWHUg3vECy6M9Wmk0s0aLac0OtRuDFaUA6f1vHKTPp3 6vo1ilNiLSO1LH+qB98olL/A7S8tP9A= X-Google-Smtp-Source: ABdhPJwGUsIgUfPxWyWIb7lY+FEEc8fGS92bSd3Fxf/tq28QESksC/EFBs6tpb7k+sCwlQh2a4GgjA== X-Received: by 2002:a05:651c:238:: with SMTP id z24mr275719ljn.408.1602441043995; Sun, 11 Oct 2020 11:30:43 -0700 (PDT) Received: from localhost.localdomain (95-55-4-176.dynamic.avangarddsl.ru. [95.55.4.176]) by smtp.gmail.com with ESMTPSA id l188sm2669151lfd.127.2020.10.11.11.30.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 11 Oct 2020 11:30:43 -0700 (PDT) From: Oleg Pykhalov Date: Sun, 11 Oct 2020 21:30:11 +0300 Message-Id: <20201011183012.15932-7-go.wigust@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201011183012.15932-1-go.wigust@gmail.com> References: <20201011183012.15932-1-go.wigust@gmail.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/web.scm (nginx-lua-module): New variable. --- gnu/packages/web.scm | 63 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index f7330aa749..d2177d2229 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -560,6 +560,69 @@ documentation.") (patches (append (search-patches "nginx-socket-cloexec.patch") (origin-patches (package-source nginx)))))))) +(define-public nginx-lua-module + (package + (inherit nginx) + (name "nginx-lua-module") + (version "0.10.15") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/openresty/lua-nginx-module") + (commit (string-append "v" version)))) + (file-name (git-file-name "lua-nginx-module" version)) + (sha256 + (base32 + "1j216isp0546hycklbr5wi8mlga5hq170hk7f2sm16sfavlkh5gz")))) + (build-system gnu-build-system) + (inputs + `(("nginx-sources" ,(package-source nginx-socket-cloexec)) + ("luajit" ,luajit) + ,@(package-inputs nginx))) + (arguments + (substitute-keyword-arguments + `(#:configure-flags '("--add-dynamic-module=.") + #:make-flags '("modules") + #:modules ((guix build utils) + (guix build gnu-build-system) + (ice-9 popen) + (ice-9 regex) + (ice-9 textual-ports)) + ,@(package-arguments nginx)) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'unpack-nginx-sources + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (begin + ;; The nginx source code is part of the module’s source. + (format #t "decompressing nginx source code~%") + (let ((tar (assoc-ref inputs "tar")) + (nginx-srcs (assoc-ref inputs "nginx-sources"))) + (invoke (string-append tar "/bin/tar") + "xvf" nginx-srcs "--strip-components=1")) + #t))) + (add-before 'configure 'set-luajit-env + (lambda* (#:key inputs #:allow-other-keys) + (let ((luajit (assoc-ref inputs "luajit"))) + (setenv "LUAJIT_LIB" + (string-append luajit "/lib")) + (setenv "LUAJIT_INC" + (string-append luajit "/include/luajit-2.1")) + #t))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((modules-dir (string-append (assoc-ref outputs "out") "/etc/nginx/modules"))) + (mkdir-p modules-dir) + (copy-file "objs/ngx_http_lua_module.so" + (string-append modules-dir "/ngx_http_lua_module.so")) + #t))) + (delete 'fix-root-dirs) + (delete 'install-man-page))))) + (synopsis "NGINX module for Lua programming language support") + (description "This NGINX module provides a scripting support with Lua +programming language."))) + (define-public lighttpd (package (name "lighttpd") From patchwork Sun Oct 11 18:30:12 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Oleg Pykhalov X-Patchwork-Id: 24574 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 929F027BBEB; Sun, 11 Oct 2020 19:34:00 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id F3AA227BBEA for ; Sun, 11 Oct 2020 19:33:59 +0100 (BST) Received: from localhost ([::1]:35822 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kRgAR-0008QQ-48 for patchwork@mira.cbaines.net; Sun, 11 Oct 2020 14:33:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37464) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kRg7c-00061c-Mn for guix-patches@gnu.org; Sun, 11 Oct 2020 14:31:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:57726) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kRg7c-0008MU-CD for guix-patches@gnu.org; Sun, 11 Oct 2020 14:31:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kRg7c-0007TS-9u for guix-patches@gnu.org; Sun, 11 Oct 2020 14:31:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#43933] [PATCH 8/8] services: nginx: Add lua module. Resent-From: Oleg Pykhalov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 11 Oct 2020 18:31:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43933 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 43933@debbugs.gnu.org Cc: Oleg Pykhalov Received: via spool by 43933-submit@debbugs.gnu.org id=B43933.160244105828670 (code B ref 43933); Sun, 11 Oct 2020 18:31:04 +0000 Received: (at 43933) by debbugs.gnu.org; 11 Oct 2020 18:30:58 +0000 Received: from localhost ([127.0.0.1]:41031 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kRg7R-0007SC-Ov for submit@debbugs.gnu.org; Sun, 11 Oct 2020 14:30:57 -0400 Received: from mail-lf1-f65.google.com ([209.85.167.65]:34517) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kRg7P-0007Qz-5C for 43933@debbugs.gnu.org; Sun, 11 Oct 2020 14:30:51 -0400 Received: by mail-lf1-f65.google.com with SMTP id u8so16068910lff.1 for <43933@debbugs.gnu.org>; Sun, 11 Oct 2020 11:30:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=SE8HIWySTJxpkeV27HL1QEGlhUbP1HLAdeb/ek2jgHw=; b=HSU5OhTOXHIsWtR1Ztth4RdiqjtodT1Yp8h6iPLlrGZtH5I08H95iZp3LTmMTVS2PM 8Ncn1Bfum0FECOpZTL3T/LAbQ1Hhgkb5Bgsnh4snJZ83mVwvKShcGkGq4o93TuYP1N8i IkJXy69jIAM4VpkoYzXiJXCtSNuhDEW/HP0wMMiQxK/fRJGNK9KdUPhWqeGkwl+Ztg0V fW51DyAFXREuS4Rr/ZFA/KhrQOQyWVpCdl0mh/PxpQnVLBFbxkA8+3Rm9wiSHfSjidlA gRsqxRj6dQge4owZByAjvZDTSuPpt+CYtaQOQe6ZaNBKKK1i4rQtp6+LPzT8deJWnMWm 5olQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=SE8HIWySTJxpkeV27HL1QEGlhUbP1HLAdeb/ek2jgHw=; b=YvT+3Vzaebrwu8ddpUw3I6ci4XSly9k5woOt/8g1CKFHRCSS25FXZT+WMl53QRAhGV UXotXzqbhTIOyF93nPGDMpmR9hMiavV8BW8ZfGYDHkm2lQ87J/D952GetqVyKSMLaYpz FZM9FL0lr6FwCqDQQN1CPf+4Cs1q07R3zXgxwzBozov0cF+CCp9jhzXvU4FVJUA1uQza 2u8HVTbpJ6pMkZsdauBPk6rhgyDM+pnh3imJNbbKng+IJTwjPhPLNEpxARga6j/+erWy 8kqZlb2lX1f6cSJAPj0qDFVcipxR7G5rWR5e0YRII+R2TYT95ZOx+Y4GAYBHXW3EQVGg wjcA== X-Gm-Message-State: AOAM530DMfIf3JUdq6l9XSka6ew4xkGiKZPgBw4xuonA7DjPCYutNSjH DGRw+sbbPaqldYzEZRXOxs9hzeSxlic= X-Google-Smtp-Source: ABdhPJzTgR+ZNV7Wc1XXUrBjO28PlBXBifGpDXRgpVwWaaGrPlHu/PdN2dwMsanzu2dc/q/14vujtQ== X-Received: by 2002:ac2:5a05:: with SMTP id q5mr6812584lfn.592.1602441044930; Sun, 11 Oct 2020 11:30:44 -0700 (PDT) Received: from localhost.localdomain (95-55-4-176.dynamic.avangarddsl.ru. [95.55.4.176]) by smtp.gmail.com with ESMTPSA id l188sm2669151lfd.127.2020.10.11.11.30.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 11 Oct 2020 11:30:44 -0700 (PDT) From: Oleg Pykhalov Date: Sun, 11 Oct 2020 21:30:12 +0300 Message-Id: <20201011183012.15932-8-go.wigust@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201011183012.15932-1-go.wigust@gmail.com> References: <20201011183012.15932-1-go.wigust@gmail.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/services/web.scm () [lua-package-path, lua-package-cpath]: New record types. * gnu/services/web.scm (default-nginx-config): Use them. * doc/guix.texi (Web Services): Document this. * doc/guix-cookbook.texi (System Configuration): Document this. --- doc/guix-cookbook.texi | 58 ++++++++++++++++++++++++++++++++++++++++++ doc/guix.texi | 24 ++++++++++++++++- gnu/services/web.scm | 25 ++++++++++++++---- 3 files changed, 101 insertions(+), 6 deletions(-) diff --git a/doc/guix-cookbook.texi b/doc/guix-cookbook.texi index a783c0ae4c..6577c340d9 100644 --- a/doc/guix-cookbook.texi +++ b/doc/guix-cookbook.texi @@ -1352,6 +1352,7 @@ reference. * Running Guix on a Linode Server:: Running Guix on a Linode Server * Setting up a bind mount:: Setting up a bind mount in the file-systems definition. * Getting substitutes from Tor:: Configuring Guix daemon to get substitutes through Tor. +* Setting up NGINX with Lua:: Configuring NGINX web-server to load Lua modules. @end menu @node Customizing the Kernel @@ -2113,6 +2114,63 @@ sudo herd set-http-proxy guix-daemon http://localhost:9250 guix build --substitute-urls=https://bp7o7ckwlewr4slm.onion … @end example +@node Setting up NGINX with Lua +@section Setting up NGINX with Lua +@cindex nginx, lua, openresty, resty + +NGINX could be extended with Lua scripts. + +Guix provides NGINX service with ability to load Lua module and specific +Lua packages, and reply to requests by evaluating Lua scripts. + +The following example demonstrates system definition with configuration +to evaluate @file{index.lua} Lua script on HTTP request to +@uref{http://localhost/hello} endpoint: + +@example +local shell = require "resty.shell" + +local stdin = "" +local timeout = 1000 -- ms +local max_size = 4096 -- byte + +local ok, stdout, stderr, reason, status = + shell.run([[/run/current-system/profile/bin/ls /tmp]], stdin, timeout, max_size) + +ngx.say(stdout) +@end example + +@lisp +(use-modules (gnu)) +(use-service-modules #;… web) +(use-package-modules #;… lua) +(operating-system + ;; … + (services + ;; … + (service nginx-service-type + (nginx-configuration + (modules + (list + (file-append nginx-lua-module "/etc/nginx/modules/ngx_http_lua_module.so"))) + (lua-package-path (list lua-resty-core + lua-resty-lrucache + lua-resty-signal + lua-tablepool + lua-resty-shell)) + (lua-package-cpath (list lua-resty-signal)) + (server-blocks + (list (nginx-server-configuration + (server-name '("localhost")) + (listen '("80")) + (root "/etc") + (locations (list + (nginx-location-configuration + (uri "/hello") + (body (list #~(format #f "content_by_lua_file ~s;" + #$(local-file "index.lua")))))))))))))) +@end lisp + @c ********************************************************************* @node Advanced package management @chapter Advanced package management diff --git a/doc/guix.texi b/doc/guix.texi index 8514dfe86f..c8e5928590 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -21903,7 +21903,29 @@ names of loadable modules, as in this example: (modules (list (file-append nginx-accept-language-module "\ -/etc/nginx/modules/ngx_http_accept_language_module.so"))) +/etc/nginx/modules/ngx_http_accept_language_module.so") + (file-append nginx-lua-module "\ +/etc/nginx/modules/ngx_http_lua_module.so"))) +@end lisp + +@item @code{lua-package-path} (default: @code{'()}) +List of nginx lua packages to load. This should be a list of package +names of loadable lua modules, as in this example: + +@lisp +(lua-package-path (list lua-resty-core + lua-resty-lrucache + lua-resty-signal + lua-tablepool + lua-resty-shell)) +@end lisp + +@item @code{lua-package-cpath} (default: @code{'()}) +List of nginx lua C packages to load. This should be a list of package +names of loadable lua C modules, as in this example: + +@lisp +(lua-package-cpath (list lua-resty-signal)) @end lisp @item @code{global-directives} (default: @code{'((events . ()))}) diff --git a/gnu/services/web.scm b/gnu/services/web.scm index c8ffc19d83..d17faa2b59 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2020 Ricardo Wurmus ;;; Copyright © 2020 Tobias Geerinckx-Rice ;;; Copyright © 2020 Arun Isaac +;;; Copyright © 2020 Oleg Pykhalov ;;; ;;; This file is part of GNU Guix. ;;; @@ -525,6 +526,10 @@ (modules nginx-configuration-modules (default '())) (global-directives nginx-configuration-global-directives (default '((events . ())))) + (lua-package-path nginx-lua-package-path ;list of + (default #f)) + (lua-package-cpath nginx-lua-package-cpath ;list of + (default #f)) (extra-content nginx-configuration-extra-content (default "")) (file nginx-configuration-file ;#f | string | file-like @@ -630,6 +635,8 @@ of index files." server-names-hash-bucket-max-size modules global-directives + lua-package-path + lua-package-cpath extra-content) (apply mixed-text-file "nginx.conf" (flatten @@ -646,11 +653,19 @@ of index files." " scgi_temp_path " run-directory "/scgi_temp;\n" " access_log " log-directory "/access.log;\n" " include " nginx "/share/nginx/conf/mime.types;\n" - (if server-names-hash-bucket-size - (string-append - " server_names_hash_bucket_size " - (number->string server-names-hash-bucket-size) - ";\n") + (if lua-package-path + #~(format #f " lua_package_path ~s;~%" + (string-join (map (lambda (path) + (string-append path "/lib/?.lua")) + '#$lua-package-path) + ";")) + "") + (if lua-package-cpath + #~(format #f " lua_package_cpath ~s;~%" + (string-join (map (lambda (cpath) + (string-append cpath "/lib/lua/?.lua")) + '#$lua-package-cpath) + ";")) "") (if server-names-hash-bucket-max-size (string-append