about summary refs log tree commit diff
path: root/pkgs/by-name/lo
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2024-02-24 00:26:41 +0100
committerGitHub <noreply@github.com>2024-02-24 00:26:41 +0100
commit88ce13798fd35769858ff43963ed0a16e8d1c9b1 (patch)
tree73d640a1a7fdf9cfbe0d81de26c1e6d99b44f80b /pkgs/by-name/lo
parentcfffadfc63b886cdc0d42cac3a18fa6aa30fa417 (diff)
parent5533f8b7189ec31d7b2fae429662d9e5d67c05fe (diff)
Merge pull request #289701 from kylechui/feat/update-logiops
Diffstat (limited to 'pkgs/by-name/lo')
-rw-r--r--pkgs/by-name/lo/logiops/package.nix56
-rw-r--r--pkgs/by-name/lo/logiops/pkgs0001-Make-DBUS_SYSTEM_POLICY_INSTALL_DIR-externally-overr.patch30
-rw-r--r--pkgs/by-name/lo/logiops_0_2_3/package.nix26
3 files changed, 112 insertions, 0 deletions
diff --git a/pkgs/by-name/lo/logiops/package.nix b/pkgs/by-name/lo/logiops/package.nix
new file mode 100644
index 0000000000000..e8cb020a32c53
--- /dev/null
+++ b/pkgs/by-name/lo/logiops/package.nix
@@ -0,0 +1,56 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  pkg-config,
+  cmake,
+  glib,
+  udev,
+  libevdev,
+  libconfig,
+}:
+
+stdenv.mkDerivation (oldAttrs: {
+  pname = "logiops";
+  version = "0.3.3";
+
+  src = fetchFromGitHub {
+    owner = "PixlOne";
+    repo = "logiops";
+    rev = "v${oldAttrs.version}";
+    sha256 = "sha256-9nFTud5szQN8jpG0e/Bkp+I9ELldfo66SdfVCUTuekg=";
+    # In v0.3.0, the `ipcgull` submodule was added as a dependency
+    # https://github.com/PixlOne/logiops/releases/tag/v0.3.0
+    fetchSubmodules = true;
+  };
+
+  patches = [
+    ./pkgs0001-Make-DBUS_SYSTEM_POLICY_INSTALL_DIR-externally-overr.patch
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+  buildInputs = [
+    udev
+    libevdev
+    libconfig
+    glib
+  ];
+
+  cmakeFlags = [
+    "-DLOGIOPS_VERSION=${oldAttrs.version}"
+    "-DDBUS_SYSTEM_POLICY_INSTALL_DIR=${placeholder "out"}/share/dbus-1/system.d"
+  ];
+
+  PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system";
+
+  meta = with lib; {
+    description = "Unofficial userspace driver for HID++ Logitech devices";
+    homepage = "https://github.com/PixlOne/logiops";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ ckie ];
+    platforms = with platforms; linux;
+  };
+})
diff --git a/pkgs/by-name/lo/logiops/pkgs0001-Make-DBUS_SYSTEM_POLICY_INSTALL_DIR-externally-overr.patch b/pkgs/by-name/lo/logiops/pkgs0001-Make-DBUS_SYSTEM_POLICY_INSTALL_DIR-externally-overr.patch
new file mode 100644
index 0000000000000..1c3ab61dd601d
--- /dev/null
+++ b/pkgs/by-name/lo/logiops/pkgs0001-Make-DBUS_SYSTEM_POLICY_INSTALL_DIR-externally-overr.patch
@@ -0,0 +1,30 @@
+From b7588376e20661c8d79e7472732244c70b8e7d3f Mon Sep 17 00:00:00 2001
+From: ckie <git-525ff67@ckie.dev>
+Date: Mon, 16 Oct 2023 02:02:38 +0300
+Subject: [PATCH] Make DBUS_SYSTEM_POLICY_INSTALL_DIR externally overrideable
+
+---
+ src/logid/CMakeLists.txt | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/src/logid/CMakeLists.txt b/src/logid/CMakeLists.txt
+index b2616c8..58d6719 100644
+--- a/src/logid/CMakeLists.txt
++++ b/src/logid/CMakeLists.txt
+@@ -111,9 +111,11 @@ elseif (NOT SYSTEMD_FOUND AND SYSTEMD_SERVICES_INSTALL_DIR)
+ endif ()
+
+ # Install DBus conf
+-# TODO: Is there a better way of setting the system policy directory?
+-set(DBUS_SYSTEM_POLICY_INSTALL_DIR "/usr/share/dbus-1/system.d")
+ configure_file(logiops-dbus.conf.in ${CMAKE_BINARY_DIR}/pizza.pixl.LogiOps.conf)
++if (NOT DEFINED DBUS_SYSTEM_POLICY_INSTALL_DIR)
++    # TODO: Is there a better way of setting the system policy directory?
++    set(DBUS_SYSTEM_POLICY_INSTALL_DIR "/usr/share/dbus-1/system.d")
++endif ()
+ message(STATUS "dbus system policy will be installed at ${DBUS_SYSTEM_POLICY_INSTALL_DIR}")
+ install(FILES ${CMAKE_BINARY_DIR}/pizza.pixl.LogiOps.conf
+         DESTINATION ${DBUS_SYSTEM_POLICY_INSTALL_DIR}
+-- 
+2.42.0
+
diff --git a/pkgs/by-name/lo/logiops_0_2_3/package.nix b/pkgs/by-name/lo/logiops_0_2_3/package.nix
new file mode 100644
index 0000000000000..71283a406214e
--- /dev/null
+++ b/pkgs/by-name/lo/logiops_0_2_3/package.nix
@@ -0,0 +1,26 @@
+{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, udev, libevdev, libconfig }:
+
+stdenv.mkDerivation rec {
+  pname = "logiops";
+  version = "0.2.3";
+
+  src = fetchFromGitHub {
+    owner = "pixlone";
+    repo = "logiops";
+    rev = "v${version}";
+    sha256 = "sha256-1v728hbIM2ODtB+r6SYzItczRJCsbuTvhYD2OUM1+/E=";
+  };
+
+  PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system";
+
+  nativeBuildInputs = [ cmake pkg-config ];
+  buildInputs = [ udev libevdev libconfig ];
+
+  meta = with lib; {
+    description = "Unofficial userspace driver for HID++ Logitech devices";
+    homepage = "https://github.com/PixlOne/logiops";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ ckie ];
+    platforms = with platforms; linux;
+  };
+}