about summary refs log tree commit diff
path: root/pkgs/applications/video/flirc
diff options
context:
space:
mode:
authorAaron Andersen <aaron@fosslib.net>2021-10-20 20:13:27 -0400
committerAaron Andersen <aaron@fosslib.net>2021-10-28 12:33:26 -0400
commit13396c4a9a5d0418723aae2f13b58c3a53d93d99 (patch)
tree01986cc38d8c815d166cd91941eda2be17d0e01f /pkgs/applications/video/flirc
parentea15d93aa7428ae2c12d4ff5c154795eecce9460 (diff)
flirc: init at 3.24.3
Diffstat (limited to 'pkgs/applications/video/flirc')
-rw-r--r--pkgs/applications/video/flirc/99-flirc.rules11
-rw-r--r--pkgs/applications/video/flirc/default.nix45
2 files changed, 56 insertions, 0 deletions
diff --git a/pkgs/applications/video/flirc/99-flirc.rules b/pkgs/applications/video/flirc/99-flirc.rules
new file mode 100644
index 0000000000000..eb02f8a911367
--- /dev/null
+++ b/pkgs/applications/video/flirc/99-flirc.rules
@@ -0,0 +1,11 @@
+# Flirc Devices
+
+# Bootloader
+SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="20a0", ATTR{idProduct}=="0000", MODE="0666"
+SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="20a0", ATTR{idProduct}=="0002", MODE="0666"
+SUBSYSTEM=="hidraw", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="0005", MODE="0666"
+
+# Flirc Application
+SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="20a0", ATTR{idProduct}=="0001", MODE="0666"
+SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="20a0", ATTR{idProduct}=="0004", MODE="0666"
+SUBSYSTEM=="hidraw", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="0006", MODE="0666"
diff --git a/pkgs/applications/video/flirc/default.nix b/pkgs/applications/video/flirc/default.nix
new file mode 100644
index 0000000000000..6285094c461a4
--- /dev/null
+++ b/pkgs/applications/video/flirc/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, mkDerivation
+, fetchurl
+, autoPatchelfHook
+, hidapi
+, readline
+, qtsvg
+, qtxmlpatterns
+}:
+
+mkDerivation rec {
+  pname = "flirc";
+  version = "3.24.3";
+
+  src = fetchurl {
+    url = "https://web.archive.org/web/20211021211803/http://apt.flirc.tv/arch/x86_64/flirc.latest.x86_64.tar.gz";
+    sha256 = "0p4pp7j70lbw6m25lmjg6ibc67r6jcy7qs3kki9f86ji1jvrxpga";
+  };
+
+  nativeBuildInputs = [ autoPatchelfHook ];
+  buildInputs = [
+    hidapi
+    readline
+    qtsvg
+    qtxmlpatterns
+  ];
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  # udev rules don't appear in the official package
+  # https://flirc.gitbooks.io/flirc-instructions/content/linux.html
+  installPhase = ''
+    install -D -t $out/bin/ Flirc flirc_util
+    install -D ${./99-flirc.rules} $out/lib/udev/rules.d/99-flirc.rules
+  '';
+
+  meta = with lib; {
+    homepage = "https://flirc.tv/more/flirc-usb";
+    description = "Use any Remote with your Media Center";
+    maintainers = with maintainers; [ aanderse ];
+    license = licenses.unfree;
+    platforms = [ "x86_64-linux" ];
+  };
+}