Skip to contentSkip to conversation

chromium: new package

RFC PATCH Superseded Joseph Kogut 4 participants 66 messages Jun 8, 2018 – Jun 21, 2018

v1 of 6 Superseded Latest is v6 →

lore
Share & tools
lore
#0 lore raw

cover chromium: new package

Hello,

This series creates a new package for the Chromium browser, as well as its dependencies.

Included are additional packages for dependencies at-spi2-core and at-spi2-atk, as well as version bumps for atk and llvm.

At the moment, supported target architectures include arm, aarch64, x86, and x86_64. MIPS is possible with minor modifications.

Builds were generated for x86_64 and aarch64. The application was tested on x86_64 with gtk3. Additional testing, especially on other architectures, would be appreciated.

Best regards,
Joseph

Joseph Kogut (8):
atk: bump to version 2.25.2
at-spi2-core: new package
at-spi2-atk: new package
libgtk3: remove patch to disable atk-bridge support
llvm: add config to build backend for host arch
llvm: bump to version 6.0.0
clang: bump to version 6.0.0
chromium: new package

 DEVELOPERS                                    |   3 +
 package/Config.in                             |   3 +
 package/at-spi2-atk/Config.in                 |   5 +
 package/at-spi2-atk/at-spi2-atk.hash          |   4 +
 package/at-spi2-atk/at-spi2-atk.mk            |  17 +++
 package/at-spi2-core/Config.in                |   9 ++
 package/at-spi2-core/at-spi2-core.hash        |   4 +
 package/at-spi2-core/at-spi2-core.mk          |  46 +++++++
 package/atk/atk.hash                          |   4 +-
 package/atk/atk.mk                            |   4 +-
 package/chromium/Config.in                    |  43 ++++++
 package/chromium/chromium.hash                |   4 +
 package/chromium/chromium.mk                  | 125 ++++++++++++++++++
 package/chromium/toolchain/BUILD.gn           |  72 ++++++++++
 package/clang/clang.hash                      |   2 +-
 package/clang/clang.mk                        |   2 +-
 package/libgtk3/0003-disable-atk-bridge.patch |  45 -------
 package/libgtk3/Config.in                     |   1 +
 package/libgtk3/libgtk3.mk                    |   3 +-
 ...type-in-ORC-readMem-client-interface.patch |  37 ------
 package/llvm/Config.in                        |   9 ++
 package/llvm/llvm.hash                        |   2 +-
 package/llvm/llvm.mk                          |   7 +-
 23 files changed, 360 insertions(+), 91 deletions(-)
 create mode 100644 package/at-spi2-atk/Config.in
 create mode 100644 package/at-spi2-atk/at-spi2-atk.hash
 create mode 100644 package/at-spi2-atk/at-spi2-atk.mk
 create mode 100644 package/at-spi2-core/Config.in
 create mode 100644 package/at-spi2-core/at-spi2-core.hash
 create mode 100644 package/at-spi2-core/at-spi2-core.mk
 create mode 100644 package/chromium/Config.in
 create mode 100644 package/chromium/chromium.hash
 create mode 100644 package/chromium/chromium.mk
 create mode 100644 package/chromium/toolchain/BUILD.gn
 delete mode 100644 package/libgtk3/0003-disable-atk-bridge.patch
 delete mode 100644 package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
Signature · 1 line
2.17.1
#1 lore raw

RFC PATCH 1/8 atk: bump to version 2.25.2

---
 package/atk/atk.hash | 4 ++--
 package/atk/atk.mk   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
package/atk/atk.hash +2 -2
index 12c98706dd..d6c61a22f4 100644
@@ -1,2 +1,2 @@
-# From http://ftp.gnome.org/pub/gnome/sources/atk/2.22/atk-2.22.0.sha256sum
-sha256 d349f5ca4974c9c76a4963e5b254720523b0c78672cbc0e1a3475dbd9b3d44b6 atk-2.22.0.tar.xz
+# From http://ftp.acc.umu.se/pub/gnome/sources/atk/2.25/atk-2.25.2.sha256sum
+sha256 75ac1f63e845f895dec8d72d4645ef5f362e32c921cc78987f2f19c2ce212a24 atk-2.25.2.tar.xz
package/atk/atk.mk +2 -2
index 88cf5fbc0a..a50cb9f0ee 100644
@@ -4,8 +4,8 @@
 #
 ################################################################################
 
-ATK_VERSION_MAJOR = 2.22
-ATK_VERSION = $(ATK_VERSION_MAJOR).0
+ATK_VERSION_MAJOR = 2.25
+ATK_VERSION = $(ATK_VERSION_MAJOR).2
 ATK_SOURCE = atk-$(ATK_VERSION).tar.xz
 ATK_SITE = http://ftp.gnome.org/pub/gnome/sources/atk/$(ATK_VERSION_MAJOR)
 ATK_LICENSE = LGPL-2.0+
Signature · 1 line
2.17.1
#2 lore raw

RFC PATCH 1/8 atk: bump to version 2.25.2

Hello,

Thanks for this patch series!

package/atk/atk.mk line 7

Quoted 3 lines · Joseph Kogut
package/atk/atk.mk +1 -2
-ATK_VERSION_MAJOR = 2.22
-ATK_VERSION = $(ATK_VERSION_MAJOR).0
+ATK_VERSION_MAJOR = 2.25

I *think* in the gnome project the odd version numbers are for development versions. I.e 2.22 is stable, 2.24 is stable, 2.25 is development. Also, why use 2.25, if 2.28 and 2.29 are available:

https://ftp.gnome.org/pub/gnome/sources/atk/

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#3 lore raw

RFC PATCH 1/8 atk: bump to version 2.25.2

Hi Thomas,

Quoted 4 lines · Thomas Petazzoni

Hello,

Thanks for this patch series!

No problem, I think it's a great value add, it was fun to work on, and I personally have uses for it.

Quoted 10 lines · Joseph Kogut

package/atk/atk.mk line 7

Quoted 4 lines
package/atk/atk.mk +1 -2
-ATK_VERSION_MAJOR = 2.22
-ATK_VERSION = $(ATK_VERSION_MAJOR).0
+ATK_VERSION_MAJOR = 2.25

I *think* in the gnome project the odd version numbers are for development versions. I.e 2.22 is stable, 2.24 is stable, 2.25 is development. Also, why use 2.25, if 2.28 and 2.29 are available:

Quoted 2 lines

https://ftp.gnome.org/pub/gnome/sources/atk/

Good question. I've been working on this for a while, so I don't remember specifically why I chose that version, but I think it had something to do with one of the at-spi2 packages requiring 2.25.2 as the minimum version, and that's what I went with. I should've checked if there was a newer compatible version available. I'll respin this with the newest stable release and resubmit.

There's also a cross-compile issue I spotted yesterday, so I'll work on that as well.

Quoted 5 lines

Thomas
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering
https://bootlin.com

#4 lore raw

RFC PATCH 2/8 at-spi2-core: new package

In reply to Joseph Kogut
---
 DEVELOPERS                             |  1 +
 package/Config.in                      |  1 +
 package/at-spi2-core/Config.in         |  9 +++++
 package/at-spi2-core/at-spi2-core.hash |  4 +++
 package/at-spi2-core/at-spi2-core.mk   | 46 ++++++++++++++++++++++++++
 5 files changed, 61 insertions(+)
 create mode 100644 package/at-spi2-core/Config.in
 create mode 100644 package/at-spi2-core/at-spi2-core.hash
 create mode 100644 package/at-spi2-core/at-spi2-core.mk
DEVELOPERS +1 -0
index 1a8440759e..31c651b938 100644
@@ -955,6 +955,7 @@ F:	board/qemu/ppc64le-pseries/
 F:	configs/qemu_ppc64le_pseries_defconfig
 
 N:	Joseph Kogut <[email protected]>
+F:	package/at-spi2-core/
 F:	package/gconf/
 F:	package/libnss/
 F:	package/python-cython/
package/Config.in +1 -0
index 6a1606e568..692b422911 100644
@@ -1128,6 +1128,7 @@ endmenu
 
 menu "Graphics"
 	source "package/assimp/Config.in"
+	source "package/at-spi2-core/Config.in"
 	source "package/atk/Config.in"
 	source "package/atkmm/Config.in"
 	source "package/bullet/Config.in"
package/at-spi2-core/Config.in new file +9 -0
new file mode 100644
index 0000000000..9c60c51792
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_AT_SPI2_CORE
+	bool "at-spi2-core"
+	select BR2_PACKAGE_DBUS
+	select BR2_PACKAGE_XLIB_LIBXTST
+	help
+	  The At-Spi2 Core package is a part of the GNOME Accessibility Project.
+	  It provides a Service Provider Interface for the Assistive Technologies
+	  available on the GNOME platform and a library against which 
+	  applications can be linked.
package/at-spi2-core/at-spi2-core.hash new file +4 -0
new file mode 100644
index 0000000000..e792cc0e0a
@@ -0,0 +1,4 @@
+# locally calculated
+sha256 42a2487ab11ce43c288e73b2668ef8b1ab40a0e2b4f94e80fca04ad27b6f1c87  at-spi2-core-2.28.0.tar.xz
+sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b  COPYING
+
package/at-spi2-core/at-spi2-core.mk new file +46 -0

46 lines not on this page · raw message

Signature · 1 line
2.17.1
#5 lore raw

RFC PATCH 3/8 at-spi2-atk: new package

In reply to Joseph Kogut
---
 DEVELOPERS                           |  1 +
 package/Config.in                    |  1 +
 package/at-spi2-atk/Config.in        |  5 +++++
 package/at-spi2-atk/at-spi2-atk.hash |  4 ++++
 package/at-spi2-atk/at-spi2-atk.mk   | 17 +++++++++++++++++
 5 files changed, 28 insertions(+)
 create mode 100644 package/at-spi2-atk/Config.in
 create mode 100644 package/at-spi2-atk/at-spi2-atk.hash
 create mode 100644 package/at-spi2-atk/at-spi2-atk.mk
DEVELOPERS +1 -0
index 31c651b938..568f47d242 100644
@@ -955,6 +955,7 @@ F:	board/qemu/ppc64le-pseries/
 F:	configs/qemu_ppc64le_pseries_defconfig
 
 N:	Joseph Kogut <[email protected]>
+F:	package/at-spi2-atk/
 F:	package/at-spi2-core/
 F:	package/gconf/
 F:	package/libnss/
package/Config.in +1 -0
index 692b422911..c2e619b317 100644
@@ -1128,6 +1128,7 @@ endmenu
 
 menu "Graphics"
 	source "package/assimp/Config.in"
+	source "package/at-spi2-atk/Config.in"
 	source "package/at-spi2-core/Config.in"
 	source "package/atk/Config.in"
 	source "package/atkmm/Config.in"
package/at-spi2-atk/Config.in new file +5 -0
new file mode 100644
index 0000000000..b354c77ffe
@@ -0,0 +1,5 @@
+config BR2_PACKAGE_AT_SPI2_ATK
+	bool "at-spi2-atk"
+	select BR2_PACKAGE_AT_SPI2_CORE
+	help
+	  The At-Spi2 Atk package contains a library that bridges ATK to At-Spi2 D-Bus service.
package/at-spi2-atk/at-spi2-atk.hash new file +4 -0
new file mode 100644
index 0000000000..6f7d68ab87
@@ -0,0 +1,4 @@
+# locally calculated
+sha256 61891f0abae1689f6617a963105a3f1dcdab5970c4a36ded9c79a7a544b16a6e  at-spi2-atk-2.26.2.tar.xz
+sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b  COPYING
+
package/at-spi2-atk/at-spi2-atk.mk new file +17 -0
new file mode 100644
index 0000000000..a3bccbb0d9
@@ -0,0 +1,17 @@
+###############################################################################
+#
+# at-spi2-atk
+#
+###############################################################################
+
+AT_SPI2_ATK_VERSION_MAJOR = 2.26
+AT_SPI2_ATK_VERSION = $(AT_SPI2_ATK_VERSION_MAJOR).2
+AT_SPI2_ATK_SOURCE = at-spi2-atk-$(AT_SPI2_ATK_VERSION).tar.xz
+AT_SPI2_ATK_SITE =  http://ftp.gnome.org/pub/gnome/sources/at-spi2-atk/$(AT_SPI2_ATK_VERSION_MAJOR)
+ATK_LICENSE = LGPL-2.0+
+ATK_LICENSE_FILES = COPYING
+AT_SPI2_ATK_INSTALL_STAGING = YES
+AT_SPI2_ATK_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) LDFLAGS=-L$(STAGING_DIR)/usr/lib install
+AT_SPI2_ATK_DEPENDENCIES = atk at-spi2-core libglib2 host-pkgconf
+
+$(eval $(autotools-package))
Signature · 1 line
2.17.1
#6 lore raw

RFC PATCH 4/8 libgtk3: remove patch to disable atk-bridge support

In reply to Joseph Kogut
---
 package/libgtk3/0003-disable-atk-bridge.patch | 45 -------------------
 package/libgtk3/Config.in                     |  1 +
 package/libgtk3/libgtk3.mk                    |  3 +-
 3 files changed, 3 insertions(+), 46 deletions(-)
 delete mode 100644 package/libgtk3/0003-disable-atk-bridge.patch
package/libgtk3/0003-disable-atk-bridge.patch deleted +0 -45
deleted file mode 100644
index c92174f400..0000000000
@@ -1,45 +0,0 @@
-Remove atk-bridge support.
-
-atk-bridge doesn't seem useful for now in Buildroot and requires to
-add two new packages just for it: at-spi2-core and at-spi2-atk.
-
-Signed-off-by: Hadrien Boutteville <[email protected]>
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -1349,11 +1349,7 @@
- # Check for Accessibility Toolkit flags
- ########################################
-
--if test x$enable_x11_backend = xyes; then
--   ATK_PACKAGES="atk atk-bridge-2.0"
--else
--   ATK_PACKAGES="atk"
--fi
-+ATK_PACKAGES="atk"
-
- PKG_CHECK_MODULES(ATK, $ATK_PACKAGES)
-
---- a/gtk/a11y/gtkaccessibility.c
-+++ b/gtk/a11y/gtkaccessibility.c
-@@ -37,10 +37,6 @@
- #include <gtk/gtkcombobox.h>
- #include <gtk/gtkaccessible.h>
-
--#ifdef GDK_WINDOWING_X11
--#include <atk-bridge.h>
--#endif
--
- static gboolean gail_focus_watcher      (GSignalInvocationHint *ihint,
-                                          guint                  n_param_values,
-                                          const GValue          *param_values,
-@@ -987,9 +983,5 @@
-   _gtk_accessibility_override_atk_util ();
-   do_window_event_initialization ();
-
--#ifdef GDK_WINDOWING_X11
--  atk_bridge_adaptor_init (NULL, NULL);
--#endif
--
-   atk_misc_instance = g_object_new (GTK_TYPE_MISC_IMPL, NULL);
- }
package/libgtk3/Config.in +1 -0
index 12e64707bd..f14b9deaf8 100644
@@ -20,6 +20,7 @@ config BR2_PACKAGE_LIBGTK3
 	depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \
 		BR2_PACKAGE_HAS_LIBGL
 	select BR2_PACKAGE_ATK
+	select BR2_PACKAGE_AT_SPI2_ATK
 	select BR2_PACKAGE_CAIRO
 	select BR2_PACKAGE_CAIRO_PS
 	select BR2_PACKAGE_CAIRO_PDF
package/libgtk3/libgtk3.mk +2 -1
index 1b85d00aae..e3c3dc5237 100644
@@ -26,7 +26,8 @@ LIBGTK3_CONF_OPTS = \
 LIBGTK3_MAKE_OPTS = \
 	WAYLAND_PROTOCOLS_DATADIR=$(STAGING_DIR)/usr/share/wayland-protocols
 
-LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk libglib2 cairo pango gdk-pixbuf libepoxy
+LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk at-spi2-atk libglib2 \
+		       cairo pango gdk-pixbuf libepoxy
 
 ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y)
 LIBGTK3_DEPENDENCIES += fontconfig xlib_libX11 xlib_libXext xlib_libXrender xlib_libXi
Signature · 1 line
2.17.1
#7 lore raw

RFC PATCH 5/8 llvm: add config to build backend for host arch

In reply to Joseph Kogut
---
 package/llvm/Config.in | 9 +++++++++
 package/llvm/llvm.mk   | 5 +++++
 2 files changed, 14 insertions(+)
package/llvm/Config.in +9 -0
index 83e94660eb..5262cab49d 100644
@@ -11,6 +11,15 @@ config BR2_PACKAGE_LLVM_TARGET_ARCH
 	default "ARM" if BR2_arm || BR2_armeb
 	default "X86" if BR2_i386 || BR2_x86_64
 
+config BR2_PACKAGE_LLVM_HOST_TARGET_ARCH
+	string
+	default "AArch64" if BR2_HOSTARCH="aarch64"
+	default "X86" if BR2_HOSTARCH = "x86" || BR2_HOSTARCH = "x86_64"
+	default "ARM" if BR2_HOSTARCH = "arm"
+
+config BR2_PACKAGE_HOST_LLVM_ENABLE_HOST_ARCH
+	bool
+
 config BR2_PACKAGE_LLVM
 	bool "llvm"
 	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
package/llvm/llvm.mk +5 -0
index 3abf428989..06f95c96f8 100644
@@ -59,6 +59,11 @@ ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y)
 LLVM_TARGETS_TO_BUILD += AMDGPU
 endif
 
+# Build backend for host architecture
+ifeq ($(BR2_PACKAGE_HOST_LLVM_ENABLE_HOST_ARCH),y)
+LLVM_TARGETS_TO_BUILD += $(LLVM_HOST_TARGET_ARCH)
+endif
+
 # Use native llvm-tblgen from host-llvm (needed for cross-compilation)
 LLVM_CONF_OPTS += -DLLVM_TABLEGEN=$(HOST_DIR)/bin/llvm-tblgen
 
Signature · 1 line
2.17.1
#8 lore raw

RFC PATCH 6/8 llvm: bump to version 6.0.0

In reply to Joseph Kogut
---
 ...type-in-ORC-readMem-client-interface.patch | 37 -------------------
 package/llvm/llvm.hash                        |  2 +-
 package/llvm/llvm.mk                          |  2 +-
 3 files changed, 2 insertions(+), 39 deletions(-)
 delete mode 100644 package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch deleted +0 -37
