diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/grilo-plugins')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/grilo-plugins/chromaprint-gst-plugins.patch | 13 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/grilo-plugins/default.nix | 101 |
2 files changed, 114 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/grilo-plugins/chromaprint-gst-plugins.patch b/nixpkgs/pkgs/development/libraries/grilo-plugins/chromaprint-gst-plugins.patch new file mode 100644 index 000000000000..cb6a1a354945 --- /dev/null +++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/grilo-plugins/default.nix b/nixpkgs/pkgs/development/libraries/grilo-plugins/default.nix new file mode 100644 index 000000000000..13ec503fae0e --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/grilo-plugins/default.nix @@ -0,0 +1,101 @@ +{ lib, stdenv +, fetchurl +, substituteAll +, meson +, ninja +, pkg-config +, gettext +, gperf +, sqlite +, librest +, libarchive +, libsoup +, gnome +, libxml2 +, lua5_3 +, liboauth +, libgdata +, libmediaart +, grilo +, gst_all_1 +, gnome-online-accounts +, gmime +, gom +, json-glib +, avahi +, tracker +, dleyna-server +, itstool +, totem-pl-parser +}: + +stdenv.mkDerivation rec { + pname = "grilo-plugins"; + version = "0.3.13"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "HEMF1nNkqTBUODbMGYLzDpRpc7j/avPv4x2HcJq1IPg="; + }; + + 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 = 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 + pkg-config + gettext + itstool + gperf # for lua-factory + ]; + + buildInputs = [ + grilo + libxml2 + libgdata + lua5_3 + liboauth + sqlite + gnome-online-accounts + totem-pl-parser + librest + libarchive + libsoup + gmime + gom + json-glib + avahi + libmediaart + tracker + dleyna-server + gst_all_1.gstreamer + ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + versionPolicy = "none"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Projects/Grilo"; + description = "A collection of plugins for the Grilo framework"; + maintainers = teams.gnome.members; + license = licenses.lgpl21; + platforms = platforms.linux; + }; +} |