sys-kernel/linux-headers: fix 5.10 for musl (sysinfo.h)

Notably fixes btrfs-progs build.

Closes: https://bugs.gentoo.org/828726
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2021-12-30 09:37:33 +00:00
parent f186773857
commit 1ef3659212
2 changed files with 73 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
https://git.alpinelinux.org/aports/tree/main/linux-headers/0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch
https://bugs.gentoo.org/828726
From: rofl0r <retnyg@gmx.net>
Date: Mon, 20 Jan 2014 21:31:34 +0100
Subject: [PATCH 3/3] remove inclusion of sysinfo.h in kernel.h
the declaration of struct sysinfo clashes with userspace.
it's not quite clear why that header was included from kernel.h,
as none of its functionality is needed.
--- a/include/uapi/linux/kernel.h
+++ b/include/uapi/linux/kernel.h
@@ -2,7 +2,9 @@
#ifndef _UAPI_LINUX_KERNEL_H
#define _UAPI_LINUX_KERNEL_H
+#ifdef __GLIBC__
#include <linux/sysinfo.h>
+#endif
#include <linux/const.h>
#endif /* _UAPI_LINUX_KERNEL_H */

View File

@@ -0,0 +1,49 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
ETYPE="headers"
H_SUPPORTEDARCH="alpha amd64 arc arm arm64 avr32 cris frv hexagon hppa ia64 m68k metag microblaze mips mn10300 nios2 openrisc ppc ppc64 riscv s390 score sh sparc x86 xtensa"
inherit kernel-2 toolchain-funcs
detect_version
PATCH_PV=${PV} # to ease testing new versions against not existing patches
PATCH_VER="1"
SRC_URI="${KERNEL_URI}
${PATCH_VER:+mirror://gentoo/gentoo-headers-${PATCH_PV}-${PATCH_VER}.tar.xz}
${PATCH_VER:+https://dev.gentoo.org/~sam/distfiles/gentoo-headers-${PATCH_PV}-${PATCH_VER}.tar.xz}
"
S="${WORKDIR}"/linux-${PV}
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
BDEPEND="app-arch/xz-utils
dev-lang/perl"
src_unpack() {
unpack ${A}
}
src_prepare() {
[[ -n ${PATCH_VER} ]] && eapply "${WORKDIR}"/${PATCH_PV}/*.patch
if use elibc_musl ; then
# TODO: May need forward porting to newer versions
eapply "${FILESDIR}"/${PN}-5.10-Use-stddefs.h-instead-of-compiler.h.patch
eapply "${FILESDIR}"/${PN}-5.10-remove-inclusion-sysinfo.h.patch
fi
default
}
src_test() {
emake headers_check ${xmakeopts}
}
src_install() {
kernel-2_src_install
find "${ED}" '(' -name '.install' -o -name '*.cmd' ')' -delete
find "${ED}" -depth -type d -delete 2>/dev/null
}