From owner-svn-doc-all@FreeBSD.ORG Fri Apr 4 01:46:32 2014 Return-Path: Delivered-To: svn-doc-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 92E43D24; Fri, 4 Apr 2014 01:46:32 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 71CF0921; Fri, 4 Apr 2014 01:46:32 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s341kWKC010894; Fri, 4 Apr 2014 01:46:32 GMT (envelope-from wblock@svn.freebsd.org) Received: (from wblock@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s341kWbi010893; Fri, 4 Apr 2014 01:46:32 GMT (envelope-from wblock@svn.freebsd.org) Message-Id: <201404040146.s341kWbi010893@svn.freebsd.org> From: Warren Block Date: Fri, 4 Apr 2014 01:46:32 +0000 (UTC) To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r44435 - head/en_US.ISO8859-1/books/porters-handbook/special X-SVN-Group: doc-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-doc-all@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the entire doc trees \(except for " user" , " projects" , and " translations" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Apr 2014 01:46:32 -0000 Author: wblock Date: Fri Apr 4 01:46:32 2014 New Revision: 44435 URL: http://svnweb.freebsd.org/changeset/doc/44435 Log: Update Qt and KDE sections. Modified version of patch supplied with PR. PR: docs/187473 Submitted by: Max Brazhnikov Modified: head/en_US.ISO8859-1/books/porters-handbook/special/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 Fri Apr 4 01:25:03 2014 (r44434) +++ head/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml Fri Apr 4 01:46:32 2014 (r44435) @@ -1281,137 +1281,102 @@ USE_XORG= x11 xpm Ports That Require Qt + The Ports Collection provides support for Qt 4 and Qt 5 + frameworks with the USE_QTx variable, + where x is 4 or 5. USE_QTx should be + set 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. + + The Qt framework exports a number of variables which can be used + by ports, some of them listed below: + - Variables for Ports That Use Qt + Variables Provided to Ports That Use Qt - USE_QT4 - Specify tool and library dependencies for ports - that use Qt 4. See - Qt 4 component - selection for more details. - - - QT_PREFIX - Set to the path where Qt installed to - (read-only variable). + Set to the path where Qt was installed + (${LOCALBASE}). - MOC - Set to the path of moc - (read-only variable). Default set according to - USE_QT_VER value. + QMAKE + Full path to qmake binary. - QTCPPFLAGS - Additional compiler flags passed via - CONFIGURE_ENV for Qt toolkit. - Default set according to - USE_QT_VER. + LRELEASE + Full path to lrelease utility. - QTCFGLIBS - Additional libraries for linking passed via - CONFIGURE_ENV for Qt toolkit. - Default set according to - USE_QT_VER. + MOC + Full path to moc. - QTNONSTANDARD - Suppress modification of - CONFIGURE_ENV, - CONFIGURE_ARGS, - CPPFLAGS and - MAKE_ENV. + RCC + Full path to rcc. - - -
- - - Additional Variables for Ports That Use Qt - 4.x - - UIC - Set to the path of uic - (read-only variable). - - - - QMAKE - Set to the path of qmake - (read-only variable). - - - - QMAKESPEC - Set to the path of configuration file for - qmake (read-only - variable). - - - - QMAKEFLAGS - Additional flags for - qmake. + Full path to uic. QT_INCDIR - Set to Qt 4 include directories (read-only - variable). + Qt include directory. QT_LIBDIR - Set to Qt 4 libraries path (read-only - variable). + Qt libraries path. QT_PLUGINDIR - Set to Qt 4 plugins path (read-only - variable). + Qt plugins path.
- When USE_QT4 is set, the following + When using the Qt framework, these settings are deployed: CONFIGURE_ARGS+= --with-qt-includes=${QT_INCDIR} \ --with-qt-libraries=${QT_LIBDIR} \ --with-extra-libs=${LOCALBASE}/lib \ --with-extra-includes=${LOCALBASE}/include -CONFIGURE_ENV+= MOC="${MOC}" UIC="${UIC}" LIBS="${QTCFGLIBS}" \ - QMAKE="${QMAKE}" QMAKESPEC="${QMAKESPEC}" QTDIR="${QT_PREFIX}" -MAKE_ENV+= QMAKESPEC="${QMAKESPEC}" -PLIST_SUB+= QT_INCDIR_REL=${QT_INCDIR_REL} \ - QT_LIBDIR_REL=${QT_LIBDIR_REL} \ - QT_PLUGINDIR_REL=${QT_PLUGINDIR_REL} +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} + + Some configure scripts do not support the arguments above. + To suppress modification ofCONFIGURE_ENV and + CONFIGURE_ARGS, set the + QT_NONSTANDARD variable. +
- + Component Selection - Individual Qt 4 tool and library dependencies must be - specified in the USE_QT4 variable. Every - component can be suffixed by either + Individual Qt tool and library dependencies must be + specified in the USE_QTx variable. Every + component can be suffixed with _build or _run, the suffix indicating whether the component should be depended - on at buildtime or runtime, respectively. If unsuffixed, + on at buildtime or runtime. If unsuffixed, the component will be depended on at both build- and runtime. Usually, library components should be specified unsuffixed, tool components should be specified with the @@ -1419,11 +1384,12 @@ PLIST_SUB+= QT_INCDIR_REL=${QT_INCDIR_RE should be specified with the _run suffix. The most commonly used components are listed below (all available components are listed in - _USE_QT4_ALL in + _USE_QT_ALL, _USE_QT4_ONLY, + and _USE_QT5_ONLY variables in /usr/ports/Mk/bsd.qt.mk): - Available Qt 4 Library Components + Available Qt Library Components @@ -1435,9 +1401,18 @@ PLIST_SUB+= QT_INCDIR_REL=${QT_INCDIR_RE + core + core library (Qt 5 only) + + + corelib - core library (can be omitted unless the port - uses nothing but corelib) + core library (Qt 4 only) + + + + dbus + Qt DBus library @@ -1452,43 +1427,43 @@ PLIST_SUB+= QT_INCDIR_REL=${QT_INCDIR_RE opengl - OpenGL library + Qt OpenGL library - qt3support - Qt 3 compatibility library + script + script library - qtestlib - unit testing library + sql + SQL library - script - script library + testlib + unit testing library - sql - SQL library + webkit + Qt WebKit library xml - XML library + Qt XML library
- You can determine which libraries the application - depends on, by running ldd on the main + To determine the libraries an application + depends on, run ldd on the main executable after a successful compilation. - Available Qt 4 Tool Components + Available Qt Tool Components @@ -1500,36 +1475,55 @@ PLIST_SUB+= QT_INCDIR_REL=${QT_INCDIR_RE - moc - meta object compiler (needed for almost - every Qt application at buildtime) + qmake + Makefile generator/build utility - qmake - Makefile generator / build utility + buildtools + build tools (moc, + rcc), needed for almost + every Qt application (Qt 5 only) + + + + linguisttools + localization tools: lrelease, + lupdate (Qt 5 only) + + + + linguist + localization tools: lrelease, + lupdate (Qt 4 only) + + + + moc + meta object compiler, needed for almost + every Qt application at buildtime (Qt 4 only) rcc - resource compiler (needed if the application + resource compiler, needed if the application comes with *.rc or - *.qrc files) + *.qrc files (Qt 4 only) uic - user interface compiler (needed if the + user interface compiler, needed if the application comes with *.ui - files created by Qt Designer - in practice, every Qt - application with a GUI) + files, in practice, every Qt + application with a GUI (Qt 4 only)
- Available Qt 4 Plugin Components + Available Qt Plugin Components @@ -1542,14 +1536,14 @@ PLIST_SUB+= QT_INCDIR_REL=${QT_INCDIR_RE iconengines - SVG icon engine plugin (if the application - ships SVG icons) + SVG icon engine plugin, needed if the application + ships SVG icons (Qt 4 only) imageformats - imageformat plugins for GIF, JPEG, MNG and - SVG (if the application ships image files) + plugins for TGA, TIFF, and MNG + image formats @@ -1577,6 +1571,24 @@ PLIST_SUB+= QT_INCDIR_REL=${QT_INCDIR_RE Using <command>qmake</command> + + If the application provides a + qmake project file + (*.pro), define + USES= qmake along with + USE_QTx. Note + that USES= qmake already implies a build + dependency on qmake, therefore the qmake component can be + omitted from + USE_QTx. + Similar to CMake, + qmake supports out-of-source + builds, which can be enabled by specifying the + outsource argument (see USES= qmake + example). +
Variables for Ports That Use <command>qmake</command> @@ -1592,7 +1604,7 @@ PLIST_SUB+= QT_INCDIR_REL=${QT_INCDIR_RE QMAKE_ARGS - Port specific QMake + Port specific qmake flags to be passed to the qmake binary. @@ -1605,33 +1617,37 @@ PLIST_SUB+= QT_INCDIR_REL=${QT_INCDIR_RE - QMAKE_PRO - Name of the project .pro - file. The default is empty (using - autodetection). + QMAKE_SOURCE_PATH + + Path to qmake project files + (.pro). The default is + ${WRKSRC} if an + out-of-source build is requested, empty + otherwise.
- If the application does not provide a - configure script but a - .pro file, you can use the - following: + + <literal>USES= qmake</literal> Example + + This snippet demonstrates the use of + qmake for a Qt 4 port: - USES= qmake -USE_QT4= qmake_build + USES= qmake:outsource +USE_QT4= moc_build + - USES=qmake instructs the port to - use qmake for configuring. - Note that USES=qmake does not imply a - dependency on Qt 4 qmake, thus - USE_QT4 has to be populated with the - qmake_build component. + For a Qt 5 port: + USES= qmake:outsource +USE_QT5= buildtools_build + + - Qt applications often are written to be cross-platform + Qt applications are often written to be cross-platform and often X11/Unix is not the platform they are developed - on, which in turn often leads to certain loose ends, + on, which in turn leads to certain loose ends, like: @@ -1670,7 +1686,7 @@ USE_QT4= qmake_build KDE 4 Variable Definitions - If your application depends on KDE 4.x, set + If the application depends on KDE 4, set USE_KDE4 to the list of required components. _build and _run suffixes can be used to force @@ -1702,44 +1718,38 @@ USE_QT4= qmake_build kdelibs - KDE Developer Platform + KDE core libraries kdeprefix If set, port will be installed into - ${KDE4_PREFIX} instead of - ${LOCALBASE} - - - - sharedmime - MIME types database for KDE ports + ${KDE4_PREFIX} automoc4 - Automatic moc for Qt 4 packages + Build tool to automatically generate moc files akonadi - Storage server for KDE-Pim + Storage server for KDE PIM data soprano - Qt 4 RDF framework + Library for Resource Description Framework (RDF) strigi - Desktop search daemon + Strigi desktop search library libkcddb - KDE CDDB library + KDE CDDB (compact disc database) library @@ -1766,7 +1776,7 @@ USE_QT4= qmake_build libkipi - KDE Image Plugin Interface + KDE Image Plugin Interface @@ -1782,17 +1792,17 @@ USE_QT4= qmake_build pimlibs - KDE-Pim libraries + Personal information management libraries kate - Text editor framework + Advanced text editor framework marble - Virtual globe + Virtual globe and world atlas @@ -1828,15 +1838,17 @@ USE_QT4= qmake_build - KDE 4.x ports are installed into - KDE4_PREFIX, which is - /usr/local/kde4 currently. This is + KDE 4 ports are installed into + KDE4_PREFIX. This is achieved by specifying the kdeprefix component, which overrides the default - PREFIX. The ports however respect any - PREFIX set via MAKEFLAGS + PREFIX. The ports, however, respect any + PREFIX set via the MAKEFLAGS environment variable and/or make - arguments. + arguments. Currently KDE4_PREFIX + is identical to the default PREFIX, + ${LOCALBASE}. + <varname>USE_KDE4</varname> Example