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)
- Change package name so we actually get updates
- Modify QT5 uses so that we don't install buildtools and other
assorted packages that aren't runtime dependencies.
Reported by: mat tobik
- regenerate some of the patch files for this new branch
- cleanup and try to adjust Makefile
audio/libechonest: Jump to qt5
- clementine-player is the only port that I could find that has an explicit
dependency on libechonest. Commit this update so there is no window for
build failures.
Test built on 13-CURRENT, 12-STABLE, 11-STABLE across i386 and amd64.
Run-time tested on 13-CURRENT, amd64.
PR: 234534 226529
Submitted by: greg@unrelenting.technology
While here, chase some KDE4 ports and functionality, these are scheduled for
removal on 2018-12-31. Change the default option/flavor to QT5 where applicable
or use alternative toolkits like GTK.
Submitted by: tcberner
Reviewed by: adridg, jhale, rene, tcberner
Approved by: portmgr (implicit, flavor hook)
Differential Revision: https://reviews.freebsd.org/D17741
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
We now install a pkgconfig file which will allow ports to check whether
cryptopp was built with assembly instructions enabled or not. There are
a few functions that will be undefined if built without assembly and
-DCRYPTOPP_DISABLE_ASM needs to be passed to the compiler in that case
to avoid build failures. This is not new, but the pkgconf file should
make it easier to determine if the flag is needed or not.
Fix several ports due to API changes and to use the new pkgconf file
to determine cryptopp location and build flags. Special cases below.
deskutils/cdcat
- Use cryptopp shared library instead of static, detect with pkgconf
devel/xeus
- Fix dependencies and remove header-only libraries from RUN_DEPENDS
- Rework to use the cryptopp pkgconf file
- net/cppzmq CMake files were fixed in r477649, remove hacks for that
as they were seemingly causing devel/xeus-cling to link to cryptopp
unnecessarily
- Remove C++17 code from cryptopp checks for compatibility
devel/xeus-cling
- Fix dependencies
- Remove hacks for previously broken cppzmq CMake files and no longer
needed cryptopp dependency
Changes: https://www.cryptopp.com/#news
PR: 230579 (original patch, not used)
Submitted by: yuri
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
- The upstream hasn't done a full "release" in quite a few years. There
is plenty of commit activity and development however. Switch to just
using their github tree directly at a "stable" release.
- Remove a few patches that have been accepted upstream or deprecated.
- Explicitly use libimobiledevice when GPOD is selected.
- Explicitly USE_GL= gl glue
- Explicitly USE_XORG=x11
I've been using this version on my desktop for a week now with no errors
noted. Lightly reviewed by mat@
Reviewed by: mat
Differential Revision: https://reviews.freebsd.org/D15544
Rework the adding of dependancies in Mk/bsd.gstreamer.mk.
Previous when using USE_GSTREAMER[1] it would just add the request modules to BUILD/RUN_DEPENDS. This caused the qa script to complain because the old code didn't implicit depend on the gstreamer1 and gstreamer1-plugins[-bad] ports for the libraries they carried, even if they where present via the plugins! The new code adds implicit depends on these ports so USE_GSTREAMER[1] using ports have all the libraries included.
* The mad mp3 plugin was removed, mpg123 plugin also provides mp3 decoding. Switch over ports that used the gstreamer1 mad plugin.
* gtksink plugin renamed -> gtk
* Hook up the sndio plugin into the framework
* Add some indirect dependacies where needed
* Reorder the plugin list in bsd.gstreamer.mk so only one plugin per line. When changing plugins it doesn't result in multiple lines being changed.
* Remove mentions in bsd.gstreamer.mk of plugins mentions that where removed.
* Depend on libunwind on i386/amd64, GStreamer links to it if it is present.
PR: 220753
Exp-run by: antoine@
- 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]
- Chromaprint itself is now licensed MIT, but it still includes LGPL21 code
- Add DOXYGEN option to build and install API docs
- Add TEST option to build regression tests
- API has changed, so some dependent ports needed to be patched (mostly
taken from their respective upstream repositories)
Changes: https://github.com/acoustid/chromaprint/blob/v1.4.2/NEWS.txt
- Add LICENSE (BSL)
- Add CPE data
- Remove STATIC option and always install the shared library;
no reason not to.
- Remove GCC option and use USES=compiler framework
- Add FULL_DEBUG option to address CVE-2016-7420 and add a warning if trying
to use it. It will allow the asserts to be enabled which could be a
security risk. The standard DEBUG option is now safe to use.
- Add SIMD option for i386 and amd64 - requires a recent clang or gcc
- Don't install the cryptest binary; it is really only used for regression
testing, so only build it for the TEST_TARGET. It is useless without the
data files anyways.
- Take maintainership
- Bump PORTREVISON on dependent ports due to shared library bump
PR: 215015
Reported by: <fcsk.aim@gmail.com>
MFH: 2016Q4
Security: eab68cff-bc0c-11e6-b2ca-001b3856973b
Clang 3.9.0 has a new warning about undefined template variables, which
is triggered by including cryptopp headers in the spotify blob
downloader:
In file included from /wrkdirs/usr/ports/audio/clementine-player/work/Clementine-1.3.1/src/internet/spotify/spotifyblobdownloader.cpp:43:
/usr/local/include/cryptopp/pkcspad.h:74:53: error: instantiation of variable 'CryptoPP::PKCS_DigestDecoration<CryptoPP::SHA512>::decoration' required here, but no definition is available [-Werror,-Wundefined-var-template]
return HashIdentifier(PKCS_DigestDecoration<H>::decoration, PKCS_DigestDecoration<H>::length);
^
This warning could be silenced by hacking on cryptopp, but just suppress
it for now.
Approved by: sbruno (maintainer)
PR: 212343
MFH: 2016Q3
https://github.com/clementine-player/Clementine/releases
Requires the sqlite port to have FTS3_TOKENIZER enabled. Add a note
to UPDATING about this.
Fixes so many bugs, that its hard to keep up.
Add PulseAudio support.
Add Microsoft SkyDrive Support.
Add Amazon Cloud Drive Support.
Require the use of security/cryptopp for lastFM.
Update to gstreamer1.
Sort options and Makefile a bit.
Fix typo in MTP_DEVICE.
Upstream has fixed CD playback on FreeBSD.
Differential Revision: https://reviews.freebsd.org/D6200