File libxkbcommon.spec of Package libxkbcommon

#
# spec file for package libxkbcommon
#
# 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:           libxkbcommon
Version:        0.4.3
Release:        0
%define lver    0_4_3
Summary:        Library for handling xkb descriptions
License:        MIT
Group:          Development/Libraries/C and C++
Url:            http://xkbcommon.org/

#Git-Clone:	git://github.com/xkbcommon/libxkbcommon
Source:         http://xkbcommon.org/download/%name-%version.tar.xz
Source2:        baselibs.conf
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
#git#BuildRequires:  autoconf >= 2.62
#git#BuildRequires:  automake
BuildRequires:  bison
BuildRequires:  flex
#git#BuildRequires:  libtool >= 2
BuildRequires:  pkgconfig
BuildRequires:  xz
BuildRequires:  pkgconfig(xkeyboard-config)
BuildRequires:  pkgconfig(xorg-macros) >= 1.8
BuildRequires:  pkgconfig(xproto)
%if 0%{?suse_version} >= 1315
BuildRequires:  pkgconfig(xcb-xkb) >= 1.10
%endif

%description
xkbcommon is a keymap handling library, which can parse XKB
descriptions (e.g. from xkeyboard-config), and use this to help its
users make sense of their keyboard input. Unfortunately, X11's
requirements mean this is not actually usable for the X server, but it
should be perfectly usable for client toolkits, as well as alternative
windowing systems, compositors and system-level clients such as
Wayland and kmscon.

%package -n libxkbcommon-%lver
Summary:        Library for handling xkb descriptions
Group:          System/Libraries

%description -n libxkbcommon-%lver
xkbcommon is a keymap handling library, which can parse XKB
descriptions (e.g. from xkeyboard-config), and use this to help its
users make sense of their keyboard input. Unfortunately, X11's
requirements mean this is not actually usable for the X server, but it
should be perfectly usable for client toolkits, as well as alternative
windowing systems, compositors and system-level clients such as
Wayland and kmscon.

%package -n libxkbcommon-x11-%lver
Summary:        Library for handling xkb descriptions using XKB-X11
Group:          System/Libraries

%description -n libxkbcommon-x11-%lver
An addon library that supports creating keymaps with the XKB X11
protocol by querying the X server directly.

%package devel
Summary:        Development files for the libxkbcommon library
Group:          Development/Libraries/C and C++
Requires:       libxkbcommon-%lver = %version-%release

%description devel
xkbcommon is a keymap handling library, which can parse XKB
descriptions (e.g. from xkeyboard-config), and use this to help its
users make sense of their keyboard input. Unfortunately, X11's
requirements mean this is not actually usable for the X server, but it
should be perfectly usable for client toolkits, as well as alternative
windowing systems, compositors and system-level clients such as
Wayland and kmscon.

This package contains the development headers for the library found
in libxkbcommon.

%package x11-devel
Summary:        Development files for the libxkbcommon-x11 library
Group:          Development/Libraries/C and C++
Requires:       libxkbcommon-x11-%lver = %version-%release

%description x11-devel
xkbcommon is a keymap handling library, which can parse XKB
descriptions (e.g. from xkeyboard-config), and use this to help its
users make sense of their keyboard input.

This package contains the development headers for the library found
in %name-x11-0.

%prep
%setup -q

%build
if [ ! -e configure ]; then
	NOCONFIGURE=1 ./autogen.sh;
fi;
%if 0%{?suse_version} >= 1315
extra_opts=--enable-x11
%else
extra_opts=--disable-x11
%endif
# Ensure people will use pkgconfig to locate headers.
%configure --disable-static --includedir="%_includedir/pkg/%name" $extra_opts
# libxkbcommon has had changing symbols (for example between 0.2.0..0.4.2
# and 0.4.3..0.5.0) without maintenance of the SO version; therefore, force
# a unique name for the openSUSE package.
# The next release (libxkbcommon-0.5.0) will have proper symbol versions,
# and we can drop this.
make %{?_smp_mflags} V=1 AM_LDFLAGS="-release %version"

%install
make install DESTDIR="%buildroot";
rm -f "%buildroot/%_libdir"/*.la;

%post   -n libxkbcommon-%lver -p /sbin/ldconfig
%postun -n libxkbcommon-%lver -p /sbin/ldconfig
%post   -n libxkbcommon-x11-%lver -p /sbin/ldconfig
%postun -n libxkbcommon-x11-%lver -p /sbin/ldconfig

%files -n libxkbcommon-%lver
%defattr(-,root,root)
%doc COPYING NEWS
%_libdir/libxkbcommon-%version.so

%files devel
%defattr(-,root,root)
%doc COPYING NEWS
%_includedir/pkg/
%if 0%{?suse_version} >= 1315
%exclude %_includedir/pkg/%name/xkbcommon/xkbcommon-x11.h
%endif
%_libdir/libxkbcommon.so
%_libdir/pkgconfig/xkbcommon.pc

%if 0%{?suse_version} >= 1315
%files -n libxkbcommon-x11-%lver
%defattr(-,root,root)
%doc COPYING NEWS
%_libdir/libxkbcommon-x11-%version.so
%endif

%if 0%{?suse_version} >= 1315
%files x11-devel
%defattr(-,root,root)
%doc COPYING NEWS
%dir %_includedir/pkg
%dir %_includedir/pkg/%name
%dir %_includedir/pkg/%name/xkbcommon
%_includedir/pkg/%name/xkbcommon/xkbcommon-x11.h
%_libdir/libxkbcommon-x11.so
%_libdir/pkgconfig/xkbcommon-x11.pc
%endif

%changelog