mini-calc: 3.3.3 -> 3.3.5 (#372274)
[NixPkgs.git] / pkgs / by-name / li / libfishsound / package.nix
blob59ceeccfd2f330c3ba082e667d430246871007f7
2   lib,
3   stdenv,
4   fetchurl,
5   fetchpatch,
6   autoreconfHook,
7   libvorbis,
8   speex,
9   flac,
10   pkg-config,
13 stdenv.mkDerivation rec {
14   pname = "libfishsound";
15   version = "1.0.0";
17   src = fetchurl {
18     url = "https://downloads.xiph.org/releases/libfishsound/${pname}-${version}.tar.gz";
19     sha256 = "1iz7mn6hw2wg8ljaw74f4g2zdj68ib88x4vjxxg3gjgc5z75f2rf";
20   };
22   patches =
23     let
24       fetchDebPatch =
25         { name, hash }:
26         fetchpatch {
27           inherit name hash;
28           url = "https://salsa.debian.org/multimedia-team/libfishsound/-/raw/f25f31a13dd2ce008614427889b08e6f2222898f/debian/patches/${name}";
29         };
30     in
31     map fetchDebPatch [
32       {
33         name = "0001-Patch-configure.ac-to-specify-config-macro-dir.patch";
34         hash = "sha256-3cijMhgxqwFisc5nt8826QUwOqPI7H425QkDcjnD4iM=";
35       }
36       {
37         name = "0002-flac-set-vendor_string.length-0.patch";
38         hash = "sha256-8195rU9IAhFL3MgB4jLwtJv6BWgz22A38+RmIymIQoo=";
39       }
40       {
41         name = "0003-Fix-incompatible-flac-callback-types.patch";
42         hash = "sha256-BxG1hlThzhJ6VeGcsNpDEtVyKSJTLGFKeHFpFoXW54A=";
43       }
44     ];
46   propagatedBuildInputs = [
47     libvorbis
48     speex
49     flac
50   ];
52   nativeBuildInputs = [
53     pkg-config
54     autoreconfHook
55   ];
57   meta = with lib; {
58     homepage = "https://xiph.org/fishsound/";
59     description = "Simple programming interface for decoding and encoding audio data using Xiph.org codecs (FLAC, Speex and Vorbis)";
60     longDescription = ''
61       libfishsound by itself is designed to handle raw codec streams from a lower level layer such as UDP datagrams. When these codecs are used in files, they are commonly encapsulated in Ogg to produce Ogg FLAC, Speex and Ogg Vorbis files.
63       libfishsound is a wrapper around the existing codec libraries and provides a consistent, higher-level programming interface. It has been designed for use in a wide variety of applications; it has no direct dependencies on Ogg encapsulation, though it is most commonly used in conjunction with liboggz to decode or encode FLAC, Speex or Vorbis audio tracks in Ogg files, including Ogg Theora and Annodex.
65       FishSound has been developed and tested on GNU/Linux, Darwin/MacOSX and Win32. It probably also works on other Unix-like systems via GNU autoconf. For Win32: nmake Makefiles, Visual Studio .NET 2003 solution files and Visual C++ 6.0 workspace files are all provided in the source distribution.
66     '';
67     platforms = platforms.unix;
68     license = licenses.bsd3;
69   };