File libgsystem.spec of Package libgsystem
#
# spec file for package libgsystem
#
# 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: libgsystem
Version: 2015.2
Release: 0
Summary: GIO-based library targeted for use by OS components
License: LGPL-2.0+
Group: Development/Libraries/C and C++
Url: https://wiki.gnome.org/Projects/LibGSystem
Source: %{name}-%{version}.tar.xz
# PATCH-FIX-UPSTREAM libgsystem-libsystemd.patch dimstar@opensuse.org -- Fix build with systemd 232; libsystemd-journal is merged into libsystemd
Patch0: libgsystem-libsystemd.patch
%if %{_build_from_vcs}
BuildRequires: gnome-common
%endif
BuildRequires: gobject-introspection-devel
BuildRequires: libattr-devel
BuildRequires: libcap-devel
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.34.0
BuildRequires: pkgconfig(libsystemd) >= 209
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
LibGSystem is a GIO-based library, targeted primarily for use by
operating system components.
It has a few goals:
* Provide macros for the GCC attribute(cleanup) that work with GLib
data types. Using these can dramatically simplify local memory
management inside functions.
* Prototype and test APIs that will eventually be in GLib.
Currently these include "GSSubprocess" for launching child
processes, and some GFile helpers.
* Provide Linux-specific APIs in a nicer GLib fashion, such as O_NOATIME.
%package -n libgsystem0
Summary: GIO-based library targeted for use by OS components
Group: System/Libraries
%description -n libgsystem0
LibGSystem is a GIO-based library, targeted primarily for use by
operating system components.
It has a few goals:
* Provide macros for the GCC attribute(cleanup) that work with GLib
data types. Using these can dramatically simplify local memory
management inside functions.
* Prototype and test APIs that will eventually be in GLib.
Currently these include "GSSubprocess" for launching child
processes, and some GFile helpers.
* Provide Linux-specific APIs in a nicer GLib fashion, such as O_NOATIME.
%package -n typelib-1_0-GSystem-1_0
Summary: GIO-based library targeted for use by OS components -- Introspection bindings
Group: System/Libraries
%description -n typelib-1_0-GSystem-1_0
LibGSystem is a GIO-based library, targeted primarily for use by
operating system components.
It has a few goals:
* Provide macros for the GCC attribute(cleanup) that work with GLib
data types. Using these can dramatically simplify local memory
management inside functions.
* Prototype and test APIs that will eventually be in GLib.
Currently these include "GSSubprocess" for launching child
processes, and some GFile helpers.
* Provide Linux-specific APIs in a nicer GLib fashion, such as O_NOATIME.
%package devel
Summary: GIO-based library targeted for use by OS components
Group: Development/Languages/C and C++
Requires: libgsystem0 = %{version}
Requires: typelib-1_0-GSystem-1_0 = %{version}
%description devel
LibGSystem is a GIO-based library, targeted primarily for use by
operating system components.
It has a few goals:
* Provide macros for the GCC attribute(cleanup) that work with GLib
data types. Using these can dramatically simplify local memory
management inside functions.
* Prototype and test APIs that will eventually be in GLib.
Currently these include "GSSubprocess" for launching child
processes, and some GFile helpers.
* Provide Linux-specific APIs in a nicer GLib fashion, such as O_NOATIME.
%prep
%setup -q
%patch0 -p1
%build
%if %{_build_from_vcs}
NOCONFIGURE=1 ./autogen.sh
%endif
%configure
make %{?_smp_mflags}
%install
%make_install
find %{buildroot}%{_libdir} -type f -name '*.la' -delete -print
%post -n libgsystem0 -p /sbin/ldconfig
%postun -n libgsystem0 -p /sbin/ldconfig
%files -n libgsystem0
%defattr(-,root,root)
%doc COPYING
%{_libdir}/libgsystem.so.*
%files -n typelib-1_0-GSystem-1_0
%defattr(-,root,root)
%{_libdir}/girepository-1.0/GSystem-1.0.typelib
%files devel
%defattr(-,root,root)
%doc README COPYING
%{_datadir}/gir-1.0/GSystem-1.0.gir
%{_includedir}/libgsystem/
%{_libdir}/pkgconfig/libgsystem.pc
%{_libdir}/libgsystem.so
%changelog