gnome-shell/gnome-shell.spec

283 lines
10 KiB
RPMSpec
Raw Normal View History

2021-03-16 15:55:19 +00:00
%global tarball_version %%(echo %{version} | tr '~' '.')
2024-01-07 10:35:29 +00:00
%global major_version %%(cut -d "." -f 1 <<<%{tarball_version})
2021-03-16 15:55:19 +00:00
%if 0%{?rhel}
%global portal_helper 0
%else
%global portal_helper 1
%endif
2009-08-13 00:07:57 +00:00
Name: gnome-shell
Version: 47.1
2023-09-06 13:52:42 +00:00
Release: %autorelease
2009-08-13 00:07:57 +00:00
Summary: Window management and application launching for GNOME
2023-11-27 08:00:23 +00:00
License: GPL-2.0-or-later
2016-10-07 12:33:37 +00:00
URL: https://wiki.gnome.org/Projects/GnomeShell
2024-01-07 10:35:29 +00:00
Source0: https://download.gnome.org/sources/gnome-shell/%{major_version}/%{name}-%{tarball_version}.tar.xz
# Replace Epiphany with Firefox in the default favourite apps list, etc
# and enable background extension by default
Patch: gnome-shell-favourite-apps-firefox.patch
Patch: gnome-shell-favourite-apps-terminal.patch
Patch: gnome-shell-enabled-extensions-background-logos.patch
2021-05-13 15:49:09 +00:00
# Some users might have a broken PAM config, so we really need this
# downstream patch to stop trying on configuration errors.
Patch: 0001-gdm-Work-around-failing-fingerprint-auth.patch
# GDM/Lock stuff
Patch: 0001-screenShield-unblank-when-inserting-smartcard.patch
Patch: enforce-smartcard-at-unlock.patch
Patch: disable-unlock-entry-until-question.patch
# Extensions
Patch: 0001-extensionDownloader-Refuse-to-override-system-extens.patch
# Misc.
Patch: 0001-panel-Use-branding-in-activities-button.patch
Patch: 0001-app-Fall-back-to-window-title-instead-of-WM_CLASS.patch
Patch: 0001-windowMenu-Bring-back-workspaces-submenu-for-static-.patch
Patch: 0001-main-Dump-stack-on-segfaults-by-default.patch
Patch: 0001-st-texture-cache-purge-on-resume.patch
Patch: fix-some-js-warnings.patch
Patch: 0001-data-Update-generated-stylesheets.patch
Patch: 0001-dialog-Wrap-titles.patch
2024-09-19 12:08:24 +00:00
%if 0%{!?almalinux}
Patch: 0001-theme-Welcome-Illustration.patch
2024-09-19 12:08:24 +00:00
%endif
%define eds_version 3.45.1
%define gnome_desktop_version 44.0-7
%define glib2_version 2.79.2
%define gobject_introspection_version 1.49.1
2022-08-11 08:29:37 +00:00
%define gjs_version 1.73.1
2021-01-15 00:43:33 +00:00
%define gtk4_version 4.0.0
%define adwaita_version 1.5.0
%define mutter_version 47.0
%define polkit_version 0.100
%define gsettings_desktop_schemas_version 47~alpha
2018-02-21 22:39:29 +00:00
%define ibus_version 1.5.2
2022-09-04 14:26:25 +00:00
%define gnome_bluetooth_version 1:42.3
%define gstreamer_version 1.4.5
2020-09-02 02:01:18 +00:00
%define pipewire_version 0.3.0
%define gnome_settings_daemon_version 3.37.1
2019-08-26 22:05:04 +00:00
BuildRequires: bash-completion
2019-03-25 11:12:54 +00:00
BuildRequires: gcc
BuildRequires: meson
BuildRequires: git
BuildRequires: pkgconfig(ibus-1.0) >= %{ibus_version}
2009-08-13 00:07:57 +00:00
BuildRequires: desktop-file-utils
BuildRequires: pkgconfig(libedataserver-1.2) >= %{eds_version}
BuildRequires: pkgconfig(gcr-4)
BuildRequires: pkgconfig(gjs-1.0) >= %{gjs_version}
BuildRequires: pkgconfig(gio-2.0) >= %{glib2_version}
BuildRequires: pkgconfig(gnome-autoar-0)
BuildRequires: pkgconfig(gnome-desktop-4) >= %{gnome_desktop_version}
BuildRequires: pkgconfig(gobject-introspection-1.0) >= %{gobject_introspection_version}
BuildRequires: mesa-libGL-devel
2019-12-12 13:32:46 +00:00
BuildRequires: mesa-libEGL-devel
BuildRequires: pkgconfig(libnm)
BuildRequires: pkgconfig(polkit-agent-1) >= %{polkit_version}
BuildRequires: pkgconfig(libstartup-notification-1.0)
BuildRequires: pkgconfig(libsystemd)
2009-08-13 00:07:57 +00:00
# for screencast recorder functionality
BuildRequires: pkgconfig(gstreamer-base-1.0) >= %{gstreamer_version}
BuildRequires: pkgconfig(libpipewire-0.3) >= %{pipewire_version}
BuildRequires: pkgconfig(gtk4) >= %{gtk4_version}
2016-08-19 20:53:38 +00:00
BuildRequires: gettext >= 0.19.6
BuildRequires: python3
2011-08-31 21:16:08 +00:00
# for rst2man
BuildRequires: python3-docutils
2011-03-24 01:56:43 +00:00
# for barriers
BuildRequires: libXfixes-devel >= 5.0
2009-08-13 00:07:57 +00:00
# used in unused BigThemeImage
BuildRequires: librsvg2-devel
BuildRequires: mutter-devel >= %{mutter_version}
BuildRequires: pkgconfig(libpulse)
2012-12-10 20:34:40 +00:00
%ifnarch s390 s390x ppc ppc64 ppc64p7
BuildRequires: gnome-bluetooth-libs-devel >= %{gnome_bluetooth_version}
2011-04-28 14:43:47 +00:00
%endif
# Bootstrap requirements
BuildRequires: gtk-doc
%ifnarch s390 s390x
Recommends: gnome-bluetooth%{?_isa} >= %{gnome_bluetooth_version}
%endif
2013-06-02 16:47:23 +00:00
Requires: gnome-desktop3%{?_isa} >= %{gnome_desktop_version}
2018-08-10 17:17:32 +00:00
%if 0%{?rhel} != 7
# Disabled on RHEL 7 to allow logging into KDE session by default
Recommends: gnome-session-xsession
%endif
2022-09-02 16:01:19 +00:00
Requires: gcr%{?_isa}
Requires: gobject-introspection%{?_isa} >= %{gobject_introspection_version}
Requires: gjs%{?_isa} >= %{gjs_version}
2021-01-15 00:43:33 +00:00
Requires: gtk4%{?_isa} >= %{gtk4_version}
2022-02-14 23:09:21 +00:00
Requires: libadwaita%{_isa} >= %{adwaita_version}
Requires: libnma-gtk4%{?_isa}
2009-08-13 00:07:57 +00:00
# needed for loading SVG's via gdk-pixbuf
Requires: librsvg2%{?_isa}
Requires: mutter%{?_isa} >= %{mutter_version}
Requires: upower%{?_isa}
Requires: polkit%{?_isa} >= %{polkit_version}
2023-03-06 18:03:38 +00:00
Requires: gnome-desktop4%{?_isa} >= %{gnome_desktop_version}
Requires: glib2%{?_isa} >= %{glib2_version}
Requires: gsettings-desktop-schemas%{?_isa} >= %{gsettings_desktop_schemas_version}
Requires: gnome-settings-daemon%{?_isa} >= %{gnome_settings_daemon_version}
Requires: gstreamer1%{?_isa} >= %{gstreamer_version}
# needed for screen recorder
Requires: gstreamer1-plugins-good%{?_isa}
Requires: pipewire-gstreamer%{?_isa}
Requires: xdg-user-dirs-gtk
2011-07-27 01:49:55 +00:00
# needed for schemas
Requires: at-spi2-atk%{?_isa}
2011-09-07 10:51:55 +00:00
# needed for on-screen keyboard
2018-02-21 22:39:29 +00:00
Requires: ibus%{?_isa} >= %{ibus_version}
# needed for "show keyboard layout"
2023-08-08 11:35:17 +00:00
Requires: tecla
2012-02-10 04:56:59 +00:00
# needed for the user menu
Requires: accountsservice-libs%{?_isa}
Requires: gdm-libs%{?_isa}
# needed for settings items in menus
Requires: gnome-control-center
2014-11-27 15:34:14 +00:00
# needed by some utilities
Requires: python3%{_isa}
# needed for the dual-GPU launch menu
Requires: switcheroo-control
# needed for clocks/weather integration
Requires: geoclue2-libs%{?_isa}
2022-01-14 21:11:30 +00:00
Requires: libgweather4%{?_isa}
# for gnome-extensions CLI tool
Requires: gettext
# needed for thunderbolt support
Recommends: bolt%{?_isa}
# Needed for launching flatpak apps etc
# 1.8.0 is needed for source type support in the screencast portal.
Requires: xdg-desktop-portal-gtk >= 1.8.0
Requires: xdg-desktop-portal-gnome
# needed by the welcome dialog
Recommends: gnome-tour
%if %{portal_helper}
# needed for captive portal helper
Requires: webkitgtk6.0%{?_isa}
%endif
2009-08-13 00:07:57 +00:00
2024-01-18 14:26:17 +00:00
# https://github.com/containers/composefs/pull/229#issuecomment-1838735764
%if 0%{?rhel} >= 10
ExcludeArch: %{ix86}
%endif
Provides: desktop-notification-daemon = %{version}-%{release}
Provides: PolicyKit-authentication-agent = %{version}-%{release}
2021-06-11 18:55:10 +00:00
Provides: bundled(gvc)
Provides: bundled(libcroco) = 0.6.13
%if 0%{?rhel}
# In Fedora, fedora-obsolete-packages obsoletes caribou
Obsoletes: caribou < 0.4.21-10
Obsoletes: caribou-antler < 0.4.21-10
Obsoletes: caribou-devel < 0.4.21-10
Obsoletes: caribou-gtk2-module < 0.4.21-10
Obsoletes: caribou-gtk3-module < 0.4.21-10
Obsoletes: python-caribou < 0.4.21-10
Obsoletes: python2-caribou < 0.4.21-10
Obsoletes: python3-caribou < 0.4.21-10
%endif
# https://bugzilla.redhat.com/show_bug.cgi?id=1740897
Conflicts: gnome-shell-extension-background-logo < 3.34.0
2009-08-13 00:07:57 +00:00
%description
GNOME Shell provides core user interface functions for the GNOME 3 desktop,
like switching to windows and launching applications. GNOME Shell takes
advantage of the capabilities of modern graphics hardware and introduces
innovative user interface concepts to provide a visually attractive and
easy to use experience.
%prep
2021-03-16 15:55:19 +00:00
%autosetup -S git -n %{name}-%{tarball_version}
2012-01-20 03:00:58 +00:00
2009-08-13 00:07:57 +00:00
%build
%meson \
-Dextensions_app=false \
%if %{portal_helper}
-Dportal_helper=true \
%else
-Dportal_helper=false \
%endif
%{nil}
%meson_build
2009-08-13 00:07:57 +00:00
%install
%meson_install
2009-08-13 00:07:57 +00:00
# Create empty directories where other packages can drop extensions
mkdir -p %{buildroot}%{_datadir}/gnome-shell/extensions
mkdir -p %{buildroot}%{_datadir}/gnome-shell/search-providers
%find_lang %{name}
%check
2015-11-10 18:12:35 +00:00
desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.desktop
2023-02-14 17:11:34 +00:00
desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.Extensions.desktop
%if %{portal_helper}
2023-02-14 17:11:34 +00:00
desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.PortalHelper.desktop
%endif
2009-08-13 00:07:57 +00:00
%files -f %{name}.lang
2015-03-17 19:24:24 +00:00
%license COPYING
2024-01-08 08:49:47 +00:00
%doc NEWS README.md
%{_bindir}/gnome-shell
2019-08-26 22:05:04 +00:00
%{_bindir}/gnome-extensions
2011-03-08 05:52:37 +00:00
%{_bindir}/gnome-shell-extension-tool
2023-08-08 11:35:17 +00:00
%{_bindir}/gnome-shell-test-tool
2010-07-13 13:57:29 +00:00
%{_datadir}/glib-2.0/schemas/*.xml
%{_datadir}/glib-2.0/schemas/00_org.gnome.shell.gschema.override
%{_datadir}/applications/org.gnome.Shell.Extensions.desktop
2015-11-10 18:12:35 +00:00
%{_datadir}/applications/org.gnome.Shell.desktop
2019-08-26 22:05:04 +00:00
%{_datadir}/bash-completion/completions/gnome-extensions
2021-08-18 00:08:15 +00:00
%{_datadir}/gnome-control-center/keybindings/50-gnome-shell-launchers.xml
2022-02-14 23:09:21 +00:00
%{_datadir}/gnome-control-center/keybindings/50-gnome-shell-screenshots.xml
2012-09-19 13:42:53 +00:00
%{_datadir}/gnome-control-center/keybindings/50-gnome-shell-system.xml
2009-08-13 00:07:57 +00:00
%{_datadir}/gnome-shell/
2021-01-15 00:43:33 +00:00
%{_datadir}/dbus-1/services/org.gnome.ScreenSaver.service
2011-03-08 05:52:37 +00:00
%{_datadir}/dbus-1/services/org.gnome.Shell.CalendarServer.service
2020-03-30 22:46:16 +00:00
%{_datadir}/dbus-1/services/org.gnome.Shell.Extensions.service
2011-08-02 15:10:49 +00:00
%{_datadir}/dbus-1/services/org.gnome.Shell.HotplugSniffer.service
2020-03-30 22:46:16 +00:00
%{_datadir}/dbus-1/services/org.gnome.Shell.Notifications.service
2020-09-02 02:01:18 +00:00
%{_datadir}/dbus-1/services/org.gnome.Shell.Screencast.service
2018-10-08 20:22:48 +00:00
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Extensions.xml
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Introspect.xml
2016-12-06 23:58:41 +00:00
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.PadOsd.xml
2013-05-29 14:12:09 +00:00
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Screencast.xml
2013-01-15 12:38:32 +00:00
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Screenshot.xml
2012-02-26 16:15:42 +00:00
%{_datadir}/dbus-1/interfaces/org.gnome.ShellSearchProvider.xml
2012-12-20 21:47:39 +00:00
%{_datadir}/dbus-1/interfaces/org.gnome.ShellSearchProvider2.xml
%{_datadir}/icons/hicolor/scalable/apps/org.gnome.Shell.Extensions.svg
%{_datadir}/icons/hicolor/symbolic/apps/org.gnome.Shell.Extensions-symbolic.svg
2020-08-13 23:16:53 +00:00
%{_userunitdir}/org.gnome.Shell-disable-extensions.service
%{_userunitdir}/org.gnome.Shell.target
%{_userunitdir}/org.gnome.Shell@wayland.service
%{_userunitdir}/org.gnome.Shell@x11.service
2009-08-13 00:07:57 +00:00
%{_libdir}/gnome-shell/
2011-03-08 05:52:37 +00:00
%{_libexecdir}/gnome-shell-calendar-server
2011-03-24 03:32:15 +00:00
%{_libexecdir}/gnome-shell-perf-helper
2011-08-02 15:10:49 +00:00
%{_libexecdir}/gnome-shell-hotplug-sniffer
2019-08-26 22:05:04 +00:00
%{_mandir}/man1/gnome-extensions.1*
%{_mandir}/man1/gnome-shell.1*
2010-07-13 16:59:01 +00:00
%if %{portal_helper}
%{_datadir}/applications/org.gnome.Shell.PortalHelper.desktop
%{_datadir}/dbus-1/services/org.gnome.Shell.PortalHelper.service
%{_datadir}/icons/hicolor/scalable/apps/org.gnome.Shell.CaptivePortal.svg
%{_datadir}/icons/hicolor/symbolic/apps/org.gnome.Shell.CaptivePortal-symbolic.svg
%{_libexecdir}/gnome-shell-portal-helper
%endif
2009-08-13 00:07:57 +00:00
%changelog
2023-04-25 08:16:47 +00:00
%autochangelog