diff options
author | Thomas Tuegel <ttuegel@mailbox.org> | 2017-03-03 19:21:23 -0600 |
---|---|---|
committer | Thomas Tuegel <ttuegel@mailbox.org> | 2017-03-10 07:26:39 -0600 |
commit | 5a05f6f48316f04904eabc9fdb411b093d59dc1c (patch) | |
tree | c9961b31750a68ccfd842ce8a468c5dcd8f58b4e /pkgs/development/libraries | |
parent | cc7c3c6bb84f0f235bf8c136995074cdf4ae89b5 (diff) |
phonon-backend-gstreamer: hardcode gstreamer plugin paths
Diffstat (limited to 'pkgs/development/libraries')
-rw-r--r-- | pkgs/development/libraries/phonon/backends/gst-plugin-paths.patch | 13 | ||||
-rw-r--r-- | pkgs/development/libraries/phonon/backends/gstreamer.nix | 27 |
2 files changed, 35 insertions, 5 deletions
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 0000000000000..39c1b9c0d2909 --- /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<char**>(args); + GError *err = 0; diff --git a/pkgs/development/libraries/phonon/backends/gstreamer.nix b/pkgs/development/libraries/phonon/backends/gstreamer.nix index 56d40f8183384..9fdcf65346cc2 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 = |