dev-embedded/u-boot-tools: fix build on musl, bug #703132
authorSergei Trofimovich <slyfox@gentoo.org>
Mon, 16 Dec 2019 23:14:56 +0000 (23:14 +0000)
committerSergei Trofimovich <slyfox@gentoo.org>
Mon, 16 Dec 2019 23:15:10 +0000 (23:15 +0000)
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).

Reported-by: eroen
Closes: https://bugs.gentoo.org/703132
Package-Manager: Portage-2.3.82, Repoman-2.3.20
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
dev-embedded/u-boot-tools/files/u-boot-tools-2019.10-musl-ulong.patch [new file with mode: 0644]
dev-embedded/u-boot-tools/u-boot-tools-2019.10.ebuild

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 (file)
index 0000000..910e95a
--- /dev/null
@@ -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;
index bcda5a2499b58b76efbb31f9adf8068aea22dec0..5e06655915d3769fa783e62a9c2cf475db16987e 100644 (file)
@@ -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