1{ lib, stdenv, fetchFromGitHub,
2 autoconf, automake, libtool, cmake,
3 rtl-sdr, libao, fftwFloat
4} :
5let
6 src_faad2 = fetchFromGitHub {
7 owner = "dsvensson";
8 repo = "faad2";
9 rev = "b7aa099fd3220b71180ed2b0bc19dc6209a1b418";
10 sha256 = "0pcw2x9rjgkf5g6irql1j4m5xjb4lxj6468z8v603921bnir71mf";
11 };
12
13 version = "1.0";
14
15in stdenv.mkDerivation {
16 pname = "nrsc5";
17 inherit version;
18
19 src = fetchFromGitHub {
20 owner = "theori-io";
21 repo = "nrsc5";
22 rev = "v${version}";
23 sha256 = "09zzh3h1zzf2lwrbz3i7rif2hw36d9ska8irvxaa9lz6xc1y68pg";
24 };
25
26 postUnpack = ''
27 export srcRoot=`pwd`
28 export faadSrc="$srcRoot/faad2-prefix/src/faad2_external"
29 mkdir -p $faadSrc
30 cp -r ${src_faad2}/* $faadSrc
31 chmod -R u+w $faadSrc
32 '';
33
34 postPatch = ''
35 sed -i '/GIT_REPOSITORY/d' CMakeLists.txt
36 sed -i '/GIT_TAG/d' CMakeLists.txt
37 sed -i "s:set (FAAD2_PREFIX .*):set (FAAD2_PREFIX \"$srcRoot/faad2-prefix\"):" CMakeLists.txt
38 '';
39
40 nativeBuildInputs = [ cmake autoconf automake libtool ];
41 buildInputs = [ rtl-sdr libao fftwFloat ];
42
43 cmakeFlags = [ "-DUSE_COLOR=ON" "-DUSE_FAAD2=ON" ];
44
45 meta = with lib; {
46 homepage = "https://github.com/theori-io/nrsc5";
47 description = "HD-Radio decoder for RTL-SDR";
48 platforms = lib.platforms.linux;
49 license = licenses.gpl3Plus;
50 maintainers = with maintainers; [ markuskowa ];
51 };
52}
53