phonon-backend-gstreamer: hardcode gstreamer plugin paths

This commit is contained in:
Thomas Tuegel 2017-03-03 19:21:23 -06:00
parent cc7c3c6bb8
commit 5a05f6f483
No known key found for this signature in database
GPG Key ID: 22CBF5249D4B4D59
2 changed files with 35 additions and 5 deletions

View File

@ -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<char**>(args);
GError *err = 0;

View File

@ -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 =