git: 1ccad74cc8c1 - main - x11/budgie: + Budgie desktop environment.

From: Gleb Popov <arrowd_at_FreeBSD.org>
Date: Sat, 04 Mar 2023 18:18:25 UTC
The branch main has been updated by arrowd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=1ccad74cc8c19d8a0fa0ab573604db5c3484d90d

commit 1ccad74cc8c19d8a0fa0ab573604db5c3484d90d
Author:     Olivier Duchateau <duchateau.olivier@gmail.com>
AuthorDate: 2023-03-04 12:33:36 +0000
Commit:     Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2023-03-04 18:18:16 +0000

    x11/budgie: + Budgie desktop environment.
    
    This is import of complete Budgie desktop, it contains:
    
      - Uses 'budgie.mk' framework
      - Add virtual category (budgie) in `Mk/bsd.port.mk`
      - Meta-port `x11-wm/budgie`
      - New icon theme `x11-themes/tela-icon-theme`
    
    Reviewed by: rene, tcberner, lbartoletti, arrowd
    
    Differential Revision: https://reviews.freebsd.org/D37224
---
 Mk/Scripts/desktop-categories.sh                   |     1 +
 Mk/Uses/budgie.mk                                  |    82 +
 Mk/bsd.port.mk                                     |     2 +-
 deskutils/Makefile                                 |     2 +
 deskutils/budgie-desktop-view/Makefile             |    19 +
 deskutils/budgie-desktop-view/distinfo             |     3 +
 .../budgie-desktop-view/files/patch-meson.build    |    11 +
 .../files/patch-src_budgie__desktop__view.vala     |    15 +
 deskutils/budgie-desktop-view/pkg-descr            |     4 +
 deskutils/budgie-desktop-view/pkg-plist            |    24 +
 deskutils/budgie-trash-applet/Makefile             |    25 +
 deskutils/budgie-trash-applet/distinfo             |     3 +
 deskutils/budgie-trash-applet/pkg-descr            |     3 +
 deskutils/budgie-trash-applet/pkg-plist            |     3 +
 sysutils/Makefile                                  |     1 +
 sysutils/budgie-control-center/Makefile            |    48 +
 sysutils/budgie-control-center/distinfo            |     3 +
 .../budgie-control-center/files/patch-meson.build  |    13 +
 .../files/patch-panels_meson.build                 |    23 +
 .../files/patch-panels_power_cc-power-panel.c      |    27 +
 .../files/patch-panels_printers_pp-host.c          |    11 +
 .../patch-panels_user-accounts_cc-realm-manager.c  |    22 +
 .../files/patch-panels_user-accounts_meson.build   |    12 +
 .../files/patch-shell_cc-panel-loader.c            |    22 +
 .../files/patch-shell_meson.build                  |    12 +
 sysutils/budgie-control-center/pkg-descr           |     4 +
 sysutils/budgie-control-center/pkg-plist           |   208 +
 x11-themes/Makefile                                |     2 +
 x11-themes/budgie-backgrounds/Makefile             |    18 +
 x11-themes/budgie-backgrounds/distinfo             |     3 +
 .../files/patch-scripts_optimizeImage.sh           |    20 +
 x11-themes/budgie-backgrounds/pkg-descr            |     2 +
 x11-themes/budgie-backgrounds/pkg-plist            |    21 +
 x11-themes/tela-icon-theme/Makefile                |    43 +
 x11-themes/tela-icon-theme/distinfo                |     3 +
 .../tela-icon-theme/files/patch-src_index.theme    |    11 +
 x11-themes/tela-icon-theme/pkg-descr               |     1 +
 x11-themes/tela-icon-theme/pkg-plist               | 25323 +++++++++++++++++++
 x11/Makefile                                       |     3 +
 x11/budgie-desktop/Makefile                        |    79 +
 x11/budgie-desktop/distinfo                        |     3 +
 ...ddiesofbudgie-default-settings.gschema.override |    35 +
 x11/budgie-desktop/files/patch-data_meson.build    |    11 +
 .../files/patch-src_appindexer_Application.vala    |    29 +
 .../files/patch-src_appindexer_meson.build         |    12 +
 .../files/patch-src_dialogs_power_dbus.vala        |    11 +
 .../files/patch-src_dialogs_power_window.vala      |    23 +
 ...src_panel_applets_budgie-menu_OverlayMenus.vala |    11 +
 ...h-src_panel_applets_budgie-menu_UserButton.vala |    11 +
 .../patch-src_panel_applets_clock_ClockApplet.vala |    13 +
 .../files/patch-src_panel_applets_meson.build      |    15 +
 ...atch-src_panel_applets_status_StatusApplet.vala |    30 +
 .../patch-src_panel_applets_status_meson.build     |    10 +
 ...applets_user-indicator_UserIndicatorWindow.vala |    34 +
 .../patch-src_panel_settings_settings__raven.vala  |    11 +
 .../files/patch-src_session_budgie-desktop.in      |     8 +
 .../files/patch-src_session_meson.build            |    38 +
 ...wm_20__solus-project.budgie.wm.gschema.override |    18 +
 x11/budgie-desktop/files/patch-src_wm_wm.vala      |    32 +
 x11/budgie-desktop/pkg-descr                       |     9 +
 x11/budgie-desktop/pkg-plist                       |   213 +
 x11/budgie-screensaver/Makefile                    |    41 +
 x11/budgie-screensaver/distinfo                    |     3 +
 x11/budgie-screensaver/files/budgie-screensaver.in |     7 +
 .../files/patch-data_meson.build                   |    13 +
 x11/budgie-screensaver/files/patch-meson.build     |    33 +
 .../files/patch-src_gnome-screensaver.c            |    11 +
 .../files/patch-src_gs-auth-pam.c                  |    12 +
 x11/budgie-screensaver/pkg-descr                   |     3 +
 x11/budgie-screensaver/pkg-plist                   |    98 +
 x11/budgie/Makefile                                |    42 +
 x11/budgie/files/pkg-message.in                    |    13 +
 x11/budgie/files/xinitrc.in                        |    13 +
 x11/budgie/files/xprofile.in                       |    80 +
 x11/budgie/pkg-descr                               |     3 +
 x11/budgie/pkg-plist                               |     2 +
 76 files changed, 27082 insertions(+), 1 deletion(-)

