SeaMonkey now uses FFmpeg directly rather than via GStreamer for H.264
and MP3 playback as part of HTML5. Note, FFmpeg 3.x is unsupported[1].
Changes: http://www.seamonkey-project.org/news#2016-03-14
PR: 210931
Submitted by: net@arrishq.net (based on)
Security: 2c2d1c39-1396-459a-91f5-ca03ee7c64c6
MFH: 2016Q3
[1] SeaMonkey 2.40 is based on Firefox 43 codebase but Firefox 45
is the earliest to have the fix. Backporting maybe tricky:
https://bugzilla.mozilla.org/show_bug.cgi?id=1232268
USES=localbase:ldflags can be used to set LDFLAGS. Normally LDFLAGS
appears too early on the command line causing some ports to link with
their own libraries in LOCALBASE (if installed) instead of WRKSRC.
Also make use of _USES_POST so -L${LOCALBASE}/lib is added as late as
possible after anything a port Makefile might set. Use _USES_POST
instead of .include in libedit.mk and libarchive.mk so things like
'USES=libedit localbase:ldflags' work correctly.
Fix some issues with LIBS in some ports.
Switch ports that don't support LIBS to localbase:ldflags.
PR: 212987
Exp-run by: antoine
Approved by: portmgr (antoine)
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
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
hide actual commands executed and only show short summary line (like
"CC foo.c"). CMake and ninja enable this by default, some autotools
using ports do as well. This is unacceptable because we need complete
build logs at any time, so we now switch to verbose build logs
unconditionally. Note that this change deliberately affects ALL
builds and not only package builds on cluster, because we need to
be sure that user experiencing failure can always provide informative
build log regardless of settings and without rerunning the build.
Change summary:
- Always do verbose builds for cmake, ninja and GNU configure (the
latter includes check if --disable-silent-rules is actually supported
by the configure script; there are isolated cases when it's not true)
- Remove CMAKE_VERBOSE, NINJA_VERBOSE and
CONFIGURE_ARGS=--disable-silent-rules from all ports which set them
for this is no longer needed
- Revert hacks for --disable-silent-rules support priorly committed
to biology/ncbi-blast+ and net-p2p/mldonkey - no longer needed as well
Submitted by: amdmi3
Reviewed by: mat
Exp-run by: antoine
Approved by: portmgr (mat, antoine)
Differential Revision: D7534
There are three cases here:
1) USES=ncurses or USES=ncurses:base and devel/ncurses is not present:
use base, no need to add rpath as there is only one libncurses.so
present, in /usr/lib
2) USES=ncurses and devel/ncurses is present or USES=ncurses:port: use
ports, and add rpath to LOCALBASE/lib so that the right one is picked
3) USES=ncurses:base and devel/ncurses is present fail (it would warrant
using -rpath /usr/lib, but it error's out during the sanity stage)
PR: 211592
Reported by: koobs (and many others)
Reviewed by: bapt
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D7459
- shebang check: skip scripts in LINUXBASE. Things like /bin/bash are
valid in a Linux context. Also, these scripts usually only work with
a Linux shell so it doesn't make sense to try to make them work from a
FreeBSD shell.
- prefixvar check: allow LINUXBASE/var.
- proxydeps check: only test FreeBSD ELF files because ldd(1) doesn't
work with other ELF files.
PR: 212419
Submitted by: tijl
Sponsored by: Absolight
have cleanly defined licensing terms. Note that without clean
license allowing you to use and distribute the code it would be be
illegal to do so in many jurisdictions, so for ports with NONE
license no distfiles or packages are distributed.
While here, fix trailing whitespace in CHANGES.
Approved by: portmgr (bapt)
Differential Revision: D7816
Bump PORTREVISION to account for slightly different behavior in other
gecko@ ports and to get a discrete regression window.
Changes: https://www.mozilla.org/firefox/49.0/releasenotes/
PR: 211792
Submitted by: Jochen Neumeister <joneum@bsdproject.de> (based on)
Security: 2c57c47e-8bb3-4694-83c8-9fc3abad3964
MFH: 2016Q3
*_DEPENDS. Helper variables derived from the loop variable aren't
expanded causing *_DEPENDS to be incorrect.
- Bump all ports with more than one value in USE_LINUX.
PR: 211645
Reported by: jkim
Mk/Uses/linux.mk.
- Replace USE_LINUX=yes with USES+=linux and USE_LINUX=(.*) with
USES+=linux:\1 in all ports.
- Replace USE_LINUX_APPS with USE_LINUX in all ports.
- Use INSTALL_SCRIPT instead of INSTALL_PROGRAM to install scripts in some
ports.
- When USE_LINUX_RPM is defined, simplify the way DISTFILES and EXTRACT_ONLY
are defined.
- Remove BRANDELF_DIRS and BRANDELF_FILES handling. In the very rare cases
that it is still necessary ports can run ${BRANDELF} from post-patch.
- Remove AUTOMATIC_PLIST handling. Only one port used it.
- Fix Linux MASTER_SITES.
- Replace OVERRIDE_LINUX_BASE_PORT and OVERRIDE_LINUX_NONBASE_PORTS with
default versions framework.
- bsd.port.mk:
- Move Linux related bits to Uses/linux.mk, except USE_LINUX_PREFIX.
- Put USE_LINUX_PREFIX handling after USES processing.
- Define DOCSDIR, DATADIR, etc. after handling USE_LINUX_PREFIX so it can
give these variables a different default value.
- When a package needs to run Linux ldconfig check before installation if
Linux support is enabled.
- emulators/linux_base-*:
- Use USES=linux and remove duplication.
- Remove files/lp. FreeBSD or CUPS lp(1) should work.
- Remove files/yp.conf. No longer seems to be used.
- Remove pkg-deinstall and move pkg-install into pkg-plist.
- Update pkg-descr and pkg-message.
- Fix handling of ldconfig cache in pkg-plist.
- devel/fb-adb: Use a Linux shell to run a Linux script but patch the script
to use FreeBSD mkdir so mkdir -p $path creates $path and not
/compat/linux/$path.
PR: 211645
Exp-run by: antoine
Approved by: portmgr (antoine)
In many cases where objdump is currently used, readelf is a better
choice. Introduce a variable for ports that wish to use it.
Reviewed by: bapt
Approved by: portmgr
Differential Revision: https://reviews.freebsd.org/D7761
If a port provides .so.X files, they have to have a SONAME for them to
work correctly.
While there, incorporate a reverse soname checks in proxydeps.
A port that needs a .so.X from another port which does not have a
SONAME.
Reviewed by: bapt
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D7454
R warns if it detects .o or .so objects in the source directory, when
running tests. Remove the offending files before running the test.
Take maintainership [1]
PR: 212134
Approved by: wen [1]
Lots of KDE components are providing libraries, and they were,
strangely, written as BUILD_ or RUN_DEPENDS, with a full path to the
library. Change this so that if a component is needed at both build,
and, run-time, then it gets a LIB_DEPENDS.
Reviewed by: rakuco, tcberner
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D7625
Plasma5 ports
At the moment KDE ports use bsd.kde4.mk to handle their dependencies. When
working on the ports for KDE Frameworks and Plasma5 it seemed to be more
reasonable to create a new kde.mk instead of adding an bsd.kde5.mk.
The kde.mk in this review is a stripped down version of the one we are using in
the KDE Test repositories plasma5 branch [1] to only contain the parts relevant
to the current KDE4 ports in the portstree [2].
Changes to the KDE Ports needed by this:
Replace USE_KDE4 by USE_KDE [3]
Add USES=kde:4 [4]
[1] http://src.mouf.net/area51/view/branches/plasma5/KDE/Mk/Uses/kde.mk
[2] The version in the plasma5 branch also handles frameworks/plasma5 and
handles MASTER_SITES via a KDE_DIST variable similar to bsd.qt.mk for Qt
Ports -- I chose to leave this out for now, as the diff is already large
enough.
[3] I chose USE_KDE instead of USE_KDE4, USE_KDE5, USE_KDEX as the version we
want is already specified as argument to kde:<arg>
[4] For KDE Frameworks and Plasma5 ports this would be kde:5
PR: 210667
Approved by: portmgr, mat (mentor), rakuco (mentor)
Reviewed by: mat, rakuco
Differential Revision: https://reviews.freebsd.org/D6961
The "8" refers to FreeBSD 8.x which is no longer supported by the
ports tree. It's never been used (to my knowledge) so just remove the
option altogether.