Merge pull request #219155 from alyssais/gobject-introspection-emulator

various: (re-)disable introspection if no emulator
This commit is contained in:
Artturi 2023-03-04 02:20:52 +02:00 committed by GitHub
commit 77afa1fb6c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 109 additions and 42 deletions

View file

@ -5,6 +5,8 @@
, ninja , ninja
, pkg-config , pkg-config
, gobject-introspection , gobject-introspection
, buildPackages
, withIntrospection ? stdenv.hostPlatform.emulatorAvailable buildPackages
, gsettings-desktop-schemas , gsettings-desktop-schemas
, makeWrapper , makeWrapper
, dbus , dbus
@ -30,11 +32,13 @@ stdenv.mkDerivation rec {
}; };
nativeBuildInputs = [ nativeBuildInputs = [
glib
meson meson
ninja ninja
pkg-config pkg-config
gobject-introspection
makeWrapper makeWrapper
] ++ lib.optionals withIntrospection [
gobject-introspection
]; ];
buildInputs = [ buildInputs = [
@ -58,7 +62,6 @@ stdenv.mkDerivation rec {
doCheck = false; doCheck = false;
mesonFlags = [ mesonFlags = [
"-Dintrospection=yes"
# Provide dbus-daemon fallback when it is not already running when # Provide dbus-daemon fallback when it is not already running when
# at-spi2-bus-launcher is executed. This allows us to avoid # at-spi2-bus-launcher is executed. This allows us to avoid
# including the entire dbus closure in libraries linked with # including the entire dbus closure in libraries linked with

View file

@ -14,19 +14,21 @@
, libjpeg , libjpeg
, libpng , libpng
, gnome , gnome
, gobject-introspection
, buildPackages
, doCheck ? false , doCheck ? false
, makeWrapper , makeWrapper
, lib , lib
, testers , testers
, buildPackages
, withIntrospection ? stdenv.hostPlatform.emulatorAvailable buildPackages
, gobject-introspection
}: }:
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "gdk-pixbuf"; pname = "gdk-pixbuf";
version = "2.42.10"; version = "2.42.10";
outputs = [ "out" "dev" "man" "devdoc" ] outputs = [ "out" "dev" "man" ]
++ lib.optional withIntrospection "devdoc"
++ lib.optional (stdenv.buildPlatform == stdenv.hostPlatform) "installedTests"; ++ lib.optional (stdenv.buildPlatform == stdenv.hostPlatform) "installedTests";
src = let src = let
@ -56,13 +58,14 @@ stdenv.mkDerivation (finalAttrs: {
python3 python3
makeWrapper makeWrapper
glib glib
gi-docgen
gobject-introspection
# for man pages # for man pages
docutils docutils
] ++ lib.optionals stdenv.isDarwin [ ] ++ lib.optionals stdenv.isDarwin [
fixDarwinDylibNames fixDarwinDylibNames
] ++ lib.optionals withIntrospection [
gi-docgen
gobject-introspection
]; ];
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -74,7 +77,8 @@ stdenv.mkDerivation (finalAttrs: {
mesonFlags = [ mesonFlags = [
"-Dgio_sniffing=false" "-Dgio_sniffing=false"
"-Dgtk_doc=true" (lib.mesonBool "gtk_doc" withIntrospection)
(lib.mesonEnable "introspection" withIntrospection)
]; ];
postPatch = '' postPatch = ''
@ -104,7 +108,7 @@ stdenv.mkDerivation (finalAttrs: {
install_name_tool -change @rpath/libgdk_pixbuf-2.0.0.dylib $out/lib/libgdk_pixbuf-2.0.0.dylib $f 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 mv $f ''${f%.dylib}.so
done done
'' + '' '' + lib.optionalString withIntrospection ''
# We need to install 'loaders.cache' in lib/gdk-pixbuf-2.0/2.10.0/ # We need to install 'loaders.cache' in lib/gdk-pixbuf-2.0/2.10.0/
${stdenv.hostPlatform.emulator buildPackages} $dev/bin/gdk-pixbuf-query-loaders --update-cache ${stdenv.hostPlatform.emulator buildPackages} $dev/bin/gdk-pixbuf-query-loaders --update-cache
''; '';
@ -116,7 +120,7 @@ stdenv.mkDerivation (finalAttrs: {
done done
''; '';
postFixup = '' postFixup = lib.optionalString withIntrospection ''
# Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back. # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
moveToOutput "share/doc" "$devdoc" moveToOutput "share/doc" "$devdoc"
''; '';

View file

@ -3,6 +3,8 @@
, pkg-config , pkg-config
, glib , glib
, gobject-introspection , gobject-introspection
, buildPackages
, withIntrospection ? stdenv.hostPlatform.emulatorAvailable buildPackages
, meson , meson
, ninja , ninja
, python3 , python3
@ -27,9 +29,14 @@ stdenv.mkDerivation rec {
ninja ninja
pkg-config pkg-config
python3 python3
] ++ lib.optionals withIntrospection [
gobject-introspection gobject-introspection
]; ];
mesonFlags = [
(lib.mesonBool "introspection" withIntrospection)
];
postPatch = '' postPatch = ''
chmod +x build-aux/meson/post-install.py chmod +x build-aux/meson/post-install.py
patchShebangs build-aux/meson/post-install.py patchShebangs build-aux/meson/post-install.py

View file

@ -8,6 +8,7 @@
, docbook_xml_dtd_43 , docbook_xml_dtd_43
, gtk-doc , gtk-doc
, meson , meson
, mesonEmulatorHook
, ninja , ninja
, python3 , python3
, makeWrapper , makeWrapper
@ -21,6 +22,8 @@
, atk , atk
, at-spi2-atk , at-spi2-atk
, gobject-introspection , gobject-introspection
, buildPackages
, withIntrospection ? stdenv.hostPlatform.emulatorAvailable buildPackages
, fribidi , fribidi
, xorg , xorg
, libepoxy , libepoxy
@ -39,7 +42,6 @@
, wayland-protocols , wayland-protocols
, xineramaSupport ? stdenv.isLinux , xineramaSupport ? stdenv.isLinux
, cupsSupport ? stdenv.isLinux , cupsSupport ? stdenv.isLinux
, withGtkDoc ? stdenv.isLinux && (stdenv.buildPlatform == stdenv.hostPlatform)
, cups , cups
, AppKit , AppKit
, Cocoa , Cocoa
@ -63,7 +65,7 @@ stdenv.mkDerivation (finalAttrs: {
pname = "gtk+3"; pname = "gtk+3";
version = "3.24.36"; version = "3.24.36";
outputs = [ "out" "dev" ] ++ lib.optional withGtkDoc "devdoc"; outputs = [ "out" "dev" ] ++ lib.optional withIntrospection "devdoc";
outputBin = "dev"; outputBin = "dev";
setupHooks = [ setupHooks = [
@ -94,7 +96,6 @@ stdenv.mkDerivation (finalAttrs: {
]; ];
nativeBuildInputs = [ nativeBuildInputs = [
gettext gettext
gobject-introspection
makeWrapper makeWrapper
meson meson
ninja ninja
@ -102,12 +103,15 @@ stdenv.mkDerivation (finalAttrs: {
python3 python3
sassc sassc
gdk-pixbuf gdk-pixbuf
] ++ finalAttrs.setupHooks ++ lib.optionals withGtkDoc [ ] ++ finalAttrs.setupHooks ++ lib.optionals withIntrospection [
gobject-introspection
docbook_xml_dtd_43 docbook_xml_dtd_43
docbook-xsl-nons docbook-xsl-nons
gtk-doc gtk-doc
# For xmllint # For xmllint
libxml2 libxml2
] ++ lib.optionals (withIntrospection && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
mesonEmulatorHook
] ++ lib.optionals waylandSupport [ ] ++ lib.optionals waylandSupport [
wayland-scanner wayland-scanner
]; ];
@ -157,12 +161,13 @@ stdenv.mkDerivation (finalAttrs: {
]; ];
mesonFlags = [ mesonFlags = [
"-Dgtk_doc=${lib.boolToString withGtkDoc}" "-Dgtk_doc=${lib.boolToString withIntrospection}"
"-Dtests=false" "-Dtests=false"
"-Dtracker3=${lib.boolToString trackerSupport}" "-Dtracker3=${lib.boolToString trackerSupport}"
"-Dbroadway_backend=${lib.boolToString broadwaySupport}" "-Dbroadway_backend=${lib.boolToString broadwaySupport}"
"-Dx11_backend=${lib.boolToString x11Support}" "-Dx11_backend=${lib.boolToString x11Support}"
"-Dquartz_backend=${lib.boolToString (stdenv.isDarwin && !x11Support)}" "-Dquartz_backend=${lib.boolToString (stdenv.isDarwin && !x11Support)}"
"-Dintrospection=${lib.boolToString withIntrospection}"
]; ];
doCheck = false; # needs X11 doCheck = false; # needs X11

View file

@ -7,6 +7,8 @@
, nixosTests , nixosTests
, pkg-config , pkg-config
, gettext , gettext
, withIntrospection ? stdenv.hostPlatform.emulatorAvailable buildPackages
, buildPackages
, gobject-introspection , gobject-introspection
, gi-docgen , gi-docgen
, libxslt , libxslt
@ -18,7 +20,8 @@ stdenv.mkDerivation rec {
pname = "json-glib"; pname = "json-glib";
version = "1.6.6"; version = "1.6.6";
outputs = [ "out" "dev" "devdoc" "installedTests" ]; outputs = [ "out" "dev" "installedTests" ]
++ lib.optional withIntrospection "devdoc";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
@ -43,10 +46,11 @@ stdenv.mkDerivation rec {
gettext gettext
glib glib
libxslt libxslt
gobject-introspection
gi-docgen
] ++ lib.optionals stdenv.hostPlatform.isDarwin [ ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
fixDarwinDylibNames fixDarwinDylibNames
] ++ lib.optionals withIntrospection [
gobject-introspection
gi-docgen
]; ];
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -55,6 +59,8 @@ stdenv.mkDerivation rec {
mesonFlags = [ mesonFlags = [
"-Dinstalled_test_prefix=${placeholder "installedTests"}" "-Dinstalled_test_prefix=${placeholder "installedTests"}"
(lib.mesonEnable "introspection" withIntrospection)
(lib.mesonEnable "gtk_doc" withIntrospection)
]; ];
# Run-time dependency gi-docgen found: NO (tried pkgconfig and cmake) # Run-time dependency gi-docgen found: NO (tried pkgconfig and cmake)

View file

@ -1,7 +1,8 @@
{ lib { lib
, stdenv , stdenv
, fetchFromGitHub , fetchFromGitHub
, buildPackages , pkgsBuildBuild
, pkgsBuildHost
, cmake , cmake
, glib , glib
, icu , icu
@ -13,6 +14,7 @@
, python3 , python3
, tzdata , tzdata
, fixDarwinDylibNames , fixDarwinDylibNames
, withIntrospection ? stdenv.hostPlatform.emulatorAvailable pkgsBuildHost
, gobject-introspection , gobject-introspection
, vala , vala
}: }:
@ -31,20 +33,24 @@ stdenv.mkDerivation rec {
}; };
strictDeps = true; strictDeps = true;
depsBuildBuild = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
# provides ical-glib-src-generator that runs during build
libical
];
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake
ninja ninja
perl perl
pkg-config pkg-config
] ++ lib.optionals withIntrospection [
gobject-introspection gobject-introspection
vala vala
# Docs building fails: # Docs building fails:
# https://github.com/NixOS/nixpkgs/pull/67204 # https://github.com/NixOS/nixpkgs/pull/67204
# previously with https://github.com/NixOS/nixpkgs/pull/61657#issuecomment-495579489 # previously with https://github.com/NixOS/nixpkgs/pull/61657#issuecomment-495579489
# gtk-doc docbook_xsl docbook_xml_dtd_43 # for docs # gtk-doc docbook_xsl docbook_xml_dtd_43 # for docs
] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
# provides ical-glib-src-generator that runs during build
libical
] ++ lib.optionals stdenv.isDarwin [ ] ++ lib.optionals stdenv.isDarwin [
fixDarwinDylibNames fixDarwinDylibNames
]; ];
@ -63,10 +69,10 @@ stdenv.mkDerivation rec {
cmakeFlags = [ cmakeFlags = [
"-DENABLE_GTK_DOC=False" "-DENABLE_GTK_DOC=False"
"-DGOBJECT_INTROSPECTION=True" "-DGOBJECT_INTROSPECTION=${if withIntrospection then "True" else "False"}"
"-DICAL_GLIB_VAPI=True" "-DICAL_GLIB_VAPI=${if withIntrospection then "True" else "False"}"
] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
"-DIMPORT_ICAL_GLIB_SRC_GENERATOR=${lib.getDev buildPackages.libical}/lib/cmake/LibIcal/IcalGlibSrcGenerator.cmake" "-DIMPORT_ICAL_GLIB_SRC_GENERATOR=${lib.getDev pkgsBuildBuild.libical}/lib/cmake/LibIcal/IcalGlibSrcGenerator.cmake"
]; ];
patches = [ patches = [

View file

@ -6,6 +6,8 @@
, pkg-config , pkg-config
, vala , vala
, gobject-introspection , gobject-introspection
, buildPackages
, withIntrospection ? stdenv.hostPlatform.emulatorAvailable buildPackages
, gtk-doc , gtk-doc
, docbook-xsl-nons , docbook-xsl-nons
, docbook_xml_dtd_43 , docbook_xml_dtd_43
@ -19,7 +21,7 @@ stdenv.mkDerivation rec {
pname = "libmanette"; pname = "libmanette";
version = "0.2.6"; version = "0.2.6";
outputs = [ "out" "dev" "devdoc" ]; outputs = [ "out" "dev" ] ++ lib.optional withIntrospection "devdoc";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
@ -30,23 +32,29 @@ stdenv.mkDerivation rec {
meson meson
ninja ninja
pkg-config pkg-config
glib
] ++ lib.optionals withIntrospection [
vala vala
gobject-introspection gobject-introspection
gtk-doc gtk-doc
docbook-xsl-nons docbook-xsl-nons
docbook_xml_dtd_43 docbook_xml_dtd_43
] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ ] ++ lib.optionals (withIntrospection && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
mesonEmulatorHook mesonEmulatorHook
]; ];
buildInputs = [ buildInputs = [
glib glib
libgudev
libevdev libevdev
] ++ lib.optionals withIntrospection [
libgudev
]; ];
mesonFlags = [ mesonFlags = [
"-Ddoc=true" (lib.mesonBool "doc" withIntrospection)
(lib.mesonEnable "gudev" withIntrospection)
(lib.mesonBool "introspection" withIntrospection)
(lib.mesonBool "vapi" withIntrospection)
]; ];
doCheck = true; doCheck = true;

View file

@ -12,6 +12,8 @@
, docbook_xml_dtd_42 , docbook_xml_dtd_42
, libgcrypt , libgcrypt
, gobject-introspection , gobject-introspection
, buildPackages
, withIntrospection ? stdenv.hostPlatform.emulatorAvailable buildPackages
, vala , vala
, gi-docgen , gi-docgen
, gnome , gnome
@ -24,7 +26,7 @@ stdenv.mkDerivation rec {
pname = "libsecret"; pname = "libsecret";
version = "0.20.5"; version = "0.20.5";
outputs = [ "out" "dev" "devdoc" ]; outputs = [ "out" "dev" ] ++ lib.optional withIntrospection "devdoc";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
@ -44,10 +46,11 @@ stdenv.mkDerivation rec {
docbook-xsl-nons docbook-xsl-nons
docbook_xml_dtd_42 docbook_xml_dtd_42
libintl libintl
gobject-introspection
vala vala
gi-docgen
glib glib
] ++ lib.optionals withIntrospection [
gi-docgen
gobject-introspection
]; ];
buildInputs = [ buildInputs = [
@ -66,7 +69,12 @@ stdenv.mkDerivation rec {
gjs gjs
]; ];
doCheck = stdenv.isLinux; mesonFlags = [
(lib.mesonBool "introspection" withIntrospection)
(lib.mesonBool "gtk_doc" withIntrospection)
];
doCheck = stdenv.isLinux && withIntrospection;
postPatch = '' postPatch = ''
patchShebangs ./tool/test-*.sh patchShebangs ./tool/test-*.sh

View file

@ -9,7 +9,9 @@
, libsysprof-capture , libsysprof-capture
, sqlite , sqlite
, glib-networking , glib-networking
, buildPackages
, gobject-introspection , gobject-introspection
, withIntrospection ? stdenv.hostPlatform.emulatorAvailable buildPackages
, vala , vala
, libpsl , libpsl
, python3 , python3
@ -22,7 +24,7 @@ stdenv.mkDerivation rec {
pname = "libsoup"; pname = "libsoup";
version = "3.2.2"; version = "3.2.2";
outputs = [ "out" "dev" "devdoc" ]; outputs = [ "out" "dev" ] ++ lib.optional withIntrospection "devdoc";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
@ -39,6 +41,7 @@ stdenv.mkDerivation rec {
pkg-config pkg-config
glib glib
python3 python3
] ++ lib.optionals withIntrospection [
gi-docgen gi-docgen
gobject-introspection gobject-introspection
vala vala
@ -61,15 +64,16 @@ stdenv.mkDerivation rec {
mesonFlags = [ mesonFlags = [
"-Dtls_check=false" # glib-networking is a runtime dependency, not a compile-time dependency "-Dtls_check=false" # glib-networking is a runtime dependency, not a compile-time dependency
"-Dgssapi=disabled" "-Dgssapi=disabled"
"-Dvapi=enabled"
"-Dintrospection=enabled"
"-Dntlm=disabled" "-Dntlm=disabled"
# Requires wstest from autobahn-testsuite. # Requires wstest from autobahn-testsuite.
"-Dautobahn=disabled" "-Dautobahn=disabled"
# Requires gnutls, not added for closure size. # Requires gnutls, not added for closure size.
"-Dpkcs11_tests=disabled" "-Dpkcs11_tests=disabled"
] ++ lib.optionals (!stdenv.isLinux) [
"-Dsysprof=disabled" (lib.mesonEnable "docs" withIntrospection)
(lib.mesonEnable "introspection" withIntrospection)
(lib.mesonEnable "sysprof" stdenv.isLinux)
(lib.mesonEnable "vapi" withIntrospection)
]; ];
# TODO: For some reason the pkg-config setup hook does not pick this up. # TODO: For some reason the pkg-config setup hook does not pick this up.

View file

@ -15,6 +15,8 @@
, gnomeSupport ? true , gnomeSupport ? true
, sqlite , sqlite
, glib-networking , glib-networking
, buildPackages
, withIntrospection ? stdenv.hostPlatform.emulatorAvailable buildPackages
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -37,6 +39,7 @@ stdenv.mkDerivation rec {
ninja ninja
pkg-config pkg-config
glib glib
] ++ lib.optionals withIntrospection [
gobject-introspection gobject-introspection
vala vala
]; ];
@ -58,6 +61,8 @@ stdenv.mkDerivation rec {
mesonFlags = [ mesonFlags = [
"-Dtls_check=false" # glib-networking is a runtime dependency, not a compile-time dependency "-Dtls_check=false" # glib-networking is a runtime dependency, not a compile-time dependency
"-Dgssapi=disabled" "-Dgssapi=disabled"
"-Dvapi=${if withIntrospection then "enabled" else "disabled"}"
"-Dintrospection=${if withIntrospection then "enabled" else "disabled"}"
"-Dgnome=${lib.boolToString gnomeSupport}" "-Dgnome=${lib.boolToString gnomeSupport}"
"-Dntlm=disabled" "-Dntlm=disabled"
] ++ lib.optionals (!stdenv.isLinux) [ ] ++ lib.optionals (!stdenv.isLinux) [

View file

@ -24,6 +24,8 @@
, useSystemd ? lib.meta.availableOn stdenv.hostPlatform systemdMinimal , useSystemd ? lib.meta.availableOn stdenv.hostPlatform systemdMinimal
, systemdMinimal , systemdMinimal
, elogind , elogind
, buildPackages
, withIntrospection ? stdenv.hostPlatform.emulatorAvailable buildPackages
# A few tests currently fail on musl (polkitunixusertest, polkitunixgrouptest, polkitidentitytest segfault). # A few tests currently fail on musl (polkitunixusertest, polkitunixgrouptest, polkitidentitytest segfault).
# Not yet investigated; it may be due to the "Make netgroup support optional" # Not yet investigated; it may be due to the "Make netgroup support optional"
# patch not updating the tests correctly yet, or doing something wrong, # patch not updating the tests correctly yet, or doing something wrong,
@ -65,14 +67,12 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ nativeBuildInputs = [
glib glib
gtk-doc
pkg-config pkg-config
gettext gettext
meson meson
ninja ninja
perl perl
rsync rsync
gobject-introspection
(python3.pythonForBuild.withPackages (pp: with pp; [ (python3.pythonForBuild.withPackages (pp: with pp; [
dbus-python dbus-python
(python-dbusmock.overridePythonAttrs (attrs: { (python-dbusmock.overridePythonAttrs (attrs: {
@ -85,7 +85,10 @@ stdenv.mkDerivation rec {
libxslt libxslt
docbook-xsl-nons docbook-xsl-nons
docbook_xml_dtd_412 docbook_xml_dtd_412
] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ ] ++ lib.optionals withIntrospection [
gobject-introspection
gtk-doc
] ++ lib.optionals (withIntrospection && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
mesonEmulatorHook mesonEmulatorHook
]; ];
@ -113,7 +116,9 @@ stdenv.mkDerivation rec {
"-Dsystemdsystemunitdir=${placeholder "out"}/lib/systemd/system" "-Dsystemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
"-Dpolkitd_user=polkituser" #TODO? <nixos> config.ids.uids.polkituser "-Dpolkitd_user=polkituser" #TODO? <nixos> config.ids.uids.polkituser
"-Dos_type=redhat" # only affects PAM includes "-Dos_type=redhat" # only affects PAM includes
"-Dintrospection=${lib.boolToString withIntrospection}"
"-Dtests=${lib.boolToString doCheck}" "-Dtests=${lib.boolToString doCheck}"
"-Dgtk_doc=${lib.boolToString withIntrospection}"
"-Dman=true" "-Dman=true"
] ++ lib.optionals stdenv.isLinux [ ] ++ lib.optionals stdenv.isLinux [
"-Dsession_tracking=${if useSystemd then "libsystemd-login" else "libelogind"}" "-Dsession_tracking=${if useSystemd then "libsystemd-login" else "libelogind"}"

View file

@ -7,6 +7,8 @@
, pkg-config , pkg-config
, asciidoc , asciidoc
, gobject-introspection , gobject-introspection
, buildPackages
, withIntrospection ? stdenv.hostPlatform.emulatorAvailable buildPackages
, python3 , python3
, docbook-xsl-nons , docbook-xsl-nons
, docbook_xml_dtd_45 , docbook_xml_dtd_45
@ -52,12 +54,14 @@ stdenv.mkDerivation rec {
pkg-config pkg-config
asciidoc asciidoc
gettext gettext
glib
libxslt libxslt
wrapGAppsNoGuiHook wrapGAppsNoGuiHook
gobject-introspection
docbook-xsl-nons docbook-xsl-nons
docbook_xml_dtd_45 docbook_xml_dtd_45
(python3.pythonForBuild.withPackages (p: [ p.pygobject3 ])) (python3.pythonForBuild.withPackages (p: [ p.pygobject3 ]))
] ++ lib.optionals withIntrospection [
gobject-introspection
]; ];
buildInputs = [ buildInputs = [
@ -77,6 +81,8 @@ stdenv.mkDerivation rec {
mesonFlags = [ mesonFlags = [
"-Ddocs=true" "-Ddocs=true"
(lib.mesonEnable "introspection" withIntrospection)
(lib.mesonBool "test_utils" withIntrospection)
] ++ ( ] ++ (
let let
# https://gitlab.gnome.org/GNOME/tracker/-/blob/master/meson.build#L159 # https://gitlab.gnome.org/GNOME/tracker/-/blob/master/meson.build#L159