summaryrefslogtreecommitdiff
path: root/dev-lua
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lua')
-rw-r--r--dev-lua/lua-resty-string/Manifest1
-rw-r--r--dev-lua/lua-resty-string/files/lua-resty-string-0.16-explicitly-load-libcrypto.patch73
-rw-r--r--dev-lua/lua-resty-string/lua-resty-string-0.16.ebuild40
-rw-r--r--dev-lua/lua-resty-string/metadata.xml16
4 files changed, 130 insertions, 0 deletions
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 <zurabid2016@gmail.com>
+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 <zurabid2016@gmail.com>
+---
+ 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-string/lua-resty-string-0.16.ebuild b/dev-lua/lua-resty-string/lua-resty-string-0.16.ebuild
new file mode 100644
index 000000000000..e960aef0e7a6
--- /dev/null
+++ b/dev-lua/lua-resty-string/lua-resty-string-0.16.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Openresty only ever supports luajit.
+LUA_COMPAT=( luajit )
+inherit lua-single
+
+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-string/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+# Tests require replicating much of nginx-module_src_test() in each
+# dev-lua/lua-resty-* ebuild.
+RESTRICT="test"
+
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+BDEPEND="virtual/pkgconfig"
+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.
+ export LUA_LIB_DIR="$(lua_get_lmod_dir)"
+ default
+}
diff --git a/dev-lua/lua-resty-string/metadata.xml b/dev-lua/lua-resty-string/metadata.xml
new file mode 100644
index 000000000000..a65b3294ea75
--- /dev/null
+++ b/dev-lua/lua-resty-string/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>zurabid2016@gmail.com</email>
+ <name>Zurab Kvachadze</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/openresty/lua-resty-string/issues</bugs-to>
+ <remote-id type="github">openresty/lua-resty-string</remote-id>
+ </upstream>
+</pkgmetadata>