Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37538327
en ru br
ALT Linux repos
S:5.45-alt3
5.0: 5.08-alt2
4.1: 5.07-alt0.M41.1
4.0: 5.01-alt1
3.0: 4.22-alt2

Group :: Graphical desktop/Other
RPM: xscreensaver

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

# vim: set ft=spec: -*- spec -*-

%define _libexecdir /usr/libexec

# xscreensaver RPM macros

%define xss_hack_dir %_libexecdir/%name
%define xss_conf_dir %_datadir/%name/config
%define xss_ad_dir %_sysconfdir/X11/%name/hack.d

%define _update_xscreensaver_bin %_bindir/update-%name
%define update_xscreensaver [ "$1" = 1 -a -x %_update_xscreensaver_bin ] && %_update_xscreensaver_bin ||:
%define clean_xscreensaver [ -x %_update_xscreensaver_bin ] && %_update_xscreensaver_bin ||:
#

Name: xscreensaver
Version: 5.07
Release: alt0.M41.1
Summary: A screen saver and locker for the X window system
License: BSD
Group: Graphical desktop/Other
Url: http://www.jwz.org/%name
Packager: Sir Raorn <raorn at altlinux.ru>

# GIT repo git.alt:/people/raorn/packages/xscreensaver.git

Source: %name-%version.tar
Patch: %name-%version-alt1.patch

Source1: %name-%version-ad.tar

Source2: %name.pamd
Source3: %name-update.sh

Source4: xscreensaver-hacks
Source5: xscreensaver-hacks-gl

Requires: xli urlview
Requires: %name-hack
Provides: %name-contrib = %version-%release
Obsoletes: %name-contrib

Provides: screen-saver-engine

# Depends on Patch1

%set_autoconf_version 2.5
BuildPreReq: autoconf_2.5

# Automatically added by buildreq on Sat Jan 28 2006 and filtered by raorn

BuildRequires: bc glib2-devel gnome-screensaver-utils libICE-devel libSM-devel libX11-devel libXext-devel libXinerama-devel libXmu-devel libXpm-devel libXrandr-devel libXrender-devel libXt-devel libXxf86misc-devel libXxf86vm-devel libatk-devel libcairo-devel libglade2-devel libgle-devel libgtk+2-devel libjpeg-devel libmesa-devel libpam-devel libpango-devel libxml2-devel pam_userpass-devel pkg-config xorg-x11-proto-devel zlib-devel

%description
A modular screen saver and locker for the X Window System.
Highly customizable: allows the use of any program that
can draw on the root window as a display mode.

%package -n rpm-build-%name
Summary: A screen saver and locker for the X window system - RPM macros
Group: Development/Other
Conflicts: %name > %version-%release
Conflicts: %name < %version-%release
PreReq: %_sysconfdir/rpm/macros.d
Provides: %name-devel = %version-%release
Obsoletes: %name-devel <= 5.05-alt1

%description -n rpm-build-%name
A modular screen saver and locker for the X Window System.
Highly customizable: allows the use of any program that
can draw on the root window as a display mode.

This package contains RPM macros needed to build packages
for additional xscreensaver hacks.

%package hacks
Summary: A screen saver and locker for the X window system - standard hacks
Group: Graphical desktop/Other
Requires: %name = %version-%release
Requires: %name-modules = %version-%release
Provides: %name-hack = %version-%release

%description hacks
A modular screen saver and locker for the X Window System.
Highly customizable: allows the use of any program that
can draw on the root window as a display mode.

This package contains standard xscreensaver hacks.

%package hacks-gl
Summary: A screen saver and locker for the X window system - GL hacks
Group: Graphical desktop/Other
Requires: %name = %version-%release
Requires: %name-modules-gl = %version-%release
Provides: %name-hack = %version-%release
Provides: %name-gl = %version-%release
Obsoletes: %name-gl

%description hacks-gl
A modular screen saver and locker for the X Window System.
Highly customizable: allows the use of any program that
can draw on the root window as a display mode.

