blob: 54d0ae28705c5cfe07ab51d6d2f6c5c5bd35aafd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
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
}
|