deleted file mode 100644
index 0343b4c7e8..0000000000
@@ -1,37 +0,0 @@
-From 72ea6ea635d5b5a88f411710daf7e1d340d232d8 Mon Sep 17 00:00:00 2001
-From: Tilmann Scheller <[email protected]>
-Date: Thu, 1 Feb 2018 11:40:01 -0600
-Subject: [PATCH] Fix return type in ORC readMem() client interface.
-
-GCC 8.0.1 detects the type mismatch and causes the compilation to fail. Clang
-and earlier versions of GCC don't detect the issue.
-
-Fixes rhbz#1540620.
-
-This patch was taken from llvm5.0-5.0.1-7.fc28.src.rpm
-
-Link to bug: https://bugzilla.redhat.com/show_bug.cgi?id=1540620
-
-Signed-off-by: Valentin Korenblit <[email protected]>
----
- include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
-index da02250ba16..bed472e2e0e 100644
---- a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
-+++ b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
-@@ -713,8 +713,8 @@ private:
- 
-   uint32_t getTrampolineSize() const { return RemoteTrampolineSize; }
- 
--  Expected<std::vector<char>> readMem(char *Dst, JITTargetAddress Src,
--                                      uint64_t Size) {
-+  Expected<std::vector<uint8_t>> readMem(char *Dst, JITTargetAddress Src,
-+                                         uint64_t Size) {
-     // Check for an 'out-of-band' error, e.g. from an MM destructor.
-     if (ExistingError)
-       return std::move(ExistingError);
--- 
-2.14.3
-
package/llvm/llvm.hash +1 -1
index 14f8bb4488..93bdf2e20e 100644
@@ -1,3 +1,3 @@
 # locally calculated
-sha256 d522eda97835a9c75f0b88ddc81437e5edbb87dc2740686cb8647763855c2b3c  llvm-5.0.2.src.tar.xz
+sha256 1ff53c915b4e761ef400b803f07261ade637b0c269d99569f18040f3dcee4408  llvm-6.0.0.src.tar.xz
 sha256 abd4d8794808bacb1eb6924d49efafd9ab6eef88faaaeb5d3cfa13ee3670d672 LICENSE.TXT
package/llvm/llvm.mk +1 -1
index 06f95c96f8..d2db05d94c 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-LLVM_VERSION = 5.0.2
+LLVM_VERSION = 6.0.0
 LLVM_SITE = http://llvm.org/releases/$(LLVM_VERSION)
 LLVM_SOURCE = llvm-$(LLVM_VERSION).src.tar.xz
 LLVM_LICENSE = NCSA
Signature · 1 line
2.17.1
#9 lore raw

RFC PATCH 6/8 llvm: bump to version 6.0.0

Joseph, all,

package/llvm/llvm.mk line 10

Quoted 13 lines · Joseph Kogut
---
  ...type-in-ORC-readMem-client-interface.patch | 37 -------------------
  package/llvm/llvm.hash                        |  2 +-
  package/llvm/llvm.mk                          |  2 +-
  3 files changed, 2 insertions(+), 39 deletions(-)

delete mode 100644 package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch

package/llvm/llvm.mk +1 -1
-LLVM_VERSION = 5.0.2
+LLVM_VERSION = 6.0.0
  LLVM_SITE = http://llvm.org/releases/$(LLVM_VERSION)
  LLVM_SOURCE = llvm-$(LLVM_VERSION).src.tar.xz
  LLVM_LICENSE = NCSA

I've applied the patch and tested llvmpipe on ARM and x86. My only doubt is whether we should also keep llvm 5 (no longer mantained). Apparently there haven't been changes in the API, most changes are related to backends: https://releases.llvm.org/6.0.0/docs/ReleaseNotes.html.

I ask this question because this topic was discussed during the meeting:
https://elinux.org/Buildroot:DeveloperDaysFOSDEM2018#LLVM.2FClang

I believe we could just bump to 6.0.0 as currently there is only Mesa using this package.

Best regards,

Valentin

#10 lore raw

RFC PATCH 6/8 llvm: bump to version 6.0.0

Valentin,

Quoted 20 lines · Valentin Korenblit

Joseph, all,

package/llvm/llvm.mk line 10

Quoted 13 lines · Joseph Kogut
---
  ...type-in-ORC-readMem-client-interface.patch | 37 -------------------
  package/llvm/llvm.hash                        |  2 +-
  package/llvm/llvm.mk                          |  2 +-
  3 files changed, 2 insertions(+), 39 deletions(-)

delete mode 100644 package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch

package/llvm/llvm.mk +1 -1
-LLVM_VERSION = 5.0.2
+LLVM_VERSION = 6.0.0
  LLVM_SITE = http://llvm.org/releases/$(LLVM_VERSION)
  LLVM_SOURCE = llvm-$(LLVM_VERSION).src.tar.xz
  LLVM_LICENSE = NCSA
Quoted 8 lines

I've applied the patch and tested llvmpipe on ARM and x86. My only doubt is whether we should also keep llvm 5 (no longer mantained). Apparently there haven't been changes in the API, most changes are related to backends: https://releases.llvm.org/6.0.0/docs/ReleaseNotes.html.

I ask this question because this topic was discussed during the meeting:
https://elinux.org/Buildroot:DeveloperDaysFOSDEM2018#LLVM.2FClang

I was curious about that as well, as I read the notes about the meeting.

If LLVM 5.0 is no longer maintained, I don't see any reason to continue supporting it, especially if the API hasn't broken.

Quoted 3 lines

I believe we could just bump to 6.0.0 as currently there is only Mesa using this package.

On the other hand, there's no way for us to know if someone is using LLVM in their own application that would break by upgrading. I think the answer to that problem is that they should stay on a Buildroot release branch that packages the version they need, or they should submit patches to allow the older version to be selected.

With 6.0.0 being the current stable release, I do think it makes sense for us to bump it.

Best,
Joseph

#11 lore raw

RFC PATCH 7/8 clang: bump to version 6.0.0

In reply to Joseph Kogut
---
 package/clang/clang.hash | 2 +-
 package/clang/clang.mk   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
package/clang/clang.hash +1 -1
index bf54f9bb53..600c3cc9a4 100644
@@ -1,3 +1,3 @@
 # locally calculated
-sha256 fa9ce9724abdb68f166deea0af1f71ca0dfa9af8f7e1261f2cae63c280282800  cfe-5.0.2.src.tar.xz
+sha256 e07d6dd8d9ef196cfc8e8bb131cbd6a2ed0b1caf1715f9d05b0f0eeaddb6df32  cfe-6.0.0.src.tar.xz
 sha256 de4c79665f0f5688b0ace17cba6f8e0343925bb95e0949d66d47bbd4527310d6 LICENSE.TXT
package/clang/clang.mk +1 -1
index dc086c6eed..f828bac72a 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-CLANG_VERSION = 5.0.2
+CLANG_VERSION = 6.0.0
 CLANG_SITE = http://llvm.org/releases/$(CLANG_VERSION)
 CLANG_SOURCE = cfe-$(CLANG_VERSION).src.tar.xz
 CLANG_LICENSE = NCSA
Signature · 1 line
2.17.1
#12 lore raw

RFC PATCH 8/8 chromium: new package

In reply to Joseph Kogut
---
 DEVELOPERS                          |   1 +
 package/Config.in                   |   1 +
 package/chromium/Config.in          |  43 ++++++++++
 package/chromium/chromium.hash      |   4 +
 package/chromium/chromium.mk        | 125 ++++++++++++++++++++++++++++
 package/chromium/toolchain/BUILD.gn |  72 ++++++++++++++++
 6 files changed, 246 insertions(+)
 create mode 100644 package/chromium/Config.in
 create mode 100644 package/chromium/chromium.hash
 create mode 100644 package/chromium/chromium.mk
 create mode 100644 package/chromium/toolchain/BUILD.gn
DEVELOPERS +1 -0
index 568f47d242..19d3aafe91 100644
@@ -957,6 +957,7 @@ F:	configs/qemu_ppc64le_pseries_defconfig
 N:	Joseph Kogut <[email protected]>
 F:	package/at-spi2-atk/
 F:	package/at-spi2-core/
+F:	package/chromium/
 F:	package/gconf/
 F:	package/libnss/
 F:	package/python-cython/
package/Config.in +1 -0
index c2e619b317..0458c513f2 100644
@@ -14,6 +14,7 @@ menu "Audio and video applications"
 	source "package/aumix/Config.in"
 	source "package/bellagio/Config.in"
 	source "package/bluez-alsa/Config.in"
+	source "package/chromium/Config.in"
 	source "package/dvblast/Config.in"
 	source "package/dvdauthor/Config.in"
 	source "package/dvdrw-tools/Config.in"
package/chromium/Config.in new file +43 -0

43 lines not on this page · raw message

package/chromium/chromium.hash new file +4 -0
new file mode 100644
index 0000000000..bb579262cd
@@ -0,0 +1,4 @@
+# locally calculated
+sha256 37e6673741b365a25a837217b08f77b24b4f5fc4ad88c8581be6a5dae9a9e919  chromium-66.0.3359.181.tar.xz
+sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308  LICENSE
+
package/chromium/chromium.mk new file +125 -0

125 lines not on this page · raw message

package/chromium/toolchain/BUILD.gn new file +72 -0

72 lines not on this page · raw message

Signature · 1 line
2.17.1
#13 lore raw

v2 cover chromium: new package

In reply to Joseph Kogut

Changes since v1:
- fix some cross compilation issues
- chromium: bump version to 67.0.3396.79
- atk: bump version to 2.28.1
- lld: new package
- chromium: use lld for linking
- minor tweaks to variable naming and quotes

Joseph Kogut (9):
atk: bump to version 2.25.2
at-spi2-core: new package
at-spi2-atk: new package
libgtk3: remove patch to disable atk-bridge support
llvm: add config to build backend for host arch
llvm: bump to version 6.0.0
clang: bump to version 6.0.0
lld: new package
chromium: new package

 DEVELOPERS                                    |   4 +
 package/Config.in                             |   4 +
 package/at-spi2-atk/Config.in                 |   5 +
 package/at-spi2-atk/at-spi2-atk.hash          |   4 +
 package/at-spi2-atk/at-spi2-atk.mk            |  17 +++
 package/at-spi2-core/Config.in                |   9 ++
 package/at-spi2-core/at-spi2-core.hash        |   4 +
 package/at-spi2-core/at-spi2-core.mk          |  46 ++++++
 package/atk/atk.hash                          |   4 +-
 package/atk/atk.mk                            |   4 +-
 package/chromium/Config.in                    |  44 ++++++
 package/chromium/chromium.hash                |   4 +
 package/chromium/chromium.mk                  | 139 ++++++++++++++++++
 package/chromium/toolchain/BUILD.gn           |  71 +++++++++
 package/clang/clang.hash                      |   2 +-
 package/clang/clang.mk                        |   2 +-
 package/libgtk3/0003-disable-atk-bridge.patch |  45 ------
 package/libgtk3/Config.in                     |   1 +
 package/libgtk3/libgtk3.mk                    |   3 +-
 package/lld/Config.in                         |   3 +
 package/lld/lld.hash                          |   3 +
 package/lld/lld.mk                            |  19 +++
 ...type-in-ORC-readMem-client-interface.patch |  37 -----
 package/llvm/Config.in                        |   9 ++
 package/llvm/llvm.hash                        |   2 +-
 package/llvm/llvm.mk                          |   7 +-
 26 files changed, 401 insertions(+), 91 deletions(-)
 create mode 100644 package/at-spi2-atk/Config.in
 create mode 100644 package/at-spi2-atk/at-spi2-atk.hash
 create mode 100644 package/at-spi2-atk/at-spi2-atk.mk
 create mode 100644 package/at-spi2-core/Config.in
 create mode 100644 package/at-spi2-core/at-spi2-core.hash
 create mode 100644 package/at-spi2-core/at-spi2-core.mk
 create mode 100644 package/chromium/Config.in
 create mode 100644 package/chromium/chromium.hash
 create mode 100644 package/chromium/chromium.mk
 create mode 100644 package/chromium/toolchain/BUILD.gn
 delete mode 100644 package/libgtk3/0003-disable-atk-bridge.patch
 create mode 100644 package/lld/Config.in
 create mode 100644 package/lld/lld.hash
 create mode 100644 package/lld/lld.mk
 delete mode 100644 package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
Signature · 1 line
2.17.1
#14 lore raw

RFC PATCH v2 1/9 atk: bump to version 2.25.2

---
 package/atk/atk.hash | 4 ++--
 package/atk/atk.mk   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
package/atk/atk.hash +2 -2
index 12c98706dd..d6c61a22f4 100644
@@ -1,2 +1,2 @@
-# From http://ftp.gnome.org/pub/gnome/sources/atk/2.22/atk-2.22.0.sha256sum
-sha256 d349f5ca4974c9c76a4963e5b254720523b0c78672cbc0e1a3475dbd9b3d44b6 atk-2.22.0.tar.xz
+# From http://ftp.acc.umu.se/pub/gnome/sources/atk/2.25/atk-2.25.2.sha256sum
+sha256 75ac1f63e845f895dec8d72d4645ef5f362e32c921cc78987f2f19c2ce212a24 atk-2.25.2.tar.xz
package/atk/atk.mk +2 -2
index 88cf5fbc0a..a50cb9f0ee 100644
@@ -4,8 +4,8 @@
 #
 ################################################################################
 
-ATK_VERSION_MAJOR = 2.22
-ATK_VERSION = $(ATK_VERSION_MAJOR).0
+ATK_VERSION_MAJOR = 2.25
+ATK_VERSION = $(ATK_VERSION_MAJOR).2
 ATK_SOURCE = atk-$(ATK_VERSION).tar.xz
 ATK_SITE = http://ftp.gnome.org/pub/gnome/sources/atk/$(ATK_VERSION_MAJOR)
 ATK_LICENSE = LGPL-2.0+
Signature · 1 line
2.17.1
#15 lore raw

RFC PATCH v2 1/9 atk: bump to version 2.28.1

In reply to Joseph Kogut
---
 package/atk/atk.hash | 4 ++--
 package/atk/atk.mk   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
package/atk/atk.hash +2 -2
index 12c98706dd..80aeecaee9 100644
@@ -1,2 +1,2 @@
-# From http://ftp.gnome.org/pub/gnome/sources/atk/2.22/atk-2.22.0.sha256sum
-sha256 d349f5ca4974c9c76a4963e5b254720523b0c78672cbc0e1a3475dbd9b3d44b6 atk-2.22.0.tar.xz
+# From http://ftp.gnome.org/pub/gnome/sources/atk/2.28/atk-2.28.1.sha256sum
+sha256 cd3a1ea6ecc268a2497f0cd018e970860de24a6d42086919d6bf6c8e8d53f4fc atk-2.28.1.tar.xz
package/atk/atk.mk +2 -2
index 88cf5fbc0a..64950bfd08 100644
@@ -4,8 +4,8 @@
 #
 ################################################################################
 
-ATK_VERSION_MAJOR = 2.22
-ATK_VERSION = $(ATK_VERSION_MAJOR).0
+ATK_VERSION_MAJOR = 2.28
+ATK_VERSION = $(ATK_VERSION_MAJOR).1
 ATK_SOURCE = atk-$(ATK_VERSION).tar.xz
 ATK_SITE = http://ftp.gnome.org/pub/gnome/sources/atk/$(ATK_VERSION_MAJOR)
 ATK_LICENSE = LGPL-2.0+
Signature · 1 line
2.17.1
#16 lore raw

RFC PATCH v2 2/9 at-spi2-core: new package

In reply to Joseph Kogut
---
 DEVELOPERS                             |  1 +
 package/Config.in                      |  1 +
 package/at-spi2-core/Config.in         |  9 +++++
 package/at-spi2-core/at-spi2-core.hash |  4 +++
 package/at-spi2-core/at-spi2-core.mk   | 46 ++++++++++++++++++++++++++
 5 files changed, 61 insertions(+)
 create mode 100644 package/at-spi2-core/Config.in
 create mode 100644 package/at-spi2-core/at-spi2-core.hash
 create mode 100644 package/at-spi2-core/at-spi2-core.mk
DEVELOPERS +1 -0
index 1a8440759e..31c651b938 100644
@@ -955,6 +955,7 @@ F:	board/qemu/ppc64le-pseries/
 F:	configs/qemu_ppc64le_pseries_defconfig
 
 N:	Joseph Kogut <[email protected]>
+F:	package/at-spi2-core/
 F:	package/gconf/
 F:	package/libnss/
 F:	package/python-cython/
package/Config.in +1 -0
index 6a1606e568..692b422911 100644
@@ -1128,6 +1128,7 @@ endmenu
 
 menu "Graphics"
 	source "package/assimp/Config.in"
+	source "package/at-spi2-core/Config.in"
 	source "package/atk/Config.in"
 	source "package/atkmm/Config.in"
 	source "package/bullet/Config.in"
package/at-spi2-core/Config.in new file +9 -0
new file mode 100644
index 0000000000..9c60c51792
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_AT_SPI2_CORE
+	bool "at-spi2-core"
+	select BR2_PACKAGE_DBUS
+	select BR2_PACKAGE_XLIB_LIBXTST
+	help
+	  The At-Spi2 Core package is a part of the GNOME Accessibility Project.
+	  It provides a Service Provider Interface for the Assistive Technologies
+	  available on the GNOME platform and a library against which 
+	  applications can be linked.
package/at-spi2-core/at-spi2-core.hash new file +4 -0
new file mode 100644
index 0000000000..e792cc0e0a
@@ -0,0 +1,4 @@
+# locally calculated
+sha256 42a2487ab11ce43c288e73b2668ef8b1ab40a0e2b4f94e80fca04ad27b6f1c87  at-spi2-core-2.28.0.tar.xz
+sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b  COPYING
+
package/at-spi2-core/at-spi2-core.mk new file +46 -0

46 lines not on this page · raw message

Signature · 1 line
2.17.1
#17 lore raw

RFC PATCH v2 3/9 at-spi2-atk: new package

In reply to Joseph Kogut
---
 DEVELOPERS                           |  1 +
 package/Config.in                    |  1 +
 package/at-spi2-atk/Config.in        |  5 +++++
 package/at-spi2-atk/at-spi2-atk.hash |  4 ++++
 package/at-spi2-atk/at-spi2-atk.mk   | 17 +++++++++++++++++
 5 files changed, 28 insertions(+)
 create mode 100644 package/at-spi2-atk/Config.in
 create mode 100644 package/at-spi2-atk/at-spi2-atk.hash
 create mode 100644 package/at-spi2-atk/at-spi2-atk.mk
DEVELOPERS +1 -0
index 31c651b938..568f47d242 100644
@@ -955,6 +955,7 @@ F:	board/qemu/ppc64le-pseries/
 F:	configs/qemu_ppc64le_pseries_defconfig
 
 N:	Joseph Kogut <[email protected]>
+F:	package/at-spi2-atk/
 F:	package/at-spi2-core/
 F:	package/gconf/
 F:	package/libnss/
package/Config.in +1 -0
index 692b422911..c2e619b317 100644
@@ -1128,6 +1128,7 @@ endmenu
 
 menu "Graphics"
 	source "package/assimp/Config.in"
+	source "package/at-spi2-atk/Config.in"
 	source "package/at-spi2-core/Config.in"
 	source "package/atk/Config.in"
 	source "package/atkmm/Config.in"
package/at-spi2-atk/Config.in new file +5 -0
new file mode 100644
index 0000000000..b354c77ffe
@@ -0,0 +1,5 @@
+config BR2_PACKAGE_AT_SPI2_ATK
+	bool "at-spi2-atk"
+	select BR2_PACKAGE_AT_SPI2_CORE
+	help
+	  The At-Spi2 Atk package contains a library that bridges ATK to At-Spi2 D-Bus service.
package/at-spi2-atk/at-spi2-atk.hash new file +4 -0
new file mode 100644
index 0000000000..6f7d68ab87
@@ -0,0 +1,4 @@
+# locally calculated
+sha256 61891f0abae1689f6617a963105a3f1dcdab5970c4a36ded9c79a7a544b16a6e  at-spi2-atk-2.26.2.tar.xz
+sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b  COPYING
+
package/at-spi2-atk/at-spi2-atk.mk new file +17 -0
new file mode 100644
index 0000000000..a3bccbb0d9
@@ -0,0 +1,17 @@
+###############################################################################
+#
+# at-spi2-atk
+#
+###############################################################################
+
+AT_SPI2_ATK_VERSION_MAJOR = 2.26
+AT_SPI2_ATK_VERSION = $(AT_SPI2_ATK_VERSION_MAJOR).2
+AT_SPI2_ATK_SOURCE = at-spi2-atk-$(AT_SPI2_ATK_VERSION).tar.xz
+AT_SPI2_ATK_SITE =  http://ftp.gnome.org/pub/gnome/sources/at-spi2-atk/$(AT_SPI2_ATK_VERSION_MAJOR)
+ATK_LICENSE = LGPL-2.0+
+ATK_LICENSE_FILES = COPYING
+AT_SPI2_ATK_INSTALL_STAGING = YES
+AT_SPI2_ATK_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) LDFLAGS=-L$(STAGING_DIR)/usr/lib install
+AT_SPI2_ATK_DEPENDENCIES = atk at-spi2-core libglib2 host-pkgconf
+
+$(eval $(autotools-package))
Signature · 1 line
2.17.1
#18 lore raw

RFC PATCH v2 4/9 libgtk3: remove patch to disable atk-bridge support

In reply to Joseph Kogut
---
 package/libgtk3/0003-disable-atk-bridge.patch | 45 -------------------
 package/libgtk3/Config.in                     |  1 +
 package/libgtk3/libgtk3.mk                    |  3 +-
 3 files changed, 3 insertions(+), 46 deletions(-)
 delete mode 100644 package/libgtk3/0003-disable-atk-bridge.patch
package/libgtk3/0003-disable-atk-bridge.patch deleted +0 -45
deleted file mode 100644
index c92174f400..0000000000
@@ -1,45 +0,0 @@
-Remove atk-bridge support.
-
-atk-bridge doesn't seem useful for now in Buildroot and requires to
-add two new packages just for it: at-spi2-core and at-spi2-atk.
-
-Signed-off-by: Hadrien Boutteville <[email protected]>
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -1349,11 +1349,7 @@
- # Check for Accessibility Toolkit flags
- ########################################
-
--if test x$enable_x11_backend = xyes; then
--   ATK_PACKAGES="atk atk-bridge-2.0"
--else
--   ATK_PACKAGES="atk"
--fi
-+ATK_PACKAGES="atk"
-
- PKG_CHECK_MODULES(ATK, $ATK_PACKAGES)
-
---- a/gtk/a11y/gtkaccessibility.c
-+++ b/gtk/a11y/gtkaccessibility.c
-@@ -37,10 +37,6 @@
- #include <gtk/gtkcombobox.h>
- #include <gtk/gtkaccessible.h>
-
--#ifdef GDK_WINDOWING_X11
--#include <atk-bridge.h>
--#endif
--
- static gboolean gail_focus_watcher      (GSignalInvocationHint *ihint,
-                                          guint                  n_param_values,
-                                          const GValue          *param_values,
-@@ -987,9 +983,5 @@
-   _gtk_accessibility_override_atk_util ();
-   do_window_event_initialization ();
-
--#ifdef GDK_WINDOWING_X11
--  atk_bridge_adaptor_init (NULL, NULL);
--#endif
--
-   atk_misc_instance = g_object_new (GTK_TYPE_MISC_IMPL, NULL);
- }
package/libgtk3/Config.in +1 -0
index 12e64707bd..f14b9deaf8 100644
@@ -20,6 +20,7 @@ config BR2_PACKAGE_LIBGTK3
 	depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \
 		BR2_PACKAGE_HAS_LIBGL
 	select BR2_PACKAGE_ATK
+	select BR2_PACKAGE_AT_SPI2_ATK
 	select BR2_PACKAGE_CAIRO
 	select BR2_PACKAGE_CAIRO_PS
 	select BR2_PACKAGE_CAIRO_PDF
package/libgtk3/libgtk3.mk +2 -1
index 1b85d00aae..e3c3dc5237 100644
@@ -26,7 +26,8 @@ LIBGTK3_CONF_OPTS = \
 LIBGTK3_MAKE_OPTS = \
 	WAYLAND_PROTOCOLS_DATADIR=$(STAGING_DIR)/usr/share/wayland-protocols
 
-LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk libglib2 cairo pango gdk-pixbuf libepoxy
+LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk at-spi2-atk libglib2 \
+		       cairo pango gdk-pixbuf libepoxy
 
 ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y)
 LIBGTK3_DEPENDENCIES += fontconfig xlib_libX11 xlib_libXext xlib_libXrender xlib_libXi
