svn commit: r536171 - in head/devel/json-c: . files
Sunpoet Po-Chuan Hsieh
sunpoet at FreeBSD.org
Thu May 21 20:46:12 UTC 2020
Author: sunpoet
Date: Thu May 21 20:46:06 2020
New Revision: 536171
URL: https://svnweb.freebsd.org/changeset/ports/536171
Log:
Update to 0.14
Changes: https://github.com/json-c/json-c/blob/master/ChangeLog
PR: 246389
Exp-run by: antoine
Added:
head/devel/json-c/files/patch-CMakeLists.txt (contents, props changed)
head/devel/json-c/files/patch-arraylist.c (contents, props changed)
head/devel/json-c/files/patch-linkhash.c (contents, props changed)
head/devel/json-c/files/patch-printbuf.c (contents, props changed)
Deleted:
head/devel/json-c/files/patch-tests-test_parse.c
Modified:
head/devel/json-c/Makefile
head/devel/json-c/distinfo
head/devel/json-c/files/patch-json_object.c
head/devel/json-c/pkg-plist
Modified: head/devel/json-c/Makefile
==============================================================================
--- head/devel/json-c/Makefile Thu May 21 20:45:59 2020 (r536170)
+++ head/devel/json-c/Makefile Thu May 21 20:46:06 2020 (r536171)
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= json-c
-PORTVERSION= 0.13.1
-PORTREVISION= 1
+PORTVERSION= 0.14
CATEGORIES= devel
MASTER_SITES= https://s3.amazonaws.com/json-c_releases/releases/ \
LOCAL/sunpoet
@@ -14,17 +13,14 @@ COMMENT= JSON (JavaScript Object Notation) implementat
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/COPYING
-USES= autoreconf compiler:c11 cpe libtool pathfix pkgconfig
+USES= cmake compiler:c11 cpe
-GNU_CONFIGURE= yes
-INSTALL_TARGET= install-strip
-TEST_TARGET= check
+CMAKE_OFF= BUILD_DOCUMENTATION
+CMAKE_ON= BUILD_SHARED_LIBS BUILD_STATIC_LIBS DISABLE_WERROR
+TEST_TARGET= test
USE_LDCONFIG= yes
CPE_VENDOR= json-c_project
-
-post-patch:
- @${REINPLACE_CMD} -e 's| -Werror||g' ${WRKSRC}/Makefile.in
post-install:
${INSTALL_DATA} ${WRKSRC}/json_object_private.h ${STAGEDIR}${PREFIX}/include/json-c/
Modified: head/devel/json-c/distinfo
==============================================================================
--- head/devel/json-c/distinfo Thu May 21 20:45:59 2020 (r536170)
+++ head/devel/json-c/distinfo Thu May 21 20:46:06 2020 (r536171)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1520527097
-SHA256 (json-c-0.13.1.tar.gz) = b87e608d4d3f7bfdd36ef78d56d53c74e66ab278d318b71e6002a369d36f4873
-SIZE (json-c-0.13.1.tar.gz) = 639425
+TIMESTAMP = 1588350160
+SHA256 (json-c-0.14.tar.gz) = b377de08c9b23ca3b37d9a9828107dff1de5ce208ff4ebb35005a794f30c6870
+SIZE (json-c-0.14.tar.gz) = 321677
Added: head/devel/json-c/files/patch-CMakeLists.txt
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/json-c/files/patch-CMakeLists.txt Thu May 21 20:46:06 2020 (r536171)
@@ -0,0 +1,56 @@
+Obtained from: https://github.com/json-c/json-c/commit/8b511c402b73d1d8b195991891c8d44859cb57ec
+ https://github.com/json-c/json-c/commit/22870ac2bd4cfdd135887ecc8cbbe02e7ef0c34e
+ https://github.com/json-c/json-c/commit/4f43a077a497f94214645ce9763247ec085e2094
+
+--- CMakeLists.txt.orig 2020-04-19 03:39:09 UTC
++++ CMakeLists.txt
+@@ -65,6 +65,7 @@ include(GNUInstallDirs)
+ include(CMakePackageConfigHelpers)
+
+ option(BUILD_SHARED_LIBS "Default to building shared libraries" ON)
++option(BUILD_STATIC_LIBS "Default to building static libraries" ON)
+
+ # Generate a release merge and test it to verify the correctness of republishing the package.
+ ADD_CUSTOM_TARGET(distcheck
+@@ -299,7 +300,7 @@ if ($ENV{VALGRIND})
+ endif()
+
+ set(JSON_C_PUBLIC_HEADERS
+- ${PROJECT_BINARY_DIR}/config.h
++ # Note: config.h is _not_ included here
+ ${PROJECT_BINARY_DIR}/json_config.h
+
+ ${PROJECT_SOURCE_DIR}/json.h
+@@ -383,7 +384,7 @@ add_library(${PROJECT_NAME}
+ set_target_properties(${PROJECT_NAME} PROPERTIES
+ VERSION 5.0.0
+ SOVERSION 5)
+-
++list(APPEND CMAKE_TARGETS ${PROJECT_NAME})
+ # If json-c is used as subroject it set to target correct interface -I flags and allow
+ # to build external target without extra include_directories(...)
+ target_include_directories(${PROJECT_NAME}
+@@ -392,7 +393,22 @@ target_include_directories(${PROJECT_NAME}
+ $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}>
+ )
+
+-install(TARGETS ${PROJECT_NAME}
++# Allow to build static and shared libraries at the same time
++if (BUILD_STATIC_LIBS AND BUILD_SHARED_LIBS)
++ set(STATIC_LIB ${PROJECT_NAME}-static)
++ add_library(${STATIC_LIB} STATIC
++ ${JSON_C_SOURCES}
++ ${JSON_C_HEADERS}
++ )
++
++ # rename the static library
++ set_target_properties(${STATIC_LIB} PROPERTIES
++ OUTPUT_NAME ${PROJECT_NAME}
++ )
++ list(APPEND CMAKE_TARGETS ${STATIC_LIB})
++endif ()
++
++install(TARGETS ${CMAKE_TARGETS}
+ EXPORT ${PROJECT_NAME}-targets
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
Added: head/devel/json-c/files/patch-arraylist.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/json-c/files/patch-arraylist.c Thu May 21 20:46:06 2020 (r536171)
@@ -0,0 +1,14 @@
+Obtained from: https://github.com/json-c/json-c/commit/31243e4d1204ef78be34b0fcae73221eee6b83be
+
+--- arraylist.c.orig 2020-04-19 03:36:00 UTC
++++ arraylist.c
+@@ -136,6 +136,9 @@ int array_list_del_idx(struct array_list *arr, size_t
+ {
+ size_t i, stop;
+
++ /* Avoid overflow in calculation with large indices. */
++ if (idx > SIZE_T_MAX - count)
++ return -1;
+ stop = idx + count;
+ if (idx >= arr->length || stop > arr->length)
+ return -1;
Modified: head/devel/json-c/files/patch-json_object.c
==============================================================================
--- head/devel/json-c/files/patch-json_object.c Thu May 21 20:45:59 2020 (r536170)
+++ head/devel/json-c/files/patch-json_object.c Thu May 21 20:46:06 2020 (r536171)
@@ -1,14 +1,11 @@
---- json_object.c.orig 2020-02-18 20:12:20 UTC
+--- json_object.c.orig 2020-04-19 03:36:00 UTC
+++ json_object.c
-@@ -698,9 +698,9 @@ int64_t json_object_get_int64(const struct json_object
- case json_type_int:
- return jso->o.c_int64;
- case json_type_double:
-- if (jso->o.c_double >= INT64_MAX)
-+ if (jso->o.c_double >= (double)INT64_MAX)
+@@ -735,7 +735,7 @@ int64_t json_object_get_int64(const struct json_object
+ // so cast to tell the compiler it's ok to round up.
+ if (jso->o.c_double >= (double)INT64_MAX)
return INT64_MAX;
- if (jso->o.c_double <= INT64_MIN)
+ if (jso->o.c_double <= (double)INT64_MIN)
return INT64_MIN;
return (int64_t)jso->o.c_double;
- case json_type_boolean:
+ case json_type_boolean: return jso->o.c_boolean;
Added: head/devel/json-c/files/patch-linkhash.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/json-c/files/patch-linkhash.c Thu May 21 20:46:06 2020 (r536171)
@@ -0,0 +1,37 @@
+Obtained from: https://github.com/json-c/json-c/commit/31243e4d1204ef78be34b0fcae73221eee6b83be
+ https://github.com/json-c/json-c/commit/519dfe1591d85432986f9762d41d1a883198c157
+
+--- linkhash.c.orig 2020-04-19 03:36:00 UTC
++++ linkhash.c
+@@ -12,6 +12,7 @@
+
+ #include "config.h"
+
++#include <assert.h>
+ #include <limits.h>
+ #include <stdarg.h>
+ #include <stddef.h>
+@@ -499,6 +500,8 @@ struct lh_table *lh_table_new(int size, lh_entry_free_
+ int i;
+ struct lh_table *t;
+
++ /* Allocate space for elements to avoid divisions by zero. */
++ assert(size > 0);
+ t = (struct lh_table *)calloc(1, sizeof(struct lh_table));
+ if (!t)
+ return NULL;
+@@ -577,9 +580,12 @@ int lh_table_insert_w_hash(struct lh_table *t, const v
+ {
+ unsigned long n;
+
+- if (t->count >= t->size * LH_LOAD_FACTOR)
+- if (lh_table_resize(t, t->size * 2) != 0)
++ if (t->count >= t->size * LH_LOAD_FACTOR) {
++ /* Avoid signed integer overflow with large tables. */
++ int new_size = (t->size > INT_MAX / 2) ? INT_MAX : (t->size * 2);
++ if (t->size == INT_MAX || lh_table_resize(t, new_size) != 0)
+ return -1;
++ }
+
+ n = h % t->size;
+
Added: head/devel/json-c/files/patch-printbuf.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/json-c/files/patch-printbuf.c Thu May 21 20:46:06 2020 (r536171)
@@ -0,0 +1,52 @@
+Obtained from: https://github.com/json-c/json-c/commit/31243e4d1204ef78be34b0fcae73221eee6b83be
+
+--- printbuf.c.orig 2020-04-19 03:36:00 UTC
++++ printbuf.c
+@@ -15,6 +15,7 @@
+
+ #include "config.h"
+
++#include <limits.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -65,10 +66,16 @@ static int printbuf_extend(struct printbuf *p, int min
+
+ if (p->size >= min_size)
+ return 0;
+-
+- new_size = p->size * 2;
+- if (new_size < min_size + 8)
++ /* Prevent signed integer overflows with large buffers. */
++ if (min_size > INT_MAX - 8)
++ return -1;
++ if (p->size > INT_MAX / 2)
+ new_size = min_size + 8;
++ else {
++ new_size = p->size * 2;
++ if (new_size < min_size + 8)
++ new_size = min_size + 8;
++ }
+ #ifdef PRINTBUF_DEBUG
+ MC_DEBUG("printbuf_memappend: realloc "
+ "bpos=%d min_size=%d old_size=%d new_size=%d\n",
+@@ -83,6 +90,9 @@ static int printbuf_extend(struct printbuf *p, int min
+
+ int printbuf_memappend(struct printbuf *p, const char *buf, int size)
+ {
++ /* Prevent signed integer overflows with large buffers. */
++ if (size > INT_MAX - p->bpos - 1)
++ return -1;
+ if (p->size <= p->bpos + size + 1)
+ {
+ if (printbuf_extend(p, p->bpos + size + 1) < 0)
+@@ -100,6 +110,9 @@ int printbuf_memset(struct printbuf *pb, int offset, i
+
+ if (offset == -1)
+ offset = pb->bpos;
++ /* Prevent signed integer overflows with large buffers. */
++ if (len > INT_MAX - offset)
++ return -1;
+ size_needed = offset + len;
+ if (pb->size < size_needed)
+ {
Modified: head/devel/json-c/pkg-plist
==============================================================================
--- head/devel/json-c/pkg-plist Thu May 21 20:45:59 2020 (r536170)
+++ head/devel/json-c/pkg-plist Thu May 21 20:46:06 2020 (r536171)
@@ -1,5 +1,4 @@
include/json-c/arraylist.h
-include/json-c/bits.h
include/json-c/debug.h
include/json-c/json.h
include/json-c/json_c_version.h
@@ -10,12 +9,16 @@ include/json-c/json_object_iterator.h
include/json-c/json_object_private.h
include/json-c/json_pointer.h
include/json-c/json_tokener.h
+include/json-c/json_types.h
include/json-c/json_util.h
include/json-c/json_visit.h
include/json-c/linkhash.h
include/json-c/printbuf.h
+lib/cmake/json-c/json-c-config.cmake
+lib/cmake/json-c/json-c-targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/json-c/json-c-targets.cmake
lib/libjson-c.a
lib/libjson-c.so
-lib/libjson-c.so.4
-lib/libjson-c.so.4.0.0
+lib/libjson-c.so.5
+lib/libjson-c.so.5.0.0
libdata/pkgconfig/json-c.pc
More information about the svn-ports-head
mailing list