PKGBUILDs/gtk3/mingw-w64/PKGBUILD

77 lines
2.4 KiB
Bash

# Maintainer: lantw44 at gmail dot com
# Contributor Martchus <martchus@gmx.net>
pkgname=mingw-w64-gtk3
pkgver=3.22.3
pkgrel=1
pkgdesc='GObject-based multi-platform GUI toolkit (mingw-w64)'
arch=(any)
url='http://www.gtk.org'
install="${pkgname}.install"
license=('LGPL')
makedepends=(
'mingw-w64-gcc'
'mingw-w64-pkg-config'
'mingw-w64-configure'
'gtk-update-icon-cache'
'gobject-introspection') # also pulls python which is required to run gdbus-codegen
depends=(
'mingw-w64-crt'
'mingw-w64-adwaita-icon-theme'
'mingw-w64-atk>=2.15.1'
'mingw-w64-cairo>=1.14.2-3'
'mingw-w64-gdk-pixbuf2>=2.30.0'
'mingw-w64-glib2>=2.49.4'
'mingw-w64-libepoxy>=1.0'
'mingw-w64-pango>=1.37.3')
options=(!strip !buildflags staticlibs)
source=("https://download.gnome.org/sources/gtk+/${pkgver%.*}/gtk+-${pkgver}.tar.xz"
'0001-Link-explicitely-against-msvcr90-to-prevent-linker-e.patch'
'gtk3-gdkdisplay-win32-winnt.patch'
'gtk3-gdkscreen-win32-winnt.patch')
sha256sums=('e190ab1a9a893861b8e8be341aa57bce8b7146d6445ebfe5a8ab64236fe82ed3'
'2527a537b0917844b18b72377dbe3f276c7844473fb61b58d2815c65a5cded75'
'c3aadfa67e29adea61cec87bd65229d4fb8dc25301cb448bb59f0ead63829ae2'
'6af598b8e9bdace52485013c7b4393903ae829a1f3f637611cedbdee506861c3')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
prepare() {
cd "${srcdir}/gtk+-${pkgver}"
for patch in "${srcdir}/"*.patch; do
patch -Np1 -i $patch
done
autoreconf -fi
}
build() {
cd "${srcdir}/gtk+-${pkgver}"
for _arch in ${_architectures}; do
export PKG_CONFIG="${_arch}-pkg-config"
export PKG_CONFIG_FOR_BUILD="pkg-config"
mkdir -p "build-${_arch}"
cd "build-${_arch}"
${_arch}-configure \
--enable-broadway-backend \
--enable-win32-backend \
--disable-cups
make
cd ..
done
}
package() {
cd "${srcdir}/gtk+-${pkgver}"
for _arch in ${_architectures}; do
cd "build-${_arch}"
make DESTDIR="$pkgdir" install
find "$pkgdir/usr/${_arch}" -name '*.exe' | xargs -rtL1 ${_arch}-strip
find "$pkgdir/usr/${_arch}" -name '*.dll' | xargs -rtL1 ${_arch}-strip --strip-unneeded
find "$pkgdir/usr/${_arch}" -name '*.a' -o -name '*.dll' | xargs -rtL1 ${_arch}-strip -g
rm "$pkgdir/usr/${_arch}/lib/"*.def
rm -r "$pkgdir/usr/${_arch}/etc"
rm -r "$pkgdir/usr/${_arch}/share/man"
cd ..
done
}