Signature · 1 line
2.17.1
#19 lore raw

RFC PATCH v2 5/9 llvm: add config to build backend for host arch

In reply to Joseph Kogut
---
 package/llvm/Config.in | 9 +++++++++
 package/llvm/llvm.mk   | 5 +++++
 2 files changed, 14 insertions(+)
package/llvm/Config.in +9 -0
index 83e94660eb..e9c461b92f 100644
@@ -11,6 +11,15 @@ config BR2_PACKAGE_LLVM_TARGET_ARCH
 	default "ARM" if BR2_arm || BR2_armeb
 	default "X86" if BR2_i386 || BR2_x86_64
 
+config BR2_PACKAGE_LLVM_HOST_ARCH
+	string
+	default "AArch64" if BR2_HOSTARCH="aarch64"
+	default "X86" if BR2_HOSTARCH = "x86" || BR2_HOSTARCH = "x86_64"
+	default "ARM" if BR2_HOSTARCH = "arm"
+
+config BR2_PACKAGE_HOST_LLVM_ENABLE_HOST_ARCH
+	bool
+
 config BR2_PACKAGE_LLVM
 	bool "llvm"
 	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
package/llvm/llvm.mk +5 -0
index 3abf428989..04e99eb5b4 100644
@@ -59,6 +59,11 @@ ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y)
 LLVM_TARGETS_TO_BUILD += AMDGPU
 endif
 
+# Build backend for host architecture
+ifeq ($(BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH),y)
+LLVM_TARGETS_TO_BUILD += $(call qstrip,$(BR2_PACKAGE_LLVM_HOST_ARCH))
+endif
+
 # Use native llvm-tblgen from host-llvm (needed for cross-compilation)
 LLVM_CONF_OPTS += -DLLVM_TABLEGEN=$(HOST_DIR)/bin/llvm-tblgen
 
Signature · 1 line
2.17.1
#20 lore raw

RFC PATCH v2 6/9 llvm: bump to version 6.0.0

In reply to Joseph Kogut
---
 ...type-in-ORC-readMem-client-interface.patch | 37 -------------------
 package/llvm/llvm.hash                        |  2 +-
 package/llvm/llvm.mk                          |  2 +-
 3 files changed, 2 insertions(+), 39 deletions(-)
 delete mode 100644 package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch deleted +0 -37
deleted file mode 100644
index 0343b4c7e8..0000000000
@@ -1,37 +0,0 @@
-From 72ea6ea635d5b5a88f411710daf7e1d340d232d8 Mon Sep 17 00:00:00 2001
-From: Tilmann Scheller <[email protected]>
-Date: Thu, 1 Feb 2018 11:40:01 -0600
-Subject: [PATCH] Fix return type in ORC readMem() client interface.
-
-GCC 8.0.1 detects the type mismatch and causes the compilation to fail. Clang
-and earlier versions of GCC don't detect the issue.
-
-Fixes rhbz#1540620.
-
-This patch was taken from llvm5.0-5.0.1-7.fc28.src.rpm
-
-Link to bug: https://bugzilla.redhat.com/show_bug.cgi?id=1540620
-
-Signed-off-by: Valentin Korenblit <[email protected]>
----
- include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
-index da02250ba16..bed472e2e0e 100644
---- a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
-+++ b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
-@@ -713,8 +713,8 @@ private:
- 
-   uint32_t getTrampolineSize() const { return RemoteTrampolineSize; }
- 
--  Expected<std::vector<char>> readMem(char *Dst, JITTargetAddress Src,
--                                      uint64_t Size) {
-+  Expected<std::vector<uint8_t>> readMem(char *Dst, JITTargetAddress Src,
-+                                         uint64_t Size) {
-     // Check for an 'out-of-band' error, e.g. from an MM destructor.
-     if (ExistingError)
-       return std::move(ExistingError);
--- 
-2.14.3
-
package/llvm/llvm.hash +1 -1
index 14f8bb4488..93bdf2e20e 100644
@@ -1,3 +1,3 @@
 # locally calculated
-sha256 d522eda97835a9c75f0b88ddc81437e5edbb87dc2740686cb8647763855c2b3c  llvm-5.0.2.src.tar.xz
+sha256 1ff53c915b4e761ef400b803f07261ade637b0c269d99569f18040f3dcee4408  llvm-6.0.0.src.tar.xz
 sha256 abd4d8794808bacb1eb6924d49efafd9ab6eef88faaaeb5d3cfa13ee3670d672 LICENSE.TXT
package/llvm/llvm.mk +1 -1
index 04e99eb5b4..8638563b16 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-LLVM_VERSION = 5.0.2
+LLVM_VERSION = 6.0.0
 LLVM_SITE = http://llvm.org/releases/$(LLVM_VERSION)
 LLVM_SOURCE = llvm-$(LLVM_VERSION).src.tar.xz
 LLVM_LICENSE = NCSA
Signature · 1 line
2.17.1
#21 lore raw

RFC PATCH v2 7/9 clang: bump to version 6.0.0

In reply to Joseph Kogut
---
 package/clang/clang.hash | 2 +-
 package/clang/clang.mk   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
package/clang/clang.hash +1 -1
index bf54f9bb53..600c3cc9a4 100644
@@ -1,3 +1,3 @@
 # locally calculated
-sha256 fa9ce9724abdb68f166deea0af1f71ca0dfa9af8f7e1261f2cae63c280282800  cfe-5.0.2.src.tar.xz
+sha256 e07d6dd8d9ef196cfc8e8bb131cbd6a2ed0b1caf1715f9d05b0f0eeaddb6df32  cfe-6.0.0.src.tar.xz
 sha256 de4c79665f0f5688b0ace17cba6f8e0343925bb95e0949d66d47bbd4527310d6 LICENSE.TXT
package/clang/clang.mk +1 -1
index dc086c6eed..f828bac72a 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-CLANG_VERSION = 5.0.2
+CLANG_VERSION = 6.0.0
 CLANG_SITE = http://llvm.org/releases/$(CLANG_VERSION)
 CLANG_SOURCE = cfe-$(CLANG_VERSION).src.tar.xz
 CLANG_LICENSE = NCSA
Signature · 1 line
2.17.1
#22 lore raw

RFC PATCH v2 8/9 lld: new package

In reply to Joseph Kogut
---
 DEVELOPERS            |  1 +
 package/Config.in     |  1 +
 package/lld/Config.in |  3 +++
 package/lld/lld.hash  |  3 +++
 package/lld/lld.mk    | 19 +++++++++++++++++++
 5 files changed, 27 insertions(+)
 create mode 100644 package/lld/Config.in
 create mode 100644 package/lld/lld.hash
 create mode 100644 package/lld/lld.mk
DEVELOPERS +1 -0
index 568f47d242..ef6fd32fed 100644
@@ -959,6 +959,7 @@ F:	package/at-spi2-atk/
 F:	package/at-spi2-core/
 F:	package/gconf/
 F:	package/libnss/
+F:	package/lld/
 F:	package/python-cython/
 F:	package/python-raven/
 F:	package/python-schedule/
package/Config.in +1 -0
index c2e619b317..e4eb87b574 100644
@@ -1565,6 +1565,7 @@ menu "Other"
 	source "package/libuv/Config.in"
 	source "package/lightning/Config.in"
 	source "package/linux-pam/Config.in"
+	source "package/lld/Config.in"
 	source "package/llvm/Config.in"
 if BR2_PACKAGE_LINUX_PAM
 comment "linux-pam plugins"
package/lld/Config.in new file +3 -0
new file mode 100644
index 0000000000..0ad50fd608
@@ -0,0 +1,3 @@
+config BR2_PACKAGE_LLD
+	bool "lld"
+	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
package/lld/lld.hash new file +3 -0
new file mode 100644
index 0000000000..ce81c7baca
@@ -0,0 +1,3 @@
+# locally calculated
+sha256 6b8c4a833cf30230c0213d78dbac01af21387b298225de90ab56032ca79c0e0b  lld-6.0.0.src.tar.xz
+sha256 f0502d2d0e19748c534ee95ea486c092273303dbef76404c8b17dc8bf6ca441b  LICENSE.TXT
package/lld/lld.mk new file +19 -0
new file mode 100644
index 0000000000..cfaf3dbd29
@@ -0,0 +1,19 @@
+###############################################################################
+#
+# lld
+#
+###############################################################################
+
+LLD_VERSION = 6.0.0
+LLD_SITE = https://llvm.org/releases/$(LLD_VERSION)
+LLD_SOURCE = lld-$(LLD_VERSION).src.tar.xz
+LLD_LICENSE = NCSA
+LLD_LICENSE_FILES = LICENSE.TXT
+LLD_SUPPORTS_IN_SOURCE_BUILD = NO
+
+HOST_LLD_CONF_OPTS += -DCMAKE_BUILD_TYPE=Release
+LLD_CONF_OPTS += -DCMAKE_BUILD_TYPE=Release
+
+$(eval $(cmake-package))
+$(eval $(host-cmake-package))
+
Signature · 1 line
2.17.1
#23 lore raw

RFC PATCH v2 9/9 chromium: new package

In reply to Joseph Kogut
---
 DEVELOPERS                          |   1 +
 package/Config.in                   |   1 +
 package/chromium/Config.in          |  44 +++++++++
 package/chromium/chromium.hash      |   4 +
 package/chromium/chromium.mk        | 137 ++++++++++++++++++++++++++++
 package/chromium/toolchain/BUILD.gn |  71 ++++++++++++++
 6 files changed, 258 insertions(+)
 create mode 100644 package/chromium/Config.in
 create mode 100644 package/chromium/chromium.hash
 create mode 100644 package/chromium/chromium.mk
 create mode 100644 package/chromium/toolchain/BUILD.gn
DEVELOPERS +1 -0
index ef6fd32fed..1ad680509c 100644
@@ -957,6 +957,7 @@ F:	configs/qemu_ppc64le_pseries_defconfig
 N:	Joseph Kogut <[email protected]>
 F:	package/at-spi2-atk/
 F:	package/at-spi2-core/
+F:	package/chromium/
 F:	package/gconf/
 F:	package/libnss/
 F:	package/lld/
package/Config.in +1 -0
index e4eb87b574..80248a798c 100644
@@ -14,6 +14,7 @@ menu "Audio and video applications"
 	source "package/aumix/Config.in"
 	source "package/bellagio/Config.in"
 	source "package/bluez-alsa/Config.in"
+	source "package/chromium/Config.in"
 	source "package/dvblast/Config.in"
 	source "package/dvdauthor/Config.in"
 	source "package/dvdrw-tools/Config.in"
package/chromium/Config.in new file +44 -0

44 lines not on this page · raw message

package/chromium/chromium.hash new file +4 -0
new file mode 100644
index 0000000000..1af15cb23b
@@ -0,0 +1,4 @@
+# locally calculated
+sha256 f8b1e5319163e378027826b12cf256b97423bb90e10e2013469d96e03bc9db8a  chromium-67.0.3396.79.tar.xz
+sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308  LICENSE
+
package/chromium/chromium.mk new file +137 -0

137 lines not on this page · raw message

package/chromium/toolchain/BUILD.gn new file +71 -0

71 lines not on this page · raw message

Signature · 1 line
2.17.1
#24 lore raw

v2 cover chromium: new package

In reply to Joseph Kogut

Changes since v2:
- patch chromium toolchain config for buildroot

Changes since v1:
- fix some cross compilation issues
- chromium: bump version to 67.0.3396.79
- atk: bump version to 2.28.1
- lld: new package
- chromium: use lld for linking
- minor tweaks to variable naming and quotes

Joseph Kogut (9):
atk: bump to version 2.25.2
at-spi2-core: new package
at-spi2-atk: new package
libgtk3: remove patch to disable atk-bridge support
llvm: add config to build backend for host arch
llvm: bump to version 6.0.0
clang: bump to version 6.0.0
lld: new package
chromium: new package

 DEVELOPERS                                    |   4 +
 package/Config.in                             |   4 +
 package/at-spi2-atk/Config.in                 |   5 +
 package/at-spi2-atk/at-spi2-atk.hash          |   4 +
 package/at-spi2-atk/at-spi2-atk.mk            |  17 +++
 package/at-spi2-core/Config.in                |   9 ++
 package/at-spi2-core/at-spi2-core.hash        |   4 +
 package/at-spi2-core/at-spi2-core.mk          |  46 ++++++
 package/atk/atk.hash                          |   4 +-
 package/atk/atk.mk                            |   4 +-
 package/chromium/Config.in                    |  44 ++++++
 package/chromium/chromium.hash                |   4 +
 package/chromium/chromium.mk                  | 139 ++++++++++++++++++
 package/chromium/toolchain/BUILD.gn           |  71 +++++++++
 package/clang/clang.hash                      |   2 +-
 package/clang/clang.mk                        |   2 +-
 package/libgtk3/0003-disable-atk-bridge.patch |  45 ------
 package/libgtk3/Config.in                     |   1 +
 package/libgtk3/libgtk3.mk                    |   3 +-
 package/lld/Config.in                         |   3 +
 package/lld/lld.hash                          |   3 +
 package/lld/lld.mk                            |  19 +++
 ...type-in-ORC-readMem-client-interface.patch |  37 -----
 package/llvm/Config.in                        |   9 ++
 package/llvm/llvm.hash                        |   2 +-
 package/llvm/llvm.mk                          |   7 +-
 26 files changed, 401 insertions(+), 91 deletions(-)
 create mode 100644 package/at-spi2-atk/Config.in
 create mode 100644 package/at-spi2-atk/at-spi2-atk.hash
 create mode 100644 package/at-spi2-atk/at-spi2-atk.mk
 create mode 100644 package/at-spi2-core/Config.in
 create mode 100644 package/at-spi2-core/at-spi2-core.hash
 create mode 100644 package/at-spi2-core/at-spi2-core.mk
 create mode 100644 package/chromium/Config.in
 create mode 100644 package/chromium/chromium.hash
 create mode 100644 package/chromium/chromium.mk
 create mode 100644 package/chromium/toolchain/BUILD.gn
 delete mode 100644 package/libgtk3/0003-disable-atk-bridge.patch
 create mode 100644 package/lld/Config.in
 create mode 100644 package/lld/lld.hash
 create mode 100644 package/lld/lld.mk
 delete mode 100644 package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
Signature · 1 line
2.17.1
#25 lore raw

RFC PATCH v3 1/9 atk: bump to version 2.28.1

---
 package/atk/atk.hash | 4 ++--
 package/atk/atk.mk   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
package/atk/atk.hash +2 -2
index 12c98706dd..80aeecaee9 100644
@@ -1,2 +1,2 @@
-# From http://ftp.gnome.org/pub/gnome/sources/atk/2.22/atk-2.22.0.sha256sum
-sha256 d349f5ca4974c9c76a4963e5b254720523b0c78672cbc0e1a3475dbd9b3d44b6 atk-2.22.0.tar.xz
+# From http://ftp.gnome.org/pub/gnome/sources/atk/2.28/atk-2.28.1.sha256sum
+sha256 cd3a1ea6ecc268a2497f0cd018e970860de24a6d42086919d6bf6c8e8d53f4fc atk-2.28.1.tar.xz
package/atk/atk.mk +2 -2
index 88cf5fbc0a..64950bfd08 100644
@@ -4,8 +4,8 @@
 #
 ################################################################################
 
-ATK_VERSION_MAJOR = 2.22
-ATK_VERSION = $(ATK_VERSION_MAJOR).0
+ATK_VERSION_MAJOR = 2.28
+ATK_VERSION = $(ATK_VERSION_MAJOR).1
 ATK_SOURCE = atk-$(ATK_VERSION).tar.xz
 ATK_SITE = http://ftp.gnome.org/pub/gnome/sources/atk/$(ATK_VERSION_MAJOR)
 ATK_LICENSE = LGPL-2.0+
Signature · 1 line
2.17.1
#26 lore raw

RFC PATCH v3 2/9 at-spi2-core: new package

In reply to Joseph Kogut
---
 DEVELOPERS                             |  1 +
 package/Config.in                      |  1 +
 package/at-spi2-core/Config.in         |  9 +++++
 package/at-spi2-core/at-spi2-core.hash |  4 +++
 package/at-spi2-core/at-spi2-core.mk   | 46 ++++++++++++++++++++++++++
 5 files changed, 61 insertions(+)
 create mode 100644 package/at-spi2-core/Config.in
 create mode 100644 package/at-spi2-core/at-spi2-core.hash
 create mode 100644 package/at-spi2-core/at-spi2-core.mk
DEVELOPERS +1 -0
index 1a8440759e..31c651b938 100644
@@ -955,6 +955,7 @@ F:	board/qemu/ppc64le-pseries/
 F:	configs/qemu_ppc64le_pseries_defconfig
 
 N:	Joseph Kogut <[email protected]>
+F:	package/at-spi2-core/
 F:	package/gconf/
 F:	package/libnss/
 F:	package/python-cython/
package/Config.in +1 -0
index 6a1606e568..692b422911 100644
@@ -1128,6 +1128,7 @@ endmenu
 
 menu "Graphics"
 	source "package/assimp/Config.in"
+	source "package/at-spi2-core/Config.in"
 	source "package/atk/Config.in"
 	source "package/atkmm/Config.in"
 	source "package/bullet/Config.in"
package/at-spi2-core/Config.in new file +9 -0
new file mode 100644
index 0000000000..9c60c51792
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_AT_SPI2_CORE
+	bool "at-spi2-core"
+	select BR2_PACKAGE_DBUS
+	select BR2_PACKAGE_XLIB_LIBXTST
+	help
+	  The At-Spi2 Core package is a part of the GNOME Accessibility Project.
+	  It provides a Service Provider Interface for the Assistive Technologies
+	  available on the GNOME platform and a library against which 
+	  applications can be linked.
package/at-spi2-core/at-spi2-core.hash new file +4 -0
new file mode 100644
index 0000000000..e792cc0e0a
@@ -0,0 +1,4 @@
+# locally calculated
+sha256 42a2487ab11ce43c288e73b2668ef8b1ab40a0e2b4f94e80fca04ad27b6f1c87  at-spi2-core-2.28.0.tar.xz
+sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b  COPYING
+
package/at-spi2-core/at-spi2-core.mk new file +46 -0

46 lines not on this page · raw message

Signature · 1 line
2.17.1
#27 lore raw

RFC PATCH v3 3/9 at-spi2-atk: new package

In reply to Joseph Kogut
---
 DEVELOPERS                           |  1 +
 package/Config.in                    |  1 +
 package/at-spi2-atk/Config.in        |  5 +++++
 package/at-spi2-atk/at-spi2-atk.hash |  4 ++++
 package/at-spi2-atk/at-spi2-atk.mk   | 17 +++++++++++++++++
 5 files changed, 28 insertions(+)
 create mode 100644 package/at-spi2-atk/Config.in
 create mode 100644 package/at-spi2-atk/at-spi2-atk.hash
 create mode 100644 package/at-spi2-atk/at-spi2-atk.mk
DEVELOPERS +1 -0
index 31c651b938..568f47d242 100644
@@ -955,6 +955,7 @@ F:	board/qemu/ppc64le-pseries/
 F:	configs/qemu_ppc64le_pseries_defconfig
 
 N:	Joseph Kogut <[email protected]>
+F:	package/at-spi2-atk/
 F:	package/at-spi2-core/
 F:	package/gconf/
 F:	package/libnss/
package/Config.in +1 -0
index 692b422911..c2e619b317 100644
@@ -1128,6 +1128,7 @@ endmenu
 
 menu "Graphics"
 	source "package/assimp/Config.in"
+	source "package/at-spi2-atk/Config.in"
 	source "package/at-spi2-core/Config.in"
 	source "package/atk/Config.in"
 	source "package/atkmm/Config.in"
package/at-spi2-atk/Config.in new file +5 -0
new file mode 100644
index 0000000000..b354c77ffe
@@ -0,0 +1,5 @@
+config BR2_PACKAGE_AT_SPI2_ATK
+	bool "at-spi2-atk"
+	select BR2_PACKAGE_AT_SPI2_CORE
+	help
+	  The At-Spi2 Atk package contains a library that bridges ATK to At-Spi2 D-Bus service.
package/at-spi2-atk/at-spi2-atk.hash new file +4 -0
new file mode 100644
index 0000000000..6f7d68ab87
@@ -0,0 +1,4 @@
+# locally calculated
+sha256 61891f0abae1689f6617a963105a3f1dcdab5970c4a36ded9c79a7a544b16a6e  at-spi2-atk-2.26.2.tar.xz
+sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b  COPYING
+
package/at-spi2-atk/at-spi2-atk.mk new file +17 -0
new file mode 100644
index 0000000000..a3bccbb0d9
@@ -0,0 +1,17 @@
+###############################################################################
+#
+# at-spi2-atk
+#
+###############################################################################
+
+AT_SPI2_ATK_VERSION_MAJOR = 2.26
+AT_SPI2_ATK_VERSION = $(AT_SPI2_ATK_VERSION_MAJOR).2
+AT_SPI2_ATK_SOURCE = at-spi2-atk-$(AT_SPI2_ATK_VERSION).tar.xz
+AT_SPI2_ATK_SITE =  http://ftp.gnome.org/pub/gnome/sources/at-spi2-atk/$(AT_SPI2_ATK_VERSION_MAJOR)
+ATK_LICENSE = LGPL-2.0+
+ATK_LICENSE_FILES = COPYING
+AT_SPI2_ATK_INSTALL_STAGING = YES
+AT_SPI2_ATK_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) LDFLAGS=-L$(STAGING_DIR)/usr/lib install
+AT_SPI2_ATK_DEPENDENCIES = atk at-spi2-core libglib2 host-pkgconf
+
+$(eval $(autotools-package))
Signature · 1 line
2.17.1
#28 lore raw

RFC PATCH v3 4/9 libgtk3: remove patch to disable atk-bridge support

In reply to Joseph Kogut
---
 package/libgtk3/0003-disable-atk-bridge.patch | 45 -------------------
 package/libgtk3/Config.in                     |  1 +
 package/libgtk3/libgtk3.mk                    |  3 +-
 3 files changed, 3 insertions(+), 46 deletions(-)
 delete mode 100644 package/libgtk3/0003-disable-atk-bridge.patch
package/libgtk3/0003-disable-atk-bridge.patch deleted +0 -45
deleted file mode 100644
index c92174f400..0000000000
@@ -1,45 +0,0 @@
-Remove atk-bridge support.
-
-atk-bridge doesn't seem useful for now in Buildroot and requires to
-add two new packages just for it: at-spi2-core and at-spi2-atk.
-
-Signed-off-by: Hadrien Boutteville <[email protected]>
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -1349,11 +1349,7 @@
- # Check for Accessibility Toolkit flags
- ########################################
-
--if test x$enable_x11_backend = xyes; then
--   ATK_PACKAGES="atk atk-bridge-2.0"
--else
--   ATK_PACKAGES="atk"
--fi
-+ATK_PACKAGES="atk"
-
- PKG_CHECK_MODULES(ATK, $ATK_PACKAGES)
-
---- a/gtk/a11y/gtkaccessibility.c
-+++ b/gtk/a11y/gtkaccessibility.c
-@@ -37,10 +37,6 @@
- #include <gtk/gtkcombobox.h>
- #include <gtk/gtkaccessible.h>
-
--#ifdef GDK_WINDOWING_X11
--#include <atk-bridge.h>
--#endif
--
- static gboolean gail_focus_watcher      (GSignalInvocationHint *ihint,
-                                          guint                  n_param_values,
-                                          const GValue          *param_values,
-@@ -987,9 +983,5 @@
-   _gtk_accessibility_override_atk_util ();
-   do_window_event_initialization ();
-
--#ifdef GDK_WINDOWING_X11
--  atk_bridge_adaptor_init (NULL, NULL);
--#endif
--
-   atk_misc_instance = g_object_new (GTK_TYPE_MISC_IMPL, NULL);
- }
package/libgtk3/Config.in +1 -0
index 12e64707bd..f14b9deaf8 100644
@@ -20,6 +20,7 @@ config BR2_PACKAGE_LIBGTK3
 	depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \
 		BR2_PACKAGE_HAS_LIBGL
 	select BR2_PACKAGE_ATK
+	select BR2_PACKAGE_AT_SPI2_ATK
 	select BR2_PACKAGE_CAIRO
 	select BR2_PACKAGE_CAIRO_PS
 	select BR2_PACKAGE_CAIRO_PDF
package/libgtk3/libgtk3.mk +2 -1
index 1b85d00aae..e3c3dc5237 100644
@@ -26,7 +26,8 @@ LIBGTK3_CONF_OPTS = \
 LIBGTK3_MAKE_OPTS = \
 	WAYLAND_PROTOCOLS_DATADIR=$(STAGING_DIR)/usr/share/wayland-protocols
 
-LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk libglib2 cairo pango gdk-pixbuf libepoxy
+LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk at-spi2-atk libglib2 \
+		       cairo pango gdk-pixbuf libepoxy
 
 ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y)
 LIBGTK3_DEPENDENCIES += fontconfig xlib_libX11 xlib_libXext xlib_libXrender xlib_libXi
