File appstream-glib.spec of Package appstream-glib

#
# spec file for package appstream-glib
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2014 Dominique Leuenberger, Amsterdam, The Netherlands
#
# 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/
#


%define _build_from_vcs 1

Name:           appstream-glib
Version:        0.5.17
Release:        0
Summary:        AppStream Abstraction Library
License:        LGPL-2.1+
Group:          System/Libraries
Url:            http://people.freedesktop.org/~hughsient/appstream-glib/
#Source:         http://people.freedesktop.org/~hughsient/appstream-glib/releases/%{name}-%{version}.tar.xz
Source0:        %{name}-%{version}.tar.xz
Source1:        openSUSE-appstream-process
%if %{_build_from_vcs}
BuildRequires:  gnome-common
%else
# We still need some part to build the man pages
BuildRequires:  xsltproc
%endif
BuildRequires:  gcab >= 0.6
BuildRequires:  gobject-introspection-devel
BuildRequires:  intltool >= 0.40.0
BuildRequires:  libyaml-devel
BuildRequires:  pkgconfig(gdk-pixbuf-2.0) >= 2.14
BuildRequires:  pkgconfig(gio-2.0)
BuildRequires:  pkgconfig(gio-unix-2.0)
BuildRequires:  pkgconfig(glib-2.0) >= 2.16.1
BuildRequires:  pkgconfig(gmodule-2.0)
BuildRequires:  pkgconfig(gobject-2.0)
BuildRequires:  pkgconfig(gthread-2.0)
BuildRequires:  pkgconfig(gtk+-3.0)
BuildRequires:  pkgconfig(json-glib-1.0) >= 1.1.1
BuildRequires:  pkgconfig(libarchive)
BuildRequires:  pkgconfig(libgcab-1.0)
BuildRequires:  pkgconfig(libsoup-2.4) >= 2.24
BuildRequires:  pkgconfig(rpm)
BuildRequires:  pkgconfig(sqlite3)
BuildRequires:  pkgconfig(uuid)
Requires:       gcab
# Required in order to be able to convert .svg icons
Requires:       gdk-pixbuf-loader-rsvg
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
This library provides GObjects and helper methods to make it easy to read and write AppStream metadata.
It also provides a simple DOM implementation that makes it easy to edit nodes and
convert to and from the standardized XML representation.

What this library allows you to do:

* Read and write compressed AppStream XML files
* Add and search for applications in an application store
* Get screenshot image data and release announcements
* Easily retrieve the best application data for the current locale
* Efficiently interface with more heavy-weight parsers like expat

%package -n libappstream-glib8
Summary:        AppStream Abstraction Library
Group:          System/Libraries

%description -n libappstream-glib8
This library provides GObjects and helper methods to make it easy to read and write AppStream metadata.
It also provides a simple DOM implementation that makes it easy to edit nodes and
convert to and from the standardized XML representation.

What this library allows you to do:

* Read and write compressed AppStream XML files
* Add and search for applications in an application store
* Get screenshot image data and release announcements
* Easily retrieve the best application data for the current locale
* Efficiently interface with more heavy-weight parsers like expat

%package -n libappstream-builder8
Summary:        AppStream Abstraction Library
Group:          System/Libraries

%description -n libappstream-builder8
This library provides GObjects and helper methods to make it easy to read and write AppStream metadata.
It also provides a simple DOM implementation that makes it easy to edit nodes and
convert to and from the standardized XML representation.

What this library allows you to do:

* Read and write compressed AppStream XML files
* Add and search for applications in an application store
* Get screenshot image data and release announcements
* Easily retrieve the best application data for the current locale
* Efficiently interface with more heavy-weight parsers like expat

%package -n typelib-1_0-AppStreamBuilder-1_0
Summary:        AppStream Abstraction Library -- Introspection bindings
Group:          System/Libraries

%description -n typelib-1_0-AppStreamBuilder-1_0
This library provides GObjects and helper methods to make it easy to read and write AppStream metadata.
It also provides a simple DOM implementation that makes it easy to edit nodes and
convert to and from the standardized XML representation.

%package -n typelib-1_0-AppStreamGlib-1_0
Summary:        AppStream Abstraction Library -- Introspection bindings
Group:          System/Libraries

%description -n typelib-1_0-AppStreamGlib-1_0
This library provides GObjects and helper methods to make it easy to read and write AppStream metadata.
It also provides a simple DOM implementation that makes it easy to edit nodes and
convert to and from the standardized XML representation.

