Clementine is a modern music player and library organiser. Clementine
is a port of Amarok 1.4, with some features rewritten to take advantage of Qt4.
Features:
- Listen to internet radio from Last.fm and SomaFM
- Load M3U and XSPF playlists
- Edit tags on MP3 and OGG files, organise your music
- Download missing album cover art from Last.fm
WWW: http://www.clementine-player.org

Reason:
The audio/clementine-player port has been updated to v1.3.1, the latest
upstream release. The music database code now has a hard dependency on
databases/sqlite having the FTS3_TOKENIZER option enabled. This has
been made the default option in databases/sqlite.
Without this option, clementine-player will crash on startup.

Update GStreamer1 ports to 1.12.2.
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@

Update audio/chromaprint to 1.4.2
- 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

- Update security/cryptopp to 5.6.5
- 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

Fix build of audio/clementine-player with clang 3.9.0
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

qt4-moc: Add more Boost include guards to moc's definition list.
In preparation for updating Boost to 1.60, add include guards from more Boost
headers to the list of macros that moc automatically defines when processing
files. As explained in r408911, Qt4's moc cannot parse some constructs used by
a few Boost headers, so we define their include guards to make moc skip them.
This is a cleaner approach that allows us to largely revert r408472, r408473,
r408474, r408475, r408502, r408773 and r408419, which added several patches to
many ports to work around this moc bug.
PR: 199601
PR: 208322

Split devel/gettext in devel/gettext-runtime and devel/gettext-tools. The
first contains runtime libraries such as libintl and the latter contains
developer tools such as msgfmt. Ports that use gettext will usually need
a LIB_DEPENDS on gettext-runtime and a BUILD_DEPENDS on gettext-tools.
USES=gettext-runtime can be used to set a LIB/BUILD/RUN_DEPENDS on
devel/gettext-runtime and USES=gettext-tools can be used to set a
BUILD/RUN_DEPENDS on devel/gettext-tools. USES=gettext is now the same
as "USES=gettext-runtime gettext-tools" meaning a LIB_DEPENDS on
devel/gettext-runtime and a BUILD_DEPENDS on devel/gettext-tools.
Update gettext to 0.19.3.
Remove :oldver from converters/libiconv and devel/gettext-runtime. Leave
symlinks with the old library versions to avoid the need to bump
PORTREVISION on a large number of dependent ports. When most of the
dependent ports have had normal version updates, PORTREVISION can be
bumped on the remaining ones (low number) and the links can be removed.
Fix some ports that installed files in lib/locale instead of share/locale.
PR: 194038
Reviewed by: bapt
Exp-run: antoine
Approved by: portmgr (antoine)

Update CMake to 3.0.1.
The 3.0 series is an incremental improvement over the previous 2.8 series
despite the major version number change. A list of important changes is
available at http://www.cmake.org/cmake/help/v3.0/release/3.0.0.html
On the porting side
* The minimum FreeBSD release we have to support in the ports tree is now
recent enough that ports/168671 can finally be committed: instead of
building and using CMake's own copies of bzip2, curl, expat, libarchive,
liblzma and zlib, we use the versions in ports and/or the base system.
* CMake's documentation system has been changed and vastly improved at the
cost of now depending on Sphinx. We still generate only man pages, but can
start generating the HTML documentation in the future if desired.

Trying to be smart, always punishes one in the end.
SPOTIFY support isn't something that can be compiled out of clementine.
You must *either* compile the binary blob in to the application *or*
enable the downloader via QCA. You cannot disable them.
I suspect, from the changes I've made, someone already figured this out
originally. :-)

Add DropBox & BOX remote file storage support and enable on by
default
Remove NO_STAGE
Remove MAKE_JOBS_UNSAFE
Remove BUILTINTAGLIB, this is only relevant for distributions that
have a taglib package < 1.8
Remove SPOTIFY support. Requires vendor binary library that does
not currently support FreeBSD. The QCA code is a tool to fetch this
library if enabled.
Remove -DIMOBILEDEVICE as its not a Cmake build options for this port
Reviewed by: vg

Pointyhat to me.
SPOTIFY support references the built in clementine library support module
for the service that requires qca2 support.
SPOTIFY_BLOB references some magical external library (from the vendor),
that can be used in its place.
There isn't a clearly obvious way to disable SPOTIFY support alltogether
and the original, pre svn r335260 version of the SPOTIFY logic is correct
Reported by: Jimmy Olgeni <olgeni@olgeni.com>

- Add patch which allows to build audio/acoustid-fingerprinter and
audio/chromaprint with different ffmpeg ports (based on patch from
multimedia/kdemultimedia4-ffmpegthumbs)
- Switch dependency to multimedia/ffmpeg1
- Bump PORTREVISION due to dependency change in audio/chromaprint
Approved by: no reply from jhale@