gnu: libnice: Update to 0.1.18-0.47a9633 and disable test-bind test.

This resolves a build failure following the GStreamer update to 1.18.5.

* gnu/packages/networking.scm (libnice): Update to 0.1.18-0.47a9633.
[phases]{disable-failing-tests}: Comment out rather than delete
test-set-port-range; disable the bind test, which is flaky.
This commit is contained in:
Maxim Cournoyer 2021-10-09 23:40:59 -04:00
parent 81bda13ad2
commit a91c3d336c
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -268,66 +268,78 @@ (define-public libcamera
(license license:lgpl2.1+)))
(define-public libnice
(package
(name "libnice")
(version "0.1.18")
(source
(origin
(method url-fetch)
(uri
(string-append "https://libnice.freedesktop.org/releases/"
name "-" version ".tar.gz"))
(sha256
(base32 "1x3kj9b3dy9m2h6j96wgywfamas1j8k2ca43k5v82kmml9dx5asy"))))
(build-system meson-build-system)
(outputs '("out" "doc"))
(arguments
`(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
#:configure-flags
(list
"-Dgtk_doc=enabled")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-test
(lambda _
(substitute* "tests/meson.build"
;; test-set-port-range.c:66:main: assertion failed:
;; (nice_agent_gather_candidates (agent, stream1))
(("'test-set-port-range'") "#"))
#t))
(add-after 'install 'move-docs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc")))
(mkdir-p (string-append doc "/share"))
(rename-file
(string-append out "/share/gtk-doc")
(string-append doc "/share/gtk-doc"))
#t))))))
(native-inputs
`(("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("graphviz" ,graphviz)
("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)))
(inputs
`(("gstreamer" ,gstreamer)
("gst-plugins-base" ,gst-plugins-base)
("libnsl" ,libnsl)))
(propagated-inputs
`(("glib" ,glib)
("glib-networking" ,glib-networking)
("gnutls" ,gnutls)))
(synopsis "GLib ICE implementation")
(description "LibNice is a library that implements the Interactive
;; The latest release is old and randomly fails tests with GStreamer 1.18.5,
;; such as: "test-bind: ../libnice-0.1.18/stun/tests/test-bind.c:234:
;; bad_responses: Assertion `len >= 20' failed"
(let ((revision "0")
(commit "47a96334448838c43d7e72f4ef51b317befbfae1"))
(package
(name "libnice")
(version (git-version "0.1.18" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.freedesktop.org/libnice/libnice")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"19ypjazslmsb9vqs2wyyzvi72h5jbn16dbng7pxh485djdrmgcg4"))))
(build-system meson-build-system)
(outputs '("out" "doc"))
(arguments
`(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
#:configure-flags
(list
"-Dgtk_doc=enabled")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-test
(lambda _
(substitute* "tests/meson.build"
;; test-set-port-range.c:66:main: assertion failed:
;; (nice_agent_gather_candidates (agent, stream1))
(("'test-set-port-range'" all)
(string-append "# " all)))
(substitute* "stun/tests/meson.build"
;; test-bind.c:234: bad_responses: Assertion `len >= 20'
;; failed (see:
;; https://gitlab.freedesktop.org/libnice/libnice/-/issues/150).
(("'bind', ")
""))))
(add-after 'install 'move-docs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc")))
(mkdir-p (string-append doc "/share"))
(rename-file
(string-append out "/share/gtk-doc")
(string-append doc "/share/gtk-doc"))))))))
(native-inputs
`(("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("graphviz" ,graphviz)
("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)))
(inputs
`(("gstreamer" ,gstreamer)
("gst-plugins-base" ,gst-plugins-base)
("libnsl" ,libnsl)))
(propagated-inputs
`(("glib" ,glib)
("glib-networking" ,glib-networking)
("gnutls" ,gnutls)))
(synopsis "GLib ICE implementation")
(description "LibNice is a library that implements the Interactive
Connectivity Establishment (ICE) standard (RFC 5245 & RFC 8445). It provides a
GLib-based library, libnice, as well as GStreamer elements to use it.")
(home-page "https://libnice.freedesktop.org/")
(license
;; This project is dual-licensed.
(list
license:lgpl2.1+
license:mpl1.1))))
(home-page "https://libnice.freedesktop.org/")
(license
;; This project is dual-licensed.
(list
license:lgpl2.1+
license:mpl1.1)))))
(define-public rtmpdump
;; There are no tags in the repository, and the project is unlikely to