diff --git a/pkgs/desktops/xfce/applications/xfdashboard/default.nix b/pkgs/desktops/xfce/applications/xfdashboard/default.nix index 54101465e6c0..29df0de640a1 100644 --- a/pkgs/desktops/xfce/applications/xfdashboard/default.nix +++ b/pkgs/desktops/xfce/applications/xfdashboard/default.nix @@ -1,6 +1,12 @@ { + stdenv, lib, - mkXfceDerivation, + fetchFromGitLab, + fetchpatch, + meson, + ninja, + pkg-config, + wrapGAppsHook3, clutter, gettext, libXcomposite, @@ -14,26 +20,48 @@ xfconf, gtk3, glib, - dbus-glib, + gitUpdater, }: -mkXfceDerivation { - category = "apps"; +stdenv.mkDerivation (finalAttrs: { pname = "xfdashboard"; - version = "1.0.0-unstable-2025-07-18"; - # Fix build with gettext 0.25 - rev = "93255940950ef5bc89cab729c8b977a706f98e0c"; - rev-prefix = ""; + version = "1.1.0"; - sha256 = "sha256-Qv0ASuJF0FzPoeLx2D6/kXkxnOJV7mdAFD6PCk+CMac="; + src = fetchFromGitLab { + domain = "gitlab.xfce.org"; + owner = "apps"; + repo = "xfdashboard"; + tag = "xfdashboard-${finalAttrs.version}"; + hash = "sha256-D8Tue+45CO5yy7sxealKQoFQZobCiDUzoxCsDksTTxI="; + }; + + patches = [ + # Exit early if not on X11 + (fetchpatch { + url = "https://gitlab.xfce.org/apps/xfdashboard/-/commit/7452a7074dfc36c5af42c4105aadaac8656c2f60.patch"; + hash = "sha256-u0djTProV3On0uutg89Q+psgmVGJS768KwiYxZ7dhrE="; + }) + + # build: Fix version/so_version inversion + (fetchpatch { + url = "https://gitlab.xfce.org/apps/xfdashboard/-/commit/20f23e62576d186fada6688af3bb05bc7f223f44.patch"; + hash = "sha256-C2oIBi9tfoQF123Ez3YbFUs8vX2DeYdr3BDc85ExTgQ="; + }) + ]; + + strictDeps = true; nativeBuildInputs = [ gettext + glib # glib-genmarshal + meson + ninja + pkg-config + wrapGAppsHook3 ]; buildInputs = [ clutter - dbus-glib garcon glib gtk3 @@ -47,8 +75,14 @@ mkXfceDerivation { xfconf ]; - meta = with lib; { - description = "Gnome shell like dashboard"; - teams = [ teams.xfce ]; + passthru.updateScript = gitUpdater { rev-prefix = "xfdashboard-"; }; + + meta = { + description = "GNOME shell like dashboard"; + homepage = "https://gitlab.xfce.org/apps/xfdashboard"; + license = lib.licenses.gpl2Plus; + mainProgram = "xfdashboard"; + teams = [ lib.teams.xfce ]; + platforms = lib.platforms.linux; }; -} +})