+#
+# Conditional build:
+%bcond_without apidocs # API documentation
+
%define clutter_ver 1.21.5
-%define evolution_data_server_ver 3.18.0
-%define gcr_ver 3.7.5
-%define gjs_ver 1.54.0
-%define glib_ver 1:2.56.0
+# max(ecal_req, eds_req)
+%define evolution_data_server_ver 3.33.1
+%define gcr_ver 3.90.0
+%define gjs_ver 1.73.1
+%define glib_ver 1:2.57.2
%define gnome_bluetooth_ver 3.9.0
-%define gnome_desktop_ver 3.7.90
-%define gsettings_desktop_schemas_ver 3.28.0
+%define gnome_desktop_ver 3.36.0
+%define gsettings_desktop_schemas_ver 42
%define gtk_ver 3.15.0
+%define ibus_ver 1.5.19
%define json_glib_ver 0.13.90
-%define libcroco_ver 0.6.8
%define libsecret_ver 0.18
-%define mutter_ver 3.32.0
+%define mutter_ver 43.0
%define NetworkManager_ver 1.10.4
%define polkit_ver 0.100
-%define pulseaudio_ver 2.0
+%define pulseaudio_ver 13
%define startup_notification_ver 0.11
Summary: Window manager and application launcher for GNOME
Summary(pl.UTF-8): Zarządca okien i uruchamiania aplikacji dla GNOME
Name: gnome-shell
-Version: 3.32.2
+Version: 43.7
Release: 1
License: GPL v2+
Group: X11/Window Managers
-Source0: http://ftp.gnome.org/pub/GNOME/sources/gnome-shell/3.32/%{name}-%{version}.tar.xz
-# Source0-md5: 632b67075ebdc183f94461fa05a8505b
-URL: http://live.gnome.org/GnomeShell
+Source0: https://download.gnome.org/sources/gnome-shell/43/%{name}-%{version}.tar.xz
+# Source0-md5: 770f8cce5bb8f15174af44eaf567c369
+Patch0: %{name}-no-update.patch
+URL: https://wiki.gnome.org/Projects/GnomeShell
BuildRequires: NetworkManager-devel >= %{NetworkManager_ver}
+BuildRequires: asciidoc
BuildRequires: at-spi2-atk-devel
+BuildRequires: bash-completion-devel >= 1:2.0
BuildRequires: clutter-devel >= %{clutter_ver}
BuildRequires: evolution-data-server-devel >= %{evolution_data_server_ver}
-BuildRequires: gcr-devel >= %{gcr_ver}
-BuildRequires: gdk-pixbuf2-devel
+BuildRequires: gcr4-devel >= %{gcr_ver}
+BuildRequires: gdk-pixbuf2-devel >= 2.0
BuildRequires: gettext-tools >= 0.19.6
BuildRequires: gjs-devel >= %{gjs_ver}
BuildRequires: glib2-devel >= %{glib_ver}
-BuildRequires: gnome-bluetooth-devel >= %{gnome_bluetooth_ver}
+BuildRequires: gnome-autoar-devel
+BuildRequires: gnome-bluetooth3-devel >= %{gnome_bluetooth_ver}
BuildRequires: gnome-control-center-devel
-# for cldr2json.py (through pygobject->gi)
-BuildRequires: gnome-desktop >= %{gnome_desktop_ver}
+BuildRequires: gnome-desktop-devel >= %{gnome_desktop_ver}
BuildRequires: gobject-introspection-devel >= 1.50.0
BuildRequires: gsettings-desktop-schemas-devel >= %{gsettings_desktop_schemas_ver}
BuildRequires: gstreamer-devel >= 1.0.0
BuildRequires: gstreamer-plugins-base-devel >= 1.0.0
BuildRequires: gtk+3-devel >= %{gtk_ver}
-BuildRequires: gtk-doc >= 1.15
-BuildRequires: ibus-devel >= 1.5.2
+BuildRequires: gtk4-devel >= 4
+%{?with_apidocs:BuildRequires: gtk-doc >= 1.15}
+BuildRequires: ibus-devel >= %{ibus_ver}
BuildRequires: json-glib-devel >= %{json_glib_ver}
BuildRequires: libcanberra-devel
BuildRequires: libcanberra-gtk3-devel
-BuildRequires: libcroco-devel >= %{libcroco_ver}
BuildRequires: libsecret-devel >= %{libsecret_ver}
-BuildRequires: libsoup-devel
+# or libsoup 2.4 with -Dsoup2=true, must be in sync with libgweather
+BuildRequires: libsoup3-devel >= 3.0
BuildRequires: libxml2-devel >= 2.0
BuildRequires: libxslt-progs
-BuildRequires: meson >= 0.47.0
+BuildRequires: meson >= 0.58.0
BuildRequires: mutter-devel >= %{mutter_ver}
BuildRequires: ninja >= 1.5
+BuildRequires: pipewire-devel >= 0.3
BuildRequires: pkgconfig >= 1:0.22
BuildRequires: polkit-devel >= %{polkit_ver}
BuildRequires: pulseaudio-devel >= %{pulseaudio_ver}
-BuildRequires: python3
+BuildRequires: python3 >= 1:3
BuildRequires: python3-pygobject3 >= 3
+BuildRequires: rpm-build >= 4.6
BuildRequires: rpm-pythonprov
-BuildRequires: rpmbuild(macros) >= 1.601
+BuildRequires: rpmbuild(macros) >= 1.752
BuildRequires: sassc
+BuildRequires: sed >= 4.0
BuildRequires: startup-notification-devel >= %{startup_notification_ver}
BuildRequires: systemd-devel
+BuildRequires: systemd-units
BuildRequires: tar >= 1:1.22
BuildRequires: xorg-lib-libX11-devel
BuildRequires: xorg-lib-libXfixes-devel
BuildRequires: xz
-Requires(post,postun): glib2 >= 1:2.26.0
+Requires(post,postun): glib2 >= %{glib_ver}
# gjs->gi->NMA.gir
-Requires: NetworkManager-gtk-lib >= %{NetworkManager_ver}
Requires: NetworkManager-libs >= %{NetworkManager_ver}
+Requires: adwaita-icon-theme
Requires: at-spi2-atk >= 2.4.0
Requires: clutter >= %{clutter_ver}
Requires: evolution-data-server >= %{evolution_data_server_ver}
-Requires: gcr >= %{gcr_ver}
+Requires: gcr4 >= %{gcr_ver}
Requires: gjs >= %{gjs_ver}
Requires: glib2 >= %{glib_ver}
-Requires: gnome-bluetooth-libs >= %{gnome_bluetooth_ver}
+Requires: gnome-bluetooth3-libs >= %{gnome_bluetooth_ver}
Requires: gnome-desktop >= %{gnome_desktop_ver}
Requires: gnome-settings-daemon >= 3.8.0
-Requires: gnome-themes-standard
Requires: gsettings-desktop-schemas >= %{gsettings_desktop_schemas_ver}
Requires: gtk+3 >= %{gtk_ver}
-Requires: ibus >= 1.5.2
+Requires: ibus >= %{ibus_ver}
Requires: json-glib >= %{json_glib_ver}
-Requires: libcroco >= %{libcroco_ver}
Requires: libsecret >= %{libsecret_ver}
Requires: mutter >= %{mutter_ver}
Requires: nautilus >= 3.8.0
innowacyjne koncepcje interfejsu użytkownika, zapewniające przyjemne
doznania i łatwość użycia.
+%package -n bash-completion-gnome-shell
+Summary: Bash completion for GNOME Shell commands
+Summary(pl.UTF-8): Bashowe dopełnianie parametrów poleceń GNOME Shell
+Group: Applications/Shells
+Requires: %{name} = %{version}-%{release}
+Requires: bash-completion >= 1:2.0
+BuildArch: noarch
+
+%description -n bash-completion-gnome-shell
+Bash completion for GNOME Shell commands.
+
+%description -n bash-completion-gnome-shell -l pl.UTF-8
+Bashowe dopełnianie parametrów poleceń GNOME Shell.
+
%package devel
Summary: Development files for GNOME Shell
Summary(pl.UTF-8): Pliki programistyczne dla GNOME Shell
Group: Development/Libraries
+BuildArch: noarch
%description devel
This package provides development files for GNOME Shell.
Summary(pl.UTF-8): Dokumentacja API GNOME Shell
Group: Documentation
Requires: gtk-doc-common
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description apidocs
This package provides GNOME Shell API documentation.
%prep
%setup -q
+%patch0 -p1
+
+%{__sed} -i -e '/^libshew =/ s/ library/ shared_library/' subprojects/shew/src/meson.build
%build
%meson build \
- -Dgtk_doc=true
+ %{?with_apidocs:-Dgtk_doc=true} \
+ -Dtests=false
+
%meson_build -C build
%install
%meson_install -C build
+# useless
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/gnome-shell/libgnome-shell*.a
# evolution already ships this file
%{__rm} $RPM_BUILD_ROOT%{_desktopdir}/evolution-calendar.desktop
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/gnome-shell/libgnome-shell*.a
+# not supported by glibc (as of 2.37)
+%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/ie
%find_lang %{name}
%files -f %{name}.lang
%defattr(644,root,root,755)
%doc NEWS README.md
+%attr(755,root,root) %{_bindir}/gnome-extensions
+%attr(755,root,root) %{_bindir}/gnome-extensions-app
%attr(755,root,root) %{_bindir}/gnome-shell
%attr(755,root,root) %{_bindir}/gnome-shell-extension-prefs
%attr(755,root,root) %{_bindir}/gnome-shell-extension-tool
%attr(755,root,root) %{_libdir}/gnome-shell/libgnome-shell.so
%attr(755,root,root) %{_libdir}/gnome-shell/libgnome-shell-menu.so
%attr(755,root,root) %{_libdir}/gnome-shell/libgvc.so
+%attr(755,root,root) %{_libdir}/gnome-shell/libshew-0.so
%attr(755,root,root) %{_libdir}/gnome-shell/libst-1.0.so
%{_libdir}/gnome-shell/Gvc-1.0.typelib
%{_libdir}/gnome-shell/Shell-0.1.typelib
%{_libdir}/gnome-shell/St-1.0.typelib
-%{_datadir}/GConf/gsettings/gnome-shell-overrides.convert
+%dir %{_libdir}/gnome-shell/girepository-1.0
+%{_libdir}/gnome-shell/girepository-1.0/Shew-0.typelib
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Introspect.xml
+%{_datadir}/dbus-1/services/org.gnome.Extensions.service
+%{_datadir}/dbus-1/services/org.gnome.ScreenSaver.service
%{_datadir}/dbus-1/services/org.gnome.Shell.CalendarServer.service
+%{_datadir}/dbus-1/services/org.gnome.Shell.Extensions.service
%{_datadir}/dbus-1/services/org.gnome.Shell.HotplugSniffer.service
+%{_datadir}/dbus-1/services/org.gnome.Shell.Notifications.service
%{_datadir}/dbus-1/services/org.gnome.Shell.PortalHelper.service
+%{_datadir}/dbus-1/services/org.gnome.Shell.Screencast.service
%{_datadir}/glib-2.0/schemas/00_org.gnome.shell.gschema.override
%{_datadir}/glib-2.0/schemas/org.gnome.shell.gschema.xml
%{_datadir}/gnome-control-center/keybindings/*.xml
%{_datadir}/gnome-shell
+%{_datadir}/metainfo/org.gnome.Extensions.metainfo.xml
%{_datadir}/xdg-desktop-portal/portals/gnome-shell.portal
-%{_desktopdir}/gnome-shell-extension-prefs.desktop
+%{_desktopdir}/org.gnome.Extensions.desktop
%{_desktopdir}/org.gnome.Shell.desktop
+%{_desktopdir}/org.gnome.Shell.Extensions.desktop
%{_desktopdir}/org.gnome.Shell.PortalHelper.desktop
+%{_iconsdir}/hicolor/scalable/apps/org.gnome.Extensions.Devel.svg
+%{_iconsdir}/hicolor/scalable/apps/org.gnome.Extensions.svg
+%{_iconsdir}/hicolor/scalable/apps/org.gnome.Shell.Extensions.svg
+%{_iconsdir}/hicolor/symbolic/apps/org.gnome.Extensions-symbolic.svg
+%{_iconsdir}/hicolor/symbolic/apps/org.gnome.Shell.Extensions-symbolic.svg
+%{_mandir}/man1/gnome-extensions.1*
%{_mandir}/man1/gnome-shell.1*
%{_sysconfdir}/xdg/autostart/gnome-shell-overrides-migration.desktop
-%{systemduserunitdir}/gnome-shell-wayland.target
-%{systemduserunitdir}/gnome-shell-x11.target
-%{systemduserunitdir}/gnome-shell.service
+%{systemduserunitdir}/org.gnome.Shell.target
+%{systemduserunitdir}/org.gnome.Shell-disable-extensions.service
+%{systemduserunitdir}/org.gnome.Shell@wayland.service
+%{systemduserunitdir}/org.gnome.Shell@x11.service
+
+%files -n bash-completion-gnome-shell
+%defattr(644,root,root,755)
+%{bash_compdir}/gnome-extensions
%files devel
%defattr(644,root,root,755)
%{_datadir}/dbus-1/interfaces/org.gnome.ShellSearchProvider.xml
%{_datadir}/dbus-1/interfaces/org.gnome.ShellSearchProvider2.xml
+%if %{with apidocs}
%files apidocs
%defattr(644,root,root,755)
%{_gtkdocdir}/shell
%{_gtkdocdir}/st
+%endif