nixpkgs/pkgs/tools/video/tsduck/default.nix
Rick van Schijndel 9833d56c24 treewide: mark packages broken that never built on PLATFORM
Done with the help of https://github.com/Mindavi/nixpkgs-mark-broken
Tool is still WIP but this is one of the first results.

I manually audited the results and removed some results that were not valid.

Note that some of these packages maybe should have more constrained platforms set
instead of broken set, but I think not being perfectly correct is better than
just keep trying to build all these things and never succeeding.

Some observations:

- Some darwin builds require XCode tools
- aarch64-linux builds sometimes suffer from using gcc9
  - gcc9 is getting older and misses some new libraries/features
- Sometimes tools try to do system detection or expect some explicit settings for
  platforms that are not x86_64-linux
2022-12-13 21:40:12 +01:00

86 lines
1.9 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, curl
, jdk
, libedit
, srt
}:
stdenv.mkDerivation rec {
pname = "tsduck";
version = "3.31-2761";
src = fetchFromGitHub {
owner = "tsduck";
repo = pname;
rev = "v${version}";
sha256 = "sha256-268TKCh3naebbw+sOQ6d4N/zl7UEVtc3l3flFAYHDU4=";
};
buildInputs = [
curl
libedit
srt
jdk
];
# remove tests which call out to https://tsduck.io/download/test/...
postPatch = ''
sed -i"" \
-e '/TSUNIT_TEST(testMasterPlaylist);/ d' \
-e '/TSUNIT_TEST(testMasterPlaylistWithAlternate);/ d' \
-e '/TSUNIT_TEST(testMediaPlaylist);/ d' \
src/utest/utestHLS.cpp
sed -i"" \
-e '/TSUNIT_TEST(testBetterSystemRandomGenerator);/ d' \
src/utest/utestSystemRandomGenerator.cpp
sed -i"" \
-e '/TSUNIT_ASSERT(request.downloadBinaryContent/ d' \
-e '/TSUNIT_ASSERT(!request.downloadBinaryContent/ d' \
-e '/TSUNIT_TEST(testGitHub);/ d' \
-e '/TSUNIT_TEST(testGoogle);/ d' \
-e '/TSUNIT_TEST(testNoRedirection);/ d' \
-e '/TSUNIT_TEST(testReadMeFile);/ d' \
src/utest/utestWebRequest.cpp
sed -i"" \
-e '/TSUNIT_TEST(testHomeDirectory);/ d' \
src/utest/utestSysUtils.cpp
'';
enableParallelBuilding = true;
makeFlags = [
"NODEKTEC=1"
"NOHIDES=1"
"NOPCSC=1"
"NORIST=1"
"NOVATEK=1"
] ++ installFlags;
checkTarget = "test";
doCheck = true;
installFlags = [
"SYSROOT=${placeholder "out"}"
"SYSPREFIX=/"
"USRLIBDIR=/lib"
];
installTargets = [
"install-tools"
"install-devel"
];
meta = with lib; {
description = "The MPEG Transport Stream Toolkit";
homepage = "https://github.com/tsduck/tsduck";
license = licenses.bsd2;
maintainers = with maintainers; [ siriobalmelli ];
platforms = platforms.all;
# never built on aarch64-darwin, x86_64-darwin since first introduction in nixpkgs
broken = stdenv.isDarwin;
};
}