Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 53 lines 1.3 kB view raw
1{ 2 lib, 3 fetchFromGitHub, 4 python3Packages, 5}: 6 7python3Packages.buildPythonPackage rec { 8 pname = "rivalcfg"; 9 version = "4.15.0"; 10 pyproject = true; 11 12 src = fetchFromGitHub { 13 owner = "flozz"; 14 repo = "rivalcfg"; 15 tag = "v${version}"; 16 sha256 = "sha256-UqVogJLv+sNhAxdMjBEvhBQw6LU+QUq1IekvWpeeMqk="; 17 }; 18 19 build-system = with python3Packages; [ setuptools ]; 20 21 dependencies = with python3Packages; [ 22 hidapi 23 setuptools # pkg_resources is imported during runtime 24 ]; 25 26 nativeCheckInputs = with python3Packages; [ 27 pytestCheckHook 28 ]; 29 30 # tests are broken 31 doCheck = false; 32 33 postInstall = '' 34 mkdir -p $out/lib/udev/rules.d 35 tmpl_udev="$out/lib/udev/rules.d/99-rivalcfg.rules" 36 tmpudev="''${tmpl_udev}.in" 37 finaludev="$tmpl_udev" 38 "$out/bin/rivalcfg" --print-udev > "$tmpudev" 39 substitute "$tmpudev" "$out/lib/udev/rules.d/99-rivalcfg.rules" \ 40 --replace-fail MODE=\"0666\" "MODE=\"0664\", GROUP=\"input\"" 41 rm "$tmpudev" 42 ''; 43 44 pythonImportsCheck = [ "rivalcfg" ]; 45 46 meta = with lib; { 47 description = "Utility program that allows you to configure SteelSeries Rival gaming mice"; 48 homepage = "https://github.com/flozz/rivalcfg"; 49 license = licenses.wtfpl; 50 maintainers = with maintainers; [ ornxka ]; 51 mainProgram = "rivalcfg"; 52 }; 53}