merge in thead-V1.1.2 changes

Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
This commit is contained in:
Robert Nelson
2023-06-09 14:12:51 -05:00
parent d5628ffd5a
commit 948e017d66
13 changed files with 109 additions and 1 deletions

View File

@@ -135,3 +135,10 @@ COMPATIBLE_HOST:pn-pidgin-sipe:riscv32 = "null"
# needs swapcontext/makecontext/getcontext which are
# not yet implemented in linucontext for rv32
COMPATIBLE_HOST:pn-capnproto:libc-musl:riscv32 = "null"
COMPATIBLE_HOST:pn-libacpi = '(x86_64|i.86|riscv32|riscv64).*-(linux|freebsd.*)'
COMPATIBLE_HOST:pn-efivar = "(i.86|x86_64|arm|aarch64|riscv64|riscv32).*-linux"
COMPATIBLE_HOST:pn-efibootmgr = "(i.86|x86_64|arm|aarch64|riscv64|riscv32).*-linux"
COMPATIBLE_HOST:pn-dmidecode = "(i.86|x86_64|aarch64|arm|powerpc|powerpc64|riscv32|riscv64).*-linux"
COMPATIBLE_HOST:pn-acpica = "(i.86|x86_64|arm|aarch64|riscv64|riscv32).*-linux"
COMPATIBLE_HOST:pn-systemd = "(x86_64.*|i.86.*|riscv.*)-linux"

View File

@@ -0,0 +1,5 @@
deb http://mirrors.aliyun.com/debian-ports sid main
deb http://mirrors.aliyun.com/debian-ports unreleased main
deb http://mirrors.aliyun.com/thead/debian-riscv64 sid main

View File

@@ -0,0 +1,10 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/apt:"
SRC_URI:append_ice = " \
file://sources.list \
"
do_install:append_ice() {
if [ -f "${WORKDIR}/sources.list" ]; then
cp -rf ${WORKDIR}/sources.list ${D}/etc/apt/
fi
}

View File

@@ -0,0 +1,3 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/libtool:"
SRC_URI += "file://9999-fix-thead.patch"

View File

@@ -0,0 +1,3 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/libtool:"
SRC_URI += "file://9999-fix-thead.patch"

View File

