http://ftp.x.org/contrib/applications/xscreensaver-3.20.tar.gz
[xscreensaver] / xscreensaver.spec
1 Name: xscreensaver
2 Summary: X screen saver and locker
3 Vendor: Jamie Zawinski <jwz@jwz.org>
4 Version: 3.20
5 Release: 1
6 URL: http://www.jwz.org/xscreensaver/
7 Source: xscreensaver-%{version}.tar.gz
8 Copyright: BSD
9 Group: X11/Utilities
10 Buildroot: /var/tmp/xscreensaver-root
11
12 %description
13 A modular screen saver and locker for the X Window System.
14 Highly customizable: allows the use of any program that
15 can draw on the root window as a display mode.
16 More than 100 display modes are included in this package.
17
18 %prep
19
20 %setup -q
21
22 %build
23
24 ./configure --prefix=/usr/X11R6 \
25      --enable-subdir=/usr/X11R6/lib/xscreensaver
26 make all
27
28 %install
29
30 # This is the only directory that "make install" won't make as needed
31 # (since Linux uses /etc/pam.d/* and Solaris uses /etc/pam.conf).
32 #
33 mkdir -p $RPM_BUILD_ROOT/etc/pam.d
34
35 make  prefix=$RPM_BUILD_ROOT/usr/X11R6 \
36       AD_DIR=$RPM_BUILD_ROOT/usr/X11R6/lib/X11/app-defaults \
37      HACKDIR=$RPM_BUILD_ROOT/usr/X11R6/lib/xscreensaver \
38      PAM_DIR=$RPM_BUILD_ROOT/etc/pam.d \
39      install-strip
40
41 # This line is redundant, except that it causes the "xscreensaver"
42 # executable to be installed unstripped (while all others are stripped.)
43 # You should install it this way so that jwz gets useful bug reports.
44 #
45 install -m 4755 driver/xscreensaver $RPM_BUILD_ROOT/usr/X11R6/bin
46
47 # Even if we weren't compiled with PAM support, make sure to include
48 # the PAM module file in the RPM anyway, just in case.
49 #
50 ( cd driver; make PAM_DIR=$RPM_BUILD_ROOT/etc/pam.d install-pam )
51
52 # If we built multiple versions of xscreensaver-demo (because multiple
53 # toolkits were available) then install them all.
54 #
55 ( cd driver;
56   exes=`echo xscreensaver-demo-*`
57   count=`echo $exes | wc -w`
58   if [ $count -gt 1 ]; then
59     for exe in $exes; do
60       install -c -s $exe $RPM_BUILD_ROOT/usr/X11R6/bin
61     done
62     cd $RPM_BUILD_ROOT/usr/X11R6/bin
63     if [ -x xscreensaver-demo-Xaw   ]; then target=Xaw;   fi
64     if [ -x xscreensaver-demo-Xaw3d ]; then target=Xaw3d; fi
65     if [ -x xscreensaver-demo-Xm    ]; then target=Xm;    fi
66     if [ -x xscreensaver-demo-Gtk   ]; then target=Gtk;   fi
67     rm -f xscreensaver-demo
68     ln -s xscreensaver-demo-$target xscreensaver-demo
69   fi
70  )
71
72
73 # This is for wmconfig, a tool that generates init files for window managers.
74 #
75 mkdir -p $RPM_BUILD_ROOT/etc/X11/wmconfig
76 cat > $RPM_BUILD_ROOT/etc/X11/wmconfig/xscreensaver <<EOF
77 xscreensaver name "xscreensaver (1min timeout)"
78 xscreensaver description "xscreensaver"
79 xscreensaver group "Amusements/Screen Savers"
80 xscreensaver exec "xscreensaver -timeout 1 -cycle 1 &"
81 EOF
82
83 # This is for the GNOME desktop:
84 #
85 mkdir -p "$RPM_BUILD_ROOT/usr/share/apps/Amusements/Screen Savers"
86 cat > "$RPM_BUILD_ROOT/usr/share/apps/Amusements/Screen Savers/xscreensaver.desktop" <<EOF
87 [Desktop Entry]
88 Name=xscreensaver (1min timeout)
89 Description=xscreensaver
90 Exec=xscreensaver -timeout 1 -cycle 1
91 EOF
92
93 # Make sure all files are readable by all, and writable only by owner.
94 #
95 chmod -R a+r,u+w,og-w $RPM_BUILD_ROOT
96
97 %clean
98 rm -rf $RPM_BUILD_ROOT
99
100 %files
101 %defattr(-,root,root)
102
103 %doc                README README.debugging
104                     /usr/X11R6/bin/*
105                     /usr/X11R6/lib/xscreensaver/*
106 %config             /usr/X11R6/lib/X11/app-defaults/*
107                     /usr/X11R6/man/man1/*
108                     /etc/pam.d/*
109 %config(missingok)  /etc/X11/wmconfig/*
110 %config(missingok)  "/usr/share/apps/Amusements/Screen Savers/*"