All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [RFC PATCH 0/8] chromium: new package
@ 2018-06-08 22:59 Joseph Kogut
  2018-06-08 22:59 ` [Buildroot] [RFC PATCH 1/8] atk: bump to version 2.25.2 Joseph Kogut
                   ` (8 more replies)
  0 siblings, 9 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-08 22:59 UTC (permalink / raw)
  To: buildroot

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

-- 
2.17.1

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH 1/8] atk: bump to version 2.25.2
  2018-06-08 22:59 [Buildroot] [RFC PATCH 0/8] chromium: new package Joseph Kogut
@ 2018-06-08 22:59 ` Joseph Kogut
  2018-06-09 17:36   ` Thomas Petazzoni
  2018-06-08 22:59 ` [Buildroot] [RFC PATCH 2/8] at-spi2-core: new package Joseph Kogut
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 66+ messages in thread
From: Joseph Kogut @ 2018-06-08 22:59 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 package/atk/atk.hash | 4 ++--
 package/atk/atk.mk   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/package/atk/atk.hash b/package/atk/atk.hash
index 12c98706dd..d6c61a22f4 100644
--- a/package/atk/atk.hash
+++ b/package/atk/atk.hash
@@ -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
diff --git a/package/atk/atk.mk b/package/atk/atk.mk
index 88cf5fbc0a..a50cb9f0ee 100644
--- a/package/atk/atk.mk
+++ b/package/atk/atk.mk
@@ -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+
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH 2/8] at-spi2-core: new package
  2018-06-08 22:59 [Buildroot] [RFC PATCH 0/8] chromium: new package Joseph Kogut
  2018-06-08 22:59 ` [Buildroot] [RFC PATCH 1/8] atk: bump to version 2.25.2 Joseph Kogut
@ 2018-06-08 22:59 ` Joseph Kogut
  2018-06-08 22:59 ` [Buildroot] [RFC PATCH 3/8] at-spi2-atk: " Joseph Kogut
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-08 22:59 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 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

diff --git a/DEVELOPERS b/DEVELOPERS
index 1a8440759e..31c651b938 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -955,6 +955,7 @@ F:	board/qemu/ppc64le-pseries/
 F:	configs/qemu_ppc64le_pseries_defconfig
 
 N:	Joseph Kogut <joseph.kogut@gmail.com>
+F:	package/at-spi2-core/
 F:	package/gconf/
 F:	package/libnss/
 F:	package/python-cython/
diff --git a/package/Config.in b/package/Config.in
index 6a1606e568..692b422911 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/at-spi2-core/Config.in b/package/at-spi2-core/Config.in
new file mode 100644
index 0000000000..9c60c51792
--- /dev/null
+++ b/package/at-spi2-core/Config.in
@@ -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.
diff --git a/package/at-spi2-core/at-spi2-core.hash b/package/at-spi2-core/at-spi2-core.hash
new file mode 100644
index 0000000000..e792cc0e0a
--- /dev/null
+++ b/package/at-spi2-core/at-spi2-core.hash
@@ -0,0 +1,4 @@
+# locally calculated
+sha256 42a2487ab11ce43c288e73b2668ef8b1ab40a0e2b4f94e80fca04ad27b6f1c87  at-spi2-core-2.28.0.tar.xz
+sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b  COPYING
+
diff --git a/package/at-spi2-core/at-spi2-core.mk b/package/at-spi2-core/at-spi2-core.mk
new file mode 100644
index 0000000000..88800e2ce7
--- /dev/null
+++ b/package/at-spi2-core/at-spi2-core.mk
@@ -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
+	$(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))
+
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH 3/8] at-spi2-atk: new package
  2018-06-08 22:59 [Buildroot] [RFC PATCH 0/8] chromium: new package Joseph Kogut
  2018-06-08 22:59 ` [Buildroot] [RFC PATCH 1/8] atk: bump to version 2.25.2 Joseph Kogut
  2018-06-08 22:59 ` [Buildroot] [RFC PATCH 2/8] at-spi2-core: new package Joseph Kogut
@ 2018-06-08 22:59 ` Joseph Kogut
  2018-06-08 22:59 ` [Buildroot] [RFC PATCH 4/8] libgtk3: remove patch to disable atk-bridge support Joseph Kogut
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-08 22:59 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 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

diff --git a/DEVELOPERS b/DEVELOPERS
index 31c651b938..568f47d242 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -955,6 +955,7 @@ F:	board/qemu/ppc64le-pseries/
 F:	configs/qemu_ppc64le_pseries_defconfig
 
 N:	Joseph Kogut <joseph.kogut@gmail.com>
+F:	package/at-spi2-atk/
 F:	package/at-spi2-core/
 F:	package/gconf/
 F:	package/libnss/
diff --git a/package/Config.in b/package/Config.in
index 692b422911..c2e619b317 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/at-spi2-atk/Config.in b/package/at-spi2-atk/Config.in
new file mode 100644
index 0000000000..b354c77ffe
--- /dev/null
+++ b/package/at-spi2-atk/Config.in
@@ -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.
diff --git a/package/at-spi2-atk/at-spi2-atk.hash b/package/at-spi2-atk/at-spi2-atk.hash
new file mode 100644
index 0000000000..6f7d68ab87
--- /dev/null
+++ b/package/at-spi2-atk/at-spi2-atk.hash
@@ -0,0 +1,4 @@
+# locally calculated
+sha256 61891f0abae1689f6617a963105a3f1dcdab5970c4a36ded9c79a7a544b16a6e  at-spi2-atk-2.26.2.tar.xz
+sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b  COPYING
+
diff --git a/package/at-spi2-atk/at-spi2-atk.mk b/package/at-spi2-atk/at-spi2-atk.mk
new file mode 100644
index 0000000000..a3bccbb0d9
--- /dev/null
+++ b/package/at-spi2-atk/at-spi2-atk.mk
@@ -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))
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH 4/8] libgtk3: remove patch to disable atk-bridge support
  2018-06-08 22:59 [Buildroot] [RFC PATCH 0/8] chromium: new package Joseph Kogut
                   ` (2 preceding siblings ...)
  2018-06-08 22:59 ` [Buildroot] [RFC PATCH 3/8] at-spi2-atk: " Joseph Kogut
@ 2018-06-08 22:59 ` Joseph Kogut
  2018-06-08 22:59 ` [Buildroot] [RFC PATCH 5/8] llvm: add config to build backend for host arch Joseph Kogut
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-08 22:59 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 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

diff --git a/package/libgtk3/0003-disable-atk-bridge.patch b/package/libgtk3/0003-disable-atk-bridge.patch
deleted file mode 100644
index c92174f400..0000000000
--- a/package/libgtk3/0003-disable-atk-bridge.patch
+++ /dev/null
@@ -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 <hadrien.boutteville@gmail.com>
-
---- 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);
- }
diff --git a/package/libgtk3/Config.in b/package/libgtk3/Config.in
index 12e64707bd..f14b9deaf8 100644
--- a/package/libgtk3/Config.in
+++ b/package/libgtk3/Config.in
@@ -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
diff --git a/package/libgtk3/libgtk3.mk b/package/libgtk3/libgtk3.mk
index 1b85d00aae..e3c3dc5237 100644
--- a/package/libgtk3/libgtk3.mk
+++ b/package/libgtk3/libgtk3.mk
@@ -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
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH 5/8] llvm: add config to build backend for host arch
  2018-06-08 22:59 [Buildroot] [RFC PATCH 0/8] chromium: new package Joseph Kogut
                   ` (3 preceding siblings ...)
  2018-06-08 22:59 ` [Buildroot] [RFC PATCH 4/8] libgtk3: remove patch to disable atk-bridge support Joseph Kogut
@ 2018-06-08 22:59 ` Joseph Kogut
  2018-06-08 22:59 ` [Buildroot] [RFC PATCH 6/8] llvm: bump to version 6.0.0 Joseph Kogut
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-08 22:59 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 package/llvm/Config.in | 9 +++++++++
 package/llvm/llvm.mk   | 5 +++++
 2 files changed, 14 insertions(+)

diff --git a/package/llvm/Config.in b/package/llvm/Config.in
index 83e94660eb..5262cab49d 100644
--- a/package/llvm/Config.in
+++ b/package/llvm/Config.in
@@ -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
diff --git a/package/llvm/llvm.mk b/package/llvm/llvm.mk
index 3abf428989..06f95c96f8 100644
--- a/package/llvm/llvm.mk
+++ b/package/llvm/llvm.mk
@@ -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
 
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH 6/8] llvm: bump to version 6.0.0
  2018-06-08 22:59 [Buildroot] [RFC PATCH 0/8] chromium: new package Joseph Kogut
                   ` (4 preceding siblings ...)
  2018-06-08 22:59 ` [Buildroot] [RFC PATCH 5/8] llvm: add config to build backend for host arch Joseph Kogut
@ 2018-06-08 22:59 ` Joseph Kogut
  2018-06-12 14:34   ` Valentin Korenblit
  2018-06-08 22:59 ` [Buildroot] [RFC PATCH 7/8] clang: " Joseph Kogut
                   ` (2 subsequent siblings)
  8 siblings, 1 reply; 66+ messages in thread
From: Joseph Kogut @ 2018-06-08 22:59 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 ...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

diff --git a/package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch b/package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
deleted file mode 100644
index 0343b4c7e8..0000000000
--- a/package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 72ea6ea635d5b5a88f411710daf7e1d340d232d8 Mon Sep 17 00:00:00 2001
-From: Tilmann Scheller <tschelle@redhat.com>
-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 <valentin.korenblit@smile.fr>
----
- 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
-
diff --git a/package/llvm/llvm.hash b/package/llvm/llvm.hash
index 14f8bb4488..93bdf2e20e 100644
--- a/package/llvm/llvm.hash
+++ b/package/llvm/llvm.hash
@@ -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
diff --git a/package/llvm/llvm.mk b/package/llvm/llvm.mk
index 06f95c96f8..d2db05d94c 100644
--- a/package/llvm/llvm.mk
+++ b/package/llvm/llvm.mk
@@ -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
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH 7/8] clang: bump to version 6.0.0
  2018-06-08 22:59 [Buildroot] [RFC PATCH 0/8] chromium: new package Joseph Kogut
                   ` (5 preceding siblings ...)
  2018-06-08 22:59 ` [Buildroot] [RFC PATCH 6/8] llvm: bump to version 6.0.0 Joseph Kogut
@ 2018-06-08 22:59 ` Joseph Kogut
  2018-06-08 22:59 ` [Buildroot] [RFC PATCH 8/8] chromium: new package Joseph Kogut
  2018-06-10 20:44 ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
  8 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-08 22:59 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 package/clang/clang.hash | 2 +-
 package/clang/clang.mk   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/package/clang/clang.hash b/package/clang/clang.hash
index bf54f9bb53..600c3cc9a4 100644
--- a/package/clang/clang.hash
+++ b/package/clang/clang.hash
@@ -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
diff --git a/package/clang/clang.mk b/package/clang/clang.mk
index dc086c6eed..f828bac72a 100644
--- a/package/clang/clang.mk
+++ b/package/clang/clang.mk
@@ -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
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH 8/8] chromium: new package
  2018-06-08 22:59 [Buildroot] [RFC PATCH 0/8] chromium: new package Joseph Kogut
                   ` (6 preceding siblings ...)
  2018-06-08 22:59 ` [Buildroot] [RFC PATCH 7/8] clang: " Joseph Kogut
