Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Jul 2023 12:12:07 GMT
From:      Vasil Dimov <vd@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: b8e169236717 - main - net-p2p/c-lightning: attempt to unbreak on arm64
Message-ID:  <202307181212.36ICC73G015669@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by vd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=b8e16923671765b348a064824656e0cd04809d1b

commit b8e16923671765b348a064824656e0cd04809d1b
Author:     Vasil Dimov <vd@FreeBSD.org>
AuthorDate: 2023-07-18 12:08:16 +0000
Commit:     Vasil Dimov <vd@FreeBSD.org>
CommitDate: 2023-07-18 12:11:42 +0000

    net-p2p/c-lightning: attempt to unbreak on arm64
    
    Since arm64 uses two's complement (char)0xff is the same as -1.
    Changing to use the latter should silence this compiler error:
    
    ccan/ccan/base64/base64.c:34:10: error: result of comparison of constant 255 with expression of type 'int8_t' (aka 'signed char') is always false [-Werror,-Wtautological-constant-out-of-range-compare]
            if (ret == (char)0xff) {
                ~~~ ^  ~~~~~~~~~~
---
 net-p2p/c-lightning/Makefile                       |  4 +++
 .../files/extra-patch-ccan_ccan_base64_base64.c    | 29 ++++++++++++++++++++++
 ...nal_libwally-core_src_ccan_ccan_base64_base64.c | 29 ++++++++++++++++++++++
 3 files changed, 62 insertions(+)

diff --git a/net-p2p/c-lightning/Makefile b/net-p2p/c-lightning/Makefile
index d452d849b054..851ab2407a4e 100644
--- a/net-p2p/c-lightning/Makefile
+++ b/net-p2p/c-lightning/Makefile
@@ -34,6 +34,10 @@ BINARY_ALIAS=	python=${PYTHON_CMD} python3=${PYTHON_CMD}
 ALL_TARGET=	default
 SHEBANG_FILES=	tools/reckless
 
+EXTRA_PATCHES_arm64=	${FILESDIR}/extra-patch-ccan_ccan_base64_base64.c \
+			${FILESDIR}/extra-patch-external_libwally-core_src_ccan_ccan_base64_base64.c
+EXTRA_PATCHES=	${EXTRA_PATCHES_${ARCH}}
+
 OPTIONS_DEFINE=		COMPATIBILITY DEVELOPER EXPERIMENTAL
 OPTIONS_MULTI=		STORAGE
 OPTIONS_MULTI_STORAGE=	POSTGRESQL SQLITE
diff --git a/net-p2p/c-lightning/files/extra-patch-ccan_ccan_base64_base64.c b/net-p2p/c-lightning/files/extra-patch-ccan_ccan_base64_base64.c
new file mode 100644
index 000000000000..c29c8cb458ae
--- /dev/null
+++ b/net-p2p/c-lightning/files/extra-patch-ccan_ccan_base64_base64.c
@@ -0,0 +1,29 @@
+--- ccan/ccan/base64/base64.c.orig	2023-07-18 11:01:33 UTC
++++ ccan/ccan/base64/base64.c
+@@ -31,7 +31,7 @@ static int8_t sixbit_from_b64(const base64_maps_t *map
+ 	int8_t ret;
+ 
+ 	ret = maps->decode_map[(unsigned char)b64letter];
+-	if (ret == (char)0xff) {
++	if (ret == -1) {
+ 		errno = EDOM;
+ 		return -1;
+ 	}
+@@ -41,7 +41,7 @@ bool base64_char_in_alphabet(const base64_maps_t *maps
+ 
+ bool base64_char_in_alphabet(const base64_maps_t *maps, const char b64char)
+ {
+-	return (maps->decode_map[(const unsigned char)b64char] != (char)0xff);
++	return (maps->decode_map[(const unsigned char)b64char] != -1);
+ }
+ 
+ void base64_init_maps(base64_maps_t *dest, const char src[64])
+@@ -49,7 +49,7 @@ void base64_init_maps(base64_maps_t *dest, const char 
+ 	unsigned char i;
+ 
+ 	memcpy(dest->encode_map,src,64);
+-	memset(dest->decode_map,0xff,256);
++	memset(dest->decode_map,-1,256);
+ 	for (i=0; i<64; i++) {
+ 		dest->decode_map[(unsigned char)src[i]] = i;
+ 	}
diff --git a/net-p2p/c-lightning/files/extra-patch-external_libwally-core_src_ccan_ccan_base64_base64.c b/net-p2p/c-lightning/files/extra-patch-external_libwally-core_src_ccan_ccan_base64_base64.c
new file mode 100644
index 000000000000..d577ba598d09
--- /dev/null
+++ b/net-p2p/c-lightning/files/extra-patch-external_libwally-core_src_ccan_ccan_base64_base64.c
@@ -0,0 +1,29 @@
+--- external/libwally-core/src/ccan/ccan/base64/base64.c.orig	2023-07-18 11:13:39 UTC
++++ external/libwally-core/src/ccan/ccan/base64/base64.c
+@@ -34,7 +34,7 @@ static int8_t sixbit_from_b64(const base64_maps_t *map
+ 	int8_t ret;
+ 
+ 	ret = maps->decode_map[(unsigned char)b64letter];
+-	if (ret == (char)0xff) {
++	if (ret == -1) {
+ 		errno = EDOM;
+ 		return -1;
+ 	}
+@@ -44,7 +44,7 @@ bool base64_char_in_alphabet(const base64_maps_t *maps
+ 
+ bool base64_char_in_alphabet(const base64_maps_t *maps, const char b64char)
+ {
+-	return (maps->decode_map[(const unsigned char)b64char] != (char)0xff);
++	return (maps->decode_map[(const unsigned char)b64char] != -1);
+ }
+ 
+ void base64_init_maps(base64_maps_t *dest, const char src[64])
+@@ -52,7 +52,7 @@ void base64_init_maps(base64_maps_t *dest, const char 
+ 	unsigned char i;
+ 
+ 	memcpy(dest->encode_map,src,64);
+-	memset(dest->decode_map,0xff,256);
++	memset(dest->decode_map,-1,256);
+ 	for (i=0; i<64; i++) {
+ 		dest->decode_map[(unsigned char)src[i]] = i;
+ 	}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202307181212.36ICC73G015669>