From 6448b656c7da55f1668b9adb46136845844095bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Kul=C3=ADk?= Date: Mon, 1 Aug 2022 13:07:32 +0200 Subject: [PATCH 1/5] Fallback to compiler defines when __BYTE_ORDER is not available --- src/borg/algorithms/msgpack/sysdep.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/borg/algorithms/msgpack/sysdep.h b/src/borg/algorithms/msgpack/sysdep.h index ed9c1bc0b8..803d7072c6 100644 --- a/src/borg/algorithms/msgpack/sysdep.h +++ b/src/borg/algorithms/msgpack/sysdep.h @@ -66,6 +66,15 @@ typedef unsigned int _msgpack_atomic_counter_t; #endif #if !defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__) +/* + * __BYTE_ORDER, __LITTLE_ENDIAN and __BIG_ENDIAN are nonstandard and not + * always available. In those cases, fallback to common compiler defines. + */ +#if !defined(__BYTE_ORDER) +#define __BYTE_ORDER __BYTE_ORDER__ +#define __LITTLE_ENDIAN __ORDER_LITTLE_ENDIAN__ +#define __BIG_ENDIAN __ORDER_BIG_ENDIAN__ +#endif #if __BYTE_ORDER == __LITTLE_ENDIAN #define __LITTLE_ENDIAN__ #elif __BYTE_ORDER == __BIG_ENDIAN From deb7fa067cb9dbe7ee0f33ccea26b479610d694c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Kul=C3=ADk?= Date: Mon, 1 Aug 2022 14:31:12 +0200 Subject: [PATCH 2/5] simplify the endianity handling --- src/borg/algorithms/msgpack/sysdep.h | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/src/borg/algorithms/msgpack/sysdep.h b/src/borg/algorithms/msgpack/sysdep.h index 803d7072c6..a90efddb60 100644 --- a/src/borg/algorithms/msgpack/sysdep.h +++ b/src/borg/algorithms/msgpack/sysdep.h @@ -66,18 +66,9 @@ typedef unsigned int _msgpack_atomic_counter_t; #endif #if !defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__) -/* - * __BYTE_ORDER, __LITTLE_ENDIAN and __BIG_ENDIAN are nonstandard and not - * always available. In those cases, fallback to common compiler defines. - */ -#if !defined(__BYTE_ORDER) -#define __BYTE_ORDER __BYTE_ORDER__ -#define __LITTLE_ENDIAN __ORDER_LITTLE_ENDIAN__ -#define __BIG_ENDIAN __ORDER_BIG_ENDIAN__ -#endif -#if __BYTE_ORDER == __LITTLE_ENDIAN +#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ #define __LITTLE_ENDIAN__ -#elif __BYTE_ORDER == __BIG_ENDIAN +#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ #define __BIG_ENDIAN__ #elif _WIN32 #define __LITTLE_ENDIAN__ From 63beb57b9f729c2045cdafe9191f6377a0569ae9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Kul=C3=ADk?= Date: Mon, 1 Aug 2022 14:41:13 +0200 Subject: [PATCH 3/5] additional cleanup --- src/borg/algorithms/msgpack/sysdep.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/borg/algorithms/msgpack/sysdep.h b/src/borg/algorithms/msgpack/sysdep.h index a90efddb60..ae28f0c5df 100644 --- a/src/borg/algorithms/msgpack/sysdep.h +++ b/src/borg/algorithms/msgpack/sysdep.h @@ -61,8 +61,6 @@ typedef unsigned int _msgpack_atomic_counter_t; #endif #endif -#else -#include /* __BYTE_ORDER */ #endif #if !defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__) From 04d2f7ed8584bfd1cea6589fd713323424c1f2e9 Mon Sep 17 00:00:00 2001 From: Inada Naoki Date: Tue, 2 Aug 2022 05:16:34 +0000 Subject: [PATCH 4/5] Fix build error caused by ntohs, ntohl --- src/borg/algorithms/msgpack/sysdep.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/borg/algorithms/msgpack/sysdep.h b/src/borg/algorithms/msgpack/sysdep.h index ae28f0c5df..70673004ac 100644 --- a/src/borg/algorithms/msgpack/sysdep.h +++ b/src/borg/algorithms/msgpack/sysdep.h @@ -61,6 +61,8 @@ typedef unsigned int _msgpack_atomic_counter_t; #endif #endif +#else /* _WIN32 */ +#include /* ntohs, ntohl */ #endif #if !defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__) @@ -93,7 +95,7 @@ typedef unsigned int _msgpack_atomic_counter_t; #ifdef _WIN32 # if defined(ntohl) # define _msgpack_be32(x) ntohl(x) -# elif defined(_byteswap_ulong) || (defined(_MSC_VER) && _MSC_VER >= 1400) +# elif defined(_byteswap_ulong) || defined(_MSC_VER) # define _msgpack_be32(x) ((uint32_t)_byteswap_ulong((unsigned long)x)) # else # define _msgpack_be32(x) \ @@ -106,7 +108,7 @@ typedef unsigned int _msgpack_atomic_counter_t; # define _msgpack_be32(x) ntohl(x) #endif -#if defined(_byteswap_uint64) || (defined(_MSC_VER) && _MSC_VER >= 1400) +#if defined(_byteswap_uint64) || defined(_MSC_VER) # define _msgpack_be64(x) (_byteswap_uint64(x)) #elif defined(bswap_64) # define _msgpack_be64(x) bswap_64(x) From 9d5631f83472cced02a64e47dc235c978abbc21f Mon Sep 17 00:00:00 2001 From: Klemens Nanni Date: Sun, 4 Dec 2022 03:46:40 +0400 Subject: [PATCH 5/5] Bump msgpack to +borg2 after build fix backports --- src/borg/algorithms/msgpack/_version.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/borg/algorithms/msgpack/_version.py b/src/borg/algorithms/msgpack/_version.py index 7bd3b0dd51..f02a3dc912 100644 --- a/src/borg/algorithms/msgpack/_version.py +++ b/src/borg/algorithms/msgpack/_version.py @@ -2,5 +2,9 @@ # Changes: # +borg1: drop support for old buffer protocol to be compatible with py310 # (backport of commit 9ae43709e42092c7f6a4e990d696d9005fa1623d) -version = (0, 5, 6, '+borg1') +# +borg2: Usef __BYTE_ORDER__ instead of __BYTE_ORDER (#513) +# (backport of commit 9d45926a596028e39ec59dd909a56eb5e9e8fee7) +# Fix build error caused by ntohs, ntohl (#514) +# (backport of commit edca770071fc702e0b4c33f87fb0fa3682b486b4) +version = (0, 5, 6, '+borg2')