@ 2018-06-08 22:59 ` Joseph Kogut
  2018-06-10 20:44 ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
  8 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-08 22:59 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 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

diff --git a/DEVELOPERS b/DEVELOPERS
index 568f47d242..19d3aafe91 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -957,6 +957,7 @@ F:	configs/qemu_ppc64le_pseries_defconfig
 N:	Joseph Kogut <joseph.kogut@gmail.com>
 F:	package/at-spi2-atk/
 F:	package/at-spi2-core/
+F:	package/chromium/
 F:	package/gconf/
 F:	package/libnss/
 F:	package/python-cython/
diff --git a/package/Config.in b/package/Config.in
index c2e619b317..0458c513f2 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/chromium/Config.in b/package/chromium/Config.in
new file mode 100644
index 0000000000..8bc9eb5d5c
--- /dev/null
+++ b/package/chromium/Config.in
@@ -0,0 +1,43 @@
+config BR2_PACKAGE_CHROMIUM
+	bool "chromium"
+	select BR2_PACKAGE_ALSA_LIB
+	select BR2_PACKAGE_CUPS
+	select BR2_PACKAGE_DBUS
+	select BR2_PACKAGE_FREETYPE
+	select BR2_PACKAGE_HARFBUZZ
+	select BR2_PACKAGE_HOST_CLANG
+	select BR2_PACKAGE_HOST_LLVM_ENABLE_HOST_ARCH
+	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_LIBXRANDR
+	select BR2_PACKAGE_XLIB_LIBXSCRNSAVER
+	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
+
+config BR2_PACKAGE_CHROMIUM_TARGET_ARCH
+	string
+	default "arm" if BR2_arm
+	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
diff --git a/package/chromium/chromium.hash b/package/chromium/chromium.hash
new file mode 100644
index 0000000000..bb579262cd
--- /dev/null
+++ b/package/chromium/chromium.hash
@@ -0,0 +1,4 @@
+# locally calculated
+sha256 37e6673741b365a25a837217b08f77b24b4f5fc4ad88c8581be6a5dae9a9e919  chromium-66.0.3359.181.tar.xz
+sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308  LICENSE
+
diff --git a/package/chromium/chromium.mk b/package/chromium/chromium.mk
new file mode 100644
index 0000000000..72c965700a
--- /dev/null
+++ b/package/chromium/chromium.mk
@@ -0,0 +1,125 @@
+###############################################################################
+#
+# Chromium
+#
+###############################################################################
+
+CHROMIUM_VERSION = 66.0.3359.181
+CHROMIUM_SITE = https://commondatastorage.googleapis.com/chromium-browser-official
+CHROMIUM_SOURCE = chromium-$(CHROMIUM_VERSION).tar.xz
+CHROMIUM_LICENSE = BSD-Style
+CHROMIUM_LICENSE_FILES = LICENSE
+CHROMIUM_DEPENDENCIES = alsa-lib cups dbus freetype harfbuzz \
+			host-clang host-ninja host-nodejs host-python \
+			jpeg libdrm libglib2 libkrb5 libnss libpng pciutils \
+			xlib_libXcomposite xlib_libXScrnSaver xlib_libXcursor \
+			xlib_libXrandr zlib
+
+CHROMIUM_TOOLCHAIN_CONFIG_PATH = "$(shell pwd)/package/chromium/toolchain"
+
+CHROMIUM_OPTS = \
+	host_toolchain=\"$(CHROMIUM_TOOLCHAIN_CONFIG_PATH):host\" \
+	v8_snapshot_toolchain=\"$(CHROMIUM_TOOLCHAIN_CONFIG_PATH):v8_snapshot\" \
+	custom_toolchain=\"$(CHROMIUM_TOOLCHAIN_CONFIG_PATH):target\" \
+	use_lld=true \
+	is_clang=true \
+	clang_use_chrome_plugins=false \
+	treat_warnings_as_errors=false \
+	use_gnome_keyring=false \
+	linux_use_bundled_binutils=false \
+	use_sysroot=false \
+	target_sysroot=\"$(STAGING_DIR)\" \
+	target_cpu=\"$(BR2_PACKAGE_CHROMIUM_TARGET_ARCH)\" \
+	enable_nacl=false \
+	use_dbus=true \
+	use_cups=true \
+	use_system_zlib=true \
+	use_system_libjpeg=true \
+	use_system_libpng=true \
+	use_system_libdrm=true \
+	use_system_harfbuzz=true \
+	use_system_freetype=true
+
+# tcmalloc has portability issues
+CHROMIUM_OPTS += use_allocator=\"none\"
+
+ifeq ($(BR2_ENABLE_DEBUG),y)
+	CHROMIUM_OPTS += is_debug=true
+else
+	CHROMIUM_OPTS += is_debug=false
+endif
+
+ifeq ($(BR2_PACKAGE_PULSEAUDIO),y)
+	CHROMIUM_DEPENDENCIES += pulseaudio
+	CHROMIUM_OPTS += use_pulseaudio=true
+else
+	CHROMIUM_OPTS += use_pulseaudio=false
+endif
+
+ifeq ($(BR2_PACKAGE_LIBGTK3),y)
+	CHROMIUM_DEPENDENCIES += libgtk3
+	CHROMIUM_OPTS += use_gtk3=true
+else
+	CHROMIUM_OPTS += use_gtk3=false
+endif
+
+ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y)
+CHROMIUM_TARGET_LDFLAGS += --gcc-toolchain="$(TOOLCHAIN_EXTERNAL_INSTALL_DIR)"
+else
+CHROMIUM_TARGET_LDFLAGS += --gcc-toolchain="$(HOST_DIR)"
+endif
+
+CHROMIUM_HOST_CFLAGS += --target=$(GNU_TARGET_NAME)
+CHROMIUM_HOST_LDFLAGS += --gcc-toolchain="/usr"
+
+define CHROMIUM_CONFIGURE_CMDS
+	mkdir -p $(@D)/third_party/node/linux/node-linux-x64/bin
+	ln -sf $(HOST_DIR)/bin/node $(@D)/third_party/node/linux/node-linux-x64/bin/
+	ln -sf $(HOST_DIR)/bin/llvm-link $(HOST_DIR)/bin/lld
+
+	( cd $(@D); \
+		$(TARGET_MAKE_ENV) \
+		$(HOST_DIR)/bin/python2 tools/gn/bootstrap/bootstrap.py -s --no-clean; \
+		HOST_AR="$(HOSTAR)" \
+		HOST_NM="$(HOSTNM)" \
+		HOST_CC="$(HOSTCC)" \
+		HOST_CXX="$(HOSTCXX)" \
+		HOST_CFLAGS="$(HOST_CFLAGS)" \
+		HOST_CXXFLAGS="$(HOST_CXXFLAGS)" \
+		V8_AR="$(HOSTAR)" \
+		V8_NM="$(HOSTNM)" \
+		V8_CC="clang" \
+		V8_CXX="clang++" \
+		V8_LDFLAGS="$(CHROMIUM_HOST_LDFLAGS)" \
+		TARGET_AR="ar" \
+		TARGET_NM="nm" \
+		TARGET_CC="clang" \
+		TARGET_CXX="clang++" \
+		TARGET_CFLAGS="$(CHROMIUM_TARGET_CFLAGS)" \
+		TARGET_CXXFLAGS="$(CHROMIUM_TARGET_CXXFLAGS)" \
+		TARGET_LDFLAGS="$(CHROMIUM_TARGET_LDFLAGS)" \
+		out/Release/gn gen out/Release --args="$(CHROMIUM_OPTS)" \
+			--script-executable=$(HOST_DIR)/bin/python2 \
+	)
+endef
+
+define CHROMIUM_BUILD_CMDS
+	( cd $(@D); \
+		$(TARGET_MAKE_ENV) \
+		ninja -j$(PARALLEL_JOBS) -C out/Release chrome chrome_sandbox chromedriver \
+	)
+endef
+
+define CHROMIUM_INSTALL_TARGET_CMDS
+	$(INSTALL) -D $(@D)/out/Release/chrome $(TARGET_DIR)/usr/lib/chromium/chromium
+	$(INSTALL) -Dm4755 $(@D)/out/Release/chrome_sandbox \
+		$(TARGET_DIR)/usr/lib/chromium/chrome-sandbox
+	cp $(@D)/out/Release/{chrome_{100,200}_percent,resources}.pak \
+		$(@D)/out/Release/{*.bin,chromedriver} \
+		$(TARGET_DIR)/usr/lib/chromium/
+	$(INSTALL) -Dm644 -t $(TARGET_DIR)/usr/lib/chromium/locales \
+		$(@D)/out/Release/locales/*.pak
+	cp $(@D)/out/Release/icudtl.dat $(TARGET_DIR)/usr/lib/chromium/	
+endef
+
+$(eval $(generic-package))
diff --git a/package/chromium/toolchain/BUILD.gn b/package/chromium/toolchain/BUILD.gn
new file mode 100644
index 0000000000..c2c5c3e49c
--- /dev/null
+++ b/package/chromium/toolchain/BUILD.gn
@@ -0,0 +1,72 @@
+import("//build/toolchain/gcc_toolchain.gni")
+import("//build/config/sysroot.gni")
+
+gcc_toolchain("host") {
+  cc = getenv("HOST_CC")
+  cxx = getenv("HOST_CXX")
+  ar = getenv("HOST_AR")
+  nm = getenv("HOST_NM")
+  ld = cxx
+
+  extra_cflags = getenv("HOST_CFLAGS")
+  extra_cppflags = getenv("HOST_CPPFLAGS")
+  extra_cxxflags = getenv("HOST_CXXFLAGS")
+  extra_ldflags = getenv("HOST_LDFLAGS")
+
+  toolchain_args = {
+    cc_wrapper = ""
+    current_cpu = host_cpu
+    current_os = host_os
+    is_clang = false
+    use_sysroot = false
+    use_lld = false
+  }
+}
+
+gcc_toolchain("target") {
+  cc = getenv("TARGET_CC")
+  cxx = getenv("TARGET_CXX")
+  ar = getenv("TARGET_AR")
+  nm = getenv("TARGET_NM")
+  ld = cxx
+
+  extra_cflags = getenv("TARGET_CFLAGS")
+  extra_cppflags = getenv("TARGET_CPPFLAGS")
+  extra_cxxflags = getenv("TARGET_CXXFLAGS")
+  extra_ldflags = getenv("TARGET_LDFLAGS")
+
+  toolchain_args = {
+    cc_wrapper = ""
+    current_cpu = target_cpu
+    current_os = target_os
+    is_clang = is_clang
+    use_sysroot = use_sysroot
+    use_lld = false
+  }
+}
+
+gcc_toolchain("v8_snapshot") {
+  cc = getenv("V8_CC")
+  cxx = getenv("V8_CXX")
+  ar = getenv("V8_AR")
+  nm = getenv("V8_NM")
+  ld = cxx
+
+  extra_cflags = getenv("V8_CFLAGS")
+  extra_cppflags = getenv("V8_CPPFLAGS")
+  extra_cxxflags = getenv("V8_CXXFLAGS")
+  extra_ldflags = getenv("V8_LDFLAGS")
+
+  toolchain_args = {
+    cc_wrapper = ""
+    if (target_cpu == "x86" || target_cpu == "arm" || target_cpu == "mipsel") {
+      current_cpu = "x86"
+    } else {
+      current_cpu = "x64"
+    }
+    current_os = host_os
+    is_clang = false
+    use_sysroot = false
+  }
+}
+
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH 1/8] atk: bump to version 2.25.2
  2018-06-08 22:59 ` [Buildroot] [RFC PATCH 1/8] atk: bump to version 2.25.2 Joseph Kogut
@ 2018-06-09 17:36   ` Thomas Petazzoni
  2018-06-09 18:19     ` Joseph Kogut
  0 siblings, 1 reply; 66+ messages in thread
From: Thomas Petazzoni @ 2018-06-09 17:36 UTC (permalink / raw)
  To: buildroot

Hello,

Thanks for this patch series!

On Fri,  8 Jun 2018 15:59:25 -0700, Joseph Kogut wrote:

> -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
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH 1/8] atk: bump to version 2.25.2
  2018-06-09 17:36   ` Thomas Petazzoni
@ 2018-06-09 18:19     ` Joseph Kogut
  0 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-09 18:19 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

On Sat, Jun 9, 2018 at 10:36 AM, Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
> 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.

> On Fri,  8 Jun 2018 15:59:25 -0700, Joseph Kogut wrote:
>
>> -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/
>

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.

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

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v2 0/9] chromium: new package
  2018-06-08 22:59 [Buildroot] [RFC PATCH 0/8] chromium: new package Joseph Kogut
                   ` (7 preceding siblings ...)
  2018-06-08 22:59 ` [Buildroot] [RFC PATCH 8/8] chromium: new package Joseph Kogut
@ 2018-06-10 20:44 ` Joseph Kogut
  2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 1/9] atk: bump to version 2.25.2 Joseph Kogut
                     ` (10 more replies)
  8 siblings, 11 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-10 20:44 UTC (permalink / raw)
  To: 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

-- 
2.17.1

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v2 1/9] atk: bump to version 2.25.2
  2018-06-10 20:44 ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
@ 2018-06-10 20:44   ` Joseph Kogut
  2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 1/9] atk: bump to version 2.28.1 Joseph Kogut
                     ` (9 subsequent siblings)
  10 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-10 20:44 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 package/atk/atk.hash | 4 ++--
 package/atk/atk.mk   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/package/atk/atk.hash b/package/atk/atk.hash
index 12c98706dd..d6c61a22f4 100644
--- a/package/atk/atk.hash
+++ b/package/atk/atk.hash
@@ -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
diff --git a/package/atk/atk.mk b/package/atk/atk.mk
index 88cf5fbc0a..a50cb9f0ee 100644
--- a/package/atk/atk.mk
+++ b/package/atk/atk.mk
@@ -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+
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v2 1/9] atk: bump to version 2.28.1
  2018-06-10 20:44 ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
  2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 1/9] atk: bump to version 2.25.2 Joseph Kogut
@ 2018-06-10 20:44   ` Joseph Kogut
  2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 2/9] at-spi2-core: new package Joseph Kogut
                     ` (8 subsequent siblings)
  10 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-10 20:44 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 package/atk/atk.hash | 4 ++--
 package/atk/atk.mk   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/package/atk/atk.hash b/package/atk/atk.hash
index 12c98706dd..80aeecaee9 100644
--- a/package/atk/atk.hash
+++ b/package/atk/atk.hash
@@ -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
diff --git a/package/atk/atk.mk b/package/atk/atk.mk
index 88cf5fbc0a..64950bfd08 100644
--- a/package/atk/atk.mk
+++ b/package/atk/atk.mk
@@ -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+
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v2 2/9] at-spi2-core: new package
  2018-06-10 20:44 ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
  2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 1/9] atk: bump to version 2.25.2 Joseph Kogut
  2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 1/9] atk: bump to version 2.28.1 Joseph Kogut
@ 2018-06-10 20:44   ` Joseph Kogut
  2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 3/9] at-spi2-atk: " Joseph Kogut
                     ` (7 subsequent siblings)
  10 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-10 20:44 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 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

diff --git a/DEVELOPERS b/DEVELOPERS
index 1a8440759e..31c651b938 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -955,6 +955,7 @@ F:	board/qemu/ppc64le-pseries/
 F:	configs/qemu_ppc64le_pseries_defconfig
 
 N:	Joseph Kogut <joseph.kogut@gmail.com>
+F:	package/at-spi2-core/
 F:	package/gconf/
 F:	package/libnss/
 F:	package/python-cython/
diff --git a/package/Config.in b/package/Config.in
index 6a1606e568..692b422911 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/at-spi2-core/Config.in b/package/at-spi2-core/Config.in
new file mode 100644
index 0000000000..9c60c51792
--- /dev/null
+++ b/package/at-spi2-core/Config.in
@@ -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.
diff --git a/package/at-spi2-core/at-spi2-core.hash b/package/at-spi2-core/at-spi2-core.hash
new file mode 100644
index 0000000000..e792cc0e0a
--- /dev/null
+++ b/package/at-spi2-core/at-spi2-core.hash
@@ -0,0 +1,4 @@
+# locally calculated
+sha256 42a2487ab11ce43c288e73b2668ef8b1ab40a0e2b4f94e80fca04ad27b6f1c87  at-spi2-core-2.28.0.tar.xz
+sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b  COPYING
+
diff --git a/package/at-spi2-core/at-spi2-core.mk b/package/at-spi2-core/at-spi2-core.mk
new file mode 100644
index 0000000000..88800e2ce7
--- /dev/null
+++ b/package/at-spi2-core/at-spi2-core.mk
@@ -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
+	$(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))
+
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v2 3/9] at-spi2-atk: new package
  2018-06-10 20:44 ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
                     ` (2 preceding siblings ...)
  2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 2/9] at-spi2-core: new package Joseph Kogut
@ 2018-06-10 20:44   ` Joseph Kogut
  2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 4/9] libgtk3: remove patch to disable atk-bridge support Joseph Kogut
                     ` (6 subsequent siblings)
  10 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-10 20:44 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 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

diff --git a/DEVELOPERS b/DEVELOPERS
index 31c651b938..568f47d242 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -955,6 +955,7 @@ F:	board/qemu/ppc64le-pseries/
 F:	configs/qemu_ppc64le_pseries_defconfig
 
 N:	Joseph Kogut <joseph.kogut@gmail.com>
+F:	package/at-spi2-atk/
 F:	package/at-spi2-core/
 F:	package/gconf/
 F:	package/libnss/
diff --git a/package/Config.in b/package/Config.in
index 692b422911..c2e619b317 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/at-spi2-atk/Config.in b/package/at-spi2-atk/Config.in
new file mode 100644
index 0000000000..b354c77ffe
--- /dev/null
+++ b/package/at-spi2-atk/Config.in
@@ -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.
diff --git a/package/at-spi2-atk/at-spi2-atk.hash b/package/at-spi2-atk/at-spi2-atk.hash
new file mode 100644
index 0000000000..6f7d68ab87
--- /dev/null
+++ b/package/at-spi2-atk/at-spi2-atk.hash
@@ -0,0 +1,4 @@
+# locally calculated
+sha256 61891f0abae1689f6617a963105a3f1dcdab5970c4a36ded9c79a7a544b16a6e  at-spi2-atk-2.26.2.tar.xz
+sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b  COPYING
+
diff --git a/package/at-spi2-atk/at-spi2-atk.mk b/package/at-spi2-atk/at-spi2-atk.mk
new file mode 100644
index 0000000000..a3bccbb0d9
--- /dev/null
+++ b/package/at-spi2-atk/at-spi2-atk.mk
@@ -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))
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v2 4/9] libgtk3: remove patch to disable atk-bridge support
  2018-06-10 20:44 ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
                     ` (3 preceding siblings ...)
  2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 3/9] at-spi2-atk: " Joseph Kogut
@ 2018-06-10 20:44   ` Joseph Kogut
  2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 5/9] llvm: add config to build backend for host arch Joseph Kogut
                     ` (5 subsequent siblings)
  10 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-10 20:44 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 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

diff --git a/package/libgtk3/0003-disable-atk-bridge.patch b/package/libgtk3/0003-disable-atk-bridge.patch
deleted file mode 100644
index c92174f400..0000000000
--- a/package/libgtk3/0003-disable-atk-bridge.patch
+++ /dev/null
@@ -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 <hadrien.boutteville@gmail.com>
-
---- 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);
- }
diff --git a/package/libgtk3/Config.in b/package/libgtk3/Config.in
index 12e64707bd..f14b9deaf8 100644
--- a/package/libgtk3/Config.in
+++ b/package/libgtk3/Config.in
@@ -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
diff --git a/package/libgtk3/libgtk3.mk b/package/libgtk3/libgtk3.mk
index 1b85d00aae..e3c3dc5237 100644
--- a/package/libgtk3/libgtk3.mk
+++ b/package/libgtk3/libgtk3.mk
@@ -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
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v2 5/9] llvm: add config to build backend for host arch
  2018-06-10 20:44 ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
                     ` (4 preceding siblings ...)
  2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 4/9] libgtk3: remove patch to disable atk-bridge support Joseph Kogut
@ 2018-06-10 20:44   ` Joseph Kogut
  2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 6/9] llvm: bump to version 6.0.0 Joseph Kogut
                     ` (4 subsequent siblings)
  10 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-10 20:44 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 package/llvm/Config.in | 9 +++++++++
 package/llvm/llvm.mk   | 5 +++++
 2 files changed, 14 insertions(+)

diff --git a/package/llvm/Config.in b/package/llvm/Config.in
index 83e94660eb..e9c461b92f 100644
--- a/package/llvm/Config.in
+++ b/package/llvm/Config.in
@@ -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
diff --git a/package/llvm/llvm.mk b/package/llvm/llvm.mk
index 3abf428989..04e99eb5b4 100644
--- a/package/llvm/llvm.mk
+++ b/package/llvm/llvm.mk
@@ -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
 
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v2 6/9] llvm: bump to version 6.0.0
  2018-06-10 20:44 ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
                     ` (5 preceding siblings ...)
  2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 5/9] llvm: add config to build backend for host arch Joseph Kogut
@ 2018-06-10 20:44   ` Joseph Kogut
  2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 7/9] clang: " Joseph Kogut
                     ` (3 subsequent siblings)
  10 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-10 20:44 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 ...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

diff --git a/package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch b/package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
deleted file mode 100644
index 0343b4c7e8..0000000000
--- a/package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 72ea6ea635d5b5a88f411710daf7e1d340d232d8 Mon Sep 17 00:00:00 2001
-From: Tilmann Scheller <tschelle@redhat.com>
-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 <valentin.korenblit@smile.fr>
----
- 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
-
diff --git a/package/llvm/llvm.hash b/package/llvm/llvm.hash
index 14f8bb4488..93bdf2e20e 100644
--- a/package/llvm/llvm.hash
+++ b/package/llvm/llvm.hash
@@ -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
diff --git a/package/llvm/llvm.mk b/package/llvm/llvm.mk
index 04e99eb5b4..8638563b16 100644
--- a/package/llvm/llvm.mk
+++ b/package/llvm/llvm.mk
@@ -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
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v2 7/9] clang: bump to version 6.0.0
  2018-06-10 20:44 ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
                     ` (6 preceding siblings ...)
  2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 6/9] llvm: bump to version 6.0.0 Joseph Kogut
@ 2018-06-10 20:44   ` Joseph Kogut
  2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 8/9] lld: new package Joseph Kogut
                     ` (2 subsequent siblings)
  10 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-10 20:44 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 package/clang/clang.hash | 2 +-
 package/clang/clang.mk   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/package/clang/clang.hash b/package/clang/clang.hash
index bf54f9bb53..600c3cc9a4 100644
--- a/package/clang/clang.hash
+++ b/package/clang/clang.hash
@@ -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
diff --git a/package/clang/clang.mk b/package/clang/clang.mk
index dc086c6eed..f828bac72a 100644
--- a/package/clang/clang.mk
+++ b/package/clang/clang.mk
@@ -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
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v2 8/9] lld: new package
  2018-06-10 20:44 ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
                     ` (7 preceding siblings ...)
  2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 7/9] clang: " Joseph Kogut
