From 5a05f6f48316f04904eabc9fdb411b093d59dc1c Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Fri, 3 Mar 2017 19:21:23 -0600 Subject: phonon-backend-gstreamer: hardcode gstreamer plugin paths --- .../phonon/backends/gst-plugin-paths.patch | 13 +++++++++++ .../libraries/phonon/backends/gstreamer.nix | 27 ++++++++++++++++++---- 2 files changed, 35 insertions(+), 5 deletions(-) create mode 100644 pkgs/development/libraries/phonon/backends/gst-plugin-paths.patch (limited to 'pkgs/development/libraries/phonon') diff --git a/pkgs/development/libraries/phonon/backends/gst-plugin-paths.patch b/pkgs/development/libraries/phonon/backends/gst-plugin-paths.patch new file mode 100644 index 00000000000..39c1b9c0d29 --- /dev/null +++ b/pkgs/development/libraries/phonon/backends/gst-plugin-paths.patch @@ -0,0 +1,13 @@ +Index: phonon-gstreamer-4.9.0/gstreamer/backend.cpp +=================================================================== +--- phonon-gstreamer-4.9.0.orig/gstreamer/backend.cpp ++++ phonon-gstreamer-4.9.0/gstreamer/backend.cpp +@@ -85,6 +85,8 @@ Backend::Backend(QObject *parent, const + "--gst-debug-no-color" + }; + ++ qputenv("GST_PLUGIN_PATH_1_0", GST_PLUGIN_PATH_1_0); ++ + int argc = sizeof(args) / sizeof(*args); + char **argv = const_cast(args); + GError *err = 0; diff --git a/pkgs/development/libraries/phonon/backends/gstreamer.nix b/pkgs/development/libraries/phonon/backends/gstreamer.nix index 56d40f81833..9fdcf65346c 100644 --- a/pkgs/development/libraries/phonon/backends/gstreamer.nix +++ b/pkgs/development/libraries/phonon/backends/gstreamer.nix @@ -29,15 +29,32 @@ stdenv.mkDerivation rec { sha256 = "1wc5p1rqglf0n1avp55s50k7fjdzdrhg0gind15k8796w7nfbhyf"; }; + # Hardcode paths to useful plugins so the backend doesn't depend + # on system paths being set. + patches = [ ./gst-plugin-paths.patch ]; + + NIX_CFLAGS_COMPILE = + let gstPluginPaths = + lib.makeSearchPathOutput "lib" "/lib/gstreamer-1.0" + (with gst_all_1; [ + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-ugly + gst-plugins-bad + gst-libav + ]); + in [ + # This flag should be picked up through pkgconfig, but it isn't. + "-I${gst_all_1.gstreamer.dev}/lib/gstreamer-1.0/include" + + ''-DGST_PLUGIN_PATH_1_0="${gstPluginPaths}"'' + ]; + buildInputs = with gst_all_1; [ gstreamer gst-plugins-base phonon ] ++ (if withQt5 then [ qtbase qtx11extras ] else [ qt4 ]); - NIX_CFLAGS_COMPILE = [ - # This flag should be picked up through pkgconfig, but it isn't. - "-I${gst_all_1.gstreamer.dev}/lib/gstreamer-1.0/include" - ]; - nativeBuildInputs = [ cmake pkgconfig ] ++ optional withQt5 extra-cmake-modules; cmakeFlags = -- cgit 1.4.1