]> git.pld-linux.org Git - packages/xscreensaver.git/blob - xscreensaver.spec
e3c9f02f4429a85127b3ab8d0afbf1840ef289ce
[packages/xscreensaver.git] / xscreensaver.spec
1 Summary:        X screen savers
2 Summary(de.UTF-8):      X-Bildschirmschoner
3 Summary(es.UTF-8):      Protectores de pantalla X
4 Summary(fr.UTF-8):      Economiseurs d'écran X
5 Summary(pl.UTF-8):      Wygaszacze ekranu pod X Window
6 Summary(pt_BR.UTF-8):   Salvadores de tela X
7 Summary(ru.UTF-8):      Набор программ хранения экрана для X Window
8 Summary(uk.UTF-8):      Набір програм збереження екрану для X Window
9 Summary(zh_CN.UTF-8):   X 窗口系统保护器
10 Name:           xscreensaver
11 Version:        6.00
12 Release:        1
13 Epoch:          1
14 License:        BSD
15 Group:          X11/Applications
16 Source0:        http://www.jwz.org/xscreensaver/%{name}-%{version}.tar.gz
17 # Source0-md5:  0c77c3d46a4b4d11fdef1d368349ed7a
18 Source1:        %{name}-autostart.desktop
19 Source2:        %{name}-lock.desktop
20 Source3:        %{name}.pamd
21 Patch0:         %{name}-desktop.patch
22 URL:            http://www.jwz.org/xscreensaver/
23 BuildRequires:  Mesa-libGL-devel
24 BuildRequires:  Mesa-libGLES-devel
25 BuildRequires:  Mesa-libGLU-devel
26 BuildRequires:  autoconf
27 BuildRequires:  automake
28 BuildRequires:  bc
29 BuildRequires:  gdk-pixbuf2-xlib-devel
30 BuildRequires:  gettext-tools
31 BuildRequires:  gle-devel
32 BuildRequires:  gtk+2-devel >= 1:2.0.3
33 BuildRequires:  intltool
34 BuildRequires:  libjpeg-devel
35 BuildRequires:  libtool
36 BuildRequires:  libxml2-devel >= 2.4.22
37 BuildRequires:  pam-devel >= 0.77.3
38 BuildRequires:  perl-base
39 BuildRequires:  pkgconfig
40 BuildRequires:  systemd-devel
41 BuildRequires:  xorg-lib-libICE-devel
42 BuildRequires:  xorg-lib-libX11-devel
43 BuildRequires:  xorg-lib-libXext-devel
44 BuildRequires:  xorg-lib-libXi-devel
45 BuildRequires:  xorg-lib-libXinerama-devel
46 BuildRequires:  xorg-lib-libXrandr-devel
47 BuildRequires:  xorg-lib-libXt-devel
48 BuildRequires:  xorg-lib-libXxf86vm-devel
49 Requires:       %{name}-savers = %{epoch}:%{version}-%{release}
50 Requires:       pam >= 0.77.3
51 Requires:       xorg-lib-libXt >= 1.0.0
52 # for screensaver-getimage-file
53 Suggests:       perl-perldoc
54 # for xscreensaver-text
55 Suggests:       xorg-app-appres
56 Obsoletes:      xscreensaver-gnome 
57 Obsoletes:      xscreensaver-gnome1
58 Obsoletes:      xscreensaver-gnome2
59 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
60
61 %define         _noautoreqdep   libGL.so.1 libGLU.so.1
62 %define         _sysconfdir     /etc/X11
63 %define         _appdefsdir     /usr/share/X11/app-defaults
64
65 %description
66 Screen savers of every sort are included in this package, guaranteeing
67 hours of enjoyment and monitor saving. And if you are bent on really
68 saving your monitor, there's that old classic, the plain black screen.
69
70 %description -l de.UTF-8
71 Dieses Paket enthält eine Sammlung verschiedenster Bildschirmschoner.
72 Stundenlanger Spaß ist garantiert. Und wenn Sie Ihren Bildschirm
73 wirklich schonen möchten, gibt's den alten Klassiker, den einfachen
74 schwarzen Bildschirm.
75
76 %description -l es.UTF-8
77 En este paquete están incluidos protectores de pantalla, de todos los
78 tipos, garantizando horas de diversión para tu monitor. Y si realmente
79 estás inclinado a la protección de tu monitor, existe aquel antiguo y
80 clásico protector, la "pantalla negra".
81
82 %description -l fr.UTF-8
83 Des économiseurs d'écran de chaque sorte sont inclus dans ce paquet,
84 guarantissant des heures de plaisir et d'économies d'écran. Et si vous
85 êtes voulez vraiment économiser votre écran, il y a ce vieux
86 classique, l'écran tout noir.
87
88 %description -l pl.UTF-8
89 Każdy wygaszacz ekranu dołączony do tego pakietu zapewnia godziny
90 zadowolenia i oszczędzania monitora. Jeśli bardzo Ci zależy na
91 oszczędzaniu monitora to jest też dostępny klasyczny "czysty" czarny
92 wygaszacz.
93
94 %description -l pt_BR.UTF-8
95 Protetores de tela de todos os tipos estão incluídos neste pacote,
96 garantindo horas de divertimento para o seu monitor. E se você
97 realmente está inclinado à proteção do seu monitor, existe aquele
98 velho clássico, a "tela preta".
99
100 %description -l ru.UTF-8
101 Пакет xscreensaver содержит разнообразные программы хранения экрана.
102
103 %description -l uk.UTF-8
104 Пакет xscreensaver містить різноманітні програми збереження екрану.
105
106 %package common
107 Summary:        Common X screen savers files
108 Summary(pl.UTF-8):      Pliki wspólne dla podpakietów wygaszaczy ekranu
109 Group:          X11/Applications
110
111 %description common
112 Common X screen savers files.
113
114 %description common -l pl.UTF-8
115 Pliki wspólne dla podpakietów wygaszaczy ekranu.
116
117 %package base
118 Summary:        Base X screen savers
119 Summary(pl.UTF-8):      Podstawowe wygaszacze ekranu pod X Window
120 Group:          X11/Applications
121 Requires:       %{name}-common = %{epoch}:%{version}-%{release}
122 Requires:       perl-HTML-Parser
123 Requires:       perl-LWP-Protocol-https
124 Provides:       %{name}-savers = %{epoch}:%{version}-%{release}
125
126 %description base
127 Base screen savers for X Window.
128
129 %description base -l pl.UTF-8
130 Podstawowe wygaszacze ekranu pod X Window.
131
132 %package GL
133 Summary:        OpenGL X screen savers
134 Summary(pl.UTF-8):      Wygaszacze ekranu pod X Window używające OpenGL
135 Summary(pt_BR.UTF-8):   Protetores de tela GL
136 Group:          X11/Applications
137 Requires:       %{name}-common = %{epoch}:%{version}-%{release}
138 Provides:       %{name}-savers = %{epoch}:%{version}-%{release}
139 # for starwars req: xscreensaver-text
140 Suggests:       %{name}
141
142 %description GL
143 Screen savers which uses OpenGL libraries.
144
145 %description GL -l pl.UTF-8
146 Wygaszacze ekranu pod X Window używające OpenGL.
147
148 %description GL -l pt_BR.UTF-8
149 Ainda mais protetores de tela, usando a biblioteca 3D OpenGL.
150
151 %package GLE
152 Summary:        OpenGL & GLE X screen savers
153 Summary(pl.UTF-8):      Wygaszacze ekranu pod X Window używające OpenGL i GLE
154 Group:          X11/Applications
155 Requires:       %{name}-common = %{epoch}:%{version}-%{release}
156 Provides:       %{name}-savers = %{epoch}:%{version}-%{release}
157
158 %description GLE
159 Screen savers which uses OpenGL and GLE libraries.
160
161 %description GLE -l pl.UTF-8
162 Wygaszacze ekranu pod X Window używające OpenGL oraz GLE.
163
164 %prep
165 %setup -q
166 %patch0 -p1
167
168 %build
169 %configure \
170         --with-x \
171         --with-dpms-ext \
172         --with-xf86vmode-ext \
173         --with-xinerama-ext \
174         --with-randr-ext \
175         --with-xinput-ext \
176         --with-xf86gamma-ext \
177         --with-xshm-ext \
178         --with-xdbe-ext \
179         --with-xkb-ext \
180         --with-proc-interrupts \
181         --with-proc-oom \
182         --with-systemd \
183         --with-pam \
184         --with-shadow \
185         --with-gtk \
186         --with-gl \
187         --with-gle \
188         --with-jpeg \
189         --with-png \
190         --with-pixbuf \
191         --with-xft \
192         --with-hackdir=%{_libdir}/xscreensaver \
193         --with-configdir=%{_datadir}/xscreensaver \
194         --enable-locking \
195         --without-login-manager \
196         --without-kerberos \
197         --without-motif
198
199 %{__make} all
200
201 %install
202 rm -rf $RPM_BUILD_ROOT
203
204 %{__make} install \
205         DESTDIR=$RPM_BUILD_ROOT \
206         install_sh=$(pwd)/install-sh \
207         install_prefix=$RPM_BUILD_ROOT \
208         AD_DIR=%{_appdefsdir} \
209         PAM_DIR=/etc/pam.d
210
211 install -d $RPM_BUILD_ROOT{/etc/{pam.d,xdg/autostart},%{_desktopdir}}
212
213 cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/xdg/autostart
214 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_desktopdir}
215
216 %{__make} -C driver install-pam \
217         PAM_DIR=$RPM_BUILD_ROOT/etc/pam.d
218 cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/xscreensaver
219
220 _DIR=$(pwd)
221 cd $RPM_BUILD_ROOT%{_libdir}/%{name}
222
223 echo '%defattr(644,root,root,755)' > $_DIR/files.base
224 echo '%defattr(644,root,root,755)' > $_DIR/files.gl
225 echo '%defattr(644,root,root,755)' > $_DIR/files.gle
226
227 find_config_and_man()
228 {
229         if test -e $RPM_BUILD_ROOT%{_datadir}/%{name}/${1}.xml ; then
230                 echo %{_datadir}/%{name}/${1}.xml
231         fi
232         if test -e $RPM_BUILD_ROOT%{_mandir}/man6/${1}.6 ; then
233                 mv $RPM_BUILD_ROOT%{_mandir}/man6/{,xscreensaver-}${1}.6
234                 echo %{_mandir}/man6/xscreensaver-${1}.6'*'
235                 # these two conflict with other packages
236                 if [ ${1} != barcode -a ${1} != flame ]; then
237                         echo ".so xscreensaver-${1}.6" > $RPM_BUILD_ROOT%{_mandir}/man6/${1}.6
238                         echo %{_mandir}/man6/${1}.6'*'
239                 fi
240         fi
241 }
242
243 for file in *; do
244         _REQUIRES=$(objdump -p $file 2> /dev/null | awk '
245                 BEGIN { START=0; LIBNAME=""; }
246                 /Dynamic Section:/ { START=1; }
247                 /NEEDED/ && (START==1) {
248                         LIBNAME=$2;
249                 }
250                 (START==1) && (LIBNAME!="") { print LIBNAME; }
251                 /^$/ { START=0; }')
252
253         if echo "$_REQUIRES" | grep -q "libgle.so"; then
254                 echo "%attr(755,root,root) %{_libdir}/xscreensaver/$file" >> $_DIR/files.gle
255                 find_config_and_man $file >> $_DIR/files.gle
256         elif echo "$_REQUIRES" | grep -q "libGLU.so"; then
257                 echo "%attr(755,root,root) %{_libdir}/xscreensaver/$file" >> $_DIR/files.gl
258                 find_config_and_man $file >> $_DIR/files.gl
259         else
260                 echo "%attr(755,root,root) %{_libdir}/xscreensaver/$file" >> $_DIR/files.base
261                 find_config_and_man $file >> $_DIR/files.base
262         fi
263 done
264
265 cd $_DIR
266
267 %find_lang %{name} --all-name
268
269 %clean
270 rm -rf $RPM_BUILD_ROOT
271
272 %files -f %{name}.lang
273 %defattr(644,root,root,755)
274 %doc README README.hacking
275 %doc %{_datadir}/%{name}/README
276 %attr(755,root,root) %{_bindir}/xscreensaver
277 %attr(755,root,root) %{_bindir}/xscreensaver-command
278 %attr(755,root,root) %{_bindir}/xscreensaver-demo
279 %attr(755,root,root) %{_bindir}/xscreensaver-settings
280 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/xscreensaver
281 /etc/xdg/autostart/xscreensaver-autostart.desktop
282 %{_appdefsdir}/*
283 %{_desktopdir}/xscreensaver-properties.desktop
284 %{_desktopdir}/xscreensaver-lock.desktop
285 %{_mandir}/man1/xscreensaver.1*
286 %{_mandir}/man1/xscreensaver-command.1*
287 %{_mandir}/man1/xscreensaver-demo.1*
288 %{_mandir}/man1/xscreensaver-settings.1*
289 %{_mandir}/man6/xscreensaver-command.6*
290 %{_pixmapsdir}/*.xpm
291 %dir %{_datadir}/%{name}/ui
292 %{_datadir}/%{name}/ui/screensaver*.png
293 %{_datadir}/%{name}/ui/xscreensaver.ui
294
295 %files common
296 %defattr(644,root,root,755)
297 %dir %{_libdir}/%{name}
298 %dir %{_fontsdir}/xscreensaver
299 %{_fontsdir}/xscreensaver/*.otf
300 %{_fontsdir}/xscreensaver/*.ttf
301
302 %files base -f files.base
303 %defattr(644,root,root,755)
304
305 %files GL -f files.gl
306 %defattr(644,root,root,755)
307
308 %files GLE -f files.gle
309 %defattr(644,root,root,755)
This page took 0.065324 seconds and 2 git commands to generate.