extra/gtk4 to 4.6.0-2

This commit is contained in:
Kevin Mihelich 2022-01-18 00:08:08 +00:00
parent 3a6eddf866
commit 856891d241
2 changed files with 111 additions and 3 deletions

View file

@ -6,7 +6,7 @@
pkgbase=gtk4 pkgbase=gtk4
pkgname=(gtk4 gtk-update-icon-cache gtk4-docs gtk4-demos) pkgname=(gtk4 gtk-update-icon-cache gtk4-docs gtk4-demos)
pkgver=4.6.0 pkgver=4.6.0
pkgrel=1 pkgrel=2
epoch=1 epoch=1
pkgdesc="GObject-based multi-platform GUI toolkit" pkgdesc="GObject-based multi-platform GUI toolkit"
url="https://www.gtk.org/" url="https://www.gtk.org/"
@ -16,15 +16,17 @@ depends=(glib2 cairo pango fribidi gdk-pixbuf2 libpng libtiff libjpeg libepoxy
libgl libegl harfbuzz libxkbcommon graphene iso-codes tracker3 libgl libegl harfbuzz libxkbcommon graphene iso-codes tracker3
libcolord wayland libxrandr libx11 libxrender libxi libxext libxcursor libcolord wayland libxrandr libx11 libxrender libxi libxext libxcursor
libxdamage libxfixes fontconfig libxinerama libcloudproviders libcups libxdamage libxfixes fontconfig libxinerama libcloudproviders libcups
rest json-glib gst-plugins-bad-libs librsvg dconf shared-mime-info gst-plugins-bad-libs librsvg dconf shared-mime-info desktop-file-utils
desktop-file-utils adwaita-icon-theme cantarell-fonts) adwaita-icon-theme cantarell-fonts)
makedepends=(git meson gi-docgen shaderc sassc gobject-introspection docbook-xsl makedepends=(git meson gi-docgen shaderc sassc gobject-introspection docbook-xsl
wayland-protocols python-gobject python-docutils) wayland-protocols python-gobject python-docutils)
checkdepends=(weston) checkdepends=(weston)
_commit=70cb61fb7104c76a15bc6494a10e6ff1d470f6d8 # tags/4.6.0^0 _commit=70cb61fb7104c76a15bc6494a10e6ff1d470f6d8 # tags/4.6.0^0
source=("git+https://github.com/GNOME/gtk.git#commit=$_commit" source=("git+https://github.com/GNOME/gtk.git#commit=$_commit"
fix-resources.diff
gtk-update-icon-cache.{hook,script} gtk4-querymodules.hook) gtk-update-icon-cache.{hook,script} gtk4-querymodules.hook)
sha256sums=('SKIP' sha256sums=('SKIP'
'd458d2b9621f5131510238f1167a758d1f6c4baabc2a7fe5f445c7bdba2b0802'
'2d435e3bec8b79b533f00f6d04decb1d7c299c6e89b5b175f20be0459f003fe8' '2d435e3bec8b79b533f00f6d04decb1d7c299c6e89b5b175f20be0459f003fe8'
'f1d3a0dbfd82f7339301abecdbe5f024337919b48bd0e09296bb0e79863b2541' 'f1d3a0dbfd82f7339301abecdbe5f024337919b48bd0e09296bb0e79863b2541'
'cd8e607eddd9941f279084e1d15309941423d26cca1897f43524a02e58e48816') 'cd8e607eddd9941f279084e1d15309941423d26cca1897f43524a02e58e48816')
@ -36,6 +38,10 @@ pkgver() {
prepare() { prepare() {
cd gtk cd gtk
# Ensure noexecstack
git cherry-pick -n 46509b6dd28c58ae 17c2a1cb4ea2093d
git apply -3 ../fix-resources.diff
} }
build() { build() {

View file

@ -0,0 +1,102 @@
diff --git i/demos/gtk-demo/meson.build w/demos/gtk-demo/meson.build
index 5b79dfad5f..7f82c2d6d6 100644
--- i/demos/gtk-demo/meson.build
+++ w/demos/gtk-demo/meson.build
@@ -174,42 +174,46 @@ if build_machine.system() == 'linux' and objcopy.found() and objcopy_supports_ad
depfile : 'gtkdemo.gresource.d',
command : [glib_compile_resources,
'--generate',
+ '--internal',
'--target=@OUTPUT@',
'--dependency-file=@DEPFILE@',
'--sourcedir=' + meson.current_source_dir(),
'--sourcedir=' + meson.current_build_dir(),
'@INPUT@'])
# Create resource data file
gtkdemo_resources_c = custom_target('gtkdemo_resources.c',
input : 'demo.gresource.xml',
output : 'gtkdemo_resources.c',
depfile : 'gtkdemo_resources.c.d',
command : [glib_compile_resources,
'--generate-source',
+ '--internal',
'--target=@OUTPUT@',
'--dependency-file=@DEPFILE@',
'--sourcedir=' + meson.current_source_dir(),
'--sourcedir=' + meson.current_build_dir(),
'--external-data',
'--c-name', '_g_binary_gtkdemo',
'@INPUT@'])
# Create object file containing resource data
gtkdemo_resources_binary = custom_target('gtkdemo_resources.o',
input : gtkdemo_gresource,
output : 'gtkdemo_resources.o',
command : [ld,
+ '-z', 'noexecstack',
'-r',
'-b','binary',
'@INPUT@',
'-o','@OUTPUT@'])
# Rename symbol to match the one in the C file
gtkdemo_resources_o = custom_target('gtkdemo_resources2.o',
input : gtkdemo_resources_binary,
output : 'gtkdemo_resources2.o',
command : [objcopy,
+ '--strip-all',
'--add-symbol','_g_binary_gtkdemo_resource_data=.data:0',
'@INPUT@',
'@OUTPUT@'])
diff --git i/demos/widget-factory/meson.build w/demos/widget-factory/meson.build
index 800230b512..9a083eb1ac 100644
--- i/demos/widget-factory/meson.build
+++ w/demos/widget-factory/meson.build
@@ -18,42 +18,46 @@ if build_machine.system() == 'linux' and objcopy.found() and objcopy_supports_ad
depfile: 'widgetfactory.gresource.d',
command : [glib_compile_resources,
'--generate',
+ '--internal',
'--target=@OUTPUT@',
'--dependency-file=@DEPFILE@',
'--sourcedir=' + meson.current_source_dir(),
'--sourcedir=' + meson.current_build_dir(),
'@INPUT@'])
# Create resource data file
widgetfactory_resources_c = custom_target('widgetfactory_resources.c',
input : 'widget-factory.gresource.xml',
output : 'widgetfactory_resources.c',
depfile: 'widgetfactory_resources.c.d',
command : [glib_compile_resources,
'--generate-source',
+ '--internal',
'--target=@OUTPUT@',
'--dependency-file=@DEPFILE@',
'--sourcedir=' + meson.current_source_dir(),
'--sourcedir=' + meson.current_build_dir(),
'--external-data',
'--c-name', '_g_binary_widgetfactory',
'@INPUT@'])
# Create object file containing resource data
widgetfactory_resources_binary = custom_target('widgetfactory_resources.o',
input : widgetfactory_gresource,
output : 'widgetfactory_resources.o',
command : [ld,
+ '-z', 'noexecstack',
'-r',
'-b','binary',
'@INPUT@',
'-o','@OUTPUT@'])
# Rename symbol to match the one in the C file
widgetfactory_resources_o = custom_target('widgetfactory_resources2.o',
input : widgetfactory_resources_binary,
output : 'widgetfactory_resources2.o',
command : [objcopy,
+ '--strip-all',
'--add-symbol','_g_binary_widgetfactory_resource_data=.data:0',
'@INPUT@',
'@OUTPUT@'])