Subject: bug#65504: closed (Re: [bug#65504] [PATCH] gnu: emilua: Update to 0.4.3)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 13 Sep 2023 08:41:02 +0000

Your bug report

#65504: [PATCH] gnu: emilua: Update to 0.4.3

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
65504: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=65504
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#65504] [PATCH] gnu: emilua: Update to 0.4.3
From: Christopher Baines <[email-masked]>
To: Valter Sage <[email-masked]>
Cc: [email-masked]
Date: Wed, 13 Sep 2023 09:35:30 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Valter,

I started looking at this as it had passed QA, although while it
arguably hadn't made the situation worse, the package looks to have been
failing to build before, and it was still failing to build with these
changes.

guix lint also was reporting a load of new issues:

→ ./pre-inst-env guix lint emilua
gnu/packages/lua.scm:1188:8: [email-masked]: label 'fmt-8' does not match package name 'fmt'
gnu/packages/lua.scm:1188:8: [email-masked]: label 'gcc-12' does not match package name 'gcc'
gnu/packages/lua.scm:1151:8: [email-masked]: invalid phase clause
gnu/packages/lua.scm:1151:3: [email-masked]: tabulation on line 1151, column 3
gnu/packages/lua.scm:1155:11: [email-masked]: tabulation on line 1155, column 11
gnu/packages/lua.scm:1156:11: [email-masked]: tabulation on line 1156, column 11
gnu/packages/lua.scm:1157:11: [email-masked]: tabulation on line 1157, column 11
gnu/packages/lua.scm:1161:0: [email-masked]: trailing white space on line 1161
gnu/packages/lua.scm:1166:0: [email-masked]: line 1166 is way too long (95 characters)
gnu/packages/lua.scm:1167:0: [email-masked]: trailing white space on line 1167
gnu/packages/lua.scm:1174:6: [email-masked]: tabulation on line 1174, column 6
gnu/packages/lua.scm:1175:6: [email-masked]: tabulation on line 1175, column 6
gnu/packages/lua.scm:1176:6: [email-masked]: tabulation on line 1176, column 6
gnu/packages/lua.scm:1179:0: [email-masked]: trailing white space on line 1179
gnu/packages/lua.scm:1188:3: [email-masked]: tabulation on line 1188, column 3
gnu/packages/lua.scm:1196:0: [email-masked]: parentheses feel lonely, move to the previous or next line
gnu/packages/lua.scm:1203:25: [email-masked]: tabulation on line 1203, column 25
gnu/packages/lua.scm:1204:0: [email-masked]: trailing white space on line 1204
gnu/packages/lua.scm:1204:0: [email-masked]: line 1204 is way too long (137 characters)
gnu/packages/lua.scm:1205:0: [email-masked]: trailing white space on line 1205
gnu/packages/lua.scm:1206:0: [email-masked]: tabulation on line 1206, column 0
gnu/packages/lua.scm:1207:0: [email-masked]: tabulation on line 1207, column 0
gnu/packages/lua.scm:1208:0: [email-masked]: tabulation on line 1208, column 0
gnu/packages/lua.scm:1209:0: [email-masked]: tabulation on line 1209, column 0
gnu/packages/lua.scm:1210:0: [email-masked]: tabulation on line 1210, column 0
gnu/packages/lua.scm:1211:0: [email-masked]: tabulation on line 1211, column 0
gnu/packages/lua.scm:1212:0: [email-masked]: tabulation on line 1212, column 0
gnu/packages/lua.scm:1213:0: [email-masked]: tabulation on line 1213, column 0
gnu/packages/lua.scm:1214:0: [email-masked]: tabulation on line 1214, column 0
gnu/packages/lua.scm:1215:0: [email-masked]: tabulation on line 1215, column 0

I've now gone through and fixed all these, the "invalid build clause" as
mentioned by guix lint was what was causing the package to fail to
build. Luckily, I also saw the patch posted to #65515, so I've merged
those changes in here.

Other small tweaks I made include using with-directory-excursion in the
arguments, and removing gawk as a native-input (I think the build system
provides gawk).

I've pushed this to master as 10bc07671e2a3a699d4f56e405f50d766323319a.

Chris

Subject: [PATCH] gnu: emilua: Update to 0.4.3
From: Valter Sage <[email-masked]>
To: [email-masked]
Date: Thu, 24 Aug 2023 08:15:30 -0300
List-Id: <debbugs-submit.debbugs.gnu.org>

From 4417bd5f9a945a003417d46739454e4c0049a981 Mon Sep 17 00:00:00 2001
From: Valter Nazianzeno <[email-masked]>
Date: Thu, 24 Aug 2023 08:08:25 -0300
Subject: [PATCH] gnu: emilua: Update to 0.4.3

---
 gnu/packages/lua.scm | 92 +++++++++++++++++++++++++++++++-------------
 1 file changed, 66 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index 405f8511cb..9d194a7928 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -19,6 +19,7 @@
 ;;; Copyright © 2022 Luis Henrique Gomes Higino <[email-masked]>
 ;;; Copyright © 2022 Leo Nikkilä <[email-masked]>
 ;;; Copyright © 2023 Yovan Naumovski <[email-masked]>
