diff options
Diffstat (limited to 'gnu/packages/gstreamer.scm')
-rw-r--r-- | gnu/packages/gstreamer.scm | 107 |
1 files changed, 79 insertions, 28 deletions
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 63b4179bc6..1e26a3ce3e 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -116,19 +116,41 @@ arrays of data.") (sha256 (base32 "0kp93622y29pck8asvil1fmzf55s2gx76wv475a6izc3cwj49w73")))) - (build-system gnu-build-system) + (build-system meson-build-system) (outputs '("out" "doc")) (arguments - `(#:configure-flags - (list (string-append "--with-html-dir=" - (assoc-ref %outputs "doc") - "/share/gtk-doc/html")))) + `(#:phases + (modify-phases %standard-phases + ;; FIXME: Since switching to the meson-build-system, two tests + ;; started failing on i686. See + ;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/499>. + ,@(if (string-prefix? "i686" (or (%current-target-system) + (%current-system))) + `((add-after 'unpack 'disable-some-tests + (lambda _ + (substitute* "tests/check/gst/gstsystemclock.c" + (("tcase_add_test \\(tc_chain, test_stress_cleanup_unschedule.*") + "") + (("tcase_add_test \\(tc_chain, test_stress_reschedule.*") + "")) + #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")) + (copy-recursively (string-append out "/share/gtk-doc") + (string-append doc "/share/gtk-doc")) + (delete-file-recursively (string-append out "/share/gtk-doc")) + #t)))))) (propagated-inputs `(("glib" ,glib))) ; required by gstreamer-1.0.pc. (native-inputs `(("bison" ,bison) ("flex" ,flex) ("glib" ,glib "bin") ("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc) ("perl" ,perl) ("pkg-config" ,pkg-config) ("python-wrapper" ,python-wrapper))) @@ -163,8 +185,7 @@ This package provides the core library and elements.") (sha256 (base32 "0sl1hxlyq46r02k7z70v09vx1gi4rcypqmzra9jid93lzvi76gmi")))) - (build-system gnu-build-system) - (outputs '("out" "doc")) + (build-system meson-build-system) (propagated-inputs `(("glib" ,glib) ;required by gstreamer-sdp-1.0.pc ("gstreamer" ,gstreamer) ;required by gstreamer-plugins-base-1.0.pc @@ -198,11 +219,10 @@ This package provides the core library and elements.") ("gobject-introspection" ,gobject-introspection) ("python-wrapper" ,python-wrapper))) (arguments - `(#:parallel-tests? #f ; 'pipelines/tcp' fails in parallel - #:configure-flags - (list (string-append "--with-html-dir=" - (assoc-ref %outputs "doc") - "/share/gtk-doc/html")) + '(#:configure-flags '("-Dgl=disabled" + ;; FIXME: Documentation fails to build without + ;; enabling GL above, which causes other problems. + "-Ddoc=false") #:phases (modify-phases %standard-phases (add-before 'configure 'patch @@ -230,7 +250,7 @@ for the GStreamer multimedia library.") (sha256 (base32 "068k3cbv1yf3gbllfdzqsg263kzwh21y8dpwr0wvgh15vapkpfs0")))) - (build-system gnu-build-system) + (build-system meson-build-system) (inputs `(("aalib" ,aalib) ("cairo" ,cairo) @@ -263,6 +283,22 @@ for the GStreamer multimedia library.") (arguments `(#:phases (modify-phases %standard-phases + ,@(if (string-prefix? "arm" (or (%current-target-system) + (%current-system))) + ;; FIXME: These tests started failing on armhf after switching to Meson. + ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/689 + `((add-after 'unpack 'disable-tests-for-armhf + (lambda _ + (substitute* "tests/check/elements/rtpbin_buffer_list.c" + (("tcase_add_test \\(tc_chain, test_bufferlist\\);") + "")) + (substitute* "tests/check/elements/rtpulpfec.c" + (("tcase_add_loop_test.*rtpulpfecdec_recovered_from_many.*") + "") + (("tcase_add.*rtpulpfecdec_recovered_using_recovered_packet.*") + "")) + #t))) + '()) (add-after 'unpack 'disable-failing-tests (lambda _ @@ -291,19 +327,35 @@ developers consider to have good quality code and correct functionality.") (sha256 (base32 "0x0y0hm0ga3zqi5q4090hw5sjh59y1ry9ak16qsaascm72i7mjzi")))) - (outputs '("out" "doc")) - (build-system gnu-build-system) + (build-system meson-build-system) (arguments - '(#:tests? #f ; XXX: 13 of 53 tests fail - #:configure-flags - (list (string-append "--with-html-dir=" - (assoc-ref %outputs "doc") - "/share/gtk-doc/html")))) + `(#:phases + (modify-phases %standard-phases + ,@(if (string-prefix? "arm" (or (%current-target-system) + (%current-system))) + ;; Disable test that fails on ARMv7. + ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1188 + `((add-after 'unpack 'disable-asfmux-test + (lambda _ + (substitute* "tests/check/meson.build" + (("\\[\\['elements/asfmux\\.c'\\]\\],") + "")) + #t))) + '()) + (add-after 'unpack 'disable-failing-test + (lambda _ + ;; FIXME: Why is this failing. + (substitute* "tests/check/meson.build" + ((".*elements/dash_mpd\\.c.*") + "")) + #t))))) (propagated-inputs `(("gst-plugins-base" ,gst-plugins-base))) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc. ("gobject-introspection" ,gobject-introspection) + ;; TODO: Enable documentation for 1.18. + ;;("gtk-doc" ,gtk-doc) ("pkg-config" ,pkg-config) ("python" ,python))) (inputs @@ -367,7 +419,7 @@ par compared to the rest.") (sha256 (base32 "1jpvc32x6q01zjkfgh6gmq6aaikiyfwwnhj7bmvn52syhrdl202m")))) - (build-system gnu-build-system) + (build-system meson-build-system) (inputs `(("gst-plugins-base" ,gst-plugins-base) ("liba52" ,liba52) @@ -408,9 +460,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.") ;; Drop bundled ffmpeg. (delete-file-recursively "gst-libs/ext/libav") #t)))) - (build-system gnu-build-system) - (arguments - '(#:configure-flags '("--with-system-libav"))) + (build-system meson-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("python" ,python))) @@ -438,15 +488,16 @@ compression formats through the use of the libav library.") (sha256 (base32 "1a48ca66izmm8hnp608jv5isg3jxb0vlfmhns0bg9nbkilag7390")))) - (build-system gnu-build-system) + (build-system meson-build-system) (arguments - `(#:modules ((guix build gnu-build-system) + `(#:modules ((guix build meson-build-system) + (guix build utils) ((guix build python-build-system) #:prefix python:)) - #:imported-modules (,@%gnu-build-system-modules + #:imported-modules (,@%meson-build-system-modules (guix build python-build-system)) #:configure-flags (list (string-append - "--with-pygi-overrides-dir=" + "-Dpygi-overrides-dir=" (python:site-packages %build-inputs %outputs) "gi/overrides")))) (native-inputs `(("pkg-config" ,pkg-config) |