GNU bug report logs - #56361
gnu: srt: Update to 1.4.4 (fix test failure on AArch64)

Previous Next

Package: guix-patches;

Reported by: Simon South <simon <at> simonsouth.net>

Date: Sat, 2 Jul 2022 19:08:02 UTC

Severity: normal

Done: Christopher Baines <mail <at> cbaines.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 56361 in the body.
You can then email your comments to 56361 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#56361; Package guix-patches. (Sat, 02 Jul 2022 19:08:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Simon South <simon <at> simonsouth.net>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sat, 02 Jul 2022 19:08:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Simon South <simon <at> simonsouth.net>
To: guix-patches <at> gnu.org
Subject: gnu: srt: Update to 1.4.4 (fix test failure on AArch64)
Date: Sat,  2 Jul 2022 15:07:29 -0400
Here's a patch series that

- Updates SRT, the "Secure Reliable Transport" for audio/video streams, to
  1.4.4, fixing a test failure on AArch64 and likely other non-Intel/AMD
  platforms[0];

- Updates the srt package itself to remove input labels;

- Updates the vlc package to use the now-current version of SRT instead of an
  older version[1];

- Removes that older (and now unnecessary) version of srt from the package
  repository; and

- Updates the vlc package to remove input labels and to add "bash-minimal" to
  its inputs, silencing a warning from "guix lint".

I'm aware SRT 1.5.0 is also available, but

- Version 1.4.4 is the latest version supported by VLC;

- Version 1.5.0 introduces API/ABI changes that are likely to cause problems
  elsewhere; and

- I just need to get my systems updating again.  (I can look at submitting
  another patchset later.)

I've tested these patches on x86-64 and AArch64 and in general, everything
looks fine.

With regards to SRT's immediate dependents, ffmpeg <at> 4.4.2, ffmpeg <at> 5.0.1,
gst-plugins-bad and and vlc:

- All four dependents build without issue on x86-64.

- On AArch64, VLC and the two FFmpeg packages build just fine.  Building
  gst-plugins-bad means building the entire Rust toolchain and potentially
  other packages that are infeasible to build on garden-variety AArch64
  hardware, so I haven't been able to test this.

- Nonetheless I've verified that on both architectures, VLC built with these
  patches connects to and plays a SRT video stream just fine.[2]

On x86-64 I've tested building all of SRT's 299 dependent packages and this
completes without any _new_ build failures: ams-lv2, dvdstyler, lv2-mda-piano
and lv2-mda-epiano are all currently broken on x86-64, and it appears my
system is unable to build curl 7.84.0 for i686-linux either with or without
these patches applied.

[0] The failure involves an unnecessarily-short timeout period in the
    "SyncEvent.WaitForTwoNotifyOne" unit test, which was adjusted in upstream
    commit e2a00aa:

    https://github.com/Haivision/srt/commit/e2a00aa03a36e153ab8cfe2c0790f7bf43747d8d

    It's unlikely this affects only AArch64.  A Debian developer notes in this
    GitHub issue that SRT test failures are common on other, older and mostly
    non-Intel/AMD architectures as well:

    https://github.com/Haivision/srt/issues/2267

[1] VLC was updated to build with SRT version 1.4.4 by default in upstream
    commit 9a28929 this past February, making the comment above the srt-1.4.1
    package (in gnu/packages/networking.scm) obsolete.  Since neither of the
    other packages mentioned still use this older version of SRT, nor does any
    other, the package is no longer needed.

    https://code.videolan.org/videolan/vlc/-/commit/9a289291d01a393294c62ee7406487f59e25f4ed

[2] I'd also like to verify that VLC can _output_ a video stream using SRT but
    despite an "SRT" output-access module appearing in the configuration
    settings I can't see how this is meant to work, using either the original
    or the patched build of VLC.  If anyone relies on this functionality and
    can give me straightforward instructions for testing it I'll be happy to
    do so before this patch series is committed.

---

Simon South (6):
  gnu: srt: Remove input labels.
  gnu: srt: Update to 1.4.4.
  gnu: vlc: Use regular srt.
  gnu: Remove srt-1.4.1.
  gnu: vlc: Remove input labels.
  gnu: vlc: Add bash-minimal as an input.

 gnu/packages/networking.scm |  26 +-----
 gnu/packages/video.scm      | 155 ++++++++++++++++++------------------
 2 files changed, 79 insertions(+), 102 deletions(-)


