10 , gobject-introspection
15 , gsettings-desktop-schemas
21 stdenv.mkDerivation rec {
25 outputs = [ "out" "dev" "devdoc" ];
26 outputBin = "devdoc"; # demo app
28 src = fetchFromGitLab {
29 domain = "gitlab.gnome.org";
33 hash = "sha256-lxNIysW2uth4Hp6NHjo0vWHupITb9qWkkdG8YEDLrUE=";
52 ] ++ lib.optionals (!doCheck) [
58 ] ++ lib.optionals stdenv.isDarwin [
63 propagatedBuildInputs = [
68 gnome.adwaita-icon-theme
69 ] ++ lib.optionals (!stdenv.isDarwin) [
73 # Tests had to be disabled on Darwin because test-button-content fails
75 # not ok /Adwaita/ButtonContent/style_class_button - Gdk-FATAL-CRITICAL:
76 # gdk_macos_monitor_get_workarea: assertion 'GDK_IS_MACOS_MONITOR (self)' failed
77 doCheck = !stdenv.isDarwin;
83 # Disable portal since we cannot run it in tests.
86 # AdwSettings needs to be initialized from “org.gnome.desktop.interface” GSettings schema when portal is not used for color scheme.
87 # It will not actually be used since the “color-scheme” key will only have been introduced in GNOME 42, falling back to detecting theme name.
88 # See adw_settings_constructed function in https://gitlab.gnome.org/GNOME/libadwaita/commit/60ec69f0a5d49cad8a6d79e4ecefd06dc6e3db12
89 "XDG_DATA_DIRS=${glib.getSchemaDataDirPath gsettings-desktop-schemas}"
91 # Tests need a cache directory
94 env "''${testEnvironment[@]}" ${lib.optionalString (!stdenv.isDarwin) "xvfb-run"} \
95 meson test --print-errorlogs
101 # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
102 moveToOutput "share/doc" "$devdoc"
106 updateScript = gnome.updateScript {
112 changelog = "https://gitlab.gnome.org/GNOME/libadwaita/-/blob/${src.rev}/NEWS";
113 description = "Library to help with developing UI for mobile devices using GTK/GNOME";
114 homepage = "https://gitlab.gnome.org/GNOME/libadwaita";
115 license = licenses.lgpl21Plus;
116 maintainers = teams.gnome.members ++ (with maintainers; [ dotlambda ]);
117 platforms = platforms.unix;