+#
+# Conditional build:
+%bcond_without apidocs # API documentation
+
%define clutter_ver 1.21.5
# max(ecal_req, eds_req)
%define evolution_data_server_ver 3.33.1
-%define gcr_ver 3.7.5
-%define gjs_ver 1.63.2
-%define glib_ver 1:2.56.0
+%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.36.0
-%define gsettings_desktop_schemas_ver 3.33.1
+%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.36.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.36.6
+Version: 43.7
Release: 1
License: GPL v2+
Group: X11/Window Managers
-Source0: http://ftp.gnome.org/pub/GNOME/sources/gnome-shell/3.36/%{name}-%{version}.tar.xz
-# Source0-md5: 60103fd2370e7f1cc9e7ba8c7a711379
+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: 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-autoar-devel
-BuildRequires: gnome-bluetooth-devel >= %{gnome_bluetooth_ver}
+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 >= 3
+BuildRequires: python3 >= 1:3
BuildRequires: python3-pygobject3 >= 3
+BuildRequires: rpm-build >= 4.6
BuildRequires: rpm-pythonprov
-BuildRequires: rpmbuild(macros) >= 1.736
+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-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: 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}" >= "4.6"
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
%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}
%{_libdir}/gnome-shell/St-1.0.typelib
%dir %{_libdir}/gnome-shell/girepository-1.0
%{_libdir}/gnome-shell/girepository-1.0/Shew-0.typelib
-%{_datadir}/GConf/gsettings/gnome-shell-overrides.convert
%{_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
%{_mandir}/man1/gnome-extensions.1*
%{_mandir}/man1/gnome-shell.1*
%{_sysconfdir}/xdg/autostart/gnome-shell-overrides-migration.desktop
-%{systemduserunitdir}/gnome-shell-disable-extensions.service
-%{systemduserunitdir}/gnome-shell-wayland.service
-%{systemduserunitdir}/gnome-shell-wayland.target
-%{systemduserunitdir}/gnome-shell-x11.service
-%{systemduserunitdir}/gnome-shell-x11.target
+%{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