* [Buildroot] [PATCH 0/5] Webkitgtk 2.12.x bump
@ 2016-03-26 19:35 Gustavo Zacarias
2016-03-26 19:35 ` [Buildroot] [PATCH 1/5] cairo: enable opengl for cairo-gl Gustavo Zacarias
` (4 more replies)
0 siblings, 5 replies; 11+ messages in thread
From: Gustavo Zacarias @ 2016-03-26 19:35 UTC (permalink / raw)
To: buildroot
This series bumps webkitgtk from the current 2.4.x series to 2.12.x and
midori to match as well.
It's a major bump that deprecates the 2.4.x series since it isn't 100%
security supported by upstream.
Patch 5 are proof-of-concept sample defconfigs that build both x11 and
wayland-based bootable images intended to run on qemu and/or real
hardware burned to pendrive media directly.
It's not supposed to be committed as-is - there's no EFI support in it
yet, just BIOS. The directory hierarchy isn't too nice either.
And documentation is missing as well.
In general it's geared towards intel-based hardware, though there are
some other drivers enabled as well mostly for video and wifi hardware.
Networking settings can be changed/set via the connman-gtk app.
Both Webkit's MiniBrowser and midori are provided, with the addition
of wireshark-gtk as another libgtk3-using application intended for
testing.
Permament/Volatile storage isn't properly implemented yet, it's only
running on volatile yet.
Gustavo Zacarias (5):
cairo: enable opengl for cairo-gl
webkitgtk: new package
midori: bump to version 0.5.11
webkitgtk24: mark as deprecated
qemu/x86_64: add midori samples for wayland and x11r7
board/qemu/x86_64/busybox-extras.config | 1 +
board/qemu/x86_64/genimage-x86_64.cfg | 24 +++++++
board/qemu/x86_64/grub.cfg | 10 +++
board/qemu/x86_64/linux-extras.config | 51 +++++++++++++
.../x86_64/midori_overlay/etc/X11/xinit/xinitrc | 3 +
board/qemu/x86_64/midori_overlay/etc/fb.modes | 4 ++
.../x86_64/midori_overlay/etc/init.d/S00rootfs | 5 ++
.../qemu/x86_64/midori_overlay/etc/init.d/S98audio | 6 ++
board/qemu/x86_64/midori_overlay/etc/init.d/S99gui | 21 ++++++
board/qemu/x86_64/midori_overlay/etc/weston.ini | 43 +++++++++++
.../x86_64/midori_overlay/usr/share/fluxbox/init | 7 ++
.../x86_64/midori_overlay/usr/share/fluxbox/menu | 29 ++++++++
board/qemu/x86_64/post-image.sh | 20 ++++++
board/qemu/x86_64/post-process.sh | 8 +++
configs/midori_wayland_x86_64_defconfig | 63 ++++++++++++++++
configs/midori_x11_x86_64_defconfig | 76 ++++++++++++++++++++
package/Config.in | 1 +
package/cairo/cairo.mk | 10 ++-
package/midori/0001-disable-libnotify.patch | 43 -----------
package/midori/0001-fix-bug-1492932.patch | 44 ++++++++++++
package/midori/0002-gcr-for-x11-only.patch | 32 +++++++++
package/midori/0002-new-vala.patch | 26 -------
package/midori/Config.in | 36 ++++------
package/midori/midori.hash | 2 +-
package/midori/midori.mk | 36 +++-------
package/{webkitgtk24 => webkitgtk}/Config.in | 46 ++++++------
package/webkitgtk/webkitgtk.hash | 4 ++
package/webkitgtk/webkitgtk.mk | 83 ++++++++++++++++++++++
package/webkitgtk24/Config.in | 2 +
29 files changed, 588 insertions(+), 148 deletions(-)
create mode 100644 board/qemu/x86_64/busybox-extras.config
create mode 100644 board/qemu/x86_64/genimage-x86_64.cfg
create mode 100644 board/qemu/x86_64/grub.cfg
create mode 100644 board/qemu/x86_64/linux-extras.config
create mode 100644 board/qemu/x86_64/midori_overlay/etc/X11/xinit/xinitrc
create mode 100644 board/qemu/x86_64/midori_overlay/etc/fb.modes
create mode 100755 board/qemu/x86_64/midori_overlay/etc/init.d/S00rootfs
create mode 100755 board/qemu/x86_64/midori_overlay/etc/init.d/S98audio
create mode 100755 board/qemu/x86_64/midori_overlay/etc/init.d/S99gui
create mode 100644 board/qemu/x86_64/midori_overlay/etc/weston.ini
create mode 100644 board/qemu/x86_64/midori_overlay/usr/share/fluxbox/init
create mode 100644 board/qemu/x86_64/midori_overlay/usr/share/fluxbox/menu
create mode 100755 board/qemu/x86_64/post-image.sh
create mode 100755 board/qemu/x86_64/post-process.sh
create mode 100644 configs/midori_wayland_x86_64_defconfig
create mode 100644 configs/midori_x11_x86_64_defconfig
delete mode 100644 package/midori/0001-disable-libnotify.patch
create mode 100644 package/midori/0001-fix-bug-1492932.patch
create mode 100644 package/midori/0002-gcr-for-x11-only.patch
delete mode 100644 package/midori/0002-new-vala.patch
copy package/{webkitgtk24 => webkitgtk}/Config.in (60%)
create mode 100644 package/webkitgtk/webkitgtk.hash
create mode 100644 package/webkitgtk/webkitgtk.mk
--
2.7.3
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 1/5] cairo: enable opengl for cairo-gl
2016-03-26 19:35 [Buildroot] [PATCH 0/5] Webkitgtk 2.12.x bump Gustavo Zacarias
@ 2016-03-26 19:35 ` Gustavo Zacarias
2016-03-26 20:37 ` Thomas Petazzoni
2016-03-26 19:35 ` [Buildroot] [PATCH 2/5] webkitgtk: new package Gustavo Zacarias
` (3 subsequent siblings)
4 siblings, 1 reply; 11+ messages in thread
From: Gustavo Zacarias @ 2016-03-26 19:35 UTC (permalink / raw)
To: buildroot
If OpenGL is enabled then enable cairo-gl.
However if GLESv2 is also present we must choose which implementation to
use.
Since normally OpenGL is more featured, has more dependencies and
wouldn't be present "by accident" it seems like the logical choice to
win over it.
This feature is useful for webkitgtk's accelerated 2d canvas.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
package/cairo/cairo.mk | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/package/cairo/cairo.mk b/package/cairo/cairo.mk
index ab0c2e8..b798995 100644
--- a/package/cairo/cairo.mk
+++ b/package/cairo/cairo.mk
@@ -79,11 +79,17 @@ else
CAIRO_CONF_OPTS += --disable-gobject
endif
+# Can use GL or GLESv2 but not both
+ifeq ($(BR2_PACKAGE_HAS_LIBGL),y)
+CAIRO_CONF_OPTS += --enable-gl --disable-glesv2
+CAIRO_DEPENDENCIES += libgl
+else
ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y)
-CAIRO_CONF_OPTS += --enable-glesv2
+CAIRO_CONF_OPTS += --disable-gl --enable-glesv2
CAIRO_DEPENDENCIES += libgles
else
-CAIRO_CONF_OPTS += --disable-glesv2
+CAIRO_CONF_OPTS += --disable-gl --disable-glesv2
+endif
endif
ifeq ($(BR2_PACKAGE_HAS_LIBOPENVG),y)
--
2.7.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 2/5] webkitgtk: new package
2016-03-26 19:35 [Buildroot] [PATCH 0/5] Webkitgtk 2.12.x bump Gustavo Zacarias
2016-03-26 19:35 ` [Buildroot] [PATCH 1/5] cairo: enable opengl for cairo-gl Gustavo Zacarias
@ 2016-03-26 19:35 ` Gustavo Zacarias
2016-03-26 20:41 ` Thomas Petazzoni
2016-03-26 19:35 ` [Buildroot] [PATCH 3/5] midori: bump to version 0.5.11 Gustavo Zacarias
` (2 subsequent siblings)
4 siblings, 1 reply; 11+ messages in thread
From: Gustavo Zacarias @ 2016-03-26 19:35 UTC (permalink / raw)
To: buildroot
Add the latest 2.12.x upstream stable branch.
Both 2.4.x and 2.12.x can live side-by-side, however only the latest
stable branch/releases are security-maintained, so add it unslotted.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
package/Config.in | 1 +
package/webkitgtk/Config.in | 77 +++++++++++++++++++++++++++++++++++++
package/webkitgtk/webkitgtk.hash | 4 ++
package/webkitgtk/webkitgtk.mk | 83 ++++++++++++++++++++++++++++++++++++++++
4 files changed, 165 insertions(+)
create mode 100644 package/webkitgtk/Config.in
create mode 100644 package/webkitgtk/webkitgtk.hash
create mode 100644 package/webkitgtk/webkitgtk.mk
diff --git a/package/Config.in b/package/Config.in
index 3c8976e..1cc5f47 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -943,6 +943,7 @@ menu "Graphics"
source "package/wayland/Config.in"
source "package/wayland-protocols/Config.in"
source "package/webkit/Config.in"
+ source "package/webkitgtk/Config.in"
source "package/webkitgtk24/Config.in"
source "package/webp/Config.in"
source "package/zbar/Config.in"
diff --git a/package/webkitgtk/Config.in b/package/webkitgtk/Config.in
new file mode 100644
index 0000000..e662fed
--- /dev/null
+++ b/package/webkitgtk/Config.in
@@ -0,0 +1,77 @@
+config BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
+ bool
+ # ARM needs BLX, so v5t+, BE completely untested so disabled
+ default y if BR2_arm && !BR2_ARM_CPU_ARMV4
+ default y if BR2_i386 || BR2_x86_64
+ # Disabled on MIPS big endian due to sigbus
+ default y if BR2_mipsel || BR2_mips64el
+ # Disabled on PowerPC pending runtime testing
+ # Disabled on SuperH because of segfault
+ depends on BR2_USE_MMU # libglib2
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4
+
+comment "webkitgtk needs libgtk3 and an (e)glibc toolchain w/ C++, gcc >= 4.9"
+ depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
+ depends on !BR2_PACKAGE_LIBGTK3 || !BR2_INSTALL_LIBSTDCPP || \
+ !BR2_TOOLCHAIN_USES_GLIBC || \
+ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
+ depends on BR2_USE_MMU
+
+config BR2_PACKAGE_WEBKITGTK
+ bool "webkitgtk"
+ depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
+ depends on BR2_TOOLCHAIN_USES_GLIBC
+ depends on BR2_PACKAGE_LIBGTK3
+ depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
+ select BR2_PACKAGE_CAIRO
+ select BR2_PACKAGE_CAIRO_PNG
+ select BR2_PACKAGE_ENCHANT
+ select BR2_PACKAGE_HARFBUZZ
+ select BR2_PACKAGE_ICU
+ select BR2_PACKAGE_JPEG
+ select BR2_PACKAGE_LIBSECRET
+ select BR2_PACKAGE_LIBSOUP
+ select BR2_PACKAGE_LIBXML2
+ select BR2_PACKAGE_LIBXSLT
+ select BR2_PACKAGE_SQLITE
+ select BR2_PACKAGE_WEBP
+ select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_LIBGTK3_X11
+ select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_LIBGTK3_X11
+ select BR2_PACKAGE_XLIB_LIBXRENDER if BR2_PACKAGE_LIBGTK3_X11
+ select BR2_PACKAGE_XLIB_LIBXT if BR2_PACKAGE_LIBGTK3_X11
+ help
+ WebKit is an open source, standards compliant web browser engine.
+
+ http://www.webkitgtk.org/
+
+if BR2_PACKAGE_WEBKITGTK
+
+config BR2_PACKAGE_WEBKITGTK_HTTPS
+ bool "HTTPS support"
+ select BR2_PACKAGE_CA_CERTIFICATES # runtime
+ select BR2_PACKAGE_LIBSOUP_SSL
+ help
+ Enable HTTPS protocol support.
+
+config BR2_PACKAGE_WEBKITGTK_MULTIMEDIA
+ bool "multimedia support"
+ select BR2_PACKAGE_GSTREAMER1
+ select BR2_PACKAGE_GST1_PLUGINS_BASE
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PLAYBACK
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOSCALE
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME
+ select BR2_PACKAGE_GST1_PLUGINS_GOOD
+ select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ISOMP4
+ select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP
+ select BR2_PACKAGE_GST1_LIBAV
+ help
+ This option pulls in all of the required dependencies
+ to enable multimedia (video/audio) support.
+
+endif
diff --git a/package/webkitgtk/webkitgtk.hash b/package/webkitgtk/webkitgtk.hash
new file mode 100644
index 0000000..15bc05e
--- /dev/null
+++ b/package/webkitgtk/webkitgtk.hash
@@ -0,0 +1,4 @@
+# From http://www.webkitgtk.org/releases/webkitgtk-2.12.0.tar.xz.sha1
+sha1 05b498e45ad361003918822e81c66c9c39728263 webkitgtk-2.12.0.tar.xz
+# Calculated based on the hash above
+sha256 a68604f8fd1bcb247d647709290226289b90c16acb1f3730538b688db8df5ea6 webkitgtk-2.12.0.tar.xz
diff --git a/package/webkitgtk/webkitgtk.mk b/package/webkitgtk/webkitgtk.mk
new file mode 100644
index 0000000..d4e6ab5
--- /dev/null
+++ b/package/webkitgtk/webkitgtk.mk
@@ -0,0 +1,83 @@
+################################################################################
+#
+# webkitgtk
+#
+################################################################################
+
+WEBKITGTK_VERSION = 2.12.0
+WEBKITGTK_SITE = http://www.webkitgtk.org/releases
+WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz
+WEBKITGTK_INSTALL_STAGING = YES
+WEBKITGTK_LICENSE = LGPLv2.1+ BSD-2c
+WEBKITGTK_LICENSE_FILES = \
+ Source/WebCore/LICENSE-APPLE \
+ Source/WebCore/LICENSE-LGPL-2.1
+WEBKITGTK_DEPENDENCIES = host-ruby host-flex host-bison host-gperf \
+ enchant harfbuzz icu jpeg libgtk3 libsecret libsoup \
+ libxml2 libxslt sqlite webp \
+ $(if $(BR_PACKAGE_XLIB_LIBXCOMPOSITE),xlib_libXcomposite) \
+ $(if $(BR_PACKAGE_XLIB_LIBXDAMAGE),xlib_libXdamage)
+WEBKITGTK_CONF_OPTS = \
+ -DENABLE_API_TESTS=OFF \
+ -DENABLE_GEOLOCATION=OFF \
+ -DENABLE_GTKDOC=OFF \
+ -DENABLE_INTROSPECTION=OFF \
+ -DENABLE_MINIBROWSER=ON \
+ -DENABLE_SPELLCHECK=ON \
+ -DPORT=GTK \
+ -DUSE_LIBNOTIFY=OFF \
+ -DUSE_LIBHYPHEN=OFF
+
+# ARM needs NEON for JIT
+# i386 & x86_64 don't seem to have any special requirements
+ifeq ($(BR2_ARM_CPU_HAS_NEON)$(BR2_i386)$(BR2_x86_64),y)
+WEBKITGTK_CONF_OPTS += -DENABLE_JIT=ON
+else
+WEBKITGTK_CONF_OPTS += -DENABLE_JIT=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_WEBKITGTK_MULTIMEDIA),y)
+WEBKITGTK_CONF_OPTS += \
+ -DENABLE_VIDEO=ON \
+ -DENABLE_WEB_AUDIO=ON
+WEBKITGTK_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-base gst1-plugins-good
+else
+WEBKITGTK_CONF_OPTS += \
+ -DENABLE_VIDEO=OFF \
+ -DENABLE_WEB_AUDIO=OFF
+endif
+
+# Only one target platform can be built, assume X11 > Wayland
+
+# GTK3-X11 target mandates OpenGL from newer libgtk3 versions
+ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y)
+WEBKITGTK_CONF_OPTS += \
+ -DENABLE_ACCELERATED_2D_CANVAS=ON \
+ -DENABLE_GLES2=OFF \
+ -DENABLE_OPENGL=ON \
+ -DENABLE_X11_TARGET=ON
+WEBKITGTK_DEPENDENCIES += libgl \
+ xlib_libXcomposite xlib_libXdamage xlib_libXrender xlib_libXt
+# It can use libgtk2 for npapi plugins
+ifeq ($(BR2_PACKAGE_LIBGTK2),y)
+WEBKITGTK_CONF_OPTS += -DENABLE_PLUGIN_PROCESS_GTK2=ON
+WEBKITGTK_DEPENDENCIES += libgtk2
+else
+WEBKITGTK_CONF_OPTS += -DENABLE_PLUGIN_PROCESS_GTK2=OFF
+endif
+else # !X11
+# GTK3-WAYLAND target mandates EGL from newer libgtk3 versions
+ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND),y)
+WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=ON
+WEBKITGTK_DEPENDENCIES += libegl
+# GLES support is optional
+ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y)
+WEBKITGTK_CONF_OPTS += -DENABLE_GLES2=ON
+WEBKITGTK_DEPENDENCIES += libgles
+else
+WEBKITGTK_CONF_OPTS += -DENABLE_GLES2=OFF
+endif
+endif
+endif
+
+$(eval $(cmake-package))
--
2.7.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 3/5] midori: bump to version 0.5.11
2016-03-26 19:35 [Buildroot] [PATCH 0/5] Webkitgtk 2.12.x bump Gustavo Zacarias
2016-03-26 19:35 ` [Buildroot] [PATCH 1/5] cairo: enable opengl for cairo-gl Gustavo Zacarias
2016-03-26 19:35 ` [Buildroot] [PATCH 2/5] webkitgtk: new package Gustavo Zacarias
@ 2016-03-26 19:35 ` Gustavo Zacarias
2016-03-26 19:35 ` [Buildroot] [PATCH 4/5] webkitgtk24: mark as deprecated Gustavo Zacarias
2016-03-26 19:35 ` [Buildroot] [PATCH POC 5/5] qemu/x86_64: add midori samples for wayland and x11r7 Gustavo Zacarias
4 siblings, 0 replies; 11+ messages in thread
From: Gustavo Zacarias @ 2016-03-26 19:35 UTC (permalink / raw)
To: buildroot
Also drop BR2_PACKAGE_MIDORI_HTTPS option since it's now handled in the
webkitgtk package to satisfy MiniBrowser.
This version can't work with the older webkitgtk24 engine so it switches
to the new version.
Also make gcr support conditional on x11 support for libgtk3, it doesn't
work otherwise.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
package/midori/0001-disable-libnotify.patch | 43 ----------------------------
package/midori/0001-fix-bug-1492932.patch | 44 +++++++++++++++++++++++++++++
package/midori/0002-gcr-for-x11-only.patch | 32 +++++++++++++++++++++
package/midori/0002-new-vala.patch | 26 -----------------
package/midori/Config.in | 36 ++++++++---------------
package/midori/midori.hash | 2 +-
package/midori/midori.mk | 36 ++++++-----------------
7 files changed, 98 insertions(+), 121 deletions(-)
delete mode 100644 package/midori/0001-disable-libnotify.patch
create mode 100644 package/midori/0001-fix-bug-1492932.patch
create mode 100644 package/midori/0002-gcr-for-x11-only.patch
delete mode 100644 package/midori/0002-new-vala.patch
diff --git a/package/midori/0001-disable-libnotify.patch b/package/midori/0001-disable-libnotify.patch
deleted file mode 100644
index 830ecff..0000000
--- a/package/midori/0001-disable-libnotify.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-Disable libnotify support, we've got no package and it's not very useful
-in embedded targets anyway.
-The webmedia extension requires libnotify as well.
-
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-
-diff -Nura midori-0.5.9.orig/CMakeLists.txt midori-0.5.9/CMakeLists.txt
---- midori-0.5.9.orig/CMakeLists.txt 2015-03-30 15:57:29.554632932 -0300
-+++ midori-0.5.9/CMakeLists.txt 2015-03-30 15:57:35.299830192 -0300
-@@ -143,16 +143,7 @@
- endif ()
- endif ()
-
--if (WIN32)
-- add_definitions("-DLIBNOTIFY_VERSION=\"No\"")
--else ()
-- pkg_check_modules(NOTIFY REQUIRED libnotify)
-- add_definitions("-DLIBNOTIFY_VERSION=\"${NOTIFY_VERSION}\"")
-- add_definitions("-DHAVE_LIBNOTIFY")
-- set(OPTS_INCLUDE_DIRS "${OPTS_INCLUDE_DIRS};${NOTIFY_INCLUDE_DIRS}")
-- set(OPTS_LIBRARIES "${OPTS_LIBRARIES};${NOTIFY_LIBRARIES}")
-- set(PKGS ${PKGS} libnotify)
--endif ()
-+add_definitions("-DLIBNOTIFY_VERSION=\"No\"")
-
- option(USE_GTK3 "Use GTK+3" OFF)
- option(HALF_BRO_INCOM_WEBKIT2 "Serve as a guniea pig" OFF)
-diff -Nura midori-0.5.9.orig/extensions/CMakeLists.txt midori-0.5.9/extensions/CMakeLists.txt
---- midori-0.5.9.orig/extensions/CMakeLists.txt 2015-03-30 15:57:29.544632589 -0300
-+++ midori-0.5.9/extensions/CMakeLists.txt 2015-03-30 15:57:51.777395949 -0300
-@@ -24,11 +24,7 @@
- )
- endif ()
-
--# FIXME: re-enable webmedia extension
--# once we have working notifications on win
--if (WIN32)
-- list(REMOVE_ITEM EXTENSIONS "webmedia-now-playing.vala")
--endif()
-+list(REMOVE_ITEM EXTENSIONS "webmedia-now-playing.vala")
-
- foreach(UNIT_SRC ${EXTENSIONS})
- string(FIND ${UNIT_SRC} ".c" UNIT_EXTENSION)
diff --git a/package/midori/0001-fix-bug-1492932.patch b/package/midori/0001-fix-bug-1492932.patch
new file mode 100644
index 0000000..27ad283
--- /dev/null
+++ b/package/midori/0001-fix-bug-1492932.patch
@@ -0,0 +1,44 @@
+Fix for https://bugs.launchpad.net/midori/+bug/1492932
+Patch status: upstream
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+--- a/midori/midori-browser.c 2015-07-11 16:03:43 +0000
++++ b/midori/midori-browser.c 2015-09-25 21:30:31 +0000
+@@ -5953,11 +5953,6 @@
+ G_CALLBACK (midori_browser_destroy_cb), NULL);
+ gtk_window_set_role (GTK_WINDOW (browser), "browser");
+ gtk_window_set_icon_name (GTK_WINDOW (browser), MIDORI_STOCK_WEB_BROWSER);
+- #if GTK_CHECK_VERSION (3, 4, 0)
+- #ifndef HAVE_GRANITE
+- gtk_window_set_hide_titlebar_when_maximized (GTK_WINDOW (browser), TRUE);
+- #endif
+- #endif
+ vbox = gtk_vbox_new (FALSE, 0);
+ /* gtk_container_add (GTK_CONTAINER (browser), vbox);
+ gtk_widget_show (vbox); */
+
+--- a/midori/midori-view.c 2015-07-06 21:26:46 +0000
++++ b/midori/midori-view.c 2015-09-25 21:30:31 +0000
+@@ -3495,9 +3495,6 @@
+ }
+ else
+ gtk_window_set_icon_name (GTK_WINDOW (window), icon_name);
+- #if GTK_CHECK_VERSION (3, 4, 0)
+- gtk_window_set_hide_titlebar_when_maximized (GTK_WINDOW (window), TRUE);
+- #endif
+ gtk_widget_set_size_request (GTK_WIDGET (inspector_view), 700, 100);
+ #if GTK_CHECK_VERSION (3, 0, 0)
+ scrolled = gtk_scrolled_window_new (NULL, NULL);
+
+--- a/midori/midori-window.vala 2015-08-16 00:14:26 +0000
++++ b/midori/midori-window.vala 2015-09-25 21:30:31 +0000
+@@ -28,7 +28,6 @@
+ toolbar.show_arrow = true;
+ #if HAVE_GTK3
+ toolbar.get_style_context ().add_class ("primary-toolbar");
+- hide_titlebar_when_maximized = true;
+ #endif
+ toolbar.popup_context_menu.connect ((x, y, button) => {
+ return button == 3 && context_menu (toolbar); });
+
diff --git a/package/midori/0002-gcr-for-x11-only.patch b/package/midori/0002-gcr-for-x11-only.patch
new file mode 100644
index 0000000..85e7697
--- /dev/null
+++ b/package/midori/0002-gcr-for-x11-only.patch
@@ -0,0 +1,32 @@
+GCR support only works/is useful with X11 support.
+
+Reported upstream: https://bugs.launchpad.net/midori/+bug/1515985
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+diff -Nura midori-0.5.11.orig/CMakeLists.txt midori-0.5.11/CMakeLists.txt
+--- midori-0.5.11.orig/CMakeLists.txt 2015-11-12 13:41:02.045898814 -0300
++++ midori-0.5.11/CMakeLists.txt 2015-11-12 14:00:09.765545018 -0300
+@@ -175,18 +175,14 @@
+ set(PKGS ${PKGS} zeitgeist-2.0)
+ endif()
+
+-if (WIN32)
+- add_definitions("-DGCR_VERSION=\"No\"")
+-else ()
+- if (USE_GTK3)
+- pkg_check_modules(GCR REQUIRED gcr-3>=2.32)
+- else ()
+- pkg_check_modules(GCR REQUIRED gcr-base-3>=2.32)
+- endif ()
++if (USE_GTK3 AND X11)
++ pkg_check_modules(GCR REQUIRED gcr-3>=2.32)
+ add_definitions("-DGCR_VERSION=\"${GCR_VERSION}\"")
+ add_definitions("-DHAVE_GCR")
+ set(OPTS_INCLUDE_DIRS ${OPTS_INCLUDE_DIRS} ${GCR_INCLUDE_DIRS})
+ set(OPTS_LIBRARIES ${OPTS_LIBRARIES} ${GCR_LIBRARIES})
++else ()
++ add_definitions("-DGCR_VERSION=\"No\"")
+ endif ()
+
+ if (HALF_BRO_INCOM_WEBKIT2)
diff --git a/package/midori/0002-new-vala.patch b/package/midori/0002-new-vala.patch
deleted file mode 100644
index 600ff49..0000000
--- a/package/midori/0002-new-vala.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Fix build with newer (0.28+) vala versions, from:
-http://www.linuxquestions.org/questions/slackware-14/midori-compile-fail-ambiguous-reference-between-glib-and-gtk-4175542325/
-
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-
-diff -Nura midori-0.5.9.orig/extensions/history-list.vala midori-0.5.9/extensions/history-list.vala
---- midori-0.5.9.orig/extensions/history-list.vala 2015-07-03 21:05:01.183360199 -0300
-+++ midori-0.5.9/extensions/history-list.vala 2015-07-03 21:05:48.959900926 -0300
-@@ -319,7 +319,7 @@
- }
-
- private void create_widgets () {
-- ListStore model;
-+ Gtk.ListStore model;
- TreeIter iter;
- TreeIter? active_iter = null;
-
-@@ -331,7 +331,7 @@
-
- var tab_closing_behavior = this.hl_manager.get_integer ("TabClosingBehavior");
-
-- model = new ListStore (2, typeof (string), typeof (int));
-+ model = new Gtk.ListStore (2, typeof (string), typeof (int));
-
- model.append (out iter);
- model.set (iter, TabClosingBehaviorModel.TEXT, _("Do nothing"),
diff --git a/package/midori/Config.in b/package/midori/Config.in
index 11a2806..ba8ea5a 100644
--- a/package/midori/Config.in
+++ b/package/midori/Config.in
@@ -1,37 +1,25 @@
-comment "midori needs libgtk2 and a toolchain w/ C++, wchar, NPTL, gcc >= 4.8"
- depends on BR2_PACKAGE_WEBKITGTK24_ARCH_SUPPORTS
- depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
- !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_PACKAGE_LIBGTK2 \
- || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+comment "midori needs libgtk3 and an (e)glibc toolchain w/ C++, gcc >= 4.9"
+ depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_LIBGTK3 \
+ || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
config BR2_PACKAGE_MIDORI
bool "midori"
+ # GCR can only be used with the X11 backend
+ select BR2_PACKAGE_GCR if BR2_PACKAGE_LIBGTK3_X11
+ select BR2_PACKAGE_GRANITE
select BR2_PACKAGE_LIBSOUP
select BR2_PACKAGE_LIBSOUP_GNOME
select BR2_PACKAGE_LIBXML2
select BR2_PACKAGE_SQLITE
- select BR2_PACKAGE_WEBKITGTK24
+ select BR2_PACKAGE_WEBKITGTK
select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
- depends on (BR2_PACKAGE_LIBGTK2 && BR2_PACKAGE_XORG7)
- depends on BR2_INSTALL_LIBSTDCPP # webkitgtk24
- depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # webkitgtk24
- depends on BR2_USE_WCHAR # webkitgtk24
- depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # webkitgtk24
- depends on BR2_PACKAGE_WEBKITGTK24_ARCH_SUPPORTS
+ depends on BR2_PACKAGE_LIBGTK3_X11 || BR2_PACKAGE_LIBGTK3_WAYLAND
+ depends on BR2_INSTALL_LIBSTDCPP # webkitgtk
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # webkitgtk
+ depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
help
Midori is a lightweight web browser based on WebKit
http://www.midori-browser.org/
-
-if BR2_PACKAGE_MIDORI
-
-config BR2_PACKAGE_MIDORI_HTTPS
- bool "HTTPS support"
- select BR2_PACKAGE_CA_CERTIFICATES # runtime
- select BR2_PACKAGE_GLIB_NETWORKING
- select BR2_PACKAGE_GNUTLS # for glib-networking
- help
- Enable HTTPS protocol support
-
-endif
diff --git a/package/midori/midori.hash b/package/midori/midori.hash
index 7aae4c1..f548c42 100644
--- a/package/midori/midori.hash
+++ b/package/midori/midori.hash
@@ -1,2 +1,2 @@
# From download link @ http://midori-browser.org/download/source/
-sha1 475614dcc89a214a3c2fdc2aaefc817a5fa0ca03 midori_0.5.9_all_.tar.bz2
+sha1 64c86935028feb5f89d799c2acacaad67764da6f midori_0.5.11_all_.tar.bz2
diff --git a/package/midori/midori.mk b/package/midori/midori.mk
index 7927400..5aa83c6 100644
--- a/package/midori/midori.mk
+++ b/package/midori/midori.mk
@@ -4,9 +4,9 @@
#
################################################################################
-MIDORI_VERSION = 0.5.9
+MIDORI_VERSION = 0.5.11
MIDORI_SOURCE = midori_$(MIDORI_VERSION)_all_.tar.bz2
-MIDORI_SITE = https://launchpad.net/midori/trunk/$(MIDORI_VERSION)/+download
+MIDORI_SITE = http://midori-browser.org/downloads
MIDORI_LICENSE = LGPLv2.1+
MIDORI_LICENSE_FILES = COPYING
MIDORI_DEPENDENCIES = \
@@ -15,38 +15,20 @@ MIDORI_DEPENDENCIES = \
host-pkgconf \
host-vala \
host-python \
+ $(if $(BR2_PACKAGE_LIBGTK3_X11),gcr) \
+ granite \
+ libgtk3 \
libsoup \
libxml2 \
sqlite \
- webkitgtk24 \
+ webkitgtk \
$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \
$(if $(BR2_PACKAGE_LIBICONV),libiconv)
MIDORI_CONF_OPTS = \
+ -DHALF_BRO_INCOM_WEBKIT2=ON \
+ -DUSE_GRANITE=ON \
+ -DUSE_GTK3=ON \
-DUSE_ZEITGEIST=OFF
-# Requires uClibc backtrace support, normally not enabled
-ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
-define MIDORI_REMOVE_DEVPET
- rm -f $(@D)/extensions/devpet.vala
-endef
-MIDORI_POST_PATCH_HOOKS += MIDORI_REMOVE_DEVPET
-endif
-
-ifeq ($(BR2_PACKAGE_MIDORI_HTTPS),y)
-MIDORI_DEPENDENCIES += glib-networking
-endif
-
-ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y)
-MIDORI_CONF_OPTS += -DUSE_GTK3=ON -DHALF_BRO_INCOM_WEBKIT2=ON
-MIDORI_DEPENDENCIES += libgtk3
-# Only useful with gtk3
-ifeq ($(BR2_PACKAGE_GCR),y)
-MIDORI_DEPENDENCIES += gcr
-endif
-else
-MIDORI_CONF_OPTS += -DUSE_GTK3=OFF
-MIDORI_DEPENDENCIES += libgtk2
-endif
-
$(eval $(cmake-package))
--
2.7.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 4/5] webkitgtk24: mark as deprecated
2016-03-26 19:35 [Buildroot] [PATCH 0/5] Webkitgtk 2.12.x bump Gustavo Zacarias
` (2 preceding siblings ...)
2016-03-26 19:35 ` [Buildroot] [PATCH 3/5] midori: bump to version 0.5.11 Gustavo Zacarias
@ 2016-03-26 19:35 ` Gustavo Zacarias
2016-03-26 19:35 ` [Buildroot] [PATCH POC 5/5] qemu/x86_64: add midori samples for wayland and x11r7 Gustavo Zacarias
4 siblings, 0 replies; 11+ messages in thread
From: Gustavo Zacarias @ 2016-03-26 19:35 UTC (permalink / raw)
To: buildroot
It's affected by 40+ security bugs, and upstream will only care to fix
the latest stable branch, which is 2.12.x
Some effort was made with the 2.4.10 release to address some security
bugs but it's incomplete.
See:
https://blogs.gnome.org/mcatanzaro/2016/02/01/on-webkit-security-updates/
https://blogs.gnome.org/mcatanzaro/2016/02/19/webkitgtk-gets-security-updates/
Also:
http://webkitgtk.org/security/WSA-2016-0002.html
http://webkitgtk.org/security/WSA-2016-0001.html
http://webkitgtk.org/security/WSA-2015-0002.html
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
package/webkitgtk24/Config.in | 2 ++
1 file changed, 2 insertions(+)
diff --git a/package/webkitgtk24/Config.in b/package/webkitgtk24/Config.in
index e95a851..bba3a2b 100644
--- a/package/webkitgtk24/Config.in
+++ b/package/webkitgtk24/Config.in
@@ -16,9 +16,11 @@ comment "webkitgtk24 needs libgtk2 and a toolchain w/ C++, wchar, NPTL, gcc >=4.
!BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_INSTALL_LIBSTDCPP \
|| !BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
depends on BR2_USE_MMU
+ depends on BR2_DEPRECATED_SINCE_2016_05
config BR2_PACKAGE_WEBKITGTK24
bool "webkitgtk 2.4.x"
+ depends on BR2_DEPRECATED_SINCE_2016_05
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
--
2.7.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH POC 5/5] qemu/x86_64: add midori samples for wayland and x11r7
2016-03-26 19:35 [Buildroot] [PATCH 0/5] Webkitgtk 2.12.x bump Gustavo Zacarias
` (3 preceding siblings ...)
2016-03-26 19:35 ` [Buildroot] [PATCH 4/5] webkitgtk24: mark as deprecated Gustavo Zacarias
@ 2016-03-26 19:35 ` Gustavo Zacarias
[not found] ` <56F7CA4D.8040102@mind.be>
4 siblings, 1 reply; 11+ messages in thread
From: Gustavo Zacarias @ 2016-03-26 19:35 UTC (permalink / raw)
To: buildroot
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
| 1 +
board/qemu/x86_64/genimage-x86_64.cfg | 24 +++++++
board/qemu/x86_64/grub.cfg | 10 +++
| 51 +++++++++++++++
.../x86_64/midori_overlay/etc/X11/xinit/xinitrc | 3 +
board/qemu/x86_64/midori_overlay/etc/fb.modes | 4 ++
.../x86_64/midori_overlay/etc/init.d/S00rootfs | 5 ++
.../qemu/x86_64/midori_overlay/etc/init.d/S98audio | 6 ++
board/qemu/x86_64/midori_overlay/etc/init.d/S99gui | 21 ++++++
board/qemu/x86_64/midori_overlay/etc/weston.ini | 43 ++++++++++++
.../x86_64/midori_overlay/usr/share/fluxbox/init | 7 ++
| 29 +++++++++
board/qemu/x86_64/post-image.sh | 20 ++++++
board/qemu/x86_64/post-process.sh | 8 +++
configs/midori_wayland_x86_64_defconfig | 63 ++++++++++++++++++
configs/midori_x11_x86_64_defconfig | 76 ++++++++++++++++++++++
16 files changed, 371 insertions(+)
create mode 100644 board/qemu/x86_64/busybox-extras.config
create mode 100644 board/qemu/x86_64/genimage-x86_64.cfg
create mode 100644 board/qemu/x86_64/grub.cfg
create mode 100644 board/qemu/x86_64/linux-extras.config
create mode 100644 board/qemu/x86_64/midori_overlay/etc/X11/xinit/xinitrc
create mode 100644 board/qemu/x86_64/midori_overlay/etc/fb.modes
create mode 100755 board/qemu/x86_64/midori_overlay/etc/init.d/S00rootfs
create mode 100755 board/qemu/x86_64/midori_overlay/etc/init.d/S98audio
create mode 100755 board/qemu/x86_64/midori_overlay/etc/init.d/S99gui
create mode 100644 board/qemu/x86_64/midori_overlay/etc/weston.ini
create mode 100644 board/qemu/x86_64/midori_overlay/usr/share/fluxbox/init
create mode 100644 board/qemu/x86_64/midori_overlay/usr/share/fluxbox/menu
create mode 100755 board/qemu/x86_64/post-image.sh
create mode 100755 board/qemu/x86_64/post-process.sh
create mode 100644 configs/midori_wayland_x86_64_defconfig
create mode 100644 configs/midori_x11_x86_64_defconfig
--git a/board/qemu/x86_64/busybox-extras.config b/board/qemu/x86_64/busybox-extras.config
new file mode 100644
index 0000000..7a776f9
--- /dev/null
+++ b/board/qemu/x86_64/busybox-extras.config
@@ -0,0 +1 @@
+CONFIG_RDEV=y
diff --git a/board/qemu/x86_64/genimage-x86_64.cfg b/board/qemu/x86_64/genimage-x86_64.cfg
new file mode 100644
index 0000000..ee6339b
--- /dev/null
+++ b/board/qemu/x86_64/genimage-x86_64.cfg
@@ -0,0 +1,24 @@
+image disk.img {
+
+ hdimage {
+ }
+
+ partition boot {
+ in-partition-table = "no"
+ image = "boot.img"
+ offset = 0
+ size = 512
+ }
+
+ partition grub {
+ in-partition-table = "no"
+ image = "grub.img"
+ offset = 512
+ }
+
+ partition root {
+ partition-type = 0x83
+ image = "rootfs.squashfs"
+ }
+
+}
diff --git a/board/qemu/x86_64/grub.cfg b/board/qemu/x86_64/grub.cfg
new file mode 100644
index 0000000..77385f1
--- /dev/null
+++ b/board/qemu/x86_64/grub.cfg
@@ -0,0 +1,10 @@
+set default="0"
+set timeout="5"
+
+menuentry "Private mode" {
+ linux /boot/bzImage root=/dev/sda1 rootwait console=tty1
+}
+
+menuentry "Permanent mode" {
+ linux /boot/bzImage root=/dev/sda1 rootwait console=tty1 grow_root
+}
--git a/board/qemu/x86_64/linux-extras.config b/board/qemu/x86_64/linux-extras.config
new file mode 100644
index 0000000..b869745
--- /dev/null
+++ b/board/qemu/x86_64/linux-extras.config
@@ -0,0 +1,51 @@
+# Filesystem support
+CONFIG_SQUASHFS=y
+
+# Ethernet drivers
+CONFIG_ATL2=y
+CONFIG_ATL1=y
+CONFIG_ATL1E=y
+CONFIG_ATL1C=y
+CONFIG_ALX=y
+CONFIG_E100=y
+CONFIG_E1000=y
+CONFIG_E1000E=y
+CONFIG_IGB=y
+
+# Video drivers
+CONFIG_DRM_BOCHS=y
+CONFIG_DRM_I915=y
+CONFIG_FB_VESA=y
+
+# Wireless drivers
+CONFIG_CFG80211=y
+CONFIG_CFG80211_WEXT=y
+CONFIG_MAC80211=y
+CONFIG_ATH_CARDS=y
+CONFIG_ATH9K=y
+CONFIG_ATH9K_HTC=y
+CONFIG_CARL9170=y
+CONFIG_ATH10K=y
+CONFIG_ATH10K_PCI=y
+CONFIG_IWLWIFI=y
+CONFIG_IWL4965=y
+CONFIG_IWL3945=y
+CONFIG_RT2X00=y
+CONFIG_RT2800PCI=y
+CONFIG_RT73USB=y
+CONFIG_RT2800USB=y
+CONFIG_RT2800USB_RT3573=y
+CONFIG_RT2800USB_RT53XX=y
+CONFIG_RT2800USB_RT55XX=y
+CONFIG_RTL8192CE=y
+CONFIG_RTL8192SE=y
+CONFIG_RTL8192DE=y
+CONFIG_RTL8723AE=y
+CONFIG_RTL8723BE=y
+CONFIG_RTL8188EE=y
+CONFIG_RTL8192EE=y
+CONFIG_RTL8821AE=y
+CONFIG_RTL8192CU=y
+# CONFIG_RTLWIFI_DEBUG is not set
+CONFIG_RTL8XXXU=y
+# CONFIG_RTL_CARDS is not set
diff --git a/board/qemu/x86_64/midori_overlay/etc/X11/xinit/xinitrc b/board/qemu/x86_64/midori_overlay/etc/X11/xinit/xinitrc
new file mode 100644
index 0000000..a838946
--- /dev/null
+++ b/board/qemu/x86_64/midori_overlay/etc/X11/xinit/xinitrc
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+fluxbox
diff --git a/board/qemu/x86_64/midori_overlay/etc/fb.modes b/board/qemu/x86_64/midori_overlay/etc/fb.modes
new file mode 100644
index 0000000..813c51c
--- /dev/null
+++ b/board/qemu/x86_64/midori_overlay/etc/fb.modes
@@ -0,0 +1,4 @@
+mode "1024x768-60"
+ geometry 1024 768 1024 768 24
+ timings 15385 160 24 29 3 136 6
+endmode
diff --git a/board/qemu/x86_64/midori_overlay/etc/init.d/S00rootfs b/board/qemu/x86_64/midori_overlay/etc/init.d/S00rootfs
new file mode 100755
index 0000000..5079444
--- /dev/null
+++ b/board/qemu/x86_64/midori_overlay/etc/init.d/S00rootfs
@@ -0,0 +1,5 @@
+#!/bin/sh
+if [ "$1" = "start" ]; then
+# Mount a volatile root user home directory
+ mount -t tmpfs root_home /root
+fi
diff --git a/board/qemu/x86_64/midori_overlay/etc/init.d/S98audio b/board/qemu/x86_64/midori_overlay/etc/init.d/S98audio
new file mode 100755
index 0000000..7899cff
--- /dev/null
+++ b/board/qemu/x86_64/midori_overlay/etc/init.d/S98audio
@@ -0,0 +1,6 @@
+#!/bin/sh
+if [ "$1" = "start" ]; then
+ if [ -x /usr/bin/amixer ]; then
+ amixer set Master 100 unmute >/dev/null 2>&1
+ fi
+fi
diff --git a/board/qemu/x86_64/midori_overlay/etc/init.d/S99gui b/board/qemu/x86_64/midori_overlay/etc/init.d/S99gui
new file mode 100755
index 0000000..009ac15
--- /dev/null
+++ b/board/qemu/x86_64/midori_overlay/etc/init.d/S99gui
@@ -0,0 +1,21 @@
+#!/bin/sh
+if [ "$1" = "start" ]; then
+
+ # XDG setup
+ export HOME=/root
+ export UID=`id -u`
+ export XDG_RUNTIME_DIR=/run/user/${UID}
+ mkdir -p /run/user/${UID}
+ chmod 700 /run/user/${UID}
+
+ # X11
+ if [ -x /usr/bin/startx ]; then
+ startx
+ fi
+
+ # Wayland/Weston
+ if [ -x /usr/bin/weston ]; then
+ openvt -c 2 -s -- weston --backend=fbdev-backend.so --config=/etc/weston.ini --tty=2 --log=/var/log/weston.log
+ fi
+
+fi
diff --git a/board/qemu/x86_64/midori_overlay/etc/weston.ini b/board/qemu/x86_64/midori_overlay/etc/weston.ini
new file mode 100644
index 0000000..ef1015d
--- /dev/null
+++ b/board/qemu/x86_64/midori_overlay/etc/weston.ini
@@ -0,0 +1,43 @@
+[core]
+#modules=xwayland.so,cms-colord.so
+#shell=desktop-shell.so
+#gbm-format=xrgb2101010
+
+[shell]
+#background-image=/usr/share/backgrounds/gnome/Aqua.jpg
+background-color=0xff002244
+background-type=tile
+panel-color=0x90ff0000
+locking=false
+animation=zoom
+startup-animation=fade
+#binding-modifier=ctrl
+#num-workspaces=6
+#cursor-theme=Obsidian
+#cursor-size=24
+
+[launcher]
+icon=/usr/share/icons/Adwaita/22x22/apps/utilities-terminal.png
+path=/usr/bin/weston-terminal
+
+[launcher]
+icon=/usr/share/icons/Adwaita/22x22/status/network-idle.png
+path=/usr/bin/connman-gtk
+
+[launcher]
+icon=/usr/share/icons/Adwaita/22x22/apps/web-browser.png
+path=/usr/bin/MiniBrowser
+
+[launcher]
+icon=/usr/share/icons/hicolor/22x22/apps/midori.png
+path=/usr/bin/midori
+
+[launcher]
+icon=/usr/share/icons/hicolor/24x24/apps/wireshark.png
+path=/usr/bin/wireshark-gtk
+
+[input-method]
+path=/usr/libexec/weston-keyboard
+
+#[screen-share]
+#command=/usr/bin/weston --backend=rdp-backend.so --shell=fullscreen-shell.so --no-clients-resize
diff --git a/board/qemu/x86_64/midori_overlay/usr/share/fluxbox/init b/board/qemu/x86_64/midori_overlay/usr/share/fluxbox/init
new file mode 100644
index 0000000..34e17bc
--- /dev/null
+++ b/board/qemu/x86_64/midori_overlay/usr/share/fluxbox/init
@@ -0,0 +1,7 @@
+! If you're looking for settings to configure, they won't be saved here until
+! you change something in the fluxbox configuration menu.
+
+session.menuFile: ~/.fluxbox/menu
+session.keyFile: ~/.fluxbox/keys
+session.styleFile: /usr/share/fluxbox/styles/zimek_green
+session.configVersion: 13
--git a/board/qemu/x86_64/midori_overlay/usr/share/fluxbox/menu b/board/qemu/x86_64/midori_overlay/usr/share/fluxbox/menu
new file mode 100644
index 0000000..6d7a439
--- /dev/null
+++ b/board/qemu/x86_64/midori_overlay/usr/share/fluxbox/menu
@@ -0,0 +1,29 @@
+[begin] (Fluxbox-1.3.7)
+[encoding] {UTF-8}
+ [exec] (connman-gtk) {connman-gtk}
+ [exec] (midori) {midori}
+ [exec] (MiniBrowser) {MiniBrowser}
+ [exec] (wireshark) {wireshark-gtk}
+ [exec] (xterm) {xterm}
+ [separator]
+ [exec] (Reboot) {/sbin/reboot}
+ [exec] (Power off) {/sbin/poweroff}
+ [separator]
+[submenu] (Fluxbox menu)
+ [config] (Configure)
+[submenu] (System Styles) {Choose a style...}
+ [stylesdir] (/usr/share/fluxbox/styles)
+[end]
+[submenu] (User Styles) {Choose a style...}
+ [stylesdir] (~/.fluxbox/styles)
+[end]
+ [workspaces] (Workspace List)
+ [commanddialog] (Fluxbox Command)
+ [reconfig] (Reload config)
+ [restart] (Restart)
+ [exec] (About) {(fluxbox -v; fluxbox -info | sed 1d) | xmessage -file - -center}
+ [separator]
+ [exit] (Exit)
+[end]
+[endencoding]
+[end]
diff --git a/board/qemu/x86_64/post-image.sh b/board/qemu/x86_64/post-image.sh
new file mode 100755
index 0000000..f04413c
--- /dev/null
+++ b/board/qemu/x86_64/post-image.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+BOARD_DIR="$(dirname $0)"
+BOARD_NAME="$(basename ${BOARD_DIR})"
+GENIMAGE_CFG="${BOARD_DIR}/genimage-${BOARD_NAME}.cfg"
+GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
+
+rm -rf "${GENIMAGE_TMP}"
+
+# Copy grub 1st stage to output/images
+cp -f ${HOST_DIR}/usr/lib/grub/i386-pc/boot.img ${BINARIES_DIR}
+
+genimage \
+ --rootpath "${TARGET_DIR}" \
+ --tmppath "${GENIMAGE_TMP}" \
+ --inputpath "${BINARIES_DIR}" \
+ --outputpath "${BINARIES_DIR}" \
+ --config "${GENIMAGE_CFG}"
+
+exit $?
diff --git a/board/qemu/x86_64/post-process.sh b/board/qemu/x86_64/post-process.sh
new file mode 100755
index 0000000..0ed22bc
--- /dev/null
+++ b/board/qemu/x86_64/post-process.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+BOARD_DIR="$(dirname $0)"
+BOARD_NAME="$(basename ${BOARD_DIR})"
+
+# Copy grub config to target
+cp -f ${BOARD_DIR}/grub.cfg ${TARGET_DIR}/boot/grub
+
diff --git a/configs/midori_wayland_x86_64_defconfig b/configs/midori_wayland_x86_64_defconfig
new file mode 100644
index 0000000..6e9c672
--- /dev/null
+++ b/configs/midori_wayland_x86_64_defconfig
@@ -0,0 +1,63 @@
+BR2_x86_64=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y
+BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
+BR2_ENABLE_LOCALE_PURGE=y
+BR2_ENABLE_LOCALE_WHITELIST="C en_US"
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
+BR2_TARGET_GENERIC_GETTY_PORT="tty1"
+BR2_ROOTFS_OVERLAY="board/qemu/x86_64/midori_overlay"
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/qemu/x86_64/post-process.sh"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/x86_64/post-image.sh"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.6"
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86_64/linux-4.5.config"
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/x86_64/linux-extras.config"
+BR2_LINUX_KERNEL_INSTALL_TARGET=y
+BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/qemu/x86_64/busybox-extras.config"
+BR2_PACKAGE_ALSA_UTILS=y
+BR2_PACKAGE_ALSA_UTILS_AMIXER=y
+BR2_PACKAGE_E2FSPROGS=y
+BR2_PACKAGE_CANTARELL=y
+BR2_PACKAGE_INCONSOLATA=y
+BR2_PACKAGE_ADWAITA_ICON_THEME=y
+BR2_PACKAGE_HICOLOR_ICON_THEME=y
+BR2_PACKAGE_MESA3D=y
+BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_I915=y
+BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y
+BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL=y
+BR2_PACKAGE_MESA3D_OPENGL_ES=y
+BR2_PACKAGE_WESTON=y
+BR2_PACKAGE_MIDORI=y
+BR2_PACKAGE_LINUX_FIRMWARE=y
+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170=y
+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271=y
+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160=y
+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_5000=y
+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2A=y
+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7260=y
+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7265=y
+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_REV_9=y
+BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y
+BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y
+BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y
+BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y
+BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX=y
+BR2_PACKAGE_ACPID=y
+BR2_PACKAGE_PARTED=y
+BR2_PACKAGE_GRAPHITE2=y
+BR2_PACKAGE_LIBGTK3=y
+BR2_PACKAGE_WEBKITGTK_HTTPS=y
+BR2_PACKAGE_WEBKITGTK_MULTIMEDIA=y
+BR2_PACKAGE_ORC=y
+BR2_PACKAGE_CONNMAN_WIFI=y
+BR2_PACKAGE_CONNMAN_GTK=y
+BR2_PACKAGE_WIRESHARK=y
+BR2_TARGET_ROOTFS_SQUASHFS=y
+# BR2_TARGET_ROOTFS_TAR is not set
+BR2_TARGET_GRUB2=y
+BR2_TARGET_GRUB2_BUILTIN_MODULES="boot linux ext2 fat squash4 part_msdos part_gpt normal biosdisk"
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y
diff --git a/configs/midori_x11_x86_64_defconfig b/configs/midori_x11_x86_64_defconfig
new file mode 100644
index 0000000..e986add
--- /dev/null
+++ b/configs/midori_x11_x86_64_defconfig
@@ -0,0 +1,76 @@
+BR2_x86_64=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y
+BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
+BR2_ENABLE_LOCALE_PURGE=y
+BR2_ENABLE_LOCALE_WHITELIST="C en_US"
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
+BR2_TARGET_GENERIC_GETTY_PORT="tty1"
+BR2_ROOTFS_OVERLAY="board/qemu/x86_64/midori_overlay"
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/qemu/x86_64/post-process.sh"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/x86_64/post-image.sh"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.6"
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86_64/linux-4.5.config"
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/x86_64/linux-extras.config"
+BR2_LINUX_KERNEL_INSTALL_TARGET=y
+BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/qemu/x86_64/busybox-extras.config"
+BR2_PACKAGE_ALSA_UTILS=y
+BR2_PACKAGE_ALSA_UTILS_AMIXER=y
+BR2_PACKAGE_E2FSPROGS=y
+BR2_PACKAGE_CANTARELL=y
+BR2_PACKAGE_INCONSOLATA=y
+BR2_PACKAGE_ADWAITA_ICON_THEME=y
+BR2_PACKAGE_HICOLOR_ICON_THEME=y
+BR2_PACKAGE_MESA3D=y
+BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST=y
+BR2_PACKAGE_MESA3D_DRI_DRIVER_I915=y
+BR2_PACKAGE_MESA3D_DRI_DRIVER_I965=y
+BR2_PACKAGE_XORG7=y
+BR2_PACKAGE_XSERVER_XORG_SERVER=y
+BR2_PACKAGE_XAPP_XINIT=y
+BR2_PACKAGE_XAPP_XRANDR=y
+BR2_PACKAGE_XDRIVER_XF86_INPUT_EVDEV=y
+BR2_PACKAGE_XDRIVER_XF86_INPUT_KEYBOARD=y
+BR2_PACKAGE_XDRIVER_XF86_INPUT_MOUSE=y
+BR2_PACKAGE_XDRIVER_XF86_VIDEO_ATI=y
+BR2_PACKAGE_XDRIVER_XF86_VIDEO_CIRRUS=y
+BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL=y
+BR2_PACKAGE_XDRIVER_XF86_VIDEO_NOUVEAU=y
+BR2_PACKAGE_XDRIVER_XF86_VIDEO_QXL=y
+BR2_PACKAGE_XDRIVER_XF86_VIDEO_VESA=y
+BR2_PACKAGE_MIDORI=y
+BR2_PACKAGE_XTERM=y
+BR2_PACKAGE_FLUXBOX=y
+BR2_PACKAGE_LINUX_FIRMWARE=y
+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170=y
+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271=y
+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160=y
+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_5000=y
+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2A=y
+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7260=y
+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7265=y
+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_REV_9=y
+BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y
+BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y
+BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y
+BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y
+BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX=y
+BR2_PACKAGE_ACPID=y
+BR2_PACKAGE_PARTED=y
+BR2_PACKAGE_GRAPHITE2=y
+BR2_PACKAGE_LIBGTK3=y
+BR2_PACKAGE_WEBKITGTK_HTTPS=y
+BR2_PACKAGE_WEBKITGTK_MULTIMEDIA=y
+BR2_PACKAGE_ORC=y
+BR2_PACKAGE_CONNMAN_WIFI=y
+BR2_PACKAGE_CONNMAN_GTK=y
+BR2_PACKAGE_WIRESHARK=y
+BR2_TARGET_ROOTFS_SQUASHFS=y
+# BR2_TARGET_ROOTFS_TAR is not set
+BR2_TARGET_GRUB2=y
+BR2_TARGET_GRUB2_BUILTIN_MODULES="boot linux ext2 fat squash4 part_msdos part_gpt normal biosdisk"
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y
--
2.7.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 1/5] cairo: enable opengl for cairo-gl
2016-03-26 19:35 ` [Buildroot] [PATCH 1/5] cairo: enable opengl for cairo-gl Gustavo Zacarias
@ 2016-03-26 20:37 ` Thomas Petazzoni
0 siblings, 0 replies; 11+ messages in thread
From: Thomas Petazzoni @ 2016-03-26 20:37 UTC (permalink / raw)
To: buildroot
Hello,
On Sat, 26 Mar 2016 16:35:07 -0300, Gustavo Zacarias wrote:
> If OpenGL is enabled then enable cairo-gl.
> However if GLESv2 is also present we must choose which implementation to
> use.
> Since normally OpenGL is more featured, has more dependencies and
> wouldn't be present "by accident" it seems like the logical choice to
> win over it.
>
> This feature is useful for webkitgtk's accelerated 2d canvas.
>
> Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
> ---
> package/cairo/cairo.mk | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
Applied to master, thanks.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 2/5] webkitgtk: new package
2016-03-26 19:35 ` [Buildroot] [PATCH 2/5] webkitgtk: new package Gustavo Zacarias
@ 2016-03-26 20:41 ` Thomas Petazzoni
2016-03-26 20:45 ` Gustavo Zacarias
0 siblings, 1 reply; 11+ messages in thread
From: Thomas Petazzoni @ 2016-03-26 20:41 UTC (permalink / raw)
To: buildroot
Hello,
On Sat, 26 Mar 2016 16:35:08 -0300, Gustavo Zacarias wrote:
> +config BR2_PACKAGE_WEBKITGTK
> + bool "webkitgtk"
> + depends on BR2_INSTALL_LIBSTDCPP
> + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
> + depends on BR2_TOOLCHAIN_USES_GLIBC
> + depends on BR2_PACKAGE_LIBGTK3
> + depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
> + select BR2_PACKAGE_CAIRO
> + select BR2_PACKAGE_CAIRO_PNG
> + select BR2_PACKAGE_ENCHANT
> + select BR2_PACKAGE_HARFBUZZ
> + select BR2_PACKAGE_ICU
> + select BR2_PACKAGE_JPEG
> + select BR2_PACKAGE_LIBSECRET
> + select BR2_PACKAGE_LIBSOUP
> + select BR2_PACKAGE_LIBXML2
> + select BR2_PACKAGE_LIBXSLT
> + select BR2_PACKAGE_SQLITE
> + select BR2_PACKAGE_WEBP
> + select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_LIBGTK3_X11
> + select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_LIBGTK3_X11
> + select BR2_PACKAGE_XLIB_LIBXRENDER if BR2_PACKAGE_LIBGTK3_X11
> + select BR2_PACKAGE_XLIB_LIBXT if BR2_PACKAGE_LIBGTK3_X11
> + help
> + WebKit is an open source, standards compliant web browser engine.
> +
> + http://www.webkitgtk.org/
> diff --git a/package/webkitgtk/webkitgtk.mk b/package/webkitgtk/webkitgtk.mk
> new file mode 100644
> index 0000000..d4e6ab5
> --- /dev/null
> +++ b/package/webkitgtk/webkitgtk.mk
> @@ -0,0 +1,83 @@
> +################################################################################
> +#
> +# webkitgtk
> +#
> +################################################################################
> +
> +WEBKITGTK_VERSION = 2.12.0
> +WEBKITGTK_SITE = http://www.webkitgtk.org/releases
> +WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz
> +WEBKITGTK_INSTALL_STAGING = YES
> +WEBKITGTK_LICENSE = LGPLv2.1+ BSD-2c
Is it an "and" (in which case they should be comma separated) or an
"or" (in which case it should be "LGPLv2.1+ or BSD-2c") ? If it's an
"and", are the parts under each license identifiable ?
> +WEBKITGTK_LICENSE_FILES = \
> + Source/WebCore/LICENSE-APPLE \
> + Source/WebCore/LICENSE-LGPL-2.1
> +WEBKITGTK_DEPENDENCIES = host-ruby host-flex host-bison host-gperf \
> + enchant harfbuzz icu jpeg libgtk3 libsecret libsoup \
> + libxml2 libxslt sqlite webp \
> + $(if $(BR_PACKAGE_XLIB_LIBXCOMPOSITE),xlib_libXcomposite) \
> + $(if $(BR_PACKAGE_XLIB_LIBXDAMAGE),xlib_libXdamage)
And those two X11 dependencies already taken care of by libgtk3 ? Why
only libXcomposite and libXdamage handled here and not the other ones ?
Are they really useful for Wayland ?
> +WEBKITGTK_CONF_OPTS = \
> + -DENABLE_API_TESTS=OFF \
> + -DENABLE_GEOLOCATION=OFF \
> + -DENABLE_GTKDOC=OFF \
> + -DENABLE_INTROSPECTION=OFF \
> + -DENABLE_MINIBROWSER=ON \
> + -DENABLE_SPELLCHECK=ON \
> + -DPORT=GTK \
> + -DUSE_LIBNOTIFY=OFF \
> + -DUSE_LIBHYPHEN=OFF
> +
> +# ARM needs NEON for JIT
> +# i386 & x86_64 don't seem to have any special requirements
> +ifeq ($(BR2_ARM_CPU_HAS_NEON)$(BR2_i386)$(BR2_x86_64),y)
> +WEBKITGTK_CONF_OPTS += -DENABLE_JIT=ON
> +else
> +WEBKITGTK_CONF_OPTS += -DENABLE_JIT=OFF
> +endif
> +
> +ifeq ($(BR2_PACKAGE_WEBKITGTK_MULTIMEDIA),y)
> +WEBKITGTK_CONF_OPTS += \
> + -DENABLE_VIDEO=ON \
> + -DENABLE_WEB_AUDIO=ON
> +WEBKITGTK_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-base gst1-plugins-good
> +else
> +WEBKITGTK_CONF_OPTS += \
> + -DENABLE_VIDEO=OFF \
> + -DENABLE_WEB_AUDIO=OFF
> +endif
> +
> +# Only one target platform can be built, assume X11 > Wayland
> +
> +# GTK3-X11 target mandates OpenGL from newer libgtk3 versions
> +ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y)
> +WEBKITGTK_CONF_OPTS += \
> + -DENABLE_ACCELERATED_2D_CANVAS=ON \
> + -DENABLE_GLES2=OFF \
> + -DENABLE_OPENGL=ON \
> + -DENABLE_X11_TARGET=ON
> +WEBKITGTK_DEPENDENCIES += libgl \
> + xlib_libXcomposite xlib_libXdamage xlib_libXrender xlib_libXt
You're again handling libX* dependencies here, so I guess there is some
duplication/issue here.
> +# It can use libgtk2 for npapi plugins
> +ifeq ($(BR2_PACKAGE_LIBGTK2),y)
> +WEBKITGTK_CONF_OPTS += -DENABLE_PLUGIN_PROCESS_GTK2=ON
> +WEBKITGTK_DEPENDENCIES += libgtk2
> +else
> +WEBKITGTK_CONF_OPTS += -DENABLE_PLUGIN_PROCESS_GTK2=OFF
> +endif
> +else # !X11
> +# GTK3-WAYLAND target mandates EGL from newer libgtk3 versions
> +ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND),y)
> +WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=ON
> +WEBKITGTK_DEPENDENCIES += libegl
> +# GLES support is optional
> +ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y)
> +WEBKITGTK_CONF_OPTS += -DENABLE_GLES2=ON
> +WEBKITGTK_DEPENDENCIES += libgles
> +else
> +WEBKITGTK_CONF_OPTS += -DENABLE_GLES2=OFF
> +endif
> +endif
> +endif
> +
> +$(eval $(cmake-package))
Otherwise, looks good to me.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 2/5] webkitgtk: new package
2016-03-26 20:41 ` Thomas Petazzoni
@ 2016-03-26 20:45 ` Gustavo Zacarias
0 siblings, 0 replies; 11+ messages in thread
From: Gustavo Zacarias @ 2016-03-26 20:45 UTC (permalink / raw)
To: buildroot
On 26/03/16 17:41, Thomas Petazzoni wrote:
>> +WEBKITGTK_LICENSE = LGPLv2.1+ BSD-2c
>
> Is it an "and" (in which case they should be comma separated) or an
> "or" (in which case it should be "LGPLv2.1+ or BSD-2c") ? If it's an
> "and", are the parts under each license identifiable ?
Hi.
It's and, LGPL for the glue part (gtk), BSD for the webkit part if i
remember correctly. I'll add the coma.
>> +WEBKITGTK_LICENSE_FILES = \
>> + Source/WebCore/LICENSE-APPLE \
>> + Source/WebCore/LICENSE-LGPL-2.1
>> +WEBKITGTK_DEPENDENCIES = host-ruby host-flex host-bison host-gperf \
>> + enchant harfbuzz icu jpeg libgtk3 libsecret libsoup \
>> + libxml2 libxslt sqlite webp \
>> + $(if $(BR_PACKAGE_XLIB_LIBXCOMPOSITE),xlib_libXcomposite) \
>> + $(if $(BR_PACKAGE_XLIB_LIBXDAMAGE),xlib_libXdamage)
>
> And those two X11 dependencies already taken care of by libgtk3 ? Why
> only libXcomposite and libXdamage handled here and not the other ones ?
> Are they really useful for Wayland ?
No they aren't, they are explicit X11 deps for webkit, i'll move them
down to the X11 block though since they aren't useful for wayland.
gtk3 wants/asks for: libx11, libxext, libxrender and libxi.
> You're again handling libX* dependencies here, so I guess there is some
> duplication/issue here.
Yes, forgot to clean up, will do for v2.
Regards.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH POC 5/5] qemu/x86_64: add midori samples for wayland and x11r7
[not found] ` <56F7CA4D.8040102@mind.be>
@ 2016-03-28 12:41 ` Gustavo Zacarias
2016-03-30 20:55 ` Arnout Vandecappelle
0 siblings, 1 reply; 11+ messages in thread
From: Gustavo Zacarias @ 2016-03-28 12:41 UTC (permalink / raw)
To: buildroot
On 27/03/16 08:55, Arnout Vandecappelle wrote:
> A demo defconfig! Great!
>
> I have nothing major to comment on, just a few points.
Hi.
Let's see, it was mostly a proof-of-concept (POC) / RFC so adjustments
are definitely welcome/needed.
> I think it would be better to start the name with the base defconfig,
> so qemu_x86_64_midori_wayland_defconfig.
>
> Oh, wait, is it actually a qemu defconfig? I guess not because it
> creates a full disk image...
>
> Maybe it would be better then to first add a separate x86_64_defconfig
> that creates a simple disk image for x86_64, and in a second patch add
> the x86_64_midori_x11 and _wayland defconfigs. That would also make the
> patches much easier to review.
Yes, i already have a pc_bios_x86_64_defconfig, it just happens that
this config can be used via qemu or real hardware.
The idea is indeed to have a base "pc" config to have the kernel config
fragment with all the drivers, though it might be a little overkill for
qemu since many will go unused just adding up size.
> Oh, and you're also missing a readme.
Oh yes.
> Maybe add a comment why this is needed.
I'm using this for the volatile/permanent storage logic, will expand on
this below...
> The meaning of this "Private" and "Permanent" is a bit vague.
> Actually, what does the grow_root mean?
s/Private/Volatile/
Or "just run don't store anything".
> Why squashfs? Ext4 would be the more logical choice IMHO, you can make
> it writable as well.
The image is quite smaller than ext4, and also with ext4 and genimage
you must know your target size or set it to some arbitrary number.
Previously i used +128 MB free space for the image size on ext4,
resulting on a squashfs4 wayland a target image of roughly 100 MB,
whereas for ext4 it was more around 450 MB.
The extra free space is needed for the browser to store temporary files,
the worst offender being watching some html5 video that potentially
needs the full size on disk at one given time (it will go away once you
close it).
I decided that setting +128 MB wasn't nearly good enough - it would
waste available space if the media is bigger (likely), or some people
just don't want to store it altogether, or some $video wouldn't fit, so
going to a "keep binaries RO and small" solution seemed better, with a
boot option to select the mode. On volatile just throw a tmpfs for
/root, if it's permanent (unimplemented yet, but not difficult) add an
extra partition with an ext4 filesystem to store it. That's where rdev
is needed, to find out the root filesystem device.
That's also the reason e2fsprogs & parted are in there.
> Wouldn't it be better to enable everything that works on x86 as
> modules? This is a bit a random selection...
Yes, indeed.
> Same here.
Ditto, it's not complete and we wouldn't want to complete with builtins.
> If / is rw, this isn't needed.
Dual-strategy scenario above, without the permanent implemented yet.
> Can't wayland autodetect the backend like X?
It has a default, but no, it doesn't autodetect.
There are only two of interest here though: drm or fbdev, with fbdev
being the most foolproof of all.
We might throw this in a config file in /etc though.
> Is it useful to have all these commented out lines?
They were there for testing/debugging, they can go.
> post-build.sh would be a better name.
Yes, sure.
> Couldn't it just be part of the overlay?
Probably, i didn't clean-up everything, it wasn't intended to be a final
config, just to get the ball rolling to discuss.
> Why mtools?
Leftover from testing with syslinux, no longer necessary.
A couple of extra comments from myself ("i'm not crazy!") ;-)
* We can add squashfs support directly to the grub2 default, size growth
is minimal and we're talking about x86/x86_64 which normally aren't that
strained in resources. Hence drop it in the defconfig.
* Fluxbox creates the menu config dynamically based on host
installed/detected tools, it might be interesting changing this since
you may miss a lot of entries, or have too many missing ones.
Even having a simple base menu config and disabling the automatic one
might be desirable, while adding a comment to fluxbox's Config.in
Regards.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH POC 5/5] qemu/x86_64: add midori samples for wayland and x11r7
2016-03-28 12:41 ` Gustavo Zacarias
@ 2016-03-30 20:55 ` Arnout Vandecappelle
0 siblings, 0 replies; 11+ messages in thread
From: Arnout Vandecappelle @ 2016-03-30 20:55 UTC (permalink / raw)
To: buildroot
On 03/28/16 14:41, Gustavo Zacarias wrote:
> On 27/03/16 08:55, Arnout Vandecappelle wrote:
>
[snip]
>> Maybe it would be better then to first add a separate x86_64_defconfig
>> that creates a simple disk image for x86_64, and in a second patch add
>> the x86_64_midori_x11 and _wayland defconfigs. That would also make the
>> patches much easier to review.
>
> Yes, i already have a pc_bios_x86_64_defconfig, it just happens that this config
> can be used via qemu or real hardware.
Well, if you post that defconfig, it should be possible to apply quickly, no?
Nothing controversial there I expect.
> The idea is indeed to have a base "pc" config to have the kernel config fragment
> with all the drivers, though it might be a little overkill for qemu since many
> will go unused just adding up size.
You mean that the pc_bios_x86_64_defconfig would use
board/qemu/x86_64/linux-4.5.config + kconfig fragment to enable all kinds of
network and display devices as modules, no?
>> Oh, and you're also missing a readme.
>
> Oh yes.
>
>> Maybe add a comment why this is needed.
>
> I'm using this for the volatile/permanent storage logic, will expand on this
> below...
>
>> The meaning of this "Private" and "Permanent" is a bit vague.
>> Actually, what does the grow_root mean?
>
> s/Private/Volatile/
> Or "just run don't store anything".
>
>> Why squashfs? Ext4 would be the more logical choice IMHO, you can make
>> it writable as well.
>
> The image is quite smaller than ext4, and also with ext4 and genimage you must
> know your target size or set it to some arbitrary number.
> Previously i used +128 MB free space for the image size on ext4, resulting on a
> squashfs4 wayland a target image of roughly 100 MB, whereas for ext4 it was more
> around 450 MB.
OK.
> The extra free space is needed for the browser to store temporary files, the
> worst offender being watching some html5 video that potentially needs the full
> size on disk at one given time (it will go away once you close it).
> I decided that setting +128 MB wasn't nearly good enough - it would waste
> available space if the media is bigger (likely), or some people just don't want
> to store it altogether, or some $video wouldn't fit, so going to a "keep
> binaries RO and small" solution seemed better, with a boot option to select the
> mode. On volatile just throw a tmpfs for /root, if it's permanent (unimplemented
> yet, but not difficult) add an extra partition with an ext4 filesystem to store
> it. That's where rdev is needed, to find out the root filesystem device.
> That's also the reason e2fsprogs & parted are in there.
Since it's not implemented yet, I'd propose to post something now already that
just has the Volatile option (it can already be called that).
>
>> Wouldn't it be better to enable everything that works on x86 as
>> modules? This is a bit a random selection...
>
> Yes, indeed.
>
>> Same here.
>
> Ditto, it's not complete and we wouldn't want to complete with builtins.
>
>> If / is rw, this isn't needed.
>
> Dual-strategy scenario above, without the permanent implemented yet.
>
>> Can't wayland autodetect the backend like X?
>
> It has a default, but no, it doesn't autodetect.
> There are only two of interest here though: drm or fbdev, with fbdev being the
> most foolproof of all.
> We might throw this in a config file in /etc though.
If / isn't writeable there isn't much point. You anyway have to adapt the
config to change that defaults file, so in that case you can just as well change
S99gui directly.
>
>> Is it useful to have all these commented out lines?
>
> They were there for testing/debugging, they can go.
>
>> post-build.sh would be a better name.
>
> Yes, sure.
>
>> Couldn't it just be part of the overlay?
>
> Probably, i didn't clean-up everything, it wasn't intended to be a final config,
> just to get the ball rolling to discuss.
We're discussing all right :-)
>
>> Why mtools?
>
> Leftover from testing with syslinux, no longer necessary.
>
> A couple of extra comments from myself ("i'm not crazy!") ;-)
>
> * We can add squashfs support directly to the grub2 default, size growth is
> minimal and we're talking about x86/x86_64 which normally aren't that strained
> in resources. Hence drop it in the defconfig.
OK for me, but not essential I think; it's not a problem that the grub config
is non-default.
> * Fluxbox creates the menu config dynamically based on host installed/detected
> tools, it might be interesting changing this since you may miss a lot of
> entries, or have too many missing ones.
> Even having a simple base menu config and disabling the automatic one might be
> desirable, while adding a comment to fluxbox's Config.in
This is completely independent of this defconfig, right? You are basically
saying that the fluxbox.mk is wrong because it leaks host info into the target?
Regards,
Arnout
>
> Regards.
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2016-03-30 20:55 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-26 19:35 [Buildroot] [PATCH 0/5] Webkitgtk 2.12.x bump Gustavo Zacarias
2016-03-26 19:35 ` [Buildroot] [PATCH 1/5] cairo: enable opengl for cairo-gl Gustavo Zacarias
2016-03-26 20:37 ` Thomas Petazzoni
2016-03-26 19:35 ` [Buildroot] [PATCH 2/5] webkitgtk: new package Gustavo Zacarias
2016-03-26 20:41 ` Thomas Petazzoni
2016-03-26 20:45 ` Gustavo Zacarias
2016-03-26 19:35 ` [Buildroot] [PATCH 3/5] midori: bump to version 0.5.11 Gustavo Zacarias
2016-03-26 19:35 ` [Buildroot] [PATCH 4/5] webkitgtk24: mark as deprecated Gustavo Zacarias
2016-03-26 19:35 ` [Buildroot] [PATCH POC 5/5] qemu/x86_64: add midori samples for wayland and x11r7 Gustavo Zacarias
[not found] ` <56F7CA4D.8040102@mind.be>
2016-03-28 12:41 ` Gustavo Zacarias
2016-03-30 20:55 ` Arnout Vandecappelle
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox