diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/tracker')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/tracker/default.nix | 103 |
1 files changed, 87 insertions, 16 deletions
diff --git a/nixpkgs/pkgs/development/libraries/tracker/default.nix b/nixpkgs/pkgs/development/libraries/tracker/default.nix index 50eb56ce2d1e..2224addf02ad 100644 --- a/nixpkgs/pkgs/development/libraries/tracker/default.nix +++ b/nixpkgs/pkgs/development/libraries/tracker/default.nix @@ -1,8 +1,33 @@ -{ stdenv, fetchurl, gettext, meson, ninja, pkgconfig, gobject-introspection, python3 -, gtk-doc, docbook_xsl, docbook_xml_dtd_412, docbook_xml_dtd_43, glibcLocales -, libxml2, upower, glib, wrapGAppsHook, vala, sqlite, libxslt, libstemmer -, gnome3, icu, libuuid, networkmanager, libsoup, json-glib, systemd, dbus -, substituteAll }: +{ stdenv +, fetchurl +, gettext +, meson +, ninja +, pkgconfig +, gobject-introspection +, python3 +, gtk-doc +, docbook_xsl +, docbook_xml_dtd_412 +, docbook_xml_dtd_43 +, docbook_xml_dtd_45 +, libxml2 +, glib +, wrapGAppsHook +, vala +, sqlite +, libxslt +, libstemmer +, gnome3 +, icu +, libuuid +, networkmanager +, libsoup +, json-glib +, systemd +, dbus +, substituteAll +}: stdenv.mkDerivation rec { pname = "tracker"; @@ -15,34 +40,80 @@ stdenv.mkDerivation rec { sha256 = "V3lSJEq5d8eLC4ji9jxBl+q6FuTWa/9pK39YmT4GUW0="; }; + patches = [ + (substituteAll { + src = ./fix-paths.patch; + gdbus = "${glib.bin}/bin/gdbus"; + }) + ]; + nativeBuildInputs = [ - meson ninja vala pkgconfig gettext libxslt wrapGAppsHook gobject-introspection - gtk-doc docbook_xsl docbook_xml_dtd_412 docbook_xml_dtd_43 glibcLocales + meson + ninja + vala + pkgconfig + gettext + libxslt + wrapGAppsHook + gobject-introspection + gtk-doc + docbook_xsl + docbook_xml_dtd_412 + docbook_xml_dtd_43 + docbook_xml_dtd_45 python3 # for data-generators systemd # used for checks to install systemd user service dbus # used for checks and pkgconfig to install dbus service/s ]; buildInputs = [ - glib libxml2 sqlite upower icu networkmanager libsoup libuuid json-glib libstemmer + glib + libxml2 + sqlite + icu + networkmanager + libsoup + libuuid + json-glib + libstemmer + ]; + + checkInputs = [ + python3.pkgs.pygobject3 ]; mesonFlags = [ # TODO: figure out wrapping unit tests, some of them fail on missing gsettings-desktop-schemas - "-Dfunctional_tests=false" + # "-Dfunctional_tests=true" "-Ddocs=true" ]; - patches = [ - (substituteAll { - src = ./fix-paths.patch; - gdbus = "${glib.bin}/bin/gdbus"; - }) - ]; + 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 + ''; + + 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-backend/libtracker-sparql-2.0.so $out/lib/libtracker-sparql-2.0.so.0 + ln -s $PWD/src/libtracker-miner/libtracker-miner-2.0.so $out/lib/libtracker-miner-2.0.so.0 + ln -s $PWD/src/libtracker-data/libtracker-data.so $out/lib/libtracker-data.so + ''; + + postCheck = '' + # Clean up out symlinks + rm -r $out/lib ''; postInstall = '' @@ -60,7 +131,7 @@ stdenv.mkDerivation rec { homepage = "https://wiki.gnome.org/Projects/Tracker"; description = "Desktop-neutral user information store, search tool and indexer"; maintainers = teams.gnome.members; - license = licenses.gpl2; + license = licenses.gpl2Plus; platforms = platforms.linux; }; } |