diff --git a/pkgs/servers/tvheadend/default.nix b/pkgs/servers/tvheadend/default.nix index f97935a4ce399d..f4c3270bf3df84 100644 --- a/pkgs/servers/tvheadend/default.nix +++ b/pkgs/servers/tvheadend/default.nix @@ -1,10 +1,22 @@ { stdenv, fetchFromGitHub, cmake, makeWrapper, pkgconfig , avahi, dbus, gettext, git, gnutar, gzip, bzip2, ffmpeg_3, libiconv, openssl, python -, which, zlib }: +, v4l-utils, which, zlib }: let version = "4.2.8"; + dtv-scan-tables = stdenv.mkDerivation { + pname = "dtv-scan-tables"; + version = "2020-05-18"; + src = fetchFromGitHub { + owner = "tvheadend"; + repo = "dtv-scan-tables"; + rev = "e3138a506a064f6dfd0639d69f383e8e576609da"; + sha256 = "19ac9ds3rfc2xrqcywsbd1iwcpv7vmql7gp01iikxkzcgm2g2b6w"; + }; + nativeBuildInputs = [ v4l-utils ]; + installFlags = [ "DATADIR=$(out)" ]; + }; in stdenv.mkDerivation { pname = "tvheadend"; inherit version; @@ -28,7 +40,7 @@ in stdenv.mkDerivation { NIX_CFLAGS_COMPILE = [ "-Wno-error=format-truncation" "-Wno-error=stringop-truncation" ]; # disable dvbscan, as having it enabled causes a network download which - # cannot happen during build. + # cannot happen during build. We now include the dtv-scan-tables ourselves configureFlags = [ "--disable-dvbscan" "--disable-bintray_cache" @@ -45,6 +57,9 @@ in stdenv.mkDerivation { substituteInPlace src/config.c \ --replace /usr/bin/tar ${gnutar}/bin/tar + substituteInPlace src/input/mpegts/scanfile.c \ + --replace /usr/share/dvb ${dtv-scan-tables}/dvbv5 + # the version detection script `support/version` reads this file if it # exists, so let's just use that echo ${version} > rpm/version