pkgname=mingw-w64-gdk-pixbuf2 pkgver=2.42.10 pkgrel=1 pkgdesc='An image loading library (mingw-w64)' arch=('any') url='https://www.gtk.org' license=('LGPL') makedepends=( 'mingw-w64-gcc' 'mingw-w64-pkg-config' 'mingw-w64-meson' 'mingw-w64-wine' 'python') # python is required to run glib-mkenums depends=( 'mingw-w64-crt' 'mingw-w64-glib2>=2.56.0' 'mingw-w64-libpng' 'mingw-w64-libjpeg-turbo' 'mingw-w64-libtiff') options=('!strip' '!buildflags' 'staticlibs') source=( "https://download.gnome.org/sources/gdk-pixbuf/${pkgver%.*}/gdk-pixbuf-$pkgver.tar.xz" 'gdk-pixbuf2-gen-thumbnailer-wine.patch') sha256sums=( 'ee9b6c75d13ba096907a2e3c6b27b61bcd17f5c7ebeab5a5b439d2f2e39fe44b' '69dd65e803a7a0d752536478864b19d77423affff2921aea5d076dd5916594f6') _architectures=('i686-w64-mingw32' 'x86_64-w64-mingw32') prepare() { cd "${srcdir}/gdk-pixbuf-${pkgver}" local source_file for source_file in "${source[@]}"; do case "${source_file}" in *.patch) patch -p1 < "${srcdir}/${source_file}" ;; esac done } build() { export NEED_WINE=1 cd "${srcdir}/gdk-pixbuf-${pkgver}" for _arch in "${_architectures[@]}"; do mkdir -p "build-${_arch}" cd "build-${_arch}" # GdkPixbuf upstream still doesn't support cross-compilation properly. # https://gitlab.gnome.org/GNOME/gdk-pixbuf/issues/64 export WINEPATH="${srcdir}/gdk-pixbuf-${pkgver}/build-${_arch}/gdk-pixbuf;/usr/${_arch}/bin" export WINE="${_arch}-wine" "${_arch}-meson" \ --default-library both \ -Dinstalled_tests=false \ -Dbuiltin_loaders=all \ -Drelocatable=true \ -Dintrospection=disabled \ -Dman=false ninja cd .. done } package() { cd "${srcdir}/gdk-pixbuf-${pkgver}" for _arch in "${_architectures[@]}"; do cd "build-${_arch}" DESTDIR="$pkgdir" ninja install find "$pkgdir/usr/${_arch}" -name '*.exe' -exec "${_arch}-strip" '{}' ';' find "$pkgdir/usr/${_arch}" -name '*.dll' -exec "${_arch}-strip" --strip-unneeded '{}' ';' find "$pkgdir/usr/${_arch}" '(' -name '*.a' -o -name '*.dll' ')' -exec "${_arch}-strip" -g '{}' ';' cd .. done }