extra/gtk4 to 4.6.1-1

This commit is contained in:
Kevin Mihelich 2022-02-12 03:10:48 +00:00
parent c001b1375d
commit a67bbe0266
2 changed files with 3 additions and 127 deletions

View file

@ -1,115 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
Date: Thu, 3 Feb 2022 19:14:36 +0000
Subject: [PATCH] demos: Make our stack noexec
This is similar to https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4330
and https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4334, which fixed
the main library but missed the demos.
---
demos/gtk-demo/meson.build | 4 ++++
demos/widget-factory/meson.build | 4 ++++
2 files changed, 8 insertions(+)
diff --git a/demos/gtk-demo/meson.build b/demos/gtk-demo/meson.build
index 5c84a0121d33..f594cd59b29c 100644
--- a/demos/gtk-demo/meson.build
+++ b/demos/gtk-demo/meson.build
@@ -170,42 +170,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 a/demos/widget-factory/meson.build b/demos/widget-factory/meson.build
index 800230b512db..9a083eb1aca5 100644
--- a/demos/widget-factory/meson.build
+++ b/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@'])

View file

@ -5,8 +5,8 @@
pkgbase=gtk4
pkgname=(gtk4 gtk-update-icon-cache gtk4-docs gtk4-demos)
pkgver=4.6.0
pkgrel=3
pkgver=4.6.1
pkgrel=1
epoch=1
pkgdesc="GObject-based multi-platform GUI toolkit"
url="https://www.gtk.org/"
@ -21,12 +21,10 @@ depends=(glib2 cairo pango fribidi gdk-pixbuf2 libpng libtiff libjpeg libepoxy
makedepends=(git meson gi-docgen shaderc sassc gobject-introspection docbook-xsl
wayland-protocols python-gobject python-docutils)
checkdepends=(weston)
_commit=70cb61fb7104c76a15bc6494a10e6ff1d470f6d8 # tags/4.6.0^0
_commit=5088103d31942e2af87ed64a61967cdc6af48f78 # tags/4.6.1^0
source=("git+https://github.com/GNOME/gtk.git#commit=$_commit"
0001-demos-Make-our-stack-noexec.patch
gtk-update-icon-cache.{hook,script} gtk4-querymodules.hook)
sha256sums=('SKIP'
'31b0dd527ab808e2a7b83168fff126116be4194f9e7784f6543fb593c47a1433'
'2d435e3bec8b79b533f00f6d04decb1d7c299c6e89b5b175f20be0459f003fe8'
'f1d3a0dbfd82f7339301abecdbe5f024337919b48bd0e09296bb0e79863b2541'
'cd8e607eddd9941f279084e1d15309941423d26cca1897f43524a02e58e48816')
@ -38,13 +36,6 @@ pkgver() {
prepare() {
cd gtk
# Fix kerning with OpenGL
git cherry-pick -n cb1dd662204fe6c953a20dece74f78ec93a34a68
# Ensure noexecstack
git cherry-pick -n 46509b6dd28c58ae 17c2a1cb4ea2093d
git apply -3 ../0001-demos-Make-our-stack-noexec.patch
}
build() {