1 |
%define major 3 |
2 |
%define libwraster %mklibname wraster %major |
3 |
%define libwrasterdev %mklibname wraster -d |
4 |
%define libwrasterstatic %mklibname wraster -d -s |
5 |
|
6 |
%define wmcalclock wmCalClock-1.25 |
7 |
%define version 0.92.0 |
8 |
%define rel 24 |
9 |
%define mdkrelease %mkrel %rel |
10 |
%define _pixdir %_datadir/pixmaps |
11 |
%define gnustepdir %_prefix/GNUstep |
12 |
|
13 |
%define wmmajor 0 |
14 |
%define libnamedev %mklibname %name -d |
15 |
%define libnamestatic %mklibname %name -s -d |
16 |
|
17 |
Summary: A window manager for the X Window System |
18 |
Name: WindowMaker |
19 |
Version: %{version} |
20 |
Release: %{mdkrelease} |
21 |
License: GPLv2+ |
22 |
Group: Graphical desktop/WindowMaker |
23 |
URL: http://www.windowmaker.info/ |
24 |
|
25 |
Source0: ftp://windowmaker.org/pub/source/release/%name-%version.tar.bz2 |
26 |
Source1: WindowMaker-data.tar.bz2 |
27 |
Source2: WindowMaker-%{wmcalclock}.tar.bz2 |
28 |
Source4: WindowMaker-menumethod |
29 |
Source6: WindowMaker-WindowMaker |
30 |
Source7: WindowMaker-WMWindowAttributes |
31 |
Source8: WindowMaker-startwindowmaker |
32 |
Source10: WindowMaker-Terminal |
33 |
Source13: WindowMaker-wmaker.inst |
34 |
Source15: WindowMaker-WMState |
35 |
Source20: WindowMaker-0.80.1-man-pages.tar.bz2 |
36 |
Source21: WindowMaker-Galaxy.style.bz2 |
37 |
Source22: WindowMaker-WMGLOBAL |
38 |
Source23: WindowMaker |
39 |
|
40 |
# Matthias: NET_WM_NAME patch by Marcelo E. Magallon <mmagallo@debian.org> |
41 |
Patch0: WindowMaker-0.91.0-NET_WM_NAME.patch.bz2 |
42 |
|
43 |
# gcc 4.x build patch for asm stuff by Vladimir Nadvornik <nadvornik@suse.cz> |
44 |
Patch10: WindowMaker-0.92.0-asm-gcc4.patch.bz2 |
45 |
|
46 |
Patch11: WindowMaker-0.92.0-fix-x86_64.patch.bz2 |
47 |
|
48 |
# fix a bogus buffer length for a snprintf call in SendHelperMessage |
49 |
Patch12: WindowMaker-0.92.0-setWorkspaceSpecificBack.patch |
50 |
|
51 |
# include the xdg menu (do not replace the original menu since it contains windowmaker-specific commands) |
52 |
Patch13: WindowMaker-0.92.0-applications-menu.patch |
53 |
|
54 |
# 3 next patches from https://bugzilla.redhat.com/show_bug.cgi?id=267041 |
55 |
Patch14: 181001-Substitute-polling-with-kernel-s-dnotify-mechanism.patch |
56 |
Patch15: 181041-Remove-timer-which-calls-delayedAction.patch |
57 |
Patch16: 181061-Remove-useless-timer.patch |
58 |
|
59 |
# This patch fixes a nasty bug switching virtual consoles when the |
60 |
# Composite extension is enabled but default depth is not 24 |
61 |
Patch17: WindowMaker-0.92.0-specify-visual-id-to-avoid-composite-corruption.patch |
62 |
|
63 |
# This patch works around a problem with broken symbolic links |
64 |
# See https://qa.mandriva.com/show_bug.cgi?id=39677#c5 for a better |
65 |
# description of the problem |
66 |
Patch18: WPrefs-avoid-null-font.patch |
67 |
|
68 |
# Fixes compilation with -Wformat=error |
69 |
Patch19: WindowMaker-0.92.0-wformat-fixes.patch |
70 |
|
71 |
# patch from fedora to fix QT4 problem with menus... |
72 |
Patch20: WindowMaker-0.92.0-cvs20060123.patch |
73 |
|
74 |
Requires: gcc-cpp |
75 |
Requires: desktop-common-data |
76 |
Requires: mandriva-theme |
77 |
Requires: xdg-compliance-menu |
78 |
Obsoletes: windowmaker windowmaker-libs WindowMaker-kde WindowMaker-gnome WindowMaker-common |
79 |
Provides: windowmaker windowmaker-libs WindowMaker-kde WindowMaker-gnome WindowMaker-common |
80 |
|
81 |
BuildRoot: %_tmppath/%name-%version-%release-root |
82 |
|
83 |
BuildRequires: libxft-devel libxinerama-devel |
84 |
BuildRequires: gcc-cpp |
85 |
BuildRequires: libhermes-devel libjpeg-devel |
86 |
BuildRequires: libpng-devel libtiff-devel libungif-devel |
87 |
BuildRequires: libxpm-devel mawk rpm-build |
88 |
BuildRequires: libPropList-devel |
89 |
BuildRequires: imagemagick |
90 |
|
91 |
%description |
92 |
Window Maker is a X11 window manager which emulates the look and feel of the |
93 |
NeXTSTEP (TM) graphical user interface. It is relatively fast, feature rich and |
94 |
easy to configure and use. Window Maker is part of the official GNU project, |
95 |
which means that Window Maker can interoperate with other GNU projects, such as |
96 |
GNOME. |
97 |
|
98 |
Window Maker allows users to switch themes 'on the fly,' to place favorite |
99 |
applications on either an application dock, similar to AfterStep's Wharf or on |
100 |
a workspace dock, a 'clip' which extends the application dock's usefulness. |
101 |
|
102 |
|
103 |
%package -n %{libwraster} |
104 |
Summary: Window Maker Raster Graphics Library |
105 |
Group: Graphical desktop/WindowMaker |
106 |
Provides: libwraster |
107 |
Conflicts: libwraster2 |
108 |
|
109 |
%description -n %{libwraster} |
110 |
Also known as libwraster, it is WindowMaker's core graphics and image |
111 |
processing system. libwraster is an optimized, fast, lightweight image library. |
112 |
It takes advantage of MMX optimizations (on systems that have support for it) |
113 |
to accelerate rendering. You can load a picture from a file easily with |
114 |
libwraster, and it has support for .gif, .jpg, .png, .xpm, .ppm, and .tiff at |
115 |
the moment. Support for other image formats can be added in the future. |
116 |
|
117 |
|
118 |
This package contains a shared library needed if you wish use WindowMaker. |
119 |
|
120 |
|
121 |
%package -n %{libwrasterdev} |
122 |
Summary: Window Maker Raster Graphics Library development files |
123 |
Group: Development/C |
124 |
Requires: %{libwraster} = %version |
125 |
Provides: libwraster-devel |
126 |
Conflicts: libwraster2-devel |
127 |
Obsoletes: %{mklibname wraster 3 -d} |
128 |
|
129 |
%description -n %{libwrasterdev} |
130 |
This package allows building applications using the libwraster library. |
131 |
|
132 |
|
133 |
%package -n %{libwrasterstatic} |
134 |
Summary: Libwraster - Static library |
135 |
Group: Development/C |
136 |
Requires: %{libwrasterdev} = %version |
137 |
Provides: libwraster-static-devel |
138 |
Conflicts: libwraster2-static-devel |
139 |
Obsoletes: %{mklibname wraster 3 -d -s} |
140 |
|
141 |
%description -n %{libwrasterstatic} |
142 |
This package contains a static library used to build statically linked |
143 |
applications against libwraster. |
144 |
|
145 |
|
146 |
%package -n %{libnamedev} |
147 |
Summary: Libraries and header files for WindowMaker |
148 |
Group: Development/C |
149 |
Requires: %{libwrasterdev} = %version |
150 |
Obsoletes: %{mklibname WindowMaker 0 -d} |
151 |
Obsoletes: windowmaker-devel, WindowMaker-devel |
152 |
Provides: windowmaker-devel, WindowMaker-devel |
153 |
|
154 |
%description -n %{libnamedev} |
155 |
Window Maker is an X11 window manager which emulates the look and feel of the |
156 |
NeXTSTEP (TM) graphical user interface. It is relatively fast, feature rich and |
157 |
easy to configure and use. Window Maker is part of the official GNU project, |
158 |
which means that Window Maker can interoperate with other GNU projects, such as |
159 |
GNOME. |
160 |
|
161 |
Window Maker allows users to switch themes 'on the fly,' to place favorite |
162 |
xapplications on either an application dock, similar to AfterStep's Wharf or on |
163 |
a workspace dock, a 'clip' which extends the application dock's usefulness. |
164 |
|
165 |
This package contains headers needed for development. |
166 |
|
167 |
|
168 |
%package -n %{libnamestatic} |
169 |
Summary: Static libraries and header files for WindowMaker |
170 |
Group: Development/C |
171 |
Requires: %{libnamedev} = %{version} |
172 |
Obsoletes: %{mklibname WindowMaker 0 -d -s} |
173 |
Obsoletes: WindowMaker-static-devel |
174 |
Provides: WindowMaker-static-devel |
175 |
|
176 |
%description -n %{libnamestatic} |
177 |
Window Maker is an X11 window manager which emulates the look and feel of the |
178 |
NeXTSTEP (TM) graphical user interface. It is relatively fast, feature rich and |
179 |
easy to configure and use. Window Maker is part of the official GNU project, |
180 |
which means that Window Maker can interoperate with other GNU projects, such as |
181 |
GNOME. |
182 |
|
183 |
Window Maker allows users to switch themes 'on the fly,' to place favorite |
184 |
xapplications on either an application dock, similar to AfterStep's Wharf or on |
185 |
a workspace dock, a 'clip' which extends the application dock's usefulness. |
186 |
|
187 |
This package contains static libraries needed for development. |
188 |
|
189 |
|
190 |
%prep |
191 |
%setup -q -a 1 -a 2 -a 20 |
192 |
%patch0 -p0 |
193 |
|
194 |
%patch10 -p0 |
195 |
%patch11 -p1 -b .fix_compile_x86_64 |
196 |
%patch12 -p1 -b .setWorkspaceSpecificBack |
197 |
%patch13 -p1 -b .xdg |
198 |
%patch14 -p1 |
199 |
%patch15 -p1 |
200 |
%patch16 -p1 |
201 |
%patch17 -p1 |
202 |
%patch18 -p1 |
203 |
%patch19 -p0 -b .gcc43 |
204 |
%patch20 -p1 -b .cvs |
205 |
|
206 |
autoreconf -fi |
207 |
|
208 |
%build |
209 |
# protect the WPrefs.app location for unclean build envs with gnustep-make installed |
210 |
unset GNUSTEP_LOCAL_ROOT |
211 |
|
212 |
LINGUAS="bg cs da de el es et fi fr gl hr hu it ja ko nl no pl pt ro ru sk sv tr zh_CN zh_TW" |
213 |
export LINGUAS |
214 |
%define _enable_libtoolize 1 |
215 |
%configure2_5x --prefix=%_prefix \ |
216 |
--sysconfdir=%_sysconfdir/X11 \ |
217 |
--with-nlsdir=%_datadir/locale \ |
218 |
--enable-sound \ |
219 |
--with-pixmapdir=%_pixdir \ |
220 |
--with-gnustepdir=%gnustepdir \ |
221 |
--enable-xinerama \ |
222 |
--enable-usermenu \ |
223 |
--with-pic \ |
224 |
--with-x |
225 |
|
226 |
make |
227 |
|
228 |
## wmCalClock (default clock) |
229 |
pushd wmCalClock-1.25/Src |
230 |
make |
231 |
popd |
232 |
|
233 |
|
234 |
%install |
235 |
if [ -d $RPM_BUILD_ROOT ]; then rm -rf $RPM_BUILD_ROOT; fi |
236 |
%makeinstall_std |
237 |
|
238 |
install -d 644 %buildroot/%_pixdir |
239 |
install -m 644 WindowMaker-data/pixmaps/* %buildroot/%_pixdir |
240 |
|
241 |
|
242 |
# Install wmCalClock (default clcok) |
243 |
pushd wmCalClock-1.25/Src |
244 |
install -s -m 0755 wmCalClock %buildroot/%_bindir |
245 |
install -m 0644 wmCalClock.1 %buildroot/%_mandir/man1/ |
246 |
popd |
247 |
|
248 |
# Config files: Auto installation |
249 |
install -m 755 %SOURCE8 %buildroot/%_bindir/startwindowmaker |
250 |
|
251 |
install -d -m 755 %buildroot/%_sysconfdir/X11/WindowMaker |
252 |
install -m 644 %SOURCE6 %buildroot/%_sysconfdir/X11/WindowMaker/WindowMaker |
253 |
install -m 644 %SOURCE7 %buildroot/%_sysconfdir/X11/WindowMaker/WMWindowAttributes |
254 |
install -m 644 %SOURCE15 %buildroot/%_sysconfdir/X11/WindowMaker/WMState |
255 |
install -m 644 %SOURCE22 %buildroot/%_sysconfdir/X11/WindowMaker/WMGLOBAL |
256 |
|
257 |
# Better terminal launched in Dock |
258 |
install -m 755 %SOURCE10 %buildroot/%_bindir |
259 |
|
260 |
|
261 |
# Menu support |
262 |
|
263 |
install -d %{buildroot}/%{_sysconfdir}/menu.d |
264 |
install -m 755 %SOURCE23 %{buildroot}/%{_sysconfdir}/menu.d/%{name} |
265 |
|
266 |
# Icons |
267 |
mkdir -p $RPM_BUILD_ROOT{%_iconsdir,%_miconsdir,%_liconsdir} |
268 |
convert -geometry 48x48 %name/Icons/GNUstepGlow.tiff $RPM_BUILD_ROOT%{_liconsdir}/%name.png |
269 |
convert -geometry 32x32 %name/Icons/GNUstepGlow.tiff $RPM_BUILD_ROOT%{_iconsdir}/%name.png |
270 |
convert -geometry 16x16 %name/Icons/GNUstepGlow.tiff $RPM_BUILD_ROOT%{_miconsdir}/%name.png |
271 |
|
272 |
# Some documentation for WMCalClock |
273 |
install -d 755 $RPM_BUILD_ROOT%_docdir/%{wmcalclock} |
274 |
install -m 644 %{wmcalclock}/BUGS $RPM_BUILD_ROOT%_docdir/%{wmcalclock} |
275 |
install -m 644 %{wmcalclock}/CHANGES $RPM_BUILD_ROOT%_docdir/%{wmcalclock} |
276 |
install -m 644 %{wmcalclock}/COPYING $RPM_BUILD_ROOT%_docdir/%{wmcalclock} |
277 |
install -m 644 %{wmcalclock}/HINTS $RPM_BUILD_ROOT%_docdir/%{wmcalclock} |
278 |
install -m 644 %{wmcalclock}/README $RPM_BUILD_ROOT%_docdir/%{wmcalclock} |
279 |
install -m 644 %{wmcalclock}/TODO $RPM_BUILD_ROOT%_docdir/%{wmcalclock} |
280 |
|
281 |
install -m 644 *.1x $RPM_BUILD_ROOT/%_mandir/man1/ |
282 |
|
283 |
|
284 |
# Dadou - 0.62.1-18mdk - Make auto-login happy |
285 |
install -m 755 %SOURCE13 %buildroot/%_bindir/wmaker.inst |
286 |
|
287 |
# Matthias - 0.91.0-3mdk - change font in WM standard themes to Sans to |
288 |
# make non-western users happy |
289 |
for i in %buildroot/%_datadir/%name/Themes/*.style |
290 |
do |
291 |
sed s/Trebuchet\ MS\,Luxi\ //g $i > $i.tmp && mv -f $i.tmp $i; |
292 |
sed s/Arial,Luxi\ //g $i > $i.tmp && mv -f $i.tmp $i; |
293 |
sed s/Verdana/Sans/g $i > $i.tmp && mv -f $i.tmp $i; |
294 |
done |
295 |
|
296 |
# Matthias - 0.90.0.02mdk - Install Galaxy theme |
297 |
# (made default in startwindowmaker script) |
298 |
bzcat %SOURCE21 > %buildroot/%_datadir/%name/Themes/Galaxy.style |
299 |
|
300 |
# wmsession support |
301 |
mkdir -p %buildroot/%_sysconfdir/X11/wmsession.d/ |
302 |
cat << EOF > %buildroot/%_sysconfdir/X11/wmsession.d/03WindowMaker |
303 |
NAME=WindowMaker |
304 |
ICON=wmaker-wmsession.xpm |
305 |
EXEC=%_bindir/startwindowmaker |
306 |
DESC=Window manager which emulates the look and feel of the NeXTSTEP (TM) graphical user interface |
307 |
SCRIPT: |
308 |
exec %_bindir/startwindowmaker |
309 |
EOF |
310 |
|
311 |
%find_lang WPrefs |
312 |
%find_lang WindowMaker |
313 |
%find_lang WINGs |
314 |
cat WPrefs.lang >> WindowMaker.lang |
315 |
cat WINGs.lang >> WindowMaker.lang |
316 |
|
317 |
|
318 |
%clean |
319 |
rm -fr %buildroot |
320 |
|
321 |
|
322 |
%post |
323 |
%if %mdkversion < 200900 |
324 |
%update_menus |
325 |
%endif |
326 |
%make_session |
327 |
|
328 |
%postun |
329 |
%if %mdkversion < 200900 |
330 |
%clean_menus |
331 |
%endif |
332 |
%make_session |
333 |
|
334 |
%if %mdkversion < 200900 |
335 |
%post -n %{libwraster} -p /sbin/ldconfig |
336 |
%endif |
337 |
%if %mdkversion < 200900 |
338 |
%postun -n %{libwraster} -p /sbin/ldconfig |
339 |
%endif |
340 |
|
341 |
|
342 |
%files -f %name.lang |
343 |
%defattr(-,root,root,-) |
344 |
%doc AUTHORS BUGFORM BUGS ChangeLog COPYING.WTFPL FAQ FAQ.I18N MIRRORS NEWS README* TODO |
345 |
%doc %_docdir/%{wmcalclock} |
346 |
|
347 |
%dir %_sysconfdir/X11/WindowMaker/ |
348 |
%config(noreplace) %_sysconfdir/X11/WindowMaker/* |
349 |
%{_sysconfdir}/menu.d/%{name} |
350 |
%config(noreplace) %_sysconfdir/X11/wmsession.d/* |
351 |
|
352 |
%_bindir/* |
353 |
|
354 |
%gnustepdir/Applications/WPrefs.app/ |
355 |
|
356 |
%doc %_mandir/man1/* |
357 |
%lang(sk) %doc %_mandir/sk/man1/* |
358 |
|
359 |
%dir %_datadir/WindowMaker/ |
360 |
%_datadir/WindowMaker/* |
361 |
|
362 |
%dir %_datadir/WINGs/ |
363 |
%_datadir/WINGs/*.tiff |
364 |
%_datadir/WINGs/*.xpm |
365 |
|
366 |
%_iconsdir/%name.png |
367 |
%_liconsdir/%name.png |
368 |
%_miconsdir/%name.png |
369 |
|
370 |
%_pixdir/*.png |
371 |
|
372 |
|
373 |
%files -n %{libwraster} |
374 |
%defattr(-,root,root,-) |
375 |
%_libdir/libwraster.so.* |
376 |
|
377 |
|
378 |
%files -n %{libwrasterdev} |
379 |
%defattr(-,root,root) |
380 |
%_includedir/wraster.h |
381 |
%_libdir/libwraster.so |
382 |
%_libdir/libwraster.la |
383 |
|
384 |
|
385 |
%files -n %{libwrasterstatic} |
386 |
%defattr(-,root,root,-) |
387 |
%_libdir/libwraster.a |
388 |
|
389 |
|
390 |
%files -n %{libnamedev} |
391 |
%defattr(-,root,root,-) |
392 |
%_includedir/WMaker.h |
393 |
|
394 |
%dir %_includedir/WINGs/ |
395 |
%_includedir/WINGs/*.h |
396 |
%_libdir/pkgconfig/*.pc |
397 |
|
398 |
%files -n %{libnamestatic} |
399 |
%defattr(-,root,root,-) |
400 |
%_libdir/libE*.a |
401 |
%_libdir/libW*.a |
402 |
|
403 |
|