biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / misc / audio / sox / default.nix
blob621fca6feb2d7a14c0018ff3cc6b22ea2c4cb997
1 { config
2 , lib
3 , stdenv
4 , fetchgit
5 , autoreconfHook
6 , autoconf-archive
7 , pkg-config
8 , CoreAudio
9 , enableAlsa ? true
10 , alsa-lib
11 , enableLibao ? true
12 , libao
13 , enableLame ? config.sox.enableLame or false
14 , lame
15 , enableLibmad ? true
16 , libmad
17 , enableLibogg ? true
18 , libogg
19 , libvorbis
20 , enableOpusfile ? true
21 , opusfile
22 , enableFLAC ? true
23 , flac
24 , enablePNG ? true
25 , libpng
26 , enableLibsndfile ? true
27 , libsndfile
28 , enableWavpack ? true
29 , wavpack
30   # amrnb and amrwb are unfree, disabled by default
31 , enableAMR ? false
32 , amrnb
33 , amrwb
34 , enableLibpulseaudio ? stdenv.hostPlatform.isLinux && lib.meta.availableOn stdenv.hostPlatform libpulseaudio
35 , libpulseaudio
38 stdenv.mkDerivation rec {
39   pname = "sox";
40   version = "unstable-2021-05-09";
42   src = fetchgit {
43     # not really needed, but when this src was updated from `fetchurl ->
44     # fetchgit`, we spared the mass rebuild by changing this `name` and
45     # therefor merge this to `master` and not to `staging`.
46     name = "source";
47     url = "https://git.code.sf.net/p/sox/code";
48     rev = "42b3557e13e0fe01a83465b672d89faddbe65f49";
49     hash = "sha256-9cpOwio69GvzVeDq79BSmJgds9WU5kA/KUlAkHcpN5c=";
50   };
52   outputs = [
53     "out"
54     "dev"
55     "lib"
56     "man"
57   ];
59   nativeBuildInputs = [
60     autoreconfHook
61     autoconf-archive
62     pkg-config
63   ];
65   patches = [ ./0001-musl-rewind-pipe-workaround.patch ];
67   buildInputs =
68     lib.optional (enableAlsa && stdenv.hostPlatform.isLinux) alsa-lib
69     ++ lib.optional enableLibao libao
70     ++ lib.optional enableLame lame
71     ++ lib.optional enableLibmad libmad
72     ++ lib.optionals enableLibogg [ libogg libvorbis ]
73     ++ lib.optional enableOpusfile opusfile
74     ++ lib.optional enableFLAC flac
75     ++ lib.optional enablePNG libpng
76     ++ lib.optional enableLibsndfile libsndfile
77     ++ lib.optional enableWavpack wavpack
78     ++ lib.optionals enableAMR [ amrnb amrwb ]
79     ++ lib.optional enableLibpulseaudio libpulseaudio
80     ++ lib.optional stdenv.hostPlatform.isDarwin CoreAudio;
82   enableParallelBuilding = true;
84   meta = with lib; {
85     description = "Sample Rate Converter for audio";
86     homepage = "https://sox.sourceforge.net/";
87     maintainers = with maintainers; [ marcweber ];
88     license = if enableAMR then licenses.unfree else licenses.gpl2Plus;
89     platforms = platforms.unix;
90   };