File gnucash.spec of Package gnucash

#
# spec file for package gnucash
#
# Copyright (c) 2014 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/
#


Name:           gnucash
Version:        2.6.2
Release:        0
Summary:        Personal Finance Manager
License:        SUSE-GPL-2.0-with-openssl-exception or SUSE-GPL-3.0-with-openssl-exception
Group:          Productivity/Office/Finance
Url:            http://www.gnucash.org/
Source:         http://downloads.sourceforge.net/project/gnucash/gnucash%20%28stable%29/2.6.2/%{name}-%{version}.tar.bz2
Source1:        %{name}-rpmlintrc
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/Packaging/Patches
Patch0:         gnucash-cpan-warning.patch
BuildRequires:  automake
BuildRequires:  doxygen
BuildRequires:  fdupes
BuildRequires:  gcc-c++
BuildRequires:  intltool
BuildRequires:  libdbi-devel
BuildRequires:  libdbi-drivers-dbd-sqlite3
%if 0%{?suse_version} >= 1210
BuildRequires:  libguile1-devel
%else
BuildRequires:  guile-devel
%endif
BuildRequires:  libofx-devel
BuildRequires:  libtool
BuildRequires:  python-devel >= 2.4
BuildRequires:  slib
BuildRequires:  update-desktop-files
BuildRequires:  pkgconfig(aqbanking)
BuildRequires:  pkgconfig(gconf-2.0)
BuildRequires:  pkgconfig(gdk-pixbuf-2.0)
BuildRequires:  pkgconfig(gnome-keyring-1)
BuildRequires:  pkgconfig(gtk+-2.0)
BuildRequires:  pkgconfig(gtkmm-2.4) >= 2.24
BuildRequires:  pkgconfig(gwengui-gtk2)
BuildRequires:  pkgconfig(gwenhywfar)
BuildRequires:  pkgconfig(libglade-2.0)
BuildRequires:  pkgconfig(libgnomeui-2.0)
BuildRequires:  pkgconfig(libgoffice-0.8)
BuildRequires:  pkgconfig(libxml-2.0)
BuildRequires:  pkgconfig(libxslt)
BuildRequires:  pkgconfig(webkit-1.0)
#BuildRequires: callgrind
# tested but unused BuildRequires: readline-devel qt3-devel termcap

# In openSUSE 12.2, guile1 packaging was fixed to have the .so files in the main package
%if 0%{?suse_version} > 1210
Requires:       guile1
%else
%if 0%{?suse_version} == 1210
# on 12.1, guile1 was 'broken' and we require libguile1-devel
# ERROR: In procedure dynamic-link:
# ERROR: file: "libguile-srfi-srfi-1-v-3", message: "file not found"
Requires:       libguile1-devel
%else
# Before openSUSE 12.1, guile 2 was not existing, so guile == guile1
Requires:       guile
%endif
%endif
# Required to make quotes working. Gnucash can run without quotes support:
Requires:       perl-Crypt-SSLeay
Requires:       perl-Date-Manip
Requires:       perl-Finance-Quote
Requires:       perl-HTML-Parser
Requires:       perl-HTML-TableExtract
Requires:       perl-libwww-perl
Requires:       slib
Recommends:     %{name}-lang
Recommends:     gnucash-docs
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%glib2_gsettings_schema_requires

%description
GnuCash is a personal finance manager. A check book-like register GUI
allows you to enter and track bank accounts, stocks, income, and even
currency trades. A full set of reports allows you to see the state
of your finances. The interface is designed to be simple and easy to
use, but is backed with double-entry accounting principles to
ensure balanced books.

%package -n python-gnucash
Summary:        Python bindings for GnuCash
Group:          Development/Libraries/Python
Requires:       %{name} = %{version}
%py_requires

%description -n python-gnucash
GnuCash is a personal finance manager. A check-book like register GUI
allows you to enter and track bank accounts, stocks, income and even
currency trades. A full set of reports allow you to see the state of
your finances. The interface is designed to be simple and easy to use,
but is backed with double-entry accounting principles to ensure
balanced books.

%package devel
Summary:        Personal Finance Manager
Group:          Development/Libraries/C and C++
Requires:       %{name} = %{version}
Requires:       gtk2-devel
%if %{?suse_version} >= 1210
Requires:       libguile1-devel
%else
Requires:       guile-devel
%endif
Requires:       libglade2-devel
Requires:       libgnomeui-devel

%description devel
GnuCash is a personal finance manager. A check-book like register GUI
allows you to enter and track bank accounts, stocks, income and even
currency trades. A full set of reports allow you to see the state of
your finances. The interface is designed to be simple and easy to use,
but is backed with double-entry accounting principles to ensure
balanced books.

%lang_package
%prep
%setup -q
# This patch must be applied:
%patch0

%build
%if %{?suse_version} >= 1210
# needed for patch0 and use of guile1
sed -i "s:GUILE_MODULE_AVAILABLE:GUILE1_MODULE_AVAILABLE:" configure.ac
autoreconf -fi
sed -i "s:guile-config:guile1-config:" configure
export GUILE=/usr/bin/guile1
%endif
%configure\
	--libexecdir=%{_libexecdir}\
	--enable-ofx\
	--enable-aqbanking\
	--enable-locale-specific-tax\
	--enable-html-docs\
        --with-html-engine=webkit\
        --enable-dbi\
        --enable-gtkmm\
        --enable-python
make %{?_smp_mflags}

%install
%makeinstall
%suse_update_desktop_file gnucash
%find_lang gnucash %{?no_lang_C}
%fdupes %{buildroot}%{_datadir}
%fdupes %{buildroot}%{python_sitearch}

%clean
rm -rf %{buildroot}

%post
/sbin/ldconfig
%glib2_gsettings_schema_post
%if 0%{?suse_version} > 1130
%desktop_database_post
%icon_theme_cache_post
%endif

%postun
/sbin/ldconfig
%glib2_gsettings_schema_postun
%if 0%{?suse_version} > 1130
%desktop_database_postun
%icon_theme_cache_postun
%endif

%files
%defattr (-, root, root)
%doc AUTHORS COPYING LICENSE README
%{_bindir}/gnc-fq-*
%{_bindir}/gnucash
%{_bindir}/gnucash-env
%{_bindir}/gnucash-make-guids
%{_bindir}/gnucash-valgrind
%dir %{_datadir}/appdata
%{_datadir}/appdata/gnucash.appdata.xml
%{_datadir}/applications/*.desktop
%{_datadir}/doc/gnucash/
%{_datadir}/glib-2.0/schemas/org.gnucash.*.xml
%{_datadir}/gnucash/
%{_datadir}/icons/hicolor/*/apps/gnucash-icon.png
%{_datadir}/icons/hicolor/scalable/apps/gnucash-icon.svg
%{_libdir}/*.so.*
# Required by slib for many libraries:
%{_libdir}/*.so
# NOTE: .la files are required by ltdl in the main package (skip-check-libtool-deps)
%{_libdir}/*.la
%{_libdir}/gnucash
%doc %{_mandir}/man?/*.*
%if "%{_libdir}" != "%{_libexecdir}"
%{_libexecdir}/gnucash
%endif
%dir %{_sysconfdir}/gnucash
%config %{_sysconfdir}/gnucash/config
%config %{_sysconfdir}/gnucash/environment

%files -n python-gnucash
%defattr (-, root, root)
%{python_sitearch}/gnucash/

%files devel
%defattr (-, root, root)
%{_includedir}/gnucash/

%files lang -f %{name}.lang

%changelog
openSUSE Build Service is sponsored by