All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCHv4 0/4] The big webkitgtk bump
@ 2015-06-08 14:07 Gustavo Zacarias
  2015-06-08 14:07 ` [Buildroot] [PATCHv4 1/4] webkitgtk24: new package Gustavo Zacarias
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Gustavo Zacarias @ 2015-06-08 14:07 UTC (permalink / raw
  To: buildroot

Fouth take at the webkit/midori bump...

There's support for libgtk2 & libgtk3, though libgtk2 is always needed
for the plugin system.

GL* support was only tested via mesa software renderer.

Wayland support wasn't enabled because it still needs gtk2 (plugins) -
this could possibly be patched away.

Multimedia support is automatic via detection of gst1-plugins-base,
ideally this should be an option but right now opencv+gst generate a
dependency loop if gstreamer1 is selected. Also codecs will need to be
catered by the user via the appropiate gst selects.

MIPS support was disabled pending libatomic support for
__sync_fetch_and_add_8 which is handled there for some 32-bit
architectures.
Update for v2: MIPS(eb) SIGBUSes, so disabled in general, kept the
libatomic tweak for reference. MIPSel untested.
Update for v4: Little-endian works so enabled.

Possible TODOs:
Wayland in a proper way, granite support, gcr support, more arch
testing/support.

v4:
* Bump to version 2.4.9 [Gustavo]

* Install MiniBrowser (the test browser for gtk3+) [Gustavo]

* Enable mipsel & mips64el [Gustavo]
  These seem to work with the emulator, only big-endian is broken.

* Fix make 3.81 workaround, it was doing the opposite [Gustavo]

* Add libatomic fix for SuperH as well [Gustavo]
  It's required to build properly, but runtime testing says it
  doesn't work, though it might be related with Qemu not being
  able to emulate more than 64MB RAM for sh4-r2d.

* Update deprecation version to 2015.08

v3:
* Work around make 3.81 looping bug for webkitgtk24. [Gustavo]

* Fold libatomic patches.
  webkitgtk24 requires libatomic for i386 support.
  While a better solution is desirable for other packages such as
  strongswan on microblazeel there's no final solution yet, and it
  most likely will require copying them anyway. [Gustavo]

* Add host variants of: harfbuzz, cairo, pango, librsvg.
  host-librsvg is required by midori for rsvg-convert.
  The rest are just dependencies of host-librsvg. [Gustavo]

v2:
* Needs NPTL [Gustavo]
  It uses pthread_getattr_np()

* Handle libatomic [Gustavo]
  Needed for i386, mips & mipsel at least.

* Deprecate libgail, no longer used by any package [Gustavo]

v1:

* Bump webkitgtk to version 2.4.x in a versioned package.
  This is because midori can't use 2.6.x or 2.8.x and this way we can
  have another webkitgtk package in parallel for other uses.
  The series is still security-supported upstream.

* Bump midori to version 0.5.9.
  No effort was made to enable support for the old webkit 1.x. series,
  it may be possible to do so but it makes no sense.

* Deprecate old webkit package.
  Security bugs, build issues, general instability.
Gustavo Zacarias (4):
  webkitgtk24: new package
  midori: bump to version 0.5.9
  webkit: mark as deprecated
  libgail: mark as deprecated

 package/Config.in                           |   1 +
 package/libgail/Config.in                   |   2 +
 package/midori/0001-disable-libnotify.patch |  43 +++++++++++
 package/midori/Config.in                    |  39 +++++++---
 package/midori/midori.hash                  |   2 +
 package/midori/midori.mk                    |  54 ++++++-------
 package/webkit/Config.in                    |   3 +
 package/webkitgtk24/0001-fix-ppc32.patch    |  34 ++++++++
 package/webkitgtk24/Config.in               |  59 ++++++++++++++
 package/webkitgtk24/webkitgtk24.hash        |   2 +
 package/webkitgtk24/webkitgtk24.mk          | 116 ++++++++++++++++++++++++++++
 11 files changed, 316 insertions(+), 39 deletions(-)
 create mode 100644 package/midori/0001-disable-libnotify.patch
 create mode 100644 package/midori/midori.hash
 create mode 100644 package/webkitgtk24/0001-fix-ppc32.patch
 create mode 100644 package/webkitgtk24/Config.in
 create mode 100644 package/webkitgtk24/webkitgtk24.hash
 create mode 100644 package/webkitgtk24/webkitgtk24.mk

-- 
2.3.6

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

* [Buildroot] [PATCHv4 1/4] webkitgtk24: new package
  2015-06-08 14:07 [Buildroot] [PATCHv4 0/4] The big webkitgtk bump Gustavo Zacarias
@ 2015-06-08 14:07 ` Gustavo Zacarias
  2015-06-08 14:07 ` [Buildroot] [PATCHv4 2/4] midori: bump to version 0.5.9 Gustavo Zacarias
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Gustavo Zacarias @ 2015-06-08 14:07 UTC (permalink / raw
  To: buildroot

Add new webkitgtk24 package.

The difference with the legacy webkit package is that this one uses the
new webkit2 API, and optionally the webkit1 API.

It's versioned because the latest release of midori can't use the newer
2.6.x or 2.8.x webkitgtk versions yet.

This paves the way for a newer webkitgtk26 or webkitgtk28 package that
can live side-by-side with this one for other uses.

Some loose checks (like !xorg7) are in place for possible/future wayland
support.
Right now wayland requires gtk2, hence xorg, but it might be possible to
patch that out with some work (it seems to be done for version 2.6.x,
though the build system changed to cmake so it might not be a
straighfoward patch).

Choices had to be made in the GL-area, right now the preference order is
libGL (full OpenGL), then GLES, then nothing (obviously).
And when gtk3 is around it's also preferred as well.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
 package/Config.in                        |   1 +
 package/webkitgtk24/0001-fix-ppc32.patch |  34 +++++++++
 package/webkitgtk24/Config.in            |  59 ++++++++++++++++
 package/webkitgtk24/webkitgtk24.hash     |   2 +
 package/webkitgtk24/webkitgtk24.mk       | 116 +++++++++++++++++++++++++++++++
 5 files changed, 212 insertions(+)
 create mode 100644 package/webkitgtk24/0001-fix-ppc32.patch
 create mode 100644 package/webkitgtk24/Config.in
 create mode 100644 package/webkitgtk24/webkitgtk24.hash
 create mode 100644 package/webkitgtk24/webkitgtk24.mk

diff --git a/package/Config.in b/package/Config.in
index 38b1b96..519ca0b 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -806,6 +806,7 @@ menu "Graphics"
 	source "package/tiff/Config.in"
 	source "package/wayland/Config.in"
 	source "package/webkit/Config.in"
+	source "package/webkitgtk24/Config.in"
 	source "package/webp/Config.in"
 	source "package/zxing/Config.in"
 endmenu
diff --git a/package/webkitgtk24/0001-fix-ppc32.patch b/package/webkitgtk24/0001-fix-ppc32.patch
new file mode 100644
index 0000000..c655a0e
--- /dev/null
+++ b/package/webkitgtk24/0001-fix-ppc32.patch
@@ -0,0 +1,34 @@
+From https://bugs.webkit.org/show_bug.cgi?id=130837
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+diff -Nura webkitgtk-2.4.8/Source/WebKit2/Platform/IPC/Connection.h webkitgtk-2.4.8-ppc/Source/WebKit2/Platform/IPC/Connection.h
+--- webkitgtk-2.4.8/Source/WebKit2/Platform/IPC/Connection.h	2015-01-07 06:45:43.000000000 -0300
++++ webkitgtk-2.4.8-ppc/Source/WebKit2/Platform/IPC/Connection.h	2015-04-20 01:55:41.554547510 -0300
+@@ -216,7 +216,11 @@
+ 
+     Client* m_client;
+     bool m_isServer;
++#if CPU(PPC)
++    uint64_t m_syncRequestID;
++#else
+     std::atomic<uint64_t> m_syncRequestID;
++#endif
+ 
+     bool m_onlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage;
+     bool m_shouldExitOnSyncMessageSendFailure;
+diff -Nura webkitgtk-2.4.8/Source/WebKit2/UIProcess/StatisticsRequest.cpp webkitgtk-2.4.8-ppc/Source/WebKit2/UIProcess/StatisticsRequest.cpp
+--- webkitgtk-2.4.8/Source/WebKit2/UIProcess/StatisticsRequest.cpp	2015-01-07 06:45:43.000000000 -0300
++++ webkitgtk-2.4.8-ppc/Source/WebKit2/UIProcess/StatisticsRequest.cpp	2015-04-20 01:55:41.555547544 -0300
+@@ -44,7 +44,11 @@
+ 
+ uint64_t StatisticsRequest::addOutstandingRequest()
+ {
++#if CPU(PPC)
++    static int64_t uniqueRequestID;
++#else
+     static std::atomic<int64_t> uniqueRequestID;
++#endif
+ 
+     uint64_t requestID = ++uniqueRequestID;
+     m_outstandingRequests.add(requestID);
diff --git a/package/webkitgtk24/Config.in b/package/webkitgtk24/Config.in
new file mode 100644
index 0000000..72b6ecc
--- /dev/null
+++ b/package/webkitgtk24/Config.in
@@ -0,0 +1,59 @@
+config BR2_PACKAGE_WEBKITGTK24_ARCH_SUPPORTS
+	bool
+	# ARM needs BLX, so v5t+, BE completely untested so disabled
+	default y if BR2_arm && !BR2_ARM_CPU_ARMV4
+	# i386 / x86_64 external toolchains have issues and old gcc versions
+	# https://bugs.webkit.org/show_bug.cgi?id=132231
+	# https://stackoverflow.com/questions/9140019/yield-is-not-a-member-of-stdthis-thread
+	default y if BR2_i386 || BR2_x86_64
+	depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201209
+	depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201203
+	depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201109
+	# 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
+
+comment "webkitgtk24 needs libgtk2 and a toolchain w/ C++, wchar, NPTL"
+	depends on BR2_PACKAGE_WEBKITGTK24_ARCH_SUPPORTS
+	depends on BR2_ARCH_HAS_ATOMICS
+	depends on !BR2_PACKAGE_LIBGTK2 || !BR2_PACKAGE_XORG7 || \
+		!BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_INSTALL_LIBSTDCPP \
+		|| !BR2_USE_WCHAR
+	depends on BR2_USE_MMU
+
+config BR2_PACKAGE_WEBKITGTK24
+	bool "webkitgtk 2.4.x"
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_USE_WCHAR
+	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
+	depends on (BR2_PACKAGE_LIBGTK2 && BR2_PACKAGE_XORG7)
+	depends on BR2_PACKAGE_WEBKITGTK24_ARCH_SUPPORTS
+	depends on BR2_ARCH_HAS_ATOMICS
+	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_LIBCURL
+	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_LIBXT if BR2_PACKAGE_XORG7
+	# MESA3D because it wants xcomposite/xdamage if GL/glx.h is found
+	# even if the GL* backends are disabled
+	select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_HAS_LIBGL || \
+		(BR2_PACKAGE_HAS_LIBGLES && BR2_PACKAGE_HAS_LIBEGL) || \
+		BR2_PACKAGE_MESA3D
+	select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_HAS_LIBGL || \
+		(BR2_PACKAGE_HAS_LIBGLES && BR2_PACKAGE_HAS_LIBEGL) || \
+		BR2_PACKAGE_MESA3D
+	help
+	  WebKit is an open source, standards compliant web browser engine.
+
+	  http://www.webkitgtk.org/
diff --git a/package/webkitgtk24/webkitgtk24.hash b/package/webkitgtk24/webkitgtk24.hash
new file mode 100644
index 0000000..bd1754e
--- /dev/null
+++ b/package/webkitgtk24/webkitgtk24.hash
@@ -0,0 +1,2 @@
+# From http://www.webkitgtk.org/releases/webkitgtk-2.4.9.tar.xz.sha1
+sha1	fbe02db8a4f01a70e7cdf0d16f8a18463e18b104	webkitgtk-2.4.9.tar.xz
diff --git a/package/webkitgtk24/webkitgtk24.mk b/package/webkitgtk24/webkitgtk24.mk
new file mode 100644
index 0000000..b197b0a
--- /dev/null
+++ b/package/webkitgtk24/webkitgtk24.mk
@@ -0,0 +1,116 @@
+################################################################################
+#
+# webkitgtk 2.4.x
+#
+################################################################################
+
+WEBKITGTK24_VERSION = 2.4.9
+WEBKITGTK24_SITE = http://www.webkitgtk.org/releases
+WEBKITGTK24_SOURCE = webkitgtk-$(WEBKITGTK24_VERSION).tar.xz
+WEBKITGTK24_INSTALL_STAGING = YES
+WEBKITGTK24_DEPENDENCIES = host-ruby host-flex host-bison host-gperf \
+	enchant harfbuzz icu jpeg libcurl libgtk2 libsecret libsoup \
+	libxml2 libxslt sqlite webp
+
+WEBKITGTK24_DEPENDENCIES += \
+	$(if $(BR_PACKAGE_XLIB_LIBXCOMPOSITE),xlib_libXcomposite) \
+	$(if $(BR_PACKAGE_XLIB_LIBXDAMAGE),xlib_libXdamage)
+
+# make 3.81 loops into oblivion with numjobs > 1
+ifneq ($(findstring x3.81,x$(MAKE_VERSION)),)
+WEBKITGTK24_MAKE = $(MAKE1)
+endif
+
+# Give explicit path to icu-config to avoid host leakage
+WEBKITGTK24_CONF_ENV = ac_cv_path_icu_config=$(STAGING_DIR)/usr/bin/icu-config
+
+# Some 32-bit architectures need libatomic support for 64-bit ops
+ifeq ($(BR2_i386)$(BR2_mips)$(BR2_mipsel)$(BR2_sh),y)
+WEBKITGTK24_CONF_ENV += LIBS="-latomic"
+endif
+
+# dependency tracking is to avoid build issues in the GEN/WTF phase
+WEBKITGTK24_CONF_OPTS = \
+	--enable-dependency-tracking \
+	--enable-spellcheck \
+	--disable-geolocation \
+	--disable-glibtest \
+	--disable-gtk-doc-html \
+	--disable-wayland-target
+
+ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE),y)
+WEBKITGTK24_CONF_OPTS += \
+	--enable-video \
+	--enable-web-audio
+WEBKITGTK24_DEPENDENCIES += gst1-plugins-good
+else
+WEBKITGTK24_CONF_OPTS += \
+	--disable-video \
+	--disable-web-audio
+endif
+
+# OpenGL
+ifeq ($(BR2_PACKAGE_HAS_LIBGL),y)
+WEBKITGTK24_CONF_OPTS += \
+	--enable-accelerated-compositing  \
+	--enable-glx \
+	--enable-webgl \
+	--disable-gles2
+WEBKITGTK24_DEPENDENCIES += libgl
+# EGL + GLES
+else ifeq ($(BR2_PACKAGE_HAS_LIBEGL)$(BR2_PACKAGE_HAS_LIBGLES),yy)
+WEBKITGTK24_CONF_OPTS += \
+	--enable-accelerated-compositing \
+	--enable-gles2 \
+	--enable-webgl \
+	--disable-glx
+WEBKITGTK24_DEPENDENCIES += libegl libgles
+# No GL
+else
+WEBKITGTK24_CONF_OPTS += \
+	--disable-accelerated-compositing \
+	--disable-gles2 \
+	--disable-glx \
+	--disable-webgl
+endif
+
+# X11 target with GTK2 (optionally GTK3)
+ifeq ($(BR2_PACKAGE_XLIB_LIBXT),y)
+WEBKITGTK24_CONF_OPTS += --enable-x11-target
+WEBKITGTK24_DEPENDENCIES += xlib_libXt
+else
+WEBKITGTK24_CONF_OPTS += --disable-x11-target
+endif
+
+# ARM needs NEON for JIT
+# i386 & x86_64 don't seem to have any special requirements
+ifeq ($(BR2_ARM_ENABLE_NEON)$(BR2_i386)$(BR2_x86_64),y)
+WEBKITGTK24_CONF_OPTS += --enable-jit
+else
+WEBKITGTK24_CONF_OPTS += --disable-jit
+# Disabling assembly and JIT needs an extra push sometimes (ppc)
+# See https://bugs.webkit.org/show_bug.cgi?format=multiple&id=113638
+WEBKITGTK24_CONF_ENV += \
+	CPPFLAGS="$(TARGET_CPPFLAGS) -DENABLE_JIT=0 -DENABLE_YARR_JIT=0 -DENABLE_ASSEMBLER=0"
+endif
+
+# webkit1 (old API) uses gtk2, webkit2 (new API) uses gtk3
+# Both can be built simultaneously, prefer "newer" for size/time savings
+# gtk2 is mandatory for plugin support
+ifeq ($(BR2_PACKAGE_LIBGTK3),y)
+WEBKITGTK24_CONF_OPTS += \
+	--with-gtk=3.0 \
+	--disable-webkit1
+WEBKITGTK24_DEPENDENCIES += libgtk3
+define WEBKITGTK24_INSTALL_BROWSER
+	$(INSTALL) -D -m 0755 $(@D)/Programs/MiniBrowser \
+		$(TARGET_DIR)/usr/bin/MiniBrowser
+endef
+WEBKITGTK24_POST_INSTALL_TARGET_HOOKS += WEBKITGTK24_INSTALL_BROWSER
+else
+WEBKITGTK24_CONF_OPTS += \
+	--with-gtk=2.0 \
+	--disable-webkit2
+endif
+
+$(eval $(autotools-package))
-- 
2.3.6

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

* [Buildroot] [PATCHv4 2/4] midori: bump to version 0.5.9
  2015-06-08 14:07 [Buildroot] [PATCHv4 0/4] The big webkitgtk bump Gustavo Zacarias
  2015-06-08 14:07 ` [Buildroot] [PATCHv4 1/4] webkitgtk24: new package Gustavo Zacarias
