app-id: io.github.imputnet.helium runtime: org.freedesktop.Platform runtime-version: '24.08' sdk: org.freedesktop.Sdk base: org.chromium.Chromium.BaseApp base-version: '24.08' command: chromium finish-args: - --require-version=1.8.2 - --device=all - --share=ipc - --share=network - --socket=cups - --socket=pcsc # FIDO2 - --socket=pulseaudio - --socket=x11 - --socket=wayland - --allow=bluetooth # FIDO2 CTAP hybrid transport - --system-talk-name=org.bluez - --system-talk-name=org.freedesktop.Avahi - --system-talk-name=org.freedesktop.UPower - --talk-name=com.canonical.AppMenu.Registrar - --talk-name=org.freedesktop.FileManager1 - --talk-name=org.freedesktop.Notifications - --talk-name=org.freedesktop.ScreenSaver - --talk-name=org.freedesktop.secrets - --talk-name=org.kde.kwalletd5 - --talk-name=org.kde.kwalletd6 - --talk-name=org.gnome.SessionManager - --talk-name=org.gnome.ScreenSaver - --talk-name=org.gnome.Mutter.IdleMonitor.* - --talk-name=org.cinnamon.ScreenSaver - --talk-name=org.mate.ScreenSaver - --talk-name=org.xfce.ScreenSaver - --own-name=org.mpris.MediaPlayer2.chromium.* - --filesystem=/run/.heim_org.h5l.kcm-socket - --filesystem=xdg-run/pipewire-0 # To install a PWA application - --filesystem=home/.local/share/applications:create - --filesystem=home/.local/share/icons:create # To allow installing shortcuts on the desktop - --filesystem=xdg-desktop # For default download directory to work as expected - --filesystem=xdg-download # For MPRIS media cover art - --filesystem=/tmp # For imported CA certificates - --persist=.pki # For GNOME proxy resolution - --filesystem=xdg-run/dconf - --filesystem=~/.config/dconf:ro - --talk-name=ca.desrt.dconf - --env=DCONF_USER_CONFIG_DIR=.config/dconf - --env=GIO_EXTRA_MODULES=/app/lib/gio/modules - --env=GSETTINGS_BACKEND=dconf # For KDE proxy resolution (KDE5 only) - --filesystem=~/.config/kioslaverc add-extensions: io.github.imputnet.helium-chromium.NativeMessagingHost: version: '1' directory: chromium/native-messaging-hosts merge-dirs: native-messaging-hosts subdirectories: true no-autodownload: true autodelete: true io.github.imputnet.helium-chromium.Extension: version: '1' directory: chromium/extensions merge-dirs: extensions;native-messaging-hosts;policies/managed;policies/recommended subdirectories: true no-autodownload: true autodelete: true io.github.imputnet.helium-chromium.Policy: version: '1' directory: chromium/policies merge-dirs: policies/managed;policies/recommended subdirectories: true no-autodownload: true autodelete: true build-options: append-path: /usr/lib/sdk/llvm20/bin:/usr/lib/sdk/rust-stable/bin append-ld-library-path: /usr/lib/sdk/rust-stable/lib env: # Use LLVM for builds AR: llvm-ar CC: clang CXX: clang++ NM: llvm-nm RANLIB: llvm-ranlib STRIP: llvm-strip # Point bindgen to LLVM's libclang LIBCLANG_PATH: /usr/lib/sdk/llvm20/lib # Paths to Node.js and OpenJDK NODE_HOME: /usr/lib/sdk/node22 JAVA_HOME: /usr/lib/sdk/openjdk # Allow the use of nightly features with stable Rust compiler # https://github.com/imputnet/helium-chromium/pull/2696#issuecomment-1918173198 RUSTC_BOOTSTRAP: '1' # Configure CCACHE for faster builds CCACHE_NOHASHDIR: 'true' CCACHE_SLOPPINESS: time_macros,include_file_ctime,include_file_mtime sdk-extensions: - org.freedesktop.Sdk.Extension.llvm20 - org.freedesktop.Sdk.Extension.node22 - org.freedesktop.Sdk.Extension.openjdk - org.freedesktop.Sdk.Extension.rust-stable modules: - name: clang-ccache-symlink buildsystem: simple build-commands: - | set -euxo pipefail [[ "${CCACHE_DIR}" = "/run/ccache" ]] || exit 0 ln -svf /usr/bin/ccache /run/ccache/bin/clang ln -svf /usr/bin/ccache /run/ccache/bin/clang++ - name: readelf-symlink only-arches: [aarch64] buildsystem: simple build-commands: # Chromium expects to find readelf with its full toolprefix on arm64 - ln -sfv /usr/bin/readelf "${FLATPAK_DEST}/bin/aarch64-linux-gnu-readelf" - name: extensions buildsystem: simple build-commands: - mkdir -pv "${FLATPAK_DEST}"/chromium/{extensions,native-messaging-hosts,policies} - for dir in native-messaging-hosts policies; do ln -sfv "${FLATPAK_DEST}/chromium/"{"${dir}",extensions}"/${dir}"; done - touch "${FLATPAK_DEST}/chromium/extensions/no-mount-stamp" - name: dconf buildsystem: meson config-opts: - -Dbash_completion=false - -Dman=false - -Dvapi=false cleanup: - /etc - /include - ca.desrt.dconf.service - dconf.service - dconf-service - '*.pc' sources: - type: archive url: https://download.gnome.org/sources/dconf/0.40/dconf-0.40.0.tar.xz sha256: cf7f22a4c9200421d8d3325c5c1b8b93a36843650c9f95d6451e20f0bcb24533 x-checker-data: type: gnome name: dconf stable-only: true - patches/dconf/_sources.json - name: chromium buildsystem: simple build-commands: - ./build.sh - ./install.sh sources: - type: git url: https://github.com/imputnet/helium-chromium commit: 47bc6ecca740b3a700865e0c1418a1802af4bba2 dest: uc - type: archive url: https://chromium-tarballs.distfiles.gentoo.org/chromium-137.0.7151.103-linux.tar.xz sha256: f5f051a30c732b21ce9957cdd7fe0a083623e19078a15ee20d49b27a5cb857e6 - patches/chromium/_sources.json - type: patch path: patches/pdfium-fix-build-with-system-libpng.patch options: - -d - third_party/pdfium - type: file path: io.github.imputnet.helium-chromium.desktop - type: file path: io.github.imputnet.helium-chromium.metainfo.xml - type: file path: chromium.sh - type: file path: cobalt.ini - type: dir path: build-aux - type: dir path: branding/to_copy