[gentoo-commits] repo/gentoo:master commit in: dev-libs/jansson/, dev-libs/jansson/files/
commit: a0e09af2d796c8e12a29c3386237e5ebe44c51d4 Author: Violet Purcell inventati org> AuthorDate: Thu Aug 10 00:08:03 2023 + Commit: Joonas Niilola gentoo org> CommitDate: Thu Oct 12 07:03:52 2023 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a0e09af2 dev-libs/jansson: Fix build with non-bfd linkers Signed-off-by: Violet Purcell inventati.org> Closes: https://github.com/gentoo/gentoo/pull/32236 Signed-off-by: Joonas Niilola gentoo.org> .../files/jansson-2.14-default-symver-test.patch | 55 ++ dev-libs/jansson/jansson-2.14-r2.ebuild| 49 +++ 2 files changed, 104 insertions(+) diff --git a/dev-libs/jansson/files/jansson-2.14-default-symver-test.patch b/dev-libs/jansson/files/jansson-2.14-default-symver-test.patch new file mode 100644 index ..0da70dc5afcb --- /dev/null +++ b/dev-libs/jansson/files/jansson-2.14-default-symver-test.patch @@ -0,0 +1,55 @@ +From https://github.com/akheron/jansson/pull/666/commits/1e2ac681e5f39fc7a7e8b8deb2162a93976d4622 Mon Sep 17 00:00:00 2001 +From: Violet Purcell +Date: Wed, 11 Oct 2023 20:51:57 -0400 +Subject: [PATCH] Port check for --default-symver to autoconf + +This commit ports the configure check for -Wl,--default-symver that is +present in CMake to autoconf. This fixes building Jansson via autoconf +with non-bfd linkers on glibc systems. + +Signed-off-by: Violet Purcell +--- a/configure.ac b/configure.ac +@@ -25,6 +25,9 @@ AC_TYPE_UINT16_T + AC_TYPE_UINT8_T + AC_TYPE_LONG_LONG_INT + ++jansson_soversion="4" ++AC_SUBST([jansson_soversion]) ++ + AC_C_INLINE + case $ac_cv_c_inline in + yes) json_inline=inline;; +@@ -138,8 +141,12 @@ AS_IF([test "x$with_Bsymbolic" = "xyes"], [JSON_BSYMBOLIC_LDFLAGS=-Wl[,]-Bsymbol + AC_SUBST(JSON_BSYMBOLIC_LDFLAGS) + + # Enable symbol versioning on GNU libc ++m4_pattern_forbid([^AX_CHECK_LINK_FLAG$]) + JSON_SYMVER_LDFLAGS= +-AC_CHECK_DECL([__GLIBC__], [JSON_SYMVER_LDFLAGS=-Wl,--default-symver]) ++AC_CHECK_DECL([__GLIBC__], ++ [AX_CHECK_LINK_FLAG([-Wl,--default-symver], ++[JSON_SYMVER_LDFLAGS=-Wl,--default-symver], ++[JSON_SYMVER_LDFLAGS=-Wl,--version-script,$ac_abs_confdir/jansson.sym])]) + AC_SUBST([JSON_SYMVER_LDFLAGS]) + + AC_ARG_ENABLE([ossfuzzers], +@@ -168,6 +175,7 @@ AC_SUBST([AM_CFLAGS]) + + AC_CONFIG_FILES([ + jansson.pc ++ jansson.sym + Makefile + doc/Makefile + src/Makefile +--- /dev/null b/jansson.sym.in +@@ -0,0 +1,5 @@ ++JANSSON_@jansson_soversion@ { ++ global: ++ *; ++}; ++ +-- +2.42.0 + diff --git a/dev-libs/jansson/jansson-2.14-r2.ebuild b/dev-libs/jansson/jansson-2.14-r2.ebuild new file mode 100644 index ..8f8601ce9046 --- /dev/null +++ b/dev-libs/jansson/jansson-2.14-r2.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="C library for encoding, decoding and manipulating JSON data" +HOMEPAGE="https://www.digip.org/jansson/; +SRC_URI="https://github.com/akheron/jansson/releases/download/v${PV}/${P}.tar.gz; + +LICENSE="MIT" +SLOT="0/4" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +IUSE="doc static-libs" + +BDEPEND=" + sys-devel/autoconf-archive + doc? ( dev-python/sphinx ) +" + +PATCHES=( + "${FILESDIR}/${P}-default-symver-test.patch" + "${FILESDIR}/${P}-test-symbols.patch" +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + econf $(use_enable static-libs static) +} + +src_compile() { + default + + if use doc ; then + emake html + HTML_DOCS=( doc/_build/html/. ) + fi +} + +src_install() { + default + + find "${ED}" -name '*.la' -delete || die +}
[gentoo-commits] repo/gentoo:master commit in: dev-libs/jansson/, dev-libs/jansson/files/
commit: 2df0372e65704f40fa9529f36d468cec59dd8ca0 Author: Rolf Eike Beer sf-mail de> AuthorDate: Fri Nov 12 21:59:32 2021 + Commit: Sam James gentoo org> CommitDate: Fri Nov 12 22:22:56 2021 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2df0372e dev-libs/jansson: properly handle symbol names in tests Closes: https://bugs.gentoo.org/814944 Signed-off-by: Rolf Eike Beer sf-mail.de> Signed-off-by: Sam James gentoo.org> .../jansson/files/jansson-2.14-test-symbols.patch | 22 ++ dev-libs/jansson/jansson-2.14.ebuild | 2 ++ 2 files changed, 24 insertions(+) diff --git a/dev-libs/jansson/files/jansson-2.14-test-symbols.patch b/dev-libs/jansson/files/jansson-2.14-test-symbols.patch new file mode 100644 index 000..013b2713231 --- /dev/null +++ b/dev-libs/jansson/files/jansson-2.14-test-symbols.patch @@ -0,0 +1,22 @@ +From 0677666f65b988b2dd44d02966a08fea490d5883 Mon Sep 17 00:00:00 2001 +From: Petri Lehtinen +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 diff --git a/dev-libs/jansson/jansson-2.14.ebuild b/dev-libs/jansson/jansson-2.14.ebuild index 1a7ac716c9c..42760f31153 100644 --- a/dev-libs/jansson/jansson-2.14.ebuild +++ b/dev-libs/jansson/jansson-2.14.ebuild @@ -16,6 +16,8 @@ IUSE="doc static-libs" BDEPEND="doc? ( dev-python/sphinx )" +PATCHES=( "${FILESDIR}/${P}-test-symbols.patch" ) + multilib_src_configure() { tc-ld-force-bfd
[gentoo-commits] repo/gentoo:master commit in: dev-libs/jansson/, dev-libs/jansson/files/
commit: 0b4171655437ff84b5b03a5763a42a764578cd4b Author: David Zero zer0-one net> AuthorDate: Sun Dec 6 09:25:50 2020 + Commit: Joonas Niilola gentoo org> CommitDate: Sun Dec 13 10:44:21 2020 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0b417165 dev-libs/jansson: remove dependency on sphinx < 3.0 This revision removes the dependency on sphinx < 3.0 . Closes: https://bugs.gentoo.org/731668 Package-Manager: Portage-3.0.9, Repoman-3.0.2 Signed-off-by: David Zero zer0-one.net> Closes: https://github.com/gentoo/gentoo/pull/18528 Signed-off-by: Joonas Niilola gentoo.org> .../jansson/files/jansson-2.13.1-sphinx3.patch | 269 + dev-libs/jansson/jansson-2.13.1-r1.ebuild | 41 2 files changed, 310 insertions(+) diff --git a/dev-libs/jansson/files/jansson-2.13.1-sphinx3.patch b/dev-libs/jansson/files/jansson-2.13.1-sphinx3.patch new file mode 100644 index 000..e611896e9c4 --- /dev/null +++ b/dev-libs/jansson/files/jansson-2.13.1-sphinx3.patch @@ -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