diff --git a/multimedia/tsduck/Makefile b/multimedia/tsduck/Makefile index caa6ff1f877e..2bb9716adbed 100644 --- a/multimedia/tsduck/Makefile +++ b/multimedia/tsduck/Makefile @@ -1,57 +1,58 @@ PORTNAME= tsduck DISTVERSIONPREFIX= v DISTVERSION= 3.43 DISTVERSIONSUFFIX= -4549 +PORTREVISION= 1 CATEGORIES= multimedia MAINTAINER= thierry@lelegard.fr COMMENT= Reference framework for MPEG transport streams WWW= https://tsduck.io LICENSE= BSD2CLAUSE BUILD_DEPENDS= bash:shells/bash \ bootstrap-openjdk11>0:java/bootstrap-openjdk11 \ coreutils>0:sysutils/coreutils \ dos2unix:converters/unix2dos \ doxygen>0:devel/doxygen \ gnugrep>0:textproc/gnugrep \ graphviz>0:graphics/graphviz \ gsed:textproc/gsed \ gtar:archivers/gtar \ gtar>0:archivers/gtar \ qpdf>0:print/qpdf \ rubygem-asciidoctor-pdf>0:textproc/rubygem-asciidoctor-pdf \ rubygem-asciidoctor>0:textproc/rubygem-asciidoctor \ rubygem-rouge>0:textproc/rubygem-rouge \ str>0:devel/str \ zip:archivers/zip LIB_DEPENDS= libcurl.so:ftp/curl \ libicui18n.so:devel/icu \ libpcsclite.so:devel/pcsc-lite \ librist.so:multimedia/librist \ libsrt.so:www/srt USES= dos2unix gmake libedit python shebangfix ssl USE_GITHUB= yes GH_ACCOUNT= tsduck MAKE_ENV= CXXFLAGS_EXTRA="-isystem ${LOCALBASE}/include" \ GPROF= \ LDFLAGS_EXTRA="-L${LOCALBASE}/lib -licuuc" \ SYSROOT=${STAGEDIR} ALL_TARGET= default TEST_TARGET= test BINARY_ALIAS= python=${PYTHON_CMD} OPTIONS_DEFINE= DOCS OPTIONS_SUB= yes .include .if ${PORT_OPTIONS:MDOCS} ALL_TARGET+= docs-html .endif .include diff --git a/multimedia/tsduck/files/patch-src_libtscore_system_tsFileUtils.cpp b/multimedia/tsduck/files/patch-src_libtscore_system_tsFileUtils.cpp new file mode 100644 index 000000000000..46bcb04046cb --- /dev/null +++ b/multimedia/tsduck/files/patch-src_libtscore_system_tsFileUtils.cpp @@ -0,0 +1,13 @@ +--- src/libtscore/system/tsFileUtils.cpp 2026-01-06 14:00 UTC ++++ src/libtscore/system/tsFileUtils.cpp +@@ -355,8 +355,8 @@ bool ts::SetFileModificationTimeUTC(const UString& path, const Time& time) + const cn::microseconds usec = std::max(cn::microseconds::zero(), cn::duration_cast(time - Time::UnixEpoch)); + ::timeval times[2]; + // times[0] specifies the new access time, and times[1] specifies the new modification time. +- times[0].tv_sec = times[1].tv_sec = usec.count() / 1'000'000; +- times[0].tv_usec = times[1].tv_usec = usec.count() % 1'000'000; ++ times[0].tv_sec = times[1].tv_sec = decltype(times[0].tv_sec)(usec.count() / 1'000'000); ++ times[0].tv_usec = times[1].tv_usec = decltype(times[0].tv_usec)(usec.count() % 1'000'000); + return ::utimes(path.toUTF8().c_str(), times) == 0; + #endif + }