code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>qt5-tools</Name>
        <Homepage>http://qt.digia.com/</Homepage>
        <Packager>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Packager>
        <Summary>A cross-platform application and UI framework (Development Tools, QtHelp)</Summary>
        <Description>A cross-platform application and UI framework (Development Tools, QtHelp)</Description>
        <License>LGPLv2.1-linking-exception</License>
        <Archive sha1sum="e51b4aec18b9d704cdc3d5d50aa899d660dbf74a" type="tarxz">http://download.qt.io/official_releases/qt/5.9/5.9.3/submodules/qttools-opensource-src-5.9.3.tar.xz</Archive>
        <BuildDependencies>
            <Dependency versionFrom="13.0.4">mesa-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-base-devel</Dependency>
<!--             <Dependency>qt5-declarative-devel</Dependency> -->
        </BuildDependencies>
    </Source>

    <Package>
        <Name>qt5-assistant</Name>
        <RuntimeDependencies>
            <Dependency>libgcc</Dependency>
            <Dependency versionFrom="5.9.3">qt5-base</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="executable">/usr/lib/qt5/bin/assistant</Path>
            <Path fileType="executable">/usr/lib/qt5/bin/qhelpconverter</Path>
            <Path fileType="executable">/usr/lib/qt5/bin/qhelpgenerator</Path>
            <Path fileType="executable">/usr/bin/assistant-qt5</Path>
            <Path fileType="executable">/usr/bin/qhelpgenerator-qt5</Path>
            <Path fileType="executable">/usr/bin/qhelpconverter-qt5</Path>
            <Path fileType="executable">/usr/lib/qt5/bin/qdoc</Path>
            <Path fileType="executable">/usr/bin/qdoc-qt5</Path>
            <Path fileType="executable">/usr/lib/qt5/bin/qtattributionsscanner</Path>
            <Path fileType="executable">/usr/bin/qtattributionsscanner-qt5</Path>
            <Path fileType="library">/usr/lib/cmake/Qt5Help</Path>
            <Path fileType="library">/usr/lib/libQt5Help*</Path>
            <Path fileType="library">/usr/lib/libQt5CLucene*</Path>
            <Path fileType="library">/usr/lib/qt5/mkspecs/modules/qt_lib_clucene_private.pri</Path>
            <Path fileType="data">/usr/lib/qt5/mkspecs/modules/qt_lib_help*</Path>
            <Path fileType="data">/usr/share/applications/assistant5.desktop</Path>
            <Path fileType="data">/usr/share/qt5/translations/assistant_tr.qm</Path>
            <Path fileType="icon">/usr/share/icons/hicolor/128x128/apps/assistant.png</Path>
            <Path fileType="icon">/usr/share/icons/hicolor/32x32/apps/assistant.png</Path>
            <Path fileType="icon">/usr/share/pixmaps/assistant5.png</Path>
            <Path fileType="executable">/usr/lib/qt5/bin/qcollectiongenerator</Path>
            <Path fileType="executable">/usr/bin/qcollectiongenerator-qt5</Path>
        </Files>
         <AdditionalFiles>
            <AdditionalFile owner="root" permission="0644" target="/usr/share/qt5/translations/assistant_tr.qm">assistant_tr.qm</AdditionalFile>
            <AdditionalFile owner="root" permission="0644" target="/usr/share/applications/assistant5.desktop">assistant.desktop</AdditionalFile>
            <AdditionalFile owner="root" permission="0644" target="/usr/share/pixmaps/assistant5.png">assistant.png</AdditionalFile>
        </AdditionalFiles>
    </Package>

    <Package>
        <Name>qt5-assistant-devel</Name>
        <RuntimeDependencies>
            <Dependency versionFrom="5.9.3">qt5-base-devel</Dependency>
            <Dependency release="current">qt5-assistant</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="header">/usr/include/qt5/QtHelp</Path>
            <Path fileType="header">/usr/include/qt5/QtCLucene</Path>
            <Path fileType="library">/usr/lib/pkgconfig/Qt5Help.pc</Path>
            <Path fileType="library">/usr/lib/pkgconfig/Qt5CLucene.pc</Path>
        </Files>
    </Package>

    <Package>
        <Name>qt5-designer</Name>
        <RuntimeDependencies>
            <Dependency>libgcc</Dependency>
            <Dependency versionFrom="5.9.3">qt5-base</Dependency>
<!--             <Dependency>qt5-declarative</Dependency> -->
        </RuntimeDependencies>
        <Files>
            <Path fileType="executable">/usr/lib/qt5/bin/designer</Path>
            <Path fileType="executable">/usr/lib/qt5/bin/qtdiag</Path>
            <Path fileType="executable">/usr/lib/qt5/bin/qtpaths</Path>
            <Path fileType="executable">/usr/lib/qt5/bin/pixeltool</Path>
            <Path fileType="executable">/usr/bin/designer-qt5</Path>
            <Path fileType="executable">/usr/bin/qtdiag-qt5</Path>
            <Path fileType="executable">/usr/bin/qtpaths*</Path>
            <Path fileType="executable">/usr/bin/pixeltool-qt5</Path>
            <Path fileType="executable">/usr/lib/qt5/bin/qtplugininfo</Path>
            <Path fileType="executable">/usr/bin/qtplugininfo-qt5</Path>
            <Path fileType="library">/usr/lib/cmake/Qt5Designer</Path>
            <Path fileType="library">/usr/lib/cmake/Qt5UiTools</Path>
            <Path fileType="library">/usr/lib/cmake/Qt5UiPlugin</Path>
            <Path fileType="library">/usr/lib/qt5/plugins/designer</Path>
            <Path fileType="data">/usr/share/applications/designer5.desktop</Path>
            <Path fileType="data">/usr/share/qt5/translations/designer_tr.qm</Path>
            <Path fileType="icon">/usr/share/icons/hicolor/128x128/apps/QtProject-designer.png</Path>
            <Path fileType="icon">/usr/share/pixmaps/designer5.png</Path>
            <Path fileType="library">/usr/lib/libQt5Designer*</Path>
            <Path fileType="library">/usr/lib/libQt5UiTools*</Path>
            <Path fileType="library">/usr/lib/qt5/mkspecs/modules/qt_lib_designer*</Path>
            <Path fileType="library">/usr/lib/qt5/mkspecs/modules/qt_lib_uitools*</Path>
            <Path fileType="library">/usr/lib/qt5/mkspecs/modules/qt_lib_uiplugin.pri</Path>
        </Files>
         <AdditionalFiles>
            <AdditionalFile owner="root" permission="0644" target="/usr/share/applications/designer5.desktop">designer.desktop</AdditionalFile>
            <AdditionalFile owner="root" permission="0644" target="/usr/share/qt5/translations/designer_tr.qm">designer_tr.qm</AdditionalFile>
            <AdditionalFile owner="root" permission="0644" target="/usr/share/pixmaps/designer5.png">designer.png</AdditionalFile>
        </AdditionalFiles>
    </Package>

    <Package>
        <Name>qt5-designer-devel</Name>
        <RuntimeDependencies>
            <Dependency>qt5-base-devel</Dependency>
            <Dependency release="current">qt5-designer</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="header">/usr/include/qt5/QtDesigner*</Path>
            <Path fileType="header">/usr/include/qt5/QtUiTools</Path>
            <Path fileType="header">/usr/include/qt5/QtUiPlugin</Path>
            <Path fileType="library">/usr/lib/pkgconfig/Qt5Designer*</Path>
            <Path fileType="library">/usr/lib/pkgconfig/Qt5UiTools.pc</Path>
        </Files>
    </Package>

    <Package>
        <Name>qt5-linguist</Name>
        <RuntimeDependencies>
            <Dependency>libgcc</Dependency>
            <Dependency>qt5-base</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="executable">/usr/lib/qt5/bin/linguist</Path>
            <Path fileType="executable">/usr/lib/qt5/bin/lconvert</Path>
            <Path fileType="executable">/usr/lib/qt5/bin/lrelease</Path>
            <Path fileType="executable">/usr/lib/qt5/bin/lupdate</Path>
            <Path fileType="executable">/usr/bin/lrelease-qt5</Path>
            <Path fileType="executable">/usr/bin/linguist-qt5</Path>
            <Path fileType="executable">/usr/bin/lconvert-qt5</Path>
            <Path fileType="executable">/usr/bin/lupdate-qt5</Path>
            <Path fileType="library">/usr/lib/cmake/Qt5LinguistTools</Path>
            <Path fileType="data">/usr/share/applications/linguist5.desktop</Path>
            <Path fileType="icon">/usr/share/icons/hicolor/128x128/apps/linguist.png</Path>
            <Path fileType="icon">/usr/share/icons/hicolor/16x16/apps/linguist.png</Path>
            <Path fileType="icon">/usr/share/icons/hicolor/32x32/apps/linguist.png</Path>
            <Path fileType="icon">/usr/share/icons/hicolor/48x48/apps/linguist.png</Path>
            <Path fileType="icon">/usr/share/icons/hicolor/64x64/apps/linguist.png</Path>
            <Path fileType="icon">/usr/share/pixmaps/linguist5.png</Path>
            <Path fileType="data">/usr/share/qt5/phrasebooks</Path>
            <Path fileType="data">/usr/share/qt5/translations/linguist_tr.qm</Path>
        </Files>
         <AdditionalFiles>
            <AdditionalFile owner="root" permission="0644" target="/usr/share/applications/linguist5.desktop">linguist.desktop</AdditionalFile>
            <AdditionalFile owner="root" permission="0644" target="/usr/share/pixmaps/linguist5.png">linguist.png</AdditionalFile>
            <AdditionalFile owner="root" permission="0644" target="/usr/share/qt5/translations/linguist_tr.qm">linguist_tr.qm</AdditionalFile>
        </AdditionalFiles>
    </Package>

    <Package>
        <Name>qt5-qdbusviewer</Name>
        <RuntimeDependencies>
            <Dependency>libgcc</Dependency>
            <Dependency>qt5-base</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="executable">/usr/lib/qt5/bin/qdbusviewer</Path>
            <Path fileType="executable">/usr/lib/qt5/bin/qdbus</Path>
            <Path fileType="executable">/usr/bin/qdbusviewer-qt5</Path>
            <Path fileType="executable">/usr/bin/qdbus-qt5</Path>
            <Path fileType="executable">/usr/bin/qdbus</Path>
            <Path fileType="data">/usr/share/applications/qdbusviewer5.desktop</Path>
            <Path fileType="icon">/usr/share/icons/hicolor/128x128/apps/qdbusviewer.png</Path>
            <Path fileType="icon">/usr/share/icons/hicolor/32x32/apps/qdbusviewer.png</Path>
            <Path fileType="icon">/usr/share/pixmaps/qdbusviewer5.png</Path>
        </Files>
         <AdditionalFiles>
            <AdditionalFile owner="root" permission="0644" target="/usr/share/applications/qdbusviewer5.desktop">qdbusviewer.desktop</AdditionalFile>
            <AdditionalFile owner="root" permission="0644" target="/usr/share/pixmaps/qdbusviewer5.png">assistant.png</AdditionalFile>
        </AdditionalFiles>
    </Package>

    <History>
        <Update release="7">
            <Date>2018-01-18</Date>
            <Version>5.9.3</Version>
            <Comment>Version bump.</Comment>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Update>
        <Update release="6">
            <Date>2017-02-20</Date>
            <Version>5.7.1</Version>
            <Comment>Release bump.</Comment>
            <Name>Stefan Gronewold</Name>
            <Email>groni@pisilinux.org</Email>
        </Update>
        <Update release="5">
            <Date>2016-10-22</Date>
            <Version>5.6.2</Version>
            <Comment>Version Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="4">
            <Date>2016-06-09</Date>
            <Version>5.6.0</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="3">
            <Date>2016-05-16</Date>
            <Version>5.6.0</Version>
            <Comment>Release Bump</Comment>
            <Name>PisiLinux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-05-01</Date>
            <Version>5.6.0</Version>
            <Comment>Release Bump</Comment>
            <Name>PisiLinux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2016-04-17</Date>
            <Version>5.6.0</Version>
            <Comment>First release</Comment>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
