summaryrefslogtreecommitdiff
path: root/libraries/jansson
diff options
context:
space:
mode:
authorLarry Hajali <larryhaja[at]gmail[dot]com>2018-08-14 12:42:52 -0700
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2018-08-18 08:39:52 +0700
commit4051963a7017dd1bc797a60a04ca60c2648b1697 (patch)
treef7e46e5f613dcc76ab5cd6e76f335d750dedfcdd /libraries/jansson
parent98193df068f9fd3609427e40d083ec8c3f8f48ed (diff)
downloadslackbuilds-4051963a7017dd1bc797a60a04ca60c2648b1697.tar.gz
libraries/jansson: Updated for version 2.11
Signed-off-by: Larry Hajali <larryhaja[at]gmail[dot]com>
Diffstat (limited to 'libraries/jansson')
-rw-r--r--libraries/jansson/0001-Enable-Bsymbolic-functions-linker-flag-whenever-poss.patch76
-rw-r--r--libraries/jansson/jansson.SlackBuild9
-rw-r--r--libraries/jansson/jansson.info6
3 files changed, 86 insertions, 5 deletions
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: <c14f07092f76b5bc4098cee528122bd0d418e10e.1533366596.git.mprivozn@redhat.com>
+From: Michal Privoznik <mprivozn@redhat.com>
+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 <mprivozn@redhat.com>
+---
+ 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 <larryhaja[at]gmail[dot]com>
+# Copyright 2014-2018 Larry Hajali <larryhaja[at]gmail[dot]com>
# 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=""