{ lib , stdenv , fetchurl , pkg-config , gettext , itstool , glib , gnome , gtk-layer-shell , gtk3 , libmateweather , libwnck , librsvg , libxml2 , dconf , mate-desktop , mate-menus , hicolor-icon-theme , wayland , gobject-introspection , wrapGAppsHook , marco , mateUpdateScript }: stdenv.mkDerivation rec { pname = "mate-panel"; version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "s70EoJTQ61vX3DOA728MSdmp1SCXM9fM17RtBmogjLo="; }; nativeBuildInputs = [ gobject-introspection gettext itstool pkg-config wrapGAppsHook ]; buildInputs = [ gtk-layer-shell libmateweather libwnck librsvg libxml2 dconf mate-desktop mate-menus hicolor-icon-theme wayland ]; propagatedBuildInputs = [ glib gtk3 # See https://github.com/mate-desktop/mate-panel/issues/1402 # This is propagated for mate_panel_applet_settings_new and applet's wrapGAppsHook gnome.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 = "The MATE panel"; homepage = "https://github.com/mate-desktop/mate-panel"; license = with licenses; [ gpl2Plus lgpl2Plus fdl11Plus ]; platforms = platforms.unix; maintainers = teams.mate.members; }; }