# $Id$
# Maintainer: Kyle Keen <keenerd@gmail.com>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - mozconfig additions used in xulrunner, just in case

highmem=1

pkgname=seamonkey
pkgver=2.46
pkgrel=1
pkgdesc="SeaMonkey internet suite"
arch=('i686' 'x86_64')
license=('MPL')
depends=('alsa-lib'  'dbus-glib'  'desktop-file-utils'  'gtk2' 'gtk3' 'hunspell'  'libevent'  'libnotify'  'libvpx'  'libxt' 'mime-types'  'mozilla-common'  'nss'  'sqlite'  'startup-notification' 'libpulse' 'icu' 'gconf')
makedepends=('unzip' 'zip' 'pkg-config'  'python2' 'yasm' 'wireless_tools' 'mesa' 'autoconf2.13' 'imake' 'python3' 'gst-plugins-base')
optdepends=('gst-plugins-base: vorbis decoding, ogg demuxing'
            'gst-plugins-bad: aac, vp8 and opus decoding'
            'gst-plugins-good: webm and mp4 demuxing'
            'gst-plugins-ugly: h.264 decoding')
url="http://www.seamonkey-project.org/"
source=(https://archive.mozilla.org/pub/mozilla.org/seamonkey/releases/$pkgver/source/seamonkey-$pkgver.source.tar.xz
        mozconfig
        seamonkey-2.0-lang.patch
        rhbz-966424.patch
        xulrunner-27.0-build-arm.patch)
md5sums=('436a158e16eee151b97f96c053b82d45'
         'e904af9abed61515e17c2c7457aca74f'
         '25b6fe16ac24cd5c852213e5c1adb272'
         '8c1578232b7a60fa1caa9a0b322d1e2b'
         'f6f758612d23c2a6e1497889b70bc57a')

prepare() {
  cd "$pkgname-$pkgver"
  cp ../mozconfig .mozconfig
  #patch -Np1 -i ../seamonkey-2.0-lang.patch

  # FS#48404
  #echo "ac_add_options --enable-gstreamer=1.0" >> .mozconfig

  # https://bugs.archlinux.org/task/41689
  patch -Np1 -d mozilla -i ../../rhbz-966424.patch

  # Don't exit with error when some libs are missing which we have in
  # system.
  sed -i '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' suite/installer/Makefile.in

  # configure script misdetects the preprocessor without an optimization level
  sed -i '/ac_cpp=/s/$CPPFLAGS/& -O2/' configure

  # 2.26 build fix from wgnie (blfs ch 37)
  sed -i 's/$(MOZ_ZLIB_CFLAGS)/& $(MOZ_PIXMAN_CFLAGS)/' config/config.mk

  [[ $CARCH != "aarch64" ]] && echo "ac_add_options --disable-elf-hack" >> .mozconfig
  LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
  patch -p2 -d mozilla -i "${srcdir}"/xulrunner-27.0-build-arm.patch
}

build() {
  cd "$pkgname-$pkgver"

  export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/seamonkey-$pkgver"
  export MOZ_MAKE_FLAGS="$MAKEFLAGS"
  unset MAKEFLAGS
  unset CPPFLAGS

  # GCC 6
  CFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2"
  CXXFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2"

  make -j1 -f client.mk build
}

package() {
  cd "$pkgname-$pkgver"

  make -j1 -f client.mk DESTDIR="$pkgdir" INSTALL_SDK= install

  rm -rf "$pkgdir"/usr/lib/seamonkey-$pkgver/{dictionaries,hyphenation}
  ln -s /usr/share/hunspell "$pkgdir/usr/lib/seamonkey-$pkgver/dictionaries"
  ln -s /usr/share/hyphen "$pkgdir/usr/lib/seamonkey-$pkgver/hyphenation"

  install -Dm644 suite/branding/nightly/icons/gtk/seamonkey.png \
                "$pkgdir/usr/share/pixmaps/seamonkey.png"

  install -Dm644 mozilla/toolkit/mozapps/installer/linux/rpm/mozilla.desktop \
                "$pkgdir/usr/share/applications/seamonkey.desktop"
  sed -i 's/@MOZ_APP_DISPLAYNAME@/SeaMonkey internet suite/' \
                "$pkgdir/usr/share/applications/seamonkey.desktop"
  sed -i 's/@MOZ_APP_NAME@/seamonkey/' "$pkgdir/usr/share/applications/seamonkey.desktop"

  rm -f "$pkgdir/usr/lib/pkgconfig/"seamonkey-ns{s,pr}.pc
  #rm -r "$pkgdir"/usr/{include,lib/seamonkey-devel-$pkgver,share/idl}
}