Signature · 1 line
2.17.1
#29 lore raw

RFC PATCH v3 5/9 llvm: add config to build backend for host arch

In reply to Joseph Kogut
---
 package/llvm/Config.in | 9 +++++++++
 package/llvm/llvm.mk   | 5 +++++
 2 files changed, 14 insertions(+)
package/llvm/Config.in +9 -0
index 83e94660eb..e9c461b92f 100644
@@ -11,6 +11,15 @@ config BR2_PACKAGE_LLVM_TARGET_ARCH
 	default "ARM" if BR2_arm || BR2_armeb
 	default "X86" if BR2_i386 || BR2_x86_64
 
+config BR2_PACKAGE_LLVM_HOST_ARCH
+	string
+	default "AArch64" if BR2_HOSTARCH="aarch64"
+	default "X86" if BR2_HOSTARCH = "x86" || BR2_HOSTARCH = "x86_64"
+	default "ARM" if BR2_HOSTARCH = "arm"
+
+config BR2_PACKAGE_HOST_LLVM_ENABLE_HOST_ARCH
+	bool
+
 config BR2_PACKAGE_LLVM
 	bool "llvm"
 	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
package/llvm/llvm.mk +5 -0
index 3abf428989..04e99eb5b4 100644
@@ -59,6 +59,11 @@ ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y)
 LLVM_TARGETS_TO_BUILD += AMDGPU
 endif
 
+# Build backend for host architecture
+ifeq ($(BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH),y)
+LLVM_TARGETS_TO_BUILD += $(call qstrip,$(BR2_PACKAGE_LLVM_HOST_ARCH))
+endif
+
 # Use native llvm-tblgen from host-llvm (needed for cross-compilation)
 LLVM_CONF_OPTS += -DLLVM_TABLEGEN=$(HOST_DIR)/bin/llvm-tblgen
 
Signature · 1 line
2.17.1
#30 lore raw

RFC PATCH v3 5/9 llvm: add config to build backend for host arch

Hi Joseph,

Quoted 13 lines · Joseph Kogut
---
  package/llvm/Config.in | 9 +++++++++
  package/llvm/llvm.mk   | 5 +++++
  2 files changed, 14 insertions(+)
package/llvm/Config.in +0 -0
index 83e94660eb..e9c461b92f 100644
@@ -11,6 +11,15 @@ config BR2_PACKAGE_LLVM_TARGET_ARCH
  	default "ARM" if BR2_arm || BR2_armeb
  	default "X86" if BR2_i386 || BR2_x86_64

package/llvm/Config.in config BR2_PACKAGE_LLVM_TARGET_ARCH · line 22

Quoted 10 lines
package/llvm/Config.in +9 -0
 
+config BR2_PACKAGE_LLVM_HOST_ARCH
+	string
+	default "AArch64" if BR2_HOSTARCH="aarch64"
+	default "X86" if BR2_HOSTARCH = "x86" || BR2_HOSTARCH = "x86_64"
+	default "ARM" if BR2_HOSTARCH = "arm"
+
+config BR2_PACKAGE_HOST_LLVM_ENABLE_HOST_ARCH
+	bool
+

I think we could rename this option BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH and make it user-selectable:

config BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH
bool "Build backend for host architecture"

Quoted 8 lines
package/llvm/Config.in +0 -0
  config BR2_PACKAGE_LLVM
  	bool "llvm"
  	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
package/llvm/llvm.mk +0 -0
index 3abf428989..04e99eb5b4 100644

package/llvm/llvm.mk ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y) · line 66

Quoted 8 lines
package/llvm/llvm.mk +5 -0
@@ -59,6 +59,11 @@ ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y)
  LLVM_TARGETS_TO_BUILD += AMDGPU
  endif
 
+# Build backend for host architecture
+ifeq ($(BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH),y)
+LLVM_TARGETS_TO_BUILD += $(call qstrip,$(BR2_PACKAGE_LLVM_HOST_ARCH))
+endif
+

The only problem I see here is that we are going to build the backend for the host architecture also for the target, which is not necessary. Maybe we can use another variable like HOST_LLVM_TARGETS_TO_BUILD. This will break the compatibility of llvm-config for host and target when passing --targets-built but I don't think this should be a problem.

package/llvm/llvm.mk ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y) · line 69

Quoted 3 lines
package/llvm/llvm.mk +0 -0
  # Use native llvm-tblgen from host-llvm (needed for cross-compilation)
  LLVM_CONF_OPTS += -DLLVM_TABLEGEN=$(HOST_DIR)/bin/llvm-tblgen
 

Best regards,

Valentin

#31 lore raw

RFC PATCH v3 5/9 llvm: add config to build backend for host arch

Hi Valentin,

Quoted 22 lines · Valentin Korenblit

Hi Joseph,

Quoted 19 lines · Joseph Kogut
---
  package/llvm/Config.in | 9 +++++++++
  package/llvm/llvm.mk   | 5 +++++
  2 files changed, 14 insertions(+)
package/llvm/Config.in +4 -0
index 83e94660eb..e9c461b92f 100644
@@ -11,6 +11,15 @@ config BR2_PACKAGE_LLVM_TARGET_ARCH
        default "ARM" if BR2_arm || BR2_armeb
        default "X86" if BR2_i386 || BR2_x86_64
  +config BR2_PACKAGE_LLVM_HOST_ARCH
+       string
+       default "AArch64" if BR2_HOSTARCH="aarch64"
+       default "X86" if BR2_HOSTARCH = "x86" || BR2_HOSTARCH = "x86_64"
+       default "ARM" if BR2_HOSTARCH = "arm"
Quoted 9 lines

package/llvm/Config.in config BR2_PACKAGE_LLVM_TARGET_ARCH · line 22

Quoted 4 lines
package/llvm/Config.in +4 -0
+
+config BR2_PACKAGE_HOST_LLVM_ENABLE_HOST_ARCH
+       bool
+

I think we could rename this option BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH and make it user-selectable:

I agree, I'll make these changes.

Quoted 17 lines

config BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH
bool "Build backend for host architecture"

Quoted 14 lines
package/llvm/Config.in +0 -0
  config BR2_PACKAGE_LLVM
        bool "llvm"
        depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
package/llvm/llvm.mk +3 -0
index 3abf428989..04e99eb5b4 100644
@@ -59,6 +59,11 @@ ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y)
  LLVM_TARGETS_TO_BUILD += AMDGPU
  endif
  +# Build backend for host architecture
+ifeq ($(BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH),y)
+LLVM_TARGETS_TO_BUILD += $(call qstrip,$(BR2_PACKAGE_LLVM_HOST_ARCH))
+endif
Quoted 9 lines

package/llvm/llvm.mk ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y) · line 65

Quoted 1 line
package/llvm/llvm.mk +1 -0
+

The only problem I see here is that we are going to build the backend for the host architecture also for the target, which is not necessary. Maybe we can use another variable like HOST_LLVM_TARGETS_TO_BUILD. This will break the compatibility of llvm-config for host and target when passing --targets-built but I don't think this should be a problem.

I'll make these changes and give it a shot.

Quoted 9 lines

package/llvm/llvm.mk ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y) · line 69

Quoted 3 lines
package/llvm/llvm.mk +0 -0
  # Use native llvm-tblgen from host-llvm (needed for cross-compilation)
  LLVM_CONF_OPTS += -DLLVM_TABLEGEN=$(HOST_DIR)/bin/llvm-tblgen
 

Best regards,

Valentin

Thanks for the feedback!

Joseph

#32 lore raw

RFC PATCH v3 5/9 llvm: add config to build backend for host arch

In reply to Valentin Korenblit

Hi Valentin,

Quoted 3 lines · Valentin Korenblit

Hi Joseph,

On 10/06/2018 22:54, Joseph Kogut wrote:

<snip>

Quoted 4 lines
Quoted 4 lines

+# Build backend for host architecture

package/llvm/llvm.mk +3 -0
+ifeq ($(BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH),y)
+LLVM_TARGETS_TO_BUILD += $(call qstrip,$(BR2_PACKAGE_LLVM_HOST_ARCH))
+endif
Quoted 9 lines
Quoted 1 line

+

The only problem I see here is that we are going to build the backend for the host architecture also for the target, which is not necessary. Maybe we can use another variable like HOST_LLVM_TARGETS_TO_BUILD. This will break the compatibility of llvm-config for host and target when passing --targets-built but I don't think this should be a problem.

Looking at the Makefile again, it seems to me that HOST_LLVM_TARGETS_TO_BUILD would always be a superset of LLVM_TARGETS_TO_BUILD. What do you think about naming it HOST_LLVM_ADDTL_TARGETS_TO_BUILD, appending only additional architecture backends to be built for host-llvm, and and appending it to LLVM_TARGETS_TO_BUILD in HOST_LLVM_CONF_OPTS?

That way, if a backend is enabled for the target, it's also always enabled for the host, but the host package can enable additional backends that the target package will not build.

Quoted 9 lines
Quoted 3 lines
  # Use native llvm-tblgen from host-llvm (needed for cross-compilation)
  LLVM_CONF_OPTS += -DLLVM_TABLEGEN=$(HOST_DIR)/bin/llvm-tblgen

Best regards,

Valentin

#33 lore raw

RFC PATCH v3 5/9 llvm: add config to build backend for host arch

Hi Joseph,

Quoted 28 lines · Joseph Kogut

Hi Valentin,

Quoted 3 lines · Valentin Korenblit

Hi Joseph,

On 10/06/2018 22:54, Joseph Kogut wrote:

<snip>

Quoted 12 lines

package/llvm/llvm.mk ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y) · line 66

Quoted 5 lines

+# Build backend for host architecture

package/llvm/llvm.mk +4 -0
+ifeq ($(BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH),y)
+LLVM_TARGETS_TO_BUILD += $(call qstrip,$(BR2_PACKAGE_LLVM_HOST_ARCH))
+endif
+

The only problem I see here is that we are going to build the backend for the host architecture also for the target, which is not necessary. Maybe we can use another variable like HOST_LLVM_TARGETS_TO_BUILD. This will break the compatibility of llvm-config for host and target when passing --targets-built but I don't think this should be a problem.

Looking at the Makefile again, it seems to me that HOST_LLVM_TARGETS_TO_BUILD would always be a superset of LLVM_TARGETS_TO_BUILD. What do you think about naming it HOST_LLVM_ADDTL_TARGETS_TO_BUILD, appending only additional architecture backends to be built for host-llvm, and and appending it to LLVM_TARGETS_TO_BUILD in HOST_LLVM_CONF_OPTS?

Quoted 3 lines

That way, if a backend is enabled for the target, it's also always enabled for the host, but the host package can enable additional backends that the target package will not build.

Yes, actually I meant that. I would do something like this:

LLVM_TARGETS_TO_BUILD = $(LLVM_TARGET_ARCH)
HOST_LLVM_TARGETS_TO_BUILD = $(LLVM_TARGET_ARCH)

ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y)
LLVM_TARGETS_TO_BUILD += AMDGPU
HOST_LLVM_TARGETS_TO_BUILD += AMDGPU
endif

# Build backend for host architecture
ifeq ($(BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH),y) HOST_LLVM_TARGETS_TO_BUILD += $(call qstrip,$(BR2_PACKAGE_LLVM_HOST_ARCH)) endif

and finally:

HOST_LLVM_CONF_OPTS += -DLLVM_TARGETS_TO_BUILD="$(subst $(space),;,$(HOST_LLVM_TARGETS_TO_BUILD))"

And in Config.in:

config BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH
bool "Build backend for host architecture" help
Build code generator for host machine.

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
   # Use native llvm-tblgen from host-llvm (needed for cross-compilation)
   LLVM_CONF_OPTS += -DLLVM_TABLEGEN=$(HOST_DIR)/bin/llvm-tblgen

Best regards,

Valentin

#34 lore raw

RFC PATCH v3 6/9 llvm: bump to version 6.0.0

In reply to Joseph Kogut
---
 ...type-in-ORC-readMem-client-interface.patch | 37 -------------------
 package/llvm/llvm.hash                        |  2 +-
 package/llvm/llvm.mk                          |  2 +-
 3 files changed, 2 insertions(+), 39 deletions(-)
 delete mode 100644 package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch deleted +0 -37
