rss-glx/rss-glx.spec
Nils Philippsen c663d5bf1a FC6 mass rebuild
2006-08-28 13:54:50 +00:00

320 lines
10 KiB
RPMSpec

%define xssconfigdir %{_datadir}/xscreensaver/config
%define xssbindir %{_libexecdir}/xscreensaver
%define gssbindir %{_libexecdir}/gnome-screensaver
%define kdessconfigdir %{_datadir}/applnk/System/ScreenSavers
%if 0%{?fedora}
%if "%{fedora}" <= "4"
%define modular_x 0%{?_with_modular_x:1}
%define gss 0
%define _gssconfigdir %{nil}
%else
%define modular_x 0%{!?_without_modular_x:1}
%define gss 1
%if "%{fedora}" <= "5"
%define _gssconfigdir %{!?gssconfigdir:%{_datadir}/gnome-screensaver/themes}%{?gssconfigdir}
%else
%define _gssconfigdir %{!?gssconfigdir:%{_datadir}/applications/screensavers}%{?gssconfigdir}
%endif
%endif
%else
%define modular_x 0%{?!_without_modular_x:1}
%define gss 0%{?!_without_gss:1}
%define _gssconfigdir %{!?gssconfigdir:%{_datadir}/applications/screensavers}%{?gssconfigdir}
%endif
%define with_matrixview 0%{?_with_matrixview:1}
%define patchext %{nil}%{?with_matrixview:.p}
Summary: Really Slick Screensavers
Name: rss-glx
Version: 0.8.1%{patchext}
Release: 6%{?dist}
License: GPL
Group: Amusements/Graphics
URL: http://rss-glx.sourceforge.net/
Source0: http://dl.sourceforge.net/sourceforge/rss-glx/rss-glx_%{version}.tar.bz2
Source1: README.fedora
Source2: rss-glx-rm-matrixview.sh
Source3: rss-glx-0.8.1-0.8.1.p.diff
Patch0: rss-glx-0.8.1-freealut.patch
Patch1: rss-glx-0.8.1-flags.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: libGL-devel
BuildRequires: libGLU-devel
%if %modular_x
BuildRequires: libICE-devel
%if %with_matrixview
BuildRequires: ImageMagick-devel >= 6.2.5.4
%endif
BuildRequires: libSM-devel
BuildRequires: libX11-devel
BuildRequires: libXt-devel
%else
BuildRequires: xorg-x11-devel
%endif
BuildRequires: bzip2-devel
BuildRequires: openal-devel
BuildRequires: freealut-devel
BuildRequires: autoconf
BuildRequires: libtool
%description
A port of the Really Slick Screensavers to GLX. Provides several visually
impressive and graphically intensive screensavers.
Note that this package contains only the display hacks themselves; you will
need to install the appropriate subpackage for your desktop environment in
order to use them as screensavers.
%package xscreensaver
Summary: Really Slick Screensavers
Group: Amusements/Graphics
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: xscreensaver-base
%description xscreensaver
A port of the Really Slick Screensavers to GLX. Provides several visually
impressive and graphically intensive screensavers.
This package contains files needed to use the hacks with xscreensaver.
%if %gss
%package gnome-screensaver
Summary: Really Slick Screensavers
Group: Amusements/Graphics
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: gnome-screensaver
%description gnome-screensaver
A port of the Really Slick Screensavers to GLX. Provides several visually
impressive and graphically intensive screensavers.
This package contains files needed to use the hacks with gnome-screensaver.
%endif
%package kde
Summary: Really Slick Screensavers
Group: Amusements/Graphics
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: %{name}-xscreensaver = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: kdebase
%description kde
A port of the Really Slick Screensavers to GLX. Provides several visually
impressive and graphically intensive screensavers.
This package contains files needed to use the hacks with KDE.
%prep
cat << EOF
Build settings:
%if %modular_x
- with modular X
%else
- with monolithic X
%endif
%if %gss
- with gnome-screensaver support,
theme directory: %{_gssconfigdir}
%else
- without gnome-screensaver support
%endif
%if %with_matrixview
- with matrixview hack
%else
- without matrixview hack
%endif
EOF
%setup -q -n rss-glx_%{version}
%patch0 -p1 -b .freealut
%patch1 -p1 -b .flags
# work around BZ #189928
for f in `find . -type l` ; do
cp -p ${f} ${f}_
unlink ${f}
mv ${f}_ $f
done
%build
autoconf
%configure \
--with-configdir=%{xssconfigdir} \
--with-kdessconfigdir=%{kdessconfigdir}
make %{?_smp_mflags}
%install
generate_fix_desktop_files_links () {
local line name trycmd cmd desc
while read line; do
%if %gss
# generate GNOME screensaver desktop files
eval $(echo "$line" | awk -F§ '{print "name=\"" $1 "\"; cmd=\"" $2 "\"; desc=\"" $3 "\""}')
trycmd="${cmd%%%% *}"
cat << EOF > %{buildroot}%{_gssconfigdir}/rss-glx-${cmd}.desktop
[Desktop Entry]
Encoding=UTF-8
Name=${name}
Comment=${desc}
TryExec=rss-glx-${trycmd}
Exec=rss-glx-${cmd} -r
StartupNotify=false
Terminal=false
Type=Application
Categories=Screensaver
EOF
ln -snf "%{_bindir}/${trycmd}" "%{buildroot}%{gssbindir}/rss-glx-${trycmd}"
%endif
# fix KDE screensaver desktop files
pushd "%{buildroot}%{kdessconfigdir}" >& /dev/null
mv -f "${trycmd}.desktop" "${trycmd}.desktop.orig"
awk '{if ($0 ~ "^Actions=") { print "Actions=InWindow;Root;Setup;"; print "X-KDE-Category=Really Slick Screensavers"; print "X-KDE-Type=OpenGL"; } else { print; }}' < "${trycmd}.desktop.orig" > "${trycmd}.desktop"
rm -f "${trycmd}.desktop.orig"
popd >& /dev/null
# symlinks for XScreenSaver
ln -snf "%{_bindir}/${trycmd}" "%{buildroot}%{xssbindir}/${trycmd}"
done
}
rm -rf %buildroot
install -m 0644 "%SOURCE1" "%SOURCE2" "%SOURCE3" .
make DESTDIR=%{buildroot} install
rm -f %{buildroot}%{_libdir}/lib*.{,l}a %{buildroot}%{_bindir}/rss-glx_install.pl
%if %gss
mkdir -p %{buildroot}%{_gssconfigdir}
mkdir -p %{buildroot}%{gssbindir}
mkdir -p %{buildroot}%{xssbindir}
%endif
cat << EOF | generate_fix_desktop_files_links
BioF§biof§This is an attempt to recreate some of the work of William Latham.
Busy Spheres§busyspheres§Spheres made of dancing particles.
Colorfire§colorfire§Burning colors.
Cyclone§cyclone§A cyclone made of particles.
Euphoria§euphoria§Psychedelic shapes.
Fieldlines§fieldlines§A simulation of the electric field lines between charged particles.
Flocks§flocks§Flocks of birds.
Flux§flux§If you know anything about strange attractors, you might recognize the patterns created by this screensaver.
Helios§helios§Throw together some attraction/repulsion particle effects and some smooth implicit surfaces and this is what you get.
Hufo's Smoke§hufo_smoke§Smoke effect.
Hufo's Tunnel§hufo_tunnel§Inside a tunnel.
Hyperspace§hyperspace§Hyperspace.
Lattice§lattice§Fly through an endless world of linked rings.
%if %with_matrixview
MatrixView§matrixview§The Matrix.
%endif
Plasma§plasma§Probably the second most psychedelic screensaver in existence.
Skyrocket (silent)§skyrocket -v 0§The most full-blown fireworks screensaver ever. It has bright lights, smoke trails, clouds that are illuminated by the explosions, sound effects, and plenty of other eye candy. Silent version.
Skyrocket§skyrocket§The most full-blown fireworks screensaver ever. It has bright lights, smoke trails, clouds that are illuminated by the explosions, sound effects, and plenty of other eye candy. With sound.
Solarwinds§solarwinds§This is a very mesmerizing particle effects saver.
SpirographX§spirographx§Spirograph-like screensaver.
Sundancer2§sundancer2§Rotating stack of quads.
EOF
%clean
rm -rf %buildroot
%files
%defattr(-, root, root)
%doc ChangeLog COPYING INSTALL README README.xscreensaver
%doc README.fedora rss-glx-rm-matrixview.sh rss-glx-0.8.1-0.8.1.p.diff
%{_bindir}/*
%{_mandir}/*/*
%files xscreensaver
%defattr(-, root, root)
%{xssconfigdir}/*.xml
%dir %{xssbindir}
%{xssbindir}/*
%if %gss
%files gnome-screensaver
%defattr(-, root, root)
%dir %{_gssconfigdir}
%{_gssconfigdir}/*.desktop
%dir %{gssbindir}
%{gssbindir}/*
%endif
%files kde
%defattr(-, root, root)
%dir %{kdessconfigdir}
%{kdessconfigdir}/*.desktop
%changelog
* Mon Aug 28 2006 Nils Philippsen <nphilipp@redhat.com> 0.8.1.p-6
- FC6 mass rebuild
* Tue Aug 01 2006 Nils Philippsen <nphilipp@redhat.com> 0.8.1.p-5
- don't install world-writable documentation files (#200843)
* Mon Jul 24 2006 Nils Philippsen <nphilipp@redhat.com> 0.8.1.p-4
- require libtool for building
* Mon Jun 12 2006 Nils Philippsen <nphilipp@redhat.com> 0.8.1.p-3
- move gnome-screensaver desktop files to match new location in FC6 (#194862)
* Fri Jun 02 2006 Nils Philippsen <nphilipp@redhat.com> 0.8.1.p-2
- replace symlinked source files with copies to work around #189928
- honour RPM optflags
* Mon May 29 2006 Nils Philippsen <nphilipp@redhat.com> 0.8.1.p-1
- bump release
* Fri May 26 2006 Nils Philippsen <nphilipp@redhat.com> 0.8.1.p-0.6
- symlink hacks to /usr/libexec/xscreensaver
- own directories not included in filesystem
* Wed May 24 2006 Nils Philippsen <nphilipp@redhat.com> 0.8.1.p-0.5
- include %%{patchext} in version
- fix excessively long line in %%description
- make -kde require -xscreensaver
- fix "Actions", add "X-KDE-Category" and "X-KDE-Type" to KDE desktop files
* Tue May 23 2006 Nils Philippsen <nphilipp@redhat.com> 0.8.1.p-0.4
- remove executable bit from doc files, change README.fedora accordingly
- use %%buildroot consistently
- don't ship rss-glx_install.pl
- make %%description more understandable (Jason Tibbitts)
* Mon May 22 2006 Nils Philippsen <nphilipp@redhat.com> 0.8.1.p-0.3
- include README.fedora, rss-glx-rm-matrixview.sh, rss-glx-0.8.1-0.8.1.p.diff
to be able to generate patched from upstream tarball
- versionize %%changelog
- don't obsolete rss_glx
- don't distribute zero-length AUTHORS and NEWS files
* Mon Apr 03 2006 Nils Philippsen <nphilipp@redhat.com> 0.8.1.p-0.2
- add libXt-devel to modular X build requirements (#90133)
* Tue Mar 28 2006 Nils Philippsen <nphilipp@redhat.com>
- use freealut when needed
* Fri Mar 10 2006 Nils Philippsen <nphilipp@redhat.com>
- add build requirements for non-modular X, default determined by Fedora
version
- patch tarball to remove matrixview
- don't build gnome-screensaver subpackage before FC5
* Thu Mar 09 2006 Nils Philippsen <nphilipp@redhat.com> 0.8.1
- version 0.8.1
- include gnome-screensaver support
- new build requirements for FC5
* Wed Jul 07 2004 Nils Philippsen <nphilipp@redhat.com>
- rebuild for FC2
* Wed Sep 10 2003 Nils Philippsen <nphilipp@redhat.com>
- version 0.7.6
- manage new matrixview and spirographx hacks in XScreensaver.ad
* Fri Jul 04 2003 Nils Philippsen <nphilipp@redhat.com>
- version 0.7.4
- fix temp file issue in scripts
- buildrequire OpenAL-devel
- move stuff out of /usr/X11R6
- patch inline asm to work with new gcc versions
- remove hacks from XScreensaver.ad in %%preun