diff --git a/Mk/Scripts/desktop-categories.sh b/Mk/Scripts/desktop-categories.sh
index 9283751955e4..8daaf2a6d2d7 100644
--- a/Mk/Scripts/desktop-categories.sh
+++ b/Mk/Scripts/desktop-categories.sh
@@ -23,6 +23,7 @@ for native_category in ${dp_CATEGORIES}; do
 		audio)		c="AudioVideo Audio"			;;
 		benchmarks)	c="System"				;;
 		biology)	c="Education Science Biology"		;;
+		budgie)         c="Budgie GTK"                          ;;
 		cad)		c="Graphics Engineering"		;;
 		comms)		c="Utility"				;;
 		converters)	c="Utility"				;;
diff --git a/Mk/Uses/budgie.mk b/Mk/Uses/budgie.mk
new file mode 100644
index 000000000000..d68beda15d60
--- /dev/null
+++ b/Mk/Uses/budgie.mk
@@ -0,0 +1,82 @@
+# This file provides support for the Budgie Desktop related ports.
+#
+# Feature:      budgie
+# Usage:        USES= budgie
+# Valid ARGS:   does not require args
+#
+# Variable which can be set by the port:
+# USE_BUDGIE=	List of components
+#
+# MAINTAINER: desktop@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_BUDGIE_MK)
+_INCLUDE_USES_BUDGIE_MK=  yes
+
+.  if !empty(budgie_ARGS)
+IGNORE= Incorrect USES+= budgie:${budgie_ARGS} takes no arguments
+.  endif
+
+.  if !defined(USE_GITHUB)
+_BUDGIE_PROJECT=	${DISTNAME:S/-${DISTVERSIONFULL}//:tl}
+
+WRKSRC?=	${WRKDIR}/${PORTNAME}-${DISTVERSION}
+
+MASTER_SITE_BUDGIE+= \
+	https://github.com/BuddiesOfBudgie/%SUBDIR%/releases/download/v${DISTVERSION}/
+MASTER_SITE_BUDGIE_SUBDIR=	${_BUDGIE_PROJECT}
+
+MASTER_SITES?=	${MASTER_SITE_BUDGIE}
+MASTER_SITE_SUBDIR?=	${MASTER_SITE_BUDGIE_SUBDIR}
+
+DIST_SUBDIR?=	budgie
+.  endif
+
+PLIST_SUB+=	BUDGIE_PLUGINSDIR="lib/budgie-desktop/plugins" \
+		RAVEN_PLUGINSDIR="lib/budgie-desktop/raven-plugins"
+
+# Available Budgie components are:
+_USE_BUDGIE_ALL= libbudgie raven screensaver
+
+libbudgie_LIB_DEPENDS=		libbudgie-plugin.so:x11/budgie-desktop
+
+raven_LIB_DEPENDS=		libraven.so:x11/budgie-desktop
+raven_RUN_DEPENDS=		budgie-desktop>0:x11/budgie-desktop
+
+screensaver_BUILD_DEPENDS=	budgie-screensaver:x11/budgie-screensaver
+screensaver_RUN_DEPENDS=	budgie-screensaver>0:x11/budgie-screensaver
+
+.  if defined(USE_BUDGIE)
+
+.    for comp in ${USE_BUDGIE:C/^([^:]+).*/\1/}
+.      if empty(_USE_BUDGIE_ALL:M${comp})
+IGNORE= cannot install: Unknown component ${comp}
+.      else
+_USE_BUDGIE+= ${comp}
+.      endif
+.    endfor
+
+# Remove duplicate components
+USE_BUDGIE=   ${_USE_BUDGIE:O:u}
+
+.    for comp in ${USE_BUDGIE}
+.      if ${USE_BUDGIE:M${comp}\:build} && defined(${comp}_BUILD_DEPENDS)
+BUILD_DEPENDS+= ${${comp}_BUILD_DEPENDS}
+.      elif ${USE_BUDGIE:M${comp}\:run} && defined(${comp}_RUN_DEPENDS)
+RUN_DEPENDS+= ${${comp}_RUN_DEPENDS}
+.      else
+.        if defined(${comp}_LIB_DEPENDS)
+LIB_DEPENDS+= ${${comp}_LIB_DEPENDS}
+.        else
+BUILD_DEPENDS+= ${${comp}_BUILD_DEPENDS}
+RUN_DEPENDS+= ${${comp}_RUN_DEPENDS}
+.        endif
+.      endif
+.    endfor
+
+.  endif # end of defined(USE_BUDGIE)
+
+.endif # end of !defined(_INCLUDE_USES_BUDGIE_MK)
+
+.if defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_BUDGIE_POST_MK)
+_INCLUDE_USES_BUDGIE_POST_MK= yes
+.endif
diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk
index 47bdf9a49b18..e49c33816e47 100644
--- a/Mk/bsd.port.mk
+++ b/Mk/bsd.port.mk
@@ -2559,7 +2559,7 @@ check-categories:
 .    else
 
 VALID_CATEGORIES+= accessibility afterstep arabic archivers astro audio \
-	benchmarks biology cad chinese comms converters \
+	benchmarks biology budgie cad chinese comms converters \
 	databases deskutils devel dns docs \
 	editors education elisp emulators enlightenment finance french ftp \
 	games geography german gnome gnustep graphics \
diff --git a/deskutils/Makefile b/deskutils/Makefile
index 8848397fb8f3..8afb5fd99c03 100644
--- a/deskutils/Makefile
+++ b/deskutils/Makefile
@@ -19,6 +19,8 @@
     SUBDIR += bijiben
     SUBDIR += birdtray
     SUBDIR += bookworm
+    SUBDIR += budgie-desktop-view
+    SUBDIR += budgie-trash-applet
     SUBDIR += cairo-dock
     SUBDIR += cairo-dock-plugins
     SUBDIR += caja-extensions
