{ stdenv, lib, fetchurl, meson, ninja, pkg-config, python3, gstreamer, gst-plugins-base, gettext, ffmpeg-headless, # Checks meson.is_cross_build(), so even canExecute isn't enough. enableDocumentation ? stdenv.hostPlatform == stdenv.buildPlatform, hotdoc, directoryListingUpdater, apple-sdk_gstreamer, }: stdenv.mkDerivation (finalAttrs: { pname = "gst-libav"; version = "1.26.0"; outputs = [ "out" "dev" ]; src = fetchurl { url = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${finalAttrs.version}.tar.xz"; hash = "sha256-cHqLaH/1/dzuWwJBXi7JtxtKxE0Leuw7R3Nkzuy/Hs8="; }; nativeBuildInputs = [ meson ninja gettext pkg-config python3 ] ++ lib.optionals enableDocumentation [ hotdoc ]; buildInputs = [ gstreamer gst-plugins-base ffmpeg-headless ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_gstreamer ]; mesonFlags = [ (lib.mesonEnable "doc" enableDocumentation) ]; postPatch = '' patchShebangs \ scripts/extract-release-date-from-doap-file.py ''; passthru = { updateScript = directoryListingUpdater { }; }; meta = with lib; { description = "FFmpeg plugin for GStreamer"; homepage = "https://gstreamer.freedesktop.org"; license = licenses.lgpl2Plus; platforms = platforms.unix; maintainers = [ ]; }; })