Summary: | dev-qt/qtwebengine:5 packaging | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Davide Pesavento <pesa> |
Component: | New packages | Assignee: | Qt Bug Alias <qt> |
Status: | RESOLVED FIXED | ||
Severity: | enhancement | CC: | chiitoo, eric.chatellier, eugene.shalygin, franz.trischberger, gentoobugs, josef64, nikoli, noein93, orzel, reagentoo |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 554380, 579164 | ||
Attachments: |
Ebuild for qtwebengine-5.6.9999
qtwebengine-5.6.0_beta.ebuild |
Description
Davide Pesavento
2014-12-01 02:20:57 UTC
Note to self: http://lists.qt-project.org/pipermail/development/2014-December/019436.html (applies to 5.4.0 for now, might be fixed in later versions) KDE from trunk don't compile without qtwebengine:5 https://bugs.gentoo.org/show_bug.cgi?id=548220 Upstream listened. http://lists.qt-project.org/pipermail/development/2015-August/022869.html Created attachment 422536 [details] Ebuild for qtwebengine-5.6.9999 Not sure of its worth, but here's an ebuild I've been using for a while now. It's modified from the ebuild found in the 'fkmclane' overlay (https://github.com/fkmclane/overlay) as well as 'alexxy' more recently now (https://gitweb.gentoo.org/dev/alexxy.git/commit/?id=846307931dbcac734a4512ebde47de5127b8978b). I've removed the patches as I'm not sure of their need, nor if they would apply to this version. More importantly, and perhaps interestingly, I added the proprietary-codecs, system-ffmpeg, and system-icu flags to make them optional. I'm not sure at this time if all the dependencies are included. I made a terrible job at keeping track of them... What else would need to be done? Thanks! Created attachment 422734 [details]
qtwebengine-5.6.0_beta.ebuild
Completely untested ebuild based upon quick source inspection.
This is in the overlay now. Still needs a lot of work though. Thanks Michael. Did you take a look at other qtwebengine ebuilds that are floating around, to potentially merge interesting ideas that they implemented? I checked the three versions found on gpo.zugaina.org, and the main differences seem to be extra USE flags (which no longer seem to be optional) and some patches for QTBUG-41960 which appears to be fixed. Just wanted to test the beta, and it installs really fast ;) === >>> Source unpacked in /var/tmp/portage/dev-qt/qtwebengine-5.6.0_beta/work >>> Preparing source in /var/tmp/portage/dev-qt/qtwebengine-5.6.0_beta/work/qtwebengine-opensource-src-5.6.0-beta ... * Applying qtwebengine-5.6.0-icu.patch ... [ ok ] >>> Source prepared. >>> Configuring source in /var/tmp/portage/dev-qt/qtwebengine-5.6.0_beta/work/qtwebengine-opensource-src-5.6.0-beta ... * Running qt5_qmake Info: creating cache file /var/tmp/portage/dev-qt/qtwebengine-5.6.0_beta/work/qtwebengine-opensource-src-5.6.0-beta/.qmake.cache Using gcc version ., but at least gcc version 4.7 is required to build Qt WebEngine. Using gcc version ., but at least gcc version 4.7 is required to build Qt WebEngine. QtWebEngine will not be built. >>> Source configured. >>> Compiling source in /var/tmp/portage/dev-qt/qtwebengine-5.6.0_beta/work/qtwebengine-opensource-src-5.6.0-beta ... * Running emake make -j11 make: Nothing to be done for 'first'. >>> Source compiled. * Skipping make test/check due to ebuild restriction. >>> Test phase [disabled because of RESTRICT=test]: dev-qt/qtwebengine-5.6.0_beta >>> Install qtwebengine-5.6.0_beta into /var/tmp/portage/dev-qt/qtwebengine-5.6.0_beta/image/ category dev-qt * Running emake INSTALL_ROOT=/var/tmp/portage/dev-qt/qtwebengine-5.6.0_beta/image/ install make -j11 INSTALL_ROOT=/var/tmp/portage/dev-qt/qtwebengine-5.6.0_beta/image/ install make: Nothing to be done for 'install'. >>> Completed installing qtwebengine-5.6.0_beta into /var/tmp/portage/dev-qt/qtwebengine-5.6.0_beta/image/ === I use clang for that (because gcc uses my whole RAM with large c++-projects, don't know why...). I inspected the top-level Makefile, and QMAKE_CXX says "clang++". I think there could be a hardcoded check for "gcc" that tries to match some COMPILER_VERSION generated from clang. I use clang-3.7.0 and gcc-4.9.3 - so the gcc-check really should not return false. And of course emerge should error out and not successfully finish installation ;) (In reply to Franz Fellner from comment #9) > I use clang for that (because gcc uses my whole RAM with large c++-projects, > don't know why...). Try with a lower -j setting for MAKEOPTS... > I think there could be a hardcoded check for "gcc" that tries to > match some COMPILER_VERSION generated from clang. Yep. I suspect your QT_GCC_* values in /usr/lib/qt5/mkspecs/qconfig.pri are empty. Did you build qtcore with clang? > And of course emerge should error out and not successfully finish > installation ;) This has been (and in fact still is) a problem with qtwebkit as well, and it's due to the way the build system is structured... unfortunately there isn't really a clean solution, we will need to find a workaround. (In reply to Davide Pesavento from comment #10) > (In reply to Franz Fellner from comment #9) > > I use clang for that (because gcc uses my whole RAM with large c++-projects, > > don't know why...). > > Try with a lower -j setting for MAKEOPTS... It even happens for -j1 (and without -pipe in the CFLAGS). At some point during compilation one gcc process takes up way more than 3GB of RAM. I have 4GB (+4GB swap) where the kernel and the iGPU take their part. clang does not have such issues. AFAIR this started with gcc-4.8. > > I think there could be a hardcoded check for "gcc" that tries to > > match some COMPILER_VERSION generated from clang. > > Yep. I suspect your QT_GCC_* values in /usr/lib/qt5/mkspecs/qconfig.pri are > empty. Did you build qtcore with clang? There are no QT_GCC-values in qconfig.pri. But qmodule.pri says: QMAKE_LINK = clang++ QMAKE_CC = clang QMAKE_CXX = clang++ I have configured package.env to use clang for the whole qt-suite. And qtcore of course was built with clang, just had a look again: emerge -1 --nodeps qtcore >>> Verifying ebuild manifests >>> Emerging (1 of 1) dev-qt/qtcore-5.6.0_beta::qt [...] Creating qmake... clang++ -c [...] And all the other modules (like qtx11extras, qtwebchannel, ...) just compiled fine. Can you try with this patch please? https://codereview.qt-project.org/144993 The patch didn't fix my issue. Try the latest version of that patch please (patch set 8) (In reply to Davide Pesavento from comment #14) > Try the latest version of that patch please (patch set 8) Patch set 8 didn't fix it. Also No 9 didn't make it build. It's building now, with a package.env file to export QMAKESPEC=linux-clang So somehow qtwebengine has issues to properly detect I am building with clang (although CC and CXX are exported properly) or it doesn't set QMAKESPEC correctly. Or something else - I don't know much (anything?) about those internlals ;) (In reply to Franz Fellner from comment #16) > It's building now, with a package.env file to export QMAKESPEC=linux-clang > So somehow qtwebengine has issues to properly detect I am building with > clang (although CC and CXX are exported properly) or it doesn't set > QMAKESPEC correctly. Or something else - I don't know much (anything?) about > those internlals ;) Thanks, you anticipated my next question (about QMAKESPEC) ;-) Please open a separate bug then, as the problem is not really specific to qtwebengine, but it's related to how we currently handle (or rather, don't handle) qmake's mkspec. qtwebengine-5.6.0 is in tree. Thanks everyone! |