diff --git a/deskutils/budgie-desktop-view/Makefile b/deskutils/budgie-desktop-view/Makefile
new file mode 100644
index 000000000000..9e2ce48bcf76
--- /dev/null
+++ b/deskutils/budgie-desktop-view/Makefile
@@ -0,0 +1,19 @@
+PORTNAME=	budgie-desktop-view
+DISTVERSION=	1.2.1
+DISTVERSIONPREFIX=	v
+CATEGORIES=	deskutils budgie
+MASTER_SITES=	BUDGIE
+
+MAINTAINER=	duchateau.olivier@gmail.com
+COMMENT=	Budgie desktop icons application / implementation
+WWW=		https://github.com/BuddiesOfBudgie/budgie-desktop-view
+
+LICENSE=	APACHE20
+
+USES=		budgie gettext gnome meson pkgconfig tar:xz vala:build
+USE_BUDGIE=	raven:run
+USE_GNOME=	glib20 gtk30 gdkpixbuf2 intltool
+
+GLIB_SCHEMAS=	org.buddiesofbudgie.budgie-desktop-view.gschema.xml
+
+.include <bsd.port.mk>
diff --git a/deskutils/budgie-desktop-view/distinfo b/deskutils/budgie-desktop-view/distinfo
new file mode 100644
index 000000000000..820282992eb4
--- /dev/null
+++ b/deskutils/budgie-desktop-view/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1675531504
+SHA256 (budgie/budgie-desktop-view-v1.2.1.tar.xz) = 045d5ed7586fc26bbee82df31369b5ddbe30b5f0d7f11486210f3e14ccbfd536
+SIZE (budgie/budgie-desktop-view-v1.2.1.tar.xz) = 273264
diff --git a/deskutils/budgie-desktop-view/files/patch-meson.build b/deskutils/budgie-desktop-view/files/patch-meson.build
new file mode 100644
index 000000000000..272db9c221fe
--- /dev/null
+++ b/deskutils/budgie-desktop-view/files/patch-meson.build
@@ -0,0 +1,11 @@
+--- meson.build.orig	2022-03-06 16:37:45 UTC
++++ meson.build
+@@ -75,7 +75,7 @@ if xdg_appdir == ''
+ 	if with_stateless == true
+ 		xdg_appdir = join_paths(datadir, 'xdg', 'autostart')
+ 	else
+-		xdg_appdir = join_paths(get_option('sysconfdir'), 'xdg', 'autostart')
++		xdg_appdir = join_paths(confdir, 'xdg', 'autostart')
+ 	endif
+ endif
+ 
diff --git a/deskutils/budgie-desktop-view/files/patch-src_budgie__desktop__view.vala b/deskutils/budgie-desktop-view/files/patch-src_budgie__desktop__view.vala
new file mode 100644
index 000000000000..c91310e281d6
--- /dev/null
+++ b/deskutils/budgie-desktop-view/files/patch-src_budgie__desktop__view.vala
@@ -0,0 +1,15 @@
+In GLib, we use the kqueue backend, and GLib.FileMonitorFlags.WATCH_MOVES
+enum is not available for us. If we send something in trash bin, icon is not
+updated (despite right signal).
+
+--- src/budgie_desktop_view.vala.orig	2022-03-06 16:37:45 UTC
++++ src/budgie_desktop_view.vala
+@@ -123,7 +123,7 @@ public class DesktopView : Gtk.ApplicationWindow {
+ 		desktop_file = File.new_for_path(desktop_file_uri); // Get the Desktop folder "file"
+ 
+ 		try {
+-			desktop_monitor = desktop_file.monitor(FileMonitorFlags.WATCH_MOVES, null); // Create our file monitor
++			desktop_monitor = desktop_file.monitor(FileMonitorFlags.NONE, null); // Create our file monitor
+ 			desktop_monitor.changed.connect(on_file_changed); // Bind to our file changed event
+ 		} catch (Error e) {
+ 			warning("Failed to obtain a monitor for file changes to the Desktop folder. Will not be able to watch for changes: %s", e.message);
diff --git a/deskutils/budgie-desktop-view/pkg-descr b/deskutils/budgie-desktop-view/pkg-descr
new file mode 100644
index 000000000000..7ec514f2507d
--- /dev/null
+++ b/deskutils/budgie-desktop-view/pkg-descr
@@ -0,0 +1,4 @@
+Budgie Desktop View provides quick access to the content and
+applications you consider most important. It is not designed
+to replace your file manager or to perform typical file manager
+actions.
diff --git a/deskutils/budgie-desktop-view/pkg-plist b/deskutils/budgie-desktop-view/pkg-plist
new file mode 100644
index 000000000000..fca049c88924
--- /dev/null
+++ b/deskutils/budgie-desktop-view/pkg-plist
@@ -0,0 +1,24 @@
+bin/org.buddiesofbudgie.budgie-desktop-view
+etc/xdg/autostart/org.buddiesofbudgie.budgie-desktop-view-autostart.desktop
+share/applications/org.buddiesofbudgie.budgie-desktop-view.desktop
+share/locale/cs/LC_MESSAGES/budgie-desktop-view.mo
+share/locale/en_GB/LC_MESSAGES/budgie-desktop-view.mo
+share/locale/en_US/LC_MESSAGES/budgie-desktop-view.mo
+share/locale/es/LC_MESSAGES/budgie-desktop-view.mo
+share/locale/es_MX/LC_MESSAGES/budgie-desktop-view.mo
+share/locale/fr/LC_MESSAGES/budgie-desktop-view.mo
+share/locale/he/LC_MESSAGES/budgie-desktop-view.mo
+share/locale/ja/LC_MESSAGES/budgie-desktop-view.mo
+share/locale/ja_JP/LC_MESSAGES/budgie-desktop-view.mo
+share/locale/ko/LC_MESSAGES/budgie-desktop-view.mo
+share/locale/lt/LC_MESSAGES/budgie-desktop-view.mo
+share/locale/ms_MY/LC_MESSAGES/budgie-desktop-view.mo
+share/locale/pt_BR/LC_MESSAGES/budgie-desktop-view.mo
+share/locale/pt_PT/LC_MESSAGES/budgie-desktop-view.mo
+share/locale/ru/LC_MESSAGES/budgie-desktop-view.mo
+share/locale/sq/LC_MESSAGES/budgie-desktop-view.mo
+share/locale/tr/LC_MESSAGES/budgie-desktop-view.mo
+share/locale/uk/LC_MESSAGES/budgie-desktop-view.mo
+share/locale/vi_VN/LC_MESSAGES/budgie-desktop-view.mo
+share/locale/zh/LC_MESSAGES/budgie-desktop-view.mo
+share/locale/zh_CN/LC_MESSAGES/budgie-desktop-view.mo
diff --git a/deskutils/budgie-trash-applet/Makefile b/deskutils/budgie-trash-applet/Makefile
new file mode 100644
index 000000000000..e5f17eddcb2e
--- /dev/null
+++ b/deskutils/budgie-trash-applet/Makefile
@@ -0,0 +1,25 @@
+PORTNAME=	budgie-trash-applet
+DISTVERSION=	2.1.2
+DISTVERSIONPREFIX=	v
+CATEGORIES=	deskutils budgie
+
+MAINTAINER=	duchateau.olivier@gmail.com
+COMMENT=	Trash applet for the Budgie desktop
+WWW=		https://github.com/EbonJaeger/budgie-trash-applet
+
+LICENSE=	APACHE20
+
+BUILD_DEPENDS=	sassc:textproc/sassc
+LIB_DEPENDS=	libnotify.so:devel/libnotify \
+		libpeas-1.0.so:devel/libpeas
+
+USES=		budgie gettext gnome meson pkgconfig
+USE_BUDGIE=	libbudgie
+USE_GNOME=	glib20 gtk30
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	EbonJaeger
+
+GLIB_SCHEMAS=	com.github.ebonjaeger.budgie-trash-applet.gschema.xml
+
+.include <bsd.port.mk>
diff --git a/deskutils/budgie-trash-applet/distinfo b/deskutils/budgie-trash-applet/distinfo
new file mode 100644
index 000000000000..a6c7bc03c065
--- /dev/null
+++ b/deskutils/budgie-trash-applet/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1669663059
+SHA256 (EbonJaeger-budgie-trash-applet-v2.1.2_GH0.tar.gz) = bc2291e04bb0a72d3482f6d84aae06b54281b576b701e66ca64bb27a35f18374
+SIZE (EbonJaeger-budgie-trash-applet-v2.1.2_GH0.tar.gz) = 123026
diff --git a/deskutils/budgie-trash-applet/pkg-descr b/deskutils/budgie-trash-applet/pkg-descr
new file mode 100644
index 000000000000..953059acb95f
--- /dev/null
+++ b/deskutils/budgie-trash-applet/pkg-descr
@@ -0,0 +1,3 @@
+Manage items in your trash bin right from the Budgie panel. View,
+delete, or restore trashed files and folders without having to open
+your file manager.
diff --git a/deskutils/budgie-trash-applet/pkg-plist b/deskutils/budgie-trash-applet/pkg-plist
new file mode 100644
index 000000000000..db66b08d0ad8
--- /dev/null
+++ b/deskutils/budgie-trash-applet/pkg-plist
@@ -0,0 +1,3 @@
+%%BUDGIE_PLUGINSDIR%%/com.github.EbonJaeger.budgie-trash-applet/TrashApplet.plugin
+%%BUDGIE_PLUGINSDIR%%/com.github.EbonJaeger.budgie-trash-applet/libtrashapplet.so
+share/metainfo/com.github.ebonjaeger.budgie-trash-applet.appdata.xml
diff --git a/sysutils/Makefile b/sysutils/Makefile
index cc50c24396e7..f3945a327b49 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -150,6 +150,7 @@
     SUBDIR += bstack
     SUBDIR += btop
     SUBDIR += btsixad
+    SUBDIR += budgie-control-center
     SUBDIR += buildah
     SUBDIR += bulk_extractor
     SUBDIR += bupstash
diff --git a/sysutils/budgie-control-center/Makefile b/sysutils/budgie-control-center/Makefile
new file mode 100644
index 000000000000..8c3e2b843753
--- /dev/null
+++ b/sysutils/budgie-control-center/Makefile
@@ -0,0 +1,48 @@
+PORTNAME=	budgie-control-center
+DISTVERSION=	1.2.0
+CATEGORIES=	sysutils budgie
+MASTER_SITES=	BUDGIE
+
+MAINTAINER=	duchateau.olivier@gmail.com
+COMMENT=	Control center for the Budgie desktop
+WWW=		https://github.com/BuddiesOfBudgie/budgie-control-center
+
+LICENSE=	GPLv2+
+
+BUILD_DEPENDS=	gnome-settings-daemon>0:sysutils/gnome-settings-daemon \
+		gsettings-desktop-schemas>0:devel/gsettings-desktop-schemas
+LIB_DEPENDS=	libhandy-1.so:x11-toolkits/libhandy \
+		libaccountsservice.so:sysutils/accountsservice \
+		libcolord.so:graphics/colord \
+		libcolord-gtk.so:graphics/colord-gtk \
+		libgoa-1.0.so:net/gnome-online-accounts \
+		libpulse.so:audio/pulseaudio \
+		libupower-glib.so:sysutils/upower \
+		libepoxy.so:graphics/libepoxy \
+		libgcr-base-3.so:security/gcr \
+		libgudev-1.0.so:devel/libgudev \
+		libpwquality.so:security/libpwquality \
+		libpolkit-gobject-1.so:sysutils/polkit \
+		libcups.so:print/cups \
+		libibus-1.0.so:textproc/ibus \
+		libudisks2.so:sysutils/libudisks \
+		libgtop-2.0.so:devel/libgtop \
+		libfontconfig.so:x11-fonts/fontconfig \
+		libsecret-1.so:security/libsecret \
+		libgnutls.so:security/gnutls
+RUN_DEPENDS=	gsettings-desktop-schemas>0:devel/gsettings-desktop-schemas
+
+USES=		budgie compiler:c++11-lib gettext gnome meson \
+		localbase:ldflags pkgconfig samba:lib tar:xz xorg
+USE_GNOME=	cairo gdkpixbuf2 glib20 gnomedesktop3 gtk30 gsound libxml2
+USE_XORG=	x11 xi
+
+MESON_ARGS=	-Dcheese=false
+
+GLIB_SCHEMAS=	org.buddiesofbudgie.ControlCenter.gschema.xml
+
+post-patch:
+	@${REINPLACE_CMD} -e 's|%%PREFIX%%|${LOCALBASE}|' \
+		${WRKSRC}/panels/printers/pp-host.c
+
+.include <bsd.port.mk>
diff --git a/sysutils/budgie-control-center/distinfo b/sysutils/budgie-control-center/distinfo
new file mode 100644
index 000000000000..b51fb490921a
--- /dev/null
+++ b/sysutils/budgie-control-center/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1675531933
+SHA256 (budgie/budgie-control-center-1.2.0.tar.xz) = b72ee32b914795107e3c65b21128cac984e8920aa2e1b2ecc4f6c8fd67be9cc2
+SIZE (budgie/budgie-control-center-1.2.0.tar.xz) = 4938876
diff --git a/sysutils/budgie-control-center/files/patch-meson.build b/sysutils/budgie-control-center/files/patch-meson.build
new file mode 100644
index 000000000000..ba606c8cb53d
--- /dev/null
+++ b/sysutils/budgie-control-center/files/patch-meson.build
@@ -0,0 +1,13 @@
+--- meson.build.orig	2022-09-13 15:10:03 UTC
++++ meson.build
+@@ -241,6 +241,10 @@ config_h.set('BUILD_WWAN', host_is_linux,
+ config_h.set('HAVE_WWAN', host_is_linux,
+              description: 'Define to 1 if WWan is available')
+ 
++# required timedate1 daemon
++config_h.set('BUILD_DATETIME', host_is_linux,
++             description: 'Define to 1 to build the Datetime panel')
++
+ if host_is_linux_not_s390
+   # gnome-bluetooth
+   gnome_bluetooth_dep = dependency('gnome-bluetooth-1.0', version: '>= 3.18.2')
diff --git a/sysutils/budgie-control-center/files/patch-panels_meson.build b/sysutils/budgie-control-center/files/patch-panels_meson.build
new file mode 100644
index 000000000000..e1e6172e9c9c
--- /dev/null
+++ b/sysutils/budgie-control-center/files/patch-panels_meson.build
@@ -0,0 +1,23 @@
+--- panels/meson.build.orig	2022-09-13 15:10:03 UTC
++++ panels/meson.build
+@@ -5,7 +5,6 @@ panels = [
+   'background',
+   'camera',
+   'color',
+-  'datetime',
+   'default-apps',
+   'diagnostics',
+   'display',
+@@ -26,11 +25,10 @@ panels = [
+   'universal-access',
+   'usage',
+   'user-accounts',
+-  'wwan',
+ ]
+ 
+ if host_is_linux
+-  panels += ['network']
++  panels += ['network', 'datetime']
+ endif
+ 
+ if host_is_linux_not_s390
diff --git a/sysutils/budgie-control-center/files/patch-panels_power_cc-power-panel.c b/sysutils/budgie-control-center/files/patch-panels_power_cc-power-panel.c
new file mode 100644
index 000000000000..a338adebee8e
--- /dev/null
+++ b/sysutils/budgie-control-center/files/patch-panels_power_cc-power-panel.c
@@ -0,0 +1,27 @@
+--- panels/power/cc-power-panel.c.orig	2022-09-13 15:10:03 UTC
++++ panels/power/cc-power-panel.c
+@@ -903,9 +903,9 @@ can_suspend_or_hibernate (CcPowerPanel *self,
+     }
+ 
+   variant = g_dbus_connection_call_sync (connection,
+-                                         "org.freedesktop.login1",
+-                                         "/org/freedesktop/login1",
+-                                         "org.freedesktop.login1.Manager",
++                                         "org.freedesktop.ConsoleKit",
++                                         "/org/freedesktop/ConsoleKit/Manager",
++                                         "org.freedesktop.ConsoleKit.Manager",
+                                          method_name,
+                                          NULL,
+                                          NULL,
+@@ -1619,9 +1619,9 @@ cc_power_panel_init (CcPowerPanel *self)
+   setup_power_profiles (self);
+ 
+   setup_power_saving (self);
+-  g_settings_bind (self->gsd_settings, "power-saver-profile-on-low-battery",
++  /*g_settings_bind (self->gsd_settings, "power-saver-profile-on-low-battery",
+                    self->power_saver_low_battery_switch, "active",
+-                   G_SETTINGS_BIND_DEFAULT);
++                   G_SETTINGS_BIND_DEFAULT);*/
+ 
+   setup_general_section (self);
+ 
diff --git a/sysutils/budgie-control-center/files/patch-panels_printers_pp-host.c b/sysutils/budgie-control-center/files/patch-panels_printers_pp-host.c
new file mode 100644
index 000000000000..358505911bfb
--- /dev/null
+++ b/sysutils/budgie-control-center/files/patch-panels_printers_pp-host.c
@@ -0,0 +1,11 @@
+--- panels/printers/pp-host.c.orig	2022-09-13 15:10:03 UTC
++++ panels/printers/pp-host.c
+@@ -256,7 +256,7 @@ _pp_host_get_snmp_devices_thread (GTask        *task,
+   devices = g_ptr_array_new_with_free_func (g_object_unref);
+ 
+   argv = g_new0 (gchar *, 3);
+-  argv[0] = g_strdup ("/usr/lib/cups/backend/snmp");
++  argv[0] = g_strdup ("%%PREFIX%%/libexec/cups/backend/snmp");
+   argv[1] = g_strdup (priv->hostname);
+ 
+   /* Use SNMP to get printer's informations */
diff --git a/sysutils/budgie-control-center/files/patch-panels_user-accounts_cc-realm-manager.c b/sysutils/budgie-control-center/files/patch-panels_user-accounts_cc-realm-manager.c
new file mode 100644
index 000000000000..b80ddf3067a0
--- /dev/null
+++ b/sysutils/budgie-control-center/files/patch-panels_user-accounts_cc-realm-manager.c
@@ -0,0 +1,22 @@
+--- panels/user-accounts/cc-realm-manager.c.orig	2022-09-13 15:10:03 UTC
++++ panels/user-accounts/cc-realm-manager.c
+@@ -22,7 +22,7 @@
+ 
+ #include "cc-realm-manager.h"
+ 
+-#include <krb5/krb5.h>
++#include <krb5.h>
+ 
+ #include <glib.h>
+ #include <glib/gi18n.h>
+@@ -637,8 +637,10 @@ login_perform_kinit (krb5_context k5,
+         code = krb5_get_init_creds_opt_alloc (k5, &opts);
+         g_return_val_if_fail (code == 0, code);
+ 
++#ifdef HAVE_KRB5_GET_INIT_CREDS_OPT_SET_OUT_CCACHE
+         code = krb5_get_init_creds_opt_set_out_ccache (k5, opts, ccache);
+         g_return_val_if_fail (code == 0, code);
++#endif
+ 
+         code = krb5_get_init_creds_password (k5, &creds, principal,
+                                              (char *)password,
diff --git a/sysutils/budgie-control-center/files/patch-panels_user-accounts_meson.build b/sysutils/budgie-control-center/files/patch-panels_user-accounts_meson.build
new file mode 100644
index 000000000000..a0301dbf7b2c
--- /dev/null
+++ b/sysutils/budgie-control-center/files/patch-panels_user-accounts_meson.build
@@ -0,0 +1,12 @@
+--- panels/user-accounts/meson.build.orig	2022-09-13 15:10:03 UTC
++++ panels/user-accounts/meson.build
+@@ -168,7 +168,8 @@ sources += gnome.mkenums_simple(
+   sources: files(enum_headers))
+ 
+ # Kerberos support
+-krb_dep = dependency('krb5', required: false)
++#krb_dep = dependency('krb5', required: false)
++krb_dep = cc.find_library('krb5')
+ assert(krb_dep.found(), 'kerberos libraries not found in your path')
+ 
+ deps = common_deps + [
diff --git a/sysutils/budgie-control-center/files/patch-shell_cc-panel-loader.c b/sysutils/budgie-control-center/files/patch-shell_cc-panel-loader.c
new file mode 100644
index 000000000000..892ded14f466
--- /dev/null
+++ b/sysutils/budgie-control-center/files/patch-shell_cc-panel-loader.c
@@ -0,0 +1,22 @@
+--- shell/cc-panel-loader.c.orig	2022-09-13 15:10:03 UTC
++++ shell/cc-panel-loader.c
+@@ -37,7 +37,9 @@ extern GType cc_background_panel_get_type (void);
+ extern GType cc_bluetooth_panel_get_type (void);
+ #endif /* BUILD_BLUETOOTH */
+ extern GType cc_color_panel_get_type (void);
++#ifdef BUILD_DATETIME
+ extern GType cc_date_time_panel_get_type (void);
++#endif /* BUILD_DATETIME */
+ extern GType cc_default_apps_panel_get_type (void);
+ extern GType cc_display_panel_get_type (void);
+ extern GType cc_info_overview_panel_get_type (void);
+@@ -102,7 +104,9 @@ static CcPanelLoaderVtable default_panels[] =
+ #endif
+   //PANEL_TYPE("camera",           cc_camera_panel_get_type,               NULL),
+   PANEL_TYPE("color",            cc_color_panel_get_type,                NULL),
++#ifdef BUILD_DATETIME
+   PANEL_TYPE("datetime",         cc_date_time_panel_get_type,            NULL),
++#endif
+   PANEL_TYPE("default-apps",     cc_default_apps_panel_get_type,         NULL),
+   PANEL_TYPE("diagnostics",      cc_diagnostics_panel_get_type,          cc_diagnostics_panel_static_init_func),
+   PANEL_TYPE("display",          cc_display_panel_get_type,              NULL),
diff --git a/sysutils/budgie-control-center/files/patch-shell_meson.build b/sysutils/budgie-control-center/files/patch-shell_meson.build
new file mode 100644
index 000000000000..a1c778d2369d
--- /dev/null
+++ b/sysutils/budgie-control-center/files/patch-shell_meson.build
@@ -0,0 +1,12 @@
+--- shell/meson.build.orig	2022-09-13 15:10:03 UTC
++++ shell/meson.build
+@@ -129,7 +129,8 @@ executable(
+          dependencies : shell_deps,
+                c_args : cflags,
+             link_with : panels_libs,
+-              install : true
++              install : true,
++              install_rpath : '/usr/lib'
+ )
+ 
+ 
diff --git a/sysutils/budgie-control-center/pkg-descr b/sysutils/budgie-control-center/pkg-descr
new file mode 100644
index 000000000000..3919f8d8fcd8
--- /dev/null
+++ b/sysutils/budgie-control-center/pkg-descr
@@ -0,0 +1,4 @@
+Budgie Control Center is a fork of GNOME Settings / GNOME Control Center
+with the intent of providing a simplified list of settings that are
+applicable to the Budgie 10 series, along with any small quality-of-life
+settings.
diff --git a/sysutils/budgie-control-center/pkg-plist b/sysutils/budgie-control-center/pkg-plist
new file mode 100644
index 000000000000..b22138b9a381
--- /dev/null
+++ b/sysutils/budgie-control-center/pkg-plist
@@ -0,0 +1,208 @@
+bin/budgie-control-center
+libexec/budgie-cc-remote-login-helper
+libexec/budgie-control-center-print-renderer
+share/applications/budgie-applications-panel.desktop
+share/applications/budgie-background-panel.desktop
+share/applications/budgie-camera-panel.desktop
+share/applications/budgie-color-panel.desktop
+share/applications/budgie-control-center.desktop
+share/applications/budgie-default-apps-panel.desktop
+share/applications/budgie-diagnostics-panel.desktop
+share/applications/budgie-display-panel.desktop
+share/applications/budgie-info-overview-panel.desktop
+share/applications/budgie-keyboard-panel.desktop
+share/applications/budgie-location-panel.desktop
+share/applications/budgie-microphone-panel.desktop
+share/applications/budgie-mouse-panel.desktop
+share/applications/budgie-multitasking-panel.desktop
+share/applications/budgie-notifications-panel.desktop
+share/applications/budgie-online-accounts-panel.desktop
+share/applications/budgie-power-panel.desktop
+share/applications/budgie-printers-panel.desktop
+share/applications/budgie-region-panel.desktop
+share/applications/budgie-removable-media-panel.desktop
+share/applications/budgie-sharing-panel.desktop
+share/applications/budgie-sound-panel.desktop
+share/applications/budgie-universal-access-panel.desktop
+share/applications/budgie-usage-panel.desktop
+share/applications/budgie-user-accounts-panel.desktop
+share/bash-completion/completions/budgie-control-center
+%%DATADIR%%/keybindings/00-multimedia.xml
+%%DATADIR%%/keybindings/01-budgie.xml
+%%DATADIR%%/keybindings/01-input-sources.xml
+%%DATADIR%%/keybindings/01-launchers.xml
+%%DATADIR%%/keybindings/01-raven.xml
+%%DATADIR%%/keybindings/01-screenshot.xml
+%%DATADIR%%/keybindings/01-system.xml
+%%DATADIR%%/keybindings/50-accessibility.xml
+%%DATADIR%%/pixmaps/noise-texture-light.png
+share/dbus-1/services/org.buddiesofbudgie.ControlCenter.service
+share/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings-about-symbolic.svg
+share/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings-accessibility-symbolic.svg
+share/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings-appearance-symbolic.svg
+share/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings-applications-symbolic.svg
+share/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings-camera-symbolic.svg
+share/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings-color-symbolic.svg
+share/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings-default-apps-symbolic.svg
+share/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings-diagnostics-symbolic.svg
+share/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings-display-symbolic.svg
+share/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings-file-history-symbolic.svg
+share/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings-keyboard-symbolic.svg
+share/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings-location-symbolic.svg
+share/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings-microphone-symbolic.svg
+share/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings-mouse-symbolic.svg
+share/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings-multitasking-symbolic.svg
+share/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings-notifications-symbolic.svg
+share/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings-online-accounts-symbolic.svg
+share/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings-power-symbolic.svg
+share/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings-printers-symbolic.svg
+share/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings-region-symbolic.svg
+share/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings-removable-media-symbolic.svg
+share/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings-sharing-symbolic.svg
+share/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings-sound-symbolic.svg
+share/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings-users-symbolic.svg
+share/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings.Devel.svg
+share/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings.svg
+share/icons/hicolor/scalable/categories/budgie-slideshow-symbolic.svg
+share/icons/hicolor/scalable/emblems/budgie-slideshow-emblem.svg
+share/icons/hicolor/scalable/status/budgie-info-symbolic.svg
+share/icons/hicolor/symbolic/apps/org.buddiesofbudgie.Settings-symbolic.svg
+share/locale/af/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/an/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/ar/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/as/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/be/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/bg/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/bn_IN/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/bs/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/ca/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/ca@valencia/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/ckb/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/cs/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/da/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/de/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/el/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/en_GB/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/en_US/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/eo/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/es/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/et/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/eu/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/fa/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/fi/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/fr/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/fur/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/gd/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/gl/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/gu/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/he/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/hi/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/hr/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/hu/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/id/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/is/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/it/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/ja/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/kk/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/kn/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/ko/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/lt/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/lv/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/ml/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/mr/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/ms/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/nb/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/ne/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/nl/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/oc/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/or/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/pa/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/pl/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/pt_BR/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/pt_PT/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/ro/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/ru/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/sl/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/sv/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/ta/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/te/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/tg/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/th/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/tr/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/uk/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/vi/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/zh_CN/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/zh_HK/LC_MESSAGES/budgie-control-center-2.0.mo
+share/locale/zh_TW/LC_MESSAGES/budgie-control-center-2.0.mo
+share/metainfo/budgie-control-center.appdata.xml
+share/pixmaps/budgie-faces/astronaut.jpg
+share/pixmaps/budgie-faces/baseball.png
+share/pixmaps/budgie-faces/bicycle.jpg
+share/pixmaps/budgie-faces/book.jpg
+share/pixmaps/budgie-faces/butterfly.png
+share/pixmaps/budgie-faces/calculator.jpg
+share/pixmaps/budgie-faces/cat-eye.jpg
+share/pixmaps/budgie-faces/cat.jpg
+share/pixmaps/budgie-faces/chess.jpg
+share/pixmaps/budgie-faces/coffee.jpg
+share/pixmaps/budgie-faces/coffee2.jpg
+share/pixmaps/budgie-faces/dice.jpg
+share/pixmaps/budgie-faces/energy-arc.jpg
+share/pixmaps/budgie-faces/fish.jpg
+share/pixmaps/budgie-faces/flake.jpg
+share/pixmaps/budgie-faces/flower.jpg
+share/pixmaps/budgie-faces/flower2.jpg
+share/pixmaps/budgie-faces/gamepad.jpg
+share/pixmaps/budgie-faces/grapes.jpg
+share/pixmaps/budgie-faces/guitar.jpg
+share/pixmaps/budgie-faces/guitar2.jpg
+share/pixmaps/budgie-faces/headphones.jpg
+share/pixmaps/budgie-faces/hummingbird.jpg
+share/pixmaps/budgie-faces/launch.jpg
+share/pixmaps/budgie-faces/leaf.jpg
+share/pixmaps/budgie-faces/legacy/astronaut.jpg
+share/pixmaps/budgie-faces/legacy/baseball.png
+share/pixmaps/budgie-faces/legacy/butterfly.png
+share/pixmaps/budgie-faces/legacy/cat-eye.jpg
+share/pixmaps/budgie-faces/legacy/chess.jpg
+share/pixmaps/budgie-faces/legacy/coffee.jpg
+share/pixmaps/budgie-faces/legacy/dice.jpg
+share/pixmaps/budgie-faces/legacy/energy-arc.jpg
+share/pixmaps/budgie-faces/legacy/fish.jpg
+share/pixmaps/budgie-faces/legacy/flake.jpg
+share/pixmaps/budgie-faces/legacy/flower.jpg
+share/pixmaps/budgie-faces/legacy/grapes.jpg
+share/pixmaps/budgie-faces/legacy/guitar.jpg
+share/pixmaps/budgie-faces/legacy/launch.jpg
+share/pixmaps/budgie-faces/legacy/leaf.jpg
+share/pixmaps/budgie-faces/legacy/lightning.jpg
+share/pixmaps/budgie-faces/legacy/penguin.jpg
+share/pixmaps/budgie-faces/legacy/puppy.jpg
+share/pixmaps/budgie-faces/legacy/sky.jpg
+share/pixmaps/budgie-faces/legacy/soccerball.png
+share/pixmaps/budgie-faces/legacy/sunflower.jpg
+share/pixmaps/budgie-faces/legacy/sunset.jpg
+share/pixmaps/budgie-faces/legacy/tennis-ball.png
+share/pixmaps/budgie-faces/legacy/yellow-rose.jpg
+share/pixmaps/budgie-faces/lightning.jpg
+share/pixmaps/budgie-faces/mountain.jpg
+share/pixmaps/budgie-faces/penguin.jpg
+share/pixmaps/budgie-faces/plane.jpg
+share/pixmaps/budgie-faces/puppy.jpg
+share/pixmaps/budgie-faces/sky.jpg
+share/pixmaps/budgie-faces/soccerball.png
+share/pixmaps/budgie-faces/sunflower.jpg
+share/pixmaps/budgie-faces/sunset.jpg
+share/pixmaps/budgie-faces/surfer.jpg
+share/pixmaps/budgie-faces/tennis-ball.png
+share/pixmaps/budgie-faces/tomatoes.jpg
+share/pixmaps/budgie-faces/tree.jpg
+share/pixmaps/budgie-faces/yellow-rose.jpg
+share/pixmaps/budgie-logo.png
+share/polkit-1/actions/org.buddiesofbudgie.controlcenter.remote-login-helper.policy
+share/polkit-1/actions/org.buddiesofbudgie.controlcenter.user-accounts.policy
+share/polkit-1/rules.d/budgie-control-center.rules
+share/sounds/budgie/default/alerts/bark.ogg
+share/sounds/budgie/default/alerts/drip.ogg
+share/sounds/budgie/default/alerts/glass.ogg
+share/sounds/budgie/default/alerts/sonar.ogg
diff --git a/x11-themes/Makefile b/x11-themes/Makefile
index 3a3249699ac2..1839f4333b3d 100644
--- a/x11-themes/Makefile
+++ b/x11-themes/Makefile
@@ -9,6 +9,7 @@
     SUBDIR += ant-dracula-theme
     SUBDIR += arc-gruvbox-theme
     SUBDIR += audacious-skins
+    SUBDIR += budgie-backgrounds
     SUBDIR += canta-gtk-themes
     SUBDIR += canta-icon-theme
     SUBDIR += chicago95
@@ -160,6 +161,7 @@
     SUBDIR += slim-freebsd-dark-theme
     SUBDIR += slim-freebsd-themes
     SUBDIR += slim-themes
+    SUBDIR += tela-icon-theme
     SUBDIR += thewidgetfactory
     SUBDIR += wallpapers-freebsd-kde
     SUBDIR += win98se-icon-theme
diff --git a/x11-themes/budgie-backgrounds/Makefile b/x11-themes/budgie-backgrounds/Makefile
new file mode 100644
index 000000000000..c7d7fa3e7b5b
--- /dev/null
+++ b/x11-themes/budgie-backgrounds/Makefile
@@ -0,0 +1,18 @@
+PORTNAME=	budgie-backgrounds
+DISTVERSION=	1.0
+DISTVERSIONPREFIX=	v
+CATEGORIES=	x11-themes budgie
+MASTER_SITES=	BUDGIE
+
+MAINTAINER=	duchateau.olivier@gmail.com
+COMMENT=	Set of backgrounds for Budgie desktop
+WWW=		https://github.com/BuddiesOfBudgie/budgie-backgrounds
+
+LICENSE=	CC0-1.0
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	jhead:graphics/jhead
+
+USES=		budgie gnome magick:build meson tar:xz
+
+.include <bsd.port.mk>
diff --git a/x11-themes/budgie-backgrounds/distinfo b/x11-themes/budgie-backgrounds/distinfo
new file mode 100644
index 000000000000..edf69299dff3
--- /dev/null
+++ b/x11-themes/budgie-backgrounds/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1673110405
+SHA256 (budgie/budgie-backgrounds-v1.0.tar.xz) = 38c23f9f0c0829a6282b81d934136e780a1341ccce338acc2dbf9f14ff539d0c
+SIZE (budgie/budgie-backgrounds-v1.0.tar.xz) = 19285460
diff --git a/x11-themes/budgie-backgrounds/files/patch-scripts_optimizeImage.sh b/x11-themes/budgie-backgrounds/files/patch-scripts_optimizeImage.sh
new file mode 100644
index 000000000000..75080c4e9f86
--- /dev/null
+++ b/x11-themes/budgie-backgrounds/files/patch-scripts_optimizeImage.sh
@@ -0,0 +1,20 @@
+--- scripts/optimizeImage.sh.orig	2022-09-07 16:55:07 UTC
++++ scripts/optimizeImage.sh
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env bash
++#!/bin/sh
+ 
+ INPUT="$1"
+ OUTPUT="$2"
+@@ -8,9 +8,9 @@ cp "$INPUT" "$OUTPUT" || exit 1
+ mogrify -format jpg "$OUTPUT" || exit 2
+ mogrify -resize 3840x "$OUTPUT" || exit 3
+ 
+-QUALITY="$(identify -verbose $OUTPUT | grep 'Image:\|Quality')"
++QUALITY=$(identify -format %Q  $OUTPUT) 
+ 
+-if [[ "$QUALITY" > 90 ]]; then
++if [ $QUALITY -gt 90 ]; then
+     mogrify -quality 90 "$OUTPUT" || exit 4
+ fi
+ 
diff --git a/x11-themes/budgie-backgrounds/pkg-descr b/x11-themes/budgie-backgrounds/pkg-descr
new file mode 100644
index 000000000000..95a5ae7067d9
--- /dev/null
+++ b/x11-themes/budgie-backgrounds/pkg-descr
@@ -0,0 +1,2 @@
+Budgie backgrounds is the default set of background images for the Budgie
+desktop.
diff --git a/x11-themes/budgie-backgrounds/pkg-plist b/x11-themes/budgie-backgrounds/pkg-plist
new file mode 100644
index 000000000000..c91fa37200fb
--- /dev/null
+++ b/x11-themes/budgie-backgrounds/pkg-plist
@@ -0,0 +1,21 @@
+share/backgrounds/budgie/abstract-spiral.jpg
+share/backgrounds/budgie/accelerated-green.jpg
+share/backgrounds/budgie/apollo-11-earth.jpg
+share/backgrounds/budgie/beacon-street-sunset.jpg
+share/backgrounds/budgie/canyon-wren.jpg
+share/backgrounds/budgie/geo-forest.jpg
+share/backgrounds/budgie/high-trestle-trail.jpg
+share/backgrounds/budgie/kitten-on-lawn.jpg
*** 26690 LINES SKIPPED ***