File conky.spec of Package conky

# vim: set sw=4 ts=4 et:

%if 0%{?suse_version} >= 1100
%define with_lua_extra 1
%else
%define with_lua_extra 0
%endif

Name:           conky
Version:        1.8.1
Release:        0
Summary:        Lightweight System Monitor
Source:         http://prdownloads.sourceforge.net/conky/conky-%{version}.tar.bz2
Source1:        conky.desktop
# PATCH-FIX-UPSTREAM - conky-fix-curl-FTBFS.patch - remove deprecated curl/types.h to fix FTBFS in newer versions of curl, http://tinyurl.com/4x76bbx
%if 0%{?suse_version} >= 1210
Patch0:         %{name}-fix-curl-FTBFS.patch
%endif
# PATCH-FIX - add -lm when linking against -liw
Patch1:         conky-libiw_with_libm.patch
Source99:       conky-rpmlintrc
URL:            http://conky.sourceforge.net
Group:          System/Monitoring
License:        BSD license (revised)
BuildRoot:      %{_tmppath}/build-%{name}-%{version}
BuildRequires:  make gcc fontconfig-devel freetype2-devel
BuildRequires:  xorg-x11-devel
%if 0%{?suse_version} >= 1120
BuildRequires:  libiw-devel
%else
BuildRequires:  wireless-tools
%endif
BuildRequires:  libpng-devel zlib-devel glib2-devel
BuildRequires:  xorg-x11-devel
BuildRequires:  cairo-devel
BuildRequires:  update-desktop-files
BuildRequires:  autoconf automake libtool
BuildRequires:  docbook2x
BuildRequires:  alsa-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
BuildRequires:  lua-devel
%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 %suse_version >= 1030
BuildRequires:  libcurl-devel
%else
BuildRequires:  curl-devel
%endif
%if 0%{?packman_bs}
BuildRequires:  audacious-devel
BuildRequires:  libXNVCtrl
%endif

%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}

%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
Requires:       vim-base
Group:          Productivity/Editors/Vi

%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
Requires:       nano
Group:          Productivity/Editors/Other

%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}-%{release}

%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}-%{release}

%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
%if 0%{?suse_version} >= 1210
%patch0 -p1
%endif

%patch1

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-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
%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 %{?jobs:-j%{jobs}}

%install
%makeinstall

%__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

openSUSE Build Service is sponsored by