diff --git a/nixos/doc/manual/release-notes/rl-2605.section.md b/nixos/doc/manual/release-notes/rl-2605.section.md index 6625d7876ed7..d1fe153f0df1 100644 --- a/nixos/doc/manual/release-notes/rl-2605.section.md +++ b/nixos/doc/manual/release-notes/rl-2605.section.md @@ -133,6 +133,8 @@ See . - Cinnamon has been updated to 6.6, please check the [upstream announcement](https://www.linuxmint.com/rel_zena_whatsnew.php) for more details. +- Budgie has been updated to 10.10, please check the [upstream announcement](https://buddiesofbudgie.org/blog/budgie-10-10-released) for more details. + - `services.frp` now supports multiple instances through `services.frp.instances` to make it possible to run multiple frp clients or servers at the same time. - `hyphen` now supports over 40 language variants through `hyphenDicts` and now allows to enable all supported languages through `hyphenDicts.all`. diff --git a/nixos/modules/services/desktop-managers/budgie.nix b/nixos/modules/services/desktop-managers/budgie.nix index 80511c4e9116..a32caa838779 100644 --- a/nixos/modules/services/desktop-managers/budgie.nix +++ b/nixos/modules/services/desktop-managers/budgie.nix @@ -156,15 +156,19 @@ in fi ''; + # https://docs.buddiesofbudgie.org/10.10/developer/workflow/building-budgie-desktop/#compositor-recommendations + programs.labwc.enable = mkDefault true; + programs.gtklock.enable = mkDefault true; + environment.systemPackages = with pkgs; [ # Budgie Desktop. budgie-backgrounds budgie-control-center' + budgie-desktop-services (budgie-desktop-with-plugins.override { plugins = cfg.extraPlugins; }) budgie-desktop-view - budgie-screensaver budgie-session # Required by Budgie Menu. @@ -190,6 +194,17 @@ in mate.mate-system-monitor vlc + # Supplemental tooling. + # See budgie-desktop's with-runtime-dependencies meson option. + gammastep + grim + killall + slurp + swaybg + swayidle + wdisplays + wlopm + # Desktop themes. qogir-theme qogir-icon-theme @@ -224,9 +239,6 @@ in services.xserver.updateDbusEnvironment = true; programs.dconf.enable = true; - # Required by Budgie Screensaver. - security.pam.services.budgie-screensaver = { }; - # Required by Budgie's Polkit Dialog. security.polkit.enable = mkDefault true; @@ -240,6 +252,7 @@ in xdg.portal.enable = mkDefault true; # for BCC's Applications panel. xdg.portal.extraPortals = with pkgs; [ xdg-desktop-portal-gtk # provides a XDG Portals implementation. + xdg-desktop-portal-wlr # for screenshot and screencast. ]; xdg.portal.configPackages = mkDefault [ pkgs.budgie-desktop ]; @@ -274,11 +287,7 @@ in # Register packages for DBus. services.dbus.packages = [ budgie-control-center' - ]; - - # Register packages for udev. - services.udev.packages = with pkgs; [ - magpie + pkgs.budgie-desktop-services ]; # Shell integration for MATE Terminal. diff --git a/nixos/tests/budgie.nix b/nixos/tests/budgie.nix index a9bb55756797..b1aa2798e8b0 100644 --- a/nixos/tests/budgie.nix +++ b/nixos/tests/budgie.nix @@ -29,37 +29,38 @@ pkgs.budgie-analogue-clock-applet ]; }; + + environment.systemPackages = [ pkgs.wlrctl ]; }; + enableOCR = true; + testScript = { nodes, ... }: let user = nodes.machine.users.users.alice; - env = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${toString user.uid}/bus DISPLAY=:0"; - su = command: "su - ${user.name} -c '${env} ${command}'"; + env = "XDG_RUNTIME_DIR=/run/user/${toString user.uid}"; in '' with subtest("Wait for login"): - machine.wait_for_x() + machine.wait_for_unit("display-manager.service") + machine.wait_for_file("/run/user/${toString user.uid}/wayland-0") machine.wait_until_succeeds('journalctl -t budgie-session-binary --grep "Entering running state"') - machine.wait_for_file("${user.home}/.Xauthority") - machine.succeed("xauth merge ${user.home}/.Xauthority") + machine.wait_until_succeeds('journalctl --grep "Compositor is fully initialized"') with subtest("Check that logging in has given the user ownership of devices"): # Change back to /dev/snd/timer after systemd-258.1 machine.succeed("getfacl -p /dev/dri/card0 | grep -q ${user.name}") with subtest("Check if Budgie session components actually start"): - for i in ["budgie-daemon", "budgie-panel", "budgie-wm", "bsd-media-keys", "gsd-xsettings"]: + for i in ["budgie-daemon", "budgie-panel", "labwc", "budgie-session", "swaybg", "swayidle"]: machine.wait_until_succeeds(f"pgrep {i}") + machine.wait_until_succeeds("pgrep -xf ${pkgs.gnome-settings-daemon}/libexec/gsd-sound") + machine.wait_until_succeeds("pgrep -xf ${pkgs.budgie-desktop-services}/bin/org.buddiesofbudgie.Services") machine.wait_until_succeeds("pgrep -xf /run/current-system/sw/bin/org.buddiesofbudgie.budgie-desktop-view") - # We don't check xwininfo for budgie-wm. - # See https://github.com/NixOS/nixpkgs/pull/216737#discussion_r1155312754 - machine.wait_for_window("budgie-daemon") - machine.wait_for_window("budgie-panel") with subtest("Check if various environment variables are set"): - cmd = "xargs --null --max-args=1 echo < /proc/$(pgrep -xf /run/current-system/sw/bin/budgie-wm)/environ" + cmd = "xargs --null --max-args=1 echo < /proc/$(pgrep -xf /run/current-system/sw/bin/budgie-panel)/environ" machine.succeed(f"{cmd} | grep 'XDG_CURRENT_DESKTOP' | grep 'Budgie'") machine.succeed(f"{cmd} | grep 'BUDGIE_PLUGIN_DATADIR' | grep '${pkgs.budgie-desktop-with-plugins.pname}'") # From the nixos/budgie module @@ -67,28 +68,22 @@ with subtest("Open run dialog"): machine.send_key("alt-f2") - machine.wait_for_window("budgie-run-dialog") + machine.wait_until_succeeds("pgrep -xf budgie-run-dialog") machine.sleep(2) machine.screenshot("run_dialog") machine.send_key("esc") with subtest("Open Budgie Control Center"): - machine.succeed("${su "budgie-control-center >&2 &"}") - machine.wait_for_window("Budgie Control Center") - - with subtest("Lock the screen"): - machine.succeed("${su "budgie-screensaver-command -l >&2 &"}") - machine.wait_until_succeeds("${su "budgie-screensaver-command -q"} | grep 'The screensaver is active'") - machine.sleep(2) - machine.send_chars("${user.password}", delay=0.5) - machine.screenshot("budgie_screensaver") - machine.send_chars("\n") - machine.wait_until_succeeds("${su "budgie-screensaver-command -q"} | grep 'The screensaver is inactive'") - machine.sleep(2) + machine.succeed("su - ${user.name} -c '${env} budgie-control-center >&2 &'") + machine.wait_until_succeeds("su - ${user.name} -c '${env} wlrctl toplevel list | grep org.buddiesofbudgie.ControlCenter'") + machine.wait_for_text("Network|Ethernet|Control|Connected") with subtest("Open GNOME terminal"): - machine.succeed("${su "gnome-terminal"}") - machine.wait_for_window("${user.name}@machine: ~") + machine.succeed("su - ${user.name} -c '${env} gnome-terminal >&2 &'") + machine.wait_until_succeeds("su - ${user.name} -c '${env} wlrctl toplevel list | grep ${user.name}@machine'") + + with subtest("Check if labwc bridge is working"): + machine.wait_until_succeeds("cat /home/${user.name}/.config/budgie-desktop/labwc/rc.xml | grep Qogir") with subtest("Check if Budgie has ever coredumped"): machine.fail("coredumpctl --json=short | grep budgie") diff --git a/pkgs/by-name/bu/budgie-analogue-clock-applet/package.nix b/pkgs/by-name/bu/budgie-analogue-clock-applet/package.nix index d050b32d7ff1..67a757efa13d 100644 --- a/pkgs/by-name/bu/budgie-analogue-clock-applet/package.nix +++ b/pkgs/by-name/bu/budgie-analogue-clock-applet/package.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "budgie-analogue-clock-applet"; - version = "2.2"; + version = "2.2-unstable-2026-01-13"; src = fetchFromGitHub { owner = "samlane-ma"; repo = "analogue-clock-applet"; - rev = "v${finalAttrs.version}"; - hash = "sha256-8kqDEzcUqg/TvwpazYQt1oQDVC00fOxFLVsKYMDuV9I="; + rev = "22b04faeea8f95eb83ad96ae89529560811d76d9"; + hash = "sha256-8ZFExgE1aJ8XN4+ugSzI34UjdPHbtbhJ+3xetcLZ6sg="; }; nativeBuildInputs = [ @@ -38,18 +38,6 @@ stdenv.mkDerivation (finalAttrs: { libpeas2 ]; - postPatch = '' - # https://github.com/samlane-ma/analogue-clock-applet/issues/7 - substituteInPlace budgie-analogue-clock-widget/src/meson.build \ - --replace-fail "dependency('budgie-raven-plugin-1.0')" "dependency('budgie-raven-plugin-2.0')" - ''; - - mesonFlags = [ - # The meson option actually enables libpeas2 support - # https://github.com/BuddiesOfBudgie/budgie-desktop/issues/749 - "-Dfor-wayland=true" - ]; - passthru = { updateScript = nix-update-script { }; }; diff --git a/pkgs/by-name/bu/budgie-control-center/introduction.list b/pkgs/by-name/bu/budgie-control-center/introduction.list new file mode 100644 index 000000000000..520e673a2c03 --- /dev/null +++ b/pkgs/by-name/bu/budgie-control-center/introduction.list @@ -0,0 +1,5 @@ +# Introduction panel default applications +# This file contains full paths to .desktop files to display +# Lines starting with # are comments +@wdisplays@/share/applications/network.cycles.wdisplays.desktop +@budgie_desktop@/share/applications/org.buddiesofbudgie.BudgieDesktopSettings.desktop diff --git a/pkgs/by-name/bu/budgie-control-center/package.nix b/pkgs/by-name/bu/budgie-control-center/package.nix index 1dc34f6398af..341af1c971dc 100644 --- a/pkgs/by-name/bu/budgie-control-center/package.nix +++ b/pkgs/by-name/bu/budgie-control-center/package.nix @@ -4,11 +4,8 @@ fetchFromGitHub, replaceVars, accountsservice, - adwaita-icon-theme, budgie-desktop, cheese, - clutter, - clutter-gtk, colord, colord-gtk, cups, @@ -25,14 +22,11 @@ gnome-bluetooth_1_0, gnome-color-manager, gnome-desktop, - gnome-remote-desktop, gnome-settings-daemon, - gnome-user-share, gsettings-desktop-schemas, gsound, gtk3, ibus, - libcanberra-gtk3, libepoxy, libgnomekbd, libgtop, @@ -49,7 +43,6 @@ libxslt, meson, modemmanager, - mutter, networkmanager, networkmanagerapplet, ninja, @@ -63,21 +56,30 @@ tzdata, udisks, upower, + wdisplays, webp-pixbuf-loader, wrapGAppsHook3, enableSshSocket ? false, }: +let + introduction_list = ( + replaceVars ./introduction.list { + budgie_desktop = budgie-desktop; + inherit wdisplays; + } + ); +in stdenv.mkDerivation (finalAttrs: { pname = "budgie-control-center"; - version = "1.4.1"; + version = "2.1.0"; src = fetchFromGitHub { owner = "BuddiesOfBudgie"; repo = "budgie-control-center"; tag = "v${finalAttrs.version}"; fetchSubmodules = true; - hash = "sha256-Je3X1V4U2t0LMxWwtoYZKEI56IS4zK/w6OL615tqKkk="; + hash = "sha256-sdAzReZVAZ5omLOhly/l3buiw01eem+k9+3RbVPzS2g="; }; patches = [ @@ -106,8 +108,6 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ accountsservice - clutter - clutter-gtk colord colord-gtk fontconfig @@ -117,18 +117,13 @@ stdenv.mkDerivation (finalAttrs: { glib-networking gnome-desktop gst_all_1.gstreamer - adwaita-icon-theme cheese gnome-bluetooth_1_0 - gnome-remote-desktop gnome-settings-daemon - gnome-user-share - mutter gsettings-desktop-schemas gsound gtk3 ibus - libcanberra-gtk3 libepoxy libgtop libgudev @@ -137,7 +132,6 @@ stdenv.mkDerivation (finalAttrs: { libnma libpulseaudio libpwquality - librsvg libsecret libwacom libxml2 @@ -167,6 +161,8 @@ stdenv.mkDerivation (finalAttrs: { ]; } }" + + install -Dm644 ${introduction_list} $out/share/budgie-control-center/introduction/introduction.list ''; preFixup = '' @@ -176,18 +172,11 @@ stdenv.mkDerivation (finalAttrs: { # Thumbnailers (for setting user profile pictures) --prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share" --prefix XDG_DATA_DIRS : "${librsvg}/share" - # WM keyboard shortcuts - --prefix XDG_DATA_DIRS : "${mutter}/share" ) ''; separateDebugInfo = true; - # Fix GCC 14 build. - # cc-display-panel.c:962:41: error: passing argument 1 of 'gtk_widget_set_sensitive' - # from incompatible pointer type [-Wincompatible-pointer-types] - env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types"; - passthru = { tests.version = testers.testVersion { package = finalAttrs.finalPackage; }; updateScript = nix-update-script { }; diff --git a/pkgs/by-name/bu/budgie-desktop-services/package.nix b/pkgs/by-name/bu/budgie-desktop-services/package.nix new file mode 100644 index 000000000000..4bf24d317998 --- /dev/null +++ b/pkgs/by-name/bu/budgie-desktop-services/package.nix @@ -0,0 +1,50 @@ +{ + stdenv, + lib, + fetchFromGitea, + cmake, + kdePackages, + qt6, + toml11, + buildPackages, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "budgie-desktop-services"; + version = "1.0.2"; + + src = fetchFromGitea { + domain = "forge.moderndesktop.dev"; + owner = "BuddiesOfBudgie"; + repo = "budgie-desktop-services"; + tag = finalAttrs.version; + hash = "sha256-YOa2pUePp33d1xKF7HrBX2EkjEQsRmzoiJMq72fl3CE="; + }; + + nativeBuildInputs = [ + cmake + kdePackages.extra-cmake-modules + qt6.wrapQtAppsHook + ]; + + buildInputs = [ + kdePackages.kwayland + qt6.qtbase + toml11 + ]; + + postPatch = '' + substituteInPlace cmake/ECMFindModuleHelpersStub.cmake --replace-fail \ + '/usr/share/ECM/modules//ECMFindModuleHelpers.cmake' \ + '${buildPackages.kdePackages.extra-cmake-modules}/share/ECM/modules/ECMFindModuleHelpers.cmake' + ''; + + meta = { + description = "Future central hub and orchestrator for Budgie Desktop"; + mainProgram = "org.buddiesofbudgie.Services"; + homepage = "https://forge.moderndesktop.dev/BuddiesOfBudgie/budgie-desktop-services"; + license = lib.licenses.mpl20; + teams = [ lib.teams.budgie ]; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/by-name/bu/budgie-desktop-view/package.nix b/pkgs/by-name/bu/budgie-desktop-view/package.nix index f59d65b5d73e..3256db4b1240 100644 --- a/pkgs/by-name/bu/budgie-desktop-view/package.nix +++ b/pkgs/by-name/bu/budgie-desktop-view/package.nix @@ -5,7 +5,9 @@ desktop-file-utils, glib, gtk3, + gtk-layer-shell, intltool, + libxfce4windowing, meson, ninja, nix-update-script, @@ -16,13 +18,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "budgie-desktop-view"; - version = "1.3"; + version = "10.10.1"; src = fetchFromGitHub { owner = "BuddiesOfBudgie"; repo = "budgie-desktop-view"; rev = "v${finalAttrs.version}"; - hash = "sha256-k6VfAGWvUarhBFnREasOvWH3M9uuT5SFUpMFmKo1fmE="; + hash = "sha256-ro+/Aqsyr9py3SEdsRg+eiQLDkFI0wI4MMdCyH02E3U="; }; nativeBuildInputs = [ @@ -38,6 +40,8 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ glib gtk3 + gtk-layer-shell + libxfce4windowing ]; mesonFlags = [ (lib.mesonBool "werror" false) ]; diff --git a/pkgs/by-name/bu/budgie-desktop/package.nix b/pkgs/by-name/bu/budgie-desktop/package.nix index 29e729bfa3d3..0eb71d8165a3 100644 --- a/pkgs/by-name/bu/budgie-desktop/package.nix +++ b/pkgs/by-name/bu/budgie-desktop/package.nix @@ -4,58 +4,61 @@ fetchFromGitHub, accountsservice, alsa-lib, - budgie-screensaver, + budgie-desktop-services, + budgie-session, docbook-xsl-nons, glib, gnome-desktop, gnome-settings-daemon, gobject-introspection, - graphene, gst_all_1, gtk-doc, gtk3, + gtk-layer-shell, ibus, intltool, libcanberra-gtk3, libgee, - libGL, - libgudev, libnotify, libpeas2, libpulseaudio, libuuid, libwacom, libwnck, - magpie, - libgbm, + libxfce4windowing, meson, mutter, ninja, nix-update-script, - nixosTests, pkg-config, - polkit, + python3, sassc, testers, - udev, upower, vala, validatePkgConfig, - libxfce4windowing, wrapGAppsHook3, - zenity, }: +let + pythonEnv = python3.withPackages ( + pp: with pp; [ + psutil + pygobject3 + systemd-python + ] + ); +in stdenv.mkDerivation (finalAttrs: { pname = "budgie-desktop"; - version = "10.9.4"; + version = "10.10.1"; src = fetchFromGitHub { owner = "BuddiesOfBudgie"; repo = "budgie-desktop"; tag = "v${finalAttrs.version}"; fetchSubmodules = true; - hash = "sha256-e1kkmzSYX8TwiY0IIZYIK/FgMbZ/8PqkUn8pk3CcXHU="; + hash = "sha256-6SRnub0FMRE9AcHwsnYH4WMdG2kqEpl5dfHy56FwrGU="; }; outputs = [ @@ -76,6 +79,7 @@ stdenv.mkDerivation (finalAttrs: { meson ninja pkg-config + sassc vala validatePkgConfig wrapGAppsHook3 @@ -84,54 +88,50 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ accountsservice alsa-lib - budgie-screensaver glib gnome-desktop gnome-settings-daemon - mutter - zenity - graphene gst_all_1.gstreamer gst_all_1.gst-plugins-base gtk3 + gtk-layer-shell ibus libcanberra-gtk3 libgee - libGL - libgudev libnotify libpulseaudio libuuid libwacom libwnck - magpie - libgbm - polkit - sassc - udev - upower libxfce4windowing + mutter # org.gnome.mutter.keybindings + pythonEnv + upower ]; propagatedBuildInputs = [ - # budgie-1.0.pc, budgie-raven-plugin-1.0.pc + # budgie-3.0.pc, budgie-raven-plugin-3.0.pc libpeas2 ]; mesonFlags = [ - # FIXME: The meson option name is confusing - # https://github.com/BuddiesOfBudgie/budgie-desktop/pull/739#discussion_r2359421711 - "-Dbsd-libexecdir=${gnome-settings-daemon}/libexec" + "-Dgsd-libexecdir=${gnome-settings-daemon}/libexec" + "-Dwith-runtime-dependencies=false" ]; + postPatch = '' + substituteInPlace src/session/budgie-desktop.in \ + --replace-fail "@bindir@/org.buddiesofbudgie.Services" "${lib.getExe budgie-desktop-services}" \ + --replace-fail "@gsd_libexecdir@/budgie-session-compositor-ready" "${budgie-session}/libexec/budgie-session-compositor-ready" + + chmod +x src/bridges/labwc/labwc_bridge.py + substituteInPlace src/bridges/labwc/org.buddiesofbudgie.labwc-bridge.desktop.in \ + --replace-fail "Exec=python3 @libexecdir@/labwc_bridge.py" "Exec=@libexecdir@/labwc_bridge.py" + ''; + passthru = { providedSessions = [ "budgie-desktop" ]; - - tests = { - inherit (nixosTests) budgie; - pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; }; - }; - + tests.pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; }; updateScript = nix-update-script { }; }; @@ -147,8 +147,8 @@ stdenv.mkDerivation (finalAttrs: { teams = [ lib.teams.budgie ]; platforms = lib.platforms.linux; pkgConfigModules = [ - "budgie-2.0" - "budgie-raven-plugin-2.0" + "budgie-3.0" + "budgie-raven-plugin-3.0" "budgie-theme-1.0" ]; }; diff --git a/pkgs/by-name/bu/budgie-screensaver/package.nix b/pkgs/by-name/bu/budgie-screensaver/package.nix deleted file mode 100644 index 59c6b9dbbe44..000000000000 --- a/pkgs/by-name/bu/budgie-screensaver/package.nix +++ /dev/null @@ -1,81 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - dbus-glib, - glib, - gnome-desktop, - gtk3, - intltool, - libgnomekbd, - libX11, - linux-pam, - meson, - ninja, - nix-update-script, - pkg-config, - systemd, - testers, - wrapGAppsHook3, - libxxf86vm, -}: - -stdenv.mkDerivation (finalAttrs: { - pname = "budgie-screensaver"; - version = "5.1.0"; - - src = fetchFromGitHub { - owner = "BuddiesOfBudgie"; - repo = "budgie-screensaver"; - rev = "v${finalAttrs.version}"; - hash = "sha256-N8x9hdbaMDisTbQPJedNO4UMLnCn+Q2hhm4udJZgQlc="; - }; - - outputs = [ - "out" - "man" - ]; - - nativeBuildInputs = [ - intltool - meson - ninja - pkg-config - wrapGAppsHook3 - ]; - - buildInputs = [ - dbus-glib - glib - gnome-desktop - gtk3 - libgnomekbd - libX11 - linux-pam - systemd - libxxf86vm - ]; - - # Fix GCC 14 build. - # https://hydra.nixos.org/build/282164464/nixlog/3 - env.NIX_CFLAGS_COMPILE = "-D_POSIX_C_SOURCE -Wno-error=implicit-function-declaration"; - - passthru = { - tests.version = testers.testVersion { - package = finalAttrs.finalPackage; - command = "budgie-screensaver-command --version"; - }; - - updateScript = nix-update-script { }; - }; - - meta = { - description = "Fork of old GNOME Screensaver for purposes of providing an authentication prompt on wake"; - homepage = "https://github.com/BuddiesOfBudgie/budgie-screensaver"; - changelog = "https://github.com/BuddiesOfBudgie/budgie-screensaver/releases/tag/v${finalAttrs.version}"; - license = lib.licenses.gpl2Only; - teams = [ lib.teams.budgie ]; - mainProgram = "budgie-screensaver"; - platforms = lib.platforms.linux; - }; -}) diff --git a/pkgs/by-name/bu/budgie-session/fix-paths.patch b/pkgs/by-name/bu/budgie-session/fix-paths.patch index 1c011d26b549..00e4d772fa3e 100644 --- a/pkgs/by-name/bu/budgie-session/fix-paths.patch +++ b/pkgs/by-name/bu/budgie-session/fix-paths.patch @@ -27,9 +27,9 @@ index 327c7c7f..301ec7ee 100644 @@ -219,7 +219,7 @@ require_dbus_session (int argc, } new_argv[i + 2] = NULL; - + - if (!execvp ("dbus-launch", new_argv)) { + if (!execvp ("@dbusLaunch@", new_argv)) { - g_set_error (error, + g_set_error (error, G_SPAWN_ERROR, G_SPAWN_ERROR_FAILED, diff --git a/pkgs/by-name/bu/budgie-session/package.nix b/pkgs/by-name/bu/budgie-session/package.nix index 307d6febde4a..2aae236f1527 100644 --- a/pkgs/by-name/bu/budgie-session/package.nix +++ b/pkgs/by-name/bu/budgie-session/package.nix @@ -31,13 +31,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "budgie-session"; - version = "0.9.1"; + version = "1.0.0"; src = fetchFromGitHub { owner = "BuddiesOfBudgie"; repo = "budgie-session"; rev = "v${finalAttrs.version}"; - hash = "sha256-mz+Yh3NK2Tag+MWVofFFXYYXspxhmYBD6YCiuATpZSI="; + hash = "sha256-KBNX1jbQ2yv+5rymoB9/w5V3bRZhBdZIJoysp9cNgn4="; }; outputs = [ diff --git a/pkgs/by-name/bu/budgie-systemmonitor-applet/package.nix b/pkgs/by-name/bu/budgie-systemmonitor-applet/package.nix index 462a6daa5bf8..3c6aefe451c5 100644 --- a/pkgs/by-name/bu/budgie-systemmonitor-applet/package.nix +++ b/pkgs/by-name/bu/budgie-systemmonitor-applet/package.nix @@ -5,6 +5,7 @@ fetchFromGitHub, glib, gtk3, + gtk-layer-shell, libgee, libgtop, libpeas2, @@ -43,6 +44,7 @@ stdenv.mkDerivation (finalAttrs: { budgie-desktop glib gtk3 + gtk-layer-shell libgee libgtop libpeas2 @@ -53,7 +55,7 @@ stdenv.mkDerivation (finalAttrs: { # https://github.com/prateekmedia/budgie-systemmonitor-applet/issues/4 substituteInPlace meson.build \ --replace-fail "dependency('libpeas-1.0', version: '>= 1.8.0')" "dependency('libpeas-2')" \ - --replace-fail "dependency('budgie-1.0', version: '>= 2')" "dependency('budgie-2.0')" + --replace-fail "dependency('budgie-1.0', version: '>= 2')" "dependency('budgie-3.0')" ''; passthru = { diff --git a/pkgs/by-name/bu/budgie-user-indicator-redux/package.nix b/pkgs/by-name/bu/budgie-user-indicator-redux/package.nix index 1da60058ec24..b98c03ccff4d 100644 --- a/pkgs/by-name/bu/budgie-user-indicator-redux/package.nix +++ b/pkgs/by-name/bu/budgie-user-indicator-redux/package.nix @@ -5,6 +5,7 @@ accountsservice, budgie-desktop, gtk3, + gtk-layer-shell, intltool, libgee, libpeas2, @@ -39,11 +40,17 @@ stdenv.mkDerivation (finalAttrs: { accountsservice budgie-desktop gtk3 + gtk-layer-shell libgee libpeas2 sassc ]; + postPatch = '' + substituteInPlace meson.build \ + --replace-fail "dependency('budgie-2.0', version: '>= 3')" "dependency('budgie-3.0')" + ''; + passthru = { updateScript = nix-update-script { }; }; diff --git a/pkgs/by-name/ma/magpie/package.nix b/pkgs/by-name/ma/magpie/package.nix deleted file mode 100644 index a63fd4dfff81..000000000000 --- a/pkgs/by-name/ma/magpie/package.nix +++ /dev/null @@ -1,188 +0,0 @@ -{ - fetchFromGitHub, - runCommand, - lib, - fetchpatch, - stdenv, - pkg-config, - gnome-settings-daemon, - gettext, - gobject-introspection, - cairo, - colord, - lcms2, - pango, - json-glib, - libstartup_notification, - libcanberra, - ninja, - xvfb-run, - xkeyboard_config, - libxcvt, - libxkbfile, - libXdamage, - libxkbcommon, - libXtst, - libinput, - libdrm, - libgbm, - gsettings-desktop-schemas, - glib, - gtk3, - gnome-desktop, - pipewire, - libgudev, - libwacom, - mesa-gl-headers, - meson, - nix-update-script, - validatePkgConfig, - xorgserver, - python3, - wrapGAppsHook3, - gi-docgen, - sysprof, - testers, - libsysprof-capture, - desktop-file-utils, - libcap_ng, - graphene, -}: - -stdenv.mkDerivation (finalAttrs: { - pname = "magpie"; - version = "0.9.4"; - - outputs = [ - "out" - "dev" - "devdoc" - ]; - - src = fetchFromGitHub { - owner = "BuddiesOfBudgie"; - repo = "magpie"; - rev = "v${finalAttrs.version}"; - hash = "sha256-a8e0uzbS0HEH/0sOOnwIiQI0/BizKbpdlVdfb3IbmcU="; - }; - - patches = [ - # Fix build with separate sysprof. - # https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2572 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/mutter/-/commit/285a5a4d54ca83b136b787ce5ebf1d774f9499d5.patch"; - hash = "sha256-/npUE3idMSTVlFptsDpZmGWjZ/d2gqruVlJKq4eF4xU="; - }) - ]; - - mesonFlags = [ - "-Degl_device=true" - "-Dprofiler=true" - "-Ddocs=true" - ]; - - propagatedBuildInputs = [ - # required for pkg-config to detect magpie-clutter - json-glib - libXtst - libcap_ng - graphene - mesa-gl-headers - ]; - - nativeBuildInputs = [ - desktop-file-utils - gettext - libxcvt - meson - ninja - xvfb-run - pkg-config - python3 - validatePkgConfig - wrapGAppsHook3 - gi-docgen - xorgserver - ]; - - buildInputs = [ - cairo - glib - gnome-desktop - gnome-settings-daemon - gobject-introspection - gsettings-desktop-schemas - gtk3 - libcanberra - libdrm - libgbm - libgudev - libinput - libstartup_notification - libwacom - libxkbcommon - libxkbfile - libXdamage - colord - lcms2 - pango - pipewire - sysprof # for D-Bus interfaces - libsysprof-capture - xkeyboard_config - ]; - - postPatch = '' - patchShebangs src/backends/native/gen-default-modes.py - # Magpie does not install any .desktop files - substituteInPlace scripts/mesonPostInstall.sh --replace "update-desktop-database" "# update-desktop-database" - - # https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3187 - substituteInPlace meson.build \ - --replace "dependency('sysprof-4')" "dependency('sysprof-6')" - ''; - - postFixup = '' - # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back. - # TODO: Move this into a directory devhelp can find. - moveToOutput "share/magpie-0/doc" "$devdoc" - ''; - - # Install udev files into our own tree. - env.PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev"; - - separateDebugInfo = true; - - passthru = { - libdir = "${finalAttrs.finalPackage}/lib/magpie-0"; - - tests = { - libdirExists = runCommand "magpie-libdir-exists" { } '' - if [[ ! -d ${finalAttrs.finalPackage.libdir} ]]; then - echo "passthru.libdir should contain a directory, “${finalAttrs.finalPackage.libdir}” is not one." - exit 1 - fi - touch $out - ''; - - pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; }; - }; - - updateScript = nix-update-script { }; - }; - - meta = { - description = "Softish fork of Mutter 43.x"; - homepage = "https://github.com/BuddiesOfBudgie/magpie"; - changelog = "https://github.com/BuddiesOfBudgie/magpie/releases/tag/v${finalAttrs.version}"; - license = lib.licenses.gpl2Plus; - teams = [ lib.teams.budgie ]; - platforms = lib.platforms.linux; - pkgConfigModules = [ - "libmagpie-0" - "magpie-clutter-0" - "magpie-cogl-0" - "magpie-cogl-pango-0" - ]; - }; -}) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 3c4c2d26b806..309fcbee2c81 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -391,6 +391,7 @@ mapAliases { brogue = warnAlias "Use 'brogue-ce' instead of 'brogue' for updated releases" brogue-ce; # Added 2025-10-04 btanks = throw "'btanks' has been removed as it's been unmaintained since 2010 and fails to build"; # Added 2025-11-29 buck = throw "'buck' has been removed has it was deprecated and archived upstream. Consider moving to buck2"; # Added 2026-01-16 + budgie-screensaver = throw "'budgie-screensaver' has been removed, no longer used by budgie-desktop."; # Added 2025-11-19 buildBowerComponents = throw "buildBowerComponents has been removed as bower was removed. It is recommended to migrate to yarn."; # Added 2025-09-17 buildGo123Module = throw "Go 1.23 is end-of-life, and 'buildGo123Module' has been removed. Please use a newer builder version."; # Added 2025-08-13 buildPlatform = warnAlias "'buildPlatform' has been renamed to/replaced by 'stdenv.buildPlatform'" stdenv.buildPlatform; # Converted to warning 2025-10-28 @@ -1165,6 +1166,7 @@ mapAliases { MACS2 = throw "'MACS2' has been renamed to/replaced by 'macs2'"; # Converted to throw 2025-10-27 magma_2_6_2 = throw "'magma_2_6_2' has been removed, use the latest 'magma' package instead."; # Added 2025-07-20 magma_2_7_2 = throw "'magma_2_7_2' has been removed, use the latest 'magma' package instead."; # Added 2025-07-20 + magpie = throw "'magpie' has been removed, no longer used by budgie-desktop."; # Added 2025-11-19 mailcore2 = throw "'mailcore2' has been removed due to lack of upstream maintenance."; # Added 2025-06-09 mailnag = throw "mailnag has been removed because it has been marked as broken since 2022."; # Added 2025-10-12 mailnagWithPlugins = throw "mailnagWithPlugins has been removed because mailnag has been marked as broken since 2022."; # Added 2025-10-12