# $Id: PKGBUILD 132613 2015-05-01 18:38:00Z muflone $
# Maintainer: Muflone http://www.muflone.com/contacts/english/
# Contributor: Balló György <ballogyor+arch at gmail dot com>

pkgname=bluegriffon
pkgver=1.7.2
_mozilla_ver=9db46ddfb517
pkgrel=3
pkgdesc="The next-generation Web Editor based on the rendering engine of Firefox"
arch=('i686' 'x86_64')
url="http://bluegriffon.org/"
license=('MPL' 'GPL' 'LGPL')
depends=('alsa-lib' 'desktop-file-utils' 'dbus-glib' 'gtk2' 'hunspell' 'mozilla-common'
         'nss' 'libevent' 'libvpx' 'libxt' 'python2' 'startup-notification')
makedepends=('autoconf2.13' 'libpulse' 'subversion' 'unzip' 'xorg-server-xvfb' 'zip')
options=('!emptydirs')
install="${pkgname}.install"
source=("${pkgname}-${pkgver}"::"svn+http://sources.disruptive-innovations.com/${pkgname}/tags/${pkgver}"
        "${pkgname}-l10n-${pkgver}"::"svn+http://sources.disruptive-innovations.com/${pkgname}-l10n/tags/${pkgver}"
        "http://hg.mozilla.org/mozilla-central/archive/${_mozilla_ver}.tar.bz2"
        "mozconfig"
        "bluegriffon.desktop"
        "freetype.patch"
        "libvpx_1.4.patch")
sha256sums=('SKIP'
            'SKIP'
            'dacbcbfe1515c45c5b4c393cb050ae57a9e59e6a3876263f72c2477c859c35ef'
            '02d87cb754fd6532bf78d461e822b271ae135df27afd1f48d1978aa0372840b1'
            '882133b77840356985a81e496b4ddc443f8f33c068cfb7ef0858497820adcfff'
            '431c97f6b6d0c10d026e2d6d848e7c1bb0a7a55912199909f17ce485a8dc484e'
            '4a5aa3dc46a6e6a0344e703ade97842935337d4304751f8073b365b44b3162bc')

prepare() {
  cd "${srcdir}/mozilla-central-${_mozilla_ver}"

  # Move files to their correct location
  mv "${srcdir}/${pkgname}-${pkgver}" bluegriffon
  mv "${srcdir}/${pkgname}-l10n-${pkgver}" bluegriffon/locales
  mv "${srcdir}/mozconfig" .mozconfig

  # Apply BlueGriffon's upstream customizations
  patch -Np1 -i bluegriffon/config/content.patch

  # Fix build with freetype 2.5
  patch -Np1 -i ../freetype.patch

  # Fix build with libvpx >= 1.4
  patch -Np1 -i ../libvpx_1.4.patch

  # python2 fix
  find . -name \*.py -exec sed -i 's@^#.*python$@#!/usr/bin/python2@' '{}' \;
}

build() {
  cd "${srcdir}/mozilla-central-${_mozilla_ver}"

  # configure script misdetects the preprocessor without an optimization level
  # https://bugs.archlinux.org/task/34644
  export CPPFLAGS+=' -O2'
  export PYTHON=python2

  xvfb-run -a -s "-extension GLX -screen 0 1280x1024x24" \
    make -f client.mk build
}

package() {
  cd "${srcdir}/mozilla-central-${_mozilla_ver}"

  mkdir -p "${pkgdir}/usr/lib/bluegriffon"
  cp -LR bg/dist/bin/* "${pkgdir}/usr/lib/bluegriffon"

  mkdir -p "${pkgdir}/usr/bin"
  ln -sf /usr/lib/bluegriffon/bluegriffon "${pkgdir}/usr/bin/bluegriffon"

  for i in 16x16 32x32 48x48; do
      install -Dm644 bg/dist/branding/default${i/x*/}.png \
        "${pkgdir}/usr/share/icons/hicolor/${i}/apps/bluegriffon.png"
  done

  install -Dm644 bg/dist/branding/mozicon128.png \
    "${pkgdir}/usr/share/icons/hicolor/128x128/apps/bluegriffon.png"

  install -Dm644 ../bluegriffon.desktop \
    "${pkgdir}/usr/share/applications/bluegriffon.desktop"

  # Use system-provided dictionaries
  rm -rf "${pkgdir}"/usr/lib/bluegriffon/{dictionaries,hyphenation}
  ln -sf /usr/share/hunspell "${pkgdir}/usr/lib/bluegriffon/dictionaries"
  ln -sf /usr/share/hyphen "${pkgdir}/usr/lib/bluegriffon/hyphenation"
}