@ 2018-06-10 20:44   ` Joseph Kogut
  2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 9/9] chromium: " Joseph Kogut
  2018-06-10 20:54   ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
  10 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-10 20:44 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 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

diff --git a/DEVELOPERS b/DEVELOPERS
index 568f47d242..ef6fd32fed 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -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/
diff --git a/package/Config.in b/package/Config.in
index c2e619b317..e4eb87b574 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/lld/Config.in b/package/lld/Config.in
new file mode 100644
index 0000000000..0ad50fd608
--- /dev/null
+++ b/package/lld/Config.in
@@ -0,0 +1,3 @@
+config BR2_PACKAGE_LLD
+	bool "lld"
+	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
diff --git a/package/lld/lld.hash b/package/lld/lld.hash
new file mode 100644
index 0000000000..ce81c7baca
--- /dev/null
+++ b/package/lld/lld.hash
@@ -0,0 +1,3 @@
+# locally calculated
+sha256 6b8c4a833cf30230c0213d78dbac01af21387b298225de90ab56032ca79c0e0b  lld-6.0.0.src.tar.xz
+sha256 f0502d2d0e19748c534ee95ea486c092273303dbef76404c8b17dc8bf6ca441b  LICENSE.TXT
diff --git a/package/lld/lld.mk b/package/lld/lld.mk
new file mode 100644
index 0000000000..cfaf3dbd29
--- /dev/null
+++ b/package/lld/lld.mk
@@ -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))
+
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v2 9/9] chromium: new package
  2018-06-10 20:44 ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
                     ` (8 preceding siblings ...)
  2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 8/9] lld: new package Joseph Kogut
@ 2018-06-10 20:44   ` Joseph Kogut
  2018-06-10 20:54   ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
  10 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-10 20:44 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 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

diff --git a/DEVELOPERS b/DEVELOPERS
index ef6fd32fed..1ad680509c 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -957,6 +957,7 @@ F:	configs/qemu_ppc64le_pseries_defconfig
 N:	Joseph Kogut <joseph.kogut@gmail.com>
 F:	package/at-spi2-atk/
 F:	package/at-spi2-core/
+F:	package/chromium/
 F:	package/gconf/
 F:	package/libnss/
 F:	package/lld/
diff --git a/package/Config.in b/package/Config.in
index e4eb87b574..80248a798c 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/chromium/Config.in b/package/chromium/Config.in
new file mode 100644
index 0000000000..db4623f554
--- /dev/null
+++ b/package/chromium/Config.in
@@ -0,0 +1,44 @@
+config BR2_PACKAGE_CHROMIUM
+	bool "chromium"
+	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_LIBXRANDR
+	select BR2_PACKAGE_XLIB_LIBXSCRNSAVER
+	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
+
+config BR2_PACKAGE_CHROMIUM_TARGET_ARCH
+	string
+	default "arm" if BR2_arm
+	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
diff --git a/package/chromium/chromium.hash b/package/chromium/chromium.hash
new file mode 100644
index 0000000000..1af15cb23b
--- /dev/null
+++ b/package/chromium/chromium.hash
@@ -0,0 +1,4 @@
+# locally calculated
+sha256 f8b1e5319163e378027826b12cf256b97423bb90e10e2013469d96e03bc9db8a  chromium-67.0.3396.79.tar.xz
+sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308  LICENSE
+
diff --git a/package/chromium/chromium.mk b/package/chromium/chromium.mk
new file mode 100644
index 0000000000..4e6d90c52d
--- /dev/null
+++ b/package/chromium/chromium.mk
@@ -0,0 +1,137 @@
+###############################################################################
+#
+# Chromium
+#
+###############################################################################
+
+CHROMIUM_VERSION = 67.0.3396.79
+CHROMIUM_SITE = https://commondatastorage.googleapis.com/chromium-browser-official
+CHROMIUM_SOURCE = chromium-$(CHROMIUM_VERSION).tar.xz
+CHROMIUM_LICENSE = BSD-Style
+CHROMIUM_LICENSE_FILES = LICENSE
+CHROMIUM_DEPENDENCIES = alsa-lib cups dbus freetype harfbuzz \
+			host-clang host-lld host-ninja host-nodejs host-python \
+			jpeg libdrm libglib2 libkrb5 libnss libpng pciutils \
+			xlib_libXcomposite xlib_libXScrnSaver xlib_libXcursor \
+			xlib_libXrandr zlib
+
+CHROMIUM_TOOLCHAIN_CONFIG_PATH = $(shell pwd)/package/chromium/toolchain
+
+CHROMIUM_OPTS = \
+	host_toolchain=\"$(CHROMIUM_TOOLCHAIN_CONFIG_PATH):host\" \
+	v8_snapshot_toolchain=\"$(CHROMIUM_TOOLCHAIN_CONFIG_PATH):v8_snapshot\" \
+	custom_toolchain=\"$(CHROMIUM_TOOLCHAIN_CONFIG_PATH):target\" \
+	use_lld=true \
+	is_clang=true \
+	clang_use_chrome_plugins=false \
+	treat_warnings_as_errors=false \
+	use_gnome_keyring=false \
+	linux_use_bundled_binutils=false \
+	use_sysroot=false \
+	target_sysroot=\"$(STAGING_DIR)\" \
+	target_cpu=\"$(BR2_PACKAGE_CHROMIUM_TARGET_ARCH)\" \
+	enable_nacl=false \
+	use_dbus=true \
+	use_cups=true \
+	use_system_zlib=true \
+	use_system_libjpeg=true \
+	use_system_libpng=true \
+	use_system_libdrm=true \
+	use_system_harfbuzz=true \
+	use_system_freetype=true
+
+# tcmalloc has portability issues
+CHROMIUM_OPTS += use_allocator=\"none\"
+
+ifeq ($(BR2_ENABLE_DEBUG),y)
+	CHROMIUM_OPTS += is_debug=true
+else
+	CHROMIUM_OPTS += is_debug=false
+endif
+
+ifeq ($(BR2_PACKAGE_PULSEAUDIO),y)
+	CHROMIUM_DEPENDENCIES += pulseaudio
+	CHROMIUM_OPTS += use_pulseaudio=true
+else
+	CHROMIUM_OPTS += use_pulseaudio=false
+endif
+
+ifeq ($(BR2_PACKAGE_LIBGTK3),y)
+	CHROMIUM_DEPENDENCIES += libgtk3
+	CHROMIUM_OPTS += use_gtk3=true
+else
+	CHROMIUM_OPTS += use_gtk3=false
+endif
+
+ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y)
+CHROMIUM_TARGET_LDFLAGS += --gcc-toolchain=$(TOOLCHAIN_EXTERNAL_INSTALL_DIR)
+else
+CHROMIUM_TARGET_LDFLAGS += --gcc-toolchain=$(HOST_DIR)
+endif
+
+CHROMIUM_TARGET_CFLAGS += $(CHROMIUM_TARGET_LDFLAGS)
+CHROMIUM_TARGET_CXXFLAGS += $(CHROMIUM_TARGET_CFLAGS)
+
+CHROMIUM_HOST_CFLAGS += --target=$(HOSTARCH)-buildroot-linux-gnu
+CHROMIUM_HOST_CXXFLAGS += $(CHROMIUM_HOST_CFLAGS)
+CHROMIUM_HOST_LDFLAGS += --gcc-toolchain="/usr"
+
+define CHROMIUM_CONFIGURE_CMDS
+	mkdir -p $(@D)/third_party/node/linux/node-linux-x64/bin
+	ln -sf $(HOST_DIR)/bin/node $(@D)/third_party/node/linux/node-linux-x64/bin/
+
+	# The host's toolchain (GCC) is used for generating binaries that are to be
+	# run on the host. We can use Buildroot's HOST_*FLAGS variables for this
+	# toolchain.
+	#
+	# The generated host-clang toolchain is used for binaries that are built for
+	# the target, as well as for the V8 engine that's used to generate the V8
+	# snapshot on the host.
+	( cd $(@D); \
+		$(TARGET_MAKE_ENV) \
+		$(HOST_DIR)/bin/python2 tools/gn/bootstrap/bootstrap.py -s --no-clean; \
+		HOST_AR="$(HOSTAR)" \
+		HOST_NM="$(HOSTNM)" \
+		HOST_CC="$(HOSTCC)" \
+		HOST_CXX="$(HOSTCXX)" \
+		HOST_CFLAGS="$(HOST_CFLAGS)" \
+		HOST_CXXFLAGS="$(HOST_CXXFLAGS)" \
+		V8_AR="$(HOSTAR)" \
+		V8_NM="$(HOSTNM)" \
+		V8_CC="clang" \
+		V8_CXX="clang++" \
+		V8_CFLAGS="$(CHROMIUM_HOST_CFLAGS)" \
+		V8_CXXFLAGS="$(CHROMIUM_HOST_CXXFLAGS)" \
+		V8_LDFLAGS="$(CHROMIUM_HOST_LDFLAGS)" \
+		TARGET_AR="ar" \
+		TARGET_NM="nm" \
+		TARGET_CC="clang" \
+		TARGET_CXX="clang++" \
+		TARGET_CFLAGS="$(CHROMIUM_TARGET_CFLAGS)" \
+		TARGET_CXXFLAGS="$(CHROMIUM_TARGET_CXXFLAGS)" \
+		TARGET_LDFLAGS="$(CHROMIUM_TARGET_LDFLAGS)" \
+		out/Release/gn gen out/Release --args="$(CHROMIUM_OPTS)" \
+			--script-executable=$(HOST_DIR)/bin/python2 \
+	)
+endef
+
+define CHROMIUM_BUILD_CMDS
+	( cd $(@D); \
+		$(TARGET_MAKE_ENV) \
+		ninja -j$(PARALLEL_JOBS) -C out/Release chrome chrome_sandbox chromedriver \
+	)
+endef
+
+define CHROMIUM_INSTALL_TARGET_CMDS
+	$(INSTALL) -D $(@D)/out/Release/chrome $(TARGET_DIR)/usr/lib/chromium/chromium
+	$(INSTALL) -Dm4755 $(@D)/out/Release/chrome_sandbox \
+		$(TARGET_DIR)/usr/lib/chromium/chrome-sandbox
+	cp $(@D)/out/Release/{chrome_{100,200}_percent,resources}.pak \
+		$(@D)/out/Release/{*.bin,chromedriver} \
+		$(TARGET_DIR)/usr/lib/chromium/
+	$(INSTALL) -Dm644 -t $(TARGET_DIR)/usr/lib/chromium/locales \
+		$(@D)/out/Release/locales/*.pak
+	cp $(@D)/out/Release/icudtl.dat $(TARGET_DIR)/usr/lib/chromium/	
+endef
+
+$(eval $(generic-package))
diff --git a/package/chromium/toolchain/BUILD.gn b/package/chromium/toolchain/BUILD.gn
new file mode 100644
index 0000000000..e8525bd67d
--- /dev/null
+++ b/package/chromium/toolchain/BUILD.gn
@@ -0,0 +1,71 @@
+import("//build/toolchain/gcc_toolchain.gni")
+import("//build/config/sysroot.gni")
+
+gcc_toolchain("host") {
+  cc = getenv("HOST_CC")
+  cxx = getenv("HOST_CXX")
+  ar = getenv("HOST_AR")
+  nm = getenv("HOST_NM")
+  ld = cxx
+
+  extra_cflags = getenv("HOST_CFLAGS")
+  extra_cppflags = getenv("HOST_CPPFLAGS")
+  extra_cxxflags = getenv("HOST_CXXFLAGS")
+  extra_ldflags = getenv("HOST_LDFLAGS")
+
+  toolchain_args = {
+    cc_wrapper = ""
+    current_cpu = host_cpu
+    current_os = host_os
+    is_clang = false
+    use_sysroot = false
+    use_lld = false
+  }
+}
+
+gcc_toolchain("target") {
+  cc = getenv("TARGET_CC")
+  cxx = getenv("TARGET_CXX")
+  ar = getenv("TARGET_AR")
+  nm = getenv("TARGET_NM")
+  ld = cxx
+
+  extra_cflags = getenv("TARGET_CFLAGS")
+  extra_cppflags = getenv("TARGET_CPPFLAGS")
+  extra_cxxflags = getenv("TARGET_CXXFLAGS")
+  extra_ldflags = getenv("TARGET_LDFLAGS")
+
+  toolchain_args = {
+    cc_wrapper = ""
+    current_cpu = target_cpu
+    current_os = target_os
+    is_clang = is_clang
+    use_sysroot = use_sysroot
+  }
+}
+
+gcc_toolchain("v8_snapshot") {
+  cc = getenv("V8_CC")
+  cxx = getenv("V8_CXX")
+  ar = getenv("V8_AR")
+  nm = getenv("V8_NM")
+  ld = cxx
+
+  extra_cflags = getenv("V8_CFLAGS")
+  extra_cppflags = getenv("V8_CPPFLAGS")
+  extra_cxxflags = getenv("V8_CXXFLAGS")
+  extra_ldflags = getenv("V8_LDFLAGS")
+
+  toolchain_args = {
+    cc_wrapper = ""
+    if (target_cpu == "x86" || target_cpu == "arm" || target_cpu == "mipsel") {
+      current_cpu = "x86"
+    } else {
+      current_cpu = "x64"
+    }
+    current_os = host_os
+    is_clang = is_clang
+    use_sysroot = false
+  }
+}
+
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v2 0/9] chromium: new package
  2018-06-10 20:44 ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
                     ` (9 preceding siblings ...)
  2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 9/9] chromium: " Joseph Kogut
@ 2018-06-10 20:54   ` Joseph Kogut
  2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 1/9] atk: bump to version 2.28.1 Joseph Kogut
                       ` (9 more replies)
  10 siblings, 10 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-10 20:54 UTC (permalink / raw)
  To: buildroot

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

-- 
2.17.1

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v3 1/9] atk: bump to version 2.28.1
  2018-06-10 20:54   ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
@ 2018-06-10 20:54     ` Joseph Kogut
  2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 2/9] at-spi2-core: new package Joseph Kogut
                       ` (8 subsequent siblings)
  9 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-10 20:54 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 package/atk/atk.hash | 4 ++--
 package/atk/atk.mk   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/package/atk/atk.hash b/package/atk/atk.hash
index 12c98706dd..80aeecaee9 100644
--- a/package/atk/atk.hash
+++ b/package/atk/atk.hash
@@ -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
diff --git a/package/atk/atk.mk b/package/atk/atk.mk
index 88cf5fbc0a..64950bfd08 100644
--- a/package/atk/atk.mk
+++ b/package/atk/atk.mk
@@ -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+
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v3 2/9] at-spi2-core: new package
  2018-06-10 20:54   ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
  2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 1/9] atk: bump to version 2.28.1 Joseph Kogut
@ 2018-06-10 20:54     ` Joseph Kogut
  2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 3/9] at-spi2-atk: " Joseph Kogut
                       ` (7 subsequent siblings)
  9 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-10 20:54 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 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

diff --git a/DEVELOPERS b/DEVELOPERS
index 1a8440759e..31c651b938 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -955,6 +955,7 @@ F:	board/qemu/ppc64le-pseries/
 F:	configs/qemu_ppc64le_pseries_defconfig
 
 N:	Joseph Kogut <joseph.kogut@gmail.com>
+F:	package/at-spi2-core/
 F:	package/gconf/
 F:	package/libnss/
 F:	package/python-cython/
diff --git a/package/Config.in b/package/Config.in
index 6a1606e568..692b422911 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/at-spi2-core/Config.in b/package/at-spi2-core/Config.in
new file mode 100644
index 0000000000..9c60c51792
--- /dev/null
+++ b/package/at-spi2-core/Config.in
@@ -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.
diff --git a/package/at-spi2-core/at-spi2-core.hash b/package/at-spi2-core/at-spi2-core.hash
new file mode 100644
index 0000000000..e792cc0e0a
--- /dev/null
+++ b/package/at-spi2-core/at-spi2-core.hash
@@ -0,0 +1,4 @@
+# locally calculated
+sha256 42a2487ab11ce43c288e73b2668ef8b1ab40a0e2b4f94e80fca04ad27b6f1c87  at-spi2-core-2.28.0.tar.xz
+sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b  COPYING
+
diff --git a/package/at-spi2-core/at-spi2-core.mk b/package/at-spi2-core/at-spi2-core.mk
new file mode 100644
index 0000000000..88800e2ce7
--- /dev/null
+++ b/package/at-spi2-core/at-spi2-core.mk
@@ -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
+	$(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))
+
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v3 3/9] at-spi2-atk: new package
  2018-06-10 20:54   ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
  2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 1/9] atk: bump to version 2.28.1 Joseph Kogut
  2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 2/9] at-spi2-core: new package Joseph Kogut
