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
86 lines
1.9 KiB
Nix
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;
|
|
};
|
|
}
|