#!/bin/env beesh

#export BEE_TMP_TMPDIR=/dev/shm BEE_TMP_BUILDROOT=/dev/shm/bee-root BEE_MAKEFLAGS='-j80'

# BEE_VERSION thunderbird-68.0-0

SRCURL[0]="https://ftp.mozilla.org/pub/thunderbird/releases/${PKGVERSION}/source/thunderbird-${PKGVERSION}.source.tar.xz"

# build_in_sourcedir

mee_configure() {
    . /pkg/rustc-1.34.2-0/profile

    start_cmd ${S}/configure \
        --prefix=${PREFIX} \
        --enable-application=comm/mail \
        --without-system-nspr \
        --disable-necko-wifi \
        --disable-updater \
        --disable-crashreporter \
        --enable-startup-notification \
        --disable-tests \
        --enable-official-branding \
        --disable-debug \
        --disable-tests \
        --enable-calendar \
        --enable-optimize \
        --enable-strip \
        --enable-install-strip
}

mee_build () {
    start_cmd make ${BEE_MAKEFLAGS}
}

mee_build_post() {

  # create menu entry

  cat >${B}/thunderbird.desktop <<-EOF
	[Desktop Entry]
	Version=1.0
	Name=Thunderbird Mail
	GenericName=Mail Client
	Comment=Send and receive mail with Thunderbird
	Exec=thunderbird %u
	TryExec=thunderbird
	Icon=thunderbird
	Terminal=false
	Type=Application
	MimeType=message/rfc822;x-scheme-handler/mailto;
	StartupNotify=true
	Categories=Office;Network;
	EOF

  # create molgen ldap address book..
  cat >${B}/all-molgen-ldap.js <<EOF1
	pref("ldap_2.autoComplete.directoryServer", "ldap_2.servers.MOLGEN_pre");
	pref("ldap_2.autoComplete.useDirectory", true);
	pref("ldap_2.servers.MOLGEN_pre.auth.dn", "");
	pref("ldap_2.servers.MOLGEN_pre.auth.saslmech", "");
	pref("ldap_2.servers.MOLGEN_pre.description", "MOLGEN (preconfigured)");
	pref("ldap_2.servers.MOLGEN_pre.filename", "ldap.mab");
	pref("ldap_2.servers.MOLGEN_pre.maxHits", 100);
	pref("ldap_2.servers.MOLGEN_pre.uri", "ldap://ldap.molgen.mpg.de/dc=addressbook,dc=apps,dc=molgen,dc=mpg,dc=DE??sub?(objectclass=*)");
	pref("ldap_2.servers.MOLGEN_pre.autoComplete.filterTemplate", "(|(mail=*%v*)(displayName=*%v*)(givenName=*%v*)(sn=*%v*)(cn=*%v*))");
EOF1

  # create molgen default prefs
  cat >${B}/molgen-default-prefs.js <<EOF2
  pref("storage.nfs_filesystem", true);
  pref("nglayout.enable_drag_images", false);
EOF2
}

mee_install() {
    start_cmd make install DESTDIR=${D}
}

mee_install_post() {
  start_cmd install -d ${D}${LIBDIR}/mariux64
  start_cmd rm ${D}${BINDIR}/${PKGNAME}

  cat >${D}${LIBDIR}/mariux64/${PKGNAME}<<EOF3
	NSS_SDB_USE_CACHE=1 exec "${LIBDIR}/${PKGNAME}/${PKGNAME}" "\$@"
EOF3
  start_cmd chmod 755 ${D}${LIBDIR}/mariux64/${PKGNAME}

  # install official icon in all sizes

  for size in 16 22 24 32 48 256 ; do
      destdir=${D}${DATADIR}/hicolor/${size}x${size}/apps
      start_cmd mkdir -p ${destdir}
      start_cmd ln -s ${LIBDIR}/thunderbird/chrome/icons/default/default${size}.png ${destdir}/thunderbird.png
  done

  # install menu-entry

  start_cmd mkdir -p ${D}${DATADIR}/applications
  start_cmd desktop-file-install --dir ${D}${DATADIR}/applications ${B}/thunderbird.desktop

  # install ldap addressbook
  start_cmd install -m 0644 ${B}/all-molgen-ldap.js ${D}${LIBDIR}/thunderbird/defaults/pref
  start_cmd install -m 0644 ${B}/molgen-default-prefs.js ${D}${LIBDIR}/thunderbird/defaults/pref
}