description="Stand-alone mail/news client based on the Mozilla codebase."
url="https://www.mozilla.org/thunderbird"

packager="Tnut <tnut@nutyx.org>"
contributors="Pierre,Fabienwang,Spiky"

makedepends=(autoconf2-13 icu alsa-lib gtk2 zip unzip libevent libvpx nspr
             nss yasm dbus-glib doxygen libnotify openjdk sqlite wireless-tools
             xorg-libx11 xorg-libxt xorg-libxrandr pulseaudio python
             rustc cbindgen node)
run=(startup-notification hunspell desktop-file-utils hicolor-icon-theme
     shared-mime-info gtk-update-icon-cache)

name=thunderbird
version=102.8.0

locale_version=$version

source=(https://archive.mozilla.org/pub/thunderbird/releases/$version/source/$name-$version.source.tar.xz
	$name.desktop)

pack_remove_locale() {

wget  https://archive.mozilla.org/pub/thunderbird/releases/$version/linux-${PKGMK_ARCH}/xpi/${1}.xpi
install -Dm644 ${1}.xpi \
$PKG/usr/lib/$name/extensions/langpack-${1}@$name.mozilla.org.xpi
rm ${1}.xpi
cd $PKG
bsdtar -cf \
$PKGMK_PACKAGE_DIR/${name}.${1}${PKGMK_BUILDVER}any.$PKGMK_PACKAGE_EXT \
usr/lib/$name/extensions/langpack-${1}@$name.mozilla.org.xpi

rm usr/lib/$name/extensions/langpack-${1}@$name.mozilla.org.xpi

}
build() {

cd $name-$version

cat > mozconfig << "EOF"

ac_add_options --without-wasm-sandboxed-libraries

# If you have installed wireless-tools comment out this line:
ac_add_options --disable-necko-wifi

# Comment out following options if you have not installed
# recommended dependencies:
ac_add_options --enable-system-ffi
ac_add_options --enable-system-pixman

ac_add_options --with-system-libevent
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-icu
ac_add_options --with-system-jpeg
ac_add_options --with-system-png
ac_add_options --with-system-zlib


# The BLFS editors recommend not changing anything below this line:
ac_add_options --prefix=/usr
ac_add_options --enable-application=comm/mail


ac_add_options --disable-crashreporter
ac_add_options --disable-updater
ac_add_options --disable-debug
ac_add_options --disable-debug-symbols
ac_add_options --disable-tests
ac_add_options --disable-jack

# by a few MB - comment this if you know your machine is not affected.
ac_add_options --disable-elf-hack

ac_add_options --enable-optimize=-O2
ac_add_options --enable-strip
ac_add_options --enable-install-strip
ac_add_options --enable-linker=gold
ac_add_options --enable-official-branding

EOF

sed -i '/ROOT_CLIP_CHAIN/d' gfx/webrender_bindings/webrender_ffi.h
grep -rl \"rU\" | xargs sed -i 's/"rU"/"r"/'

sed -e 's/?s)\./?s:.)/'               \
    -e '/?m)/{s/?m)/?m:/;s/\$"/$)"/}' \
    -e '/?s)%/{s/?s)/?s:/;s/?"/?)"/}' \
    -i xpcom/idl-parser/xpidl/xpidl.py


export SHELL=/bin/sh
export CC=gcc CXX=g++
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system

./mach configure
./mach build

MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system \
DESTDIR=$PKG ./mach install

mkdir -pv $PKG/usr/bin
ln -sfv ../lib/$name/thunderbird $PKG/usr/bin

mkdir -pv $PKG/usr/share/applications 
install -Dm644 $SRC/thunderbird.desktop \
$PKG/usr/share/applications/thunderbird.desktop

for i in 16 22 24 32 48 128 256; do
   install -Dm644 comm/mail/branding/thunderbird/default${i}.png \
      $PKG/usr/share/icons/hicolor/${i}x${i}/apps/thunderbird.png
done
install -Dm644 comm/mail/branding/thunderbird/TB-symbolic.svg \
$PKG/usr/share/icons/hicolor/symbolic/apps/thunderbird-symbolic.svg

mkdir -p $PKG/etc/ld.so.conf.d
echo "/usr/lib/$name" > $PKG/etc/ld.so.conf.d/$name.conf

mkdir -p $PKG/usr/lib/thunderbird/defaults/preferences
cat > $PKG/usr/lib/thunderbird/defaults/preferences/vendor.js << "EOF"
// Use LANG environment variable to choose locale
pref("intl.locale.requested", "");
EOF

}
locale_ar()
{
pack_remove_locale ar
}
locale_as()
{
pack_remove_locale as
}
locale_cs()
{
pack_remove_locale cs
}
locale_da()
{
pack_remove_locale da
}
locale_de()
{
pack_remove_locale de
}
locale_el()
{
pack_remove_locale el
}
locale_es()
{
for lang in es-AR es-ES
do
   wget  http://download.cdn.mozilla.net/pub/mozilla.org/$name/releases/$version/linux-$PKGMK_ARCH/xpi/$lang.xpi
   install -Dm644 $lang.xpi \
   $PKG/usr/lib/$name/extensions/langpack-$lang@$name.mozilla.org.xpi
   rm $lang.xpi
done

cd $PKG
bsdtar -cf \
$PKGMK_PACKAGE_DIR/${name}.es${PKGMK_BUILDVER}any.$PKGMK_PACKAGE_EXT \
usr/lib/$name/extensions/langpack-es-AR@$name.mozilla.org.xpi \
usr/lib/$name/extensions/langpack-es-ES@$name.mozilla.org.xpi

rm usr/lib/$name/extensions/langpack-es-AR@$name.mozilla.org.xpi
rm usr/lib/$name/extensions/langpack-es-ES@$name.mozilla.org.xpi
}
locale_et()
{
pack_remove_locale et
}
locale_fa()
{
pack_remove_locale fa
}
locale_ff()
{
pack_remove_locale ff
}
locale_fi()
{
pack_remove_locale fi
}
locale_fr()
{
pack_remove_locale fr
}
locale_ga()
{
lang=ga-IE
wget  http://download.cdn.mozilla.net/pub/mozilla.org/$name/releases/$version/linux-$PKGMK_ARCH/xpi/$lang.xpi
install -Dm644 $lang.xpi \
$PKG/usr/lib/$name/extensions/langpack-$lang@$name.mozilla.org.xpi
rm $lang.xpi
cd $PKG
bsdtar -cf \
$PKGMK_PACKAGE_DIR/${name}.ga${PKGMK_BUILDVER}any.$PKGMK_PACKAGE_EXT \
usr/lib/$name/extensions/langpack-$lang@$name.mozilla.org.xpi

rm usr/lib/$name/extensions/langpack-$lang@$name.mozilla.org.xpi
}
locale_gl()
{
pack_remove_locale gl
}
locale_hr()
{
pack_remove_locale hr
}
locale_hu()
{
pack_remove_locale hu
}
locale_is()
{
pack_remove_locale is
}
locale_it()
{
pack_remove_locale it
}
locale_ja()
{
pack_remove_locale ja
}
locale_ko()
{
pack_remove_locale ko
}
locale_lt()
{
pack_remove_locale lt
}
locale_nl()
{
pack_remove_locale nl
}
locale_nn()
{
lang=nn-NO
wget  http://download.cdn.mozilla.net/pub/mozilla.org/$name/releases/$version/linux-$PKGMK_ARCH/xpi/$lang.xpi
install -Dm644 $lang.xpi \
$PKG/usr/lib/$name/extensions/langpack-$lang@$name.mozilla.org.xpi
rm $lang.xpi
cd $PKG
bsdtar -cf \
$PKGMK_PACKAGE_DIR/${name}.nn${PKGMK_BUILDVER}any.$PKGMK_PACKAGE_EXT \
usr/lib/$name/extensions/langpack-$lang@$name.mozilla.org.xpi

rm usr/lib/$name/extensions/langpack-$lang@$name.mozilla.org.xpi
}
locale_pl()
{
pack_remove_locale pl
}
locale_pt()
{
for lang in pt-PT pt-BR
do
  wget  http://download.cdn.mozilla.net/pub/mozilla.org/$name/releases/$version/linux-$PKGMK_ARCH/xpi/$lang.xpi
  install -Dm644 $lang.xpi \
  $PKG/usr/lib/$name/extensions/langpack-$lang@$name.mozilla.org.xpi
  rm $lang.xpi
done

cd $PKG
bsdtar -cf \
$PKGMK_PACKAGE_DIR/${name}.pt${PKGMK_BUILDVER}any.$PKGMK_PACKAGE_EXT \
usr/lib/$name/extensions/langpack-pt-PT@$name.mozilla.org.xpi \
usr/lib/$name/extensions/langpack-pt-BR@$name.mozilla.org.xpi

rm usr/lib/$name/extensions/langpack-pt-BR@$name.mozilla.org.xpi
rm usr/lib/$name/extensions/langpack-pt-PT@$name.mozilla.org.xpi
}
locale_ro()
{
pack_remove_locale ro
}
locale_ru()
{
pack_remove_locale ru
}
locale_sk()
{
pack_remove_locale sk
}
locale_sl()
{
pack_remove_locale sl
}
locale_sq()
{
pack_remove_locale sq
}
locale_sr()
{
pack_remove_locale sr
}
locale_sv()
{
lang=sv-SE
wget  http://download.cdn.mozilla.net/pub/mozilla.org/$name/releases/$version/linux-$PKGMK_ARCH/xpi/$lang.xpi
install -Dm644 $lang.xpi \
$PKG/usr/lib/$name/extensions/langpack-$lang@$name.mozilla.org.xpi
rm $lang.xpi
cd $PKG
bsdtar -cf \
$PKGMK_PACKAGE_DIR/${name}.sv${PKGMK_BUILDVER}any.$PKGMK_PACKAGE_EXT \
usr/lib/$name/extensions/langpack-$lang@$name.mozilla.org.xpi

rm usr/lib/$name/extensions/langpack-$lang@$name.mozilla.org.xpi
}
locale_tr()
{
pack_remove_locale tr
}
locale_uk()
{
pack_remove_locale uk
}
locale_vi()
{
pack_remove_locale vi
}
locale_zh()
{
for lang in zh-CN zh-TW
do
  wget  http://download.cdn.mozilla.net/pub/mozilla.org/$name/releases/$version/linux-$PKGMK_ARCH/xpi/$lang.xpi
  install -Dm644 $lang.xpi \
  $PKG/usr/lib/$name/extensions/langpack-$lang@$name.mozilla.org.xpi
  rm $lang.xpi
done

cd $PKG
bsdtar -cf \
$PKGMK_PACKAGE_DIR/${name}.zh${PKGMK_BUILDVER}any.$PKGMK_PACKAGE_EXT \
usr/lib/$name/extensions/langpack-zh-CN@$name.mozilla.org.xpi \
usr/lib/$name/extensions/langpack-zh-TW@$name.mozilla.org.xpi

rm usr/lib/$name/extensions/langpack-zh-CN@$name.mozilla.org.xpi
rm usr/lib/$name/extensions/langpack-zh-TW@$name.mozilla.org.xpi

}