%package devel
Summary:        AppStream Abstraction Library -- Development files
Group:          Development/Languages/C and C++
Requires:       %{name} = %{version}
Requires:       libappstream-builder8 = %{version}
Requires:       libappstream-glib8 = %{version}
Requires:       typelib-1_0-AppStreamBuilder-1_0 = %{version}
Requires:       typelib-1_0-AppStreamGlib-1_0 = %{version}
# appdata-tools was consumed into appstream-glib and is no longer maintained upstream
Obsoletes:      appdata-tools < 0.1.9
Provides:       appdata-tools = 0.1.9
# Also obsolete the -lang package; or we end up with strange conflicts
Obsoletes:      appdata-tools-lang < 0.1.9

%description devel
This library provides GObjects and helper methods to make it easy to read and write AppStream metadata.
It also provides a simple DOM implementation that makes it easy to edit nodes and
convert to and from the standardized XML representation.

What this library allows you to do:

* Read and write compressed AppStream XML files
* Add and search for applications in an application store
* Get screenshot image data and release announcements
* Easily retrieve the best application data for the current locale
* Efficiently interface with more heavy-weight parsers like expat

%package -n openSUSE-appstream-process
Summary:        Appstream processor employed by kiwi
Group:          System
Requires:       appstream-glib >= %{version}
Requires:       openSUSE-appdata-extra

%description -n openSUSE-appstream-process
A wrapper around appstream-builder, called by kiwi in order to produce AppStream metadata
for the repositories to be published

%lang_package

%prep
%setup -q

%build
%if %{_build_from_vcs}
NOCONFIGURE=1 ./autogen.sh
%endif
%configure \
    --disable-static \
    --enable-gtk-doc \
    --enable-rpm
make %{?_smp_mflags}

%install
%make_install
# We don't care for 'installed tests'; that's used by GNOME Smoke Testing.
rm %{buildroot}%{_datadir}/installed-tests/appstream-glib/*.test
find %{buildroot} -type f -name "*.la" -delete -print

# install the appstream process script to be used by kiwi
install -d -m 0755 %{_buildroot}%{_bindir}
install -m 0755 -D %{S:1} %{buildroot}%{_bindir}/$(basename %{S:1})

%find_lang %{name}

%check
if make check; then
  echo CHECKS passed
  exit 0
else
  echo CHECKS failed... dumping log file
  find -name test-suite.log -exec cat {} \;
  exit 0
fi

%post -n libappstream-glib8 -p /sbin/ldconfig

%postun -n libappstream-glib8 -p /sbin/ldconfig

%post -n libappstream-builder8 -p /sbin/ldconfig

%postun -n libappstream-builder8 -p /sbin/ldconfig

%files
%defattr(-,root,root)
%{_bindir}/appstream-builder
%{_bindir}/appstream-compose
%{_bindir}/appstream-util
%{_datadir}/bash-completion/completions/appstream-builder
%{_datadir}/bash-completion/completions/appstream-util
%{_libdir}/asb-plugins-5/
%{_mandir}/man1/appstream-builder.1%{?ext_man}
%{_mandir}/man1/appstream-compose.1%{?ext_man}
%{_mandir}/man1/appstream-util.1%{?ext_man}

%files -n libappstream-builder8
%defattr(-,root,root)
%doc COPYING
%{_libdir}/libappstream-builder.so.*

%files -n libappstream-glib8
%defattr(-,root,root)
%doc COPYING
%{_libdir}/libappstream-glib.so.*

%files -n typelib-1_0-AppStreamBuilder-1_0
%defattr(-,root,root)
%{_libdir}/girepository-1.0/AppStreamBuilder-1.0.typelib

%files -n typelib-1_0-AppStreamGlib-1_0
%defattr(-,root,root)
%{_libdir}/girepository-1.0/AppStreamGlib-1.0.typelib

%files devel
%defattr(-,root,root)
%{_datadir}/aclocal/appdata-xml.m4
%{_datadir}/aclocal/appstream-xml.m4
%dir %{_datadir}/gettext/its
%{_datadir}/gettext/its/appdata.*
%{_datadir}/gir-1.0/AppStreamBuilder-1.0.gir
%{_datadir}/gir-1.0/AppStreamGlib-1.0.gir
%{_datadir}/gtk-doc/html/appstream-glib/
%{_includedir}/libappstream-builder/
%{_includedir}/libappstream-glib/
%{_libdir}/pkgconfig/appstream-builder.pc
%{_libdir}/pkgconfig/appstream-glib.pc
%{_libdir}/libappstream-builder.so
%{_libdir}/libappstream-glib.so

%files lang -f %{name}.lang
%defattr(-,root,root)

%files -n openSUSE-appstream-process
%defattr(-,root,root)
%{_bindir}/openSUSE-appstream-process

%changelog
openSUSE Build Service is sponsored by