summary refs log tree commit diff
path: root/pkgs/development/libraries/phonon
diff options
context:
space:
mode:
authorThomas Tuegel <ttuegel@mailbox.org>2017-03-03 19:21:23 -0600
committerThomas Tuegel <ttuegel@mailbox.org>2017-03-10 07:26:39 -0600
commit5a05f6f48316f04904eabc9fdb411b093d59dc1c (patch)
treec9961b31750a68ccfd842ce8a468c5dcd8f58b4e /pkgs/development/libraries/phonon
parentcc7c3c6bb84f0f235bf8c136995074cdf4ae89b5 (diff)
downloadnixpkgs-5a05f6f48316f04904eabc9fdb411b093d59dc1c.tar
nixpkgs-5a05f6f48316f04904eabc9fdb411b093d59dc1c.tar.gz
nixpkgs-5a05f6f48316f04904eabc9fdb411b093d59dc1c.tar.bz2
nixpkgs-5a05f6f48316f04904eabc9fdb411b093d59dc1c.tar.lz
nixpkgs-5a05f6f48316f04904eabc9fdb411b093d59dc1c.tar.xz
nixpkgs-5a05f6f48316f04904eabc9fdb411b093d59dc1c.tar.zst
nixpkgs-5a05f6f48316f04904eabc9fdb411b093d59dc1c.zip
phonon-backend-gstreamer: hardcode gstreamer plugin paths
Diffstat (limited to 'pkgs/development/libraries/phonon')
-rw-r--r--pkgs/development/libraries/phonon/backends/gst-plugin-paths.patch13
-rw-r--r--pkgs/development/libraries/phonon/backends/gstreamer.nix27
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 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<char**>(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 =