From 2f4698d7d1b8baed51f313d2250809232d801db5 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 21 Jul 2019 11:12:36 -0400 Subject: 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. --- gnu/local.mk | 1 + gnu/packages/audio.scm | 33 ++++++++++++ .../darkice-workaround-fpermissive-error.patch | 62 ++++++++++++++++++++++ 3 files changed, 96 insertions(+) create mode 100644 gnu/packages/patches/darkice-workaround-fpermissive-error.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index c2b6f149a8..eb3b0dcd3b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -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 \ diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 3c5b6307eb..c6c42f66c6 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -3751,3 +3751,36 @@ binaural beat tracks of different frequencies and exporting of tracks into 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+))) diff --git a/gnu/packages/patches/darkice-workaround-fpermissive-error.patch b/gnu/packages/patches/darkice-workaround-fpermissive-error.patch new file mode 100644 index 0000000000..5ee29147c2 --- /dev/null +++ b/gnu/packages/patches/darkice-workaround-fpermissive-error.patch @@ -0,0 +1,62 @@ +Copied from Debian: + + +From 1e2eb18d349f205c70cb2836232825442359b6e3 Mon Sep 17 00:00:00 2001 +From: belette +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 + -- cgit v1.2.3