Accepting request 340896 from home:XRevan86

OBS-URL: https://build.opensuse.org/request/show/340896
OBS-URL: https://build.opensuse.org/package/show/X11:windowmanagers/icewm?expand=0&rev=45
This commit is contained in:
Tomáš Chvátal
2015-10-26 06:52:33 +00:00
committed by Git OBS Bridge
parent 8af8c6b5c8
commit 5b4814186e
6 changed files with 512 additions and 120 deletions

View File

@@ -17,8 +17,12 @@
%global lites icewm icewmhint icewmbg icesh icewm-session
# default to gnome support, overriden in ring1
%bcond_without gnome
# Default to mate support, overriden in ring1.
%if 0%{?suse_version} >= 1320 || (0%{?suse_version} == 1315 && 0%{?is_opensuse})
%bcond_without mate
%else
%bcond_with mate
%endif
Name: icewm
Version: 1.3.11
Release: 0
@@ -26,16 +30,22 @@ 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
Source0: https://github.com/bbidulock/icewm/archive/%{version}.tar.gz
Source1: icewm.desktop
# PATCH-FIX-UPSTREAM icewm-fix-local-search.patch sor.alexei@meowr.ru -- Make icewm-menu-fdo not to search through whole ~/.local/share/.
Patch0: icewm-fix-local-search.patch
# PATCH-FIX-OPENSUSE icewm-toolbar-icons-generic.patch sor.alexei@meowr.ru -- Don't specify paths in toolbar icons.
Patch1: icewm-toolbar-icons-generic.patch
# PATCH-FIX-OPENSUSE icewm-mate.patch sor.alexei@meowr.ru -- Add MATE Menus support.
Patch2: icewm-mate.patch
Patch99: icewm-preferences.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: libtool
BuildRequires: pkgconfig
# Needed for documentation
# Needed for documentation.
BuildRequires: pkg-config
BuildRequires: sgmltool
BuildRequires: update-alternatives
BuildRequires: update-desktop-files
@@ -55,39 +65,38 @@ Requires: desktop-data
Requires: icewm-bin
Requires: xdg-menu
Requires: xterm
# if you have the choice, prefer the big one
# If you have the choice, prefer the big one.
Recommends: icewm-default
Provides: windowmanager
# We use fdo tool to generate menu so no need for gnome subpkg
Provides: icewm-gnome = %{version}
Obsoletes: icewm-gnome < %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if %{with mate}
BuildRequires: pkgconfig(mate-desktop-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.
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
Summary: Window Manager with a Taskbar -- Default Version
Group: System/GUI/Other
Requires: gnome-icon-theme
Requires: adwaita-icon-theme
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.
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
Summary: Window Manager with a Taskbar -- Lite Version
Group: System/GUI/Other
Requires: icewm
Requires: update-alternatives
@@ -95,128 +104,158 @@ 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.
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 mate
Summary: Windowmanager with Taskbar -- MATE Version
Group: System/GUI/Other
Requires: icewm-default
Provides: icewm-gnome = %{version}
Obsoletes: icewm-gnome < %{version}
%description mate
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.
This package adds MATE menu 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
%patch0 -p1
%patch1 -p1
%patch2 -p1
# Do not require needlessly new gettext.
sed -i 's/0.19.5/0.18.3/g' configure.ac
%build
autoreconf -fvi
autoreconf -fi
# Build the Lite version
%configure \
--disable-silent-rules \
--with-cfgdir=%{_sysconfdir}/icewm \
--enable-i18n \
--disable-nls \
--disable-guievents \
--disable-winmenu \
--without-icesound \
--enable-lite \
--enable-taskbar \
--disable-menus-gnome2
--disable-silent-rules \
--with-cfgdir=%{_sysconfdir}/icewm \
--enable-i18n \
--disable-nls \
--disable-guievents \
--disable-winmenu \
--without-icesound \
--enable-lite \
--enable-taskbar \
--disable-menus-fdo \
--disable-menus-mate
make %{?_smp_mflags}
# Grab the lite content
# Grab the lite content.
mkdir lite
for i in %{lites}; do
mv src/$i lite/$i-lite
for file in %{lites}; do
mv -f src/$file lite/$file-lite
done
make %{?_smp_mflags} clean
# Configure for full deployment
# Configure for full deployment.
%configure \
--docdir=%{_docdir}/%{name} \
--disable-silent-rules \
--with-cfgdir=%{_sysconfdir}/icewm \
--with-icesound=alsa \
--enable-i18n \
--enable-nls \
--enable-corefonts \
--enable-guievents \
--enable-antialiasing \
--enable-gradients \
--enable-shaped-decorations \
--enable-menus-fdo \
--disable-menus-gnome2
--docdir=%{_docdir}/%{name} \
--disable-silent-rules \
--with-cfgdir=%{_sysconfdir}/icewm \
--with-icesound=alsa \
--enable-i18n \
--enable-nls \
--enable-corefonts \
--enable-guievents \
--enable-antialiasing \
--enable-gradients \
--enable-shaped-decorations \
--enable-menus-fdo \
%if %{with mate}
--enable-menus-mate \
%endif
--enable-i18n
make %{?_smp_mflags}
# patch generated lib/preferences file
patch -p0 -i %{PATCH99}
# Patch generated lib/preferences file.
patch -p1 -i %{PATCH99}
%install
make DESTDIR=%{buildroot} install %{?_smp_mflags}
# First just remove gnome wm setter as we don't have gnome2 anyway
rm %{buildroot}%{_bindir}/icewm-set-gnomewm
mkdir -p %{buildroot}%{_sysconfdir}/icewm
%make_install
# First just remove GNOME WM setter as we don't have GNOME 2 anyway.
rm -f %{buildroot}%{_bindir}/icewm-set-gnomewm
mkdir -p %{buildroot}%{_sysconfdir}/icewm/
for cfgfile in keys menu preferences toolbar winoptions ; do
mv %{buildroot}%{_datadir}/icewm/$cfgfile \
%{buildroot}%{_sysconfdir}/icewm
mv -f %{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
ln -sf icewm.html %{buildroot}/%{_docdir}/icewm/index.html
# dummy
touch %{buildroot}%{_sysconfdir}/alternatives/$i
ln -s %{_sysconfdir}/alternatives/$i %{buildroot}%{_bindir}/$i
# Install the xsession desktop file.
install -Dm 0644 %{SOURCE1} %{buildroot}%{_datadir}/xsessions/icewm.desktop
mkdir -p %{buildroot}%{_sysconfdir}/alternatives/
for file in %{lites}; do
mv -f lite/$file-lite %{buildroot}%{_prefix}/bin
mv -f %{buildroot}%{_bindir}/$file %{buildroot}%{_bindir}/$file-default
# Dummy.
touch %{buildroot}%{_sysconfdir}/alternatives/$file
ln -s %{_sysconfdir}/alternatives/$file %{buildroot}%{_bindir}/$file
done
%suse_update_desktop_file %{buildroot}%{_datadir}/xsessions/icewm.desktop
# Link duplicate theme icons to save some space.
%fdupes %{buildroot}%{_datadir}/icewm/themes/
%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
--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
%{_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
--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
%{_sbindir}/update-alternatives --remove icewm %{_bindir}/icewm-default
fi
%files
%defattr(-,root,root)
%doc %{_docdir}/icewm
%dir %{_sysconfdir}/icewm
%dir %{_sysconfdir}/icewm/
%config %{_sysconfdir}/icewm/*
%{_datadir}/icewm/
%{_datadir}/xsessions/*
%{_mandir}/man1/icewm.1.*
%{_mandir}/man1/icewm.1%{?ext_man}
%files lang -f icewm.lang
%defattr(-,root,root)
%files default
%defattr(-,root,root)
%ghost %{_sysconfdir}/alternatives/icewm
%ghost %{_sysconfdir}/alternatives/icewmhint
%ghost %{_sysconfdir}/alternatives/icewmbg
%ghost %{_sysconfdir}/alternatives/icesh
%ghost %{_sysconfdir}/alternatives/icewm-session
%{_bindir}/icewm-default
%{_bindir}/icewmhint-default
%{_bindir}/icewmbg-default
@@ -224,35 +263,38 @@ fi
%{_bindir}/icesh-default
%{_bindir}/icewmtray
%{_bindir}/icewm-session-default
%{_bindir}/icesound
%ghost %{_bindir}/icewm
%ghost %{_bindir}/icewmhint
%ghost %{_bindir}/icewmbg
%ghost %{_bindir}/icesh
%ghost %{_bindir}/icewm-session
%ghost %{_bindir}/icewm-menu-fdo
%if %{with mate}
%files mate
%defattr(-,root,root)
%{_bindir}/icewm-menu-mate
%endif
%{_datadir}/applications/icewm.desktop
%{_bindir}/icewm-set-matewm
%files lite
%defattr(-,root,root)
%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
%{_bindir}/icesound
%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
%ghost %{_bindir}/icewm
%ghost %{_bindir}/icewmhint
%ghost %{_bindir}/icewmbg
%ghost %{_bindir}/icesh
%ghost %{_bindir}/icewm-session
%changelog