deleted file mode 100644
index 0343b4c7e8..0000000000
@@ -1,37 +0,0 @@
-From 72ea6ea635d5b5a88f411710daf7e1d340d232d8 Mon Sep 17 00:00:00 2001
-From: Tilmann Scheller <[email protected]>
-Date: Thu, 1 Feb 2018 11:40:01 -0600
-Subject: [PATCH] Fix return type in ORC readMem() client interface.
-
-GCC 8.0.1 detects the type mismatch and causes the compilation to fail. Clang
-and earlier versions of GCC don't detect the issue.
-
-Fixes rhbz#1540620.
-
-This patch was taken from llvm5.0-5.0.1-7.fc28.src.rpm
-
-Link to bug: https://bugzilla.redhat.com/show_bug.cgi?id=1540620
-
-Signed-off-by: Valentin Korenblit <[email protected]>
----
- include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
-index da02250ba16..bed472e2e0e 100644
---- a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
-+++ b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
-@@ -713,8 +713,8 @@ private:
- 
-   uint32_t getTrampolineSize() const { return RemoteTrampolineSize; }
- 
--  Expected<std::vector<char>> readMem(char *Dst, JITTargetAddress Src,
--                                      uint64_t Size) {
-+  Expected<std::vector<uint8_t>> readMem(char *Dst, JITTargetAddress Src,
-+                                         uint64_t Size) {
-     // Check for an 'out-of-band' error, e.g. from an MM destructor.
-     if (ExistingError)
-       return std::move(ExistingError);
--- 
-2.14.3
-
package/llvm/llvm.hash +1 -1
index 14f8bb4488..93bdf2e20e 100644
@@ -1,3 +1,3 @@
 # locally calculated
-sha256 d522eda97835a9c75f0b88ddc81437e5edbb87dc2740686cb8647763855c2b3c  llvm-5.0.2.src.tar.xz
+sha256 1ff53c915b4e761ef400b803f07261ade637b0c269d99569f18040f3dcee4408  llvm-6.0.0.src.tar.xz
 sha256 abd4d8794808bacb1eb6924d49efafd9ab6eef88faaaeb5d3cfa13ee3670d672 LICENSE.TXT
package/llvm/llvm.mk +1 -1
index 04e99eb5b4..8638563b16 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-LLVM_VERSION = 5.0.2
+LLVM_VERSION = 6.0.0
 LLVM_SITE = http://llvm.org/releases/$(LLVM_VERSION)
 LLVM_SOURCE = llvm-$(LLVM_VERSION).src.tar.xz
 LLVM_LICENSE = NCSA
Signature · 1 line
2.17.1
#35 lore raw

RFC PATCH v3 7/9 clang: bump to version 6.0.0

In reply to Joseph Kogut
---
 package/clang/clang.hash | 2 +-
 package/clang/clang.mk   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
package/clang/clang.hash +1 -1
index bf54f9bb53..600c3cc9a4 100644
@@ -1,3 +1,3 @@
 # locally calculated
-sha256 fa9ce9724abdb68f166deea0af1f71ca0dfa9af8f7e1261f2cae63c280282800  cfe-5.0.2.src.tar.xz
+sha256 e07d6dd8d9ef196cfc8e8bb131cbd6a2ed0b1caf1715f9d05b0f0eeaddb6df32  cfe-6.0.0.src.tar.xz
 sha256 de4c79665f0f5688b0ace17cba6f8e0343925bb95e0949d66d47bbd4527310d6 LICENSE.TXT
package/clang/clang.mk +1 -1
index dc086c6eed..f828bac72a 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-CLANG_VERSION = 5.0.2
+CLANG_VERSION = 6.0.0
 CLANG_SITE = http://llvm.org/releases/$(CLANG_VERSION)
 CLANG_SOURCE = cfe-$(CLANG_VERSION).src.tar.xz
 CLANG_LICENSE = NCSA
Signature · 1 line
2.17.1
#36 lore raw

RFC PATCH v3 8/9 lld: new package

In reply to Joseph Kogut
---
 DEVELOPERS            |  1 +
 package/Config.in     |  1 +
 package/lld/Config.in |  3 +++
 package/lld/lld.hash  |  3 +++
 package/lld/lld.mk    | 19 +++++++++++++++++++
 5 files changed, 27 insertions(+)
 create mode 100644 package/lld/Config.in
 create mode 100644 package/lld/lld.hash
 create mode 100644 package/lld/lld.mk
DEVELOPERS +1 -0
index 568f47d242..ef6fd32fed 100644
@@ -959,6 +959,7 @@ F:	package/at-spi2-atk/
 F:	package/at-spi2-core/
 F:	package/gconf/
 F:	package/libnss/
+F:	package/lld/
 F:	package/python-cython/
 F:	package/python-raven/
 F:	package/python-schedule/
package/Config.in +1 -0
index c2e619b317..e4eb87b574 100644
@@ -1565,6 +1565,7 @@ menu "Other"
 	source "package/libuv/Config.in"
 	source "package/lightning/Config.in"
 	source "package/linux-pam/Config.in"
+	source "package/lld/Config.in"
 	source "package/llvm/Config.in"
 if BR2_PACKAGE_LINUX_PAM
 comment "linux-pam plugins"
package/lld/Config.in new file +3 -0
new file mode 100644
index 0000000000..0ad50fd608
@@ -0,0 +1,3 @@
+config BR2_PACKAGE_LLD
+	bool "lld"
+	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
package/lld/lld.hash new file +3 -0
new file mode 100644
index 0000000000..ce81c7baca
@@ -0,0 +1,3 @@
+# locally calculated
+sha256 6b8c4a833cf30230c0213d78dbac01af21387b298225de90ab56032ca79c0e0b  lld-6.0.0.src.tar.xz
+sha256 f0502d2d0e19748c534ee95ea486c092273303dbef76404c8b17dc8bf6ca441b  LICENSE.TXT
package/lld/lld.mk new file +19 -0
new file mode 100644
index 0000000000..cfaf3dbd29
@@ -0,0 +1,19 @@
+###############################################################################
+#
+# lld
+#
+###############################################################################
+
+LLD_VERSION = 6.0.0
+LLD_SITE = https://llvm.org/releases/$(LLD_VERSION)
+LLD_SOURCE = lld-$(LLD_VERSION).src.tar.xz
+LLD_LICENSE = NCSA
+LLD_LICENSE_FILES = LICENSE.TXT
+LLD_SUPPORTS_IN_SOURCE_BUILD = NO
+
+HOST_LLD_CONF_OPTS += -DCMAKE_BUILD_TYPE=Release
+LLD_CONF_OPTS += -DCMAKE_BUILD_TYPE=Release
+
+$(eval $(cmake-package))
+$(eval $(host-cmake-package))
+
Signature · 1 line
2.17.1
#37 lore raw

RFC PATCH v3 9/9 chromium: new package

In reply to Joseph Kogut
---
 DEVELOPERS                                    |   1 +
 package/Config.in                             |   1 +
 ...iler_cpu_abi-for-buildroot-toolchain.patch | 102 +++++++++++++
 package/chromium/Config.in                    |  44 ++++++
 package/chromium/chromium.hash                |   4 +
 package/chromium/chromium.mk                  | 137 ++++++++++++++++++
 package/chromium/toolchain/BUILD.gn           |  71 +++++++++
 7 files changed, 360 insertions(+)
 create mode 100644 package/chromium/0001-modify-compiler_cpu_abi-for-buildroot-toolchain.patch
 create mode 100644 package/chromium/Config.in
 create mode 100644 package/chromium/chromium.hash
 create mode 100644 package/chromium/chromium.mk
 create mode 100644 package/chromium/toolchain/BUILD.gn
DEVELOPERS +1 -0
index ef6fd32fed..1ad680509c 100644
@@ -957,6 +957,7 @@ F:	configs/qemu_ppc64le_pseries_defconfig
 N:	Joseph Kogut <[email protected]>
 F:	package/at-spi2-atk/
 F:	package/at-spi2-core/
+F:	package/chromium/
 F:	package/gconf/
 F:	package/libnss/
 F:	package/lld/
package/Config.in +1 -0
index e4eb87b574..80248a798c 100644
@@ -14,6 +14,7 @@ menu "Audio and video applications"
 	source "package/aumix/Config.in"
 	source "package/bellagio/Config.in"
 	source "package/bluez-alsa/Config.in"
+	source "package/chromium/Config.in"
 	source "package/dvblast/Config.in"
 	source "package/dvdauthor/Config.in"
 	source "package/dvdrw-tools/Config.in"
package/chromium/0001-modify-compiler_cpu_abi-for-buildroot-toolchain.patch new file +102 -0

102 lines not on this page · raw message

package/chromium/Config.in new file +44 -0

44 lines not on this page · raw message

package/chromium/chromium.hash new file +4 -0
new file mode 100644
index 0000000000..1af15cb23b
@@ -0,0 +1,4 @@
+# locally calculated
+sha256 f8b1e5319163e378027826b12cf256b97423bb90e10e2013469d96e03bc9db8a  chromium-67.0.3396.79.tar.xz
+sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308  LICENSE
+
package/chromium/chromium.mk new file +137 -0

137 lines not on this page · raw message

package/chromium/toolchain/BUILD.gn new file +71 -0

71 lines not on this page · raw message

Signature · 1 line
2.17.1
#38 lore raw

v4 cover chromium: new package

In reply to Joseph Kogut

Changes since v3:
- llvm: add separate TARGETS_TO_BUILD for host only
- chromium: add upstream patch to fix ARM build w/ glibc 2.27
- chromium: disabled v8 snapshotting until the toolchain can be figured out
- chromium: add missing dependencies when use_gtk3=false
- chromium: check-package fixes

Changes since v2:
- patch chromium toolchain config for buildroot

Changes since v1:
- fix some cross compilation issues
- chromium: bump version to 67.0.3396.79
- atk: bump version to 2.28.1
- lld: new package
- chromium: use lld for linking
- minor tweaks to variable naming and quotes

Joseph Kogut (9):
atk: bump to version 2.28.1
at-spi2-core: new package
at-spi2-atk: new package
libgtk3: remove patch to disable atk-bridge support
llvm: add config to build backend for host arch
llvm: bump to version 6.0.0
clang: bump to version 6.0.0
lld: new package
chromium: new package

 DEVELOPERS                                    |   4 +
 package/Config.in                             |   4 +
 package/at-spi2-atk/Config.in                 |   5 +
 package/at-spi2-atk/at-spi2-atk.hash          |   4 +
 package/at-spi2-atk/at-spi2-atk.mk            |  17 +++
 package/at-spi2-core/Config.in                |   9 ++
 package/at-spi2-core/at-spi2-core.hash        |   4 +
 package/at-spi2-core/at-spi2-core.mk          |  46 +++++++
 package/atk/atk.hash                          |   4 +-
 package/atk/atk.mk                            |   4 +-
 ...iler_cpu_abi-for-buildroot-toolchain.patch | 102 ++++++++++++++
 .../0002-Fix-arm-build-with-glibc-2.27.patch  |  28 ++++
 package/chromium/Config.in                    |  46 +++++++
 package/chromium/chromium.hash                |   3 +
 package/chromium/chromium.mk                  | 127 ++++++++++++++++++
 package/chromium/toolchain/BUILD.gn           |  71 ++++++++++
 package/clang/clang.hash                      |   2 +-
 package/clang/clang.mk                        |   2 +-
 package/libgtk3/0003-disable-atk-bridge.patch |  45 -------
 package/libgtk3/Config.in                     |   1 +
 package/libgtk3/libgtk3.mk                    |   3 +-
 package/lld/Config.in                         |   3 +
 package/lld/lld.hash                          |   3 +
 package/lld/lld.mk                            |  19 +++
 ...type-in-ORC-readMem-client-interface.patch |  37 -----
 package/llvm/Config.in                        |  11 ++
 package/llvm/llvm.hash                        |   2 +-
 package/llvm/llvm.mk                          |  11 +-
 28 files changed, 525 insertions(+), 92 deletions(-)
 create mode 100644 package/at-spi2-atk/Config.in
 create mode 100644 package/at-spi2-atk/at-spi2-atk.hash
 create mode 100644 package/at-spi2-atk/at-spi2-atk.mk
 create mode 100644 package/at-spi2-core/Config.in
 create mode 100644 package/at-spi2-core/at-spi2-core.hash
 create mode 100644 package/at-spi2-core/at-spi2-core.mk
 create mode 100644 package/chromium/0001-modify-compiler_cpu_abi-for-buildroot-toolchain.patch
 create mode 100644 package/chromium/0002-Fix-arm-build-with-glibc-2.27.patch
 create mode 100644 package/chromium/Config.in
 create mode 100644 package/chromium/chromium.hash
 create mode 100644 package/chromium/chromium.mk
 create mode 100644 package/chromium/toolchain/BUILD.gn
 delete mode 100644 package/libgtk3/0003-disable-atk-bridge.patch
 create mode 100644 package/lld/Config.in
 create mode 100644 package/lld/lld.hash
 create mode 100644 package/lld/lld.mk
 delete mode 100644 package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
Signature · 1 line
2.17.1
#39 lore raw

RFC PATCH v4 1/9 atk: bump to version 2.28.1

---
 package/atk/atk.hash | 4 ++--
 package/atk/atk.mk   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
package/atk/atk.hash +2 -2
index 12c98706dd..80aeecaee9 100644
@@ -1,2 +1,2 @@
-# From http://ftp.gnome.org/pub/gnome/sources/atk/2.22/atk-2.22.0.sha256sum
-sha256 d349f5ca4974c9c76a4963e5b254720523b0c78672cbc0e1a3475dbd9b3d44b6 atk-2.22.0.tar.xz
+# From http://ftp.gnome.org/pub/gnome/sources/atk/2.28/atk-2.28.1.sha256sum
+sha256 cd3a1ea6ecc268a2497f0cd018e970860de24a6d42086919d6bf6c8e8d53f4fc atk-2.28.1.tar.xz
package/atk/atk.mk +2 -2
index 88cf5fbc0a..64950bfd08 100644
@@ -4,8 +4,8 @@
 #
 ################################################################################
 
-ATK_VERSION_MAJOR = 2.22
-ATK_VERSION = $(ATK_VERSION_MAJOR).0
+ATK_VERSION_MAJOR = 2.28
+ATK_VERSION = $(ATK_VERSION_MAJOR).1
 ATK_SOURCE = atk-$(ATK_VERSION).tar.xz
 ATK_SITE = http://ftp.gnome.org/pub/gnome/sources/atk/$(ATK_VERSION_MAJOR)
 ATK_LICENSE = LGPL-2.0+
Signature · 1 line
2.17.1
#40 lore raw

RFC PATCH v4 1/9 atk: bump to version 2.28.1

Hello,

Quoted 5 lines · Joseph Kogut
---
 package/atk/atk.hash | 4 ++--
 package/atk/atk.mk   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#41 lore raw

RFC PATCH v4 2/9 at-spi2-core: new package

In reply to Joseph Kogut
---
 DEVELOPERS                             |  1 +
 package/Config.in                      |  1 +
 package/at-spi2-core/Config.in         |  9 +++++
 package/at-spi2-core/at-spi2-core.hash |  4 +++
 package/at-spi2-core/at-spi2-core.mk   | 46 ++++++++++++++++++++++++++
 5 files changed, 61 insertions(+)
 create mode 100644 package/at-spi2-core/Config.in
 create mode 100644 package/at-spi2-core/at-spi2-core.hash
 create mode 100644 package/at-spi2-core/at-spi2-core.mk
DEVELOPERS +1 -0
index 1a8440759e..31c651b938 100644
@@ -955,6 +955,7 @@ F:	board/qemu/ppc64le-pseries/
 F:	configs/qemu_ppc64le_pseries_defconfig
 
 N:	Joseph Kogut <[email protected]>
+F:	package/at-spi2-core/
 F:	package/gconf/
 F:	package/libnss/
 F:	package/python-cython/
package/Config.in +1 -0
index 6a1606e568..692b422911 100644
@@ -1128,6 +1128,7 @@ endmenu
 
 menu "Graphics"
 	source "package/assimp/Config.in"
+	source "package/at-spi2-core/Config.in"
 	source "package/atk/Config.in"
 	source "package/atkmm/Config.in"
 	source "package/bullet/Config.in"
package/at-spi2-core/Config.in new file +9 -0
new file mode 100644
index 0000000000..9c60c51792
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_AT_SPI2_CORE
+	bool "at-spi2-core"
+	select BR2_PACKAGE_DBUS
+	select BR2_PACKAGE_XLIB_LIBXTST
+	help
+	  The At-Spi2 Core package is a part of the GNOME Accessibility Project.
+	  It provides a Service Provider Interface for the Assistive Technologies
+	  available on the GNOME platform and a library against which 
+	  applications can be linked.
package/at-spi2-core/at-spi2-core.hash new file +4 -0
new file mode 100644
index 0000000000..e792cc0e0a
@@ -0,0 +1,4 @@
+# locally calculated
+sha256 42a2487ab11ce43c288e73b2668ef8b1ab40a0e2b4f94e80fca04ad27b6f1c87  at-spi2-core-2.28.0.tar.xz
+sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b  COPYING
+
package/at-spi2-core/at-spi2-core.mk new file +46 -0

46 lines not on this page · raw message

Signature · 1 line
2.17.1
#42 lore raw

RFC PATCH v4 2/9 at-spi2-core: new package

Hello,

package/at-spi2-core/Config.in line 4

Quoted 10 lines · Joseph Kogut
package/at-spi2-core/Config.in new file +4 -0
new file mode 100644
index 0000000000..9c60c51792
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_AT_SPI2_CORE
+	bool "at-spi2-core"
+	select BR2_PACKAGE_DBUS
+	select BR2_PACKAGE_XLIB_LIBXTST

Your package also uses libglib2 in its DEPENDENCIES, so you should have a "select BR2_PACKAGE_LIBGLIB2" here.

In addition, you should replicate the dependencies of the options you're selecting. So, something like:

depends on BR2_PACKAGE_XORG7 # xlib-libxtst depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2 depends on BR2_USE_MMU # dbus, libglib2 depends on BR2_USE_WCHAR # libglib2
select BR2_PACKAGE_DBUS
select BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_XLIB_LIBXTST

package/at-spi2-core/Config.in line 9

Quoted 5 lines
package/at-spi2-core/Config.in new file +5 -0
+	help
+	  The At-Spi2 Core package is a part of the GNOME Accessibility Project.
+	  It provides a Service Provider Interface for the Assistive Technologies
+	  available on the GNOME platform and a library against which 
+	  applications can be linked.

Wrap to 72 characters please, and add the upstream URL of the project. Essentially, please run your new packages through ./utils/check-package to spot such coding style issues.

You'll also need to add Config.in comments to help the user with the dependencies. See all other packages in Buildroot.

package/at-spi2-core/at-spi2-core.hash line 4

Quoted 10 lines
package/at-spi2-core/at-spi2-core.hash new file +4 -0
new file mode 100644
index 0000000000..e792cc0e0a
@@ -0,0 +1,4 @@
+# locally calculated
+sha256 42a2487ab11ce43c288e73b2668ef8b1ab40a0e2b4f94e80fca04ad27b6f1c87  at-spi2-core-2.28.0.tar.xz
+sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b  COPYING
+

Unneeded empty line.

Quoted 41 lines
package/at-spi2-core/at-spi2-core.mk new file +35 -0
new file mode 100644
index 0000000000..88800e2ce7
@@ -0,0 +1,46 @@
+################################################################################
+#
+# at-spi2-core
+#
+################################################################################
+
+AT_SPI2_CORE_VERSION_MAJOR = 2.28
+AT_SPI2_CORE_VERSION = $(AT_SPI2_CORE_VERSION_MAJOR).0
+AT_SPI2_CORE_SOURCE = at-spi2-core-$(AT_SPI2_CORE_VERSION).tar.xz
+AT_SPI2_CORE_SITE = http://ftp.gnome.org/pub/gnome/sources/at-spi2-core/$(AT_SPI2_CORE_VERSION_MAJOR)
+AT_SPI2_CORE_LICENSE = LGPL-2.0+
+AT_SPI2_CORE_LICENSE_FILES = COPYING
+AT_SPI2_CORE_INSTALL_STAGING = YES
+AT_SPI2_CORE_DEPENDENCIES = host-meson host-pkgconf dbus libglib2 xlib_libXtst
+
+AT_SPI2_CORE_MESON_OPTS += \
+	--prefix=/usr \
+	--libdir=/usr/lib \
+	--sysconfdir=/etc \
+	--buildtype=$(if $(BR2_ENABLE_DEBUG),debug,release) \
+	--cross-file=$(HOST_DIR)/etc/meson/cross-compilation.conf
+
+AT_SPI2_CORE_NINJA_OPTS = $(if $(VERBOSE),-v) -j$(PARALLEL_JOBS)
+
+define AT_SPI2_CORE_CONFIGURE_CMDS
+	rm -rf $(@D)/build
+	mkdir -p $(@D)/build
+	$(TARGET_MAKE_ENV) meson $(AT_SPI2_CORE_MESON_OPTS) $(@D) $(@D)/build
+endef
+
+define AT_SPI2_CORE_BUILD_CMDS
+	$(TARGET_MAKE_ENV) ninja $(AT_SPI2_CORE_NINJA_OPTS) -C $(@D)/build
+endef
+
+define AT_SPI2_CORE_INSTALL_STAGING_CMDS

package/at-spi2-core/at-spi2-core.mk line 45

Quoted 10 lines
package/at-spi2-core/at-spi2-core.mk new file +10 -0
+	$(TARGET_MAKE_ENV) DESTDIR=$(STAGING_DIR) \
+		ninja $(AT_SPI2_CORE_NINJA_OPTS) -C $(@D)/build install
+endef
+
+define AT_SPI2_CORE_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) \
+		ninja $(AT_SPI2_CORE_NINJA_OPTS) -C $(@D)/build install
+endef
+
+$(eval $(generic-package))

Please use meson-package instead, this will greatly simplify this package. See
http://nightly.buildroot.org/#_infrastructure_for_meson_based_packages
for details.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#43 lore raw

RFC PATCH v4 3/9 at-spi2-atk: new package

In reply to Joseph Kogut
---
 DEVELOPERS                           |  1 +
 package/Config.in                    |  1 +
 package/at-spi2-atk/Config.in        |  5 +++++
 package/at-spi2-atk/at-spi2-atk.hash |  4 ++++
 package/at-spi2-atk/at-spi2-atk.mk   | 17 +++++++++++++++++
 5 files changed, 28 insertions(+)
 create mode 100644 package/at-spi2-atk/Config.in
 create mode 100644 package/at-spi2-atk/at-spi2-atk.hash
 create mode 100644 package/at-spi2-atk/at-spi2-atk.mk
DEVELOPERS +1 -0
index 31c651b938..568f47d242 100644
@@ -955,6 +955,7 @@ F:	board/qemu/ppc64le-pseries/
 F:	configs/qemu_ppc64le_pseries_defconfig
 
 N:	Joseph Kogut <[email protected]>
+F:	package/at-spi2-atk/
 F:	package/at-spi2-core/
 F:	package/gconf/
 F:	package/libnss/
package/Config.in +1 -0
index 692b422911..c2e619b317 100644
@@ -1128,6 +1128,7 @@ endmenu
 
 menu "Graphics"
 	source "package/assimp/Config.in"
+	source "package/at-spi2-atk/Config.in"
 	source "package/at-spi2-core/Config.in"
 	source "package/atk/Config.in"
 	source "package/atkmm/Config.in"
package/at-spi2-atk/Config.in new file +5 -0
new file mode 100644
index 0000000000..b354c77ffe
@@ -0,0 +1,5 @@
+config BR2_PACKAGE_AT_SPI2_ATK
+	bool "at-spi2-atk"
+	select BR2_PACKAGE_AT_SPI2_CORE
+	help
+	  The At-Spi2 Atk package contains a library that bridges ATK to At-Spi2 D-Bus service.
package/at-spi2-atk/at-spi2-atk.hash new file +4 -0
new file mode 100644
index 0000000000..6f7d68ab87
@@ -0,0 +1,4 @@
+# locally calculated
+sha256 61891f0abae1689f6617a963105a3f1dcdab5970c4a36ded9c79a7a544b16a6e  at-spi2-atk-2.26.2.tar.xz
+sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b  COPYING
+
package/at-spi2-atk/at-spi2-atk.mk new file +17 -0
new file mode 100644
index 0000000000..a3bccbb0d9
@@ -0,0 +1,17 @@
+###############################################################################
+#
+# at-spi2-atk
+#
+###############################################################################
+
+AT_SPI2_ATK_VERSION_MAJOR = 2.26
+AT_SPI2_ATK_VERSION = $(AT_SPI2_ATK_VERSION_MAJOR).2
+AT_SPI2_ATK_SOURCE = at-spi2-atk-$(AT_SPI2_ATK_VERSION).tar.xz
+AT_SPI2_ATK_SITE =  http://ftp.gnome.org/pub/gnome/sources/at-spi2-atk/$(AT_SPI2_ATK_VERSION_MAJOR)
+ATK_LICENSE = LGPL-2.0+
+ATK_LICENSE_FILES = COPYING
+AT_SPI2_ATK_INSTALL_STAGING = YES
+AT_SPI2_ATK_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) LDFLAGS=-L$(STAGING_DIR)/usr/lib install
+AT_SPI2_ATK_DEPENDENCIES = atk at-spi2-core libglib2 host-pkgconf
+
+$(eval $(autotools-package))
Signature · 1 line
2.17.1
#44 lore raw

