%PDF- %PDF-
| Direktori : /snap/firefox/6700/snap/ |
| Current File : //snap/firefox/6700/snap/manifest.yaml |
snapcraft-version: 8.11.1
snapcraft-started-at: '2025-08-21T15:16:34.392783Z'
snapcraft-os-release-id: ubuntu
snapcraft-os-release-version-id: '22.04'
name: firefox
version: 142.0-1
summary: Mozilla Firefox web browser
description: Firefox is a powerful, extensible web browser with support for modern
web application technologies.
base: core22
grade: stable
confinement: strict
apps:
firefox:
command: firefox.launcher
desktop: firefox.desktop
slots:
- dbus-daemon
- mpris
plugs:
- desktop
- desktop-legacy
- gsettings
- opengl
- wayland
- x11
- alsa
- audio-playback
- audio-record
- avahi-observe
- browser-sandbox
- camera
- cups-control
- hardware-observe
- home
- host-hunspell
- host-usr-share-hunspell
- joystick
- login-session-observe
- mount-observe
- network
- network-observe
- pcscd
- removable-media
- screen-inhibit-control
- system-packages-doc
- u2f-devices
- unity7
- upower-observe
environment:
DICPATH: $SNAP_COMMON/snap-hunspell
GTK_USE_PORTAL: '1'
HOME: $SNAP_USER_COMMON
PIPEWIRE_CONFIG_NAME: $SNAP/usr/share/pipewire/pipewire.conf
PIPEWIRE_MODULE_DIR: $SNAP/usr/lib/x86_64-linux-gnu/pipewire-0.3
SPA_PLUGIN_DIR: $SNAP/usr/lib/x86_64-linux-gnu/spa-0.2
SPEECHD_ADDRESS: unix_socket:/run/user/$SNAP_UID/speech-dispatcher/speechd.sock
MOZ_APP_REMOTINGNAME: firefox_firefox
MOZ_LEGACY_HOME: '1'
command-chain:
- snap/command-chain/desktop-launch
geckodriver:
command: usr/lib/firefox/geckodriver
slots:
- dbus-daemon
- mpris
plugs:
- desktop
- desktop-legacy
- gsettings
- opengl
- wayland
- x11
- network-bind
- audio-playback
- audio-record
- avahi-observe
- browser-sandbox
- camera
- cups-control
- hardware-observe
- home
- host-hunspell
- host-usr-share-hunspell
- joystick
- login-session-observe
- network
- network-observe
- pcscd
- removable-media
- screen-inhibit-control
- system-packages-doc
- u2f-devices
- unity7
- upower-observe
command-chain:
- snap/command-chain/desktop-launch
parts:
rust:
plugin: nil
build-packages:
- wget
override-pull: |
# Do not use rustup to work around https://forum.snapcraft.io/t/armhf-builds-on-launchpad-timing-out/31008
REQUIRED_RUST_VERSION=1.82.0
ROOT=https://static.rust-lang.org/dist/rust-$REQUIRED_RUST_VERSION
if [ amd64 = "amd64" ]; then
BINARIES_SUFFIX=x86_64-unknown-linux-gnu
elif [ amd64 = "armhf" ]; then
BINARIES_SUFFIX=armv7-unknown-linux-gnueabihf
elif [ amd64 = "arm64" ]; then
BINARIES_SUFFIX=aarch64-unknown-linux-gnu
elif [ amd64 = "riscv64" ]; then
BINARIES_SUFFIX=riscv64gc-unknown-linux-gnu
fi
wget -O - $ROOT-$BINARIES_SUFFIX.tar.gz | tar -x -z --strip-components=1
./install.sh --prefix=/usr --destdir=/build/firefox/stage
override-prime: ''
build-environment:
- PATH: /snap/gnome-42-2204-sdk/current/usr/bin${PATH:+:$PATH}
- XDG_DATA_DIRS: /build/firefox/stage/usr/share:/snap/gnome-42-2204-sdk/current/usr/share:/usr/share${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}
- LD_LIBRARY_PATH: /snap/gnome-42-2204-sdk/current/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib:/snap/gnome-42-2204-sdk/current/usr/lib/vala-current:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pulseaudio${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
- PKG_CONFIG_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/lib/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/share/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
- GETTEXTDATADIRS: /snap/gnome-42-2204-sdk/current/usr/share/gettext-current${GETTEXTDATADIRS:+:$GETTEXTDATADIRS}
- GDK_PIXBUF_MODULE_FILE: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gdk-pixbuf-current/loaders.cache
- ACLOCAL_PATH: /snap/gnome-42-2204-sdk/current/usr/share/aclocal${ACLOCAL_PATH:+:$ACLOCAL_PATH}
- PYTHONPATH: /snap/gnome-42-2204-sdk/current/usr/lib/python3.10:/snap/gnome-42-2204-sdk/current/usr/lib/python3/dist-packages:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gobject-introspection${PYTHONPATH:+:$PYTHONPATH}
- GI_TYPELIB_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/girepository-1.0:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}
- CMAKE_PREFIX_PATH: /build/firefox/stage/usr:/snap/gnome-42-2204-sdk/current/usr${CMAKE_PREFIX_PATH:+:$CMAKE_PREFIX_PATH}
stage-packages: []
stage: []
prime: []
cbindgen:
plugin: nil
after:
- rust
override-build: |
craftctl default
cargo install cbindgen
override-prime: ''
build-environment:
- PATH: /snap/gnome-42-2204-sdk/current/usr/bin${PATH:+:$PATH}
- XDG_DATA_DIRS: /build/firefox/stage/usr/share:/snap/gnome-42-2204-sdk/current/usr/share:/usr/share${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}
- LD_LIBRARY_PATH: /snap/gnome-42-2204-sdk/current/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib:/snap/gnome-42-2204-sdk/current/usr/lib/vala-current:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pulseaudio${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
- PKG_CONFIG_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/lib/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/share/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
- GETTEXTDATADIRS: /snap/gnome-42-2204-sdk/current/usr/share/gettext-current${GETTEXTDATADIRS:+:$GETTEXTDATADIRS}
- GDK_PIXBUF_MODULE_FILE: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gdk-pixbuf-current/loaders.cache
- ACLOCAL_PATH: /snap/gnome-42-2204-sdk/current/usr/share/aclocal${ACLOCAL_PATH:+:$ACLOCAL_PATH}
- PYTHONPATH: /snap/gnome-42-2204-sdk/current/usr/lib/python3.10:/snap/gnome-42-2204-sdk/current/usr/lib/python3/dist-packages:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gobject-introspection${PYTHONPATH:+:$PYTHONPATH}
- GI_TYPELIB_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/girepository-1.0:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}
- CMAKE_PREFIX_PATH: /build/firefox/stage/usr:/snap/gnome-42-2204-sdk/current/usr${CMAKE_PREFIX_PATH:+:$CMAKE_PREFIX_PATH}
stage-packages: []
stage: []
prime: []
build-packages: []
clang:
plugin: nil
build-packages:
- binutils-dev
- cmake
- libtinfo5
- make
- wget
build-environment:
- PATH: /snap/gnome-42-2204-sdk/current/usr/bin${PATH:+:$PATH}
- XDG_DATA_DIRS: /build/firefox/stage/usr/share:/snap/gnome-42-2204-sdk/current/usr/share:/usr/share${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}
- LD_LIBRARY_PATH: /snap/gnome-42-2204-sdk/current/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib:/snap/gnome-42-2204-sdk/current/usr/lib/vala-current:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pulseaudio${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
- PKG_CONFIG_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/lib/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/share/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
- GETTEXTDATADIRS: /snap/gnome-42-2204-sdk/current/usr/share/gettext-current${GETTEXTDATADIRS:+:$GETTEXTDATADIRS}
- GDK_PIXBUF_MODULE_FILE: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gdk-pixbuf-current/loaders.cache
- ACLOCAL_PATH: /snap/gnome-42-2204-sdk/current/usr/share/aclocal${ACLOCAL_PATH:+:$ACLOCAL_PATH}
- PYTHONPATH: /snap/gnome-42-2204-sdk/current/usr/lib/python3.10:/snap/gnome-42-2204-sdk/current/usr/lib/python3/dist-packages:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gobject-introspection${PYTHONPATH:+:$PYTHONPATH}
- GI_TYPELIB_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/girepository-1.0:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}
- CMAKE_PREFIX_PATH: /build/firefox/stage/usr:/snap/gnome-42-2204-sdk/current/usr${CMAKE_PREFIX_PATH:+:$CMAKE_PREFIX_PATH}
- LLVM_RELEASE: 16.0.4
override-pull: |
ROOT=https://github.com/llvm/llvm-project/releases/download/llvmorg-$LLVM_RELEASE
# Download the binaries
BINARIES_BASENAME=clang+llvm-$LLVM_RELEASE
if [ amd64 = "amd64" ]; then
BINARIES_SUFFIX=x86_64-linux-gnu-ubuntu-22.04.tar.xz
elif [ amd64 = "armhf" ]; then
BINARIES_SUFFIX=armv7a-linux-gnueabihf.tar.xz
elif [ amd64 = "arm64" ]; then
BINARIES_SUFFIX=aarch64-linux-gnu.tar.xz
fi
# Github introduced a time-out that causes this pull to fail in ARMv8
# Launchpad builders. Use -c to continue a failed pull. Give up after
# 6 attempts.
i=0
until wget -cO llvm.tar.xz $ROOT/$BINARIES_BASENAME-$BINARIES_SUFFIX; do
i=$((i+1))
test [ "$i" = 6 ] && exit 53
done
tar -xf llvm.tar.xz
rm llvm.tar.xz
# And cmake-$LLVM_RELEASE.src needed on LLVM >= 15.0.0
wget -O - $ROOT/cmake-$LLVM_RELEASE.src.tar.xz | tar -x --xz
mv cmake-$LLVM_RELEASE.src cmake
if [ amd64 = "amd64" ]; then
# And the sources to build LLVMgold.so, which isn't distributed in a binary form
wget -O - $ROOT/llvm-$LLVM_RELEASE.src.tar.xz | tar -x --xz
fi
override-build: |
craftctl default
if [ amd64 = "amd64" ]; then
cd llvm-$LLVM_RELEASE.src
mkdir build
cd build
cmake -DLLVM_BINUTILS_INCDIR=/usr/include -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_TESTS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$CRAFT_PART_INSTALL/usr ..
make -j4 install-LLVMgold-stripped
fi
override-stage: |
craftctl default
mkdir -p usr
cp -R $CRAFT_PART_BUILD/clang+llvm-$LLVM_RELEASE-*/* usr/
override-prime: ''
stage-packages: []
stage: []
prime: []
dump-syms:
plugin: nil
after:
- rust
build-packages:
- curl
- git
- jq
- python3-yaml
override-pull: |
if [ amd64 = "amd64" ] || [ amd64 = "arm64" ]; then
VERSION=$(craftctl get version | cut -d- -f1)
BUILD=$(craftctl get version | cut -d- -f2 | cut -d. -f1)
FFINFO=$(curl -s https://ftp.mozilla.org/pub/firefox/candidates/$VERSION-candidates/build$BUILD/linux-x86_64/en-US/firefox-$VERSION.json)
MOZ_SOURCE_REPO=$(echo $FFINFO | jq -r .moz_source_repo)
MOZ_SOURCE_STAMP=$(echo $FFINFO | jq -r .moz_source_stamp)
FETCHES=$MOZ_SOURCE_REPO/raw-file/$MOZ_SOURCE_STAMP/taskcluster/kinds/fetch/toolchains.yml
TOOLCHAINS=$(curl -sSL "${FETCHES}")
unset PYTHONPATH
REPO=$(echo "${TOOLCHAINS}" | /usr/bin/python3 -c 'import yaml, sys; fetches = yaml.safe_load(sys.stdin); print("{}".format(fetches["dump-syms"]["fetch"]["repo"]))')
SHA1=$(echo "${TOOLCHAINS}" | /usr/bin/python3 -c 'import yaml, sys; fetches = yaml.safe_load(sys.stdin); print("{}".format(fetches["dump-syms"]["fetch"]["revision"]))')
git clone "${REPO}" . && git checkout "${SHA1}"
fi
override-build: |
craftctl default
if [ amd64 = "amd64" ] || [ amd64 = "arm64" ]; then
cargo build --release
cp target/release/dump_syms /build/firefox/stage/usr/bin/
fi
build-environment:
- PATH: /snap/gnome-42-2204-sdk/current/usr/bin${PATH:+:$PATH}
- XDG_DATA_DIRS: /build/firefox/stage/usr/share:/snap/gnome-42-2204-sdk/current/usr/share:/usr/share${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}
- LD_LIBRARY_PATH: /snap/gnome-42-2204-sdk/current/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib:/snap/gnome-42-2204-sdk/current/usr/lib/vala-current:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pulseaudio${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
- PKG_CONFIG_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/lib/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/share/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
- GETTEXTDATADIRS: /snap/gnome-42-2204-sdk/current/usr/share/gettext-current${GETTEXTDATADIRS:+:$GETTEXTDATADIRS}
- GDK_PIXBUF_MODULE_FILE: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gdk-pixbuf-current/loaders.cache
- ACLOCAL_PATH: /snap/gnome-42-2204-sdk/current/usr/share/aclocal${ACLOCAL_PATH:+:$ACLOCAL_PATH}
- PYTHONPATH: /snap/gnome-42-2204-sdk/current/usr/lib/python3.10:/snap/gnome-42-2204-sdk/current/usr/lib/python3/dist-packages:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gobject-introspection${PYTHONPATH:+:$PYTHONPATH}
- GI_TYPELIB_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/girepository-1.0:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}
- CMAKE_PREFIX_PATH: /build/firefox/stage/usr:/snap/gnome-42-2204-sdk/current/usr${CMAKE_PREFIX_PATH:+:$CMAKE_PREFIX_PATH}
stage-packages: []
stage: []
prime: []
hunspell:
plugin: nil
override-build: |
craftctl default
set -eu
apt download $(apt-cache search '^hunspell-.*$' |
awk '!/myspell|dbgsym|tools|transitional|dependency/{printf "%s ", $1}')
find . -name "*.deb" -exec dpkg-deb -x {} "$CRAFT_PART_INSTALL" \;
prime:
- usr/share/hunspell
build-environment:
- PATH: /snap/gnome-42-2204-sdk/current/usr/bin${PATH:+:$PATH}
- XDG_DATA_DIRS: /build/firefox/stage/usr/share:/snap/gnome-42-2204-sdk/current/usr/share:/usr/share${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}
- LD_LIBRARY_PATH: /snap/gnome-42-2204-sdk/current/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib:/snap/gnome-42-2204-sdk/current/usr/lib/vala-current:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pulseaudio${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
- PKG_CONFIG_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/lib/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/share/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
- GETTEXTDATADIRS: /snap/gnome-42-2204-sdk/current/usr/share/gettext-current${GETTEXTDATADIRS:+:$GETTEXTDATADIRS}
- GDK_PIXBUF_MODULE_FILE: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gdk-pixbuf-current/loaders.cache
- ACLOCAL_PATH: /snap/gnome-42-2204-sdk/current/usr/share/aclocal${ACLOCAL_PATH:+:$ACLOCAL_PATH}
- PYTHONPATH: /snap/gnome-42-2204-sdk/current/usr/lib/python3.10:/snap/gnome-42-2204-sdk/current/usr/lib/python3/dist-packages:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gobject-introspection${PYTHONPATH:+:$PYTHONPATH}
- GI_TYPELIB_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/girepository-1.0:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}
- CMAKE_PREFIX_PATH: /build/firefox/stage/usr:/snap/gnome-42-2204-sdk/current/usr${CMAKE_PREFIX_PATH:+:$CMAKE_PREFIX_PATH}
stage-packages: []
stage: []
build-packages: []
wasi-sdk:
plugin: nil
after:
- clang
build-packages:
- wget
build-environment:
- PATH: /snap/gnome-42-2204-sdk/current/usr/bin${PATH:+:$PATH}
- XDG_DATA_DIRS: /build/firefox/stage/usr/share:/snap/gnome-42-2204-sdk/current/usr/share:/usr/share${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}
- LD_LIBRARY_PATH: /snap/gnome-42-2204-sdk/current/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib:/snap/gnome-42-2204-sdk/current/usr/lib/vala-current:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pulseaudio${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
- PKG_CONFIG_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/lib/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/share/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
- GETTEXTDATADIRS: /snap/gnome-42-2204-sdk/current/usr/share/gettext-current${GETTEXTDATADIRS:+:$GETTEXTDATADIRS}
- GDK_PIXBUF_MODULE_FILE: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gdk-pixbuf-current/loaders.cache
- ACLOCAL_PATH: /snap/gnome-42-2204-sdk/current/usr/share/aclocal${ACLOCAL_PATH:+:$ACLOCAL_PATH}
- PYTHONPATH: /snap/gnome-42-2204-sdk/current/usr/lib/python3.10:/snap/gnome-42-2204-sdk/current/usr/lib/python3/dist-packages:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gobject-introspection${PYTHONPATH:+:$PYTHONPATH}
- GI_TYPELIB_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/girepository-1.0:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}
- CMAKE_PREFIX_PATH: /build/firefox/stage/usr:/snap/gnome-42-2204-sdk/current/usr${CMAKE_PREFIX_PATH:+:$CMAKE_PREFIX_PATH}
- WASI_BRANCH: '15'
- WASI_RELEASE: '15.0'
override-pull: |
ROOT=https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-$WASI_BRANCH
wget $ROOT/wasi-sysroot-$WASI_RELEASE.tar.gz
wget $ROOT/libclang_rt.builtins-wasm32-wasi-$WASI_RELEASE.tar.gz
override-build: |
craftctl default
tar -C /build/firefox/stage -xf wasi-sysroot-$WASI_RELEASE.tar.gz
tar -C /build/firefox/stage/usr/lib/clang/* -xf libclang_rt.builtins-wasm32-wasi-$WASI_RELEASE.tar.gz
override-prime: ''
stage-packages: []
stage: []
prime: []
nodejs:
plugin: nil
build-packages:
- wget
build-environment:
- PATH: /snap/gnome-42-2204-sdk/current/usr/bin${PATH:+:$PATH}
- XDG_DATA_DIRS: /build/firefox/stage/usr/share:/snap/gnome-42-2204-sdk/current/usr/share:/usr/share${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}
- LD_LIBRARY_PATH: /snap/gnome-42-2204-sdk/current/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib:/snap/gnome-42-2204-sdk/current/usr/lib/vala-current:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pulseaudio${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
- PKG_CONFIG_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/lib/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/share/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
- GETTEXTDATADIRS: /snap/gnome-42-2204-sdk/current/usr/share/gettext-current${GETTEXTDATADIRS:+:$GETTEXTDATADIRS}
- GDK_PIXBUF_MODULE_FILE: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gdk-pixbuf-current/loaders.cache
- ACLOCAL_PATH: /snap/gnome-42-2204-sdk/current/usr/share/aclocal${ACLOCAL_PATH:+:$ACLOCAL_PATH}
- PYTHONPATH: /snap/gnome-42-2204-sdk/current/usr/lib/python3.10:/snap/gnome-42-2204-sdk/current/usr/lib/python3/dist-packages:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gobject-introspection${PYTHONPATH:+:$PYTHONPATH}
- GI_TYPELIB_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/girepository-1.0:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}
- CMAKE_PREFIX_PATH: /build/firefox/stage/usr:/snap/gnome-42-2204-sdk/current/usr${CMAKE_PREFIX_PATH:+:$CMAKE_PREFIX_PATH}
- NODEJS_RELEASE: v16.18.1
override-pull: |
ROOT=https://nodejs.org/dist/$NODEJS_RELEASE/node-$NODEJS_RELEASE-linux-
if [ amd64 = "amd64" ]; then
SUFFIX=x64.tar.xz
elif [ amd64 = "armhf" ]; then
SUFFIX=armv7l.tar.xz
elif [ amd64 = "arm64" ]; then
SUFFIX=arm64.tar.xz
fi
wget -O - $ROOT$SUFFIX | tar -x --xz
override-build: |
craftctl default
cp -R node-$NODEJS_RELEASE-linux-*/ $CRAFT_PART_INSTALL/usr/
override-prime: ''
stage-packages: []
stage: []
prime: []
mozconfig:
plugin: nil
override-stage: |
cp /build/firefox/mozconfig.in /build/firefox/stage/mozconfig
override-prime: ''
build-environment:
- PATH: /snap/gnome-42-2204-sdk/current/usr/bin${PATH:+:$PATH}
- XDG_DATA_DIRS: /build/firefox/stage/usr/share:/snap/gnome-42-2204-sdk/current/usr/share:/usr/share${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}
- LD_LIBRARY_PATH: /snap/gnome-42-2204-sdk/current/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib:/snap/gnome-42-2204-sdk/current/usr/lib/vala-current:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pulseaudio${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
- PKG_CONFIG_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/lib/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/share/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
- GETTEXTDATADIRS: /snap/gnome-42-2204-sdk/current/usr/share/gettext-current${GETTEXTDATADIRS:+:$GETTEXTDATADIRS}
- GDK_PIXBUF_MODULE_FILE: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gdk-pixbuf-current/loaders.cache
- ACLOCAL_PATH: /snap/gnome-42-2204-sdk/current/usr/share/aclocal${ACLOCAL_PATH:+:$ACLOCAL_PATH}
- PYTHONPATH: /snap/gnome-42-2204-sdk/current/usr/lib/python3.10:/snap/gnome-42-2204-sdk/current/usr/lib/python3/dist-packages:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gobject-introspection${PYTHONPATH:+:$PYTHONPATH}
- GI_TYPELIB_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/girepository-1.0:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}
- CMAKE_PREFIX_PATH: /build/firefox/stage/usr:/snap/gnome-42-2204-sdk/current/usr${CMAKE_PREFIX_PATH:+:$CMAKE_PREFIX_PATH}
stage-packages: []
stage: []
prime: []
build-packages: []
firefox:
plugin: nil
after:
- apikeys
- cbindgen
- clang
- distribution
- dump-syms
- ffmpeg
- firefox-langpacks
- hunspell
- mozconfig
- nodejs
- rust
- wasi-sdk
build-packages:
- cmake
- coreutils
- file
- git
- libasound2-dev
- libdbus-glib-1-dev
- libgtk2.0-dev
- libpython3-dev
- libx11-xcb-dev
- libxt-dev
- m4
- make
- nasm
- quilt
- unzip
- wget
- xvfb
- zip
override-pull: |
VERSION=$(craftctl get version | cut -d- -f1)
BUILD=$(craftctl get version | cut -d- -f2 | cut -d. -f1)
ROOT=https://ftp.mozilla.org/pub/firefox/candidates/$VERSION-candidates/build$BUILD
wget -O - $ROOT/source/firefox-$VERSION.source.tar.xz | tar -x --xz --strip-components=1
mkdir -p /build/firefox/stage/debug-symbols
cp toolkit/crashreporter/tools/upload_symbols.py /build/firefox/stage/debug-symbols/
override-build: |
craftctl default
QUILT_PATCHES=/build/firefox/patches quilt push -a
BUILD_DBGSYMS=false
if [ amd64 = "amd64" ] || [ amd64 = "arm64" ]; then
# Build and publish debug symbols for amd64 and arm64 only,
# because Launchpad builders for armhf choke (OOM) when
# building with debug symbols enabled, even with
# patches/mozilla-reduce-rust-debuginfo.patch applied,
# at least as of 2023-06-25.
BUILD_DBGSYMS=true
fi
# GitHub Actions is limited to 2 CPUs and 7GB RAM, and
# too much debug info from Rust will make gkrust linkage fail.
# Same goes for arm64 builds on Launchpad. It seems we can't
# detect $GITHUB_WORKSPACE, so we assume presence of the file
# "symbols-upload-token" means we are running on GitHub.
if [ -f "/build/firefox/symbols-upload-token"] || [ amd64 = "arm64" ] || [ amd64 = "armhf" ]; then
patch -p1 < /build/firefox/patches/mozilla-reduce-rust-debuginfo.patch
fi
# Hardware is too limited on Launchpad armhf and amd64 builders,
# so use thin rather than fat LTO. You can attempt to drop this when
# amd64 builders have at least 32 GB of memory as per
# https://help.launchpad.net/Packaging/BuilderSpecs
if [ amd64 != "arm64" ]; then
patch -p1 < /build/firefox/patches/thin-lto.patch
fi
export MOZCONFIG="/build/firefox/stage/mozconfig"
if [ $BUILD_DBGSYMS = "true" ]; then
echo "ac_add_options --enable-debug-symbols" >> $MOZCONFIG
else
echo "ac_add_options --disable-debug-symbols" >> $MOZCONFIG
fi
if [ amd64 = "amd64" ]; then
# Enable LTO and PGO (https://firefox-source-docs.mozilla.org/build/buildsystem/pgo.html) only on amd64 for now.
# Linking with gold fails on armhf (error: undefined reference to '__aeabi_uldivmod') and would need to be
# investigated further, and running PGO on arm64 takes forever (> 4 days in the Launchpad build environment!).
echo "ac_add_options --enable-linker=lld" >> $MOZCONFIG
echo "ac_add_options MOZ_PGO=1" >> $MOZCONFIG
fi
if [ amd64 != "armhf" ]; then
echo "ac_add_options --enable-rust-simd" >> $MOZCONFIG
fi
echo "ac_add_options --prefix=$CRAFT_PART_INSTALL/usr" >> $MOZCONFIG
GNOME_SDK_SNAP=/snap/gnome-42-2204-sdk/current
if [ amd64 = "amd64" ]; then
# "clang -dumpmachine" returns "x86_64-unknown-linux-gnu" on
# amd64 (at least the binaries they distribute), but what we
# really need is "x86_64-pc-linux-gnu"; so let's hard-code it.
export TARGET_TRIPLET="x86_64-pc-linux-gnu"
else
export TARGET_TRIPLET=$(clang -dumpmachine)
fi
export LDFLAGS="-Wl,-rpath-link=$GNOME_SDK_SNAP/usr/lib/x86_64-linux-gnu -Wl,-rpath-link=$GNOME_SDK_SNAP/usr/lib"
export LDFLAGS="-Wl,-rpath-link=$CRAFT_PART_BUILD/obj-$TARGET_TRIPLET/dist/bin${LDFLAGS:+ $LDFLAGS}"
export LD_LIBRARY_PATH="$CRAFT_PART_BUILD/obj-$TARGET_TRIPLET/dist/bin${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
export WASI_SYSROOT=/build/firefox/stage/wasi-sysroot
export MOZBUILD_STATE_PATH=$CRAFT_PART_BUILD/.mozbuild
unset PYTHONPATH
if [ amd64 = "amd64" ]; then
# Needed for PGO-enabled builds that execute the built binaries. This should mirror the link paths in $LDFLAGS.
export LD_LIBRARY_PATH="$GNOME_SDK_SNAP/usr/lib/x86_64-linux-gnu:$GNOME_SDK_SNAP/usr/lib"
# Ensure the instrumented binary is run against the right version of libssl3.so and libnss3.so
# (locally-built versions are more recent than the ones in the gnome platform snap)
export LD_LIBRARY_PATH="$CRAFT_PART_BUILD/obj-$TARGET_TRIPLET/instrumented/dist/bin${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
fi
# Hack to avoid out of space condition when building. This removes the
# sources of all parts. FIXME when Launchpad builders get more space
# (currently 80 GB: https://help.launchpad.net/Packaging/BuilderSpecs)
for d in /build/firefox/parts/*/; do
rm -rf "$d"/src || :
done
MACH="/usr/bin/python3 ./mach"
$MACH repackage desktop-file --output $CRAFT_PART_INSTALL/firefox.desktop --flavor snap --release-product "firefox" --release-type release --wmclass firefox_firefox
if [ amd64 = "amd64" ]; then
# xvfb is only needed when doing a PGO-enabled build
xvfb-run '--server-args=-screen 0 1920x1080x24' $MACH build -j4
else
$MACH build -j4
fi
if [ $BUILD_DBGSYMS = "true" ]; then
DUMP_SYMS=/build/firefox/stage/usr/bin/dump_syms $MACH buildsymbols
fi
$MACH install
cp obj-*/dist/host/bin/geckodriver $CRAFT_PART_INSTALL/usr/lib/firefox/
DISTRIBUTION=$CRAFT_PART_INSTALL/usr/lib/firefox/distribution
mkdir -p $DISTRIBUTION/extensions
cp browser/branding/official/default256.png $CRAFT_PART_INSTALL/
if [ $BUILD_DBGSYMS = "true" ]; then
cp obj-*/dist/firefox-*.crashreporter-symbols.zip /build/firefox/stage/debug-symbols/
fi
# update the path to the vulkan drivers for the snap environment
sed -i 's#/usr/lib/#/snap/firefox/current/usr/lib/#' $CRAFT_PART_INSTALL/usr/share/vulkan/icd.d/*.json
override-stage: |
# Workaround for LP: #2016358: create mount points for the gnome
# content interface, while a proper fix is implemented in snapd.
# Thanks to James Henstridge.
mkdir $CRAFT_PART_INSTALL/{gnome-platform,data-dir,data-dir/{icons,sounds,themes}}
craftctl default
stage-packages:
- libasound2-data=1.2.6.1-1ubuntu1
- libasound2=1.2.6.1-1ubuntu1
- libasyncns0=0.8-6build2
- libavahi-client3=0.8-5ubuntu5.2
- libavahi-common-data=0.8-5ubuntu5.2
- libavahi-common3=0.8-5ubuntu5.2
- libcanberra0=0.30-10ubuntu1.22.04.1
- libcurl4=7.81.0-1ubuntu1.20
- libdrm-amdgpu1=2.4.113-2~ubuntu0.22.04.1
- libflac8=1.3.3-2ubuntu0.2
- libice6=2:1.0.10-1build2
- libicu70=70.1-2
- libldap-2.5-0=2.5.19+dfsg-0ubuntu0.22.04.1
- libllvm15=1:15.0.7-0ubuntu0.22.04.3
- libltdl7=2.4.6-15build2
- libnghttp2-14=1.43.0-1ubuntu0.2
- libogg0=1.3.5-0ubuntu3
- libopus0=1.3.1-0.1build2
- libpci3=1:3.7.0-6
- libpipewire-0.3-0=0.3.48-1ubuntu3
- libpipewire-0.3-modules=0.3.48-1ubuntu3
- libpsl5=0.21.0-1.2build2
- libpulse0=1:15.99.1+dfsg1-1ubuntu2.2
- librtmp1=2.4+20151223.gitfa8646d.1-2build4
- libsasl2-2=2.1.27+dfsg2-3ubuntu1.2
- libsasl2-modules-db=2.1.27+dfsg2-3ubuntu1.2
- libsm6=2:1.2.3-1build2
- libsndfile1=1.0.31-2ubuntu0.2
- libspa-0.2-modules=0.3.48-1ubuntu3
- libspeechd2=0.11.1-1ubuntu3
- libtdb1=1.4.5-2build1
- libvorbis0a=1.3.7-1build2
- libvorbisenc2=1.3.7-1build2
- libvorbisfile3=1.3.7-1build2
- libvulkan1=1.3.204.1-2
- libwayland-client0=1.20.0-1ubuntu0.1
- libwebrtc-audio-processing1=0.3.1-0ubuntu5
- libx11-6=2:1.7.5-1ubuntu0.3
- libx11-data=2:1.7.5-1ubuntu0.3
- libx11-xcb1=2:1.7.5-1ubuntu0.3
- libxau6=1:1.0.9-1build5
- libxcb-dri3-0=1.14-3ubuntu3
- libxcb-present0=1.14-3ubuntu3
- libxcb-randr0=1.14-3ubuntu3
- libxcb-shm0=1.14-3ubuntu3
- libxcb-sync1=1.14-3ubuntu3
- libxcb-xfixes0=1.14-3ubuntu3
- libxcb1=1.14-3ubuntu3
- libxdmcp6=1:1.1.3-0ubuntu5
- libxfixes3=1:6.0.0-1
- libxml2=2.9.13+dfsg-1ubuntu0.8
- libxshmfence1=1.3-1build4
- libxt6=1:1.2.1-1
- mesa-vulkan-drivers=23.2.1-1ubuntu3.1~22.04.3
- opensc-pkcs11=0.22.0-1ubuntu2.1
- pci.ids=0.0~2022.01.22-1ubuntu0.1
- pipewire-bin=0.3.48-1ubuntu3
- pipewire-pulse=0.3.48-1ubuntu3
- pipewire=0.3.48-1ubuntu3
- sound-theme-freedesktop=0.8-2ubuntu1
- x11-common=1:7.7+23ubuntu2
prime:
- default256.png
- firefox.desktop
- usr/lib/firefox
- usr/lib/*/opensc-pkcs11.so
- usr/lib/*/pkcs11/opensc-pkcs11.so
- usr/lib/*/libasn1.so.*
- usr/lib/*/libcurl.so.*
- usr/lib/*/libgssapi.so.*
- usr/lib/*/libhcrypto.so.*
- usr/lib/*/libheimbase.so.*
- usr/lib/*/libheimntlm.so.*
- usr/lib/*/libhogweed.so.*
- usr/lib/*/libhx509.so.*
- usr/lib/*/libkrb5.so.*
- usr/lib/*/liblber-2.4.so.*
- usr/lib/*/libldap_r-2.4.so.*
- usr/lib/*/libnettle.so.*
- usr/lib/*/libnghttp2.so.*
- usr/lib/*/libpci.so.*
- usr/lib/*/libpipewire*.so*
- usr/lib/*/libroken.so.*
- usr/lib/*/librtmp.so.*
- usr/lib/*/libsasl2.so.*
- usr/lib/*/libspeechd.so.*
- usr/lib/*/libssh.so.*
- usr/lib/*/libssl.so.*
- usr/lib/*/libvulkan*
- usr/lib/*/libVkLayer*
- usr/lib/*/libwind.so.*
- usr/lib/*/libXt.so.*
- usr/lib/*/pipewire-*
- usr/lib/*/spa-*
- usr/share/alsa
- usr/share/pipewire
- usr/share/vulkan
- gnome-platform
- data-dir/icons
- data-dir/sounds
- data-dir/themes
build-environment:
- PATH: /snap/gnome-42-2204-sdk/current/usr/bin${PATH:+:$PATH}
- XDG_DATA_DIRS: /build/firefox/stage/usr/share:/snap/gnome-42-2204-sdk/current/usr/share:/usr/share${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}
- LD_LIBRARY_PATH: /snap/gnome-42-2204-sdk/current/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib:/snap/gnome-42-2204-sdk/current/usr/lib/vala-current:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pulseaudio${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
- PKG_CONFIG_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/lib/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/share/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
- GETTEXTDATADIRS: /snap/gnome-42-2204-sdk/current/usr/share/gettext-current${GETTEXTDATADIRS:+:$GETTEXTDATADIRS}
- GDK_PIXBUF_MODULE_FILE: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gdk-pixbuf-current/loaders.cache
- ACLOCAL_PATH: /snap/gnome-42-2204-sdk/current/usr/share/aclocal${ACLOCAL_PATH:+:$ACLOCAL_PATH}
- PYTHONPATH: /snap/gnome-42-2204-sdk/current/usr/lib/python3.10:/snap/gnome-42-2204-sdk/current/usr/lib/python3/dist-packages:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gobject-introspection${PYTHONPATH:+:$PYTHONPATH}
- GI_TYPELIB_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/girepository-1.0:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}
- CMAKE_PREFIX_PATH: /build/firefox/stage/usr:/snap/gnome-42-2204-sdk/current/usr${CMAKE_PREFIX_PATH:+:$CMAKE_PREFIX_PATH}
stage: []
firefox-langpacks:
plugin: nil
build-packages:
- coreutils
- sed
- wget
override-pull: |
VERSION=$(craftctl get version | cut -d- -f1)
BUILD=$(craftctl get version | cut -d- -f2 | cut -d. -f1)
SERVER=https://ftp.mozilla.org
ROOT=$SERVER/pub/firefox/candidates/$VERSION-candidates/build$BUILD
XPIS=$(wget -O - $ROOT/linux-x86_64/xpi/ | sed -n 's/.* href="\(.*\.xpi\)".*/\1/p')
mkdir -p /build/firefox/stage
for XPI in $XPIS; do
wget -P /build/firefox/stage $SERVER$XPI
done
override-prime: |
INSTALLDIR=/build/firefox/prime/usr/lib/firefox/distribution/extensions
mkdir -p $INSTALLDIR
for XPI in $(ls /build/firefox/stage/*.xpi); do
LANGCODE=$(basename $XPI .langpack.xpi)
mkdir $INSTALLDIR/locale-$LANGCODE
cp $XPI $INSTALLDIR/locale-$LANGCODE/langpack-$LANGCODE@firefox.mozilla.org.xpi
done
build-environment:
- PATH: /snap/gnome-42-2204-sdk/current/usr/bin${PATH:+:$PATH}
- XDG_DATA_DIRS: /build/firefox/stage/usr/share:/snap/gnome-42-2204-sdk/current/usr/share:/usr/share${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}
- LD_LIBRARY_PATH: /snap/gnome-42-2204-sdk/current/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib:/snap/gnome-42-2204-sdk/current/usr/lib/vala-current:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pulseaudio${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
- PKG_CONFIG_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/lib/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/share/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
- GETTEXTDATADIRS: /snap/gnome-42-2204-sdk/current/usr/share/gettext-current${GETTEXTDATADIRS:+:$GETTEXTDATADIRS}
- GDK_PIXBUF_MODULE_FILE: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gdk-pixbuf-current/loaders.cache
- ACLOCAL_PATH: /snap/gnome-42-2204-sdk/current/usr/share/aclocal${ACLOCAL_PATH:+:$ACLOCAL_PATH}
- PYTHONPATH: /snap/gnome-42-2204-sdk/current/usr/lib/python3.10:/snap/gnome-42-2204-sdk/current/usr/lib/python3/dist-packages:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gobject-introspection${PYTHONPATH:+:$PYTHONPATH}
- GI_TYPELIB_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/girepository-1.0:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}
- CMAKE_PREFIX_PATH: /build/firefox/stage/usr:/snap/gnome-42-2204-sdk/current/usr${CMAKE_PREFIX_PATH:+:$CMAKE_PREFIX_PATH}
stage-packages: []
stage: []
prime: []
launcher:
plugin: nil
override-prime: |
cp "/build/firefox/firefox.launcher" "/build/firefox/prime/"
cp "/build/firefox/patch-default-profile.py" "/build/firefox/prime/"
build-environment:
- PATH: /snap/gnome-42-2204-sdk/current/usr/bin${PATH:+:$PATH}
- XDG_DATA_DIRS: /build/firefox/stage/usr/share:/snap/gnome-42-2204-sdk/current/usr/share:/usr/share${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}
- LD_LIBRARY_PATH: /snap/gnome-42-2204-sdk/current/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib:/snap/gnome-42-2204-sdk/current/usr/lib/vala-current:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pulseaudio${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
- PKG_CONFIG_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/lib/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/share/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
- GETTEXTDATADIRS: /snap/gnome-42-2204-sdk/current/usr/share/gettext-current${GETTEXTDATADIRS:+:$GETTEXTDATADIRS}
- GDK_PIXBUF_MODULE_FILE: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gdk-pixbuf-current/loaders.cache
- ACLOCAL_PATH: /snap/gnome-42-2204-sdk/current/usr/share/aclocal${ACLOCAL_PATH:+:$ACLOCAL_PATH}
- PYTHONPATH: /snap/gnome-42-2204-sdk/current/usr/lib/python3.10:/snap/gnome-42-2204-sdk/current/usr/lib/python3/dist-packages:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gobject-introspection${PYTHONPATH:+:$PYTHONPATH}
- GI_TYPELIB_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/girepository-1.0:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}
- CMAKE_PREFIX_PATH: /build/firefox/stage/usr:/snap/gnome-42-2204-sdk/current/usr${CMAKE_PREFIX_PATH:+:$CMAKE_PREFIX_PATH}
stage-packages: []
stage: []
prime: []
build-packages: []
distribution:
plugin: nil
override-pull: |
git clone --depth 1 https://github.com/mozilla-partners/canonical.git .
mkdir -p /build/firefox/prime/usr/lib/firefox/
cp -Rv desktop/ubuntu/distribution /build/firefox/prime/usr/lib/firefox/
build-environment:
- PATH: /snap/gnome-42-2204-sdk/current/usr/bin${PATH:+:$PATH}
- XDG_DATA_DIRS: /build/firefox/stage/usr/share:/snap/gnome-42-2204-sdk/current/usr/share:/usr/share${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}
- LD_LIBRARY_PATH: /snap/gnome-42-2204-sdk/current/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib:/snap/gnome-42-2204-sdk/current/usr/lib/vala-current:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pulseaudio${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
- PKG_CONFIG_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/lib/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/share/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
- GETTEXTDATADIRS: /snap/gnome-42-2204-sdk/current/usr/share/gettext-current${GETTEXTDATADIRS:+:$GETTEXTDATADIRS}
- GDK_PIXBUF_MODULE_FILE: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gdk-pixbuf-current/loaders.cache
- ACLOCAL_PATH: /snap/gnome-42-2204-sdk/current/usr/share/aclocal${ACLOCAL_PATH:+:$ACLOCAL_PATH}
- PYTHONPATH: /snap/gnome-42-2204-sdk/current/usr/lib/python3.10:/snap/gnome-42-2204-sdk/current/usr/lib/python3/dist-packages:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gobject-introspection${PYTHONPATH:+:$PYTHONPATH}
- GI_TYPELIB_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/girepository-1.0:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}
- CMAKE_PREFIX_PATH: /build/firefox/stage/usr:/snap/gnome-42-2204-sdk/current/usr${CMAKE_PREFIX_PATH:+:$CMAKE_PREFIX_PATH}
stage-packages: []
stage: []
prime: []
build-packages: []
ffmpeg:
plugin: nil
stage-packages:
- fontconfig-config=2.13.1-4.2ubuntu5
- fontconfig=2.13.1-4.2ubuntu5
- fonts-dejavu-core=2.37-2build1
- libaom3=3.3.0-1ubuntu0.1
- libavcodec58=7:4.4.2-0ubuntu0.22.04.1
- libavutil56=7:4.4.2-0ubuntu0.22.04.1
- libcairo-gobject2=1.16.0-5ubuntu2
- libcairo2=1.16.0-5ubuntu2
- libcodec2-1.0=1.0.1-3
- libdatrie1=0.2.13-2
- libdav1d5=0.9.2-1
- libdeflate0=1.10-2
- libfontconfig1=2.13.1-4.2ubuntu5
- libfribidi0=1.0.8-2ubuntu3.1
- libgdk-pixbuf-2.0-0=2.42.8+dfsg-1ubuntu0.4
- libgdk-pixbuf2.0-common=2.42.8+dfsg-1ubuntu0.4
- libgomp1=12.3.0-1ubuntu1~22.04.2
- libgraphite2-3=1.3.14-1build2
- libgsm1=1.0.19-1
- libharfbuzz0b=2.7.4-1ubuntu3.2
- libicu70=70.1-2
- libjbig0=2.1-3.1ubuntu0.22.04.1
- libjpeg-turbo8=2.1.2-0ubuntu1
- libjpeg8=8c-2ubuntu10
- libmfx1=22.3.0-1
- libmp3lame0=3.100-3build2
- libnuma1=2.0.14-3ubuntu2
- libogg0=1.3.5-0ubuntu3
- libopenjp2-7=2.4.0-6ubuntu0.3
- libopus0=1.3.1-0.1build2
- libpango-1.0-0=1.50.6+ds-2ubuntu1
- libpangocairo-1.0-0=1.50.6+ds-2ubuntu1
- libpangoft2-1.0-0=1.50.6+ds-2ubuntu1
- libpixman-1-0=0.40.0-1ubuntu0.22.04.1
- librsvg2-2=2.52.5+dfsg-3ubuntu0.2
- libshine3=3.1.1-2
- libsnappy1v5=1.1.8-1build3
- libsoxr0=0.1.3-4build2
- libspeex1=1.2~rc1.2-1.1ubuntu3
- libswresample3=7:4.4.2-0ubuntu0.22.04.1
- libthai-data=0.1.29-1build1
- libthai0=0.1.29-1build1
- libtheora0=1.1.1+dfsg.1-15ubuntu4
- libtiff5=4.3.0-6ubuntu0.11
- libtwolame0=0.4.0-2build2
- libva-drm2=2.14.0-1
- libva-x11-2=2.14.0-1
- libva2=2.14.0-1
- libvdpau1=1.4-3build2
- libvorbis0a=1.3.7-1build2
- libvorbisenc2=1.3.7-1build2
- libvpx7=1.11.0-2ubuntu2.4
- libwebp7=1.2.2-2ubuntu0.22.04.2
- libwebpmux3=1.2.2-2ubuntu0.22.04.2
- libx11-6=2:1.7.5-1ubuntu0.3
- libx11-data=2:1.7.5-1ubuntu0.3
- libx264-163=2:0.163.3060+git5db6aa6-2build1
- libx265-199=3.5-2
- libxau6=1:1.0.9-1build5
- libxcb-render0=1.14-3ubuntu3
- libxcb-shm0=1.14-3ubuntu3
- libxcb1=1.14-3ubuntu3
- libxdmcp6=1:1.1.3-0ubuntu5
- libxext6=2:1.3.4-1build1
- libxfixes3=1:6.0.0-1
- libxml2=2.9.13+dfsg-1ubuntu0.8
- libxrender1=1:0.9.10-1build4
- libxvidcore4=2:1.3.7-1
- libzvbi-common=0.2.35-19
- libzvbi0=0.2.35-19
- ocl-icd-libopencl1=2.2.14-3
- shared-mime-info=2.1-2
prime:
- usr/lib/*/libaom.so.*
- usr/lib/*/libavcodec.so.*
- usr/lib/*/libavutil.so.*
- usr/lib/*/libcodec2.so.*
- usr/lib/*/libdav1d.so.*
- usr/lib/*/libgsm.so.*
- usr/lib/*/libmd.so.*
- usr/lib/*/libmfx.so.*
- usr/lib/*/libmp3lame.so.*
- usr/lib/*/libnuma.so.*
- usr/lib/*/libOpenCL.so.*
- usr/lib/*/libopus.so.*
- usr/lib/*/libshine.so.*
- usr/lib/*/libsnappy.so.*
- usr/lib/*/libsoxr.so.*
- usr/lib/*/libspeex.so.*
- usr/lib/*/libswresample.so.*
- usr/lib/*/libtheoradec.so.*
- usr/lib/*/libtheoraenc.so.*
- usr/lib/*/libtwolame.so.*
- usr/lib/*/libvdpau.so.*
- usr/lib/*/libvpx.so.*
- usr/lib/*/libwavpack.so.*
- usr/lib/*/libwebpmux.so.*
- usr/lib/*/libwebp.so.*
- usr/lib/*/libx264.so.*
- usr/lib/*/libx265.so.*
- usr/lib/*/libxvidcore.so.*
- usr/lib/*/libzvbi.so.*
build-environment:
- PATH: /snap/gnome-42-2204-sdk/current/usr/bin${PATH:+:$PATH}
- XDG_DATA_DIRS: /build/firefox/stage/usr/share:/snap/gnome-42-2204-sdk/current/usr/share:/usr/share${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}
- LD_LIBRARY_PATH: /snap/gnome-42-2204-sdk/current/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib:/snap/gnome-42-2204-sdk/current/usr/lib/vala-current:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pulseaudio${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
- PKG_CONFIG_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/lib/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/share/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
- GETTEXTDATADIRS: /snap/gnome-42-2204-sdk/current/usr/share/gettext-current${GETTEXTDATADIRS:+:$GETTEXTDATADIRS}
- GDK_PIXBUF_MODULE_FILE: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gdk-pixbuf-current/loaders.cache
- ACLOCAL_PATH: /snap/gnome-42-2204-sdk/current/usr/share/aclocal${ACLOCAL_PATH:+:$ACLOCAL_PATH}
- PYTHONPATH: /snap/gnome-42-2204-sdk/current/usr/lib/python3.10:/snap/gnome-42-2204-sdk/current/usr/lib/python3/dist-packages:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gobject-introspection${PYTHONPATH:+:$PYTHONPATH}
- GI_TYPELIB_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/girepository-1.0:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}
- CMAKE_PREFIX_PATH: /build/firefox/stage/usr:/snap/gnome-42-2204-sdk/current/usr${CMAKE_PREFIX_PATH:+:$CMAKE_PREFIX_PATH}
stage: []
build-packages: []
apikeys:
plugin: nil
after:
- mozconfig
build-packages:
- coreutils
- gpg
- jq
override-build: |
craftctl default
MOZCONFIG="/build/firefox/stage/mozconfig"
gpg -d --batch --passphrase "$(base64 -d /build/firefox/.passphrase)" -o apikeys /build/firefox/.apikeys
cat apikeys | jq .MOZ_GOOGLE_LOCATION_SERVICE_API_KEY | tr -d '"' > $CRAFT_PART_INSTALL/gls-gapi.data
echo "ac_add_options --with-google-location-service-api-keyfile=/build/firefox/stage/gls-gapi.data" >> $MOZCONFIG
cat apikeys | jq .MOZ_GOOGLE_SAFEBROWSING_API_KEY | tr -d '"' > $CRAFT_PART_INSTALL/sb-gapi.data
echo "ac_add_options --with-google-safebrowsing-api-keyfile=/build/firefox/stage/sb-gapi.data" >> $MOZCONFIG
override-prime: ''
build-environment:
- PATH: /snap/gnome-42-2204-sdk/current/usr/bin${PATH:+:$PATH}
- XDG_DATA_DIRS: /build/firefox/stage/usr/share:/snap/gnome-42-2204-sdk/current/usr/share:/usr/share${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}
- LD_LIBRARY_PATH: /snap/gnome-42-2204-sdk/current/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib:/snap/gnome-42-2204-sdk/current/usr/lib/vala-current:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pulseaudio${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
- PKG_CONFIG_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/lib/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/share/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
- GETTEXTDATADIRS: /snap/gnome-42-2204-sdk/current/usr/share/gettext-current${GETTEXTDATADIRS:+:$GETTEXTDATADIRS}
- GDK_PIXBUF_MODULE_FILE: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gdk-pixbuf-current/loaders.cache
- ACLOCAL_PATH: /snap/gnome-42-2204-sdk/current/usr/share/aclocal${ACLOCAL_PATH:+:$ACLOCAL_PATH}
- PYTHONPATH: /snap/gnome-42-2204-sdk/current/usr/lib/python3.10:/snap/gnome-42-2204-sdk/current/usr/lib/python3/dist-packages:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gobject-introspection${PYTHONPATH:+:$PYTHONPATH}
- GI_TYPELIB_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/girepository-1.0:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}
- CMAKE_PREFIX_PATH: /build/firefox/stage/usr:/snap/gnome-42-2204-sdk/current/usr${CMAKE_PREFIX_PATH:+:$CMAKE_PREFIX_PATH}
stage-packages: []
stage: []
prime: []
debug-symbols:
plugin: nil
build-packages:
- python3
- python3-virtualenv
after:
- firefox
override-build: |
export SYMBOLS_ARCHIVE=$(find /build/firefox/stage/debug-symbols/ -type f -name "firefox-*.crashreporter-symbols.zip")
if [ -f "$SYMBOLS_ARCHIVE" ]; then
if [ -f "/build/firefox/symbols-upload-token" ]; then
virtualenv venv/
source venv/bin/activate
venv/bin/pip3 install redo requests argparse
SOCORRO_SYMBOL_UPLOAD_URL=https://symbols.stage.mozaws.net/upload/ SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE="/build/firefox/symbols-upload-token" venv/bin/python3 /build/firefox/stage/debug-symbols/upload_symbols.py $SYMBOLS_ARCHIVE
rm "/build/firefox/symbols-upload-token"
deactivate
else
cp $SYMBOLS_ARCHIVE /build/firefox/firefox_$(craftctl get version)_amd64.debug
fi
fi
build-environment:
- PATH: /snap/gnome-42-2204-sdk/current/usr/bin${PATH:+:$PATH}
- XDG_DATA_DIRS: /build/firefox/stage/usr/share:/snap/gnome-42-2204-sdk/current/usr/share:/usr/share${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}
- LD_LIBRARY_PATH: /snap/gnome-42-2204-sdk/current/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu:/snap/gnome-42-2204-sdk/current/usr/lib:/snap/gnome-42-2204-sdk/current/usr/lib/vala-current:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pulseaudio${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
- PKG_CONFIG_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/lib/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/share/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
- GETTEXTDATADIRS: /snap/gnome-42-2204-sdk/current/usr/share/gettext-current${GETTEXTDATADIRS:+:$GETTEXTDATADIRS}
- GDK_PIXBUF_MODULE_FILE: /snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gdk-pixbuf-current/loaders.cache
- ACLOCAL_PATH: /snap/gnome-42-2204-sdk/current/usr/share/aclocal${ACLOCAL_PATH:+:$ACLOCAL_PATH}
- PYTHONPATH: /snap/gnome-42-2204-sdk/current/usr/lib/python3.10:/snap/gnome-42-2204-sdk/current/usr/lib/python3/dist-packages:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/gobject-introspection${PYTHONPATH:+:$PYTHONPATH}
- GI_TYPELIB_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/girepository-1.0:/snap/gnome-42-2204-sdk/current/usr/lib/x86_64-linux-gnu/girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}
- CMAKE_PREFIX_PATH: /build/firefox/stage/usr:/snap/gnome-42-2204-sdk/current/usr${CMAKE_PREFIX_PATH:+:$CMAKE_PREFIX_PATH}
stage-packages: []
stage: []
prime: []
gnome/sdk:
source: /snap/snapcraft/15600/share/snapcraft/extensions/desktop/command-chain
plugin: make
build-snaps:
- gnome-42-2204-sdk
stage-packages: []
stage: []
prime: []
build-packages: []
architectures:
- amd64
image-info:
build-request-id: lp-100924285
build-request-timestamp: '2025-08-21T14:45:15Z'
build_url: https://launchpad.net/~mozilla-snaps/firefox/+snap/firefox-snap-stable/+build/2883668
build-packages: []
build-snaps: []
primed-stage-packages:
- libaom3=3.3.0-1ubuntu0.1
- libasound2-data=1.2.6.1-1ubuntu1
- libavcodec58=7:4.4.2-0ubuntu0.22.04.1
- libavutil56=7:4.4.2-0ubuntu0.22.04.1
- libcodec2-1.0=1.0.1-3
- libcurl4=7.81.0-1ubuntu1.20
- libdav1d5=0.9.2-1
- libgsm1=1.0.19-1
- libmfx1=22.3.0-1
- libmp3lame0=3.100-3build2
- libnghttp2-14=1.43.0-1ubuntu0.2
- libnuma1=2.0.14-3ubuntu2
- libopus0=1.3.1-0.1build2
- libpci3=1:3.7.0-6
- libpipewire-0.3-0=0.3.48-1ubuntu3
- libpipewire-0.3-modules=0.3.48-1ubuntu3
- librtmp1=2.4+20151223.gitfa8646d.1-2build4
- libsasl2-2=2.1.27+dfsg2-3ubuntu1.2
- libshine3=3.1.1-2
- libsnappy1v5=1.1.8-1build3
- libsoxr0=0.1.3-4build2
- libspa-0.2-modules=0.3.48-1ubuntu3
- libspeechd2=0.11.1-1ubuntu3
- libspeex1=1.2~rc1.2-1.1ubuntu3
- libswresample3=7:4.4.2-0ubuntu0.22.04.1
- libtheora0=1.1.1+dfsg.1-15ubuntu4
- libtwolame0=0.4.0-2build2
- libvdpau1=1.4-3build2
- libvpx7=1.11.0-2ubuntu2.4
- libvulkan1=1.3.204.1-2
- libwebp7=1.2.2-2ubuntu0.22.04.2
- libwebpmux3=1.2.2-2ubuntu0.22.04.2
- libx264-163=2:0.163.3060+git5db6aa6-2build1
- libx265-199=3.5-2
- libxt6=1:1.2.1-1
- libxvidcore4=2:1.3.7-1
- libzvbi0=0.2.35-19
- mesa-vulkan-drivers=23.2.1-1ubuntu3.1~22.04.3
- ocl-icd-libopencl1=2.2.14-3
- opensc-pkcs11=0.22.0-1ubuntu2.1
- pipewire-bin=0.3.48-1ubuntu3
- pipewire-pulse=0.3.48-1ubuntu3