@ 2018-06-10 20:54     ` Joseph Kogut
  2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 4/9] libgtk3: remove patch to disable atk-bridge support Joseph Kogut
                       ` (6 subsequent siblings)
  9 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-10 20:54 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 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

diff --git a/DEVELOPERS b/DEVELOPERS
index 31c651b938..568f47d242 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -955,6 +955,7 @@ F:	board/qemu/ppc64le-pseries/
 F:	configs/qemu_ppc64le_pseries_defconfig
 
 N:	Joseph Kogut <joseph.kogut@gmail.com>
+F:	package/at-spi2-atk/
 F:	package/at-spi2-core/
 F:	package/gconf/
 F:	package/libnss/
diff --git a/package/Config.in b/package/Config.in
index 692b422911..c2e619b317 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/at-spi2-atk/Config.in b/package/at-spi2-atk/Config.in
new file mode 100644
index 0000000000..b354c77ffe
--- /dev/null
+++ b/package/at-spi2-atk/Config.in
@@ -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.
diff --git a/package/at-spi2-atk/at-spi2-atk.hash b/package/at-spi2-atk/at-spi2-atk.hash
new file mode 100644
index 0000000000..6f7d68ab87
--- /dev/null
+++ b/package/at-spi2-atk/at-spi2-atk.hash
@@ -0,0 +1,4 @@
+# locally calculated
+sha256 61891f0abae1689f6617a963105a3f1dcdab5970c4a36ded9c79a7a544b16a6e  at-spi2-atk-2.26.2.tar.xz
+sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b  COPYING
+
diff --git a/package/at-spi2-atk/at-spi2-atk.mk b/package/at-spi2-atk/at-spi2-atk.mk
new file mode 100644
index 0000000000..a3bccbb0d9
--- /dev/null
+++ b/package/at-spi2-atk/at-spi2-atk.mk
@@ -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))
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v3 4/9] libgtk3: remove patch to disable atk-bridge support
  2018-06-10 20:54   ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
                       ` (2 preceding siblings ...)
  2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 3/9] at-spi2-atk: " Joseph Kogut
@ 2018-06-10 20:54     ` Joseph Kogut
  2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 5/9] llvm: add config to build backend for host arch Joseph Kogut
                       ` (5 subsequent siblings)
  9 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-10 20:54 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 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

diff --git a/package/libgtk3/0003-disable-atk-bridge.patch b/package/libgtk3/0003-disable-atk-bridge.patch
deleted file mode 100644
index c92174f400..0000000000
--- a/package/libgtk3/0003-disable-atk-bridge.patch
+++ /dev/null
@@ -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 <hadrien.boutteville@gmail.com>
-
---- 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);
- }
diff --git a/package/libgtk3/Config.in b/package/libgtk3/Config.in
index 12e64707bd..f14b9deaf8 100644
--- a/package/libgtk3/Config.in
+++ b/package/libgtk3/Config.in
@@ -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
diff --git a/package/libgtk3/libgtk3.mk b/package/libgtk3/libgtk3.mk
index 1b85d00aae..e3c3dc5237 100644
--- a/package/libgtk3/libgtk3.mk
+++ b/package/libgtk3/libgtk3.mk
@@ -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
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v3 5/9] llvm: add config to build backend for host arch
  2018-06-10 20:54   ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
                       ` (3 preceding siblings ...)
  2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 4/9] libgtk3: remove patch to disable atk-bridge support Joseph Kogut
@ 2018-06-10 20:54     ` Joseph Kogut
  2018-06-11  9:06       ` Valentin Korenblit
  2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 6/9] llvm: bump to version 6.0.0 Joseph Kogut
                       ` (4 subsequent siblings)
  9 siblings, 1 reply; 66+ messages in thread
From: Joseph Kogut @ 2018-06-10 20:54 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 package/llvm/Config.in | 9 +++++++++
 package/llvm/llvm.mk   | 5 +++++
 2 files changed, 14 insertions(+)

diff --git a/package/llvm/Config.in b/package/llvm/Config.in
index 83e94660eb..e9c461b92f 100644
--- a/package/llvm/Config.in
+++ b/package/llvm/Config.in
@@ -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
diff --git a/package/llvm/llvm.mk b/package/llvm/llvm.mk
index 3abf428989..04e99eb5b4 100644
--- a/package/llvm/llvm.mk
+++ b/package/llvm/llvm.mk
@@ -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
 
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v3 6/9] llvm: bump to version 6.0.0
  2018-06-10 20:54   ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
                       ` (4 preceding siblings ...)
  2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 5/9] llvm: add config to build backend for host arch Joseph Kogut
@ 2018-06-10 20:54     ` Joseph Kogut
  2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 7/9] clang: " Joseph Kogut
                       ` (3 subsequent siblings)
  9 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-10 20:54 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 ...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

diff --git a/package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch b/package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
deleted file mode 100644
index 0343b4c7e8..0000000000
--- a/package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 72ea6ea635d5b5a88f411710daf7e1d340d232d8 Mon Sep 17 00:00:00 2001
-From: Tilmann Scheller <tschelle@redhat.com>
-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 <valentin.korenblit@smile.fr>
----
- 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
-
diff --git a/package/llvm/llvm.hash b/package/llvm/llvm.hash
index 14f8bb4488..93bdf2e20e 100644
--- a/package/llvm/llvm.hash
+++ b/package/llvm/llvm.hash
@@ -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
diff --git a/package/llvm/llvm.mk b/package/llvm/llvm.mk
index 04e99eb5b4..8638563b16 100644
--- a/package/llvm/llvm.mk
+++ b/package/llvm/llvm.mk
@@ -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
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v3 7/9] clang: bump to version 6.0.0
  2018-06-10 20:54   ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
                       ` (5 preceding siblings ...)
  2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 6/9] llvm: bump to version 6.0.0 Joseph Kogut
@ 2018-06-10 20:54     ` Joseph Kogut
  2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 8/9] lld: new package Joseph Kogut
                       ` (2 subsequent siblings)
  9 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-10 20:54 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 package/clang/clang.hash | 2 +-
 package/clang/clang.mk   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/package/clang/clang.hash b/package/clang/clang.hash
index bf54f9bb53..600c3cc9a4 100644
--- a/package/clang/clang.hash
+++ b/package/clang/clang.hash
@@ -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
diff --git a/package/clang/clang.mk b/package/clang/clang.mk
index dc086c6eed..f828bac72a 100644
--- a/package/clang/clang.mk
+++ b/package/clang/clang.mk
@@ -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
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v3 8/9] lld: new package
  2018-06-10 20:54   ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
                       ` (6 preceding siblings ...)
  2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 7/9] clang: " Joseph Kogut
@ 2018-06-10 20:54     ` Joseph Kogut
  2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 9/9] chromium: " Joseph Kogut
  2018-06-14 22:48     ` [Buildroot] [RFC PATCH v4 0/9] " Joseph Kogut
  9 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-10 20:54 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 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

diff --git a/DEVELOPERS b/DEVELOPERS
index 568f47d242..ef6fd32fed 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -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/
diff --git a/package/Config.in b/package/Config.in
index c2e619b317..e4eb87b574 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/lld/Config.in b/package/lld/Config.in
new file mode 100644
index 0000000000..0ad50fd608
--- /dev/null
+++ b/package/lld/Config.in
@@ -0,0 +1,3 @@
+config BR2_PACKAGE_LLD
+	bool "lld"
+	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
diff --git a/package/lld/lld.hash b/package/lld/lld.hash
new file mode 100644
index 0000000000..ce81c7baca
--- /dev/null
+++ b/package/lld/lld.hash
@@ -0,0 +1,3 @@
+# locally calculated
+sha256 6b8c4a833cf30230c0213d78dbac01af21387b298225de90ab56032ca79c0e0b  lld-6.0.0.src.tar.xz
+sha256 f0502d2d0e19748c534ee95ea486c092273303dbef76404c8b17dc8bf6ca441b  LICENSE.TXT
diff --git a/package/lld/lld.mk b/package/lld/lld.mk
new file mode 100644
index 0000000000..cfaf3dbd29
--- /dev/null
+++ b/package/lld/lld.mk
@@ -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))
+
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v3 9/9] chromium: new package
  2018-06-10 20:54   ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
                       ` (7 preceding siblings ...)
  2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 8/9] lld: new package Joseph Kogut
@ 2018-06-10 20:54     ` Joseph Kogut
  2018-06-14 22:48     ` [Buildroot] [RFC PATCH v4 0/9] " Joseph Kogut
  9 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-10 20:54 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 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

diff --git a/DEVELOPERS b/DEVELOPERS
index ef6fd32fed..1ad680509c 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -957,6 +957,7 @@ F:	configs/qemu_ppc64le_pseries_defconfig
 N:	Joseph Kogut <joseph.kogut@gmail.com>
 F:	package/at-spi2-atk/
 F:	package/at-spi2-core/
+F:	package/chromium/
 F:	package/gconf/
 F:	package/libnss/
 F:	package/lld/
diff --git a/package/Config.in b/package/Config.in
index e4eb87b574..80248a798c 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/chromium/0001-modify-compiler_cpu_abi-for-buildroot-toolchain.patch b/package/chromium/0001-modify-compiler_cpu_abi-for-buildroot-toolchain.patch
new file mode 100644
index 0000000000..1848b0bd14
--- /dev/null
+++ b/package/chromium/0001-modify-compiler_cpu_abi-for-buildroot-toolchain.patch
@@ -0,0 +1,102 @@
+From 3d5106d1d4720e1be8a4bd977be38743d6fb1f3c Mon Sep 17 00:00:00 2001
+From: Joseph Kogut <joseph.kogut@gmail.com>
+Date: Sun, 10 Jun 2018 09:59:11 -0700
+Subject: [PATCH] modify compiler_cpu_abi for buildroot toolchain
+
+Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
+---
+ build/config/compiler/BUILD.gn | 36 +++++++++++++++++++---------------
+ 1 file changed, 20 insertions(+), 16 deletions(-)
+
+diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
+index 461e62da2..27c9f29ed 100644
+--- a/build/config/compiler/BUILD.gn
++++ b/build/config/compiler/BUILD.gn
+@@ -683,6 +683,10 @@ config("compiler_cpu_abi") {
+         "-march=x86-64",
+       ]
+       ldflags += [ "-m64" ]
++      if (is_clang) {
++        cflags += ["--target=x86_64-buildroot-linux-gnu"]
++        ldflags += ["--target=x86_64-buildroot-linux-gnu"]
++      }
+     } else if (current_cpu == "x86") {
+       cflags += [ "-m32" ]
+       ldflags += [ "-m32" ]
+@@ -695,8 +699,8 @@ config("compiler_cpu_abi") {
+       }
+     } else if (current_cpu == "arm") {
+       if (is_clang && !is_android && !is_nacl) {
+-        cflags += [ "--target=arm-linux-gnueabihf" ]
+-        ldflags += [ "--target=arm-linux-gnueabihf" ]
++        cflags += [ "--target=arm-buildroot-linux-gnueabihf" ]
++        ldflags += [ "--target=arm-buildroot-linux-gnueabihf" ]
+       }
+       if (!is_nacl) {
+         cflags += [
+@@ -709,18 +713,18 @@ config("compiler_cpu_abi") {
+       }
+     } else if (current_cpu == "arm64") {
+       if (is_clang && !is_android && !is_nacl && !is_fuchsia) {
+-        cflags += [ "--target=aarch64-linux-gnu" ]
+-        ldflags += [ "--target=aarch64-linux-gnu" ]
++        cflags += [ "--target=aarch64-buildroot-linux-gnu" ]
++        ldflags += [ "--target=aarch64-buildroot-linux-gnu" ]
+       }
+     } else if (current_cpu == "mipsel" && !is_nacl) {
+       if (custom_toolchain == "") {
+         if (is_clang) {
+           if (is_android) {
+-            cflags += [ "--target=mipsel-linux-android" ]
+-            ldflags += [ "--target=mipsel-linux-android" ]
++            cflags += [ "--target=mipsel-buildroot-linux-android" ]
++            ldflags += [ "--target=mipsel-buildroot-linux-android" ]
+           } else {
+-            cflags += [ "--target=mipsel-linux-gnu" ]
+-            ldflags += [ "--target=mipsel-linux-gnu" ]
++            cflags += [ "--target=mipsel-buildroot-linux-gnu" ]
++            ldflags += [ "--target=mipsel-buildroot-linux-gnu" ]
+           }
+         } else {
+           cflags += [ "-EL" ]
+@@ -799,8 +803,8 @@ config("compiler_cpu_abi") {
+     } else if (current_cpu == "mips" && !is_nacl) {
+       if (custom_toolchain == "") {
+         if (is_clang) {
+-          cflags += [ "--target=mips-linux-gnu" ]
+-          ldflags += [ "--target=mips-linux-gnu" ]
++          cflags += [ "--target=mips-buildroot-linux-gnu" ]
++          ldflags += [ "--target=mips-buildroot-linux-gnu" ]
+         } else {
+           cflags += [ "-EB" ]
+           ldflags += [ "-EB" ]
+@@ -844,11 +848,11 @@ config("compiler_cpu_abi") {
+       if (custom_toolchain == "") {
+         if (is_clang) {
+           if (is_android) {
+-            cflags += [ "--target=mips64el-linux-android" ]
+-            ldflags += [ "--target=mips64el-linux-android" ]
++            cflags += [ "--target=mips64el-buildroot-linux-android" ]
++            ldflags += [ "--target=mips64el-buildroot-linux-android" ]
+           } else {
+-            cflags += [ "--target=mips64el-linux-gnuabi64" ]
+-            ldflags += [ "--target=mips64el-linux-gnuabi64" ]
++            cflags += [ "--target=mips64el-buildroot-linux-gnuabi64" ]
++            ldflags += [ "--target=mips64el-buildroot-linux-gnuabi64" ]
+           }
+         } else {
+           cflags += [
+@@ -905,8 +909,8 @@ config("compiler_cpu_abi") {
+     } else if (current_cpu == "mips64") {
+       if (custom_toolchain == "") {
+         if (is_clang) {
+-          cflags += [ "--target=mips64-linux-gnuabi64" ]
+-          ldflags += [ "--target=mips64-linux-gnuabi64" ]
++          cflags += [ "--target=mips64-buildroot-linux-gnuabi64" ]
++          ldflags += [ "--target=mips64-buildroot-linux-gnuabi64" ]
+         } else {
+           cflags += [
+             "-EB",
+-- 
+2.17.1
+
diff --git a/package/chromium/Config.in b/package/chromium/Config.in
new file mode 100644
index 0000000000..db4623f554
--- /dev/null
+++ b/package/chromium/Config.in
@@ -0,0 +1,44 @@
+config BR2_PACKAGE_CHROMIUM
+	bool "chromium"
+	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_LIBXRANDR
+	select BR2_PACKAGE_XLIB_LIBXSCRNSAVER
+	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
+
+config BR2_PACKAGE_CHROMIUM_TARGET_ARCH
+	string
+	default "arm" if BR2_arm
+	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
diff --git a/package/chromium/chromium.hash b/package/chromium/chromium.hash
new file mode 100644
index 0000000000..1af15cb23b
--- /dev/null
+++ b/package/chromium/chromium.hash
@@ -0,0 +1,4 @@
+# locally calculated
+sha256 f8b1e5319163e378027826b12cf256b97423bb90e10e2013469d96e03bc9db8a  chromium-67.0.3396.79.tar.xz
+sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308  LICENSE
+
diff --git a/package/chromium/chromium.mk b/package/chromium/chromium.mk
new file mode 100644
index 0000000000..4e6d90c52d
--- /dev/null
+++ b/package/chromium/chromium.mk
@@ -0,0 +1,137 @@
+###############################################################################
+#
+# Chromium
+#
+###############################################################################
+
+CHROMIUM_VERSION = 67.0.3396.79
+CHROMIUM_SITE = https://commondatastorage.googleapis.com/chromium-browser-official
+CHROMIUM_SOURCE = chromium-$(CHROMIUM_VERSION).tar.xz
+CHROMIUM_LICENSE = BSD-Style
+CHROMIUM_LICENSE_FILES = LICENSE
+CHROMIUM_DEPENDENCIES = alsa-lib cups dbus freetype harfbuzz \
+			host-clang host-lld host-ninja host-nodejs host-python \
+			jpeg libdrm libglib2 libkrb5 libnss libpng pciutils \
+			xlib_libXcomposite xlib_libXScrnSaver xlib_libXcursor \
+			xlib_libXrandr zlib
+
+CHROMIUM_TOOLCHAIN_CONFIG_PATH = $(shell pwd)/package/chromium/toolchain
+
+CHROMIUM_OPTS = \
+	host_toolchain=\"$(CHROMIUM_TOOLCHAIN_CONFIG_PATH):host\" \
+	v8_snapshot_toolchain=\"$(CHROMIUM_TOOLCHAIN_CONFIG_PATH):v8_snapshot\" \
+	custom_toolchain=\"$(CHROMIUM_TOOLCHAIN_CONFIG_PATH):target\" \
+	use_lld=true \
+	is_clang=true \
+	clang_use_chrome_plugins=false \
+	treat_warnings_as_errors=false \
+	use_gnome_keyring=false \
+	linux_use_bundled_binutils=false \
+	use_sysroot=false \
+	target_sysroot=\"$(STAGING_DIR)\" \
+	target_cpu=\"$(BR2_PACKAGE_CHROMIUM_TARGET_ARCH)\" \
+	enable_nacl=false \
+	use_dbus=true \
+	use_cups=true \
+	use_system_zlib=true \
+	use_system_libjpeg=true \
+	use_system_libpng=true \
+	use_system_libdrm=true \
+	use_system_harfbuzz=true \
+	use_system_freetype=true
+
+# tcmalloc has portability issues
+CHROMIUM_OPTS += use_allocator=\"none\"
+
+ifeq ($(BR2_ENABLE_DEBUG),y)
+	CHROMIUM_OPTS += is_debug=true
+else
+	CHROMIUM_OPTS += is_debug=false
+endif
+
+ifeq ($(BR2_PACKAGE_PULSEAUDIO),y)
+	CHROMIUM_DEPENDENCIES += pulseaudio
+	CHROMIUM_OPTS += use_pulseaudio=true
+else
+	CHROMIUM_OPTS += use_pulseaudio=false
+endif
+
+ifeq ($(BR2_PACKAGE_LIBGTK3),y)
+	CHROMIUM_DEPENDENCIES += libgtk3
+	CHROMIUM_OPTS += use_gtk3=true
+else
+	CHROMIUM_OPTS += use_gtk3=false
+endif
+
+ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y)
+CHROMIUM_TARGET_LDFLAGS += --gcc-toolchain=$(TOOLCHAIN_EXTERNAL_INSTALL_DIR)
+else
+CHROMIUM_TARGET_LDFLAGS += --gcc-toolchain=$(HOST_DIR)
+endif
+
+CHROMIUM_TARGET_CFLAGS += $(CHROMIUM_TARGET_LDFLAGS)
+CHROMIUM_TARGET_CXXFLAGS += $(CHROMIUM_TARGET_CFLAGS)
+
+CHROMIUM_HOST_CFLAGS += --target=$(HOSTARCH)-buildroot-linux-gnu
+CHROMIUM_HOST_CXXFLAGS += $(CHROMIUM_HOST_CFLAGS)
+CHROMIUM_HOST_LDFLAGS += --gcc-toolchain="/usr"
+
+define CHROMIUM_CONFIGURE_CMDS
+	mkdir -p $(@D)/third_party/node/linux/node-linux-x64/bin
+	ln -sf $(HOST_DIR)/bin/node $(@D)/third_party/node/linux/node-linux-x64/bin/
+
+	# The host's toolchain (GCC) is used for generating binaries that are to be
+	# run on the host. We can use Buildroot's HOST_*FLAGS variables for this
+	# toolchain.
+	#
+	# The generated host-clang toolchain is used for binaries that are built for
+	# the target, as well as for the V8 engine that's used to generate the V8
+	# snapshot on the host.
+	( cd $(@D); \
+		$(TARGET_MAKE_ENV) \
+		$(HOST_DIR)/bin/python2 tools/gn/bootstrap/bootstrap.py -s --no-clean; \
+		HOST_AR="$(HOSTAR)" \
+		HOST_NM="$(HOSTNM)" \
+		HOST_CC="$(HOSTCC)" \
+		HOST_CXX="$(HOSTCXX)" \
+		HOST_CFLAGS="$(HOST_CFLAGS)" \
+		HOST_CXXFLAGS="$(HOST_CXXFLAGS)" \
+		V8_AR="$(HOSTAR)" \
+		V8_NM="$(HOSTNM)" \
+		V8_CC="clang" \
+		V8_CXX="clang++" \
+		V8_CFLAGS="$(CHROMIUM_HOST_CFLAGS)" \
+		V8_CXXFLAGS="$(CHROMIUM_HOST_CXXFLAGS)" \
+		V8_LDFLAGS="$(CHROMIUM_HOST_LDFLAGS)" \
+		TARGET_AR="ar" \
+		TARGET_NM="nm" \
+		TARGET_CC="clang" \
+		TARGET_CXX="clang++" \
+		TARGET_CFLAGS="$(CHROMIUM_TARGET_CFLAGS)" \
+		TARGET_CXXFLAGS="$(CHROMIUM_TARGET_CXXFLAGS)" \
+		TARGET_LDFLAGS="$(CHROMIUM_TARGET_LDFLAGS)" \
+		out/Release/gn gen out/Release --args="$(CHROMIUM_OPTS)" \
+			--script-executable=$(HOST_DIR)/bin/python2 \
+	)
+endef
+
+define CHROMIUM_BUILD_CMDS
+	( cd $(@D); \
+		$(TARGET_MAKE_ENV) \
+		ninja -j$(PARALLEL_JOBS) -C out/Release chrome chrome_sandbox chromedriver \
+	)
+endef
+
+define CHROMIUM_INSTALL_TARGET_CMDS
+	$(INSTALL) -D $(@D)/out/Release/chrome $(TARGET_DIR)/usr/lib/chromium/chromium
+	$(INSTALL) -Dm4755 $(@D)/out/Release/chrome_sandbox \
+		$(TARGET_DIR)/usr/lib/chromium/chrome-sandbox
+	cp $(@D)/out/Release/{chrome_{100,200}_percent,resources}.pak \
+		$(@D)/out/Release/{*.bin,chromedriver} \
+		$(TARGET_DIR)/usr/lib/chromium/
+	$(INSTALL) -Dm644 -t $(TARGET_DIR)/usr/lib/chromium/locales \
+		$(@D)/out/Release/locales/*.pak
+	cp $(@D)/out/Release/icudtl.dat $(TARGET_DIR)/usr/lib/chromium/	
+endef
+
+$(eval $(generic-package))
diff --git a/package/chromium/toolchain/BUILD.gn b/package/chromium/toolchain/BUILD.gn
new file mode 100644
index 0000000000..e8525bd67d
--- /dev/null
+++ b/package/chromium/toolchain/BUILD.gn
@@ -0,0 +1,71 @@
+import("//build/toolchain/gcc_toolchain.gni")
+import("//build/config/sysroot.gni")
+
+gcc_toolchain("host") {
+  cc = getenv("HOST_CC")
+  cxx = getenv("HOST_CXX")
+  ar = getenv("HOST_AR")
+  nm = getenv("HOST_NM")
+  ld = cxx
+
+  extra_cflags = getenv("HOST_CFLAGS")
+  extra_cppflags = getenv("HOST_CPPFLAGS")
+  extra_cxxflags = getenv("HOST_CXXFLAGS")
+  extra_ldflags = getenv("HOST_LDFLAGS")
+
+  toolchain_args = {
+    cc_wrapper = ""
+    current_cpu = host_cpu
+    current_os = host_os
+    is_clang = false
+    use_sysroot = false
+    use_lld = false
+  }
+}
+
+gcc_toolchain("target") {
+  cc = getenv("TARGET_CC")
+  cxx = getenv("TARGET_CXX")
+  ar = getenv("TARGET_AR")
+  nm = getenv("TARGET_NM")
+  ld = cxx
+
+  extra_cflags = getenv("TARGET_CFLAGS")
+  extra_cppflags = getenv("TARGET_CPPFLAGS")
+  extra_cxxflags = getenv("TARGET_CXXFLAGS")
+  extra_ldflags = getenv("TARGET_LDFLAGS")
+
+  toolchain_args = {
+    cc_wrapper = ""
+    current_cpu = target_cpu
+    current_os = target_os
+    is_clang = is_clang
+    use_sysroot = use_sysroot
+  }
+}
+
+gcc_toolchain("v8_snapshot") {
+  cc = getenv("V8_CC")
+  cxx = getenv("V8_CXX")
+  ar = getenv("V8_AR")
+  nm = getenv("V8_NM")
+  ld = cxx
+
+  extra_cflags = getenv("V8_CFLAGS")
+  extra_cppflags = getenv("V8_CPPFLAGS")
+  extra_cxxflags = getenv("V8_CXXFLAGS")
+  extra_ldflags = getenv("V8_LDFLAGS")
+
+  toolchain_args = {
+    cc_wrapper = ""
+    if (target_cpu == "x86" || target_cpu == "arm" || target_cpu == "mipsel") {
+      current_cpu = "x86"
+    } else {
+      current_cpu = "x64"
+    }
+    current_os = host_os
+    is_clang = is_clang
+    use_sysroot = false
+  }
+}
+
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v3 5/9] llvm: add config to build backend for host arch
  2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 5/9] llvm: add config to build backend for host arch Joseph Kogut
@ 2018-06-11  9:06       ` Valentin Korenblit
  2018-06-11 16:24         ` Joseph Kogut
  2018-06-11 17:54         ` Joseph Kogut
  0 siblings, 2 replies; 66+ messages in thread