@ 2015-06-08 14:07 ` Gustavo Zacarias
  2015-06-08 14:07 ` [Buildroot] [PATCHv4 3/4] webkit: mark as deprecated Gustavo Zacarias
  2015-06-08 14:07 ` [Buildroot] [PATCHv4 4/4] libgail: " Gustavo Zacarias
  3 siblings, 0 replies; 5+ messages in thread
From: Gustavo Zacarias @ 2015-06-08 14:07 UTC (permalink / raw
  To: buildroot

Bump to version 0.5.9 which uses the new webkit2 API (gtk3) or
alternatively fallback to webkit1 compatibility API (gtk2).
The old webkit is completely unsupported now, it makes no sense because
of instability and security issues.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
 package/midori/0001-disable-libnotify.patch | 43 +++++++++++++++++++++++
 package/midori/Config.in                    | 39 ++++++++++++++-------
 package/midori/midori.hash                  |  2 ++
 package/midori/midori.mk                    | 54 ++++++++++++++---------------
 4 files changed, 99 insertions(+), 39 deletions(-)
 create mode 100644 package/midori/0001-disable-libnotify.patch
 create mode 100644 package/midori/midori.hash

diff --git a/package/midori/0001-disable-libnotify.patch b/package/midori/0001-disable-libnotify.patch
new file mode 100644
index 0000000..830ecff
--- /dev/null
+++ b/package/midori/0001-disable-libnotify.patch
@@ -0,0 +1,43 @@
+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/Config.in b/package/midori/Config.in
index c3b5a1b..b3ab8a9 100644
--- a/package/midori/Config.in
+++ b/package/midori/Config.in
@@ -1,20 +1,35 @@
+comment "midori needs libgtk2 and a toolchain w/ C++, wchar, NPTL"
+	depends on BR2_PACKAGE_WEBKITGTK24_ARCH_SUPPORTS
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
+		!BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_PACKAGE_LIBGTK2
+
 config BR2_PACKAGE_MIDORI
 	bool "midori"
-	select BR2_PACKAGE_WEBKIT
-	select BR2_PACKAGE_LIBSEXY
+	select BR2_PACKAGE_LIBSOUP
+	select BR2_PACKAGE_LIBSOUP_GNOME
+	select BR2_PACKAGE_LIBXML2
+	select BR2_PACKAGE_SQLITE
+	select BR2_PACKAGE_WEBKITGTK24
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
-	depends on BR2_PACKAGE_LIBGTK2
-	depends on BR2_INSTALL_LIBSTDCPP # webkit
-	depends on BR2_TOOLCHAIN_HAS_THREADS # webkit -> enchant -> libglib2
-	depends on BR2_USE_WCHAR	 # webkit
-	depends on BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
+	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_PACKAGE_WEBKITGTK24_ARCH_SUPPORTS
 	help
 	  Midori is a lightweight web browser based on WebKit
 
-	  http://software.twotoasts.de/?page=midori
+	  http://www.midori-browser.org/
 
-comment "midori needs libgtk2 and a toolchain w/ C++, wchar, threads"
-	depends on BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
-	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
-		!BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_LIBGTK2
+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
new file mode 100644
index 0000000..7aae4c1
--- /dev/null
+++ b/package/midori/midori.hash
@@ -0,0 +1,2 @@
+# From download link @ http://midori-browser.org/download/source/
+sha1	475614dcc89a214a3c2fdc2aaefc817a5fa0ca03	midori_0.5.9_all_.tar.bz2
diff --git a/package/midori/midori.mk b/package/midori/midori.mk
index a8b0b37..ed2cdd8 100644
--- a/package/midori/midori.mk
+++ b/package/midori/midori.mk
@@ -4,45 +4,45 @@
 #
 ################################################################################
 
-MIDORI_VERSION_MAJOR = 0.4
-MIDORI_VERSION = $(MIDORI_VERSION_MAJOR).6
-MIDORI_SOURCE = midori-$(MIDORI_VERSION).tar.bz2
-MIDORI_SITE = http://archive.xfce.org/src/apps/midori/$(MIDORI_VERSION_MAJOR)
+MIDORI_VERSION = 0.5.9
+MIDORI_SOURCE = midori_$(MIDORI_VERSION)_all_.tar.bz2
+MIDORI_SITE = https://launchpad.net/midori/trunk/$(MIDORI_VERSION)/+download
 MIDORI_LICENSE = LGPLv2.1+
 MIDORI_LICENSE_FILES = COPYING
 MIDORI_DEPENDENCIES = \
 	host-intltool \
+	host-librsvg \
 	host-pkgconf \
 	host-vala \
 	host-python \
-	libgtk2 \
-	libsexy \
-	webkit \
+	libsoup \
+	libxml2 \
+	sqlite \
+	webkitgtk24 \
 	$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \
 	$(if $(BR2_PACKAGE_LIBICONV),libiconv)
 
-ifneq ($(BR2_PACKAGE_XORG7),y)
-define MIDORI_WITHOUT_X11
-	$(SED) "s/check_pkg ('x11')/#check_pkg ('x11')/" $(@D)/wscript
-endef
-endif
+MIDORI_CONF_OPTS = \
+	-DUSE_ZEITGEIST=OFF
 
-define MIDORI_CONFIGURE_CMDS
-	$(MIDORI_WITHOUT_X11)
-	(cd $(@D); \
-		$(TARGET_CONFIGURE_OPTS)	\
-		$(HOST_DIR)/usr/bin/python2 ./waf configure \
-		--prefix=/usr			\
-		--disable-libnotify		\
-	)
+# 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
 
-define MIDORI_BUILD_CMDS
-	(cd $(@D); $(HOST_DIR)/usr/bin/python2 ./waf build -j $(PARALLEL_JOBS))
-endef
+ifeq ($(BR2_PACKAGE_MIDORI_HTTPS),y)
+MIDORI_DEPENDENCIES += glib-networking
+endif
 
-define MIDORI_INSTALL_TARGET_CMDS
-	(cd $(@D); $(HOST_DIR)/usr/bin/python2 ./waf --destdir=$(TARGET_DIR) install)
-endef
+ifeq ($(BR2_PACKAGE_LIBGTK3),y)
+MIDORI_CONF_OPTS += -DUSE_GTK3=ON -DHALF_BRO_INCOM_WEBKIT2=ON
+MIDORI_DEPENDENCIES += libgtk3
+else
+MIDORI_CONF_OPTS += -DUSE_GTK3=OFF
+MIDORI_DEPENDENCIES += libgtk2
+endif
 
-$(eval $(generic-package))
+$(eval $(cmake-package))
-- 
2.3.6

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

* [Buildroot] [PATCHv4 3/4] webkit: mark as deprecated
  2015-06-08 14:07 [Buildroot] [PATCHv4 0/4] The big webkitgtk bump Gustavo Zacarias
  2015-06-08 14:07 ` [Buildroot] [PATCHv4 1/4] webkitgtk24: new package Gustavo Zacarias
  2015-06-08 14:07 ` [Buildroot] [PATCHv4 2/4] midori: bump to version 0.5.9 Gustavo Zacarias
@ 2015-06-08 14:07 ` Gustavo Zacarias
  2015-06-08 14:07 ` [Buildroot] [PATCHv4 4/4] libgail: " Gustavo Zacarias
  3 siblings, 0 replies; 5+ messages in thread
From: Gustavo Zacarias @ 2015-06-08 14:07 UTC (permalink / raw
  To: buildroot

Mark webkit as deprecated now that midori has been updated to use
webkitgtk24.
It has multiple CVEs under it's belt and is no longer maintained
upstream.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
 package/webkit/Config.in | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/package/webkit/Config.in b/package/webkit/Config.in
index 2f0b90d..7f0d1e4 100644
--- a/package/webkit/Config.in
+++ b/package/webkit/Config.in
@@ -5,11 +5,13 @@ config BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
 	default y if BR2_i386 || BR2_mips || BR2_mipsel || \
 		BR2_sparc || BR2_x86_64
 	depends on BR2_USE_MMU # libgail -> pango -> libglib2
+	depends on BR2_DEPRECATED_SINCE_2015_08
 
 # disabled on powerpc due to bug https://bugs.webkit.org/show_bug.cgi?id=113638
 
 config BR2_PACKAGE_WEBKIT
 	bool "webkit"
+	depends on BR2_DEPRECATED_SINCE_2015_08
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_USE_WCHAR # enchant -> libglib2
 	depends on BR2_TOOLCHAIN_HAS_THREADS # enchant -> libglib2; icu
@@ -43,6 +45,7 @@ config BR2_PACKAGE_WEBKIT
 	  http://webkit.org/
 
 comment "webkit needs libgtk2 and a toolchain w/ C++, wchar, threads"
+	depends on BR2_DEPRECATED_SINCE_2015_08
 	depends on BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
 	depends on BR2_ARCH_HAS_ATOMICS # cairo
 	depends on !BR2_PACKAGE_LIBGTK2 || !BR2_INSTALL_LIBSTDCPP || \
-- 
2.3.6

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

* [Buildroot] [PATCHv4 4/4] libgail: mark as deprecated
  2015-06-08 14:07 [Buildroot] [PATCHv4 0/4] The big webkitgtk bump Gustavo Zacarias
                   ` (2 preceding siblings ...)
  2015-06-08 14:07 ` [Buildroot] [PATCHv4 3/4] webkit: mark as deprecated Gustavo Zacarias
@ 2015-06-08 14:07 ` Gustavo Zacarias
  3 siblings, 0 replies; 5+ messages in thread
