1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
{
"id": "desktop-auto",
"load": true,
"supported_archs": [
"x86_64"
],
"supported_host_types": [
"ubuntu",
"fedora"
],
"flutter_runtime": "debug",
"type": "host",
"env": {
"HOMESCREEN_SRC_DIR": "${FLUTTER_WORKSPACE}/app/ivi-homescreen",
"HOMESCREEN_BUILD_DIR": "${FLUTTER_WORKSPACE}/app/ivi-homescreen/build",
"HOMESCREEN_CMAKE_ARGS": "-DCMAKE_BUILD_TYPE=Debug -DEXE_OUTPUT_NAME=flutter-auto -DSANITIZE_ADDRESS=OFF -DENABLE_DLT=OFF -DBUILD_UNIT_TESTS=OFF -DBUILD_DOCS=OFF -DBUILD_CRASH_HANDLER=OFF -DLLVM_ROOT=/usr -DPLUGINS_DIR=${FLUTTER_WORKSPACE}/app/ivi-homescreen-plugins -DENABLE_IVI_SHELL_CLIENT=OFF -DENABLE_XDG_CLIENT=ON -DENABLE_AGL_SHELL_CLIENT=ON -DENABLE_LTO=ON -DDEBUG_PLATFORM_MESSAGES=OFF -DBUILD_BACKEND_WAYLAND_EGL=ON -DBUILD_BACKEND_WAYLAND_VULKAN=OFF -DBUILD_EGL_TRANSPARENCY=ON -DBUILD_EGL_ENABLE_3D=ON -DBUILD_EGL_ENABLE_MULTISAMPLE=ON -DBUILD_PLUGIN_PDF=OFF -DBUILD_PLUGIN_FILAMENT_VIEW=OFF -DBUILD_PLUGIN_NAV_RENDER_VIEW=ON -DBUILD_PLUGIN_AUDIOPLAYERS_LINUX=ON -DBUILD_PLUGIN_URL_LAUNCHER=ON -DBUILD_PLUGIN_FILE_SELECTOR=ON -DBUILD_PLUGIN_CAMERA=OFF -DBUILD_PLUGIN_GO_ROUTER=ON -DBUILD_PLUGIN_SECURE_STORAGE=ON -DBUILD_PLUGIN_DESKTOP_WINDOW_LINUX=ON -DBUILD_WATCHDOG=OFF",
"HOMESCREEN_EXE": "SPDLOG_LEVEL=debug ${HOMESCREEN_BUILD_DIR}/shell/flutter-auto -b ${PLATFORM_ID_DIR_RELATIVE}",
"PING_CMD": "loginctl show-session $(awk '/tty/ {print $1}' <(loginctl)) -p Type",
"CREATE_BUNDLE_FOLDER": "mkdir -p ${PLATFORM_ID_DIR_RELATIVE}/data",
"COPY_PLATFORM_ID_TO_BUNDLE_FOLDER": "cp -r ${PLATFORM_ID_DIR}/config.toml ${PLATFORM_ID_DIR_RELATIVE}/",
"COPY_BUNDLE_FOLDER_TO_PLATOFRM_ID": "cp -r ${BUNDLE_FOLDER}/* ${PLATFORM_ID_DIR_RELATIVE}/",
"CREATE_ASSET_SYMLINK": "ln -rsf build/flutter_assets ${PLATFORM_ID_DIR_RELATIVE}/data/flutter_assets",
"STAGE_BUNDLE_FOLDER": "${CREATE_BUNDLE_FOLDER} && ${COPY_PLATFORM_ID_TO_BUNDLE_FOLDER} && ${COPY_BUNDLE_FOLDER_TO_PLATOFRM_ID} && ${CREATE_ASSET_SYMLINK}"
},
"runtime": {
"config": {
"global": {"cursor_theme": "DMZ-White"},
"view": {"width": 1024, "height": 768}
},
"pre-requisites": {
"x86_64": {
"ubuntu": {
"cmds": [
"sudo snap install cmake --classic",
"pip3 install clang",
"sudo add-apt-repository -y ppa:kisak/kisak-mesa",
"sudo apt update -y",
"sudo apt install lsb-release wget software-properties-common gnupg apt-file",
"sudo apt update",
"sudo apt install -y libwayland-dev wayland-protocols mesa-common-dev libegl1-mesa-dev libgles2-mesa-dev mesa-utils libxkbcommon-dev ninja-build",
"sudo apt install -y build-essential libvulkan-dev vulkan-tools vulkan-validationlayers vulkan-utils libtool libsecret-1-dev libsdl2-dev libjpeg-dev zenity",
"sudo apt install -y libllvm-ocaml-dev llvm llvm-dev llvm-runtime clang clang-tools libclang-dev libclang1 clang-format clangd clang-tidy lldb lld libc++-dev libc++abi-dev libunwind-dev libc++1 libc++abi1",
"sudo apt autoremove -y",
"sudo apt clean -y",
"cmake --version",
"apt-file search cmake"
]
},
"fedora": {
"cmds": [
"sudo dnf -y update",
"sudo dnf -y upgrade",
"sudo dnf -y install wayland-devel wayland-protocols-devel libxkbcommon-devel cmake ninja-build mesa-dri-drivers mesa-filesystem mesa-libEGL-devel mesa-libGL-devel mesa-libGLU-devel mesa-libgbm-devel mesa-libglapi mesa-libxatracker mesa-vulkan-drivers vulkan-tools 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 -y install libcxx-devel libcxx-static libcxxabi-devel libcxxabi-static ninja-build lld libtool SDL2-devel libsecret-devel zenity",
"sudo dnf -y autoremove",
"cmake --version",
"dnf provides cmake"
]
}
}
},
"post_cmds": [
{
"env": {
"CC": "/usr/bin/clang",
"CXX": "/usr/bin/clang++"
},
"cwd": "${HOMESCREEN_BUILD_DIR}",
"cmds": [
"cmake -GNinja ${HOMESCREEN_SRC_DIR} ${HOMESCREEN_CMAKE_ARGS}",
"ninja flutter-auto"
]
}
]
},
"overwrite-existing": true,
"custom-device": {
"id": "desktop-auto",
"label": "Toyota flutter-auto",
"sdkNameAndVersion": "flutter-auto x86_64",
"platform": "linux-x64",
"enabled": true,
"ping": "bash -c \"${PING_CMD}\"",
"pingSuccessRegex": "Type=wayland",
"postBuild": "bash -c \"rm -rf ${PLATFORM_ID_DIR_RELATIVE}\"",
"install": "bash -c \"${STAGE_BUNDLE_FOLDER}\"",
"uninstall": "bash -c \"rm -rf ${PLATFORM_ID_DIR_RELATIVE}\"",
"runDebug": "bash -c \"${HOMESCREEN_EXE}\"",
"forwardPort": null,
"forwardPortSuccessRegex": null,
"screenshot": null
}
}
|