gnome-kiosk/gnome-kiosk.spec
2024-01-09 17:14:46 +01:00

113 lines
4.1 KiB
RPMSpec

%global tarball_version %%(echo %{version} | tr '~' '.')
%global major_version %(echo -n %{tarball_version} | sed 's/[.].*//')
%global gettext_version 0.19.6
%global gnome_desktop_version 44.0
%global glib2_version 2.68.0
%global gtk4_version 3.24.27
%global mutter_version 46~alpha
%global gsettings_desktop_schemas_version 40~rc
%global ibus_version 1.5.24
%global gnome_settings_daemon_version 40~rc
Name: gnome-kiosk
Version: 45.0
Release: %{autorelease}
Summary: Window management and application launching for GNOME
License: GPL-2.0-or-later
URL: https://gitlab.gnome.org/GNOME/gnome-kiosk
Source0: https://download.gnome.org/sources/%{name}/%{major_version}/%{name}-%{tarball_version}.tar.xz
# Build against mutter API version 14
# https://gitlab.gnome.org/GNOME/gnome-kiosk/-/merge_requests/33
Patch: 0001-Build-against-mutter-API-version-14.patch
Provides: firstboot(windowmanager) = %{name}
BuildRequires: dconf
BuildRequires: desktop-file-utils
BuildRequires: gcc
BuildRequires: gettext >= %{gettext_version}
BuildRequires: git
BuildRequires: mesa-libEGL-devel
BuildRequires: mesa-libGL-devel
BuildRequires: meson
BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version}
BuildRequires: pkgconfig(gobject-2.0) >= %{glib2_version}
BuildRequires: pkgconfig(gio-2.0) >= %{glib2_version}
BuildRequires: pkgconfig(gnome-desktop-4) >= %{gnome_desktop_version}
BuildRequires: pkgconfig(gtk4) >= %{gtk4_version}
BuildRequires: pkgconfig(ibus-1.0) >= %{ibus_version}
BuildRequires: pkgconfig(libmutter-14) >= %{mutter_version}
Requires: gnome-settings-daemon%{?_isa} >= %{gnome_settings_daemon_version}
Requires: gsettings-desktop-schemas%{?_isa} >= %{gsettings_desktop_schemas_version}
%description
GNOME Kiosk provides a desktop enviroment suitable for fixed purpose, or
single application deployments like wall displays and point-of-sale systems.
%package search-appliance
Summary: Example search application application that uses GNOME Kiosk
Requires: %{name} = %{version}-%{release}
Requires: firefox
Requires: gnome-session
BuildArch: noarch
%description search-appliance
This package provides a full screen firefox window pointed to google.
%package script-session
Summary: Basic session used for running kiosk application from shell script
Requires: %{name} = %{version}-%{release}
Recommends: gedit
Requires: gnome-session
BuildArch: noarch
%description script-session
This package generates a shell script and the necessary scaffolding to start that shell script within a kiosk session.
%prep
%autosetup -S git -n %{name}-%{tarball_version}
%build
%meson
%meson_build
%install
%meson_install
%check
desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Kiosk.desktop
desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Kiosk.SearchApp.desktop
%files
%license COPYING
%doc NEWS README.md
%{_bindir}/gnome-kiosk
%{_datadir}/applications/org.gnome.Kiosk.desktop
%{_datadir}/dconf/profile/gnomekiosk
%{_datadir}/gnome-kiosk/gnomekiosk.dconf.compiled
%{_userunitdir}/org.gnome.Kiosk.target
%{_userunitdir}/org.gnome.Kiosk@wayland.service
%{_userunitdir}/org.gnome.Kiosk@x11.service
%files -n gnome-kiosk-search-appliance
%{_datadir}/applications/org.gnome.Kiosk.SearchApp.desktop
%{_datadir}/gnome-session/sessions/org.gnome.Kiosk.SearchApp.session
%{_datadir}/xsessions/org.gnome.Kiosk.SearchApp.Session.desktop
%{_datadir}/wayland-sessions/org.gnome.Kiosk.SearchApp.Session.desktop
%files -n gnome-kiosk-script-session
%{_bindir}/gnome-kiosk-script
%{_userunitdir}/gnome-session@gnome-kiosk-script.target.d/session.conf
%{_userunitdir}/org.gnome.Kiosk.Script.service
%{_datadir}/applications/org.gnome.Kiosk.Script.desktop
%{_datadir}/gnome-session/sessions/gnome-kiosk-script.session
%{_datadir}/wayland-sessions/gnome-kiosk-script-wayland.desktop
%{_datadir}/xsessions/gnome-kiosk-script-xorg.desktop
%changelog
%autochangelog