From 56ffda8a0d6e6c3a274492f980fd4eb6aec62af9 Mon Sep 17 00:00:00 2001 From: guibuilder_pel7x64builder0 Date: Tue, 27 Nov 2018 11:47:19 +0100 Subject: [PATCH] libinput package update Signed-off-by: guibuilder_pel7x64builder0 --- SOURCES/0001-Revert-Drop-autotools.patch | 928 ++++++++++++++++++ SOURCES/0002-Automake-backports.patch | 160 +++ ...-add-the-bits-missing-in-check-0.9.9.patch | 68 ++ ...default-to-a-single-job-only-on-RHEL.patch | 35 + ...s-for-kernels-without-UI_GET_SYSNAME.patch | 146 +++ ...inkpad-extrabuttons-device-as-ID_INP.patch | 41 + ...v-rule-for-the-HP-WMI-hotkeys-device.patch | 27 + ...figure.ac-correct-the-version-number.patch | 28 + SPECS/libinput.spec | 517 ++++++++++ 9 files changed, 1950 insertions(+) create mode 100644 SOURCES/0001-Revert-Drop-autotools.patch create mode 100644 SOURCES/0002-Automake-backports.patch create mode 100644 SOURCES/0003-RHEL-test-add-the-bits-missing-in-check-0.9.9.patch create mode 100644 SOURCES/0004-RHEL-test-default-to-a-single-job-only-on-RHEL.patch create mode 100644 SOURCES/0005-test-fix-tests-for-kernels-without-UI_GET_SYSNAME.patch create mode 100644 SOURCES/0006-test-mark-the-thinkpad-extrabuttons-device-as-ID_INP.patch create mode 100644 SOURCES/0007-test-fix-the-udev-rule-for-the-HP-WMI-hotkeys-device.patch create mode 100644 SOURCES/0008-configure.ac-correct-the-version-number.patch create mode 100644 SPECS/libinput.spec diff --git a/SOURCES/0001-Revert-Drop-autotools.patch b/SOURCES/0001-Revert-Drop-autotools.patch new file mode 100644 index 0000000..7ef0965 --- /dev/null +++ b/SOURCES/0001-Revert-Drop-autotools.patch @@ -0,0 +1,928 @@ +From dd247cfb51ceb2d1af15ddcf5729e0fd9c9c01e5 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Thu, 17 May 2018 15:41:43 +1000 +Subject: [PATCH libinput 1/7] Revert "Drop autotools" + +This reverts commit 302aaa548e70cc2eeea0bf107462e921b577d3ee. +--- + Makefile.am | 13 +++ + autogen.sh | 13 +++ + configure.ac | 282 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ + doc/Makefile.am | 116 ++++++++++++++++++++++ + m4/.gitignore | 5 + + src/Makefile.am | 80 ++++++++++++++++ + test/Makefile.am | 182 +++++++++++++++++++++++++++++++++++ + tools/.gitignore | 1 + + tools/Makefile.am | 79 +++++++++++++++ + udev/.gitignore | 6 ++ + udev/Makefile.am | 51 ++++++++++ + 11 files changed, 828 insertions(+) + create mode 100644 Makefile.am + create mode 100755 autogen.sh + create mode 100644 configure.ac + create mode 100644 doc/Makefile.am + create mode 100644 m4/.gitignore + create mode 100644 src/Makefile.am + create mode 100644 test/Makefile.am + create mode 100644 tools/.gitignore + create mode 100644 tools/Makefile.am + create mode 100644 udev/.gitignore + create mode 100644 udev/Makefile.am + +diff --git a/Makefile.am b/Makefile.am +new file mode 100644 +index 00000000..f897ceec +--- /dev/null ++++ b/Makefile.am +@@ -0,0 +1,13 @@ ++SUBDIRS = src doc test tools udev ++ ++ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} ++ ++valgrind: ++ (cd test; $(MAKE) valgrind) ++ ++AM_DISTCHECK_CONFIGURE_FLAGS = --disable-test-run ++ ++gcov: ++ (cd test; $(MAKE) gcov) ++ ++EXTRA_DIST = meson.build meson_options.txt +diff --git a/autogen.sh b/autogen.sh +new file mode 100755 +index 00000000..8b8a3ab8 +--- /dev/null ++++ b/autogen.sh +@@ -0,0 +1,13 @@ ++#!/bin/sh ++ ++test -n "$srcdir" || srcdir=`dirname "$0"` ++test -n "$srcdir" || srcdir=. ++( ++ cd "$srcdir" && ++ autoreconf --force -v --install ++) || exit ++ ++git config --local --get format.subjectPrefix >/dev/null 2>&1 || ++ git config --local format.subjectPrefix "PATCH libinput" ++ ++test -n "$NOCONFIGURE" || exec "$srcdir/configure" "$@" +diff --git a/configure.ac b/configure.ac +new file mode 100644 +index 00000000..eabc9e14 +--- /dev/null ++++ b/configure.ac +@@ -0,0 +1,282 @@ ++AC_PREREQ([2.64]) ++ ++m4_define([libinput_major_version], [1]) ++m4_define([libinput_minor_version], [8]) ++m4_define([libinput_micro_version], [0]) ++m4_define([libinput_version], ++ [libinput_major_version.libinput_minor_version.libinput_micro_version]) ++ ++AC_INIT([libinput], ++ [libinput_version], ++ [https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland&component=libinput&version=libinput_version], ++ [libinput], ++ [http://www.freedesktop.org/wiki/Software/libinput/]) ++ ++AC_SUBST([LIBINPUT_VERSION_MAJOR], [libinput_major_version]) ++AC_SUBST([LIBINPUT_VERSION_MINOR], [libinput_minor_version]) ++AC_SUBST([LIBINPUT_VERSION_MICRO], [libinput_micro_version]) ++AC_SUBST([LIBINPUT_VERSION], [libinput_version]) ++ ++AC_DEFINE([LIBINPUT_VERSION_MAJOR], [libinput_major_version], "libinput major version number") ++AC_DEFINE([LIBINPUT_VERSION_MINOR], [libinput_minor_version], "libinput minor version number") ++AC_DEFINE([LIBINPUT_VERSION_MICRO], [libinput_micro_version], "libinput micro version number") ++ ++AC_CONFIG_HEADERS([config.h]) ++AC_CONFIG_MACRO_DIR([m4]) ++AC_CONFIG_AUX_DIR([.]) ++ ++AM_INIT_AUTOMAKE([1.11 foreign no-dist-gzip dist-xz]) ++ ++# Before making a release, the LIBINPUT_LT_VERSION string should be ++# modified. ++# The string is of the form C:R:A. ++# a) If binary compatibility has been broken (eg removed or changed interfaces) ++# change to C+1:0:0. DO NOT DO THIS! Use symbol versioning instead and ++# do b) instead. ++# b) If interfaces have been changed or added, but binary compatibility has ++# been preserved, change to C+1:0:A+1 ++# c) If the interface is the same as the previous version, change to C:R+1:A ++LIBINPUT_LT_VERSION=23:0:13 ++AC_SUBST(LIBINPUT_LT_VERSION) ++ ++AM_SILENT_RULES([yes]) ++AC_USE_SYSTEM_EXTENSIONS ++ ++# Check for programs ++AC_PROG_CC_C99 ++AC_PROG_CXX # Only used by build C++ test ++AC_PROG_GREP ++AC_PROG_SED ++ ++# Only used for testing the hwdb ++AM_PATH_PYTHON([3.0],, [:]) ++AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :]) ++ ++# Initialize libtool ++LT_PREREQ([2.2]) ++LT_INIT ++ ++AC_CHECK_DECL(static_assert, [], ++ [AC_DEFINE(static_assert(...), [/* */], [noop static_assert() replacement]), ++ AC_MSG_RESULT([no])], ++ [[#include ]]) ++ ++PKG_PROG_PKG_CONFIG() ++PKG_CHECK_MODULES(MTDEV, [mtdev >= 1.1.0]) ++PKG_CHECK_MODULES(LIBUDEV, [libudev]) ++PKG_CHECK_MODULES(LIBEVDEV, [libevdev >= 1.3]) ++ ++AC_CHECK_LIB([m], [atan2]) ++AC_CHECK_LIB([rt], [clock_gettime]) ++ ++if test "x$GCC" = "xyes"; then ++ GCC_CXXFLAGS="-Wall -Wextra -Wno-unused-parameter -g -fvisibility=hidden" ++ GCC_CFLAGS="$GCC_CXXFLAGS -Wmissing-prototypes -Wstrict-prototypes" ++fi ++AC_SUBST(GCC_CFLAGS) ++AC_SUBST(GCC_CXXFLAGS) ++ ++###################### ++# udev configuration # ++###################### ++udev_dir_default="$libdir/udev" ++AC_ARG_WITH(udev-dir, ++ AS_HELP_STRING([--with-udev-dir=DIR], ++ [udev base directory [[default=$udev_dir_default]]]), ++ [], ++ [with_udev_dir="yes"]) ++AS_CASE($with_udev_dir, ++ [no|""], [AC_MSG_ERROR([You must define a udev base directory])], ++ [yes], [udevdir="$udev_dir_default"], ++ [udevdir="$with_udev_dir"]) ++UDEV_DIR=${udevdir} ++AC_SUBST(UDEV_DIR) ++ ++################################ ++# enable/disable documentation # ++################################ ++AC_ARG_ENABLE([documentation], ++ [AC_HELP_STRING([--enable-documentation], ++ [Enable building the documentation (default=yes)])], ++ [build_documentation="$enableval"], ++ [build_documentation="yes"]) ++ ++if test "x$build_documentation" = "xyes"; then ++ AC_PATH_PROG(DOXYGEN, doxygen) ++ if test "x$DOXYGEN" = "x"; then ++ AC_MSG_ERROR([Documentation build requested but doxygen not found. Install doxygen or disable the documentation using --disable-documentation]) ++ fi ++ ++ AC_MSG_CHECKING([for compatible doxygen version]) ++ doxygen_version=`$DOXYGEN --version` ++ AS_VERSION_COMPARE([$doxygen_version], [1.8.3], ++ [AC_MSG_RESULT([no]) ++ DOXYGEN=""], ++ [AC_MSG_RESULT([yes])], ++ [AC_MSG_RESULT([yes])]) ++ if test "x$DOXYGEN" = "x"; then ++ AC_MSG_ERROR([Doxygen $doxygen_version too old. Doxygen 1.8.3+ required for documentation build. Install required doxygen version or disable the documentation using --disable-documentation]) ++ fi ++ ++ AC_PATH_PROG(DOT, dot) ++ if test "x$DOT" = "x"; then ++ AC_MSG_ERROR([Documentation build requested but graphviz's dot not found. Install graphviz or disable the documentation using --disable-documentation]) ++ fi ++ ++ AC_MSG_CHECKING([for compatible dot version]) ++ dot_version=`$DOT -V 2>&1|$GREP -oP '(?<=version\W)@<:@0-9.@:>@*(?=\W(.*))'` ++ AS_VERSION_COMPARE([$dot_version], [2.26.0], ++ [AC_MSG_RESULT([no]) ++ DOT=""], ++ [AC_MSG_RESULT([yes])], ++ [AC_MSG_RESULT([yes])]) ++ if test "x$DOT" = "x"; then ++ AC_MSG_ERROR([Graphviz dot $dot_version too old. Graphviz 2.26+ required for documentation build. Install required graphviz version or disable the documentation using --disable-documentation]) ++ fi ++fi ++ ++######################################## ++# enable/disable the debug-gui feature # ++######################################## ++AC_ARG_ENABLE(debug-gui, ++ AS_HELP_STRING([--enable-debug-gui], [Enable the 'debug-gui' feature in the libinput tool (default=yes)]), ++ [build_debug_gui="$enableval"], ++ [build_debug_gui="yes"]) ++ ++if test "x$build_debug_gui" = "xyes"; then ++ PKG_CHECK_MODULES(CAIRO, [cairo]) ++ PKG_CHECK_MODULES(GTK, [glib-2.0 gtk+-3.0]) ++ AC_DEFINE(BUILD_DEBUG_GUI, 1, [Build debug-gui support]) ++fi ++ ++ ++######################## ++# enable/disable tests # ++######################## ++AC_ARG_ENABLE(tests, ++ AS_HELP_STRING([--enable-tests], [Build the tests (default=yes)]), ++ [build_tests="$enableval"], ++ [build_tests="yes"]) ++ ++ ++if test "x$build_tests" = "xyes"; then ++ PKG_CHECK_MODULES(CHECK, [check >= 0.9.10]) ++ ++ AC_PATH_PROG(VALGRIND, [valgrind]) ++ ++ AC_ARG_WITH(libunwind, ++ AS_HELP_STRING([--without-libunwind],[Do not use libunwind])) ++ ++ if test "x$with_libunwind" != "xno"; then ++ PKG_CHECK_MODULES(LIBUNWIND, [libunwind]) ++ AC_DEFINE(HAVE_LIBUNWIND, 1, [Have libunwind support]) ++ HAVE_LIBUNWIND="yes" ++ fi ++ ++ AC_PATH_PROG(ADDR2LINE, [addr2line]) ++ if test "x$ADDR2LINE" != "x"; then ++ AC_DEFINE_UNQUOTED(HAVE_ADDR2LINE, 1, [addr2line found]) ++ AC_DEFINE_UNQUOTED(ADDR2LINE, ["$ADDR2LINE"], [Path to addr2line]) ++ fi ++fi ++ ++AC_ARG_ENABLE(test-run, ++ AS_HELP_STRING([--enable-test-run], [For internal use only]), ++ [run_tests="$enableval"], ++ [run_tests="yes"]) ++ ++# Used by the udev rules so we can use callouts during testing without ++# installing everything first. Default is the empty string so the installed ++# rule will use udev's default path. Override is in udev/Makefile.am ++AC_SUBST(UDEV_TEST_PATH, "") ++AC_PATH_PROG(SED, [sed]) ++ ++########################### ++# enable/disable libwacom # ++########################### ++ ++AC_ARG_ENABLE(libwacom, ++ AS_HELP_STRING([--enable-libwacom], ++ [Use libwacom for tablet identification (default=enabled)]), ++ [use_libwacom="$enableval"], ++ [use_libwacom="yes"]) ++if test "x$use_libwacom" = "xyes"; then ++ PKG_CHECK_MODULES(LIBWACOM, [libwacom >= 0.20], [HAVE_LIBWACOM="yes"]) ++ AC_DEFINE(HAVE_LIBWACOM, 1, [Build with libwacom]) ++ ++ OLD_LIBS=$LIBS ++ OLD_CFLAGS=$CFLAGS ++ LIBS="$LIBS $LIBWACOM_LIBS" ++ CFLAGS="$CFLAGS $LIBWACOM_CFLAGS" ++ AC_MSG_CHECKING([if libwacom_get_paired_device is available]) ++ AC_LINK_IFELSE( ++ [AC_LANG_PROGRAM([[#include ]], ++ [[libwacom_get_paired_device(NULL)]])], ++ [AC_MSG_RESULT([yes]) ++ AC_DEFINE(HAVE_LIBWACOM_GET_PAIRED_DEVICE, [1], ++ [libwacom_get_paired_device() is available]) ++ [libwacom_have_get_paired_device=yes]], ++ [AC_MSG_RESULT([no]) ++ [libwacom_have_get_paired_device=no]]) ++ LIBS=$OLD_LIBS ++ CFLAGS=$OLD_CFLAGS ++fi ++ ++AM_CONDITIONAL(HAVE_LIBWACOM_GET_PAIRED_DEVICE, ++ [test "x$libwacom_have_get_paired_device" == "xyes"]) ++ ++ ++####################### ++# enable/disable gcov # ++####################### ++ ++AC_ARG_ENABLE([gcov], ++ [AS_HELP_STRING([--enable-gcov], ++ [Enable to enable coverage testing (default:disabled)])], ++ [enable_gcov="$enableval"], ++ [enable_gcov=no]) ++if test "x$enable_gcov" != "xno"; then ++ GCOV_CFLAGS="-fprofile-arcs -ftest-coverage" ++ GCOV_LDFLAGS="-fprofile-arcs -ftest-coverage" ++ enable_gcov=yes ++fi ++ ++AM_CONDITIONAL([GCOV_ENABLED], [test "x$enable_gcov" != "xno"]) ++AC_SUBST([GCOV_CFLAGS]) ++AC_SUBST([GCOV_LDFLAGS]) ++ ++AM_CONDITIONAL(HAVE_VALGRIND, [test "x$VALGRIND" != "x"]) ++AM_CONDITIONAL(BUILD_TESTS, [test "x$build_tests" = "xyes"]) ++AM_CONDITIONAL(RUN_TESTS, [test "x$run_tests" = "xyes"]) ++AM_CONDITIONAL(BUILD_DOCS, [test "x$build_documentation" = "xyes"]) ++AM_CONDITIONAL(HAVE_LIBUNWIND, [test "x$HAVE_LIBUNWIND" = "xyes"]) ++AM_CONDITIONAL(BUILD_DEBUG_GUI, [test "x$build_debug_gui" = "xyes"]) ++ ++AC_CONFIG_FILES([Makefile ++ doc/Makefile ++ doc/libinput.doxygen ++ src/Makefile ++ src/libinput.pc ++ src/libinput-uninstalled.pc ++ src/libinput-version.h ++ test/Makefile ++ tools/Makefile ++ udev/Makefile ++ udev/80-libinput-device-groups.rules ++ udev/90-libinput-model-quirks.rules]) ++AC_CONFIG_FILES([test/symbols-leak-test], ++ [chmod +x test/symbols-leak-test]) ++AC_OUTPUT ++ ++AC_MSG_RESULT([ ++ Prefix ${prefix} ++ udev base dir ${UDEV_DIR} ++ ++ libwacom enabled ${use_libwacom} ++ Build documentation ${build_documentation} ++ Build tests ${build_tests} ++ Tests use valgrind ${VALGRIND} ++ Tests use libunwind ${HAVE_LIBUNWIND} ++ Build GUI event tool ${build_debug_gui} ++ Enable gcov profiling ${enable_gcov} ++ ]) +diff --git a/doc/Makefile.am b/doc/Makefile.am +new file mode 100644 +index 00000000..382f64da +--- /dev/null ++++ b/doc/Makefile.am +@@ -0,0 +1,116 @@ ++EXTRA_DIST = \ ++ middle-button-emulation.svg \ ++ touchpad-tap-state-machine.svg \ ++ touchpad-softbutton-state-machine.svg ++ ++header_files = \ ++ $(top_srcdir)/src/libinput.h \ ++ $(top_srcdir)/README.md \ ++ $(srcdir)/absolute-axes.dox \ ++ $(srcdir)/absolute-coordinate-ranges.dox \ ++ $(srcdir)/building.dox \ ++ $(srcdir)/clickpad-softbuttons.dox \ ++ $(srcdir)/contributing.dox \ ++ $(srcdir)/device-configuration-via-udev.dox \ ++ $(srcdir)/faqs.dox \ ++ $(srcdir)/gestures.dox \ ++ $(srcdir)/middle-button-emulation.dox \ ++ $(srcdir)/normalization-of-relative-motion.dox \ ++ $(srcdir)/palm-detection.dox \ ++ $(srcdir)/page-hierarchy.dox \ ++ $(srcdir)/pointer-acceleration.dox \ ++ $(srcdir)/reporting-bugs.dox \ ++ $(srcdir)/scrolling.dox \ ++ $(srcdir)/seats.dox \ ++ $(srcdir)/switches.dox \ ++ $(srcdir)/t440-support.dox \ ++ $(srcdir)/tablet-support.dox \ ++ $(srcdir)/tapping.dox \ ++ $(srcdir)/test-suite.dox \ ++ $(srcdir)/timestamps.dox \ ++ $(srcdir)/tools.dox \ ++ $(srcdir)/touchpad-jumping-cursors.dox \ ++ $(srcdir)/touchpad-pressure.dox \ ++ $(srcdir)/touchpads.dox \ ++ $(srcdir)/what-is-libinput.dox ++ ++diagram_files = \ ++ $(srcdir)/dot/seats-sketch.gv \ ++ $(srcdir)/dot/seats-sketch-libinput.gv \ ++ $(srcdir)/dot/libinput-stack-wayland.gv \ ++ $(srcdir)/dot/libinput-stack-xorg.gv \ ++ $(srcdir)/dot/libinput-stack-gnome.gv \ ++ $(srcdir)/dot/evemu.gv \ ++ $(srcdir)/svg/button-scrolling.svg \ ++ $(srcdir)/svg/clickfinger.svg \ ++ $(srcdir)/svg/clickfinger-distance.svg \ ++ $(srcdir)/svg/edge-scrolling.svg \ ++ $(srcdir)/svg/gesture-2fg-ambiguity.svg \ ++ $(srcdir)/svg/palm-detection.svg \ ++ $(srcdir)/svg/pinch-gestures.svg \ ++ $(srcdir)/svg/pinch-gestures-softbuttons.svg \ ++ $(srcdir)/svg/ptraccel-linear.svg \ ++ $(srcdir)/svg/ptraccel-low-dpi.svg \ ++ $(srcdir)/svg/ptraccel-touchpad.svg \ ++ $(srcdir)/svg/ptraccel-trackpoint.svg \ ++ $(srcdir)/svg/software-buttons.svg \ ++ $(srcdir)/svg/swipe-gestures.svg \ ++ $(srcdir)/svg/tablet-axes.svg \ ++ $(srcdir)/svg/tablet-cintiq24hd-modes.svg \ ++ $(srcdir)/svg/tablet-interfaces.svg \ ++ $(srcdir)/svg/tablet-intuos-modes.svg \ ++ $(srcdir)/svg/tablet-left-handed.svg \ ++ $(srcdir)/svg/tablet-out-of-bounds.svg \ ++ $(srcdir)/svg/tablet.svg \ ++ $(srcdir)/svg/tap-n-drag.svg \ ++ $(srcdir)/svg/thumb-detection.svg \ ++ $(srcdir)/svg/top-software-buttons.svg \ ++ $(srcdir)/svg/touchscreen-gestures.svg \ ++ $(srcdir)/svg/twofinger-scrolling.svg ++ ++style_files = \ ++ style/header.html \ ++ style/footer.html \ ++ style/customdoxygen.css \ ++ style/bootstrap.css \ ++ style/libinputdoxygen.css ++ ++if BUILD_DOCS ++ ++noinst_DATA = html/index.html ++ ++html/index.html: libinput.doxygen $(header_files) $(diagram_files) $(style_files) ++ $(AM_V_GEN)(cat $<; \ ++ echo "INPUT = $(header_files)"; \ ++ ) | $(DOXYGEN) - ++ ++clean-local: ++ $(AM_V_at)rm -rf html ++ ++doc_src= $(shell find html -type f -printf "html/%P\n" 2>/dev/null) ++EXTRA_DIST += $(builddir)/html/index.html \ ++ $(doc_src) ++endif ++ ++EXTRA_DIST += $(diagram_files) \ ++ $(header_files) \ ++ $(style_files) ++ ++local_svg = $(shell find $(srcdir)/svg -type f -printf "$(srcdir)/svg/%P\n" 2>/dev/null) ++local_dotfiles = $(shell find $(srcdir)/dot -type f -printf "$(srcdir)/dot/%P\n" 2>/dev/null) ++ ++check: ++ @files=`echo $(local_svg) $(local_dotfiles) $(diagram_files) | tr ' ' '\n' | sort | uniq -u` && \ ++ test -z "$$files" || (\ ++ echo "SVG/dotfiles files present but missing from the Makefile.am:" && \ ++ echo "$$files" && \ ++ test) ++ ++# make sure doc was built before running dist ++dist-hook: ++ @test -f $(distdir)/html/index.html || (\ ++ echo "******************************************************" && \ ++ echo "Couldn't find documentation files, refusing make dist." && \ ++ echo "Install doxygen to build documentation for the tarball." && \ ++ echo "******************************************************" && \ ++ test ) +diff --git a/m4/.gitignore b/m4/.gitignore +new file mode 100644 +index 00000000..38066ddf +--- /dev/null ++++ b/m4/.gitignore +@@ -0,0 +1,5 @@ ++libtool.m4 ++ltoptions.m4 ++ltsugar.m4 ++ltversion.m4 ++lt~obsolete.m4 +diff --git a/src/Makefile.am b/src/Makefile.am +new file mode 100644 +index 00000000..6723d5ae +--- /dev/null ++++ b/src/Makefile.am +@@ -0,0 +1,80 @@ ++lib_LTLIBRARIES = libinput.la ++noinst_LTLIBRARIES = libinput-util.la \ ++ libfilter.la ++ ++include_HEADERS = \ ++ libinput.h ++ ++libinput_la_SOURCES = \ ++ libinput.c \ ++ libinput.h \ ++ libinput-private.h \ ++ evdev.c \ ++ evdev.h \ ++ evdev-lid.c \ ++ evdev-middle-button.c \ ++ evdev-mt-touchpad.c \ ++ evdev-mt-touchpad.h \ ++ evdev-mt-touchpad-tap.c \ ++ evdev-mt-touchpad-buttons.c \ ++ evdev-mt-touchpad-edge-scroll.c \ ++ evdev-mt-touchpad-gestures.c \ ++ evdev-tablet.c \ ++ evdev-tablet.h \ ++ evdev-tablet-pad.c \ ++ evdev-tablet-pad.h \ ++ evdev-tablet-pad-leds.c \ ++ filter.c \ ++ filter.h \ ++ filter-private.h \ ++ path-seat.h \ ++ path-seat.c \ ++ udev-seat.c \ ++ udev-seat.h \ ++ timer.c \ ++ timer.h \ ++ ../include/linux/input.h ++ ++libinput_la_LIBADD = $(MTDEV_LIBS) \ ++ $(LIBUDEV_LIBS) \ ++ $(LIBEVDEV_LIBS) \ ++ $(LIBWACOM_LIBS) \ ++ libinput-util.la ++libinput_la_LDFLAGS = $(GCOV_LDFLAGS) \ ++ -version-info $(LIBINPUT_LT_VERSION) -shared \ ++ -Wl,--version-script=$(srcdir)/libinput.sym ++ ++libinput_la_CFLAGS = -I$(top_srcdir)/include \ ++ $(MTDEV_CFLAGS) \ ++ $(LIBUDEV_CFLAGS) \ ++ $(LIBEVDEV_CFLAGS) \ ++ $(LIBWACOM_CFLAGS) \ ++ $(GCC_CFLAGS) \ ++ $(GCOV_CFLAGS) ++EXTRA_libinput_la_DEPENDENCIES = $(srcdir)/libinput.sym ++ ++libinput_util_la_SOURCES = \ ++ libinput-util.c \ ++ libinput-util.h ++ ++libinput_util_la_LIBADD = ++libinput_util_la_LDFLAGS = $(GCOV_LDFLAGS) ++libinput_util_la_CFLAGS = -I$(top_srcdir)/include \ ++ $(LIBUDEV_CFLAGS) \ ++ $(GCC_CFLAGS) \ ++ $(GCOV_CFLAGS) ++ ++libfilter_la_SOURCES = \ ++ filter.c \ ++ filter.h \ ++ filter-private.h ++libfilter_la_LIBADD = ++libfilter_la_CFLAGS = ++ ++pkgconfigdir = $(libdir)/pkgconfig ++pkgconfig_DATA = libinput.pc ++ ++AM_CFLAGS = $(GCC_CFLAGS) ++ ++DISTCLEANFILES = libinput-version.h ++EXTRA_DIST = libinput-version.h.in libinput.sym libinput-restore-selinux-context.sh +diff --git a/test/Makefile.am b/test/Makefile.am +new file mode 100644 +index 00000000..5cb89a65 +--- /dev/null ++++ b/test/Makefile.am +@@ -0,0 +1,182 @@ ++if BUILD_TESTS ++AM_CPPFLAGS = -I$(top_srcdir)/include \ ++ -I$(top_srcdir)/src \ ++ $(CHECK_CFLAGS) \ ++ $(LIBEVDEV_CFLAGS) \ ++ $(LIBUDEV_CFLAGS) \ ++ -I$(top_builddir)/src # for libinput-version.h ++ ++AM_CFLAGS = $(GCC_CFLAGS) $(GCOV_CFLAGS) ++AM_CXXFLAGS = $(GCC_CXXFLAGS) ++ ++TEST_LIBS = liblitest.la $(CHECK_LIBS) $(LIBUDEV_LIBS) $(LIBEVDEV_LIBS) $(top_builddir)/src/libinput.la ++noinst_LTLIBRARIES = liblitest.la ++liblitest_la_SOURCES = \ ++ litest.h \ ++ litest-int.h \ ++ litest-device-acer-hawaii-keyboard.c \ ++ litest-device-acer-hawaii-touchpad.c \ ++ litest-device-alps-semi-mt.c \ ++ litest-device-alps-dualpoint.c \ ++ litest-device-anker-mouse-kbd.c \ ++ litest-device-apple-appletouch.c \ ++ litest-device-apple-internal-keyboard.c \ ++ litest-device-apple-magicmouse.c \ ++ litest-device-asus-rog-gladius.c \ ++ litest-device-atmel-hover.c \ ++ litest-device-bcm5974.c \ ++ litest-device-calibrated-touchscreen.c \ ++ litest-device-cyborg-rat-5.c \ ++ litest-device-elantech-touchpad.c \ ++ litest-device-generic-singletouch.c \ ++ litest-device-huion-pentablet.c \ ++ litest-device-keyboard.c \ ++ litest-device-keyboard-all-codes.c \ ++ litest-device-keyboard-razer-blackwidow.c \ ++ litest-device-lid-switch.c \ ++ litest-device-lid-switch-surface3.c \ ++ litest-device-logitech-trackball.c \ ++ litest-device-nexus4-touch-screen.c \ ++ litest-device-magic-trackpad.c \ ++ litest-device-mouse.c \ ++ litest-device-mouse-wheel-tilt.c \ ++ litest-device-mouse-roccat.c \ ++ litest-device-mouse-low-dpi.c \ ++ litest-device-mouse-wheel-click-angle.c \ ++ litest-device-mouse-wheel-click-count.c \ ++ litest-device-ms-surface-cover.c \ ++ litest-device-protocol-a-touch-screen.c \ ++ litest-device-qemu-usb-tablet.c \ ++ litest-device-synaptics.c \ ++ litest-device-synaptics-hover.c \ ++ litest-device-synaptics-i2c.c \ ++ litest-device-synaptics-rmi4.c \ ++ litest-device-synaptics-st.c \ ++ litest-device-synaptics-t440.c \ ++ litest-device-synaptics-x1-carbon-3rd.c \ ++ litest-device-trackpoint.c \ ++ litest-device-touch-screen.c \ ++ litest-device-touchscreen-fuzz.c \ ++ litest-device-wacom-bamboo-16fg-pen.c \ ++ litest-device-wacom-cintiq-12wx-pen.c \ ++ litest-device-wacom-cintiq-13hdt-finger.c \ ++ litest-device-wacom-cintiq-13hdt-pad.c \ ++ litest-device-wacom-cintiq-13hdt-pen.c \ ++ litest-device-wacom-cintiq-24hd-pen.c \ ++ litest-device-wacom-cintiq-24hdt-pad.c \ ++ litest-device-wacom-ekr.c \ ++ litest-device-wacom-hid4800-pen.c \ ++ litest-device-wacom-intuos3-pad.c \ ++ litest-device-wacom-intuos5-finger.c \ ++ litest-device-wacom-intuos5-pad.c \ ++ litest-device-wacom-intuos5-pen.c \ ++ litest-device-wacom-isdv4-e6-pen.c \ ++ litest-device-wacom-isdv4-e6-finger.c \ ++ litest-device-waltop-tablet.c \ ++ litest-device-wheel-only.c \ ++ litest-device-xen-virtual-pointer.c \ ++ litest-device-vmware-virtual-usb-mouse.c \ ++ litest-device-yubikey.c \ ++ litest.c ++liblitest_la_LIBADD = $(top_builddir)/src/libinput-util.la ++liblitest_la_CFLAGS = $(AM_CFLAGS) \ ++ -DLIBINPUT_MODEL_QUIRKS_UDEV_RULES_FILE="\"$(abs_top_builddir)/udev/90-libinput-model-quirks-litest.rules\"" \ ++ -DLIBINPUT_MODEL_QUIRKS_UDEV_HWDB_FILE="\"$(abs_top_srcdir)/udev/90-libinput-model-quirks.hwdb\"" \ ++ -DLIBINPUT_TEST_DEVICE_RULES_FILE="\"$(abs_top_srcdir)/udev/80-libinput-test-device.rules\"" \ ++ -DLIBINPUT_DEVICE_GROUPS_RULES_FILE="\"$(abs_top_srcdir)/udev/80-libinput-device-groups-litest.rules\"" ++if HAVE_LIBUNWIND ++liblitest_la_LIBADD += $(LIBUNWIND_LIBS) -ldl ++liblitest_la_CFLAGS += $(LIBUNWIND_CFLAGS) ++endif ++ ++run_tests = \ ++ test-litest-selftest \ ++ libinput-test-suite-runner ++ ++build_tests = \ ++ test-build-cxx \ ++ test-build-linker \ ++ test-build-pedantic-c99 \ ++ test-build-std-gnuc90 ++ ++noinst_PROGRAMS = $(build_tests) $(run_tests) ++noinst_SCRIPTS = symbols-leak-test ++ ++if RUN_TESTS ++TESTS = $(run_tests) symbols-leak-test ++endif ++ ++libinput_test_suite_runner_SOURCES = test-udev.c \ ++ test-path.c \ ++ test-pointer.c \ ++ test-touch.c \ ++ test-log.c \ ++ test-tablet.c \ ++ test-pad.c \ ++ test-touchpad.c \ ++ test-touchpad-tap.c \ ++ test-touchpad-buttons.c \ ++ test-trackpoint.c \ ++ test-trackball.c \ ++ test-misc.c \ ++ test-keyboard.c \ ++ test-device.c \ ++ test-gestures.c \ ++ test-lid.c ++ ++libinput_test_suite_runner_CFLAGS = $(AM_CFLAGS) -DLIBINPUT_LT_VERSION="\"$(LIBINPUT_LT_VERSION)\"" ++libinput_test_suite_runner_LDADD = $(TEST_LIBS) ++libinput_test_suite_runner_LDFLAGS = -no-install ++ ++test_litest_selftest_SOURCES = litest-selftest.c litest.c litest-int.h litest.h ++test_litest_selftest_CFLAGS = -DLITEST_DISABLE_BACKTRACE_LOGGING -DLITEST_NO_MAIN $(liblitest_la_CFLAGS) ++test_litest_selftest_LDADD = $(TEST_LIBS) ++test_litest_selftest_LDFLAGS = -no-install ++if HAVE_LIBUNWIND ++test_litest_selftest_LDADD += $(LIBUNWIND_LIBS) -ldl ++test_litest_selftest_CFLAGS += $(LIBUNWIND_CFLAGS) ++endif ++ ++# build-test only ++test_build_pedantic_c99_SOURCES = build-pedantic.c ++test_build_pedantic_c99_CFLAGS = -std=c99 -pedantic -Werror ++ ++test_build_std_gnuc90_SOURCES = build-pedantic.c ++test_build_std_gnuc90_CFLAGS = -std=gnu90 -Werror ++ ++# test for linking with the minimal linker flags ++test_build_linker_SOURCES = build-pedantic.c ++test_build_linker_CFLAGS = -I$(top_srcdir)/src ++test_build_linker_LDADD = $(top_builddir)/src/libinput.la $(top_builddir)/src/libinput-util.la ++ ++# test including from C++ ++test_build_cxx_SOURCES = build-cxx.cc ++test_build_cxx_CXXFLAGS = -Wall -Wextra -Wno-unused-parameter $(AM_CXXFLAGS) ++ ++if HAVE_VALGRIND ++VALGRIND_FLAGS=--leak-check=full \ ++ --quiet \ ++ --error-exitcode=3 \ ++ --suppressions=$(srcdir)/valgrind.suppressions ++ ++valgrind: check-am ++ $(MAKE) check-TESTS TEST_SUITE_LOG="test-suite-valgrind.log" LOG_COMPILER="$(VALGRIND)" LOG_FLAGS="$(VALGRIND_FLAGS)" CK_FORK=no USING_VALGRIND=yes ++ ++check: valgrind ++ ++DISTCLEANFILES=test-suite-valgrind.log ++ ++endif ++endif ++EXTRA_DIST=valgrind.suppressions ++ ++if GCOV_ENABLED ++ ++CLEANFILES = gcov-reports/*.gcov gcov-reports/summary.txt *.gcno *.gcda ++ ++gcov: generate-gcov-report.sh check-TESTS ++ $(AM_V_GEN)$(srcdir)/generate-gcov-report.sh gcov-reports $(top_builddir)/src $(builddir) ++else ++gcov: ++ @echo "Run ./configure --enable-gcov to produce gcov reports" && false ++endif +diff --git a/tools/.gitignore b/tools/.gitignore +new file mode 100644 +index 00000000..efc83c45 +--- /dev/null ++++ b/tools/.gitignore +@@ -0,0 +1 @@ ++ptraccel-debug +diff --git a/tools/Makefile.am b/tools/Makefile.am +new file mode 100644 +index 00000000..2c8660bf +--- /dev/null ++++ b/tools/Makefile.am +@@ -0,0 +1,79 @@ ++noinst_PROGRAMS = ptraccel-debug ++bin_PROGRAMS = libinput ++toolsdir = $(libexecdir)/libinput ++tools_PROGRAMS = ++bin_SCRIPTS = libinput-list-devices.compat libinput-debug-events.compat ++noinst_LTLIBRARIES = libshared.la ++ ++AM_CPPFLAGS = -I$(top_srcdir)/include \ ++ -I$(top_srcdir)/src \ ++ -I$(top_builddir)/src # for libinput-version.h ++AM_CFLAGS = $(GCC_CFLAGS) ++AM_CXXFLAGS = $(GCC_CXXFLAGS) ++ ++libshared_la_SOURCES = \ ++ shared.c \ ++ shared.h ++libshared_la_CFLAGS = $(AM_CFLAGS) $(LIBEVDEV_CFLAGS) $(LIBUDEV_CFLAGS) \ ++ -DLIBINPUT_TOOL_PATH="\"@libexecdir@/libinput\"" ++libshared_la_LIBADD = $(LIBEVDEV_LIBS) $(LIBUDEV_LIBS) ../src/libinput.la ++ ++ptraccel_debug_SOURCES = ptraccel-debug.c ++ptraccel_debug_LDADD = ../src/libfilter.la ../src/libinput.la ++ptraccel_debug_LDFLAGS = -no-install ++ ++libinput_SOURCES = libinput-tool.c ++libinput_LDADD = ../src/libinput.la libshared.la $(LIBUDEV_LIBS) $(LIBEVDEV_LIBS) ++libinput_CFLAGS = $(AM_CFLAGS) $(LIBUDEV_CFLAGS) $(LIBEVDEV_CFLAGS) ++dist_man1_MANS = libinput.1 ++ ++tools_PROGRAMS += libinput-list-devices ++libinput_list_devices_SOURCES = libinput-list-devices.c $(shared_sources) ++libinput_list_devices_LDADD = ../src/libinput.la libshared.la $(LIBUDEV_LIBS) $(LIBEVDEV_LIBS) ++libinput_list_devices_CFLAGS = $(AM_CFLAGS) $(LIBUDEV_CFLAGS) $(LIBEVDEV_CFLAGS) ++dist_man1_MANS += libinput-list-devices.1 ++ ++tools_PROGRAMS += libinput-debug-events ++libinput_debug_events_SOURCES = libinput-debug-events.c $(shared_sources) ++libinput_debug_events_LDADD = ../src/libinput.la libshared.la $(LIBUDEV_LIBS) $(LIBEVDEV_LIBS) ++libinput_debug_events_CFLAGS = $(AM_CFLAGS) $(LIBUDEV_CFLAGS) $(LIBEVDEV_CFLAGS) ++dist_man1_MANS += libinput-debug-events.1 ++ ++tools_PROGRAMS += libinput-measure ++libinput_measure_SOURCES = libinput-measure.c $(shared_sources) ++libinput_measure_LDADD = ../src/libinput.la libshared.la $(LIBUDEV_LIBS) $(LIBEVDEV_LIBS) ++libinput_measure_CFLAGS = $(AM_CFLAGS) $(LIBUDEV_CFLAGS) $(LIBEVDEV_CFLAGS) \ ++ -DLIBINPUT_TOOL_PATH="\"@libexecdir@/libinput\"" ++dist_man1_MANS += libinput-measure.1 ++ ++tools_PROGRAMS += libinput-measure-touchpad-tap ++libinput_measure_touchpad_tap_SOURCES = \ ++ libinput-measure-touchpad-tap.c ++libinput_measure_touchpad_tap_LDADD = ../src/libinput.la libshared.la $(LIBUDEV_LIBS) $(LIBEVDEV_LIBS) ++libinput_measure_touchpad_tap_CFLAGS = $(AM_CFLAGS) $(LIBUDEV_CFLAGS) $(LIBEVDEV_CFLAGS) ++dist_man1_MANS += libinput-measure-touchpad-tap.1 ++ ++if BUILD_DEBUG_GUI ++tools_PROGRAMS += libinput-debug-gui ++libinput_debug_gui_SOURCES = libinput-debug-gui.c ++libinput_debug_gui_LDADD = ../src/libinput.la libshared.la $(CAIRO_LIBS) $(GTK_LIBS) $(LIBEVDEV_LIBS) $(LIBUDEV_LIBS) ++libinput_debug_gui_CFLAGS = $(AM_CFLAGS) $(CAIRO_CFLAGS) $(GTK_CFLAGS) $(LIBEVDEV_CFLAGS) $(LIBUDEV_CFLAGS) ++dist_man1_MANS += libinput-debug-gui.1 ++endif ++ ++EXTRA_DIST = make-ptraccel-graphs.sh install-compat-scripts.sh $(bin_SCRIPTS) ++ ++install-data-hook: ++ (cd $(DESTDIR)$(bindir) && mv libinput-list-devices.compat libinput-list-devices) ++ (cd $(DESTDIR)$(bindir) && mv libinput-debug-events.compat libinput-debug-events) ++ ++uninstall-local: ++ rm -f $(DESTDIR)$(bindir)/libinput-list-devices ++ rm -f $(DESTDIR)$(bindir)/libinput-debug-events ++ ++SUFFIXES = .man ++.man.1: ++ $(AM_V_GEN)$(SED) -e 's|\@LIBINPUT_VERSION\@|$(PACKAGE_VERSION)|' < $< > $@ ++CLEANFILES = *.1 ++EXTRA_DIST += $(dist_man1_MANS:.1=.man) ++ +diff --git a/udev/.gitignore b/udev/.gitignore +new file mode 100644 +index 00000000..cad377a8 +--- /dev/null ++++ b/udev/.gitignore +@@ -0,0 +1,6 @@ ++libinput-device-group ++libinput-model-quirks ++80-libinput-device-groups-litest.rules ++80-libinput-device-groups.rules ++90-libinput-model-quirks-litest.rules ++90-libinput-model-quirks.rules +diff --git a/udev/Makefile.am b/udev/Makefile.am +new file mode 100644 +index 00000000..2c852a09 +--- /dev/null ++++ b/udev/Makefile.am +@@ -0,0 +1,51 @@ ++udevdir=$(UDEV_DIR) ++udev_PROGRAMS = libinput-device-group \ ++ libinput-model-quirks ++ ++litest_rules = 80-libinput-device-groups-litest.rules \ ++ 90-libinput-model-quirks-litest.rules ++noinst_SCRIPTS = $(litest_rules) ++ ++libinput_device_group_SOURCES = libinput-device-group.c ++libinput_device_group_CFLAGS = -I$(top_srcdir)/src \ ++ $(LIBUDEV_CFLAGS) \ ++ $(GCC_CFLAGS) ++libinput_device_group_LDADD = $(LIBUDEV_LIBS) ++ ++if HAVE_LIBWACOM_GET_PAIRED_DEVICE ++libinput_device_group_CFLAGS += $(LIBWACOM_CFLAGS) ++libinput_device_group_LDADD += $(LIBWACOM_LIBS) ++endif ++ ++libinput_model_quirks_SOURCES = libinput-model-quirks.c ++libinput_model_quirks_CFLAGS = \ ++ -I$(top_srcdir)/src \ ++ $(LIBUDEV_CFLAGS) \ ++ $(GCC_CFLAGS) ++libinput_model_quirks_LDADD = $(LIBUDEV_LIBS) ++ ++udev_rulesdir=$(UDEV_DIR)/rules.d ++dist_udev_rules_DATA = \ ++ 80-libinput-device-groups.rules \ ++ 90-libinput-model-quirks.rules ++ ++udev_hwdbdir=$(UDEV_DIR)/hwdb.d ++dist_udev_hwdb_DATA = \ ++ 90-libinput-model-quirks.hwdb ++ ++%-litest.rules: %.rules.in ++ $(SED) -e "s|\@UDEV_TEST_PATH\@|$(abs_builddir)/|" < $^ > $@ ++ ++CLEANFILES = $(litest_rules) ++DISTCLEANFILES = \ ++ 80-libinput-device-groups.rules \ ++ 90-libinput-model-quirks.rules ++EXTRA_DIST = 80-libinput-test-device.rules ++ ++TEST_EXTENSIONS = .py ++ ++if HAVE_PYTHON ++TESTS = parse_hwdb.py ++PY_LOG_COMPILER = $(PYTHON) ++endif ++EXTRA_DIST += parse_hwdb.py +-- +2.14.3 + diff --git a/SOURCES/0002-Automake-backports.patch b/SOURCES/0002-Automake-backports.patch new file mode 100644 index 0000000..4b5ad47 --- /dev/null +++ b/SOURCES/0002-Automake-backports.patch @@ -0,0 +1,160 @@ +From 45c24a8f95c98aba181aac9a2cd89b54ce575f43 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Thu, 17 May 2018 15:52:18 +1000 +Subject: [PATCH libinput 2/7] Automake backports + +This is missing the documentation backports, we don't ship those anyway + +Signed-off-by: Peter Hutterer +--- + src/Makefile.am | 4 +++- + test/Makefile.am | 31 +++++++++++++++++++++++++------ + tools/Makefile.am | 16 +++++++++++----- + 3 files changed, 39 insertions(+), 12 deletions(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index 6723d5ae..61208f10 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -11,7 +11,9 @@ libinput_la_SOURCES = \ + libinput-private.h \ + evdev.c \ + evdev.h \ +- evdev-lid.c \ ++ evdev-debounce.c \ ++ evdev-fallback.c \ ++ evdev-fallback.h \ + evdev-middle-button.c \ + evdev-mt-touchpad.c \ + evdev-mt-touchpad.h \ +diff --git a/test/Makefile.am b/test/Makefile.am +index 5cb89a65..3d9c1643 100644 +--- a/test/Makefile.am ++++ b/test/Makefile.am +@@ -29,10 +29,15 @@ liblitest_la_SOURCES = \ + litest-device-cyborg-rat-5.c \ + litest-device-elantech-touchpad.c \ + litest-device-generic-singletouch.c \ ++ litest-device-gpio-keys.c \ + litest-device-huion-pentablet.c \ ++ litest-device-hp-wmi-hotkeys.c \ ++ litest-device-ignored-mouse.c \ + litest-device-keyboard.c \ + litest-device-keyboard-all-codes.c \ + litest-device-keyboard-razer-blackwidow.c \ ++ litest-device-keyboard-razer-blade-stealth.c \ ++ litest-device-keyboard-razer-blade-stealth-videoswitch.c \ + litest-device-lid-switch.c \ + litest-device-lid-switch-surface3.c \ + litest-device-logitech-trackball.c \ +@@ -44,6 +49,7 @@ liblitest_la_SOURCES = \ + litest-device-mouse-low-dpi.c \ + litest-device-mouse-wheel-click-angle.c \ + litest-device-mouse-wheel-click-count.c \ ++ litest-device-ms-nano-transceiver-mouse.c \ + litest-device-ms-surface-cover.c \ + litest-device-protocol-a-touch-screen.c \ + litest-device-qemu-usb-tablet.c \ +@@ -54,9 +60,14 @@ liblitest_la_SOURCES = \ + litest-device-synaptics-st.c \ + litest-device-synaptics-t440.c \ + litest-device-synaptics-x1-carbon-3rd.c \ ++ litest-device-thinkpad-extrabuttons.c \ + litest-device-trackpoint.c \ + litest-device-touch-screen.c \ + litest-device-touchscreen-fuzz.c \ ++ litest-device-uclogic-tablet.c \ ++ litest-device-wacom-bamboo-2fg-finger.c \ ++ litest-device-wacom-bamboo-2fg-pad.c \ ++ litest-device-wacom-bamboo-2fg-pen.c \ + litest-device-wacom-bamboo-16fg-pen.c \ + litest-device-wacom-cintiq-12wx-pen.c \ + litest-device-wacom-cintiq-13hdt-finger.c \ +@@ -72,6 +83,7 @@ liblitest_la_SOURCES = \ + litest-device-wacom-intuos5-pen.c \ + litest-device-wacom-isdv4-e6-pen.c \ + litest-device-wacom-isdv4-e6-finger.c \ ++ litest-device-wacom-mobilestudio-pro-pad.c \ + litest-device-waltop-tablet.c \ + litest-device-wheel-only.c \ + litest-device-xen-virtual-pointer.c \ +@@ -81,9 +93,11 @@ liblitest_la_SOURCES = \ + liblitest_la_LIBADD = $(top_builddir)/src/libinput-util.la + liblitest_la_CFLAGS = $(AM_CFLAGS) \ + -DLIBINPUT_MODEL_QUIRKS_UDEV_RULES_FILE="\"$(abs_top_builddir)/udev/90-libinput-model-quirks-litest.rules\"" \ +- -DLIBINPUT_MODEL_QUIRKS_UDEV_HWDB_FILE="\"$(abs_top_srcdir)/udev/90-libinput-model-quirks.hwdb\"" \ +- -DLIBINPUT_TEST_DEVICE_RULES_FILE="\"$(abs_top_srcdir)/udev/80-libinput-test-device.rules\"" \ +- -DLIBINPUT_DEVICE_GROUPS_RULES_FILE="\"$(abs_top_srcdir)/udev/80-libinput-device-groups-litest.rules\"" ++ -DLIBINPUT_MODEL_QUIRKS_UDEV_HWDB_FILE="\"$(abs_top_builddir)/udev/90-libinput-model-quirks.hwdb\"" \ ++ -DLIBINPUT_TEST_DEVICE_RULES_FILE="\"$(abs_top_builddir)/udev/80-libinput-test-device.rules\"" \ ++ -DLIBINPUT_DEVICE_GROUPS_RULES_FILE="\"$(abs_top_builddir)/udev/80-libinput-device-groups-litest.rules\"" \ ++ $(NULL) ++ + if HAVE_LIBUNWIND + liblitest_la_LIBADD += $(LIBUNWIND_LIBS) -ldl + liblitest_la_CFLAGS += $(LIBUNWIND_CFLAGS) +@@ -106,7 +120,8 @@ if RUN_TESTS + TESTS = $(run_tests) symbols-leak-test + endif + +-libinput_test_suite_runner_SOURCES = test-udev.c \ ++libinput_test_suite_runner_SOURCES = $(liblitest_la_SOURCES) \ ++ test-udev.c \ + test-path.c \ + test-pointer.c \ + test-touch.c \ +@@ -122,9 +137,13 @@ libinput_test_suite_runner_SOURCES = test-udev.c \ + test-keyboard.c \ + test-device.c \ + test-gestures.c \ +- test-lid.c ++ test-switch.c ++ ++libinput_test_suite_runner_CFLAGS = $(AM_CFLAGS) \ ++ $(liblitest_la_CFLAGS) \ ++ -DLIBINPUT_LT_VERSION="\"$(LIBINPUT_LT_VERSION)\"" \ ++ $(NULL) + +-libinput_test_suite_runner_CFLAGS = $(AM_CFLAGS) -DLIBINPUT_LT_VERSION="\"$(LIBINPUT_LT_VERSION)\"" + libinput_test_suite_runner_LDADD = $(TEST_LIBS) + libinput_test_suite_runner_LDFLAGS = -no-install + +diff --git a/tools/Makefile.am b/tools/Makefile.am +index 2c8660bf..7affdf76 100644 +--- a/tools/Makefile.am ++++ b/tools/Makefile.am +@@ -2,6 +2,7 @@ noinst_PROGRAMS = ptraccel-debug + bin_PROGRAMS = libinput + toolsdir = $(libexecdir)/libinput + tools_PROGRAMS = ++tools_SCRIPTS = + bin_SCRIPTS = libinput-list-devices.compat libinput-debug-events.compat + noinst_LTLIBRARIES = libshared.la + +@@ -46,13 +47,18 @@ libinput_measure_CFLAGS = $(AM_CFLAGS) $(LIBUDEV_CFLAGS) $(LIBEVDEV_CFLAGS) \ + -DLIBINPUT_TOOL_PATH="\"@libexecdir@/libinput\"" + dist_man1_MANS += libinput-measure.1 + +-tools_PROGRAMS += libinput-measure-touchpad-tap +-libinput_measure_touchpad_tap_SOURCES = \ +- libinput-measure-touchpad-tap.c +-libinput_measure_touchpad_tap_LDADD = ../src/libinput.la libshared.la $(LIBUDEV_LIBS) $(LIBEVDEV_LIBS) +-libinput_measure_touchpad_tap_CFLAGS = $(AM_CFLAGS) $(LIBUDEV_CFLAGS) $(LIBEVDEV_CFLAGS) ++tools_SCRIPTS += libinput-measure-touch-size ++dist_man1_MANS += libinput-measure-touch-size.1 ++ ++tools_SCRIPTS += libinput-measure-touchpad-tap + dist_man1_MANS += libinput-measure-touchpad-tap.1 + ++tools_SCRIPTS += libinput-measure-touchpad-pressure ++dist_man1_MANS += libinput-measure-touchpad-pressure.1 ++ ++tools_SCRIPTS += libinput-measure-trackpoint-range ++dist_man1_MANS += libinput-measure-trackpoint-range.1 ++ + if BUILD_DEBUG_GUI + tools_PROGRAMS += libinput-debug-gui + libinput_debug_gui_SOURCES = libinput-debug-gui.c +-- +2.14.3 + diff --git a/SOURCES/0003-RHEL-test-add-the-bits-missing-in-check-0.9.9.patch b/SOURCES/0003-RHEL-test-add-the-bits-missing-in-check-0.9.9.patch new file mode 100644 index 0000000..5300bcf --- /dev/null +++ b/SOURCES/0003-RHEL-test-add-the-bits-missing-in-check-0.9.9.patch @@ -0,0 +1,68 @@ +From 0fba429dd916e5e879eafd376c2035aa07b25804 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Tue, 14 Mar 2017 10:23:22 +1000 +Subject: [PATCH libinput 3/7] RHEL: test: add the bits missing in check 0.9.9 + +Allow the test suite to build on RHEL 7.x + +RHEL patch - do not upstream + +https://bugzilla.redhat.com/show_bug.cgi?id=1431640 +Signed-off-by: Peter Hutterer +--- + configure.ac | 3 +-- + test/litest.h | 23 +++++++++++++++++++++++ + 2 files changed, 24 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index eabc9e14..197dbe42 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -158,9 +158,8 @@ AC_ARG_ENABLE(tests, + [build_tests="$enableval"], + [build_tests="yes"]) + +- + if test "x$build_tests" = "xyes"; then +- PKG_CHECK_MODULES(CHECK, [check >= 0.9.10]) ++ PKG_CHECK_MODULES(CHECK, [check >= 0.9.9]) + + AC_PATH_PROG(VALGRIND, [valgrind]) + +diff --git a/test/litest.h b/test/litest.h +index 0c57e158..f51e6812 100644 +--- a/test/litest.h ++++ b/test/litest.h +@@ -60,6 +60,29 @@ struct test_device { + __VA_ARGS__ \ + }; + ++#ifndef ck_assert_ptr_ne ++#define _ck_assert_ptr(X, OP, Y) do { \ ++ const void *px_ = (X); \ ++ const void *py_ = (Y); \ ++ ck_assert_msg(px_ OP py_, \ ++ "Assertion %s failed: %s == %#x, %s == %#x", \ ++ #X " " #OP " " #Y, #X, px_, #Y, py_); \ ++} while (0) ++#define ck_assert_ptr_ne(X, Y) _ck_assert_ptr(X, !=, Y) ++#define ck_assert_ptr_eq(X, Y) _ck_assert_ptr(X, ==, Y) ++#endif ++ ++#ifndef ck_assert_uint_eq ++#define _ck_assert_uint(X, OP, Y) do { \ ++ uintmax_t ux_ = (X); \ ++ uintmax_t uy_ = (Y); \ ++ ck_assert_msg(ux_ OP uy_, \ ++ "Assertion %s failed: %s == %#ju, %s == %#ju", \ ++ #X " " #OP " " #Y, #X, ux_, #Y, uy_); \ ++} while(0) ++#define ck_assert_uint_eq(X, Y) _ck_assert_uint(X, ==, Y) ++#endif ++ + extern void litest_setup_tests_udev(void); + extern void litest_setup_tests_path(void); + extern void litest_setup_tests_pointer(void); +-- +2.14.3 + diff --git a/SOURCES/0004-RHEL-test-default-to-a-single-job-only-on-RHEL.patch b/SOURCES/0004-RHEL-test-default-to-a-single-job-only-on-RHEL.patch new file mode 100644 index 0000000..10fdb9f --- /dev/null +++ b/SOURCES/0004-RHEL-test-default-to-a-single-job-only-on-RHEL.patch @@ -0,0 +1,35 @@ +From 3d4fb9d865f5bfeaccf0f7d4039cf8838c3f41ff Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Tue, 14 Mar 2017 10:49:18 +1000 +Subject: [PATCH libinput 4/7] RHEL: test: default to a single job only on RHEL + +Without UI_GET_SYSNAME we can't rely on the uinput device path when +creating devices in parallel. + +RHEL patch - do not upstream + +Signed-off-by: Peter Hutterer +--- + test/litest.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/test/litest.c b/test/litest.c +index a31e874e..fd14fbc7 100644 +--- a/test/litest.c ++++ b/test/litest.c +@@ -68,7 +68,11 @@ + #define UDEV_DEVICE_GROUPS_FILE UDEV_RULES_D \ + "/80-libinput-device-groups-litest-XXXXXX.rules" + +-static int jobs = 8; ++/* We don't have UI_GET_SYSNAME on RHEL7 so running in parallel gets the ++ * uinput devices mixed up, causing test case failures. Default to a single ++ * job only. ++ */ ++static int jobs = 1; + static int in_debugger = -1; + static int verbose = 0; + const char *filter_test = NULL; +-- +2.14.3 + diff --git a/SOURCES/0005-test-fix-tests-for-kernels-without-UI_GET_SYSNAME.patch b/SOURCES/0005-test-fix-tests-for-kernels-without-UI_GET_SYSNAME.patch new file mode 100644 index 0000000..e7aac69 --- /dev/null +++ b/SOURCES/0005-test-fix-tests-for-kernels-without-UI_GET_SYSNAME.patch @@ -0,0 +1,146 @@ +From 71a303503b5412c5182855fb6b378908a4362a10 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Tue, 14 Mar 2017 11:43:18 +1000 +Subject: [PATCH libinput 5/7] test: fix tests for kernels without + UI_GET_SYSNAME + +Signed-off-by: Peter Hutterer +--- + test/litest.h | 14 ++++++++++++++ + test/test-switch.c | 3 +++ + test/test-tablet.c | 4 ++++ + test/test-touch.c | 2 ++ + test/test-touchpad.c | 4 ++++ + 5 files changed, 27 insertions(+) + +diff --git a/test/litest.h b/test/litest.h +index f51e6812..d47a76a2 100644 +--- a/test/litest.h ++++ b/test/litest.h +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -83,6 +84,19 @@ struct test_device { + #define ck_assert_uint_eq(X, Y) _ck_assert_uint(X, ==, Y) + #endif + ++ ++/** ++ * Forces a pause on kernels where we don't have UI_GET_SYSNAME and rely on ++ * timestamps in the uinput device ++ */ ++static inline void ++litest_duplicate_device_pause(void) ++{ ++#ifndef UI_GET_SYSNAME ++ sleep(1); ++#endif ++} ++ + extern void litest_setup_tests_udev(void); + extern void litest_setup_tests_path(void); + extern void litest_setup_tests_pointer(void); +diff --git a/test/test-switch.c b/test/test-switch.c +index 65e85102..e615c409 100644 +--- a/test/test-switch.c ++++ b/test/test-switch.c +@@ -767,10 +767,13 @@ START_TEST(lid_update_hw_on_key_multiple_keyboards) + if (!switch_has_lid(sw)) + return; + ++ litest_duplicate_device_pause(); + keyboard1 = litest_add_device(li, + LITEST_KEYBOARD_BLADE_STEALTH_VIDEOSWITCH); + libinput_dispatch(li); + ++ litest_duplicate_device_pause(); ++ + keyboard2 = litest_add_device(li, LITEST_KEYBOARD_BLADE_STEALTH); + libinput_dispatch(li); + +diff --git a/test/test-tablet.c b/test/test-tablet.c +index b32aaad6..cd20383c 100644 +--- a/test/test-tablet.c ++++ b/test/test-tablet.c +@@ -98,6 +98,8 @@ START_TEST(button_seat_count) + if (!libevdev_has_event_code(dev->evdev, EV_KEY, BTN_STYLUS)) + return; + ++ litest_duplicate_device_pause(); ++ + dev2 = litest_add_device(li, LITEST_WACOM_CINTIQ_13HDT_PEN); + litest_tablet_proximity_in(dev, 10, 10, axes); + litest_tablet_proximity_in(dev2, 10, 10, axes); +@@ -2197,6 +2199,7 @@ START_TEST(tools_with_serials) + * available or isn't used by libevdev (1.3, commit 2ff45c73). + * Put a sleep(1) here and that usually fixes it. + */ ++ litest_duplicate_device_pause(); + + litest_push_event_frame(dev[i]); + litest_tablet_proximity_in(dev[i], 10, 10, NULL); +@@ -2244,6 +2247,7 @@ START_TEST(tools_without_serials) + * available or isn't used by libevdev (1.3, commit 2ff45c73). + * Put a sleep(1) here and that usually fixes it. + */ ++ litest_duplicate_device_pause(); + + litest_tablet_proximity_in(dev[i], 10, 10, NULL); + +diff --git a/test/test-touch.c b/test/test-touch.c +index b3a6d0a0..f1524274 100644 +--- a/test/test-touch.c ++++ b/test/test-touch.c +@@ -143,6 +143,8 @@ START_TEST(touch_seat_slot) + struct litest_device *dev2; + struct libinput *li = dev1->libinput; + ++ litest_duplicate_device_pause(); ++ + dev2 = litest_add_device(li, LITEST_WACOM_TOUCH); + + litest_drain_events(li); +diff --git a/test/test-touchpad.c b/test/test-touchpad.c +index d02cd162..15435393 100644 +--- a/test/test-touchpad.c ++++ b/test/test-touchpad.c +@@ -4261,6 +4261,7 @@ START_TEST(touchpad_dwt_multiple_keyboards) + enable_dwt(touchpad); + + k1 = litest_add_device(li, LITEST_KEYBOARD); ++ litest_duplicate_device_pause(); + k2 = litest_add_device(li, LITEST_KEYBOARD); + + litest_keyboard_key(k1, KEY_A, true); +@@ -4301,6 +4302,7 @@ START_TEST(touchpad_dwt_multiple_keyboards_bothkeys) + enable_dwt(touchpad); + + k1 = litest_add_device(li, LITEST_KEYBOARD); ++ litest_duplicate_device_pause(); + k2 = litest_add_device(li, LITEST_KEYBOARD); + + litest_keyboard_key(k1, KEY_A, true); +@@ -4330,6 +4332,7 @@ START_TEST(touchpad_dwt_multiple_keyboards_bothkeys_modifier) + enable_dwt(touchpad); + + k1 = litest_add_device(li, LITEST_KEYBOARD); ++ litest_duplicate_device_pause(); + k2 = litest_add_device(li, LITEST_KEYBOARD); + + litest_keyboard_key(k1, KEY_RIGHTCTRL, true); +@@ -4369,6 +4372,7 @@ START_TEST(touchpad_dwt_multiple_keyboards_remove) + enable_dwt(touchpad); + + keyboards[0] = litest_add_device(li, LITEST_KEYBOARD); ++ litest_duplicate_device_pause(); + keyboards[1] = litest_add_device(li, LITEST_KEYBOARD); + + litest_keyboard_key(keyboards[0], KEY_A, true); +-- +2.14.3 + diff --git a/SOURCES/0006-test-mark-the-thinkpad-extrabuttons-device-as-ID_INP.patch b/SOURCES/0006-test-mark-the-thinkpad-extrabuttons-device-as-ID_INP.patch new file mode 100644 index 0000000..771e275 --- /dev/null +++ b/SOURCES/0006-test-mark-the-thinkpad-extrabuttons-device-as-ID_INP.patch @@ -0,0 +1,41 @@ +From 442186f2387ad536f232b50c762310e6db7d7171 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Fri, 18 May 2018 14:48:15 +1000 +Subject: [PATCH libinput 6/7] test: mark the thinkpad extrabuttons device as + ID_INPUT_SWITCH + +This is supposed to come from systemd on a real setup, but for our test setup +we want to pass the test suite even when the system itself doesn't set it. +--- + test/litest-device-thinkpad-extrabuttons.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/test/litest-device-thinkpad-extrabuttons.c b/test/litest-device-thinkpad-extrabuttons.c +index 42e5886f..e9929e65 100644 +--- a/test/litest-device-thinkpad-extrabuttons.c ++++ b/test/litest-device-thinkpad-extrabuttons.c +@@ -70,6 +70,15 @@ static int events[] = { + -1, -1, + }; + ++static const char udev_rule[] = ++"ACTION==\"remove\", GOTO=\"switch_end\"\n" ++"KERNEL!=\"event*\", GOTO=\"switch_end\"\n" ++"\n" ++"ATTRS{name}==\"litest ThinkPad Extra Buttons*\",\\\n" ++" ENV{ID_INPUT_SWITCH}=\"1\"\n" ++"\n" ++"LABEL=\"switch_end\""; ++ + TEST_DEVICE("thinkpad-extrabuttons", + .type = LITEST_THINKPAD_EXTRABUTTONS, + .features = LITEST_KEYS | LITEST_SWITCH, +@@ -79,4 +88,5 @@ TEST_DEVICE("thinkpad-extrabuttons", + .id = &input_id, + .events = events, + .absinfo = NULL, ++ .udev_rule = udev_rule, + ) +-- +2.14.3 + diff --git a/SOURCES/0007-test-fix-the-udev-rule-for-the-HP-WMI-hotkeys-device.patch b/SOURCES/0007-test-fix-the-udev-rule-for-the-HP-WMI-hotkeys-device.patch new file mode 100644 index 0000000..68f5b87 --- /dev/null +++ b/SOURCES/0007-test-fix-the-udev-rule-for-the-HP-WMI-hotkeys-device.patch @@ -0,0 +1,27 @@ +From eed0c32ebdea9f212e20b06d9a4dde3d6f1ac0d0 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Fri, 18 May 2018 15:02:55 +1000 +Subject: [PATCH libinput 7/7] test: fix the udev rule for the HP WMI hotkeys + device + +Signed-off-by: Peter Hutterer +--- + test/litest-device-hp-wmi-hotkeys.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test/litest-device-hp-wmi-hotkeys.c b/test/litest-device-hp-wmi-hotkeys.c +index 94c74a65..a2b18324 100644 +--- a/test/litest-device-hp-wmi-hotkeys.c ++++ b/test/litest-device-hp-wmi-hotkeys.c +@@ -51,7 +51,7 @@ static const char udev_rule[] = + "ACTION==\"remove\", GOTO=\"switch_end\"\n" + "KERNEL!=\"event*\", GOTO=\"switch_end\"\n" + "\n" +-"ATTRS{name}==\"litest HP WMI Hotkeys*\",\\\n" ++"ATTRS{name}==\"litest HP WMI hotkeys*\",\\\n" + " ENV{ID_INPUT_SWITCH}=\"1\"\n" + "\n" + "LABEL=\"switch_end\""; +-- +2.14.3 + diff --git a/SOURCES/0008-configure.ac-correct-the-version-number.patch b/SOURCES/0008-configure.ac-correct-the-version-number.patch new file mode 100644 index 0000000..331d9ca --- /dev/null +++ b/SOURCES/0008-configure.ac-correct-the-version-number.patch @@ -0,0 +1,28 @@ +From 1658083130e750d1f194460fcf1fd81d5df9bc48 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Mon, 21 May 2018 08:55:57 +1000 +Subject: [PATCH libinput] configure.ac: correct the version number + +Signed-off-by: Peter Hutterer +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 197dbe42..7201163a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1,8 +1,8 @@ + AC_PREREQ([2.64]) + + m4_define([libinput_major_version], [1]) +-m4_define([libinput_minor_version], [8]) +-m4_define([libinput_micro_version], [0]) ++m4_define([libinput_minor_version], [10]) ++m4_define([libinput_micro_version], [7]) + m4_define([libinput_version], + [libinput_major_version.libinput_minor_version.libinput_micro_version]) + +-- +2.14.3 + diff --git a/SPECS/libinput.spec b/SPECS/libinput.spec new file mode 100644 index 0000000..912cb5f --- /dev/null +++ b/SPECS/libinput.spec @@ -0,0 +1,517 @@ +%global udevdir %(pkg-config --variable=udevdir udev) + +#global gitdate 20141211 +%global gitversion 58abea394 + +Name: libinput +Version: 1.10.7 +Release: 2%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist} +Summary: Input device library + +License: MIT +URL: http://www.freedesktop.org/wiki/Software/libinput/ +%if 0%{?gitdate} +Source0: %{name}-%{gitdate}.tar.xz +Source1: make-git-snapshot.sh +Source2: commitid +%else +Source0: http://www.freedesktop.org/software/libinput/libinput-%{version}.tar.xz +%endif + +Patch001: 0001-Revert-Drop-autotools.patch +Patch002: 0002-Automake-backports.patch +Patch003: 0003-RHEL-test-add-the-bits-missing-in-check-0.9.9.patch +Patch004: 0004-RHEL-test-default-to-a-single-job-only-on-RHEL.patch +Patch005: 0005-test-fix-tests-for-kernels-without-UI_GET_SYSNAME.patch +Patch006: 0006-test-mark-the-thinkpad-extrabuttons-device-as-ID_INP.patch +Patch007: 0007-test-fix-the-udev-rule-for-the-HP-WMI-hotkeys-device.patch +Patch008: 0008-configure.ac-correct-the-version-number.patch + +BuildRequires: git +BuildRequires: autoconf automake libtool pkgconfig +BuildRequires: libevdev-devel +BuildRequires: libudev-devel +BuildRequires: mtdev-devel libwacom-devel +BuildRequires: pkgconfig(udev) + +ExcludeArch: s390 s390x + +%description +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 devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + + +%prep +%setup -q -n %{name}-%{?gitdate:%{gitdate}}%{!?gitdate:%{version}} +git init +if [ -z "$GIT_COMMITTER_NAME" ]; then + git config user.email "x@fedoraproject.org" + git config user.name "Fedora X Ninjas" +fi +git add . +git commit --allow-empty -a -q -m "%{version} baseline." + +# Apply all the patches. +git am -p1 %{patches} < /dev/null + +%build +autoreconf -v --install --force || exit 1 +%configure --disable-static --disable-silent-rules \ + --with-udev-dir=%{udevdir} \ + --disable-documentation \ + --disable-debug-gui \ + --disable-tests +make %{?_smp_mflags} + + +%install +%make_install +find $RPM_BUILD_ROOT -name '*.la' -delete + +# python3-evdev required but not available on RHEL7 +rm $RPM_BUILD_ROOT/%{_libexecdir}/libinput/libinput-measure-touchpad-tap +rm $RPM_BUILD_ROOT/%{_libexecdir}/libinput/libinput-measure-touchpad-pressure +rm $RPM_BUILD_ROOT/%{_libexecdir}/libinput/libinput-measure-touch-size +rm $RPM_BUILD_ROOT/%{_libexecdir}/libinput/libinput-measure-trackpoint-range +rm $RPM_BUILD_ROOT/%{_mandir}/man1/libinput-measure-touchpad-tap.1* +rm $RPM_BUILD_ROOT/%{_mandir}/man1/libinput-measure-touch-size.1* +rm $RPM_BUILD_ROOT/%{_mandir}/man1/libinput-measure-touchpad-pressure.1* +rm $RPM_BUILD_ROOT/%{_mandir}/man1/libinput-measure-trackpoint-range.1* + +%post +/sbin/ldconfig +/usr/bin/udevadm hwdb --update >/dev/null 2>&1 || : + +%postun -p /sbin/ldconfig + + +%files +%doc COPYING +%{_libdir}/libinput.so.* +%{udevdir}/libinput-device-group +%{udevdir}/libinput-model-quirks +%{udevdir}/rules.d/80-libinput-device-groups.rules +%{udevdir}/rules.d/90-libinput-model-quirks.rules +%{udevdir}/hwdb.d/90-libinput-model-quirks.hwdb +%{_bindir}/libinput +%dir %{_libexecdir}/libinput/ +%{_libexecdir}/libinput/libinput-debug-events +%{_libexecdir}/libinput/libinput-list-devices +%{_libexecdir}/libinput/libinput-measure +%{_mandir}/man1/libinput.1* +%{_mandir}/man1/libinput-measure.1* +%{_mandir}/man1/libinput-list-devices.1* +%{_mandir}/man1/libinput-debug-events.1* +%{_bindir}/libinput-list-devices +%{_bindir}/libinput-debug-events + +%files devel +%{_includedir}/libinput.h +%{_libdir}/libinput.so +%{_libdir}/pkgconfig/libinput.pc + +%changelog +* Mon May 21 2018 Peter Hutterer 1.10.7-2 +- Correct the automake version number to 1.10.7 (#1564642) + +* Thu May 17 2018 Peter Hutterer 1.10.7-1 +- libinput 1.10.7 (#1564642) + +* Mon Oct 30 2017 Peter Hutterer 1.8.4-2 +- Upload missing source tarball + +* Mon Oct 30 2017 Peter Hutterer 1.8.4-1 +- libinput 1.8.4 (#1496663) + +* Mon Oct 09 2017 Peter Hutterer 1.8.3-2 +- spec file bump + +* Mon Oct 09 2017 Peter Hutterer +- Restore 644 permissions for a source file to fix rpmdiff + +* Mon Oct 09 2017 Peter Hutterer 1.8.3-1 +- libinput 1.8.3 (#1496663) + +* Tue Sep 26 2017 Peter Hutterer 1.6.3-3 +- Fix touchpad tap timestamps (#1491525) +- Fix missing show-keycodes entry in man page (#1491532) +- Change palm detection thresholds (#1491537) +- Ignore tap motion threshold for nfingers > nslots (#1491533) +- Fix a memory leak on destroy +- Ignore hovering touches while tapping +- Fix a man page typo + +* Tue Mar 14 2017 Peter Hutterer 1.6.3-2 +- Fix test suite to build on RHEL 7.x (#1431640) + +* Mon Mar 13 2017 Peter Hutterer 1.6.3-1 +- libinput 1.6.3 (#1388484) + +* Mon Feb 27 2017 Peter Hutterer 1.6.2-1 +- libinput 1.6.2 (#1388484) + +* Fri Jan 20 2017 Peter Hutterer 1.6.0-1 +- libinput 1.6 + +* Mon Jan 16 2017 Peter Hutterer 1.5.902-1 +- libinput 1.6rc2 + +* Tue Jan 10 2017 Peter Hutterer 1.5.901-1 +- libinput 1.6rc1 + +* Wed Dec 07 2016 Peter Hutterer 1.5.3-1 +- libinput 1.5.3 + +* Fri Nov 25 2016 Peter Hutterer 1.5.2-2 +- Swap to the correct tarball so we match the checksums from upstream (had a + local mixup of tarballs) + +* Fri Nov 25 2016 Peter Hutterer 1.5.2-1 +- libinput 1.5.2 + +* Tue Nov 22 2016 Peter Hutterer 1.5.1-2 +- Improve responsiveness of touchpads by reducing the motion history. + +* Fri Nov 11 2016 Peter Hutterer 1.5.1-1 +- libinput 1.5.1 + +* Wed Sep 14 2016 Peter Hutterer 1.5.0-2 +- Drop the synaptics 3-slot workaround + +* Wed Sep 14 2016 Peter Hutterer 1.5.0-1 +- libinput 1.5.0 + +* Thu Sep 08 2016 Peter Hutterer 1.4.901-2 +- Avoid spurious trackpoint events halting the touchpad (related #1364850) + +* Wed Sep 07 2016 Peter Hutterer 1.4.901-1 +- libinput 1.5rc1 + +* Wed Aug 31 2016 Peter Hutterer 1.4.2-2 +- Add quirk for the HP 8510w touchpad (#1351285) + +* Tue Aug 30 2016 Peter Hutterer 1.4.2-1 +- libinput 1.4.2 + +* Fri Aug 05 2016 Peter Hutterer 1.4.1-1 +- libinput 1.4.1 + +* Mon Jul 18 2016 Peter Hutterer 1.4.0-1 +- libinput 1.4 + +* Tue Jul 12 2016 Peter Hutterer 1.3.901-1 +- libinput 1.4rc1 + +* Fri Jun 24 2016 Peter Hutterer 1.3.3-2 +- Drop the now unnecessary patch + +* Fri Jun 24 2016 Peter Hutterer 1.3.3-1 +- libinput 1.3.3 + +* Thu Jun 16 2016 Peter Hutterer 1.3.2-1 +- libinput 1.3.2 + +* Mon May 30 2016 Peter Hutterer 1.3.1-1 +- libinput 1.3.1 + +* Fri May 20 2016 Peter Hutterer 1.3.0-3 +- Stop pointer jitter on the Dell E5420, E530 and Lenovo Yoga 2 + +* Thu May 19 2016 Peter Hutterer 1.3.0-2 +- Disable negative pressure transition on non-synaptics pads to avoid + jerky movement (#1335249) + +* Tue May 10 2016 Peter Hutterer 1.3.0-1 +- libinput 1.3.0 + +* Wed May 04 2016 Peter Hutterer 1.2.903-1 +- libinput 1.3rc3 + +* Thu Apr 21 2016 Peter Hutterer 1.2.902-1 +- libinput 1.3rc2 + +* Tue Apr 19 2016 Peter Hutterer 1.2.4-1 +- libinput 1.2.4 + +* Tue Apr 12 2016 Peter Hutterer 1.2.3-1 +- libinput 1.2.3 + +* Tue Mar 15 2016 Peter Hutterer 1.2.2-1 +- libinput 1.2.2 + +* Fri Mar 11 2016 Peter Hutterer 1.2.1-4 +- Fix jerky pointer motion on the Lenovo T450/T460/X1 3rd hardware + +* Mon Mar 07 2016 Peter Hutterer 1.2.1-3 +- Fix segfault on mislabeled tablets (#1314955) + +* Wed Mar 02 2016 Peter Hutterer 1.2.1-2 +- Bump to maintain upgrade path with F23 + +* Mon Feb 29 2016 Peter Hutterer 1.2.1-1 +- libinput 1.2.1 + +* Tue Feb 23 2016 Peter Hutterer 1.2.0-1 +- libinput 1.2.0 + +* Mon Feb 15 2016 Peter Hutterer 1.1.902-2 +- Add libwacom-devel to BuildRequires + +* Mon Feb 15 2016 Peter Hutterer 1.1.902-1 +- libinput 1.2rc2 + +* Wed Feb 10 2016 Peter Hutterer 1.1.7-1 +- libinput 1.1.7 + +* Fri Feb 05 2016 Peter Hutterer 1.1.6-1 +- libinput 1.1.6 + +* Thu Feb 04 2016 Peter Hutterer 1.1.5-4 +- Fix patches from -3, they got corrupted somehow + +* Thu Feb 04 2016 Peter Hutterer 1.1.5-3 +- Disable the mode button on the Cyborg RAT 5 +- Drop touchpad motion hysteresis by default + +* Thu Feb 04 2016 Fedora Release Engineering - 1.1.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Jan 25 2016 Peter Hutterer 1.1.5-1 +- libinput 1.1.5 + +* Tue Jan 19 2016 Peter Hutterer 1.1.4-3 +- disable MT for semi-mt devices to solve the various two- and three-finger + issues (at the cost of pinch gestures) (#1295073) + +* Mon Jan 11 2016 Peter Hutterer 1.1.4-2 +- fix disable-while-typing on macbooks + +* Tue Dec 22 2015 Peter Hutterer 1.1.4-1 +- libinput 1.1.4 + +* Wed Dec 16 2015 Peter Hutterer 1.1.3-1 +- libinput 1.1.3 + +* Wed Dec 09 2015 Peter Hutterer 1.1.2-1 +- libinput 1.1.2 + +* Mon Dec 07 2015 Peter Hutterer 1.1.1-2 +- Reduce 2fg scroll threshold to 1mm (#1247958) + +* Mon Nov 16 2015 Peter Hutterer 1.1.1-1 +- libinput 1.1.1 + +* Mon Nov 02 2015 Peter Hutterer 1.1.0-3 +- Fix invalid device group pointer, causing invalid memory access + +* Wed Oct 28 2015 Peter Hutterer 1.1.0-2 +- Fix crash triggered by Asus RoG Gladius mouse (#1275407) + +* Mon Oct 26 2015 Peter Hutterer 1.1.0-1 +- libinput 1.1.0 + +* Wed Oct 21 2015 Peter Hutterer 1.0.2-1 +- libinput 1.0.2 + +* Sat Sep 19 2015 Peter Hutterer 1.0.1-3 +- Fix the number of clicks sent in multitap (fdo #92016) + +* Mon Sep 07 2015 Peter Hutterer 1.0.1-2 +- Don't interpret short scrolls as right click (#1256045) + +* Thu Sep 03 2015 Peter Hutterer 1.0.1-1 +- libinput 1.0.1 + +* Wed Aug 26 2015 Peter Hutterer 1.0.0-1 +- libinput 1.0 + +* Fri Aug 21 2015 Peter Hutterer 0.99.1-1 +- libinput 1.0RC1 + +* Wed Aug 05 2015 Peter Hutterer 0.21.0-3 +- Fix 2fg scroll threshold handling (#1249365) + +* Tue Aug 04 2015 Peter Hutterer 0.21.0-2 +- Fix pointer speed configuration, broke with 0.21.0 + +* Tue Aug 04 2015 Peter Hutterer 0.21.0-1 +- libinput 0.21.0 +- fix 3fg touch detection on Synaptics semi-mt touchpads + +* Thu Jul 30 2015 Peter Hutterer 0.20.0-6 +- Fix broken 2fg scrolling on single-touch touchpads (#1246651) +- Drop distance threshold for 2fg gesture detection (#1246868) + +* Wed Jul 29 2015 Peter Hutterer 0.20.0-5 +- Add a size hint for Apple one-button touchpads (#1246651) + +* Wed Jul 29 2015 Peter Hutterer 0.20.0-4 +- Disable 2fg scrolling on Synaptics semi-mt (#1235175) + +* Fri Jul 24 2015 Peter Hutterer 0.20.0-3 +- Disable thumb detection, too many false positives (#1246093) + +* Tue Jul 21 2015 Peter Hutterer 0.20.0-2 +- Restore parsing for trackpoing const accel + +* Thu Jul 16 2015 Peter Hutterer 0.20.0-1 +- libinput 0.20 + +* Tue Jul 14 2015 Peter Hutterer 0.19.0-3 +- Only edge scroll when the finger is on the actual edge + +* Thu Jul 09 2015 Peter Hutterer 0.19.0-2 +- enable edge scrolling on clickpads (#1225579) + +* Mon Jul 06 2015 Peter Hutterer 0.19.0-1 +- libinput 0.19.0 + +* Wed Jul 01 2015 Peter Hutterer 0.18.0-5 +- Improve trackpoint->touchpad transition responsiveness (#1233844) + +* Mon Jun 29 2015 Peter Hutterer 0.18.0-4 +- Steepen deceleration curve to get better 1:1 movement on slow speeds + (#1231304) +- Provide custom accel method for <1000dpi mice (#1227039) + +* Thu Jun 25 2015 Peter Hutterer 0.18.0-3 +- Fix stuck finger after a clickpad click on resolutionless touchpads + +* Wed Jun 24 2015 Peter Hutterer 0.18.0-2 +- Fix initial jump during edge scrolling + +* Mon Jun 22 2015 Peter Hutterer 0.18.0-1 +- libinput 0.18.0 + +* Tue Jun 16 2015 Peter Hutterer 0.17.0-5 +- Use physical values for the hystersis where possible (#1230462) +- Disable right-edge palm detection when edge scrolling is active + (fdo#90980) + +* Tue Jun 16 2015 Peter Hutterer 0.17.0-4 +- Avoid erroneous finger movement after a physical click (#1230441) + +* Fri Jun 12 2015 Peter Hutterer 0.17.0-3 +- Require udev.pc for the build + +* Tue Jun 09 2015 Peter Hutterer 0.17.0-2 +- Cap the minimum acceleration slowdown at 0.3 (#1227796) + +* Thu Jun 04 2015 Peter Hutterer 0.17.0-1 +- libinput 0.17 + +* Tue Jun 02 2015 Peter Hutterer 0.16.0-4 +- Always set the middle button as default button for button-scrolling + (#1227182) + +* Tue Jun 02 2015 Peter Hutterer 0.16.0-3 +- Reduce tap-n-drag timeout (#1225998) + +* Tue Jun 02 2015 Peter Hutterer 0.16.0-2 +- Handle slow motions better (#1227039) + +* Tue Jun 02 2015 Peter Hutterer 0.16.0-1 +- libinput 0.16.0 + +* Fri May 29 2015 Peter Hutterer 0.15.0-4 +- Add tap-to-end-drag patch (#1225998) + +* Wed May 27 2015 Peter Hutterer 0.15.0-3 +- Refine disable-while-typing (#1209753) + +* Mon May 18 2015 Peter Hutterer 0.15.0-2 +- Add disable-while-typing feature (#1209753) + +* Tue May 05 2015 Peter Hutterer 0.15.0-1 +- libinput 0.15.0 + +* Fri Apr 24 2015 Peter Hutterer 0.14.1-2 +- Fix crash with the MS Surface Type Cover (#1206869) + +* Wed Apr 22 2015 Peter Hutterer 0.14.1-1 +- libinput 0.14.1 + +* Thu Apr 16 2015 Peter Hutterer 0.13.0-6 +- git add the patch... + +* Thu Apr 16 2015 Peter Hutterer 0.13.0-5 +- Reduce palm detection threshold to 70mm (#1209753) +- Don't allow taps in the top part of the palm zone (#1209753) + +* Thu Apr 09 2015 Peter Hutterer 0.13.0-4 +- Fix finger miscounts on single-touch touchpads (#1209151) + +* Wed Apr 08 2015 Peter Hutterer 0.13.0-3 +- Fix mouse slowdown (#1208992) + +* Wed Apr 08 2015 Peter Hutterer 0.13.0-2 +- Fix crasher triggered by fake MT devices without ABS_X/Y (#1207574) + +* Tue Mar 24 2015 Peter Hutterer 0.13.0-1 +- libinput 0.13.0 + +* Fri Mar 20 2015 Peter Hutterer 0.12.0-2 +- Install the udev rules in the udevdir, not libdir (#1203645) + +* Tue Mar 10 2015 Peter Hutterer 0.12.0-1 +- libinput 0.12.0 + +* Mon Feb 23 2015 Peter Hutterer 0.11.0-1 +- libinput 0.11.0 + +* Fri Feb 06 2015 Peter Hutterer 0.10.0-1 +- libinput 0.10.0 + +* Fri Jan 30 2015 Peter Hutterer 0.9.0-1 +- libinput 0.9.0 + +* Mon Jan 19 2015 Peter Hutterer 0.8.0-1 +- libinput 0.8.0 + +* Thu Dec 11 2014 Peter Hutterer 0.7.0-2.20141211git58abea394 +- git snapshot, fixes a crasher and fd confusion after suspending a device + +* Fri Dec 05 2014 Peter Hutterer 0.7.0-1 +- libinput 0.7.0 + +* Mon Nov 24 2014 Peter Hutterer 0.6.0-3.20141124git92d178f16 +- Add the hooks to build from a git snapshot +- Disable silent rules +- Update to today's git master + +* Fri Sep 12 2014 Peter Hutterer 0.6.0-2 +- libinput 0.6.0 + +* Sun Aug 17 2014 Fedora Release Engineering - 0.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Wed Jul 23 2014 Peter Hutterer 0.5.0-1 +- libinput 0.5.0 + +* Wed Jul 02 2014 Peter Hutterer 0.4.0-2 +- Add the new touchpad pointer acceleration code + +* Wed Jun 25 2014 Kalev Lember - 0.4.0-1 +- Update to 0.4.0 + +* Sat Jun 07 2014 Fedora Release Engineering - 0.2.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri May 23 2014 Peter Hutterer 0.2.0-1 +- libinput 0.2.0 + +* Fri Feb 28 2014 Kalev Lember - 0.1.0-1 +- Initial Fedora packaging