# TODO:
-# - make a PLD-theme - default :]
+# - make a PLD-theme - default:]
#
# Conditional build:
-%bcond_without gradients # gradients (requires antialiasing which requires freetype)
%bcond_without freetype # xfreetype support (implies no antialiasing)
-%bcond_without guievents # GUI events
%bcond_without alsa # ALSA sound for GUI events
-%bcond_with esd # EsounD sound for GUI events
-%bcond_without yiff # YIFF sound for GUI events
-%bcond_with gnome2 # support for GNOME2 menus and wm-properties
+%bcond_without ao # AO sound for GUI events
-%if %{without guievents}
-%undefine with_alsa
-%undefine with_esd
-%undefine with_yiff
-%endif
Summary: IceWM X11 Window Manager
Summary(de.UTF-8): IceWM ist ein Window Manager für X
Summary(es.UTF-8): Administrador de Ventanas X11
Summary(ru.UTF-8): Оконный менеджер для X11
Summary(uk.UTF-8): Віконний менеджер для X11
Name: icewm
-Version: 1.3.12
-%define iceicons_ver 0.6
+Version: 3.4.7
Release: 1
Epoch: 2
License: LGPL v2
Group: X11/Window Managers
#Source0Download: https://github.com/ice-wm/icewm/releases
Source0: https://github.com/ice-wm/icewm/archive/%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: ab4671878fc36d5f96896a04e5f8c0bc
-Source1: IceWM.desktop
-Source3: http://downloads.sourceforge.net/icewm/iceicons-%{iceicons_ver}.tar.gz
-# Source3-md5: 53ed111a3c4d1e609bd1604ddccd4701
-Source4: icewm-startup.sh
-Patch0: %{name}-build-fixes.patch
+# Source0-md5: 5d9d5f9225b9a98fd9409b5463f0cd64
+Source1: %{name}-startup.sh
+Patch0: desktop-files.patch
URL: https://ice-wm.org/
%{?with_alsa:BuildRequires: alsa-lib-devel}
-BuildRequires: autoconf >= 2.69
-BuildRequires: automake
-%{?with_esd:BuildRequires: esound-devel}
+BuildRequires: cmake
+BuildRequires: discount
BuildRequires: fontconfig-devel
+BuildRequires: freetype-devel
BuildRequires: fribidi-devel >= 0.10.4
-BuildRequires: gdk-pixbuf2-xlib-devel >= 2.0
+BuildRequires: gettext >= 0.19.6
BuildRequires: gettext-tools >= 0.19.6
+BuildRequires: git-core
BuildRequires: glib2-devel >= 2.0
-%{?with_gnome2:BuildRequires: gnome-desktop2-devel >= 2.0}
-%{?with_gnome2:BuildRequires: gnome-vfs2-devel >= 2.0}
-%{?with_gnome2:BuildRequires: libgnomeui-devel >= 2.0}
+BuildRequires: imlib2-devel
+%{?with_ao:BuildRequires: libao-devel}
+BuildRequires: librsvg-devel
%{?with_alsa:BuildRequires: libsndfile-devel}
BuildRequires: libstdc++-devel
BuildRequires: libtool >= 2:2.4.2
BuildRequires: pkgconfig
+BuildRequires: ruby-asciidoctor
BuildRequires: sed >= 4.0
BuildRequires: xorg-lib-libICE-devel
BuildRequires: xorg-lib-libSM-devel
BuildRequires: xorg-lib-libX11-devel
+BuildRequires: xorg-lib-libXcomposite-devel
+BuildRequires: xorg-lib-libXdamage-devel
BuildRequires: xorg-lib-libXext-devel
+BuildRequires: xorg-lib-libXfixes-devel
%{?with_freetype:BuildRequires: xorg-lib-libXft-devel >= 2.1}
BuildRequires: xorg-lib-libXinerama-devel
+BuildRequires: xorg-lib-libXpm-devel
BuildRequires: xorg-lib-libXrandr-devel
BuildRequires: xorg-lib-libXrender-devel
-%{?with_yiff:BuildRequires: yiff-devel >= 2.14.7-3}
Requires(pre): /bin/rm
Requires(pre): /usr/bin/test
Requires: shared-mime-info
Requires: xinitrc-ng
-Suggests: vfmg >= 0.9.95
+Requires: xorg-app-xrandr
Conflicts: filesystem < 3.0-20
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _wmpropsdir /usr/share/gnome/wm-properties
%define specflags_ia32 -fomit-frame-pointer
%description
Summary: Pack of themes for IceWM
Summary(pl.UTF-8): Zestaw motywów dla IceWM-a
Group: Themes
-Requires: icewm
+Requires: %{name} = %{epoch}:%{version}
+BuildArch: noarch
%description themes-base
-Standard pack of themes delivered with IceWM. All of them made by
-Marko Macek: gtk2, metal2, motif, nice, nice2, warp3, warp4, win95.
+Standard pack of themes delivered with IceWM:
+- CrystalBlue by BlueScorpio
+- Helix by RudeSka and TigerT
+- NanoBlue by lion1810
+- metal2, motif, win32 by Marko Macek
+
+This package contains also old themes, no longer installed by default
+in IceWM 1.4:
+- gtk2, nice, nice2, warp3, warp4 by Marko Macek
+- yellowmotif by Andreas Leitgeb
%description themes-base -l pl.UTF-8
-Standardowy zestaw motywów dla IceWM-a, dostarczany wraz z nim.
-Wszystkie stworzone przez Marko Macka: gtk2, metal2, motif, nice,
-nice2, warp3, warp4, win95.
+Standardowy zestaw motywów dla IceWM-a, dostarczany wraz z nim:
+- CrystalBlue autorstwa BlueScorpio
+- Helix autorstwa RudeSka i TigerT
+- NanoBlue autorstwa lion1810
+- metal2, motif, win32 autorstwa Marko Macka
+
+Pakiet zawiera także stare motywy, nie instalowane domyślnie wraz z
+IceWM-em 1.4:
+- gtk2, nice, nice2, warp3, warp4 autorstwa Marko Macka
+- yellowmotif autorstwa Andreasa Leitgeba
%prep
%setup -q
%patch0 -p1
-tar -xzf %{SOURCE3} -C lib/icons
-
-%{__sed} -i -e '/po\/Makefile.in/d' configure.ac
-
%build
-%{__gettextize}
-%{__libtoolize}
-%{__aclocal} -I m4
-%{__autoconf}
-%{__autoheader}
-%{__automake}
-%configure \
- %{!?with_gradients:--disable-gradients} \
- %{?with_guievents:--enable-guievents --with-icesound=%{?with_alsa:ALSA,}OSS%{?with_yiff:,Y}%{?with_esd:,ESound}} \
- %{!?with_gnome2:--disable-menus-gnome2} \
- --enable-shaped-decorations \
- %{!?with_freetype:--disable-xfreetype --enable-corefonts} \
- --with-cfgdir=%{_sysconfdir}/X11/%{name} \
- --with-docdir=%{_docdir}
+%cmake -B build \
+ -DCONFIG_LIBRSVG=ON \
+ -DCFGDIR=%{_sysconfdir}/X11/%{name} \
+ -DDOCDIR=%{_docdir}/%{name}-%{version} \
+ %{?with_alsa:-DENABLE_ALSA=ON} \
+ %{?with_ao:-DENABLE_AO=ON} \
+ %{!?with_freetype:-DCONFIG_XFREETYPE=OFF -DCONFIG_COREFONTS=ON}
+
+cd build
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_pixmapsdir},%{_wmpropsdir},%{_sysconfdir}/X11/%{name}}
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/X11/%{name}
+cd build
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
+cd ..
+
+cd build/man
+%{__ln} -s icewm.1.html icewm.html
+cd -
-%{__sed} -e 's|^# IconPath=""|IconPath="%{_datadir}/pixmaps:%{_datadir}/icons"|' -i $RPM_BUILD_ROOT%{_datadir}/icewm/preferences
+%{__sed} -e 's|^# IconPath=.*|IconPath="%{_pixmapsdir}:%{_iconsdir}:"|' -i $RPM_BUILD_ROOT%{_datadir}/icewm/preferences
# packaged as %doc
-%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/icewm
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
-%{?with_gnome2:cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_wmpropsdir}}
-cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_datadir}/icewm/startup
-cp -p lib/keys $RPM_BUILD_ROOT%{_sysconfdir}/X11/%{name}/keys
-cp -p lib/toolbar $RPM_BUILD_ROOT%{_sysconfdir}/X11/%{name}/toolbar
-cp -p lib/winoptions $RPM_BUILD_ROOT%{_sysconfdir}/X11/%{name}/winoptions
-echo %{_bindir}/icewmbg > $RPM_BUILD_ROOT%{_sysconfdir}/X11/%{name}/startup
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/icewm/startup
+cp -p $RPM_BUILD_ROOT%{_datadir}/icewm/keys $RPM_BUILD_ROOT%{_sysconfdir}/X11/%{name}/keys
+cp -p $RPM_BUILD_ROOT%{_datadir}/icewm/menu $RPM_BUILD_ROOT%{_sysconfdir}/X11/%{name}/menu
+cp -p $RPM_BUILD_ROOT%{_datadir}/icewm/preferences $RPM_BUILD_ROOT%{_sysconfdir}/X11/%{name}/preferences
+cp -p $RPM_BUILD_ROOT%{_datadir}/icewm/programs $RPM_BUILD_ROOT%{_sysconfdir}/X11/%{name}/programs
+cp -p $RPM_BUILD_ROOT%{_datadir}/icewm/startup $RPM_BUILD_ROOT%{_sysconfdir}/X11/%{name}/startup
+cp -p $RPM_BUILD_ROOT%{_datadir}/icewm/toolbar $RPM_BUILD_ROOT%{_sysconfdir}/X11/%{name}/toolbar
+cp -p $RPM_BUILD_ROOT%{_datadir}/icewm/winoptions $RPM_BUILD_ROOT%{_sysconfdir}/X11/%{name}/winoptions
:> $RPM_BUILD_ROOT%{_sysconfdir}/X11/%{name}/restart
-ln -s %{_datadir}/icewm/icons $RPM_BUILD_ROOT%{_pixmapsdir}/icewm
+# old themes, no longer installed
+cp -pr lib/themes/{gtk2,nice,nice2,warp3,warp4,yellowmotif} $RPM_BUILD_ROOT%{_datadir}/icewm/themes
-echo "menuprog \"Programs\" %{_datadir}/icewm/icons/folder_16x16.xpm vfmg -i -f -x -c -s icewm" > $RPM_BUILD_ROOT%{_sysconfdir}/X11/%{name}/menu
+# duplicate locale
+%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/no
+# unsupported locale
+%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/ie
%find_lang %{name}
%clean
rm -rf $RPM_BUILD_ROOT
-%pre
-test -h %{_pixmapsdir}/icewm || rm -rf %{_pixmapsdir}/icewm
-
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc AUTHORS BUGS CHANGES PLATFORMS README* TODO doc/*.html
+%doc AUTHORS BUGS CHANGES ChangeLog NEWS PLATFORMS README.md THANKS TODO build/man/*.html
%attr(755,root,root) %{_bindir}/icehelp
%attr(755,root,root) %{_bindir}/icesh
-%if %{with guievents}
%attr(755,root,root) %{_bindir}/icesound
-%endif
%attr(755,root,root) %{_bindir}/icewm
%attr(755,root,root) %{_bindir}/icewm-menu-fdo
%attr(755,root,root) %{_bindir}/icewm-session
%attr(755,root,root) %{_bindir}/icewm-set-gnomewm
%attr(755,root,root) %{_bindir}/icewmbg
%attr(755,root,root) %{_bindir}/icewmhint
-%attr(755,root,root) %{_bindir}/icewmtray
+%attr(755,root,root) %{_bindir}/icewm-menu-xrandr
+%{_mandir}/man1/icehelp.1*
+%{_mandir}/man1/icesh.1*
+%{_mandir}/man1/icesound.1*
+%{_mandir}/man1/icewm-menu-fdo.1*
+%{_mandir}/man1/icewm-menu-xrandr.1*
+%{_mandir}/man1/icewm-session.1*
+%{_mandir}/man1/icewm-set-gnomewm.1*
+%{_mandir}/man1/icewmbg.1*
+%{_mandir}/man1/icewmhint.1*
+%{_mandir}/man5/icewm-env.5*
+%{_mandir}/man5/icewm-focus_mode.5*
+%{_mandir}/man5/icewm-keys.5*
+%{_mandir}/man5/icewm-menu.5*
+%{_mandir}/man5/icewm-preferences.5*
+%{_mandir}/man5/icewm-prefoverride.5*
+%{_mandir}/man5/icewm-programs.5*
+%{_mandir}/man5/icewm-shutdown.5*
+%{_mandir}/man5/icewm-startup.5*
+%{_mandir}/man5/icewm-theme.5*
+%{_mandir}/man5/icewm-toolbar.5*
+%{_mandir}/man5/icewm-winoptions.5*
%dir %{_sysconfdir}/X11/%{name}
%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/X11/%{name}/keys
%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/X11/%{name}/menu
+%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/X11/%{name}/preferences
+%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/X11/%{name}/programs
%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/X11/%{name}/toolbar
%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/X11/%{name}/winoptions
%config(noreplace,missingok) %verify(not md5 mtime size) %attr(755,root,root) %{_sysconfdir}/X11/%{name}/restart
%config(noreplace,missingok) %verify(not md5 mtime size) %attr(755,root,root) %{_sysconfdir}/X11/%{name}/startup
-%{_pixmapsdir}/icewm
%dir %{_datadir}/icewm
+%{_datadir}/icewm/IceWM.jpg
%{_datadir}/icewm/icons
%{_datadir}/icewm/keys
%{_datadir}/icewm/menu
%{_datadir}/icewm/winoptions
%dir %{_datadir}/icewm/themes
%{_datadir}/icewm/themes/Infadel2
+%{_datadir}/icewm/themes/default
%{_datadir}/icewm/themes/icedesert
%{_datadir}/xsessions/icewm.desktop
%{_datadir}/xsessions/icewm-session.desktop
-%{?with_gnome2:%{_wmpropsdir}/IceWM.desktop}
%{_mandir}/man1/icewm.1*
%files themes-base
%defattr(644,root,root,755)
-%{_datadir}/icewm/themes/gtk2
+%{_datadir}/icewm/themes/CrystalBlue
+%{_datadir}/icewm/themes/Helix
+%{_datadir}/icewm/themes/NanoBlue
%{_datadir}/icewm/themes/metal2
%{_datadir}/icewm/themes/motif
+%{_datadir}/icewm/themes/win95
+# old themes, no longer installed in 1.4.x
+%{_datadir}/icewm/themes/gtk2
%{_datadir}/icewm/themes/nice
%{_datadir}/icewm/themes/nice2
%{_datadir}/icewm/themes/warp3
%{_datadir}/icewm/themes/warp4
-%{_datadir}/icewm/themes/win95
%{_datadir}/icewm/themes/yellowmotif