From 1bd8727a4ca5cd4ed33a3e9349a42637f0f3a3bc Mon Sep 17 00:00:00 2001 From: Artturin Date: Thu, 7 Jul 2022 21:34:37 +0300 Subject: [PATCH] various: enable gobject-introspection when cross-compiling and fix cross in some --- pkgs/development/libraries/atk/default.nix | 4 --- .../libraries/gdk-pixbuf/default.nix | 31 +++++++++---------- .../development/libraries/geoclue/default.nix | 3 ++ pkgs/development/libraries/gtk/3.x.nix | 1 - .../libraries/harfbuzz/default.nix | 9 +++--- .../libraries/json-glib/default.nix | 27 +++++++++------- .../development/libraries/libical/default.nix | 12 ++----- .../libraries/libmanette/default.nix | 3 ++ .../libraries/libsecret/default.nix | 4 +++ .../development/libraries/libsoup/default.nix | 26 +++++++++------- pkgs/development/libraries/neon/default.nix | 4 +++ pkgs/development/libraries/opencv/4.x.nix | 5 +++ pkgs/development/libraries/pango/default.nix | 27 +++++++++------- pkgs/development/libraries/polkit/default.nix | 19 ++++++------ .../development/libraries/tracker/default.nix | 31 +++++++++++++------ 15 files changed, 116 insertions(+), 90 deletions(-) diff --git a/pkgs/development/libraries/atk/default.nix b/pkgs/development/libraries/atk/default.nix index ce3352b5751e..3b8c9a27d031 100644 --- a/pkgs/development/libraries/atk/default.nix +++ b/pkgs/development/libraries/atk/default.nix @@ -44,10 +44,6 @@ stdenv.mkDerivation rec { glib ]; - mesonFlags = [ - "-Dintrospection=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}" - ]; - doCheck = true; passthru = { diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix index cbed6a62a3c5..93fb05a13b60 100644 --- a/pkgs/development/libraries/gdk-pixbuf/default.nix +++ b/pkgs/development/libraries/gdk-pixbuf/default.nix @@ -16,22 +16,18 @@ , libjpeg , libpng , gnome +, gobject-introspection +, buildPackages , doCheck ? false , makeWrapper , lib -, withIntrospection ? (stdenv.buildPlatform == stdenv.hostPlatform) -, gobject-introspection }: -let - withGtkDoc = stdenv.buildPlatform == stdenv.hostPlatform; -in stdenv.mkDerivation rec { pname = "gdk-pixbuf"; version = "2.42.8"; - outputs = [ "out" "dev" "man" ] - ++ lib.optional withGtkDoc "devdoc" + outputs = [ "out" "dev" "man" "devdoc" ] ++ lib.optional (stdenv.buildPlatform == stdenv.hostPlatform) "installedTests"; src = fetchurl { @@ -60,6 +56,7 @@ stdenv.mkDerivation rec { makeWrapper glib gi-docgen + gobject-introspection # for man pages libxslt @@ -67,8 +64,6 @@ stdenv.mkDerivation rec { docbook_xml_dtd_43 ] ++ lib.optionals stdenv.isDarwin [ fixDarwinDylibNames - ] ++ lib.optionals withIntrospection [ - gobject-introspection ]; propagatedBuildInputs = [ @@ -79,9 +74,8 @@ stdenv.mkDerivation rec { ]; mesonFlags = [ - "-Dgtk_doc=${lib.boolToString withGtkDoc}" - "-Dintrospection=${if withIntrospection then "enabled" else "disabled"}" "-Dgio_sniffing=false" + "-Dgtk_doc=true" ]; postPatch = '' @@ -89,10 +83,13 @@ stdenv.mkDerivation rec { patchShebangs build-aux substituteInPlace tests/meson.build --subst-var-by installedtestsprefix "$installedTests" - ''; - preInstall = '' - PATH=$PATH:$out/bin # for install script + # Run-time dependency gi-docgen found: NO (tried pkgconfig and cmake) + # it should be a build-time dep for build + # TODO: send upstream + substituteInPlace docs/meson.build \ + --replace "dependency('gi-docgen'," "dependency('gi-docgen', native:true," \ + --replace "'gi-docgen', req" "'gi-docgen', native:true, req" ''; postInstall = @@ -108,9 +105,9 @@ stdenv.mkDerivation rec { install_name_tool -change @rpath/libgdk_pixbuf-2.0.0.dylib $out/lib/libgdk_pixbuf-2.0.0.dylib $f mv $f ''${f%.dylib}.so done - '' + lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) '' + '' + '' # We need to install 'loaders.cache' in lib/gdk-pixbuf-2.0/2.10.0/ - $dev/bin/gdk-pixbuf-query-loaders --update-cache + ${stdenv.hostPlatform.emulator buildPackages} $dev/bin/gdk-pixbuf-query-loaders --update-cache ''; # The fixDarwinDylibNames hook doesn't patch binaries. @@ -120,7 +117,7 @@ stdenv.mkDerivation rec { done ''; - postFixup = lib.optionalString withGtkDoc '' + postFixup = '' # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back. moveToOutput "share/doc" "$devdoc" ''; diff --git a/pkgs/development/libraries/geoclue/default.nix b/pkgs/development/libraries/geoclue/default.nix index 39156c95949c..f3d4ce1aa7b8 100644 --- a/pkgs/development/libraries/geoclue/default.nix +++ b/pkgs/development/libraries/geoclue/default.nix @@ -4,6 +4,7 @@ , fetchpatch , intltool , meson +, mesonEmulatorHook , ninja , pkg-config , gtk-doc @@ -74,6 +75,8 @@ stdenv.mkDerivation rec { gtk-doc docbook-xsl-nons docbook_xml_dtd_412 + ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook ]; buildInputs = [ diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/development/libraries/gtk/3.x.nix index f3f3f0c108a1..b69f6164acad 100644 --- a/pkgs/development/libraries/gtk/3.x.nix +++ b/pkgs/development/libraries/gtk/3.x.nix @@ -158,7 +158,6 @@ stdenv.mkDerivation rec { "-Dbroadway_backend=${lib.boolToString broadwaySupport}" "-Dx11_backend=${lib.boolToString x11Support}" "-Dquartz_backend=${lib.boolToString (stdenv.isDarwin && !x11Support)}" - "-Dintrospection=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}" ]; doCheck = false; # needs X11 diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix index b7ba05bb79b5..49dba7c65804 100644 --- a/pkgs/development/libraries/harfbuzz/default.nix +++ b/pkgs/development/libraries/harfbuzz/default.nix @@ -34,7 +34,6 @@ let inherit (lib) optional optionals optionalString; mesonFeatureFlag = opt: b: "-D${opt}=${if b then "enabled" else "disabled"}"; - isNativeCompilation = stdenv.buildPlatform == stdenv.hostPlatform; in stdenv.mkDerivation { @@ -70,7 +69,10 @@ stdenv.mkDerivation { (mesonFeatureFlag "coretext" withCoreText) (mesonFeatureFlag "graphite" withGraphite2) (mesonFeatureFlag "icu" withIcu) - (mesonFeatureFlag "introspection" isNativeCompilation) + ]; + + depsBuildBuild = [ + pkg-config ]; nativeBuildInputs = [ @@ -86,8 +88,7 @@ stdenv.mkDerivation { ]; buildInputs = [ glib freetype ] - ++ lib.optionals withCoreText [ ApplicationServices CoreText ] - ++ lib.optionals isNativeCompilation [ gobject-introspection ]; + ++ lib.optionals withCoreText [ ApplicationServices CoreText ]; propagatedBuildInputs = optional withGraphite2 graphite2 ++ optionals withIcu [ icu harfbuzz ]; diff --git a/pkgs/development/libraries/json-glib/default.nix b/pkgs/development/libraries/json-glib/default.nix index e041908f3f48..e1676a69551d 100644 --- a/pkgs/development/libraries/json-glib/default.nix +++ b/pkgs/development/libraries/json-glib/default.nix @@ -6,10 +6,10 @@ , ninja , pkg-config , gettext -, withIntrospection ? stdenv.buildPlatform == stdenv.hostPlatform , gobject-introspection -, fixDarwinDylibNames , gi-docgen +, libxslt +, fixDarwinDylibNames , gnome }: @@ -17,8 +17,7 @@ stdenv.mkDerivation rec { pname = "json-glib"; version = "1.6.6"; - outputs = [ "out" "dev" ] - ++ lib.optional withIntrospection "devdoc"; + outputs = [ "out" "dev" "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; @@ -37,22 +36,26 @@ stdenv.mkDerivation rec { pkg-config gettext glib - ] ++ lib.optional stdenv.hostPlatform.isDarwin [ - fixDarwinDylibNames - ] ++ lib.optionals withIntrospection [ + libxslt gobject-introspection gi-docgen + ] ++ lib.optional stdenv.hostPlatform.isDarwin [ + fixDarwinDylibNames ]; propagatedBuildInputs = [ glib ]; - mesonFlags = lib.optionals (!withIntrospection) [ - "-Dintrospection=disabled" - # gi-docgen relies on introspection data - "-Dgtk_doc=disabled" - ]; + + # Run-time dependency gi-docgen found: NO (tried pkgconfig and cmake) + # it should be a build-time dep for build + # TODO: send upstream + postPatch = '' + substituteInPlace doc/meson.build \ + --replace "'gi-docgen', ver" "'gi-docgen', native:true, ver" \ + --replace "'gi-docgen', req" "'gi-docgen', native:true, req" + ''; doCheck = true; diff --git a/pkgs/development/libraries/libical/default.nix b/pkgs/development/libraries/libical/default.nix index 48e611a34821..435d1cc9bc02 100644 --- a/pkgs/development/libraries/libical/default.nix +++ b/pkgs/development/libraries/libical/default.nix @@ -13,7 +13,6 @@ , python3 , tzdata , fixDarwinDylibNames -, withIntrospection ? stdenv.buildPlatform == stdenv.hostPlatform , gobject-introspection , vala }: @@ -37,6 +36,8 @@ stdenv.mkDerivation rec { ninja perl pkg-config + gobject-introspection + vala # Docs building fails: # https://github.com/NixOS/nixpkgs/pull/67204 # previously with https://github.com/NixOS/nixpkgs/pull/61657#issuecomment-495579489 @@ -44,15 +45,12 @@ stdenv.mkDerivation rec { ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ # provides ical-glib-src-generator that runs during build libical - ] ++ lib.optionals withIntrospection [ - gobject-introspection - vala ] ++ lib.optionals stdenv.isDarwin [ fixDarwinDylibNames ]; installCheckInputs = [ # running libical-glib tests - (python3.withPackages (pkgs: with pkgs; [ + (python3.pythonForBuild.withPackages (pkgs: with pkgs; [ pygobject3 ])) ]; @@ -61,14 +59,10 @@ stdenv.mkDerivation rec { glib libxml2 icu - ] ++ lib.optionals withIntrospection [ - gobject-introspection ]; cmakeFlags = [ "-DENABLE_GTK_DOC=False" - "-DGOBJECT_INTROSPECTION=${if withIntrospection then "True" else "False"}" - "-DICAL_GLIB_VAPI=${if withIntrospection then "True" else "False"}" ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "-DIMPORT_ICAL_GLIB_SRC_GENERATOR=${lib.getDev buildPackages.libical}/lib/cmake/LibIcal/IcalGlibSrcGenerator.cmake" ]; diff --git a/pkgs/development/libraries/libmanette/default.nix b/pkgs/development/libraries/libmanette/default.nix index 645b521b8172..7629dd8a6f1a 100644 --- a/pkgs/development/libraries/libmanette/default.nix +++ b/pkgs/development/libraries/libmanette/default.nix @@ -2,6 +2,7 @@ , fetchurl , ninja , meson +, mesonEmulatorHook , pkg-config , vala , gobject-introspection @@ -34,6 +35,8 @@ stdenv.mkDerivation rec { gtk-doc docbook-xsl-nons docbook_xml_dtd_43 + ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook ]; buildInputs = [ diff --git a/pkgs/development/libraries/libsecret/default.nix b/pkgs/development/libraries/libsecret/default.nix index b04012cec28b..7378d62d677f 100644 --- a/pkgs/development/libraries/libsecret/default.nix +++ b/pkgs/development/libraries/libsecret/default.nix @@ -31,6 +31,10 @@ stdenv.mkDerivation rec { sha256 = "P7PONA/NfbVNh8iT5pv8Kx9uTUsnkGX/5m2snw/RK00="; }; + depsBuildBuild = [ + pkg-config + ]; + nativeBuildInputs = [ meson ninja diff --git a/pkgs/development/libraries/libsoup/default.nix b/pkgs/development/libraries/libsoup/default.nix index 83fb0c4a0292..ea91173540ec 100644 --- a/pkgs/development/libraries/libsoup/default.nix +++ b/pkgs/development/libraries/libsoup/default.nix @@ -8,16 +8,13 @@ , pkg-config , gnome , libsysprof-capture +, gobject-introspection +, vala +, libpsl +, brotli , gnomeSupport ? true , sqlite , glib-networking -, gobject-introspection -, withIntrospection ? stdenv.buildPlatform == stdenv.hostPlatform -, vala -, withVala ? stdenv.buildPlatform == stdenv.hostPlatform -, libpsl -, python3 -, brotli }: stdenv.mkDerivation rec { @@ -31,19 +28,20 @@ stdenv.mkDerivation rec { sha256 = "sha256-8KQnZW5f4Z4d9xwQfojfobLmc8JcVHt4I7YBi0DQEVk="; }; + depsBuildBuild = [ + pkg-config + ]; + nativeBuildInputs = [ meson ninja pkg-config glib - ] ++ lib.optionals withIntrospection [ gobject-introspection - ] ++ lib.optionals withVala [ vala ]; buildInputs = [ - python3 sqlite libpsl glib.out @@ -60,8 +58,6 @@ stdenv.mkDerivation rec { mesonFlags = [ "-Dtls_check=false" # glib-networking is a runtime dependency, not a compile-time dependency "-Dgssapi=disabled" - "-Dvapi=${if withVala then "enabled" else "disabled"}" - "-Dintrospection=${if withIntrospection then "enabled" else "disabled"}" "-Dgnome=${lib.boolToString gnomeSupport}" "-Dntlm=disabled" ] ++ lib.optionals (!stdenv.isLinux) [ @@ -73,6 +69,12 @@ stdenv.mkDerivation rec { doCheck = false; # ERROR:../tests/socket-test.c:37:do_unconnected_socket_test: assertion failed (res == SOUP_STATUS_OK): (2 == 200) postPatch = '' + # fixes finding vapigen when cross-compiling + # the commit is in 3.0.6 + # https://gitlab.gnome.org/GNOME/libsoup/-/commit/5280e936d0a76f94dbc5d8489cfbdc0a06343f65 + substituteInPlace meson.build \ + --replace "required: vapi_opt)" "required: vapi_opt, native: false)" + patchShebangs libsoup/ ''; diff --git a/pkgs/development/libraries/neon/default.nix b/pkgs/development/libraries/neon/default.nix index 1521c1a63895..5250dcddf845 100644 --- a/pkgs/development/libraries/neon/default.nix +++ b/pkgs/development/libraries/neon/default.nix @@ -35,6 +35,10 @@ stdenv.mkDerivation rec { (lib.withFeature sslSupport "ssl") ]; + preConfigure = '' + export PKG_CONFIG="$(command -v "$PKG_CONFIG")" + ''; + passthru = {inherit compressionSupport sslSupport;}; meta = with lib; { diff --git a/pkgs/development/libraries/opencv/4.x.nix b/pkgs/development/libraries/opencv/4.x.nix index c84740ebcdc9..edc8acaa92b0 100644 --- a/pkgs/development/libraries/opencv/4.x.nix +++ b/pkgs/development/libraries/opencv/4.x.nix @@ -13,6 +13,7 @@ , protobuf , config , ocl-icd +, buildPackages , enableJPEG ? true , libjpeg @@ -291,11 +292,15 @@ stdenv.mkDerivation { "-DOPENCV_GENERATE_PKGCONFIG=ON" "-DWITH_OPENMP=ON" "-DBUILD_PROTOBUF=OFF" + "-DProtobuf_PROTOC_EXECUTABLE=${lib.getExe buildPackages.protobuf}" "-DPROTOBUF_UPDATE_FILES=ON" "-DOPENCV_ENABLE_NONFREE=${printEnabled enableUnfree}" "-DBUILD_TESTS=OFF" "-DBUILD_PERF_TESTS=OFF" "-DBUILD_DOCS=${printEnabled enableDocs}" + # "OpenCV disables pkg-config to avoid using of host libraries. Consider using PKG_CONFIG_LIBDIR to specify target SYSROOT" + # but we have proper separation of build and host libs :), fixes cross + "-DOPENCV_ENABLE_PKG_CONFIG=ON" (opencvFlag "IPP" enableIpp) (opencvFlag "TIFF" enableTIFF) (opencvFlag "WEBP" enableWebP) diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix index 13dd24b54828..16db7be31356 100644 --- a/pkgs/development/libraries/pango/default.nix +++ b/pkgs/development/libraries/pango/default.nix @@ -16,26 +16,21 @@ , ninja , glib , python3 -, x11Support? !stdenv.isDarwin, libXft -, withIntrospection ? (stdenv.buildPlatform == stdenv.hostPlatform) , gobject-introspection -, withDocs ? (stdenv.buildPlatform == stdenv.hostPlatform) +, x11Support? !stdenv.isDarwin, libXft }: stdenv.mkDerivation rec { pname = "pango"; version = "1.50.7"; - outputs = [ "bin" "out" "dev" ] - ++ lib.optionals withDocs [ "devdoc" ]; + outputs = [ "bin" "out" "dev" "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "BHfzaaPUxpXfcpmmmJ3ABHVqf03ifuysQFxnkLfjrTM="; }; - strictDeps = !withIntrospection; - depsBuildBuild = [ pkg-config ]; @@ -44,9 +39,7 @@ stdenv.mkDerivation rec { meson ninja glib # for glib-mkenum pkg-config - ] ++ lib.optionals withIntrospection [ gobject-introspection - ] ++ lib.optionals withDocs [ gi-docgen python3 ]; @@ -71,8 +64,7 @@ stdenv.mkDerivation rec { ]; mesonFlags = [ - "-Dgtk_doc=${lib.boolToString withDocs}" - "-Dintrospection=${if withIntrospection then "enabled" else "disabled"}" + "-Dgtk_doc=true" ] ++ lib.optionals (!x11Support) [ "-Dxft=disabled" # only works with x11 ]; @@ -82,9 +74,20 @@ stdenv.mkDerivation rec { fontDirectories = [ freefont_ttf ]; }; + # Run-time dependency gi-docgen found: NO (tried pkgconfig and cmake) + # it should be a build-time dep for build + # TODO: send upstream + postPatch = '' + substituteInPlace meson.build \ + --replace "dependency('gi-docgen', ver" "dependency('gi-docgen', native:true, ver" + + substituteInPlace docs/meson.build \ + --replace "'gi-docgen', req" "'gi-docgen', native:true, req" + ''; + doCheck = false; # test-font: FAIL - postFixup = lib.optionalString withDocs '' + postFixup = '' # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back. moveToOutput "share/doc" "$devdoc" ''; diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix index 9c49f89c2ca9..9fb61b1245ab 100644 --- a/pkgs/development/libraries/polkit/default.nix +++ b/pkgs/development/libraries/polkit/default.nix @@ -6,6 +6,7 @@ , expat , pam , meson +, mesonEmulatorHook , ninja , perl , rsync @@ -23,10 +24,6 @@ , useSystemd ? stdenv.isLinux , systemd , elogind -# needed until gobject-introspection does cross-compile (https://github.com/NixOS/nixpkgs/pull/88222) -, withIntrospection ? (stdenv.buildPlatform == stdenv.hostPlatform) -# cross build fails on polkit-1-scan (https://github.com/NixOS/nixpkgs/pull/152704) -, withGtkDoc ? (stdenv.buildPlatform == stdenv.hostPlatform) # A few tests currently fail on musl (polkitunixusertest, polkitunixgrouptest, polkitidentitytest segfault). # Not yet investigated; it may be due to the "Make netgroup support optional" # patch not updating the tests correctly yet, or doing something wrong, @@ -88,6 +85,10 @@ stdenv.mkDerivation rec { }) ]; + depsBuildBuild = [ + pkg-config + ]; + nativeBuildInputs = [ glib gtk-doc @@ -97,7 +98,8 @@ stdenv.mkDerivation rec { ninja perl rsync - (python3.withPackages (pp: with pp; [ + gobject-introspection + (python3.pythonForBuild.withPackages (pp: with pp; [ dbus-python (python-dbusmock.overridePythonAttrs (attrs: { # Avoid dependency cycle. @@ -109,17 +111,18 @@ stdenv.mkDerivation rec { libxslt docbook-xsl-nons docbook_xml_dtd_412 + ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook ]; buildInputs = [ expat pam spidermonkey_78 + dbus ] ++ lib.optionals stdenv.isLinux [ # On Linux, fall back to elogind when systemd support is off. (if useSystemd then systemd else elogind) - ] ++ lib.optionals withIntrospection [ - gobject-introspection ]; propagatedBuildInputs = [ @@ -136,9 +139,7 @@ stdenv.mkDerivation rec { "-Dsystemdsystemunitdir=${placeholder "out"}/etc/systemd/system" "-Dpolkitd_user=polkituser" #TODO? config.ids.uids.polkituser "-Dos_type=redhat" # only affects PAM includes - "-Dintrospection=${lib.boolToString withIntrospection}" "-Dtests=${lib.boolToString doCheck}" - "-Dgtk_doc=${lib.boolToString withGtkDoc}" "-Dman=true" ] ++ lib.optionals stdenv.isLinux [ "-Dsession_tracking=${if useSystemd then "libsystemd-login" else "libelogind"}" diff --git a/pkgs/development/libraries/tracker/default.nix b/pkgs/development/libraries/tracker/default.nix index 835f38ff5098..fe7bcbf3a543 100644 --- a/pkgs/development/libraries/tracker/default.nix +++ b/pkgs/development/libraries/tracker/default.nix @@ -25,6 +25,7 @@ , json-glib , systemd , dbus +, writeText }: stdenv.mkDerivation rec { @@ -46,6 +47,10 @@ stdenv.mkDerivation rec { patchShebangs utils/data-generators/cc/generate ''; + depsBuildBuild = [ + pkg-config + ]; + nativeBuildInputs = [ meson ninja @@ -58,11 +63,8 @@ stdenv.mkDerivation rec { 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 - ] ++ checkInputs; # gi is in the main meson.build and checked regardless of - # whether tests are enabled + (python3.pythonForBuild.withPackages (p: [ p.pygobject3 ])) + ]; buildInputs = [ glib @@ -74,15 +76,24 @@ stdenv.mkDerivation rec { libuuid json-glib libstemmer - ]; - - checkInputs = with python3.pkgs; [ - pygobject3 + dbus + systemd ]; mesonFlags = [ "-Ddocs=true" - ]; + ] ++ ( + let + # https://gitlab.gnome.org/GNOME/tracker/-/blob/master/meson.build#L159 + crossFile = writeText "cross-file.conf" '' + [properties] + sqlite3_has_fts5 = '${lib.boolToString (lib.hasInfix "-DSQLITE_ENABLE_FTS3" sqlite.NIX_CFLAGS_COMPILE)}' + ''; + in + [ + "--cross-file=${crossFile}" + ] + ); doCheck = true;