commit 0e4f827b5885068c618b44274afe45d73e3f1c39 Author: MSVSphere Packaging Team Date: Fri Oct 25 19:58:33 2024 +0300 import xdg-desktop-portal-gnome-45.1-5.el10 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3540701 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/xdg-desktop-portal-gnome-45.1.tar.xz diff --git a/.xdg-desktop-portal-gnome.metadata b/.xdg-desktop-portal-gnome.metadata new file mode 100644 index 0000000..c969f60 --- /dev/null +++ b/.xdg-desktop-portal-gnome.metadata @@ -0,0 +1 @@ +08966f84d4debab6fb635a7fcd63326b8394b133 SOURCES/xdg-desktop-portal-gnome-45.1.tar.xz diff --git a/SOURCES/xdg-desktop-portal-gnome-c89.patch b/SOURCES/xdg-desktop-portal-gnome-c89.patch new file mode 100644 index 0000000..b972061 --- /dev/null +++ b/SOURCES/xdg-desktop-portal-gnome-c89.patch @@ -0,0 +1,81 @@ +commit d0428d7b1aaf2c73293bdc003facc4cabe862e5d +Author: Georges Basile Stavracas Neto +Date: Wed Dec 20 19:07:16 2023 -0300 + + inputcapture: Store dialog as a GtkWindow + + This allows calling g_clear_pointer() without a cast. + + Closes: + https://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome/-/issues/113 + +diff --git a/src/inputcapture.c b/src/inputcapture.c +index ffa91a1dacbbeee2..7dfefe1b2995f246 100644 +--- a/src/inputcapture.c ++++ b/src/inputcapture.c +@@ -70,7 +70,7 @@ typedef struct _InputCaptureDialogHandle + char *session_handle; + GDBusMethodInvocation *create_session_invocation; + +- GtkWidget *dialog; ++ GtkWindow *dialog; + ExternalWindow *external_parent; + + unsigned int capabilities; +@@ -89,7 +89,7 @@ G_DEFINE_TYPE (InputCaptureSession, input_capture_session, session_get_type ()) + static void + input_capture_dialog_handle_free (InputCaptureDialogHandle *dialog_handle) + { +- g_clear_pointer ((GtkWindow**)&dialog_handle->dialog, gtk_window_destroy); ++ g_clear_pointer (&dialog_handle->dialog, gtk_window_destroy); + g_clear_object (&dialog_handle->external_parent); + g_object_unref (dialog_handle->request); + g_free (dialog_handle->session_handle); +@@ -150,8 +150,7 @@ on_request_handle_close_cb (XdpImplRequest *object, + GDBusMethodInvocation *invocation, + InputCaptureDialogHandle *dialog_handle) + { +- gtk_window_close (GTK_WINDOW (dialog_handle->dialog)); +- ++ gtk_window_close (dialog_handle->dialog); + return FALSE; + } + +@@ -387,7 +386,7 @@ create_input_capture_dialog (GDBusMethodInvocation *invocation, + ExternalWindow *external_parent; + GdkSurface *surface; + GtkWidget *fake_parent; +- GtkWidget *dialog; ++ GtkWindow *dialog; + + if (parent_window) + { +@@ -404,9 +403,9 @@ create_input_capture_dialog (GDBusMethodInvocation *invocation, + fake_parent = g_object_new (GTK_TYPE_WINDOW, NULL); + g_object_ref_sink (fake_parent); + +- dialog = GTK_WIDGET (input_capture_dialog_new (request->app_id)); +- gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (fake_parent)); +- gtk_window_set_modal (GTK_WINDOW (dialog), TRUE); ++ dialog = GTK_WINDOW (input_capture_dialog_new (request->app_id)); ++ gtk_window_set_transient_for (dialog, GTK_WINDOW (fake_parent)); ++ gtk_window_set_modal (dialog, TRUE); + + window_group = gtk_window_group_new (); + gtk_window_group_add_window (window_group, dialog); +@@ -424,13 +423,13 @@ create_input_capture_dialog (GDBusMethodInvocation *invocation, + g_signal_connect (dialog, "done", + G_CALLBACK (on_input_capture_dialog_done_cb), dialog_handle); + +- gtk_widget_realize (dialog); ++ gtk_widget_realize (GTK_WIDGET (dialog)); + + surface = gtk_native_get_surface (GTK_NATIVE (dialog)); + if (external_parent) + external_window_set_parent_of (external_parent, surface); + +- gtk_widget_show (dialog); ++ gtk_window_present (dialog); + } + + static gboolean diff --git a/SPECS/xdg-desktop-portal-gnome.spec b/SPECS/xdg-desktop-portal-gnome.spec new file mode 100644 index 0000000..685e5bd --- /dev/null +++ b/SPECS/xdg-desktop-portal-gnome.spec @@ -0,0 +1,197 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.6.1) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 5; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + +%global tarball_version %%(echo %{version} | tr '~' '.') + +%global xdg_desktop_portal_version 1.17.0 + +Name: xdg-desktop-portal-gnome +Version: 45.1 +Release: %autorelease +Summary: Backend implementation for xdg-desktop-portal using GNOME + +License: LGPL-2.1-or-later +URL: https://gitlab.gnome.org/GNOME/%{name} +Source0: https://download.gnome.org/sources/%{name}/45/%{name}-%{tarball_version}.tar.xz +Patch0: xdg-desktop-portal-gnome-c89.patch + +BuildRequires: desktop-file-utils +BuildRequires: gcc +BuildRequires: gettext +BuildRequires: meson +BuildRequires: pkgconfig(fontconfig) +BuildRequires: pkgconfig(gnome-bg-4) +BuildRequires: pkgconfig(gnome-desktop-4) +BuildRequires: pkgconfig(gsettings-desktop-schemas) +BuildRequires: pkgconfig(gtk4) +BuildRequires: pkgconfig(libadwaita-1) +BuildRequires: pkgconfig(xdg-desktop-portal) >= %{xdg_desktop_portal_version} +BuildRequires: systemd-rpm-macros +Requires: dbus +Requires: dbus-common +Requires: xdg-desktop-portal >= %{xdg_desktop_portal_version} +Supplements: gnome-shell + +# https://github.com/containers/composefs/pull/229#issuecomment-1838735764 +%if 0%{?rhel} >= 10 +ExcludeArch: %{ix86} +%endif + +%description +A backend implementation for xdg-desktop-portal that is using various pieces of +GNOME infrastructure, such as the org.gnome.Shell.Screenshot or +org.gnome.SessionManager D-Bus interfaces. + + +%prep +%autosetup -p1 -n %{name}-%{tarball_version} + + +%build +%meson -Dsystemduserunitdir=%{_userunitdir} +%meson_build + + +%install +%meson_install +desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}.desktop +%find_lang %{name} + + +%post +%systemd_user_post %{name}.service + +%preun +%systemd_user_preun %{name}.service + + +%files -f %{name}.lang +%license COPYING +%doc NEWS README.md +%{_libexecdir}/%{name} +%{_datadir}/applications/%{name}.desktop +%{_datadir}/dbus-1/services/org.freedesktop.impl.portal.desktop.gnome.service +%{_datadir}/glib-2.0/schemas/xdg-desktop-portal-gnome.gschema.xml +%{_datadir}/xdg-desktop-portal/portals/gnome.portal +%{_userunitdir}/%{name}.service + + +%changelog +* Fri Oct 25 2024 MSVSphere Packaging Team - 45.1-5 +- Rebuilt for MSVSphere 10 + +## START: Generated by rpmautospec +* Mon Jun 24 2024 Troy Dawson - 45.1-5 +- Bump release for June 2024 mass rebuild + +* Mon Jan 29 2024 Yaakov Selkowitz - 45.1-4 +- Drop i686 in RHEL 10 + +* Mon Jan 29 2024 Florian Weimer - 45.1-3 +- Backport upstream patch for GCC 14 compatibility + +* Sat Jan 27 2024 Fedora Release Engineering - 45.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Nov 26 2023 Kalev Lember - 45.1-1 +- Update to 45.1 + +* Wed Sep 20 2023 Kalev Lember - 45.0-1 +- Update to 45.0 + +* Wed Sep 06 2023 Kalev Lember - 45~rc-1 +- Update to 45.rc + +* Sat Aug 05 2023 Kalev Lember - 45~beta-1 +- Update to 45.beta + +* Sat Jul 22 2023 Fedora Release Engineering - 45~alpha-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Jul 17 2023 David King - 45~alpha-1 +- Update to 45.alpha + +* Fri Apr 21 2023 David King - 44.1-1 +- Update to 44.1 (#2188642) + +* Mon Apr 10 2023 Adam Williamson - 44.0-2 +- Backport MR #78 to help with apps launching slow on KDE (#2176759) + +* Mon Mar 20 2023 David King - 44.0-1 +- Update to 44.0 (#2117832) + +* Tue Mar 07 2023 David King - 44~rc-1 +- Update to 44.rc + +* Wed Feb 15 2023 David King - 44~beta-1 +- Update to 44.beta + +* Mon Feb 06 2023 David King - 44~alpha-1 +- Update to 44.alpha + +* Sat Jan 21 2023 Fedora Release Engineering - 43.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Oct 27 2022 David King - 43.1-1 +- Update to 43.1 + +* Mon Sep 19 2022 Kalev Lember - 43.0-1 +- Update to 43.0 + +* Tue Sep 06 2022 Kalev Lember - 43~rc-1 +- Update to 43.rc + +* Fri Aug 12 2022 Kalev Lember - 43~beta-1 +- Update to 43.beta + +* Sat Jul 23 2022 Fedora Release Engineering - 43~alpha-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Jul 15 2022 Kalev Lember - 43~alpha-1 +- Update to 43.alpha + +* Mon Jul 04 2022 Debarshi Ray - 42.3-1 +- Update to 42.3 + +* Mon Jul 04 2022 Debarshi Ray - 42.2-1 +- Update to 42.2 + +* Wed Apr 27 2022 David King - 42.1-1 +- Update to 42.1 + +* Fri Apr 08 2022 Michael Catanzaro - 42.0.1-4 +- Simplify Supplements + +* Tue Apr 05 2022 Debarshi Ray - 42.0.1-2 +- Make the Supplements specific to Fedora to retain consistency with + xdg-desktop-portal-gtk + +* Fri Mar 18 2022 David King - 42.0.1-1 +- Update to 42.0.1 + +* Fri Mar 18 2022 David King - 42.0-1 +- Update to 42.0 + +* Tue Mar 08 2022 David King - 42~rc-1 +- Update to 42.rc + +* Sat Jan 22 2022 Fedora Release Engineering - 41.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sat Sep 25 2021 Kalev Lember - 41.1-1 +- Update to 41.1 + +* Sat Sep 18 2021 David King - 41.0-1 +- Update to 41.0 (#2005532) + +* Thu Sep 16 2021 David King - 41~alpha-1 +- Initial version + +## END: Generated by rpmautospec