blob: 10b1fdd7aba3b152ef684c5515fe7cbc0ab8e33d [file] [log] [blame] [edit]
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
# Maintainer: Ray Donnelly <mingw.android@gmail.com>
# Contributor: Renato Silva <br.renatosilva@gmail.com>
_realname=gdk-pixbuf2
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=2.42.4
pkgrel=1
pkgdesc="An image loading library (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32')
url="https://gitlab.gnome.org/GNOME/gdk-pixbuf"
license=(LGPL2.1)
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc"
"${MINGW_PACKAGE_PREFIX}-pkg-config"
"${MINGW_PACKAGE_PREFIX}-gobject-introspection"
"${MINGW_PACKAGE_PREFIX}-meson"
"${MINGW_PACKAGE_PREFIX}-gi-docgen")
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
"${MINGW_PACKAGE_PREFIX}-glib2>=2.37.2"
"${MINGW_PACKAGE_PREFIX}-libjpeg-turbo"
"${MINGW_PACKAGE_PREFIX}-libpng"
"${MINGW_PACKAGE_PREFIX}-libtiff")
options=('emptydirs')
install=${_realname}-${MSYSTEM}.install
source=("https://download.gnome.org/sources/gdk-pixbuf/${pkgver%.*}/gdk-pixbuf-${pkgver}.tar.xz"
0003-fix-dllmain.patch
0004-build-all-loaders-plus-gdi.patch
fix-missing-meson-dep.patch
gdk-pixbuf-query-loaders.hook.in)
noextract=("gdk-pixbuf-${pkgver}.tar.xz")
sha256sums=('fe9c5dd88f486194ea2bc09b8814c1ed895bb6c530f37cbbf259757c4e482e4d'
'21bd9b2ba1447267c84f1b445cbcf50c62299254856c1c227cc7ba4babc9f27e'
'b968cf8baff7c15efcc2107a32cfc1e91409f81c35f903650abb5458c8983cfa'
'3d3350dbb437a675e1bdfbc45ad7701634516cd95508411dfb33005b28c01044'
'6277c30e763c7889a3446e2ce8c7b8dbe7212678497b2905582de8159831e3fb')
prepare() {
cd ${srcdir}/
tar --exclude tests/test-images/reftests/tga -xf "gdk-pixbuf-${pkgver}.tar.xz"
cd ${srcdir}/gdk-pixbuf-${pkgver}
msg2 "0003-fix-dllmain.patch"
patch -p1 -i "${srcdir}"/0003-fix-dllmain.patch
patch -p1 -i "${srcdir}"/fix-missing-meson-dep.patch
# build all loaders + all gdi loaders static and just don't register
# the gdi loaders we don't need so the external ones get used
# (everything except wmf/emf atm)
patch -p1 -i "${srcdir}"/0004-build-all-loaders-plus-gdi.patch
}
build() {
[[ -d "${srcdir}/build-${MINGW_CHOST}" ]] && rm -rf "${srcdir}/build-${MINGW_CHOST}"
mkdir -p "${srcdir}/build-${MINGW_CHOST}" && cd "${srcdir}/build-${MINGW_CHOST}"
MSYS2_ARG_CONV_EXCL="--prefix=" \
meson \
--prefix=${MINGW_PREFIX} \
--wrap-mode=nodownload \
--auto-features=enabled \
--buildtype=plain \
-Dinstalled_tests=false \
-Drelocatable=true \
-Dgtk_doc=true \
-Dnative_windows_loaders=true \
-Dbuiltin_loaders=windows \
"../gdk-pixbuf-${pkgver}"
ninja
}
package() {
cd "${srcdir}/build-${MINGW_CHOST}"
DESTDIR="${pkgdir}" ninja install
for hook in gdk-pixbuf-query-loaders; do
local hook_path="${srcdir}/${MINGW_PACKAGE_PREFIX}-${hook}.hook";
cp "${srcdir}/${hook}.hook.in" "${hook_path}"
sed -s "s|@MINGW_HOOK_TARGET_PREFIX@|${MINGW_PREFIX:1}|g" -i "${hook_path}"
sed -s "s|@MINGW_PREFIX@|${MINGW_PREFIX}|g" -i "${hook_path}"
install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 "${hook_path}"
done
install -Dm644 "${srcdir}/gdk-pixbuf-${pkgver}/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING"
}