base-commit: 48ff4bfcd7491c12248b34a82e0b8e8a50a86308
-- 
2.36.1




Information forwarded to guix-patches <at> gnu.org:
bug#56361; Package guix-patches. (Sat, 02 Jul 2022 19:11:01 GMT) Full text and rfc822 format available.

Message #8 received at 56361 <at> debbugs.gnu.org (full text, mbox):

From: Simon South <simon <at> simonsouth.net>
To: 56361 <at> debbugs.gnu.org
Subject: [PATCH 4/6] gnu: Remove srt-1.4.1.
Date: Sat,  2 Jul 2022 15:10:29 -0400
* gnu/packages/networking.scm (srt-1.4.1): Delete variable.
---
 gnu/packages/networking.scm | 18 ------------------
 1 file changed, 18 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index a312e461d5..b26ef100f6 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -499,24 +499,6 @@ (define-public srt
     (home-page "https://www.srtalliance.org/")
     (license license:mpl2.0)))
 
-;; FFmpeg, GStreamer, and VLC don't support SRT 1.4.2 yet.
-(define-public srt-1.4.1
-  (package
-    (inherit srt)
-    (name "srt")
-    (version "1.4.1")
-    (source
-     (origin
-       (method git-fetch)
-       (uri
-        (git-reference
-         (url "https://github.com/Haivision/srt")
-         (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "01xaq44j95kbgqfl41pnybvqy0yq6wd4wdw88ckylzf0nzp977xz"))))))
-
 (define-public lksctp-tools
   (package
     (name "lksctp-tools")
-- 
2.36.1





Information forwarded to guix-patches <at> gnu.org:
bug#56361; Package guix-patches. (Sat, 02 Jul 2022 19:11:02 GMT) Full text and rfc822 format available.

Message #11 received at 56361 <at> debbugs.gnu.org (full text, mbox):

From: Simon South <simon <at> simonsouth.net>
To: 56361 <at> debbugs.gnu.org
Subject: [PATCH 3/6] gnu: vlc: Use regular srt.
Date: Sat,  2 Jul 2022 15:10:28 -0400
* gnu/packages/video.scm (vlc)[inputs]: Use regular srt package, supported
since upstream commit 9a28929.
---
 gnu/packages/video.scm | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 40c31cdaec..91ccbc14ae 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1974,8 +1974,7 @@ (define-public vlc
        ("sdl-image" ,sdl-image)
        ("speex" ,speex)
        ("speexdsp" ,speexdsp)
-       ;; VLC is not yet compatible with SRT > 1.4.1.
-       ("srt" ,srt-1.4.1)
+       ("srt" ,srt)
        ("taglib" ,taglib)
        ("twolame" ,twolame)
        ("unzip" ,unzip)
-- 
2.36.1





Information forwarded to guix-patches <at> gnu.org:
bug#56361; Package guix-patches. (Sat, 02 Jul 2022 19:11:02 GMT) Full text and rfc822 format available.

Message #14 received at 56361 <at> debbugs.gnu.org (full text, mbox):

From: Simon South <simon <at> simonsouth.net>
To: 56361 <at> debbugs.gnu.org
Subject: [PATCH 2/6] gnu: srt: Update to 1.4.4.
Date: Sat,  2 Jul 2022 15:10:27 -0400
* gnu/packages/networking.scm (srt): Update to 1.4.4.
---
 gnu/packages/networking.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 82e209b149..a312e461d5 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -469,7 +469,7 @@ (define-public slurm-monitor
 (define-public srt
   (package
     (name "srt")
-    (version "1.4.3")
+    (version "1.4.4")
     (source
      (origin
        (method git-fetch)
@@ -479,7 +479,7 @@ (define-public srt
          (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1f60vlfxhh9bhafws82c3301whjlz5gy92jz9a9ymwfg5h53bv1j"))))
+        (base32 "1zr1l9zkai7rpw9cn5j9h4zrv08hgpfmwscwyscf2j4cgwf0rxrr"))))
     (build-system cmake-build-system)
     (arguments
      `(#:configure-flags
-- 
2.36.1





Information forwarded to guix-patches <at> gnu.org:
bug#56361; Package guix-patches. (Sat, 02 Jul 2022 19:11:02 GMT) Full text and rfc822 format available.

Message #17 received at 56361 <at> debbugs.gnu.org (full text, mbox):

From: Simon South <simon <at> simonsouth.net>
To: 56361 <at> debbugs.gnu.org
Subject: [PATCH 1/6] gnu: srt: Remove input labels.
Date: Sat,  2 Jul 2022 15:10:26 -0400
* gnu/packages/networking.scm (srt)[native-inputs]: Remove input labels.
---
 gnu/packages/networking.scm | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index ef8c09a777..82e209b149 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -490,9 +490,7 @@ (define-public srt
         "-DENABLE_STATIC=OFF"
         "-DENABLE_UNITTESTS=ON")))
     (native-inputs
-     `(("gtest" ,googletest)
-       ("pkg-config" ,pkg-config)
-       ("tclsh" ,tcl)))
+     (list googletest pkg-config tcl))
     (propagated-inputs
      (list openssl))
     (synopsis "Secure Reliable Transport")
-- 
2.36.1





Information forwarded to guix-patches <at> gnu.org:
bug#56361; Package guix-patches. (Sat, 02 Jul 2022 19:11:03 GMT) Full text and rfc822 format available.

Message #20 received at 56361 <at> debbugs.gnu.org (full text, mbox):

From: Simon South <simon <at> simonsouth.net>
To: 56361 <at> debbugs.gnu.org
Subject: [PATCH 5/6] gnu: vlc: Remove input labels.
Date: Sat,  2 Jul 2022 15:10:30 -0400
* gnu/packages/video.scm (vlc)[native-inputs]: Remove input labels.
[inputs]: Remove input labels and re-sort.
---
 gnu/packages/video.scm | 153 ++++++++++++++++++++---------------------
 1 file changed, 75 insertions(+), 78 deletions(-)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 91ccbc14ae..ac2c0d986b 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1902,86 +1902,83 @@ (define-public vlc
                 "0cs1vnv91mg7p6253v6wms3zlz91xzphpwaw14dmrd2gibc64nlc"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("flex" ,flex)
-       ("bison" ,bison)
-       ("gettext" ,gettext-minimal)
-       ("pkg-config" ,pkg-config)))
+     (list flex bison gettext-minimal pkg-config))
     ;; FIXME: Add optional inputs once available.
     (inputs
-     `(("alsa-lib" ,alsa-lib)
-       ("avahi" ,avahi)
-       ("dav1d" ,dav1d)
-       ("dbus" ,dbus)
-       ("eudev" ,eudev)
-       ("flac" ,flac)
-       ("ffmpeg" ,ffmpeg)
-       ("fontconfig" ,fontconfig)
-       ("freetype" ,freetype)
-       ("fribidi" ,fribidi)
-       ("gnutls" ,gnutls)
-       ("liba52" ,liba52)
-       ("libarchive" ,libarchive)
-       ("libass" ,libass)
-       ("libavc1394" ,libavc1394)
-       ("libbluray" ,libbluray)
-       ("libcaca" ,libcaca)
-       ("libcddb" ,libcddb)
-       ("libdca" ,libdca)
-       ("libdvbpsi" ,libdvbpsi)
-       ("libdvdnav" ,libdvdnav)
-       ("libdvdread" ,libdvdread)
-       ("libebml" ,libebml)
-       ("libgcrypt" ,libgcrypt)
-       ("libidn" ,libidn)
-       ("libkate" ,libkate)
-       ("libmad" ,libmad)
-       ("libmatroska" ,libmatroska)
-       ("libmicrodns" ,libmicrodns)
-       ("libmodplug" ,libmodplug)
-       ("libmpeg2" ,libmpeg2)
-       ("libogg" ,libogg)
-       ("libpng" ,libpng)
-       ("libraw1394" ,libraw1394)
-       ("librsvg" ,(librsvg-for-system))
-       ("libsamplerate" ,libsamplerate)
-       ("libsecret" ,libsecret)
-       ("libssh2" ,libssh2)
-       ("libupnp" ,libupnp)
-       ("libva" ,libva)
-       ("libvdpau" ,libvdpau)
-       ("libvorbis" ,libvorbis)
-       ("libvpx" ,libvpx)
-       ("libtheora" ,libtheora)
-       ("libx264" ,libx264)
-       ("libxext" ,libxext)
-       ("libxi" ,libxi)
-       ("libxinerama" ,libxinerama)
-       ("libxml2" ,libxml2)
-       ("libxpm" ,libxpm)
-       ("livemedia-utils" ,livemedia-utils)
-       ("lua" ,lua-5.2)
-       ("mesa" ,mesa)
-       ("opus" ,opus)
-       ("perl" ,perl)
-       ("pulseaudio" ,pulseaudio)
-       ("protobuf" ,protobuf)
-       ("python" ,python-wrapper)
-       ("qtbase" ,qtbase-5)
-       ("qtsvg" ,qtsvg)
-       ("qtx11extras" ,qtx11extras)
-       ("samba" ,samba)
-       ("sdl" ,sdl)
-       ("sdl-image" ,sdl-image)
-       ("speex" ,speex)
-       ("speexdsp" ,speexdsp)
-       ("srt" ,srt)
-       ("taglib" ,taglib)
-       ("twolame" ,twolame)
-       ("unzip" ,unzip)
-       ("wayland" ,wayland)
-       ("wayland-protocols" ,wayland-protocols)
-       ("x265" ,x265)
-       ("xcb-util-keysyms" ,xcb-util-keysyms)))
+     (list alsa-lib
+           avahi
+           dav1d
+           dbus
+           eudev
+           ffmpeg
+           flac
+           fontconfig
+           freetype
+           fribidi
+           gnutls
+           liba52
+           libarchive
+           libass
+           libavc1394
+           libbluray
+           libcaca
+           libcddb
+           libdca
+           libdvbpsi
+           libdvdnav
+           libdvdread
+           libebml
+           libgcrypt
+           libidn
+           libkate
+           libmad
+           libmatroska
+           libmicrodns
+           libmodplug
+           libmpeg2
+           libogg
+           libpng
+           libraw1394
+           (librsvg-for-system)
+           libsamplerate
+           libsecret
+           libssh2
+           libtheora
+           libupnp
+           libva
+           libvdpau
+           libvorbis
+           libvpx
+           libx264
+           libxext
+           libxi
+           libxinerama
+           libxml2
+           libxpm
+           livemedia-utils
+           lua-5.2
+           mesa
+           opus
+           perl
+           protobuf
+           pulseaudio
+           python-wrapper
+           qtbase-5
+           qtsvg
+           qtx11extras
+           samba
+           sdl
+           sdl-image
+           speex
+           speexdsp
+           srt
+           taglib
+           twolame
+           unzip
+           wayland
+           wayland-protocols
+           x265
+           xcb-util-keysyms))
     (arguments
      `(#:configure-flags
        `("BUILDCC=gcc"
-- 
2.36.1





Information forwarded to guix-patches <at> gnu.org:
bug#56361; Package guix-patches. (Sat, 02 Jul 2022 19:11:03 GMT) Full text and rfc822 format available.

Message #23 received at 56361 <at> debbugs.gnu.org (full text, mbox):

From: Simon South <simon <at> simonsouth.net>
To: 56361 <at> debbugs.gnu.org
Subject: [PATCH 6/6] gnu: vlc: Add bash-minimal as an input.
Date: Sat,  2 Jul 2022 15:10:31 -0400
* gnu/packages/video.scm (vlc)[inputs]: Add bash-minimal, silencing a warning
from "guix lint vlc" as "wrap-program" is used in the package definition.
---
 gnu/packages/video.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index ac2c0d986b..69886581d8 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1907,6 +1907,7 @@ (define-public vlc
     (inputs
      (list alsa-lib
            avahi
+           bash-minimal
            dav1d
            dbus
            eudev
-- 
2.36.1





Reply sent to Christopher Baines <mail <at> cbaines.net>:
You have taken responsibility. (Thu, 07 Jul 2022 23:29:02 GMT) Full text and rfc822 format available.

Notification sent to Simon South <simon <at> simonsouth.net>:
bug acknowledged by developer. (Thu, 07 Jul 2022 23:29:02 GMT) Full text and rfc822 format available.

Message #28 received at 56361-done <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Simon South <simon <at> simonsouth.net>
Cc: 56361-done <at> debbugs.gnu.org
Subject: Re: [bug#56361] gnu: srt: Update to 1.4.4 (fix test failure on
 AArch64)
Date: Fri, 08 Jul 2022 00:20:14 +0100
[Message part 1 (text/plain, inline)]
Simon South <simon <at> simonsouth.net> writes:

> Here's a patch series that
>
> - Updates SRT, the "Secure Reliable Transport" for audio/video streams, to
>   1.4.4, fixing a test failure on AArch64 and likely other non-Intel/AMD
>   platforms[0];
>
> - Updates the srt package itself to remove input labels;
>
> - Updates the vlc package to use the now-current version of SRT instead of an
>   older version[1];
>
> - Removes that older (and now unnecessary) version of srt from the package
>   repository; and
>
> - Updates the vlc package to remove input labels and to add "bash-minimal" to
>   its inputs, silencing a warning from "guix lint".
>
> I'm aware SRT 1.5.0 is also available, but
>
> - Version 1.4.4 is the latest version supported by VLC;
>
> - Version 1.5.0 introduces API/ABI changes that are likely to cause problems
>   elsewhere; and
>
> - I just need to get my systems updating again.  (I can look at submitting
>   another patchset later.)
>
> I've tested these patches on x86-64 and AArch64 and in general, everything
> looks fine.
>
> With regards to SRT's immediate dependents, ffmpeg <at> 4.4.2, ffmpeg <at> 5.0.1,
> gst-plugins-bad and and vlc:
>
> - All four dependents build without issue on x86-64.
>
> - On AArch64, VLC and the two FFmpeg packages build just fine.  Building
>   gst-plugins-bad means building the entire Rust toolchain and potentially
>   other packages that are infeasible to build on garden-variety AArch64
>   hardware, so I haven't been able to test this.
>
> - Nonetheless I've verified that on both architectures, VLC built with these
>   patches connects to and plays a SRT video stream just fine.[2]
>
> On x86-64 I've tested building all of SRT's 299 dependent packages and this
> completes without any _new_ build failures: ams-lv2, dvdstyler, lv2-mda-piano
> and lv2-mda-epiano are all currently broken on x86-64, and it appears my
> system is unable to build curl 7.84.0 for i686-linux either with or without
> these patches applied.
>
> [0] The failure involves an unnecessarily-short timeout period in the
>     "SyncEvent.WaitForTwoNotifyOne" unit test, which was adjusted in upstream
>     commit e2a00aa:
>
>     https://github.com/Haivision/srt/commit/e2a00aa03a36e153ab8cfe2c0790f7bf43747d8d
>
>     It's unlikely this affects only AArch64.  A Debian developer notes in this
>     GitHub issue that SRT test failures are common on other, older and mostly
>     non-Intel/AMD architectures as well:
>
>     https://github.com/Haivision/srt/issues/2267
>
> [1] VLC was updated to build with SRT version 1.4.4 by default in upstream
>     commit 9a28929 this past February, making the comment above the srt-1.4.1
>     package (in gnu/packages/networking.scm) obsolete.  Since neither of the
>     other packages mentioned still use this older version of SRT, nor does any
>     other, the package is no longer needed.
>
>     https://code.videolan.org/videolan/vlc/-/commit/9a289291d01a393294c62ee7406487f59e25f4ed
>
> [2] I'd also like to verify that VLC can _output_ a video stream using SRT but
>     despite an "SRT" output-access module appearing in the configuration
>     settings I can't see how this is meant to work, using either the original
>     or the patched build of VLC.  If anyone relies on this functionality and
>     can give me straightforward instructions for testing it I'll be happy to
>     do so before this patch series is committed.
>
> ---
>
> Simon South (6):
>   gnu: srt: Remove input labels.
>   gnu: srt: Update to 1.4.4.
>   gnu: vlc: Use regular srt.
>   gnu: Remove srt-1.4.1.
>   gnu: vlc: Remove input labels.
>   gnu: vlc: Add bash-minimal as an input.
>
>  gnu/packages/networking.scm |  26 +-----
>  gnu/packages/video.scm      | 155 ++++++++++++++++++------------------
>  2 files changed, 79 insertions(+), 102 deletions(-)
>
>
> base-commit: 48ff4bfcd7491c12248b34a82e0b8e8a50a86308

Thanks for the really comprehensive testing and notes Simon, the patches
look good too.

I've gone ahead and pushed these in the following commits:

  7dfb8dc4c1 * gnu: vlc: Add bash-minimal as an input.
  f53e14be33 * gnu: vlc: Remove input labels.
  07986d0fad * gnu: Remove srt-1.4.1.
  6b9d373083 * gnu: vlc: Use regular srt.
  5feeb51f1b * gnu: srt: Update to 1.4.4.
  70f3914c24 * gnu: srt: Remove input labels.

Thanks again,

Chris
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 05 Aug 2022 11:24:10 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 32 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.