From: Valentin Korenblit @ 2018-06-11  9:06 UTC (permalink / raw)
  To: buildroot

Hi Joseph,

On 10/06/2018 22:54, Joseph Kogut wrote:
> Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
> ---
>   package/llvm/Config.in | 9 +++++++++
>   package/llvm/llvm.mk   | 5 +++++
>   2 files changed, 14 insertions(+)
>
> diff --git a/package/llvm/Config.in b/package/llvm/Config.in
> index 83e94660eb..e9c461b92f 100644
> --- a/package/llvm/Config.in
> +++ b/package/llvm/Config.in
> @@ -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
> +

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"

>   config BR2_PACKAGE_LLVM
>   	bool "llvm"
>   	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
> diff --git a/package/llvm/llvm.mk b/package/llvm/llvm.mk
> index 3abf428989..04e99eb5b4 100644
> --- a/package/llvm/llvm.mk
> +++ b/package/llvm/llvm.mk
> @@ -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.

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

Best regards,

Valentin

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v3 5/9] llvm: add config to build backend for host arch
  2018-06-11  9:06       ` Valentin Korenblit
@ 2018-06-11 16:24         ` Joseph Kogut
  2018-06-11 17:54         ` Joseph Kogut
  1 sibling, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-11 16:24 UTC (permalink / raw)
  To: buildroot

Hi Valentin,

On Mon, Jun 11, 2018 at 2:06 AM, Valentin Korenblit
<valentin.korenblit@smile.fr> wrote:
> Hi Joseph,
>
> On 10/06/2018 22:54, Joseph Kogut wrote:
>>
>> Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
>> ---
>>   package/llvm/Config.in | 9 +++++++++
>>   package/llvm/llvm.mk   | 5 +++++
>>   2 files changed, 14 insertions(+)
>>
>> diff --git a/package/llvm/Config.in b/package/llvm/Config.in
>> index 83e94660eb..e9c461b92f 100644
>> --- a/package/llvm/Config.in
>> +++ b/package/llvm/Config.in
>> @@ -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
>> +
>
>
> 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.

> config BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH
>         bool "Build backend for host architecture"
>
>>   config BR2_PACKAGE_LLVM
>>         bool "llvm"
>>         depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
>> diff --git a/package/llvm/llvm.mk b/package/llvm/llvm.mk
>> index 3abf428989..04e99eb5b4 100644
>> --- a/package/llvm/llvm.mk
>> +++ b/package/llvm/llvm.mk
>> @@ -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.
>

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

>>   # 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

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v3 5/9] llvm: add config to build backend for host arch
  2018-06-11  9:06       ` Valentin Korenblit
  2018-06-11 16:24         ` Joseph Kogut
@ 2018-06-11 17:54         ` Joseph Kogut
  2018-06-12 13:46           ` Valentin Korenblit
  1 sibling, 1 reply; 66+ messages in thread
From: Joseph Kogut @ 2018-06-11 17:54 UTC (permalink / raw)
  To: buildroot

Hi Valentin,

On Mon, Jun 11, 2018 at 2:06 AM, Valentin Korenblit
<valentin.korenblit@smile.fr> wrote:
> Hi Joseph,
>
> On 10/06/2018 22:54, Joseph Kogut wrote:

<snip>

>>   +# 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.
>

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.

>>   # Use native llvm-tblgen from host-llvm (needed for cross-compilation)
>>   LLVM_CONF_OPTS += -DLLVM_TABLEGEN=$(HOST_DIR)/bin/llvm-tblgen
>>
>
>
> Best regards,
>
> Valentin
>

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v3 5/9] llvm: add config to build backend for host arch
  2018-06-11 17:54         ` Joseph Kogut
@ 2018-06-12 13:46           ` Valentin Korenblit
  0 siblings, 0 replies; 66+ messages in thread
From: Valentin Korenblit @ 2018-06-12 13:46 UTC (permalink / raw)
  To: buildroot

Hi Joseph,

On 11/06/2018 19:54, Joseph Kogut wrote:
> Hi Valentin,
>
> On Mon, Jun 11, 2018 at 2:06 AM, Valentin Korenblit
> <valentin.korenblit@smile.fr> wrote:
>> Hi Joseph,
>>
>> On 10/06/2018 22:54, Joseph Kogut wrote:
> <snip>
>
>>>    +# 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.
>>
> 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.

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.

>>>    # Use native llvm-tblgen from host-llvm (needed for cross-compilation)
>>>    LLVM_CONF_OPTS += -DLLVM_TABLEGEN=$(HOST_DIR)/bin/llvm-tblgen
>>>
Best regards,

Valentin

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH 6/8] llvm: bump to version 6.0.0
  2018-06-08 22:59 ` [Buildroot] [RFC PATCH 6/8] llvm: bump to version 6.0.0 Joseph Kogut
@ 2018-06-12 14:34   ` Valentin Korenblit
  2018-06-12 17:07     ` Joseph Kogut
  0 siblings, 1 reply; 66+ messages in thread
From: Valentin Korenblit @ 2018-06-12 14:34 UTC (permalink / raw)
  To: buildroot

Joseph, all,

On 09/06/2018 00:59, Joseph Kogut wrote:
> Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
> ---
>   ...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
>   
> -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

Tested-by: Valentin Korenblit <valentin.korenblit@smile.fr>

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

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH 6/8] llvm: bump to version 6.0.0
  2018-06-12 14:34   ` Valentin Korenblit
@ 2018-06-12 17:07     ` Joseph Kogut
  0 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-12 17:07 UTC (permalink / raw)
  To: buildroot

Valentin,

On Tue, Jun 12, 2018 at 7:34 AM Valentin Korenblit
<valentin.korenblit@smile.fr> wrote:
>
> Joseph, all,
>
> On 09/06/2018 00:59, Joseph Kogut wrote:
> > Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
> > ---
> >   ...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
> >
> > -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
>
> Tested-by: Valentin Korenblit <valentin.korenblit@smile.fr>
>
> 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.

> 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

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 0/9] chromium: new package
  2018-06-10 20:54   ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
                       ` (8 preceding siblings ...)
  2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 9/9] chromium: " Joseph Kogut
@ 2018-06-14 22:48     ` Joseph Kogut
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 1/9] atk: bump to version 2.28.1 Joseph Kogut
                         ` (8 more replies)
  9 siblings, 9 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-14 22:48 UTC (permalink / raw)
  To: buildroot

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

-- 
2.17.1

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 1/9] atk: bump to version 2.28.1
  2018-06-14 22:48     ` [Buildroot] [RFC PATCH v4 0/9] " Joseph Kogut
