From 4051963a7017dd1bc797a60a04ca60c2648b1697 Mon Sep 17 00:00:00 2001 From: Larry Hajali Date: Tue, 14 Aug 2018 12:42:52 -0700 Subject: libraries/jansson: Updated for version 2.11 Signed-off-by: Larry Hajali --- ...bolic-functions-linker-flag-whenever-poss.patch | 76 ++++++++++++++++++++++ libraries/jansson/jansson.SlackBuild | 9 ++- libraries/jansson/jansson.info | 6 +- 3 files changed, 86 insertions(+), 5 deletions(-) create mode 100644 libraries/jansson/0001-Enable-Bsymbolic-functions-linker-flag-whenever-poss.patch diff --git a/libraries/jansson/0001-Enable-Bsymbolic-functions-linker-flag-whenever-poss.patch b/libraries/jansson/0001-Enable-Bsymbolic-functions-linker-flag-whenever-poss.patch new file mode 100644 index 0000000000..509a28c3fb --- /dev/null +++ b/libraries/jansson/0001-Enable-Bsymbolic-functions-linker-flag-whenever-poss.patch @@ -0,0 +1,76 @@ +From c14f07092f76b5bc4098cee528122bd0d418e10e Mon Sep 17 00:00:00 2001 +Message-Id: +From: Michal Privoznik +Date: Sat, 4 Aug 2018 08:58:26 +0200 +Subject: [PATCH] Enable -Bsymbolic-functions linker flag whenever possible + +It was discovered fairly recently that JSON parsing libraries use +common pattern to name their exported symbols (they all use +json_ prefix). So eventually it happens that two symbols from two +different libraries have the same name. This will lead to cryptic +crashes (see [1] and [2]). Linking with -Bsymbolic-functions +prevents this. + +1: https://gitlab.gnome.org/GNOME/json-glib/issues/33 +2: https://groups.google.com/forum/#!topic/jansson-users/7Efx-RI45IU + +Signed-off-by: Michal Privoznik +--- + configure.ac | 29 +++++++++++++++++++++++++++++ + src/Makefile.am | 3 ++- + 2 files changed, 31 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index ca12b59..735fe89 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -107,6 +107,35 @@ AC_ARG_ENABLE([initial-hashtable-order], + AC_DEFINE_UNQUOTED([INITIAL_HASHTABLE_ORDER], [$initial_hashtable_order], + [Number of buckets new object hashtables contain is 2 raised to this power. E.g. 3 -> 2^3 = 8.]) + ++AC_ARG_ENABLE([Bsymbolic], ++ [AS_HELP_STRING([--disable-Bsymbolic], ++ [Avoid linking with -Bsymbolic-function])], ++ [], [with_Bsymbolic=check]) ++ ++if test "x$with_Bsymbolic" != "xno" ; then ++ AC_MSG_CHECKING([for -Bsymbolic-functions linker flag]) ++ saved_LDFLAGS="${LDFLAGS}" ++ LDFLAGS=-Wl,-Bsymbolic-functions ++ AC_TRY_LINK( ++ [], [int main (void) { return 0; }], ++ [AC_MSG_RESULT([yes]) ++ have_Bsymbolic=yes], ++ [AC_MSG_RESULT([no]) ++ have_Bsymbolic=no] ++ ) ++ LDFLAGS="${saved_LDFLAGS}" ++ ++ if test "x$with_Bsymbolic" = "xcheck" ; then ++ with_Bsymbolic=$have_Bsymbolic; ++ fi ++ if test "x$with_Bsymbolic:x$have_Bsymbolic" = "xyes:xno" ; then ++ AC_MSG_ERROR([linker support is required for -Bsymbolic]) ++ fi ++fi ++ ++AS_IF([test "x$with_Bsymbolic" = "xyes"], [JSON_BSYMBOLIC_LDFLAGS=-Wl[,]-Bsymbolic-functions]) ++AC_SUBST(JSON_BSYMBOLIC_LDFLAGS) ++ + if test x$GCC = xyes; then + AC_MSG_CHECKING(for -Wno-format-truncation) + wnoformat_truncation="-Wno-format-truncation" +diff --git a/src/Makefile.am b/src/Makefile.am +index f823195..63ff7c1 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -24,4 +24,5 @@ libjansson_la_SOURCES = \ + libjansson_la_LDFLAGS = \ + -no-undefined \ + -export-symbols-regex '^json_' \ +- -version-info 15:0:11 ++ -version-info 15:0:11 \ ++ @JSON_BSYMBOLIC_LDFLAGS@ +-- +2.16.4 + diff --git a/libraries/jansson/jansson.SlackBuild b/libraries/jansson/jansson.SlackBuild index cc6a9e4aa0..49bc52ca0a 100644 --- a/libraries/jansson/jansson.SlackBuild +++ b/libraries/jansson/jansson.SlackBuild @@ -2,7 +2,7 @@ # Slackware build script for jansson -# Copyright 2014-2017 Larry Hajali +# Copyright 2014-2018 Larry Hajali # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -23,7 +23,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=jansson -VERSION=${VERSION:-2.10} +VERSION=${VERSION:-2.11} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -69,6 +69,11 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +# Patch to fix conflicting json_* symbols. +# Ref: https://groups.google.com/forum/#!topic/jansson-users/7Efx-RI45IU +patch -p1 < $CWD/0001-Enable-Bsymbolic-functions-linker-flag-whenever-poss.patch +autoreconf -ivf + CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ diff --git a/libraries/jansson/jansson.info b/libraries/jansson/jansson.info index 2aae678321..40aff8df23 100644 --- a/libraries/jansson/jansson.info +++ b/libraries/jansson/jansson.info @@ -1,8 +1,8 @@ PRGNAM="jansson" -VERSION="2.10" +VERSION="2.11" HOMEPAGE="http://www.digip.org/jansson/" -DOWNLOAD="http://www.digip.org/jansson/releases/jansson-2.10.tar.bz2" -MD5SUM="8f85f653fba3ac8220ad8f2f47646ef1" +DOWNLOAD="http://www.digip.org/jansson/releases/jansson-2.11.tar.bz2" +MD5SUM="289ca8cbd2df31de9bda7e5220754d25" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" -- cgit v1.2.3