summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGary Wong <gtw@gnu.org>2020-09-19 23:54:06 -0600
committerGary Wong <gtw@gnu.org>2020-09-20 22:22:58 -0600
commit61807b85ba1993b8bd33e449cc0eb2851391afe9 (patch)
treea0b571669ff65fe06f78387915f297f6542fcc91
parent84058f6fca67f6de9f202a2e65a266dc97047201 (diff)
x11-drivers/xf86-input-evdev: Add udev USE flag.
With udev disabled, xf86-input-evdev needs no udev support in the server. Hot swapped devices will not be detected, but evdev works with a static configuration.
-rw-r--r--x11-drivers/xf86-input-evdev/Manifest4
-rw-r--r--x11-drivers/xf86-input-evdev/files/xf86-input-evdev-2.10.6-udev.patch49
-rw-r--r--x11-drivers/xf86-input-evdev/metadata.xml10
-rw-r--r--x11-drivers/xf86-input-evdev/xf86-input-evdev-2.10.6.ebuild39
4 files changed, 102 insertions, 0 deletions
diff --git a/x11-drivers/xf86-input-evdev/Manifest b/x11-drivers/xf86-input-evdev/Manifest
new file mode 100644
index 0000000..f58e44e
--- /dev/null
+++ b/x11-drivers/xf86-input-evdev/Manifest
@@ -0,0 +1,4 @@
+AUX xf86-input-evdev-2.10.6-udev.patch 1286 BLAKE2B 0087f3c1224ecf601dc15debf5f15aa9afaf450c220ca48cc63e4df36243fec930800535cd2fffa7a79be69e7899a4adf1af4d7aa22532b77f3cfa0b7a2602d6 SHA512 ccbe5d5cb00d6b786cef981f229a90b6bb2e3b5d96a0fad2799fb0e1d7c576306b8de096050967fce85732535ab2b5f877fbdb4e7f433a2fcad22d4777936d50
+DIST xf86-input-evdev-2.10.6.tar.bz2 408138 BLAKE2B 2b5815e6ee71971e5023392e893d0b8bdba315ff73b34926b9facd95141ff541de052b84a569fe7bbd4b98810afb4d643a3bcaa97fe5a4e23c37e1ce410a9e12 SHA512 560b0a6491d50a46913a5890a35c0367e59f550670993493bd9712d712a9747ddaa6fe5086daabf2fcafa24b0159383787eb273da4a2a60c089bfc0a77ad2ad1
+EBUILD xf86-input-evdev-2.10.6.ebuild 748 BLAKE2B e4f6460b9e679c21430d66908808bfaf1588d7fd4f60d27d2f2c023c08ac637911002c72690d9a9b2fa1d275ca7b981fe14d63bcea82017ed81c4babf2cc9dff SHA512 f66126fd714c9a40f34424eff2fe1729972d15c15258ab490882f86d7ccb5a71b26c967f8c3c30be3352d335340467620e0f1f2a0a82ad395202ee0d589237a9
+MISC metadata.xml 304 BLAKE2B fd1cb1f921e3acde04b3125042dff862d62fb4ffb3f9685c7f41ba22a154f8196536180bf51410e933e486d9383113b4ae36341f9165a4c926a3e139ccb57017 SHA512 053ee048a10bf87c484303dfb2a92465bb22fc52abff551b674b9c6e620a8f53b1bc3c32b81ba632e5da3247e1d9b5aece5a02b19539ec4fc0efd9255b3d4664
diff --git a/x11-drivers/xf86-input-evdev/files/xf86-input-evdev-2.10.6-udev.patch b/x11-drivers/xf86-input-evdev/files/xf86-input-evdev-2.10.6-udev.patch
new file mode 100644
index 0000000..e66cccb
--- /dev/null
+++ b/x11-drivers/xf86-input-evdev/files/xf86-input-evdev-2.10.6-udev.patch
@@ -0,0 +1,49 @@
+diff --git a/configure.ac b/configure.ac
+index 2d8870d2..cabfa699 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -45,7 +45,11 @@ XORG_DEFAULT_OPTIONS
+
+ # Obtain compiler/linker options from server and required extensions
+ PKG_CHECK_MODULES(XORG, [xorg-server >= 1.12] xproto [inputproto >= 2.1.99.3])
+-PKG_CHECK_MODULES(UDEV, libudev)
++AC_ARG_WITH(udev, AC_HELP_STRING([--without-udev], [Ignore udev and dynamic device support]))
++USE_UDEV=0
++AS_IF([test "x$with_udev" != "xno"],
++ [PKG_CHECK_MODULES(UDEV, libudev,[USE_UDEV=1])])
++AC_SUBST(USE_UDEV)
+
+ PKG_CHECK_MODULES(LIBEVDEV, [libevdev >= 0.4])
+ PKG_CHECK_MODULES(MTDEV, mtdev)
+diff --git a/src/evdev.c b/src/evdev.c
+index 6b5eadd1..874d901c 100644
+--- a/src/evdev.c
++++ b/src/evdev.c
+@@ -40,7 +40,9 @@
+
+ #include <linux/version.h>
+ #include <sys/stat.h>
++#if USE_UDEV
+ #include <libudev.h>
++#endif
+ #include <unistd.h>
+ #include <errno.h>
+ #include <fcntl.h>
+@@ -226,6 +228,7 @@ EvdevIsDuplicate(InputInfoPtr pInfo)
+ static BOOL
+ EvdevDeviceIsVirtual(const char* devicenode)
+ {
++#if USE_UDEV
+ struct udev *udev = NULL;
+ struct udev_device *device = NULL;
+ struct stat st;
+@@ -256,6 +259,9 @@ out:
+ udev_device_unref(device);
+ udev_unref(udev);
+ return rc;
++#else
++ return FALSE;
++#endif
+ }
+
+
diff --git a/x11-drivers/xf86-input-evdev/metadata.xml b/x11-drivers/xf86-input-evdev/metadata.xml
new file mode 100644
index 0000000..f61efea
--- /dev/null
+++ b/x11-drivers/xf86-input-evdev/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>gtw@gnu.org</email>
+</maintainer>
+<use>
+ <flag name="udev">Enable udev support (necessary for hot-swapping devices)</flag>
+</use>
+</pkgmetadata>
diff --git a/x11-drivers/xf86-input-evdev/xf86-input-evdev-2.10.6.ebuild b/x11-drivers/xf86-input-evdev/xf86-input-evdev-2.10.6.ebuild
new file mode 100644
index 0000000..cbc806b
--- /dev/null
+++ b/x11-drivers/xf86-input-evdev/xf86-input-evdev-2.10.6.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit epatch linux-info xorg-2
+
+DESCRIPTION="Generic Linux input driver"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 sparc x86"
+IUSE="udev"
+
+RDEPEND=">=x11-base/xorg-server-1.18[udev?]
+ dev-libs/libevdev
+ sys-libs/mtdev
+ udev? ( virtual/libudev:= )"
+DEPEND="${RDEPEND}
+ >=sys-kernel/linux-headers-2.6
+ x11-base/xorg-proto"
+
+pkg_setup() {
+ linux-info_pkg_setup
+
+ XORG_CONFIGURE_OPTIONS=(
+ $(use_with udev)
+ )
+}
+
+pkg_pretend() {
+ if use kernel_linux ; then
+ CONFIG_CHECK="~INPUT_EVDEV"
+ fi
+ check_extra_config
+}
+
+src_prepare() {
+ if ! use udev ; then
+ epatch "${FILESDIR}/${PN}-2.10.6-udev.patch"
+ eautoreconf
+ fi
+}