mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-16 01:16:59 +02:00
dev-libs/jansson: Sync with gentoo
It's from gentoo commit 5cf776af229d8f55d1daf955e14d2280a1c61429.
This commit is contained in:
parent
cde11b3221
commit
ebfcca77e2
@ -1,2 +1,2 @@
|
||||
DIST jansson-2.12.tar.gz 489154 BLAKE2B cf6bc6d03daba921ec5e033bf57ff0055741cc935adb14d5d4a5f04056fa93c292bf88367db071ef7bb32fbc5d2d6f5f2ce658815a17939bd38ed5c0676ad091 SHA512 e40bdafdfa1fa663f71e00c06d7bfc98cff4ed3581a147894e5272e50fa5f9b9a7af6aaca41ff423a2ddd2554a192b36efcc32f6a3c98c727e9f819b955357cb
|
||||
DIST jansson-2.13.1.tar.gz 531924 BLAKE2B e627bd2ba69bf01b053ff13dee903056db86999f774d6863517e67cef7dc9ddcaa747f2edca9de86bd83f37940a394ac9907f7d58069607ee529af08d8514d57 SHA512 e32be6665e41cf1763608c2f1ac4ce0824d4d7ffa5f4a5824cefde279250fdd399d49ba93d8894e16a473731f629b846554654347f027ca9a0a96ed047f10192
|
||||
DIST jansson-2.14.tar.gz 535618 BLAKE2B eb514ff222444d4c0d1ef6b99150e3e43bd4d7a1bec3d66e5ece8bc59ac19a0898d9eb061cacad52afda7fe172ec6df46b5a90952707422f56daae53f82c9427 SHA512 5a592776c7ba8c0b1f5efaf813f77948bbc4bda168a72d221d176af0cf61038e26c1f30795433be10e2fc5069d5763d11852a8574774906a9f8ad261ac30109c
|
||||
|
269
sdk_container/src/third_party/portage-stable/dev-libs/jansson/files/jansson-2.13.1-sphinx3.patch
vendored
Normal file
269
sdk_container/src/third_party/portage-stable/dev-libs/jansson/files/jansson-2.13.1-sphinx3.patch
vendored
Normal file
@ -0,0 +1,269 @@
|
||||
Rebase pull request #543 onto v2.13.1
|
||||
|
||||
Allows jansson documentation to compile with Sphinx-3.0
|
||||
|
||||
Squashed commit messages below:
|
||||
|
||||
|
||||
pick 798d40c doc: convert refcounting directive to a class
|
||||
|
||||
Directive functions are no longer supported in Sphinx-3.0
|
||||
but directive classes have been supported since early 1.x
|
||||
|
||||
|
||||
pick 9431889 doc: do not use references for standard C types or file names
|
||||
|
||||
Use double-backtick quoting instead. It has the same effect
|
||||
(because these links had nowhere to link to) but it does not
|
||||
result in loud warnings about broken references by default with Sphinx-3.x.
|
||||
|
||||
|
||||
pick c329fd7 doc: add return types for function-like macros
|
||||
|
||||
The Sphinx-3.0 c:function:: directive requires the return type.
|
||||
|
||||
Sphinx-3.0 also adds function-like macro support to the c:macro::
|
||||
directive, which Sphinx-1.x and Sphinx-2.x do not support, but it
|
||||
is probably a good idea to keep compatibility with slightly older
|
||||
Sphinx for now.
|
||||
|
||||
diff --git a/CHANGES b/CHANGES
|
||||
index a374a86..256fde1 100644
|
||||
--- a/CHANGES
|
||||
+++ b/CHANGES
|
||||
@@ -8,7 +8,7 @@ Released 2020-05-07
|
||||
- Include `jansson_version_str()` and `jansson_version_cmp()` in
|
||||
shared library. (#534)
|
||||
|
||||
- - Include `scripts/` in tarball. (#535)
|
||||
+ - Include ``scripts/`` in tarball. (#535)
|
||||
|
||||
|
||||
Version 2.13
|
||||
@@ -127,7 +127,7 @@ Released 2018-02-09
|
||||
|
||||
- Work around gcc's -Wimplicit-fallthrough.
|
||||
|
||||
- - Fix CMake detection of `sys/types.h` header (#375).
|
||||
+ - Fix CMake detection of ``sys/types.h`` header (#375).
|
||||
|
||||
- Fix `jansson.pc` generated by CMake to be more consistent with the one
|
||||
generated using GNU Autotools (#368).
|
||||
diff --git a/doc/apiref.rst b/doc/apiref.rst
|
||||
index c3a814f..94c5726 100644
|
||||
--- a/doc/apiref.rst
|
||||
+++ b/doc/apiref.rst
|
||||
@@ -145,33 +145,33 @@ Type
|
||||
.. function:: int json_typeof(const json_t *json)
|
||||
|
||||
Return the type of the JSON value (a :type:`json_type` cast to
|
||||
- :type:`int`). *json* MUST NOT be *NULL*. This function is actually
|
||||
+ ``int``). *json* MUST NOT be *NULL*. This function is actually
|
||||
implemented as a macro for speed.
|
||||
|
||||
-.. function:: json_is_object(const json_t *json)
|
||||
- json_is_array(const json_t *json)
|
||||
- json_is_string(const json_t *json)
|
||||
- json_is_integer(const json_t *json)
|
||||
- json_is_real(const json_t *json)
|
||||
- json_is_true(const json_t *json)
|
||||
- json_is_false(const json_t *json)
|
||||
- json_is_null(const json_t *json)
|
||||
+.. function:: int json_is_object(const json_t *json)
|
||||
+ int json_is_array(const json_t *json)
|
||||
+ int json_is_string(const json_t *json)
|
||||
+ int json_is_integer(const json_t *json)
|
||||
+ int json_is_real(const json_t *json)
|
||||
+ int json_is_true(const json_t *json)
|
||||
+ int json_is_false(const json_t *json)
|
||||
+ int json_is_null(const json_t *json)
|
||||
|
||||
These functions (actually macros) return true (non-zero) for values
|
||||
of the given type, and false (zero) for values of other types and
|
||||
for *NULL*.
|
||||
|
||||
-.. function:: json_is_number(const json_t *json)
|
||||
+.. function:: int json_is_number(const json_t *json)
|
||||
|
||||
Returns true for values of types ``JSON_INTEGER`` and
|
||||
``JSON_REAL``, and false for other types and for *NULL*.
|
||||
|
||||
-.. function:: json_is_boolean(const json_t *json)
|
||||
+.. function:: int json_is_boolean(const json_t *json)
|
||||
|
||||
Returns true for types ``JSON_TRUE`` and ``JSON_FALSE``, and false
|
||||
for values of other types and for *NULL*.
|
||||
|
||||
-.. function:: json_boolean_value(const json_t *json)
|
||||
+.. function:: int json_boolean_value(const json_t *json)
|
||||
|
||||
Alias of :func:`json_is_true()`, i.e. returns 1 for ``JSON_TRUE``
|
||||
and 0 otherwise.
|
||||
@@ -594,7 +594,7 @@ A JSON array is an ordered collection of other JSON values.
|
||||
Appends all elements in *other_array* to the end of *array*.
|
||||
Returns 0 on success and -1 on error.
|
||||
|
||||
-.. function:: json_array_foreach(array, index, value)
|
||||
+.. function:: void json_array_foreach(array, index, value)
|
||||
|
||||
Iterate over every element of ``array``, running the block
|
||||
of code that follows each time with the proper values set to
|
||||
@@ -732,11 +732,11 @@ allowed in object keys.
|
||||
recursively merged with the corresponding values in *object* if they are also
|
||||
objects, instead of overwriting them. Returns 0 on success or -1 on error.
|
||||
|
||||
-.. function:: json_object_foreach(object, key, value)
|
||||
+.. function:: void json_object_foreach(object, key, value)
|
||||
|
||||
Iterate over every key-value pair of ``object``, running the block
|
||||
of code that follows each time with the proper values set to
|
||||
- variables ``key`` and ``value``, of types :type:`const char *` and
|
||||
+ variables ``key`` and ``value``, of types ``const char *`` and
|
||||
:type:`json_t *` respectively. Example::
|
||||
|
||||
/* obj is a JSON object */
|
||||
@@ -764,7 +764,7 @@ allowed in object keys.
|
||||
.. versionadded:: 2.3
|
||||
|
||||
|
||||
-.. function:: json_object_foreach_safe(object, tmp, key, value)
|
||||
+.. function:: void json_object_foreach_safe(object, tmp, key, value)
|
||||
|
||||
Like :func:`json_object_foreach()`, but it's safe to call
|
||||
``json_object_del(object, key)`` during iteration. You need to pass
|
||||
@@ -1488,17 +1488,17 @@ arguments.
|
||||
Output a JSON null value. No argument is consumed.
|
||||
|
||||
``b`` (boolean) [int]
|
||||
- Convert a C :type:`int` to JSON boolean value. Zero is converted
|
||||
+ Convert a C ``int`` to JSON boolean value. Zero is converted
|
||||
to ``false`` and non-zero to ``true``.
|
||||
|
||||
``i`` (integer) [int]
|
||||
- Convert a C :type:`int` to JSON integer.
|
||||
+ Convert a C ``int`` to JSON integer.
|
||||
|
||||
``I`` (integer) [json_int_t]
|
||||
Convert a C :type:`json_int_t` to JSON integer.
|
||||
|
||||
``f`` (real) [double]
|
||||
- Convert a C :type:`double` to JSON real.
|
||||
+ Convert a C ``double`` to JSON real.
|
||||
|
||||
``o`` (any value) [json_t \*]
|
||||
Output any given JSON value as-is. If the value is added to an
|
||||
@@ -1625,20 +1625,20 @@ type whose address should be passed.
|
||||
Expect a JSON null value. Nothing is extracted.
|
||||
|
||||
``b`` (boolean) [int]
|
||||
- Convert a JSON boolean value to a C :type:`int`, so that ``true``
|
||||
+ Convert a JSON boolean value to a C ``int``, so that ``true``
|
||||
is converted to 1 and ``false`` to 0.
|
||||
|
||||
``i`` (integer) [int]
|
||||
- Convert a JSON integer to C :type:`int`.
|
||||
+ Convert a JSON integer to C ``int``.
|
||||
|
||||
``I`` (integer) [json_int_t]
|
||||
Convert a JSON integer to C :type:`json_int_t`.
|
||||
|
||||
``f`` (real) [double]
|
||||
- Convert a JSON real to C :type:`double`.
|
||||
+ Convert a JSON real to C ``double``.
|
||||
|
||||
``F`` (integer or real) [double]
|
||||
- Convert a JSON number (integer or real) to C :type:`double`.
|
||||
+ Convert a JSON number (integer or real) to C ``double``.
|
||||
|
||||
``o`` (any value) [json_t \*]
|
||||
Store a JSON value with no conversion to a :type:`json_t` pointer.
|
||||
diff --git a/doc/ext/refcounting.py b/doc/ext/refcounting.py
|
||||
index bba2684..e72c481 100644
|
||||
--- a/doc/ext/refcounting.py
|
||||
+++ b/doc/ext/refcounting.py
|
||||
@@ -24,8 +24,8 @@
|
||||
"""
|
||||
|
||||
from docutils import nodes
|
||||
+from docutils.parsers.rst import Directive
|
||||
|
||||
-class refcounting(nodes.emphasis): pass
|
||||
|
||||
def visit(self, node):
|
||||
self.visit_emphasis(node)
|
||||
@@ -40,16 +40,25 @@ def html_depart(self, node):
|
||||
self.body.append('</em>')
|
||||
|
||||
|
||||
-def refcounting_directive(name, arguments, options, content, lineno,
|
||||
- content_offset, block_text, state, state_machine):
|
||||
- if arguments[0] == 'borrow':
|
||||
- text = 'Return value: Borrowed reference.'
|
||||
- elif arguments[0] == 'new':
|
||||
- text = 'Return value: New reference.'
|
||||
- else:
|
||||
- raise Error('Valid arguments: new, borrow')
|
||||
+class refcounting(nodes.emphasis):
|
||||
+ pass
|
||||
+
|
||||
+class refcounting_directive(Directive):
|
||||
+ has_content = False
|
||||
+ required_arguments = 1
|
||||
+ optional_arguments = 0
|
||||
+ final_argument_whitespace = False
|
||||
+
|
||||
+ def run(self):
|
||||
+ if self.arguments[0] == 'borrow':
|
||||
+ text = 'Return value: Borrowed reference.'
|
||||
+ elif self.arguments[0] == 'new':
|
||||
+ text = 'Return value: New reference.'
|
||||
+ else:
|
||||
+ raise Error('Valid arguments: new, borrow')
|
||||
+
|
||||
+ return [refcounting(text, text)]
|
||||
|
||||
- return [refcounting(text, text)]
|
||||
|
||||
def setup(app):
|
||||
app.add_node(refcounting,
|
||||
@@ -57,4 +66,4 @@ def setup(app):
|
||||
latex=(visit, depart),
|
||||
text=(visit, depart),
|
||||
man=(visit, depart))
|
||||
- app.add_directive('refcounting', refcounting_directive, 0, (1, 0, 0))
|
||||
+ app.add_directive('refcounting', refcounting_directive)
|
||||
diff --git a/doc/upgrading.rst b/doc/upgrading.rst
|
||||
index 9b49046..94ff7de 100644
|
||||
--- a/doc/upgrading.rst
|
||||
+++ b/doc/upgrading.rst
|
||||
@@ -47,13 +47,13 @@ List of Incompatible Changes
|
||||
|
||||
**Underlying type of JSON integers**
|
||||
The underlying C type of JSON integers has been changed from
|
||||
- :type:`int` to the widest available signed integer type, i.e.
|
||||
- :type:`long long` or :type:`long`, depending on whether
|
||||
- :type:`long long` is supported on your system or not. This makes
|
||||
+ ``int`` to the widest available signed integer type, i.e.
|
||||
+ ``long long`` or ``long``, depending on whether
|
||||
+ ``long long`` is supported on your system or not. This makes
|
||||
the whole 64-bit integer range available on most modern systems.
|
||||
|
||||
``jansson.h`` has a typedef :type:`json_int_t` to the underlying
|
||||
- integer type. :type:`int` should still be used in most cases when
|
||||
+ integer type. ``int`` should still be used in most cases when
|
||||
dealing with smallish JSON integers, as the compiler handles
|
||||
implicit type coercion. Only when the full 64-bit range is needed,
|
||||
:type:`json_int_t` should be explicitly used.
|
||||
@@ -69,8 +69,8 @@ List of Incompatible Changes
|
||||
|
||||
**Unsigned integers in API functions**
|
||||
Version 2.0 unifies unsigned integer usage in the API. All uses of
|
||||
- :type:`unsigned int` and :type:`unsigned long` have been replaced
|
||||
- with :type:`size_t`. This includes flags, container sizes, etc.
|
||||
+ ``unsigned int`` and ``unsigned long`` have been replaced
|
||||
+ with ``size_t``. This includes flags, container sizes, etc.
|
||||
This should not require source code changes, as both
|
||||
- :type:`unsigned int` and :type:`unsigned long` are usually
|
||||
- compatible with :type:`size_t`.
|
||||
+ ``unsigned int`` and ``unsigned long`` are usually
|
||||
+ compatible with ``size_t``.
|
@ -0,0 +1,25 @@
|
||||
https://bugs.gentoo.org/814944
|
||||
https://github.com/akheron/jansson/commit/0677666f65b988b2dd44d02966a08fea490d5883
|
||||
|
||||
From 0677666f65b988b2dd44d02966a08fea490d5883 Mon Sep 17 00:00:00 2001
|
||||
From: Petri Lehtinen <petri@digip.org>
|
||||
Date: Thu, 9 Sep 2021 21:53:11 +0300
|
||||
Subject: [PATCH] Fix the check-exports tests for versioned symbols
|
||||
|
||||
---
|
||||
test/suites/api/check-exports | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/test/suites/api/check-exports b/test/suites/api/check-exports
|
||||
index 2b6b3c79..5c82064c 100755
|
||||
--- a/test/suites/api/check-exports
|
||||
+++ b/test/suites/api/check-exports
|
||||
@@ -15,7 +15,7 @@ grep 'json_\|jansson_' $top_srcdir/src/jansson.def \
|
||||
nm -D $SOFILE >/dev/null >$test_log/symbols 2>/dev/null \
|
||||
|| exit 77 # Skip if "nm -D" doesn't seem to work
|
||||
|
||||
-grep ' [DT] ' $test_log/symbols | cut -d' ' -f3 | grep -v '^_' | sort >$test_log/output
|
||||
+grep ' [DT] ' $test_log/symbols | cut -d' ' -f3 | grep -v '^_' | sed 's/@@libjansson.*//' | sort >$test_log/output
|
||||
|
||||
if ! cmp -s $test_log/exports $test_log/output; then
|
||||
diff -u $test_log/exports $test_log/output >&2
|
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
@ -11,11 +11,15 @@ SRC_URI="https://www.digip.org/jansson/releases/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
|
||||
IUSE="doc static-libs"
|
||||
|
||||
BDEPEND="doc? ( dev-python/sphinx )"
|
||||
|
||||
PATCHES=(
|
||||
# dev-libs/jansson-2.13.1[doc]: fails to build with >=sphinx-3.0, #731668
|
||||
BDEPEND="doc? ( <dev-python/sphinx-3.0.0 )"
|
||||
"${FILESDIR}/${P}-sphinx3.patch"
|
||||
)
|
||||
|
||||
multilib_src_configure() {
|
||||
ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
|
@ -1,23 +1,26 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
EAPI=8
|
||||
|
||||
inherit multilib-minimal
|
||||
inherit multilib-minimal toolchain-funcs
|
||||
|
||||
DESCRIPTION="C library for encoding, decoding and manipulating JSON data"
|
||||
HOMEPAGE="http://www.digip.org/jansson/"
|
||||
SRC_URI="http://www.digip.org/jansson/releases/${P}.tar.gz"
|
||||
HOMEPAGE="https://www.digip.org/jansson/"
|
||||
SRC_URI="https://github.com/akheron/jansson/releases/download/v${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86"
|
||||
SLOT="0/4"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
|
||||
IUSE="doc static-libs"
|
||||
|
||||
BDEPEND="doc? ( <dev-python/sphinx-3.0.0 )"
|
||||
RDEPEND=""
|
||||
BDEPEND="doc? ( dev-python/sphinx )"
|
||||
|
||||
PATCHES=( "${FILESDIR}/${P}-test-symbols.patch" )
|
||||
|
||||
multilib_src_configure() {
|
||||
tc-ld-force-bfd
|
||||
|
||||
ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
|
||||
}
|
||||
|
@ -1,11 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<maintainer type="person" proxied="yes">
|
||||
<email>zero-one@zer0-one.net</email>
|
||||
<name>David Zero</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<maintainer type="project" proxied="proxy">
|
||||
<email>proxy-maint@gentoo.org</email>
|
||||
<name>Proxy Maintainers</name>
|
||||
</maintainer>
|
||||
|
Loading…
Reference in New Issue
Block a user