input-remapper: 2.0.1 -> 2.1.1 (#403641)

authored by Pol Dellaiera and committed by GitHub ff55f87a 0696592b

+61 -53
+61 -53
pkgs/tools/inputmethods/input-remapper/default.nix
··· 1 1 { 2 2 lib, 3 + buildPythonApplication, 4 + fetchFromGitHub, 3 5 pkgconfig, 4 6 wrapGAppsHook3, 5 7 gettext, ··· 14 16 pydantic, 15 17 pydbus, 16 18 psutil, 17 - fetchFromGitHub, 18 - buildPythonApplication, 19 19 procps, 20 20 gtksourceview4, 21 + bash, 21 22 nixosTests, 22 23 # Change the default log level to debug for easier debugging of package issues 23 24 withDebugLogLevel ? false, ··· 36 37 in 37 38 (buildPythonApplication rec { 38 39 pname = "input-remapper"; 39 - version = "2.0.1"; 40 + version = "2.1.1"; 40 41 41 42 src = fetchFromGitHub { 42 43 owner = "sezanzeb"; 43 44 repo = "input-remapper"; 44 - rev = version; 45 - hash = "sha256-rwlVGF/cWSv6Bsvhrs6nMDQ8avYT80aasrhWyQv55/A="; 45 + tag = version; 46 + hash = "sha256-GMKcs2UK1yegGT/TBsLGgTBJROQ38M6WwnLbJIuAZwg="; 46 47 }; 47 48 48 49 postPatch = 49 50 '' 50 51 # fix FHS paths 51 52 substituteInPlace inputremapper/configs/data.py \ 52 - --replace "/usr/share" "$out/usr/share" 53 + --replace-fail "/usr/share" "$out/usr/share" 53 54 '' 54 55 + lib.optionalString withDebugLogLevel '' 55 56 # if debugging 56 - substituteInPlace inputremapper/logger.py --replace "logger.setLevel(logging.INFO)" "logger.setLevel(logging.DEBUG)" 57 + substituteInPlace inputremapper/logger.py \ 58 + --replace-fail "logger.setLevel(logging.INFO)" "logger.setLevel(logging.DEBUG)" 57 59 ''; 58 60 59 - doCheck = withDoCheck; 60 - nativeCheckInputs = [ 61 + nativeBuildInputs = [ 62 + wrapGAppsHook3 63 + gettext # needed to build translations 64 + gtk3 65 + glib 66 + gobject-introspection 67 + pygobject3 68 + ] ++ maybeXmodmap; 69 + 70 + dependencies = [ 71 + setuptools # needs pkg_resources 72 + pygobject3 73 + evdev 74 + pkgconfig 75 + pydantic 76 + pydbus 77 + gtksourceview4 61 78 psutil 62 79 ]; 80 + 81 + doCheck = withDoCheck; 82 + 83 + nativeCheckInputs = [ psutil ]; 84 + 63 85 pythonImportsCheck = [ 64 86 "evdev" 65 87 "inputremapper" 66 88 ]; 67 89 90 + postInstall = '' 91 + substituteInPlace data/99-input-remapper.rules \ 92 + --replace-fail 'RUN+="/bin/input-remapper-control' "RUN+=\"$out/bin/input-remapper-control" 93 + substituteInPlace data/input-remapper.service \ 94 + --replace-fail "ExecStart=/usr/bin/input-remapper-service" "ExecStart=$out/bin/input-remapper-service" 95 + substituteInPlace data/input-remapper-autoload.desktop \ 96 + --replace-fail "bash" "${lib.getExe bash}" 97 + 98 + install -m644 -D -t $out/share/applications/ data/*.desktop 99 + install -m644 -D -t $out/share/polkit-1/actions/ data/input-remapper.policy 100 + install -m644 -D data/99-input-remapper.rules $out/etc/udev/rules.d/99-input-remapper.rules 101 + install -m644 -D data/input-remapper.service $out/lib/systemd/system/input-remapper.service 102 + install -m644 -D data/input-remapper.policy $out/share/polkit-1/actions/input-remapper.policy 103 + install -m644 -D data/inputremapper.Control.conf $out/etc/dbus-1/system.d/inputremapper.Control.conf 104 + install -m644 -D data/input-remapper.svg $out/share/icons/hicolor/scalable/apps/input-remapper.svg 105 + install -m644 -D -t $out/usr/share/input-remapper/ data/* 106 + 107 + # Only install input-remapper prefixed binaries, we don't care about deprecated key-mapper ones 108 + install -m755 -D -t $out/bin/ bin/input-remapper* 109 + ''; 110 + 68 111 # Custom test script, can't use plain pytest / pytestCheckHook 69 112 # We only run tests in the unit folder, integration tests require UI 70 113 # To allow tests which access the system and session DBUS to run, we start a dbus session 71 114 # and bind it to both the system and session buses 72 115 installCheckPhase = '' 116 + runHook preInstallCheck 117 + 73 118 echo "<busconfig> 74 119 <type>session</type> 75 120 <listen>unix:tmpdir=$TMPDIR</listen> ··· 97 142 DBUS_SYSTEM_BUS_ADDRESS=unix:path=/build/system_bus_socket \ 98 143 ${dbus}/bin/dbus-run-session --config-file dbus.cfg \ 99 144 python tests/test.py --start-dir unit 145 + 146 + runHook postInstallCheck 100 147 ''; 101 148 102 149 # Nixpkgs 15.9.4.3. When using wrapGAppsHook3 with special derivers you can end up with double wrapped binaries. 103 150 dontWrapGApps = true; 151 + 104 152 preFixup = '' 105 153 makeWrapperArgs+=( 106 154 "''${gappsWrapperArgs[@]}" ··· 108 156 ) 109 157 ''; 110 158 111 - nativeBuildInputs = [ 112 - wrapGAppsHook3 113 - gettext # needed to build translations 114 - gtk3 115 - glib 116 - gobject-introspection 117 - pygobject3 118 - ] ++ maybeXmodmap; 119 - 120 - propagatedBuildInputs = [ 121 - setuptools # needs pkg_resources 122 - pygobject3 123 - evdev 124 - pkgconfig 125 - pydantic 126 - pydbus 127 - gtksourceview4 128 - ]; 129 - 130 - postInstall = '' 131 - substituteInPlace data/99-input-remapper.rules \ 132 - --replace-fail 'RUN+="/bin/input-remapper-control' "RUN+=\"$out/bin/input-remapper-control" 133 - substituteInPlace data/input-remapper.service \ 134 - --replace-fail 'ExecStart=/usr/bin/input-remapper-service' "ExecStart=$out/bin/input-remapper-service" 135 - substituteInPlace data/input-remapper-*.desktop \ 136 - --replace-fail 'Icon=/usr/share/input-remapper/input-remapper.svg' 'Icon=input-remapper.svg' 137 - 138 - install -m644 -D -t $out/share/applications/ data/*.desktop 139 - install -m644 -D -t $out/share/polkit-1/actions/ data/input-remapper.policy 140 - install -m644 -D data/99-input-remapper.rules $out/etc/udev/rules.d/99-input-remapper.rules 141 - install -m644 -D data/input-remapper.service $out/lib/systemd/system/input-remapper.service 142 - install -m644 -D data/input-remapper.policy $out/share/polkit-1/actions/input-remapper.policy 143 - install -m644 -D data/inputremapper.Control.conf $out/etc/dbus-1/system.d/inputremapper.Control.conf 144 - install -m644 -D data/input-remapper.svg $out/share/icons/hicolor/scalable/apps/input-remapper.svg 145 - install -m644 -D -t $out/usr/share/input-remapper/ data/* 146 - 147 - # Only install input-remapper prefixed binaries, we don't care about deprecated key-mapper ones 148 - install -m755 -D -t $out/bin/ bin/input-remapper* 149 - ''; 150 - 151 159 passthru.tests = nixosTests.input-remapper; 152 160 153 - meta = with lib; { 161 + meta = { 154 162 description = "Easy to use tool to change the mapping of your input device buttons"; 155 163 homepage = "https://github.com/sezanzeb/input-remapper"; 156 - license = licenses.gpl3Plus; 157 - platforms = platforms.linux; 158 - maintainers = with maintainers; [ LunNova ]; 164 + license = lib.licenses.gpl3Plus; 165 + platforms = lib.platforms.linux; 166 + maintainers = with lib.maintainers; [ LunNova ]; 159 167 mainProgram = "input-remapper-gtk"; 160 168 }; 161 169 }).overrideAttrs