From 92d54d23dcbb9ca8de9ebdc4040d5715e3fd289a Mon Sep 17 00:00:00 2001 From: Xandor Schiefer Date: Sun, 23 May 2021 16:00:19 +0200 Subject: [PATCH] logiops: init at 0.2.3 Package requested in #122208 --- pkgs/tools/inputmethods/logiops/default.nix | 45 +++++++++++++++++++ .../logiops/logiops-no-systemd-service.patch | 15 +++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 62 insertions(+) create mode 100644 pkgs/tools/inputmethods/logiops/default.nix create mode 100644 pkgs/tools/inputmethods/logiops/logiops-no-systemd-service.patch diff --git a/pkgs/tools/inputmethods/logiops/default.nix b/pkgs/tools/inputmethods/logiops/default.nix new file mode 100644 index 0000000000000..72f38500f0b45 --- /dev/null +++ b/pkgs/tools/inputmethods/logiops/default.nix @@ -0,0 +1,45 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, pkg-config +, libevdev +, libudev +, libconfig +}: + +stdenv.mkDerivation rec { + pname = "logiops"; + version = "0.2.3"; + + src = fetchFromGitHub { + owner = "PixlOne"; + repo = "logiops"; + rev = "v${version}"; + sha256 = "1wgv6m1kkxl0hppy8vmcj1237mr26ckfkaqznj1n6cy82vrgdznn"; + }; + + patches = [ ./logiops-no-systemd-service.patch ]; + + nativeBuildInputs = [ cmake pkg-config ]; + + buildInputs = [ libevdev libudev libconfig ]; + + meta = with lib; { + description = "An unofficial userspace driver for HID++ Logitech mice and keyboards"; + longDescription = '' + Logiops is an unofficial userspace driver for HID++ Logitech mice and keyboards. + + It can configure features like: easy programmable buttons, DPI selection, + Smartshift (hyperfast and click-to-click wheel mode), HiresScroll, gestures. + + It is meant to run as a service, see `services.logiops`. + + Currently only compatible with HID++ >2.0 devices. + ''; + license = licenses.gpl3; + homepage = "https://github.com/PixlOne/logiops"; + platforms = platforms.linux; + maintainers = with maintainers; [ zeorin ]; + }; +} diff --git a/pkgs/tools/inputmethods/logiops/logiops-no-systemd-service.patch b/pkgs/tools/inputmethods/logiops/logiops-no-systemd-service.patch new file mode 100644 index 0000000000000..ae481ee32f0e6 --- /dev/null +++ b/pkgs/tools/inputmethods/logiops/logiops-no-systemd-service.patch @@ -0,0 +1,15 @@ +diff --git i/src/logid/CMakeLists.txt w/src/logid/CMakeLists.txt +index 00ee796..c8300a5 100644 +--- i/src/logid/CMakeLists.txt ++++ w/src/logid/CMakeLists.txt +@@ -96,10 +96,6 @@ if (SYSTEMD_FOUND AND "${SYSTEMD_SERVICES_INSTALL_DIR}" STREQUAL "") + string(REGEX REPLACE "[ \t\n]+" "" SYSTEMD_SERVICES_INSTALL_DIR + "${SYSTEMD_SERVICES_INSTALL_DIR}") + configure_file(logid.service.cmake ${CMAKE_BINARY_DIR}/logid.service) +- message(STATUS "systemd units will be installed at ${SYSTEMD_SERVICES_INSTALL_DIR}") +- install(FILES ${CMAKE_BINARY_DIR}/logid.service +- DESTINATION ${SYSTEMD_SERVICES_INSTALL_DIR} +- COMPONENT cp) + elseif(NOT SYSTEMD_FOUND AND SYSTEMD_SERVICES_INSTALL_DIR) + message(FATAL_ERROR "systemd is not found w/ pkg-config but SYSTEMD_SERVICES_INSTALL_DIR is defined.") + endif() diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6cbb4e447884a..1fbb927e43dd4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6157,6 +6157,8 @@ in lockfileProgs = callPackage ../tools/misc/lockfile-progs { }; + logiops = callPackage ../tools/inputmethods/logiops { }; + logstash6 = callPackage ../tools/misc/logstash/6.x.nix { # https://www.elastic.co/support/matrix#logstash-and-jvm jre = jdk11_headless;