diff options
-rw-r--r-- | dev-embedded/u-boot-tools/files/u-boot-tools-2019.10-musl-ulong.patch | 19 | ||||
-rw-r--r-- | dev-embedded/u-boot-tools/u-boot-tools-2019.10.ebuild | 2 |
2 files changed, 21 insertions, 0 deletions
diff --git a/dev-embedded/u-boot-tools/files/u-boot-tools-2019.10-musl-ulong.patch b/dev-embedded/u-boot-tools/files/u-boot-tools-2019.10-musl-ulong.patch new file mode 100644 index 000000000000..910e95a8cbf6 --- /dev/null +++ b/dev-embedded/u-boot-tools/files/u-boot-tools-2019.10-musl-ulong.patch @@ -0,0 +1,19 @@ +https://bugs.gentoo.org/703132 + +include/compiler.h implies to define 'ulong' type. +glibc and musl define it on different conditions. +As a result tools fail to build on musl as: + include/env.h:159:1: error: unknown type name 'ulong'; did you mean 'long'? + +We fix it by defining 'ulong' unconditionally (as on BSD). + +--- a/include/compiler.h ++++ b/include/compiler.h +@@ -44,6 +44,7 @@ + #ifdef __linux__ + # include <endian.h> + # include <byteswap.h> ++typedef unsigned long ulong; + #elif defined(__MACH__) || defined(__FreeBSD__) + # include <machine/endian.h> + typedef unsigned long ulong; diff --git a/dev-embedded/u-boot-tools/u-boot-tools-2019.10.ebuild b/dev-embedded/u-boot-tools/u-boot-tools-2019.10.ebuild index bcda5a2499b5..5e06655915d3 100644 --- a/dev-embedded/u-boot-tools/u-boot-tools-2019.10.ebuild +++ b/dev-embedded/u-boot-tools/u-boot-tools-2019.10.ebuild @@ -22,6 +22,8 @@ DEPEND=" S=${WORKDIR}/${MY_P} +PATCHES=("${FILESDIR}"/${P}-musl-ulong.patch) + src_compile() { # Unset a few KBUILD variables. Bug #540476 unset KBUILD_OUTPUT KBUILD_SRC |