[arch-commits] Commit in electron/trunk (5 files)

Evangelos Foutras foutrelis at gemini.archlinux.org
Fri Nov 12 22:31:28 UTC 2021


    Date: Friday, November 12, 2021 @ 22:31:27
  Author: foutrelis
Revision: 1044870

Fix build with gn from Chromium 96

Added:
  electron/trunk/gn-visibility-gmock.patch
  electron/trunk/gn-visibility-mojo.patch
  electron/trunk/gn-visibility-webrtc.patch
  electron/trunk/unbundle-fix-visibility-of-build-config-freetype.patch
Modified:
  electron/trunk/PKGBUILD

--------------------------------------------------------+
 PKGBUILD                                               |   12 ++++
 gn-visibility-gmock.patch                              |   43 ++++++++++++++
 gn-visibility-mojo.patch                               |   36 ++++++++++++
 gn-visibility-webrtc.patch                             |   45 +++++++++++++++
 unbundle-fix-visibility-of-build-config-freetype.patch |   31 ++++++++++
 5 files changed, 167 insertions(+)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2021-11-12 22:29:35 UTC (rev 1044869)
+++ PKGBUILD	2021-11-12 22:31:27 UTC (rev 1044870)
@@ -51,6 +51,10 @@
         'use-system-libraries-in-node.patch'
         'replace-blacklist-with-ignorelist.patch'
         'sql-make-VirtualCursor-standard-layout-type.patch'
+        'unbundle-fix-visibility-of-build-config-freetype.patch'
+        'gn-visibility-gmock.patch'
+        'gn-visibility-mojo.patch'
+        'gn-visibility-webrtc.patch'
         'add-a-TODO-about-a-missing-pnacl-flag.patch'
         'chromium-93-ffmpeg-4.4.patch'
         'chromium-94-ffmpeg-roll.patch'
@@ -67,6 +71,10 @@
             '7cb11fb44aaf4d15f36caca3c0d1b082a723c30d43cd44db147248db5683a2a9'
             'd3344ba39b8c6ed202334ba7f441c70d81ddf8cdb15af1aa8c16e9a3a75fbb35'
             'dd317f85e5abfdcfc89c6f23f4c8edbcdebdd5e083dcec770e5da49ee647d150'
+            'd0b17162211dd49e3a58c16d1697e7d8c322dcfd3b7890f0c2f920b711f52293'
+            'b9934e01d8f39beafc8b63784fb86e6befe25ca83e9c43224c8374e5a025d8ef'
+            'cca2d224cf2e9d7cfb4f5729ca76b5b8a7100b1ca39892b41fb296adaced1bf7'
+            '574785a21168c3e9b7aa82630713ceb6ced12f699133db66b10fc84b7bb2c631'
             'd53da216538f2e741a6e048ed103964a91a98e9a3c10c27fdfa34d4692fdc455'
             '1a9e074f417f8ffd78bcd6874d8e2e74a239905bf662f76a7755fa40dc476b57'
             '56acb6e743d2ab1ed9f3eb01700ade02521769978d03ac43226dec94659b3ace'
@@ -164,6 +172,10 @@
   patch -Np1 -i ../patches/chromium-90-ruy-include.patch
   patch -Np1 -i ../patches/chromium-94-CustomSpaces-include.patch
 
+  patch -Np1 -i ../unbundle-fix-visibility-of-build-config-freetype.patch
+  patch -Np1 -i ../gn-visibility-gmock.patch
+  patch -Np1 -i ../gn-visibility-mojo.patch
+  patch -Np1 -i ../gn-visibility-webrtc.patch
   patch -Rp1 -i ../add-a-TODO-about-a-missing-pnacl-flag.patch
   patch -Np1 -i ../chromium-93-ffmpeg-4.4.patch
   patch -Rp1 -i ../chromium-94-ffmpeg-roll.patch

