Date: Thu, 11 Oct 2018 06:30:19 +0000 (UTC) From: Tobias Kortkamp <tobik@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r52352 - in head/en_US.ISO8859-1/books/porters-handbook: special uses Message-ID: <201810110630.w9B6UJZs068362@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: tobik (ports committer) Date: Thu Oct 11 06:30:19 2018 New Revision: 52352 URL: https://svnweb.freebsd.org/changeset/doc/52352 Log: Introduce USES=qt to the Porter's Handbook Approved by: mat, tcberner Differential Revision: https://reviews.freebsd.org/D17429 Modified: head/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml head/en_US.ISO8859-1/books/porters-handbook/uses/chapter.xml Modified: head/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml ============================================================================== --- head/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml Wed Oct 10 13:29:03 2018 (r52351) +++ head/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml Thu Oct 11 06:30:19 2018 (r52352) @@ -2548,14 +2548,13 @@ GLIB_SCHEMAS= org.regexxer.gschema.xml <para>The Ports Collection provides support for Qt 4 and Qt 5 frameworks with - <varname>USE_QT<replaceable>x</replaceable></varname>, + <varname>USES+=qt:<replaceable>x</replaceable></varname>, where <replaceable>x</replaceable> is <literal>4</literal> or <literal>5</literal>. - Set <varname>USE_QT<replaceable>x</replaceable></varname> - to the list of required Qt components (libraries, - tools, plugins). The Qt 4 and Qt 5 frameworks are quite - similar. The main difference is the set of supported - components.</para> + Set <varname>USE_QT</varname> to the list of required + Qt components (libraries, tools, plugins). The Qt 4 + and Qt 5 frameworks are quite similar. The main + difference is the set of supported components.</para> <para>The Qt framework exports a number of variables which can be used by ports, some of them listed below:</para> @@ -2566,12 +2565,6 @@ GLIB_SCHEMAS= org.regexxer.gschema.xml <tgroup cols="2"> <tbody> <row> - <entry><varname>QT_PREFIX</varname></entry> - <entry>Set to the path where Qt was installed - (<literal>${LOCALBASE}</literal>).</entry> - </row> - - <row> <entry><varname>QMAKE</varname></entry> <entry>Full path to <command>qmake</command> binary.</entry> @@ -2616,34 +2609,13 @@ GLIB_SCHEMAS= org.regexxer.gschema.xml </tgroup> </table> - <para>When using the Qt framework, these - settings are deployed:</para> - - <programlisting>CONFIGURE_ARGS+= --with-qt-includes=${QT_INCDIR} \ - --with-qt-libraries=${QT_LIBDIR} \ - --with-extra-libs=${LOCALBASE}/lib \ - --with-extra-includes=${LOCALBASE}/include - -CONFIGURE_ENV+= QTDIR="${QT_PREFIX}" QMAKE="${QMAKE}" \ - MOC="${MOC}" RCC="${RCC}" UIC="${UIC}" \ - QMAKESPEC="${QMAKESPEC}" - -PLIST_SUB+= QT_INCDIR=${QT_INCDIR_REL} \ - QT_LIBDIR=${QT_LIBDIR_REL} \ - QT_PLUGINDIR=${QT_PLUGINDIR_REL}</programlisting> - - <para>Some configure scripts do not support the arguments above. - To suppress modification of<varname>CONFIGURE_ENV</varname> - and <varname>CONFIGURE_ARGS</varname>, set - <varname>QT_NONSTANDARD</varname>.</para> </sect2> <sect2 xml:id="qt-components"> <title>Component Selection</title> <para>Individual Qt tool and library dependencies must be - specified in - <varname>USE_QT<replaceable>x</replaceable></varname>. + specified in <varname>USE_QT</varname>. Every component can be suffixed with <literal>_build</literal> or <literal>_run</literal>, the suffix indicating whether the dependency on the component is @@ -2657,7 +2629,7 @@ PLIST_SUB+= QT_INCDIR=${QT_INCDIR_REL} \ listed in <varname>_USE_QT_ALL</varname>, <varname>_USE_QT4_ONLY</varname>, and <varname>_USE_QT5_ONLY</varname> in - <filename>/usr/ports/Mk/bsd.qt.mk</filename>):</para> + <filename>/usr/ports/Mk/Uses/qt.mk</filename>):</para> <table frame="none" xml:id="using-qt-library-list"> <title>Available Qt Library Components</title> @@ -2835,31 +2807,79 @@ PLIST_SUB+= QT_INCDIR=${QT_INCDIR_REL} \ only needed at buildtime, thus they are specified with the <literal>_build</literal> suffix:</para> - <programlisting>USE_QT4= gui moc_build qmake_build rcc_build uic_build</programlisting> + <programlisting>USES= qt:4 +USE_QT= gui moc_build qmake_build rcc_build uic_build</programlisting> </example> </sect2> <sect2 xml:id="using-qmake"> <title>Using <command>qmake</command></title> - <para>If the application provides a <application>qmake</application> project file (<filename>*.pro</filename>), define <literal>USES= qmake</literal> along with - <literal>USE_QT<replaceable>x</replaceable></literal>. Note - that <literal>USES= qmake</literal> already implies a build - dependency on qmake, therefore the qmake component can be - omitted from - <literal>USE_QT<replaceable>x</replaceable></literal>. - Similar to <link + <literal>USE_QT</literal>. <literal>USES= qmake</literal> + already implies a build dependency on qmake, therefore the + qmake component can be omitted from + <literal>USE_QT</literal>. Similar to <link linkend="using-cmake"><application>CMake</application></link>, <application>qmake</application> supports out-of-source builds, which can be enabled by specifying the <literal>outsource</literal> argument (see <link linkend="using-qmake-example"><literal>USES= qmake</literal> - example</link>).</para> + example</link>). Also see <xref + linkend="using-qmake-arguments" />.</para> + <table frame="none" xml:id="using-qmake-arguments"> + <title>Possible Arguments for + <literal>USES= qmake</literal></title> + + <tgroup cols="2"> + <thead> + <row> + <entry>Variable</entry> + <entry>Description</entry> + </row> + </thead> + + <tbody> + <row> + <entry><literal>no_configure</literal></entry> + <entry>Do not add the configure target. This is + implied by <literal>HAS_CONFIGURE=yes</literal> + and <literal>GNU_CONFIGURE=yes</literal>. + It is required when the build only needs the + environment setup from + <literal>USES= qmake</literal>, but otherwise runs + <command>qmake</command> on its own.</entry> + </row> + + <row> + <entry><literal>no_env</literal></entry> + <entry>Suppress modification of the configure and make + environments. It is only required when + <command>qmake</command> is used to configure the + software and the build fails to understand the + environment setup by + <literal>USES= qmake</literal>.</entry> + </row> + + <row> + <entry><literal>norecursive</literal></entry> + <entry>Do not pass the <literal>-recursive</literal> + argument to <command>qmake</command>.</entry> + </row> + + <row> + <entry><literal>outsource</literal></entry> + <entry>Perform an out-of-source build.</entry> + </row> + + </tbody> + </tgroup> + </table> + <table frame="none" xml:id="using-qmake-variables"> <title>Variables for Ports That Use <command>qmake</command></title> @@ -2868,7 +2888,7 @@ PLIST_SUB+= QT_INCDIR=${QT_INCDIR_REL} \ <thead> <row> <entry>Variable</entry> - <entry>Means</entry> + <entry>Description</entry> </row> </thead> @@ -2900,18 +2920,39 @@ PLIST_SUB+= QT_INCDIR=${QT_INCDIR_REL} \ </tgroup> </table> + <para>When using <literal>USES= qmake</literal>, these + settings are deployed:</para> + + <programlisting>CONFIGURE_ARGS+= --with-qt-includes=${QT_INCDIR} \ + --with-qt-libraries=${QT_LIBDIR} \ + --with-extra-libs=${LOCALBASE}/lib \ + --with-extra-includes=${LOCALBASE}/include + +CONFIGURE_ENV+= QTDIR="${QT_PREFIX}" QMAKE="${QMAKE}" \ + MOC="${MOC}" RCC="${RCC}" UIC="${UIC}" \ + QMAKESPEC="${QMAKESPEC}" + +PLIST_SUB+= QT_INCDIR=${QT_INCDIR_REL} \ + QT_LIBDIR=${QT_LIBDIR_REL} \ + QT_PLUGINDIR=${QT_PLUGINDIR_REL}</programlisting> + + <para>Some configure scripts do not support the arguments above. + To suppress modification of <varname>CONFIGURE_ENV</varname> + and <varname>CONFIGURE_ARGS</varname>, set + <literal>USES= qmake:no_env</literal>.</para> + <example xml:id="using-qmake-example"> <title><literal>USES= qmake</literal> Example</title> <para>This snippet demonstrates the use of <application>qmake</application> for a Qt 4 port:</para> - <programlisting>USES= qmake:outsource -USE_QT4= moc_build</programlisting> + <programlisting>USES= qmake:outsource qt:4 +USE_QT= moc_build</programlisting> <para>For a Qt 5 port:</para> - <programlisting>USES= qmake:outsource -USE_QT5= buildtools_build</programlisting> + <programlisting>USES= qmake:outsource qt:5 +USE_QT= buildtools_build</programlisting> </example> <para>Qt applications are often written to be cross-platform @@ -3135,13 +3176,13 @@ USE_QT5= buildtools_build</programlisting> Required KDE components and other dependencies can be determined through configure log. <varname>USE_KDE</varname> does not imply - <varname>USE_QT4</varname>. If a port requires some + <varname>USE_QT</varname>. If a port requires some Qt 4 components, specify them in - <varname>USE_QT4</varname>.</para> + <varname>USE_QT</varname>.</para> - <programlisting>USES= cmake:outsource kde:4 + <programlisting>USES= cmake:outsource kde:4 qt:4 USE_KDE= kdelibs kdeprefix automoc4 -USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting> +USE_QT= moc_build qmake_build rcc_build uic_build</programlisting> </example> </sect2> </sect1> @@ -3198,9 +3239,9 @@ USE_QT4= moc_build qmake_build rcc_build uic_build</pr LXQt libraries. Required LXQt components and other dependencies can be determined from the configure log.</para> - <programlisting>USES= cmake:outsource lxqt tar:xz -USE_QT5= buildtools_build qmake_build core dbus widgets -USE_LXQT= buildtools libfmqt</programlisting> + <programlisting>USES= cmake:outsource lxqt qt:5 tar:xz +USE_QT= core dbus widgets buildtools_build qmake_build +USE_LXQT= buildtools libfmqt</programlisting> </example> </sect1> Modified: head/en_US.ISO8859-1/books/porters-handbook/uses/chapter.xml ============================================================================== --- head/en_US.ISO8859-1/books/porters-handbook/uses/chapter.xml Wed Oct 10 13:29:03 2018 (r52351) +++ head/en_US.ISO8859-1/books/porters-handbook/uses/chapter.xml Thu Oct 11 06:30:19 2018 (r52352) @@ -1381,7 +1381,8 @@ GSSAPI_NONE_CONFIGURE_ON= --without-gssapi</programlis <sect1 xml:id="uses-kde"> <title><literal>kde</literal></title> - <para>Possible arguments: <literal>4</literal></para> + <para>Possible arguments: <literal>4</literal>, + <literal>5</literal></para> <para>Add dependency on <application>KDE</application> components. See <xref linkend="using-kde"/> for more information.</para> @@ -2658,10 +2659,23 @@ USE_PYQT= core doc_build designer_run</programlisting> <title><literal>qmake</literal></title> <para>Possible arguments: (none), <literal>norecursive</literal>, - <literal>outsource</literal></para> + <literal>outsource</literal>, <literal>no_env</literal>, + <literal>no_configure</literal></para> <para>Uses <application>QMake</application> for configuring. For more information see <xref linkend="using-qmake"/>.</para> + </sect1> + + <sect1 xml:id="uses-qt"> + <title><literal>qt</literal></title> + + <para>Possible arguments: <literal>4</literal>, + <literal>5</literal>, <literal>no_env</literal></para> + + <para>Add dependency on <application>Qt</application> components. + <literal>no_env</literal> is passed directly to + <literal>USES= qmake</literal>. See <xref linkend="using-qt"/> + for more information.</para> </sect1> <sect1 xml:id="uses-readline">
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201810110630.w9B6UJZs068362>