diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2019-05-01 11:37:49 +0200 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2019-05-01 11:39:04 +0200 |
commit | 4a44b133f79c25e8f67691f592aa04004b4ecf60 (patch) | |
tree | ec81d9652f696906741c77bc48261f0f2148ff7a /kde-frameworks/kfilemetadata | |
parent | media-sound/lollypop: Remove 0.9.908 (diff) | |
download | gentoo-4a44b133f79c25e8f67691f592aa04004b4ecf60.tar.gz gentoo-4a44b133f79c25e8f67691f592aa04004b4ecf60.tar.bz2 gentoo-4a44b133f79c25e8f67691f592aa04004b4ecf60.zip |
kde-frameworks/kfilemetadata: Fix crashing over .spx binary files
KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=403902
Package-Manager: Portage-2.3.66, Repoman-2.3.12
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'kde-frameworks/kfilemetadata')
-rw-r--r-- | kde-frameworks/kfilemetadata/files/kfilemetadata-5.57.0-non-speex-files-crash.patch | 46 | ||||
-rw-r--r-- | kde-frameworks/kfilemetadata/kfilemetadata-5.57.0-r1.ebuild | 68 |
2 files changed, 114 insertions, 0 deletions
diff --git a/kde-frameworks/kfilemetadata/files/kfilemetadata-5.57.0-non-speex-files-crash.patch b/kde-frameworks/kfilemetadata/files/kfilemetadata-5.57.0-non-speex-files-crash.patch new file mode 100644 index 000000000000..5664cf024b22 --- /dev/null +++ b/kde-frameworks/kfilemetadata/files/kfilemetadata-5.57.0-non-speex-files-crash.patch @@ -0,0 +1,46 @@ +From 61b1916c3e87c3b8f4fc3d1f1d19bf427b9247da Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de> +Date: Tue, 30 Apr 2019 03:51:14 +0200 +Subject: [TagLibExtractor] Fix crash on invalid Speex files + +Summary: +TagLib::Ogg::Speex::File::isValid() returns true even for invalid files, +but tag() only returns a valid XiphComment when the file is valid. + +Other TagLib::Ogg::* classes properly clear the valid flag when +encountering files. + +See https://github.com/taglib/taglib/issues/902 + +BUG: 403902 + +Reviewers: #baloo, #frameworks, ngraham, astippich + +Reviewed By: #baloo, ngraham, astippich + +Subscribers: kde-frameworks-devel + +Tags: #frameworks, #baloo + +Differential Revision: https://phabricator.kde.org/D20913 +--- + src/extractors/taglibextractor.cpp | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/extractors/taglibextractor.cpp b/src/extractors/taglibextractor.cpp +index 1954cac..e355907 100644 +--- a/src/extractors/taglibextractor.cpp ++++ b/src/extractors/taglibextractor.cpp +@@ -476,7 +476,9 @@ void TagLibExtractor::extract(ExtractionResult* result) + } + } else if (mimeType == QLatin1String("audio/speex") || mimeType == QLatin1String("audio/x-speex+ogg")) { + TagLib::Ogg::Speex::File file(&stream, true); +- if (file.isValid()) { ++ // Workaround for buggy taglib: ++ // isValid() returns true for invalid files, but XiphComment* tag() returns a nullptr ++ if (file.isValid() && file.tag()) { + extractAudioProperties(&file, result); + readGenericProperties(file.properties(), result); + } +-- +cgit v1.1 diff --git a/kde-frameworks/kfilemetadata/kfilemetadata-5.57.0-r1.ebuild b/kde-frameworks/kfilemetadata/kfilemetadata-5.57.0-r1.ebuild new file mode 100644 index 000000000000..92679579c665 --- /dev/null +++ b/kde-frameworks/kfilemetadata/kfilemetadata-5.57.0-r1.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python{2_7,3_{5,6,7}} ) +inherit kde5 python-any-r1 + +DESCRIPTION="Library for extracting file metadata" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" +IUSE="epub exif ffmpeg kernel_linux libav office pdf taglib" + +BDEPEND=" + test? ( ${PYTHON_DEPS} ) +" +RDEPEND=" + $(add_frameworks_dep kcoreaddons) + $(add_frameworks_dep ki18n) + $(add_qt_dep qtxml) + epub? ( app-text/ebook-tools ) + exif? ( media-gfx/exiv2:= ) + ffmpeg? ( + libav? ( >=media-video/libav-12.2:= ) + !libav? ( media-video/ffmpeg:0= ) + ) + office? ( $(add_frameworks_dep karchive) ) + pdf? ( app-text/poppler[qt5] ) + taglib? ( media-libs/taglib ) +" +DEPEND="${RDEPEND} + kernel_linux? ( sys-apps/attr ) +" + +PATCHES=( "${FILESDIR}/${P}-non-speex-files-crash.patch" ) + +pkg_setup() { + use test && python-any-r1_pkg_setup + kde5_pkg_setup +} + +src_configure() { + local mycmakeargs=( + $(cmake-utils_use_find_package epub EPub) + $(cmake-utils_use_find_package exif LibExiv2) + $(cmake-utils_use_find_package ffmpeg FFmpeg) + $(cmake-utils_use_find_package office KF5Archive) + $(cmake-utils_use_find_package pdf Poppler) + $(cmake-utils_use_find_package taglib Taglib) + ) + + kde5_src_configure +} + +src_test() { + # FIXME: bug 644650, fails on tmpfs (but not for everyone) + local myctestargs=( -E "(usermetadatawritertest)" ) + kde5_src_test +} + +pkg_postinst() { + kde5_pkg_postinst + + if ! has_version app-text/catdoc || ! has_version dev-libs/libxls; then + elog "To get additional features, optional runtime dependencies may be installed:" + elog "app-text/catdoc - indexing of Microsoft Word or Powerpoint files" + elog "dev-libs/libxls - indexing of Microsoft Excel files" + fi +} |