Added: gn-visibility-gmock.patch
===================================================================
--- gn-visibility-gmock.patch	                        (rev 0)
+++ gn-visibility-gmock.patch	2021-11-12 22:31:27 UTC (rev 1044870)
@@ -0,0 +1,43 @@
+From fc3c737210873e9bee311391e9f6b48130e84983 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tomasz=20=C5=9Aniatowski?= <tsniatowski at vewd.com>
+Date: Sat, 4 Sep 2021 07:13:49 +0000
+Subject: [PATCH] Fix config visibility violation in //testing/gmock
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+//third_party/googletest:gtest_config has restricted visibility, current
+code works by accident because gn only enforces visibility on 'configs'.
+Fix by not referencing the configs at all as it should be unnecessary:
+//testing/gmock gets them via a public dependency chain anyway.
+
+This is one of a few fixes needed to roll gn past the upcoming
+enforcement change, landing in small parts because removing config
+usages feels a bit subtle.
+
+Bug: gn:252
+Change-Id: Ie1438862831ecee49162d9f8f7872a568d69c2fb
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3139927
+Reviewed-by: Dirk Pranke <dpranke at google.com>
+Commit-Queue: Tomasz Śniatowski <tsniatowski at vewd.com>
+Cr-Commit-Position: refs/heads/main@{#918357}
+---
+ testing/gmock/BUILD.gn | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/testing/gmock/BUILD.gn b/testing/gmock/BUILD.gn
+index 0248d146d7397..e285fb84e471a 100644
+--- a/testing/gmock/BUILD.gn
++++ b/testing/gmock/BUILD.gn
+@@ -14,11 +14,6 @@ source_set("gmock") {
+     "include/gmock/gmock.h",
+   ]
+   public_deps = [ "//third_party/googletest:gmock" ]
+-
+-  public_configs = [
+-    "//third_party/googletest:gmock_config",
+-    "//third_party/googletest:gtest_config",
+-  ]
+ }
+ 
+ # The file/directory layout of Google Test is not yet considered stable. Until

Added: gn-visibility-mojo.patch
===================================================================
--- gn-visibility-mojo.patch	                        (rev 0)
+++ gn-visibility-mojo.patch	2021-11-12 22:31:27 UTC (rev 1044870)
@@ -0,0 +1,36 @@
+From 40f10bf0e683f6b499b5c3c7555111193db03abf Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tomasz=20=C5=9Aniatowski?= <tsniatowski at vewd.com>
+Date: Tue, 7 Sep 2021 20:13:53 +0000
+Subject: [PATCH] Fix config visibility violation in //mojo/public/cpp/bindings
+
+//third_party/blink/renderer:config has restricted visibility, current
+code works by accident because gn only enforces visibility on 'configs'.
+Fix by removing the direct config usage as it looks historical and not
+actually needed.
+
+This is one of a few fixes needed to roll gn past the upcoming
+enforcement change, landing in small parts because removing config
+usages feels a bit subtle.
+
+Bug: gn:252
+Change-Id: I2e0d2e314ef3714dd19b11b7ae29bdcf5074cfda
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3140593
+Commit-Queue: Ken Rockot <rockot at google.com>
+Reviewed-by: Ken Rockot <rockot at google.com>
+Cr-Commit-Position: refs/heads/main@{#918914}
+---
+ mojo/public/cpp/bindings/BUILD.gn | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/mojo/public/cpp/bindings/BUILD.gn b/mojo/public/cpp/bindings/BUILD.gn
+index 13ad53b3ed305..d90318de106e4 100644
+--- a/mojo/public/cpp/bindings/BUILD.gn
++++ b/mojo/public/cpp/bindings/BUILD.gn
+@@ -281,7 +281,5 @@ if (!is_ios) {
+       "//third_party/blink/renderer/platform:platform_export",
+       "//third_party/blink/renderer/platform/wtf",
+     ]
+-
+-    public_configs = [ "//third_party/blink/renderer:config" ]
+   }
+ }

