gnu: Add darkice.

* gnu/packages/audio.scm (darkice): New variable.
* gnu/packages/patches/darkice-workaround-fpermissive-error.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
This commit is contained in:
Mark H Weaver 2019-07-21 11:12:36 -04:00
parent 3aec5263a3
commit 2f4698d7d1
No known key found for this signature in database
GPG key ID: 7CEF29847562C516
3 changed files with 96 additions and 0 deletions

View file

@ -748,6 +748,7 @@ dist_patch_DATA = \
%D%/packages/patches/cube-nocheck.patch \
%D%/packages/patches/cursynth-wave-rand.patch \
%D%/packages/patches/cvs-CVE-2017-12836.patch \
%D%/packages/patches/darkice-workaround-fpermissive-error.patch \
%D%/packages/patches/dbus-helper-search-path.patch \
%D%/packages/patches/dbus-CVE-2019-12749.patch \
%D%/packages/patches/dealii-mpi-deprecations.patch \

View file

@ -3751,3 +3751,36 @@ (define-public gnaural
different audio formats. Gnaural can also be linked over the internet with
other Gnaural instances, allowing synchronous sessions between many users.")
(license license:gpl2+)))
(define-public darkice
(package
(name "darkice")
(version "1.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/darkice/darkice/"
version "/darkice-" version ".tar.gz"))
(sha256
(base32 "1rlxds7ssq7nk2in4s46xws7xy9ylxsqgcz85hxjgh17lsm0y39c"))
(patches
(search-patches "darkice-workaround-fpermissive-error.patch"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("lame" ,lame)
("libvorbis" ,libvorbis)
("opus" ,opus)
("twolame" ,twolame)
("alsa-lib" ,alsa-lib)
("pulseaudio" ,pulseaudio)
("jack" ,jack-1)
("libsamplerate" ,libsamplerate)))
(arguments
`(#:configure-flags
(list (string-append "--with-lame-prefix="
(assoc-ref %build-inputs "lame")))))
(home-page "http://www.darkice.org/")
(synopsis "Live audio streamer")
(description "DarkIce is a live audio streamer. It takes audio input from
a sound card, encodes it into Ogg Vorbis and/or mp3, and sends the audio
stream to one or more IceCast and/or ShoutCast servers.")
(license license:gpl3+)))

View file

@ -0,0 +1,62 @@
Copied from Debian:
<https://sources.debian.org/data/main/d/darkice/1.3-0.2/debian/patches/0001-Cast-float-in-SRC-lib-calls-to-delete-fpermissive-co.patch>
From 1e2eb18d349f205c70cb2836232825442359b6e3 Mon Sep 17 00:00:00 2001
From: belette <ouack23@yahoo.fr>
Date: Wed, 26 Oct 2016 02:43:43 +0200
Subject: Cast float* in SRC lib calls to delete fpermissive compilation error
---
darkice/trunk/src/FaacEncoder.cpp | 2 +-
darkice/trunk/src/OpusLibEncoder.cpp | 2 +-
darkice/trunk/src/VorbisLibEncoder.cpp | 2 +-
darkice/trunk/src/aacPlusEncoder.cpp | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
--- a/src/FaacEncoder.cpp
+++ b/src/FaacEncoder.cpp
@@ -164,7 +164,7 @@ FaacEncoder :: write ( const void * buf,
if ( converter ) {
unsigned int converted;
#ifdef HAVE_SRC_LIB
- src_short_to_float_array ((short *) b, converterData.data_in, samples);
+ src_short_to_float_array ((short *) b, (float *) converterData.data_in, samples);
converterData.input_frames = nSamples;
converterData.data_out = resampledOffset + (resampledOffsetSize * channels);
int srcError = src_process (converter, &converterData);
--- a/src/OpusLibEncoder.cpp
+++ b/src/OpusLibEncoder.cpp
@@ -403,7 +403,7 @@ OpusLibEncoder :: write ( const void * buf,
#ifdef HAVE_SRC_LIB
(void)inCount;
converterData.input_frames = processed;
- src_short_to_float_array (shortBuffer, converterData.data_in, totalSamples);
+ src_short_to_float_array (shortBuffer, (float *) converterData.data_in, totalSamples);
int srcError = src_process (converter, &converterData);
if (srcError)
throw Exception (__FILE__, __LINE__, "libsamplerate error: ", src_strerror (srcError));
--- a/src/VorbisLibEncoder.cpp
+++ b/src/VorbisLibEncoder.cpp
@@ -337,7 +337,7 @@ VorbisLibEncoder :: write ( const void * buf,
int converted;
#ifdef HAVE_SRC_LIB
converterData.input_frames = nSamples;
- src_short_to_float_array (shortBuffer, converterData.data_in, totalSamples);
+ src_short_to_float_array (shortBuffer, (float *) converterData.data_in, totalSamples);
int srcError = src_process (converter, &converterData);
if (srcError)
throw Exception (__FILE__, __LINE__, "libsamplerate error: ", src_strerror (srcError));
--- a/src/aacPlusEncoder.cpp
+++ b/src/aacPlusEncoder.cpp
@@ -155,7 +155,7 @@ aacPlusEncoder :: write ( const void * buf,
if ( converter ) {
unsigned int converted;
#ifdef HAVE_SRC_LIB
- src_short_to_float_array ((short *) b, converterData.data_in, samples);
+ src_short_to_float_array ((short *) b, (float *) converterData.data_in, samples);
converterData.input_frames = nSamples;
converterData.data_out = resampledOffset + (resampledOffsetSize * channels);
int srcError = src_process (converter, &converterData);
--
2.11.0