@ 2018-06-14 22:48       ` Joseph Kogut
  2018-06-15 19:38         ` Thomas Petazzoni
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 2/9] at-spi2-core: new package Joseph Kogut
                         ` (7 subsequent siblings)
  8 siblings, 1 reply; 66+ messages in thread
From: Joseph Kogut @ 2018-06-14 22:48 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 package/atk/atk.hash | 4 ++--
 package/atk/atk.mk   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/package/atk/atk.hash b/package/atk/atk.hash
index 12c98706dd..80aeecaee9 100644
--- a/package/atk/atk.hash
+++ b/package/atk/atk.hash
@@ -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
diff --git a/package/atk/atk.mk b/package/atk/atk.mk
index 88cf5fbc0a..64950bfd08 100644
--- a/package/atk/atk.mk
+++ b/package/atk/atk.mk
@@ -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+
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 2/9] at-spi2-core: new package
  2018-06-14 22:48     ` [Buildroot] [RFC PATCH v4 0/9] " Joseph Kogut
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 1/9] atk: bump to version 2.28.1 Joseph Kogut
@ 2018-06-14 22:48       ` Joseph Kogut
  2018-06-15 19:45         ` Thomas Petazzoni
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 3/9] at-spi2-atk: " Joseph Kogut
                         ` (6 subsequent siblings)
  8 siblings, 1 reply; 66+ messages in thread
From: Joseph Kogut @ 2018-06-14 22:48 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 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

diff --git a/DEVELOPERS b/DEVELOPERS
index 1a8440759e..31c651b938 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -955,6 +955,7 @@ F:	board/qemu/ppc64le-pseries/
 F:	configs/qemu_ppc64le_pseries_defconfig
 
 N:	Joseph Kogut <joseph.kogut@gmail.com>
+F:	package/at-spi2-core/
 F:	package/gconf/
 F:	package/libnss/
 F:	package/python-cython/
diff --git a/package/Config.in b/package/Config.in
index 6a1606e568..692b422911 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/at-spi2-core/Config.in b/package/at-spi2-core/Config.in
new file mode 100644
index 0000000000..9c60c51792
--- /dev/null
+++ b/package/at-spi2-core/Config.in
@@ -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.
diff --git a/package/at-spi2-core/at-spi2-core.hash b/package/at-spi2-core/at-spi2-core.hash
new file mode 100644
index 0000000000..e792cc0e0a
--- /dev/null
+++ b/package/at-spi2-core/at-spi2-core.hash
@@ -0,0 +1,4 @@
+# locally calculated
+sha256 42a2487ab11ce43c288e73b2668ef8b1ab40a0e2b4f94e80fca04ad27b6f1c87  at-spi2-core-2.28.0.tar.xz
+sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b  COPYING
+
diff --git a/package/at-spi2-core/at-spi2-core.mk b/package/at-spi2-core/at-spi2-core.mk
new file mode 100644
index 0000000000..88800e2ce7
--- /dev/null
+++ b/package/at-spi2-core/at-spi2-core.mk
@@ -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
+	$(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))
+
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 3/9] at-spi2-atk: new package
  2018-06-14 22:48     ` [Buildroot] [RFC PATCH v4 0/9] " Joseph Kogut
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 1/9] atk: bump to version 2.28.1 Joseph Kogut
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 2/9] at-spi2-core: new package Joseph Kogut
@ 2018-06-14 22:48       ` Joseph Kogut
  2018-06-15 19:47         ` Thomas Petazzoni
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 4/9] libgtk3: remove patch to disable atk-bridge support Joseph Kogut
                         ` (5 subsequent siblings)
  8 siblings, 1 reply; 66+ messages in thread
From: Joseph Kogut @ 2018-06-14 22:48 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 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

diff --git a/DEVELOPERS b/DEVELOPERS
index 31c651b938..568f47d242 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -955,6 +955,7 @@ F:	board/qemu/ppc64le-pseries/
 F:	configs/qemu_ppc64le_pseries_defconfig
 
 N:	Joseph Kogut <joseph.kogut@gmail.com>
+F:	package/at-spi2-atk/
 F:	package/at-spi2-core/
 F:	package/gconf/
 F:	package/libnss/
diff --git a/package/Config.in b/package/Config.in
index 692b422911..c2e619b317 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/at-spi2-atk/Config.in b/package/at-spi2-atk/Config.in
new file mode 100644
index 0000000000..b354c77ffe
--- /dev/null
+++ b/package/at-spi2-atk/Config.in
@@ -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.
diff --git a/package/at-spi2-atk/at-spi2-atk.hash b/package/at-spi2-atk/at-spi2-atk.hash
new file mode 100644
index 0000000000..6f7d68ab87
--- /dev/null
+++ b/package/at-spi2-atk/at-spi2-atk.hash
@@ -0,0 +1,4 @@
+# locally calculated
+sha256 61891f0abae1689f6617a963105a3f1dcdab5970c4a36ded9c79a7a544b16a6e  at-spi2-atk-2.26.2.tar.xz
+sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b  COPYING
+
diff --git a/package/at-spi2-atk/at-spi2-atk.mk b/package/at-spi2-atk/at-spi2-atk.mk
new file mode 100644
index 0000000000..a3bccbb0d9
--- /dev/null
+++ b/package/at-spi2-atk/at-spi2-atk.mk
@@ -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))
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 4/9] libgtk3: remove patch to disable atk-bridge support
  2018-06-14 22:48     ` [Buildroot] [RFC PATCH v4 0/9] " Joseph Kogut
                         ` (2 preceding siblings ...)
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 3/9] at-spi2-atk: " Joseph Kogut
@ 2018-06-14 22:48       ` Joseph Kogut
  2018-06-15 19:53         ` Thomas Petazzoni
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 5/9] llvm: add config to build backend for host arch Joseph Kogut
                         ` (4 subsequent siblings)
  8 siblings, 1 reply; 66+ messages in thread
From: Joseph Kogut @ 2018-06-14 22:48 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 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

diff --git a/package/libgtk3/0003-disable-atk-bridge.patch b/package/libgtk3/0003-disable-atk-bridge.patch
deleted file mode 100644
index c92174f400..0000000000
--- a/package/libgtk3/0003-disable-atk-bridge.patch
+++ /dev/null
@@ -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 <hadrien.boutteville@gmail.com>
-
---- 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);
- }
diff --git a/package/libgtk3/Config.in b/package/libgtk3/Config.in
index 12e64707bd..f14b9deaf8 100644
--- a/package/libgtk3/Config.in
+++ b/package/libgtk3/Config.in
@@ -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
diff --git a/package/libgtk3/libgtk3.mk b/package/libgtk3/libgtk3.mk
index 1b85d00aae..e3c3dc5237 100644
--- a/package/libgtk3/libgtk3.mk
+++ b/package/libgtk3/libgtk3.mk
@@ -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
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 5/9] llvm: add config to build backend for host arch
  2018-06-14 22:48     ` [Buildroot] [RFC PATCH v4 0/9] " Joseph Kogut
                         ` (3 preceding siblings ...)
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 4/9] libgtk3: remove patch to disable atk-bridge support Joseph Kogut
@ 2018-06-14 22:48       ` Joseph Kogut
  2018-06-15 20:10         ` Thomas Petazzoni
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 6/9] llvm: bump to version 6.0.0 Joseph Kogut
                         ` (3 subsequent siblings)
  8 siblings, 1 reply; 66+ messages in thread
From: Joseph Kogut @ 2018-06-14 22:48 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 package/llvm/Config.in | 11 +++++++++++
 package/llvm/llvm.mk   |  9 ++++++++-
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/package/llvm/Config.in b/package/llvm/Config.in
index 83e94660eb..dd07b23e07 100644
--- a/package/llvm/Config.in
+++ b/package/llvm/Config.in
@@ -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
diff --git a/package/llvm/llvm.mk b/package/llvm/llvm.mk
index 3abf428989..50cc74d299 100644
--- a/package/llvm/llvm.mk
+++ b/package/llvm/llvm.mk
@@ -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
 
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 6/9] llvm: bump to version 6.0.0
  2018-06-14 22:48     ` [Buildroot] [RFC PATCH v4 0/9] " Joseph Kogut
                         ` (4 preceding siblings ...)
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 5/9] llvm: add config to build backend for host arch Joseph Kogut
@ 2018-06-14 22:48       ` Joseph Kogut
  2018-06-15 20:20         ` Thomas Petazzoni
  2018-06-15 20:51         ` Thomas Petazzoni
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 7/9] clang: " Joseph Kogut
                         ` (2 subsequent siblings)
  8 siblings, 2 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-14 22:48 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 ...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

diff --git a/package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch b/package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
deleted file mode 100644
index 0343b4c7e8..0000000000
--- a/package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 72ea6ea635d5b5a88f411710daf7e1d340d232d8 Mon Sep 17 00:00:00 2001
-From: Tilmann Scheller <tschelle@redhat.com>
-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 <valentin.korenblit@smile.fr>
----
- 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
-
diff --git a/package/llvm/llvm.hash b/package/llvm/llvm.hash
index 14f8bb4488..93bdf2e20e 100644
--- a/package/llvm/llvm.hash
+++ b/package/llvm/llvm.hash
@@ -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
diff --git a/package/llvm/llvm.mk b/package/llvm/llvm.mk
index 50cc74d299..ab79e76aa8 100644
--- a/package/llvm/llvm.mk
+++ b/package/llvm/llvm.mk
@@ -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
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 7/9] clang: bump to version 6.0.0
  2018-06-14 22:48     ` [Buildroot] [RFC PATCH v4 0/9] " Joseph Kogut
                         ` (5 preceding siblings ...)
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 6/9] llvm: bump to version 6.0.0 Joseph Kogut
@ 2018-06-14 22:48       ` Joseph Kogut
  2018-06-15 20:51         ` Thomas Petazzoni
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 8/9] lld: new package Joseph Kogut
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 9/9] chromium: " Joseph Kogut
  8 siblings, 1 reply; 66+ messages in thread
From: Joseph Kogut @ 2018-06-14 22:48 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 package/clang/clang.hash | 2 +-
 package/clang/clang.mk   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/package/clang/clang.hash b/package/clang/clang.hash
index bf54f9bb53..600c3cc9a4 100644
--- a/package/clang/clang.hash
+++ b/package/clang/clang.hash
@@ -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
diff --git a/package/clang/clang.mk b/package/clang/clang.mk
index dc086c6eed..f828bac72a 100644
--- a/package/clang/clang.mk
+++ b/package/clang/clang.mk
@@ -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
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 8/9] lld: new package
  2018-06-14 22:48     ` [Buildroot] [RFC PATCH v4 0/9] " Joseph Kogut
                         ` (6 preceding siblings ...)
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 7/9] clang: " Joseph Kogut
@ 2018-06-14 22:48       ` Joseph Kogut
  2018-06-15 21:01         ` Thomas Petazzoni
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 9/9] chromium: " Joseph Kogut
  8 siblings, 1 reply; 66+ messages in thread
From: Joseph Kogut @ 2018-06-14 22:48 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 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

diff --git a/DEVELOPERS b/DEVELOPERS
index 568f47d242..ef6fd32fed 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -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/
diff --git a/package/Config.in b/package/Config.in
index c2e619b317..e4eb87b574 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/lld/Config.in b/package/lld/Config.in
new file mode 100644
index 0000000000..0ad50fd608
--- /dev/null
+++ b/package/lld/Config.in
@@ -0,0 +1,3 @@
+config BR2_PACKAGE_LLD
+	bool "lld"
+	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
diff --git a/package/lld/lld.hash b/package/lld/lld.hash
new file mode 100644
index 0000000000..ce81c7baca
--- /dev/null
+++ b/package/lld/lld.hash
@@ -0,0 +1,3 @@
+# locally calculated
+sha256 6b8c4a833cf30230c0213d78dbac01af21387b298225de90ab56032ca79c0e0b  lld-6.0.0.src.tar.xz
+sha256 f0502d2d0e19748c534ee95ea486c092273303dbef76404c8b17dc8bf6ca441b  LICENSE.TXT
diff --git a/package/lld/lld.mk b/package/lld/lld.mk
new file mode 100644
index 0000000000..cfaf3dbd29
--- /dev/null
+++ b/package/lld/lld.mk
@@ -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))
+
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 9/9] chromium: new package
  2018-06-14 22:48     ` [Buildroot] [RFC PATCH v4 0/9] " Joseph Kogut
                         ` (7 preceding siblings ...)
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 8/9] lld: new package Joseph Kogut
@ 2018-06-14 22:48       ` Joseph Kogut
  2018-06-20 20:57         ` Matthew Weber
  8 siblings, 1 reply; 66+ messages in thread
From: Joseph Kogut @ 2018-06-14 22:48 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 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

diff --git a/DEVELOPERS b/DEVELOPERS
index ef6fd32fed..1ad680509c 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -957,6 +957,7 @@ F:	configs/qemu_ppc64le_pseries_defconfig
 N:	Joseph Kogut <joseph.kogut@gmail.com>
 F:	package/at-spi2-atk/
 F:	package/at-spi2-core/
+F:	package/chromium/
 F:	package/gconf/
 F:	package/libnss/
 F:	package/lld/
diff --git a/package/Config.in b/package/Config.in
index e4eb87b574..80248a798c 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/chromium/0001-modify-compiler_cpu_abi-for-buildroot-toolchain.patch b/package/chromium/0001-modify-compiler_cpu_abi-for-buildroot-toolchain.patch
new file mode 100644
index 0000000000..1848b0bd14
--- /dev/null
+++ b/package/chromium/0001-modify-compiler_cpu_abi-for-buildroot-toolchain.patch
@@ -0,0 +1,102 @@
+From 3d5106d1d4720e1be8a4bd977be38743d6fb1f3c Mon Sep 17 00:00:00 2001
+From: Joseph Kogut <joseph.kogut@gmail.com>
+Date: Sun, 10 Jun 2018 09:59:11 -0700
+Subject: [PATCH] modify compiler_cpu_abi for buildroot toolchain
+
+Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
+---
+ build/config/compiler/BUILD.gn | 36 +++++++++++++++++++---------------
+ 1 file changed, 20 insertions(+), 16 deletions(-)
+
+diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
+index 461e62da2..27c9f29ed 100644
+--- a/build/config/compiler/BUILD.gn
++++ b/build/config/compiler/BUILD.gn
+@@ -683,6 +683,10 @@ config("compiler_cpu_abi") {
+         "-march=x86-64",
+       ]
+       ldflags += [ "-m64" ]
++      if (is_clang) {
++        cflags += ["--target=x86_64-buildroot-linux-gnu"]
++        ldflags += ["--target=x86_64-buildroot-linux-gnu"]
++      }
+     } else if (current_cpu == "x86") {
+       cflags += [ "-m32" ]
+       ldflags += [ "-m32" ]
+@@ -695,8 +699,8 @@ config("compiler_cpu_abi") {
+       }
+     } else if (current_cpu == "arm") {
+       if (is_clang && !is_android && !is_nacl) {
+-        cflags += [ "--target=arm-linux-gnueabihf" ]
+-        ldflags += [ "--target=arm-linux-gnueabihf" ]
++        cflags += [ "--target=arm-buildroot-linux-gnueabihf" ]
++        ldflags += [ "--target=arm-buildroot-linux-gnueabihf" ]
+       }
+       if (!is_nacl) {
+         cflags += [
+@@ -709,18 +713,18 @@ config("compiler_cpu_abi") {
+       }
+     } else if (current_cpu == "arm64") {
+       if (is_clang && !is_android && !is_nacl && !is_fuchsia) {
+-        cflags += [ "--target=aarch64-linux-gnu" ]
+-        ldflags += [ "--target=aarch64-linux-gnu" ]
++        cflags += [ "--target=aarch64-buildroot-linux-gnu" ]
++        ldflags += [ "--target=aarch64-buildroot-linux-gnu" ]
+       }
+     } else if (current_cpu == "mipsel" && !is_nacl) {
+       if (custom_toolchain == "") {
+         if (is_clang) {
+           if (is_android) {
+-            cflags += [ "--target=mipsel-linux-android" ]
+-            ldflags += [ "--target=mipsel-linux-android" ]
++            cflags += [ "--target=mipsel-buildroot-linux-android" ]
++            ldflags += [ "--target=mipsel-buildroot-linux-android" ]
+           } else {
+-            cflags += [ "--target=mipsel-linux-gnu" ]
+-            ldflags += [ "--target=mipsel-linux-gnu" ]
++            cflags += [ "--target=mipsel-buildroot-linux-gnu" ]
++            ldflags += [ "--target=mipsel-buildroot-linux-gnu" ]
+           }
+         } else {
+           cflags += [ "-EL" ]
+@@ -799,8 +803,8 @@ config("compiler_cpu_abi") {
+     } else if (current_cpu == "mips" && !is_nacl) {
+       if (custom_toolchain == "") {
+         if (is_clang) {
+-          cflags += [ "--target=mips-linux-gnu" ]
+-          ldflags += [ "--target=mips-linux-gnu" ]
++          cflags += [ "--target=mips-buildroot-linux-gnu" ]
++          ldflags += [ "--target=mips-buildroot-linux-gnu" ]
+         } else {
+           cflags += [ "-EB" ]
+           ldflags += [ "-EB" ]
+@@ -844,11 +848,11 @@ config("compiler_cpu_abi") {
+       if (custom_toolchain == "") {
+         if (is_clang) {
+           if (is_android) {
+-            cflags += [ "--target=mips64el-linux-android" ]
+-            ldflags += [ "--target=mips64el-linux-android" ]
++            cflags += [ "--target=mips64el-buildroot-linux-android" ]
++            ldflags += [ "--target=mips64el-buildroot-linux-android" ]
+           } else {
+-            cflags += [ "--target=mips64el-linux-gnuabi64" ]
+-            ldflags += [ "--target=mips64el-linux-gnuabi64" ]
++            cflags += [ "--target=mips64el-buildroot-linux-gnuabi64" ]
++            ldflags += [ "--target=mips64el-buildroot-linux-gnuabi64" ]
+           }
+         } else {
+           cflags += [
+@@ -905,8 +909,8 @@ config("compiler_cpu_abi") {
+     } else if (current_cpu == "mips64") {
+       if (custom_toolchain == "") {
+         if (is_clang) {
+-          cflags += [ "--target=mips64-linux-gnuabi64" ]
+-          ldflags += [ "--target=mips64-linux-gnuabi64" ]
++          cflags += [ "--target=mips64-buildroot-linux-gnuabi64" ]
++          ldflags += [ "--target=mips64-buildroot-linux-gnuabi64" ]
+         } else {
+           cflags += [
+             "-EB",
+-- 
+2.17.1
+
diff --git a/package/chromium/0002-Fix-arm-build-with-glibc-2.27.patch b/package/chromium/0002-Fix-arm-build-with-glibc-2.27.patch
new file mode 100644
index 0000000000..8aebbd06c8
--- /dev/null
+++ b/package/chromium/0002-Fix-arm-build-with-glibc-2.27.patch
@@ -0,0 +1,28 @@
+From aed4599c18586dfac46139a3c32011f804fdaef6 Mon Sep 17 00:00:00 2001
+From: Joseph Kogut <joseph.kogut@gmail.com>
+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 <joseph.kogut@gmail.com>
+---
+ 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
+
diff --git a/package/chromium/Config.in b/package/chromium/Config.in
new file mode 100644
index 0000000000..aa71d0e2dd
--- /dev/null
+++ b/package/chromium/Config.in
@@ -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
+	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
diff --git a/package/chromium/chromium.hash b/package/chromium/chromium.hash
new file mode 100644
index 0000000000..4c39ac5c08
--- /dev/null
+++ b/package/chromium/chromium.hash
@@ -0,0 +1,3 @@
+# locally calculated
+sha256 f8b1e5319163e378027826b12cf256b97423bb90e10e2013469d96e03bc9db8a  chromium-67.0.3396.79.tar.xz
+sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308  LICENSE
diff --git a/package/chromium/chromium.mk b/package/chromium/chromium.mk
new file mode 100644
index 0000000000..1b553311a8
--- /dev/null
+++ b/package/chromium/chromium.mk
@@ -0,0 +1,127 @@
+################################################################################
+#
+# Chromium
+#
+################################################################################
+
+CHROMIUM_VERSION = 67.0.3396.79
+CHROMIUM_SITE = https://commondatastorage.googleapis.com/chromium-browser-official
+CHROMIUM_SOURCE = chromium-$(CHROMIUM_VERSION).tar.xz
+CHROMIUM_LICENSE = BSD-Style
+CHROMIUM_LICENSE_FILES = LICENSE
+CHROMIUM_DEPENDENCIES = alsa-lib cairo cups dbus freetype harfbuzz \
+			host-clang host-lld host-ninja host-nodejs host-python \
+			jpeg libdrm libglib2 libkrb5 libnss libpng pango \
+			pciutils xlib_libXcomposite xlib_libXScrnSaver \
+			xlib_libXcursor xlib_libXrandr zlib
+
+CHROMIUM_TOOLCHAIN_CONFIG_PATH = $(shell pwd)/package/chromium/toolchain
+
+CHROMIUM_OPTS = \
+	host_toolchain=\"$(CHROMIUM_TOOLCHAIN_CONFIG_PATH):host\" \
+	custom_toolchain=\"$(CHROMIUM_TOOLCHAIN_CONFIG_PATH):target\" \
+	use_lld=true \
+	is_clang=true \
+	clang_use_chrome_plugins=false \
+	treat_warnings_as_errors=false \
+	use_gnome_keyring=false \
+	linux_use_bundled_binutils=false \
+	use_sysroot=false \
+	target_sysroot=\"$(STAGING_DIR)\" \
+	target_cpu=\"$(BR2_PACKAGE_CHROMIUM_TARGET_ARCH)\" \
+	enable_nacl=false \
+	use_dbus=true \
+	use_cups=true \
+	use_system_zlib=true \
+	use_system_libjpeg=true \
+	use_system_libpng=true \
+	use_system_libdrm=true \
+	use_system_harfbuzz=true \
+	use_system_freetype=true
+
+# tcmalloc has portability issues
+CHROMIUM_OPTS += use_allocator=\"none\"
+
+# V8 snapshots require compiling V8 with the same word size as the target
+# architecture, which means the host needs to have that toolchain available.
+CHROMIUM_OPTS += v8_use_snapshot=false
+
+ifeq ($(BR2_ENABLE_DEBUG),y)
+CHROMIUM_OPTS += is_debug=true
+else
+CHROMIUM_OPTS += is_debug=false
+endif
+
+ifeq ($(BR2_PACKAGE_PULSEAUDIO),y)
+CHROMIUM_DEPENDENCIES += pulseaudio
+CHROMIUM_OPTS += use_pulseaudio=true
+else
+CHROMIUM_OPTS += use_pulseaudio=false
+endif
+
+ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y)
+CHROMIUM_DEPENDENCIES += libgtk3
+CHROMIUM_OPTS += use_gtk3=true
+else
+CHROMIUM_DEPENDENCIES += libgtk2 xlib_libXi xlib_libXtst
+CHROMIUM_OPTS += use_gtk3=false
+endif
+
+ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y)
+CHROMIUM_TARGET_LDFLAGS += --gcc-toolchain=$(TOOLCHAIN_EXTERNAL_INSTALL_DIR)
+else
+CHROMIUM_TARGET_LDFLAGS += --gcc-toolchain=$(HOST_DIR)
+endif
+
+CHROMIUM_TARGET_CFLAGS += $(CHROMIUM_TARGET_LDFLAGS)
+CHROMIUM_TARGET_CXXFLAGS += $(CHROMIUM_TARGET_CFLAGS)
+
+CHROMIUM_HOST_CFLAGS += --target=$(HOSTARCH)-buildroot-linux-gnu
+CHROMIUM_HOST_CXXFLAGS += $(CHROMIUM_HOST_CFLAGS)
+CHROMIUM_HOST_LDFLAGS += --gcc-toolchain="/usr"
+
+define CHROMIUM_CONFIGURE_CMDS
+	mkdir -p $(@D)/third_party/node/linux/node-linux-x64/bin
+	ln -sf $(HOST_DIR)/bin/node $(@D)/third_party/node/linux/node-linux-x64/bin/
+
+	( cd $(@D); \
+		$(TARGET_MAKE_ENV) \
+		$(HOST_DIR)/bin/python2 tools/gn/bootstrap/bootstrap.py -s --no-clean; \
+		HOST_AR="$(HOSTAR)" \
+		HOST_NM="$(HOSTNM)" \
+		HOST_CC="$(HOSTCC)" \
+		HOST_CXX="$(HOSTCXX)" \
+		HOST_CFLAGS="$(HOST_CFLAGS)" \
+		HOST_CXXFLAGS="$(HOST_CXXFLAGS)" \
+		TARGET_AR="ar" \
+		TARGET_NM="nm" \
+		TARGET_CC="clang" \
+		TARGET_CXX="clang++" \
+		TARGET_CFLAGS="$(CHROMIUM_TARGET_CFLAGS)" \
+		TARGET_CXXFLAGS="$(CHROMIUM_TARGET_CXXFLAGS)" \
+		TARGET_LDFLAGS="$(CHROMIUM_TARGET_LDFLAGS)" \
+		out/Release/gn gen out/Release --args="$(CHROMIUM_OPTS)" \
+			--script-executable=$(HOST_DIR)/bin/python2 \
+	)
+endef
+
+define CHROMIUM_BUILD_CMDS
+	( cd $(@D); \
+		$(TARGET_MAKE_ENV) \
+		ninja -j$(PARALLEL_JOBS) -C out/Release chrome chrome_sandbox chromedriver \
+	)
+endef
+
+define CHROMIUM_INSTALL_TARGET_CMDS
+	$(INSTALL) -D $(@D)/out/Release/chrome $(TARGET_DIR)/usr/lib/chromium/chromium
+	$(INSTALL) -Dm4755 $(@D)/out/Release/chrome_sandbox \
+		$(TARGET_DIR)/usr/lib/chromium/chrome-sandbox
+	cp $(@D)/out/Release/{chrome_{100,200}_percent,resources}.pak \
+		$(@D)/out/Release/chromedriver \
+		$(TARGET_DIR)/usr/lib/chromium/
+	$(INSTALL) -Dm644 -t $(TARGET_DIR)/usr/lib/chromium/locales \
+		$(@D)/out/Release/locales/*.pak
+	cp $(@D)/out/Release/icudtl.dat $(TARGET_DIR)/usr/lib/chromium/
+endef
+
+$(eval $(generic-package))
diff --git a/package/chromium/toolchain/BUILD.gn b/package/chromium/toolchain/BUILD.gn
new file mode 100644
index 0000000000..e8525bd67d
--- /dev/null
+++ b/package/chromium/toolchain/BUILD.gn
@@ -0,0 +1,71 @@
+import("//build/toolchain/gcc_toolchain.gni")
+import("//build/config/sysroot.gni")
+
+gcc_toolchain("host") {
+  cc = getenv("HOST_CC")
+  cxx = getenv("HOST_CXX")
+  ar = getenv("HOST_AR")
+  nm = getenv("HOST_NM")
+  ld = cxx
+
+  extra_cflags = getenv("HOST_CFLAGS")
+  extra_cppflags = getenv("HOST_CPPFLAGS")
+  extra_cxxflags = getenv("HOST_CXXFLAGS")
+  extra_ldflags = getenv("HOST_LDFLAGS")
+
+  toolchain_args = {
+    cc_wrapper = ""
+    current_cpu = host_cpu
+    current_os = host_os
+    is_clang = false
+    use_sysroot = false
+    use_lld = false
+  }
+}
+
+gcc_toolchain("target") {
+  cc = getenv("TARGET_CC")
+  cxx = getenv("TARGET_CXX")
+  ar = getenv("TARGET_AR")
+  nm = getenv("TARGET_NM")
+  ld = cxx
+
+  extra_cflags = getenv("TARGET_CFLAGS")
+  extra_cppflags = getenv("TARGET_CPPFLAGS")
+  extra_cxxflags = getenv("TARGET_CXXFLAGS")
+  extra_ldflags = getenv("TARGET_LDFLAGS")
+
+  toolchain_args = {
+    cc_wrapper = ""
+    current_cpu = target_cpu
+    current_os = target_os
+    is_clang = is_clang
+    use_sysroot = use_sysroot
+  }
+}
+
+gcc_toolchain("v8_snapshot") {
+  cc = getenv("V8_CC")
+  cxx = getenv("V8_CXX")
+  ar = getenv("V8_AR")
+  nm = getenv("V8_NM")
+  ld = cxx
+
+  extra_cflags = getenv("V8_CFLAGS")
+  extra_cppflags = getenv("V8_CPPFLAGS")
+  extra_cxxflags = getenv("V8_CXXFLAGS")
+  extra_ldflags = getenv("V8_LDFLAGS")
+
+  toolchain_args = {
+    cc_wrapper = ""
+    if (target_cpu == "x86" || target_cpu == "arm" || target_cpu == "mipsel") {
+      current_cpu = "x86"
+    } else {
+      current_cpu = "x64"
+    }
+    current_os = host_os
+    is_clang = is_clang
+    use_sysroot = false
+  }
+}
+
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 1/9] atk: bump to version 2.28.1
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 1/9] atk: bump to version 2.28.1 Joseph Kogut
@ 2018-06-15 19:38         ` Thomas Petazzoni
  0 siblings, 0 replies; 66+ messages in thread
