Commit 0c943243 authored by kylelovestoad's avatar kylelovestoad
Browse files

mouse_m908: init at 3.4

mouse_m908: follow editorconfig
mouse_m908: apply requested changes
mouse_m908: fix dependency issue
parent fab7ede0
Loading
Loading
Loading
Loading
+49 −0
Original line number Diff line number Diff line
{ stdenv
, lib
, libusb1
, installShellFiles
, fetchFromGitHub
, pkg-config
}: stdenv.mkDerivation (finalAttrs: {
  name = "mouse_m908";
  version = "3.4";

  nativeBuildInputs = [ pkg-config installShellFiles ];

  buildInputs = [ libusb1.dev ];

  src = fetchFromGitHub {
    owner = "dokutan";
    repo = "mouse_m908";
    rev = "v${finalAttrs.version}";
    sha256 = "sha256-sCAvjNpJYkp4G0KkDJtHOBR1vc80DZJtWR2W9gakkzQ=";
  };

  # Uses proper nix directories rather than the ones specified in the makefile
  installPhase = ''
    runHook preInstall

    mkdir -p $out/bin \
      $out/share/doc \
      $out/share/doc/mouse_m908 \
      $out/lib/udev/rules.d

    cp mouse_m908 $out/bin/mouse_m908 && \
    cp mouse_m908.rules $out/lib/udev/rules.d && \
    cp examples/* $out/share/doc/mouse_m908 && \
    cp README.md $out/share/doc/mouse_m908 && \
    cp keymap.md $out/share/doc/mouse_m908 && \
    installManPage mouse_m908.1

    runHook postInstall
  '';

  meta = {
    homepage = "https://github.com/dokutan/mouse_m908";
    description = "Control various Redragon gaming mice from Linux, BSD and Haiku";
    mainProgram = "mouse_m908";
    license = lib.licenses.gpl3Plus;
    platforms = [ "x86_64-linux" ];
    maintainers = with lib.maintainers; [ kylelovestoad ];
  };
})