~ruther/guix-local

a91c3d336cb42c195350cb61c74f8e9b5a02bfc2 — Maxim Cournoyer 5 years ago 81bda13
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.
1 files changed, 70 insertions(+), 58 deletions(-)

M gnu/packages/networking.scm
M gnu/packages/networking.scm => gnu/packages/networking.scm +70 -58
@@ 268,66 268,78 @@ Android, and ChromeOS.")
    (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