diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2018-03-16 21:56:40 +0100 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2018-03-16 22:29:58 +0100 |
commit | 95bbffe23369fa825ded61227a0ff6a40a277086 (patch) | |
tree | 368c0762c892f70c38a5f8ff927397b43e333eea | |
parent | app-office/libalkimia: 7.0.1 version bump (diff) | |
download | gentoo-95bbffe23369fa825ded61227a0ff6a40a277086.tar.gz gentoo-95bbffe23369fa825ded61227a0ff6a40a277086.tar.bz2 gentoo-95bbffe23369fa825ded61227a0ff6a40a277086.zip |
media-sound/cantata: Fix runtime crash w/ >=dev-qt/qtsql-5.10
Reported-by: Franz Fellner <alpine.art.de@gmail.com>
Closes: https://bugs.gentoo.org/642196
Package-Manager: Portage-2.3.24, Repoman-2.3.6
-rw-r--r-- | media-sound/cantata/cantata-2.2.0-r1.ebuild | 122 | ||||
-rw-r--r-- | media-sound/cantata/files/cantata-2.2.0-qtsql-5.10.patch | 23 |
2 files changed, 145 insertions, 0 deletions
diff --git a/media-sound/cantata/cantata-2.2.0-r1.ebuild b/media-sound/cantata/cantata-2.2.0-r1.ebuild new file mode 100644 index 000000000000..9b255bbabbb8 --- /dev/null +++ b/media-sound/cantata/cantata-2.2.0-r1.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PLOCALES="cs de en_GB es fr hu it ja 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="0" +KEYWORDS="~amd64 ~x86" +IUSE="cdda cddb cdio http-server mtp musicbrainz replaygain streaming taglib udisks" +REQUIRED_USE=" + ?? ( cdda cdio ) + cdda? ( udisks || ( cddb musicbrainz ) ) + cddb? ( || ( cdio cdda ) taglib ) + cdio? ( udisks || ( cddb musicbrainz ) ) + mtp? ( taglib udisks ) + musicbrainz? ( || ( cdio cdda ) taglib ) + replaygain? ( taglib ) +" + +RDEPEND=" + dev-qt/qtcore:5 + dev-qt/qtdbus:5 + dev-qt/qtgui:5 + dev-qt/qtnetwork:5 + dev-qt/qtsql:5[sqlite] + dev-qt/qtsvg:5 + dev-qt/qtwidgets:5 + dev-qt/qtxml:5 + || ( kde-frameworks/breeze-icons:5 kde-frameworks/oxygen-icons:* ) + sys-libs/zlib + virtual/libudev:= + cdda? ( media-sound/cdparanoia ) + cddb? ( media-libs/libcddb ) + cdio? ( dev-libs/libcdio-paranoia ) + mtp? ( media-libs/libmtp ) + musicbrainz? ( media-libs/musicbrainz:5= ) + replaygain? ( + media-libs/libebur128 + media-sound/mpg123 + virtual/ffmpeg + ) + streaming? ( media-video/vlc:0= ) + taglib? ( + media-libs/taglib[asf(+),mp4(+)] + media-libs/taglib-extras + udisks? ( sys-fs/udisks:2 ) + ) +" +DEPEND="${RDEPEND} + dev-qt/qtconcurrent:5 + dev-qt/linguist-tools:5 +" + +# cantata has no tests +RESTRICT="test" + +PATCHES=( + "${FILESDIR}/${P}-headers.patch" + "${FILESDIR}/${P}-qtsql-5.10.patch" # bug 642196 +) + +src_prepare() { + remove_locale() { + rm "translations/${PN}_${1}".ts || die + } + + cmake-utils_src_prepare + + # Unbundle 3rd party libs + rm -r 3rdparty/{ebur128,qtsingleapplication} || die + + l10n_find_plocales_changes "translations" "${PN}_" ".ts" + l10n_for_each_disabled_locale_do remove_locale +} + +src_configure() { + local mycmakeargs=( + -DCANTATA_HELPERS_LIB_DIR="$(get_libdir)" + -DENABLE_CDPARANOIA=$(usex cdda) + -DENABLE_CDDB=$(usex cddb) + -DENABLE_CDIOPARANOIA=$(usex cdio) + -DENABLE_HTTP_SERVER=$(usex http-server) + -DENABLE_MTP=$(usex mtp) + -DENABLE_MUSICBRAINZ=$(usex musicbrainz) + -DLRELEASE_EXECUTABLE="$(qt5_get_bindir)/lrelease" + -DENABLE_FFMPEG=$(usex replaygain) + -DENABLE_MPG123=$(usex replaygain) + -DENABLE_HTTP_STREAM_PLAYBACK=$(usex streaming) + -DENABLE_TAGLIB=$(usex taglib) + -DENABLE_TAGLIB_EXTRAS=$(usex taglib) + -DENABLE_DEVICES_SUPPORT=$(usex udisks) + -DENABLE_REMOTE_DEVICES=OFF + -DENABLE_UDISKS2=ON + ) + + cmake-utils_src_configure +} + +pkg_preinst() { + gnome2_icon_savelist + xdg_pkg_preinst +} + +pkg_postinst() { + gnome2_icon_cache_update + xdg_pkg_postinst + + has_version media-sound/mpd || \ + elog "An instance of media-sound/mpd, local or remote, is required to set up Cantata." +} + +pkg_postrm() { + gnome2_icon_cache_update + xdg_pkg_postrm +} diff --git a/media-sound/cantata/files/cantata-2.2.0-qtsql-5.10.patch b/media-sound/cantata/files/cantata-2.2.0-qtsql-5.10.patch new file mode 100644 index 000000000000..16cb6d8c2d1f --- /dev/null +++ b/media-sound/cantata/files/cantata-2.2.0-qtsql-5.10.patch @@ -0,0 +1,23 @@ +From 4da7a9128f2c5eaf23ae2a5006d300dc4f21fc6a Mon Sep 17 00:00:00 2001 +From: Craig Drummond <craig.p.drummond@gmail.com> +Date: Tue, 28 Nov 2017 22:37:01 +0000 +Subject: [PATCH] Create QSqlQuery, then call prepare Issue #1130 + +--- + db/librarydb.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/db/librarydb.cpp b/db/librarydb.cpp +index 603d8abc1..4f75dc28f 100644 +--- a/db/librarydb.cpp ++++ b/db/librarydb.cpp +@@ -453,7 +453,8 @@ class SqlQuery + if (limit>0) { + sql+=" LIMIT "+QString::number(limit); + } +- query=QSqlQuery(sql, db); ++ query = QSqlQuery(db); ++ query.prepare(sql); + + for (const QVariant &value: boundValues) { + query.addBindValue(value); |