Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 stdenv, 4 fetchurl, 5 replaceVars, 6 meson, 7 ninja, 8 pkg-config, 9 gettext, 10 gperf, 11 glib, 12 sqlite, 13 libarchive, 14 libdmapsharing, 15 libsoup_3, 16 gnome, 17 libxml2, 18 lua5_4, 19 liboauth, 20 libmediaart, 21 grilo, 22 gst_all_1, 23 gnome-online-accounts, 24 gmime, 25 gom, 26 json-glib, 27 avahi, 28 tinysparql, 29 dleyna, 30 itstool, 31 totem-pl-parser, 32}: 33 34stdenv.mkDerivation rec { 35 pname = "grilo-plugins"; 36 version = "0.3.16"; 37 38 src = fetchurl { 39 url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 40 sha256 = "/m9Nvlhsa4uiQGOU4gLyLQCdZCqW6zpU8y9qIdCEzcs="; 41 }; 42 43 patches = [ 44 # grl-chromaprint requires the following GStreamer elements: 45 # * fakesink (gstreamer) 46 # * playbin (gst-plugins-base) 47 # * chromaprint (gst-plugins-bad) 48 (replaceVars ./chromaprint-gst-plugins.patch { 49 load_plugins = 50 lib.concatMapStrings 51 (plugin: ''gst_registry_scan_path(gst_registry_get(), "${lib.getLib plugin}/lib/gstreamer-1.0");'') 52 ( 53 with gst_all_1; 54 [ 55 gstreamer 56 gst-plugins-base 57 gst-plugins-bad 58 ] 59 ); 60 }) 61 ]; 62 63 strictDeps = true; 64 65 depsBuildBuild = [ 66 pkg-config 67 ]; 68 69 nativeBuildInputs = [ 70 meson 71 ninja 72 pkg-config 73 gettext 74 itstool 75 gperf # for lua-factory 76 glib # glib-compile-resources 77 ]; 78 79 buildInputs = [ 80 grilo 81 libxml2 82 # libgdata 83 lua5_4 84 liboauth 85 sqlite 86 gnome-online-accounts 87 totem-pl-parser 88 libarchive 89 libdmapsharing 90 libsoup_3 91 gmime 92 gom 93 json-glib 94 avahi 95 libmediaart 96 tinysparql 97 dleyna 98 gst_all_1.gstreamer 99 ]; 100 101 passthru = { 102 updateScript = gnome.updateScript { 103 packageName = pname; 104 versionPolicy = "none"; 105 }; 106 }; 107 108 meta = with lib; { 109 homepage = "https://gitlab.gnome.org/GNOME/grilo-plugins"; 110 description = "Collection of plugins for the Grilo framework"; 111 teams = [ teams.gnome ]; 112 license = licenses.lgpl21Plus; 113 platforms = platforms.unix; 114 }; 115}