15 , elfutils # for libdw
19 , gobject-introspection
22 stdenv.mkDerivation rec {
30 # "devdoc" # disabled until `hotdoc` is packaged in nixpkgs, see:
31 # - https://github.com/NixOS/nixpkgs/pull/98767
32 # - https://github.com/NixOS/nixpkgs/issues/98769#issuecomment-702296551
36 url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
37 sha256 = "sha256-YH2vZLu9X7GK+dF+IcDSLE1wL//oOyPLItGxryyiOio=";
59 # TODO add hotdoc here
60 ] ++ lib.optionals stdenv.isLinux [
61 libcap # for setcap binary
67 ] ++ lib.optionals stdenv.isLinux [
71 ] ++ lib.optionals stdenv.isDarwin [
75 propagatedBuildInputs = [
80 "-Ddbghelp=disabled" # not needed as we already provide libunwind and libdw, and dbghelp is a fallback to those
81 "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
82 "-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing
83 ] ++ lib.optionals stdenv.isDarwin [
84 # darwin.libunwind doesn't have pkg-config definitions so meson doesn't detect it.
85 "-Dlibunwind=disabled"
91 gst/parse/get_flex_version.py \
92 gst/parse/gen_grammar.py.in \
93 gst/parse/gen_lex.py.in \
94 libs/gst/helpers/ptp_helper_post_install.sh \
95 scripts/extract-release-date-from-doap-file.py
99 for prog in "$bin/bin/"*; do
100 # We can't use --suffix here due to quoting so we craft the export command by hand
101 wrapProgram "$prog" --run 'export GST_PLUGIN_SYSTEM_PATH_1_0=$GST_PLUGIN_SYSTEM_PATH_1_0''${GST_PLUGIN_SYSTEM_PATH_1_0:+:}$(unset _tmp; for profile in $NIX_PROFILES; do _tmp="$profile/lib/gstreamer-1.0''${_tmp:+:}$_tmp"; done; printf '%s' "$_tmp")'
106 moveToOutput "share/bash-completion" "$bin"
109 setupHook = ./setup-hook.sh;
112 description = "Open source multimedia framework";
113 homepage = "https://gstreamer.freedesktop.org";
114 license = licenses.lgpl2Plus;
115 platforms = platforms.unix;
116 maintainers = with maintainers; [ ttuegel matthewbauer ];