3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/pkgs/applications/misc/audio/sox/default.nix
Artemis Tosini 508555518d
sox: Add option to include opus support
Many other distributions include opus support in their sox
distributions. This patch makes such an option, and sets it
to be enabled by default. This works when ogg is disabled as
as well as when ogg is enabled.
2019-04-29 14:23:39 +00:00

51 lines
1.7 KiB
Nix

{ config, lib, stdenv, fetchurl, pkgconfig, CoreAudio
, enableAlsa ? true, alsaLib ? null
, enableLibao ? true, libao ? null
, enableLame ? config.sox.enableLame or false, lame ? null
, enableLibmad ? true, libmad ? null
, enableLibogg ? true, libogg ? null, libvorbis ? null
, enableOpusfile ? true, opusfile ? null
, enableFLAC ? true, flac ? null
, enablePNG ? true, libpng ? null
, enableLibsndfile ? true, libsndfile ? null
# amrnb and amrwb are unfree, disabled by default
, enableAMR ? false, amrnb ? null, amrwb ? null
, enableLibpulseaudio ? true, libpulseaudio ? null
}:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "sox-14.4.2";
src = fetchurl {
url = "mirror://sourceforge/sox/${name}.tar.gz";
sha256 = "0v2znlxkxxcd3f48hf3dx9pq7i6fdhb62kgj7wv8xggz8f35jpxl";
};
# configure.ac uses pkg-config only to locate libopusfile
nativeBuildInputs = optional enableOpusfile pkgconfig;
buildInputs =
optional (enableAlsa && stdenv.isLinux) alsaLib ++
optional enableLibao libao ++
optional enableLame lame ++
optional enableLibmad libmad ++
optionals enableLibogg [ libogg libvorbis ] ++
optional enableOpusfile opusfile ++
optional enableFLAC flac ++
optional enablePNG libpng ++
optional enableLibsndfile libsndfile ++
optionals enableAMR [ amrnb amrwb ] ++
optional enableLibpulseaudio libpulseaudio ++
optional (stdenv.isDarwin) CoreAudio;
meta = {
description = "Sample Rate Converter for audio";
homepage = http://sox.sourceforge.net/;
maintainers = [ lib.maintainers.marcweber ];
license = if enableAMR then lib.licenses.unfree else lib.licenses.gpl2Plus;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
}