Commit graph

83 commits

Author SHA1 Message Date
Raphael Kubo da Costa
dbd37211c0 bsd.qt.mk: Use CONFIGURE_WRKSRC instead of WRKSRC in the .qmake.cache hack
WRKSRC is not what we want here: when USES=qmake:outsource is used (such as
in www/webkit-qt5), the build actually takes place in ${WRKDIR}/.build, so
we were creating .qmake.cache in the wrong location and passing the wrong
directory to the linker via -L. With CONFIGURE_WRKSRC, we get the right
value regardless of whether :outsource is used or not.

PR:		212859
Reviewed by:    tcberner
MFH:            2016Q3
2016-09-26 17:44:08 +00:00
Raphael Kubo da Costa
3346021972 Update the Qt5 ports to 5.6.1.
This took longer than expected, but there are quite a few changes to the
existing ports and a few new ones.

General upstream changes:
- Starting with Qt 5.6.2, Qt will fail at configuration time if LibreSSL is
  being used. According to the discussion here:
  https://codereview.qt-project.org/#/c/154800/
  The Qt project is not opposed to LibreSSL, but does not want to mix
  support for it into the OpenSSL backend code, especially as they move
  towards supporting OpenSSL 1.1.
  People interested in LibreSSL support are welcome to submit a separate
  backend upstream, but are expected to maintain it. We (kde@) are not
  opposed to carrying some patches authored by others in the future, as long
  as they are not huge and destabilizing.
- When Qt detects the compiler supports C++11, it will pass -std=gnu++11 by
  default (this is an upstream change). You can add "CONFIG -= c++11" to
  your .pro. Qt 5.7 will require C++11.
- www/webkit-qt5: The QtWebKit module is deprecated upstream, and is shipped
  separately as a community release tarball. kde@ does not have an ETA for a
  qt5-webengine port, as it requires a huge effort (and number of patches)
  similar to maintaining www/chromium itself.
- x11-toolkits/qt5-declarative has been deprecated upstream. The last
  release is 5.5.1.

Relevant changes:
- devel/qmake5: The freebsd-clang mkspec has become the default mkspec on
  FreeBSD, replacing the outdated freebsd-g++ one that was moved to
  unsupported/ (it still works though).
- devel/qt5-qdoc: qdoc was moved to qttools upstream, but its data files are
  still in qtbase. The data files are now in the qt5-qdoc-data port.
