summary refs log tree commit diff
path: root/pkgs/os-specific/linux/g15daemon/default.nix
diff options
context:
space:
mode:
authorPeter Hoeg <peter@hoeg.com>2020-04-08 20:49:49 +0800
committerPeter Hoeg <peter@hoeg.com>2020-04-08 20:49:49 +0800
commit0669cd72aecd9ef5431e15fd5810b3d4dfe26e99 (patch)
treec6572ca54ab17a8e16bbc53682f16c706a38fad1 /pkgs/os-specific/linux/g15daemon/default.nix
parent39247f8d04c04b3ee629a1f85aeedd582bf41cac (diff)
downloadnixpkgs-0669cd72aecd9ef5431e15fd5810b3d4dfe26e99.tar
nixpkgs-0669cd72aecd9ef5431e15fd5810b3d4dfe26e99.tar.gz
nixpkgs-0669cd72aecd9ef5431e15fd5810b3d4dfe26e99.tar.bz2
nixpkgs-0669cd72aecd9ef5431e15fd5810b3d4dfe26e99.tar.lz
nixpkgs-0669cd72aecd9ef5431e15fd5810b3d4dfe26e99.tar.xz
nixpkgs-0669cd72aecd9ef5431e15fd5810b3d4dfe26e99.tar.zst
nixpkgs-0669cd72aecd9ef5431e15fd5810b3d4dfe26e99.zip
g15daemon: init at 1.9.5.3
Diffstat (limited to 'pkgs/os-specific/linux/g15daemon/default.nix')
-rw-r--r--pkgs/os-specific/linux/g15daemon/default.nix88
1 files changed, 88 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/g15daemon/default.nix b/pkgs/os-specific/linux/g15daemon/default.nix
new file mode 100644
index 00000000000..d00bf2f7433
--- /dev/null
+++ b/pkgs/os-specific/linux/g15daemon/default.nix
@@ -0,0 +1,88 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, fetchurl
+, fetchpatch
+, patchelf
+, freetype
+, libusb
+}:
+let
+  license = lib.licenses.gpl2;
+  maintainers = with lib.maintainers; [ peterhoeg ];
+
+  g15src = { pname, version, sha256 }: fetchurl {
+    url = "mirror://sourceforge/g15tools/${pname}/${version}/${pname}-${version}.tar.bz2";
+    inherit sha256;
+  };
+
+  libg15 = stdenv.mkDerivation rec {
+    pname = "libg15";
+    version = "1.2.7";
+
+    src = g15src {
+      inherit pname version;
+      sha256 = "1mkrf622n0cmz57lj8w9q82a9dcr1lmyyxbnrghrxzb6gvifnbqk";
+    };
+
+    buildInputs = [ libusb ];
+
+    enableParallelBuilding = true;
+
+    meta = {
+      description = "Provides low-level access to Logitech G11/G15 keyboards and Z10 speakers";
+      inherit license maintainers;
+    };
+  };
+
+  libg15render = stdenv.mkDerivation rec {
+    pname = "libg15render";
+    version = "1.2";
+
+    src = g15src {
+      inherit pname version;
+      sha256 = "03yjb78j1fnr2fwklxy54sdljwi0imvp29m8kmwl9v0pdapka8yj";
+    };
+
+    buildInputs = [ libg15 ];
+
+    enableParallelBuilding = true;
+
+    meta = {
+      description = "A small graphics library optimised for drawing on an LCD";
+      inherit license maintainers;
+    };
+  };
+in
+stdenv.mkDerivation rec {
+  pname = "g15daemon";
+  version = "1.9.5.3";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/${pname}/G15Daemon%201.9x/${version}/${pname}-${version}.tar.bz2";
+    sha256 = "1613gsp5dgilwbshqxxhiyw73ksngnam7n1iw6yxdjkp9fyd2a3d";
+  };
+
+  patches = let
+    patch = fname: sha256: fetchurl rec {
+      url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/${pname}-${version}-${fname}.patch?h=packages/${pname}";
+      name = "${fname}.patch";
+      inherit sha256;
+    };
+  in
+    [
+      (patch "uinput" "1misfff7a1vg0qgfk3n25y7drnm86a4gq96iflpcwr5x3lw7q0h7")
+      (patch "config-write" "0jkrbqvzqrvxr14h5qi17cb4d32caq7vw9kzlz3qwpxdgxjrjvy2")
+      (patch "recv-oob-answer" "1f67iqpj5hcgpakagi7gbw1xviwhy5vizs546l9bfjimx8r2d29g")
+      ./pid_location.patch
+    ];
+
+  buildInputs = [ libg15 libg15render ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A daemon that makes it possible to use the Logitech keyboard G-Buttons and draw on various Logitech LCDs";
+    inherit license maintainers;
+  };
+}