Changeset 0173357f for x/lib/qt5.xml


Ignore:
Timestamp:
12/13/2013 12:35:03 AM (10 years ago)
Author:
Fernando de Oliveira <fernando@…>
Branches:
10.0, 10.1, 11.0, 11.1, 11.2, 11.3, 12.0, 12.1, 7.10, 7.5, 7.6, 7.6-blfs, 7.6-systemd, 7.7, 7.8, 7.9, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, basic, bdubbs/svn, elogind, gnome, kde5-13430, kde5-14269, kde5-14686, kea, ken/TL2024, ken/inkscape-core-mods, ken/tuningfonts, krejzi/svn, lazarus, lxqt, nosym, perl-modules, plabs/newcss, plabs/python-mods, python3.11, qt5new, rahul/power-profiles-daemon, renodr/vulkan-addition, systemd-11177, systemd-13485, trunk, upgradedb, xry111/intltool, xry111/llvm18, xry111/soup3, xry111/test-20220226, xry111/xf86-video-removal
Children:
5f693cd
Parents:
3c0ba9f
Message:

Update Update to qt-5.2.0. Patch from Armin.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@12380 af4574ff-66df-0310-9fd7-8a98e5e911e0

File:
1 edited

Legend:

Unmodified
Added
Removed
  • x/lib/qt5.xml

    r3c0ba9f r0173357f  
    55  %general-entities;
    66
    7   <!ENTITY qt5-major "5.1">
     7  <!ENTITY qt5-major "5.2">
    88  <!ENTITY qt5-url   "http://download.qt-project.org/official_releases/qt/&qt5-major;/&qt5-version;/single">
    99
    1010  <!ENTITY qt5-download-http "&qt5-url;/qt-everywhere-opensource-src-&qt5-version;.tar.xz">
    1111  <!ENTITY qt5-download-ftp  " ">
    12   <!ENTITY qt5-md5sum        "697b7b8768ef8895e168366ab6b44760">
    13   <!ENTITY qt5-size          "169 MB">
    14   <!ENTITY qt5-buildsize     "2.5 GB">
    15   <!ENTITY qt5-time          "94 SBU">
     12  <!ENTITY qt5-md5sum        "8f60b47ca9461831d940f579ee90517e">
     13  <!ENTITY qt5-size          "166 MB">
     14  <!ENTITY qt5-buildsize     "2.6 GB (160 MB installed)">
     15  <!ENTITY qt5-time          "60 SBU">
    1616]>
    1717
     
    3131
    3232  <sect2 role="package">
    33     <title>Introduction to Qt</title>
    34 
    35     <para>
    36       <application>Qt</application> is a cross-platform application
     33    <title>Introduction to Qt5</title>
     34
     35    <para>
     36      <application>Qt5</application> is a cross-platform application
    3737      framework that is widely used for developing application software
    38       with a graphical user interface (GUI) (in which cases Qt is classified
    39       as a widget toolkit), and also used for developing non-GUI programs such
    40       as command-line tools and consoles for servers. One of the major users
    41       of <application>Qt</application> is <application>KDE</application>.
     38      with a graphical user interface (GUI) (in which cases
     39      <application>Qt5</application> is classified as a widget toolkit), and
     40      also used for developing non-GUI programs such as command-line tools
     41      and consoles for servers. One of the major users of
     42      <application>Qt5</application> is <application>KDE Frameworks 5</application>.
    4243    </para>
    4344
     
    7879    </itemizedlist>
    7980
    80     <bridgehead renderas="sect3">Qt Dependencies</bridgehead>
     81    <bridgehead renderas="sect3">Qt5 Dependencies</bridgehead>
    8182
    8283    <bridgehead renderas="sect4">Required</bridgehead>
     
    114115      <xref linkend="mariadb"/> or <xref linkend="mysql"/>,
    115116      <xref linkend="postgresql"/>,
    116       <xref linkend="pulseaudio"/>,
    117       <xref linkend="unixodbc"/>, and
    118       <xref linkend="qtchooser"/> (runtime, if also installing Qt4 and
    119       installing in /usr)
     117      <xref linkend="pulseaudio"/>, and
     118      <xref linkend="unixodbc"/>
     119    </para>
     120
     121    <bridgehead renderas="sect4">Required (Runtime)</bridgehead>
     122    <para role="required">
     123      <xref linkend="qtchooser"/> (if installing both
     124      <application>Qt4</application> and <application>Qt5</application>
     125      and installing in <filename class="directory">/usr</filename>)
    120126    </para>
    121127
     
    126132
    127133  <sect2 role="installation">
    128     <title>Installation of Qt</title>
     134    <title>Installation of Qt5</title>
    129135
    130136    <para>
    131137       There are several ways to install a complicated package such as
    132        <application>Qt</application>. The files are not completely position
     138       <application>Qt5</application>. The files are not completely position
    133139       independent. Installation procedures execute the program
    134140       <command>pkg-config</command> to determine the location of package
    135141       executables, libraries, headers, and other files. For
    136        <application>Qt</application>, <command>pkg-config</command> will look
    137        for the appropriate <filename>lib/pkgconfig/Qt*.pc</filename> files
     142       <application>Qt5</application>, <command>pkg-config</command> will look
     143       for the appropriate <filename>lib/pkgconfig/Qt5*.pc</filename> files
    138144       which must be modified if relocating the package. These files are set up
    139145       correctly by the build process.
     
    142148    <para>
    143149       The default installation places the files in <filename
    144        class='directory'>/usr/local/qt/</filename>. Many commercial
     150       class="directory">/usr/local/qt</filename>. Many
    145151       distributions place the files in the system's <filename
    146        class='directory'>/usr</filename> hierarchy. The package can also be
    147        installed in an arbitrary directory.
     152       class="directory">/usr</filename> hierarchy. The package can
     153       also be installed in an arbitrary directory.
    148154    </para>
    149155
    150156    <para>
    151157       The advantage of installing in <filename
    152        class='directory'>/usr</filename> is that no updates to the
     158       class="directory">/usr</filename> is that no updates to the
    153159       <filename>/etc/ld.so.conf</filename> or
    154160       <filename>/etc/man_db.conf</filename> files are required. The package
    155161       files are distributed within several subdirectories of the <filename
    156        class='directory'>/usr</filename> hierarchy. This is the method that
    157        most commercial distributions use.
     162       class="directory">/usr</filename> hierarchy. This is the method that
     163       most distributions use.
    158164    </para>
    159165
    160166    <para>
    161167       The disadvantage of installing in <filename
    162        class='directory'>/usr</filename> is that the executable filenames
     168       class="directory">/usr</filename> is that the executable filenames
    163169       for  <application>Qt4</application> and <application>Qt5</application>
    164170       conflict if both packages are installed in the
    165        same directory.  The instructions below give a workaround for
    166        this problem using the helper program <xref linkend='qtchooser'/>.
    167        This requires renaming the Qt executables with a version suffix.
    168     </para>
    169 
    170     <para>
    171        The advantage of installing <application>Qt4</application> in a custom
     171       same directory. The instructions below give a workaround for
     172       this problem using the helper programs from <xref linkend="qtchooser"/>.
     173       <!-- renaming is not required because of this, only using a different
     174       bindir is -->
     175    </para>
     176
     177    <para>
     178       The advantage of installing <application>Qt5</application> in a custom
    172179       directory such as <filename
    173        class='directory'>/opt/qt-&qt4-version;</filename> is that it keeps all
     180       class="directory">/opt/qt-&qt5-version;</filename> is that it keeps all
    174181       the package files consolidated in a dedicated directory hierarchy. By
    175182       using this method, an update can be made without overwriting a previous
    176183       installation and users can easily revert to a previous version by
    177        changing one symbolic link or merely changing the PATH variable.  It
    178        also allows a developer to maintain multiple versions of
     184       changing one symbolic link or merely changing the <envar>PATH</envar>
     185       variable.  It also allows a developer to maintain multiple versions of
    179186       <application>Qt4</application> or <application>Qt5</application>
    180187       for testing.
     
    206213    </para>
    207214
    208     <note><para>
    209       If <emphasis>not</emphasis> also installing <application>Qt4</application>
    210       into the /usr directory, change the entry for -bindir below to /usr/bin.
    211     </para></note>
    212 
    213 <screen><userinput>sed -i "s:Context\* context}:&amp;\n%lex-param {YYLEX_PARAM}:" \
    214      qtwebkit/Source/ThirdParty/ANGLE/src/compiler/glslang.y &amp;&amp;
    215 
    216 sed -i -e "/#if/d" -e "/#error/d" -e "/#endif/d" \
    217      qtimageformats/config.tests/libmng/libmng.cpp &amp;&amp;
     215    <note>
     216      <para>
     217        If <emphasis>not</emphasis> also installing <application>Qt4</application>
     218        into the /usr directory, change the entry for -bindir below to /usr/bin.
     219      </para>
     220    </note>
     221
     222<screen><userinput>sed -e "s:#if MNG:#if defined(MNG_VERSION_MAJOR)\n&amp;:" \
     223    -e "s:#endif:&amp;\n#endif:" \
     224    -i qtimageformats/config.tests/libmng/libmng.cpp
    218225
    219226./configure -prefix         /usr               \
     
    270277
    271278<screen role="root"><userinput>sed -i -e "s:$PWD/qtbase:/usr/lib/qt5:g" \
    272     /usr/lib/qt5/mkspecs/modules/qt_lib_bootstrap.pri &amp;&amp;
     279    /usr/lib/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri &amp;&amp;
    273280find /usr/lib/lib{qgsttools_p,Qt5*}.prl -exec sed -i -e \
    274281     '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \;</userinput></screen>
    275282
    276283    <para>
    277       If also installing Qt4 into /usr,
    278       Symlink the <application>Qt5</application> executables into
     284      If you didn't modify the -bindir switch above, symlink the
     285      <application>Qt5</application> executables into
    279286      <filename class="directory">/usr/bin</filename> by running the
    280287      following commands as the
     
    290297
    291298    <para>
    292       This section provides an alternate way to install Qt4 by installing
    293       almost all of the files in the <filename class="directory">/opt</filename>
    294       directory. This allows management of all Qt related files in one unit.
    295       For instance, a new version of Qt5 can be installed without over-writing
    296       the existing installation and entire Qt5 instances can be easily removed.
    297       However, it has the disadvantage of needing some extra configuration.
    298     </para>
    299 
    300 <screen><userinput>sed -i "s:Context\* context}:&amp;\n%lex-param {YYLEX_PARAM}:" \
    301      qtwebkit/Source/ThirdParty/ANGLE/src/compiler/glslang.y &amp;&amp;
    302 
    303 sed -i -e "/#if/d" -e "/#error/d" -e "/#endif/d" \
    304      qtimageformats/config.tests/libmng/libmng.cpp &amp;&amp;
     299      This section provides an alternate way to install <application>Qt5</application>
     300      by installing  almost all of the files in the <filename
     301      class="directory">/opt</filename> directory. This allows management of all
     302      <application>Qt5</application> related files in one unit. For instance, a new
     303      version of <application>Qt5</application> can be installed without over-writing
     304      the existing installation and entire <application>Qt5</application> instances can
     305      be easily removed. However, it has the disadvantage of needing some extra
     306      configuration and you need to switch manually between <application>Qt4</application>
     307      and <application>Qt5</application> executables when needed.
     308    </para>
     309
     310<screen><userinput>sed -e "s:#if MNG:#if defined(MNG_VERSION_MAJOR)\n&amp;:" \
     311    -e "s:#endif:&amp;\n#endif:" \
     312    -i qtimageformats/config.tests/libmng/libmng.cpp
    305313
    306314QT5DIR=/opt/qt-&qt5-version;
     
    341349    </para>
    342350
    343 <screen role="root"><userinput>find $QT5DIR -name qt_lib_bootstrap.pri \
     351<screen role="root"><userinput>find $QT5DIR -name qt_lib_bootstrap_private.pri \
    344352   -exec sed -i -e "s:$PWD/qtbase:/$QT5DIR/lib/:g" {} \; &amp;&amp;
    345353
     
    347355   -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;</userinput></screen>
    348356
    349 <!-- This is not needed for method 2
    350     <para>
    351       Symlink the <application>Qt</application> executables into
     357<!-- This is useful for packages looking explicitly for Qt apps with -qt5 suffix,
     358     and is *required* for the desktop files below to work correctly. -->
     359
     360    <para>
     361      Symlink the <application>Qt5</application> executables into
    352362      <filename class="directory">/usr/bin</filename> by running the
    353363      following commands as the
     
    360370  ln -sfv $file /usr/bin/$(basename $file)-qt5
    361371done</userinput></screen>
    362 -->
    363     <para>
    364       At this point is is useful to add some configuration items as
    365       the <systemitem class="username">root</systemitem> user:
    366     </para>
    367 
    368 <screen role="root"><userinput>echo /opt/qt5 &gt;&gt; /etc/ld.so.conf &amp;&amp;
    369 ldconfig                         &amp;&amp;
    370 
    371 cat &gt;&gt; /etc/profile.d/qt5.sh &lt;&lt; "EOF"
    372 pathappend /opt/qt5/lib/pkgconfig PKG_CONFIG_PATH
    373 EOF</userinput></screen>
    374372
    375373  </sect2>
     
    379377
    380378    <para>
    381       <command>sed -i "..." ...</command>: First command fixes
    382       building with <application>Bison</application> 3.0 and
    383       second command fixes detection of
     379      <command>sed -e "..." -e "..." -i ...</command>: This
     380      command fixes detection of
    384381      <application>libmng</application> 2.0.
    385382    </para>
     
    423420      <application>D-Bus</application> and
    424421      <application>OpenSSL</application> libraries into
    425       <application>Qt</application> libraries instead of
     422      <application>Qt5</application> libraries instead of
    426423      <command>dlopen()</command>-ing them.
    427424    </para>
     
    429426    <para>
    430427      <parameter>-opengl es2</parameter>: This switch enables OpenGL ES2
    431       support in <application>Qt</application>.
     428      support in <application>Qt5</application>.
    432429    </para>
    433430
     
    440437
    441438  <sect2 role="configuration">
    442     <title>Configuring Qt</title>
     439    <title>Configuring Qt5</title>
    443440
    444441    <sect3 id="qt5-config">
     
    446443
    447444      <para>
    448         If you installed <application>Qt</application> in /usr,
    449         create an environment variable needed by certain packages.
    450         As the <systemitem class="username">root</systemitem> user:
     445        Create the menu entries for installed applications by running the
     446        following commands <systemitem class="username">root</systemitem>
     447        user:
    451448      </para>
    452 
    453 <screen role="root"><userinput>cat &gt; /etc/profile.d/qt.sh &lt;&lt; EOF
    454 <literal># Begin /etc/profile.d/qt.sh
    455 
    456 QTDIR=/usr
    457 
    458 export QT5DIR
    459 
    460 # End /etc/profile.d/qt.sh</literal>
    461 EOF</userinput></screen>
    462 
    463    <para>
    464       If you installed <application>Qt5</application> in a location other
    465       than /usr, you need to update the following configuration files so
    466       that <application>Qt5</application> is correctly found by other packages
    467       and system processes.
    468    </para>
    469 
    470    <note><para>
    471       If you also installed Qt4 and need to use the Qt5 version of an
    472       executable such as qmake for building a program, make sure that
    473       the Qt5 bin directory is listed prior to the Qt4 bin directory in
    474       the PATH variable.
    475    </para></note>
    476 
    477       <para>As the <systemitem class="username">root</systemitem> user, update
    478       the <filename>/etc/ld.so.conf</filename> file and the dynamic linker's
    479       run-time cache file:
    480    </para>
    481 
    482 <screen role="root"><userinput>cat &gt;&gt; /etc/ld.so.conf &lt;&lt; EOF
    483 <literal># Begin Qt addition
    484 
    485 /opt/qt5/lib
    486 
    487 # End Qt addition</literal>
    488 EOF
    489 
    490 ldconfig</userinput></screen>
    491 
    492    <indexterm zone="qt5 qt5-config">
    493       <primary sortas="e-etc-ld.so.conf">/etc/ld.so.conf</primary>
    494    </indexterm>
    495 
    496    <para>
    497       As the <systemitem class="username">root</systemitem> user, create
    498       the <filename>/etc/profile.d/qt.sh</filename> file:
    499    </para>
    500 
    501 <screen role="root"><userinput>cat &gt; /etc/profile.d/qt.sh &lt;&lt; EOF
    502 <literal># Begin /etc/profile.d/qt.sh
    503 
    504 QT5DIR=/opt/qt5
    505 
    506 pathappend /opt/qt5/bin           PATH
    507 pathappend /opt/qt5/lib/pkgconfig PKG_CONFIG_PATH
    508 
    509 export QT5DIR
    510 
    511 # End /etc/profile.d/qt.sh</literal>
    512 EOF</userinput></screen>
    513 
    514    <para>
    515      For all methods, create the menu entries for installed applications.
    516      As the <systemitem class="username">root</systemitem> user:
    517    </para>
    518449
    519450<screen role="root"><userinput>install -dm755 /usr/share/applications
     
    567498EOF</userinput></screen>
    568499
     500<!-- No package uses this at the moment.
     501
     502      <para>
     503        If you installed <application>Qt5</application> in
     504        <filename class="directory">/usr</filename>, create an
     505        environment variable needed by certain packages.
     506        As the <systemitem class="username">root</systemitem> user:
     507      </para>
     508
     509<screen role="root"><userinput>cat &gt; /etc/profile.d/qt5.sh &lt;&lt; EOF
     510<literal># Begin /etc/profile.d/qt5.sh
     511
     512QTDIR=/usr
     513
     514export QT5DIR
     515
     516# End /etc/profile.d/qt5.sh</literal>
     517EOF</userinput></screen>
     518
     519-->
     520
     521      <note>
     522        <para>
     523          If you have installed <application>Qt5</application> in
     524          <filename class="directory">/usr</filename>, you can skip
     525          rest of this section.
     526        </para>
     527      </note>
     528
     529      <para>
     530        If you installed <application>Qt5</application> in a location other
     531        than <filename class="directory">/usr</filename>, you need to update the
     532        following configuration files so that <application>Qt5</application> is
     533        correctly found by other packages and system processes.
     534      </para>
     535
     536      <para>
     537        As the <systemitem class="username">root</systemitem> user, update
     538        the <filename>/etc/ld.so.conf</filename> file and the dynamic linker's
     539        run-time cache file:
     540      </para>
     541
     542<screen role="root"><userinput>cat &gt;&gt; /etc/ld.so.conf &lt;&lt; EOF
     543<literal># Begin Qt addition
     544
     545/opt/qt5/lib
     546
     547# End Qt addition</literal>
     548EOF
     549
     550ldconfig</userinput></screen>
     551
     552      <indexterm zone="qt5 qt5-config">
     553        <primary sortas="e-etc-ld.so.conf">/etc/ld.so.conf</primary>
     554      </indexterm>
     555
     556      <para>
     557        As the <systemitem class="username">root</systemitem> user, create
     558        the <filename>/etc/profile.d/qt5.sh</filename> file:
     559      </para>
     560
     561<screen role="root"><userinput>cat &gt; /etc/profile.d/qt5.sh &lt;&lt; EOF
     562<literal># Begin /etc/profile.d/qt5.sh
     563
     564QT5DIR=/opt/qt5
     565
     566pathappend /opt/qt5/bin           PATH
     567pathappend /opt/qt5/lib/pkgconfig PKG_CONFIG_PATH
     568
     569export QT5DIR
     570
     571# End /etc/profile.d/qt5.sh</literal>
     572EOF</userinput></screen>
     573
     574      <note>
     575        <para>
     576          If you also installed <application>Qt4</application> and need to use
     577          the <application>Qt5</application> version of an executable such as
     578          <command>qmake</command> for building a program, make sure that
     579          the <application>Qt5</application> bin directory is listed prior to
     580          the <application>Qt5</application> bin directory in the
     581          <envar>PATH</envar> variable.
     582        </para>
     583      </note>
     584
    569585    </sect3>
    570586
     
    582598        <seg>
    583599          assistant-qt5, designer-qt5, lconvert-qt5, linguist-qt5, lrelease-qt5,
    584           lupdate-qt5, moc-qt5, pixeltool-qt5, qcollectiongenerator-qt5,
    585           qdbuscpp2xml-qt5, qdbus-qt5, qdbusviewer-qt5, qdbusxml2cpp-qt5, qdoc-qt5,
    586           qhelpconverter-qt5, qhelpgenerator-qt5, qmake-qt5, qml1plugindump-qt5,
    587           qmlbundle-qt5, qmlmin-qt5, qmlplugindump-qt5, qmlprofiler-qt5, qmlscene-qt5,
    588           qmltestrunner-qt5, qmlviewer-qt5, rcc-qt5, syncqt.pl-qt5, uic-qt5,
    589           xmlpatterns-qt5, and xmlpatternsvalidator-qt5
     600          lupdate-qt5, moc-qt5, pixeltool-qt5, qcollectiongenerator-qt5, qdbuscpp2xml-qt5,
     601          qdbus-qt5, qdbusviewer-qt5, qdbusxml2cpp-qt5, qdoc-qt5, qhelpconverter-qt5,
     602          qhelpgenerator-qt5, qmake-qt5, qml1plugindump-qt5, qmlbundle-qt5,
     603          qmlimportscanner-qt5, qmlmin-qt5, qmlplugindump-qt5, qmlprofiler-qt5, qml-qt5,
     604          qmlscene-qt5, qmltestrunner-qt5, qmlviewer-qt5, qtpaths-qt5, rcc-qt5,
     605          syncqt.pl-qt5, uic-qt5, xmlpatterns-qt5, and xmlpatternsvalidator-qt5
    590606        </seg>
    591607        <seg>
    592           libqgsttools_p.so, libQt5Bootstrap.a, libQt5CLucene.so, libQt5Concurrent.so,
    593           libQt5Core.so, libQt5DBus.so, libQt5Declarative.so, libQt5DesignerComponents.so,
    594           libQt5Designer.so, libQt5Gui.so, libQt5Help.so, libQt5MultimediaQuick_p.so,
    595           libQt5Multimedia.so, libQt5MultimediaWidgets.so, libQt5Network.so,
    596           libQt5OpenGLExtensions.a, libQt5OpenGL.so, libQt5PlatformSupport.a,
    597           libQt5PrintSupport.so, libQt5QmlDevTools.a, libQt5Qml.so, libQt5QuickParticles.so,
    598           libQt5Quick.so, libQt5QuickTest.so, libQt5Script.so, libQt5ScriptTools.so,
    599           libQt5Sensors.so, libQt5SerialPort.so, libQt5Sql.so, libQt5Svg.so, libQt5Test.so,
    600           libQt5UiTools.a, libQt5V8.so, libQt5WebKit.so, libQt5WebKitWidgets.so,
    601           libQt5Widgets.so, libQt5X11Extras.so, libQt5XmlPatterns.so, and libQt5Xml.so
     608          libqgsttools_p.so, libQt5Bluetooth.so, libQt5Bootstrap.a, libQt5CLucene.so,
     609          libQt5Concurrent.so, libQt5Core.so, libQt5DBus.so, libQt5Declarative.so,
     610          libQt5DesignerComponents.so, libQt5Designer.so, libQt5Gui.so, libQt5Help.so,
     611          libQt5MultimediaQuick_p.so, libQt5Multimedia.so, libQt5MultimediaWidgets.so,
     612          libQt5Network.so, libQt5Nfc.so, libQt5OpenGLExtensions.a, libQt5OpenGL.so,
     613          libQt5PlatformSupport.a, libQt5Positioning.so, libQt5PrintSupport.so,
     614          libQt5QmlDevTools.a, libQt5Qml.so, libQt5QuickParticles.so, libQt5Quick.so,
     615          libQt5QuickTest.so, libQt5Script.so, libQt5ScriptTools.so, libQt5Sensors.so,
     616          libQt5SerialPort.so, libQt5Sql.so, libQt5Svg.so, libQt5Test.so, libQt5UiTools.a,
     617          libQt5WebKit.so, libQt5WebKitWidgets.so, libQt5Widgets.so, libQt5X11Extras.so,
     618          libQt5XmlPatterns.so, and libQt5Xml.so
    602619        </seg>
    603620        <seg>
Note: See TracChangeset for help on using the changeset viewer.