مهدي شينون (Mehdi Chinoune) c9e5b84b9b NFC: Always quote ${srcdir} and ${pkgdir}
Just in case someone has space in his path to MINGW-packages repo.
2025-01-14 09:27:50 +01:00

118 lines
3.9 KiB
Bash

# Maintainer: Alexey Pavlov <alexpux@gmail.com>
# Contributor: Renato Silva <br.renatosilva@gmail.com>
_realname=cairo
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
_commit='b43e7c6f3cf7855e16170a06d3a9c7234c60ca94'
pkgver=1.18.2
pkgrel=2
pkgdesc="Cairo vector graphics library (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clangarm64')
url="https://cairographics.org/"
msys2_references=(
"cpe: cpe:2.3:a:cairographics:cairo"
)
license=('spdx:LGPL-2.1-or-later OR MPL-1.1')
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
"${MINGW_PACKAGE_PREFIX}-meson"
"${MINGW_PACKAGE_PREFIX}-ninja"
"${MINGW_PACKAGE_PREFIX}-pkgconf"
"${MINGW_PACKAGE_PREFIX}-python"
"${MINGW_PACKAGE_PREFIX}-python-fonttools"
"${MINGW_PACKAGE_PREFIX}-gettext-tools"
)
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
"${MINGW_PACKAGE_PREFIX}-freetype"
"${MINGW_PACKAGE_PREFIX}-fontconfig"
"${MINGW_PACKAGE_PREFIX}-gettext-runtime"
"${MINGW_PACKAGE_PREFIX}-glib2"
"${MINGW_PACKAGE_PREFIX}-libpng"
"${MINGW_PACKAGE_PREFIX}-lzo2"
"${MINGW_PACKAGE_PREFIX}-pixman"
"${MINGW_PACKAGE_PREFIX}-zlib")
source=("https://cairographics.org/releases/cairo-${pkgver}.tar.xz"
0001-fix-build-with-mingw-11.patch::https://cgit.freedesktop.org/cairo/patch/?id=0835add95c1391164e52c551569a9c46a6fcd90c
0026-create-argb-fonts.all.patch
0030-ucrt-clang-fixes.patch)
sha256sums=('a62b9bb42425e844cc3d6ddde043ff39dbabedd1542eba57a2eb79f85889d45a'
'1d892e6d1981067408fdda467ed4f774d12b8c66268f938fe09e1cd494ebb634'
'6db6c44fbdb4926d09afa978fe80430186c4b7b7d255059602b1f94c6a079975'
'86c1af2878a20bd3608fc476e4ba1f2451458a5f6f12e457e37b61082c38db82')
prepare() {
cd "${srcdir}/${_realname}-${pkgver}"
patch -p1 -i "${srcdir}"/0001-fix-build-with-mingw-11.patch
patch -p1 -i "${srcdir}"/0026-create-argb-fonts.all.patch
patch -p1 -i "${srcdir}"/0030-ucrt-clang-fixes.patch
}
build() {
local -a _static_flags=(
-DGIO_STATIC_COMPILATION
-DGLIB_STATIC_COMPILATION
-DGMODULE_STATIC_COMPILATION
-DGOBJECT_STATIC_COMPILATION
)
local -a _meson_options
_meson_options=(
--prefix=${MINGW_PREFIX}
--buildtype=plain
--wrap-mode=nofallback
-Dauto_features=enabled
-Dtests=disabled
-Ddwrite=enabled
-Dfontconfig=enabled
-Dfreetype=enabled
-Dpng=enabled
-Dtee=enabled
-Dzlib=enabled
-Dxlib=disabled
-Dxcb=disabled
-Dspectre=disabled
-Dsymbol-lookup=disabled
)
# work around gcc errors
if [[ "${CC}" == "gcc" ]]; then
CFLAGS+=" -Wno-error=incompatible-pointer-types"
CXXFLAGS+=" -Wno-error=incompatible-pointer-types"
fi
# Enables CAIRO_WIN32_STATIC_BUILD, keeps DllMain far away (#17643)
CFLAGS+=" ${_static_flags[@]}" \
CXXFLAGS+=" ${_static_flags[@]}" \
MSYS2_ARG_CONV_EXCL="--prefix=" \
${MINGW_PREFIX}/bin/meson setup \
"${_meson_options[@]}" \
--default-library=static \
"${_realname}-${pkgver}" \
"build-${MSYSTEM}-static"
meson compile -C "build-${MSYSTEM}-static"
MSYS2_ARG_CONV_EXCL="--prefix=" \
${MINGW_PREFIX}/bin/meson setup \
"${_meson_options[@]}" \
--default-library=shared \
"${_realname}-${pkgver}" \
"build-${MSYSTEM}-shared"
meson compile -C "build-${MSYSTEM}-shared"
}
package() {
meson install -C "build-${MSYSTEM}-static" --destdir "${pkgdir}"
meson install -C "build-${MSYSTEM}-shared" --destdir "${pkgdir}"
install -Dm644 "${srcdir}/${_realname}-${pkgver}/COPYING" \
"${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING"
install -Dm644 "${srcdir}/${_realname}-${pkgver}/COPYING-LGPL-2.1" \
"${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING-LGPL-2.1"
install -Dm644 "${srcdir}/${_realname}-${pkgver}/COPYING-MPL-1.1" \
"${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING-MPL-1.1"
}