RFC PATCH v4 3/9 at-spi2-atk: new package

Hello Joseph,

Pretty much the same comments as for the at-spi2-core package. See below.

package/at-spi2-atk/Config.in line 3

Quoted 9 lines · Joseph Kogut
package/at-spi2-atk/Config.in new file +3 -0
new file mode 100644
index 0000000000..b354c77ffe
@@ -0,0 +1,5 @@
+config BR2_PACKAGE_AT_SPI2_ATK
+	bool "at-spi2-atk"
+	select BR2_PACKAGE_AT_SPI2_CORE

You also need to select BR2_PACKAGE_ATK and BR2_PACKAGE_LIBGLIB2 to be consistent with the dependencies variable in your .mk file. And of course, propagate the "depends on".

package/at-spi2-atk/Config.in line 5

Quoted 2 lines
package/at-spi2-atk/Config.in new file +2 -0
+	help
+	  The At-Spi2 Atk package contains a library that bridges ATK to At-Spi2 D-Bus service.

Line too long, missing upstream URL. Please run ./utils/check-package

package/at-spi2-atk/at-spi2-atk.hash line 4

Quoted 10 lines
package/at-spi2-atk/at-spi2-atk.hash new file +4 -0
new file mode 100644
index 0000000000..6f7d68ab87
@@ -0,0 +1,4 @@
+# locally calculated
+sha256 61891f0abae1689f6617a963105a3f1dcdab5970c4a36ded9c79a7a544b16a6e  at-spi2-atk-2.26.2.tar.xz
+sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b  COPYING
+

Line not needed.

Quoted 10 lines
package/at-spi2-atk/at-spi2-atk.mk new file +4 -0
new file mode 100644
index 0000000000..a3bccbb0d9
@@ -0,0 +1,17 @@
+###############################################################################
+#
+# at-spi2-atk
+#

package/at-spi2-atk/at-spi2-atk.mk line 14

Quoted 10 lines
package/at-spi2-atk/at-spi2-atk.mk new file +10 -0
+###############################################################################
+
+AT_SPI2_ATK_VERSION_MAJOR = 2.26
+AT_SPI2_ATK_VERSION = $(AT_SPI2_ATK_VERSION_MAJOR).2
+AT_SPI2_ATK_SOURCE = at-spi2-atk-$(AT_SPI2_ATK_VERSION).tar.xz
+AT_SPI2_ATK_SITE =  http://ftp.gnome.org/pub/gnome/sources/at-spi2-atk/$(AT_SPI2_ATK_VERSION_MAJOR)
+ATK_LICENSE = LGPL-2.0+
+ATK_LICENSE_FILES = COPYING
+AT_SPI2_ATK_INSTALL_STAGING = YES
+AT_SPI2_ATK_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) LDFLAGS=-L$(STAGING_DIR)/usr/lib install

Those LDFLAGS should not be needed, they are the default.

package/at-spi2-atk/at-spi2-atk.mk line 17

Quoted 3 lines
package/at-spi2-atk/at-spi2-atk.mk new file +3 -0
+AT_SPI2_ATK_DEPENDENCIES = atk at-spi2-core libglib2 host-pkgconf
+
+$(eval $(autotools-package))

Thanks!

Thomas Petazzoni

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#45 lore raw

RFC PATCH v4 4/9 libgtk3: remove patch to disable atk-bridge support

In reply to Joseph Kogut
---
 package/libgtk3/0003-disable-atk-bridge.patch | 45 -------------------
 package/libgtk3/Config.in                     |  1 +
 package/libgtk3/libgtk3.mk                    |  3 +-
 3 files changed, 3 insertions(+), 46 deletions(-)
 delete mode 100644 package/libgtk3/0003-disable-atk-bridge.patch
package/libgtk3/0003-disable-atk-bridge.patch deleted +0 -45
deleted file mode 100644
index c92174f400..0000000000
@@ -1,45 +0,0 @@
-Remove atk-bridge support.
-
-atk-bridge doesn't seem useful for now in Buildroot and requires to
-add two new packages just for it: at-spi2-core and at-spi2-atk.
-
-Signed-off-by: Hadrien Boutteville <[email protected]>
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -1349,11 +1349,7 @@
- # Check for Accessibility Toolkit flags
- ########################################
-
--if test x$enable_x11_backend = xyes; then
--   ATK_PACKAGES="atk atk-bridge-2.0"
--else
--   ATK_PACKAGES="atk"
--fi
-+ATK_PACKAGES="atk"
-
- PKG_CHECK_MODULES(ATK, $ATK_PACKAGES)
-
---- a/gtk/a11y/gtkaccessibility.c
-+++ b/gtk/a11y/gtkaccessibility.c
-@@ -37,10 +37,6 @@
- #include <gtk/gtkcombobox.h>
- #include <gtk/gtkaccessible.h>
-
--#ifdef GDK_WINDOWING_X11
--#include <atk-bridge.h>
--#endif
--
- static gboolean gail_focus_watcher      (GSignalInvocationHint *ihint,
-                                          guint                  n_param_values,
-                                          const GValue          *param_values,
-@@ -987,9 +983,5 @@
-   _gtk_accessibility_override_atk_util ();
-   do_window_event_initialization ();
-
--#ifdef GDK_WINDOWING_X11
--  atk_bridge_adaptor_init (NULL, NULL);
--#endif
--
-   atk_misc_instance = g_object_new (GTK_TYPE_MISC_IMPL, NULL);
- }
package/libgtk3/Config.in +1 -0
index 12e64707bd..f14b9deaf8 100644
@@ -20,6 +20,7 @@ config BR2_PACKAGE_LIBGTK3
 	depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \
 		BR2_PACKAGE_HAS_LIBGL
 	select BR2_PACKAGE_ATK
+	select BR2_PACKAGE_AT_SPI2_ATK
 	select BR2_PACKAGE_CAIRO
 	select BR2_PACKAGE_CAIRO_PS
 	select BR2_PACKAGE_CAIRO_PDF
package/libgtk3/libgtk3.mk +2 -1
index 1b85d00aae..e3c3dc5237 100644
@@ -26,7 +26,8 @@ LIBGTK3_CONF_OPTS = \
 LIBGTK3_MAKE_OPTS = \
 	WAYLAND_PROTOCOLS_DATADIR=$(STAGING_DIR)/usr/share/wayland-protocols
 
-LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk libglib2 cairo pango gdk-pixbuf libepoxy
+LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk at-spi2-atk libglib2 \
+		       cairo pango gdk-pixbuf libepoxy
 
 ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y)
 LIBGTK3_DEPENDENCIES += fontconfig xlib_libX11 xlib_libXext xlib_libXrender xlib_libXi
Signature · 1 line
2.17.1
#46 lore raw

RFC PATCH v4 4/9 libgtk3: remove patch to disable atk-bridge support

Hello,

Quoted 14 lines · Joseph Kogut
---
 package/libgtk3/0003-disable-atk-bridge.patch | 45 -------------------
 package/libgtk3/Config.in                     |  1 +
 package/libgtk3/libgtk3.mk                    |  3 +-
 3 files changed, 3 insertions(+), 46 deletions(-)
 delete mode 100644 package/libgtk3/0003-disable-atk-bridge.patch
package/libgtk3/0003-disable-atk-bridge.patch deleted +0 -0
deleted file mode 100644
index c92174f400..0000000000

package/libgtk3/0003-disable-atk-bridge.patch line 6

Quoted 6 lines
package/libgtk3/0003-disable-atk-bridge.patch deleted +0 -6
@@ -1,45 +0,0 @@
-Remove atk-bridge support.
-
-atk-bridge doesn't seem useful for now in Buildroot and requires to
-add two new packages just for it: at-spi2-core and at-spi2-atk.
-
-Signed-off-by: Hadrien Boutteville <[email protected]>

Could we instead keep them optional, by improving this patch ? We really try to keep dependencies to a reasonable level in Buildroot, so it would be nice if we could avoid making those mandatory dependencies of libgtk3.

Quoted 44 lines
package/libgtk3/0003-disable-atk-bridge.patch deleted +0 -39
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -1349,11 +1349,7 @@
- # Check for Accessibility Toolkit flags
- ########################################
-
--if test x$enable_x11_backend = xyes; then
--   ATK_PACKAGES="atk atk-bridge-2.0"
--else
--   ATK_PACKAGES="atk"
--fi
-+ATK_PACKAGES="atk"
-
- PKG_CHECK_MODULES(ATK, $ATK_PACKAGES)
-
---- a/gtk/a11y/gtkaccessibility.c
-+++ b/gtk/a11y/gtkaccessibility.c
-@@ -37,10 +37,6 @@
- #include <gtk/gtkcombobox.h>
- #include <gtk/gtkaccessible.h>
-
--#ifdef GDK_WINDOWING_X11
--#include <atk-bridge.h>
--#endif
--
- static gboolean gail_focus_watcher      (GSignalInvocationHint *ihint,
-                                          guint                  n_param_values,
-                                          const GValue          *param_values,
-@@ -987,9 +983,5 @@
-   _gtk_accessibility_override_atk_util ();
-   do_window_event_initialization ();
-
--#ifdef GDK_WINDOWING_X11
--  atk_bridge_adaptor_init (NULL, NULL);
--#endif
--
-   atk_misc_instance = g_object_new (GTK_TYPE_MISC_IMPL, NULL);
- }
package/libgtk3/Config.in +0 -0
index 12e64707bd..f14b9deaf8 100644

package/libgtk3/Config.in config BR2_PACKAGE_LIBGTK3 · line 23

Quoted 4 lines
package/libgtk3/Config.in +1 -0
@@ -20,6 +20,7 @@ config BR2_PACKAGE_LIBGTK3
 	depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \
 		BR2_PACKAGE_HAS_LIBGL
 	select BR2_PACKAGE_ATK
+	select BR2_PACKAGE_AT_SPI2_ATK

Be careful here: AT_SPI2_ATK is only available with X11, so you can't just select it like this.

Quoted 8 lines
package/libgtk3/Config.in +0 -0
 	select BR2_PACKAGE_CAIRO
 	select BR2_PACKAGE_CAIRO_PS
 	select BR2_PACKAGE_CAIRO_PDF
package/libgtk3/libgtk3.mk +0 -0
index 1b85d00aae..e3c3dc5237 100644

package/libgtk3/libgtk3.mk LIBGTK3_CONF_OPTS = \ · line 30

Quoted 6 lines
package/libgtk3/libgtk3.mk +2 -1
@@ -26,7 +26,8 @@ LIBGTK3_CONF_OPTS = \
 LIBGTK3_MAKE_OPTS = \
 	WAYLAND_PROTOCOLS_DATADIR=$(STAGING_DIR)/usr/share/wayland-protocols
 
-LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk libglib2 cairo pango gdk-pixbuf libepoxy
+LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk at-spi2-atk libglib2 \
+		       cairo pango gdk-pixbuf libepoxy

And its dependency should only be added..

package/libgtk3/libgtk3.mk LIBGTK3_CONF_OPTS = \ · line 33

Quoted 3 lines
package/libgtk3/libgtk3.mk +0 -0
 ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y)
 LIBGTK3_DEPENDENCIES += fontconfig xlib_libX11 xlib_libXext xlib_libXrender xlib_libXi

... when the X11 backend is used.

But again, it would be nicer if the dependency was kept optional.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#47 lore raw

RFC PATCH v4 4/9 libgtk3: remove patch to disable atk-bridge support

Quoted 21 lines · Thomas Petazzoni

Hello,

Quoted 17 lines · Joseph Kogut
---
 package/libgtk3/0003-disable-atk-bridge.patch | 45 -------------------
 package/libgtk3/Config.in                     |  1 +
 package/libgtk3/libgtk3.mk                    |  3 +-
 3 files changed, 3 insertions(+), 46 deletions(-)
 delete mode 100644 package/libgtk3/0003-disable-atk-bridge.patch
package/libgtk3/0003-disable-atk-bridge.patch deleted +0 -3
deleted file mode 100644
index c92174f400..0000000000
@@ -1,45 +0,0 @@
-Remove atk-bridge support.
-
-atk-bridge doesn't seem useful for now in Buildroot and requires to
Quoted 9 lines

package/libgtk3/0003-disable-atk-bridge.patch line 6

Quoted 3 lines
package/libgtk3/0003-disable-atk-bridge.patch deleted +0 -3
-add two new packages just for it: at-spi2-core and at-spi2-atk.
-
-Signed-off-by: Hadrien Boutteville <[email protected]>

Could we instead keep them optional, by improving this patch ? We really try to keep dependencies to a reasonable level in Buildroot, so it would be nice if we could avoid making those mandatory dependencies of libgtk3.

That's a great point, and it's something I hadn't thought of. Would you recommend selectively applying the patch to disable the dependency on atk-bridge, or some other approach?

Are there any examples of selectively applying patches that I can use as a reference?

Quoted 77 lines
Quoted 44 lines
package/libgtk3/0003-disable-atk-bridge.patch deleted +0 -39
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -1349,11 +1349,7 @@
- # Check for Accessibility Toolkit flags
- ########################################
-
--if test x$enable_x11_backend = xyes; then
--   ATK_PACKAGES="atk atk-bridge-2.0"
--else
--   ATK_PACKAGES="atk"
--fi
-+ATK_PACKAGES="atk"
-
- PKG_CHECK_MODULES(ATK, $ATK_PACKAGES)
-
---- a/gtk/a11y/gtkaccessibility.c
-+++ b/gtk/a11y/gtkaccessibility.c
-@@ -37,10 +37,6 @@
- #include <gtk/gtkcombobox.h>
- #include <gtk/gtkaccessible.h>
-
--#ifdef GDK_WINDOWING_X11
--#include <atk-bridge.h>
--#endif
--
- static gboolean gail_focus_watcher      (GSignalInvocationHint *ihint,
-                                          guint                  n_param_values,
-                                          const GValue          *param_values,
-@@ -987,9 +983,5 @@
-   _gtk_accessibility_override_atk_util ();
-   do_window_event_initialization ();
-
--#ifdef GDK_WINDOWING_X11
--  atk_bridge_adaptor_init (NULL, NULL);
--#endif
--
-   atk_misc_instance = g_object_new (GTK_TYPE_MISC_IMPL, NULL);
- }
package/libgtk3/Config.in +0 -0
index 12e64707bd..f14b9deaf8 100644

package/libgtk3/Config.in config BR2_PACKAGE_LIBGTK3 · line 23

Quoted 4 lines
package/libgtk3/Config.in +1 -0
@@ -20,6 +20,7 @@ config BR2_PACKAGE_LIBGTK3
      depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \
              BR2_PACKAGE_HAS_LIBGL
      select BR2_PACKAGE_ATK
+     select BR2_PACKAGE_AT_SPI2_ATK

Be careful here: AT_SPI2_ATK is only available with X11, so you can't just select it like this.

Quoted 8 lines
package/libgtk3/Config.in +0 -0
      select BR2_PACKAGE_CAIRO
      select BR2_PACKAGE_CAIRO_PS
      select BR2_PACKAGE_CAIRO_PDF
package/libgtk3/libgtk3.mk +0 -0
index 1b85d00aae..e3c3dc5237 100644

package/libgtk3/libgtk3.mk LIBGTK3_CONF_OPTS = \ · line 30

Quoted 6 lines
package/libgtk3/libgtk3.mk +2 -1
@@ -26,7 +26,8 @@ LIBGTK3_CONF_OPTS = \
 LIBGTK3_MAKE_OPTS = \
      WAYLAND_PROTOCOLS_DATADIR=$(STAGING_DIR)/usr/share/wayland-protocols
 
-LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk libglib2 cairo pango gdk-pixbuf libepoxy
+LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk at-spi2-atk libglib2 \
+                    cairo pango gdk-pixbuf libepoxy

And its dependency should only be added..

package/libgtk3/libgtk3.mk LIBGTK3_CONF_OPTS = \ · line 33

Quoted 3 lines
package/libgtk3/libgtk3.mk +0 -0
 ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y)
 LIBGTK3_DEPENDENCIES += fontconfig xlib_libX11 xlib_libXext xlib_libXrender xlib_libXi

... when the X11 backend is used.

But again, it would be nicer if the dependency was kept optional.

Quoted 7 lines

Best regards,

Thomas
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering
https://bootlin.com

Best,
Joseph

#48 lore raw

RFC PATCH v4 4/9 libgtk3: remove patch to disable atk-bridge support

Hello,

Quoted 6 lines · Joseph Kogut
Quoted 5 lines

Could we instead keep them optional, by improving this patch ? We really try to keep dependencies to a reasonable level in Buildroot, so it would be nice if we could avoid making those mandatory dependencies of libgtk3.

Quoted 6 lines

That's a great point, and it's something I hadn't thought of. Would you recommend selectively applying the patch to disable the dependency on atk-bridge, or some other approach?

Are there any examples of selectively applying patches that I can use as a reference?

We don't want to apply patches conditionally. Instead the patch *itself* should be smarter, and only use atk if available.

