############ udev bits ############
+if get_option('udev-enable')
executable('libinput-device-group',
'udev/libinput-device-group.c',
dependencies : [dep_udev, dep_libwacom],
litest_fuzz_override_file = configure_file(input : 'udev/90-libinput-fuzz-override.rules.in',
output : '90-libinput-fuzz-override-litest.rules',
configuration : litest_udev_rules_config)
+endif
############ Check for leftover udev rules ########
config_h.set_quoted('LIBINPUT_QUIRKS_DIR', dir_data)
config_h.set_quoted('LIBINPUT_QUIRKS_OVERRIDE_FILE', libinput_data_override_path)
+if get_option('install-quirks-data')
+quirks_data = [
+ 'quirks/10-generic-keyboard.quirks',
+ 'quirks/10-generic-lid.quirks',
+ 'quirks/10-generic-trackball.quirks',
+ 'quirks/30-vendor-aiptek.quirks',
+ 'quirks/30-vendor-alps.quirks',
+ 'quirks/30-vendor-contour.quirks',
+ 'quirks/30-vendor-cypress.quirks',
+ 'quirks/30-vendor-elantech.quirks',
+ 'quirks/30-vendor-ibm.quirks',
+ 'quirks/30-vendor-kensington.quirks',
+ 'quirks/30-vendor-logitech.quirks',
+ 'quirks/30-vendor-madcatz.quirks',
+ 'quirks/30-vendor-microsoft.quirks',
+ 'quirks/30-vendor-razer.quirks',
+ 'quirks/30-vendor-synaptics.quirks',
+ 'quirks/30-vendor-vmware.quirks',
+ 'quirks/30-vendor-wacom.quirks',
+ 'quirks/50-system-acer.quirks',
+ 'quirks/50-system-apple.quirks',
+ 'quirks/50-system-asus.quirks',
+ 'quirks/50-system-chicony.quirks',
+ 'quirks/50-system-cyborg.quirks',
+ 'quirks/50-system-dell.quirks',
+ 'quirks/50-system-google.quirks',
+ 'quirks/50-system-hp.quirks',
+ 'quirks/50-system-lenovo.quirks',
+ 'quirks/50-system-system76.quirks',
+ 'quirks/50-system-toshiba.quirks',
+]
+else
+quirks_data = []
+endif
+
+test('quirks-in-meson.build',
+ find_program('quirks/test-quirks-in-meson.build.sh'),
+ args : [meson.current_source_dir()],
+ suite : ['all']
+ )
+
+config_h.set_quoted('LIBINPUT_QUIRKS_FILES', ':'.join(quirks_data))
config_h.set_quoted('LIBINPUT_QUIRKS_SRCDIR', dir_src_quirks)
install_subdir('quirks',
exclude_files: ['README.md'],
subdir('completion/zsh')
############ tools ############
+
+if get_option('tools-enable')
libinput_tool_path = dir_libexec
config_h.set_quoted('LIBINPUT_TOOL_PATH', libinput_tool_path)
tools_shared_sources = [ 'tools/shared.c' ]
env : ['LD_LIBRARY_PATH=@0@'.format(meson.current_build_dir())],
suite : ['all'],
workdir : '/tmp')
+endif
############ tests ############
%define udev_dir %{_prefix}/lib/udev
Name: libinput
-Version: 1.8.0
+Version: 1.15.0
Release: 0
License: MIT
Summary: Input devices for display servers and other applications
Source1001: %name.manifest
#X-Vcs-Url: git://anongit.freedesktop.org/wayland/libinput
-BuildRequires: make
+BuildRequires: meson
BuildRequires: pkgconfig(libevdev)
BuildRequires: pkgconfig(libevent)
BuildRequires: pkgconfig(libudev)
%setup -q
cp %{SOURCE1001} .
-%autogen --with-udev-dir=%{udev_dir} --disable-documentation --disable-debug-gui --disable-tests --disable-libwacom
-
%build
-%__make %{?_smp_mflags}
+meson setup \
+ -Dlibwacom=false \
+ -Ddocumentation=false \
+ -Ddebug-gui=false \
+ -Dtests=false \
+ -Dudev-dir=%{udev_dir} \
+ -Dzshcompletiondir=no \
+ -Dtools-enable=false \
+ -Dudev-enable=false \
+ -Dinstall-quirks-data=false \
+ --prefix /usr \
+ --libdir %{_libdir} \
+ --bindir %{_bindir} \
+ builddir
+ninja -C builddir all
%install
-%make_install
+export DESTDIR=%{buildroot}
+ninja -C builddir install
%post -p /sbin/ldconfig
%license COPYING
%{_libdir}/*.so.*
+## disable udev ##
+#%{udev_dir}/%{name}*
+#%{udev_dir}/rules.d/*%{name}*
+
+## disable tools ##
+#%{_bindir}/libinput
+#/usr/libexec/libinput/*
+#%doc %{_mandir}/man?/*
+
+## disable quirks data ##
+#%{TZ_SYS_RO_SHARE}/libinput/*
+
%files devel
%manifest %{name}.manifest
%defattr(-,root,root,-)