diff --git a/hosts/skydick/datapool.nix b/hosts/skydick/datapool.nix index a868f52..0c8e032 100644 --- a/hosts/skydick/datapool.nix +++ b/hosts/skydick/datapool.nix @@ -179,9 +179,10 @@ # Build sambaFull with Spotlight/tracker support. # Fixes for tinysparql 3.x (tracker-sparql-3.0) compatibility: # (1) waf only checks tracker-sparql-{2.0..0.14} — add 3.0 - # (2) tevent_glib_tracker test uses removed tracker 2.x API — disable it - # (it's install=False, for_selftest only; rpcd_mdssvc is unaffected) - # (3) add icu for Unicode normalisation required by Spotlight + # (2) tracker 2.x API (get_async/get_finish) removed in 3.x — replace + # with bus_new_async/bus_new_finish connecting to localsearch miner + # (3) disable tevent_glib_tracker test (uses same removed API, test-only) + # (4) add icu for Unicode normalisation required by Spotlight nixpkgs.overlays = [ (final: prev: { sambaFull = prev.sambaFull.overrideAttrs (old: { @@ -194,6 +195,17 @@ substituteInPlace source3/wscript \ --replace-fail "tracker_versions = ['2.0', '1.0', '0.16', '0.14']" \ "tracker_versions = ['3.0', '2.0', '1.0', '0.16', '0.14']" + + # Patch rpcd_mdssvc to use tinysparql 3.x bus API + substituteInPlace source3/rpc_server/mdssvc/mdssvc_tracker.c \ + --replace-fail \ + 'tracker_sparql_connection_get_finish(res, &error)' \ + 'tracker_sparql_connection_bus_new_finish(res, &error)' \ + --replace-fail \ + 'tracker_sparql_connection_get_async(ctx->gcancellable,' \ + 'tracker_sparql_connection_bus_new_async("org.freedesktop.Tracker3.Miner.Files", NULL, NULL, ctx->gcancellable,' + + # Disable test binary that also uses removed API (not installed) substituteInPlace source3/wscript_build \ --replace-fail "enabled=bld.CONFIG_SET('HAVE_TRACKER') and bld.CONFIG_SET('WITH_TEVENT_GLIB_GLUE')" \ "enabled=False"