{ inputs, pkgs, }: with pkgs; let inherit (inputs.nixpkgs-stable.legacyPackages.${system}) pypy3; tarballs = import ../python/tarballs.nix {inherit inputs pkgs;}; patched-python3Packages = python3Packages.override { overrides = self: super: { requests-cache = super.requests-cache.overrideAttrs (old: { postPatch = '' substituteInPlace pyproject.toml --replace 'attrs = "^21.2"' 'attrs = ">=21.2"' ''; }); }; }; in rec { plover-plugins-manager = with patched-python3Packages; buildPythonPackage rec { inherit (tarballs.plover-plugins-manager-src.passthru) pname version; src = tarballs.plover-plugins-manager-src; propagatedBuildInputs = [pip pkginfo plover pygments readme_renderer requests requests-cache requests-futures setuptools wheel]; installCheckPhase = "true"; setuptoolsCheckPhase = "true"; }; plover-stroke = with python3Packages; buildPythonPackage rec { inherit (tarballs.plover-stroke-src.passthru) pname version; src = tarballs.plover-stroke-src; checkInputs = [pytest]; }; rtf-tokenize = with python3Packages; buildPythonPackage rec { inherit (tarballs.rtf-tokenize-src.passthru) pname version; src = tarballs.rtf-tokenize-src; checkInputs = [pytest]; }; plover-emoji = with python3Packages; buildPythonPackage rec { inherit (tarballs.plover-emoji-src.passthru) pname version; src = tarballs.plover-emoji-src; propagatedBuildInputs = [plover simplefuzzyset]; checkInputs = [pytest]; }; simplefuzzyset = with python3Packages; buildPythonPackage rec { inherit (tarballs.simplefuzzyset-src.passthru) pname version; src = tarballs.simplefuzzyset-src; }; plover-tapey-tape = with python3Packages; buildPythonPackage rec { inherit (tarballs.plover-tapey-tape-src.passthru) pname version; src = tarballs.plover-tapey-tape-src; propagatedBuildInputs = [plover]; }; plover-yaml-dictionary = with python3Packages; buildPythonPackage rec { inherit (tarballs.plover-yaml-dictionary-src.passthru) pname version; src = tarballs.plover-yaml-dictionary-src; propagatedBuildInputs = [plover ruamel-yaml]; }; plover-machine-hid = with python3Packages; buildPythonPackage rec { pname = "plover-machine-hid"; version = inputs.plover-machine-hid.lastModifiedDate; src = inputs.plover-machine-hid; propagatedBuildInputs = [plover hid bitstring]; }; plover = with python3Packages; qt5.mkDerivationWith buildPythonPackage rec { pname = "plover"; version = inputs.plover.lastModifiedDate; src = inputs.plover; # I'm not sure why we don't find PyQt5 here but there's a similar # sed on many of the platforms Plover builds for postPatch = '' sed -i /PyQt5/d setup.cfg sed -i 's/pywayland==0.4.11/pywayland>=0.4.11/' reqs/constraints.txt substituteInPlace plover_build_utils/setup.py \ --replace "/usr/share/wayland/wayland.xml" "${wayland}/share/wayland/wayland.xml" ''; checkInputs = [pytest mock]; propagatedBuildInputs = [babel pyqt5 xlib pyserial appdirs wcwidth setuptools plover-stroke rtf-tokenize pywayland xkbcommon]; nativeBuildInputs = [ wayland pkg-config ]; installCheckPhase = "true"; dontWrapQtApps = true; preFixup = '' makeWrapperArgs+=("''${qtWrapperArgs[@]}") ''; }; }