diff --git a/SPECS/icewm.spec b/SPECS/icewm.spec index 6b1af10..0094a9a 100644 --- a/SPECS/icewm.spec +++ b/SPECS/icewm.spec @@ -1,49 +1,72 @@ -# Enable LTO -%global optflags %{optflags} -flto -%global build_ldflags %{build_ldflags} -flto -%global awe_commit 60d40b83ad214e41956f604b4b65d9da45441613 +# Note: there is always trade off between build IceWM more like full DE or +# vanilla build. One group of people ask for first one and pre-configured out of +# box another one for for second. + +# https://fedoraproject.org/wiki/Changes/CMake_to_do_out-of-source_builds +%undefine __cmake_in_source_build + +# Autotools/CMake +%bcond_with fallback_build_tool + +%global awe_commit 60d40b83ad214e41956f604b4b65d9da45441613 %global awe_shortcommit %(c=%{awe_commit}; echo ${c:0:7}) Name: icewm -Version: 1.6.4 +Version: 1.8.0 Release: 1%{?dist} Summary: Window manager designed for speed, usability, and consistency + License: LGPLv2+ URL: https://ice-wm.org/ Source0: https://github.com/ice-wm/%{name}/archive/%{version}/%{name}-%{version}.tar.gz Source1: https://github.com/tim77/awesome-%{name}/archive/%{awe_commit}/awesome-%{name}.git%{awe_shortcommit}.tar.gz + # Themes # * https://www.box-look.org/p/1310273/ Source10: IceClearlooks2-ColorsMas_theme_pack-0.8.tar.bz2 + # * https://www.box-look.org/p/1266477/ Source12: KDE-Core-20181026134422.tar.bz2 + # * https://www.box-look.org/p/1163246/ Source13: Windows7ice1.tar.xz + # * https://www.box-look.org/p/1321163/ Source14: Araita+.tar.bz2 Source15: Araita-Dark+.tar.bz2 + # Better font rendering on non HiDPI screens Source20: local.conf Source21: gtkrc-2.0 Source22: gkt3-settings.ini + Source30: %{name}-startup + # Wallpaper Source40: %{name}-wallpaper.png + # 3rd party config files Source50: dunstrc Source51: conky.conf + Patch0: %{name}-keys.patch Patch1: %{name}-toolbar.patch Patch2: %{name}-menu.patch -# Missing library link -# * https://github.com/ice-wm/icewm/issues/6 -Patch10: https://github.com/ice-wm/icewm/commit/6b1721fec3e5608327e553c43f3fd8f761cb66a7.patch#/missing-ytimer-link.patch + +%if %{with fallback_build_tool} +BuildRequires: automake +BuildRequires: autoconf +%else BuildRequires: cmake3 +%endif + BuildRequires: asciidoc BuildRequires: gcc-c++ BuildRequires: intltool BuildRequires: libtool +%if 0%{?fedora} || 0%{?rhel} >= 8 BuildRequires: perl-Pod-Html +%endif BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(ao) BuildRequires: pkgconfig(fontconfig) @@ -64,16 +87,68 @@ BuildRequires: pkgconfig(xinerama) BuildRequires: pkgconfig(xpm) BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(xrender) + Requires: adwaita-icon-theme Requires: alsa-utils%{?_isa} Requires: %{name}-data = %{version}-%{release} Requires: xdg-utils +%if 0%{?fedora} || 0%{?rhel} >= 8 +Recommends: %{name}-3rd-party-cfg +Recommends: %{name}-fonts-settings = %{version}-%{release} +Recommends: %{name}-themes = %{version}-%{release} +Recommends: %{name}-wallpaper +Recommends: abattis-cantarell-fonts + +# Various additional useful tools +# * Compositor for X11 +Recommends: picom%{?_isa} + +# * Notification daemon +Recommends: dunst%{?_isa} + +# * Display resolution control +Recommends: lxrandr%{?_isa} + +# * Launcher +Recommends: rofi%{?_isa} + +# * Volume control +Recommends: volumeicon%{?_isa} + +# * Screenshot +Recommends: gnome-screenshot%{?_isa} + +Recommends: gnome-terminal%{?_isa} +Recommends: network-manager-applet%{?_isa} + +Suggests: %{name}-minimal-session = %{version}-%{release} + +# * Volume control +Suggests: pasystray%{?_isa} +Suggests: pavucontrol%{?_isa} + +# * https://github.com/bbidulock/icewm/issues/379 +Suggests: xterm%{?_isa} + +# * Night mode +Suggests: redshift-gtk%{?_isa} + +# * For antiX like IceWM +Suggests: conky%{?_isa} +%endif + +%if 0%{?fedora} +# * Screen brightness control (not available in EPEL8 yet) +Recommends: xbacklight%{?_isa} +%endif %description -IceWM is a window manager for the X Window System (freedesktop, XFree86). -The goal of IceWM is speed, simplicity, and not getting in the user's way. +IceWM is a window manager for the X Window System (freedesktop, XFree86). The +goal of IceWM is speed, simplicity, and not getting in the user's way. + You can install minimal version of IceWM without all optional dependencies: + sudo dnf install %{name}-minimal-session --setopt=install_weak_deps=False @@ -81,7 +156,9 @@ You can install minimal version of IceWM without all optional dependencies: %package data Summary: Data files for %{name} BuildArch: noarch + Requires: %{name} = %{version}-%{release} + %description data Data files for %{name}. @@ -90,7 +167,9 @@ Data files for %{name}. %package themes Summary: Extra themes for %{name} BuildArch: noarch + Requires: %{name} = %{version}-%{release} + %description themes Extra themes for %{name}. @@ -99,7 +178,9 @@ Extra themes for %{name}. %package minimal-session Summary: Minimal session for %{name} BuildArch: noarch + Requires: %{name} = %{version}-%{release} + %description minimal-session Minimal, lightweight session for %{name}. @@ -108,7 +189,9 @@ Minimal, lightweight session for %{name}. %package wallpaper Summary: Wallpaper for %{name} BuildArch: noarch + Requires: %{name} + %description wallpaper Wallpaper for %{name}. @@ -117,7 +200,9 @@ Wallpaper for %{name}. %package fonts-settings Summary: Font settings and tweaks for %{name} BuildArch: noarch + Requires: %{name} = %{version}-%{release} + %description fonts-settings Font settings and tweaks for %{name}. @@ -126,7 +211,9 @@ Font settings and tweaks for %{name}. %package 3rd-party-cfg Summary: Config files for 3rd-party apps to play nicely with %{name} BuildArch: noarch + Requires: %{name} = %{version}-%{release} + %description 3rd-party-cfg Various config files for 3rd-party apps to play nicely with %{name}. @@ -136,7 +223,6 @@ Various config files for 3rd-party apps to play nicely with %{name}. %patch0 -p1 %patch1 -p1 %patch2 -p1 -%patch10 -p1 %setup -q -D -T -a1 %setup -q -D -T -a10 @@ -161,30 +247,38 @@ sed -i 's!22!16!' Araita*/*.theme sed -i 's!#DesktopBackgroundImage= "/usr/share/wallpapers/default.jpg"!DesktopBackgroundImage= "%{_datadir}/backgrounds/%{name}-wallpaper.png"!' \ Araita*/*.theme -mkdir -p %{_target_platform} - %build -# Enable LTO -export AR=%{_bindir}/gcc-ar -export RANLIB=%{_bindir}/gcc-ranlib -export NM=%{_bindir}/gcc-nm - -pushd %{_target_platform} -%cmake3 \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -DCONFIG_GDK_PIXBUF_XLIB=on \ - -DCONFIG_LIBPNG=on \ - -DCONFIG_LIBRSVG=on \ - -DCONFIG_XPM=on \ - -DXTERMCMD=%{_bindir}/xterm \ - .. -popd -%make_build -C %{_target_platform} +%if %{with fallback_build_tool} +#./autogen.sh +autoreconf -fiv +%configure \ + --with-xterm=%{_bindir}/gnome-terminal \ + --sysconfdir=%{_sysconfdir}/%{name} +%else +%cmake \ + -DCFGDIR=%{_sysconfdir}/%{name} \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCONFIG_GDK_PIXBUF_XLIB=on \ + -DCONFIG_LIBPNG=on \ + -DCONFIG_LIBRSVG=on \ + -DCONFIG_XPM=on \ + -DXTERMCMD=%{_bindir}/gnome-terminal +%endif + +%if %{with fallback_build_tool} +%make_build +%else +%cmake_build +%endif %install -%make_install -C %{_target_platform} +%if %{with fallback_build_tool} +%make_install +%else +%cmake_install +%endif # Themes cp -ap IceClearlooks2-* %{buildroot}%{_datadir}/%{name}/themes/ @@ -243,15 +337,15 @@ install -m 0644 -p %{_sysconfdir}/xdg/conky/conky.conf %{_sysconfdir}/conky/conk %files data %{_datadir}/%{name}/IceWM.jpg -%{_datadir}/%{name}/icons +%{_datadir}/%{name}/icons/ %{_datadir}/%{name}/keys -%{_datadir}/%{name}/ledclock -%{_datadir}/%{name}/mailbox +%{_datadir}/%{name}/ledclock/ +%{_datadir}/%{name}/mailbox/ %{_datadir}/%{name}/menu %{_datadir}/%{name}/preferences %{_datadir}/%{name}/programs %{_datadir}/%{name}/startup -%{_datadir}/%{name}/taskbar +%{_datadir}/%{name}/taskbar/ %{_datadir}/%{name}/theme %{_datadir}/%{name}/themes/default %{_datadir}/%{name}/themes/IceAdwaita-* @@ -314,6 +408,34 @@ install -m 0644 -p %{_sysconfdir}/xdg/conky/conky.conf %{_sysconfdir}/conky/conk %changelog +* Tue Aug 25 03:56:58 EEST 2020 Artem Polishchuk - 1.8.0-1 +- Update to 1.8.0 + +* Wed Aug 05 2020 Artem Polishchuk - 1.7.0-4 +- Add '%undefine __cmake_in_source_build' macros + +* Tue Jul 28 2020 Fedora Release Engineering - 1.7.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jul 24 2020 Artem Polishchuk - 1.7.0-2 +- Rebuild with out-of-source builds new CMake macros + +* Wed Jul 15 2020 Artem Polishchuk - 1.7.0-1 +- Update to 1.7.0 + +* Sat May 30 2020 Artem Polishchuk - 1.6.6-1 +- Update to 1.6.6 + +* Wed May 27 2020 Artem Polishchuk - 1.6.5-2 +- Drop more weak deps and simpilfy SPEC file +- Disable LTO + +* Tue Mar 17 2020 Artem Polishchuk - 1.6.5-1 +- Update to 1.6.5 + +* Wed Jan 29 2020 Fedora Release Engineering - 1.6.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Thu Jan 09 2020 Artem Polishchuk - 1.6.4-1 - Update to 1.6.4 - Switch source URL to 'github.com/ice-wm/icewm' due to release lags