a symbol matches multiple clauses the last one takes precedence. If the
catch-all is last it captures everything. In the case of Qt5 libraries
this caused all symbols to have a Qt_5 label while some should have
Qt_5_PRIVATE_API. This only affects lld because GNU ld always gives the
catch-all lowest priority.
Older versions of Qt5Webengine exported some memory allocation symbols from
the bundled Chromium. Version 5.9 stopped exporting these [1] but the
symbols were kept as weak wrappers for the standard allocation functions to
maintain binary compatibility. [2][3] The problem is that the call to the
standard function in these weak wrappers is only resolved to the standard
function if there's a call to this standard function in other parts of
Qt5Webengine, because only then is there a non-weak symbol that takes
precedence over the weak one. If there's no such non-weak symbol the call
in the weak wrapper resolves to the weak wrapper itself creating an infinite
call loop that overflows the stack and causes a crash. Some of the
allocation functions are variants of C++ new and delete and it probably
depends on the compiler whether these variants are used in other parts of
Qt5Webengine.
Remove the weak wrappers (make them Linux specific). This isn't binary
compatible but we are already breaking that with the changes to the symbol
versions.
[1] 5c2cbfccf9
[2] 2ed5054e3a
[3] 009f5ebb4b
Bump all ports that depend on Qt5.
PR: 234070
Exp-run by: antoine
Approved by: kde (adridg)
defined via Mk/bsd.default-versions.mk which has moved from GCC 7.4 t
GCC 8.2 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, as a double check, everything INDEX-11 showed depending on lang/gcc7.
PR: 231590
Change x11/xorgproto to become a build time dependency when added to
USE_XORG. Change the dependency to be on the port, rather than a file the
port installs.
Fix fallout.
Bump portrevision on depending ports.
PR: 230909
Reviewed by: eadler
Approved by: portmgr (antoine)
Obtained from: https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/xorgproto
exp-run: antoine
Differential Revision: https://reviews.freebsd.org/D16906
Upstream used to distribute protocol headers as separate packages, but has
decided to merge those to a common package, named xorgproto. This update
tracks that change.
* Add a new port, x11/xorgproto, with are protocol headers for xorg.
* Hook the new protocol port to the build and to infrastructure in
bsd.xorg.mk.
* Update all ports with a dependency on any of the old *proto packages to
instead depend on xorgproto. Bump portrevision.
* Delete the old *proto packages, update MOVED.
PR: 230023
Submitted by: zeising
Approved by: portmgr (antoine)
exp-run by: antoine
in the ports tree (via Mk/bsd.default-versions.mk and lang/gcc) which
has now moved from GCC 6 to GCC 7 by default.
This includes ports
- featuring USE_GCC=yes or USE_GCC=any,
- featuring USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and those
- with USES=compiler specifying one of openmp, nestedfct, c11, c++0x,
c++11-lib, c++11-lang, c++14-lang, c++17-lang, or gcc-c++11-lib.
PR: 222542
From now on, ports that depend on Qt4 will have to set
USES= qt:4
USE_QT= foo bar
ports depending on Qt5 will use
USES= qt:5
USE_QT= foo bar
PR: 229225
Exp-run by: antoine
Reviewed by: mat
Approved by: portmgr (antoine)
Differential Revision: →https://reviews.freebsd.org/D15540
codec/avcodec/audio.c:99:37: error: use of undeclared identifier 'FF_INPUT_BUFFER_PADDING_SIZE'
av_malloc( i_size + FF_INPUT_BUFFER_PADDING_SIZE );
^
codec/avcodec/subtitle.c:147:50: error: use of undeclared identifier 'FF_INPUT_BUFFER_PADDING_SIZE'
block->i_buffer + FF_INPUT_BUFFER_PADDING_SIZE);
^
codec/avcodec/video.c:254:36: error: use of undeclared identifier 'CODEC_FLAG_GRAY'
p_sys->p_context->flags |= CODEC_FLAG_GRAY;
^
codec/avcodec/encoder.c:525:20: error: no member named 'border_masking' in 'struct AVCodecContext'
p_context->border_masking = p_sys->f_border_masking;
~~~~~~~~~ ^
codec/avcodec/encoder.c:534:45: error: use of undeclared identifier 'FF_MAX_B_FRAMES'
VLC_CLIP( p_sys->i_b_frames, 0, FF_MAX_B_FRAMES );
^
codec/avcodec/encoder.c:642:45: error: no member named 'lmin' in 'struct AVCodecContext'; did you mean 'qmin'?
p_context->mb_lmin = p_context->lmin = p_sys->i_qmin * FF_QP2LAMBDA;
^~~~
codec/avcodec/encoder.c:647:45: error: no member named 'lmax' in 'struct AVCodecContext'; did you mean 'qmax'?
p_context->mb_lmax = p_context->lmax = p_sys->i_qmax * FF_QP2LAMBDA;
^~~~
codec/avcodec/encoder.c:660:24: error: no member named 'rc_qsquish' in 'struct AVCodecContext'
p_context->rc_qsquish = 1.0;
~~~~~~~~~ ^
codec/avcodec/encoder.c:674:24: error: no member named 'rc_buffer_aggressivity' in 'struct AVCodecContext'
p_context->rc_buffer_aggressivity = p_sys->f_rc_buffer_aggressivity;
~~~~~~~~~ ^
PR: 227726
Obtained from: upstream (VLC 3.0.0)
- Use the distfile provided by the VideoLAN project
- Add options for HI10P and HI12P (available only for amd64)
- Add DEBUG option
- Add OPTIMIZED_CFLAGS option
- Force using clang 5.0 on 10.4. Base provided clang fails during
compilation
- Chase shlib bump in dependent ports
PR: 225431
Submitted by: daniel.engberg.lists@pyret.net
Approved by: Maintainer timeout
Additional details:
- Update FFmpeg version required to 3.4.1,1
- Clean some unrecognized options
- Fix build with net/freerdp and audio/libsidplay2
- Drop DIRAC option because the module was removed upstream
(dirac codec is still supported via schroedinger)
PR: 224660
Submitted by: cpm
The flag has partial support across the tree, and the same effect
can be obtained by using ".undef WITH_DEBUG".
Reviewed by: mat, rene
Approved by: portmgr (rene)
Differential Revision: https://reviews.freebsd.org/D12548
(via Mk/bsd.default-versions.mk and lang/gcc) which has moved from
GCC 5.4 to GCC 6.4 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++11-lang,
c++14-lang, c++0x, c11, or gcc-c++11-lib.
PR: 219275
Details:
This is a bugfix release for the recently discovered
subtitle remote vulnerability, see
http://blog.checkpoint.com/2017/05/23/hacked-in-translation/
In addition to the statements in this blog post, the VLC devs
added bounds checks and string termination in multiple places
in the subtitle demuxer. It is hence possible that, contrary
to the blog post, this issue was not fixed completely in
version 2.2.5.1
MFH: 2017Q2
lang/gcc which have moved from GCC 4.9.4 to GCC 5.4 (at least under some
circumstances such as versions of FreeBSD or platforms).
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using using Mk/bsd.octave.mk which in turn has USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++14-lang,
c++11-lang, c++0x, c11, or gcc-c++11-lib.
PR: 216707
lang/gcc which have moved from GCC 4.8.5 to GCC 4.9.4 (at least under some
circumstances such as versions of FreeBSD or platforms).
In particular that is ports with USE_GCC=yes, USE_GCC=any, or one of
gcc-c++11-lib, openmp, nestedfct, c++11-lib as well as c++14-lang,
c++11-lang, c++0x, c11 requested via USES=compiler.
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