tools: add a libinput test tool as entry point for our test suites
[platform/upstream/libinput.git] / .gitlab-ci / libinput.spec.in
1 # This specfile should not be used outside the CI
2 # Its main purpose is to sound alarm if files disappear or are added that
3 # weren't intended.
4
5 %global udevdir %(pkg-config --variable=udevdir udev)
6
7 %global pipelineid @PIPELINEID@
8 %global gitversion @GITVERSION@
9
10 Name:           libinput
11 Version:        @VERSION@
12 Release:        %{pipelineid}git%{gitversion}%{?dist}
13 Summary:        Input device library
14
15 License:        MIT
16 URL:            http://www.freedesktop.org/wiki/Software/libinput/
17 Source0:        %{name}-%{version}.tar.xz
18
19 # No BuildRequires, we rely on the container setup to have
20 # all the requires installed
21
22 %description
23 libinput is a library that handles input devices for display servers and other
24 applications that need to directly deal with input devices.
25
26 It provides device detection, device handling, input device event processing
27 and abstraction so minimize the amount of custom input code the user of
28 libinput need to provide the common set of functionality that users expect.
29
30
31 %package        devel
32 Summary:        Development files for %{name}
33 Requires:       %{name}%{?_isa} = %{version}-%{release}
34
35 %description    devel
36 The %{name}-devel package contains libraries and header files for
37 developing applications that use %{name}.
38
39 %package        utils
40 Summary:        Utilities and tools for debugging %{name}
41 Requires:       %{name}%{?_isa} = %{version}-%{release}
42 Requires:       python3-pyudev python3-libevdev
43
44 %description    utils
45 The %{name}-utils package contains tools to debug hardware and analyze
46 %{name}.
47
48 %package        test
49 Summary:        libinput integration test suite
50 Requires:       %{name}%{?_isa} = %{version}-%{release}
51
52 %description    test
53 The %{name}-test package contains the libinput test suite. It is not
54 intended to be run by users.
55
56 %prep
57 %autosetup -S git -n %{name}-%{version}
58
59 %build
60 %meson -Dtests=true \
61        -Dinstall-tests=true \
62        -Dudev-dir=%{udevdir}
63 %meson_build
64
65 %install
66 %meson_install
67
68 %post
69 %{?ldconfig}
70
71 %ldconfig_postun
72
73
74 %files
75 %doc COPYING
76 %dir %{_sysconfdir}/libinput
77 %{_libdir}/libinput.so.*
78 %{udevdir}/libinput-device-group
79 %{udevdir}/libinput-fuzz-extract
80 %{udevdir}/libinput-fuzz-to-zero
81 %{udevdir}/rules.d/80-libinput-device-groups.rules
82 %{udevdir}/rules.d/90-libinput-fuzz-override.rules
83 %{_bindir}/libinput
84 %dir %{_libexecdir}/libinput/
85 %{_libexecdir}/libinput/libinput-debug-events
86 %{_libexecdir}/libinput/libinput-list-devices
87 %{_mandir}/man1/libinput.1*
88 %{_datadir}/libinput/*.quirks
89 %dir %{_datadir}/zsh
90 %dir %{_datadir}/zsh/site-functions
91 %{_datadir}/zsh/site-functions/*
92 %{_mandir}/man1/libinput-list-devices.1*
93 %{_mandir}/man1/libinput-debug-events.1*
94
95 %files devel
96 %{_includedir}/libinput.h
97 %{_libdir}/libinput.so
98 %{_libdir}/pkgconfig/libinput.pc
99
100 %files utils
101 %{_libexecdir}/libinput/libinput-debug-gui
102 %{_libexecdir}/libinput/libinput-debug-tablet
103 %{_libexecdir}/libinput/libinput-measure
104 %{_libexecdir}/libinput/libinput-measure-fuzz
105 %{_libexecdir}/libinput/libinput-measure-touchpad-tap
106 %{_libexecdir}/libinput/libinput-measure-touchpad-pressure
107 %{_libexecdir}/libinput/libinput-measure-touch-size
108 %{_libexecdir}/libinput/libinput-measure-touchpad-size
109 %{_libexecdir}/libinput/libinput-quirks
110 %{_libexecdir}/libinput/libinput-record
111 %{_libexecdir}/libinput/libinput-replay
112 %{_libexecdir}/libinput/libinput-analyze
113 %{_libexecdir}/libinput/libinput-analyze-per-slot-delta
114 %{_libexecdir}/libinput/libinput-analyze-recording
115 %{_libexecdir}/libinput/libinput-analyze-touch-down-state
116 %{_mandir}/man1/libinput-debug-gui.1*
117 %{_mandir}/man1/libinput-debug-tablet.1*
118 %{_mandir}/man1/libinput-measure.1*
119 %{_mandir}/man1/libinput-measure-fuzz.1*
120 %{_mandir}/man1/libinput-measure-touchpad-tap.1*
121 %{_mandir}/man1/libinput-measure-touch-size.1*
122 %{_mandir}/man1/libinput-measure-touchpad-size.1*
123 %{_mandir}/man1/libinput-measure-touchpad-pressure.1*
124 %{_mandir}/man1/libinput-quirks.1*
125 %{_mandir}/man1/libinput-quirks-list.1*
126 %{_mandir}/man1/libinput-quirks-validate.1*
127 %{_mandir}/man1/libinput-record.1*
128 %{_mandir}/man1/libinput-replay.1*
129 %{_mandir}/man1/libinput-analyze.1*
130 %{_mandir}/man1/libinput-analyze-per-slot-delta.1*
131 %{_mandir}/man1/libinput-analyze-recording.1*
132 %{_mandir}/man1/libinput-analyze-touch-down-state.1*
133
134 %files test
135 %{_libexecdir}/libinput/libinput-test
136 %{_libexecdir}/libinput/libinput-test-suite
137 %{_mandir}/man1/libinput-test.1*
138 %{_mandir}/man1/libinput-test-suite.1*
139
140 %changelog
141 * Wed Jul 15 2020 Peter Hutterer <peter.hutterer@redhat.com>
142 - Add basic spec file for package build testing