svn commit: r483817 - head/devel/objecthash/files
Mark Linimon
linimon at FreeBSD.org
Fri Nov 2 15:19:35 UTC 2018
Author: linimon
Date: Fri Nov 2 15:19:33 2018
New Revision: 483817
URL: https://svnweb.freebsd.org/changeset/ports/483817
Log:
GCC disallows creating arrays of variable size (and const int is a
variable as well). Fix that to fix build on powerpc64.
PR: 231736
Submitted by: Piotr Kubaj
Added:
head/devel/objecthash/files/
head/devel/objecthash/files/patch-Makefile (contents, props changed)
head/devel/objecthash/files/patch-objecthash.c (contents, props changed)
head/devel/objecthash/files/patch-objecthash.h (contents, props changed)
Added: head/devel/objecthash/files/patch-Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/objecthash/files/patch-Makefile Fri Nov 2 15:19:33 2018 (r483817)
@@ -0,0 +1,15 @@
+--- Makefile.orig 2016-08-01 17:37:31 UTC
++++ Makefile
+@@ -14,10 +14,10 @@ java:
+ sbt test
+
+ objecthash_test: libobjecthash.so
+- $(CC) -std=c99 -Wall -Werror -o objecthash_test objecthash_test.c -lobjecthash -L. -Wl,-rpath -Wl,.
++ $(CC) ${CFLAGS} -std=c99 -Wall -Werror -o objecthash_test objecthash_test.c -lobjecthash -L. -Wl,-rpath -Wl,.
+
+ libobjecthash.so: objecthash.c
+- $(CC) -fPIC -shared -std=c99 -Wall -Werror -o libobjecthash.so objecthash.c -lcrypto `pkg-config --libs --cflags icu-uc json-c`
++ $(CC) ${CFLAGS} -fPIC -shared -std=c99 -Wall -Werror -o libobjecthash.so objecthash.c -lcrypto `pkg-config --libs --cflags icu-uc json-c`
+
+ get:
+ GOPATH=`pwd` go get golang.org/x/text/unicode/norm
Added: head/devel/objecthash/files/patch-objecthash.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/objecthash/files/patch-objecthash.c Fri Nov 2 15:19:33 2018 (r483817)
@@ -0,0 +1,38 @@
+--- objecthash.c.orig 2018-09-25 21:01:54 UTC
++++ objecthash.c
+@@ -13,7 +13,7 @@
+
+ #include "objecthash.h"
+
+-bool object_hash(/*const*/ json_object *j, byte hash[HASH_SIZE]);
++bool object_hash(/*const*/ json_object *j, byte hash[SHA256_DIGEST_LENGTH]);
+
+ static void hash_update(hash_ctx * const c, const byte * const b,
+ const size_t l) {
+@@ -45,7 +45,7 @@ static int dict_comp(const void *a, const void *b) {
+ return memcmp(a, b, 2 * sizeof(hash));
+ }
+
+-static bool object_hash_str(const char *str, size_t len, byte hash[HASH_SIZE]) {
++static bool object_hash_str(const char *str, size_t len, byte hash[SHA256_DIGEST_LENGTH]) {
+ hash_bytes('u', (const byte *)str, len, hash);
+ return true;
+ }
+@@ -147,7 +147,7 @@ static bool object_hash_list(json_object *l, hash h) {
+
+ int len = json_object_array_length(l);
+ for (int n = 0; n < len; ++n) {
+- byte ihash[HASH_SIZE];
++ byte ihash[SHA256_DIGEST_LENGTH];
+ if (!object_hash(json_object_array_get_idx(l, n), ihash))
+ return false;
+ hash_update(&ctx, ihash, sizeof ihash);
+@@ -157,7 +157,7 @@ static bool object_hash_list(json_object *l, hash h) {
+ return true;
+ }
+
+-bool object_hash(/*const*/ json_object *j, byte hash[HASH_SIZE]) {
++bool object_hash(/*const*/ json_object *j, byte hash[SHA256_DIGEST_LENGTH]) {
+ enum json_type type;
+ type = json_object_get_type(j);
+ switch (type) {
Added: head/devel/objecthash/files/patch-objecthash.h
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/objecthash/files/patch-objecthash.h Fri Nov 2 15:19:33 2018 (r483817)
@@ -0,0 +1,13 @@
+--- objecthash.h.orig 2018-09-25 20:58:11 UTC
++++ objecthash.h
+@@ -8,9 +8,7 @@ extern "C" {
+
+ typedef unsigned char byte;
+
+-static const int HASH_SIZE = SHA256_DIGEST_LENGTH;
+-
+-typedef byte hash[HASH_SIZE];
++typedef byte hash[SHA256_DIGEST_LENGTH];
+ typedef SHA256_CTX hash_ctx;
+
+ bool python_json_hash(const char *json, hash h);
More information about the svn-ports-all
mailing list