--- /dev/null
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+PLOCALES="cs de en_GB es hu ko pl ru zh_CN"
+inherit cmake-utils gnome2-utils l10n qmake-utils xdg
+
+DESCRIPTION="Featureful and configurable Qt client for the music player daemon (MPD)"
+HOMEPAGE="https://github.com/CDrummond/cantata"
+SRC_URI="https://github.com/CDrummond/cantata/releases/download/v${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="4"
+KEYWORDS="~amd64 ~x86"
+IUSE="cdda cddb http-server kde mtp musicbrainz qt5 replaygain taglib udisks"
+REQUIRED_USE="
+ cdda? ( udisks || ( cddb musicbrainz ) )
+ cddb? ( cdda taglib )
+ mtp? ( taglib udisks )
+ musicbrainz? ( cdda taglib )
+ qt5? ( !kde )
+ replaygain? ( taglib )
+"
+
+RDEPEND="
+ dev-db/sqlite:3
+ sys-libs/zlib
+ x11-libs/libX11
+ || ( kde-frameworks/breeze-icons:5 kde-frameworks/oxygen-icons:* )
+ cdda? ( media-sound/cdparanoia )
+ cddb? ( media-libs/libcddb )
+ kde? ( kde-base/kdelibs:4 )
+ mtp? ( media-libs/libmtp )
+ musicbrainz? ( media-libs/musicbrainz:5 )
+ qt5? (
+ dev-qt/qtconcurrent:5
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtsql:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ )
+ !qt5? (
+ dev-libs/qjson
+ dev-qt/qtcore:4
+ dev-qt/qtdbus:4
+ dev-qt/qtgui:4
+ dev-qt/qtsql:4
+ dev-qt/qtsvg:4
+ )
+ replaygain? (
+ media-libs/libebur128
+ media-sound/mpg123
+ virtual/ffmpeg
+ )
+ taglib? (
+ media-libs/taglib[asf,mp4]
+ media-libs/taglib-extras
+ !kde? ( udisks? ( sys-fs/udisks:2 ) )
+ )
+"
+DEPEND="${RDEPEND}
+ kde? ( sys-devel/gettext )
+ !kde? ( qt5? ( dev-qt/linguist-tools:5 ) )
+"
+
+# cantata has no tests
+RESTRICT="test"
+PATCHES=(
+ "${FILESDIR}/${P}-gcc5.patch"
+ "${FILESDIR}/${P}-ffmpeg-3.0.patch"
+)
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ # Unbundle 3rd party libs
+ rm -rf 3rdparty/qtsingleapplication/ || die
+ rm -rf 3rdparty/libebur128/ || die
+ # qjson ebuild does not support Qt5 yet
+ use qt5 || { rm -rf 3rdparty/qjson/ || die ;}
+ use kde && { rm -rf 3rdparty/solid-lite/ || die ;}
+
+ l10n_find_plocales_changes 'po' '' '.po'
+}
+
+src_configure() {
+ local langs="$(l10n_get_locales)"
+
+ local mycmakeargs=(
+ -DCANTATA_TRANSLATIONS="${langs// /;}"
+ -DENABLE_CDPARANOIA=$(usex cdda)
+ -DENABLE_CDDB=$(usex cddb)
+ -DENABLE_HTTP_SERVER=$(usex http-server)
+ -DENABLE_KDE=$(usex kde)
+ -DENABLE_MTP=$(usex mtp)
+ -DENABLE_MUSICBRAINZ=$(usex musicbrainz)
+ -DENABLE_QT5=$(usex qt5)
+ -DENABLE_FFMPEG=$(usex replaygain)
+ -DENABLE_MPG123=$(usex replaygain)
+ -DENABLE_TAGLIB=$(usex taglib)
+ -DENABLE_TAGLIB_EXTRAS=$(usex taglib)
+ -DENABLE_DEVICES_SUPPORT=$(usex udisks)
+ -DENABLE_HTTP_STREAM_PLAYBACK=OFF
+ -DENABLE_REMOTE_DEVICES=OFF
+ -DENABLE_UDISKS2=ON
+ -DUSE_SYSTEM_MENU_ICON=OFF
+ )
+
+ if ! use kde; then
+ if use qt5; then
+ mycmakeargs+=(
+ -DLCONVERT_EXECUTABLE="$(qt5_get_bindir)/lconvert"
+ -DLRELEASE_EXECUTABLE="$(qt5_get_bindir)/lrelease"
+ )
+ else
+ mycmakeargs+=(
+ -DLCONVERT_EXECUTABLE="$(qt4_get_bindir)/lconvert"
+ -DLRELEASE_EXECUTABLE="$(qt4_get_bindir)/lrelease"
+ )
+ fi
+ fi
+
+ cmake-utils_src_configure
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+ xdg_pkg_preinst
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+ xdg_pkg_postinst
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+ xdg_pkg_postrm
+}
--- /dev/null
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 48dd61c..1fe516a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -279,7 +279,9 @@ if (ENABLE_QT5)
+ set(QTINCLUDES ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Network_INCLUDE_DIRS} ${Qt5Xml_INCLUDE_DIRS} ${Qt5Core_INCLUDE_DIRS} ${Qt5Concurrent_INCLUDE_DIRS}
+ ${Qt5Svg_INCLUDE_DIRS} ${Qt5Sql_INCLUDE_DIRS})
+ add_definitions(${Qt5Widgets_DEFINITIONS} ${Qt5Network_DEFINITIONS} ${Qt5Xml_DEFINITIONS} ${Qt5Concurrent_DEFINITIONS} ${Qt5Svg_DEFINITIONS} ${Qt5Sql_DEFINITIONS})
+- set(CMAKE_CXX_FLAGS "${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}")
++ if (Qt5_POSITION_INDEPENDENT_CODE)
++ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
++ endif (Qt5_POSITION_INDEPENDENT_CODE)
+ if (NOT ENABLE_UBUNTU AND NOT APPLE AND NOT WIN32)
+ # Does Ubuntu/Touch version need DBus?
+ find_package(Qt5DBus)