about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/gstreamer
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2019-01-07 02:18:36 +0000
committerAlyssa Ross <hi@alyssa.is>2019-01-07 02:18:47 +0000
commit36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (patch)
treeb3faaf573407b32aa645237a4d16b82778a39a92 /nixpkgs/pkgs/development/libraries/gstreamer
parent4e31070265257dc67d120c27e0f75c2344fdfa9a (diff)
parentabf060725d7614bd3b9f96764262dfbc2f9c2199 (diff)
downloadnixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.gz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.bz2
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.lz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.xz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.zst
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.zip
Add 'nixpkgs/' from commit 'abf060725d7614bd3b9f96764262dfbc2f9c2199'
git-subtree-dir: nixpkgs
git-subtree-mainline: 4e31070265257dc67d120c27e0f75c2344fdfa9a
git-subtree-split: abf060725d7614bd3b9f96764262dfbc2f9c2199
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/gstreamer')
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/bad/default.nix90
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/bad/fix_pkgconfig_includedir.patch15
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/base/default.nix70
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/base/fix_pkgconfig_includedir.patch15
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/core/default.nix60
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/core/fix_pkgconfig_includedir.patch15
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/core/setup-hook.sh9
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/default.nix29
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/ges/default.nix35
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/ges/fix_pkgconfig_includedir.patch15
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/good/default.nix61
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/good/fix_pkgconfig_includedir.patch15
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/gstreamermm/default.nix31
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gnonlin/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-ffmpeg/default.nix30
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-bad/default.nix36
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix53
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/gcc-4.9.patch38
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix52
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/linux-headers-3.9.patch27
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/v4l.patch11
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix30
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix37
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-python/disable-testFake.patch56
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/darwin.patch14
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix65
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh8
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamermm/default.nix31
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/boost1.48.patch49
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/default.nix20
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/libav/default.nix37
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix32
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/default.nix30
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/ugly/default.nix42
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/vaapi/default.nix36
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/validate/default.nix34
36 files changed, 1251 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/bad/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/bad/default.nix
new file mode 100644
index 000000000000..5d9c03b19190
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -0,0 +1,90 @@
+{ stdenv, fetchurl, fetchpatch, meson, ninja, gettext
+, pkgconfig, python3, gst-plugins-base, orc
+, faacSupport ? false, faac ? null
+, faad2, libass, libkate, libmms, librdf, ladspaH
+, libnice, webrtc-audio-processing, lilv, lv2, serd, sord, sratom
+, libbs2b, libmodplug, mpeg2dec
+, openjpeg, libopus, librsvg
+, wildmidi, fluidsynth, libvdpau, wayland
+, libwebp, xvidcore, gnutls, mjpegtools
+, libGLU_combined, libintl, libgme
+, openssl, x265, libxml2
+}:
+
+assert faacSupport -> faac != null;
+
+let
+  inherit (stdenv.lib) optional;
+in
+stdenv.mkDerivation rec {
+  name = "gst-plugins-bad-${version}";
+  version = "1.14.4";
+
+  meta = with stdenv.lib; {
+    description = "Gstreamer Bad Plugins";
+    homepage    = "https://gstreamer.freedesktop.org";
+    longDescription = ''
+      a set of plug-ins that aren't up to par compared to the
+      rest.  They might be close to being good quality, but they're missing
+      something - be it a good code review, some documentation, a set of tests,
+      a real live maintainer, or some actual wide use.
+    '';
+    license     = licenses.lgpl2Plus;
+    platforms   = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ matthewbauer ];
+  };
+
+  preConfigure = ''
+    patchShebangs .
+  '';
+
+  patches = [
+    (fetchpatch {
+        url = "https://bug794856.bugzilla-attachments.gnome.org/attachment.cgi?id=370409";
+        sha256 = "0hy0rcn35alq65yqwri4fqjz2hf3nyyg5c7rnndk51msmqjxpprk";
+    })
+    ./fix_pkgconfig_includedir.patch
+    # Enable bs2b compilation
+    # https://bugzilla.gnome.org/show_bug.cgi?id=794346
+    (fetchurl {
+      url = https://bugzilla.gnome.org/attachment.cgi?id=369724;
+      sha256 = "1716mp0h2866ab33w607isvfhv1zwyj71qb4jrkx5v0h276v1pwr";
+    })
+  ];
+
+  src = fetchurl {
+    url = "${meta.homepage}/src/gst-plugins-bad/${name}.tar.xz";
+    sha256 = "1r8dma3x127rbx42yab7kwq7q1bhkmvz2ykn0rnqnzl95q74w2wi";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ meson ninja pkgconfig python3 gettext ];
+
+  buildInputs = [
+    gst-plugins-base orc
+    faad2 libass libkate libmms
+    libnice webrtc-audio-processing # webrtc
+    libbs2b
+    ladspaH librdf # ladspa plug-in
+    lilv lv2 serd sord sratom # lv2 plug-in
+    libmodplug mpeg2dec
+    openjpeg libopus librsvg
+    fluidsynth libvdpau
+    libwebp xvidcore gnutls libGLU_combined
+    libgme openssl x265 libxml2
+    libintl
+  ]
+    ++ optional faacSupport faac
+    ++ optional stdenv.isLinux wayland
+    # wildmidi requires apple's OpenAL
+    # TODO: package apple's OpenAL, fix wildmidi, include on Darwin
+    ++ optional (!stdenv.isDarwin) wildmidi
+    # TODO: mjpegtools uint64_t is not compatible with guint64 on Darwin
+    ++ optional (!stdenv.isDarwin) mjpegtools;
+
+  enableParallelBuilding = true;
+
+  doCheck = false; # fails 20 out of 58 tests, expensive
+
+}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/bad/fix_pkgconfig_includedir.patch b/nixpkgs/pkgs/development/libraries/gstreamer/bad/fix_pkgconfig_includedir.patch
new file mode 100644
index 000000000000..c687fffc9c08
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/bad/fix_pkgconfig_includedir.patch
@@ -0,0 +1,15 @@
+diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build
+index 271f327f3..7e2afa754 100644
+--- a/pkgconfig/meson.build
++++ b/pkgconfig/meson.build
+@@ -2,8 +2,8 @@ pkgconf = configuration_data()
+ 
+ pkgconf.set('prefix', join_paths(get_option('prefix')))
+ pkgconf.set('exec_prefix', '${prefix}')
+-pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
+-pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
++pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir')))
++pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir')))
+ pkgconf.set('GST_API_VERSION', api_version)
+ pkgconf.set('VERSION', gst_version)
+ 
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/base/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/base/default.nix
new file mode 100644
index 000000000000..0acdf71fb72f
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/base/default.nix
@@ -0,0 +1,70 @@
+{ stdenv, fetchurl, fetchpatch, lib
+, pkgconfig, meson, ninja, gettext, gobject-introspection
+, python3, gstreamer, orc, pango, libtheora
+, libintl, libopus
+, enableX11 ? stdenv.isLinux, libXv
+, enableWayland ? stdenv.isLinux, wayland
+, enableAlsa ? stdenv.isLinux, alsaLib
+, enableCocoa ? false, darwin
+, enableCdparanoia ? (!stdenv.isDarwin), cdparanoia }:
+
+stdenv.mkDerivation rec {
+  name = "gst-plugins-base-${version}";
+  version = "1.14.4";
+
+  meta = with lib; {
+    description = "Base plugins and helper libraries";
+    homepage = https://gstreamer.freedesktop.org;
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ matthewbauer ];
+  };
+
+  src = fetchurl {
+    url = "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz";
+    sha256 = "0qbllw4kphchwhy4p7ivdysigx69i97gyw6q0rvkx1j81r4kjqfa";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ pkgconfig python3 gettext gobject-introspection ]
+
+  # Broken meson with Darwin. Should hopefully be fixed soon. Tracking
+  # in https://bugzilla.gnome.org/show_bug.cgi?id=781148.
+  ++ lib.optionals (!stdenv.isDarwin) [ meson ninja ];
+
+  # TODO How to pass these to Meson?
+  configureFlags = [
+    "--enable-x11=${if enableX11 then "yes" else "no"}"
+    "--enable-wayland=${if enableWayland then "yes" else "no"}"
+    "--enable-cocoa=${if enableCocoa then "yes" else "no"}"
+  ]
+
+  # Introspection fails on my MacBook currently
+  ++ lib.optional stdenv.isDarwin "--disable-introspection";
+
+  buildInputs = [ orc libtheora libintl libopus ]
+    ++ lib.optional enableAlsa alsaLib
+    ++ lib.optionals enableX11 [ libXv pango ]
+    ++ lib.optional enableWayland wayland
+    ++ lib.optional enableCocoa darwin.apple_sdk.frameworks.Cocoa
+    ++ lib.optional enableCdparanoia cdparanoia;
+
+  propagatedBuildInputs = [ gstreamer ];
+
+  postPatch = ''
+    patchShebangs .
+  '';
+
+  enableParallelBuilding = true;
+
+  doCheck = false; # fails, wants DRI access for OpenGL
+
+  patches = [
+    (fetchpatch {
+        url = "https://bug794856.bugzilla-attachments.gnome.org/attachment.cgi?id=370414";
+        sha256 = "07x43xis0sr0hfchf36ap0cibx0lkfpqyszb3r3w9dzz301fk04z";
+    })
+    ./fix_pkgconfig_includedir.patch
+  ];
+}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/base/fix_pkgconfig_includedir.patch b/nixpkgs/pkgs/development/libraries/gstreamer/base/fix_pkgconfig_includedir.patch
new file mode 100644
index 000000000000..04486a4647f9
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/base/fix_pkgconfig_includedir.patch
@@ -0,0 +1,15 @@
+diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build
+index 04abfbee5..88c86b431 100644
+--- a/pkgconfig/meson.build
++++ b/pkgconfig/meson.build
+@@ -2,8 +2,8 @@ pkgconf = configuration_data()
+ 
+ pkgconf.set('prefix', get_option('prefix'))
+ pkgconf.set('exec_prefix', '${prefix}')
+-pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
+-pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
++pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir')))
++pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir')))
+ pkgconf.set('GST_API_VERSION', api_version)
+ pkgconf.set('VERSION', gst_version)
+ pkgconf.set('LIBM', libm.found() ? '-lm' : '')
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/core/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/core/default.nix
new file mode 100644
index 000000000000..2c1faac387e6
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/core/default.nix
@@ -0,0 +1,60 @@
+{ stdenv, fetchurl, fetchpatch, meson, ninja
+, pkgconfig, gettext, gobject-introspection
+, bison, flex, python3, glib, makeWrapper
+, libcap,libunwind, darwin
+, lib
+}:
+
+stdenv.mkDerivation rec {
+  name = "gstreamer-${version}";
+  version = "1.14.4";
+
+  meta = with lib ;{
+    description = "Open source multimedia framework";
+    homepage = https://gstreamer.freedesktop.org;
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ ttuegel matthewbauer ];
+  };
+
+  src = fetchurl {
+    url = "${meta.homepage}/src/gstreamer/${name}.tar.xz";
+    sha256 = "1izzhnlsy83rgr4zl3jcl1sryxqbbigrrqw3j4x3nnphqnb6ckzr";
+  };
+
+  patches = [
+    (fetchpatch {
+        url = "https://bug794856.bugzilla-attachments.gnome.org/attachment.cgi?id=370411";
+        sha256 = "16plzzmkk906k4892zq68j3c9z8vdma5nxzlviq20jfv04ykhmk2";
+    })
+    ./fix_pkgconfig_includedir.patch
+  ];
+
+  outputs = [ "out" "dev" ];
+  outputBin = "dev";
+
+  nativeBuildInputs = [
+    meson ninja pkgconfig gettext bison flex python3 makeWrapper gobject-introspection
+  ];
+  buildInputs =
+       lib.optionals stdenv.isLinux [ libcap libunwind ]
+    ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.CoreServices;
+
+  propagatedBuildInputs = [ glib ];
+
+  postInstall = ''
+    for prog in "$dev/bin/"*; do
+        wrapProgram "$prog" --suffix GST_PLUGIN_SYSTEM_PATH : "\$(unset _tmp; for profile in \$NIX_PROFILES; do _tmp="\$profile/lib/gstreamer-1.0''$\{_tmp:+:\}\$_tmp"; done; printf "\$_tmp")"
+    done
+  '';
+
+  preConfigure= ''
+    patchShebangs .
+  '';
+
+  preFixup = ''
+    moveToOutput "share/bash-completion" "$dev"
+  '';
+
+  setupHook = ./setup-hook.sh;
+}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/core/fix_pkgconfig_includedir.patch b/nixpkgs/pkgs/development/libraries/gstreamer/core/fix_pkgconfig_includedir.patch
new file mode 100644
index 000000000000..c388a82fa2a8
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/core/fix_pkgconfig_includedir.patch
@@ -0,0 +1,15 @@
+diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build
+index edb0586c2..7ed46dfce 100644
+--- a/pkgconfig/meson.build
++++ b/pkgconfig/meson.build
+@@ -2,8 +2,8 @@ pkgconf = configuration_data()
+ 
+ pkgconf.set('prefix', join_paths(get_option('prefix')))
+ pkgconf.set('exec_prefix', '${prefix}')
+-pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
+-pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
++pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir')))
++pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir')))
+ pkgconf.set('GST_API_VERSION', apiversion)
+ pkgconf.set('VERSION', gst_version)
+ pkgconf.set('LIBM', mathlib.found() ? '-lm' : '')
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/core/setup-hook.sh b/nixpkgs/pkgs/development/libraries/gstreamer/core/setup-hook.sh
new file mode 100644
index 000000000000..b8c741af578f
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/core/setup-hook.sh
@@ -0,0 +1,9 @@
+addGstreamer1LibPath () {
+    if test -d "$1/lib/gstreamer-1.0"
+    then
+        export GST_PLUGIN_SYSTEM_PATH_1_0="${GST_PLUGIN_SYSTEM_PATH_1_0}${GST_PLUGIN_SYSTEM_PATH_1_0:+:}$1/lib/gstreamer-1.0"
+    fi
+}
+
+addEnvHooks "$hostOffset" addGstreamer1LibPath
+
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/default.nix
new file mode 100644
index 000000000000..9aec87634040
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/default.nix
@@ -0,0 +1,29 @@
+{ callPackage }:
+
+rec {
+  gstreamer = callPackage ./core { };
+
+  gstreamermm = callPackage ./gstreamermm { };
+
+  gst-plugins-base = callPackage ./base { inherit gstreamer; };
+
+  gst-plugins-good = callPackage ./good { inherit gst-plugins-base; };
+
+  gst-plugins-bad = callPackage ./bad { inherit gst-plugins-base; };
+
+  gst-plugins-ugly = callPackage ./ugly { inherit gst-plugins-base; };
+
+  gst-rtsp-server = callPackage ./rtsp-server { inherit gst-plugins-base; };
+
+  gst-libav = callPackage ./libav { inherit gst-plugins-base; };
+
+  gst-editing-services = callPackage ./ges { inherit gst-plugins-base; };
+
+  gst-vaapi = callPackage ./vaapi {
+    inherit gst-plugins-base gstreamer gst-plugins-bad;
+  };
+
+  gst-validate = callPackage ./validate { inherit gst-plugins-base; };
+
+  # note: gst-python is in ./python/default.nix - called under pythonPackages
+}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/ges/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/ges/default.nix
new file mode 100644
index 000000000000..6e1f2f4a2c55
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/ges/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, fetchpatch, meson, ninja
+, pkgconfig, python, gst-plugins-base, libxml2
+, flex, perl, gettext, gobject-introspection
+}:
+
+stdenv.mkDerivation rec {
+  name = "gstreamer-editing-services-${version}";
+  version = "1.14.4";
+
+  meta = with stdenv.lib; {
+    description = "Library for creation of audio/video non-linear editors";
+    homepage    = "https://gstreamer.freedesktop.org";
+    license     = licenses.lgpl2Plus;
+    platforms   = platforms.unix;
+  };
+
+  src = fetchurl {
+    url = "${meta.homepage}/src/gstreamer-editing-services/${name}.tar.xz";
+    sha256 = "0pxk65jib3mqszjkyvlzklwia4kbdj6j2b6jw1d502b06mdx5lak";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ meson ninja pkgconfig gettext gobject-introspection python flex perl ];
+
+  propagatedBuildInputs = [ gst-plugins-base libxml2 ];
+
+  patches = [
+    (fetchpatch {
+        url = "https://bug794856.bugzilla-attachments.gnome.org/attachment.cgi?id=370413";
+        sha256 = "1xcgbs18g6n5p7z7kqj7ffakwmkxq7ijajyvhyl7p3zvqll9dc7x";
+    })
+    ./fix_pkgconfig_includedir.patch
+  ];
+}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/ges/fix_pkgconfig_includedir.patch b/nixpkgs/pkgs/development/libraries/gstreamer/ges/fix_pkgconfig_includedir.patch
new file mode 100644
index 000000000000..1e12f3bbfbea
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/ges/fix_pkgconfig_includedir.patch
@@ -0,0 +1,15 @@
+diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build
+index a612b21b..c017eaff 100644
+--- a/pkgconfig/meson.build
++++ b/pkgconfig/meson.build
+@@ -2,8 +2,8 @@ pkgconf = configuration_data()
+ 
+ pkgconf.set('prefix', get_option('prefix'))
+ pkgconf.set('exec_prefix', '${prefix}')
+-pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
+-pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
++pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir')))
++pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir')))
+ pkgconf.set('GST_API_VERSION', apiversion)
+ pkgconf.set('VERSION', gst_version)
+ 
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/good/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/good/default.nix
new file mode 100644
index 000000000000..d4e7b8c5da42
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/good/default.nix
@@ -0,0 +1,61 @@
+{ stdenv, fetchurl, meson, ninja, pkgconfig, python
+, gst-plugins-base, orc, bzip2, gettext
+, libv4l, libdv, libavc1394, libiec61883
+, libvpx, speex, flac, taglib, libshout
+, cairo, gdk_pixbuf, aalib, libcaca
+, libsoup, libpulseaudio, libintl
+, darwin, lame, mpg123, twolame
+, gtkSupport ? false, gtk3 ? null
+, ncurses
+}:
+
+assert gtkSupport -> gtk3 != null;
+
+let
+  inherit (stdenv.lib) optional optionals;
+in
+stdenv.mkDerivation rec {
+  name = "gst-plugins-good-${version}";
+  version = "1.14.4";
+
+  meta = with stdenv.lib; {
+    description = "Gstreamer Good Plugins";
+    homepage    = "https://gstreamer.freedesktop.org";
+    longDescription = ''
+      a set of plug-ins that we consider to have good quality code,
+      correct functionality, our preferred license (LGPL for the plug-in
+      code, LGPL or LGPL-compatible for the supporting library).
+    '';
+    license     = licenses.lgpl2Plus;
+    platforms   = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ matthewbauer ];
+  };
+
+  src = fetchurl {
+    url = "${meta.homepage}/src/gst-plugins-good/${name}.tar.xz";
+    sha256 = "0y89qynb4b6fry3h43z1r99qslmi3m8xhlq0i5baq2nbc0r5b2sz";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  patches = [ ./fix_pkgconfig_includedir.patch ];
+
+  nativeBuildInputs = [ pkgconfig python meson ninja gettext ];
+
+  NIX_LDFLAGS = "-lncurses";
+
+  buildInputs = [
+    gst-plugins-base orc bzip2
+    libdv libvpx speex flac taglib
+    cairo gdk_pixbuf aalib libcaca
+    libsoup libshout lame mpg123 twolame libintl
+    ncurses
+  ]
+  ++ optional gtkSupport gtk3 # for gtksink
+  ++ optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Cocoa ]
+  ++ optionals stdenv.isLinux [ libv4l libpulseaudio libavc1394 libiec61883 ];
+
+  # fails 1 tests with "Unexpected critical/warning: g_object_set_is_valid_property: object class 'GstRtpStorage' has no property named ''"
+  doCheck = false;
+
+}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/good/fix_pkgconfig_includedir.patch b/nixpkgs/pkgs/development/libraries/gstreamer/good/fix_pkgconfig_includedir.patch
new file mode 100644
index 000000000000..f68ad603a37c
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/good/fix_pkgconfig_includedir.patch
@@ -0,0 +1,15 @@
+diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build
+index b3bf0d4d4..3e6e576c0 100644
+--- a/pkgconfig/meson.build
++++ b/pkgconfig/meson.build
+@@ -2,8 +2,8 @@ pkgconf = configuration_data()
+ 
+ pkgconf.set('prefix', get_option('prefix'))
+ pkgconf.set('exec_prefix', '${prefix}')
+-pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
+-pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
++pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir')))
++pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir')))
+ pkgconf.set('GST_API_VERSION', api_version)
+ pkgconf.set('VERSION', gst_version)
+ 
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/gstreamermm/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/gstreamermm/default.nix
new file mode 100644
index 000000000000..14e27ab6068c
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/gstreamermm/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, pkgconfig, file, glibmm, gst_all_1 }:
+
+let
+  ver_maj = "1.10";
+  ver_min = "0";
+in
+stdenv.mkDerivation rec {
+  name = "gstreamermm-${ver_maj}.${ver_min}";
+
+  src = fetchurl {
+    url    = "mirror://gnome/sources/gstreamermm/${ver_maj}/${name}.tar.xz";
+    sha256 = "0q4dx9sncqbwgpzma0zvj6zssc279yl80pn8irb95qypyyggwn5y";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ pkgconfig file ];
+
+  propagatedBuildInputs = [ glibmm gst_all_1.gst-plugins-base ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "C++ interface for GStreamer";
+    homepage = https://gstreamer.freedesktop.org/bindings/cplusplus.html;
+    license = licenses.lgpl21Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gnonlin/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gnonlin/default.nix
new file mode 100644
index 000000000000..402074a4e5f4
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gnonlin/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, gst-plugins-base, gstreamer }:
+
+stdenv.mkDerivation rec {
+  name = "gnonlin-0.10.17";
+
+  src = fetchurl {
+    urls = [
+      "https://gstreamer.freedesktop.org/src/gnonlin/${name}.tar.bz2"
+      "mirror://gentoo/distfiles/${name}.tar.bz2"
+      ];
+    sha256 = "0dc9kvr6i7sh91cyhzlbx2bchwg84rfa4679ccppzjf0y65dv8p4";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ gst-plugins-base gstreamer ];
+
+  meta = {
+    homepage = https://gstreamer.freedesktop.org/modules/gnonlin.html;
+    description = "Gstreamer Non-Linear Multimedia Editing Plugins";
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-ffmpeg/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-ffmpeg/default.nix
new file mode 100644
index 000000000000..9c9243a1c683
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-ffmpeg/default.nix
@@ -0,0 +1,30 @@
+{ fetchurl, stdenv, pkgconfig, gst-plugins-base, bzip2, yasm, orc
+, useInternalFfmpeg ? false, ffmpeg ? null }:
+
+stdenv.mkDerivation rec {
+  name = "gst-ffmpeg-0.10.13";
+
+  src = fetchurl {
+    urls = [
+      "https://gstreamer.freedesktop.org/src/gst-ffmpeg/${name}.tar.bz2"
+      "mirror://gentoo/distfiles/${name}.tar.bz2"
+      ];
+    sha256 = "0qmvgwcfybci78sd73mhvm4bsb7l0xsk9yljrgik80g011ds1z3n";
+  };
+
+  # Upstream strongly recommends against using --with-system-ffmpeg,
+  # but we do it anyway because we're so hardcore (and we don't want
+  # multiple copies of ffmpeg).
+  configureFlags = stdenv.lib.optional (!useInternalFfmpeg) "--with-system-ffmpeg";
+
+  buildInputs =
+    [ pkgconfig bzip2 gst-plugins-base orc ]
+    ++ (if useInternalFfmpeg then [ yasm ] else [ ffmpeg ]);
+
+  meta = {
+    homepage = https://gstreamer.freedesktop.org/releases/gst-ffmpeg;
+    description = "GStreamer's plug-in using FFmpeg";
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-bad/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-bad/default.nix
new file mode 100644
index 000000000000..77465645d237
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-bad/default.nix
@@ -0,0 +1,36 @@
+{ fetchurl, stdenv, pkgconfig, glib, gstreamer, gst-plugins-base
+, libdvdnav, libdvdread, orc }:
+
+stdenv.mkDerivation rec {
+  name = "gst-plugins-bad-0.10.23";
+
+  src = fetchurl {
+    urls = [
+      "${meta.homepage}/src/gst-plugins-bad/${name}.tar.bz2"
+      "mirror://gentoo/distfiles/${name}.tar.bz2"
+      ];
+    sha256 = "148lw51dm6pgw8vc6v0fpvm7p233wr11nspdzmvq7bjp2cd7vbhf";
+  };
+
+  postInstall = ''
+    # Fixes CVE-2016-9447
+    # Does not actually impact NSF playback
+    rm -v $out/lib/gstreamer-0.10/libgstnsf.so
+  '';
+
+  buildInputs =
+    [ pkgconfig glib gstreamer gst-plugins-base libdvdnav libdvdread orc ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = https://gstreamer.freedesktop.org;
+
+    description = "‘Bad’ (potentially low quality) plug-ins for GStreamer";
+
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+
+    license = stdenv.lib.licenses.lgpl2Plus;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
new file mode 100644
index 000000000000..db75705c825a
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
@@ -0,0 +1,53 @@
+{ fetchurl, stdenv, pkgconfig, gstreamer, xorg, alsaLib, cdparanoia
+, libogg, libtheora, libvorbis, freetype, pango, liboil, glib, cairo, orc
+, libintl
+, ApplicationServices
+, # Whether to build no plugins that have external dependencies
+  # (except the ALSA plugin).
+  minimalDeps ? false
+}:
+
+stdenv.mkDerivation rec {
+  name = "gst-plugins-base-0.10.36";
+
+  src = fetchurl {
+    urls = [
+      "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz"
+      "mirror://gentoo/distfiles/${name}.tar.xz"
+      ];
+    sha256 = "0jp6hjlra98cnkal4n6bdmr577q8mcyp3c08s3a02c4hjhw5rr0z";
+  };
+
+  patchPhase = ''
+    sed -i 's@/bin/echo@echo@g' configure
+    sed -i -e 's/^   /\t/' docs/{libs,plugins}/Makefile.in
+
+    patch -p1 < ${./gcc-4.9.patch}
+  '';
+
+  outputs = [ "out" "dev" ];
+
+  # TODO : v4l, libvisual
+  buildInputs =
+    [ pkgconfig glib cairo orc libintl ]
+    # can't build alsaLib on darwin
+    ++ stdenv.lib.optional (!stdenv.isDarwin) alsaLib
+    ++ stdenv.lib.optionals (!minimalDeps)
+      [ xorg.xlibsWrapper xorg.libXv libogg libtheora libvorbis freetype pango
+        liboil ]
+    # can't build cdparanoia on darwin
+    ++ stdenv.lib.optional (!minimalDeps && !stdenv.isDarwin) cdparanoia
+    ++ stdenv.lib.optional stdenv.isDarwin ApplicationServices;
+
+  propagatedBuildInputs = [ gstreamer ];
+
+  postInstall = "rm -rf $out/share/gtk-doc";
+
+  meta = with stdenv.lib; {
+    homepage    = https://gstreamer.freedesktop.org;
+    description = "Base plug-ins for GStreamer";
+    license     = licenses.lgpl2Plus;
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/gcc-4.9.patch b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/gcc-4.9.patch
new file mode 100644
index 000000000000..fd9f6ea240d2
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/gcc-4.9.patch
@@ -0,0 +1,38 @@
+https://bugzilla.gnome.org/show_bug.cgi?id=670690
+
+From 9bd5a7ae5435469c3557a3d70e762791cb3dc5c7 Mon Sep 17 00:00:00 2001
+From: Antoine Jacoutot <ajacoutot@gnome.org>
+Date: Mon, 20 Jan 2014 15:44:09 +0100
+Subject: [PATCH] audioresample: fix build on BSD
+
+On i386, EMMINTRIN is defined but not usable without sse so check for
+__SSE__ and __SSE2__ as well.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=670690
+---
+ gst/audioresample/resample.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/gst/audioresample/resample.c b/gst/audioresample/resample.c
+index 98d006c..481fa01 100644
+--- a/gst/audioresample/resample.c
++++ b/gst/audioresample/resample.c
+@@ -77,13 +77,13 @@
+ #define EXPORT G_GNUC_INTERNAL
+ 
+ #ifdef _USE_SSE
+-#ifndef HAVE_XMMINTRIN_H
++#if !defined(__SSE__) || !defined(HAVE_XMMINTRIN_H)
+ #undef _USE_SSE
+ #endif
+ #endif
+ 
+ #ifdef _USE_SSE2
+-#ifndef HAVE_EMMINTRIN_H
++#if !defined(__SSE2__) || !defined(HAVE_XMMINTRIN_H)
+ #undef _USE_SSE2
+ #endif
+ #endif
+-- 
+1.8.5.3
+
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix
new file mode 100644
index 000000000000..7ecb6c34b432
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix
@@ -0,0 +1,52 @@
+{ fetchurl, stdenv, lib, pkgconfig, gst-plugins-base, aalib, cairo
+, flac, libjpeg, speex, libpng, libdv, libcaca, libvpx
+, taglib, libpulseaudio, gdk_pixbuf, orc
+, glib, gstreamer, bzip2, libsoup, libshout, ncurses, libintl
+, # Whether to build no plugins that have external dependencies
+  # (except the PulseAudio plugin).
+  minimalDeps ? false
+}:
+
+stdenv.mkDerivation rec {
+  name = "gst-plugins-good-0.10.31";
+
+  src = fetchurl {
+    urls = [
+      "${meta.homepage}/src/gst-plugins-good/${name}.tar.bz2"
+      "mirror://gentoo/distfiles/${name}.tar.bz2"
+      ];
+    sha256 = "1ijswgcrdp243mfsyza31fpzq6plz40p4b83vkr2x4x7807889vy";
+  };
+
+  patches = [ ./v4l.patch ./linux-headers-3.9.patch ];
+
+  configureFlags = [ "--enable-experimental" "--disable-oss" ];
+
+  buildInputs =
+    [ pkgconfig glib gstreamer gst-plugins-base libintl ]
+    ++ lib.optional stdenv.isLinux libpulseaudio
+    ++ lib.optionals (!minimalDeps)
+      [ aalib libcaca cairo libdv flac libjpeg libpng speex
+        taglib bzip2 libvpx gdk_pixbuf orc libsoup libshout ];
+
+  enableParallelBuilding = true;
+
+  postInstall = lib.optionalString (!minimalDeps) ''
+    substituteInPlace $out/lib/gstreamer-0.10/libgstaasink.la \
+      --replace "${ncurses.dev}/lib" "${ncurses.out}/lib"
+  '';
+
+  # fails 1 out of 65 tests with "Could not read TLS certificate from '../../tests/files/test-cert.pem': TLS support is not available"
+  doCheck = false;
+
+  meta = {
+    homepage = https://gstreamer.freedesktop.org;
+
+    description = "`Good' plug-ins for GStreamer";
+
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.unix;
+
+    license = stdenv.lib.licenses.lgpl2Plus;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/linux-headers-3.9.patch b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/linux-headers-3.9.patch
new file mode 100644
index 000000000000..f13d3a166714
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/linux-headers-3.9.patch
@@ -0,0 +1,27 @@
+http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-plugins/gst-plugins-v4l2/files/gst-plugins-v4l2-0.10.31-linux-headers-3.9.patch
+
+From 8e633d2059cb835448021cf79becb487aff10975 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Mon, 18 Mar 2013 14:59:35 +0000
+Subject: v4l2: fix compilation against newer kernel headers as on FC19
+
+---
+diff --git a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c
+index 07d390a..4c10f4f 100644
+--- a/sys/v4l2/v4l2_calls.c
++++ b/sys/v4l2/v4l2_calls.c
+@@ -291,8 +291,12 @@ gst_v4l2_fill_lists (GstV4l2Object * v4l2object)
+         break;
+       case V4L2_CID_HFLIP:
+       case V4L2_CID_VFLIP:
++#ifndef V4L2_CID_PAN_RESET
+       case V4L2_CID_HCENTER:
++#endif
++#ifndef V4L2_CID_TILT_RESET
+       case V4L2_CID_VCENTER:
++#endif
+ #ifdef V4L2_CID_PAN_RESET
+       case V4L2_CID_PAN_RESET:
+ #endif
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/v4l.patch b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/v4l.patch
new file mode 100644
index 000000000000..22cff574134f
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/v4l.patch
@@ -0,0 +1,11 @@
+diff -ru -x '*~' gst-plugins-good-0.10.31-orig/sys/v4l2/gstv4l2bufferpool.c gst-plugins-good-0.10.31/sys/v4l2/gstv4l2bufferpool.c
+--- gst-plugins-good-0.10.31-orig/sys/v4l2/gstv4l2bufferpool.c	2011-12-30 14:59:13.000000000 +0100
++++ gst-plugins-good-0.10.31/sys/v4l2/gstv4l2bufferpool.c	2013-01-28 17:41:25.549523708 +0100
+@@ -181,7 +181,6 @@
+     GST_LOG_OBJECT (pool->v4l2elem, "  MMAP offset:  %u",
+         ret->vbuffer.m.offset);
+   GST_LOG_OBJECT (pool->v4l2elem, "  length:    %u", ret->vbuffer.length);
+-  GST_LOG_OBJECT (pool->v4l2elem, "  input:     %u", ret->vbuffer.input);
+ 
+   data = (guint8 *) v4l2_mmap (0, ret->vbuffer.length,
+       PROT_READ | PROT_WRITE, MAP_SHARED, pool->video_fd,
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix
new file mode 100644
index 000000000000..2f46016adac8
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix
@@ -0,0 +1,30 @@
+{ fetchurl, stdenv, pkgconfig, glib, gstreamer, gst-plugins-base
+, libmad, libdvdread, a52dec, x264, orc, lame, libintl }:
+
+stdenv.mkDerivation rec {
+  name = "gst-plugins-ugly-0.10.19";
+
+  src = fetchurl {
+    urls = [
+      "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.bz2"
+      "mirror://gentoo/distfiles/${name}.tar.bz2"
+      ];
+    sha256 = "1w4d5iz9ffvh43l261zdp997i6s2iwd61lflf755s3sw4xch1a8w";
+  };
+
+  buildInputs =
+    [ pkgconfig glib gstreamer gst-plugins-base libmad libdvdread a52dec x264 orc lame libintl ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = https://gstreamer.freedesktop.org;
+
+    description = "‘Ugly’ (potentially patent-encumbered) plug-ins for GStreamer";
+
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.unix;
+
+    license = stdenv.lib.licenses.lgpl2Plus;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix
new file mode 100644
index 000000000000..c8414a7b681b
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix
@@ -0,0 +1,37 @@
+{ fetchurl, stdenv, pkgconfig, python2Packages, gstreamer, gst-plugins-base
+}:
+
+let
+  inherit (python2Packages) python pygobject2;
+in stdenv.mkDerivation rec {
+  name = "gst-python-0.10.22";
+
+  src = fetchurl {
+    urls = [
+      "${meta.homepage}/src/gst-python/${name}.tar.bz2"
+      "mirror://gentoo/distfiles/${name}.tar.bz2"
+      ];
+    sha256 = "0y1i4n5m1diljqr9dsq12anwazrhbs70jziich47gkdwllcza9lg";
+  };
+
+  hardeningDisable = [ "bindnow" ];
+
+  # Need to disable the testFake test case due to bug in pygobject.
+  # See https://bugzilla.gnome.org/show_bug.cgi?id=692479
+  patches = [ ./disable-testFake.patch ];
+
+  buildInputs =
+    [ pkgconfig gst-plugins-base pygobject2 ]
+    ;
+
+  propagatedBuildInputs = [ gstreamer python ];
+
+  meta = {
+    homepage = https://gstreamer.freedesktop.org;
+
+    description = "Python bindings for GStreamer";
+
+    license = stdenv.lib.licenses.lgpl2Plus;
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-python/disable-testFake.patch b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-python/disable-testFake.patch
new file mode 100644
index 000000000000..d0c9960e5d22
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gst-python/disable-testFake.patch
@@ -0,0 +1,56 @@
+diff -Nurp gst-python-0.10.22.orig/testsuite/test_bin.py gst-python-0.10.22/testsuite/test_bin.py
+--- gst-python-0.10.22.orig/testsuite/test_bin.py	2014-10-29 18:58:00.921827721 +0100
++++ gst-python-0.10.22/testsuite/test_bin.py	2014-10-29 19:00:32.019353092 +0100
+@@ -131,52 +131,6 @@ class BinAddRemove(TestCase):
+         self.assertRaises(gst.AddError, self.bin.add, src, sink)
+         self.bin.remove(src, sink)
+         self.assertRaises(gst.RemoveError, self.bin.remove, src, sink)
+-
+-class Preroll(TestCase):
+-    def setUp(self):
+-        TestCase.setUp(self)
+-        self.bin = gst.Bin('bin')
+-
+-    def tearDown(self):
+-        # FIXME: wait for state change thread to settle down
+-        while self.bin.__gstrefcount__ > 1:
+-            time.sleep(0.1)
+-        self.assertEquals(self.bin.__gstrefcount__, 1)
+-        del self.bin
+-        TestCase.tearDown(self)
+-
+-    def testFake(self):
+-        src = gst.element_factory_make('fakesrc')
+-        sink = gst.element_factory_make('fakesink')
+-        self.bin.add(src)
+-
+-        # bin will go to paused, src pad task will start and error out
+-        self.bin.set_state(gst.STATE_PAUSED)
+-        ret = self.bin.get_state()
+-        self.assertEquals(ret[0], gst.STATE_CHANGE_SUCCESS)
+-        self.assertEquals(ret[1], gst.STATE_PAUSED)
+-        self.assertEquals(ret[2], gst.STATE_VOID_PENDING)
+-
+-        # adding the sink will cause the bin to go in preroll mode
+-        gst.debug('adding sink and setting to PAUSED, should cause preroll')
+-        self.bin.add(sink)
+-        sink.set_state(gst.STATE_PAUSED)
+-        ret = self.bin.get_state(timeout=0)
+-        self.assertEquals(ret[0], gst.STATE_CHANGE_ASYNC)
+-        self.assertEquals(ret[1], gst.STATE_PAUSED)
+-        self.assertEquals(ret[2], gst.STATE_PAUSED)
+-
+-        # to actually complete preroll, we need to link and re-enable fakesrc
+-        src.set_state(gst.STATE_READY)
+-        src.link(sink)
+-        src.set_state(gst.STATE_PAUSED)
+-        ret = self.bin.get_state()
+-        self.assertEquals(ret[0], gst.STATE_CHANGE_SUCCESS)
+-        self.assertEquals(ret[1], gst.STATE_PAUSED)
+-        self.assertEquals(ret[2], gst.STATE_VOID_PENDING)
+-
+-        self.bin.set_state(gst.STATE_NULL)
+-        self.bin.get_state()
+  
+ class ConstructorTest(TestCase):
+     def testGood(self):
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/darwin.patch b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/darwin.patch
new file mode 100644
index 000000000000..67dfc34434db
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/darwin.patch
@@ -0,0 +1,14 @@
+diff --git a/gst/gstdatetime.c b/gst/gstdatetime.c
+index 60f709f..cdc7e75 100644
+--- a/gst/gstdatetime.c
++++ b/gst/gstdatetime.c
+@@ -21,8 +21,8 @@
+ #include "config.h"
+ #endif
+ 
+-#include "glib-compat-private.h"
+ #include "gst_private.h"
++#include "glib-compat-private.h"
+ #include "gstdatetime.h"
+ #include <glib.h>
+ #include <math.h>
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix
new file mode 100644
index 000000000000..d4d4082509e4
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix
@@ -0,0 +1,65 @@
+{ fetchurl, stdenv, perl, bison, flex, pkgconfig, glib, libxml2, libintl }:
+
+stdenv.mkDerivation rec {
+  name = "gstreamer-0.10.36";
+
+  src = fetchurl {
+    urls =
+      [ "${meta.homepage}/src/gstreamer/${name}.tar.xz"
+        "mirror://gentoo/distfiles/${name}.tar.xz"
+      ];
+    sha256 = "1nkid1n2l3rrlmq5qrf5yy06grrkwjh3yxl5g0w58w0pih8allci";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ pkgconfig libintl ];
+  buildInputs = [ perl bison flex ];
+  propagatedBuildInputs = [ glib libxml2 ];
+
+  # See https://trac.macports.org/ticket/40783 for explanation of patch
+  patches = stdenv.lib.optional stdenv.isDarwin ./darwin.patch;
+
+  postPatch = ''
+    sed -i -e 's/^   /\t/' docs/gst/Makefile.in docs/libs/Makefile.in docs/plugins/Makefile.in
+  '';
+
+  configureFlags = [
+    "--disable-examples"
+    "--localstatedir=/var"
+    "--disable-gtk-doc"
+    "--disable-docbook"
+  ];
+
+  doCheck = false; # fails. 2 tests crash
+
+  postInstall = ''
+    # Hm, apparently --disable-gtk-doc is ignored...
+    rm -rf $out/share/gtk-doc
+
+    paxmark m $out/bin/gst-launch* $out/libexec/gstreamer-*/gst-plugin-scanner
+  '';
+
+  setupHook = ./setup-hook.sh;
+
+  meta = {
+    homepage = https://gstreamer.freedesktop.org;
+
+    description = "Library for constructing graphs of media-handling components";
+
+    longDescription = ''
+      GStreamer is a library for constructing graphs of media-handling
+      components.  The applications it supports range from simple
+      Ogg/Vorbis playback, audio/video streaming to complex audio
+      (mixing) and video (non-linear editing) processing.
+
+      Applications can take advantage of advances in codec and filter
+      technology transparently.  Developers can add new codecs and
+      filters by writing a simple plugin with a clean, generic
+      interface.
+    '';
+
+    license = stdenv.lib.licenses.lgpl2Plus;
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh
new file mode 100644
index 000000000000..65ce26112519
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh
@@ -0,0 +1,8 @@
+addGstreamerLibPath () {
+    if test -d "$1/lib/gstreamer-0.10"
+    then
+        export GST_PLUGIN_SYSTEM_PATH="${GST_PLUGIN_SYSTEM_PATH}${GST_PLUGIN_SYSTEM_PATH:+:}$1/lib/gstreamer-0.10"
+    fi
+}
+
+addEnvHooks "$hostOffset" addGstreamerLibPath
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamermm/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamermm/default.nix
new file mode 100644
index 000000000000..8acaefcedf46
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/gstreamermm/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, glibmm, gstreamer, gst-plugins-base, libsigcxx, libxmlxx, pkgconfig }:
+
+let
+  ver_maj = "0.10";
+  ver_min = "11";
+in
+stdenv.mkDerivation rec {
+  name = "gstreamermm-${ver_maj}.${ver_min}";
+
+  src = fetchurl {
+    url    = "mirror://gnome/sources/gstreamermm/${ver_maj}/gstreamermm-${ver_maj}.${ver_min}.tar.xz";
+    sha256 = "12b5f377363594a69cb79f2f5cd0a8b1813ca6553680c3216e6354cfd682ebc6";
+  };
+ 
+  doCheck = false; # Tests require pulseaudio in /homeless-shelter
+
+  propagatedBuildInputs = [
+    glibmm gstreamer gst-plugins-base libsigcxx libxmlxx
+  ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = with stdenv.lib; {
+    description = "C++ bindings for the GStreamer streaming multimedia library";
+    homepage = https://www.gtkmm.org/;
+    license = licenses.lgpl2Plus;
+    maintainers = with maintainers; [ plcplc ];
+    platforms = platforms.unix;
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/boost1.48.patch b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/boost1.48.patch
new file mode 100644
index 000000000000..c48eec68a640
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/boost1.48.patch
@@ -0,0 +1,49 @@
+Description: Work around moc limitations
+ Some parts of Boost, introduced in Boost 1.48 are not
+ understood by the limited C++ parser of moc.  This
+ patch defines header guards that prevent the troublesome boost
+ headers from being processed.
+Bug-Debian: #653796
+Author: Tobias Frost <tobi@coldtobi.de>
+Reviewed-By: Steve Robbins <smr@debian.org>
+
+--- a/src/QGlib/connect.h
++++ b/src/QGlib/connect.h
+@@ -19,6 +19,11 @@
+ #ifndef QGLIB_CONNECT_H
+ #define QGLIB_CONNECT_H
+ 
++#ifdef Q_MOC_RUN
++#define BOOST_TT_HAS_OPERATOR_HPP_INCLUDED
++#endif
++
++
+ #include "global.h"
+ #include "quark.h"
+ #include <QtCore/QObject>
+--- a/src/QGst/bin.h
++++ b/src/QGst/bin.h
+@@ -19,6 +19,10 @@
+ #ifndef QGST_BIN_H
+ #define QGST_BIN_H
+ 
++#ifdef Q_MOC_RUN
++#define BOOST_TT_HAS_OPERATOR_HPP_INCLUDED
++#endif
++
+ #include "element.h"
+ #include "childproxy.h"
+ 
+--- a/src/QGst/Ui/videowidget.h
++++ b/src/QGst/Ui/videowidget.h
+@@ -19,6 +19,10 @@
+ #ifndef QGST_UI_VIDEOWIDGET_H
+ #define QGST_UI_VIDEOWIDGET_H
+ 
++#ifdef Q_MOC_RUN
++#define BOOST_TT_HAS_OPERATOR_HPP_INCLUDED
++#endif
++
+ #include "global.h"
+ #include "../element.h"
+ #include <QtGui/QWidget>
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/default.nix
new file mode 100644
index 000000000000..9797f21c1685
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, gstreamer, gst-plugins-base, boost155, glib, qt4, cmake
+, automoc4, flex, bison, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-0.10.3";
+  pname = "qt-gstreamer";
+
+  src = fetchurl {
+    url = "https://gstreamer.freedesktop.org/src/${pname}/${name}.tar.bz2";
+    sha256 = "1pqg9sxzk8sdrf7pazb5v21hasqai9i4l203gbdqz29w2ll1ybsl";
+  };
+
+  buildInputs = [ gstreamer gst-plugins-base glib qt4 ];
+  propagatedBuildInputs = [ boost155 ];
+  nativeBuildInputs = [ cmake automoc4 flex bison pkgconfig ];
+
+  cmakeFlags = "-DUSE_QT_PLUGIN_DIR=OFF -DUSE_GST_PLUGIN_DIR=OFF";
+
+  patches = [ ./boost1.48.patch ];
+}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/libav/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/libav/default.nix
new file mode 100644
index 000000000000..7f7393bba28e
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/libav/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, meson, ninja, pkgconfig
+, python, yasm, gst-plugins-base, orc, bzip2
+, gettext, withSystemLibav ? true, libav ? null
+}:
+
+# Note that since gst-libav-1.6, libav is actually ffmpeg. See
+# https://gstreamer.freedesktop.org/releases/1.6/ for more info.
+
+assert withSystemLibav -> libav != null;
+
+stdenv.mkDerivation rec {
+  name = "gst-libav-${version}";
+  version = "1.14.4";
+
+  meta = {
+    homepage = https://gstreamer.freedesktop.org;
+    license = stdenv.lib.licenses.lgpl2Plus;
+    platforms = stdenv.lib.platforms.unix;
+  };
+
+  src = fetchurl {
+    url = "${meta.homepage}/src/gst-libav/${name}.tar.xz";
+    sha256 = "1nk5g24z2xx5kaw5cg8dv8skdc516inahmkymcz8bxqxj28qbmyz";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = with stdenv.lib;
+    [ meson ninja gettext pkgconfig python ]
+    ++ optional (!withSystemLibav) yasm
+    ;
+
+  buildInputs = with stdenv.lib;
+    [ gst-plugins-base orc bzip2 ]
+    ++ optional withSystemLibav libav
+    ;
+}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
new file mode 100644
index 000000000000..a099643061a1
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, fetchpatch, gst_all_1, boost, glib, qt4, cmake
+, automoc4, flex, bison, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-1.2.0";
+  pname = "qt-gstreamer";
+
+  src = fetchurl {
+    url = "https://gstreamer.freedesktop.org/src/${pname}/${name}.tar.xz";
+    sha256 = "9f3b492b74cad9be918e4c4db96df48dab9c012f2ae5667f438b64a4d92e8fd4";
+  };
+
+  patches = [
+    (fetchpatch {
+      url = "https://cgit.freedesktop.org/gstreamer/qt-gstreamer/patch/?id=e2ca8094aa8d0eac1c3a98df66fe94ce0c754088";
+      sha256 = "1qps0nlc26d74wk8h96xl5s3d9qrdx6c0ph0zpl1dnc691lgyf6s";
+    })
+  ];
+
+  outputs = [ "out" "dev" ];
+
+  buildInputs = [ gst_all_1.gstreamer gst_all_1.gst-plugins-base glib qt4 ];
+  propagatedBuildInputs = [ boost ];
+  nativeBuildInputs = [ cmake automoc4 flex bison pkgconfig ];
+
+  cmakeFlags = "-DUSE_QT_PLUGIN_DIR=OFF -DUSE_GST_PLUGIN_DIR=OFF";
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+    license = licenses.lgpl21;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
new file mode 100644
index 000000000000..6236edec6a40
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, meson, ninja, pkgconfig
+, gst-plugins-base, gettext, gobject-introspection
+}:
+
+stdenv.mkDerivation rec {
+  name = "gst-rtsp-server-${version}";
+  version = "1.14.4";
+
+  meta = with stdenv.lib; {
+    description = "Gstreamer RTSP server";
+    homepage    = "https://gstreamer.freedesktop.org";
+    longDescription = ''
+      a library on top of GStreamer for building an RTSP server.
+    '';
+    license     = licenses.lgpl2Plus;
+    platforms   = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ bkchr ];
+  };
+
+  src = fetchurl {
+    url = "${meta.homepage}/src/gst-rtsp-server/${name}.tar.xz";
+    sha256 = "1wc4d0y57hpfvv9sykjg8mxj86dw60mf696fbqbiqq6dzlmcw3ix";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ meson ninja gettext gobject-introspection pkgconfig ];
+
+  buildInputs = [ gst-plugins-base ];
+}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/ugly/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/ugly/default.nix
new file mode 100644
index 000000000000..6bc2ea8af896
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/ugly/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, meson, ninja, pkgconfig, python
+, gst-plugins-base, orc, gettext
+, a52dec, libcdio, libdvdread
+, libmad, libmpeg2, x264, libintl, lib
+, darwin
+}:
+
+stdenv.mkDerivation rec {
+  name = "gst-plugins-ugly-${version}";
+  version = "1.14.4";
+
+  meta = with lib; {
+    description = "Gstreamer Ugly Plugins";
+    homepage    = "https://gstreamer.freedesktop.org";
+    longDescription = ''
+      a set of plug-ins that have good quality and correct functionality,
+      but distributing them might pose problems.  The license on either
+      the plug-ins or the supporting libraries might not be how we'd
+      like. The code might be widely known to present patent problems.
+    '';
+    license     = licenses.lgpl2Plus;
+    platforms   = platforms.unix;
+    maintainers = with maintainers; [ matthewbauer ];
+  };
+
+  src = fetchurl {
+    url = "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.xz";
+    sha256 = "08vd1xgwmapnviah47zv5h2r02qdd20y4f07rvv5zhv6y4vxh0mc";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ meson ninja gettext pkgconfig python ];
+
+  buildInputs = [
+    gst-plugins-base orc
+    a52dec libcdio libdvdread
+    libmad libmpeg2 x264
+    libintl
+  ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks;
+    [ IOKit CoreFoundation DiskArbitration ]);
+}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/vaapi/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/vaapi/default.nix
new file mode 100644
index 000000000000..e84f8dce9125
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/vaapi/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, meson, ninja, pkgconfig, gst-plugins-base, bzip2, libva, wayland
+, libdrm, udev, xorg, libGLU_combined, gstreamer, gst-plugins-bad, nasm
+, libvpx, python
+}:
+
+stdenv.mkDerivation rec {
+  name = "gst-vaapi-${version}";
+  version = "1.14.4";
+
+  src = fetchurl {
+    url = "${meta.homepage}/src/gstreamer-vaapi/gstreamer-vaapi-${version}.tar.xz";
+    sha256 = "18yha6119v7mwz47idv2vykzfssqfmh6hc824wqqsshwjvzdn66f";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ meson ninja pkgconfig bzip2 ];
+
+  buildInputs = [
+    gstreamer gst-plugins-base gst-plugins-bad libva wayland libdrm udev
+    xorg.libX11 xorg.libXext xorg.libXv xorg.libXrandr xorg.libSM
+    xorg.libICE libGLU_combined nasm libvpx python
+  ];
+
+  preConfigure = ''
+    export GST_PLUGIN_PATH_1_0=$out/lib/gstreamer-1.0
+    mkdir -p $GST_PLUGIN_PATH_1_0
+  '';
+
+  meta = {
+    homepage = https://gstreamer.freedesktop.org;
+    license = stdenv.lib.licenses.lgpl21Plus;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ tstrobel ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/validate/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/validate/default.nix
new file mode 100644
index 000000000000..916185bf7ecf
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/validate/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, pkgconfig, gstreamer, gst-plugins-base
+, python, gobject-introspection, json-glib
+}:
+
+stdenv.mkDerivation rec {
+  name = "gst-validate-${version}";
+  version = "1.14.4";
+
+  meta = {
+    description = "Integration testing infrastructure for the GStreamer framework";
+    homepage = https://gstreamer.freedesktop.org;
+    license = stdenv.lib.licenses.lgpl2Plus;
+    platforms = stdenv.lib.platforms.unix;
+  };
+
+  src = fetchurl {
+    url = "${meta.homepage}/src/gst-validate/${name}.tar.xz";
+    sha256 = "1ismv4i7ldi04swq76pcpd5apxqd52yify5hvlyan2yw9flwrp0q";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [
+    pkgconfig gobject-introspection
+  ];
+
+  buildInputs = [
+    python json-glib
+  ];
+
+  propagatedBuildInputs = [ gstreamer gst-plugins-base ];
+
+  enableParallelBuilding = true;
+}