Added patch
This commit is contained in:
		
							
								
								
									
										2
									
								
								gnome-base/gnome-settings-daemon/Manifest
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								gnome-base/gnome-settings-daemon/Manifest
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
DIST gnome-settings-daemon-45.1.tar.xz 1473256 BLAKE2B 25c114cc1918975247db360f24a9041d019546dd0a0714d19f2409b78ee6e2712d6dc1272eb9a40afb7ed4e973eaa45854322947567b5d54d2761b48a2e812b9 SHA512 ccec193f3f2acdfb5eefda697d6ef2ac0edca18e85d934a83cc34fd5af6c78c56469ffeebbd1c64e8c392462686663c2dd55000bc962beac472580fdfa0717a8
 | 
			
		||||
DIST gnome-settings-daemon-46.0.tar.xz 1480952 BLAKE2B 42f2eb46b255e3e44a045b90b7ad98e15836aa3780f04740861c65417dd58e79996481d397f3f482158286c905245ca13dec0ad52770972856ecfd939d06073a SHA512 445e9ee4709af7a67ded55733d4041357995fe9746bcf00fa81f52f6dddc2071e7114e9bf836bcf464bc0f04da3b3c08be04c1942963c1910d1a14b4434f6633
 | 
			
		||||
@@ -0,0 +1,40 @@
 | 
			
		||||
From 1e07481d4fd989828a7237c365e5420f50196ddd Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Mart Raudsepp <leio@gentoo.org>
 | 
			
		||||
Date: Thu, 14 Mar 2019 09:43:00 +0200
 | 
			
		||||
Subject: [PATCH] build: Make wacom optional and controllable via meson_options
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 meson.build       | 4 ++--
 | 
			
		||||
 meson_options.txt | 1 +
 | 
			
		||||
 2 files changed, 3 insertions(+), 2 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/meson.build b/meson.build
 | 
			
		||||
index a8955a49..0ac4f3ba 100644
 | 
			
		||||
--- a/meson.build
 | 
			
		||||
+++ b/meson.build
 | 
			
		||||
@@ -154,8 +154,8 @@ if enable_wayland
 | 
			
		||||
 endif
 | 
			
		||||
 config_h.set10('HAVE_WAYLAND', enable_wayland)
 | 
			
		||||
 
 | 
			
		||||
-# wacom (disabled for s390/s390x and non Linux platforms)
 | 
			
		||||
-enable_wacom = host_is_linux_not_s390
 | 
			
		||||
+# wacom
 | 
			
		||||
+enable_wacom = get_option('wacom')
 | 
			
		||||
 if enable_wacom
 | 
			
		||||
   assert(enable_gudev, 'GUDev support is required for wacom support.')
 | 
			
		||||
   libwacom_dep = dependency('libwacom', version: '>= 0.7')
 | 
			
		||||
diff --git a/meson_options.txt b/meson_options.txt
 | 
			
		||||
index 3e04cf64..010053e2 100644
 | 
			
		||||
--- a/meson_options.txt
 | 
			
		||||
+++ b/meson_options.txt
 | 
			
		||||