This package contains OpenGL xscreensaver hacks.

%package -n gnome-screensaver-modules-xscreensaver
Summary: A screen saver and locker for the X window system - GNOME Screensaver modules
Group: Graphical desktop/Other
Requires: %name-modules = %version-%release
Requires: gnome-screensaver
Provides: gnome-screensaver-module

%description -n gnome-screensaver-modules-xscreensaver
A modular screen saver and locker for the X Window System.
Highly customizable: allows the use of any program that
can draw on the root window as a display mode.

This package contains modules for GNOME Screensaver.

%package -n gnome-screensaver-modules-xscreensaver-gl
Summary: A screen saver and locker for the X window system - GNOME Screensaver modules
Group: Graphical desktop/Other
Requires: %name-modules-gl = %version-%release
Requires: gnome-screensaver
Provides: gnome-screensaver-module

%description -n gnome-screensaver-modules-xscreensaver-gl
A modular screen saver and locker for the X Window System.
Highly customizable: allows the use of any program that
can draw on the root window as a display mode.

This package contains OpenGL modules for GNOME Screensaver.

%package modules
Summary: A screen saver and locker for the X window system - standard modules
Group: Graphical desktop/Other
Conflicts: %name < %version-%release
Conflicts: %name > %version-%release
# By webcollage...
Requires: netpbm libjpeg-utils
# By noseguy and phosphor
Requires: fortune-mod

%description modules
A modular screen saver and locker for the X Window System.
Highly customizable: allows the use of any program that
can draw on the root window as a display mode.

This package contains standard standalone modules.

%package modules-gl
Summary: A screen saver and locker for the X window system - GL modules
Group: Graphical desktop/Other
Conflicts: %name < %version-%release
Conflicts: %name > %version-%release
# By starwars
Requires: fortune-mod

%description modules-gl
A modular screen saver and locker for the X Window System.
Highly customizable: allows the use of any program that
can draw on the root window as a display mode.

This package contains OpenGL standalone modules.

%package frontend
Summary: A screen saver and locker for the X window system - configuration frontend
Group: Graphical desktop/Other
Requires: %name = %version-%release
Provides: %name-gnome = %version-%release
Provides: screen-saver-frontend
Obsoletes: %name-gnome

%description frontend
A modular screen saver and locker for the X Window System.
Highly customizable: allows the use of any program that
can draw on the root window as a display mode.

This package contains xscreensaver configuration frontend.

%prep
%setup -q
%patch -p1

%build
%__autoconf
%configure \
 --without-motif \
 --with-pam \
 --without-shadow \
 --with-gl \
 --without-pixbuf \
 --without-mit-ext \
 --with-proc-interrupts

%make_build

%install
%__mkdir_p %buildroot{%_bindir,%_sysconfdir/{rpm/macros.d,X11/{app-defaults,%name}},%_sysconfdir/pam.d,%_datadir/pixmaps}
%make_install install_prefix=%buildroot \
 KDEDIR=%_prefix \
 GNOME_BINDIR=%_bindir \
 AD_DIR=%_sysconfdir/X11/app-defaults \
 install

%__install -m640 %SOURCE2 %buildroot%_sysconfdir/pam.d/%name
%__install -m755 %SOURCE3 %buildroot%_bindir/update-%name

%__cat <<EOF >%buildroot%_sysconfdir/rpm/macros.d/%name
%%xss_hack_dir %xss_hack_dir
%%xss_conf_dir %xss_conf_dir
%%xss_ad_dir %xss_ad_dir

%%_update_xscreensaver_bin %_bindir/update-%name
%%update_xscreensaver [ "\$1" = 1 -a -x %_update_xscreensaver_bin ] && %_update_xscreensaver_bin ||:
%%clean_xscreensaver [ -x %_update_xscreensaver_bin ] && %_update_xscreensaver_bin ||:
EOF

%__tar xf %SOURCE1 -C %buildroot%_sysconfdir/X11/%name

%find_lang %name

