File libinput.spec of Package libinput

#
# spec file for package libinput
#
# Copyright (c) 2018 SUSE LINUX 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:           libinput
%define lname	libinput10
Version:        1.10.5
Release:        0
Summary:        Input device and event processing library
License:        MIT
Group:          Development/Libraries/C and C++
Url:            http://www.freedesktop.org/wiki/Software/libinput/

#Git-Clone:	git://anongit.freedesktop.org/wayland/libinput
#Git-Web:	http://cgit.freedesktop.org/wayland/libinput/
#DL-URL:	http://freedesktop.org/software/libinput/
Source:         http://freedesktop.org/software/libinput/%name-%version.tar.xz
Source2:        http://freedesktop.org/software/libinput/%name-%version.tar.xz.sig
Source3:        baselibs.conf
Source4:        %name.keyring
Source5:        libinput-rpmlintrc
Patch1:         kill-env.diff
BuildRequires:  doxygen
BuildRequires:  fdupes
BuildRequires:  gcc-c++
BuildRequires:  graphviz >= 2.26
BuildRequires:  grep
BuildRequires:  meson >= 0.40.0
BuildRequires:  pkgconfig
BuildRequires:  pkgconfig(cairo)
BuildRequires:  pkgconfig(glib-2.0)
BuildRequires:  pkgconfig(gtk+-3.0) >= 3.20
BuildRequires:  pkgconfig(libevdev) >= 0.4
BuildRequires:  pkgconfig(libudev)
BuildRequires:  pkgconfig(libwacom) >= 0.20
BuildRequires:  pkgconfig(mtdev) >= 1.1.0

%description
libinput is a library that handles input devices for display servers and
other applications that need to directly deal with input devices.

%package udev
Summary:        Input device and event processing library integration into udev
Group:          System/Base

%description udev
The libinput udev helper rule will set the LIBINPUT_DEVICE_GROUP
variable for event devices. Device groups are a labelling system to
allow callers to identify which libinput devices are part of the same
physical device.

%package -n %lname
Summary:        Input device and event processing library
Group:          System/Libraries
Recommends:     %name-udev

%description -n %lname
libinput is a library that handles input devices for display servers and
other applications that need to directly deal with input devices.

It provides device detection, device handling, input device event
processing and abstraction so minimize the amount of custom input
code the user of libinput need to provide the common set of
functionality that users expect.

%package tools
Summary:        Utilities to display libinput configuration
Group:          System/X11/Utilities

%description tools
This tool lists the locally recognised devices and their respective
configuration options and configuration defaults.

%package devel
Summary:        Development files for the Input Device Library
Group:          Development/Libraries/C and C++
Requires:       %lname = %version

%description devel
libinput is a library that handles input devices for display servers and
other applications that need to directly deal with input devices.

This package contains all necessary include files and libraries needed
to develop applications that require libinput.

%prep
%autosetup -p1

%build
%meson \
	--includedir="%_includedir/%name" \
	-Dudev-dir="%_prefix/lib/udev" \
	-Dtests=false \
	%nil
%meson_build

%install
%meson_install
%fdupes %buildroot/%_prefix

%post   -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig

%files udev
%_prefix/lib/udev/hwdb.d
%_prefix/lib/udev/libinput-device-group
%_prefix/lib/udev/libinput-model-quirks
%_prefix/lib/udev/rules.d

%files -n %lname
%doc COPYING
%_libdir/libinput.so.10*

%files tools
%_bindir/libinput
%_bindir/libinput-debug-events
%_bindir/libinput-list-devices
%dir %_libexecdir/libinput
%_libexecdir/libinput/libinput-debug-events
%_libexecdir/libinput/libinput-debug-gui
%_libexecdir/libinput/libinput-list-devices
%_libexecdir/libinput/libinput-measure
%_libexecdir/libinput/libinput-measure-touch-size
%_libexecdir/libinput/libinput-measure-touchpad-pressure
%_libexecdir/libinput/libinput-measure-touchpad-tap
%_libexecdir/libinput/libinput-measure-trackpoint-range
%_mandir/man1/libinput-measure-touch-size.1%{?ext_man}
%_mandir/man1/libinput-debug-events.1%{?ext_man}
%_mandir/man1/libinput-debug-gui.1%{?ext_man}
%_mandir/man1/libinput-list-devices.1%{?ext_man}
%_mandir/man1/libinput-measure-touchpad-pressure.1%{?ext_man}
%_mandir/man1/libinput-measure-touchpad-tap.1%{?ext_man}
%_mandir/man1/libinput-measure-trackpoint-range.1%{?ext_man}
%_mandir/man1/libinput-measure.1%{?ext_man}
%_mandir/man1/libinput.1%{?ext_man}

%files devel
%_includedir/%name/
%_libdir/pkgconfig/libinput.pc
%_libdir/libinput.so

%changelog