From 8a278563748e136559a6cc193ae3895c6412c882 Mon Sep 17 00:00:00 2001 From: Lars Wendler Date: Wed, 18 Jan 2017 23:04:49 +0100 Subject: media-sound/mixxx: Fixed compilation with >=media-libs/chromaprint-1.4 Fixes Gentoo bug #604528 Package-Manager: Portage-2.3.3, Repoman-2.3.1 --- .../mixxx/files/mixxx-2.0.0-chromaprint-1.4.patch | 40 ++++++++++++++++++++++ media-sound/mixxx/mixxx-2.0.0-r3.ebuild | 3 +- 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 media-sound/mixxx/files/mixxx-2.0.0-chromaprint-1.4.patch (limited to 'media-sound') diff --git a/media-sound/mixxx/files/mixxx-2.0.0-chromaprint-1.4.patch b/media-sound/mixxx/files/mixxx-2.0.0-chromaprint-1.4.patch new file mode 100644 index 000000000000..77827f3d8d81 --- /dev/null +++ b/media-sound/mixxx/files/mixxx-2.0.0-chromaprint-1.4.patch @@ -0,0 +1,40 @@ +Backported chromaprint-1.4 API changes based on the fix suggested in: +https://github.com/mixxxdj/mixxx/pull/1073 + +and the work done by Charlie Gehlin in: +https://bugs.gentoo.org/604528 + +--- mixxx-2.0.0/src/musicbrainz/chromaprinter.cpp ++++ mixxx-2.0.0/src/musicbrainz/chromaprinter.cpp +@@ -25,6 +25,16 @@ + + QString ChromaPrinter::calcFingerPrint(const Mixxx::SoundSourcePointer& pSoundSource) { + ++ // Type declarations of *fprint and *encoded pointers need to account for Chromaprint API version ++ // (void* -> uint32_t*) and (void* -> char*) changed in versions v1.4.0 or later -- alyptik 12/2016 ++ #if (CHROMAPRINT_VERSION_MINOR > 3) || (CHROMAPRINT_VERSION_MAJOR > 1) ++ typedef uint32_t* uint32_p; ++ typedef char* char_p; ++ #else ++ typedef void* uint32_p; ++ typedef void* char_p; ++ #endif ++ + // this is worth 2min of audio, multiply by 2 because we have 2 channels + // AcoustID only stores a fingerprint for the first two minutes of a song + // on their server so we need only a fingerprint of the first two minutes +@@ -57,12 +67,12 @@ + } + chromaprint_finish(ctx); + +- void* fprint = NULL; ++ uint32_p fprint = NULL; + int size = 0; + int ret = chromaprint_get_raw_fingerprint(ctx, &fprint, &size); + QByteArray fingerprint; + if (ret == 1) { +- void* encoded = NULL; ++ char_p encoded = NULL; + int encoded_size = 0; + chromaprint_encode_fingerprint(fprint, size, + CHROMAPRINT_ALGORITHM_DEFAULT, diff --git a/media-sound/mixxx/mixxx-2.0.0-r3.ebuild b/media-sound/mixxx/mixxx-2.0.0-r3.ebuild index 3856e2eb6d25..c9ae13ace70f 100644 --- a/media-sound/mixxx/mixxx-2.0.0-r3.ebuild +++ b/media-sound/mixxx/mixxx-2.0.0-r3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2016 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ @@ -70,6 +70,7 @@ PATCHES=( "${FILESDIR}"/${PN}-2.0.0-docs.patch "${DISTDIR}"/${P}-ffmpeg30.patch "${DISTDIR}"/${P}-ffmpeg31.patch + "${FILESDIR}"/${P}-chromaprint-1.4.patch #604528 ) src_prepare() { -- cgit v1.2.3-65-gdbad