diff options
author | Gary Wong <gtw@gnu.org> | 2020-09-19 23:54:06 -0600 |
---|---|---|
committer | Gary Wong <gtw@gnu.org> | 2020-09-20 22:22:58 -0600 |
commit | 61807b85ba1993b8bd33e449cc0eb2851391afe9 (patch) | |
tree | a0b571669ff65fe06f78387915f297f6542fcc91 | |
parent | 84058f6fca67f6de9f202a2e65a266dc97047201 (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.
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 +} |