{ lib , stdenv , fetchurl , pkg-config , gettext , itstool , glib , gtk-layer-shell , gtk3 , libmateweather , libwnck , librsvg , libxml2 , dconf , dconf-editor , mate-desktop , mate-menus , hicolor-icon-theme , wayland , gobject-introspection , wrapGAppsHook3 , marco , mateUpdateScript }: stdenv.mkDerivation rec { pname = "mate-panel"; version = "1.28.4"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; hash = "sha256-AvCesDFMKsGXtvCJlQpXHNujm/0D1sOguP13JSqWiHQ="; }; nativeBuildInputs = [ gobject-introspection gettext itstool pkg-config wrapGAppsHook3 ]; buildInputs = [ gtk-layer-shell libmateweather libwnck librsvg libxml2 dconf mate-desktop mate-menus hicolor-icon-theme wayland ]; propagatedBuildInputs = [ glib gtk3 # Optionally for the ca.desrt.dconf-editor.Settings schema # This is propagated for mate_panel_applet_settings_new and applet's wrapGAppsHook3 dconf-editor ]; # Needed for Wayland support. configureFlags = [ "--with-in-process-applets=all" ]; env.NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; makeFlags = [ "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/" "INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0" ]; preFixup = '' gappsWrapperArgs+=( # Workspace switcher settings, works only when passed after gtk3 schemas in the wrapper for some reason --prefix XDG_DATA_DIRS : "${glib.getSchemaDataDirPath marco}" ) ''; enableParallelBuilding = true; passthru.updateScript = mateUpdateScript { inherit pname; }; meta = with lib; { description = "MATE panel"; homepage = "https://github.com/mate-desktop/mate-panel"; license = with licenses; [ gpl2Plus lgpl2Plus fdl11Plus ]; platforms = platforms.unix; maintainers = teams.mate.members; }; }