diff --git a/pkgs/development/libraries/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/default.nix index 0394bb5fadb..60678459b6d 100644 --- a/pkgs/development/libraries/gstreamer/default.nix +++ b/pkgs/development/libraries/gstreamer/default.nix @@ -17,6 +17,8 @@ rec { gst_python = callPackage ./gst-python {}; + qt_gstreamer = callPackage ./qt-gstreamer {}; + # Header files are in include/${prefix}/ prefix = "gstreamer-0.10"; } diff --git a/pkgs/development/libraries/gstreamer/qt-gstreamer/boost1.48.patch b/pkgs/development/libraries/gstreamer/qt-gstreamer/boost1.48.patch new file mode 100644 index 00000000000..c48eec68a64 --- /dev/null +++ b/pkgs/development/libraries/gstreamer/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 +Reviewed-By: Steve Robbins + +--- 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 +--- 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 diff --git a/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix b/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix new file mode 100644 index 00000000000..5ae24178664 --- /dev/null +++ b/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix @@ -0,0 +1,17 @@ +{ stdenv, fetchurl, gstreamer, gstPluginsBase, boost, glib, qt4, cmake +, automoc4, flex, bison, pkgconfig }: + +stdenv.mkDerivation rec { + name = "${pname}-0.10.1"; + pname = "qt-gstreamer"; + + src = fetchurl { + url = "http://gstreamer.freedesktop.org/src/${pname}/${name}.tar.bz2"; + sha256 = "0g377jlzlwgywgk7nbv9fd0aimv8wpzrymwzdiaffczxv5xvip5h"; + }; + + buildInputs = [ gstreamer gstPluginsBase boost glib qt4 ]; + buildNativeInputs = [ cmake automoc4 flex bison pkgconfig ]; + + patches = [ ./boost1.48.patch ]; +}