lua-resty-string[1] is a Lua module for ngx-lua-module NGINX module
providing "string utilities and common hash functions for ngx_lua and
LuaJIT".

[1]: https://github.com/openresty/lua-resty-string

Signed-off-by: Zurab Kvachadze <[email protected]>
---
 dev-lua/lua-resty-string/Manifest             |  1 +
 ...tring-0.16-explicitly-load-libcrypto.patch | 73 +++++++++++++++++++
 .../lua-resty-string-0.16.ebuild}             | 15 +++-
 .../lua-resty-string}/metadata.xml            |  3 +-
 4 files changed, 87 insertions(+), 5 deletions(-)
 create mode 100644 dev-lua/lua-resty-string/Manifest
 create mode 100644 
dev-lua/lua-resty-string/files/lua-resty-string-0.16-explicitly-load-libcrypto.patch
 copy dev-lua/{lua-resty-lrucache/lua-resty-lrucache-0.15.ebuild => 
lua-resty-string/lua-resty-string-0.16.ebuild} (62%)
 copy {app-pda/usbmuxd => dev-lua/lua-resty-string}/metadata.xml (75%)

diff --git a/dev-lua/lua-resty-string/Manifest 
b/dev-lua/lua-resty-string/Manifest
new file mode 100644
index 000000000000..dece9c7070ec
--- /dev/null
+++ b/dev-lua/lua-resty-string/Manifest
@@ -0,0 +1 @@
+DIST lua-resty-string-0.16.tar.gz 13078 BLAKE2B 
9c0903da36f6309fed47c9f184510c53877d35c86a8b6ba91e008c5010a8b65adec70b7e6911e51cae1121c5c2c64638b3c41117ae4b7949613766d5403fda31
 SHA512 
dff61ebfe42ea055c2d20ab8d54a53a88d67b40dfb87bb97aa91e857a8f95884c2444d50942a6b7e580f503cc98467799b421dc659dc5d1d41c64fb30d303746
diff --git 
a/dev-lua/lua-resty-string/files/lua-resty-string-0.16-explicitly-load-libcrypto.patch
 
b/dev-lua/lua-resty-string/files/lua-resty-string-0.16-explicitly-load-libcrypto.patch
new file mode 100644
index 000000000000..63712785d87b
--- /dev/null
+++ 
b/dev-lua/lua-resty-string/files/lua-resty-string-0.16-explicitly-load-libcrypto.patch
@@ -0,0 +1,73 @@
+From 73c6a2fbb376ee6550b15e2c6487c86c27ed3a71 Mon Sep 17 00:00:00 2001
+From: Zurab Kvachadze <[email protected]>
+Date: Fri, 14 Mar 2025 16:49:04 +0100
+Subject: [PATCH] lib/resty: Explicitly load libcrypto in all crypto-exporting
+ FFI modules
+
+Lua modules in lib/resty provide FFI wrappers for cryptographic OpenSSL
+functions without explicitly loading libcrypto itself. This commit makes
+the modules load the library.
+
+Signed-off-by: Zurab Kvachadze <[email protected]>
+---
+ lib/resty/aes.lua    | 2 ++
+ lib/resty/md5.lua    | 2 ++
+ lib/resty/random.lua | 2 ++
+ lib/resty/sha.lua    | 2 ++
+ 4 files changed, 8 insertions(+)
+
+diff --git a/lib/resty/aes.lua b/lib/resty/aes.lua
+index 377476f..8a9f9a1 100644
+--- a/lib/resty/aes.lua
++++ b/lib/resty/aes.lua
+@@ -11,6 +11,8 @@ local C = ffi.C
+ local setmetatable = setmetatable
+ --local error = error
+ local type = type
++-- Load libcrypto into global namespace.
++_ = ffi.load("crypto", true)
+ 
+ 
+ local _M = { _VERSION = '0.16' }
+diff --git a/lib/resty/md5.lua b/lib/resty/md5.lua
+index 66b3b3e..09ce8c8 100644
+--- a/lib/resty/md5.lua
++++ b/lib/resty/md5.lua
+@@ -7,6 +7,8 @@ local ffi_str = ffi.string
+ local C = ffi.C
+ local setmetatable = setmetatable
+ --local error = error
++-- Load libcrypto into global namespace.
++_ = ffi.load("crypto", true)
+ 
+ 
+ local _M = { _VERSION = '0.16' }
+diff --git a/lib/resty/random.lua b/lib/resty/random.lua
+index 153b1f3..673bf40 100644
+--- a/lib/resty/random.lua
++++ b/lib/resty/random.lua
+@@ -7,6 +7,8 @@ local ffi_str = ffi.string
+ local C = ffi.C
+ --local setmetatable = setmetatable
+ --local error = error
++-- Load libcrypto into global namespace.
++_ = ffi.load("crypto", true)
+ 
+ 
+ local _M = { _VERSION = '0.16' }
+diff --git a/lib/resty/sha.lua b/lib/resty/sha.lua
+index ce4e50a..b631b1f 100644
+--- a/lib/resty/sha.lua
++++ b/lib/resty/sha.lua
+@@ -2,6 +2,8 @@
+ 
+ 
+ local ffi = require "ffi"
++-- Load libcrypto into global namespace.
++_ = ffi.load("crypto", true)
+ 
+ 
+ local _M = { _VERSION = '0.16' }
+-- 
+2.45.3
+
diff --git a/dev-lua/lua-resty-lrucache/lua-resty-lrucache-0.15.ebuild 
b/dev-lua/lua-resty-string/lua-resty-string-0.16.ebuild
similarity index 62%
copy from dev-lua/lua-resty-lrucache/lua-resty-lrucache-0.15.ebuild
copy to dev-lua/lua-resty-string/lua-resty-string-0.16.ebuild
index f85dbf3f9a66..e960aef0e7a6 100644
--- a/dev-lua/lua-resty-lrucache/lua-resty-lrucache-0.15.ebuild
+++ b/dev-lua/lua-resty-string/lua-resty-string-0.16.ebuild
@@ -7,10 +7,10 @@ EAPI=8
 LUA_COMPAT=( luajit )
 inherit lua-single
 
