From patchwork Thu Aug 31 15:03:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruno Victal X-Patchwork-Id: 53345 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 7F27D27BBEA; Thu, 31 Aug 2023 16:05:09 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 09E2227BBE2 for ; Thu, 31 Aug 2023 16:05:08 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qbjE9-0000UD-IR; Thu, 31 Aug 2023 11:04:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qbjE7-0000Tj-HA for guix-patches@gnu.org; Thu, 31 Aug 2023 11:04:55 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qbjE7-0004En-9I for guix-patches@gnu.org; Thu, 31 Aug 2023 11:04:55 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qbjEF-0000Kz-EO for guix-patches@gnu.org; Thu, 31 Aug 2023 11:05:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#64449] [PATCH v2 4/4] gnu: lua-cqueues: Refactor package definition. Resent-From: Bruno Victal Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 31 Aug 2023 15:05:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64449 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 64449@debbugs.gnu.org Cc: Bruno Victal X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.16934942891226 (code B ref -1); Thu, 31 Aug 2023 15:05:03 +0000 Received: (at submit) by debbugs.gnu.org; 31 Aug 2023 15:04:49 +0000 Received: from localhost ([127.0.0.1]:56754 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qbjE0-0000Jc-Q7 for submit@debbugs.gnu.org; Thu, 31 Aug 2023 11:04:49 -0400 Received: from lists.gnu.org ([2001:470:142::17]:38772) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qbjDz-0000J6-3u for submit@debbugs.gnu.org; Thu, 31 Aug 2023 11:04:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qbjDi-0008Sf-Iy for guix-patches@gnu.org; Thu, 31 Aug 2023 11:04:30 -0400 Received: from smtpm3.myservices.hosting ([185.26.105.234]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qbjDe-0004AJ-Or for guix-patches@gnu.org; Thu, 31 Aug 2023 11:04:29 -0400 Received: from mail1.netim.hosting (unknown [185.26.106.173]) by smtpm3.myservices.hosting (Postfix) with ESMTP id 00A8A20D16 for ; Thu, 31 Aug 2023 17:04:03 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mail1.netim.hosting (Postfix) with ESMTP id 3ABAB8009A; Thu, 31 Aug 2023 17:04:03 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mail1.netim.hosting Received: from mail1.netim.hosting ([127.0.0.1]) by localhost (mail1-2.netim.hosting [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id JJ6qdhcXbjCw; Thu, 31 Aug 2023 17:04:01 +0200 (CEST) Received: from guix-nuc.home.arpa (unknown [10.192.1.83]) (Authenticated sender: lumen@makinata.eu) by mail1.netim.hosting (Postfix) with ESMTPSA id 31C5580092; Thu, 31 Aug 2023 17:04:01 +0200 (CEST) From: Bruno Victal Date: Thu, 31 Aug 2023 16:03:42 +0100 Message-Id: <65bbd5893a2056ffc56bb1558a8625a23583e2a9.1693494137.git.mirai@makinata.eu> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: MIME-Version: 1.0 Received-SPF: pass client-ip=185.26.105.234; envelope-from=mirai@makinata.eu; helo=smtpm3.myservices.hosting X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/lua.scm (make-lua-cqueues): Use G-Expressions. Drop obsolete phases. --- gnu/packages/lua.scm | 149 ++++++++++++++++--------------------------- 1 file changed, 56 insertions(+), 93 deletions(-) diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index e68cbc69e8..f0db08fd4f 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -485,108 +485,71 @@ (define-public lua5.2-sec (make-lua-sec "lua5.2-sec" lua-5.2)) (define (make-lua-cqueues name lua lua-ossl) - (package - (name name) - (version "20200726") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/wahern/cqueues") - (commit (string-append "rel-" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "17gwqndlga6gnishgs6wk8cvgwzanddr42yikkg2xd4nanhcg8z9")))) - (build-system gnu-build-system) - (arguments - `(#:modules ((guix build gnu-build-system) - (guix build utils) - (ice-9 string-fun)) - #:make-flags - (let ((out (assoc-ref %outputs "out")) - (lua-api-version ,(version-major+minor (package-version lua)))) - (list ,(string-append "CC=" (cc-for-target)) - (string-append "LUA_APIS=" lua-api-version))) - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'check) - (replace 'install - (lambda* (#:key make-flags outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (apply invoke "make" "install" - (append make-flags - (list (string-append "DESTDIR=" out) - "prefix=")))))) - (add-after 'install 'check - (lambda* (#:key inputs outputs make-flags #:allow-other-keys) - (let* - ((lua-version ,(version-major+minor (package-version lua))) - (env-suffix (if (equal? lua-version "5.1") - "" - (string-append - "_" - (string-replace-substring lua-version "." "_")))) - - (lua-ossl (assoc-ref inputs "lua-ossl")) - (out (assoc-ref outputs "out")) - - (lua-cpath (lambda (p) - (string-append p "/lib/lua/" lua-version "/?.so"))) - (lua-path (lambda (p) - (string-append p "/share/lua/" lua-version "/?.lua")))) - ;; The test suite sets Lua-version-specific search-path variables - ;; when available so we must do the same, as these take - ;; precedence over the generic "LUA_CPATH" and "LUA_PATH" - (setenv (string-append "LUA_CPATH" env-suffix) - (string-append - (string-join (map lua-cpath (list out lua-ossl)) ";") - ";;")) - (setenv (string-append "LUA_PATH" env-suffix) - (string-append - (string-join (map lua-path (list out lua-ossl)) ";") - ";;")) - - ;; Skip regression tests we expect to fail - (with-directory-excursion "regress" - (for-each (lambda (f) - (rename-file f (string-append f ".skip"))) - (append - ;; Regression tests that require network - ;; connectivity + (let ((lua-api-version (version-major+minor (package-version lua)))) + (package + (name name) + (version "20200726") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wahern/cqueues") + (commit (string-append "rel-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "17gwqndlga6gnishgs6wk8cvgwzanddr42yikkg2xd4nanhcg8z9")))) + (build-system gnu-build-system) + (arguments + (list + #:make-flags + #~(list #$(string-append "CC=" (cc-for-target)) + #$(string-append "LUA_APIS=" lua-api-version) + (string-append "prefix=" #$output)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-luajit-tests + (lambda _ + ;; Regression tests that require LuaJIT. + (unless (string-prefix? "luajit" #$(package-name lua)) + (with-directory-excursion "regress" + (for-each delete-file + '("44-resolvers-gc.lua" + "51-join-defunct-thread.lua" + "73-starttls-buffering.lua" + "87-alpn-disappears.lua")))))) + (add-after 'unpack 'remove-networking-tests + (lambda _ + ;; Regression tests that require network connectivity. + (with-directory-excursion "regress" + (for-each delete-file '("22-client-dtls.lua" "30-starttls-completion.lua" "62-noname.lua" - "153-dns-resolvers.lua") - - ;; Regression tests that require LuaJIT - '("44-resolvers-gc.lua" - "51-join-defunct-thread.lua" - "73-starttls-buffering.lua" - "87-alpn-disappears.lua") - - ;; Regression tests that require Lua 5.3 - (if (not (equal? lua-version "5.3")) - '("152-thread-integer-passing.lua") - '())))) - - (apply invoke "make" "check" make-flags))))))) - (native-inputs - (list m4)) - (inputs - (list lua openssl)) - (propagated-inputs - (list lua-ossl)) - (home-page "https://25thandclement.com/~william/projects/cqueues.html") - (synopsis "Event loop for Lua using continuation queues") - (description "The cqueues extension module for Lua implements an event loop + "153-dns-resolvers.lua"))))) + (add-after 'unpack 'remove-lua5.3-test + (lambda _ + ;; Regression tests that require Lua 5.3 or higher. + (unless #$(version>=? lua-api-version "5.3") + (delete-file "regress/152-thread-integer-passing.lua")))) + (delete 'configure)))) + (native-inputs + (list m4)) + (inputs + (list lua openssl)) + (propagated-inputs + (list lua-ossl)) + (home-page "https://25thandclement.com/~william/projects/cqueues.html") + (synopsis "Event loop for Lua using continuation queues") + (description "The cqueues extension module for Lua implements an event loop that operates through the yielding and resumption of coroutines. It is designed to be non-intrusive, composable, and embeddable within existing applications.") - (license license:expat))) + (license license:expat)))) (define-public lua-cqueues (make-lua-cqueues "lua-cqueues" lua lua-ossl)) +;; Note: cqueues principally targets Lua 5.2 and above. +;; (define-public lua5.1-cqueues (make-lua-cqueues "lua5.1-cqueues" lua-5.1 lua5.1-ossl))