Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37549610
en ru br
ALT Linux repos
S:45.0-alt1
5.0: 2.26.1-alt1
4.1: 2.22.3-alt0.M41.1
4.0: 2.16.0-alt3
3.0: 2.10.0-alt1

Group :: Graphical desktop/GNOME
RPM: gnome-session

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

%def_disable snapshot
%define _userunitdir %(pkg-config systemd --variable systemduserunitdir)

%define ver_major 45
%define beta %nil
%define _libexecdir %_prefix/libexec
%def_enable systemd
%def_enable session_selector
%def_disable consolekit
%def_enable docs
%def_enable man

Name: gnome-session
Version: %ver_major.0
Release: alt1%beta

Summary: The gnome session programs for the GNOME GUI desktop environment
Group: Graphical desktop/GNOME
License: GPL-2.0
Url: https://wiki.gnome.org/Projects/SessionManagement

%if_disabled snapshot
Source: %gnome_ftp/%name/%ver_major/%name-%version%beta.tar.xz
%else
Source: %name-%version%beta.tar
%endif
Source1: gnome.svg

# https://bugzilla.gnome.org/show_bug.cgi?id=775463

Patch: %name-2.91.6-alt-autosave_session.patch

# fedora patches:

# Blacklist NV30: https://bugzilla.redhat.com/show_bug.cgi?id=745202
Patch11: gnome-session-3.3.92-nv30.patch

# From configure.ac

%define glib_ver 2.46.0
%define gtk_ver 3.22.0
%define polkit_ver 0.91
%define upower_ver 0.9
%define systemd_ver 242

Requires(pre): xinitrc libcanberra-gnome libcanberra-gtk3
Requires: altlinux-freedesktop-menu-gnome3
Requires: dbus-tools-gui
Requires: gnome-filesystem
Requires: upower gcr gcr4
Requires: xdg-user-dirs

Requires: icon-theme-hicolor gnome-icon-theme-symbolic gnome-themes-standard

BuildRequires(pre): rpm-macros-meson rpm-build-gnome rpm-build-systemd
BuildRequires: meson libGConf2-devel
BuildRequires: libgio-devel glib2-devel >= %glib_ver
BuildRequires: libgtk+3-devel >= %gtk_ver
# https://bugzilla.gnome.org/show_bug.cgi?id=710383
# BuildRequires: libupower-devel >= %upower_ver
BuildRequires: libgnome-desktop3-devel librsvg-devel libjson-glib-devel
BuildRequires: libX11-devel libXau-devel libXrandr-devel libXrender-devel libXt-devel
BuildRequires: libSM-devel libXext-devel libXtst-devel libXi-devel libXcomposite-devel
BuildRequires: libGL-devel libGLES-devel
BuildRequires: GConf browser-plugins-npapi-devel perl-XML-Parser xorg-xtrans-devel
BuildRequires: docbook-utils
%{?_enable_systemd:BuildRequires: pkgconfig(systemd) >= %systemd_ver libpolkit-devel}
%{?_enable_consolekit:BuildRequires: libdbus-glib-devel}
%{?_enable_docs:BuildRequires: docbook-utils xmlto}
%{?_enable_man:BuildRequires: docbook-utils docbook-style-xsl xsltproc}
# since 3.22.2
BuildRequires: libepoxy-devel

%description
GNOME (GNU Network Object Model Environment) is a user-friendly set of
applications and desktop tools to be used in conjunction with a window
manager for the X Window System.

This package provides the GNOME session manager, as well as a
configuration program to choose applications starting on login.

%package selector
Summary: The session selector for the GNOME
Group: Graphical desktop/GNOME
Requires: %name = %EVR

%description selector
This package permits to choose a saved GNOME session.

%package wayland
Summary: A Wayland session for the GNOME
Group: Graphical desktop/GNOME
BuildArch: noarch
Requires: %name = %EVR
Requires: xorg-xwayland

%description wayland
This package permits to log into GNOME using Wayland.

%prep
%setup -n %name-%version%beta
%patch11 -p1 -b .nv30

%build
export PATH=$PATH:/sbin
%meson \
   %{?_disable_systemd:-Dsystemd=false} \
   %{?_enable_consolekit:-Dconsolekit=true} \
   %{?_enable_session_selector:-Dsession_selector=true} \
   %{?_disable_docs:-Ddocbook=false} \
   %{?_disable_man:-Dman=false}
%nil
%meson_build

%install
%meson_install

%find_lang --with-gnome --output=%name.lang %name-%ver_major

%check
%meson_test

%files -f %name.lang
%_bindir/%name
%_bindir/%name-inhibit
%_bindir/%name-quit
%_libexecdir/%name-binary
%_libexecdir/%name-check-accelerated
%_libexecdir/%name-check-accelerated-gl-helper
%_libexecdir/%name-check-accelerated-gles-helper
%_libexecdir/%name-ctl
%_libexecdir/%name-failed
%dir %_datadir/%name
%_datadir/%name/hardware-compatibility
%_datadir/xdg-desktop-portal/gnome-portals.conf

%dir %_datadir/%name/sessions
%_datadir/%name/sessions/gnome.session
%_datadir/%name/sessions/gnome-dummy.session
%_datadir/xsessions/gnome.desktop
%_datadir/xsessions/gnome-xorg.desktop
%config %_datadir/glib-2.0/schemas/org.gnome.SessionManager.gschema.xml
%_datadir/GConf/gsettings/%name.convert
%{?_enable_man:
%_man1dir/%name-inhibit.*
%_man1dir/%name-quit.*
%_man1dir/%name.*}
%doc AUTHORS NEWS README

%dir %_userunitdir/gnome-launched-.scope.d
%_userunitdir/gnome-launched-.scope.d/override.conf
%_userunitdir/gnome-session-x11-services-ready.target
%dir %_userunitdir/gnome-session at gnome.target.d
%_userunitdir/gnome-session at gnome.target.d/gnome.session.conf
%_userunitdir/%name-failed.service
%_userunitdir/%name-failed.target
%_userunitdir/%name-initialized.target
%_userunitdir/%name-manager.target
%_userunitdir/%name-manager at .service
%_userunitdir/%name-monitor.service
%_userunitdir/%name-pre.target
%_userunitdir/%name-restart-dbus.service
%_userunitdir/%name-shutdown.target
%_userunitdir/%name-signal-init.service
%_userunitdir/%name-wayland.target
%_userunitdir/%name-wayland at .target
%_userunitdir/%name-x11-services.target
%_userunitdir/%name-x11.target
%_userunitdir/%name-x11 at .target
%_userunitdir/%name.target
%_userunitdir/%name at .target

%if_enabled session_selector
%files selector
%_bindir/%name-custom-session
%_bindir/%name-selector
%_datadir/%name/session-selector.ui
%{?_enable_man:%_man1dir/%name-selector.*}
%_datadir/xsessions/gnome-custom-session.desktop
%endif

%files wayland
%_datadir/wayland-sessions/gnome.desktop
%_datadir/wayland-sessions/gnome-wayland.desktop


%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin