summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorTing-Wei Lan2021-09-27 02:58:58 +0800
committerTing-Wei Lan2021-09-27 02:58:58 +0800
commitfcc95f79068742b314861f40710b7ce463a8094b (patch)
tree81cd3d3caf53ce75d50fdc9eaa2da62e34adc951
downloadaur-fcc95f79068742b314861f40710b7ce463a8094b.tar.gz
mingw-w64-gtk4: 4.4.0 (initial commit)
-rw-r--r--.SRCINFO36
-rw-r--r--PKGBUILD85
-rw-r--r--gtk4-merge-3999-fix-find_library.patch29
-rw-r--r--gtk4-merge-4000-fix-includes.patch59
-rw-r--r--mingw-w64-gtk4.install12
5 files changed, 221 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..dd5ce1cd4bd4
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,36 @@
+pkgbase = mingw-w64-gtk4
+ pkgdesc = GObject-based multi-platform GUI toolkit (mingw-w64)
+ pkgver = 4.4.0
+ pkgrel = 1
+ url = https://www.gtk.org
+ install = mingw-w64-gtk4.install
+ arch = any
+ license = LGPL
+ makedepends = mingw-w64-gcc
+ makedepends = mingw-w64-pkg-config
+ makedepends = mingw-w64-meson
+ makedepends = python
+ makedepends = sassc
+ depends = mingw-w64-crt
+ depends = mingw-w64-adwaita-icon-theme
+ depends = mingw-w64-cairo>=1.14.2-3
+ depends = mingw-w64-fribidi>=0.19.7
+ depends = mingw-w64-gdk-pixbuf2>=2.30.0
+ depends = mingw-w64-glib2>=2.66.0
+ depends = mingw-w64-graphene>=1.9.1
+ depends = mingw-w64-gst-plugins-bad>=1.12.3
+ depends = mingw-w64-harfbuzz>=2.1.0
+ depends = mingw-w64-libepoxy>=1.4
+ depends = mingw-w64-librsvg>=2.46.0
+ depends = mingw-w64-pango>=1.47.0
+ options = !strip
+ options = !buildflags
+ options = staticlibs
+ source = https://download.gnome.org/sources/gtk/4.4/gtk-4.4.0.tar.xz
+ source = gtk4-merge-3999-fix-find_library.patch
+ source = gtk4-merge-4000-fix-includes.patch
+ sha256sums = e0a1508f441686c3a20dfec48af533b19a4b2e017c18eaee31dccdb7d292505b
+ sha256sums = fca9be9278d60eeb28c9a41b2571e880e0ac4a6bf7baa90e87007d18b581052e
+ sha256sums = 6d043e449774f3c3bef58478dbea6359cf43301bdf573ca0cced14520cb87742
+
+pkgname = mingw-w64-gtk4
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..690696921809
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,85 @@
+# Maintainer: lantw44 (at) gmail (dot) com
+
+pkgname=mingw-w64-gtk4
+pkgver=4.4.0
+pkgrel=1
+pkgdesc='GObject-based multi-platform GUI toolkit (mingw-w64)'
+arch=('any')
+url='https://www.gtk.org'
+install="${pkgname}.install"
+license=('LGPL')
+makedepends=(
+ 'mingw-w64-gcc'
+ 'mingw-w64-pkg-config'
+ 'mingw-w64-meson'
+ 'python'
+ 'sassc')
+depends=(
+ 'mingw-w64-crt'
+ 'mingw-w64-adwaita-icon-theme'
+ 'mingw-w64-cairo>=1.14.2-3'
+ 'mingw-w64-fribidi>=0.19.7'
+ 'mingw-w64-gdk-pixbuf2>=2.30.0'
+ 'mingw-w64-glib2>=2.66.0'
+ 'mingw-w64-graphene>=1.9.1'
+ 'mingw-w64-gst-plugins-bad>=1.12.3'
+ 'mingw-w64-harfbuzz>=2.1.0'
+ 'mingw-w64-libepoxy>=1.4'
+ 'mingw-w64-librsvg>=2.46.0'
+ 'mingw-w64-pango>=1.47.0')
+options=('!strip' '!buildflags' 'staticlibs')
+source=(
+ "https://download.gnome.org/sources/gtk/${pkgver%.*}/gtk-${pkgver}.tar.xz"
+ 'gtk4-merge-3999-fix-find_library.patch'
+ 'gtk4-merge-4000-fix-includes.patch')
+sha256sums=(
+ 'e0a1508f441686c3a20dfec48af533b19a4b2e017c18eaee31dccdb7d292505b'
+ 'fca9be9278d60eeb28c9a41b2571e880e0ac4a6bf7baa90e87007d18b581052e'
+ '6d043e449774f3c3bef58478dbea6359cf43301bdf573ca0cced14520cb87742')
+
+_architectures=('i686-w64-mingw32' 'x86_64-w64-mingw32')
+
+prepare() {
+ cd "${srcdir}/gtk-${pkgver}"
+ local source_file
+ for source_file in "${source[@]}"; do
+ case "${source_file}" in
+ *.patch)
+ patch -p1 < "${srcdir}/${source_file}"
+ ;;
+ esac
+ done
+}
+
+build() {
+ cd "${srcdir}/gtk-${pkgver}"
+ for _arch in "${_architectures[@]}"; do
+ mkdir -p "build-${_arch}"
+ cd "build-${_arch}"
+ "${_arch}-meson" \
+ --default-library both \
+ -Dbroadway-backend=false \
+ -Dwin32-backend=true \
+ -Dmedia-ffmpeg=disabled \
+ -Dmedia-gstreamer=enabled \
+ -Dprint-cups=disabled \
+ -Df16c=disabled \
+ -Dgtk_doc=false \
+ -Dman-pages=false \
+ -Dintrospection=disabled
+ ninja
+ cd ..
+ done
+}
+
+package() {
+ cd "${srcdir}/gtk-${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
+}
diff --git a/gtk4-merge-3999-fix-find_library.patch b/gtk4-merge-3999-fix-find_library.patch
new file mode 100644
index 000000000000..dcc67b73499e
--- /dev/null
+++ b/gtk4-merge-3999-fix-find_library.patch
@@ -0,0 +1,29 @@
+From f96c4eb5bb44d3676cc2b58845a254038e7866bb Mon Sep 17 00:00:00 2001
+From: Ting-Wei Lan <lantw@src.gnome.org>
+Date: Sun, 26 Sep 2021 17:47:33 +0800
+Subject: [PATCH] broadway: Use the correct way to call find_library
+
+While broadway currently doesn't build on Windows, it is still better to
+avoid using the old and unsupported way to call find_library.
+
+https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/3999
+---
+ gdk/broadway/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gdk/broadway/meson.build b/gdk/broadway/meson.build
+index 530dcd99ef..ef7fa0ef58 100644
+--- a/gdk/broadway/meson.build
++++ b/gdk/broadway/meson.build
+@@ -64,7 +64,7 @@ libgdk_broadway = static_library('gdk-broadway',
+
+ # gtk4-broadwayd
+
+-broadwayd_syslib = os_win32 ? find_library('ws2_32') : shmlib
++broadwayd_syslib = os_win32 ? cc.find_library('ws2_32') : shmlib
+
+ executable('gtk4-broadwayd',
+ sources: [
+--
+GitLab
+
diff --git a/gtk4-merge-4000-fix-includes.patch b/gtk4-merge-4000-fix-includes.patch
new file mode 100644
index 000000000000..6d021a22ed4c
--- /dev/null
+++ b/gtk4-merge-4000-fix-includes.patch
@@ -0,0 +1,59 @@
+From 5175b1676bad982c9e526f7a0c8fd1893eef4ac5 Mon Sep 17 00:00:00 2001
+From: Ting-Wei Lan <lantw@src.gnome.org>
+Date: Sun, 26 Sep 2021 18:47:18 +0800
+Subject: [PATCH] GDK/Win32: Use lowercase windows.h
+
+Fix build on case-sensitive file systems, so it can be cross-compiled
+from Linux with MinGW.
+
+https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4000
+---
+ gdk/win32/gdkcairocontext-win32.c | 2 +-
+ gdk/win32/gdkhdataoutputstream-win32.c | 2 +-
+ gdk/win32/gdkwin32cursor.h | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/gdk/win32/gdkcairocontext-win32.c b/gdk/win32/gdkcairocontext-win32.c
+index 9eb115ffcd..0f9dbbca1a 100644
+--- a/gdk/win32/gdkcairocontext-win32.c
++++ b/gdk/win32/gdkcairocontext-win32.c
+@@ -27,7 +27,7 @@
+
+ #include <cairo-win32.h>
+
+-#include <Windows.h>
++#include <windows.h>
+
+ G_DEFINE_TYPE (GdkWin32CairoContext, gdk_win32_cairo_context, GDK_TYPE_CAIRO_CONTEXT)
+
+diff --git a/gdk/win32/gdkhdataoutputstream-win32.c b/gdk/win32/gdkhdataoutputstream-win32.c
+index 0075d0b66c..7fead7243d 100644
+--- a/gdk/win32/gdkhdataoutputstream-win32.c
++++ b/gdk/win32/gdkhdataoutputstream-win32.c
+@@ -20,7 +20,7 @@
+
+ #include "config.h"
+
+-#include <Windows.h>
++#include <windows.h>
+
+ #include "gdkprivate-win32.h"
+ #include "gdkhdataoutputstream-win32.h"
+diff --git a/gdk/win32/gdkwin32cursor.h b/gdk/win32/gdkwin32cursor.h
+index ec03f77212..a9f4676623 100644
+--- a/gdk/win32/gdkwin32cursor.h
++++ b/gdk/win32/gdkwin32cursor.h
+@@ -29,9 +29,9 @@
+ #error "Only <gdk/gdkwin32.h> can be included directly."
+ #endif
+
+-#include <Windows.h>
+ #include <gdk/gdk.h>
+ #include <gdk/win32/gdkwin32display.h>
++#include <windows.h>
+
+ G_BEGIN_DECLS
+
+--
+GitLab
+
diff --git a/mingw-w64-gtk4.install b/mingw-w64-gtk4.install
new file mode 100644
index 000000000000..6936f0682a96
--- /dev/null
+++ b/mingw-w64-gtk4.install
@@ -0,0 +1,12 @@
+post_install() {
+ /usr/bin/glib-compile-schemas /usr/i686-w64-mingw32/share/glib-2.0/schemas
+ /usr/bin/glib-compile-schemas /usr/x86_64-w64-mingw32/share/glib-2.0/schemas
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}