-DESCRIPTION="Lua-land LRU Cache based on LuaJIT FFI"
-HOMEPAGE="https://github.com/openresty/lua-resty-lrucache";
+DESCRIPTION="String utilities and common hash functions for the ngx-lua-module 
NGINX module"
+HOMEPAGE="https://github.com/openresty/lua-resty-string";
 SRC_URI="
-       
https://github.com/openresty/lua-resty-lrucache/archive/refs/tags/v${PV}.tar.gz 
-> ${P}.tar.gz
+       
https://github.com/openresty/lua-resty-string/archive/refs/tags/v${PV}.tar.gz 
-> ${P}.tar.gz
 "
 
 LICENSE="BSD-2"
@@ -22,9 +22,16 @@ RESTRICT="test"
 REQUIRED_USE="${LUA_REQUIRED_USE}"
 
 BDEPEND="virtual/pkgconfig"
-DEPEND="${LUA_DEPS}"
+DEPEND="
+       ${LUA_DEPS}
+       dev-libs/openssl:=
+"
 RDEPEND="${DEPEND}"
 
+PATCHES=(
+       "${FILESDIR}/${PN}-0.16-explicitly-load-libcrypto.patch"
+)
+
 src_configure() {
        # The directory where to Lua files are to be installed, used by the 
build
        # system.
diff --git a/app-pda/usbmuxd/metadata.xml 
b/dev-lua/lua-resty-string/metadata.xml
similarity index 75%
copy from app-pda/usbmuxd/metadata.xml
copy to dev-lua/lua-resty-string/metadata.xml
index d8e789b30263..a65b3294ea75 100644
--- a/app-pda/usbmuxd/metadata.xml
+++ b/dev-lua/lua-resty-string/metadata.xml
@@ -10,6 +10,7 @@
                <name>Proxy Maintainers</name>
        </maintainer>
        <upstream>
-               <remote-id type="github">libimobiledevice/usbmuxd</remote-id>
+               
<bugs-to>https://github.com/openresty/lua-resty-string/issues</bugs-to>
+               <remote-id type="github">openresty/lua-resty-string</remote-id>
        </upstream>
 </pkgmetadata>
-- 
2.49.0


Reply via email to