PKGBUILDs/community/bluegriffon/PKGBUILD
2017-06-28 20:05:06 +00:00

132 lines
5.2 KiB
Bash

# $Id$
# Maintainer: Muflone http://www.muflone.com/contacts/english/
# Contributor: Balló György <ballogyor+arch at gmail dot com>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - mozconfig changes
# - upstream patch for https://bugzilla.mozilla.org/show_bug.cgi?id=1257019
highmem=1
pkgname=bluegriffon
pkgver=2.3.1
_mozilla_ver=f14898695ee0
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' 'gtk3' 'hunspell' 'mozilla-common'
'nss' 'libevent' 'libvpx' 'libxt' 'python2' 'startup-notification')
makedepends=('autoconf2.13' 'libpulse' 'unzip' 'zip' 'yasm')
options=('!emptydirs')
source=("${pkgname}-${pkgver}.tar.gz"::"https://github.com/therealglazou/${pkgname}/archive/${pkgver}.tar.gz"
"mozilla-central-${_mozilla_ver}.tar.bz2"::"https://hg.mozilla.org/mozilla-central/archive/${_mozilla_ver}.tar.bz2"
"bug_1329272_icu.patch"::"https://hg.mozilla.org/releases/mozilla-esr45/raw-diff/571b48abf054/build/autoconf/icu.m4"
"bug_1290037_update_keybits_in_h2.patch"::"https://hg.mozilla.org/mozilla-central/raw-rev/361ac226da2a"
"bug_1269171_mozalloc_in_stl_wrappers.patch"::"https://hg.mozilla.org/mozilla-central/raw-rev/68da139d0866"
"bug_1371991_no_lib_nss_crmf.patch"
"${pkgname}_gtk3.patch"
"bug_1234158_firefox-gtk3-20.patch"
"event__sizeof.patch"
"mozconfig"
"${pkgname}.desktop"
"bug_1257019.patch"::"https://hg.mozilla.org/mozilla-central/raw-rev/d5e77c8d64c9")
sha256sums=('1fb0ba05a024be3029fe800ef0297e9e5ff3dcb631d04a95ca30e33e5aa261d7'
'0b13213b5f9b3819b56872f7fb4fa7a1170ade06f8797dc11114e5f7c8eabca2'
'93de8102de543bad38dc49d9ffcf7a8a2d9246594a8e7b92c38736ed6c6050cd'
'87fb92e45f161d47b9e3ca31bcce60555bc33d633116dab4baa3bfba6ad965c4'
'9d4849338dad39b978f7c15a93c3c255d72d7bfdffa897900a0bdddd771d2e17'
'08e40f75395d26359ce9bcce42789961900b4dc8fbab8555baba6a2895f7798d'
'3868f39181a258823c45e7ad62bba8e7b6e8b07c41535dd584c2dc71431f5deb'
'd5e1b9a702dc693184494899fc4cd57ac206e1fd5415a8e5520b8ff3b822e734'
'f4440c9d3826f4cda18b9d00129347fe6a22de61e11d593b1a522fa46d685ca0'
'3c162de2bae884a573b2c1260500352e6b9c7803758cc73975109482503b9eb0'
'882133b77840356985a81e496b4ddc443f8f33c068cfb7ef0858497820adcfff'
'd0229aa67aa68dd50755fd022cf34af2a2a36faef2cf2ce06a336ebef7a08974')
prepare() {
cd "${pkgname}-${pkgver}"
# Fix build with GTK+3
patch -Np1 -i "${srcdir}/${pkgname}_gtk3.patch"
cd "${srcdir}/mozilla-central-${_mozilla_ver}"
# https://bugzilla.mozilla.org/show_bug.cgi?id=1329272
patch -Np1 -i "${srcdir}/bug_1329272_icu.patch"
# https://bugzilla.mozilla.org/show_bug.cgi?id=1290037
patch -Np1 -i "${srcdir}/bug_1290037_update_keybits_in_h2.patch"
# https://bugzilla.mozilla.org/show_bug.cgi?id=1269171
patch -Np1 -i "${srcdir}/bug_1269171_mozalloc_in_stl_wrappers.patch"
# https://bugzilla.mozilla.org/show_bug.cgi?id=1371991
# https://bugs.archlinux.org/task/54395
patch -Np1 -i "${srcdir}/bug_1371991_no_lib_nss_crmf.patch"
# Fix for libevent 2.1
# Change _EVENT_SIZEOF to EVENT__SIZEOF
patch -Np1 -i "${srcdir}/event__sizeof.patch"
# Move files to their correct location
cp -r "${srcdir}/${pkgname}-${pkgver}" bluegriffon
cp "${srcdir}/mozconfig" .mozconfig
# https://bugzilla.mozilla.org/show_bug.cgi?id=1234158
patch -Np1 -i "${srcdir}/bug_1234158_firefox-gtk3-20.patch"
# Apply BlueGriffon's upstream customizations
patch -Np1 -i "bluegriffon/config/content.patch"
# ALARM
patch -p1 -i ../bug_1257019.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
# Fix linking with gtk3
export LDFLAGS+=" $(pkg-config --libs gtk+-3.0)"
# Build the package
./mach build
}
package() {
cd "${srcdir}/mozilla-central-${_mozilla_ver}"
# Install files
install -m 755 -d "${pkgdir}/usr/lib/${pkgname}"
cp -LR bg/dist/bin/* "${pkgdir}/usr/lib/${pkgname}"
# Install executable file
install -m 755 -d "${pkgdir}/usr/bin"
ln -sf /usr/lib/${pkgname}/${pkgname} "${pkgdir}/usr/bin/${pkgname}"
# Install icons
cp bluegriffon/branding/mozicon128.png bluegriffon/branding/default128.png
for _icon in 16 32 48 128 256; do
install -Dm644 bluegriffon/branding/default${_icon}.png \
"${pkgdir}/usr/share/icons/hicolor/${_icon}x${_icon}/apps/${pkgname}.png"
done
# Install desktop file
install -Dm644 ../${pkgname}.desktop \
"${pkgdir}/usr/share/applications/${pkgname}.desktop"
# Use system-provided dictionaries
rm -rf "${pkgdir}/usr/lib/${pkgname}/dictionaries"
ln -sf /usr/share/hunspell "${pkgdir}/usr/lib/${pkgname}/dictionaries"
rm -rf "${pkgdir}/usr/lib/${pkgname}hyphenation"
ln -sf /usr/share/hyphen "${pkgdir}/usr/lib/${pkgname}/hyphenation"
}