summary refs log tree commit diff
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2019-09-29 13:48:21 +0200
committerJan Tojnar <jtojnar@gmail.com>2019-10-03 00:09:19 +0200
commit0038189df8e1cc4138d88f4108340cd82cfe0d5e (patch)
treed621e7d00d182972251f8d053e9af697c44714b7
parenta631d57c7916a8aba1c0f0bf84665c4ac122e72d (diff)
downloadnixpkgs-0038189df8e1cc4138d88f4108340cd82cfe0d5e.tar
nixpkgs-0038189df8e1cc4138d88f4108340cd82cfe0d5e.tar.gz
nixpkgs-0038189df8e1cc4138d88f4108340cd82cfe0d5e.tar.bz2
nixpkgs-0038189df8e1cc4138d88f4108340cd82cfe0d5e.tar.lz
nixpkgs-0038189df8e1cc4138d88f4108340cd82cfe0d5e.tar.xz
nixpkgs-0038189df8e1cc4138d88f4108340cd82cfe0d5e.tar.zst
nixpkgs-0038189df8e1cc4138d88f4108340cd82cfe0d5e.zip
grilo-plugins: add grl-chromaprint
-rw-r--r--pkgs/development/libraries/grilo-plugins/chromaprint-gst-plugins.patch13
-rw-r--r--pkgs/development/libraries/grilo-plugins/default.nix18
2 files changed, 31 insertions, 0 deletions
diff --git a/pkgs/development/libraries/grilo-plugins/chromaprint-gst-plugins.patch b/pkgs/development/libraries/grilo-plugins/chromaprint-gst-plugins.patch
new file mode 100644
index 00000000000..cb6a1a35494
--- /dev/null
+++ b/pkgs/development/libraries/grilo-plugins/chromaprint-gst-plugins.patch
@@ -0,0 +1,13 @@
+diff --git a/src/chromaprint/grl-chromaprint.c b/src/chromaprint/grl-chromaprint.c
+index 5a3598b..8979291 100644
+--- a/src/chromaprint/grl-chromaprint.c
++++ b/src/chromaprint/grl-chromaprint.c
+@@ -111,6 +111,8 @@
+ 
+   gst_init (NULL, NULL);
+ 
++  @load_plugins@
++
+   source = grl_chromaprint_source_new ();
+   grl_registry_register_source (registry,
+                                 plugin,
diff --git a/pkgs/development/libraries/grilo-plugins/default.nix b/pkgs/development/libraries/grilo-plugins/default.nix
index 3f6ab858c23..ddf29c2dcd8 100644
--- a/pkgs/development/libraries/grilo-plugins/default.nix
+++ b/pkgs/development/libraries/grilo-plugins/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetchurl
+, substituteAll
 , meson
 , ninja
 , pkgconfig
@@ -16,6 +17,7 @@
 , libgdata
 , libmediaart
 , grilo
+, gst_all_1
 , gnome-online-accounts
 , gmime
 , gom
@@ -36,6 +38,21 @@ stdenv.mkDerivation rec {
     sha256 = "0jldaixc4kzycn5v8ixkjld1n0z3dp0l1p3vchgdwpvdvc7kcfw0";
   };
 
+  patches = [
+    # grl-chromaprint requires the following GStreamer elements:
+    # * fakesink (gstreamer)
+    # * playbin (gst-plugins-base)
+    # * chromaprint (gst-plugins-bad)
+    (substituteAll {
+      src = ./chromaprint-gst-plugins.patch;
+      load_plugins = stdenv.lib.concatMapStrings (plugin: ''gst_registry_scan_path(gst_registry_get(), "${plugin}/lib/gstreamer-1.0");'') (with gst_all_1; [
+        gstreamer
+        gst-plugins-base
+        gst-plugins-bad
+      ]);
+    })
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
@@ -64,6 +81,7 @@ stdenv.mkDerivation rec {
     libmediaart
     tracker
     dleyna-server
+    gst_all_1.gstreamer
   ];
 
   passthru = {