nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 # build and doc tooling
6 asciidoctor-with-extensions,
7 doxygen,
8 graphviz,
9 python3,
10 ruby,
11 qpdf,
12 udevCheckHook,
13 # build deps
14 curl,
15 glibcLocales,
16 jdk,
17 libedit,
18 librist,
19 openssl,
20 srt,
21}:
22
23stdenv.mkDerivation (finalAttrs: {
24 pname = "tsduck";
25 version = "3.40-4165";
26
27 src = fetchFromGitHub {
28 owner = "tsduck";
29 repo = "tsduck";
30 rev = "v${finalAttrs.version}";
31 sha256 = "sha256-bFnsGoElXeStIX5KwonJuF0x7DDzhzq+3oygkUOmZE0=";
32 };
33
34 nativeBuildInputs = [
35 asciidoctor-with-extensions
36 doxygen
37 graphviz
38 python3
39 ruby
40 qpdf
41 udevCheckHook
42 ];
43
44 buildInputs = [
45 curl
46 glibcLocales
47 jdk
48 libedit
49 librist
50 openssl
51 srt
52 ];
53
54 enableParallelBuilding = true;
55
56 postPatch = ''
57 patchShebangs scripts
58 '';
59
60 # see CONFIG.txt in the sources
61 makeFlags = [
62 "CXXFLAGS_NO_WARNINGS=-Wno-deprecated-declarations"
63 "NODEKTEC=1"
64 "NOGITHUB=1"
65 "NOHIDES=1"
66 "NOPCSC=1"
67 "NOVATEK=1"
68 "SYSPREFIX=/"
69 "SYSROOT=${placeholder "out"}"
70 ];
71
72 # remove tests which break the sandbox
73 patches = [ ./tests.patch ];
74 checkTarget = "test";
75 doCheck = true;
76 doInstallCheck = true;
77
78 installTargets = [
79 "install-tools"
80 "install-devel"
81 ];
82
83 meta = {
84 description = "MPEG Transport Stream Toolkit";
85 homepage = "https://github.com/tsduck/tsduck";
86 mainProgram = "tsversion";
87 license = lib.licenses.bsd2;
88 maintainers = with lib.maintainers; [ siriobalmelli ];
89 platforms = lib.platforms.all;
90 };
91})