Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 2/5] webkitgtk: new package
Date: Sat, 26 Mar 2016 21:41:12 +0100	[thread overview]
Message-ID: <20160326214112.0dff04cf@free-electrons.com> (raw)
In-Reply-To: <1459020911-20593-3-git-send-email-gustavo@zacarias.com.ar>

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

  reply	other threads:[~2016-03-26 20:41 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160326214112.0dff04cf@free-electrons.com \
    --to=thomas.petazzoni@free-electrons.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox