From 05339eaed1433207dc0d237f59ec10578bd09559 Mon Sep 17 00:00:00 2001 From: Jamie Kerber Date: Wed, 8 Jul 2026 15:56:59 +0200 Subject: [PATCH 1/7] Removed kisak-mesa PPA Fixes #189 --- configs/wayland-mesa.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/configs/wayland-mesa.json b/configs/wayland-mesa.json index 91a2307..1c0c75a 100644 --- a/configs/wayland-mesa.json +++ b/configs/wayland-mesa.json @@ -18,8 +18,6 @@ "shell": true, "cmds": [ "sudo-apt-workspace install -yq lsb-release wget software-properties-common gnupg build-essential libtool", - "sudo add-apt-repository -y ppa:kisak/kisak-mesa", - "sudo-apt-workspace update -yq", "sudo-apt-workspace install -yq libxkbcommon-dev libwayland-dev wayland-protocols mesa-common-dev libegl1-mesa-dev libgles2-mesa-dev mesa-utils libsecret-1-dev libsdl2-dev libjpeg-dev zenity" ] }, @@ -37,8 +35,6 @@ "shell": true, "cmds": [ "sudo-apt-workspace install -yq lsb-release wget software-properties-common gnupg build-essential libtool", - "sudo add-apt-repository -y ppa:kisak/kisak-mesa", - "sudo-apt-workspace update -yq", "sudo-apt-workspace install -yq libxkbcommon-dev libwayland-dev wayland-protocols mesa-common-dev libegl1-mesa-dev libgles2-mesa-dev mesa-utils libsecret-1-dev libsdl2-dev libjpeg-dev zenity" ] }, From f8d9ebfe9370191e14e6745b9b496fcb2be3a5e4 Mon Sep 17 00:00:00 2001 From: Jamie Kerber Date: Wed, 8 Jul 2026 16:01:51 +0200 Subject: [PATCH 2/7] Fixed libtinfo5 dependency on ubuntu 24.04 --- configs/toolchain-llvm18_18.1.8.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/toolchain-llvm18_18.1.8.json b/configs/toolchain-llvm18_18.1.8.json index 883a2d0..75d105e 100644 --- a/configs/toolchain-llvm18_18.1.8.json +++ b/configs/toolchain-llvm18_18.1.8.json @@ -116,7 +116,7 @@ "shell": true, "cmds": [ "if [ $(lsb_release -rs) = \"22.04\" ]; then sudo-apt-workspace install -yq libtinfo5; fi", - "if [ $(lsb_release -rs) = \"24.04\" ]; then wget http://security.ubuntu.com/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb -O /tmp/libtinfo5_6.3-2ubuntu0.1_amd64.deb && sudo apt install /tmp/libtinfo5_6.3-2ubuntu0.1_amd64.deb; fi", + "if [ $(lsb_release -rs) = \"24.04\" ]; then wget http://security.ubuntu.com/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.2_amd64.deb -O /tmp/libtinfo5_6.3-2ubuntu0.2_amd64.deb && sudo apt install /tmp/libtinfo5_6.3-2ubuntu0.2_amd64.deb; fi", "sudo-apt-workspace remove libunwind-* -yq || true", "mkdir -p ${LLVM_BASE_DIR}", "tar -xf \"${ARTIFACTS_DIR}/clang+llvm-${LLVM_VERSION}-x86_64-linux-gnu-ubuntu-18.04.tar.xz\" --strip-components=1", From 9bfa6160e92ba12ee3c17a44a28085d029c0f8d9 Mon Sep 17 00:00:00 2001 From: Jamie Kerber Date: Wed, 8 Jul 2026 16:11:26 +0200 Subject: [PATCH 3/7] Fixed missing setup dependencies for Ubuntu --- configs/toolchain-llvm18_18.1.8.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/configs/toolchain-llvm18_18.1.8.json b/configs/toolchain-llvm18_18.1.8.json index 75d105e..bb95253 100644 --- a/configs/toolchain-llvm18_18.1.8.json +++ b/configs/toolchain-llvm18_18.1.8.json @@ -55,6 +55,7 @@ "cwd": "${LLVM_BASE_DIR}", "shell": true, "cmds": [ + "sudo-apt-workspace install -yq lsb-release wget software-properties-common gnupg apt-file build-essential libtool", "if [ $(lsb_release -rs) = \"22.04\" ]; then sudo-apt-workspace install -yq libtinfo5; fi", "sudo-apt-workspace remove libunwind-* -yq || true", "mkdir -p ${LLVM_BASE_DIR}", @@ -115,6 +116,7 @@ "cwd": "${LLVM_BASE_DIR}", "shell": true, "cmds": [ + "sudo-apt-workspace install -yq lsb-release wget software-properties-common gnupg apt-file build-essential libtool", "if [ $(lsb_release -rs) = \"22.04\" ]; then sudo-apt-workspace install -yq libtinfo5; fi", "if [ $(lsb_release -rs) = \"24.04\" ]; then wget http://security.ubuntu.com/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.2_amd64.deb -O /tmp/libtinfo5_6.3-2ubuntu0.2_amd64.deb && sudo apt install /tmp/libtinfo5_6.3-2ubuntu0.2_amd64.deb; fi", "sudo-apt-workspace remove libunwind-* -yq || true", From 561429dcf20421533a8f0358ea996bbc0b98c6ff Mon Sep 17 00:00:00 2001 From: Jamie Kerber Date: Wed, 8 Jul 2026 15:47:49 +0200 Subject: [PATCH 4/7] Fixed missing dependency for ivi-homescreen/wayland-cxx-scanner --- configs/desktop-homescreen.json | 62 +++++++-------------------------- 1 file changed, 12 insertions(+), 50 deletions(-) diff --git a/configs/desktop-homescreen.json b/configs/desktop-homescreen.json index 05ad182..5580074 100644 --- a/configs/desktop-homescreen.json +++ b/configs/desktop-homescreen.json @@ -95,32 +95,13 @@ "shell": true, "cmds": [ "sudo-apt-workspace update -y", - "sudo-apt-workspace install -yq --no-install-recommends libsystemd-dev", + "sudo-apt-workspace install -yq --no-install-recommends libpugixml-dev libsystemd-dev", "if [ -n \"$GITHUB_ACTIONS\" ]; then sudo-apt-workspace install -yq flatpak libflatpak-dev gnome-software-plugin-flatpak; fi", "if [ -n \"$GITHUB_ACTIONS\" ]; then sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo; fi", - "if [ -n \"$GITHUB_ACTIONS\" ]; then flatpak remotes; fi" - ], - "20.04": { - "cmds": [ - "echo \"Ubuntu 20.04\"", - "sudo-apt-workspace install -yq --no-install-recommends libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-alsa gstreamer1.0-gl", - "pkg-config --modversion gstreamer-1.0 gstreamer-audio-1.0" - ] - }, - "22.04": { - "cmds": [ - "echo \"Ubuntu 22.04\"", - "sudo-apt-workspace install -yq --no-install-recommends libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-alsa gstreamer1.0-gl", - "pkg-config --modversion gstreamer-1.0 gstreamer-audio-1.0" - ] - }, - "24.04": { - "cmds": [ - "echo \"Ubuntu 24.04\"", - "sudo-apt-workspace install -yq --no-install-recommends libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-alsa gstreamer1.0-gl", - "pkg-config --modversion gstreamer-1.0 gstreamer-audio-1.0" - ] - } + "if [ -n \"$GITHUB_ACTIONS\" ]; then flatpak remotes; fi", + "sudo-apt-workspace install -yq --no-install-recommends libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-alsa gstreamer1.0-gl", + "pkg-config --modversion gstreamer-1.0 gstreamer-audio-1.0" + ] } }, "x86_64": { @@ -128,39 +109,20 @@ "shell": true, "cmds": [ "sudo-apt-workspace update -y", - "sudo-apt-workspace install -yq --no-install-recommends libsystemd-dev", + "sudo-apt-workspace install -yq --no-install-recommends libpugixml-dev libsystemd-dev", "if [ -n \"$GITHUB_ACTIONS\" ]; then sudo-apt-workspace install -yq flatpak libflatpak-dev gnome-software-plugin-flatpak; fi", "if [ -n \"$GITHUB_ACTIONS\" ]; then sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo; fi", - "if [ -n \"$GITHUB_ACTIONS\" ]; then flatpak remotes; fi" - ], - "20.04": { - "cmds": [ - "echo \"Ubuntu 20.04\"", - "sudo-apt-workspace install -yq --no-install-recommends libgstreamer1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-alsa gstreamer1.0-gl", - "pkg-config --modversion gstreamer-1.0 gstreamer-audio-1.0" - ] - }, - "22.04": { - "cmds": [ - "echo \"Ubuntu 22.04\"", - "sudo-apt-workspace install -yq --no-install-recommends libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-alsa gstreamer1.0-gl", - "pkg-config --modversion gstreamer-1.0 gstreamer-audio-1.0" - ] - }, - "24.04": { - "cmds": [ - "echo \"Ubuntu 24.04\"", - "sudo-apt-workspace install -yq --no-install-recommends libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-alsa gstreamer1.0-gl", - "pkg-config --modversion gstreamer-1.0 gstreamer-audio-1.0" - ] - } + "if [ -n \"$GITHUB_ACTIONS\" ]; then flatpak remotes; fi", + "sudo-apt-workspace install -yq --no-install-recommends libgstreamer1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-alsa gstreamer1.0-gl", + "pkg-config --modversion gstreamer-1.0 gstreamer-audio-1.0" + ] }, "fedora": { "shell": true, "cmds": [ "sudo-dnf-workspace update -y", "sudo-dnf-workspace -yq install SDL2-devel libsecret-devel zenity systemd-devel ", - "sudo-dnf-workspace -yq install libunwind-devel gstreamer1-devel gstreamer1-plugins-base-devel gstreamer1-plugins-bad-free-devel gstreamer1-plugins-bad-free-extras gstreamer1-plugins-base-tools gstreamer1-plugins-good gstreamer1-plugins-good-extras gstreamer1-plugins-ugly-free", + "sudo-dnf-workspace -yq install pugixml-devel libunwind-devel gstreamer1-devel gstreamer1-plugins-base-devel gstreamer1-plugins-bad-free-devel gstreamer1-plugins-bad-free-extras gstreamer1-plugins-base-tools gstreamer1-plugins-good gstreamer1-plugins-good-extras gstreamer1-plugins-ugly-free", "sudo-dnf-workspace -yq install flatpak", "if command -v flatpak >/dev/null 2>&1; then flatpak remote-add --if-not-exists --user flathub https://dl.flathub.org/repo/flathub.flatpakrepo || echo 'Flatpak remote add failed, continuing...'; fi", "if command -v flatpak >/dev/null 2>&1; then flatpak update --noninteractive --user || echo 'Flatpak update failed, continuing...'; fi", @@ -171,7 +133,7 @@ "cmds": [ "sudo-dnf-workspace update -y", "sudo-dnf-workspace -y install zenity systemd-devel", - "sudo-dnf-workspace -y install libunwind-devel gstreamer1-devel gstreamer1-plugins-base-devel gstreamer1-plugins-bad-free-devel gstreamer1-plugins-base-tools gstreamer1-plugins-good gstreamer1-plugins-ugly-free", + "sudo-dnf-workspace -y install pugixml-devel libunwind-devel gstreamer1-devel gstreamer1-plugins-base-devel gstreamer1-plugins-bad-free-devel gstreamer1-plugins-base-tools gstreamer1-plugins-good gstreamer1-plugins-ugly-free", "sudo-dnf-workspace -y install flatpak", "if command -v flatpak >/dev/null 2>&1; then flatpak remote-add --if-not-exists --user flathub https://dl.flathub.org/repo/flathub.flatpakrepo || echo 'Flatpak remote add failed, continuing...'; fi", "if command -v flatpak >/dev/null 2>&1; then flatpak update --noninteractive --user || echo 'Flatpak update failed, continuing...'; fi", From e73343d4730d9fd62b3d4535b0821d1d0dc1c694 Mon Sep 17 00:00:00 2001 From: Jamie Kerber Date: Wed, 8 Jul 2026 16:56:42 +0200 Subject: [PATCH 5/7] Fixed OS_LIBPATH missing at setup-time --- common.py | 7 ++++++- configs/desktop-homescreen.json | 2 +- configs/toolchain-llvm18_18.1.8.json | 3 ++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/common.py b/common.py index 0ca71fe..86ed4e5 100755 --- a/common.py +++ b/common.py @@ -19,7 +19,12 @@ def get_host_machine_arch(): os.environ['HOST_ARCH'] = platform.machine() - return platform.machine() + machine = platform.machine() + if sys.platform == 'darwin': + os.environ['OS_LIBPATH'] = f'{machine}-apple-darwin' + else: + os.environ['OS_LIBPATH'] = f'{machine}-unknown-linux-gnu' + return machine def get_flutter_arch(): diff --git a/configs/desktop-homescreen.json b/configs/desktop-homescreen.json index 5580074..b00a9c3 100644 --- a/configs/desktop-homescreen.json +++ b/configs/desktop-homescreen.json @@ -15,7 +15,7 @@ "CC": "${LLVM_BINDIR}/clang", "CXX": "${LLVM_BINDIR}/clang++", "PATH": "${FLUTTER_WORKSPACE}/.tmp/toolchain-common-ninja:${FLUTTER_WORKSPACE}/.tmp/toolchain-common-cmake/bin:$PATH", - "LD_LIBRARY_PATH": "${LLVM_LIBDIR}:${FLUTTER_WORKSPACE}/.tmp/toolchain-common-cmake/lib", + "LD_LIBRARY_PATH": "${LLVM_LIBDIR}:${LLVM_LIBDIR}/${OS_LIBPATH}:${FLUTTER_WORKSPACE}/.tmp/toolchain-common-cmake/lib", "HOMESCREEN_SRC_DIR": "${FLUTTER_WORKSPACE}/app/ivi-homescreen", "HOMESCREEN_BUILD_DIR": "${FLUTTER_WORKSPACE}/app/ivi-homescreen/build", "PLUGINS_DIR": "${FLUTTER_WORKSPACE}/app/ivi-homescreen-plugins/plugins", diff --git a/configs/toolchain-llvm18_18.1.8.json b/configs/toolchain-llvm18_18.1.8.json index bb95253..1118924 100644 --- a/configs/toolchain-llvm18_18.1.8.json +++ b/configs/toolchain-llvm18_18.1.8.json @@ -22,7 +22,8 @@ "LLVM_CONFIG": "${LLVM_BINDIR}/llvm-config", "PATH": "${LLVM_BINDIR}:$PATH", "CXXFLAGS": "-stdlib=libc++ -lc++abi", - "LD_LIBRARY_PATH": "${LLVM_LIBDIR}:$LD_LIBRARY_PATH" + "LD_LIBRARY_PATH": "${LLVM_LIBDIR}:${LLVM_LIBDIR}/${OS_LIBPATH}:$LD_LIBRARY_PATH", + "LIBRARY_PATH": "${LLVM_LIBDIR}/${OS_LIBPATH}:$LIBRARY_PATH" }, "append_to_runtime_env": { "common": [ From 5a5b042ceba918c10e3ef238e5a24d42b1e8280e Mon Sep 17 00:00:00 2001 From: Jamie Kerber Date: Wed, 8 Jul 2026 19:26:05 +0200 Subject: [PATCH 6/7] Fixed Flutter cache symlink --- flutter_workspace.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/flutter_workspace.py b/flutter_workspace.py index 681e1f8..f3105dc 100755 --- a/flutter_workspace.py +++ b/flutter_workspace.py @@ -514,10 +514,17 @@ def main(): flutter_bin_cache = os.path.join(flutter_sdk_path, 'bin', 'cache') sdk_cache_dir = str(get_cache_folder() / 'flutter-sdk-cache') os.makedirs(sdk_cache_dir, exist_ok=True) - if not os.path.islink(flutter_bin_cache): + # Use a relative symlink so it resolves correctly regardless of mount point (e.g. Docker). + rel_cache_target = os.path.relpath(sdk_cache_dir, os.path.dirname(flutter_bin_cache)) + if os.path.islink(flutter_bin_cache): + # Remove and recreate if the existing symlink doesn't match the desired relative target. + if os.readlink(flutter_bin_cache) != rel_cache_target: + os.remove(flutter_bin_cache) + os.symlink(rel_cache_target, flutter_bin_cache) + else: if os.path.isdir(flutter_bin_cache): shutil.rmtree(flutter_bin_cache) - os.symlink(sdk_cache_dir, flutter_bin_cache) + os.symlink(rel_cache_target, flutter_bin_cache) # force tool rebuild force_tool_rebuild(flutter_sdk_folder) From 7982b0f24db70752c10ae05efa714e0d2a0cb095 Mon Sep 17 00:00:00 2001 From: Jamie Kerber Date: Wed, 8 Jul 2026 20:10:53 +0200 Subject: [PATCH 7/7] Added missing build dependency --- configs/desktop-homescreen.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configs/desktop-homescreen.json b/configs/desktop-homescreen.json index b00a9c3..61c132d 100644 --- a/configs/desktop-homescreen.json +++ b/configs/desktop-homescreen.json @@ -121,7 +121,7 @@ "shell": true, "cmds": [ "sudo-dnf-workspace update -y", - "sudo-dnf-workspace -yq install SDL2-devel libsecret-devel zenity systemd-devel ", + "sudo-dnf-workspace -yq install SDL2-devel libsecret-devel zenity systemd-devel libatomic", "sudo-dnf-workspace -yq install pugixml-devel libunwind-devel gstreamer1-devel gstreamer1-plugins-base-devel gstreamer1-plugins-bad-free-devel gstreamer1-plugins-bad-free-extras gstreamer1-plugins-base-tools gstreamer1-plugins-good gstreamer1-plugins-good-extras gstreamer1-plugins-ugly-free", "sudo-dnf-workspace -yq install flatpak", "if command -v flatpak >/dev/null 2>&1; then flatpak remote-add --if-not-exists --user flathub https://dl.flathub.org/repo/flathub.flatpakrepo || echo 'Flatpak remote add failed, continuing...'; fi", @@ -132,7 +132,7 @@ "rhel": { "cmds": [ "sudo-dnf-workspace update -y", - "sudo-dnf-workspace -y install zenity systemd-devel", + "sudo-dnf-workspace -y install zenity systemd-devel libatomic", "sudo-dnf-workspace -y install pugixml-devel libunwind-devel gstreamer1-devel gstreamer1-plugins-base-devel gstreamer1-plugins-bad-free-devel gstreamer1-plugins-base-tools gstreamer1-plugins-good gstreamer1-plugins-ugly-free", "sudo-dnf-workspace -y install flatpak", "if command -v flatpak >/dev/null 2>&1; then flatpak remote-add --if-not-exists --user flathub https://dl.flathub.org/repo/flathub.flatpakrepo || echo 'Flatpak remote add failed, continuing...'; fi",