From: Thomas Huth <[email protected]> The haiku VM bitrotted in the course of time. Make sure to use the latest version of the repositories here and install missing pieces like "pip" and "tomli" now.
We also have to add a little "hack" to our configure script: For some weird reasons, the meson binary shows up as pyvenv/non-packaged/bin/meson here, and not in the expected location pyvenv/bin/meson. Use a symlink to fix it. For this new version, we also have to compile with "-pie", otherwise the linker complains about bad relocations in the object files, so allow compiling with PIE in the configure script now. Signed-off-by: Thomas Huth <[email protected]> --- configure | 8 +++++++- tests/vm/haiku.x86_64 | 4 ++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/configure b/configure index 9d7fd13a98b..587cd2a2fe6 100755 --- a/configure +++ b/configure @@ -967,6 +967,12 @@ mkvenv="$python ${source_path}/python/scripts/mkvenv.py" $mkvenv ensuregroup --dir "${source_path}/python/wheels" \ ${source_path}/pythondeps.toml meson || exit 1 +# For some unknown reason, the meson binary shows up in the wrong +# folder on Haiku. Use a symlink to fix it. +if test "$host_os" = "haiku" && test ! -e pyvenv/bin/meson ; then + ln -s "$PWD"/pyvenv/non-packaged/bin/meson pyvenv/bin/meson +fi + # At this point, we expect Meson to be installed and available. # We expect mkvenv or pip to have created pyvenv/bin/meson for us. # We ignore PATH completely here: we want to use the venv's Meson @@ -1068,7 +1074,7 @@ static THREAD int tls_var; int main(void) { return tls_var; } EOF -if test "$host_os" = windows || test "$host_os" = haiku; then +if test "$host_os" = windows ; then if test "$pie" = "yes"; then error_exit "PIE not available due to missing OS support" fi diff --git a/tests/vm/haiku.x86_64 b/tests/vm/haiku.x86_64 index 71cf75a9a3e..529283c39f6 100755 --- a/tests/vm/haiku.x86_64 +++ b/tests/vm/haiku.x86_64 @@ -78,6 +78,8 @@ class HaikuVM(basevm.BaseVM): "devel:libusb_1.0", "devel:libz", "ninja", + "pip", + "tomli_python310", ] BUILD_SCRIPT = """ @@ -109,6 +111,8 @@ class HaikuVM(basevm.BaseVM): self.wait_ssh(wait_root=True, cmd="exit 0") # Install packages + self.ssh_root("echo yes | pkgman add-repo https://eu.hpkg.haiku-os.org/haiku/r1beta5/$(getarch)/current") + self.ssh_root("echo yes | pkgman add-repo https://eu.hpkg.haiku-os.org/haikuports/r1beta5/$(getarch)/current") self.ssh_root("pkgman install -y %s" % " ".join(self.requirements)) self.graceful_shutdown() -- 2.52.0