@@ -9,6 +9,7 @@ option('network_manager', type: 'boolean', value: true, description: 'build with
 | 
			
		||||
 option('rfkill', type: 'boolean', value: true, description: 'build with rfkill support (not optional on Linux platforms)')
 | 
			
		||||
 option('smartcard', type: 'boolean', value: true, description: 'build with smartcard support')
 | 
			
		||||
 option('usb-protection', type: 'boolean', value: true, description: 'build with usb-protection support')
 | 
			
		||||
+option('wacom', type: 'boolean', value: true, description: 'build with Wacom devices support')
 | 
			
		||||
 option('wayland', type: 'boolean', value: true, description: 'build with Wayland support')
 | 
			
		||||
 option('wwan', type: 'boolean', value: true, description: 'build with WWAN support')
 | 
			
		||||
 option('colord', type: 'boolean', value: true, description: 'build with colord support')
 | 
			
		||||
-- 
 | 
			
		||||
2.34.1
 | 
			
		||||
 | 
			
		||||
@@ -0,0 +1,97 @@
 | 
			
		||||
From 1a4d50f4ee611bdede6072c0bfd2a1b2e327c5fc Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Dudemanguy <random342@airmail.cc>
 | 
			
		||||
Date: Mon, 25 Mar 2024 10:39:30 -0500
 | 
			
		||||
Subject: [PATCH] sharing: fix building without systemd
 | 
			
		||||
 | 
			
		||||
0bfc60813befb45e3dd4840795839806f5310e39 introduced a bunch of
 | 
			
		||||
systemd-specific stuff that broke building without systemd. Guard all of
 | 
			
		||||
the relevant things.
 | 
			
		||||
---
 | 
			
		||||
 plugins/sharing/gsd-sharing-manager.c | 12 +++++++++++-
 | 
			
		||||
 1 file changed, 11 insertions(+), 1 deletion(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/plugins/sharing/gsd-sharing-manager.c b/plugins/sharing/gsd-sharing-manager.c
 | 
			
		||||
index c669e7bde..8b818c4e4 100644
 | 
			
		||||
--- a/plugins/sharing/gsd-sharing-manager.c
 | 
			
		||||
+++ b/plugins/sharing/gsd-sharing-manager.c
 | 
			
		||||
@@ -266,6 +266,7 @@ gsd_sharing_manager_sync_configurable_services (GsdSharingManager *manager)
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
+#if HAVE_SYSTEMD_LIB
 | 
			
		||||
 static void
 | 
			
		||||
 on_assigned_service_finished (GPid     pid,
 | 
			
		||||
                               int      exit_status,
 | 
			
		||||
@@ -406,10 +407,12 @@ stop_assigned_service_after_timeout (GsdSharingManager   *manager,
 | 
			
		||||
                               timeout_source,
 | 
			
		||||
                               G_SOURCE_FUNC (on_timeout_reached));
 | 
			
		||||
 }
 | 
			
		||||
+#endif
 | 
			
		||||
 
 | 
			
		||||
 static void
 | 
			
		||||
 gsd_sharing_manager_sync_assigned_services (GsdSharingManager *manager)
 | 
			
		||||
 {
 | 
			
		||||
+#if HAVE_SYSTEMD_LIB
 | 
			
		||||
         GList *services, *l;
 | 
			
		||||
 
 | 
			
		||||
         services = g_hash_table_get_values (manager->assigned_services);
 | 
			
		||||
@@ -423,6 +426,7 @@ gsd_sharing_manager_sync_assigned_services (GsdSharingManager *manager)
 | 
			
		||||
                         start_assigned_service (manager, info);
 | 
			
		||||
         }
 | 
			
		||||
         g_list_free (services);
 | 
			
		||||
+#endif
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 static void
 | 
			
		||||
@@ -1004,6 +1008,7 @@ assigned_service_free (gpointer pointer)
 | 
			
		||||
         g_free (info);
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
+#if HAVE_SYSTEMD_LIB
 | 
			
		||||
 static void
 | 
			
		||||
 on_system_bus_name_appeared (GDBusConnection   *connection,
 | 
			
		||||
                              const char        *system_bus_name,
 | 
			
		||||
@@ -1046,6 +1051,7 @@ on_system_bus_name_vanished (GDBusConnection   *connection,
 | 
			
		||||
 
 | 
			
		||||
         stop_assigned_service_after_timeout (manager, info);
 | 
			
		||||
 }
 | 
			
		||||
+#endif
 | 
			
		||||
 
 | 
			
		||||
 static void
 | 
			
		||||
 manage_configurable_services (GsdSharingManager *manager)
 | 
			
		||||
@@ -1069,6 +1075,7 @@ manage_configurable_services (GsdSharingManager *manager)
 | 
			
		||||
 static void
 | 
			
		||||
 manage_assigned_services (GsdSharingManager *manager)
 | 
			
		||||
 {
 | 
			
		||||
+#if HAVE_SYSTEMD_LIB
 | 
			
		||||
         size_t i;
 | 
			
		||||
         int ret;
 | 
			
		||||
         g_autofree char *session_id = NULL;
 | 
			
		||||
@@ -1129,12 +1136,13 @@ manage_assigned_services (GsdSharingManager *manager)
 | 
			
		||||
 
 | 
			
		||||
                 g_hash_table_insert (manager->assigned_services, (gpointer) service->system_bus_name, info);
 | 
			
		||||
         }
 | 
			
		||||
+#endif
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 static void
 | 
			
		||||
 gsd_sharing_manager_init (GsdSharingManager *manager)
 | 
			
		||||
 {
 | 
			
		||||
-        int ret;
 | 
			
		||||
+        int ret = -1;
 | 
			
		||||
         g_autofree char *systemd_unit = NULL;
 | 
			
		||||
 
 | 
			
		||||
         manager->configurable_services = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, configurable_service_free);
 | 
			
		||||
@@ -1146,7 +1154,9 @@ gsd_sharing_manager_init (GsdSharingManager *manager)
 | 
			
		||||
         manager->carrier_type = g_strdup ("");
 | 
			
		||||
         manager->sharing_status = GSD_SHARING_STATUS_OFFLINE;
 | 
			
		||||
 
 | 
			
		||||
+#if HAVE_SYSTEMD_LIB
 | 
			
		||||
         ret = sd_pid_get_user_unit (getpid (), &systemd_unit);
 | 
			
		||||
+#endif
 | 
			
		||||
 
 | 
			
		||||
         if (ret < 0)
 | 
			
		||||
                 manager->is_systemd_managed = FALSE;
 | 
			
		||||
-- 
 | 
			
		||||
GitLab
 | 
			
		||||
 | 
			
		||||
@@ -0,0 +1,24 @@
 | 
			
		||||
From b5b933cf83fc79cc9dd382ddb0ec2567330e24e8 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Mart Raudsepp <leio@gentoo.org>
 | 
			
		||||
Date: Sun, 8 Sep 2019 18:07:12 +0300
 | 
			
		||||
Subject: [PATCH 2/3] build: Allow NM optional on Linux
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 meson.build | 1 -
 | 
			
		||||
 1 file changed, 1 deletion(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/meson.build b/meson.build
 | 
			
		||||
index dce9bfa1..21d9341d 100644
 | 
			
		||||
--- a/meson.build
 | 
			
		||||
+++ b/meson.build
 | 
			
		||||
@@ -223,7 +223,6 @@ endif
 | 
			
		||||
 
 | 
			
		||||
 # Sharing plugin
 | 
			
		||||
 enable_network_manager = get_option('network_manager')
 | 
			
		||||
-assert(enable_network_manager or not host_is_linux, 'NetworkManager support is not optional on Linux platforms')
 | 
			
		||||
 if enable_network_manager
 | 
			
		||||
   # network manager
 | 
			
		||||
   libnm_dep = dependency('libnm', version: '>= 1.0')
 | 
			
		||||
-- 
 | 
			
		||||
2.26.2
 | 
			
		||||
 | 
			
		||||
@@ -0,0 +1,2 @@
 | 
			
		||||
[org.gnome.settings-daemon.plugins.power]
 | 
			
		||||
sleep-inactive-ac-type='nothing'
 | 
			
		||||
@@ -0,0 +1,144 @@
 | 
			
		||||
# Copyright 1999-2024 Gentoo Authors
 | 
			
		||||
# Distributed under the terms of the GNU General Public License v2
 | 
			
		||||
 | 
			
		||||
EAPI=8
 | 
			
		||||
PYTHON_COMPAT=( python3_{10..12} )
 | 
			
		||||
 | 
			
		||||
inherit gnome.org gnome2-utils python-any-r1 meson udev virtualx xdg
 | 
			
		||||
 | 
			
		||||
DESCRIPTION="Gnome Settings Daemon"
 | 
			
		||||
HOMEPAGE="https://gitlab.gnome.org/GNOME/gnome-settings-daemon"
 | 
			
		||||
 | 
			
		||||
LICENSE="GPL-2+ LGPL-2+"
 | 
			
		||||
SLOT="0"
 | 
			
		||||
 | 
			
		||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
 | 
			
		||||
 | 
			
		||||
IUSE="+colord +cups debug elogind input_devices_wacom modemmanager networkmanager smartcard systemd test wayland"
 | 
			
		||||
RESTRICT="!test? ( test )"
 | 
			
		||||
REQUIRED_USE="^^ ( elogind systemd )"
 | 
			
		||||
 | 
			
		||||
COMMON_DEPEND="
 | 
			
		||||
	>=sci-geosciences/geocode-glib-3.10:2
 | 
			
		||||
	>=dev-libs/glib-2.70:2
 | 
			
		||||
	>=gnome-base/gnome-desktop-3.37.1:3=
 | 
			
		||||
	>=gnome-base/gsettings-desktop-schemas-46.0
 | 
			
		||||
	>=x11-libs/gtk+-3.15.3:3[X,wayland?]
 | 
			
		||||
	>=dev-libs/libgweather-4.2.0:4=
 | 
			
		||||
	colord? ( >=x11-misc/colord-1.4.5:= )
 | 
			
		||||
	media-libs/libcanberra[gtk3]
 | 
			
		||||
	>=app-misc/geoclue-2.3.1:2.0
 | 
			
		||||
	>=x11-libs/libnotify-0.7.3
 | 
			
		||||
	>=media-libs/libpulse-16.1[glib]
 | 
			
		||||
	>=sys-auth/polkit-0.114
 | 
			
		||||
	>=sys-power/upower-0.99.12:=
 | 
			
		||||
	x11-libs/libX11
 | 
			
		||||
	>=x11-libs/libXfixes-6.0.0
 | 
			
		||||
	dev-libs/libgudev:=
 | 
			
		||||
	wayland? ( dev-libs/wayland )
 | 
			
		||||
	input_devices_wacom? (
 | 
			
		||||
		>=dev-libs/libwacom-0.7:=
 | 
			
		||||
		>=x11-libs/pango-1.20.0
 | 
			
		||||
		x11-libs/gdk-pixbuf:2
 | 
			
		||||
	)
 | 
			
		||||
	smartcard? ( app-crypt/gcr:4= )
 | 
			
		||||
	cups? ( >=net-print/cups-1.4[dbus] )
 | 
			
		||||
	modemmanager? (
 | 
			
		||||
		>=app-crypt/gcr-3.90.0:4=
 | 
			
		||||
		>=net-misc/modemmanager-1.0:=
 | 
			
		||||
	)
 | 
			
		||||
	networkmanager? ( >=net-misc/networkmanager-1.0 )
 | 
			
		||||
	media-libs/alsa-lib
 | 
			
		||||
	x11-libs/libXi
 | 
			
		||||
	x11-libs/libXext
 | 
			
		||||
	media-libs/fontconfig
 | 
			
		||||
	systemd? (
 | 
			
		||||
		>=sys-apps/systemd-243
 | 
			
		||||
	)
 | 
			
		||||
"
 | 
			
		||||
DEPEND="${COMMON_DEPEND}
 | 
			
		||||
	x11-base/xorg-proto
 | 
			
		||||
"
 | 
			
		||||
# logind needed for power and session management, bug #464944
 | 
			
		||||
RDEPEND="${COMMON_DEPEND}
 | 
			
		||||
	gnome-base/dconf
 | 
			
		||||
	elogind? ( sys-auth/elogind )
 | 
			
		||||
"
 | 
			
		||||
# rfkill requires linux/rfkill.h, thus linux-headers dep, not os-headers.
 | 
			
		||||
# If this package wants to work on other kernels, we need to make rfkill conditional instead
 | 
			
		||||
BDEPEND="
 | 
			
		||||
	sys-kernel/linux-headers
 | 
			
		||||
	dev-util/glib-utils
 | 
			
		||||
	dev-util/gdbus-codegen
 | 
			
		||||
	${PYTHON_DEPS}
 | 
			
		||||
	test? (
 | 
			
		||||
		dev-util/umockdev
 | 
			
		||||
		$(python_gen_any_dep '
 | 
			
		||||
			dev-python/pygobject:3[${PYTHON_USEDEP}]
 | 
			
		||||
			dev-python/python-dbusmock[${PYTHON_USEDEP}]
 | 
			
		||||
		')
 | 
			
		||||
		gnome-base/gnome-session
 | 
			
		||||
	)
 | 
			
		||||
	>=sys-devel/gettext-0.19.8
 | 
			
		||||
	virtual/pkgconfig
 | 
			
		||||
"
 | 
			
		||||
 | 
			
		||||
PATCHES=(
 | 
			
		||||
	"${FILESDIR}"/42.1-build-Make-wacom-optional-and-controllable-via-meson.patch
 | 
			
		||||
	"${FILESDIR}"/46.0-fix-building-without-systemd.patch
 | 
			
		||||
	"${FILESDIR}"/${PN}-3.38.1-build-Allow-NM-optional-on-Linux.patch
 | 
			
		||||
	
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
python_check_deps() {
 | 
			
		||||
	if use test; then
 | 
			
		||||
		python_has_version "dev-python/pygobject:3[${PYTHON_USEDEP}]" &&
 | 
			
		||||
		python_has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]"
 | 
			
		||||
	fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pkg_setup() {
 | 
			
		||||
	python-any-r1_pkg_setup
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
src_configure() {
 | 
			
		||||
	local emesonargs=(
 | 
			
		||||
		-Dudev_dir="$(get_udevdir)"
 | 
			
		||||
		$(meson_use systemd)
 | 
			
		||||
		-Dalsa=true
 | 
			
		||||
		-Dgudev=true
 | 
			
		||||
		-Dgcr3=false
 | 
			
		||||
		$(meson_use colord)
 | 
			
		||||
		$(meson_use cups)
 | 
			
		||||
		$(meson_use networkmanager network_manager)
 | 
			
		||||
		-Drfkill=true
 | 
			
		||||
		$(meson_use smartcard)
 | 
			
		||||
		$(meson_use input_devices_wacom wacom)
 | 
			
		||||
		$(meson_use wayland)
 | 
			
		||||
		$(meson_use modemmanager wwan)
 | 
			
		||||
	)
 | 
			
		||||
	meson_src_configure
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
src_install() {
 | 
			
		||||
	meson_src_install
 | 
			
		||||
	# Don't auto-suspend by default on AC power
 | 
			
		||||
	insinto /usr/share/glib-2.0/schemas
 | 
			
		||||
	doins "${FILESDIR}"/org.gnome.settings-daemon.plugins.power.gschema.override
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
src_test() {
 | 
			
		||||
	virtx meson_src_test
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pkg_postinst() {
 | 
			
		||||
	udev_reload
 | 
			
		||||
	xdg_pkg_postinst
 | 
			
		||||
	gnome2_schemas_update
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pkg_postrm() {
 | 
			
		||||
	udev_reload
 | 
			
		||||
	xdg_pkg_postrm
 | 
			
		||||
	gnome2_schemas_update
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user