dev-lua/lua-cjson: switch to fork, bump to 2.1.0.6

Openresty fork is maintained, has more features.

Package-Manager: Portage-2.3.60, Repoman-2.3.12
Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
This commit is contained in:
Georgy Yakovlev
2019-02-12 15:41:24 -08:00
parent d768d5004f
commit 49c1855687
4 changed files with 100 additions and 1 deletions
+1
View File
@@ -1 +1,2 @@
DIST lua-cjson-2.1.0.6.tar.gz 76820 BLAKE2B 1056fefc8d9c802e068e1e7801cc1eb3a0279371ab72e4e8517e22ad68224dd4892f4e4cbfe0a407af71f1008affded41d7bcc05d89c4ddb0c437d93d67708a7 SHA512 71d25f4ec82641d56e33e13c0ecd8c60186b3c4faf3d30de81706d1305d4e61691a1e84210462942674e50ca2ff19e126cb04025d9645d5d26ef3b3b0e46f64b
DIST lua-cjson-2.1.0.tar.gz 86024 BLAKE2B 21dbf84cda2c973088dc9ba165351f3af35d4f604ef465abd91f37807a6c037f612f36c87b9458abef9afa06e1738e933fcce7be9edd2f9a5e301985f413a1db SHA512 4343513b942f2ed98dc1ea6d7e852303bc1263f8acc5c70c8d674aec7adfc8279c5af7d5173a417b6f9a74543b8f6c8f98742d002f4f75832bbf23bb5a30ad2f
@@ -0,0 +1,47 @@
From 75678e4b0d1b25fc15f0399f1496db6e0287b72f Mon Sep 17 00:00:00 2001
From: Georgy Yakovlev <gyakovlev@gentoo.org>
Date: Tue, 12 Feb 2019 13:32:38 -0800
Subject: [PATCH] Fix Encode sparse array as object test
Port of this commit from upstream
https://github.com/mpx/lua-cjson/commit/98eb1d01e952fc60a36f47846f905b86c92a4f58
---
tests/test.lua | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/tests/test.lua b/tests/test.lua
index d1bf7e4..be5e19c 100755
--- a/tests/test.lua
+++ b/tests/test.lua
@@ -10,6 +10,17 @@ local json = require "cjson"
local json_safe = require "cjson.safe"
local util = require "cjson.util"
+local function json_encode_output_type(value)
+ local text = json.encode(value)
+ if string.match(text, "{.*}") then
+ return "object"
+ elseif string.match(text, "%[.*%]") then
+ return "array"
+ else
+ return "scalar"
+ end
+end
+
local function gen_raw_octets()
local chars = {}
for i = 0, 255 do chars[i + 1] = string.char(i) end
@@ -292,8 +303,8 @@ local cjson_tests = {
json.encode, { { [1] = "one", [4] = "sparse test" } },
true, { '["one",null,null,"sparse test"]' } },
{ "Encode sparse array as object",
- json.encode, { { [1] = "one", [5] = "sparse test" } },
- true, { '{"5":"sparse test","1":"one"}' } },
+ json_encode_output_type, { { [1] = "one", [5] = "sparse test" } },
+ true, { 'object' } },
{ "Encode table with numeric string key as object",
json.encode, { { ["2"] = "numeric string key test" } },
true, { '{"2":"numeric string key test"}' } },
--
2.20.1
@@ -0,0 +1,44 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake-utils
DESCRIPTION="A fast JSON encoding/parsing module for Lua"
HOMEPAGE="https://www.kyne.com.au/~mark/software/lua-cjson.php https://github.com/openresty/lua-cjson"
SRC_URI="https://github.com/openresty/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="+internal-fpconv luajit test +threads"
REQUIRED_USE="threads? ( internal-fpconv )"
RDEPEND=">=dev-lang/lua-5.1:0"
DEPEND="${RDEPEND}"
BDEPEND="test? ( dev-lang/perl )"
DOCS=( NEWS README.md THANKS manual.txt performance.txt )
PATCHES=(
"${FILESDIR}"/sparse_array_test_fix.patch
)
src_configure() {
local mycmakeargs=(
-DUSE_INTERNAL_FPCONV="$(usex internal-fpconv)"
-DMULTIPLE_THREADS="$(usex threads)"
)
cmake-utils_src_configure
}
src_test() {
cd tests || die
ln -s "${BUILD_DIR}"/cjson.so ./ || die
ln -s "${S}"/lua/cjson ./ || die
./genutf8.pl || die
./test.lua || die
}
+8 -1
View File
@@ -5,7 +5,14 @@
<email>gyakovlev@gentoo.org</email>
<name>Georgy Yakovlev</name>
</maintainer>
<longdescription lang="en">
Fork of mpx/lua-cjson is included in the OpenResty bundle and includes a few bugfixes and improvements,
especially to facilitate the encoding of empty tables as JSON Arrays.
</longdescription>
<use>
<flag name="internal-fpconv">Enable internal number conversion routines, can increase overall performance by up to 50%</flag>
</use>
<upstream>
<remote-id type="github">mpx/lua-cjson</remote-id>
<remote-id type="github">openresty/lua-cjson</remote-id>
</upstream>
</pkgmetadata>