<?xml version="1.0" ?>
<PISI>
    <Source>
        <Name>qt5-tools</Name>
        Qt bir çok platformda çalışabilen ve grafiksel kullanıcı arayüzü (GUI) çatısı (Geliştirme Araçları, Qt Yardım).
        <Description xml:lang="tr">Qt bir çok platformda çalışabilen ve grafiksel kullanıcı arayüzü (GUI) çatısı (Geliştirme Araçları, Qt Yardım).</Description>
    </Source>

    <Package>
        <Name>qt5-tools-devel</Name>
        qt5-tools için geliştirme dosyaları
    </Package>
</PISI>

repo_name: ayhanyalcinsoy/main


code:
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt

from pisi.actionsapi import shelltools
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import qt5
from pisi.actionsapi import get

def setup():
    qt5.configure()

def build():
    qt5.make()
    #qt5.make("docs")

def install():
    qt5.install("INSTALL_ROOT=%s install_docs" % get.installDIR())

    #I hope qtchooser will manage this issue
    for bin in shelltools.ls("%s/usr/lib/qt5/bin" % get.installDIR()):
        pisitools.dosym("/usr/lib/qt5/bin/%s" % bin, "/usr/bin/%s-qt5" % bin)

    pisitools.insinto("/usr/share/licenses/qt5-translations/", "LICENSE*")


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>qt5-translations</Name>
        <Homepage>http://qt.digia.com/</Homepage>
        <Packager>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Packager>
        <Summary>A cross-platform application and UI framework (Translations)</Summary>
        <Description>A cross-platform application and UI framework (Translations)</Description>
        <License>LGPLv2.1-linking-exception</License>
        <Archive sha1sum="e0a715a94689f9dee681624e3848b70a40a741ca" type="tarxz">http://download.qt.io/official_releases/qt/5.9/5.9.3/submodules/qttranslations-opensource-src-5.9.3.tar.xz</Archive>
        <BuildDependencies>
            <Dependency versionFrom="5.9.3">qt5-base-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-assistant-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-sql-sqlite</Dependency>
            <Dependency versionFrom="5.9.3">qt5-linguist</Dependency>
        </BuildDependencies>
    </Source>

    <Package>
        <Name>qt5-translations</Name>
        <Files>
            <Path fileType="library">/usr/share/qt5</Path>
            <Path fileType="data">/usr/share/licenses/</Path>
        </Files>
        <RuntimeDependencies>
            <Dependency versionFrom="5.9.3">qt5-base</Dependency>
        </RuntimeDependencies>
    </Package>

    <History>
        <Update release="7">
            <Date>2018-01-18</Date>
            <Version>5.9.3</Version>
            <Comment>Version bump.</Comment>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Update>
        <Update release="6">
            <Date>2017-02-20</Date>
            <Version>5.7.1</Version>
            <Comment>Release bump.</Comment>
            <Name>Stefan Gronewold</Name>
            <Email>groni@pisilinux.org</Email>
        </Update>
        <Update release="5">
            <Date>2016-10-22</Date>
            <Version>5.6.2</Version>
            <Comment>Version Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="4">
            <Date>2016-06-09</Date>
            <Version>5.6.0</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="3">
            <Date>2016-05-16</Date>
            <Version>5.6.0</Version>
            <Comment>Release Bump</Comment>
            <Name>PisiLinux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-05-01</Date>
            <Version>5.6.0</Version>
            <Comment>Release Bump</Comment>
            <Name>PisiLinux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2016-04-20</Date>
            <Version>5.6.0</Version>
            <Comment>First release</Comment>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
<?xml version="1.0" ?>
<PISI>
    <Source>
        <Name>qt5-translations</Name>
        <Summary xml:lang="tr">Qt bir çok platformda çalışabilen ve grafiksel kullanıcı arayüzü (GUI) oluşturmaya yarayan bir araç takımıdır(Çeviriler)</Summary>
        <Description xml:lang="tr">Qt bir çok platformda çalışabilen ve grafiksel kullanıcı arayüzü (GUI) oluşturmaya yarayan bir araç takımıdır(Çeviriler)</Description>
    </Source>
</PISI>


code:
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/copyleft/gpl.txt

from pisi.actionsapi import qt5
from pisi.actionsapi import pisitools

def setup():
    qt5.configure()

def build():
    qt5.make()

def install():
    qt5.install()

    pisitools.dodoc("LICENSE.GPL3", "README.md")


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>qt5-virtualkeyboard</Name>
        <Homepage>http://qt-project.org/</Homepage>
        <Packager>
            <Name>Stefan Gronewold</Name>
            <Email>groni@pisilinux.org</Email>
        </Packager>
        <License>GPL3</License>
        Qt module for general purpose serial bus access
        <Description>Virtual keyboard framework</Description>
        <Archive type="tarxz" sha1sum="04d94a9ddb19daf21dbb1a18609f1fb7f639cd64">http://download.qt.io/official_releases/qt/5.9/5.9.3/submodules/qtvirtualkeyboard-opensource-src-5.9.3.tar.xz</Archive>
        <BuildDependencies>
            <Dependency versionFrom="5.9.3">qt5-base-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-declarative-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-svg-devel</Dependency>
            <Dependency>libxcb-devel</Dependency>
        </BuildDependencies>
    </Source>
    <Package>
        <Name>qt5-virtualkeyboard</Name>
        Virtual keyboard framework
        <RuntimeDependencies>
            <Dependency versionFrom="5.9.3">qt5-base</Dependency>
            <Dependency versionFrom="5.9.3">qt5-declarative</Dependency>
            <Dependency versionFrom="5.9.3">qt5-svg</Dependency>
            <Dependency>libgcc</Dependency>
            <Dependency>libxcb</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="library">/usr/lib</Path>
            <Path fileType="library">/usr/lib/qt5</Path>
            <Path fileType="data">/usr/share/qt5</Path>
            <Path fileType="doc">/usr/share/doc</Path>
        </Files>
    </Package>
    <History>
        <Update release="2">
            <Date>2018-01-18</Date>
            <Version>5.9.3</Version>
            <Comment>Version Bump</Comment>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2017-02-18</Date>
            <Version>5.7.1</Version>
            <Comment>First Release</Comment>
            <Name>Stefan Gronewold</Name>
            <Email>groni@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt

from pisi.actionsapi import shelltools
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import qt5
from pisi.actionsapi import get

def setup():
    qt5.configure()

def build():
    qt5.make()

def install():
    qt5.install("INSTALL_ROOT=%s" % get.installDIR())

    #I hope qtchooser will manage this issue
    for bin in shelltools.ls("%s/usr/lib/qt5/bin" % get.installDIR()):
        pisitools.dosym("/usr/lib/qt5/bin/%s" % bin, "/usr/bin/%s-qt5" % bin)

    pisitools.dodoc("LICENSE*")


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>qt5-wayland</Name>
        <Homepage>http://qt.digia.com/</Homepage>
        <Packager>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Packager>
        <Summary>Provides APIs for Wayland</Summary>
        <Description>Provides APIs for Wayland</Description>
        <License>LGPLv2.1-linking-exception</License>
        <Archive sha1sum="27ad995326da138d48ba4bbb3ca594ad4059c808" type="tarxz">http://download.qt.io/official_releases/qt/5.9/5.9.3/submodules/qtwayland-opensource-src-5.9.3.tar.xz</Archive>
        <BuildDependencies>
            <Dependency versionFrom="5.9.3">qt5-base-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-declarative-devel</Dependency>
            <Dependency>libxkbcommon-devel</Dependency>
            <Dependency>xorg-server-xwayland</Dependency>
            <Dependency versionFrom="2.50.2">glib2-devel</Dependency>
            <Dependency>libX11-devel</Dependency>
            <Dependency>libgcc</Dependency>
            <Dependency versionFrom="13.0.4">mesa-devel</Dependency>
            <Dependency>fontconfig-devel</Dependency>
            <Dependency versionFrom="2.7.1">freetype-devel</Dependency>
            <Dependency>libXrender-devel</Dependency>
            <Dependency versionFrom="3.2.1">eudev-devel</Dependency>
            <Dependency>libXcomposite-devel</Dependency>
            <Dependency>libxkbcommon-devel</Dependency>
            <Dependency>wayland-client</Dependency>
            <Dependency>wayland-cursor</Dependency>
        </BuildDependencies>
    </Source>

    <Package>
        <Name>qt5-wayland</Name>
        <RuntimeDependencies>
            <Dependency versionFrom="13.0.4">mesa</Dependency>
            <Dependency versionFrom="2.50.2">glib2</Dependency>
            <Dependency>libX11</Dependency>
            <Dependency>libgcc</Dependency>
            <Dependency versionFrom="2.7.1">freetype</Dependency>
            <Dependency versionFrom="5.9.3">qt5-base</Dependency>
            <Dependency>fontconfig</Dependency>
            <Dependency>libXrender</Dependency>
            <Dependency>libxkbcommon</Dependency>
            <Dependency>libXcomposite</Dependency>
            <Dependency>wayland-client</Dependency>
            <Dependency>wayland-cursor</Dependency>
            <Dependency>wayland-server</Dependency>
            <Dependency versionFrom="5.9.3">qt5-declarative</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="library">/usr/lib</Path>
            <Path fileType="library">/usr/lib/qt5</Path>
            <Path fileType="executable">/usr/lib/qt5/bin</Path>
            <Path fileType="executable">/usr/bin</Path>
        </Files>
    </Package>

    <Package>
        <Name>qt5-wayland-devel</Name>
        <RuntimeDependencies>
            <Dependency release="current">qt5-wayland</Dependency>
            <Dependency versionFrom="5.9.3">qt5-base-devel</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="library">/usr/lib/pkgconfig</Path>
            <Path fileType="headers">/usr/include</Path>
        </Files>
    </Package>

    <Package>
        <Name>qt5-wayland-docs</Name>
        <RuntimeDependencies>
            <Dependency versionFrom="5.9.3">qt5-base</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="doc">/usr/share/doc</Path>
        </Files>
    </Package>

    <History>
        <Update release="6">
            <Date>2018-01-18</Date>
            <Version>5.9.3</Version>
            <Comment>Version bump.</Comment>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Update>
        <Update release="5">
            <Date>2017-02-20</Date>
            <Version>5.7.1</Version>
            <Comment>Release bump.</Comment>
            <Name>Stefan Gronewold</Name>
            <Email>groni@pisilinux.org</Email>
        </Update>
        <Update release="4">
            <Date>2016-10-22</Date>
            <Version>5.6.2</Version>
            <Comment>Version bump</Comment>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Update>
        <Update release="3">
            <Date>2016-06-29</Date>
            <Version>5.6.0</Version>
            <Comment>Version bump</Comment>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2015-06-03</Date>
            <Version>5.4.2</Version>
            <Comment>Version bump</Comment>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2015-05-09</Date>
            <Version>5.4.1</Version>
            <Comment>First release</Comment>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
<?xml version="1.0" ?>
<PISI>
    <Source>
        <Name>qt5-wayland</Name>
        Wayland için API'ler sağlar
        <Description xml:lang="tr">Wayland için API'ler sağlar</Description>
    </Source>

    <Package>
        <Name>qt5-wayland-devel</Name>
        qt5-wayland için geliştirme dosyaları
    </Package>
</PISI>


code:
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt

from pisi.actionsapi import shelltools
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import qt5
from pisi.actionsapi import get

def setup():
    qt5.configure()

def build():
    qt5.make()
    qt5.make("docs")