Quoted 6 lines
Quoted 6 lines
Quoted 6 lines

---- a/configure.ac
-+++ b/configure.ac
-@@ -1349,11 +1349,7 @@
- # Check for Accessibility Toolkit flags
- ########################################
-

Quoted 8 lines
Quoted 8 lines
Quoted 8 lines

--if test x$enable_x11_backend = xyes; then
-- ATK_PACKAGES="atk atk-bridge-2.0"
--else
-- ATK_PACKAGES="atk"
--fi
-+ATK_PACKAGES="atk"
-
- PKG_CHECK_MODULES(ATK, $ATK_PACKAGES)

A rough idea is something like this:

PKG_CHECK_MODULES(ATK, atk)

if test x$enable_x11_backend = xyes; then

	PKG_CHECK_MODULES(ATK_BRIDGE, atk-bridge-2.0,
			  AC_DEFINE([HAVE_ATK_BRIDGE], [1]); ATK_BRIDGE_PACKAGE=atk-bridge-2.0)

fi

In configure.ac, add $ATK_BRIDGE_PACKAGE in:

GTK_PRIVATE_PACKAGES="$ATK_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES epoxy >= epoxy_required_version"

And in gtkaccessibility.c, use #ifdef HAVE_ATK_BRIDGE instead of #ifdef GDK_WINDOWING_X11 to guard the include of <atk-bridge.h> and the call to atk_bridge_adaptor_init().

Of course, those are rough guidelines, you will probably need to adjust stuff to actually make it work :-)

Best regards,

Thomas Petazzoni

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#49 lore raw

RFC PATCH v4 5/9 llvm: add config to build backend for host arch

In reply to Joseph Kogut
---
 package/llvm/Config.in | 11 +++++++++++
 package/llvm/llvm.mk   |  9 ++++++++-
 2 files changed, 19 insertions(+), 1 deletion(-)
package/llvm/Config.in +11 -0
index 83e94660eb..dd07b23e07 100644
@@ -11,6 +11,12 @@ config BR2_PACKAGE_LLVM_TARGET_ARCH
 	default "ARM" if BR2_arm || BR2_armeb
 	default "X86" if BR2_i386 || BR2_x86_64
 
+config BR2_PACKAGE_LLVM_HOST_ARCH
+	string
+	default "AArch64" if BR2_HOSTARCH="aarch64"
+	default "X86" if BR2_HOSTARCH = "x86" || BR2_HOSTARCH = "x86_64"
+	default "ARM" if BR2_HOSTARCH = "arm"
+
 config BR2_PACKAGE_LLVM
 	bool "llvm"
 	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
@@ -27,6 +33,11 @@ config BR2_PACKAGE_LLVM
 
 	  http://llvm.org
 
+config BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH
+	bool "Build backend for host architecture"
+	help
+	  Build code generator for host machine.
+
 if BR2_PACKAGE_LLVM
 
 config BR2_PACKAGE_LLVM_AMDGPU
package/llvm/llvm.mk +8 -1
index 3abf428989..50cc74d299 100644
@@ -39,8 +39,9 @@ LLVM_CONF_OPTS += -DLLVM_BUILD_GLOBAL_ISEL=OFF
 LLVM_TARGET_ARCH = $(call qstrip,$(BR2_PACKAGE_LLVM_TARGET_ARCH))
 
 # Build backend for target architecture. This include backends like AMDGPU.
+HOST_LLVM_TARGETS_TO_BUILD = $(LLVM_TARGET_ARCH)
 LLVM_TARGETS_TO_BUILD = $(LLVM_TARGET_ARCH)
-HOST_LLVM_CONF_OPTS += -DLLVM_TARGETS_TO_BUILD="$(subst $(space),;,$(LLVM_TARGETS_TO_BUILD))"
+HOST_LLVM_CONF_OPTS += -DLLVM_TARGETS_TO_BUILD="$(subst $(space),;,$(HOST_LLVM_TARGETS_TO_BUILD))"
 LLVM_CONF_OPTS += -DLLVM_TARGETS_TO_BUILD="$(subst $(space),;,$(LLVM_TARGETS_TO_BUILD))"
 
 # LLVM target to use for native code generation. This is required for JIT generation.
@@ -56,9 +57,15 @@ LLVM_CONF_OPTS += -DLLVM_TARGET_ARCH=$(LLVM_TARGET_ARCH)
 # output only $(LLVM_TARGET_ARCH) if not, and mesa3d won't build as
 # it thinks AMDGPU backend is not installed on the target.
 ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y)
+HOST_LLVM_TARGETS_TO_BUILD += AMDGPU
 LLVM_TARGETS_TO_BUILD += AMDGPU
 endif
 
+# Build backend for host architecture
+ifeq ($(BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH),y)
+HOST_LLVM_TARGETS_TO_BUILD += $(call qstrip,$(BR2_PACKAGE_LLVM_HOST_ARCH))
+endif
+
 # Use native llvm-tblgen from host-llvm (needed for cross-compilation)
 LLVM_CONF_OPTS += -DLLVM_TABLEGEN=$(HOST_DIR)/bin/llvm-tblgen
 
Signature · 1 line
2.17.1
#50 lore raw

RFC PATCH v4 5/9 llvm: add config to build backend for host arch

Hello,

Quoted 24 lines · Joseph Kogut
---
 package/llvm/Config.in | 11 +++++++++++
 package/llvm/llvm.mk   |  9 ++++++++-
 2 files changed, 19 insertions(+), 1 deletion(-)
package/llvm/Config.in +6 -0
index 83e94660eb..dd07b23e07 100644
@@ -11,6 +11,12 @@ config BR2_PACKAGE_LLVM_TARGET_ARCH
 	default "ARM" if BR2_arm || BR2_armeb
 	default "X86" if BR2_i386 || BR2_x86_64
 
+config BR2_PACKAGE_LLVM_HOST_ARCH
+	string
+	default "AArch64" if BR2_HOSTARCH="aarch64"
+	default "X86" if BR2_HOSTARCH = "x86" || BR2_HOSTARCH = "x86_64"
+	default "ARM" if BR2_HOSTARCH = "arm"
+
 config BR2_PACKAGE_LLVM
 	bool "llvm"
 	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS

package/llvm/Config.in config BR2_PACKAGE_LLVM · line 39

Quoted 7 lines
package/llvm/Config.in +4 -0
@@ -27,6 +33,11 @@ config BR2_PACKAGE_LLVM
 
 	  http://llvm.org
 
+config BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH
+	bool "Build backend for host architecture"
+	help
+	  Build code generator for host machine.

So I'm going to disagree a bit with Valentin on this one. If I understand correctly, this option is going to change what host-llvm builds, not what the target llvm package builds. So it is a host package option, and as such is more logically named BR2_PACKAGE_HOST_LLVM_<something>.

*But* they should be moved to a new package/llvm/Config.in.host file, and BR2_PACKAGE_HOST_LLVM_ENABLE_HOST_ARCH should be made a blind option (i.e without prompt). This blind option will be selected by whichever package needs host architecture support in host-llvm.

Quoted 17 lines
package/llvm/llvm.mk +2 -1
index 3abf428989..50cc74d299 100644
@@ -39,8 +39,9 @@ LLVM_CONF_OPTS += -DLLVM_BUILD_GLOBAL_ISEL=OFF
 LLVM_TARGET_ARCH = $(call qstrip,$(BR2_PACKAGE_LLVM_TARGET_ARCH))
 
 # Build backend for target architecture. This include backends like AMDGPU.
+HOST_LLVM_TARGETS_TO_BUILD = $(LLVM_TARGET_ARCH)
 LLVM_TARGETS_TO_BUILD = $(LLVM_TARGET_ARCH)
-HOST_LLVM_CONF_OPTS += -DLLVM_TARGETS_TO_BUILD="$(subst $(space),;,$(LLVM_TARGETS_TO_BUILD))"
+HOST_LLVM_CONF_OPTS += -DLLVM_TARGETS_TO_BUILD="$(subst $(space),;,$(HOST_LLVM_TARGETS_TO_BUILD))"
 LLVM_CONF_OPTS += -DLLVM_TARGETS_TO_BUILD="$(subst $(space),;,$(LLVM_TARGETS_TO_BUILD))"
 
 # LLVM target to use for native code generation. This is required for JIT generation.
@@ -56,9 +57,15 @@ LLVM_CONF_OPTS += -DLLVM_TARGET_ARCH=$(LLVM_TARGET_ARCH)
 # output only $(LLVM_TARGET_ARCH) if not, and mesa3d won't build as

package/llvm/llvm.mk LLVM_CONF_OPTS += -DLLVM_TARGET_ARCH=$(LLVM_TARGET_ARCH) · line 67

Quoted 10 lines
package/llvm/llvm.mk +5 -0
 # it thinks AMDGPU backend is not installed on the target.
 ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y)
+HOST_LLVM_TARGETS_TO_BUILD += AMDGPU
 LLVM_TARGETS_TO_BUILD += AMDGPU
 endif
 
+# Build backend for host architecture
+ifeq ($(BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH),y)
+HOST_LLVM_TARGETS_TO_BUILD += $(call qstrip,$(BR2_PACKAGE_LLVM_HOST_ARCH))
+endif

I think this could be improved. Something like this:

LLVM_TARGETS_TO_BUILD = $(LLVM_TARGET_ARCH)

ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y)
LLVM_TARGETS_TO_BUILD += AMDGPU
endif

... potentially more additions to LLVM_TARGETS_TO_BUILD here ...

LLVM_CONF_OPTS += -DLLVM_TARGETS_TO_BUILD="$(subst $(space),;,$(LLVM_TARGETS_TO_BUILD))"

# host-llvm at least needs to build the same targets as the ones needed
# by the target llvm
HOST_LLVM_TARGETS_TO_BUILD = $(LLVM_TARGETS_TO_BUILD)

ifeq ($(BR2_PACKAGE_HOST_LLVM_ENABLE_HOST_ARCH),y) HOST_LLVM_TARGETS_TO_BUILD += $(call qstrip,$(BR2_PACKAGE_LLVM_HOST_ARCH)) endif

HOST_LLVM_CONF_OPTS += -DLLVM_TARGETS_TO_BUILD="$(subst $(space),;,$(HOST_LLVM_TARGETS_TO_BUILD))"

And there you go.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#51 lore raw

RFC PATCH v4 6/9 llvm: bump to version 6.0.0

In reply to Joseph Kogut
---
 ...type-in-ORC-readMem-client-interface.patch | 37 -------------------
 package/llvm/llvm.hash                        |  2 +-
 package/llvm/llvm.mk                          |  2 +-
 3 files changed, 2 insertions(+), 39 deletions(-)
 delete mode 100644 package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch deleted +0 -37
