2023-10-22 13:44:31 +00:00
|
|
|
{ lib, stdenv, fetchurl, fetchpatch, pkg-config
|
2014-05-30 18:51:14 +00:00
|
|
|
, libvorbis, libtheora, speex }:
|
2012-10-15 06:48:46 +00:00
|
|
|
|
2021-01-19 06:50:56 +00:00
|
|
|
# need pkg-config so that libshout installs ${out}/lib/pkgconfig/shout.pc
|
2012-10-15 06:48:46 +00:00
|
|
|
|
2012-10-22 04:59:23 +00:00
|
|
|
stdenv.mkDerivation rec {
|
2021-06-22 13:21:29 +00:00
|
|
|
pname = "libshout";
|
2022-07-31 21:06:07 +00:00
|
|
|
version = "2.4.6";
|
2012-10-15 06:48:46 +00:00
|
|
|
|
2014-05-30 18:51:14 +00:00
|
|
|
src = fetchurl {
|
2021-06-22 13:21:29 +00:00
|
|
|
url = "https://downloads.xiph.org/releases/libshout/${pname}-${version}.tar.gz";
|
2022-07-31 21:06:07 +00:00
|
|
|
sha256 = "sha256-OcvU8O/f3cl1XYghfkf48tcQj6dn+dWKK6JqFtj3yRA=";
|
2014-05-30 18:51:14 +00:00
|
|
|
};
|
2012-10-15 06:48:46 +00:00
|
|
|
|
2023-10-22 13:44:31 +00:00
|
|
|
patches = [
|
|
|
|
# Fixes building libshout with clang. Can be dropped once the following MR is merged:
|
|
|
|
# https://gitlab.xiph.org/xiph/icecast-libshout/-/merge_requests/4.
|
|
|
|
(fetchpatch {
|
|
|
|
url = "https://gitlab.xiph.org/xiph/icecast-libshout/-/commit/600fa105a799986efcccddfedfdfd3e9a1988cd0.patch";
|
|
|
|
hash = "sha256-XjogfcQJBPZX9MPAbNJyXaFZNekL1pabvtTT7N+cz+s=";
|
|
|
|
})
|
|
|
|
(fetchpatch {
|
|
|
|
url = "https://gitlab.xiph.org/xiph/icecast-libshout/-/commit/8ab2de318d55c9d0987ffae7d9b94b365af732c1.patch";
|
|
|
|
hash = "sha256-0+Wp2Xu59ESCJfoDcwAJHuAJyzMsaBe7f8Js3/ren2g=";
|
|
|
|
})
|
|
|
|
];
|
|
|
|
|
2016-09-19 13:06:46 +00:00
|
|
|
outputs = [ "out" "dev" "doc" ];
|
|
|
|
|
2022-05-31 21:37:03 +00:00
|
|
|
depsBuildBuild = [ pkg-config ];
|
2021-01-19 06:50:56 +00:00
|
|
|
nativeBuildInputs = [ pkg-config ];
|
2014-05-30 18:51:14 +00:00
|
|
|
propagatedBuildInputs = [ libvorbis libtheora speex ];
|
2012-10-15 06:48:46 +00:00
|
|
|
|
|
|
|
meta = {
|
|
|
|
description = "icecast 'c' language bindings";
|
|
|
|
|
|
|
|
longDescription = ''
|
|
|
|
Libshout is a library for communicating with and sending data to an icecast
|
|
|
|
server. It handles the socket connection, the timing of the data, and prevents
|
|
|
|
bad data from getting to the icecast server.
|
|
|
|
'';
|
|
|
|
|
2022-01-03 15:53:12 +00:00
|
|
|
homepage = "https://www.icecast.org";
|
2021-01-21 17:00:13 +00:00
|
|
|
license = lib.licenses.gpl2;
|
|
|
|
maintainers = with lib.maintainers; [ jcumming ];
|
2022-05-05 00:52:27 +00:00
|
|
|
mainProgram = "shout";
|
2021-01-21 17:00:13 +00:00
|
|
|
platforms = with lib.platforms; unix;
|
2012-10-15 06:48:46 +00:00
|
|
|
};
|
|
|
|
}
|