@@ -0,0 +1,12 @@
diff -Nur libtool-2.4.6/m4/libtool.m4 libtool-2.4.6-fix/m4/libtool.m4
--- libtool-2.4.6/m4/libtool.m4 2020-09-16 12:50:36.486764205 +0000
+++ libtool-2.4.6-fix/m4/libtool.m4 2020-09-16 13:46:53.272622322 +0000
@@ -2303,7 +2303,7 @@
mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
*) lt_sed_strip_eq='s|=/|/|g' ;;
esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq -e "s/lib\/\.\.\/lib64xthead\/lp64d/lib64xthead\/lp64d/g" -e "s/lp64d\/\.\.\/lib64xthead\/lp64d/lp64d/g" -e "s/lib64xthead\/lib64xthead/lib64xthead/g"`
case $lt_search_path_spec in
*\;*)
# if the path contains ";" then we assume it to be the separator

View File

@@ -0,0 +1,3 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/libtool:"
SRC_URI += "file://9999-fix-thead.patch"

View File

@@ -0,0 +1,3 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/libtool:"
SRC_URI += "file://9999-fix-thead.patch"

View File

@@ -0,0 +1,44 @@
diff -Nur a/mesonbuild/compilers/mixins/elbrus.py b/mesonbuild/compilers/mixins/elbrus.py
--- a/mesonbuild/compilers/mixins/elbrus.py 2022-11-14 16:29:47.894160723 +0800
+++ b/mesonbuild/compilers/mixins/elbrus.py 2022-11-14 16:30:04.566798564 +0800
@@ -47,7 +47,7 @@
def get_library_dirs(self, env: 'Environment', elf_class: T.Optional[int] = None) -> T.List[str]:
os_env = os.environ.copy()
os_env['LC_ALL'] = 'C'
- stdo = Popen_safe(self.exelist + ['--print-search-dirs'], env=os_env)[1]
+ stdo = stdo.replace("lib/../lib64xthead/", "lib64xthead").replace("lp64d/../lib64xthead/", "").replace("lib64xthead/lib64xthead/", "")
for line in stdo.split('\n'):
if line.startswith('libraries:'):
# lcc does not include '=' in --print-search-dirs output. Also it could show nonexistent dirs.
@@ -58,7 +58,7 @@
def get_program_dirs(self, env: 'Environment') -> T.List[str]:
os_env = os.environ.copy()
os_env['LC_ALL'] = 'C'
- stdo = Popen_safe(self.exelist + ['--print-search-dirs'], env=os_env)[1]
+ stdo = stdo.replace("lib/../lib64xthead/", "lib64xthead").replace("lp64d/../lib64xthead/", "").replace("lib64xthead/lib64xthead/", "")
for line in stdo.split('\n'):
if line.startswith('programs:'):
# lcc does not include '=' in --print-search-dirs output.
diff -Nur a/mesonbuild/compilers/mixins/gnu.py b/mesonbuild/compilers/mixins/gnu.py
--- a/mesonbuild/compilers/mixins/gnu.py 2020-08-15 16:27:05.000000000 +0000
+++ b/mesonbuild/compilers/mixins/gnu.py 2020-09-17 04:30:31.621394648 +0000
@@ -234,7 +234,7 @@
with self._build_wrapper('', env, extra_args=extra_args,
dependencies=None, mode='compile',
want_output=True) as p:
- return p.stdout
+ return p.stdout.replace("lib/../lib64xthead/", "lib64xthead").replace("lp64d/../lib64xthead/", "").replace("lib64xthead/lib64xthead/", "")
def _split_fetch_real_dirs(self, pathstr: str) -> T.List[str]:
# We need to use the path separator used by the compiler for printing
diff -Nur a/mesonbuild/environment.py b/mesonbuild/environment.py
--- a/mesonbuild/environment.py 2020-09-17 04:28:27.469399864 +0000
+++ b/mesonbuild/environment.py 2020-09-17 03:49:08.282498990 +0000
@@ -853,6 +853,7 @@
p, out, _ = Popen_safe(comp.get_exelist() + ['-print-search-dirs'])
if p.returncode != 0:
raise mesonlib.MesonException('Could not calculate system search dirs')
+ out = out.replace("lib/../lib64xthead/", "lib64xthead").replace("lp64d/../lib64xthead/", "").replace("lib64xthead/lib64xthead/", "")
out = out.split('\n')[index].lstrip('libraries: =').split(':')
return [os.path.normpath(p) for p in out]

View File

@@ -0,0 +1,3 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/meson:"
SRC_URI += "file://0004-thead.patch"

View File

@@ -0,0 +1,4 @@
do_configure:prepend() {
cp -rf ${QEMU_TOOLCHAIN_PATH}/* ${WORKDIR}/recipe-sysroot-native/usr/bin/
}

View File

@@ -0,0 +1,10 @@
SUMMARY = "Middleware layer between GObject-using C libraries and language bindings"
DESCRIPTION = "GObject Introspection is a project for providing machine \
readable introspection data of the API of C libraries. This introspection \
data can be used in several different use cases, for example automatic code \
generation for bindings, API verification and documentation generation."
HOMEPAGE = "https://wiki.gnome.org/action/show/Projects/GObjectIntrospection"
do_configure:prepend() {
cp -rf ${QEMU_TOOLCHAIN_PATH}/* ${WORKDIR}/recipe-sysroot-native/usr/bin/
}

View File

@@ -6,7 +6,8 @@ PV = "${LINUX_VERSION}+git${SRCPV}"
BRANCH = "linux-5.18.y"
SRCREV = "${AUTOREV}"
SRCPV = "${@bb.fetch2.get_srcrev(d)}"
# SRCPV sometimes fails to get,the requested URL returned error: 503.
# SRCPV = "${@bb.fetch2.get_srcrev(d)}"
SRC_URI = " \
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git;branch=${BRANCH} \
"