blob: 87b72e54d39d8d83c3181be5e730e4383b36a435 [file] [log] [blame]
# Maintainer: J. Peter Mugaas <jpmugaas@suddenlink.net>
_realname=graphite2
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=1.3.14
pkgrel=2
pkgdesc="Font rendering capabilities for complex non-Roman writing systems (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32')
url="https://github.com/silnrsi/graphite"
license=('LGPL2.1+')
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs")
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-python")
options=('strip' 'staticlibs')
source=("https://github.com/silnrsi/graphite/releases/download/${pkgver}/${_realname}-${pkgver}.tgz"
"001-graphite2-1.3.12-win64.patch"
"002-graphite2-1.2.1-pkgconfig.patch"
"003-graphite2-1.3.12-staticbuild.patch"
"004-graphite2-1.3.12-dllimport-fix.patch"
)
sha256sums=('f99d1c13aa5fa296898a181dff9b82fb25f6cc0933dbaa7a475d8109bd54209d'
'a77a3e21099454b0732da2ec37067c871c267e9443a9c6c56ca44245e6a64c4f'
'1792cf52964090ecd144c8cfd94de0e5e2438b0bac1e66fd81a872626d4aff70'
'7cfc9f8bcb786b89713cfd043bc471ef61441360fa6b45b5fc2e93cd69e79e93'
'cc33eab2ac0e335963d678ce7af15ccfef4cbc94e6722ffeb99b200f14a5003d')
# Helper macros to help make tasks easier #
apply_patch_with_msg() {
for _patch in "$@"
do
msg2 "Applying $_patch"
patch -Nbp1 -i "${srcdir}/$_patch"
done
}
del_file_exists() {
for _fname in "$@"
do
if [ -f $_fname ]; then
rm -rf $_fname
fi
done
}
# =========================================== #
prepare() {
cd "${srcdir}"/${_realname}-${pkgver}
apply_patch_with_msg 001-graphite2-1.3.12-win64.patch \
002-graphite2-1.2.1-pkgconfig.patch \
003-graphite2-1.3.12-staticbuild.patch \
004-graphite2-1.3.12-dllimport-fix.patch
}
check() {
cd "${srcdir}"/build-${CARCH}
# we also want to use mingw-w64-x86_64 and mingw-w64-i686 versions of python
mkdir -p "${srcdir}"/${_realname}-${pkgver}/tests/backup
cp "${srcdir}"/${_realname}-${pkgver}/tests/{corrupt.py,defuzz,fnttxtrender,hbspeeds,jsoncmp,trace2svg} \
${srcdir}"/${_realname}-${pkgver}/tests/backup"
sed -i "s:\/usr\/bin\/python:${MINGW_PREFIX}\/bin\/python:" \
"${srcdir}"/${_realname}-${pkgver}/tests/{corrupt.py,defuzz,fnttxtrender,hbspeeds,jsoncmp,trace2svg}
ctest || true
rm "${srcdir}"/${_realname}-${pkgver}/tests/{corrupt.py,defuzz,fnttxtrender,hbspeeds,jsoncmp,trace2svg}
cp "${srcdir}"/${_realname}-${pkgver}/tests/backup/* "${srcdir}"/${_realname}-${pkgver}/tests
rm -rf "${srcdir}"/${_realname}-${pkgver}/tests/backup
}
build() {
[[ -d "${srcdir}"/build-${CARCH} ]] && rm -rf "${srcdir}"/build-${CARCH}
mkdir -p "${srcdir}"/build-${CARCH} && cd "${srcdir}"/build-${CARCH}
declare -a extra_config
if check_option "debug" "n"; then
extra_config+=("-DCMAKE_BUILD_TYPE=Release")
else
extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
fi
# C++17 is needed
CXXFLAGS="${CXXFLAGS} -std=gnu++17" \
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake \
-G'MSYS Makefiles' \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
"${extra_config[@]}" \
-DBUILD_SHARED_LIBS=ON \
-DGRAPHITE2_COMPARE_RENDERER=ON \
../${_realname}-${pkgver}
make
}
package() {
cd "${srcdir}"/build-${CARCH}
make DESTDIR=${pkgdir} install
# License
install -Dm644 "${srcdir}/${_realname}-${pkgver}/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING"
install -Dm644 "${srcdir}/${_realname}-${pkgver}/LICENSE" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE"
}