Update KDE frameworks to 5.46: requires qtwebengine

2018-05-31 Thread Hartmut Goebel
Hi,

still about to update KDE Framekworks to 5.46, I discovered another issue:

kdewebkit no longer compiles with qwebkit and presumably requires
qtwebengine. I'm stuck with this and am short in time. Please somebody
else take over.

Thecode can be found in "wip-kde-frameworks-update".

qtwebengine includes chromium, which is not yet packaged AFAIK.
Otehrwise what was learned from chromium could be used for qtwebengine -
or we could try to make qtwebengine use the system chromium.

-- 
Regards
Hartmut Goebel

| Hartmut Goebel  | h.goe...@crazy-compilers.com   |
| www.crazy-compilers.com | compilers which you thought are impossible |



0x7B752811BF773B65.asc
Description: application/pgp-keys


Re: Qtwebengine

2015-08-02 Thread Andreas Enge
On Mon, Jul 27, 2015 at 09:43:21PM +0800, 宋文武 wrote:
> It's indeed possible since nixpkgs did it:
> 
> I think the tricks are at build time for qmake:
> 

Interesting, but without knowing Nix, these recipes are difficult to under-
stand.

> And set QT_PLUGIN_PATH, QML2_IMPORT_PATH, etc. at runtime time.

Which does not make the use easier. Could these be defined as search paths
by qt-base? In any case, feel free to implement a more modular qt, for me
this is not a priority.

Thanks!

Andreas




Re: Qtwebengine

2015-07-27 Thread 宋文武
Andreas Enge  writes:

