# Description: Email client from the Mozilla project # URL: https://www.thunderbird.net/en-US/ # Maintainer: unmaintained # Depends on: alsa-lib autoconf-2.13 cbindgen clang dbus-glib gnupg libevent libidl libnotify libvpx libwebp nodejs nss startup-notification unzip xorg-libxcomposite xorg-libxcursor zip # Optional: pulseaudio sccache lld name=thunderbird version=115.0 release=1 source=(https://ftp.mozilla.org/pub/$name/releases/$version/source/$name-$version.source.tar.xz $name.desktop) build() { cd $name-$version if [ -e '/usr/bin/ccache' ]; then export OS_CCACHE_COMPILERCHECK="$(/usr/bin/clang -dumpversion | sed -z 's/\n/ /g'; crux | cut -d' ' -f3)" export CCACHE_COMPILERCHECK="string:$OS_CCACHE_COMPILERCHECK" PATH=$(echo ${PATH} | awk -v RS=: -v ORS=: '/ccache/ {next} {print}' | sed 's/:*$//') fi prt-get isinst sccache && export RUSTC_WRAPPER=/usr/bin/sccache mkdir -p "$PKGMK_SOURCE_DIR/rust" export CARGO_HOME="$PKGMK_SOURCE_DIR/rust" sed -i '/ROOT_CLIP_CHAIN/d' gfx/webrender_bindings/webrender_ffi.h cat <<- EOF > .mozconfig ac_add_options --prefix=/usr ac_add_options --enable-application=comm/mail ac_add_options --with-system-jpeg ac_add_options --with-system-zlib ac_add_options --with-system-png ac_add_options --with-system-nspr ac_add_options --with-system-nss ac_add_options --with-system-libevent ac_add_options --with-system-libvpx ac_add_options --with-system-webp ac_add_options --enable-av1 ac_add_options --enable-system-ffi ac_add_options --enable-system-pixman ac_add_options --enable-optimize ac_add_options --enable-release ac_add_options --enable-rust-simd ac_add_options --enable-official-branding ac_add_options --with-distribution-id=nu.crux ac_add_options --enable-lto=thin ac_add_options --disable-debug ac_add_options --disable-debug-symbols ac_add_options --disable-tests ac_add_options --disable-updater ac_add_options --disable-crashreporter ac_add_options --disable-necko-wifi ac_add_options --disable-elf-hack ac_add_options --without-wasm-sandboxed-libraries EOF # use llvm linker, if available prt-get isinst lld && \ { echo -e "ac_add_options --enable-linker=lld" >> .mozconfig; export LDFLAGS+=" -Wl,--thinlto-jobs=$((JOBS / 2))"; } || \ echo "ac_add_options --enable-linker=bfd" >> .mozconfig # audio local PKGMK_MOZAUD="--enable-audio-backends=alsa" prt-get isinst pulseaudio && PKGMK_MOZAUD+=",pulseaudio" echo "ac_add_options $PKGMK_MOZAUD" >> .mozconfig prt-get isinst wayland-protocols && \ echo 'ac_add_options --enable-default-toolkit=cairo-gtk3-wayland' >> .mozconfig || \ echo 'ac_add_options --enable-default-toolkit=cairo-gtk3' >> .mozconfig [ -e '/usr/bin/ccache' ] && echo 'ac_add_options --enable-ccache' >> .mozconfig export PYTHON=/usr/bin/python3 export RUSTFLAGS="$RUSTFLAGS -C debuginfo=0" export CC=clang CXX=clang++ AR=llvm-ar NM=llvm-nm RANLIB=llvm-ranlib export MOZ_MAKE_FLAGS="-j ${JOBS-1}" export MOZBUILD_STATE_PATH="$PKGMK_SOURCE_DIR/.mozbuild" # Disable notification when build system has finished export MOZ_NOSPAM=1 # Use system's Python environment export MACH_USE_SYSTEM_PYTHON=1 # Show flags set at the beginning echo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" echo "Current CFLAGS:\t\t${CFLAGS:-no value set}" echo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" echo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" echo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" # python/mach/mach/mixin/process.py fails to detect SHELL export SHELL='/usr/bin/bash' ./mach build DESTDIR=$PKG ./mach install install -d $PKG/usr/share/pixmaps ln -s /usr/lib/thunderbird/chrome/icons/default/default48.png $PKG/usr/share/pixmaps/thunderbird_default48.png install -D -m 0644 $SRC/$name.desktop $PKG/usr/share/applications/$name.desktop find $PKG -iname '*README*' -delete #rm -r $PKG/usr/{include,lib/thunderbird-devel,share/idl} install -d $PKG/etc/revdep.d echo "/usr/lib/thunderbird" > $PKG/etc/revdep.d/$name }