{ lib, stdenv, fetchurl, meson, ninja, pkg-config, python3, bash-completion, gst-plugins-base, gst-plugins-bad, gst-devtools, libxml2, flex, gettext, gobject-introspection, # 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-editing-services"; version = "1.28.4"; outputs = [ "out" "dev" ]; src = fetchurl { url = "https://gstreamer.freedesktop.org/src/gst-editing-services/gst-editing-services-${finalAttrs.version}.tar.xz"; hash = "sha256-b361Xlhxjd5bWGn2Ge2Q6/Owz6A3bBacG4P8dzgRkUo="; }; separateDebugInfo = true; __structuredAttrs = true; strictDeps = true; nativeBuildInputs = [ meson ninja pkg-config gettext gobject-introspection python3 flex ] ++ lib.optionals enableDocumentation [ hotdoc ]; buildInputs = [ bash-completion libxml2 gst-devtools python3 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_gstreamer ]; propagatedBuildInputs = [ gst-plugins-base gst-plugins-bad ]; mesonFlags = [ (lib.mesonEnable "doc" enableDocumentation) (lib.mesonEnable "tests" finalAttrs.finalPackage.doCheck) ]; postPatch = '' patchShebangs \ scripts/extract-release-date-from-doap-file.py ''; preFixup = '' moveToOutput "lib/gstreamer-1.0/pkgconfig" "$dev" ''; passthru = { updateScript = directoryListingUpdater { odd-unstable = true; }; }; meta = { description = "Library for creation of audio/video non-linear editors"; mainProgram = "ges-launch-1.0"; homepage = "https://gstreamer.freedesktop.org"; license = lib.licenses.lgpl2Plus; platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ tmarkus ]; }; })