> On Sun, Jul 26, 2015 at 11:34:45PM +0800, 宋文武 wrote:
>> You could remove or comment out ninja too, it's used to build webengine.
>
> Thanks for the suggestion, I did and pushed.
>
>> The below are for qt-4?
>
> Yes. I added harfbuzz as an input to qt 5, and took it out again for
> qt-4.
OK.
>
> On Sun, Jul 26, 2015 at 05:07:18PM -0400, Mark H Weaver wrote:
>> 宋文武  writes:
>> > +1 for remove qtwebengine.
>
> Done and pushed, only for qt 5. I tried the flag "-skip qtwebengine" for qt-4,
> and it was not recognised. Apparently this modularisation appears only
> in qt 5.
Yes, qt4 don't have it.
>
> On Sun, Jul 26, 2015 at 11:34:45PM +0800, 宋文武 wrote:
>> (I tried to split Qt into submodules, but it seems to require a lot of
>> effort which I couldn't give now :-( )
>
> I looked into the "submodules" directory on the download server, and also
> tried to search a bit the documentation, but did not quite understand whether
> it was possible to build the different qt libraries separately. My impression
> was that it was not possible. To me, it looks as if these different modules
> first need to be unpacked in a common place and then be compiled all together.
> The same could then be reached by configuring with "-skip this -skip that",
> except that one would not need to download the modules that will not be
> compiled.
It's indeed possible since nixpkgs did it:
<https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/qt-5/5.4/default.nix>

I think the tricks are at build time for qmake:
<https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/qt-5/5.4/setup-hook.sh>

And set QT_PLUGIN_PATH, QML2_IMPORT_PATH, etc. at runtime time.



Re: Qtwebengine

2015-07-27 Thread Andreas Enge
On Sun, Jul 26, 2015 at 05:07:18PM -0400, Mark H Weaver wrote:
> On that subject: I vaguely recall you saying that the system 'pcre'
> couldn't be used by Qt before because it wasn't built with
> --enable-pcre16.  I added that feature to 'pcre' in the last
> core-updates cycle, in commit 16f71908308106d098fa44104e177e328c593359.

The configure log of qt 5 contains this line:
  PCRE ... system

So it seems to work now.

Andreas




Re: Qtwebengine

2015-07-27 Thread Andreas Enge
On Sun, Jul 26, 2015 at 11:34:45PM +0800, 宋文武 wrote:
> You could remove or comment out ninja too, it's used to build webengine.

Thanks for the suggestion, I did and pushed.

> The below are for qt-4?

Yes. I added harfbuzz as an input to qt 5, and took it out again for qt-4.

On Sun, Jul 26, 2015 at 05:07:18PM -0400, Mark H Weaver wrote:
> 宋文武  writes:
> > +1 for remove qtwebengine.

Done and pushed, only for qt 5. I tried the flag "-skip qtwebengine" for qt-4,
and it was not recognised. Apparently this modularisation appears only
in qt 5.

On Sun, Jul 26, 2015 at 11:34:45PM +0800, 宋文武 wrote:
> (I tried to split Qt into submodules, but it seems to require a lot of
> effort which I couldn't give now :-( )

I looked into the "submodules" directory on the download server, and also
tried to search a bit the documentation, but did not quite understand whether
it was possible to build the different qt libraries separately. My impression
was that it was not possible. To me, it looks as if these different modules
first need to be unpacked in a common place and then be compiled all together.
The same could then be reached by configuring with "-skip this -skip that",
except that one would not need to download the modules that will not be
compiled. 

Andreas




Re: Qtwebengine

2015-07-26 Thread Mark H Weaver
宋文武  writes:
> +1 for remove qtwebengine.

Agreed.

> (I tried to split Qt into submodules, but it seems to require a lot of
> effort which I couldn't give now :-( )

On that subject: I vaguely recall you saying that the system 'pcre'
couldn't be used by Qt before because it wasn't built with
--enable-pcre16.  I added that feature to 'pcre' in the last
core-updates cycle, in commit 16f71908308106d098fa44104e177e328c593359.

  Mark



Re: Qtwebengine

2015-07-26 Thread 宋文武
Andreas Enge  writes:

> Attached is the patch.
>
> Vlc still compiles with the new qt. Liblxqt does not; we might need to
> add qt 5.4 again as a separate package. Hydra should tell us if there is
> more damage...
>
> Andreas
>
> From 544976bc995182440ab07f6e02dbc4deb6a3f320 Mon Sep 17 00:00:00 2001
> From: Andreas Enge 
> Date: Sat, 25 Jul 2015 16:02:38 +0200
> Subject: [PATCH] gnu: qt: Update to 5.5.0.
>
> * gnu/packages/qt.scm (qt): Update to 5.5.0. Update download location.
>   Drop patch and snippet.
>   [arguments]: Add configure flag to drop qtwebengine module bundling
>   chromium.
>   [inputs]: Add harfbuzz to avoid use of bundled copy.
>   (qt-4)[inputs]: Remove inherited harfbuzz again.
> * gnu/packages/patches/qt5-conflicting-typedefs.patch: Delete file.
> * gnu-system.am (dist_patch_DATA): Unregister patch.
> * gnu/packages/patches/qt5-runpath.patch: Adapt patch.
> ---
>  gnu-system.am  |  1 -
>  .../patches/qt5-conflicting-typedefs.patch | 70 
> --
>  gnu/packages/patches/qt5-runpath.patch | 16 ++---
>  gnu/packages/qt.scm| 51 +---
>  4 files changed, 37 insertions(+), 101 deletions(-)
>  delete mode 100644 gnu/packages/patches/qt5-conflicting-typedefs.patch
>
> diff --git a/gnu-system.am b/gnu-system.am
> index d6635fe..560f0ca 100644
> --- a/gnu-system.am
> +++ b/gnu-system.am
> @@ -602,7 +602,6 @@ dist_patch_DATA = 
> \
>gnu/packages/patches/qemu-CVE-2015-4106-pt8.patch  \
>gnu/packages/patches/qt4-ldflags.patch \
>gnu/packages/patches/qt4-tests.patch   \
> -  gnu/packages/patches/qt5-conflicting-typedefs.patch\
>gnu/packages/patches/qt5-runpath.patch \
>gnu/packages/patches/ratpoison-shell.patch \
>gnu/packages/patches/readline-link-ncurses.patch   \
> diff --git a/gnu/packages/patches/qt5-conflicting-typedefs.patch 
> b/gnu/packages/patches/qt5-conflicting-typedefs.patch
> deleted file mode 100644
> index 751452c..000
> --- a/gnu/packages/patches/qt5-conflicting-typedefs.patch
> +++ /dev/null
> @@ -1,70 +0,0 @@
> -See <https://bugreports.qt.io/browse/QTBUG-45205>.
> -
> -diff --git a/qtwebengine/src/core/chromium_gpu_helper.cpp 
> b/qtwebengine/src/core/chromium_gpu_helper.cpp
> -index c7c97e6..ef574ec 100644
>  a/qtwebengine/src/core/chromium_gpu_helper.cpp
> -+++ b/qtwebengine/src/core/chromium_gpu_helper.cpp
> -@@ -40,13 +40,15 @@
> - 
> - #include "chromium_gpu_helper.h"
> - 
> --#include "content/common/gpu/gpu_channel_manager.h"
> --#include "content/common/gpu/sync_point_manager.h"
> --#include "content/gpu/gpu_child_thread.h"
> -+// Including gpu/command_buffer headers before content/gpu headers makes 
> sure that
> -+// guards are defined to prevent duplicate definition errors with forward 
> declared
> -+// GL typedefs cascading through content header includes.
> - #include "gpu/command_buffer/service/mailbox_manager.h"
> - #include "gpu/command_buffer/service/texture_manager.h"
> - 
> --#include  // We need this for the Q_OS_QNX define.
> -+#include "content/common/gpu/gpu_channel_manager.h"
> -+#include "content/common/gpu/sync_point_manager.h"
> -+#include "content/gpu/gpu_child_thread.h"
> - 
> - #ifdef Q_OS_QNX
> - #include "content/common/gpu/stream_texture_qnx.h"
> -diff --git a/qtwebengine/src/core/gl_surface_qt.cpp 
> b/qtwebengine/src/core/gl_surface_qt.cpp
> -index 4fe2f21..5a27aa9 100644
>  a/qtwebengine/src/core/gl_surface_qt.cpp
> -+++ b/qtwebengine/src/core/gl_surface_qt.cpp
> -@@ -49,8 +49,6 @@
> - #include "base/logging.h"
> - #include "base/memory/scoped_ptr.h"
> - #include "content/common/gpu/image_transport_surface.h"
> --#include "content/common/gpu/gpu_channel_manager.h"
> --#include "content/common/gpu/gpu_command_buffer_stub.h"
> - #include "ui/gl/egl_util.h"
> - #include "ui/gl/gl_context.h"
> - #include "ui/gl/gl_implementation.h"
> -@@ -544,7 +542,9 @@ GLSurface::CreateViewGLSurface(gfx::AcceleratedWidget 
> window)
> - }  // namespace gfx
> - 
> - namespace content {
> --scoped_refptr 
> ImageTransportSurface::CreateNativeSurface(GpuChannelManager* manager, 
> GpuCommandBufferStub* stub, const gfx::GLSurfaceHandle& handle)
> -+class GpuCommandBufferStub;
> -+class GpuChannelManager;
> -+scoped_refptr 
> ImageTransportSurface::CreateNativeSurfac

Re: Qtwebengine

2015-07-26 Thread Andreas Enge
Attached is the patch.

Vlc still compiles with the new qt. Liblxqt does not; we might need to
add qt 5.4 again as a separate package. Hydra should tell us if there is
more damage...

Andreas

>From 544976bc995182440ab07f6e02dbc4deb6a3f320 Mon Sep 17 00:00:00 2001
From: Andreas Enge 
Date: Sat, 25 Jul 2015 16:02:38 +0200
Subject: [PATCH] gnu: qt: Update to 5.5.0.

* gnu/packages/qt.scm (qt): Update to 5.5.0. Update download location.
  Drop patch and snippet.
  [arguments]: Add configure flag to drop qtwebengine module bundling
  chromium.
  [inputs]: Add harfbuzz to avoid use of bundled copy.
  (qt-4)[inputs]: Remove inherited harfbuzz again.
* gnu/packages/patches/qt5-conflicting-typedefs.patch: Delete file.
* gnu-system.am (dist_patch_DATA): Unregister patch.
* gnu/packages/patches/qt5-runpath.patch: Adapt patch.
---
 gnu-system.am  |  1 -
 .../patches/qt5-conflicting-typedefs.patch | 70 --
 gnu/packages/patches/qt5-runpath.patch | 16 ++---
 gnu/packages/qt.scm| 51 +---
 4 files changed, 37 insertions(+), 101 deletions(-)
 delete mode 100644 gnu/packages/patches/qt5-conflicting-typedefs.patch

diff --git a/gnu-system.am b/gnu-system.am
index d6635fe..560f0ca 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -602,7 +602,6 @@ dist_patch_DATA =   
\
   gnu/packages/patches/qemu-CVE-2015-4106-pt8.patch\
   gnu/packages/patches/qt4-ldflags.patch   \
   gnu/packages/patches/qt4-tests.patch \
-  gnu/packages/patches/qt5-conflicting-typedefs.patch  \
   gnu/packages/patches/qt5-runpath.patch   \
   gnu/packages/patches/ratpoison-shell.patch   \
   gnu/packages/patches/readline-link-ncurses.patch \
diff --git a/gnu/packages/patches/qt5-conflicting-typedefs.patch 
b/gnu/packages/patches/qt5-conflicting-typedefs.patch
deleted file mode 100644
index 751452c..000
--- a/gnu/packages/patches/qt5-conflicting-typedefs.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-See <https://bugreports.qt.io/browse/QTBUG-45205>.
-
-diff --git a/qtwebengine/src/core/chromium_gpu_helper.cpp 
b/qtwebengine/src/core/chromium_gpu_helper.cpp
-index c7c97e6..ef574ec 100644
 a/qtwebengine/src/core/chromium_gpu_helper.cpp
-+++ b/qtwebengine/src/core/chromium_gpu_helper.cpp
-@@ -40,13 +40,15 @@
- 
- #include "chromium_gpu_helper.h"
- 
--#include "content/common/gpu/gpu_channel_manager.h"
--#include "content/common/gpu/sync_point_manager.h"
--#include "content/gpu/gpu_child_thread.h"
-+// Including gpu/command_buffer headers before content/gpu headers makes sure 
that
-+// guards are defined to prevent duplicate definition errors with forward 
declared
-+// GL typedefs cascading through content header includes.
- #include "gpu/command_buffer/service/mailbox_manager.h"
- #include "gpu/command_buffer/service/texture_manager.h"
- 
--#include  // We need this for the Q_OS_QNX define.
-+#include "content/common/gpu/gpu_channel_manager.h"
-+#include "content/common/gpu/sync_point_manager.h"
-+#include "content/gpu/gpu_child_thread.h"
- 
- #ifdef Q_OS_QNX
- #include "content/common/gpu/stream_texture_qnx.h"
-diff --git a/qtwebengine/src/core/gl_surface_qt.cpp 
b/qtwebengine/src/core/gl_surface_qt.cpp
-index 4fe2f21..5a27aa9 100644
 a/qtwebengine/src/core/gl_surface_qt.cpp
-+++ b/qtwebengine/src/core/gl_surface_qt.cpp
-@@ -49,8 +49,6 @@
- #include "base/logging.h"
- #include "base/memory/scoped_ptr.h"
- #include "content/common/gpu/image_transport_surface.h"
--#include "content/common/gpu/gpu_channel_manager.h"
--#include "content/common/gpu/gpu_command_buffer_stub.h"
- #include "ui/gl/egl_util.h"
- #include "ui/gl/gl_context.h"
- #include "ui/gl/gl_implementation.h"
-@@ -544,7 +542,9 @@ GLSurface::CreateViewGLSurface(gfx::AcceleratedWidget 
window)
- }  // namespace gfx
- 
- namespace content {
--scoped_refptr 
ImageTransportSurface::CreateNativeSurface(GpuChannelManager* manager, 
GpuCommandBufferStub* stub, const gfx::GLSurfaceHandle& handle)
-+class GpuCommandBufferStub;
-+class GpuChannelManager;
-+scoped_refptr 
ImageTransportSurface::CreateNativeSurface(GpuChannelManager*, 
GpuCommandBufferStub*, const gfx::GLSurfaceHandle&)
- {
- QT_NOT_USED
- return scoped_refptr();
-diff --git 
a/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/gles2_cmd_format.h
 
b/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/gles2_cmd_format.h
-index 04a3dc3..506cf00 100644
 
a/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/gles2_cmd_format.h
-+++ 
b/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/gles2_cmd_format.h
-@@ -20,6 +20,7 @@
- #include &q

Qtwebengine

2015-07-26 Thread Andreas Enge
Hello,

I am trying to update Qt to 5.5.0. Unfortunately, it does not compile;
there are error messages such as
../../../src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc: In function ‘boolean 
gfx::
{anonymous}::FillInputBuffer(j_decompress_ptr)’:
../../../src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc:362:10: error: cannot 
conve
rt ‘bool’ to ‘boolean’ in return
   return false;
../../../src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc:276:32: error: 
invalid conv
ersion from ‘int’ to ‘boolean’ [-fpermissive]
   jpeg_start_compress(&cinfo, 1);

We might use too aggressive type checking here. Anyway, I seem to recall that
we discussed leaving out the building of chromium altogether due to security
considerations?

In this case, it should be enough to pass the configure flag
"-skip qtwebengine". I am trying out a build now, and if you agree and
everything goes well, would push like this.

Andreas