120 lines
5.0 KiB
Bash
120 lines
5.0 KiB
Bash
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
|
|
# Contributor: Renato Silva <br.renatosilva@gmail.com>
|
|
|
|
_realname=gtk2
|
|
pkgbase=mingw-w64-${_realname}
|
|
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
|
|
pkgver=2.24.33
|
|
pkgrel=8
|
|
pkgdesc="GTK+ is a multi-platform toolkit (v2) (mingw-w64)"
|
|
arch=('any')
|
|
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
|
|
url="https://www.gtk.org/"
|
|
msys2_references=(
|
|
"cpe: cpe:/a:gnome:gtk"
|
|
"cpe: cpe:/a:gtk:gtk%2b"
|
|
)
|
|
# According to gtk/gtk.h, this is either LGPL2+ or LGPL2.1+, if that makes any
|
|
# difference. So let's stick to LGPL2.1+ for safety.
|
|
license=(LGPL2.1+)
|
|
depends=("${MINGW_PACKAGE_PREFIX}-cc-libs"
|
|
"${MINGW_PACKAGE_PREFIX}-adwaita-icon-theme"
|
|
"${MINGW_PACKAGE_PREFIX}-atk"
|
|
"${MINGW_PACKAGE_PREFIX}-cairo"
|
|
"${MINGW_PACKAGE_PREFIX}-gdk-pixbuf2"
|
|
"${MINGW_PACKAGE_PREFIX}-gettext-runtime"
|
|
"${MINGW_PACKAGE_PREFIX}-glib2"
|
|
"${MINGW_PACKAGE_PREFIX}-pango"
|
|
"${MINGW_PACKAGE_PREFIX}-shared-mime-info")
|
|
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
|
|
"${MINGW_PACKAGE_PREFIX}-gobject-introspection"
|
|
"${MINGW_PACKAGE_PREFIX}-autotools"
|
|
"${MINGW_PACKAGE_PREFIX}-gtk-doc")
|
|
#optdepends=("${MINGW_PACKAGE_PREFIX}-gnome-icon-theme: Default icon theme")
|
|
install=gtk2-${MSYSTEM}.install
|
|
source=("https://download.gnome.org/sources/gtk+/${pkgver%.*}/gtk+-${pkgver}.tar.xz"
|
|
'gtkrc'
|
|
0001-fix-m4-location.mingw.patch
|
|
0003-Fix-notebook-tab-state-change.mingw.patch
|
|
0005-Fix-header-ref.all.patch
|
|
0006-Fix-unix-symbols-in-docs.mingw.patch
|
|
0009-give-cc-to-gir-scanner.mingw.patch
|
|
0010-put-gtk-dll-into-path.mingw.patch
|
|
0011-gir-for-gdkwin32.mingw.patch
|
|
0012-embed-manifest.all.patch
|
|
0013_fix_mouse_events.patch
|
|
0022-icontheme-win32-detect-SVG-files-by-extension.patch
|
|
0023-gdkkeys-win32.c-fix-initialisation-of-key_state-in-u.patch
|
|
0024-gtk-update-icon-cache-rc-quote.patch)
|
|
sha256sums=('ac2ac757f5942d318a311a54b0c80b5ef295f299c2a73c632f6bfb1ff49cc6da'
|
|
'b77a427df55a14182c10ad7e683b4d662df2846fcd38df2aa8918159d6be3ae2'
|
|
'9641e7e7204df7b96448033cd45357ef4a9f60f4ba24dedab772034049dab04b'
|
|
'a11eb8ca1ff7a96b1bda6202c259f85ca0c1b1a489ffa81745dffe329985a5f1'
|
|
'90f5374c6b9b1cbdf59ca71ac3335475f4395af617e2a9bbca2dc7dfe00f6928'
|
|
'07dac87d01d52bfe6c3f57098c0723dbda1bebb1c5b74b38e96e551bd631926c'
|
|
'458840bc6bedeb7503114c89bf9f9f34766b39f9a6bfaec09af411a023c96a31'
|
|
'75f3bd1098c39ccf881508f4c9d23278465bcfe15beaed4bed2af4b00efa00f3'
|
|
'10569e2bc2afe6ab320dcb4b0e708ddd8235244ec0daff05ca518cb8463f2924'
|
|
'4bc70de68084585dcf2b5a7e4abe32a789360fc2be97a9c94ba3b52dac89ad93'
|
|
'f6d731acecf6e35e4ec9739a6d949d2d045c9396c4564283ee6ec935ec690e24'
|
|
'b0f18b85d2fd47057c266887848be1f1c0b6171a1ee6d52a33df7af6e0abb8b0'
|
|
'68f9c7ea1a548a5d700aa4ad17bb961815ad59cc8d05fc1af156ef680da24a15'
|
|
'9c6e2646b22c9dc1725595dbd5fedcaa71ea85ddb5611a1bccc130a00e9e7e30')
|
|
|
|
prepare() {
|
|
cd gtk+-${pkgver}
|
|
patch -p1 -i "${srcdir}"/0001-fix-m4-location.mingw.patch
|
|
patch -p1 -i "${srcdir}"/0003-Fix-notebook-tab-state-change.mingw.patch
|
|
patch -p1 -i "${srcdir}"/0005-Fix-header-ref.all.patch
|
|
patch -p1 -i "${srcdir}"/0006-Fix-unix-symbols-in-docs.mingw.patch
|
|
patch -p1 -i "${srcdir}"/0009-give-cc-to-gir-scanner.mingw.patch
|
|
patch -p1 -i "${srcdir}"/0010-put-gtk-dll-into-path.mingw.patch
|
|
patch -p1 -i "${srcdir}"/0011-gir-for-gdkwin32.mingw.patch
|
|
#patch -p1 -i "${srcdir}"/0012-embed-manifest.all.patch
|
|
patch -p1 -i "${srcdir}"/0013_fix_mouse_events.patch
|
|
patch -p1 -i "${srcdir}"/0022-icontheme-win32-detect-SVG-files-by-extension.patch
|
|
|
|
# https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/3741
|
|
patch -p1 -i "${srcdir}"/0023-gdkkeys-win32.c-fix-initialisation-of-key_state-in-u.patch
|
|
|
|
# https://github.com/msys2/MINGW-packages/issues/9130
|
|
patch -p1 -i "${srcdir}"/0024-gtk-update-icon-cache-rc-quote.patch
|
|
|
|
autoreconf -fi
|
|
}
|
|
|
|
build() {
|
|
mkdir -p "${srcdir}"/build-${MSYSTEM} && cd "${srcdir}"/build-${MSYSTEM}
|
|
|
|
CFLAGS+=" -Wno-incompatible-pointer-types -Wno-implicit-function-declaration -Wno-implicit-int" \
|
|
../gtk+-${pkgver}/configure \
|
|
--prefix=${MINGW_PREFIX} \
|
|
--build=${MINGW_CHOST} \
|
|
--host=${MINGW_CHOST} \
|
|
--with-gdktarget=win32 \
|
|
--disable-modules \
|
|
--disable-cups \
|
|
--disable-papi \
|
|
--enable-static \
|
|
--enable-shared \
|
|
--enable-introspection \
|
|
--disable-glibtest \
|
|
--disable-visibility \
|
|
--with-included-immodules=ime
|
|
|
|
make
|
|
}
|
|
|
|
package() {
|
|
cd "${srcdir}/build-${MSYSTEM}"
|
|
make -j1 DESTDIR="${pkgdir}" install
|
|
|
|
# Provided by a gtk3/4 split package instead
|
|
rm "${pkgdir}${MINGW_PREFIX}/bin/gtk-update-icon-cache"
|
|
|
|
install -Dm644 "${srcdir}/gtkrc" "${pkgdir}${MINGW_PREFIX}/share/gtk-2.0/gtkrc.example"
|
|
find "${pkgdir}${MINGW_PREFIX}" -name '*.def' -o -name '*.exp' | xargs -rtl1 rm
|
|
install -Dm644 "${srcdir}"/gtk+-${pkgver}/COPYING \
|
|
"${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname}/COPYING
|
|
}
|