[arch-commits] Commit in gtk4/trunk (3 files)

Jan Steffens heftig at gemini.archlinux.org
Thu Feb 3 19:42:49 UTC 2022


    Date: Thursday, February 3, 2022 @ 19:42:48
  Author: heftig
Revision: 436130

4.6.0-3: Fix kerning

Added:
  gtk4/trunk/0001-demos-Make-our-stack-noexec.patch
    (from rev 434651, gtk4/trunk/fix-resources.diff)
Modified:
  gtk4/trunk/PKGBUILD
Deleted:
  gtk4/trunk/fix-resources.diff

----------------------------------------+
 0001-demos-Make-our-stack-noexec.patch |  115 +++++++++++++++++++++++++++++++
 PKGBUILD                               |   11 +-
 fix-resources.diff                     |  102 ---------------------------
 3 files changed, 122 insertions(+), 106 deletions(-)

Copied: gtk4/trunk/0001-demos-Make-our-stack-noexec.patch (from rev 434651, gtk4/trunk/fix-resources.diff)
===================================================================
--- 0001-demos-Make-our-stack-noexec.patch	                        (rev 0)
+++ 0001-demos-Make-our-stack-noexec.patch	2022-02-03 19:42:48 UTC (rev 436130)
@@ -0,0 +1,115 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens at 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@'])

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2022-02-03 19:40:12 UTC (rev 436129)
+++ PKGBUILD	2022-02-03 19:42:48 UTC (rev 436130)
@@ -3,7 +3,7 @@
 pkgbase=gtk4
 pkgname=(gtk4 gtk-update-icon-cache gtk4-docs gtk4-demos)
 pkgver=4.6.0
-pkgrel=2
+pkgrel=3
 epoch=1
 pkgdesc="GObject-based multi-platform GUI toolkit"
 url="https://www.gtk.org/"
@@ -20,10 +20,10 @@
 checkdepends=(weston)
 _commit=70cb61fb7104c76a15bc6494a10e6ff1d470f6d8  # tags/4.6.0^0
 source=("git+https://gitlab.gnome.org/GNOME/gtk.git#commit=$_commit"
-        fix-resources.diff
+        0001-demos-Make-our-stack-noexec.patch
         gtk-update-icon-cache.{hook,script} gtk4-querymodules.hook)
 sha256sums=('SKIP'
-            'd458d2b9621f5131510238f1167a758d1f6c4baabc2a7fe5f445c7bdba2b0802'
+            '31b0dd527ab808e2a7b83168fff126116be4194f9e7784f6543fb593c47a1433'
             '2d435e3bec8b79b533f00f6d04decb1d7c299c6e89b5b175f20be0459f003fe8'
             'f1d3a0dbfd82f7339301abecdbe5f024337919b48bd0e09296bb0e79863b2541'
             'cd8e607eddd9941f279084e1d15309941423d26cca1897f43524a02e58e48816')
@@ -36,9 +36,12 @@
 prepare() {
   cd gtk
 
+  # Fix kerning with OpenGL
+  git cherry-pick -n cb1dd662204fe6c953a20dece74f78ec93a34a68
+
   # Ensure noexecstack
   git cherry-pick -n 46509b6dd28c58ae 17c2a1cb4ea2093d
-  git apply -3 ../fix-resources.diff
+  git apply -3 ../0001-demos-Make-our-stack-noexec.patch
 }
 
 build() {

Deleted: fix-resources.diff
===================================================================
--- fix-resources.diff	2022-02-03 19:40:12 UTC (rev 436129)
+++ fix-resources.diff	2022-02-03 19:42:48 UTC (rev 436130)
@@ -1,102 +0,0 @@
-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@'])



More information about the arch-commits mailing list