deleted file mode 100644
index 0343b4c7e8..0000000000
@@ -1,37 +0,0 @@
-From 72ea6ea635d5b5a88f411710daf7e1d340d232d8 Mon Sep 17 00:00:00 2001
-From: Tilmann Scheller <[email protected]>
-Date: Thu, 1 Feb 2018 11:40:01 -0600
-Subject: [PATCH] Fix return type in ORC readMem() client interface.
-
-GCC 8.0.1 detects the type mismatch and causes the compilation to fail. Clang
-and earlier versions of GCC don't detect the issue.
-
-Fixes rhbz#1540620.
-
-This patch was taken from llvm5.0-5.0.1-7.fc28.src.rpm
-
-Link to bug: https://bugzilla.redhat.com/show_bug.cgi?id=1540620
-
-Signed-off-by: Valentin Korenblit <[email protected]>
----
- include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
-index da02250ba16..bed472e2e0e 100644
---- a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
-+++ b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
-@@ -713,8 +713,8 @@ private:
- 
-   uint32_t getTrampolineSize() const { return RemoteTrampolineSize; }
- 
--  Expected<std::vector<char>> readMem(char *Dst, JITTargetAddress Src,
--                                      uint64_t Size) {
-+  Expected<std::vector<uint8_t>> readMem(char *Dst, JITTargetAddress Src,
-+                                         uint64_t Size) {
-     // Check for an 'out-of-band' error, e.g. from an MM destructor.
-     if (ExistingError)
-       return std::move(ExistingError);
--- 
-2.14.3
-
package/llvm/llvm.hash +1 -1
index 14f8bb4488..93bdf2e20e 100644
@@ -1,3 +1,3 @@
 # locally calculated
-sha256 d522eda97835a9c75f0b88ddc81437e5edbb87dc2740686cb8647763855c2b3c  llvm-5.0.2.src.tar.xz
+sha256 1ff53c915b4e761ef400b803f07261ade637b0c269d99569f18040f3dcee4408  llvm-6.0.0.src.tar.xz
 sha256 abd4d8794808bacb1eb6924d49efafd9ab6eef88faaaeb5d3cfa13ee3670d672 LICENSE.TXT
package/llvm/llvm.mk +1 -1
index 50cc74d299..ab79e76aa8 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-LLVM_VERSION = 5.0.2
+LLVM_VERSION = 6.0.0
 LLVM_SITE = http://llvm.org/releases/$(LLVM_VERSION)
 LLVM_SOURCE = llvm-$(LLVM_VERSION).src.tar.xz
 LLVM_LICENSE = NCSA
Signature · 1 line
2.17.1
#52 lore raw

RFC PATCH v4 6/9 llvm: bump to version 6.0.0

Hello,

Quoted 1 line · Joseph Kogut

You had a Tested-by from Valentin on this patch, which he gave on your first iteration. Otherwise, since the first iteration is no longer in patchwork, I don't know which patches already received Acked-by/Tested-by/Reviewed-by by other developers.

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#53 lore raw

RFC PATCH v4 6/9 llvm: bump to version 6.0.0

Hi Thomas,

Quoted 10 lines · Thomas Petazzoni

Hello,

Quoted 1 line · Joseph Kogut

You had a Tested-by from Valentin on this patch, which he gave on your first iteration. Otherwise, since the first iteration is no longer in patchwork, I don't know which patches already received Acked-by/Tested-by/Reviewed-by by other developers.

Ah, I could see how that would cause problems. Thanks for all your feedback!

Quoted 8 lines

Thanks,

Thomas
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering
https://bootlin.com

#54 lore raw

RFC PATCH v4 6/9 llvm: bump to version 6.0.0

In reply to Joseph Kogut

Hello,

Quoted 7 lines · Joseph Kogut
---
 ...type-in-ORC-readMem-client-interface.patch | 37 -------------------
 package/llvm/llvm.hash                        |  2 +-
 package/llvm/llvm.mk                          |  2 +-
 3 files changed, 2 insertions(+), 39 deletions(-)
 delete mode 100644 package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch

Applied to master, with the Tested-by from Valentin. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#55 lore raw

RFC PATCH v4 7/9 clang: bump to version 6.0.0

In reply to Joseph Kogut
---
 package/clang/clang.hash | 2 +-
 package/clang/clang.mk   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
package/clang/clang.hash +1 -1
index bf54f9bb53..600c3cc9a4 100644
@@ -1,3 +1,3 @@
 # locally calculated
-sha256 fa9ce9724abdb68f166deea0af1f71ca0dfa9af8f7e1261f2cae63c280282800  cfe-5.0.2.src.tar.xz
+sha256 e07d6dd8d9ef196cfc8e8bb131cbd6a2ed0b1caf1715f9d05b0f0eeaddb6df32  cfe-6.0.0.src.tar.xz
 sha256 de4c79665f0f5688b0ace17cba6f8e0343925bb95e0949d66d47bbd4527310d6 LICENSE.TXT
package/clang/clang.mk +1 -1
index dc086c6eed..f828bac72a 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-CLANG_VERSION = 5.0.2
+CLANG_VERSION = 6.0.0
 CLANG_SITE = http://llvm.org/releases/$(CLANG_VERSION)
 CLANG_SOURCE = cfe-$(CLANG_VERSION).src.tar.xz
 CLANG_LICENSE = NCSA
Signature · 1 line
2.17.1
#56 lore raw

RFC PATCH v4 7/9 clang: bump to version 6.0.0

Hello,

Quoted 5 lines · Joseph Kogut
---
 package/clang/clang.hash | 2 +-
 package/clang/clang.mk   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#57 lore raw

RFC PATCH v4 8/9 lld: new package

In reply to Joseph Kogut
---
 DEVELOPERS            |  1 +
 package/Config.in     |  1 +
 package/lld/Config.in |  3 +++
 package/lld/lld.hash  |  3 +++
 package/lld/lld.mk    | 19 +++++++++++++++++++
 5 files changed, 27 insertions(+)
 create mode 100644 package/lld/Config.in
 create mode 100644 package/lld/lld.hash
 create mode 100644 package/lld/lld.mk
DEVELOPERS +1 -0
index 568f47d242..ef6fd32fed 100644
@@ -959,6 +959,7 @@ F:	package/at-spi2-atk/
 F:	package/at-spi2-core/
 F:	package/gconf/
 F:	package/libnss/
+F:	package/lld/
 F:	package/python-cython/
 F:	package/python-raven/
 F:	package/python-schedule/
package/Config.in +1 -0
index c2e619b317..e4eb87b574 100644
@@ -1565,6 +1565,7 @@ menu "Other"
 	source "package/libuv/Config.in"
 	source "package/lightning/Config.in"
 	source "package/linux-pam/Config.in"
+	source "package/lld/Config.in"
 	source "package/llvm/Config.in"
 if BR2_PACKAGE_LINUX_PAM
 comment "linux-pam plugins"
package/lld/Config.in new file +3 -0
new file mode 100644
index 0000000000..0ad50fd608
@@ -0,0 +1,3 @@
+config BR2_PACKAGE_LLD
+	bool "lld"
+	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
package/lld/lld.hash new file +3 -0
new file mode 100644
index 0000000000..ce81c7baca
@@ -0,0 +1,3 @@
+# locally calculated
+sha256 6b8c4a833cf30230c0213d78dbac01af21387b298225de90ab56032ca79c0e0b  lld-6.0.0.src.tar.xz
+sha256 f0502d2d0e19748c534ee95ea486c092273303dbef76404c8b17dc8bf6ca441b  LICENSE.TXT
package/lld/lld.mk new file +19 -0
new file mode 100644
index 0000000000..cfaf3dbd29
@@ -0,0 +1,19 @@
+###############################################################################
+#
+# lld
+#
+###############################################################################
+
+LLD_VERSION = 6.0.0
+LLD_SITE = https://llvm.org/releases/$(LLD_VERSION)
+LLD_SOURCE = lld-$(LLD_VERSION).src.tar.xz
+LLD_LICENSE = NCSA
+LLD_LICENSE_FILES = LICENSE.TXT
+LLD_SUPPORTS_IN_SOURCE_BUILD = NO
+
+HOST_LLD_CONF_OPTS += -DCMAKE_BUILD_TYPE=Release
+LLD_CONF_OPTS += -DCMAKE_BUILD_TYPE=Release
+
+$(eval $(cmake-package))
+$(eval $(host-cmake-package))
+
Signature · 1 line
2.17.1
#58 lore raw

RFC PATCH v4 8/9 lld: new package

Hello,

package/lld/Config.in line 3

Quoted 9 lines · Joseph Kogut
package/lld/Config.in new file +3 -0
new file mode 100644
index 0000000000..0ad50fd608
@@ -0,0 +1,3 @@
+config BR2_PACKAGE_LLD
+	bool "lld"
+	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS

This is a bit short. No help text, no upstream URL.

Quoted 17 lines
package/lld/lld.hash new file +3 -0
new file mode 100644
index 0000000000..ce81c7baca
@@ -0,0 +1,3 @@
+# locally calculated
+sha256 6b8c4a833cf30230c0213d78dbac01af21387b298225de90ab56032ca79c0e0b  lld-6.0.0.src.tar.xz
+sha256 f0502d2d0e19748c534ee95ea486c092273303dbef76404c8b17dc8bf6ca441b  LICENSE.TXT
package/lld/lld.mk new file +2 -0
new file mode 100644
index 0000000000..cfaf3dbd29
@@ -0,0 +1,19 @@
+###############################################################################
+#

package/lld/lld.mk line 12

Quoted 10 lines
package/lld/lld.mk new file +10 -0
+# lld
+#
+###############################################################################
+
+LLD_VERSION = 6.0.0
+LLD_SITE = https://llvm.org/releases/$(LLD_VERSION)
+LLD_SOURCE = lld-$(LLD_VERSION).src.tar.xz
+LLD_LICENSE = NCSA
+LLD_LICENSE_FILES = LICENSE.TXT
+LLD_SUPPORTS_IN_SOURCE_BUILD = NO

No dependencies really ? Have you tried a configuration with *just* lld enabled ?

If I build just the lld package, I get:

CMake Error at CMakeLists.txt:11 (message):
llvm-config not found: specify LLVM_CONFIG_PATH

When you submit new packages, please make sure that they build in a configuration that has *just* this new package enabled and nothing else.

package/lld/lld.mk line 15

Quoted 2 lines
package/lld/lld.mk new file +2 -0
+HOST_LLD_CONF_OPTS += -DCMAKE_BUILD_TYPE=Release
+LLD_CONF_OPTS += -DCMAKE_BUILD_TYPE=Release

For target packages, CMAKE_BUILD_TYPE is already passed by the cmake-package infrastructure.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#59 lore raw

RFC PATCH v4 8/9 lld: new package

Hi Thomas,

Quoted 48 lines · Thomas Petazzoni

Hello,

package/lld/Config.in line 3

Quoted 9 lines · Joseph Kogut
package/lld/Config.in new file +3 -0
new file mode 100644
index 0000000000..0ad50fd608
@@ -0,0 +1,3 @@
+config BR2_PACKAGE_LLD
+     bool "lld"
+     depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS

This is a bit short. No help text, no upstream URL.

Quoted 17 lines
package/lld/lld.hash new file +3 -0
new file mode 100644
index 0000000000..ce81c7baca
@@ -0,0 +1,3 @@
+# locally calculated
+sha256 6b8c4a833cf30230c0213d78dbac01af21387b298225de90ab56032ca79c0e0b  lld-6.0.0.src.tar.xz
+sha256 f0502d2d0e19748c534ee95ea486c092273303dbef76404c8b17dc8bf6ca441b  LICENSE.TXT
package/lld/lld.mk new file +2 -0
new file mode 100644
index 0000000000..cfaf3dbd29
@@ -0,0 +1,19 @@
+###############################################################################
+#

package/lld/lld.mk line 12

Quoted 10 lines
package/lld/lld.mk new file +10 -0
+# lld
+#
+###############################################################################
+
+LLD_VERSION = 6.0.0
+LLD_SITE = https://llvm.org/releases/$(LLD_VERSION)
+LLD_SOURCE = lld-$(LLD_VERSION).src.tar.xz
+LLD_LICENSE = NCSA
+LLD_LICENSE_FILES = LICENSE.TXT
+LLD_SUPPORTS_IN_SOURCE_BUILD = NO

No dependencies really ? Have you tried a configuration with *just* lld enabled ?

Quoted 8 lines

If I build just the lld package, I get:

CMake Error at CMakeLists.txt:11 (message):
llvm-config not found: specify LLVM_CONFIG_PATH

When you submit new packages, please make sure that they build in a configuration that has *just* this new package enabled and nothing else.

My mistake, this one wasn't tested enough.

Quoted 6 lines

package/lld/lld.mk line 15

Quoted 2 lines
package/lld/lld.mk new file +2 -0
+HOST_LLD_CONF_OPTS += -DCMAKE_BUILD_TYPE=Release
+LLD_CONF_OPTS += -DCMAKE_BUILD_TYPE=Release

For target packages, CMAKE_BUILD_TYPE is already passed by the cmake-package infrastructure.

Thanks for the tip.

Quoted 7 lines

Best regards,

Thomas
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering
https://bootlin.com

After looking over this package again, I'm thinking it should be host only. Without a compiler on the target, a linker really doesn't have any utility.

Also, the LLVM project claims drop-in compatibility and much better performance with LLD compared to GNU ld/gold, so I'm curious how using LLD as the default linker would affect build times. I'll do some experiments.

Best,
Joseph

#60 lore raw

RFC PATCH v4 8/9 lld: new package

Hello,

Quoted 3 lines · Joseph Kogut

After looking over this package again, I'm thinking it should be host only. Without a compiler on the target, a linker really doesn't have any utility.

Indeed, I missed this obvious aspect when reviewing the package.

Quoted 4 lines

Also, the LLVM project claims drop-in compatibility and much better performance with LLD compared to GNU ld/gold, so I'm curious how using LLD as the default linker would affect build times. I'll do some experiments.

Having support for using llvm/clang/lld as a toolchain replacement was discussed, and it was on Valentin's radar. It would definitely be interesting to see some progress in this area, even though I believe it will be tricky as I'm sure a large number of packages will not build nicely with clang, the Linux kernel being an important package falling into this category.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#61 lore raw

RFC PATCH v4 8/9 lld: new package

On Thu, Jun 21, 2018 at 5:45 AM Thomas Petazzoni
<[email protected]> wrote:
<snip>

Quoted 7 lines

Having support for using llvm/clang/lld as a toolchain replacement was discussed, and it was on Valentin's radar. It would definitely be interesting to see some progress in this area, even though I believe it will be tricky as I'm sure a large number of packages will not build nicely with clang, the Linux kernel being an important package falling into this category.

I'm sure integrating Clang will be tricky. Even worse, GCC and Clang are very competitive nowadays, so the utility is dubious. Furthermore, packages such as Chromium that don't build with GCC can depend on Clang and setup their build process accordingly, without replacing the entire toolchain.

Even without substituting Clang for GCC, using LLVM's linker is still interesting. The LLVM guys claim drop-in GNU compatibility and 10-20x faster linking just by substituting LLD for GNU ld. Additionally, LLD supports identical code folding, which can generate smaller binaries.

However, I finished testing a few builds today with LLD and a config that includes LLVM, Qemu, libgtk3, X.org, and several other large packages (total build time was ~45 minutes) and the difference between GNU ld and LLD was ~6 seconds. There was no difference in generated binary size. Maybe my build wasn't actually using LLD, I'll have to do some more testing.

#62 lore raw

RFC PATCH v4 9/9 chromium: new package

In reply to Joseph Kogut
---
 DEVELOPERS                                    |   1 +
 package/Config.in                             |   1 +
 ...iler_cpu_abi-for-buildroot-toolchain.patch | 102 ++++++++++++++
 .../0002-Fix-arm-build-with-glibc-2.27.patch  |  28 ++++
 package/chromium/Config.in                    |  46 +++++++
 package/chromium/chromium.hash                |   3 +
 package/chromium/chromium.mk                  | 127 ++++++++++++++++++
 package/chromium/toolchain/BUILD.gn           |  71 ++++++++++
 8 files changed, 379 insertions(+)
 create mode 100644 package/chromium/0001-modify-compiler_cpu_abi-for-buildroot-toolchain.patch
 create mode 100644 package/chromium/0002-Fix-arm-build-with-glibc-2.27.patch
 create mode 100644 package/chromium/Config.in
 create mode 100644 package/chromium/chromium.hash
 create mode 100644 package/chromium/chromium.mk
 create mode 100644 package/chromium/toolchain/BUILD.gn
DEVELOPERS +1 -0
index ef6fd32fed..1ad680509c 100644
@@ -957,6 +957,7 @@ F:	configs/qemu_ppc64le_pseries_defconfig
 N:	Joseph Kogut <[email protected]>
 F:	package/at-spi2-atk/
 F:	package/at-spi2-core/
+F:	package/chromium/
 F:	package/gconf/
 F:	package/libnss/
 F:	package/lld/
package/Config.in +1 -0
index e4eb87b574..80248a798c 100644
@@ -14,6 +14,7 @@ menu "Audio and video applications"
 	source "package/aumix/Config.in"
 	source "package/bellagio/Config.in"
 	source "package/bluez-alsa/Config.in"
+	source "package/chromium/Config.in"
 	source "package/dvblast/Config.in"
 	source "package/dvdauthor/Config.in"
 	source "package/dvdrw-tools/Config.in"
package/chromium/0001-modify-compiler_cpu_abi-for-buildroot-toolchain.patch new file +102 -0

102 lines not on this page · raw message

package/chromium/0002-Fix-arm-build-with-glibc-2.27.patch new file +28 -0
new file mode 100644
index 0000000000..8aebbd06c8
@@ -0,0 +1,28 @@
+From aed4599c18586dfac46139a3c32011f804fdaef6 Mon Sep 17 00:00:00 2001
+From: Joseph Kogut <[email protected]>
+Date: Wed, 13 Jun 2018 13:59:24 -0700
+Subject: [PATCH] Fix arm build with glibc 2.27
+
+Upstream patch from: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1060155
+
+Signed-off-by: Joseph Kogut <[email protected]>
+---
+ third_party/crashpad/crashpad/compat/linux/sys/ptrace.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/third_party/crashpad/crashpad/compat/linux/sys/ptrace.h b/third_party/crashpad/crashpad/compat/linux/sys/ptrace.h
+index 73861576d..e5c95c7cc 100644
+--- a/third_party/crashpad/crashpad/compat/linux/sys/ptrace.h
++++ b/third_party/crashpad/crashpad/compat/linux/sys/ptrace.h
+@@ -34,7 +34,7 @@ static constexpr __ptrace_request PTRACE_GET_THREAD_AREA =
+ #endif  // !PTRACE_GET_THREAD_AREA && !PT_GET_THREAD_AREA && defined(__GLIBC__)
+ 
+ // https://sourceware.org/bugzilla/show_bug.cgi?id=22433
+-#if !defined(PTRACE_GETVFPREGS) && \
++#if !defined(PTRACE_GETVFPREGS) && !defined(PT_GETVFPREGS) && \
+     defined(__GLIBC__) && (defined(__arm__) || defined(__arm64__))
+ static constexpr __ptrace_request PTRACE_GETVFPREGS =
+     static_cast<__ptrace_request>(27);
+-- 
+2.17.1
+
package/chromium/Config.in new file +46 -0

46 lines not on this page · raw message

package/chromium/chromium.hash new file +3 -0
new file mode 100644
index 0000000000..4c39ac5c08
@@ -0,0 +1,3 @@
+# locally calculated
+sha256 f8b1e5319163e378027826b12cf256b97423bb90e10e2013469d96e03bc9db8a  chromium-67.0.3396.79.tar.xz
+sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308  LICENSE
package/chromium/chromium.mk new file +127 -0

127 lines not on this page · raw message

package/chromium/toolchain/BUILD.gn new file +71 -0

71 lines not on this page · raw message

Signature · 1 line
2.17.1
#63 lore raw

RFC PATCH v4 9/9 chromium: new package

Joseph,

Quoted 1 line · Joseph Kogut

[snip]

Quoted 42 lines
package/chromium/Config.in new file +36 -0
new file mode 100644
index 0000000000..aa71d0e2dd
@@ -0,0 +1,46 @@
+config BR2_PACKAGE_CHROMIUM
+       bool "chromium"
+       depends on BR2_PACKAGE_HAS_LIBGL
+       depends on BR2_PACKAGE_XORG7
+       depends on BR2_TOOLCHAIN_USES_GLIBC
+       depends on BR2_arm || BR2_aarch64 || BR2_i386 || BR2_x86_64
+       select BR2_PACKAGE_ALSA_LIB
+       select BR2_PACKAGE_CUPS
+       select BR2_PACKAGE_DBUS
+       select BR2_PACKAGE_FREETYPE
+       select BR2_PACKAGE_HARFBUZZ
+       select BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH
+       select BR2_PACKAGE_HOST_CLANG
+       select BR2_PACKAGE_HOST_LLD
+       select BR2_PACKAGE_HOST_NINJA
+       select BR2_PACKAGE_HOST_NODEJS
+       select BR2_PACKAGE_HOST_PYTHON
+       select BR2_PACKAGE_JPEG
+       select BR2_PACKAGE_LIBDRM
+       select BR2_PACKAGE_LIBERATION # runtime
+       select BR2_PACKAGE_LIBGLIB2
+       select BR2_PACKAGE_LIBGTK2 if !BR2_PACKAGE_LIBGTK3_X11
+       select BR2_PACKAGE_LIBKRB5
+       select BR2_PACKAGE_LIBNSS
+       select BR2_PACKAGE_LIBPNG
+       select BR2_PACKAGE_PCIUTILS
+       select BR2_PACKAGE_XLIB_LIBXCOMPOSITE
+       select BR2_PACKAGE_XLIB_LIBXCURSOR
+       select BR2_PACKAGE_XLIB_LIBXI if !BR2_PACKAGE_LIBGTK3_X11
+       select BR2_PACKAGE_XLIB_LIBXRANDR
+       select BR2_PACKAGE_XLIB_LIBXSCRNSAVER
+       select BR2_PACKAGE_XLIB_LIBXTST if !BR2_PACKAGE_LIBGTK3_X11
+
+config BR2_PACKAGE_CHROMIUM_TARGET_ARCH
+       string
+       default "arm" if BR2_arm

package/chromium/Config.in line 46

Quoted 10 lines
package/chromium/Config.in new file +10 -0
+       default "arm64" if BR2_aarch64
+       default "x86" if BR2_i386
+       default "x64" if BR2_x86_64
+       default "mips" if BR2_mips
+
+comment "chromium needs toolchain w/ Glibc"
+       depends on !BR2_TOOLCHAIN_USES_GLIBC
+
+comment "chromium depends on X.org and needs an OpenGL backend"
+       depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_HAS_LIBGL

I have not checked through all the threads to see if this already is reported.

Using master as of today and the v4 patchset adjusted for merges/bumps, I got the following failure. Is there a minimum GCC version that should be a dependency?
https://paste.ubuntu.com/p/dKsNXBms5x/

Matt

#64 lore raw

RFC PATCH v4 9/9 chromium: new package

Matt,

Quoted 62 lines · Matthew Weber

Joseph,

Quoted 1 line · Joseph Kogut

[snip]

Quoted 42 lines
package/chromium/Config.in new file +36 -0
new file mode 100644
index 0000000000..aa71d0e2dd
@@ -0,0 +1,46 @@
+config BR2_PACKAGE_CHROMIUM
+       bool "chromium"
+       depends on BR2_PACKAGE_HAS_LIBGL
+       depends on BR2_PACKAGE_XORG7
+       depends on BR2_TOOLCHAIN_USES_GLIBC
+       depends on BR2_arm || BR2_aarch64 || BR2_i386 || BR2_x86_64
+       select BR2_PACKAGE_ALSA_LIB
+       select BR2_PACKAGE_CUPS
+       select BR2_PACKAGE_DBUS
+       select BR2_PACKAGE_FREETYPE
+       select BR2_PACKAGE_HARFBUZZ
+       select BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH
+       select BR2_PACKAGE_HOST_CLANG
+       select BR2_PACKAGE_HOST_LLD
+       select BR2_PACKAGE_HOST_NINJA
+       select BR2_PACKAGE_HOST_NODEJS
+       select BR2_PACKAGE_HOST_PYTHON
+       select BR2_PACKAGE_JPEG
+       select BR2_PACKAGE_LIBDRM
+       select BR2_PACKAGE_LIBERATION # runtime
+       select BR2_PACKAGE_LIBGLIB2
+       select BR2_PACKAGE_LIBGTK2 if !BR2_PACKAGE_LIBGTK3_X11
+       select BR2_PACKAGE_LIBKRB5
+       select BR2_PACKAGE_LIBNSS
+       select BR2_PACKAGE_LIBPNG
+       select BR2_PACKAGE_PCIUTILS
+       select BR2_PACKAGE_XLIB_LIBXCOMPOSITE
+       select BR2_PACKAGE_XLIB_LIBXCURSOR
+       select BR2_PACKAGE_XLIB_LIBXI if !BR2_PACKAGE_LIBGTK3_X11
+       select BR2_PACKAGE_XLIB_LIBXRANDR
+       select BR2_PACKAGE_XLIB_LIBXSCRNSAVER
+       select BR2_PACKAGE_XLIB_LIBXTST if !BR2_PACKAGE_LIBGTK3_X11
+
+config BR2_PACKAGE_CHROMIUM_TARGET_ARCH
+       string
+       default "arm" if BR2_arm

package/chromium/Config.in line 46

Quoted 10 lines
package/chromium/Config.in new file +10 -0
+       default "arm64" if BR2_aarch64
+       default "x86" if BR2_i386
+       default "x64" if BR2_x86_64
+       default "mips" if BR2_mips
+
+comment "chromium needs toolchain w/ Glibc"
+       depends on !BR2_TOOLCHAIN_USES_GLIBC
+
+comment "chromium depends on X.org and needs an OpenGL backend"
+       depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_HAS_LIBGL

I have not checked through all the threads to see if this already is reported.

Quoted 6 lines

Using master as of today and the v4 patchset adjusted for merges/bumps, I got the following failure. Is there a minimum GCC version that should be a dependency?
https://paste.ubuntu.com/p/dKsNXBms5x/

Matt

Doing some cursory searching, it seems the c++14 standard is supported in GCC 4.9.0 and later. Before that, it was called c++1y.

More information here:
https://stackoverflow.com/questions/31965413/compile-c14-code-with-g

I'll go ahead and add that as a dependency for the next version.

Thanks for testing!
Joseph

#65 lore raw

RFC PATCH v4 9/9 chromium: new package

Joseph,

Quoted 73 lines · Joseph Kogut

Matt,

Quoted 62 lines · Matthew Weber

Joseph,

Quoted 1 line · Joseph Kogut

[snip]

Quoted 42 lines
package/chromium/Config.in new file +36 -0
new file mode 100644
index 0000000000..aa71d0e2dd
@@ -0,0 +1,46 @@
+config BR2_PACKAGE_CHROMIUM
+       bool "chromium"
+       depends on BR2_PACKAGE_HAS_LIBGL
+       depends on BR2_PACKAGE_XORG7
+       depends on BR2_TOOLCHAIN_USES_GLIBC
+       depends on BR2_arm || BR2_aarch64 || BR2_i386 || BR2_x86_64
+       select BR2_PACKAGE_ALSA_LIB
+       select BR2_PACKAGE_CUPS
+       select BR2_PACKAGE_DBUS
+       select BR2_PACKAGE_FREETYPE
+       select BR2_PACKAGE_HARFBUZZ
+       select BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH
+       select BR2_PACKAGE_HOST_CLANG
+       select BR2_PACKAGE_HOST_LLD
+       select BR2_PACKAGE_HOST_NINJA
+       select BR2_PACKAGE_HOST_NODEJS
+       select BR2_PACKAGE_HOST_PYTHON
+       select BR2_PACKAGE_JPEG
+       select BR2_PACKAGE_LIBDRM
+       select BR2_PACKAGE_LIBERATION # runtime
+       select BR2_PACKAGE_LIBGLIB2
+       select BR2_PACKAGE_LIBGTK2 if !BR2_PACKAGE_LIBGTK3_X11
+       select BR2_PACKAGE_LIBKRB5
+       select BR2_PACKAGE_LIBNSS
+       select BR2_PACKAGE_LIBPNG
+       select BR2_PACKAGE_PCIUTILS
+       select BR2_PACKAGE_XLIB_LIBXCOMPOSITE
+       select BR2_PACKAGE_XLIB_LIBXCURSOR
+       select BR2_PACKAGE_XLIB_LIBXI if !BR2_PACKAGE_LIBGTK3_X11
+       select BR2_PACKAGE_XLIB_LIBXRANDR
+       select BR2_PACKAGE_XLIB_LIBXSCRNSAVER
+       select BR2_PACKAGE_XLIB_LIBXTST if !BR2_PACKAGE_LIBGTK3_X11
+
+config BR2_PACKAGE_CHROMIUM_TARGET_ARCH
+       string
+       default "arm" if BR2_arm

package/chromium/Config.in line 46

Quoted 10 lines
package/chromium/Config.in new file +10 -0
+       default "arm64" if BR2_aarch64
+       default "x86" if BR2_i386
+       default "x64" if BR2_x86_64
+       default "mips" if BR2_mips
+
+comment "chromium needs toolchain w/ Glibc"
+       depends on !BR2_TOOLCHAIN_USES_GLIBC
+
+comment "chromium depends on X.org and needs an OpenGL backend"
+       depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_HAS_LIBGL

I have not checked through all the threads to see if this already is reported.

Quoted 6 lines

Using master as of today and the v4 patchset adjusted for merges/bumps, I got the following failure. Is there a minimum GCC version that should be a dependency?
https://paste.ubuntu.com/p/dKsNXBms5x/

Matt

Quoted 8 lines

Doing some cursory searching, it seems the c++14 standard is supported in GCC 4.9.0 and later. Before that, it was called c++1y.

More information here:
https://stackoverflow.com/questions/31965413/compile-c14-code-with-g

I'll go ahead and add that as a dependency for the next version.

Ah, ic my RHEL7.4 is GCC4.8.5 and this must have been a host tool being built.

Matt