Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

plover.dev: 4.0.0.dev10 -> 4.0.0rc2 #303669

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
11 changes: 11 additions & 0 deletions maintainers/maintainer-list.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6776,6 +6776,17 @@
githubId = 1633361;
name = "Iztok Fister Jr.";
};
FirelightFlagboy = {
email = "firelight.flagboy+nixpkgs@gmail.com";
github = "FirelightFlagboy";
githubId = 30697622;
name = "Firelight Flagboy";
keys = [
{
fingerprint = "D6E2 4BD5 680C 609D D146 99B4 4304 CE0B A5E8 67D1";
}
];
};
FireyFly = {
email = "nix@firefly.nu";
github = "FireyFly";
Expand Down
123 changes: 96 additions & 27 deletions pkgs/applications/misc/plover/default.nix
Original file line number Diff line number Diff line change
@@ -1,37 +1,106 @@
{ lib, fetchFromGitHub, python3Packages, wmctrl, qtbase, mkDerivationWith }:
{ lib, fetchFromGitHub, python310Packages, wmctrl, qt5, qtbase, mkDerivationWith
}:

{
stable = throw "plover.stable was removed because it used Python 2. Use plover.dev instead."; # added 2022-06-05
stable = throw
"plover.stable was removed because it used Python 2. Use plover.dev instead."; # added 2022-06-05

dev = with python3Packages; mkDerivationWith buildPythonPackage rec {
pname = "plover";
version = "4.0.0.dev10";
dev = with python310Packages;
let
plover_stroke = mkDerivationWith buildPythonPackage rec {
pname = "plover_stroke";
version = "1.1.0";

meta = with lib; {
broken = stdenv.isDarwin;
description = "OpenSteno Plover stenography software";
maintainers = with maintainers; [ twey kovirobi ];
license = licenses.gpl2;
};
pyproject = true;

src = fetchFromGitHub {
owner = "openstenoproject";
repo = "plover";
rev = "v${version}";
sha256 = "sha256-oJ7+R3ZWhUbNTTAw1AfMg2ur8vW1XEbsa5FgSTam1Ns=";
};
src = fetchFromGitHub {
owner = "openstenoproject";
repo = "plover_stroke";
rev = version;
sha256 = "sha256-A75OMzmEn0VmDAvmQCp6/7uptxzwWJTwsih3kWlYioA=";
};

propagatedBuildInputs = [ setuptools ];

nativeCheckInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "plover_stroke" ];

meta = with lib; {
description = "Stroke handling helper library for Plover";
license = licenses.gpl2Plus;
homepage = "https://github.com/openstenoproject/plover_stroke";
platforms = platforms.linux ++ platforms.windows;
maintainers = with maintainers; [ FirelightFlagboy ];
};
};

rtf_tokenize = mkDerivationWith buildPythonPackage rec {
pname = "rtf_tokenize";
version = "1.0.0";

pyproject = true;

src = fetchFromGitHub {
owner = "openstenoproject";
repo = "rtf_tokenize";
rev = version;
sha256 = "sha256-zwD2sRYTY1Kmm/Ag2hps9VRdUyQoi4zKtDPR+F52t9A=";
};

# 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";
propagatedBuildInputs = [ setuptools ];

nativeCheckInputs = [ pytest mock ];
propagatedBuildInputs = [ babel pyqt5 xlib pyserial appdirs wcwidth setuptools ];
nativeCheckInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "rtf_tokenize" ];

dontWrapQtApps = true;
meta = with lib; {
description = "Simple RTF tokenizer";
license = licenses.gpl2Plus;
homepage = "https://github.com/openstenoproject/rtf_tokenize";
platforms = platforms.linux ++ platforms.windows;
maintainers = with maintainers; [ FirelightFlagboy ];
};
};
in mkDerivationWith buildPythonPackage rec {
pname = "plover";
version = "4.0.0rc2";

preFixup = ''
makeWrapperArgs+=("''${qtWrapperArgs[@]}")
'';
};
pyproject = true;

src = fetchFromGitHub {
owner = "openstenoproject";
repo = "plover";
rev = "v${version}";
sha256 = "sha256-rmMec/BbvOJ92u8Tmp3Kv2YezzJxB/L8UrDntTDSKj4=";
};

propagatedBuildInputs = [
babel
pyqt5
xlib
pyserial
appdirs
wcwidth
setuptools
plover_stroke
rtf_tokenize
];

buildInputs = [ qt5.qtwayland ];

nativeCheckInputs = [ pytestCheckHook mock ];

dontWrapQtApps = true;

preFixup = ''
makeWrapperArgs+=("''${qtWrapperArgs[@]}")
'';

meta = with lib; {
mainProgram = "plover";
broken = stdenv.isDarwin;
description = "OpenSteno Plover stenography software";
maintainers = with maintainers; [ FirelightFlagboy twey kovirobi ];
license = licenses.gpl2;
};
};
}