Added: gn-visibility-webrtc.patch
===================================================================
--- gn-visibility-webrtc.patch	                        (rev 0)
+++ gn-visibility-webrtc.patch	2021-11-12 22:31:27 UTC (rev 1044870)
@@ -0,0 +1,45 @@
+From 72c4d9fc95c336f61d7a8417b78f947a400ce792 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tomasz=20=C5=9Aniatowski?= <tsniatowski at vewd.com>
+Date: Tue, 14 Sep 2021 10:33:37 +0000
+Subject: [PATCH] Relax googletest gn config visibility for webrtc
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+An upcoming gn roll will start enforcing config visibility on
+public_configs and all_dependent_configs. Normally, configs with
+limited visibility have corresponding helper targets that push the
+configs using public_configs and are propagated with public_deps.
+However, webrtc prefers to avoid public_deps, and pushes the gtest
+config using all_dependent_configs. This requires direct visibility,
+so tweak gtest BUILD.gn to make things work.
+
+Bug: gn:252, 1249254
+Change-Id: Ic7be22f7bf129255fb0ac51f437cd6dd3989e3a3
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3158065
+Commit-Queue: Tomasz Śniatowski <tsniatowski at vewd.com>
+Reviewed-by: Victor Costan <pwnall at chromium.org>
+Cr-Commit-Position: refs/heads/main@{#921126}
+---
+ third_party/googletest/BUILD.gn | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/third_party/googletest/BUILD.gn b/third_party/googletest/BUILD.gn
+index fe240ebe954b6..d2bde47d75eab 100644
+--- a/third_party/googletest/BUILD.gn
++++ b/third_party/googletest/BUILD.gn
+@@ -5,7 +5,13 @@
+ import("//build_overrides/build.gni")
+ 
+ config("gtest_config") {
+-  visibility = [ ":*" ]  # gmock also shares this config.
++  # webrtc wants to push this config without a public_dep chain
++  # TODO(crbug.com/1249254): figure out what to do with this
++  visibility = [
++    ":*",  # gmock also shares this config.
++    "//test:*",  # webrts standalone setup
++    "//third_party/webrtc/test:*",
++  ]
+ 
+   defines = [
+     # Chromium always links googletest statically, so no API qualifier is

Added: unbundle-fix-visibility-of-build-config-freetype.patch
===================================================================
--- unbundle-fix-visibility-of-build-config-freetype.patch	                        (rev 0)
+++ unbundle-fix-visibility-of-build-config-freetype.patch	2021-11-12 22:31:27 UTC (rev 1044870)
@@ -0,0 +1,31 @@
+From 271e45339b7b969e98ccef7837cb1b15480b07fc Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09 at googlemail.com>
+Date: Thu, 4 Nov 2021 18:58:34 +0000
+Subject: [PATCH] unbundle: fix visibility of //build/config/freetype
+
+For system freetype //build/linux:freetype_from_pkgconfig is restricted
+to //third_party:freetype_harfbuzz and //third_party/harfbuzz-ng:harfbuzz_source.
+However //build/config/freetype:freetype is accessing it too.
+
+Bug: None
+Change-Id: Ic4a37b01e4ae221372a9220cbad04c598b844c21
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3259304
+Commit-Queue: Thomas Anderson <thomasanderson at chromium.org>
+Reviewed-by: Thomas Anderson <thomasanderson at chromium.org>
+Cr-Commit-Position: refs/heads/main@{#938388}
+---
+ build/linux/BUILD.gn | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/build/linux/BUILD.gn b/build/linux/BUILD.gn
+index 54314c7687..cd49e3d524 100644
+--- a/build/linux/BUILD.gn
++++ b/build/linux/BUILD.gn
+@@ -23,6 +23,7 @@ if (use_system_freetype) {
+   # the system, use with caution,for details see build/config/freetype/BUILD.gn.
+   pkg_config("freetype_from_pkgconfig") {
+     visibility = [
++      "//build/config/freetype:freetype",
+       "//third_party:freetype_harfbuzz",
+       "//third_party/harfbuzz-ng:harfbuzz_source",
+     ]



More information about the arch-commits mailing list