diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/tracker')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/tracker/default.nix | 138 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/tracker/fix-paths.patch | 13 |
2 files changed, 151 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/tracker/default.nix b/nixpkgs/pkgs/development/libraries/tracker/default.nix new file mode 100644 index 000000000000..7dbe0d410f75 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/tracker/default.nix @@ -0,0 +1,138 @@ +{ stdenv +, lib +, fetchurl +, gettext +, meson +, ninja +, pkg-config +, asciidoc +, gobject-introspection +, python3 +, docbook-xsl-nons +, docbook_xml_dtd_45 +, libxml2 +, glib +, wrapGAppsNoGuiHook +, vala +, sqlite +, libxslt +, libstemmer +, gnome +, icu +, libuuid +, libsoup +, libsoup_3 +, json-glib +, systemd +, dbus +, substituteAll +}: + +stdenv.mkDerivation rec { + pname = "tracker"; + version = "3.2.1"; + + outputs = [ "out" "dev" "devdoc" ]; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "GEfgiznm5h2EhzWqH5f32WwDggFlP6DXy56Bs365wDo="; + }; + + patches = [ + (substituteAll { + src = ./fix-paths.patch; + inherit asciidoc; + }) + ]; + + nativeBuildInputs = [ + meson + ninja + vala + pkg-config + asciidoc + gettext + libxslt + wrapGAppsNoGuiHook + gobject-introspection + docbook-xsl-nons + docbook_xml_dtd_45 + python3 # for data-generators + systemd # used for checks to install systemd user service + dbus # used for checks and pkg-config to install dbus service/s + ]; + + buildInputs = [ + glib + libxml2 + sqlite + icu + libsoup + libsoup_3 + libuuid + json-glib + libstemmer + ]; + + checkInputs = with python3.pkgs; [ + pygobject3 + tappy + ]; + + mesonFlags = [ + "-Ddocs=true" + ]; + + doCheck = true; + + postPatch = '' + patchShebangs utils/g-ir-merge/g-ir-merge + patchShebangs utils/data-generators/cc/generate + patchShebangs tests/functional-tests/test-runner.sh.in + patchShebangs tests/functional-tests/*.py + patchShebangs examples/python/endpoint.py + ''; + + preCheck = '' + # (tracker-store:6194): Tracker-CRITICAL **: 09:34:07.722: Cannot initialize database: Could not open sqlite3 database:'/homeless-shelter/.cache/tracker/meta.db': unable to open database file + export HOME=$(mktemp -d) + + # Our gobject-introspection patches make the shared library paths absolute + # in the GIR files. When running functional tests, the library is not yet installed, + # though, so we need to replace the absolute path with a local one during build. + # We are using a symlink that will be overridden during installation. + mkdir -p $out/lib + ln -s $PWD/src/libtracker-sparql/libtracker-sparql-3.0.so $out/lib/libtracker-sparql-3.0.so.0 + ''; + + checkPhase = '' + runHook preCheck + + dbus-run-session \ + --config-file=${dbus.daemon}/share/dbus-1/session.conf \ + meson test --print-errorlogs + + runHook postCheck + ''; + + postCheck = '' + # Clean up out symlinks + rm -r $out/lib + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + versionPolicy = "none"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Projects/Tracker"; + description = "Desktop-neutral user information store, search tool and indexer"; + maintainers = teams.gnome.members; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/tracker/fix-paths.patch b/nixpkgs/pkgs/development/libraries/tracker/fix-paths.patch new file mode 100644 index 000000000000..5e4d8657f7bc --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/tracker/fix-paths.patch @@ -0,0 +1,13 @@ +diff --git a/docs/manpages/meson.build b/docs/manpages/meson.build +index f90c757cf..40d9c939d 100644 +--- a/docs/manpages/meson.build ++++ b/docs/manpages/meson.build +@@ -32,7 +32,7 @@ foreach m : manpages + command: [xsltproc, + '--output', '@OUTPUT@', + '--stringparam', 'man.authors.section.enabled', '0', +- '/etc/asciidoc/docbook-xsl/manpage.xsl', '@INPUT@'], ++ '@asciidoc@/etc/asciidoc/docbook-xsl/manpage.xsl', '@INPUT@'], + input: xml, + output: manpage, + install: true, |