From: Thomas Petazzoni @ 2018-06-15 19:38 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu, 14 Jun 2018 15:48:12 -0700, Joseph Kogut wrote:
> Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
> ---
>  package/atk/atk.hash | 4 ++--
>  package/atk/atk.mk   | 4 ++--
>  2 files changed, 4 insertions(+), 4 deletions(-)

Applied to master, thanks.

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

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 2/9] at-spi2-core: new package
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 2/9] at-spi2-core: new package Joseph Kogut
@ 2018-06-15 19:45         ` Thomas Petazzoni
  0 siblings, 0 replies; 66+ messages in thread
From: Thomas Petazzoni @ 2018-06-15 19:45 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu, 14 Jun 2018 15:48:13 -0700, Joseph Kogut wrote:


> diff --git a/package/at-spi2-core/Config.in b/package/at-spi2-core/Config.in
> new file mode 100644
> index 0000000000..9c60c51792
> --- /dev/null
> +++ b/package/at-spi2-core/Config.in
> @@ -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

> +	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.

> diff --git a/package/at-spi2-core/at-spi2-core.hash b/package/at-spi2-core/at-spi2-core.hash
> new file mode 100644
> index 0000000000..e792cc0e0a
> --- /dev/null
> +++ b/package/at-spi2-core/at-spi2-core.hash
> @@ -0,0 +1,4 @@
> +# locally calculated
> +sha256 42a2487ab11ce43c288e73b2668ef8b1ab40a0e2b4f94e80fca04ad27b6f1c87  at-spi2-core-2.28.0.tar.xz
> +sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b  COPYING
> +

Unneeded empty line.

> diff --git a/package/at-spi2-core/at-spi2-core.mk b/package/at-spi2-core/at-spi2-core.mk
> new file mode 100644
> index 0000000000..88800e2ce7
> --- /dev/null
> +++ b/package/at-spi2-core/at-spi2-core.mk
> @@ -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
> +	$(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
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 3/9] at-spi2-atk: new package
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 3/9] at-spi2-atk: " Joseph Kogut
@ 2018-06-15 19:47         ` Thomas Petazzoni
  0 siblings, 0 replies; 66+ messages in thread
From: Thomas Petazzoni @ 2018-06-15 19:47 UTC (permalink / raw)
  To: buildroot

Hello Joseph,

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

On Thu, 14 Jun 2018 15:48:14 -0700, Joseph Kogut wrote:

> diff --git a/package/at-spi2-atk/Config.in b/package/at-spi2-atk/Config.in
> new file mode 100644
> index 0000000000..b354c77ffe
> --- /dev/null
> +++ b/package/at-spi2-atk/Config.in
> @@ -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".

> +	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

> diff --git a/package/at-spi2-atk/at-spi2-atk.hash b/package/at-spi2-atk/at-spi2-atk.hash
> new file mode 100644
> index 0000000000..6f7d68ab87
> --- /dev/null
> +++ b/package/at-spi2-atk/at-spi2-atk.hash
> @@ -0,0 +1,4 @@
> +# locally calculated
> +sha256 61891f0abae1689f6617a963105a3f1dcdab5970c4a36ded9c79a7a544b16a6e  at-spi2-atk-2.26.2.tar.xz
> +sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b  COPYING
> +

Line not needed.

> diff --git a/package/at-spi2-atk/at-spi2-atk.mk b/package/at-spi2-atk/at-spi2-atk.mk
> new file mode 100644
> index 0000000000..a3bccbb0d9
> --- /dev/null
> +++ b/package/at-spi2-atk/at-spi2-atk.mk
> @@ -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

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

> +AT_SPI2_ATK_DEPENDENCIES = atk at-spi2-core libglib2 host-pkgconf
> +
> +$(eval $(autotools-package))

Thanks!

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

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 4/9] libgtk3: remove patch to disable atk-bridge support
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 4/9] libgtk3: remove patch to disable atk-bridge support Joseph Kogut
@ 2018-06-15 19:53         ` Thomas Petazzoni
  2018-06-20 18:05           ` Joseph Kogut
  0 siblings, 1 reply; 66+ messages in thread
From: Thomas Petazzoni @ 2018-06-15 19:53 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu, 14 Jun 2018 15:48:15 -0700, Joseph Kogut wrote:
> Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
> ---
>  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
> 
> diff --git a/package/libgtk3/0003-disable-atk-bridge.patch b/package/libgtk3/0003-disable-atk-bridge.patch
> deleted file mode 100644
> index c92174f400..0000000000
> --- a/package/libgtk3/0003-disable-atk-bridge.patch
> +++ /dev/null
> @@ -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 <hadrien.boutteville@gmail.com>

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.

> -
> ---- 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);
> - }
> diff --git a/package/libgtk3/Config.in b/package/libgtk3/Config.in
> index 12e64707bd..f14b9deaf8 100644
> --- a/package/libgtk3/Config.in
> +++ b/package/libgtk3/Config.in
> @@ -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.

>  	select BR2_PACKAGE_CAIRO
>  	select BR2_PACKAGE_CAIRO_PS
>  	select BR2_PACKAGE_CAIRO_PDF
> diff --git a/package/libgtk3/libgtk3.mk b/package/libgtk3/libgtk3.mk
> index 1b85d00aae..e3c3dc5237 100644
> --- a/package/libgtk3/libgtk3.mk
> +++ b/package/libgtk3/libgtk3.mk
> @@ -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..

