commit:     541d2f987516ff8ad82beff7ba18b9369c2cdf93
Author:     Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Sat May 24 08:13:44 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat May 24 18:27:29 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=541d2f98

dev-libs/jansson: reapply dropped patch

This was never merged and is still required for lld, modified so that
symbols match as upstream hid symbols later on.

Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/42239
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/jansson-2.14.1-default-symver-test.patch | 62 ++++++++++++++++++++++
 dev-libs/jansson/jansson-2.14.1.ebuild             |  4 ++
 2 files changed, 66 insertions(+)

diff --git a/dev-libs/jansson/files/jansson-2.14.1-default-symver-test.patch 
b/dev-libs/jansson/files/jansson-2.14.1-default-symver-test.patch
new file mode 100644
index 000000000000..6f5bbcc0788b
--- /dev/null
+++ b/dev-libs/jansson/files/jansson-2.14.1-default-symver-test.patch
@@ -0,0 +1,62 @@
+https://github.com/akheron/jansson/issues/715
+
+Modified https://github.com/akheron/jansson/pull/666 with lessons taken from 
https://github.com/akheron/jansson/pull/704.
+
+From 
https://github.com/akheron/jansson/pull/666/commits/1e2ac681e5f39fc7a7e8b8deb2162a93976d4622
 Mon Sep 17 00:00:00 2001
+From: Violet Purcell <[email protected]>
+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 <[email protected]>
+--- 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,8 @@
++JANSSON_@jansson_soversion@ {
++      global:
++              json_*;
++              jansson_*;
++      local:
++              *;
++};
++
+-- 
+2.42.0
+

diff --git a/dev-libs/jansson/jansson-2.14.1.ebuild 
b/dev-libs/jansson/jansson-2.14.1.ebuild
index 5d54e6dfb5e7..bba913be1601 100644
--- a/dev-libs/jansson/jansson-2.14.1.ebuild
+++ b/dev-libs/jansson/jansson-2.14.1.ebuild
@@ -19,6 +19,10 @@ BDEPEND="
        doc? ( dev-python/sphinx )
 "
 
+PATCHES=(
+       "${FILESDIR}"/jansson-2.14.1-default-symver-test.patch
+)
+
 src_prepare() {
        default
        eautoreconf

Reply via email to