[PATCH 00/11] Add audiofile and KDE mulitmedia applications.

  • Done
  • quality assurance status badge
Details
One participant
  • Hartmut Goebel
Owner
unassigned
Submitted by
Hartmut Goebel
Severity
normal

Debbugs page

Hartmut Goebel wrote 5 years ago
(address . guix-patches@gnu.org)
20191208164120.7095-1-h.goebel@crazy-compilers.com
Audiofile is a dependency of kwave. It seems to be not well maintained and
there are quite some CVE reported. But Debian provides pathes for them, which
I added here.

The applications might not full work when used tand-alone, e.g. since
gstreamer plugins are not found. But IMO we should add them to proceed with
adding KDE applications.

Note: Amaork is missing since it still uses KDE 4 and is no longer listed at

Multimedia Addons (FFmpeg Thumbnailer and KIO AudioCD) are still todo.

Hartmut Goebel (11):
gnu: Add audiofile.
gnu: Add dragon.
gnu: Add juk.
gnu: Add k3b.
gnu: Add libkcddb.
gnu: Add kaffeine.
gnu: Add kmix.
gnu: Add kmplayer.
gnu: Add kwave.
gnu: Add elisa.
gnu: Add kamoso.

gnu/local.mk | 16 +
gnu/packages/audio.scm | 41 ++
gnu/packages/kde-multimedia.scm | 602 ++++++++++++++++++
.../patches/audiofile-CVE-2015-7747.patch | 156 +++++
.../patches/audiofile-CVE-2018-13440.patch | 28 +
.../patches/audiofile-CVE-2018-17095.patch | 26 +
...ile-Check-the-number-of-coefficients.patch | 30 +
...diofile-Fail-on-error-in-parseFormat.patch | 36 ++
...iofile-Fix-index-overflow-in-IMA.cpp.patch | 33 +
...file-Fix-multiply-overflow-sfconvert.patch | 66 ++
...le-Fix-overflow-in-MSADPCM-decodeSam.patch | 116 ++++
...-division-by-zero-BlockCodec-runPull.patch | 21 +
.../audiofile-fix-datatypes-in-tests.patch | 54 ++
.../audiofile-fix-sign-conversion.patch | 26 +
gnu/packages/patches/audiofile-hurd.patch | 381 +++++++++++
...e-signature-of-multiplyCheckOverflow.patch | 35 +
gnu/packages/patches/kmplayer-aarch64.patch | 57 ++
...layer-upstream_Fix-build-with-Qt-5.9.patch | 42 ++
18 files changed, 1766 insertions(+)
create mode 100644 gnu/packages/kde-multimedia.scm
create mode 100644 gnu/packages/patches/audiofile-CVE-2015-7747.patch
create mode 100644 gnu/packages/patches/audiofile-CVE-2018-13440.patch
create mode 100644 gnu/packages/patches/audiofile-CVE-2018-17095.patch
create mode 100644 gnu/packages/patches/audiofile-Check-the-number-of-coefficients.patch
create mode 100644 gnu/packages/patches/audiofile-Fail-on-error-in-parseFormat.patch
create mode 100644 gnu/packages/patches/audiofile-Fix-index-overflow-in-IMA.cpp.patch
create mode 100644 gnu/packages/patches/audiofile-Fix-multiply-overflow-sfconvert.patch
create mode 100644 gnu/packages/patches/audiofile-Fix-overflow-in-MSADPCM-decodeSam.patch
create mode 100644 gnu/packages/patches/audiofile-division-by-zero-BlockCodec-runPull.patch
create mode 100644 gnu/packages/patches/audiofile-fix-datatypes-in-tests.patch
create mode 100644 gnu/packages/patches/audiofile-fix-sign-conversion.patch
create mode 100644 gnu/packages/patches/audiofile-hurd.patch
create mode 100644 gnu/packages/patches/audiofile-signature-of-multiplyCheckOverflow.patch
create mode 100644 gnu/packages/patches/kmplayer-aarch64.patch
create mode 100644 gnu/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch

--
2.21.0
Hartmut Goebel wrote 5 years ago
[PATCH 01/11] gnu: Add audiofile.
(address . 38532@debbugs.gnu.org)
20191208164355.7374-1-h.goebel@crazy-compilers.com
Patches seem to fix all CVEs reported by `guix lint`:
CVE-2015-7747; CVE-2017-6827, CVE-2017-6828, CVE-2017-6829,
CVE-2017-6830, CVE-2017-6831, CVE-2017-6832, CVE-2017-6833,
CVE-2017-6834, CVE-2017-6835, CVE-2017-6836, CVE-2017-6837,
CVE-2017-6838, CVE-2017-6839; CVE-2018-13440; CVE-2018-17095

Since the patches so not reference to CVEs, it's a bit hard to tell which
patch actually closes which CVE. But Debian reports all these to be closed by
the patches below.

* gnu/packages/audio.scm (audiofile): New variable.
* gnu/packages/patches/audiofile-fix-datatypes-in-tests.patch,
gnu/packages/patches/audiofile-fix-sign-conversion.patch,
gnu/packages/patches/audiofile-CVE-2015-7747.patch,
gnu/packages/patches/audiofile-CVE-2018-13440.patch,
gnu/packages/patches/audiofile-CVE-2018-17095.patch,
gnu/packages/patches/audiofile-Check-the-number-of-coefficients.patch,
gnu/packages/patches/audiofile-Fail-on-error-in-parseFormat.patch,
gnu/packages/patches/audiofile-Fix-index-overflow-in-IMA.cpp.patch,
gnu/packages/patches/audiofile-Fix-multiply-overflow-sfconvert.patch,
gnu/packages/patches/audiofile-Fix-overflow-in-MSADPCM-decodeSam.patch,
gnu/packages/patches/audiofile-division-by-zero-BlockCodec-runPull.patch,
gnu/packages/patches/audiofile-hurd.patch,
gnu/packages/patches/audiofile-signature-of-multiplyCheckOverflow.patch:
New files.
* gnu/local.mk: Add them.
---
gnu/local.mk | 13 +
gnu/packages/audio.scm | 41 ++
.../patches/audiofile-CVE-2015-7747.patch | 156 +++++++
.../patches/audiofile-CVE-2018-13440.patch | 28 ++
.../patches/audiofile-CVE-2018-17095.patch | 26 ++
...ile-Check-the-number-of-coefficients.patch | 30 ++
...diofile-Fail-on-error-in-parseFormat.patch | 36 ++
...iofile-Fix-index-overflow-in-IMA.cpp.patch | 33 ++
...file-Fix-multiply-overflow-sfconvert.patch | 66 +++
...le-Fix-overflow-in-MSADPCM-decodeSam.patch | 116 ++++++
...-division-by-zero-BlockCodec-runPull.patch | 21 +
.../audiofile-fix-datatypes-in-tests.patch | 54 +++
.../audiofile-fix-sign-conversion.patch | 26 ++
gnu/packages/patches/audiofile-hurd.patch | 381 ++++++++++++++++++
...e-signature-of-multiplyCheckOverflow.patch | 35 ++
15 files changed, 1062 insertions(+)
create mode 100644 gnu/packages/patches/audiofile-CVE-2015-7747.patch
create mode 100644 gnu/packages/patches/audiofile-CVE-2018-13440.patch
create mode 100644 gnu/packages/patches/audiofile-CVE-2018-17095.patch
create mode 100644 gnu/packages/patches/audiofile-Check-the-number-of-coefficients.patch
create mode 100644 gnu/packages/patches/audiofile-Fail-on-error-in-parseFormat.patch
create mode 100644 gnu/packages/patches/audiofile-Fix-index-overflow-in-IMA.cpp.patch
create mode 100644 gnu/packages/patches/audiofile-Fix-multiply-overflow-sfconvert.patch
create mode 100644 gnu/packages/patches/audiofile-Fix-overflow-in-MSADPCM-decodeSam.patch
create mode 100644 gnu/packages/patches/audiofile-division-by-zero-BlockCodec-runPull.patch
create mode 100644 gnu/packages/patches/audiofile-fix-datatypes-in-tests.patch
create mode 100644 gnu/packages/patches/audiofile-fix-sign-conversion.patch
create mode 100644 gnu/packages/patches/audiofile-hurd.patch
create mode 100644 gnu/packages/patches/audiofile-signature-of-multiplyCheckOverflow.patch