From: Gustavo Zacarias @ 2015-06-08 14:07 UTC (permalink / raw
  To: buildroot

Mark libgail as deprecated now that midori has been updated to use
webkitgtk24 and the only package that uses it (webkit) has been
deprecated.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
 package/libgail/Config.in | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/package/libgail/Config.in b/package/libgail/Config.in
index 3967083..5e4f03b 100644
--- a/package/libgail/Config.in
+++ b/package/libgail/Config.in
@@ -6,6 +6,7 @@ config BR2_PACKAGE_LIBGAIL
 	depends on BR2_INSTALL_LIBSTDCPP # pango -> freetype
 	depends on BR2_ARCH_HAS_ATOMICS # pango -> cairo
 	depends on BR2_PACKAGE_LIBGTK2
+	depends on BR2_DEPRECATED_SINCE_2015_08
 	select BR2_PACKAGE_PANGO
 	help
 	  GAIL provides accessibility support for gtk+ and
@@ -27,3 +28,4 @@ comment "libgail needs a toolchain w/ C++, wchar, threads"
 	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
 	depends on BR2_USE_MMU
 	depends on BR2_ARCH_HAS_ATOMICS
+	depends on BR2_DEPRECATED_SINCE_2015_08
-- 
2.3.6

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

end of thread, other threads:[~2015-06-08 14:07 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-08 14:07 [Buildroot] [PATCHv4 0/4] The big webkitgtk bump Gustavo Zacarias
2015-06-08 14:07 ` [Buildroot] [PATCHv4 1/4] webkitgtk24: new package Gustavo Zacarias
2015-06-08 14:07 ` [Buildroot] [PATCHv4 2/4] midori: bump to version 0.5.9 Gustavo Zacarias
2015-06-08 14:07 ` [Buildroot] [PATCHv4 3/4] webkit: mark as deprecated Gustavo Zacarias
2015-06-08 14:07 ` [Buildroot] [PATCHv4 4/4] libgail: " Gustavo Zacarias

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