# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org> # Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor: Ionut Biru <ibiru@archlinux.org> # Contributor: Alexander Baldeck <alexander@archlinux.org> # Contributor: Dale Blount <dale@archlinux.org> # Contributor: Anders Bostrom <anders.bostrom@home.se> # ALARM: Kevin Mihelich <kevin@archlinuxarm.org> # - mozconfig changes for ARM # - revert change for clang that breaks gcc build on ARM buildarch=12 highmem=1 pkgname=thunderbird pkgver=60.4.0 pkgrel=1 pkgdesc='Standalone mail and news reader from mozilla.org' url='https://www.mozilla.org/thunderbird/' arch=(x86_64) license=(MPL GPL LGPL) depends=(gtk3 gtk2 mozilla-common libxt startup-notification mime-types dbus-glib alsa-lib nss hunspell sqlite ttf-font libvpx icu) makedepends=(unzip zip diffutils python2 yasm mesa imake gconf libpulse inetutils xorg-server-xvfb autoconf2.13 rust clang llvm) optdepends=('libcanberra: sound support') options=(!emptydirs !makeflags) source=(https://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/$pkgver/source/thunderbird-$pkgver.source.tar.xz $pkgname.desktop https://hg.mozilla.org/mozilla-central/raw-rev/537f4d1d837a) sha256sums=('27a6cdd9cfdd7ce70b1d193c64739db6be6b39eec308f0122d8472a6cd243e75' 'e44c55501f650a4e80b9c353b81f33e07ca65808db831eff6ca616aded233827' '9fa42f3a4ccd255b56f4157119c08ff19df9f972aa25af4cbb685e3683139c24') # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) # Note: These are for Arch Linux use ONLY. For your own distribution, please # get your own set of keys. Feel free to contact foutrelis@archlinux.org for # more information. _google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM # Mozilla API keys (see https://location.services.mozilla.com/api) # Note: These are for Arch Linux use ONLY. For your own distribution, please # get your own set of keys. Feel free to contact heftig@archlinux.org for # more information. _mozilla_api_key=16674381-f021-49de-8622-3021c5942aff prepare() { cd $pkgname-$pkgver echo -n "$_google_api_key" >google-api-key echo -n "$_mozilla_api_key" >mozilla-api-key cat >.mozconfig <<END ac_add_options --enable-application=comm/mail ac_add_options --enable-calendar ac_add_options --prefix=/usr ac_add_options --enable-release #ac_add_options --enable-linker=gold #ac_add_options --enable-hardening #ac_add_options --enable-optimize ac_add_options --enable-rust-simd # Branding ac_add_options --enable-official-branding ac_add_options --enable-update-channel=release ac_add_options --with-distribution-id=org.archlinux # Keys ac_add_options --with-google-api-keyfile=${PWD@Q}/google-api-key ac_add_options --with-mozilla-api-keyfile=${PWD@Q}/mozilla-api-key # ALARM ac_add_options --disable-webrtc # System libraries ac_add_options --with-system-zlib ac_add_options --with-system-bz2 ac_add_options --with-system-icu ac_add_options --with-system-jpeg ac_add_options --with-system-libvpx ac_add_options --with-system-nspr ac_add_options --with-system-nss ac_add_options --enable-system-hunspell ac_add_options --enable-system-sqlite ac_add_options --enable-system-ffi # Features ac_add_options --enable-alsa ac_add_options --disable-jack ac_add_options --enable-startup-notification ac_add_options --disable-crashreporter ac_add_options --disable-updater END if [[ $CARCH == "armv7h" ]]; then echo "ac_add_options --disable-elf-hack" >> .mozconfig echo 'ac_add_options --enable-optimize="-g -O2 -fno-schedule-insns"' >> .mozconfig elif [[ $CARCH == "aarch64" ]]; then echo 'ac_add_options --enable-optimize="-O2"' >> .mozconfig fi patch -Rp1 -i ../537f4d1d837a LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads" } build() { cd $pkgname-$pkgver ./mach configure ./mach build ./mach buildsymbols } package() { cd $pkgname-$pkgver DESTDIR="$pkgdir" ./mach install _vendorjs="$pkgdir/usr/lib/$pkgname/defaults/preferences/vendor.js" install -Dm644 /dev/stdin "$_vendorjs" <<END // Use LANG environment variable to choose locale pref("intl.locale.requested", ""); // Use system-provided dictionaries pref("spellchecker.dictionary_path", "/usr/share/hunspell"); // Disable default mailer checking. pref("mail.shell.checkDefaultMail", false); // Don't disable our bundled extensions in the application directory pref("extensions.autoDisableScopes", 11); pref("extensions.shownSelectionUI", true); END _distini="$pkgdir/usr/lib/$pkgname/distribution/distribution.ini" install -Dm644 /dev/stdin "$_distini" <<END [Global] id=archlinux version=1.0 about=Mozilla Thunderbird for Arch Linux [Preferences] app.distributor=archlinux app.distributor.channel=$pkgname app.partner.archlinux=archlinux END for i in 16 22 24 32 48 64 128 256; do install -Dm644 comm/mail/branding/thunderbird/default${i}.png \ "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$pkgname.png" done install -Dm644 comm/mail/branding/thunderbird/TB-symbolic.svg \ "$pkgdir/usr/share/icons/hicolor/symbolic/apps/thunderbird-symbolic.svg" install -Dm644 ../$pkgname.desktop \ "$pkgdir/usr/share/applications/$pkgname.desktop" # Use system-provided dictionaries rm -r "$pkgdir/usr/lib/$pkgname/dictionaries" ln -Ts /usr/share/hunspell "$pkgdir/usr/lib/$pkgname/dictionaries" ln -Ts /usr/share/hyphen "$pkgdir/usr/lib/$pkgname/hyphenation" # Install a wrapper to avoid confusion about binary path install -Dm755 /dev/stdin "$pkgdir/usr/bin/$pkgname" <<END #!/bin/sh exec /usr/lib/$pkgname/thunderbird "\$@" END # Replace duplicate binary with wrapper # https://bugzilla.mozilla.org/show_bug.cgi?id=658850 ln -srf "$pkgdir/usr/bin/$pkgname" \ "$pkgdir/usr/lib/$pkgname/thunderbird-bin" } # vim: ts=2 sw=2 et: