Florian Müllner f931fb5
%global tarball_version %%(echo %{version} | tr '~' '.')
Florian Müllner f931fb5
c7a4179
Name:           gnome-shell
ade6025
Version:        44.10
Florian Müllner 9a13fb0
Release:        %autorelease
c7a4179
Summary:        Window management and application launching for GNOME
c7a4179
c7a4179
License:        GPLv2+
Florian Müllner 6be35a7
URL:            https://wiki.gnome.org/Projects/GnomeShell
Florian Müllner 0154232
Source0:        https://download.gnome.org/sources/gnome-shell/44/%{name}-%{tarball_version}.tar.xz
f55b0c8
22f42d8
# Replace Epiphany with Firefox in the default favourite apps list
d516442
Patch10001: gnome-shell-favourite-apps-firefox.patch
d540c8f
Florian Müllner 0fa492b
# Some users might have a broken PAM config, so we really need this
Florian Müllner 0fa492b
# downstream patch to stop trying on configuration errors.
d516442
Patch40001: 0001-gdm-Work-around-failing-fingerprint-auth.patch
d516442
2ba55d5
%define eds_version 3.45.1
Florian Müllner 8ec8e1b
%define gnome_desktop_version 40
82b7b11
%define glib2_version 2.56.0
82b7b11
%define gobject_introspection_version 1.49.1
2df34b9
%define gjs_version 1.73.1
69e72f9
%define gtk3_version 3.15.0
Florian Müllner 1a141e5
%define gtk4_version 4.0.0
Florian Müllner a1ec0de
%define adwaita_version 1.0.0
Florian Müllner 267a41f
%define mutter_version 44.0
82b7b11
%define polkit_version 0.100
593714b
%define gsettings_desktop_schemas_version 42~beta
Florian Müllner 758055e
%define ibus_version 1.5.2
Florian Müllner 9b9265d
%define gnome_bluetooth_version 1:42.3
dc05502
%define gstreamer_version 1.4.5
Florian Müllner eb59734
%define pipewire_version 0.3.0
4dc151e
%define gnome_settings_daemon_version 3.37.1
b4adfe0
84c64a0
BuildRequires:  bash-completion
Phil Wyett 8d83102
BuildRequires:  gcc
Florian Müllner c6f1e51
BuildRequires:  meson
Florian Müllner f140734
BuildRequires:  git
157a28c
BuildRequires:  pkgconfig(ibus-1.0) >= %{ibus_version}
c7a4179
BuildRequires:  desktop-file-utils
157a28c
BuildRequires:  pkgconfig(libedataserver-1.2) >= %{eds_version}
e4499ad
BuildRequires:  pkgconfig(gcr-4)
157a28c
BuildRequires:  pkgconfig(gjs-1.0) >= %{gjs_version}
157a28c
BuildRequires:  pkgconfig(gio-2.0) >= %{glib2_version}
157a28c
BuildRequires:  pkgconfig(gnome-autoar-0)
Florian Müllner 8ec8e1b
BuildRequires:  pkgconfig(gnome-desktop-4)
157a28c
BuildRequires:  pkgconfig(gobject-introspection-1.0) >= %{gobject_introspection_version}
Florian Müllner c6f1e51
BuildRequires:  mesa-libGL-devel
Florian Müllner e7b9b09
BuildRequires:  mesa-libEGL-devel
157a28c
BuildRequires:  pkgconfig(libnm)
157a28c
BuildRequires:  pkgconfig(polkit-agent-1) >= %{polkit_version}
157a28c
BuildRequires:  pkgconfig(libstartup-notification-1.0)
157a28c
BuildRequires:  pkgconfig(libsystemd)
c7a4179
# for screencast recorder functionality
157a28c
BuildRequires:  pkgconfig(gstreamer-base-1.0) >= %{gstreamer_version}
afa2479
BuildRequires:  pkgconfig(libpipewire-0.3) >= %{pipewire_version}
157a28c
BuildRequires:  pkgconfig(gdk-x11-3.0) >= %{gtk3_version}
157a28c
BuildRequires:  pkgconfig(gtk4) >= %{gtk4_version}
Florian Müllner 343175c
BuildRequires:  gettext >= 0.19.6
4996313
BuildRequires:  python3
e192eda
6c79901
# for barriers
6c79901
BuildRequires:  libXfixes-devel >= 5.0
c7a4179
# used in unused BigThemeImage
c7a4179
BuildRequires:  librsvg2-devel
c7a4179
BuildRequires:  mutter-devel >= %{mutter_version}
157a28c
BuildRequires:  pkgconfig(libpulse)
dc4604b
%ifnarch s390 s390x ppc ppc64 ppc64p7
Debarshi Ray bf909ad
BuildRequires:  gnome-bluetooth-libs-devel >= %{gnome_bluetooth_version}
d2811fa
%endif
361e55c
# Bootstrap requirements
Florian Müllner c6f1e51
BuildRequires: gtk-doc
e5d65e3
%ifnarch s390 s390x
3ab252d
Recommends:     gnome-bluetooth%{?_isa} >= %{gnome_bluetooth_version}
e5d65e3
%endif
d4bceda
Requires:       gnome-desktop3%{?_isa} >= %{gnome_desktop_version}
e0229fe
%if 0%{?rhel} != 7
e0229fe
# Disabled on RHEL 7 to allow logging into KDE session by default
70f07ed
Recommends:     gnome-session-xsession
dc05502
%endif
76382e6
Requires:       gcr%{?_isa}
a1a66df
Requires:       gobject-introspection%{?_isa} >= %{gobject_introspection_version}
4e3df0b
Requires:       gjs%{?_isa} >= %{gjs_version}
69e72f9
Requires:       gtk3%{?_isa} >= %{gtk3_version}
Florian Müllner 1a141e5
Requires:       gtk4%{?_isa} >= %{gtk4_version}
Florian Müllner a1ec0de
Requires:       libadwaita%{_isa} >= %{adwaita_version}
Florian Müllner 582836e
Requires:       libnma-gtk4%{?_isa}
c7a4179
# needed for loading SVG's via gdk-pixbuf
a1a66df
Requires:       librsvg2%{?_isa}
a1a66df
Requires:       mutter%{?_isa} >= %{mutter_version}
a1a66df
Requires:       upower%{?_isa}
82b7b11
Requires:       polkit%{?_isa} >= %{polkit_version}
Florian Müllner 8ec8e1b
Requires:       gnome-desktop4%{?_isa} >= %{gnome_desktop_version}
82b7b11
Requires:       glib2%{?_isa} >= %{glib2_version}
4e3df0b
Requires:       gsettings-desktop-schemas%{?_isa} >= %{gsettings_desktop_schemas_version}
4dc151e
Requires:       gnome-settings-daemon%{?_isa} >= %{gnome_settings_daemon_version}
dc05502
Requires:       gstreamer1%{?_isa} >= %{gstreamer_version}
afa2479
# needed for screen recorder
098d20f
Requires:       gstreamer1-plugins-good%{?_isa}
afa2479
Requires:       pipewire-gstreamer%{?_isa}
098d20f
Requires:       xdg-user-dirs-gtk
13a8f37
# needed for schemas
a1a66df
Requires:       at-spi2-atk%{?_isa}
eb16f3a
# needed for on-screen keyboard
Florian Müllner 758055e
Requires:       ibus%{?_isa} >= %{ibus_version}
Florian Müllner 11e9865
# needed for "show keyboard layout"
Florian Müllner 11e9865
Requires:       libgnomekbd
982e4e0
# needed for the user menu
4e3df0b
Requires:       accountsservice-libs%{?_isa}
4e3df0b
Requires:       gdm-libs%{?_isa}
Florian Müllner 3aa26dd
# needed for settings items in menus
593714b
Requires:       gnome-control-center
Florian Müllner 5e2d9bd
# needed by some utilities
Florian Müllner 5e2d9bd
Requires:       python3%{_isa}
Bastien Nocera ff136de
# needed for the dual-GPU launch menu
Bastien Nocera ff136de
Requires:       switcheroo-control
Florian Müllner 7e730c3
# needed for clocks/weather integration
Igor Gnatenko 4557576
Requires:       geoclue2-libs%{?_isa}
f559490
Requires:       libgweather4%{?_isa}
Florian Müllner a48ce12
# for gnome-extensions CLI tool
Florian Müllner a48ce12
Requires:  gettext
Florian Müllner 3f86411
# needed for thunderbolt support
Florian Müllner 3f86411
Requires:       bolt%{?_isa}
07ded10
# Needed for launching flatpak apps etc
0b9be4d
# 1.8.0 is needed for source type support in the screencast portal.
0b9be4d
Requires:       xdg-desktop-portal-gtk >= 1.8.0
Florian Müllner dcda354
Requires:       xdg-desktop-portal-gnome
9d11163
# needed by the welcome dialog
9d11163
Recommends:     gnome-tour
c7a4179
c7398b6
Provides:       desktop-notification-daemon = %{version}-%{release}
cd9369d
Provides:       PolicyKit-authentication-agent = %{version}-%{release}
Florian Müllner 3b5b7ff
Provides:       bundled(gvc)
Florian Müllner 3b5b7ff
Provides:       bundled(libcroco) = 0.6.13
cd9369d
652e51a
%if 0%{?rhel}
652e51a
# In Fedora, fedora-obsolete-packages obsoletes caribou
652e51a
Obsoletes:      caribou < 0.4.21-10
652e51a
Obsoletes:      caribou-antler < 0.4.21-10
652e51a
Obsoletes:      caribou-devel < 0.4.21-10
652e51a
Obsoletes:      caribou-gtk2-module < 0.4.21-10
652e51a
Obsoletes:      caribou-gtk3-module < 0.4.21-10
b0ec233
Obsoletes:      python-caribou < 0.4.21-10
652e51a
Obsoletes:      python2-caribou < 0.4.21-10
652e51a
Obsoletes:      python3-caribou < 0.4.21-10
652e51a
%endif
Florian Müllner 1806c73
Florian Müllner 5202306
# https://bugzilla.redhat.com/show_bug.cgi?id=1740897
Florian Müllner 5202306
Conflicts:      gnome-shell-extension-background-logo < 3.34.0
Florian Müllner 5202306
c7a4179
%description
c7a4179
GNOME Shell provides core user interface functions for the GNOME 3 desktop,
c7a4179
like switching to windows and launching applications. GNOME Shell takes
c7a4179
advantage of the capabilities of modern graphics hardware and introduces
c7a4179
innovative user interface concepts to provide a visually attractive and
c7a4179
easy to use experience.
c7a4179
c7a4179
%prep
Florian Müllner f931fb5
%autosetup -S git -n %{name}-%{tarball_version}
ff9232b
c7a4179
%build
Florian Müllner 9a1a96f
%meson -Dextensions_app=false
Igor Gnatenko 86304c5
%meson_build
c7a4179
c7a4179
%install
Florian Müllner c6f1e51
%meson_install
c7a4179
a5548a2
# Create empty directories where other packages can drop extensions
a5548a2
mkdir -p %{buildroot}%{_datadir}/gnome-shell/extensions
a5548a2
mkdir -p %{buildroot}%{_datadir}/gnome-shell/search-providers
a5548a2
7cc6aa1
%find_lang %{name}
7cc6aa1
7cc6aa1
%check
07a5b6c
desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.desktop
Florian Müllner 0154232
desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.Extensions.desktop
Florian Müllner 0154232
desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.PortalHelper.desktop
c7a4179
1f19584
%files -f %{name}.lang
4342973
%license COPYING
Florian Müllner 9b1c183
%doc README.md
1eb0690
%{_bindir}/gnome-shell
84c64a0
%{_bindir}/gnome-extensions
Florian Müllner 9ee697e
%{_bindir}/gnome-shell-extension-prefs
Owen W. Taylor 95dbc16
%{_bindir}/gnome-shell-extension-tool
b94efde
%{_bindir}/gnome-shell-perf-tool
83b664e
%{_datadir}/glib-2.0/schemas/*.xml
Florian Müllner 4156f41
%{_datadir}/glib-2.0/schemas/00_org.gnome.shell.gschema.override
Florian Müllner 6eb6549
%{_datadir}/applications/org.gnome.Shell.Extensions.desktop
07a5b6c
%{_datadir}/applications/org.gnome.Shell.desktop
79f637e
%{_datadir}/applications/org.gnome.Shell.PortalHelper.desktop
84c64a0
%{_datadir}/bash-completion/completions/gnome-extensions
Florian Müllner 98f5bda
%{_datadir}/gnome-control-center/keybindings/50-gnome-shell-launchers.xml
Florian Müllner a1ec0de
%{_datadir}/gnome-control-center/keybindings/50-gnome-shell-screenshots.xml
Florian Müllner 6c57217
%{_datadir}/gnome-control-center/keybindings/50-gnome-shell-system.xml
c7a4179
%{_datadir}/gnome-shell/
Florian Müllner 1a141e5
%{_datadir}/dbus-1/services/org.gnome.ScreenSaver.service
Owen W. Taylor 95dbc16
%{_datadir}/dbus-1/services/org.gnome.Shell.CalendarServer.service
Florian Müllner 9a1a96f
%{_datadir}/dbus-1/services/org.gnome.Shell.Extensions.service
Bastien Nocera 57f0ef1
%{_datadir}/dbus-1/services/org.gnome.Shell.HotplugSniffer.service
Florian Müllner 9a1a96f
%{_datadir}/dbus-1/services/org.gnome.Shell.Notifications.service
79f637e
%{_datadir}/dbus-1/services/org.gnome.Shell.PortalHelper.service
Florian Müllner eb59734
%{_datadir}/dbus-1/services/org.gnome.Shell.Screencast.service
Florian Müllner e902c6d
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Extensions.xml
Florian Müllner df0a99a
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Introspect.xml
6dddfd8
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.PadOsd.xml
Florian Müllner 18d231b
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Screencast.xml
Florian Müllner d2d296d
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Screenshot.xml
2c8fc5b
%{_datadir}/dbus-1/interfaces/org.gnome.ShellSearchProvider.xml
9e5487d
%{_datadir}/dbus-1/interfaces/org.gnome.ShellSearchProvider2.xml
Florian Müllner 6eb6549
%{_datadir}/icons/hicolor/scalable/apps/org.gnome.Shell.Extensions.svg
Florian Müllner 6eb6549
%{_datadir}/icons/hicolor/symbolic/apps/org.gnome.Shell.Extensions-symbolic.svg
Florian Müllner ee73565
%{_userunitdir}/org.gnome.Shell-disable-extensions.service
Florian Müllner ee73565
%{_userunitdir}/org.gnome.Shell.target
Florian Müllner ee73565
%{_userunitdir}/org.gnome.Shell@wayland.service
Florian Müllner ee73565
%{_userunitdir}/org.gnome.Shell@x11.service
Florian Müllner 2c9efaa
# Co own directory instead of pulling in xdg-desktop-portal - we
Florian Müllner 2c9efaa
# are providing a backend to the portal, not depending on it
Florian Müllner 2c9efaa
%dir %{_datadir}/xdg-desktop-portal/portals/
Florian Müllner 2c9efaa
%{_datadir}/xdg-desktop-portal/portals/gnome-shell.portal
c7a4179
%{_libdir}/gnome-shell/
Owen W. Taylor 95dbc16
%{_libexecdir}/gnome-shell-calendar-server
74f824c
%{_libexecdir}/gnome-shell-perf-helper
Bastien Nocera 57f0ef1
%{_libexecdir}/gnome-shell-hotplug-sniffer
79f637e
%{_libexecdir}/gnome-shell-portal-helper
84c64a0
%{_mandir}/man1/gnome-extensions.1*
84c64a0
%{_mandir}/man1/gnome-shell.1*
cc6ffb0
c7a4179
%changelog
Florian Müllner 9a13fb0
%autochangelog