Toggle diff (465 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index b2938e878b..91afc8f059 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -710,6 +710,19 @@ dist_patch_DATA = \
%D%/packages/patches/ath9k-htc-firmware-gcc.patch \
%D%/packages/patches/ath9k-htc-firmware-objcopy.patch \
%D%/packages/patches/audacity-build-with-system-portaudio.patch \
+ %D%/packages/patches/audiofile-fix-datatypes-in-tests.patch \
+ %D%/packages/patches/audiofile-fix-sign-conversion.patch \
+ %D/packages/patches/audiofile-CVE-2015-7747.patch \
+ %D/packages/patches/audiofile-CVE-2018-13440.patch \
+ %D/packages/patches/audiofile-CVE-2018-17095.patch \
+ %D/packages/patches/audiofile-Check-the-number-of-coefficients.patch \
+ %D/packages/patches/audiofile-Fail-on-error-in-parseFormat.patch \
+ %D/packages/patches/audiofile-Fix-index-overflow-in-IMA.cpp.patch \
+ %D/packages/patches/audiofile-Fix-multiply-overflow-sfconvert.patch \
+ %D/packages/patches/audiofile-Fix-overflow-in-MSADPCM-decodeSam.patch \
+ %D/packages/patches/audiofile-division-by-zero-BlockCodec-runPull.patch \
+ %D/packages/patches/audiofile-hurd.patch \
+ %D/packages/patches/audiofile-signature-of-multiplyCheckOverflow.patch \
%D%/packages/patches/automake-skip-amhello-tests.patch \
%D%/packages/patches/avahi-CVE-2018-1000845.patch \
%D%/packages/patches/avahi-localstatedir.patch \
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 7b0c540d7a..9fff563ad4 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -26,6 +26,7 @@
;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org>
;;; Copyright © 2019 Christopher Lemmer Webber <cwebber@dustycloud.org>
;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
+;;; Copyright © 2019 Hartmt Goebel <h.goebel@crazy-compilers.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -467,6 +468,46 @@ and editing digital audio. It features digital effects and spectrum analysis
tools.")
(license license:gpl2+)))
+(define-public audiofile
+ (package
+ (name "audiofile")
+ (version "0.3.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://audiofile.68k.org/audiofile-" version ".tar.gz"))
+ (sha256
+ (base32 "0rb927zknk9kmhprd8rdr4azql4gn2dp75a36iazx2xhkbqhvind"))
+ (patches
+ (search-patches
+ "audiofile-fix-datatypes-in-tests.patch"
+ "audiofile-fix-sign-conversion.patch"
+ "audiofile-hurd.patch"
+ "audiofile-CVE-2015-7747.patch"
+ "audiofile-Fix-index-overflow-in-IMA.cpp.patch"
+ "audiofile-Check-the-number-of-coefficients.patch"
+ "audiofile-Fix-overflow-in-MSADPCM-decodeSam.patch"
+ "audiofile-Fix-multiply-overflow-sfconvert.patch"
+ "audiofile-signature-of-multiplyCheckOverflow.patch"
+ "audiofile-Fail-on-error-in-parseFormat.patch"
+ "audiofile-division-by-zero-BlockCodec-runPull.patch"
+ "audiofile-CVE-2018-13440.patch"
+ "audiofile-CVE-2018-17095.patch"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("alsa-lib" ,alsa-lib)))
+ (home-page "https://audiofile.68k.org/")
+ (synopsis "Library to handle various audio file formats")
+ (description "This is an open-source version of SGI's audiofile library.
+It provides a uniform programming interface for processing of audio data to
+and from audio files of many common formats.
+
+Currently supported file formats include AIFF/AIFF-C, WAVE, and NeXT/Sun
+.snd/.au, BICS, and raw data. Supported compression formats are currently
+G.711 mu-law and A-law.")
+ (license license:lgpl2.1+)))
+
(define-public autotalent
(package
(name "autotalent")
diff --git a/gnu/packages/patches/audiofile-CVE-2015-7747.patch b/gnu/packages/patches/audiofile-CVE-2015-7747.patch
new file mode 100644
index 0000000000..3325639591
--- /dev/null
+++ b/gnu/packages/patches/audiofile-CVE-2015-7747.patch
@@ -0,0 +1,156 @@
+Description: fix buffer overflow when changing both sample format and
+ number of channels
+Origin: https://github.com/mpruett/audiofile/pull/25
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/audiofile/+bug/1502721
+Bug-Debian: https://bugs.debian.org/801102
+
+--- a/libaudiofile/modules/ModuleState.cpp
++++ b/libaudiofile/modules/ModuleState.cpp
+@@ -402,7 +402,7 @@ status ModuleState::arrange(AFfilehandle
+ addModule(new Transform(outfc, in.pcm, out.pcm));
+
+ if (in.channelCount != out.channelCount)
+- addModule(new ApplyChannelMatrix(infc, isReading,
++ addModule(new ApplyChannelMatrix(outfc, isReading,
+ in.channelCount, out.channelCount,
+ in.pcm.minClip, in.pcm.maxClip,
+ track->channelMatrix));
+--- a/test/Makefile.am
++++ b/test/Makefile.am
+@@ -26,6 +26,7 @@ TESTS = \
+ VirtualFile \
+ floatto24 \
+ query2 \
++ sixteen-stereo-to-eight-mono \
+ sixteen-to-eight \
+ testchannelmatrix \
+ testdouble \
+@@ -139,6 +140,7 @@ printmarkers_SOURCES = printmarkers.c
+ printmarkers_LDADD = $(LIBAUDIOFILE) -lm
+
+ sixteen_to_eight_SOURCES = sixteen-to-eight.c TestUtilities.cpp TestUtilities.h
++sixteen_stereo_to_eight_mono_SOURCES = sixteen-stereo-to-eight-mono.c TestUtilities.cpp TestUtilities.h
+
+ testchannelmatrix_SOURCES = testchannelmatrix.c TestUtilities.cpp TestUtilities.h
+
+--- /dev/null
++++ b/test/sixteen-stereo-to-eight-mono.c
+@@ -0,0 +1,118 @@
++/*
++ Audio File Library
++
++ Copyright 2000, Silicon Graphics, Inc.
++
++ This program is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 2 of the License, or
++ (at your option) any later version.
++
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++
++ You should have received a copy of the GNU General Public License along
++ with this program; if not, write to the Free Software Foundation, Inc.,
++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++*/
++
++/*
++ sixteen-stereo-to-eight-mono.c
++
++ This program tests the conversion from 2-channel 16-bit integers to
++ 1-channel 8-bit integers.
++*/
++
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
++#include <stdint.h>
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <unistd.h>
++#include <limits.h>
++
++#include <audiofile.h>
++
++#include "TestUtilities.h"
++
++int main (int argc, char **argv)
++{
++ AFfilehandle file;
++ AFfilesetup setup;
++ int16_t frames16[] = {14298, 392, 3923, -683, 958, -1921};
++ int8_t frames8[] = {28, 6, -2};
++ int i, frameCount = 3;
++ int8_t byte;
++ AFframecount result;
++
++ setup = afNewFileSetup();
++
++ afInitFileFormat(setup, AF_FILE_WAVE);
++
++ afInitSampleFormat(setup, AF_DEFAULT_TRACK, AF_SAMPFMT_TWOSCOMP, 16);
++ afInitChannels(setup, AF_DEFAULT_TRACK, 2);
++
++ char *testFileName;
++ if (!createTemporaryFile("sixteen-to-eight", &testFileName))
++ {
++ fprintf(stderr, "Could not create temporary file.\n");
++ exit(EXIT_FAILURE);
++ }
++
++ file = afOpenFile(testFileName, "w", setup);
++ if (file == AF_NULL_FILEHANDLE)
++ {
++ fprintf(stderr, "could not open file for writing\n");
++ exit(EXIT_FAILURE);
++ }
++
++ afFreeFileSetup(setup);
++
++ afWriteFrames(file, AF_DEFAULT_TRACK, frames16, frameCount);
++
++ afCloseFile(file);
++
++ file = afOpenFile(testFileName, "r", AF_NULL_FILESETUP);
++ if (file == AF_NULL_FILEHANDLE)
++ {
++ fprintf(stderr, "could not open file for reading\n");
++ exit(EXIT_FAILURE);
++ }
++
++ afSetVirtualSampleFormat(file, AF_DEFAULT_TRACK, AF_SAMPFMT_TWOSCOMP, 8);
++ afSetVirtualChannels(file, AF_DEFAULT_TRACK, 1);
++
++ for (i=0; i<frameCount; i++)
++ {
++ /* Read one frame. */
++ result = afReadFrames(file, AF_DEFAULT_TRACK, &byte, 1);
++
++ if (result != 1)
++ break;
++
++ /* Compare the byte read with its precalculated value. */
++ if (memcmp(&byte, &frames8[i], 1) != 0)
++ {
++ printf("error\n");
++ printf("expected %d, got %d\n", frames8[i], byte);
++ exit(EXIT_FAILURE);
++ }
++ else
++ {
++#ifdef DEBUG
++ printf("got what was expected: %d\n", byte);
++#endif
++ }
++ }
++
++ afCloseFile(file);
++ unlink(testFileName);
++ free(testFileName);
++
++ exit(EXIT_SUCCESS);
++}
diff --git a/gnu/packages/patches/audiofile-CVE-2018-13440.patch b/gnu/packages/patches/audiofile-CVE-2018-13440.patch
new file mode 100644
index 0000000000..ffd65b43b0
--- /dev/null
+++ b/gnu/packages/patches/audiofile-CVE-2018-13440.patch
@@ -0,0 +1,28 @@
+From fde6d79fb8363c4a329a184ef0b107156602b225 Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Thu, 27 Sep 2018 10:48:45 +0200
+Subject: [PATCH] ModuleState: handle compress/decompress init failure
+
+When the unit initcompress or initdecompress function fails,
+m_fileModule is NULL. Return AF_FAIL in that case instead of
+causing NULL pointer dereferences later.
+
+Fixes #49
+---
+ libaudiofile/modules/ModuleState.cpp | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/libaudiofile/modules/ModuleState.cpp b/libaudiofile/modules/ModuleState.cpp
+index 0c29d7a..070fd9b 100644
+--- a/libaudiofile/modules/ModuleState.cpp
++++ b/libaudiofile/modules/ModuleState.cpp
+@@ -75,6 +75,9 @@ status ModuleState::initFileModule(AFfilehandle file, Track *track)
+ m_fileModule = unit->initcompress(track, file->m_fh, file->m_seekok,
+ file->m_fileFormat == AF_FILE_RAWDATA, &chunkFrames);
+
++ if (!m_fileModule)
++ return AF_FAIL;
++
+ if (unit->needsRebuffer)
+ {
+ assert(unit->nativeSampleFormat == AF_SAMPFMT_TWOSCOMP);
diff --git a/gnu/packages/patches/audiofile-CVE-2018-17095.patch b/gnu/packages/patches/audiofile-CVE-2018-17095.patch
new file mode 100644
index 0000000000..231021b9fc
--- /dev/null
+++ b/gnu/packages/patches/audiofile-CVE-2018-17095.patch
@@ -0,0 +1,26 @@
+From 822b732fd31ffcb78f6920001e9b1fbd815fa712 Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Thu, 27 Sep 2018 12:11:12 +0200
+Subject: [PATCH] SimpleModule: set output chunk framecount after pull
+
+After pulling the data, set the output chunk to the amount of
+frames we pulled so that the next module in the chain has the correct
+frame count.
+
+Fixes #50 and #51
+---
+ libaudiofile/modules/SimpleModule.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/libaudiofile/modules/SimpleModule.cpp b/libaudiofile/modules/SimpleModule.cpp
+index 2bae1eb..e87932c 100644
+--- a/libaudiofile/modules/SimpleModule.cpp
++++ b/libaudiofile/modules/SimpleModule.cpp
+@@ -26,6 +26,7 @@
+ void SimpleModule::runPull()
+ {
+ pull(m_outChunk->frameCount);
++ m_outChunk->frameCount = m_inChunk->frameCount;
+ run(*m_inChunk, *m_outChunk);
+ }
+
diff --git a/gnu/packages/patches/audiofile-Check-the-number-of-coefficients.patch b/gnu/packages/patches/audiofile-Check-the-number-of-coefficients.patch
new file mode 100644
index 0000000000..f9427cbe61
--- /dev/null
+++ b/gnu/packages/patches/audiofile-Check-the-number-of-coefficients.patch
@@ -0,0 +1,30 @@
+From: Antonio Larrosa <larrosa@kde.org>
+Date: Mon, 6 Mar 2017 12:51:22 +0100
+Subject: Always check the number of coefficients
+
+When building the library with NDEBUG, asserts are eliminated
+so it's better to always check that the number of coefficients
+is inside the array range.
+
+This fixes the 00191-audiofile-indexoob issue in #41
+---
+ libaudiofile/WAVE.cpp | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/libaudiofile/WAVE.cpp b/libaudiofile/WAVE.cpp
+index 9dd8511..0fc48e8 100644
+--- a/libaudiofile/WAVE.cpp
++++ b/libaudiofile/WAVE.cpp
+@@ -281,6 +281,12 @@ status WAVEFile::parseFormat(const Tag &id, uint32_t size)
+
+ /* numCoefficients should be at least 7. */
+ assert(numCoefficients >= 7 && numCoefficients <= 255);
++ if (numCoefficients < 7 || numCoefficients > 255)
++ {
++ _af_error(AF_BAD_HEADER,
++ "Bad number of coefficients");
++ return AF_FAIL;
++ }
+
+ m_msadpcmNumCoefficients = numCoefficients;
+
diff --git a/gnu/packages/patches/audiofile-Fail-on-error-in-parseFormat.patch b/gnu/packages/patches/audiofile-Fail-on-error-in-parseFormat.patch
new file mode 100644
index 0000000000..50cd3dc9a3
--- /dev/null
+++ b/gnu/packages/patches/audiofile-Fail-on-error-in-parseFormat.patch
@@ -0,0 +1,36 @@
+From: Antonio Larrosa <larrosa@kde.org>
+Date: Mon, 6 Mar 2017 18:59:26 +0100
+Subject: Actually fail when error occurs in parseFormat
+
+When there's an unsupported number of bits per sample or an invalid
+number of samples per block, don't only print an error message using
+the error handler, but actually stop parsing the file.
+
+This fixes #35 (also reported at
+https://bugzilla.opensuse.org/show_bug.cgi?id=1026983 and
+https://blogs.gentoo.org/ago/2017/02/20/audiofile-heap-based-buffer-overflow-in-imadecodeblockwave-ima-cpp/
+)
+---
+ libaudiofile/WAVE.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/libaudiofile/WAVE.cpp b/libaudiofile/WAVE.cpp
+index 0fc48e8..d04b796 100644
+--- a/libaudiofile/WAVE.cpp
++++ b/libaudiofile/WAVE.cpp
+@@ -332,6 +332,7 @@ status WAVEFile::parseFormat(const Tag &id, uint32_t size)
+ {
+ _af_error(AF_BAD_NOT_IMPLEMENTED,
+ "IMA ADPCM compression supports only 4 bits per sample");
++ return AF_FAIL;
+ }
+
+ int bytesPerBlock = (samplesPerBlock + 14) / 8 * 4 * channelCount;
+@@ -339,6 +340,7 @@ status WAVEFile::parseFormat(const Tag &id, uint32_t size)
+ {
+ _af_error(AF_BAD_CODEC_CONFIG,
+ "Invalid samples per block for IMA ADPCM compression");
++ return AF_FAIL;
+ }
+
+ track->f.sampleWidth = 16;
diff --git a/gnu/packages/patches/audiofile-Fix-index-overflow-in-IMA.cpp.patch b/gnu/packages/patches/audiofile-Fix-index-overflow-in-IMA.cpp.patch
new file mode 100644
index 0000000000..c1047af06c
--- /dev/null
+++ b/gnu/packages/patches/audiofile-Fix-index-overflow-in-IMA.cpp.patch
@@ -0,0 +1,33 @@
+From: Antonio Larrosa <larrosa@kde.org>
+Date: Mon, 6 Mar 2017 18:02:31 +0100
+Subject: clamp index values to fix index overflow in IMA.cpp
+
+This fixes #33
+(also reported at https://bugzilla.opensuse.org/show_bug.cgi?id=1026981
+and https://blogs.gentoo.org/ago/2017/02/20/audiofile-global-buffer-overflow-in-decodesample-ima-cpp/)
+---
+ libaudiofile/modules/IMA.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libaudiofile/modules/IMA.cpp b/libaudiofile/modules/IMA.cpp
+index 7476d44..df4aad6 100644
+--- a/libaudiofile/modules/IMA.cpp
++++ b/libaudiofile/modules/IMA.cpp
+@@ -169,7 +169,7 @@ int IMA::decodeBlockWAVE(const uint8_t *encoded, int16_t *decoded)
+ if (encoded[1] & 0x80)
+ m_adpcmState[c].previousValue -= 0x10000;
+
+- m_adpcmState[c].index = encoded[2];
++ m_adpcmState[c].index = clamp(encoded[2], 0, 88);
+
+ *decoded++ = m_adpcmState[c].previousValue;
+
+@@ -210,7 +210,7 @@ int IMA::decodeBlockQT(const uint8_t *encoded, int16_t *decoded)
+ predictor -= 0x10000;
+
+ state.previousValue = clamp(predictor, MIN_INT16, MAX_INT16);
+- state.index = encoded[1] & 0x7f;
++ state.index = clamp(encoded[1] & 0x7f, 0, 88);
+ encoded += 2;
+
+ for (int n=0; n<m_framesPerPacket; n+=2)
diff --git a/gnu/packages/patches/audiofile-Fix-multiply-overflow-sfconvert.patch b/gnu/packages/patches/audiofile-Fix-multiply-overflow-sfconvert.patch
new file mode 100644
index 0000000000..0f17140d6b
--- /dev/null
+++ b/gnu/packages/patches/audiofile-Fix-multiply-overflow-sfconvert.patch
@@ -0,0 +1,66 @@
+From: Antonio Larrosa <larrosa@kde.org>
+Date: Mon, 6 Mar 2017 13:54:52 +0100
+Subject: Check for multiplication overflow in sfconvert
+
+Checks that a multiplication doesn't overflow when
+calculating the buffer size, and if it overflows,
+reduce the buffer size instead of failing.
+
+This fixes the 00192-audiofile-signintoverflow-sfconvert case
+in #41
+---
+ sfcommands/sfconvert.c | 34 ++++++++++++++++++++++++++++++++--
+ 1 file changed, 32 insertions(+), 2 deletions(-)
+
+diff --git a/sfcommands/sfconvert.c b/sfcommands/sfconvert.c
+index 80a1bc4..970a3e4 100644
+--- a/sfcommands/sfconvert.c
++++ b/sfcommands/sfconvert.c
+@@ -45,6 +45,33 @@ void printusage (void);
+ void usageerror (void);
+ bool copyaudiodata (AFfilehandle infile, AFfilehandle outfile, int trackid);
+
++int firstBitSet(int x)
++{
++ int position=0;
++ while (x!=0)
++ {
++ x>>=1;
++ ++position;
++ }
++ re
This message was truncated. Download the full message here.
Hartmut Goebel wrote 5 years ago
[PATCH 02/11] gnu: Add dragon.
(address . 38532@debbugs.gnu.org)
20191208164355.7374-2-h.goebel@crazy-compilers.com
* gnu/packages/kde-multimedia.scm: New file.
* gnu/lokal.mk (MODULES): Add it.
---
gnu/local.mk | 1 +
gnu/packages/kde-multimedia.scm | 73 +++++++++++++++++++++++++++++++++
2 files changed, 74 insertions(+)
create mode 100644 gnu/packages/kde-multimedia.scm

Toggle diff (93 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 91afc8f059..ecff13b540 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -279,6 +279,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/kawa.scm \
%D%/packages/kde.scm \
%D%/packages/kde-frameworks.scm \
+ %D%/packages/kde-multimedia.scm \
%D%/packages/kde-plasma.scm \
%D%/packages/kerberos.scm \
%D%/packages/key-mon.scm \
diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
new file mode 100644
index 0000000000..e828f97e6e
--- /dev/null
+++ b/gnu/packages/kde-multimedia.scm
@@ -0,0 +1,73 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2017, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages kde-multimedia)
+ #:use-module (guix build-system qt)
+ #:use-module (guix download)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix utils)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages kde-frameworks)
+ #:use-module (gnu packages qt))
+
+(define-public dragon
+ (package
+ (name "dragon")
+ (version "19.08.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/applications/" version
+ "/src/dragon-" version ".tar.xz"))
+ (sha256
+ (base32 "02l16k4sgrxbczxp8rlnxbylb5fmjh4zhl4xw55qxkvmvxnjy5zr"))))
+ (properties `((tags . ("Desktop" "KDE" "Multimedia"))))
+ (build-system qt-build-system)
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("kdoctools" ,kdoctools)))
+ (inputs
+ `(("kconfig" ,kconfig)
+ ("kconfigwidgets" ,kconfigwidgets)
+ ("kcoreaddons" ,kcoreaddons)
+ ("kcrash" ,kcrash)
+ ("kdbusaddons" ,kdbusaddons)
+ ("ki18n" ,ki18n)
+ ("kio" ,kio)
+ ("kjobwidgets" ,kjobwidgets)
+ ("knotifications" ,knotifications)
+ ("kparts" ,kparts)
+ ("kwidgetsaddons" ,kwidgetsaddons)
+ ("kwindowsystem" ,kwindowsystem)
+ ("kxmlgui" ,kxmlgui)
+ ("oxygen-icons" ,oxygen-icons) ; default icon set
+ ("phonon" ,phonon)
+ ("phonon-backend-gstreamer" ,phonon-backend-gstreamer)
+ ("qtbase" ,qtbase)
+ ("solid" ,solid)))
+ (home-page "https://kde.org/applications/multimedia/org.kde.dragonplayer")
+ (synopsis "Simple video player")
+ (description "Dragon Player is a multimedia player where the focus is on
+simplicity, instead of features. Dragon Player does one thing, and only one
+thing, which is playing multimedia files. It's simple interface is designed
+not to get in your way and instead empower you to simply play multimedia
+files.
+
+This package is part of the KDE multimedia module.")
+ (license (list license:gpl2+ license:fdl1.2+))))
--
2.21.0
Hartmut Goebel wrote 5 years ago
[PATCH 03/11] gnu: Add juk.
(address . 38532@debbugs.gnu.org)
20191208164355.7374-3-h.goebel@crazy-compilers.com
* gnu/packages/kde-multimedia.scm (juk): New variable.
---
gnu/packages/kde-multimedia.scm | 57 +++++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)

Toggle diff (74 lines)
diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
index e828f97e6e..a55ae569a4 100644
--- a/gnu/packages/kde-multimedia.scm
+++ b/gnu/packages/kde-multimedia.scm
@@ -24,6 +24,7 @@
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages kde-frameworks)
+ #:use-module (gnu packages mp3)
#:use-module (gnu packages qt))
(define-public dragon
@@ -71,3 +72,59 @@ files.
This package is part of the KDE multimedia module.")
(license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public juk
+ (package
+ (name "juk")
+ (version "19.08.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/applications/" version
+ "/src/juk-" version ".tar.xz"))
+ (sha256
+ (base32 "0c1hrd1n4ah7qm8xr7bfswgbcmbvnnhai4bfawx6v6ab3frl7wvf"))))
+ (properties `((tags . ("Desktop" "KDE" "Multimedia"))))
+ (build-system qt-build-system)
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)))
+ (inputs
+ `(("kcoreaddons" ,kcoreaddons)
+ ("kcompletion" ,kcompletion)
+ ("kconfig" ,kconfig)
+ ("kcrash" ,kcrash)
+ ("kdbusaddons" ,kdbusaddons)
+ ("kdoctools" ,kdoctools)
+ ("kglobalaccel" ,kglobalaccel)
+ ("ki18n" ,ki18n)
+ ("kiconthemes" ,kiconthemes)
+ ("kjobwidgets" ,kjobwidgets)
+ ("kio" ,kio)
+ ("knotifications" ,knotifications)
+ ("ktextwidgets" ,ktextwidgets)
+ ("kwallet" ,kwallet)
+ ("kwidgetsaddons" ,kwidgetsaddons)
+ ("kwindowsystem" ,kwindowsystem)
+ ("kxmlgui" ,kxmlgui)
+ ("oxygen-icons" ,oxygen-icons) ; default icon set
+ ("phonon" ,phonon)
+ ("phonon-backend-gstreamer" ,phonon-backend-gstreamer)
+ ("qtbase" ,qtbase)
+ ("qtsvg" ,qtsvg)
+ ("taglib" ,taglib)))
+ (home-page "https://kde.org/applications/multimedia/org.kde.juk")
+ (synopsis "Music jukebox / music player")
+ (description "JuK is a powerful music player capable of managing a large
+music collection.
+
+Some of JuK's features include:
+@itemize
+@item Music collection, playlists, and smart playlists
+@item Tag editing support, including the ability to edit multiple files at once
+@item Tag-based music file organization and renaming
+@item CD burning support using k3b
+@item Album art using Google Image Search
+@end itemize
+
+This package is part of the KDE multimedia module.")
+ (license license:gpl2+)))
--
2.21.0
Hartmut Goebel wrote 5 years ago
[PATCH 04/11] gnu: Add k3b.
(address . 38532@debbugs.gnu.org)
20191208164355.7374-4-h.goebel@crazy-compilers.com
* gnu/packages/kde-multimedia.scm (k3b): New variable.
---
gnu/packages/kde-multimedia.scm | 69 ++++++++++++++++++++++++++++++++-
1 file changed, 68 insertions(+), 1 deletion(-)

Toggle diff (88 lines)
diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
index a55ae569a4..cb94b87d6b 100644
--- a/gnu/packages/kde-multimedia.scm
+++ b/gnu/packages/kde-multimedia.scm
@@ -23,9 +23,16 @@
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (gnu packages)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages gnome)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages mp3)
- #:use-module (gnu packages qt))
+ #:use-module (gnu packages music)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages pulseaudio)
+ #:use-module (gnu packages qt)
+ #:use-module (gnu packages video)
+ #:use-module (gnu packages xiph))
(define-public dragon
(package
@@ -128,3 +135,63 @@ Some of JuK's features include:
This package is part of the KDE multimedia module.")
(license license:gpl2+)))
+
+(define-public k3b
+ (package
+ (name "k3b")
+ (version "19.08.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/applications/" version
+ "/src/k3b-" version ".tar.xz"))
+ (sha256
+ (base32 "08rbiy1hz650srdksr7ciq8dpcz20wczs22613pghrpgm5zsczhr"))))
+ (properties `((tags . ("Desktop" "KDE" "Multimedia"))))
+ (build-system qt-build-system)
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("pkg-config" ,pkg-config)
+ ("kdoctools" ,kdoctools)))
+ (inputs
+ `(("ffmpeg" ,ffmpeg)
+ ("flac" ,flac)
+ ("karchive" ,karchive)
+ ("kcmutils" ,kcmutils)
+ ("kconfig" ,kconfig)
+ ("kcoreaddons" ,kcoreaddons)
+ ("kfilemetadata" ,kfilemetadata)
+ ("ki18n" ,ki18n)
+ ("kiconthemes" ,kiconthemes)
+ ("kio" ,kio)
+ ("kjobwidgets" ,kjobwidgets)
+ ("knewstuff" ,knewstuff)
+ ("knotifications" ,knotifications)
+ ("knotifyconfig" ,knotifyconfig)
+ ("kservice" ,kservice)
+ ("kwidgetsaddons" ,kwidgetsaddons)
+ ("kxmlgui" ,kxmlgui)
+ ("lame" ,lame)
+ ("libdvdread" ,libdvdread)
+ ;; TODO: LibFuzzer
+ ("libiconv" ,libiconv)
+ ("libkcddb" ,libkcddb)
+ ("libmad" ,libmad)
+ ("libmpcdec" ,libmpcdec) ;; FIXME: why does cmake not find this?
+ ;;("libmusicbrainz" ,libmusicbrainz) ; wants old version 2
+ ("libsamplerate" ,libsamplerate)
+ ("libsndfile" ,libsndfile)
+ ("libvorbis" ,libvorbis)
+ ("oxygen-icons" ,oxygen-icons) ; default icon set
+ ("qtbase" ,qtbase)
+ ("qtwebkit" ,qtwebkit)
+ ("shared-mime-info" ,shared-mime-info)
+ ("solid" ,solid)
+ ("taglib" ,taglib)))
+ (home-page "https://kde.org/applications/multimedia/org.kde.k3b")
+ (synopsis "Sophisticated CD/DVD burning application")
+ (description "K3b is CD-writing software which intends to be feature-rich
+and provide an easily usable interface. Features include burning audio CDs
+from .WAV and .MP3 audio files, configuring external programs and configuring
+devices.")
+ (license (list license:gpl2+ license:fdl1.2+))))
--
2.21.0
Hartmut Goebel wrote 5 years ago
[PATCH 05/11] gnu: Add libkcddb.
(address . 38532@debbugs.gnu.org)
20191208164355.7374-5-h.goebel@crazy-compilers.com
* gnu/packages/kde-multimedia.scm (libkcddb): New variable.
---
gnu/packages/kde-multimedia.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
index cb94b87d6b..6a989fd32d 100644
--- a/gnu/packages/kde-multimedia.scm
+++ b/gnu/packages/kde-multimedia.scm
@@ -195,3 +195,35 @@ and provide an easily usable interface. Features include burning audio CDs
from .WAV and .MP3 audio files, configuring external programs and configuring
devices.")
(license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public libkcddb
+ (package
+ (name "libkcddb")
+ (version "19.08.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/applications/" version
+ "/src/libkcddb-" version ".tar.xz"))
+ (sha256
+ (base32 "1rla9sfzpdfiki0p265ga6d1axqpq37825maaw85hm84mg7hkzjn"))))
+ (properties `((tags . ("Desktop" "KDE" "Multimedia"))))
+ (build-system qt-build-system)
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("kdoctools" ,kdoctools)))
+ (inputs
+ `(("kcodecs" ,kcodecs)
+ ("kconfig" ,kconfig)
+ ("ki18n" ,ki18n)
+ ("kio" ,kio)
+ ("kwidgetsaddons" ,kwidgetsaddons)
+ ("libmusicbrainz" ,libmusicbrainz)
+ ("qtbase" ,qtbase)))
+ (arguments
+ `(#:tests? #f ; Most tests require network
+ #:configure-flags '("-DBUILD_TESTING=OFF"))) ; not run anyway
+ (home-page "https://cgit.kde.org/libkcddb.git")
+ (synopsis "CDDB library for KDE Platform (runtime)")
+ (description "A library for retrieving and sending cddb information.")
+ (license (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
--
2.21.0
Hartmut Goebel wrote 5 years ago
[PATCH 06/11] gnu: Add kaffeine.
(address . 38532@debbugs.gnu.org)
20191208164355.7374-6-h.goebel@crazy-compilers.com
* gnu/packages/kde-multimedia.scm (kaffeine): New variable.
---
gnu/packages/kde-multimedia.scm | 61 ++++++++++++++++++++++++++++++++-
1 file changed, 60 insertions(+), 1 deletion(-)

Toggle diff (84 lines)
diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
index 6a989fd32d..e2f0a10948 100644
--- a/gnu/packages/kde-multimedia.scm
+++ b/gnu/packages/kde-multimedia.scm
@@ -26,13 +26,15 @@
#:use-module (gnu packages base)
#:use-module (gnu packages gnome)
#:use-module (gnu packages kde-frameworks)
+ #:use-module (gnu packages linux)
#:use-module (gnu packages mp3)
#:use-module (gnu packages music)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages qt)
#:use-module (gnu packages video)
- #:use-module (gnu packages xiph))
+ #:use-module (gnu packages xiph)
+ #:use-module (gnu packages xorg))
(define-public dragon
(package
@@ -227,3 +229,60 @@ devices.")
(synopsis "CDDB library for KDE Platform (runtime)")
(description "A library for retrieving and sending cddb information.")
(license (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
+
+(define-public kaffeine
+ (package
+ (name "kaffeine")
+ (version "2.0.18")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/kaffeine"
+ "/kaffeine-" version ".tar.xz"))
+ (sha256
+ (base32 "10dnhr9v2jlki44i3gmjagky66ybixmv6f29z5imk9clgddrlyfr"))))
+ (properties `((tags . ("Desktop" "KDE" "Multimedia"))))
+ (build-system qt-build-system)
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("pkg-config" ,pkg-config)
+ ("kdoctools" ,kdoctools)))
+ (inputs
+ `(("eudev" ,eudev)
+ ("kcoreaddons" ,kcoreaddons)
+ ("kdbusaddons" ,kdbusaddons)
+ ("ki18n" ,ki18n)
+ ("kio" ,kio)
+ ("kwidgetsaddons" ,kwidgetsaddons)
+ ("kwindowsystem" ,kwindowsystem)
+ ("kxmlgui" ,kxmlgui)
+ ("libxscrnsaver" ,libxscrnsaver)
+ ;;("oxygen-icons" ,oxygen-icons) ; default icon set
+ ("qtbase" ,qtbase)
+ ("qtx11extras" ,qtx11extras)
+ ("solid" ,solid)
+ ("v4l-utils" ,v4l-utils) ; libdvbv5
+ ("vlc" ,vlc)))
+ ;;/tmp/guix-build-kaffeine-2.0.18.drv-0/kaffeine-2.0.18/src/dvb/dvbrecording.cpp:476:73: error: conversion to non-const reference type ‘class QString&&’ from rvalue of type ‘QString’ [-fpermissive]
+ ;;qCDebug(logDvb, "name and priority %s %s", qPrintable(listRec->name), qPrintable(listRec->priority));
+ (arguments
+ `(;;#:configure-flags '("-DBUILD_TESTING=ON")
+ ;;#:tests? #f ; tests fail hard in our build environment
+ #:phases
+ (modify-phases (@ (guix build qt-build-system) %standard-phases)
+ (add-after 'unpack 'fix-code
+ (lambda _
+ (substitute* "src/dvb/dvbdevice_linux.cpp"
+ (("\\s*qPrintable\\(transponder\\.getTransmissionType\\(\\)\\)\\);")
+ "transponder.getTransmissionType());"))
+ #t)))))
+ (home-page "https://kde.org/applications/multimedia/org.kde.kaffeine")
+ (synopsis "Versatile media player for KDE")
+ (description "Kaffeine is a media player for KDE. While it supports
+multiple Phonon backends, its default backend is Xine, giving Kaffeine a wide
+variety of supported media types and letting Kaffeine access CDs, DVDs, and
+network streams easily.
+
+Kaffeine can keep track of multiple playlists simultaneously, and supports
+autoloading of subtitle files for use while playing video.")
+ (license (list license:gpl2+ license:fdl1.2+))))
--
2.21.0
Hartmut Goebel wrote 5 years ago
[PATCH 07/11] gnu: Add kmix.
(address . 38532@debbugs.gnu.org)
20191208164355.7374-7-h.goebel@crazy-compilers.com
* gnu/packages/kde-multimedia.scm (kmix): New variable.
---
gnu/packages/kde-multimedia.scm | 49 +++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)

Toggle diff (68 lines)
diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
index e2f0a10948..fad5b75b2a 100644
--- a/gnu/packages/kde-multimedia.scm
+++ b/gnu/packages/kde-multimedia.scm
@@ -24,8 +24,10 @@
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages base)
+ #:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages kde-frameworks)
+ #:use-module (gnu packages libcanberra)
#:use-module (gnu packages linux)
#:use-module (gnu packages mp3)
#:use-module (gnu packages music)
@@ -286,3 +288,50 @@ network streams easily.
Kaffeine can keep track of multiple playlists simultaneously, and supports
autoloading of subtitle files for use while playing video.")
(license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public kmix
+ (package
+ (name "kmix")
+ (version "19.08.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/applications/" version
+ "/src/kmix-" version ".tar.xz"))
+ (sha256
+ (base32 "1g42hlmpdf0rrgqapps6v47z9cnwpkfzpwgavaq26m5k3bpanwfg"))))
+ (properties `((tags . ("Desktop" "KDE" "Multimedia"))))
+ (build-system qt-build-system)
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("glib" ,glib)
+ ("kconfigwidgets" ,kconfigwidgets)
+ ("kcompletion" ,kcompletion)
+ ("kconfig" ,kconfig)
+ ("kconfigwidgets" ,kconfigwidgets)
+ ("kcrash" ,kcrash)
+ ("kdbusaddons" ,kdbusaddons)
+ ("kdoctools" ,kdoctools)
+ ("kglobalaccel" ,kglobalaccel)
+ ("ki18n" ,ki18n)
+ ("kiconthemes" ,kiconthemes)
+ ("knotifications" ,knotifications)
+ ("kwidgetsaddons" ,kwidgetsaddons)
+ ("kwindowsystem" ,kwindowsystem)
+ ("kxmlgui" ,kxmlgui)
+ ("libcanberra" ,libcanberra)
+ ("oxygen-icons" ,oxygen-icons) ; default icon set
+ ("plasma-framework" ,plasma-framework)
+ ("pulseaudio" ,pulseaudio)
+ ("qtbase" ,qtbase)
+ ("solid" ,solid)))
+ (home-page "https://kde.org/applications/multimedia/org.kde.kmix")
+ (synopsis "Volume control and mixer")
+ (description "KMix is an audio device mixer, used to adjust volume, select
+recording inputs, and set other hardware options.
+
+This package is part of the KDE multimedia module.")
+ (license (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
--
2.21.0
Hartmut Goebel wrote 5 years ago
[PATCH 08/11] gnu: Add kmplayer.
(address . 38532@debbugs.gnu.org)
20191208164355.7374-8-h.goebel@crazy-compilers.com
`guix lint` reports two CVEs, both are unrelated:
- CVE-2018-5200: for vendor "pandora" and some 4.2.2.x version
- CVE-2019-9133: windows only (I assume it it alsow relates to the "pandora"
vendor, since the version the CVE refers to as "solving the issue" does not
exist at KDE.)

* gnu/packages/kde-multimedia.scm (kmplayer): New variable.
* gnu/packages/patches/kmplayer-aarch64.patch,
gnu/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch: New
files.
* gnu/local.mk: Add them.
---
gnu/local.mk | 2 +
gnu/packages/kde-multimedia.scm | 66 +++++++++++++++++++
gnu/packages/patches/kmplayer-aarch64.patch | 57 ++++++++++++++++
...layer-upstream_Fix-build-with-Qt-5.9.patch | 42 ++++++++++++
4 files changed, 167 insertions(+)
create mode 100644 gnu/packages/patches/kmplayer-aarch64.patch
create mode 100644 gnu/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch

Toggle diff (200 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index ecff13b540..6b631f945f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1037,6 +1037,8 @@ dist_patch_DATA = \
%D%/packages/patches/kmod-module-directory.patch \
%D%/packages/patches/kmscon-runtime-keymap-switch.patch \
%D%/packages/patches/kpackage-allow-external-paths.patch \
+ %D/packages/patches/kmplayer-aarch64.patch \
+ %D/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch \
%D%/packages/patches/kpmcore-fix-tests.patch \
%D%/packages/patches/kpmcore-remove-broken-test.patch \
%D%/packages/patches/kobodeluxe-paths.patch \
diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
index fad5b75b2a..17f4cb7e06 100644
--- a/gnu/packages/kde-multimedia.scm
+++ b/gnu/packages/kde-multimedia.scm
@@ -335,3 +335,69 @@ recording inputs, and set other hardware options.
This package is part of the KDE multimedia module.")
(license (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
+
+(define-public kmplayer
+ (package
+ (name "kmplayer")
+ (version "0.12.0b")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/kmplayer/0.12"
+ "/kmplayer-" version ".tar.bz2"))
+ (sha256
+ (base32 "0wzdxym4fc83wvqyhcwid65yv59a2wvp1lq303cn124mpnlwx62y"))
+ (patches (search-patches
+ "kmplayer-aarch64.patch"
+ "kmplayer-upstream_Fix-build-with-Qt-5.9.patch"))))
+ (properties `((tags . ("Desktop" "KDE" "Multimedia"))))
+ (build-system qt-build-system)
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("pkg-config" ,pkg-config)
+ ("kdoctools" ,kdoctools)))
+ (inputs
+ `(("kconfig" ,kconfig)
+ ("kcoreaddons" ,kcoreaddons)
+ ("kdelibs4support" ,kdelibs4support)
+ ("ki18n" ,ki18n)
+ ("kinit" ,kinit)
+ ("kio" ,kio)
+ ("kparts" ,kparts)
+ ("kmediaplayer" ,kmediaplayer)
+ ("kwidgetsaddons" ,kwidgetsaddons)
+ ("libxcb" ,libxcb) ;; FIXME: why does cmake not find XEVIE and XPRINT?
+ ("oxygen-icons" ,oxygen-icons) ; default icon set
+ ("phonon" ,phonon)
+ ("qtbase" ,qtbase)
+ ("cairo" ,cairo)
+ ("qtsvg" ,qtsvg)
+ ("qtx11extras" ,qtx11extras)
+ ("xcb-util" ,xcb-util)
+ ("xcb-util-cursor" ,xcb-util-cursor)
+ ("xcb-util-errors" ,xcb-util-errors)
+ ("xcb-util-image" ,xcb-util-image)
+ ("xcb-util-keysyms" ,xcb-util-keysyms)
+ ("xcb-util-wm" ,xcb-util-wm)))
+ (arguments
+ `(#:configure-flags
+ (list (string-append
+ "-DCMAKE_CXX_FLAGS=-I"
+ (assoc-ref %build-inputs "qtx11extras") "/include/qt5"))))
+ (home-page "https://kde.org/applications/multimedia/org.kde.kmplayer")
+ (synopsis "Media player using mplayer/phonon as backend")
+ (description "Kmplayer can play all the audio/video supported by
+mplayer/phonon from a local file or URL and be embedded in Konqueror and
+KHTML. It also plays DVDs.
+
+Some features:
+@itemize
+@item play DVD/VCD movies (from file or url and from a video device)
+@item embed inside konqueror (movie is played inside konqueror)
+@item embed inside khtml (movie playback inside a html page)
+@item Movie recording using mencoder (part of the mplayer package)
+@item No video during recording, but you can always open a new window and play it
+@item Broadcasting, http streaming, using ffserver/ffmpeg
+@item For TV sources, you need v4lctl (part of the xawtv package)
+@end itemize")
+ (license (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
diff --git a/gnu/packages/patches/kmplayer-aarch64.patch b/gnu/packages/patches/kmplayer-aarch64.patch
new file mode 100644
index 0000000000..76f713be96
--- /dev/null
+++ b/gnu/packages/patches/kmplayer-aarch64.patch
@@ -0,0 +1,57 @@
+Index: b/src/moz-sdk/prcpucfg.h
+===================================================================
+--- a/src/moz-sdk/prcpucfg.h
++++ b/src/moz-sdk/prcpucfg.h
+@@ -288,6 +288,52 @@
+ #define PR_BYTES_PER_WORD_LOG2 3
+ #define PR_BYTES_PER_DWORD_LOG2 3
+
++#elif defined(__aarch64__)
++
++#define IS_LITTLE_ENDIAN 1
++#undef IS_BIG_ENDIAN
++#define IS_64
++
++#define PR_BYTES_PER_BYTE 1
++#define PR_BYTES_PER_SHORT 2
++#define PR_BYTES_PER_INT 4
++#define PR_BYTES_PER_INT64 8
++#define PR_BYTES_PER_LONG 8
++#define PR_BYTES_PER_FLOAT 4
++#define PR_BYTES_PER_DOUBLE 8
++#define PR_BYTES_PER_WORD 8
++#define PR_BYTES_PER_DWORD 8
++
++#define PR_BITS_PER_BYTE 8
++#define PR_BITS_PER_SHORT 16
++#define PR_BITS_PER_INT 32
++#define PR_BITS_PER_INT64 64
++#define PR_BITS_PER_LONG 64
++#define PR_BITS_PER_FLOAT 32
++#define PR_BITS_PER_DOUBLE 64
++#define PR_BITS_PER_WORD 64
++
++#define PR_BITS_PER_BYTE_LOG2 3
++#define PR_BITS_PER_SHORT_LOG2 4
++#define PR_BITS_PER_INT_LOG2 5
++#define PR_BITS_PER_INT64_LOG2 6
++#define PR_BITS_PER_LONG_LOG2 6
++#define PR_BITS_PER_FLOAT_LOG2 5
++#define PR_BITS_PER_DOUBLE_LOG2 6
++#define PR_BITS_PER_WORD_LOG2 6
++
++#define PR_ALIGN_OF_SHORT 2
++#define PR_ALIGN_OF_INT 4
++#define PR_ALIGN_OF_LONG 8
++#define PR_ALIGN_OF_INT64 8
++#define PR_ALIGN_OF_FLOAT 4
++#define PR_ALIGN_OF_DOUBLE 8
++#define PR_ALIGN_OF_POINTER 8
++#define PR_ALIGN_OF_WORD 8
++
++#define PR_BYTES_PER_WORD_LOG2 3
++#define PR_BYTES_PER_DWORD_LOG2 3
++
+ #elif defined(__mc68000__)
+
+ #undef IS_LITTLE_ENDIAN
diff --git a/gnu/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch b/gnu/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch
new file mode 100644
index 0000000000..6a40dbe347
--- /dev/null
+++ b/gnu/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch
@@ -0,0 +1,42 @@
+From 3def65075c09af4961cd399e8e78ed78cca72e65 Mon Sep 17 00:00:00 2001
+From: Wolfgang Bauer <wbauer@tmo.at>
+Date: Wed, 11 Oct 2017 22:16:02 +0200
+Subject: [PATCH] Fix build with Qt 5.9
+
+Summary:
+moc 5.9 errors out when building:
+Error: Plugin Metadata file "" could not be opened: file to open is a directory
+
+Same issue and fix as https://phabricator.kde.org/D5392 for khtml.
+
+CCBUG: 377490
+
+Test Plan: builds fine now with Qt 5.9.0rc and also earlier versions.
+
+Reviewers: vriezen, pino
+
+Reviewed By: pino
+
+Subscribers: pino
+
+Differential Revision: https://phabricator.kde.org/D5985
+---
+ src/kmplayer_part.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/kmplayer_part.h b/src/kmplayer_part.h
+index f90f85d..0fddbaa 100644
+--- a/src/kmplayer_part.h
++++ b/src/kmplayer_part.h
+@@ -36,7 +36,7 @@ namespace KMPlayer {
+
+ class KMPlayerFactory : public KPluginFactory {
+ Q_OBJECT
+- Q_PLUGIN_METADATA(IID "org.kde.KPluginFactory" FILE "")
++ Q_PLUGIN_METADATA(IID "org.kde.KPluginFactory")
+ Q_INTERFACES(KPluginFactory)
+ public:
+ KMPlayerFactory();
+--
+2.14.2
+
--
2.21.0
Hartmut Goebel wrote 5 years ago
[PATCH 09/11] gnu: Add kwave.
(address . 38532@debbugs.gnu.org)
20191208164355.7374-9-h.goebel@crazy-compilers.com
* gnu/packages/kde-multimedia.scm (kwave): New variable.
---
gnu/packages/kde-multimedia.scm | 80 +++++++++++++++++++++++++++++++++
1 file changed, 80 insertions(+)

Toggle diff (99 lines)
diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
index 17f4cb7e06..924cf48536 100644
--- a/gnu/packages/kde-multimedia.scm
+++ b/gnu/packages/kde-multimedia.scm
@@ -23,8 +23,11 @@
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (gnu packages)
+ #:use-module (gnu packages audio)
#:use-module (gnu packages base)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages libcanberra)
@@ -401,3 +404,80 @@ Some features:
@item For TV sources, you need v4lctl (part of the xawtv package)
@end itemize")
(license (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
+
+(define-public kwave
+ (package
+ (name "kwave")
+ (version "19.08.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/applications/" version
+ "/src/kwave-" version ".tar.xz"))
+ (sha256
+ (base32 "1vv3m3h9mvjr9sxajccqnvcgvz901n3qxhki0g7vsljvh31x5s5x"))))
+ (properties `((tags . ("Desktop" "KDE" "Multimedia"))))
+ (build-system qt-build-system)
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("librsvg" ,librsvg)
+ ("pkg-config" ,pkg-config)
+ ("kdoctools" ,kdoctools)))
+ (inputs
+ `(("also-lib" ,alsa-lib)
+ ("audiofile" ,audiofile)
+ ("flac" ,flac)
+ ("id3lib" ,id3lib)
+ ("karchive" ,karchive)
+ ("kcompletion" ,kcompletion)
+ ("kconfig" ,kconfig)
+ ("kconfigwidgets" ,kconfigwidgets)
+ ("kcoreaddons" ,kcoreaddons)
+ ("kcrash" ,kcrash)
+ ("kdbusaddons" ,kdbusaddons)
+ ("ki18n" ,ki18n)
+ ("kiconthemes" ,kiconthemes)
+ ("kio" ,kio)
+ ("kservice" ,kservice)
+ ("ktextwidgets" ,ktextwidgets)
+ ("kwidgetsaddons" ,kwidgetsaddons)
+ ("kxmlgui" ,kxmlgui)
+ ("libmad" ,libmad)
+ ("libsamplerate" ,libsamplerate)
+ ("libvorbis" ,libvorbis)
+ ("opus" ,opus)
+ ;;("oxygen-icons" ,oxygen-icons) ; default icon set
+ ("pulseaudio" ,pulseaudio)
+ ("qtbase" ,qtbase)
+ ("qtmultimedia" ,qtmultimedia)
+ ("zlib" ,zlib)))
+ (home-page "https://kde.org/applications/multimedia/org.kde.kwave")
+ (synopsis "Sound editor for KDE")
+ (description "Kwave is a sound editor designed for the KDE Desktop
+Environment.
+
+With Kwave you can record, play back, import and edit many sorts of audio
+files including multi-channel files. It includes some plugins to transform
+audio files in several ways and presents a graphical view with a complete
+zoom- and scroll capability.
+
+Its features include:
+@itemize
+@item 24 Bit Support
+@item Undo/Redo
+@item Use of multicore CPUs (SMP, hyperthreading)
+@item Simple Drag & Drop
+@item Realtime Pre-Listen for some effects
+@item Support for multi-track files
+@item Playback and recording via native ALSA (or OSS, deprecated)
+@item Playback via PulseAudio and Phonon
+@item Load and edit-capability for large files (can use virtual memory)
+@item Reading and auto-repair of damaged wav-files
+@item Supports multiple windows
+@item Extendable Plugin interface
+@item a nice splashscreen
+@item some label handling
+@end itemize")
+ (license (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+
+ license:cc-by-sa3.0 license:cc-by-sa4.0 ;; icons, samples
+ license:cc0 license:bsd-3)))) ;; utilities files
--
2.21.0
Hartmut Goebel wrote 5 years ago
[PATCH 10/11] gnu: Add elisa.
(address . 38532@debbugs.gnu.org)
20191208164355.7374-10-h.goebel@crazy-compilers.com
* gnu/packages/kde-multimedia.scm (elisa): New variable.
---
gnu/packages/kde-multimedia.scm | 70 +++++++++++++++++++++++++++++++++
1 file changed, 70 insertions(+)

Toggle diff (80 lines)
diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
index 924cf48536..ffdda58d83 100644
--- a/gnu/packages/kde-multimedia.scm
+++ b/gnu/packages/kde-multimedia.scm
@@ -481,3 +481,73 @@ Its features include:
(license (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+
license:cc-by-sa3.0 license:cc-by-sa4.0 ;; icons, samples
license:cc0 license:bsd-3)))) ;; utilities files
+
+(define-public elisa
+ (package
+ (name "elisa")
+ (version "0.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde//stable/elisa/0.4.2"
+ "/elisa-" version ".tar.xz"))
+ (sha256
+ (base32 "0v9af6l89pgz1g7naf7gwcnq8znlicyh7z985kxalbdmv359c97w"))))
+ (properties `((tags . ("Desktop" "KDE" "Multimedia"))))
+ (build-system qt-build-system)
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("pkg-config" ,pkg-config)
+ ("dbus" ,dbus)
+ ("kdoctools" ,kdoctools)
+ ("xorg-server" , xorg-server-for-tests)))
+ (inputs
+ `(("kconfig" ,kconfig)
+ ("baloo" ,baloo)
+ ("kconfigwidgets" ,kconfigwidgets)
+ ("kcoreaddons" ,kcoreaddons)
+ ("kcrash" ,kcrash)
+ ("kcmutils" ,kcmutils)
+ ("kdbusaddons" ,kdbusaddons)
+ ("kdeclarative" ,kdeclarative)
+ ("kfilemetadata" ,kfilemetadata)
+ ("ki18n" ,ki18n)
+ ("kio" ,kio)
+ ("kirigami" ,kirigami)
+ ("kmediaplayer" ,kmediaplayer)
+ ("kparts" ,kparts)
+ ("kpackage" ,kpackage)
+ ("kwidgetsaddons" ,kwidgetsaddons)
+ ("kxmlgui" ,kxmlgui)
+ ("oxygen-icons" ,oxygen-icons) ; default icon set
+ ("phonon" ,phonon)
+ ("qtbase" ,qtbase)
+ ("qtdeclarative" ,qtdeclarative)
+ ("qtgraphicaleffects" ,qtgraphicaleffects) ; not listed as dependency
+ ("qtmultimedia" ,qtmultimedia)
+ ("qtquickcontrols" ,qtquickcontrols)
+ ("qtquickcontrols2" ,qtquickcontrols2)
+ ("qtsvg" ,qtsvg)
+ ("qtx11extras" ,qtx11extras)
+ ;; TODO: upnpqt https://gitlab.com/homeautomationqt/upnp-player-qt
+ ("vlc" ,vlc)))
+ (arguments
+ `(#:phases
+ (modify-phases (@ (guix build qt-build-system) %standard-phases)
+ (add-before 'check 'start-xorg-server
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; The test suite requires a running X server, setting
+ ;; QT_QPA_PLATFORM=offscreen does not suffice.
+ (system (string-append (assoc-ref inputs "xorg-server")
+ "/bin/Xvfb :1 -screen 0 640x480x24 &"))
+ (setenv "DISPLAY" ":1")
+ #t)))))
+ (home-page "https://kde.org/applications/multimedia/org.kde.elisa")
+ (synopsis "Powerful music player for Plasma 5")
+ (description "Elisa is a simple music player aiming to provide a nice
+experience for its users. Elisa allows to browse music by album, artist or
+all tracks. The music is indexed using either a private indexer or an indexer
+using Baloo. The private one can be configured to scan music on chosen paths.
+The Baloo one is much faster because Baloo is providing all needed data from
+its own database. You can build and play your own playlist.")
+ (license license:lgpl3+)))
--
2.21.0
Hartmut Goebel wrote 5 years ago
[PATCH 11/11] gnu: Add kamoso.
(address . 38532@debbugs.gnu.org)
20191208164355.7374-11-h.goebel@crazy-compilers.com
* gnu/packages/kde-multimedia.scm (kamoso): New variable.
---
gnu/packages/kde-multimedia.scm | 49 +++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)

Toggle diff (66 lines)
diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
index ffdda58d83..ba262a0599 100644
--- a/gnu/packages/kde-multimedia.scm
+++ b/gnu/packages/kde-multimedia.scm
@@ -29,6 +29,7 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
+ #:use-module (gnu packages gstreamer)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages linux)
@@ -551,3 +552,51 @@ using Baloo. The private one can be configured to scan music on chosen paths.
The Baloo one is much faster because Baloo is providing all needed data from
its own database. You can build and play your own playlist.")
(license license:lgpl3+)))
+
+(define-public kamoso
+ (package
+ (name "kamoso")
+ (version "19.08.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/applications/" version
+ "/src/kamoso-" version ".tar.xz"))
+ (sha256
+ (base32 "0j0lr2gwaxwchgfp54dashm1b39gsaw4ly9p8ybavwwzhjkdqza3"))))
+ (properties `((tags . ("Desktop" "KDE" "Multimedia"))))
+ (build-system qt-build-system)
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("glib:bin" ,glib "bin")
+ ("kdoctools" ,kdoctools)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)
+ ("kconfig" ,kconfig)
+ ("ki18n" ,ki18n)
+ ("kio" ,kio)
+ ("kirigami" ,kirigami)
+ ("knotifications" ,knotifications)
+ ("kparts" ,kparts)
+ ("oxygen-icons" ,oxygen-icons) ; default icon set
+ ("purpose" ,purpose)
+ ("qtbase" ,qtbase)
+ ("qtdeclarative" ,qtdeclarative)
+ ("qtgraphicaleffects" ,qtgraphicaleffects)
+ ("qtquickcontrols" ,qtquickcontrols)
+ ("qtquickcontrols2" ,qtquickcontrols2) ; not listed as dependency
+ ("qtx11extras" ,qtx11extras)))
+ (arguments
+ `(#:tests? #f ; test program gets built, but is not found
+ #:configure-flags
+ (list "-DBUILD_TESTING=OFF" ; not run anyway, see above
+ (string-append "-DCMAKE_CXX_FLAGS=-I"
+ (assoc-ref %build-inputs "gst-plugins-base")
+ "/include/gstreamer-1.0"))))
+ (home-page "https://kde.org/applications/multimedia/org.kde.kamoso")
+ (synopsis "Take pictures and videos out of your webcam")
+ (description "Kamoso is a simple and friendly program to use your
+camera. Use it to take pictures and make videos to share.")
+ (license (list license:gpl2+ license:lgpl2.0+))))
--
2.21.0
Hartmut Goebel wrote 5 years ago
Patches updated
(address . 38532@debbugs.gnu.org)
c3dd3281-076f-6372-7ff0-fff11feec500@crazy-compilers.com
Hi,

on my personal branch I updated the patches to fix some issues:

- remove old comments
- Fix errors in local.mk
- audofile: Reference CVEs (taken from nixpkgs)
- kaffeine: add oxygen-icons
- kwave: add oxygen-icons
- kamoso: Remove BUILD_TESTING=OFF - This should go into cmake-build-system.

--
Regards
Hartmut Goebel

| Hartmut Goebel | h.goebel@crazy-compilers.com |
| www.crazy-compilers.com | compilers which you thought are impossible |
Hartmut Goebel wrote 5 years ago
Re: bug#38532: Acknowledgement ([PATCH 00/11] Add audiofile and KDE mulitmedia applications.)
(address . 38532-close@debbugs.gnu.org)
e2e656b5-92cd-f91a-d328-1568174167cf@crazy-compilers.com
Pushed as ca632dc175c085316749d1605acf9719c8f6085e

after removing the "tags" properties, using the fixed qt-build-system
and adding license comment.


--
Regards
Hartmut Goebel

| Hartmut Goebel | h.goebel@crazy-compilers.com |
| www.crazy-compilers.com | compilers which you thought are impossible |
?
Your comment

This issue is archived.

To comment on this conversation send an email to 38532@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 38532
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help