- misc/qt5-doc: Clean up and stop requiring a compiler and fumbling with
  mkspecs. Instead of running the `configure' script, which requires a
  compiler and adjustments to the mkspecs files and also ends up building a
  new qmake binary, we now leverage USES=qmake to generate all the Makefiles
  from the top-level qt.pro. Getting this to work requires some tricks,
  though, and qt.conf.in has a longer explanation of what's being done.
  Switch to USES=gmake to be able to drop MAKE_JOBS_UNSAFE=yes.

New ports:
- comms/qt5-serialbus
- devel/qt5-qdoc-data
- x11-toolkits/qt5-quickcontrols2

Big thanks to Adriaan de Groot (groot@kde.org), tcberner@ and Loise Nolden
(nolden@kde.org) for the huge amount of work they put into this
patch. Loise in particular also sent quite a few changes upstream that were
essential for this update to work.

PR:		211916
2016-09-17 09:46:54 +00:00
Rene Ladan
f9c8dbe476 Unregister net/qt5-enginio from Mk/bsd.qt.mk which has expired.
PR:		211581
Submitted by:	myself
Approved by:	kde (tcberner), portmgr (mat)
2016-08-06 22:00:20 +00:00
Kurt Jaeger
287b7f7348 devel/qt5, Mk/bsd.qt.mk: Add qt5-doc to the list of ports devel/qt5 depends on
The patch moves the "doc" port in bsd.qt.mk from _USE_QT4_ONLY to
_USE_QT_ALL and bumps the PORTREVISION in devel/qt5 for the inclusion
of the qt5-doc port into the qt5 metaport.

Pre-Work for updating qtcreator to 4.0 for adding options to install
qt5-doc and qt5-examples to make qtcreator actually usable for
serious qt development.

PR:		209910
Submitted by:	Ralf Nolden <nolden@kde.org> (kde)
2016-06-01 19:10:05 +00:00
Kurt Jaeger
773f082659 devel/qt5: refactor: fix Mk/bsd.qt.mk
- the 'doc' component for qt4 was dropped inadvertently, re-added

PR:		209326
Submitted by:	Tobias Berner <tcberner@gmail.com> (kde)
2016-05-29 08:39:58 +00:00
Kurt Jaeger
a9ed0c96d6 Mk/bsd.qt.mk: preparing structures for the eventual update to qt-5.6
PR:		209326
Submitted by:	rakuco, T.C.Berner <tcberner@gmail.com>, Ralf Nolden <nolden@kde.org>
2016-05-28 17:22:11 +00:00
Raphael Kubo da Costa
980bac6f1e New port: databases/qt5-sqldrivers-tds.
This is a new SQL plugin, released with Qt 5.5, and can be used with
databases/freetds.

Submitted by:	Ralf Nolden <nolden@kde.org>
2016-03-30 20:00:27 +00:00
Baptiste Daroussin
421767bd88 Remove the now unneeded ${PORTSDIR} from dependency definition in
The infrastructure Makefiles

PR:		206569
Exp run by:	antoine
Differential Revision:	D5047
2016-03-27 01:23:25 +00:00
Raphael Kubo da Costa
4c67812e01 Update Qt5 to 5.5.1.
This is the latest stable release at time of writing.

Release announcement: http://blog.qt.io/blog/2015/07/01/qt-5-5-released/
New features in Qt 5.5: https://wiki.qt.io/New_Features_in_Qt_5.5

As usual, huge thanks to Tobias Berner (tcberner@gmail.com) for all his work
on these ports in kde@'s experimental area51 repository. He's the one who
started the update and did a lot of the initial work on Qt 5.5. Ralf Nolden
(nolden@kde.org) has contributed the initial version of most of our new Qt5
ports.

Also thanks to Yuri Victorovich (yuri@rawbw.com) for contributing PR 205805
with his own patch for the 5.5.1 update. Some of his changes there prompted
additional fixes and changes present in the final patch generated from our
experimental repository.

New ports:
- comms/qt5-connectivity, comms/qt5-sensors, devel/qt5-location,
  graphics/qt5-3d, net/qt5-enginio, x11-toolkits/qt5-canvas3d,
  x11-toolkits/qt5-uiplugin.

General changes in all Qt5 ports:
- All Qt5 ports are now built with -Wl,--as-needed to avoid overlinking,
  which is a problem with qmake-based because the libraries passed to the
  linker come from the modules .pri files and many are not necessary.
- With this change, several ports had their USE_QT5 lines adjusted to
  explicitly include some libraries that were pulled in implicitly, and to
  exclude libraries no longer required with -Wl,--as-needed.

Changes in specific ports:
- devel/qt5: Drop the SQL_PLUGINS and TOOLS options and depend on all Qt5
  ports by default. It makes the Makefile much simpler, and those options
  were already on by default.
- devel/qt5-core: The clang+base libstdc++ workaround has been expanded and
  more C++11 features have been disabled when that combination is used by a
  port (basically, FreeBSD 9 with USES=compiler:c++11-lang). The disabled
  features have explanations for why they were disabled in the patched
  header itself.
- devel/qt5-designer: uiplugins has been split out following a similar
  change upstream. By depending on qt5-uiplugin, qt5-uitools avoids having
  to depend on the big qt5-designer port.
- multimedia/qt5-multimedia: The port now uses GStreamer 1.0 instead of
  0.10.
- net/qt5-network: The port now depends on libproxy for proxy settings.
  Using libproxy allows proxy settings to be read from different sources,
  and also allows .pac files to work with Qt.
- www/qt5-webkit: The port now uses GStreamer 1.0 instead of 0.10.

PR:		205805
PR:		206435
2016-01-24 18:10:14 +00:00
Raphael Kubo da Costa
1fc9a94f24 Qt5: Add a patch to allow using clang, -std=c++11 and base libstdc++.
This is similar to what we did for Qt4 in r362770. Some C++11 features actually
depend on the C++ standard library, such as <initializer_list> or std::move().

So far, ports with USES=compiler:c++0x and similar failed to build with Qt5 on
FreeBSD 9.x, as base libstdc++ is very old and does not support those C++11
features.

Piggyback on a check that is already present upstream for OS X, which has the
same ancient libstdc++ version. Apple's version has a custom patch with version
macros that we can't use, so we make a broader check and disable the features
that depend on a modern standard library if libc++ is not used.
2016-01-03 21:25:23 +00:00
Raphael Kubo da Costa
8ceb79f0fe Make sure ${WRKSRC}/lib is passed before /usr/local/lib when linking.
This is another shot at fixing the linkage problems that have plagued our
users particularly when upgrading from Qt 5.x to 5.(x+1). Quick recap: in
Qt5, qmake will by default pass QMAKE_LIBDIR to the linker before other
directories such as ${WRKSRC}/lib, which is where the port's libraries are
built. When a user is upgrading Qt, we can end up with the following linker
line:
  c++ -o SomeBinary -lfoo1 -L/usr/local/lib -L${WRKSRC}/lib -lfoo2 -lfoo3
If libfoo2.so is being built by the port and an older version is currently
installed on the system, /usr/local/lib/libfoo2.so will be picked up instead
of the newly-built ${WRKSRC}/lib/libfoo2.so. At best things just work, at
worst SomeBinary needs some new symbol that is not present in the old
libfoo2.so and linking fails. Case in point: bug 198720.

The previous approach, adopted when fixing bug 194088, was to stop setting
QMAKE_{INC,LIB}DIR in the FreeBSD mkspecs and set the CPATH and LIBRARY_PATH
environment variables in Uses/qmake.mk. This way we just did not pass
-L/usr/local/lib to the linker at all and things mostly worked. However,
people using Qt to build their own software without the ports tree were out
of luck, as they would then need need to deal with passing
/usr/local/{include,lib} to the compiler/linker themselves (bug 195105). Not
only that, but if a dependency mentioned /usr/local/lib we would still have
problems anyway (in bug 198720, the GStreamer pkg-config files contain
-L/usr/local/lib, for example).

We now solve the issue by setting the QMAKE_LIBDIR_FLAGS variable in
.qmake.cache to ${WRKSRC}/lib instead. qmake appends the value of
QMAKE_LIBDIR to QMAKE_LIBDIR_FLAGS, so we are always sure -L${WRKSRC}/lib
will come before -L/usr/local/lib in the linker options. Moreover, qmake is
smart enough to automatically call sed(1) and remove references to
${WRKSRC}/lib from .prl and .pc files when installing them.

PR:		194088
PR:		195105
PR:		198720
MFH:		2015Q4
2015-12-28 18:51:41 +00:00
Raphael Kubo da Costa
c502e77d8f bsd.qt.mk: Move QT_NONSTANDARD check to the _POSTMKINCLUDED section.
Do it so that files in Mk/Uses can set it too. It is required by the
upcoming Uses/pyqt.mk that we will land soon to support PyQt5.

PR:		204975
2015-12-05 21:39:13 +00:00
Baptiste Daroussin
8cea2b0147 Readd PORTSDIR for now we will only start removing them after 2016Q1 is branched
This gives more time for tools to get updated, available in packages etc before
bothering users
2015-10-15 07:36:38 +00:00
Baptiste Daroussin
869e1f27d0 Drop the necessity to add ${PORTSDIR} to dependency line
Modify make describe to automatically prepend ${PORTSDIR} if the path for the
port is not absolute

Checked with poudriere, portmaster, portupgrade

PR:		203685
Exp-run by:	antoine
Differential Revision:	https://reviews.freebsd.org/D3866
2015-10-14 16:49:35 +00:00
Koop Mast
bf4361021d Fix qt5-multimedia with GStreamer 1.6.0.
Qt 5 does the following during the build of qt5-multimedia:

--- qt-post-install ---
echo "# define QT_GSTREAMER"  >> /wrkdirs/usr/ports/multimedia/qt5-multimedia/
  work/stage/usr/local/include/qt5/QtCore/modules/qconfig-multimedia.h
echo "# define QT_GST_VERSION=1.0"  >> /wrkdirs/usr/ports/multimedia/
  qt5-multimedia/work/stage/usr/local/include/qt5/QtCore/modules/qconfig-multimedia.h
echo "# define QT_XVIDEO"  >> /wrkdirs/usr/ports/multimedia/qt5-multimedia/
  work/stage/usr/local/include/qt5/QtCore/modules/qconfig-multimedia.h

That's (second line) not how #define works in C of C++

The resulting qconfig-multimedia.h file contains this:

#if !defined(QT_GST_VERSION=1.0) && !defined(QT_NO_GST_VERSION=1.0)
# define QT_GST_VERSION=1.0
#endif

This patch filters out the "=1.0" from the define. Bump qt5-multimedia
since the installed header needs to be corrected.

Reported by:	antoine@
Patch submitted by:	Adriaan de Groot <groot@kde.org>
2015-09-28 20:20:53 +00:00
Raphael Kubo da Costa
39ced03cc1 Update the Qt4 ports to 4.8.7.
According to upstream, this is the last planned Qt4 release.
A list of changes since 4.8.6 can be found here:
<http://download.qt.io/official_releases/qt/4.8/4.8.7/changes-4.8.7>

Porting notes and changes:
- Remove several patches that have been upstreamed.
- Make Uses/qmake.mk pass the contents of LIBS to the qmake environment. [1]
- Repurpose devel/qt4/files/extrapatch-src-corelib-global-qglobal.h now the
  original patch is part of the release (curiously enough, the original
  patch was never actually used, as the ?= assignment in r362837 after
  r362770 was never possible).

  This works around the way compiler support for C++11 features is detected
  in Qt 4.8.7: while it originally only uses the compiler to determine if
  something is supported or not, the initializer lists feature also depends
  on the C++ standard library being used. It's a problem in FreeBSD 9.x,
  where USES=compiler:c++0x or USES=compiler:c++11-lang means we will use
  clang to build a port but use libstdc++ from base (GCC 4.2). The latter
  obviously does not support initializer lists, and the build fails because
  Qt tries to include headers that do not exist (<initializer_list>).

  Since detecting libstdc++'s version is not trivial (we need to include a
  non-lightweight header like cstdio and then check for __GLIBCXX__), we
  just enable Q_COMPILER_INITIALIZER_LISTS support only when libc++ is used
  (there should be no reason for someone to be using clang with GCC 4.8's
  libstdc++, for example).

  x11/kdelibs4's FindQt4.cmake had to include a backported change from the
  upstream FindQt4.cmake in CMake itself to use a C++ compiler to detect
  flags like Q_WS_X11, otherwise the inclusion of <ciso646> in qglobal.h
  makes the build fail.

This patch contains changes by me, makc@ and alonso@.

PR:             202552 [1]
PR:             202808 [exp-run]
Submitted by:	pawel@ [1]
2015-09-16 08:55:04 +00:00
Raphael Kubo da Costa
a59094b353 Add www/qt5-websockets.
The QtWebSockets module implements the WebSocket protocol as specified
in RFC 6455. It solely depends on Qt (no external dependencies).

http://doc.qt.io/qt-5/qtwebsockets-index.html

Submitted by:	Tobias Berner <tcberner@gmail.com>
2015-06-11 11:59:55 +00:00
Alonso Schaich
d337aa2724 Add a new port www/qt5-webchannel
Qt-5.4 introduced a new component: Qt WebChannel

The Qt WebChannel module provides a library for seamless integration of C++ and
QML applications with HTML/JavaScript clients. Any QObject can be published to
remote clients, where its public API becomes available.

https://doc-snapshots.qt.io/qt5-5.4/qtwebchannel-index.html

Approved by:		makc (mentor)
Submitted by:		Tobias Berner <tcberner@gmail.com> via area51 commit
2015-05-31 22:56:44 +00:00
Tijl Coosemans
7404ea9abc Simplify test for SSE2 2015-05-24 18:19:33 +00:00
Tijl Coosemans
acaf83b07a Fix r387281 for fmake and bump qmake5 because a spec file changes.
Reported by:	antoine
2015-05-24 17:33:15 +00:00
Tijl Coosemans
5d6bb15d73 Qt 5.3 removed runtime detection of SSE2 so it needs to be configured
with -no-sse2 at buildtime on i386.

PR:		198738, 200258
Reported by:	sasamotikomi@gmail.com
Approved by:	maintainer timeout (2 weeks)
2015-05-24 16:41:16 +00:00
Max Brazhnikov
c66f90fb7d - Add ports for Qt 5 variety of Phonon 4
- Introduce new USE_QT5 component: phonon4

Based on patches submitted by Tobias C.Berner <tcberner@gmail.com>
via kde-freebsd maillist:
https://mail.kde.org/pipermail/kde-freebsd/2015-January/018741.html
2015-04-05 18:03:56 +00:00
Raphael Kubo da Costa
ccb0759749 Update Qt5 to 5.4.1.
This is probably the first time our Qt 5 ports are tracking the latest
upstream release :-)

There isn't much to report in this update, thanks to the effort spent in the
5.2->5.3 update: a lot of the work is just small plist and patch updates.
Thankfully, several patches have been upstreamed and are not needed on our
side anymore.

I would like to thank Alex Richardson <arichardson.kde@gmail.com> and Tobias
Berner <tcberner@gmail.com> for their help with the plist updates and
general testing.

PR:		198585
2015-03-18 09:37:42 +00:00
Raphael Kubo da Costa
dbe4a9dee6 Small clean up: consistently use _QT_RELNAME.
Submitted by:	makc in our experimental area51 repository
2015-03-06 22:17:59 +00:00
Max Brazhnikov
9d2e718f3c Introduce new USE_QT4 component linguisttools for lrelease/lupdate tools
split from from devel/qt4-linguist (similar to Qt 5 ports). These console
tools are often used for localization support in Qt ports, having them
standalone is quite useful. This work is based on Tobias Berner patch [1].

PR:             190929 [1]
Requested by:	amdmi3, koobs
2015-02-24 21:39:19 +00:00
Max Brazhnikov
8387bcfdb5 Mk/bsd.qt.mk: convert USE_XZ to USES 2015-02-19 22:08:03 +00:00
Raphael Kubo da Costa
34d0f208cc Add sysutils/qt5-qtpaths.
This is a command-line interface to QStandardPaths, part of qttools. It is
used by the KDE Frameworks 5 ports, which will be added in the future.

While here, also add x11-toolkits/qt5-quickcontrols to devel/qt5 which I had
forgotten to do before.

Submitted by:	Tobias Berner <tcberner@gmail.com>
2015-01-28 01:15:22 +00:00
Raphael Kubo da Costa
a9662ed949 Update Qt5 ports to 5.3.2.
Proudly presented by the KDE on FreeBSD team, with several guest stars.

This update took way longer than initially expected due to us previously
accumulating assumptions and changes to Qt's build system that finally bit
us back with the 5.3 release series, so we had to do a fair amount of
cleanup.

New ports:
- comms/qt5-serialport: Qt functions to access serial ports, originally
                        based on work by Fernando Apesteguia. [1]
- devel/qt5-qdoc: Qt documentation generator, the Qt5 equivalent of
                  devel/qt4-qdoc3. Originally worked on by Tobias Berner.
                  It had already been half-split from devel/qt5-buildtools,
                  we just needed to finish the work.

Dead ports:
- devel/qt5-qmldevtools: Merged into lang/qt5-qml.

Minor changes:
- devel/qt5: Add x11/qt5-x11extras and the new ports to the dependency list.
- graphics/qt5-imageformats: The port now supports the JPEG2000, WEBP,
                             Direct Draw Surface and ICNS formats.
- multimedia/qt5-multimedia: The ALSA and PULSEAUDIO options are now
                             mutually exclusive due to changes introduced in
                             Qt 5.3.0 (the ALSA code is now a proper plugin
                             that is only built if PulseAudio is not used).
- x11/qt5-x11extras: Add USE_LDCONFIG since the port installs a shared
                     library.

The big changes:
- bsd.qt.mk: Set QMAKESPEC instead of QMAKEPATH. [3]
  QMAKEPATH does much more than we want now that we call qmake from the top
  of ${WRKSRC}. qmake uses QMAKEPATH when evaluating the QMAKE_MKSPECS
  property, which is in turn used by qt_config.pri to load the .pri files in
  mkspecs/modules.

  In practice, this means that if people have an older Qt installation those
  files will be used and QT_CONFIG will have values such as "gui" even if
  one is building a port like textproc/qt5-xml, which passes -no-gui to the
  configure script. Consequently, unintended code paths may be enabled or
  the configuration step can just fail if the .pro files expect values that
  are not present in the system-wide, older .pri files.

  We avoid all those problems if we use QMAKESPEC, as qmake does not take
  its value into account when evaluating the QMAKE_MKSPECS property and will
  only parse the files in the mkspec's directory (mkspecs/freebsd-clang, for
  example, instead of all the files in mkspecs).

- Stop explicitly passing ${LOCALBASE} to the compiler. [3]
  qmake's behavior has changed in Qt 5, and the paths set in QMAKE_INCDIR
  and QMAKE_LIBDIR in the mkspecs are passed before any others, such as the
  ones in the build directory themselves.

  In practice, this means that we end up with linker calls like this:

  c++ -o libfoo.so foo.o bar.o -L/usr/local/lib -L/wrkdir/build/lib
      -lQt5Gui -lQt5Core

  So if one already has Qt installed in the system, the older, already
  present version of the libraries in /usr/local/lib will be used instead of
  the newly-built ones in /wrkdir/build/lib.

  QTBUG-40825 discusses this behavior upstream, but there has been no
  agreement on a solution yet.

  For now, the solution adopted is to make the compiler and the linker aware
  of those paths but only try them last after all others, and this is
  achieved by setting the CPATH and LIBRARY_PATH environment variables when
  qmake is being used.

  In addition to setting them in CONFIGURE_ENV and MAKE_ENV, we also need to
  stop changing QMAKE_INCDIR and QMAKE_LIBDIR as well as filter those paths
  from the pkg-config calls qtbase's configure script makes.

- Call qmake from the root of the ${WRKSRC}.

  In Qt 5.3, Qt's build infrastructure has undergone some changes that make
  our previous approach of calling qmake from the directories we want to
  build stop working. Things would break even more in Qt 5.4, in which
  qtbase's configure script does not accept the -process, -fully-process and
  -dont-process arguments anymore (it always behaves as if -process had been
  used).

  Bite the bullet and start calling qmake from ${WRKSRC}. The largest part of
  this change involves changing lines in Makefiles from
    WRKSRC_SUBDIR=	foo/bar
  to
    BUILD_WRKSRC=		${WRKSRC}/foo/bar
    INSTALL_WRKSRC=		${WRKSRC}/foo/bar
  as well as adding patches to .pro files to avoid entering other
  subdirectories and removing post-configure targets that are not necessary
  anymore.

  Since qmake needs to be called from the top of ${WRKSRC} anyway, we can
  also simplify the configuration process for the qtbase ports a little.
  Looking at r10019 it is not clear why we started calling qmake in the
  pre-configure target in addition to the post-configure one (while also
  skipping it in do-configure), but we can now drop this call since letting
  configure behave as if -process had been passed means it will call qmake
  on its own and overwrite the files generated by the pre-configure call. We
  still need to call qmake in post-configure though, as the configure script
  does not pass -recursive when calling qmake and we need to be able to call
  make from any subdirectory when building.

PR:		194762 [1]
PR:		194566 # exp-run with base GCC and clang
PR:		194088 [3]
2014-11-05 09:39:21 +00:00
Raphael Kubo da Costa
b569014a83 bsd.qt.mk: Stop using @cwd in the plist generation code.
Just specify full paths with ${QT_PREFIX} directly, as @cwd is deprecated.
2014-10-29 22:43:21 +00:00
Raphael Kubo da Costa
990a62701e Remove @dirrm and @dirrmtry entries from the Qt ports. 2014-10-23 21:35:14 +00:00
Raphael Kubo da Costa
4e4dc37058 Add x11/qt5-x11extras.
Qt platform-specific features for X11-based systems.

PR:		194008
Submitted by:	Jan Beich <jbeich@vfemail.net>
2014-09-29 21:24:18 +00:00
Raphael Kubo da Costa
c0076e4449 Add quickcontrols to the list of Qt5 components.
Thanks to makc for noticing the omission.
2014-07-28 21:23:20 +00:00
Raphael Kubo da Costa
ae285a16f9 qt4: Do not apply the patch from r362770 if EXTRA_PATCHES is unset.
This unbreaks qmake4 and qt4-doc.
2014-07-24 18:52:53 +00:00
Raphael Kubo da Costa
a835ce065d Backport my patch to make Qt correctly detect clang's support for C++11 features.
So far, Qt4 was basing its check for compiler support for C++11 features
(auto types, lambdas, rvalue references and others) on the values of
__GNUC__ and __GNUC_MINOR__. This works for GCC, but not for clang, whose
__GNUC_MINOR__ is stuck at 2. In practice, this meant Qt programs built
using clang were never able to use C++11 features which are conditionally
available in classes such as QList. This patch makes the detection more in
line with what Qt5 does (checks for GCC and clang are in separate sections
and are done differently).

I couldn't find cases of this negatively affecting any port so far, but it
is useful to have -- Akonadi's unit tests require C++11 support in Qt, for
example.

Only qt4-corelibs's PORTREVISION was bumped to make the new qglobal.h be
installed. Checks for these C++11 features are only present in headers of
other Qt4 ports, so there's no need to rebuild them.
2014-07-24 08:37:55 +00:00
Tijl Coosemans
a14d5f8d2d Remove libtool .la files from all Qt ports
Approvedy by:	kde (makc)
2014-07-19 11:09:00 +00:00
Raphael Kubo da Costa
5b979ce1a8 The KDE on FreeBSD team presents Qt 4.8.6.
This is a minor bugfix release that fortunately contains quite a few patches
that we have upstreamed in the past months.

See http://blog.qt.digia.com/blog/2014/04/24/qt-4-8-6-released/ for a
summary of changes, and
http://download.qt-project.org/official_releases/qt/4.8/4.8.6/changes-4.8.6
for a detailed list of changes.

This patch contains commits by me, makc@ and Schaich Alonso.

PR:		ports/189213
2014-05-05 20:47:22 +00:00
Max Brazhnikov
1474f498e4 Mk/bsd.qt.mk:
- Fix packaging Qt 5 ports with legacy pkg tools.

PR:		ports/187856
Reported by:	mandree
2014-03-25 06:26:16 +00:00
Tijl Coosemans
999fc210ce - Make Qt4 and Qt5 respect CXXFLAGS during configure so they pick up
-DLIBICONV_PLUG from USES=iconv and always use libc iconv when it is
  available.
- Remove the iconv dependency from Qt5.  It uses icu instead.

PR:		ports/186707
Approved by:	kde (makc)
2014-03-23 19:58:33 +00:00
Max Brazhnikov
4cd1e8830e KDE/FreeBSD team is happy to present Qt 5 in ports!
Alberto Villa (avilla@) has done all the hard work to create Qt 5 ports.
Trivial update from 5.2.0-beta1 to 5.2.1 by me.

Special thanks for Adriaan de Groot <groot@kde.org> for his assistance for
Qt-5.2.0 update.

Approved by:	portmgr (bapt) (for Mk/bsd.port.mk)
2014-03-03 16:50:32 +00:00
Max Brazhnikov
7d5e6b666c In preparation for Qt 5 ports:
Mk/Uses/qmake.mk:
- Add support for out-of-source builds
- Add support for Qt 5 ports
- Respect WITH_DEBUG

Mk/bsd.qt.mk:
- Massive rework for Qt 5 ports
- Remove '-phonon' from global configure args, thus allow qt4-designer and
  qt4-qtconfig to be built without Phonon support [1]

devel/qmake4:
- Improve mkspecs for gcc (mainly sync with linux version) and clang

devel/qt4-corelib:
- Convert to USES=iconv
- Remove ancient patch

devel/qt4-designer:
- Remove reference to WRKSRC from installed pkgconfig files [2]
- Don't build Qt Designer plugin for Phonon from outdated Qt sources.
  Separate port for plugin will be committed later

devel/qt4-assistant-adp, devel/qt4-libqtassistantclient:
- Convert to USES=qmake

Clean up Qt4 ports:
- Update comments
- Update description; use common description
- Consistently use QT_INCDIR, QT_LIBDIR, etc.
- Use options helpers
- Convert to new LIB_DEPENDS syntax
- Update DESKTOP_ENTRIES to avoid conflicts with Qt 5 ports
- Rename/move several ports for unification with Qt 5 ports

PR:		ports/184620 [1]
Reported by:	Kevin Zheng <kevinz5000@gmail.com>

PR:		ports/181141 [2]
Reported by:	thierry

PR:		ports/185101
Exp-run by:	bdrewery

This is mostly solely avilla's work in area51, kudos to him! And a couple
commits from myself, so you know who's collecting pointyhats :)
2014-01-06 16:16:52 +00:00
Max Brazhnikov
fb38a1f687 In preparation for Qt 5 ports:
bsd.qt.mk:
 - Deprecate QMAKEFLAGS, QMAKE_ARGS should be used instead
 - define LRELEASE/LUPDATE commands for general use
 Uses/qmake.mk:
 - USES=qmake now implies build dependency on qmake
 - Deprecate QMAKE_PRO (QMAKE_SOURCE_PATH should be used if required)
 - move QMAKE_ARGS definition to bsd.qt.mk
2013-11-21 14:15:53 +00:00
Alberto Villa
84a235eda9 - Replace QT_.*_REL with QT_.* in PLIST_SUB.
- Adapt plists.

With hat on:	kde
2013-11-17 02:12:25 +00:00
Max Brazhnikov
86276e8b2a Pass CC/CXX to qmake when we can't find appropriate QMAKESPEC
Reported by:	amdmi3
2013-10-21 19:47:02 +00:00
Raphael Kubo da Costa
ecda38b0a5 Update Qt to 4.8.5 and Qt Creator to 2.8.0.
Proudly brought to you by the KDE on FreeBSD team, with commits by makc@,
Schaich Alonso and yours truly.

Besides the tons of upstream fixes, we have mkspecs for GCC 4.9 and clang33
(from ports), staging support in the Makefiles and dependency fixes related
to pkg-config.

Many thanks to the people who helped test the ports using our area51
repository, and also to the people who provided patches and bug reports via
GNATS!

PR:		ports/180615
	        ports/181921
		ports/182049
2013-10-13 23:15:50 +00:00
Rene Ladan
66fee90926 KDE3 and QT3 expired on 2013-07-01, remove these ports.
Unfortunately, this also affects some ports using QT3 as a GUI toolkit.

Changes to infrastructure files:
- bsd.kde.mk : obsolete, remove
- bsd.qt.mk : note that a CONFLICTS_BUILD line can probably go after a while
- CHANGES : document the removals from bsd.port.mk
- KNOBS : remove KDE and QT (KDE4 and QT4 should be used instead)
- MOVED : add the removed ports

PR:		ports/180745
Submitted by:	rene
Approved by:	portmgr (bapt)
Exp-run by:	bapt
2013-07-26 19:19:20 +00:00
Raphael Kubo da Costa
785011bfec Update MASTER_SITE_QT.
download.qt-project.org is a CDN and should redirect to the closest mirror
anyway, but a few more mirrors have been added just in case.
2013-06-21 17:24:13 +00:00
Baptiste Daroussin
93b7a504b2 Fix bmake complaining about non-zero return 2013-05-02 14:12:58 +00:00
Max Brazhnikov
6349889182 Mark build conflict with qt-3 for Qt4 ports
Reported by:	many
2013-03-15 11:46:58 +00:00
Max Brazhnikov
fa6ab4ab22 Remove obsolete ports 2013-02-27 14:16:35 +00:00
Max Brazhnikov
c2dd4d2e2d KDE/FreeBSD team presents Qt 4.8.4 and QtCreator 2.6.1 ports.
The area51 repository features commits by Alonso Schaich, avilla, fluffy,
jhale, makc and rakuco.

Common changes:
- Trim Makefile header
- Convert to new option framework
- Add/improve desktop entries
- Remove upstreamed patches

Mk/bsd.qt.mk:
- Set QMAKESPEC at late stage (to fix potential problem if USE_GCC is used) [1]

devel/qmake:
- Fix crash due to off-by one error [2]

multimedia/qt4-phonon*:
- Deprecate in favour of multimedia/phonon*

www/qt4-webkit:
- Make dependence on GStreamer optional [3]

devel/qtcreator:
- Enable qml-designer in devel/qtcreator (requires privite Qt headers) [4]

Reported by:	avg via irc [1]
Submitted by:	avg via maillist [2]
PR:		ports/175644 [3]
Submitted by:	danfe [3]
PR:		ports/169809 [4]
Reported by:	tcb <tcberner at gmail.com> [4]
2013-02-03 17:21:56 +00:00