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]
directories outside prefix
- Whitelisting orphan directories not starting with / is no longer necessary
- Adjust missing directories check to use a list of all directories instead
of the dirs from make-plist
Differential Revision: https://reviews.freebsd.org/D1101
Reviewed by: bapt
With hat: portmgr
PR: 193539
Submitted by: spil.oss (gmail)
MariaDB is a database server that offers drop-in replacement functionality
for MySQL. MariaDB is built by some of the original authors of MySQL, with
assistance from the broader community of Free and open source software
developers. In addition to the core functionality of MySQL, MariaDB offers
a rich set of feature enhancements including alternate storage engines,
server optimizations, and patches.
This is the culmination of years of work and testing including work by jlh@.
This will enable SSP by default for all amd64 releases, and i386 releases
10.0 and over.
With hat: portmgr
Tested by: multiple exp-runs, CFT package repository, CFT ports
Discussed with: bapt, antoine
A portion of this patch to upgrade makepatch was committed almost 2
months ago; this is the rest of it. It changes the directory separator
to "_" and it will transform "_" in the filename to "__" to avoid
ambiguous file names (e.g. A/B/C.c and A_B/C.c won't have the same patch
name).
The new logic will not rename an existing patch that used previously
standard separators of "-", "+", or "__" in its name. It is desireable
to avoid commits that only change the filename of the patch, so that's
why existing filenames are re-used if previously legal.
The diff command is also pass the -p argument for additional useful
context.
Differential Revision: https://reviews.freebsd.org/D582
Approved by: portmgr (bapt)
If a port requests a different python version from the one being the
default or provided at the command line, certain directories as well
as plist entries will use the wrong python version value (the one
being the default or provided at the command line), instead of the
value, the port requests.
PR: 194605
exp-run by: antoine@
With hat: python@
If a port requests a different python version from the one being the
default or provided at the command line, certain directories as well
as plist entries will use the wrong python version value (the one
being the default or provided at the command line), instead of
the value, the port requests
Differential Revision: https://reviews.freebsd.org/D963
With hat: python@
When on used FreeBSD, this tool doesn't do anything. However, when used
on DragonFly, it will define __FreeBSD__ appropriately in CFLAGS which
allows the port to build with minimal or no extra patches.
Differential Revision: https://reviews.freebsd.org/D950
Reviewed by: portmgr
Approved by: bapt (portmgr)
USE_KDE4=kdehier component has been deprecated, new components added:
baloo - Baloo core libraries
baloo-widgets - Baloo widgets library
kfilemetadata - KDE library for extracting file metadata
New ports:
graphics/kqtquickcharts - QtQuick plugin to render interactive charts
misc/artikulate - Pronunciation trainer for KDE
(not usable currently, links to both
GStreamer 1.x and 0.10.x via dependencies)
sysutils/baloo[-widgets] - KDE framework for searching and
managing user metadata
sysutils/kfilemetadata - Library for extracting file metadata
l10n ports:
- Farsi (Persian) and Indonesian translations has been readded
- Vietnamese didn't pass threshold for inclusion into release
astro/kstars:
- switch dependency from math/eigen2 to math/eigen3
- add PYKDE option for updating supernovae data
deskutils/kdepim4:
- update dependencies: add libkgapi and baloo,
remove now needless clucene, link-grammar, strigi
- add patch to fix build with gcc42
- update COMMENT and description for all KDE PIM ports
devel/ruby-krossruby:
- remove BROKEN, it builds with ruby 2.x now
editors/kate:
- add patch to disable memory-hungry build of the kate tests [1]
graphics/okular:
- add dependency on graphics/libkscreen
math/cantor:
- add optional dependency on lang/luajit for LuaJIT backend
- fix gfortran detection [2]
misc/kdehier4:
- adapt to new pkg world. Now the purpose of kdehier4 only
to link some stuff between KDE4_PREFIX and LOCALBASE.
science/kalzium:
- switch dependency from math/eigen2 to math/eigen3
- add dependence on science/chemical-mime-data
x11-themes/kdeartwork4
- switch dependency from math/eigen2 to math/eigen3
among other changes:
- drop deprecated USE_KDE4=kdehier
- drop @dirrm from plist
- clean up pkg-descr
- convert to options helpers
- other portlint fixes
The area51 repository features commits by alonso, rakuco and myself.
PR: 187150 [1]
Reported by: pe.freethread@live.com
Patch by: Tobias Berner <tcberner@gmail.com>
PR: 180674 [2]
Reported by: torsten.eichstaedt@web.de
PR: 194316
Exp-run: antoine
multimedia/x265.
Example usage: (-c:a libfdk_aac needs FDK_AAC knob too)
ffmpeg -i $inputvideofile -c:a libfdk_aac -b:a 64k -c:v libx265 -x265-params crf=31 $outputfile.mkv
This can now be played back by at least ffplay (needs SDL knob),
vlc, mplayer, mpv, xine. (and gives a nice reduction in file size.)
No objection from: multimedia@ list
The port will switch to the newer version if hw context is available in the
i915kms driver.
- Get ride of WITH_NEW_XORG.
- Use @comment in plist to ignore unwanted files in the stagedir, instead of
trying to remove them in post-install.
- Bump portrevision of 9.1.7 due to dependency changes.
- Drop :keepla from USES=libtool.
- Drop @dirrm[try] from plists
- Give dri propper options, with pkg-help for additional information.
- Make separate plist for dri for the different versions, the combined plist
was headache inducing.
- Add "workaround" patches to allow clang to build the dri port on i386 [1].
USE_GCC is now only needed for 8.x.
- Add gbm port and USE_GL switch for it.
PR: 192286 [1]
Submitted by: Carlos Jacobo Puga Medina [1]
Approved by: portmgr (bapt@)
In collaberation with: dumbbell@
Obtained from: xorg-dev
- Update Firefox ESR to 31.2.0
- Update NSS to 3.17.2
- Update Thunderbird to 31.2.0
- Update libxul to 31.2.0 (and mark as BROKEN)
- Disable SSL 3.0 with pref (Upstream bug 1076983)
- (workaround) replace USE_GCC=yes with USES=compiler:gcc-c++11-lib in
order to fix runtime for PGO and powerpc/powerpc64 on libc++ systems
- Add OSS audio fallback for HTML5 audio from upstream bug;
not exposed yet because WebRTC still needs ALSA or PulseAudio
- Kill @dirrm from gecko@ ports per CHANGES from 20140922
- Drop workaround for LLVM PR 19007: base and lang/clang34 have the fix
- Improve workaround comment for LLVM PR 15840, partially rejecting
r348851 by marino@ until bug 193555
PR: 194356
Submitted by: Jan Beich
Security: http://www.vuxml.org/freebsd/9c1495ac-8d8c-4789-a0f3-8ca6b476619c.html
Add port of CentOS 6.5's libGLU library. This allows several games to be used
with the new CentOS ports.
While here:
- Add c6 libglu to Mk/bsd.linux-apps.mk
- Add to emulators/linux-c6 as dependency, bump PORTREVISION
Differential Revision: https://reviews.freebsd.org/D841
Approved by: swills (mentor)
Approved by: portmgr (bapt)
- Patch libtool so it uses the same library version specification as on
Darwin, Linux and other systems. Given the version current:revision:age
a library will be given the extension .so.major.age.revision with major
equal to current-age. Before libtool would use .so.current on FreeBSD.
- Patch libtoolize to remove two cases of umask 0 that caused libltdl
files to be copied world writable (--ltdl option)
- Let USES=libtool patch this new version correctly
- Adjust all ports with USES=libtool:build and bump PORTREVISION on their
dependent ports if a library version changed
PR: 194068
Exp-run by: antoine
Approved by: portmgr (antoine)
APACHE_PORT should be used only in combination with "DEFAULT_VERSIONS+=apache2.2"
- ripp AP_BUILDEXT, it is only used in bsd.apache.mk and not exported
pkg-1.3.8's auto directory handling makes this a non-issue.
We should add a new check to warn of possibly needing @dir for empty dirs
though.
With hat: portmgr