108 lines
3.7 KiB
Bash
108 lines
3.7 KiB
Bash
# Maintainer: J. Peter Mugaas <jpmugaas@suddenlink.net>
|
|
|
|
_realname=graphite2
|
|
pkgbase=mingw-w64-${_realname}
|
|
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
|
|
pkgver=1.3.14
|
|
pkgrel=3
|
|
pkgdesc="Font rendering capabilities for complex non-Roman writing systems (mingw-w64)"
|
|
arch=('any')
|
|
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clangarm64')
|
|
msys2_references=(
|
|
'archlinux: graphite'
|
|
"cpe: cpe:/a:sil:graphite2"
|
|
)
|
|
url="https://github.com/silnrsi/graphite"
|
|
license=('spdx:LGPL-2.1-or-later')
|
|
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs")
|
|
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
|
|
"${MINGW_PACKAGE_PREFIX}-python"
|
|
"${MINGW_PACKAGE_PREFIX}-cc")
|
|
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-${MSYSTEM}
|
|
# 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-${MSYSTEM} ]] && rm -rf "${srcdir}"/build-${MSYSTEM}
|
|
mkdir -p "${srcdir}"/build-${MSYSTEM} && cd "${srcdir}"/build-${MSYSTEM}
|
|
|
|
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-${MSYSTEM}
|
|
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"
|
|
}
|