mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-28 00:24:18 +00:00
508555518d
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.
51 lines
1.7 KiB
Nix
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;
|
|
};
|
|
}
|