def install():
    qt5.install("INSTALL_ROOT=%s install_docs" % get.installDIR())

    #I hope qtchooser will manage this issue
    for bin in shelltools.ls("%s/usr/lib/qt5/bin" % get.installDIR()):
        pisitools.dosym("/usr/lib/qt5/bin/%s" % bin, "/usr/bin/%s-qt5" % bin)

    pisitools.dodoc("LICENSE*")


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>qt5-webchannel</Name>
        <Homepage>http://qt.digia.com/</Homepage>
        <Packager>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Packager>
        <Summary>Provides access to QObject or QML objects from HTML clients for seamless integration of Qt applications with HTML/JavaScript clients</Summary>
        <Description>Provides access to QObject or QML objects from HTML clients for seamless integration of Qt applications with HTML/JavaScript clients</Description>
        <License>LGPLv2.1-linking-exception</License>
        <Archive sha1sum="3b45ff007e1988df2fdf01bf0be13a05fb87b822" type="tarxz">http://download.qt.io/official_releases/qt/5.9/5.9.3/submodules/qtwebchannel-opensource-src-5.9.3.tar.xz</Archive>
        <BuildDependencies>
            <Dependency versionFrom="5.9.3">qt5-base-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-declarative-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-assistant-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-sql-sqlite</Dependency>
        </BuildDependencies>
    </Source>

    <Package>
        <Name>qt5-webchannel</Name>
        <Files>
            <Path fileType="library">/usr/lib</Path>
            <Path fileType="library">/usr/lib/qt5</Path>
            <Path fileType="data">/usr/share/licenses</Path>
        </Files>
        <RuntimeDependencies>
            <Dependency>libgcc</Dependency>
            <Dependency versionFrom="5.9.3">qt5-base</Dependency>
            <Dependency versionFrom="5.9.3">qt5-declarative</Dependency>
        </RuntimeDependencies>
    </Package>

    <Package>
        <Name>qt5-webchannel-devel</Name>
        <Files>
            <Path fileType="library">/usr/lib/pkgconfig</Path>
            <Path fileType="header">/usr/include/qt5</Path>
        </Files>
        <RuntimeDependencies>
            <Dependency release="current">qt5-webchannel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-base-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-declarative-devel</Dependency>
        </RuntimeDependencies>
    </Package>

    <Package>
        <Name>qt5-webchannel-docs</Name>
        <Files>
            <Path fileType="doc">/usr/share/doc</Path>
        </Files>
        <RuntimeDependencies>
            <Dependency>libgcc</Dependency>
            <Dependency versionFrom="5.9.3">qt5-base</Dependency>
            <Dependency versionFrom="5.9.3">qt5-declarative</Dependency>
        </RuntimeDependencies>
    </Package>

    <History>
        <Update release="7">
            <Date>2018-01-18</Date>
            <Version>5.9.3</Version>
            <Comment>Version bump.</Comment>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Update>
        <Update release="6">
            <Date>2017-02-20</Date>
            <Version>5.7.1</Version>
            <Comment>Release bump.</Comment>
            <Name>Stefan Gronewold</Name>
            <Email>groni@pisilinux.org</Email>
        </Update>
        <Update release="5">
            <Date>2016-10-22</Date>
            <Version>5.6.2</Version>
            <Comment>Version Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="4">
            <Date>2016-06-09</Date>
            <Version>5.6.0</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="3">
            <Date>2016-05-16</Date>
            <Version>5.6.0</Version>
            <Comment>Release Bump</Comment>
            <Name>PisiLinux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-05-01</Date>
            <Version>5.6.0</Version>
            <Comment>Release Bump</Comment>
            <Name>PisiLinux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2016-04-17</Date>
            <Version>5.6.0</Version>
            <Comment>First release</Comment>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
<?xml version="1.0" ?>
<PISI>
    <Source>
        <Name>qt5-webchannel</Name>
        HTML/JavaScript istemcileri ile Qt uygulamalarının tam uyumu için HTML istemcilerinden QML veya QObject nesnelerine erişim sağlar
        <Description xml:lang="tr">HTML/JavaScript istemcileri ile Qt uygulamalarının tam uyumu için HTML istemcilerinden QML veya QObject nesnelerine erişim sağlar </Description>
    </Source>

    <Package>
        <Name>qt5-webchannel-devel</Name>
        qt5-webchannel için geliştirme dosyaları
    </Package>
</PISI>


code:
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt

from pisi.actionsapi import shelltools
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import qt5
from pisi.actionsapi import get

def setup():
    #shelltools.export("QT5LINK", "/usr/lib/qt5/bin")
    #shelltools.export("QT5DIR", "/usr/lib/qt5")
    #shelltools.export("CFLAGS", "%s -I/usr/lib/sqlite3.16.2" % get.CFLAGS())
    shelltools.system("qmake-qt5 WEBENGINE_CONFIG+=use_proprietary_codecs WEBENGINE_CONFIG+=use_system_icu WEBENGINE_CONFIG+=use_system_protobuf WEBENGINE_CONFIG+=use_system_ffmpeg qtwebengine.pro")
    #pisitools.ldflags.add("-Wl,--no-keep-memory ")
    qt5.configure()

def build():
    qt5.make()

def install():
    qt5.install("INSTALL_ROOT=%s" % get.installDIR())

    #I hope qtchooser will manage this issue
    for bin in shelltools.ls("%s/usr/lib/qt5/bin" % get.installDIR()):
       pisitools.dosym("/usr/lib/qt5/bin/%s" % bin, "/usr/bin/%s-qt5" % bin)

    pisitools.dodoc("LICENSE*")


code:
From e70b59112104b72e794c20f7c715482809780d32 Mon Sep 17 00:00:00 2001
From: Michal Klocek <michal.klocek@theqtcompany.com>
Date: Thu, 20 Oct 2016 13:09:01 +0200
Subject: [PATCH] Add out of source builds for ninja bootstrap

Instead of coping the src ninja files to shadow dir,
do out of source build.

Change-Id: I00c577e5def66c0415681deab63b7c7947a39200
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
---
 tools/qmake/mkspecs/features/functions.prf | 21 +++++----------------
 1 file changed, 5 insertions(+), 16 deletions(-)

diff --git a/tools/qmake/mkspecs/features/functions.prf b/tools/qmake/mkspecs/features/functions.prf
index 94aa617..3741529 100644
--- a/tools/qmake/mkspecs/features/functions.prf
+++ b/tools/qmake/mkspecs/features/functions.prf
@@ -264,28 +264,17 @@ defineReplace(findOrBuildNinja) {
   !exists($$out) {
     src_3rd_party_dir = $$absolute_path("$${getChromiumSrcDir()}/../", "$$QTWEBENGINE_ROOT")

-    out = $$shadowed($$absolute_path("ninja/ninja", "$$src_3rd_party_dir"))
+    out = $$shadowed($$absolute_path(ninja/ninja, $$src_3rd_party_dir))
     win32: out = $${out}.exe

-    out = $$system_path($$out)
     # If we did not find ninja, then we bootstrap it.
     !exists($$out) {
-      # If we are making a shadow build, copy the ninja sources to the build directory.
-      !equals(PWD, $${OUT_PWD}) {
-        log("Build directory is different from source directory - copying ninja sources to the build tree...")
-        shadow_3rd_party_path = $$system_path($$shadowed($$src_3rd_party_dir))
-
-        !exists($$dirname(out)): mkpath($$dirname(out))
-        copy_dir_files {
-          system("$$QMAKE_COPY_DIR $$system_quote($$system_path($$absolute_path("ninja", "$$src_3rd_party_dir"))) $$system_quote($$dirname(out))")
-        } else {
-          system("$$QMAKE_COPY_DIR $$system_quote($$system_path($$absolute_path("ninja", "$$src_3rd_party_dir"))) $$system_quote($$shadow_3rd_party_path)")
-        }
-      }
-      system("cd $$system_quote($$dirname(out)) && python configure.py --bootstrap")
+      mkpath($$dirname(out))
+      ninja_configure = $$absolute_path(ninja/configure.py, $$src_3rd_party_dir)
+      system("cd $$system_quote($$system_path($$dirname(out))) && python $$system_quote($$system_path($$ninja_configure)) --bootstrap")
     }
   }
-  return($$out)
+  return($$system_path($$out))
 }

 defineTest(skipBuild) {
--
2.7.4

path: desktop/toolkit/qt5/qt5-webengine/files/add out of source builds for ninja.patch


code:
From e3941dcdfcea6838243fa6cfdff2433867e502d6 Mon Sep 17 00:00:00 2001
From: Allan Sandfeld Jensen <allan.jensen@qt.io>
Date: Thu, 1 Dec 2016 11:11:10 +0100
Subject: [PATCH] Update Chromium
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8

Change-Id: I1c046e16722e0e2dadb431ff0d3f5b7f69edd86f
Reviewed-by: Michael BrÃ¼ning <michael.bruning@qt.io>
---
 dist/changes-5.8.0 | 4 ++++
 src/3rdparty       | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/dist/changes-5.8.0 b/dist/changes-5.8.0
index abead3c..292e52c 100644
--- a/dist/changes-5.8.0
+++ b/dist/changes-5.8.0
@@ -29,6 +29,10 @@ information about a particular change.

  - Chromium Snapshot:
    * The Chromium version has been updated to 53.0.2785.148.
+   * Security fixes from Chromium up to version 54.0.2840.101
+    Including: CVE-2016-5181, CVE-2016-5182, CVE-2016-5183, CVE-2016-5185,
+      CVE-2016-5186, CVE-2016-5187, CVE-2016-5189, CVE-2016-5192,
+      CVE-2016-5199, CVE-2016-5201.

  - General:
    * Spellchecking support has been introduced.
diff --git a/src/3rdparty b/src/3rdparty
index 93b3786..52e8806 160000
--- a/src/3rdparty
+++ b/src/3rdparty
@@ -1 +1 @@
-Subproject commit 93b3786290ac16c95f15c95e2c2f3d8254171ab6
+Subproject commit 52e8806fb0b4e441603dd5885ab80447cfc66a63
--
2.7.4


code:
From c845b8438b65e6735c8beb0927ad0527cb1b0611 Mon Sep 17 00:00:00 2001
From: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Date: Fri, 7 Mar 2014 14:44:03 +0100
Subject: [PATCH] Do not use the system ninja

Always bootstrap and use the bundled ninja to avoid incompatibilities
between our bundled gyp and the system ninja, which might be quite
old.

This patch also removes the ninja location caching, as updating the
cache would trigger a re-run of qmake and gyp on all the project,
while the benefit of using the cache in this case are low.

Change-Id: I843cbe20e1153caecbda00ab3d45a34d560b2423
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Reviewed-by: Zoltan Arvai <zarvai@inf.u-szeged.hu>
---
 tools/qmake/mkspecs/features/functions.prf | 21 +++++++--------------
 1 file changed, 7 insertions(+), 14 deletions(-)

diff --git a/tools/qmake/mkspecs/features/functions.prf b/tools/qmake/mkspecs/features/functions.prf
index 0814e8b..4dcd8ed 100644
--- a/tools/qmake/mkspecs/features/functions.prf
+++ b/tools/qmake/mkspecs/features/functions.prf
@@ -84,23 +84,16 @@ defineReplace(which) {
 }

 defineReplace(findOrBuildNinja) {
-  !isEmpty(CACHED_NINJA_EXECUTABLE):exists($$CACHED_NINJA_EXECUTABLE): return($$CACHED_NINJA_EXECUTABLE)
-  out = $$which(ninja)
-  # Try to be smart about it if we know where the chromium sources are located
-  !exists($$out) {
     git_chromium_src_dir = $$system("git config qtwebengine.chromiumsrcdir")
     # Fall back to the snapshot path if git does not know about chromium sources (i.e. init-repository.py has not been used)
     isEmpty(git_chromium_src_dir): git_chromium_src_dir = "src/3rdparty/chromium"
-    win32: out = $$system_path($$absolute_path("$$git_chromium_src_dir/../ninja/ninja.exe", "$$QTWEBENGINE_ROOT"))
-    else: out = $$absolute_path("$$git_chromium_src_dir/../ninja/ninja", "$$QTWEBENGINE_ROOT")
-    # If we still did not find ninja, then we bootstrap it.
+
+    out = $$absolute_path("$$git_chromium_src_dir/../ninja/ninja", "$$QTWEBENGINE_ROOT")
+    win32: out = $$system_path($${out}.exe)
+
+    # If we did not find ninja, then we bootstrap it.
     !exists($$out) {
-      message("bootstrapping ninja...")
-      ninjadir = $$dirname(out)
-      system("python $$ninjadir/bootstrap.py")
+        system("python $$dirname(out)/bootstrap.py")
     }
-  }
-  message("using $$out")
-  cache(CACHED_NINJA_EXECUTABLE, set, out)
-  return($$out)
+    return($$out)
 }


code:
From 5f69ea6f29371f0d03c23ff0ec81b63b7e5dca23 Mon Sep 17 00:00:00 2001
From: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Date: Thu, 9 Jun 2016 13:18:36 +0200
Subject: [PATCH] Use -fno-delete-null-pointer-checks with gcc 6

V8 is not safe for removing null pointer checks. Until it is, we need
to disable optimizations in GCC that assume it is not doing something
wrong.

Task-number: QTBUG-53956
Change-Id: Ieae1a44a36ddd481656497414275b134bbbc9da3
---
 chromium/build/common.gypi | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/chromium/build/common.gypi b/chromium/build/common.gypi
index 272a42f..209ffe0 100644
--- a/chromium/build/common.gypi
+++ src/3rdparty/chromium/build/common.gypi
@@ -4729,6 +4729,26 @@
               }],
             ],
           }],
