* [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 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 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 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 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