+;;; Copyright © 2023 Valter Nazianzeno <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -64,6 +65,11 @@ (define-module (gnu packages lua)
   #:use-module (gnu packages vim)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
+  #:use-module (gnu packages rdf)
+  #:use-module (gnu packages gperf)
+  #:use-module (gnu packages gawk)
+  #:use-module (gnu packages gcc)
+  #:use-module (gnu packages linux)
   #:use-module (srfi srfi-1))
 
 (define-public lua
@@ -1130,49 +1136,83 @@ (define-public lua-resty-shell
 (define-public emilua
   (package
    (name "emilua")
-   (version "0.3.2")
+   (version "0.4.3")
    (source (origin
             (method git-fetch)
             (uri (git-reference
                   (url "https://gitlab.com/emilua/emilua.git")
-                  (commit (string-append "v" version))
-                  ;; Current version requires Trial.Protocol and the HTTP lib
-                  ;; developed as part of GSoC 2014 for Boost, and these are
-                  ;; dependencies unlikely to be "unbundled" in future releases.
-                  (recursive? #t)))
+                  (commit (string-append "v" version))))
             (file-name (git-file-name name version))
             (sha256
              (base32
-              "1999bgrh52124a5g4qizav3x257ff2brjr855srpm1jv1nxzbygv"))))
+              "1dwag2pyqc0g86rris4w4fzafmz9a6kiqd47vdq7hl3a1lyi74mx"))))
    (build-system meson-build-system)
    (arguments
-    `(;; Tests are disabled for now due to an issue that affecs guix:
-      ;; <https://gitlab.com/emilua/emilua/-/issues/22>
+   	`(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack
+           (lambda* (#:key inputs #:allow-other-keys)
+           	 (use-modules (guix build utils))
+           	 (substitute* "src/emilua_gperf.awk" (("/usr/bin/env") (which "env")))
+           	 (substitute* "src/system.cpp" (("P_PIDFD") "P_PID"))
+             (copy-recursively (assoc-ref inputs "emilua-http")
+                               "emilua-http")
+             (copy-recursively (assoc-ref inputs "trial-protocol")
+                               "trial-protocol")                              
+             (chdir "subprojects")
+             (symlink "../emilua-http" "emilua-http")
+             (copy-file "packagefiles/emilua-http/meson.build" "emilua-http/meson.build")
+             (symlink "../trial-protocol" "trial-protocol")
+             (copy-file "packagefiles/trial.protocol/meson.build" "trial-protocol/meson.build")
+             (chdir "../")                                           
+             #t)))
       #:configure-flags
+      ;; Tests are disabled for now due to an issue that affecs guix:
+      ;; <https://gitlab.com/emilua/emilua/-/issues/22>
+      ;; Linux namespaces are disabled for now due to conflict with some packages in guix.
       (list "-Denable_http=true"
+      		"-Denable_file_io=true"
+      		"-Denable_io_uring=true"
+      		"-Denable_linux_namespaces=false"
             "-Denable_tests=false"
             "-Denable_manpages=false"
-            "-Dversion_suffix=-guix1")))
+            "-Dversion_suffix=-guix1")))            
    (native-inputs
     (list luajit-lua52-openresty
-          pkg-config
           re2c
-          xxd))
+          gperf
+          gawk
+          xxd
+          pkg-config))
    (inputs
-    (list boost
-          boost-static
-          fmt-7
-          ;; LuaJIT has a 2GiB addressing limit[1] that has been fixed on OpenResty
-          ;; fork. Emilua is severely affected by this limit, so the upstream package
-          ;; is avoided. Emilua also depends on the -DLUAJIT_ENABLE_LUA52COMPAT
-          ;; configure flag[2] for some features to work (e.g. __pairs on HTTP
-          ;; headers).
-          ;;
-          ;; [1] <http://hacksoflife.blogspot.com/2012/12/integrating-luajit-with-x-plane-64-bit.html>
-          ;; [2] <http://luajit.org/extensions.html#lua52>
-          luajit-lua52-openresty
-          ncurses
-          openssl))
+   	`(("emilua-http" ,(origin
+                        (method git-fetch)
+                        (uri (git-reference
+                              (url "https://github.com/BoostGSoC14/boost.http")
+                              (commit "93ae527c89ffc517862e1f5f54c8a257278f1195")))
+                        (sha256
+                         (base32
+                         "0jm7fw0cjd3s9zkkvyh6mcj6z32hcy7l9bszv74l92qk15ivvp9h")))
+                         )
+       ("trial-protocol" ,(origin
+                           (method git-fetch)
+                           (uri (git-reference
+                                 (url "https://github.com/breese/trial.protocol")
+                                 (commit "79149f604a49b8dfec57857ca28aaf508069b669")))
+                           (sha256
+                         	(base32
+                             "0k42i5b4v3zz5x0r3dssiymgmn2x8zg4fzdksya9aggxgigippsx"))))                                                  
+    ("boost" ,boost)     
+	("boost-static" ,boost-static)
+	("fmt-8" ,fmt-8)
+	("gcc-12" ,gcc-12)
+	("luajit-lua52-openresty" ,luajit-lua52-openresty)
+	("ncurses" ,ncurses)
+	("serd" ,serd)
+	("sord" ,sord)
+	("libcap" ,libcap)
+	("liburing" ,liburing)
+	("openssl" ,openssl)))
    (native-search-paths
     (list
      (search-path-specification

base-commit: 39fa1ef033fda82cb1d122e0d1675b51acb1db34
-- 
2.41.0