diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index 6f98632..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: rss-glx -# $Id$ -NAME := rss-glx -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/rss-glx-0.8.1-gcc43-buildfix.patch b/rss-glx-0.8.1-gcc43-buildfix.patch new file mode 100644 index 0000000..c42e048 --- /dev/null +++ b/rss-glx-0.8.1-gcc43-buildfix.patch @@ -0,0 +1,22 @@ +diff -upNr rss-glx_0.8.1.p.orign/reallyslick/cpp_src/skyrocket_sound.cpp rss-glx_0.8.1.p/reallyslick/cpp_src/skyrocket_sound.cpp +--- rss-glx_0.8.1.p.orign/reallyslick/cpp_src/skyrocket_sound.cpp 2005-04-10 01:00:43.000000000 +0200 ++++ rss-glx_0.8.1.p/reallyslick/cpp_src/skyrocket_sound.cpp 2008-01-04 14:36:38.000000000 +0100 +@@ -24,6 +24,7 @@ + #include + #include + ++#include + #include + + #include "loadTexture.h" +diff -upNr rss-glx_0.8.1.p.orign/reallyslick/Implicit/impSurface.cpp rss-glx_0.8.1.p/reallyslick/Implicit/impSurface.cpp +--- rss-glx_0.8.1.p.orign/reallyslick/Implicit/impSurface.cpp 2005-04-09 22:13:51.000000000 +0200 ++++ rss-glx_0.8.1.p/reallyslick/Implicit/impSurface.cpp 2008-01-04 14:37:07.000000000 +0100 +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + + + diff --git a/rss-glx.spec b/rss-glx.spec index 51ef7ab..c358517 100644 --- a/rss-glx.spec +++ b/rss-glx.spec @@ -1,52 +1,71 @@ -%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} +%if %{fedora} <= 4 +%bcond_with modular_x +%bcond_with gss +%define _gssconfigdir %{nil}%{?gssconfigdir} %else -%define modular_x 0%{!?_without_modular_x:1} -%define gss 1 -%if "%{fedora}" <= "5" +%bcond_without modular_x +%bcond_without gss +%if %{fedora} <= 5 %define _gssconfigdir %{!?gssconfigdir:%{_datadir}/gnome-screensaver/themes}%{?gssconfigdir} %else %define _gssconfigdir %{!?gssconfigdir:%{_datadir}/applications/screensavers}%{?gssconfigdir} %endif +%if %{fedora} >= 7 +%bcond_without modular_xss +%else +%bcond_with modular_xss +%endif +%if %{fedora} >= 8 +# KDE4 +%bcond_without kde4 +%else +# KDE3 +%bcond_with kde4 +%endif %endif %else -%define modular_x 0%{?!_without_modular_x:1} -%define gss 0%{?!_without_gss:1} +%bcond_without modular_x +%bcond_without modular_xss +%bcond_without gss %define _gssconfigdir %{!?gssconfigdir:%{_datadir}/applications/screensavers}%{?gssconfigdir} %endif -%define with_matrixview 0%{?_with_matrixview:1} -%define patchext %{nil}%{?with_matrixview:.p} +%define kdessconfigdir %{?with_kde4:%{_datadir}/kde4/services/ScreenSavers}%{!?with_kde4:%{_datadir}/applnk/System/ScreenSavers} + +%define xssconfigdir %{_datadir}/xscreensaver/config +%define xssexthacksconfdir %{_datadir}/xscreensaver/hacks.conf.d +%define xssbindir %{_libexecdir}/xscreensaver +%define gssbindir %{_libexecdir}/gnome-screensaver + +%bcond_with matrixview +%define patchext %{nil}%{!?with_matrixview:.p} Summary: Really Slick Screensavers Name: rss-glx Version: 0.8.1%{patchext} -Release: 6%{?dist} -License: GPL +Release: 20%{?dist} +License: GPLv2 Group: Amusements/Graphics URL: http://rss-glx.sourceforge.net/ -Source0: http://dl.sourceforge.net/sourceforge/rss-glx/rss-glx_%{version}.tar.bz2 +# We ship a tarball with one questionable hack patched out. +# The original URL is the following without %%patchext: +# Source0: http://dl.sourceforge.net/sourceforge/rss-glx/rss-glx_%{version}.tar.bz2 +Source0: 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 +Patch2: rss-glx-0.8.1-gcc43-buildfix.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: libGL-devel BuildRequires: libGLU-devel -%if %modular_x -BuildRequires: libICE-devel -%if %with_matrixview +%if %{with matrixview} BuildRequires: ImageMagick-devel >= 6.2.5.4 %endif +%if %{with modular_x} +BuildRequires: libICE-devel BuildRequires: libSM-devel BuildRequires: libX11-devel BuildRequires: libXt-devel @@ -58,6 +77,8 @@ BuildRequires: openal-devel BuildRequires: freealut-devel BuildRequires: autoconf BuildRequires: libtool +BuildRequires: gawk +BuildRequires: sed %description A port of the Really Slick Screensavers to GLX. Provides several visually @@ -71,7 +92,15 @@ order to use them as screensavers. Summary: Really Slick Screensavers Group: Amusements/Graphics Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} -Requires: xscreensaver-base +%if %{with modular_xss} +Requires(post): xscreensaver-base >= 1:5.03-3 +Requires(postun): xscreensaver-base >= 1:5.03-3 +%else +Requires: xscreensaver-base < 1:5.03-3 +%endif +%if 0%{?fedora} >= 7 +Requires: xscreensaver-gl-base +%endif %description xscreensaver A port of the Really Slick Screensavers to GLX. Provides several visually @@ -79,7 +108,7 @@ impressive and graphically intensive screensavers. This package contains files needed to use the hacks with xscreensaver. -%if %gss +%if %{with gss} %package gnome-screensaver Summary: Really Slick Screensavers Group: Amusements/Graphics @@ -98,7 +127,11 @@ Summary: Really Slick Screensavers Group: Amusements/Graphics Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-xscreensaver = %{?epoch:%{epoch}:}%{version}-%{release} -Requires: kdebase +%if 0%{?fedora}%{?rhel} > 0 && 0%{?fedora} <= 6 && 0%{?rhel} <= 5 +Requires: kdeartwork-extras +%else +Requires: kdeartwork-kxs +%endif %description kde A port of the Really Slick Screensavers to GLX. Provides several visually @@ -110,27 +143,38 @@ This package contains files needed to use the hacks with KDE. cat << EOF Build settings: -%if %modular_x +%if %{with modular_x} - with modular X %else - with monolithic X %endif -%if %gss +%if %{with gss} - with gnome-screensaver support, theme directory: %{_gssconfigdir} %else - without gnome-screensaver support %endif -%if %with_matrixview +%if %{with matrixview} - with matrixview hack %else - without matrixview hack %endif +%if %{with modular_xss} +- with modular xscreensaver support +%else +- without modular xscreensaver support +%endif +%if %{with kde4} +- with KDE4 support in: %kdessconfigdir +%else +- with KDE3 support in: %kdessconfigdir +%endif EOF %setup -q -n rss-glx_%{version} %patch0 -p1 -b .freealut %patch1 -p1 -b .flags +%patch2 -p1 -b .gcc43 # work around BZ #189928 for f in `find . -type l` ; do @@ -142,40 +186,47 @@ done %build autoconf %configure \ - --with-configdir=%{xssconfigdir} \ - --with-kdessconfigdir=%{kdessconfigdir} + --with-configdir=%{xssconfigdir} \ + --with-kdessconfigdir=%{kdessconfigdir} \ + --program-prefix=rss-glx- make %{?_smp_mflags} %install generate_fix_desktop_files_links () { local line name trycmd cmd desc while read line; do -%if %gss +%if %{with gss} # generate GNOME screensaver desktop files - eval $(echo "$line" | awk -F§ '{print "name=\"" $1 "\"; cmd=\"" $2 "\"; desc=\"" $3 "\""}') + eval $(echo "$line" | awk -F§ '{print "name=\"" $1 "\"; cmd=\"rss-glx-" $2 "\"; desc=\"" $3 "\""}') trycmd="${cmd%%%% *}" - cat << EOF > %{buildroot}%{_gssconfigdir}/rss-glx-${cmd}.desktop + origtrycmd="${trycmd#rss-glx-}" + cat << EOF > %{buildroot}%{_gssconfigdir}/${cmd}.desktop [Desktop Entry] Encoding=UTF-8 Name=${name} Comment=${desc} -TryExec=rss-glx-${trycmd} -Exec=rss-glx-${cmd} -r +TryExec=${trycmd} +Exec=${cmd} -r StartupNotify=false Terminal=false Type=Application -Categories=Screensaver +Categories=GNOME;Screensaver; EOF - ln -snf "%{_bindir}/${trycmd}" "%{buildroot}%{gssbindir}/rss-glx-${trycmd}" + ln -snf "%{_bindir}/${trycmd}" "%{buildroot}%{gssbindir}/${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" + if [ ! -f "${trycmd}.desktop" ]; then + awk '{if ($0 ~ "^Actions=") { print "Actions=InWindow;Root;Setup;"; print "X-KDE-Category=Really Slick Screensavers"; print "X-KDE-Type=OpenGL"; } else { print; }}' < "${origtrycmd}.desktop" | sed 's@^Exec=\(.*\)'"$origtrycmd"'\(.*\)$@Exec=\1'"$trycmd"'\2@g' > "${trycmd}.desktop" + rm -f "${origtrycmd}.desktop" + fi popd >& /dev/null - # symlinks for XScreenSaver + # external hacks description and symlinks for XScreenSaver + cat << EOF >> %{buildroot}%{xssexthacksconfdir}/rss-glx.conf +GL: "${name}" \\ + ${cmd} -r \\n\\ +EOF ln -snf "%{_bindir}/${trycmd}" "%{buildroot}%{xssbindir}/${trycmd}" done } @@ -184,10 +235,11 @@ 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 +%if %{with gss} mkdir -p %{buildroot}%{_gssconfigdir} mkdir -p %{buildroot}%{gssbindir} mkdir -p %{buildroot}%{xssbindir} +mkdir -p %{buildroot}%{xssexthacksconfdir} %endif cat << EOF | generate_fix_desktop_files_links BioF§biof§This is an attempt to recreate some of the work of William Latham. @@ -203,7 +255,7 @@ 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 +%if %{with matrixview} MatrixView§matrixview§The Matrix. %endif Plasma§plasma§Probably the second most psychedelic screensaver in existence. @@ -217,20 +269,34 @@ EOF %clean rm -rf %buildroot +%if %{with modular_xss} +%post xscreensaver +if [ -x %{_sbindir}/update-xscreensaver-hacks ]; then + %{_sbindir}/update-xscreensaver-hacks +fi + +%postun xscreensaver +if [ -x %{_sbindir}/update-xscreensaver-hacks ]; then + %{_sbindir}/update-xscreensaver-hacks || : +fi +%endif + %files %defattr(-, root, root) -%doc ChangeLog COPYING INSTALL README README.xscreensaver +%doc ChangeLog COPYING INSTALL README %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) +# xscreensaver-base provides %{xssexthacksconfdir} +%config(noreplace) %{xssexthacksconfdir}/rss-glx.conf %{xssconfigdir}/*.xml %dir %{xssbindir} %{xssbindir}/* -%if %gss +%if %{with gss} %files gnome-screensaver %defattr(-, root, root) %dir %{_gssconfigdir} @@ -245,6 +311,63 @@ rm -rf %buildroot %{kdessconfigdir}/*.desktop %changelog +* Thu May 29 2008 Nils Philippsen 0.8.1.p-20 +- use %%bcond, %%with macros for consistency +- don't use quotes around %%fedora macro to make it work with Fedora 10 +- use correct binary names for KDE (#448844) + +* Wed Apr 02 2008 Rex Dieter 0.8.1.p-19 +- -kde: drop Requires: kdebase (kdeartwork dep is enough) +- fix %%kdessconfigdir for kde4 + +* Fri Jan 31 2008 Adel Gadllah 0.8.1.p-18 +- Fix build with gcc43 + +* Mon Nov 05 2007 Nils Philippsen 0.8.1.p-17 +- make screensavers show up in screensaver preferences again (#365991) + +* Tue Oct 30 2007 Nils Philippsen 0.8.1.p-16 +- don't show screensaver hacks in main menu (#357451) + +* Fri Oct 19 2007 Nils Philippsen 0.8.1.p-15 +- let -xscreensaver require xscreensaver-gl-base (#336331) + +* Tue Oct 02 2007 Nils Philippsen 0.8.1.p-14 +- prefix xscreensaver symlinks with "rss-glx-" as well (#318611) + +* Tue Oct 02 2007 Nils Philippsen 0.8.1.p-13 +- prefix binaries with "rss-glx-" (#250180) + +* Mon Oct 01 2007 Nils Philippsen 0.8.1.p-12 +- don't ship README.xscreensaver (#200881) + +* Sat Sep 15 2007 Nils Philippsen 0.8.1.p-11 +- enable modular xscreensaver support for Fedora 7 and later (#200881) +- include %%post/%%postun scripts only with modular xscreensaver support + +* Fri Sep 14 2007 Nils Philippsen 0.8.1.p-10 +- replace requirement on %{_bindir}/kxsconfig by kdeartwork-kxe (Fedora >= 7, + RHEL >= 6), kdeartwork-extras (<= Fedora 6, RHEL 5) +- license is GPLv2 +- run %{_sbindir}/update-xscreensaver-hacks in %%post, %%postun, require + xscreensaver-base >= 5.03-3 for that +- don't reference upstream URL for source tarball as we ship a modified one + +* Mon Sep 03 2007 Nils Philippsen +- implement revamped modular xscreensaver configuration (#200881) +- require post/preun xscreensaver-base min/max EVR +- don't let %%preun fail + +* Wed Aug 29 2007 Fedora Release Engineering - 0.8.1.p-9 +- Buildrequire gawk. + +* Wed Aug 29 2007 Fedora Release Engineering - 0.8.1.p-8 +- Rebuild for selinux ppc32 issue. + +* Thu Jun 14 2007 Nils Philippsen 0.8.1.p-7 +- build xscreensaver hack description files (#200881) +- require %{_bindir}/kxsconfig (#219106) + * Mon Aug 28 2006 Nils Philippsen 0.8.1.p-6 - FC6 mass rebuild