MkModuleFilelists() {
 list="$1" && shift
 name="$1" && shift

 :> "%name-hacks-$name"
 :> "%name-modules-$name"
 :> "%name-gnome-$name"

 while read module; do
   echo "%%config %xss_ad_dir/$module.xss" >> "%name-hacks-$name"
   echo "%xss_conf_dir/$module.xml" >> "%name-hacks-$name"
   echo "%xss_hack_dir/$module" >> "%name-modules-$name"
   [ -f "%buildroot%_man6dir/$module.6" ] && echo "%_man6dir/$module.6*" >> "%name-modules-$name" ||:
   pushd %buildroot%_datadir/applications/screensavers
   %_libexecdir/gnome-screensaver/gnome-screensaver-migrate-xscreensaver-config.sh %buildroot%xss_conf_dir/$module.xml
   popd
   echo "%_datadir/applications/screensavers/xscreensaver-$module.desktop" >> "%name-gnome-$name"
 done < "$list"
}

mkdir -p %buildroot%_datadir/applications/screensavers
MkModuleFilelists %_sourcedir/xscreensaver-hacks std
MkModuleFilelists %_sourcedir/xscreensaver-hacks-gl gl

%triggerpostun -- %name < 4.22-alt2, %name-hacks < 4.22-alt2, %name-hacks-gl < 4.22-alt2, %name-hacks-rss_glx < 0.7.4-alt3.1.2
[ $2 -gt 0 ] || exit 0
[ -x %_update_xscreensaver_bin ] && %_update_xscreensaver_bin ||:

%post
%update_xscreensaver

%post hacks
%update_xscreensaver

%post hacks-gl
%update_xscreensaver

%post frontend
%update_menus

%postun hacks
%clean_xscreensaver

%postun hacks-gl
%clean_xscreensaver

%postun frontend
%clean_menus

%files
%doc README README.hacking
%verify(not md5 size mtime) %ghost %config(missingok) %_sysconfdir/X11/app-defaults/XScreenSaver
%dir %_sysconfdir/X11/%name
%dir %xss_ad_dir
%config %_sysconfdir/X11/%name/%name.top
%config %_sysconfdir/X11/%name/%name.bottom
%attr(640,root,chkpwd) %config(noreplace) %_sysconfdir/pam.d/*
%attr(2711,root,chkpwd) %_bindir/%name
%_bindir/%name-command
%_bindir/%name-getimage
%_bindir/%name-getimage-file
%_bindir/%name-getimage-video
%_bindir/%name-text
%_bindir/update-%name
%_man1dir/%name.1*
%_man1dir/%name-command.1*
%_man1dir/%name-getimage.1*
%_man1dir/%name-getimage-file.1*
%_man1dir/%name-getimage-video.1*
%_man1dir/%name-text.1*

%dir %_datadir/%name
%_datadir/%name/glade
%dir %xss_conf_dir
%doc %xss_conf_dir/README
%dir %xss_hack_dir

%xss_hack_dir/ljlatest
%_man6dir/ljlatest.6*

%xss_hack_dir/xsublim
%_man6dir/xsublim.6*

%files frontend -f %name.lang
%_bindir/%name-demo
%_man1dir/%name-demo.1*
%_datadir/applications/xscreensaver-properties.desktop
%_datadir/pixmaps/%name.xpm

%files -n rpm-build-%name
%_sysconfdir/rpm/macros.d/%name

%files hacks -f xscreensaver-hacks-std

%files hacks-gl -f xscreensaver-hacks-gl
%_bindir/xscreensaver-gl-helper
%_man6dir/xscreensaver-gl-helper.6*

%files modules -f xscreensaver-modules-std
%dir %xss_hack_dir

%files modules-gl -f xscreensaver-modules-gl
%dir %xss_hack_dir

%files -n gnome-screensaver-modules-xscreensaver -f xscreensaver-gnome-std

%files -n gnome-screensaver-modules-xscreensaver-gl -f xscreensaver-gnome-gl

%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