+          ['gcc_version>=60 and clang==0', {
+            'target_conditions': [
+              ['_toolset=="target"', {
+                'cflags_cc': [
+                  # V8 needs this, see https://bugs.chromium.org/p/v8/issues/detail?id=3782
+                  '-fno-delete-null-pointer-checks',
+                ],
+              }],
+            ],
+          }],
+          ['host_gcc_version>=60 and clang==0 and host_clang==0', {
+            'target_conditions': [
+              ['_toolset=="host"', {
+                'cflags_cc': [
+                  # V8 needs this, see https://bugs.chromium.org/p/v8/issues/detail?id=3782
+                  '-fno-delete-null-pointer-checks',
+                ],
+              }],
+            ],
+          }],
         ],
       },
     }],
--
2.8.3


code:
diff -ur qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc
qtwebengine-opensource-src-5.6.0-beta-chimera-nss-init/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc
--- qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc	2015-12-10 18:17:21.000000000 +0100
+++ qtwebengine-opensource-src-5.6.0-beta-chimera-nss-init/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc	2016-01-14
17:11:38.432633534 +0100
@@ -57,6 +57,10 @@
 #include "net/ssl/ssl_platform_key.h"
 #endif

+#if defined(USE_NSS_CERTS) || defined(OS_IOS)
+#include "net/cert_net/nss_ocsp.h"
+#endif
+
 namespace net {

 namespace {
@@ -795,6 +799,14 @@
   DCHECK(!ssl_);
   DCHECK(!transport_bio_);

+#if defined(USE_NSS_CERTS) || defined(OS_IOS)
+  if (ssl_config_.cert_io_enabled) {
+    // TODO(davidben): Move this out of SSLClientSocket. See
+    // https://crbug.com/539520.
+    EnsureNSSHttpIOInit();
+  }
+#endif
+
   SSLContext* context = SSLContext::GetInstance();
   crypto::OpenSSLErrStackTracer err_tracer(FROM_HERE);


code:
From 424584b4984bde7c831f42e9fb47f1ad583a1c46 Mon Sep 17 00:00:00 2001
From: jshin <jshin@chromium.org>
Date: Fri, 21 Oct 2016 01:15:50 -0700
Subject: [PATCH] Update aspirational_scripts per Unicode 9

This is a preparation to update ICU to 58.1.
Without this change, ICU update CL cannot be tested on
trybots because a compile will fail due to '#error' checking
if ICU version is less than 58.

BUG=637001
TEST=None
TBR=pkasting@chromium.org

Review-Url: https://chromiumcodereview.appspot.com/2436113003
Cr-Commit-Position: refs/heads/master@{#426749}
---
 components/url_formatter/url_formatter.cc | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/components/url_formatter/url_formatter.cc b/components/url_formatter/url_formatter.cc
index 4455db3..2b82c0c 100644
--- qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/components/url_formatter/url_formatter.cc
+++ qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/components/url_formatter/url_formatter.cc
@@ -428,9 +428,9 @@ void IDNSpoofChecker::SetAllowedUnicodeSet(UErrorCode* status) {
   // section at
   // http://www.unicode.org/Public/security/latest/xidmodifications.txt) are
   // are added to the allowed set. The list has to be updated when a new
-  // version of Unicode is released. The current version is 8.0.0 and ICU 58
-  // will have Unicode 9.0 data.
-#if U_ICU_VERSION_MAJOR_NUM < 58
+  // version of Unicode is released. The current version is 9.0.0 and ICU 60
+  // will have Unicode 10.0 data.
+#if U_ICU_VERSION_MAJOR_NUM < 60
   const icu::UnicodeSet aspirational_scripts(
       icu::UnicodeString(
           // Unified Canadian Syllabics
@@ -444,13 +444,13 @@ void IDNSpoofChecker::SetAllowedUnicodeSet(UErrorCode* status) {
           // Yi
           "\\uA000-\\uA48C"
           // Miao
-          "\\U00016F00-\\U00016F44\\U00016F50-\\U00016F7F"
+          "\\U00016F00-\\U00016F44\\U00016F50-\\U00016F7E"
           "\\U00016F8F-\\U00016F9F]",
           -1, US_INV),
       *status);
   allowed_set.addAll(aspirational_scripts);
 #else
-#error "Update aspirational_scripts per Unicode 9.0"
+#error "Update aspirational_scripts per Unicode 10.0"
 #endif

   // U+0338 is included in the recommended set, while U+05F4 and U+2027 are in
diff -Naur qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp
qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp
--- qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp	2016-11-15 17:07:38.680665385 -0800
+++ qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp	2016-11-15 17:12:17.564001354 -0800
@@ -26,6 +26,9 @@
 #include "wtf/StdLibExtras.h"
 #include "wtf/text/CharacterNames.h"

+#include <unicode/uchar.h>
+#include <unicode/uvernum.h>
+
 namespace blink {

 unsigned numGraphemeClusters(const String& string)
@@ -122,13 +125,18 @@
     { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), 0, B(0, 0, 0, 0, 0, 0, 0, 0), 0, 0, 0, B(0, 0, 0, 0, 0, 0, 0, 0), 0, 0, 0, B(0, 0, 0, 0, 0, 0, 0, 0) }, // DEL
 };

+#if U_ICU_VERSION_MAJOR_NUM >= 58
+#define BA_LB_COUNT (U_LB_COUNT - 3)
+#else
+#define BA_LB_COUNT U_LB_COUNT
+#endif
 // Line breaking table for CSS word-break: break-all. This table differs from
 // asciiLineBreakTable in:
 // - Indices are Line Breaking Classes defined in UAX#14 Unicode Line Breaking
 //   Algorithm: http://unicode.org/reports/tr14/#DescriptionOfProperties
 // - 1 indicates additional break opportunities. 0 indicates to fallback to
 //   normal line break, not "prohibit break."
-static const unsigned char breakAllLineBreakClassTable[][U_LB_COUNT / 8 + 1] = {
+static const unsigned char breakAllLineBreakClassTable[][BA_LB_COUNT / 8 + 1] = {
     // XX AI AL B2 BA BB BK CB    CL CM CR EX GL HY ID IN    IS LF NS NU OP PO PR QU    SA SG SP SY ZW NL WJ H2    H3 JL JT JV CP CJ HL RI
     { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // XX
     { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 1, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0) }, // AI
@@ -178,7 +186,7 @@
 #undef AL

 static_assert(WTF_ARRAY_LENGTH(asciiLineBreakTable) == asciiLineBreakTableLastChar - asciiLineBreakTableFirstChar + 1, "asciiLineBreakTable should be consistent");
-static_assert(WTF_ARRAY_LENGTH(breakAllLineBreakClassTable) == U_LB_COUNT, "breakAllLineBreakClassTable should be consistent");
+static_assert(WTF_ARRAY_LENGTH(breakAllLineBreakClassTable) == BA_LB_COUNT, "breakAllLineBreakClassTable should be consistent");

 static inline bool shouldBreakAfter(UChar lastCh, UChar ch, UChar nextCh)
 {
@@ -209,7 +217,7 @@

 static inline bool shouldBreakAfterBreakAll(ULineBreak lastLineBreak, ULineBreak lineBreak)
 {
-    if (lineBreak >= 0 && lineBreak < U_LB_COUNT && lastLineBreak >= 0 && lastLineBreak < U_LB_COUNT) {
+    if (lineBreak >= 0 && lineBreak < BA_LB_COUNT && lastLineBreak >= 0 && lastLineBreak < BA_LB_COUNT) {
         const unsigned char* tableRow = breakAllLineBreakClassTable[lastLineBreak];
         return tableRow[lineBreak / 8] & (1 << (lineBreak % 8));
     }


code:
--- a/src/3rdparty/chromium/third_party/re2/src/re2/re2.h
+++ b/src/3rdparty/chromium/third_party/re2/src/re2/re2.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.

-#ifndef RE2_RE2_H
-#define RE2_RE2_H
+#ifndef RE2_RE2_H_
+#define RE2_RE2_H_

 // C++ interface to the re2 regular-expression library.
 // RE2 supports Perl-style regular expressions (with extensions like
@@ -179,38 +179,25 @@
 //         RE2::Octal(&a), RE2::Hex(&b), RE2::CRadix(&c), RE2::CRadix(&d));
 // will leave 64 in a, b, c, and d.

+#include <stddef.h>
 #include <stdint.h>
+#include <sys/types.h>
+#include <algorithm>
 #include <map>
+#include <mutex>
 #include <string>
-#include "re2/stringpiece.h"
-#include "re2/variadic_function.h"

-#ifndef RE2_HAVE_LONGLONG
-#define RE2_HAVE_LONGLONG 1
-#endif
+#include "re2/stringpiece.h"

 namespace re2 {
-
-using std::string;
-using std::map;
-class Mutex;
 class Prog;
 class Regexp;
+}  // namespace re2
+
+namespace re2 {

-// The following enum should be used only as a constructor argument to indicate
-// that the variable has static storage class, and that the constructor should
-// do nothing to its state.  It indicates to the reader that it is legal to
-// declare a static instance of the class, provided the constructor is given
-// the LINKER_INITIALIZED argument.  Normally, it is unsafe to declare a
-// static variable that has a constructor or a destructor because invocation
-// order is undefined.  However, IF the type can be initialized by filling with
-// zeroes (which the loader does for static variables), AND the type's
-// destructor does nothing to the storage, then a constructor for static
-// initialization can be declared as
-//       explicit MyClass(LinkerInitialized x) {}
-// and invoked as
-//       static MyClass my_variable_name(LINKER_INITIALIZED);
-enum LinkerInitialized { LINKER_INITIALIZED };
+// TODO(junyer): Get rid of this.
+using std::string;

 // Interface for regular expression matching.  Also corresponds to a
 // pre-compiled regular expression.  An "RE2" object is safe for
@@ -266,7 +253,7 @@ class RE2 {
   RE2(const string& pattern);
 #endif
   RE2(const StringPiece& pattern);
-  RE2(const StringPiece& pattern, const Options& option);
+  RE2(const StringPiece& pattern, const Options& options);
   ~RE2();

   // Returns whether RE2 was created properly.
@@ -296,7 +283,7 @@ class RE2 {
   // EXPERIMENTAL! SUBJECT TO CHANGE!
   // Outputs the program fanout as a histogram bucketed by powers of 2.
   // Returns the number of the largest non-empty bucket.
-  int ProgramFanout(map<int, int>* histogram) const;
+  int ProgramFanout(std::map<int, int>* histogram) const;

   // Returns the underlying Regexp; not for general use.
   // Returns entire_regexp_ so that callers don't need
@@ -305,21 +292,21 @@ class RE2 {

   /***** The useful part: the matching interface *****/

-  // Matches "text" against "pattern".  If pointer arguments are
+  // Matches "text" against "re".  If pointer arguments are
   // supplied, copies matched sub-patterns into them.
   //
   // You can pass in a "const char*" or a "string" for "text".
-  // You can pass in a "const char*" or a "string" or a "RE2" for "pattern".
+  // You can pass in a "const char*" or a "string" or a "RE2" for "re".
   //
   // The provided pointer arguments can be pointers to any scalar numeric
   // type, or one of:
   //    string          (matched piece is copied to string)
   //    StringPiece     (StringPiece is mutated to point to matched piece)
-  //    T               (where "bool T::ParseFrom(const char*, int)" exists)
+  //    T               (where "bool T::ParseFrom(const char*, size_t)" exists)
   //    (void*)NULL     (the corresponding matched sub-pattern is not copied)
   //
   // Returns true iff all of the following conditions are satisfied:
-  //   a. "text" matches "pattern" exactly
+  //   a. "text" matches "re" exactly
   //   b. The number of matched sub-patterns is >= number of supplied pointers
   //   c. The "i"th argument has a suitable type for holding the
   //      string captured as the "i"th sub-pattern.  If you pass in
@@ -335,32 +322,65 @@ class RE2 {
   //    RE2::FullMatch("abc", "[a-z]+(\\d+)?", &number);
   static bool FullMatchN(const StringPiece& text, const RE2& re,
                          const Arg* const args[], int argc);
-  static const VariadicFunction2<
-      bool, const StringPiece&, const RE2&, Arg, RE2::FullMatchN> FullMatch;

-  // Exactly like FullMatch(), except that "pattern" is allowed to match
+  // Exactly like FullMatch(), except that "re" is allowed to match
   // a substring of "text".
-  static bool PartialMatchN(const StringPiece& text, const RE2& re, // 3..16 args
+  static bool PartialMatchN(const StringPiece& text, const RE2& re,
                             const Arg* const args[], int argc);
-  static const VariadicFunction2<
-      bool, const StringPiece&, const RE2&, Arg, RE2::PartialMatchN> PartialMatch;

-  // Like FullMatch() and PartialMatch(), except that pattern has to
-  // match a prefix of "text", and "input" is advanced past the matched
+  // Like FullMatch() and PartialMatch(), except that "re" has to match
+  // a prefix of the text, and "input" is advanced past the matched
   // text.  Note: "input" is modified iff this routine returns true.
-  static bool ConsumeN(StringPiece* input, const RE2& pattern, // 3..16 args
+  static bool ConsumeN(StringPiece* input, const RE2& re,
                        const Arg* const args[], int argc);
-  static const VariadicFunction2<
-      bool, StringPiece*, const RE2&, Arg, RE2::ConsumeN> Consume;

-  // Like Consume(..), but does not anchor the match at the beginning of the
-  // string.  That is, "pattern" need not start its match at the beginning of
-  // "input".  For example, "FindAndConsume(s, "(\\w+)", &word)" finds the next
-  // word in "s" and stores it in "word".
-  static bool FindAndConsumeN(StringPiece* input, const RE2& pattern,
-                             const Arg* const args[], int argc);
-  static const VariadicFunction2<
-      bool, StringPiece*, const RE2&, Arg, RE2::FindAndConsumeN> FindAndConsume;
+  // Like Consume(), but does not anchor the match at the beginning of
+  // the text.  That is, "re" need not start its match at the beginning
+  // of "input".  For example, "FindAndConsume(s, "(\\w+)", &word)" finds
+  // the next word in "s" and stores it in "word".
+  static bool FindAndConsumeN(StringPiece* input, const RE2& re,
+                              const Arg* const args[], int argc);
+
+#ifndef SWIG
+ private:
+  template <typename F, typename SP>
+  static inline bool Apply(F f, SP sp, const RE2& re) {
+    return f(sp, re, NULL, 0);
+  }
+
+  template <typename F, typename SP, typename... A>
+  static inline bool Apply(F f, SP sp, const RE2& re, const A&... a) {
+    const Arg* const args[] = {&a...};
+    const int argc = sizeof...(a);
+    return f(sp, re, args, argc);
+  }
+
+ public:
+  // In order to allow FullMatch() et al. to be called with a varying number
+  // of arguments of varying types, we use two layers of variadic templates.
+  // The first layer constructs the temporary Arg objects. The second layer
+  // (above) constructs the array of pointers to the temporary Arg objects.
+
+  template <typename... A>
+  static bool FullMatch(const StringPiece& text, const RE2& re, A&&... a) {
+    return Apply(FullMatchN, text, re, Arg(std::forward<A>(a))...);
+  }
+
+  template <typename... A>
+  static bool PartialMatch(const StringPiece& text, const RE2& re, A&&... a) {
+    return Apply(PartialMatchN, text, re, Arg(std::forward<A>(a))...);
+  }
+
+  template <typename... A>
+  static bool Consume(StringPiece* input, const RE2& re, A&&... a) {
+    return Apply(ConsumeN, input, re, Arg(std::forward<A>(a))...);
+  }
+
+  template <typename... A>
+  static bool FindAndConsume(StringPiece* input, const RE2& re, A&&... a) {
+    return Apply(FindAndConsumeN, input, re, Arg(std::forward<A>(a))...);
+  }
+#endif

   // Replace the first match of "pattern" in "str" with "rewrite".
   // Within "rewrite", backslash-escaped digits (\1 to \9) can be
@@ -451,12 +471,12 @@ class RE2 {
   // The map records the index of the leftmost group
   // with the given name.
   // Only valid until the re is deleted.
-  const map<string, int>& NamedCapturingGroups() const;
+  const std::map<string, int>& NamedCapturingGroups() const;

   // Return a map from capturing indices to names.
   // The map has no entries for unnamed groups.
   // Only valid until the re is deleted.
-  const map<int, string>& CapturingGroupNames() const;
+  const std::map<int, string>& CapturingGroupNames() const;

   // General matching routine.
   // Match against text starting at offset startpos
@@ -465,8 +485,8 @@ class RE2 {
   // On a successful match, fills in match[] (up to nmatch entries)
   // with information about submatches.
   // I.e. matching RE2("(foo)|(bar)baz") on "barbazbla" will return true,
-  // setting match[0] = "barbaz", match[1] = NULL, match[2] = "bar",
-  // match[3] = NULL, ..., up to match[nmatch-1] = NULL.
+  // setting match[0] = "barbaz", match[1].data() = NULL, match[2] = "bar",
+  // match[3].data() = NULL, ..., up to match[nmatch-1].data() = NULL.
   //
   // Don't ask for more match information than you will use:
   // runs much faster with nmatch == 1 than nmatch > 1, and
@@ -477,10 +497,10 @@ class RE2 {
   // Passing text == StringPiece(NULL, 0) will be handled like any other
   // empty string, but note that on return, it will not be possible to tell
   // whether submatch i matched the empty string or did not match:
-  // either way, match[i] == NULL.
+  // either way, match[i].data() == NULL.
   bool Match(const StringPiece& text,
-             int startpos,
-             int endpos,
+             size_t startpos,
+             size_t endpos,
              Anchor anchor,
              StringPiece *match,
              int nmatch) const;
@@ -638,19 +658,7 @@ class RE2 {
     void set_one_line(bool b) { one_line_ = b; }

     void Copy(const Options& src) {
-      encoding_ = src.encoding_;
-      posix_syntax_ = src.posix_syntax_;
-      longest_match_ = src.longest_match_;
-      log_errors_ = src.log_errors_;
-      max_mem_ = src.max_mem_;
-      literal_ = src.literal_;
-      never_nl_ = src.never_nl_;
-      dot_nl_ = src.dot_nl_;
-      never_capture_ = src.never_capture_;
-      case_sensitive_ = src.case_sensitive_;
-      perl_classes_ = src.perl_classes_;
-      word_boundary_ = src.word_boundary_;
-      one_line_ = src.one_line_;
+      *this = src;
     }

     int ParseFlags() const;
@@ -669,10 +677,6 @@ class RE2 {
     bool perl_classes_;
     bool word_boundary_;
     bool one_line_;
-
-    //DISALLOW_COPY_AND_ASSIGN(Options);
-    Options(const Options&);
-    void operator=(const Options&);
   };

   // Returns the options set in the constructor.
@@ -685,10 +689,8 @@ class RE2 {
   static inline Arg CRadix(unsigned int* x);
   static inline Arg CRadix(long* x);
   static inline Arg CRadix(unsigned long* x);
-  #if RE2_HAVE_LONGLONG
   static inline Arg CRadix(long long* x);
   static inline Arg CRadix(unsigned long long* x);
-  #endif

   static inline Arg Hex(short* x);
   static inline Arg Hex(unsigned short* x);
@@ -696,10 +698,8 @@ class RE2 {
   static inline Arg Hex(unsigned int* x);
   static inline Arg Hex(long* x);
   static inline Arg Hex(unsigned long* x);
-  #if RE2_HAVE_LONGLONG
   static inline Arg Hex(long long* x);
   static inline Arg Hex(unsigned long long* x);
-  #endif

   static inline Arg Octal(short* x);
   static inline Arg Octal(unsigned short* x);
@@ -707,47 +707,50 @@ class RE2 {
   static inline Arg Octal(unsigned int* x);
   static inline Arg Octal(long* x);
   static inline Arg Octal(unsigned long* x);
-  #if RE2_HAVE_LONGLONG
   static inline Arg Octal(long long* x);
   static inline Arg Octal(unsigned long long* x);
-  #endif

  private:
   void Init(const StringPiece& pattern, const Options& options);

   bool DoMatch(const StringPiece& text,
-                   Anchor anchor,
-                   int* consumed,
-                   const Arg* const args[],
-                   int n) const;
+               Anchor anchor,
+               size_t* consumed,
+               const Arg* const args[],
+               int n) const;

   re2::Prog* ReverseProg() const;

-  mutable Mutex*           mutex_;
-  string                   pattern_;       // string regular expression
-  Options                  options_;       // option flags
+  string        pattern_;          // string regular expression
+  Options       options_;          // option flags
   string        prefix_;           // required prefix (before regexp_)
   bool          prefix_foldcase_;  // prefix is ASCII case-insensitive
   re2::Regexp*  entire_regexp_;    // parsed regular expression
   re2::Regexp*  suffix_regexp_;    // parsed regular expression, prefix removed
   re2::Prog*    prog_;             // compiled program for regexp
-  mutable re2::Prog* rprog_;       // reverse program for regexp
-  bool                     is_one_pass_;   // can use prog_->SearchOnePass?
-  mutable const string*    error_;         // Error indicator
-                                           // (or points to empty string)
-  mutable ErrorCode        error_code_;    // Error code
-  mutable string           error_arg_;     // Fragment of regexp showing error
-  mutable int              num_captures_;  // Number of capturing groups
+  bool          is_one_pass_;      // can use prog_->SearchOnePass?
+
+  mutable re2::Prog*     rprog_;         // reverse program for regexp
+  mutable const string*  error_;         // Error indicator
+                                         // (or points to empty string)
+  mutable ErrorCode      error_code_;    // Error code
+  mutable string         error_arg_;     // Fragment of regexp showing error
+  mutable int            num_captures_;  // Number of capturing groups

   // Map from capture names to indices
-  mutable const map<string, int>* named_groups_;
+  mutable const std::map<string, int>* named_groups_;

   // Map from capture indices to names
-  mutable const map<int, string>* group_names_;
+  mutable const std::map<int, string>* group_names_;
+
+  // Onces for lazy computations.
+  mutable std::once_flag rprog_once_;
+  mutable std::once_flag num_captures_once_;
+  mutable std::once_flag named_groups_once_;
+  mutable std::once_flag group_names_once_;

-  //DISALLOW_COPY_AND_ASSIGN(RE2);
-  RE2(const RE2&);
-  void operator=(const RE2&);
+  RE2(const RE2&) = delete;
+  RE2& operator=(const RE2&) = delete;
 };

 /***** Implementation details *****/
@@ -758,7 +761,7 @@ class RE2 {
 template <class T>
 class _RE2_MatchObject {
  public:
-  static inline bool Parse(const char* str, int n, void* dest) {
+  static inline bool Parse(const char* str, size_t n, void* dest) {
     if (dest == NULL) return true;
     T* object = reinterpret_cast<T*>(dest);
     return object->ParseFrom(str, n);
@@ -773,31 +776,29 @@ class RE2::Arg {
   // Constructor specially designed for NULL arguments
   Arg(void*);

-  typedef bool (*Parser)(const char* str, int n, void* dest);
+  typedef bool (*Parser)(const char* str, size_t n, void* dest);

 // Type-specific parsers
-#define MAKE_PARSER(type,name) \
-  Arg(type* p) : arg_(p), parser_(name) { } \
-  Arg(type* p, Parser parser) : arg_(p), parser_(parser) { } \
-
+#define MAKE_PARSER(type, name)            \
+  Arg(type* p) : arg_(p), parser_(name) {} \
+  Arg(type* p, Parser parser) : arg_(p), parser_(parser) {}

   MAKE_PARSER(char,               parse_char);
-  MAKE_PARSER(signed char,        parse_char);
+  MAKE_PARSER(signed char,        parse_schar);
   MAKE_PARSER(unsigned char,      parse_uchar);
+  MAKE_PARSER(float,              parse_float);
+  MAKE_PARSER(double,             parse_double);
+  MAKE_PARSER(string,             parse_string);
+  MAKE_PARSER(StringPiece,        parse_stringpiece);
+
   MAKE_PARSER(short,              parse_short);
   MAKE_PARSER(unsigned short,     parse_ushort);
   MAKE_PARSER(int,                parse_int);
   MAKE_PARSER(unsigned int,       parse_uint);
   MAKE_PARSER(long,               parse_long);
   MAKE_PARSER(unsigned long,      parse_ulong);
-  #if RE2_HAVE_LONGLONG
   MAKE_PARSER(long long,          parse_longlong);
   MAKE_PARSER(unsigned long long, parse_ulonglong);
-  #endif
-  MAKE_PARSER(float,              parse_float);
-  MAKE_PARSER(double,             parse_double);
-  MAKE_PARSER(string,             parse_string);
-  MAKE_PARSER(StringPiece,        parse_stringpiece);

 #undef MAKE_PARSER

@@ -808,29 +809,31 @@ class RE2::Arg {
       : arg_(p), parser_(parser) { }

   // Parse the data
-  bool Parse(const char* str, int n) const;
+  bool Parse(const char* str, size_t n) const;

  private:
   void*         arg_;
   Parser        parser_;

-  static bool parse_null          (const char* str, int n, void* dest);
-  static bool parse_char          (const char* str, int n, void* dest);
-  static bool parse_uchar         (const char* str, int n, void* dest);
-  static bool parse_float         (const char* str, int n, void* dest);
-  static bool parse_double        (const char* str, int n, void* dest);
-  static bool parse_string        (const char* str, int n, void* dest);
-  static bool parse_stringpiece   (const char* str, int n, void* dest);
-
-#define DECLARE_INTEGER_PARSER(name)                                        \
- private:                                                                   \
-  static bool parse_ ## name(const char* str, int n, void* dest);           \
-  static bool parse_ ## name ## _radix(                                     \
-    const char* str, int n, void* dest, int radix);                         \
- public:                                                                    \
-  static bool parse_ ## name ## _hex(const char* str, int n, void* dest);   \
-  static bool parse_ ## name ## _octal(const char* str, int n, void* dest); \
-  static bool parse_ ## name ## _cradix(const char* str, int n, void* dest)
+  static bool parse_null          (const char* str, size_t n, void* dest);
+  static bool parse_char          (const char* str, size_t n, void* dest);
+  static bool parse_schar         (const char* str, size_t n, void* dest);
+  static bool parse_uchar         (const char* str, size_t n, void* dest);
+  static bool parse_float         (const char* str, size_t n, void* dest);
+  static bool parse_double        (const char* str, size_t n, void* dest);
+  static bool parse_string        (const char* str, size_t n, void* dest);
+  static bool parse_stringpiece   (const char* str, size_t n, void* dest);
+
+#define DECLARE_INTEGER_PARSER(name)                                       \
+ private:                                                                  \
+  static bool parse_##name(const char* str, size_t n, void* dest);         \
+  static bool parse_##name##_radix(const char* str, size_t n, void* dest,  \
+                                   int radix);                             \
+                                                                           \
+ public:                                                                   \
+  static bool parse_##name##_hex(const char* str, size_t n, void* dest);   \
+  static bool parse_##name##_octal(const char* str, size_t n, void* dest); \
+  static bool parse_##name##_cradix(const char* str, size_t n, void* dest)

   DECLARE_INTEGER_PARSER(short);
   DECLARE_INTEGER_PARSER(ushort);
@@ -838,29 +841,31 @@ class RE2::Arg {
   DECLARE_INTEGER_PARSER(uint);
   DECLARE_INTEGER_PARSER(long);
   DECLARE_INTEGER_PARSER(ulong);
-  #if RE2_HAVE_LONGLONG
   DECLARE_INTEGER_PARSER(longlong);
   DECLARE_INTEGER_PARSER(ulonglong);
-  #endif

 #undef DECLARE_INTEGER_PARSER
+
 };

 inline RE2::Arg::Arg() : arg_(NULL), parser_(parse_null) { }
 inline RE2::Arg::Arg(void* p) : arg_(p), parser_(parse_null) { }

-inline bool RE2::Arg::Parse(const char* str, int n) const {
+inline bool RE2::Arg::Parse(const char* str, size_t n) const {
   return (*parser_)(str, n, arg_);
 }

 // This part of the parser, appropriate only for ints, deals with bases
-#define MAKE_INTEGER_PARSER(type, name) \
-  inline RE2::Arg RE2::Hex(type* ptr) { \
-    return RE2::Arg(ptr, RE2::Arg::parse_ ## name ## _hex); } \
-  inline RE2::Arg RE2::Octal(type* ptr) { \
-    return RE2::Arg(ptr, RE2::Arg::parse_ ## name ## _octal); } \
-  inline RE2::Arg RE2::CRadix(type* ptr) { \
-    return RE2::Arg(ptr, RE2::Arg::parse_ ## name ## _cradix); }
+#define MAKE_INTEGER_PARSER(type, name)                    \
+  inline RE2::Arg RE2::Hex(type* ptr) {                    \
+    return RE2::Arg(ptr, RE2::Arg::parse_##name##_hex);    \
+  }                                                        \
+  inline RE2::Arg RE2::Octal(type* ptr) {                  \
+    return RE2::Arg(ptr, RE2::Arg::parse_##name##_octal);  \
+  }                                                        \
+  inline RE2::Arg RE2::CRadix(type* ptr) {                 \
+    return RE2::Arg(ptr, RE2::Arg::parse_##name##_cradix); \
+  }

 MAKE_INTEGER_PARSER(short,              short)
 MAKE_INTEGER_PARSER(unsigned short,     ushort)
@@ -868,15 +873,62 @@ MAKE_INTEGER_PARSER(int,
 MAKE_INTEGER_PARSER(unsigned int,       uint)
 MAKE_INTEGER_PARSER(long,               long)
 MAKE_INTEGER_PARSER(unsigned long,      ulong)
-#if RE2_HAVE_LONGLONG
 MAKE_INTEGER_PARSER(long long,          longlong)
 MAKE_INTEGER_PARSER(unsigned long long, ulonglong)
-#endif

 #undef MAKE_INTEGER_PARSER

+#ifndef SWIG
+// Helper for writing global or static RE2s safely.
+// Write
+//     static LazyRE2 re = {".*"};
+// and then use *re instead of writing
+//     static RE2 re(".*");
+// The former is more careful about multithreaded
+// situations than the latter.
+//
+// N.B. This class never deletes the RE2 object that
+// it constructs: that's a feature, so that it can be used
+// for global and function static variables.
+class LazyRE2 {
+ private:
+  struct NoArg {};
+
+ public:
+  typedef RE2 element_type;  // support std::pointer_traits
+
+  // Constructor omitted to preserve braced initialization in C++98.
+
+  // Pretend to be a pointer to Type (never NULL due to on-demand creation):
+  RE2& operator*() const { return *get(); }
+  RE2* operator->() const { return get(); }
+
+  // Named accessor/initializer:
+  RE2* get() const {
+    std::call_once(once_, &LazyRE2::Init, this);
+    return ptr_;
+  }
+
+  // All data fields must be public to support {"foo"} initialization.
+  const char* pattern_;
+  RE2::CannedOptions options_;
+  NoArg barrier_against_excess_initializers_;
+
+  mutable RE2* ptr_;
+  mutable std::once_flag once_;
+
+ private:
+  static void Init(const LazyRE2* lazy_re2) {
+    lazy_re2->ptr_ = new RE2(lazy_re2->pattern_, lazy_re2->options_);
+  }
+
+  void operator=(const LazyRE2&);  // disallowed
+};
+#endif  // SWIG
+
 }  // namespace re2

 using re2::RE2;
+using re2::LazyRE2;

-#endif /* RE2_RE2_H */
+#endif  // RE2_RE2_H_
--- a/src/3rdparty/chromium/third_party/re2/src/re2/filtered_re2.h
+++ b/src/3rdparty/chromium/third_party/re2/src/re2/filtered_re2.h
@@ -2,6 +2,9 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.

+#ifndef RE2_FILTERED_RE2_H_
+#define RE2_FILTERED_RE2_H_
+
 // The class FilteredRE2 is used as a wrapper to multiple RE2 regexps.
 // It provides a prefilter mechanism that helps in cutting down the
 // number of regexps that need to be actually searched.
@@ -18,20 +21,19 @@
 // indices of strings that were found in the text to get the actual
 // regexp matches.

-#ifndef RE2_FILTERED_RE2_H_
-#define RE2_FILTERED_RE2_H_
-
+#include <string>
 #include <vector>
+
 #include "re2/re2.h"

 namespace re2 {
-using std::vector;

 class PrefilterTree;

 class FilteredRE2 {
  public:
   FilteredRE2();
+  explicit FilteredRE2(int min_atom_len);
   ~FilteredRE2();

   // Uses RE2 constructor to create a RE2 object (re). Returns
@@ -47,7 +49,7 @@ class FilteredRE2 {
   // the search text should be lowercased first to find matching
   // strings from the set of strings returned by Compile.  Call after
   // all Add calls are done.
-  void Compile(vector<string>* strings_to_match);
+  void Compile(std::vector<string>* strings_to_match);

   // Returns the index of the first matching regexp.
   // Returns -1 on no match. Can be called prior to Compile.
@@ -59,21 +61,21 @@ class FilteredRE2 {
   // Returns -1 on no match. Compile has to be called before
   // calling this.
   int FirstMatch(const StringPiece& text,
-                 const vector<int>& atoms) const;
+                 const std::vector<int>& atoms) const;

   // Returns the indices of all matching regexps, after first clearing
   // matched_regexps.
   bool AllMatches(const StringPiece& text,
-                  const vector<int>& atoms,
-                  vector<int>* matching_regexps) const;
+                  const std::vector<int>& atoms,
+                  std::vector<int>* matching_regexps) const;

   // Returns the indices of all potentially matching regexps after first
   // clearing potential_regexps.
   // A regexp is potentially matching if it passes the filter.
   // If a regexp passes the filter it may still not match.
   // A regexp that does not pass the filter is guaranteed to not match.
-  void AllPotentials(const vector<int>& atoms,
-                     vector<int>* potential_regexps) const;
+  void AllPotentials(const std::vector<int>& atoms,
+                     std::vector<int>* potential_regexps) const;

   // The number of regexps added.
   int NumRegexps() const { return static_cast<int>(re2_vec_.size()); }
@@ -87,11 +89,11 @@ class FilteredRE2 {
   void PrintPrefilter(int regexpid);

   // Useful for testing and debugging.
-  void RegexpsGivenStrings(const vector<int>& matched_atoms,
-                           vector<int>* passed_regexps);
+  void RegexpsGivenStrings(const std::vector<int>& matched_atoms,
+                           std::vector<int>* passed_regexps);

   // All the regexps in the FilteredRE2.
-  vector<RE2*> re2_vec_;
+  std::vector<RE2*> re2_vec_;

   // Has the FilteredRE2 been compiled using Compile()
   bool compiled_;
@@ -99,9 +101,8 @@ class FilteredRE2 {
   // An AND-OR tree of string atoms used for filtering regexps.
   PrefilterTree* prefilter_tree_;

-  //DISALLOW_COPY_AND_ASSIGN(FilteredRE2);
-  FilteredRE2(const FilteredRE2&);
-  void operator=(const FilteredRE2&);
+  FilteredRE2(const FilteredRE2&) = delete;
+  FilteredRE2& operator=(const FilteredRE2&) = delete;
 };

 }  // namespace re2
--- a/src/3rdparty/chromium/third_party/re2/src/re2/set.h
+++ b/src/3rdparty/chromium/third_party/re2/src/re2/set.h
@@ -2,16 +2,20 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.

-#ifndef RE2_SET_H
-#define RE2_SET_H
+#ifndef RE2_SET_H_
+#define RE2_SET_H_

-#include <utility>
+#include <string>
 #include <vector>

 #include "re2/re2.h"

 namespace re2 {
-using std::vector;
+class Prog;
+class Regexp;
+}  // namespace re2
+
+namespace re2 {

 // An RE2::Set represents a collection of regexps that can
 // be searched for simultaneously.
@@ -31,25 +35,25 @@ class RE2::Set {

   // Compile prepares the Set for matching.
   // Add must not be called again after Compile.
-  // Compile must be called before FullMatch or PartialMatch.
+  // Compile must be called before Match.
   // Compile may return false if it runs out of memory.
   bool Compile();

   // Match returns true if text matches any of the regexps in the set.
-  // If so, it fills v with the indices of the matching regexps.
-  bool Match(const StringPiece& text, vector<int>* v) const;
+  // If so, it fills v (if not NULL) with the indices of the matching regexps.
+  bool Match(const StringPiece& text, std::vector<int>* v) const;

  private:
   RE2::Options options_;
   RE2::Anchor anchor_;
-  vector<re2::Regexp*> re_;
+  std::vector<re2::Regexp*> re_;
   re2::Prog* prog_;
   bool compiled_;
-  //DISALLOW_COPY_AND_ASSIGN(Set);
-  Set(const Set&);
-  void operator=(const Set&);
+
+  Set(const Set&) = delete;
+  Set& operator=(const Set&) = delete;
 };

 }  // namespace re2

-#endif  // RE2_SET_H
+#endif  // RE2_SET_H_
--- a/src/3rdparty/chromium/third_party/re2/src/re2/stringpiece.h
+++ b/src/3rdparty/chromium/third_party/re2/src/re2/stringpiece.h
@@ -2,6 +2,9 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.

+#ifndef RE2_STRINGPIECE_H_
+#define RE2_STRINGPIECE_H_
+
 // A string-like object that points to a sized piece of memory.
 //
 // Functions or methods may use const StringPiece& parameters to accept either
@@ -16,143 +19,139 @@
 //
 // Arghh!  I wish C++ literals were "string".

-#ifndef STRINGS_STRINGPIECE_H__
-#define STRINGS_STRINGPIECE_H__
-
+#include <stddef.h>
 #include <string.h>
 #include <algorithm>
-#include <cstddef>
 #include <iosfwd>
+#include <iterator>
 #include <string>

 namespace re2 {

 class StringPiece {
- private:
-  const char*   ptr_;
-  int           length_;
-
  public:
+  typedef char value_type;
+  typedef char* pointer;
+  typedef const char* const_pointer;
+  typedef char& reference;
+  typedef const char& const_reference;
+  typedef const char* const_iterator;
+  typedef const_iterator iterator;
+  typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
+  typedef const_reverse_iterator reverse_iterator;
+  typedef size_t size_type;
+  typedef ptrdiff_t difference_type;
+  static const size_type npos = static_cast<size_type>(-1);
+
   // We provide non-explicit singleton constructors so users can pass
   // in a "const char*" or a "string" wherever a "StringPiece" is
   // expected.
-  StringPiece() : ptr_(NULL), length_(0) { }
-  StringPiece(const char* str)
-    : ptr_(str), length_((str == NULL) ? 0 : static_cast<int>(strlen(str))) { }
+  StringPiece()
+      : data_(NULL), size_(0) {}
   StringPiece(const std::string& str)
-    : ptr_(str.data()), length_(static_cast<int>(str.size())) { }
-  StringPiece(const char* offset, int len) : ptr_(offset), length_(len) { }
-
-  // data() may return a pointer to a buffer with embedded NULs, and the
-  // returned buffer may or may not be null terminated.  Therefore it is
-  // typically a mistake to pass data() to a routine that expects a NUL
-  // terminated string.
-  const char* data() const { return ptr_; }
-  int size() const { return length_; }
-  int length() const { return length_; }
-  bool empty() const { return length_ == 0; }
+      : data_(str.data()), size_(str.size()) {}
+  StringPiece(const char* str)
+      : data_(str), size_(str == NULL ? 0 : strlen(str)) {}
+  StringPiece(const char* str, size_type len)
+      : data_(str), size_(len) {}

-  void clear() { ptr_ = NULL; length_ = 0; }
-  void set(const char* data, int len) { ptr_ = data; length_ = len; }
-  void set(const char* str) {
-    ptr_ = str;
-    if (str != NULL)
-      length_ = static_cast<int>(strlen(str));
-    else
-      length_ = 0;
+  const_iterator begin() const { return data_; }
+  const_iterator end() const { return data_ + size_; }
+  const_reverse_iterator rbegin() const {
+    return const_reverse_iterator(data_ + size_);
   }
-  void set(const void* data, int len) {
-    ptr_ = reinterpret_cast<const char*>(data);
-    length_ = len;
+  const_reverse_iterator rend() const {
+    return const_reverse_iterator(data_);
   }

-  char operator[](int i) const { return ptr_[i]; }
+  size_type size() const { return size_; }
+  size_type length() const { return size_; }
+  bool empty() const { return size_ == 0; }

-  void remove_prefix(int n) {
-    ptr_ += n;
-    length_ -= n;
+  const_reference operator[](size_type i) const { return data_[i]; }
+  const_pointer data() const { return data_; }
+
+  void remove_prefix(size_type n) {
+    data_ += n;
+    size_ -= n;
   }

-  void remove_suffix(int n) {
-    length_ -= n;
+  void remove_suffix(size_type n) {
+    size_ -= n;
   }

-  int compare(const StringPiece& x) const {
-    int r = memcmp(ptr_, x.ptr_, std::min(length_, x.length_));
-    if (r == 0) {
-      if (length_ < x.length_) r = -1;
-      else if (length_ > x.length_) r = +1;
-    }
-    return r;
+  void set(const char* str) {
+    data_ = str;
+    size_ = str == NULL ? 0 : strlen(str);
+  }
+
+  void set(const char* str, size_type len) {
+    data_ = str;
+    size_ = len;
   }

   std::string as_string() const {
-    return std::string(data(), size());
+    return std::string(data_, size_);
   }
+
   // We also define ToString() here, since many other string-like
   // interfaces name the routine that converts to a C++ string
   // "ToString", and it's confusing to have the method that does that
   // for a StringPiece be called "as_string()".  We also leave the
   // "as_string()" method defined here for existing code.
   std::string ToString() const {
-    return std::string(data(), size());
+    return std::string(data_, size_);
   }

-  void CopyToString(std::string* target) const;
-  void AppendToString(std::string* target) const;
-
-  // Does "this" start with "x"
-  bool starts_with(const StringPiece& x) const {
-    return ((length_ >= x.length_) &&
-            (memcmp(ptr_, x.ptr_, x.length_) == 0));
+  void CopyToString(std::string* target) const {
+    target->assign(data_, size_);
   }

-  // Does "this" end with "x"
-  bool ends_with(const StringPiece& x) const {
-    return ((length_ >= x.length_) &&
-            (memcmp(ptr_ + (length_-x.length_), x.ptr_, x.length_) == 0));
+  void AppendToString(std::string* target) const {
+    target->append(data_, size_);
   }

-  // standard STL container boilerplate
-  typedef char value_type;
-  typedef const char* pointer;
-  typedef const char& reference;
-  typedef const char& const_reference;
-  typedef size_t size_type;
-  typedef ptrdiff_t difference_type;
-  static const size_type npos;
-  typedef const char* const_iterator;
-  typedef const char* iterator;
-  typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-  typedef std::reverse_iterator<iterator> reverse_iterator;
-  iterator begin() const { return ptr_; }
-  iterator end() const { return ptr_ + length_; }
-  const_reverse_iterator rbegin() const {
-    return const_reverse_iterator(ptr_ + length_);
+  size_type copy(char* buf, size_type n, size_type pos = 0) const;
+  StringPiece substr(size_type pos = 0, size_type n = npos) const;
+
+  int compare(const StringPiece& x) const {
+    int r = memcmp(data_, x.data_, std::min(size_, x.size_));
+    if (r == 0) {
+      if (size_ < x.size_) r = -1;
+      else if (size_ > x.size_) r = +1;
+    }
+    return r;
   }
-  const_reverse_iterator rend() const {
-    return const_reverse_iterator(ptr_);
+
+  // Does "this" start with "x"?
+  bool starts_with(const StringPiece& x) const {
+    return size_ >= x.size_ &&
+           memcmp(data_, x.data_, x.size_) == 0;
   }
-  // STLS says return size_type, but Google says return int
-  int max_size() const { return length_; }
-  int capacity() const { return length_; }

-  size_type copy(char* buf, size_type n, size_type pos = 0) const;
+  // Does "this" end with "x"?
+  bool ends_with(const StringPiece& x) const {
+    return size_ >= x.size_ &&
+           memcmp(data_ + size_ - x.size_, x.data_, x.size_) == 0;
+  }

-  bool contains(StringPiece s) const;
+  bool contains(const StringPiece& s) const {
+    return find(s) != npos;
+  }

   size_type find(const StringPiece& s, size_type pos = 0) const;
   size_type find(char c, size_type pos = 0) const;
   size_type rfind(const StringPiece& s, size_type pos = npos) const;
   size_type rfind(char c, size_type pos = npos) const;

-  StringPiece substr(size_type pos, size_type n = npos) const;
-
-  static bool _equal(const StringPiece&, const StringPiece&);
+ private:
+  const_pointer data_;
+  size_type size_;
 };

 inline bool operator==(const StringPiece& x, const StringPiece& y) {
-  return StringPiece::_equal(x, y);
+  return x.size() == y.size() &&
+         memcmp(x.data(), y.data(), x.size()) == 0;
 }

 inline bool operator!=(const StringPiece& x, const StringPiece& y) {
@@ -160,8 +159,7 @@ inline bool operator!=(const StringPiece
 }

 inline bool operator<(const StringPiece& x, const StringPiece& y) {
-  const int r = memcmp(x.data(), y.data(),
-                       std::min(x.size(), y.size()));
+  int r = memcmp(x.data(), y.data(), std::min(x.size(), y.size()));
   return ((r < 0) || ((r == 0) && (x.size() < y.size())));
 }

@@ -179,7 +177,7 @@ inline bool operator>=(const StringPiece

 }  // namespace re2

-// allow StringPiece to be logged
-extern std::ostream& operator<<(std::ostream& o, const re2::StringPiece& piece);
+// Allow StringPiece to be logged.
+std::ostream& operator<<(std::ostream& o, const re2::StringPiece& p);

-#endif  // STRINGS_STRINGPIECE_H__
+#endif  // RE2_STRINGPIECE_H_


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>qt5-webengine</Name>
        <Homepage>http://qt.digia.com/</Homepage>
        <Packager>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Packager>
        <Summary>Provides support for web applications using the Chromium browser project</Summary>
        <Description>Provides support for web applications using the Chromium browser project</Description>
        <License>LGPLv2.1-linking-exception</License>
        <Archive sha1sum="5407e2dbb042e115f3d1728656b3ae496e4fa8e0" type="tarxz">http://download.qt.io/official_releases/qt/5.9/5.9.3/submodules/qtwebengine-opensource-src-5.9.3.tar.xz</Archive>
        <BuildDependencies>
            <Dependency versionFrom="5.9.3">qt5-base-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-declarative-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-xmlpatterns-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-location-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-sensors-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-webchannel-devel</Dependency>
            <Dependency>bison</Dependency>
            <Dependency>re2c</Dependency>
            <Dependency versionFrom="1.7.2">ninja</Dependency>
            <Dependency>gperf</Dependency>
            <Dependency>snappy-devel</Dependency>
            <Dependency>gobject-introspection-devel</Dependency>
            <Dependency>expat-devel</Dependency>
            <Dependency versionFrom="2.50.2">glib2-devel</Dependency>
            <Dependency>fontconfig-devel</Dependency>
            <Dependency versionFrom="2.7.1">freetype-devel</Dependency>
            <Dependency versionFrom="13.0.4">mesa-devel</Dependency>
            <Dependency versionFrom="3.2.1">eudev-devel</Dependency>
            <Dependency>libpng-devel</Dependency>
            <Dependency>webp-devel</Dependency>
            <Dependency>harfbuzz-devel</Dependency>
            <Dependency>json-c-devel</Dependency>
            <Dependency>protobuf-devel</Dependency>
            <Dependency>libdrm-devel</Dependency>
            <Dependency>libopus-devel</Dependency>
            <Dependency>libevent-devel</Dependency>
            <Dependency>zlib-devel</Dependency>
            <Dependency>libxml2-devel</Dependency>
            <Dependency>libxslt-devel</Dependency>
            <Dependency>libX11-devel</Dependency>
            <Dependency>libXi-devel</Dependency>
            <Dependency>libXcursor-devel</Dependency>
            <Dependency>libXext-devel</Dependency>
            <Dependency>libXfixes-devel</Dependency>
            <Dependency>libXrender-devel</Dependency>
            <Dependency>libXdamage-devel</Dependency>
            <Dependency>libXcomposite-devel</Dependency>
            <Dependency>libXtst-devel</Dependency>
            <Dependency>libXrandr-devel</Dependency>
            <Dependency>libXScrnSaver-devel</Dependency>
            <Dependency>libcap-devel</Dependency>
            <Dependency>pulseaudio-libs-devel</Dependency>
            <Dependency>alsa-lib-devel</Dependency>
            <Dependency>pciutils-devel</Dependency>
            <Dependency>dbus-devel</Dependency>
            <Dependency>nss-devel</Dependency>  <!--bizim nss ile derlenmiyor kendi içinde var-->
            <Dependency>perl</Dependency>
            <Dependency versionFrom="2.7.13">python-devel</Dependency>
            <Dependency>libvpx-devel</Dependency>
            <Dependency>libjpeg-turbo-devel</Dependency>
            <Dependency>x264-devel</Dependency>
            <Dependency>minizip-devel</Dependency>
            <Dependency versionFrom="58.2">icu4c-devel</Dependency>
            <Dependency versionFrom="3.2.4">ffmpeg-devel</Dependency>
            <Dependency>git</Dependency>
        </BuildDependencies>
        <Patches>
            <!--<Patch level="1">qt5-webengine-nss.patch</Patch>
            <Patch level="1">use_system_re2.patch</Patch>-->
            <!--<Patch level="1">do-not-use-system-ninja.patch</Patch>-->
        </Patches>
    </Source>

    <Package>
        <Name>qt5-webengine</Name>
        <Files>
            <Path fileType="executable">/usr/lib/qt5/bin/</Path>
            <Path fileType="executable">/usr/bin</Path>
            <Path fileType="library">/usr/lib/libQt5WebEngine*</Path>
            <Path fileType="library">/usr/lib/libQt5WebEngineWidgets*</Path>
            <Path fileType="library">/usr/lib/qt5</Path>
            <Path fileType="data">/usr/share/qt5</Path>
            <Path fileType="localedata">/usr/share/qt5/translations</Path>
        </Files>
        <RuntimeDependencies>
            <Dependency>nss</Dependency>
            <Dependency>dbus</Dependency>
            <Dependency>nspr</Dependency>
            <Dependency>webp</Dependency>
            <Dependency>glib2</Dependency>
            <Dependency>libX11</Dependency>
            <Dependency>libgcc</Dependency>
            <Dependency>libpng</Dependency>
            <Dependency>snappy</Dependency>
            <Dependency versionFrom="2.7.1">freetype</Dependency>
            <Dependency>libXi</Dependency>
            <Dependency>libXext</Dependency>
            <Dependency>libXtst</Dependency>
            <Dependency>libxslt</Dependency>
            <Dependency>libopus</Dependency>
            <Dependency>libxml2</Dependency>
            <Dependency>libvpx</Dependency>
            <Dependency versionFrom="5.9.3">qt5-base</Dependency>
            <Dependency>alsa-lib</Dependency>
            <Dependency>harfbuzz</Dependency>
            <Dependency>libevent</Dependency>
            <Dependency>libXfixes</Dependency>
            <Dependency>fontconfig</Dependency>
            <Dependency>libXcursor</Dependency>
            <Dependency>libXdamage</Dependency>
            <Dependency>libXrender</Dependency>
            <Dependency versionFrom="5.9.3">qt5-location</Dependency>
            <Dependency>libXcomposite</Dependency>
            <Dependency>libjpeg-turbo</Dependency>
            <Dependency versionFrom="5.9.3">qt5-webchannel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-declarative</Dependency>
            <Dependency>zlib</Dependency>
            <Dependency>minizip</Dependency>
            <Dependency>protobuf</Dependency>
        </RuntimeDependencies>
    </Package>

    <Package>
        <Name>qt5-webengine-devel</Name>
        <Files>
            <Path fileType="library">/usr/lib/pkgconfig</Path>
            <Path fileType="library">/usr/lib/cmake</Path>
            <Path fileType="headers">/usr/include/qt5</Path>
        </Files>
        <RuntimeDependencies>
            <Dependency release="current">qt5-webengine</Dependency>
            <Dependency versionFrom="5.9.3">qt5-base-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-declarative-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-location-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-webchannel-devel</Dependency>
        </RuntimeDependencies>
    </Package>

    <Package>
        <Name>qt5-webengine-docs</Name>
        <RuntimeDependencies>
            <Dependency versionFrom="5.9.3">qt5-base</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="doc">/usr/share/doc</Path>
        </Files>
    </Package>

    <History>
        <Update release="4">
            <Date>2018-01-18</Date>
            <Version>5.9.3</Version>
            <Comment>Release bump.</Comment>
            <Name>Kamil Atlı</Name>
            <Email>suvari@pisilinux.org</Email>
        </Update>
        <Update release="3">
            <Date>2017-03-08</Date>
            <Version>5.7.1</Version>
            <Comment>Release bump.</Comment>
            <Name>Kamil Atlı</Name>
            <Email>suvari@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-12-27</Date>
            <Version>5.6.2</Version>
            <Comment>Version bump</Comment>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2016-06-15</Date>
            <Version>5.6.0</Version>
            <Comment>First release</Comment>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
<?xml version="1.0" ?>
<PISI>
    <Source>
        <Name>qt5-webengine</Name>
        <Summary xml:lang="tr">Chromium tarayıcı projelerini kullanan web uygulamaları için destek sağlar</Summary>
        <Description xml:lang="tr">Chromium tarayıcı projelerini kullanan web uygulamaları için destek sağlar</Description>
    </Source>
</PISI>


code:
diff -ur qtwebkit-5.212.0-alpha2/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
qtwebkit-5.212.0-alpha2-fix-null-pointer-dereference/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
--- qtwebkit-5.212.0-alpha2/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp	2017-06-09 16:11:36.000000000 +0200
+++ Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp	2017-10-24 21:44:40.504943501
+0200
@@ -390,7 +390,10 @@

 QString QWebPageAdapter::selectedHtml() const
 {
-    return page->focusController().focusedOrMainFrame().editor().selectedRange()->toHTML();
+    RefPtr<Range> range = page->focusController().focusedOrMainFrame().editor().selectedRange();
+    if (!range)
+        return QString();
+    return range->toHTML();
 }

 bool QWebPageAdapter::isContentEditable() const


code:
diff -up qtwebkit-opensource-src-5.0.1/Source/JavaScriptCore/JavaScriptCore.pri.debuginfo qtwebkit-opensource-src-5.0.1/Source/JavaScriptCore/JavaScriptCore.pri
--- qtwebkit-opensource-src-5.0.1/Source/JavaScriptCore/JavaScriptCore.pri.debuginfo	2013-01-29 13:03:49.000000000 -0600
+++ qtwebkit-opensource-src-5.0.1/Source/JavaScriptCore/JavaScriptCore.pri	2013-02-23 13:54:22.578460045 -0600
@@ -7,6 +7,12 @@

 SOURCE_DIR = $${ROOT_WEBKIT_DIR}/Source/JavaScriptCore

+#equals(QT_ARCH, s390)|equals(QT_ARCH, arm)|equals(QT_ARCH, mips)|equals(QT_ARCH, i386)|equals(QT_ARCH, i686)|equals(QT_ARCH, x86_64) {
+#    message("JavaScriptCore workaround for QtWebkit: do not build with -g, but with -g1")
+#    QMAKE_CXXFLAGS_RELEASE -= -g
+#    QMAKE_CXXFLAGS_RELEASE += -g1
+#}
+
 JAVASCRIPTCORE_GENERATED_SOURCES_DIR = $${ROOT_BUILD_DIR}/Source/JavaScriptCore/$${GENERATED_SOURCES_DESTDIR}

 INCLUDEPATH += \
diff -up qtwebkit-opensource-src-5.0.1/Source/WebCore/WebCore.pri.debuginfo qtwebkit-opensource-src-5.0.1/Source/WebCore/WebCore.pri
--- qtwebkit-opensource-src-5.0.1/Source/WebCore/WebCore.pri.debuginfo	2013-01-29 13:03:41.000000000 -0600
+++ qtwebkit-opensource-src-5.0.1/Source/WebCore/WebCore.pri	2013-02-23 13:57:16.984279672 -0600
@@ -7,6 +7,12 @@

 SOURCE_DIR = $${ROOT_WEBKIT_DIR}/Source/WebCore

+equals(QT_ARCH, s390)|equals(QT_ARCH, arm)|equals(QT_ARCH, mips)|equals(QT_ARCH, i386)|equals(QT_ARCH, i686)|equals(QT_ARCH, x86_64) {
+    message("WebCore workaround for QtWebkit: do not build with -g, but with -g1")
+    QMAKE_CXXFLAGS_RELEASE -= -g
+    QMAKE_CXXFLAGS_RELEASE += -g1
+}
+
 QT *= network sql core-private gui-private

 WEBCORE_GENERATED_SOURCES_DIR = $${ROOT_BUILD_DIR}/Source/WebCore/$${GENERATED_SOURCES_DESTDIR}
diff -up qtwebkit-opensource-src-5.0.1/Source/WebKit2/WebKit2.pri.debuginfo qtwebkit-opensource-src-5.0.1/Source/WebKit2/WebKit2.pri
--- qtwebkit-opensource-src-5.0.1/Source/WebKit2/WebKit2.pri.debuginfo	2013-01-29 13:03:39.000000000 -0600
+++ qtwebkit-opensource-src-5.0.1/Source/WebKit2/WebKit2.pri	2013-02-23 13:54:22.579460033 -0600
@@ -9,6 +9,12 @@ SOURCE_DIR = $${ROOT_WEBKIT_DIR}/Source/

 WEBKIT2_GENERATED_SOURCES_DIR = $${ROOT_BUILD_DIR}/Source/WebKit2/$${GENERATED_SOURCES_DESTDIR}

+#equals(QT_ARCH, s390)|equals(QT_ARCH, arm)|equals(QT_ARCH, mips)|equals(QT_ARCH, i386)|equals(QT_ARCH, i686)|equals(QT_ARCH, x86_64) {
+#    message("WebKit2 workaround for QtWebkit: do not build with -g, but with -g1")
+#    QMAKE_CXXFLAGS_RELEASE -= -g
+#    QMAKE_CXXFLAGS_RELEASE += -g1
+#}
+
 INCLUDEPATH += \
     $$SOURCE_DIR \
     $$SOURCE_DIR/Platform \
diff -up qtwebkit-opensource-src-5.0.1/Source/WebKit/WebKit1.pri.debuginfo qtwebkit-opensource-src-5.0.1/Source/WebKit/WebKit1.pri
--- qtwebkit-opensource-src-5.0.1/Source/WebKit/WebKit1.pri.debuginfo	2013-01-29 13:03:54.000000000 -0600
+++ qtwebkit-opensource-src-5.0.1/Source/WebKit/WebKit1.pri	2013-02-23 13:54:22.579460033 -0600
@@ -7,6 +7,12 @@

 SOURCE_DIR = $${ROOT_WEBKIT_DIR}/Source/WebKit

+#equals(QT_ARCH, s390)|equals(QT_ARCH, arm)|equals(QT_ARCH, mips)|equals(QT_ARCH, i386)|equals(QT_ARCH, i686)|equals(QT_ARCH, x86_64) {
+#    message("WebKit workaround for QtWebkit: do not build with -g, but with -g1")
+#    QMAKE_CXXFLAGS_RELEASE -= -g
+#    QMAKE_CXXFLAGS_RELEASE += -g1
+#}
+
 INCLUDEPATH += \
     $$SOURCE_DIR/qt/Api \
     $$SOURCE_DIR/qt/WebCoreSupport \
diff -up qtwebkit-opensource-src-5.0.1/Source/WTF/WTF.pri.debuginfo qtwebkit-opensource-src-5.0.1/Source/WTF/WTF.pri
--- qtwebkit-opensource-src-5.0.1/Source/WTF/WTF.pri.debuginfo	2013-01-29 13:03:38.000000000 -0600
+++ qtwebkit-opensource-src-5.0.1/Source/WTF/WTF.pri	2013-02-23 13:56:23.584947256 -0600
@@ -8,6 +8,12 @@
 # All external modules should include WTF headers by prefixing with "wtf" (#include <wtf/some/thing.h>).
 INCLUDEPATH += $$PWD

+#equals(QT_ARCH, s390)|equals(QT_ARCH, arm)|equals(QT_ARCH, mips)|equals(QT_ARCH, i386)|equals(QT_ARCH, i686)|equals(QT_ARCH, x86_64) {
+#    message("WTF workaround for QtWebkit: do not build with -g, but with -g1")
+#    QMAKE_CXXFLAGS_RELEASE -= -g
+#    QMAKE_CXXFLAGS_RELEASE += -g1
+#}
+
 mac {
     # Mac OS does ship libicu but not the associated header files.
     # Therefore WebKit provides adequate header files.