File conky.spec of Package conky
#
# spec file for package conky
#
# Copyright (c) 2012 SUSE LINUX Products 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/
#
%if 0%{?suse_version} >= 1100
%define with_lua_extra 1
%else
%define with_lua_extra 0
%endif
Name: conky
Version: 1.9.0
Release: 0
Summary: Lightweight System Monitor
License: GPL-3.0+ and LGPL-3.0+ and MIT
Group: System/Monitoring
Url: http://conky.sourceforge.net
Source: http://prdownloads.sourceforge.net/conky/conky-%{version}.tar.bz2
Source1: conky.desktop
# PATCH-FIX - add -lm when linking against -liw
Patch1: conky-1.9.0-libiw_with_libm.patch
# PATCH-FIX-UPSTREAM - revert broken apcupsd to previous working version.
Patch2: fix-apcupsd.patch
# PATCH-FIX-UPSTREAM - avoid rewriting an arbitrary user file. remove next release
Patch3: fix-CVE-2011-3616.patch
Source99: conky-rpmlintrc
BuildRequires: fontconfig-devel
BuildRequires: freetype2-devel
BuildRequires: gcc
BuildRequires: make
BuildRequires: pkgconfig
%if 0%{?suse_version} >= 1000
BuildRequires: xorg-x11-devel
%else
BuildRequires: XFree86-devel
%endif
%if 0%{?suse_version} >= 1120
BuildRequires: libiw-devel
%else
BuildRequires: wireless-tools
%endif
BuildRequires: alsa-devel
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: cairo-devel
BuildRequires: docbook2x
BuildRequires: glib2-devel
BuildRequires: libpng-devel
BuildRequires: libtool
BuildRequires: update-desktop-files
BuildRequires: zlib-devel
%if %with_lua_extra
BuildRequires: tolua++
%endif
%if 0%{?sles_version} == 0 || 0%{?sles_version} >= 11
%define with_imlib2 1
BuildRequires: imlib2-devel
%endif
BuildRequires: libxml2-devel
BuildRequires: ncurses-devel
%if 0%{?suse_version} >= 1020
%define with_lua 1
%if 0%{?suse_version} >= 1220
BuildRequires: lua51-devel
%else
BuildRequires: lua-devel
%endif
%endif
%if 0%{?suse_version} >= 1020 || 0%{?fedora_version} > 0
%if 0%{?sles_version} < 11
BuildRequires: vim-enhanced
%else
BuildRequires: vim
%endif
%else
BuildRequires: vim
%endif
%if 0%{?suse_version} >= 1030
BuildRequires: libcurl-devel
%else
BuildRequires: curl-devel
%endif
%if 0%{?packman_bs}
BuildRequires: audacious-devel
# fix dbus-glib-1 no found for audacious
BuildRequires: dbus-1-glib-devel
BuildRequires: libXNVCtrl
BuildRequires: xmm2-devel
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Conky is an advanced, highly configurable system monitor for X.
%if 0%{?packman_bs}
This package is built with support for audacious and nVidia GPUs.
%endif
%if %with_lua_extra
%package cairo
Summary: Cairo Rendering Backend for %{name}
Group: System/Monitoring
Requires: %{name} = %{version}
%description cairo
Conky is an advanced, highly configurable system monitor for X.
This package contains the Cairo rendering backend plugin
for %{name}.
%package imlib2
Summary: Imlib2 Rendering Backend for %{name}
Group: System/Monitoring
Requires: %{name} = %{version}
# This is required for imlib2 function properly.
Requires: imlib2-loaders
%description imlib2
Conky is an advanced, highly configurable system monitor for X.
This package contains the Imlib2 rendering backend plugin
for %{name}.
%endif
%package doc
Summary: Documentation for conky
Group: System/Monitoring
%description doc
Conky is an advanced, highly configurable system monitor for X.
This package provides additional documentation about conky in
the following directory:
%{_docdir}/%{name}/
%package vim
Summary: Conky Configuration File Support for Vim
Group: Productivity/Editors/Vi
Requires: vim-base
%description vim
Conky is an advanced, highly configurable system monitor for X.
This package provides syntax highlighting support for conky
configuration files in vim.
%package nano
Summary: Conky Configuration File Support for nano
Group: Productivity/Editors/Other
Requires: nano
%description nano
Conky is an advanced, highly configurable system monitor for X.
This package provides syntax highlighting support for conky
configuration files in nano.
%if 0%{?packman_bs}
%package feature-audacious
Summary: Pseudo Package for %{name} with Audacious Support
Group: System/Monitoring
Requires: %{name} = %{version}
%description feature-audacious
This is a pseudo-package that doesn't contain any files but
requires the Packman build of %{name}, which includes support
for the Audacious player.
%package feature-nvidia
Summary: Pseudo Package for %{name} with nVidia Support
Group: System/Monitoring
Requires: %{name} = %{version}
%description feature-nvidia
This is a pseudo-package that doesn't contain any files but
requires the Packman build of %{name}, which includes support
for nVidia GPU statistics.
%endif
%prep
%setup -q
%patch1
%patch2 -p1
%patch3 -p1
for i in AUTHORS ChangeLog; do
mv "${i}" "${i}.orig" && \
iconv -f iso8859-1 -t utf8 -o "${i}" "${i}.orig" && \
rm "${i}.orig"
done
%build
test -e ./configure || ./autogen.sh
LIBS="-lm"
export LIBS
# to link X11 libs on SLE < 11:
LIBS="$LIBS -L/usr/X11R6/%{_lib}"
LDFLAGS="-lm" \
%configure \
--enable-xft \
--enable-own-window \
--enable-double-buffer \
--enable-x11 \
--enable-xdamage \
--enable-portmon \
--enable-ibm \
--enable-weather-metar \
--enable-weather-xoap \
--enable-rss \
--enable-eve \
--%{?with_imlib2:enable}%{!?with_imlib2:disable}-imlib2 \
%if 0%{?with_lua}
--enable-lua \
%if %with_lua_extra
--enable-lua-imlib2 \
--enable-lua-cairo \
%endif #with_lua_extra
%else
--disable-lua \
--disable-lua-imlib2 \
--disable-lua-cairo \
%endif #with_lua
--enable-alsa \
--enable-wlan \
%if 0%{?packman_bs}
--enable-audacious=yes \
--enable-nvidia=yes \
--enable-xmms2=yes
%else
--enable-audacious=no \
--enable-nvidia=no
%endif #packman_bs
# inotify on SLE < 11 is too old
%if 0%{?sles_version} > 0 && 0%{?sles_version} < 11
sed -i '/^#define HAVE_SYS_INOTIFY_H/d' src/config.h
echo '#undef HAVE_SYS_INOTIFY_H' >> src/config.h
%endif
make %{?_smp_flags}
%install
make DESTDIR=%{buildroot} install
install -D -m 0644 "%{SOURCE1}" "%{buildroot}%{_datadir}/applications/%{name}.desktop"
%suse_update_desktop_file -r "%{name}" System Monitor
for feature in audacious nvidia; do
cat<<EOF >README.feature-"$feature"
This package acts as a placeholder for %{name} with
support for ${feature}, to avoid accidential removal
of that functionality through upgrading to a package
from a different repository.
EOF
done
install -D -m0644 extras/vim/ftdetect/conkyrc.vim "%{buildroot}%{_datadir}/vim/site/ftdetect/conkyrc.vim"
install -D -m0644 extras/vim/syntax/conkyrc.vim "%{buildroot}%{_datadir}/vim/site/syntax/conkyrc.vim"
install -D -m0644 extras/nano/conky.nanorc "%{buildroot}%{_datadir}/nano/conky.nanorc"
install -d "%{buildroot}%{_docdir}/%{name}"
MAINDOCFILES="$PWD/doc.main.lst"
echo -n >"$MAINDOCFILES"
for f in AUTHORS ChangeLog COPYING NEWS README TODO data/conky.conf; do
ff=$(basename "$f")
install -D -m0644 "$f" "%{buildroot}%{_docdir}/%{name}/$ff"
echo "%doc %{_docdir}/%{name}/$ff" >>"$MAINDOCFILES"
done
DOCDOCFILES="$PWD/doc.doc.lst"
echo -n >"$DOCDOCFILES"
for f in doc/*.html; do
ff=$(basename "$f")
install -D -m0644 "$f" "%{buildroot}%{_docdir}/%{name}/$ff"
echo "%doc %{_docdir}/%{name}/$ff" >>"$DOCDOCFILES"
done
%if %with_lua_extra
rm -rf "%{buildroot}%{_libdir}/conky"/*.{a,la}
%else
install -d "%{buildroot}%{_libdir}/conky"
%endif
%clean
%{?buildroot:rm -rf %{buildroot}}
%files -f doc.main.lst
%defattr(-,root,root)
%doc %dir %{_docdir}/%{name}
%dir %{_sysconfdir}/conky
%config(noreplace) %{_sysconfdir}/conky/conky.conf
%config(noreplace) %{_sysconfdir}/conky/conky_no_x11.conf
%{_bindir}/conky
%doc %{_mandir}/man1/conky.1%{ext_man}
%{_datadir}/applications/%{name}.desktop
%dir %{_libdir}/conky
%if %with_lua_extra
%files cairo
%defattr(-,root,root)
%{_libdir}/conky/libcairo.so
%{_libdir}/conky/libcairo.so.*
%files imlib2
%defattr(-,root,root)
%{_libdir}/conky/libimlib2.so
%{_libdir}/conky/libimlib2.so.*
%endif #with_lua_extra
%files doc -f doc.doc.lst
%defattr(-,root,root)
%doc %dir %{_docdir}/%{name}
%files vim
%defattr(-,root,root)
%dir %{_datadir}/vim/site
%dir %{_datadir}/vim/site/ftdetect
%{_datadir}/vim/site/ftdetect/conkyrc.vim
%dir %{_datadir}/vim/site/syntax
%{_datadir}/vim/site/syntax/conkyrc.vim
%files nano
%defattr(-,root,root)
%dir %{_datadir}/nano
%{_datadir}/nano/conky.nanorc
%if 0%{?packman_bs}
%files feature-audacious
%defattr(-,root,root)
%doc README.feature-audacious
%files feature-nvidia
%defattr(-,root,root)
%doc README.feature-nvidia
%endif
%changelog