# # spec file for package icewm # # Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %global lites icewm icewmhint icewmbg icesh icewm-session # default to gnome support, overriden in ring1 %bcond_without gnome Name: icewm Version: 1.3.11 Release: 0 Summary: Window Manager with a Taskbar License: LGPL-2.1+ Group: System/GUI/Other Url: http://www.icewm.org/ Source0: https://github.com/bbidulock/%{name}/archive/%{version}.tar.gz Source1: %{name}.desktop Patch99: icewm-preferences.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: libtool # Needed for documentation BuildRequires: sgmltool BuildRequires: update-alternatives BuildRequires: update-desktop-files BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(fontconfig) BuildRequires: pkgconfig(gdk-pixbuf-xlib-2.0) BuildRequires: pkgconfig(ice) BuildRequires: pkgconfig(sm) BuildRequires: pkgconfig(sndfile) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xft) BuildRequires: pkgconfig(xinerama) BuildRequires: pkgconfig(xrandr) Requires: desktop-data Requires: icewm-bin Requires: xdg-menu # if you have the choice, prefer the big one Recommends: icewm-default Provides: windowmanager BuildRoot: %{_tmppath}/%{name}-%{version}-build %if %{with gnome} BuildRequires: gnome-desktop-devel BuildRequires: libgnomeui-devel BuildRequires: pkgconfig(gnome-desktop-2.0) BuildRequires: pkgconfig(libgnomeui-2.0) %endif %description A window manager for the X Window System that can emulate the look of Windows '95, OS/2 Warp 3, OS/2 Warp 4, and Motif and tries to take the best features from those systems. IceWM features multiple workspaces, opaque move and resize, a taskbar, a window list, mailbox status, and a digital clock. It is fast and small. %package default Summary: Window Manager with a Taskbar--Default Version Group: System/GUI/Other Requires: icewm Requires: update-alternatives Recommends: icewm-lang Provides: icewm-bin %description default A window manager for the X Window System that can emulate the look of Windows '95, OS/2 Warp 3, OS/2 Warp 4, and Motif and tries to take the best features from those systems. IceWM features multiple workspaces, opaque move and resize, a taskbar, a window list, mailbox status, and a digital clock. It is fast and small. %package lite Summary: Window Manager with a Taskbar -- lite version Group: System/GUI/Other Requires: icewm Requires: update-alternatives Recommends: icewm-lang Provides: icewm-bin %description lite A window manager for the X Window System that can emulate the look of Windows 95, OS/2 Warp 3, OS/2 Warp 4, and Motif and tries to take the best features from those systems. IceWM features multiple workspaces, opaque move and resize, a taskbar, a window list, mailbox status, and a digital clock. It is fast and small. %package gnome Summary: Windowmanager with Taskbar - gnome version Group: System/GUI/GNOME Requires: icewm-default %description gnome Window Manager for X Window System. Can emulate the look of Windows 95, OS/2 Warp 3,4, Motif. Tries to take the best features of the above systems. Features multiple workspaces, opaque move and resize, task bar, window list, mailbox status, digital clock. Fast and small. This package adds GNOME menu and sound support to icewm. %lang_package %prep %setup -q # Do not require needlessly new gettext sed -i \ -e 's:0.19.5:0.19.1:g' \ configure.ac %build autoreconf -fvi # Build the Lite version %configure \ --disable-silent-rules \ --with-cfgdir=%{_sysconfdir}/icewm \ --enable-i18n \ --disable-nls \ --disable-guievents \ --disable-winmenu \ --enable-lite \ --enable-taskbar \ --disable-menus-gnome2 make %{?_smp_mflags} # Grab the lite content mkdir lite for i in %{lites}; do mv src/$i lite/$i-lite done make %{?_smp_mflags} clean # Configure for full deployment %configure \ --docdir=%{_docdir}/%{name} \ --disable-silent-rules \ --with-cfgdir=%{_sysconfdir}/icewm \ --with-icesound=alsa \ --enable-nls \ --enable-corefonts \ --enable-guievents \ --enable-antialiasing \ --enable-gradients \ --enable-shaped-decorations \ %if %{with gnome} --enable-menus-gnome2 \ %endif --enable-i18n make %{?_smp_mflags} # patch generated lib/preferences file patch -p0 -i %{PATCH99} %install make DESTDIR=%{buildroot} install %{?_smp_mflags} mkdir -p %{buildroot}%{_sysconfdir}/icewm for cfgfile in keys menu preferences toolbar winoptions ; do mv %{buildroot}%{_datadir}/icewm/$cfgfile \ %{buildroot}%{_sysconfdir}/icewm done %find_lang icewm ln -s icewm.html %{buildroot}/%{_docdir}/icewm/index.html # install the xsession desktop file mkdir -p %{buildroot}%{_datadir}/xsessions cp -f %{SOURCE1} %{buildroot}%{_datadir}/xsessions %suse_update_desktop_file %{buildroot}%{_datadir}/xsessions/icewm.desktop # link duplicate theme icons to save some space %fdupes %{buildroot}%{_datadir}/icewm/themes/ mkdir -p %{buildroot}%{_sysconfdir}/alternatives for i in %{lites}; do mv lite/$i-lite %{buildroot}%{_prefix}/bin mv %{buildroot}%{_bindir}/$i %{buildroot}%{_bindir}/$i-default # dummy touch %{buildroot}%{_sysconfdir}/alternatives/$i ln -s %{_sysconfdir}/alternatives/$i %{buildroot}%{_bindir}/$i done %post lite %{_sbindir}/update-alternatives \ --install %{_bindir}/icewm icewm %{_bindir}/icewm-lite 0 \ --slave %{_bindir}/icewmhint icewmhint %{_bindir}/icewmhint-lite \ --slave %{_bindir}/icewmbg icewmbg %{_bindir}/icewmbg-lite \ --slave %{_bindir}/icesh icesh %{_bindir}/icesh-lite \ --slave %{_bindir}/icewm-session icewm-session %{_bindir}/icewm-session-lite %preun lite if [ "$1" = 0 ] ; then %{_sbindir}/update-alternatives --remove icewm %{_bindir}/icewm-lite fi %post default %{_sbindir}/update-alternatives \ --install %{_bindir}/icewm icewm %{_bindir}/icewm-default 100 \ --slave %{_bindir}/icewmhint icewmhint %{_bindir}/icewmhint-default \ --slave %{_bindir}/icewmbg icewmbg %{_bindir}/icewmbg-default \ --slave %{_bindir}/icesh icesh %{_bindir}/icesh-default \ --slave %{_bindir}/icewm-session icewm-session %{_bindir}/icewm-session-default %preun default if [ "$1" = 0 ] ; then %{_sbindir}/update-alternatives --remove icewm %{_bindir}/icewm-default fi %files %defattr(-,root,root) %doc %{_docdir}/icewm %dir %{_sysconfdir}/icewm %config %{_sysconfdir}/icewm/* %{_datadir}/icewm/ %{_datadir}/xsessions/* %{_mandir}/man1/icewm.1.* %files lang -f icewm.lang %defattr(-,root,root) %files default %defattr(-,root,root) %{_bindir}/icewm-default %{_bindir}/icewmhint-default %{_bindir}/icewmbg-default %{_bindir}/icehelp %{_bindir}/icesh-default %{_bindir}/icewmtray %{_bindir}/icewm-session-default %ghost %{_sysconfdir}/alternatives/icewm %ghost %{_sysconfdir}/alternatives/icewmhint %ghost %{_sysconfdir}/alternatives/icewmbg %ghost %{_sysconfdir}/alternatives/icesh %ghost %{_sysconfdir}/alternatives/icewm-session %{_bindir}/icewm %{_bindir}/icewmhint %{_bindir}/icewmbg %{_bindir}/icesh %{_bindir}/icewm-session %{_bindir}/icewm-menu-fdo %if %{with gnome} %files gnome %defattr(-,root,root) %{_bindir}/icewm-menu-gnome2 %endif # make those two part of -default without gnome %{_bindir}/icesound %{_bindir}/icewm-set-gnomewm %files lite %defattr(-,root,root) %{_bindir}/icewm-lite %{_bindir}/icewmhint-lite %{_bindir}/icewmbg-lite %{_bindir}/icesh-lite %{_bindir}/icewm-session-lite %ghost %{_sysconfdir}/alternatives/icewm %ghost %{_sysconfdir}/alternatives/icewmhint %ghost %{_sysconfdir}/alternatives/icewmbg %ghost %{_sysconfdir}/alternatives/icesh %ghost %{_sysconfdir}/alternatives/icewm-session %{_bindir}/icewm %{_bindir}/icewmhint %{_bindir}/icewmbg %{_bindir}/icesh %{_bindir}/icewm-session %changelog