diff options
author | Ting-Wei Lan | 2021-09-27 02:58:58 +0800 |
---|---|---|
committer | Ting-Wei Lan | 2021-09-27 02:58:58 +0800 |
commit | fcc95f79068742b314861f40710b7ce463a8094b (patch) | |
tree | 81cd3d3caf53ce75d50fdc9eaa2da62e34adc951 | |
download | aur-fcc95f79068742b314861f40710b7ce463a8094b.tar.gz |
mingw-w64-gtk4: 4.4.0 (initial commit)
-rw-r--r-- | .SRCINFO | 36 | ||||
-rw-r--r-- | PKGBUILD | 85 | ||||
-rw-r--r-- | gtk4-merge-3999-fix-find_library.patch | 29 | ||||
-rw-r--r-- | gtk4-merge-4000-fix-includes.patch | 59 | ||||
-rw-r--r-- | mingw-w64-gtk4.install | 12 |
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 +} |