diff options
Diffstat (limited to 'app-misc/ckb')
-rw-r--r-- | app-misc/ckb/Manifest | 5 | ||||
-rw-r--r-- | app-misc/ckb/ckb-0.4.0.ebuild | 50 | ||||
-rw-r--r-- | app-misc/ckb/files/ckb-0.4.0-modprobe.patch | 72 | ||||
-rw-r--r-- | app-misc/ckb/metadata.xml | 5 |
4 files changed, 130 insertions, 2 deletions
diff --git a/app-misc/ckb/Manifest b/app-misc/ckb/Manifest index cb1ab93c2fe8..17c59e1e387e 100644 --- a/app-misc/ckb/Manifest +++ b/app-misc/ckb/Manifest @@ -1,4 +1,7 @@ +AUX ckb-0.4.0-modprobe.patch 3049 BLAKE2B a144c5f7c3f1e8871fa4074f5cd36ba9b6664ba1047c8fc2b8a4b32b1b717ebe430b4a761c50b022684eafabcaed6c9af2f8dcc1ff91da53dc475e7fffab42e8 SHA512 7979cb591fa3190667cfd73e4d2e8b8a7fa894e07138f2bf7da841df3f739cbb2ced1f57c90383f0376a721b3fa02b56650845e01970ecee0e2000460f75dd22 AUX ckb.initd 659 BLAKE2B 1de2e8b9b555f2d083698e8302c972619dc08ca652bb1ef06e3a72ec9fa026f74aadb5e86491b4a95fe1c44699a21802907c75c67e3d09bc12caa2114052eaf8 SHA512 45c98f5b3cf2868fd7a5b0a015222b1dc6608847d380a1a3ccc95fab306bfde642a74e5dafe1545b380516fb4d41e30d76b9c1f826882dae28a0332f6c3b40ad DIST ckb-0.2.9.tar.gz 664625 BLAKE2B 37dc9c75876ca46fb10241da7b223ca67e5b9c0a998386f0f82eba15a97045e269b1f8a75dea18297865826bff241c21b255a507fd26e73747ee2656a228c4ce SHA512 7910f089d7b01ceade5ae8282db931c9decb9296d4c9c5fc2419eb7fb4ba5a2c0f85721a3a6846ed24a72f61b18374baa7fd27e11329b5d2f65b21916e8b96e1 +DIST ckb-0.4.0.tar.gz 838586 BLAKE2B 42d786d1934cce6bb082ba4c9f7081401153fa2bd209f290659cfd42787ef69fad9ad86c35df973f1934a03699a1472aa2a1ceb8ef70f46316558e764e5cd88c SHA512 81058d1e31e7328dac1b3a83cb443b9d9f29593e872d189766c1dfe8b502965fd9ea7a962423e94d5053c99d8dd8c50bd98638c11631a2ca586fb9ade700284f EBUILD ckb-0.2.9-r1.ebuild 1188 BLAKE2B 31bd8b6247e0f3615b9f2a770e60651ebc3962390c1fb73c39138269acfd9daf30845c70a04c123a358fe52bef07933c618e748076a28bc3b7b79375374779bd SHA512 18531d54b89558b00ada031fd161f96f56105ace63b300db85aa699408184668aab56a9b21fec7c214df232525c5bbe28097aefe3bf7f1b63c650ffa0068f644 -MISC metadata.xml 241 BLAKE2B 53b81bd5f392373de9734e1bf97c56251d03f1e8fd925dc2a85ac14aef11ced9bcfaad9e469e7a1548edc92e5562b4ed631d699e1398d314320eed76446a8ead SHA512 dad8f3d5c83cf60831c21d441b8d9a1bf4941c2c5b56697ab55ade147394f83db181f3de21f5c35d8f70eb1ed80e55633489551bdb53ef27146447763b156d4c +EBUILD ckb-0.4.0.ebuild 929 BLAKE2B b29439748d07eaf2de1b48f473df25edeea66e460fa3770d024a13b8f3fe51d2586a7eb2944bc4d4560b6eb68c93182f5a8b15147b498d9fd4c12e7773a14d1f SHA512 79751bab8d45a33cbcadb17043623516a2ccd8dad6977e05d62564ecf2b19d7d387bda283b216c90a3207f9f84dcfbce431f49853266be294403e4593eedaea3 +MISC metadata.xml 319 BLAKE2B 413fd0ee948a3bf39044251e819bbf2e10c2896b857b8079a23fe46d8639ddcc7c1c7289c8d3a6f8b9a82cb05e65b38298fabe4359c27497a7aced8fa97d276f SHA512 a878c93cd07a39758b418d7884df552a6741805d148959487d0b0114fb6e5476a718b637b02526310b810e153b0e027abafef14d4e3fd981e1ba1ba88bb1fda2 diff --git a/app-misc/ckb/ckb-0.4.0.ebuild b/app-misc/ckb/ckb-0.4.0.ebuild new file mode 100644 index 000000000000..a0ae03736993 --- /dev/null +++ b/app-misc/ckb/ckb-0.4.0.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit desktop cmake-utils systemd + +DESCRIPTION="Corsair K65/K70/K95 Driver" +HOMEPAGE="https://github.com/ckb-next/ckb-next" +SRC_URI="https://github.com/ckb-next/ckb-next/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +DEPEND=" + >=dev-libs/quazip-0.7.2[qt5(+)] + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtnetwork:5 + dev-qt/qtwidgets:5 + virtual/libudev:= + x11-libs/libX11 +" +RDEPEND="${DEPEND}" + +DOCS=( CHANGELOG.md README.md ) +PATCHES=( "${FILESDIR}/${P}-modprobe.patch" ) +S="${WORKDIR}/${PN}-next-${PV}" + +src_configure() { + local mycmakeargs=( + -DDISABLE_UPDATER=yes + ) + cmake-utils_src_configure +} + +src_install() { + newinitd "${FILESDIR}"/ckb.initd ckb-daemon + cmake-utils_src_install +} + +pkg_postinst() { + xdg_icon_cache_update +} + +pkg_postrm() { + xdg_icon_cache_update +} diff --git a/app-misc/ckb/files/ckb-0.4.0-modprobe.patch b/app-misc/ckb/files/ckb-0.4.0-modprobe.patch new file mode 100644 index 000000000000..31dc3303b328 --- /dev/null +++ b/app-misc/ckb/files/ckb-0.4.0-modprobe.patch @@ -0,0 +1,72 @@ +--- + src/daemon/input_linux.c | 21 ++++++++++++++------- + src/gui/mainwindow.cpp | 14 ++++++++------ + 2 files changed, 22 insertions(+), 13 deletions(-) + +diff --git a/src/daemon/input_linux.c b/src/daemon/input_linux.c +index 0391243e..8489f5b5 100644 +--- a/src/daemon/input_linux.c ++++ b/src/daemon/input_linux.c +@@ -55,13 +55,20 @@ int uinputopen(struct uinput_user_dev* indev, int mouse){ + /// + /// Some tips on using [uinput_user_dev in](http://thiemonge.org/getting-started-with-uinput) + int os_inputopen(usbdevice* kb){ +- /// First check whether the uinput module is loaded by the kernel. +- /// +- // Load the uinput module (if it's not loaded already) +- if(system("modprobe uinput") != 0) { +- ckb_fatal("Failed to load uinput module\n"); +- return 1; ++ /// Let's see if uinput is already available ++ int fd = open("/dev/uinput", O_RDWR); ++ if(fd < 0){ ++ fd = open("/dev/input/uinput", O_RDWR); ++ } ++ ++ // If not available, load the module ++ if(fd < 0){ ++ if(system("modprobe uinput") != 0) { ++ ckb_fatal("Failed to load uinput module\n"); ++ return 1; ++ } + } ++ close(fd); + + if(IS_SINGLE_EP(kb)) { + kb->uinput_kb = 0; +@@ -79,7 +86,7 @@ int os_inputopen(usbdevice* kb){ + indev.id.product = kb->product; + indev.id.version = kb->fwversion; + // Open keyboard +- int fd = uinputopen(&indev, 0); ++ fd = uinputopen(&indev, 0); + kb->uinput_kb = fd; + if(fd <= 0) + return 0; +diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp +index 968764e7..1eb95bda 100644 +--- a/src/gui/mainwindow.cpp ++++ b/src/gui/mainwindow.cpp +@@ -282,14 +282,16 @@ void MainWindow::updateVersion(){ + if(kextstatOut.isEmpty()) + daemonWarning.append(tr("<br /><b>Warning:</b> System Extension by \"Fumihiko Takayama\" is not allowed in Security & Privacy. Please allow it and then unplug and replug your devices.")); + #elif defined(Q_OS_LINUX) +- QProcess modprobe; +- modprobe.start("modprobe", QStringList("uinput")); ++ if(!(QFileInfo("/dev/uinput").exists() || QFileInfo("/dev/input/uinput").exists())){ ++ QProcess modprobe; ++ modprobe.start("modprobe", QStringList("uinput")); + +- if(!modprobe.waitForFinished()) +- qDebug() << "Modprobe error"; ++ if(!modprobe.waitForFinished()) ++ qDebug() << "Modprobe error"; + +- if(modprobe.exitCode()) +- daemonWarning.append(tr("<br /><b>Warning:</b> The uinput module could not be loaded. If this issue persists after rebooting, compile a kernel with CONFIG_INPUT_UINPUT=y.")); ++ if(modprobe.exitCode()) ++ daemonWarning.append(tr("<br /><b>Warning:</b> The uinput module could not be loaded. If this issue persists after rebooting, compile a kernel with CONFIG_INPUT_UINPUT=y.")); ++ } + #endif + settingsWidget->setStatus(tr("No devices connected") + daemonWarning); + } diff --git a/app-misc/ckb/metadata.xml b/app-misc/ckb/metadata.xml index 2a82acaed1c4..dd1c6d1b01c8 100644 --- a/app-misc/ckb/metadata.xml +++ b/app-misc/ckb/metadata.xml @@ -1,7 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <!-- maintainer-needed --> + <maintainer type="person"> + <email>chainsaw@gentoo.org</email> + <name>Tony Vroon</name> + </maintainer> <upstream> <remote-id type="github">ccMSC/ckb</remote-id> </upstream> |