about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/tracker
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2020-05-18 14:34:25 +0000
committerAlyssa Ross <hi@alyssa.is>2020-05-18 16:21:12 +0000
commit93e90ca356baed5941e1cccf8c0d8e3e2c460e29 (patch)
treef6c26f06a2f830a3f1bab00fdc029b76be8805c6 /nixpkgs/pkgs/development/libraries/tracker
parentd2753504ef2bd591ade35851dad31d3aac117e19 (diff)
parentb47873026c7e356a340d0e1de7789d4e8428ac66 (diff)
downloadnixlib-93e90ca356baed5941e1cccf8c0d8e3e2c460e29.tar
nixlib-93e90ca356baed5941e1cccf8c0d8e3e2c460e29.tar.gz
nixlib-93e90ca356baed5941e1cccf8c0d8e3e2c460e29.tar.bz2
nixlib-93e90ca356baed5941e1cccf8c0d8e3e2c460e29.tar.lz
nixlib-93e90ca356baed5941e1cccf8c0d8e3e2c460e29.tar.xz
nixlib-93e90ca356baed5941e1cccf8c0d8e3e2c460e29.tar.zst
nixlib-93e90ca356baed5941e1cccf8c0d8e3e2c460e29.zip
Merge commit 'b47873026c7e356a340d0e1de7789d4e8428ac66'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/tracker')
-rw-r--r--nixpkgs/pkgs/development/libraries/tracker/default.nix103
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;
   };
 }