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
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
- Convert USE_EMACS to USES=emacs
- Remove editors/emacs-nox11 (refer to nox flavors of editors/emacs and
editors/emacs-devel)
- Permit default Emacs flavor to be specified in make.conf
- Rename japanese/migemo-emacs23 to japanese/migemo-emacs
- Update and simplify audio/emms and fix build on FreeBSD 10 [1]
- Update databases/bbdd and fix build on FreeBSD 10 [1]
- Update editors/emacs-devel
- Ensure Makefile shell commands that change directory are executed in a
subshell
- Silence some portlint warnings
[1] By not depending on base texinfo
PR: 225404
Reviewed by: antoine
Approved by: portmgr (mat) ashish (maintainer)
Differential Revision: https://reviews.freebsd.org/D13506
(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
- Remove USE_CSTD=c99: it was added for [1], now audio/clementine-player builds fine without it
- Bump PORTREVISION for shlib change
Changes: https://github.com/google/protobuf/releases
PR: 178687 [1]
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.
- limit python version to python 2.7
- remove duplicated python direct build dependency
- set correct python version in build scripts
- fix packaging by not installing to /root:
====>> Checking for filesystem violations... done
====>> Error: Filesystem touched during build:
extra: root/.mozc
PR: 207937
Submitted by: Hiroo Ono <hiroo.ono+freebsd@gmail.com> (based on)
Approved by: maintainer timeout (14 days)
- Use Github as the source.
- Depend on devel/py-gyp and japanese/zinnia because bundled versions have
been removed from the original distfile.
- devel/py-gyp-devel has been updated to snapshot as of 20160504 and
renamed with devel/py-gyp. Take maintainership[*].
- Install mozc.el.gz instead of mozc.el.
Approved by: maintainer [*]
Fix distinfo for the offending ports.
lang/yorick's tag was moved, and the added patch was no longer needed.
PR: 207644
Submitted by: mat
Exp-run by by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D4268
- Remove const qualifier from iconv(3) to match POSIX:
http://pubs.opengroup.org/onlinepubs/9699919799/functions/iconv.html
- Patch iconv.h to expose more GNU extensions when LIBICONV_PLUG is
defined because the base system iconv supports these extensions too.
Add/remove patches to/from ports to call iconv with non-const arguments.
This breaks some ports on FreeBSD 10 because base system iconv.h still has
the const qualifier. Fix this by letting USES=iconv add a build dependency
on converters/libiconv so ports can use its iconv.h (with LIBICONV_PLUG
defined) instead of the base system iconv.h.
This exposed some ports that link with libiconv when it is available instead
of using libc iconv. In these cases one of the following changes has been
made:
- patch configure scripts to test for libc iconv first
- add ac_cv_lib_iconv_libiconv=no or similar to CONFIGURE_ARGS to disable
some configure tests
- converters/wkhtmltopdf: this includes Qt4 so add a patch from devel/qt4
- lang/gcc5-aux: respect CFLAGS and friends during configure such that
LIBICONV_PLUG is defined in the iconv test, also switch to external
gettext
- mail/gnarwl: replace patches with CPPFLAGS/LIBS
- multimedia/ffmpeg2theora: remove iconv test from SConstruct and use
ICONV_LIB in port Makefile instead, also fix a bug in subtitles.c
- net-im/licq: finish conversion to cmake
- net-mgmt/bandwidthd, net-mgmt/icinga, net-mgmt/nagios, net-mgmt/nagios4:
don't need iconv
- textproc/p5-XML-TinyXML: finish conversion to USES=perl5
Other changes:
- databases/qdbm and slaves: respect CFLAGS and friends, also enable bzip2
and lzo support
- games/ldmud: respect CFLAGS and friends
- graphics/inventor: replace some patches with MAKE_ARGS/MAKE_ENV to respect
CFLAGS and friends, also remove FreeBSD/alpha patch and add missing xorg
dependencies
PR: 199099
Exp-run by: antoine
Approved by: portmgr (antoine)
For example (${OSVERSION} >= 900000 && ${OSVERSION} < 900021) is always true,
as is (${OSVERSION} > 900002 || ${OSVERSION} < 900000 && ${OSVERSION} > 800107).
Regarding patches, when an EXTRA_PATCHES is no longer needed, I remove it, when
it is always needed, I renamed it, in one case, I merged two patches.
Differential Revision: https://reviews.freebsd.org/D2209