diff --git a/sys-fs/btrfs-progs/btrfs-progs-4.19.ebuild b/sys-fs/btrfs-progs/btrfs-progs-4.19.ebuild index 04d5383960949..c0e82c0a114e5 100644 --- a/sys-fs/btrfs-progs/btrfs-progs-4.19.ebuild +++ b/sys-fs/btrfs-progs/btrfs-progs-4.19.ebuild @@ -72,6 +72,10 @@ fi REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" +PATCHES=( + "${FILESDIR}"/${P}-be-bswap.patch +) + pkg_setup() { use python && python-single-r1_pkg_setup } diff --git a/sys-fs/btrfs-progs/files/btrfs-progs-4.19-be-bswap.patch b/sys-fs/btrfs-progs/files/btrfs-progs-4.19-be-bswap.patch new file mode 100644 index 0000000000000..b91b320408551 --- /dev/null +++ b/sys-fs/btrfs-progs/files/btrfs-progs-4.19-be-bswap.patch @@ -0,0 +1,24 @@ +Fix build failure on big-endian platforms. + +Reported-by: ernsteiswuerfel +Bug: https://bugs.gentoo.org/670741 +--- a/kernel-lib/bitops.h ++++ b/kernel-lib/bitops.h +@@ -180,5 +180,5 @@ static inline unsigned long ext2_swab(const unsigned long y) + #if BITS_PER_LONG == 64 +- return (unsigned long) bswap64((u64) y); ++ return (unsigned long) bswap_64((u64) y); + #elif BITS_PER_LONG == 32 +- return (unsigned long) bswap32((u32) y); ++ return (unsigned long) bswap_32((u32) y); + #else +@@ -220,3 +220,3 @@ static inline unsigned long _find_next_bit_le(const unsigned long *addr1, + +-unsigned long find_next_zero_bit_le(const void *addr, unsigned long size, ++static inline unsigned long find_next_zero_bit_le(const void *addr, unsigned long size, + unsigned long offset) +@@ -227,3 +227,3 @@ unsigned long find_next_zero_bit_le(const void *addr, unsigned long size, + +-unsigned long find_next_bit_le(const void *addr, unsigned long size, ++static inline unsigned long find_next_bit_le(const void *addr, unsigned long size, + unsigned long offset)