>  
>  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
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 5/9] llvm: add config to build backend for host arch
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 5/9] llvm: add config to build backend for host arch Joseph Kogut
@ 2018-06-15 20:10         ` Thomas Petazzoni
  0 siblings, 0 replies; 66+ messages in thread
From: Thomas Petazzoni @ 2018-06-15 20:10 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu, 14 Jun 2018 15:48:16 -0700, Joseph Kogut wrote:
> Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
> ---
>  package/llvm/Config.in | 11 +++++++++++
>  package/llvm/llvm.mk   |  9 ++++++++-
>  2 files changed, 19 insertions(+), 1 deletion(-)
> 
> diff --git a/package/llvm/Config.in b/package/llvm/Config.in
> index 83e94660eb..dd07b23e07 100644
> --- a/package/llvm/Config.in
> +++ b/package/llvm/Config.in
> @@ -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.

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.

> diff --git a/package/llvm/llvm.mk b/package/llvm/llvm.mk
> index 3abf428989..50cc74d299 100644
> --- a/package/llvm/llvm.mk
> +++ b/package/llvm/llvm.mk
> @@ -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

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
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 6/9] llvm: bump to version 6.0.0
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 6/9] llvm: bump to version 6.0.0 Joseph Kogut
@ 2018-06-15 20:20         ` Thomas Petazzoni
  2018-06-15 20:44           ` Joseph Kogut
  2018-06-15 20:51         ` Thomas Petazzoni
  1 sibling, 1 reply; 66+ messages in thread
From: Thomas Petazzoni @ 2018-06-15 20:20 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu, 14 Jun 2018 15:48:17 -0700, Joseph Kogut wrote:
> Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>

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
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 6/9] llvm: bump to version 6.0.0
  2018-06-15 20:20         ` Thomas Petazzoni
@ 2018-06-15 20:44           ` Joseph Kogut
  0 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-15 20:44 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

On Fri, Jun 15, 2018 at 1:21 PM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> Hello,
>
> On Thu, 14 Jun 2018 15:48:17 -0700, Joseph Kogut wrote:
> > Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
>
> 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!

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

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 6/9] llvm: bump to version 6.0.0
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 6/9] llvm: bump to version 6.0.0 Joseph Kogut
  2018-06-15 20:20         ` Thomas Petazzoni
@ 2018-06-15 20:51         ` Thomas Petazzoni
  1 sibling, 0 replies; 66+ messages in thread
From: Thomas Petazzoni @ 2018-06-15 20:51 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu, 14 Jun 2018 15:48:17 -0700, Joseph Kogut wrote:
> Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
> ---
>  ...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
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 7/9] clang: bump to version 6.0.0
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 7/9] clang: " Joseph Kogut
@ 2018-06-15 20:51         ` Thomas Petazzoni
  0 siblings, 0 replies; 66+ messages in thread
From: Thomas Petazzoni @ 2018-06-15 20:51 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu, 14 Jun 2018 15:48:18 -0700, Joseph Kogut wrote:
> Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
> ---
>  package/clang/clang.hash | 2 +-
>  package/clang/clang.mk   | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)

Applied to master, thanks.

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

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 8/9] lld: new package
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 8/9] lld: new package Joseph Kogut
@ 2018-06-15 21:01         ` Thomas Petazzoni
  2018-06-20 19:14           ` Joseph Kogut
  0 siblings, 1 reply; 66+ messages in thread
From: Thomas Petazzoni @ 2018-06-15 21:01 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu, 14 Jun 2018 15:48:19 -0700, Joseph Kogut wrote:

> diff --git a/package/lld/Config.in b/package/lld/Config.in
> new file mode 100644
> index 0000000000..0ad50fd608
> --- /dev/null
> +++ b/package/lld/Config.in
> @@ -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.

> diff --git a/package/lld/lld.hash b/package/lld/lld.hash
> new file mode 100644
> index 0000000000..ce81c7baca
> --- /dev/null
> +++ b/package/lld/lld.hash
> @@ -0,0 +1,3 @@
> +# locally calculated
> +sha256 6b8c4a833cf30230c0213d78dbac01af21387b298225de90ab56032ca79c0e0b  lld-6.0.0.src.tar.xz
> +sha256 f0502d2d0e19748c534ee95ea486c092273303dbef76404c8b17dc8bf6ca441b  LICENSE.TXT
> diff --git a/package/lld/lld.mk b/package/lld/lld.mk
> new file mode 100644
> index 0000000000..cfaf3dbd29
> --- /dev/null
> +++ b/package/lld/lld.mk
> @@ -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

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.

> +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
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 4/9] libgtk3: remove patch to disable atk-bridge support
  2018-06-15 19:53         ` Thomas Petazzoni
@ 2018-06-20 18:05           ` Joseph Kogut
  2018-06-21  8:48             ` Thomas Petazzoni
  0 siblings, 1 reply; 66+ messages in thread
From: Joseph Kogut @ 2018-06-20 18:05 UTC (permalink / raw)
  To: buildroot

On Fri, Jun 15, 2018 at 12:53 PM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> Hello,
>
> On Thu, 14 Jun 2018 15:48:15 -0700, Joseph Kogut wrote:
> > Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
> > ---
> >  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
> >
> > diff --git a/package/libgtk3/0003-disable-atk-bridge.patch b/package/libgtk3/0003-disable-atk-bridge.patch
> > deleted file mode 100644
> > index c92174f400..0000000000
> > --- a/package/libgtk3/0003-disable-atk-bridge.patch
> > +++ /dev/null
> > @@ -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 <hadrien.boutteville@gmail.com>
>
> 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?

> > -
> > ---- 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);
> > - }
> > diff --git a/package/libgtk3/Config.in b/package/libgtk3/Config.in
> > index 12e64707bd..f14b9deaf8 100644
> > --- a/package/libgtk3/Config.in
> > +++ b/package/libgtk3/Config.in
> > @@ -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.
>
> >       select BR2_PACKAGE_CAIRO
> >       select BR2_PACKAGE_CAIRO_PS
> >       select BR2_PACKAGE_CAIRO_PDF
> > diff --git a/package/libgtk3/libgtk3.mk b/package/libgtk3/libgtk3.mk
> > index 1b85d00aae..e3c3dc5237 100644
> > --- a/package/libgtk3/libgtk3.mk
> > +++ b/package/libgtk3/libgtk3.mk
> > @@ -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..
>
> >
> >  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
> --
> Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
> Embedded Linux and Kernel engineering
> https://bootlin.com

Best,
Joseph

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 8/9] lld: new package
  2018-06-15 21:01         ` Thomas Petazzoni
@ 2018-06-20 19:14           ` Joseph Kogut
  2018-06-21 12:45             ` Thomas Petazzoni
  0 siblings, 1 reply; 66+ messages in thread
From: Joseph Kogut @ 2018-06-20 19:14 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

On Fri, Jun 15, 2018 at 2:01 PM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> Hello,
>
> On Thu, 14 Jun 2018 15:48:19 -0700, Joseph Kogut wrote:
>
> > diff --git a/package/lld/Config.in b/package/lld/Config.in
> > new file mode 100644
> > index 0000000000..0ad50fd608
> > --- /dev/null
> > +++ b/package/lld/Config.in
> > @@ -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.
>
> > diff --git a/package/lld/lld.hash b/package/lld/lld.hash
> > new file mode 100644
> > index 0000000000..ce81c7baca
> > --- /dev/null
> > +++ b/package/lld/lld.hash
> > @@ -0,0 +1,3 @@
> > +# locally calculated
> > +sha256 6b8c4a833cf30230c0213d78dbac01af21387b298225de90ab56032ca79c0e0b  lld-6.0.0.src.tar.xz
> > +sha256 f0502d2d0e19748c534ee95ea486c092273303dbef76404c8b17dc8bf6ca441b  LICENSE.TXT
> > diff --git a/package/lld/lld.mk b/package/lld/lld.mk
> > new file mode 100644
> > index 0000000000..cfaf3dbd29
> > --- /dev/null
> > +++ b/package/lld/lld.mk
> > @@ -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
>
> 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.
>

My mistake, this one wasn't tested enough.

> > +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.

> 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

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 9/9] chromium: new package
  2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 9/9] chromium: " Joseph Kogut
@ 2018-06-20 20:57         ` Matthew Weber
  2018-06-20 23:07           ` Joseph Kogut
  0 siblings, 1 reply; 66+ messages in thread
From: Matthew Weber @ 2018-06-20 20:57 UTC (permalink / raw)
  To: buildroot

Joseph,

On Thu, Jun 14, 2018 at 5:48 PM, Joseph Kogut <joseph.kogut@gmail.com> wrote:
>
[snip]

> diff --git a/package/chromium/Config.in b/package/chromium/Config.in
> new file mode 100644
> index 0000000000..aa71d0e2dd
> --- /dev/null
> +++ b/package/chromium/Config.in
> @@ -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
> +       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

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 9/9] chromium: new package
  2018-06-20 20:57         ` Matthew Weber
@ 2018-06-20 23:07           ` Joseph Kogut
  2018-06-21  2:29             ` Matthew Weber
  0 siblings, 1 reply; 66+ messages in thread
From: Joseph Kogut @ 2018-06-20 23:07 UTC (permalink / raw)
  To: buildroot

Matt,

On Wed, Jun 20, 2018 at 1:57 PM Matthew Weber
<matthew.weber@rockwellcollins.com> wrote:
>
> Joseph,
>
> On Thu, Jun 14, 2018 at 5:48 PM, Joseph Kogut <joseph.kogut@gmail.com> wrote:
> >
> [snip]
>
> > diff --git a/package/chromium/Config.in b/package/chromium/Config.in
> > new file mode 100644
> > index 0000000000..aa71d0e2dd
> > --- /dev/null
> > +++ b/package/chromium/Config.in
> > @@ -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
> > +       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

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

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 9/9] chromium: new package
  2018-06-20 23:07           ` Joseph Kogut
@ 2018-06-21  2:29             ` Matthew Weber
  0 siblings, 0 replies; 66+ messages in thread
From: Matthew Weber @ 2018-06-21  2:29 UTC (permalink / raw)
  To: buildroot

Joseph,

On Wed, Jun 20, 2018 at 6:07 PM, Joseph Kogut <joseph.kogut@gmail.com> wrote:
> Matt,
>
> On Wed, Jun 20, 2018 at 1:57 PM Matthew Weber
> <matthew.weber@rockwellcollins.com> wrote:
>>
>> Joseph,
>>
>> On Thu, Jun 14, 2018 at 5:48 PM, Joseph Kogut <joseph.kogut@gmail.com> wrote:
>> >
>> [snip]
>>
>> > diff --git a/package/chromium/Config.in b/package/chromium/Config.in
>> > new file mode 100644
>> > index 0000000000..aa71d0e2dd
>> > --- /dev/null
>> > +++ b/package/chromium/Config.in
>> > @@ -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
>> > +       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
>
> 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

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 4/9] libgtk3: remove patch to disable atk-bridge support
  2018-06-20 18:05           ` Joseph Kogut
@ 2018-06-21  8:48             ` Thomas Petazzoni
  0 siblings, 0 replies; 66+ messages in thread
From: Thomas Petazzoni @ 2018-06-21  8:48 UTC (permalink / raw)
  To: buildroot

Hello,

On Wed, 20 Jun 2018 11:05:03 -0700, Joseph Kogut wrote:

> > 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?

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

> > > ---- 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 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
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 8/9] lld: new package
  2018-06-20 19:14           ` Joseph Kogut
@ 2018-06-21 12:45             ` Thomas Petazzoni
  2018-06-21 23:32               ` Joseph Kogut
  0 siblings, 1 reply; 66+ messages in thread
From: Thomas Petazzoni @ 2018-06-21 12:45 UTC (permalink / raw)
  To: buildroot

Hello,

On Wed, 20 Jun 2018 12:14:25 -0700, Joseph Kogut wrote:

> 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.

> 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
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [Buildroot] [RFC PATCH v4 8/9] lld: new package
  2018-06-21 12:45             ` Thomas Petazzoni
@ 2018-06-21 23:32               ` Joseph Kogut
  0 siblings, 0 replies; 66+ messages in thread
From: Joseph Kogut @ 2018-06-21 23:32 UTC (permalink / raw)
  To: buildroot

On Thu, Jun 21, 2018 at 5:45 AM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
<snip>
> 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.

^ permalink raw reply	[flat|nested] 66+ messages in thread

end of thread, other threads:[~2018-06-21 23:32 UTC | newest]

Thread overview: 66+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-08 22:59 [Buildroot] [RFC PATCH 0/8] chromium: new package Joseph Kogut
2018-06-08 22:59 ` [Buildroot] [RFC PATCH 1/8] atk: bump to version 2.25.2 Joseph Kogut
2018-06-09 17:36   ` Thomas Petazzoni
2018-06-09 18:19     ` Joseph Kogut
2018-06-08 22:59 ` [Buildroot] [RFC PATCH 2/8] at-spi2-core: new package Joseph Kogut
2018-06-08 22:59 ` [Buildroot] [RFC PATCH 3/8] at-spi2-atk: " Joseph Kogut
2018-06-08 22:59 ` [Buildroot] [RFC PATCH 4/8] libgtk3: remove patch to disable atk-bridge support Joseph Kogut
2018-06-08 22:59 ` [Buildroot] [RFC PATCH 5/8] llvm: add config to build backend for host arch Joseph Kogut
2018-06-08 22:59 ` [Buildroot] [RFC PATCH 6/8] llvm: bump to version 6.0.0 Joseph Kogut
2018-06-12 14:34   ` Valentin Korenblit
2018-06-12 17:07     ` Joseph Kogut
2018-06-08 22:59 ` [Buildroot] [RFC PATCH 7/8] clang: " Joseph Kogut
2018-06-08 22:59 ` [Buildroot] [RFC PATCH 8/8] chromium: new package Joseph Kogut
2018-06-10 20:44 ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 1/9] atk: bump to version 2.25.2 Joseph Kogut
2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 1/9] atk: bump to version 2.28.1 Joseph Kogut
2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 2/9] at-spi2-core: new package Joseph Kogut
2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 3/9] at-spi2-atk: " Joseph Kogut
2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 4/9] libgtk3: remove patch to disable atk-bridge support Joseph Kogut
2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 5/9] llvm: add config to build backend for host arch Joseph Kogut
2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 6/9] llvm: bump to version 6.0.0 Joseph Kogut
2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 7/9] clang: " Joseph Kogut
2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 8/9] lld: new package Joseph Kogut
2018-06-10 20:44   ` [Buildroot] [RFC PATCH v2 9/9] chromium: " Joseph Kogut
2018-06-10 20:54   ` [Buildroot] [RFC PATCH v2 0/9] " Joseph Kogut
2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 1/9] atk: bump to version 2.28.1 Joseph Kogut
2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 2/9] at-spi2-core: new package Joseph Kogut
2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 3/9] at-spi2-atk: " Joseph Kogut
2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 4/9] libgtk3: remove patch to disable atk-bridge support Joseph Kogut
2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 5/9] llvm: add config to build backend for host arch Joseph Kogut
2018-06-11  9:06       ` Valentin Korenblit
2018-06-11 16:24         ` Joseph Kogut
2018-06-11 17:54         ` Joseph Kogut
2018-06-12 13:46           ` Valentin Korenblit
2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 6/9] llvm: bump to version 6.0.0 Joseph Kogut
2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 7/9] clang: " Joseph Kogut
2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 8/9] lld: new package Joseph Kogut
2018-06-10 20:54     ` [Buildroot] [RFC PATCH v3 9/9] chromium: " Joseph Kogut
2018-06-14 22:48     ` [Buildroot] [RFC PATCH v4 0/9] " Joseph Kogut
2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 1/9] atk: bump to version 2.28.1 Joseph Kogut
2018-06-15 19:38         ` Thomas Petazzoni
2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 2/9] at-spi2-core: new package Joseph Kogut
2018-06-15 19:45         ` Thomas Petazzoni
2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 3/9] at-spi2-atk: " Joseph Kogut
2018-06-15 19:47         ` Thomas Petazzoni
2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 4/9] libgtk3: remove patch to disable atk-bridge support Joseph Kogut
2018-06-15 19:53         ` Thomas Petazzoni
2018-06-20 18:05           ` Joseph Kogut
2018-06-21  8:48             ` Thomas Petazzoni
2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 5/9] llvm: add config to build backend for host arch Joseph Kogut
2018-06-15 20:10         ` Thomas Petazzoni
2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 6/9] llvm: bump to version 6.0.0 Joseph Kogut
2018-06-15 20:20         ` Thomas Petazzoni
2018-06-15 20:44           ` Joseph Kogut
2018-06-15 20:51         ` Thomas Petazzoni
2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 7/9] clang: " Joseph Kogut
2018-06-15 20:51         ` Thomas Petazzoni
2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 8/9] lld: new package Joseph Kogut
2018-06-15 21:01         ` Thomas Petazzoni
2018-06-20 19:14           ` Joseph Kogut
2018-06-21 12:45             ` Thomas Petazzoni
2018-06-21 23:32               ` Joseph Kogut
2018-06-14 22:48       ` [Buildroot] [RFC PATCH v4 9/9] chromium: " Joseph Kogut
2018-06-20 20:57         ` Matthew Weber
2018-06-20 23:07           ` Joseph Kogut
2018-06-21  2:29             ` Matthew Weber

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.